16fd4c8c36
Lecteur d'histoires cadenassé pour le coucher (Android/Flutter). - CLAUDE.md : principes craftsmanship/TDD/clean code/clean archi + decisions techniques - ROADMAP.md : suivi haut niveau des 7 jalons, a tenir a jour par etape - docs/specs/ : specs completes decoupees par jalon, etapes en sous-fichiers - .gitignore Flutter (pubspec.lock versionne, projet applicatif) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
26 lines
1.0 KiB
Markdown
26 lines
1.0 KiB
Markdown
# Jalon 2 — Lecture audio
|
|
|
|
## Objectif
|
|
Lire un épisode audio en streaming : lecture, pause, suivant/précédent, position,
|
|
le tout derrière une interface de domaine propre et pilotable depuis l'UI.
|
|
|
|
## Périmètre
|
|
- Lecture d'une URL audio (streaming).
|
|
- Contrôles : play/pause, suivant/précédent, seek, progression.
|
|
- Lecture en arrière-plan / écran verrouillé (`audio_service`).
|
|
- Testable avec un flux/épisode « en dur » (pas besoin de J3).
|
|
|
|
## Hors-périmètre
|
|
- Téléchargement hors-ligne (exclu v1).
|
|
- File d'attente avancée / aléatoire : on garde une liste ordonnée simple.
|
|
|
|
## Étapes
|
|
1. [2.1 — Domaine de lecture](01-domaine-lecture.md)
|
|
2. [2.2 — Service audio (just_audio + audio_service)](02-service-audio.md)
|
|
3. [2.3 — UI lecteur + contrôleur Riverpod](03-ui-lecteur.md)
|
|
|
|
## Definition of Done (jalon)
|
|
- Un épisode de test se lit, se met en pause, avance/recule ; la progression s'affiche.
|
|
- Domain/use cases testés sans dépendance Flutter/audio.
|
|
- `tool/check.sh` passe ; `ROADMAP.md` 2.1→2.3 cochées.
|