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>
27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
# Jalon 3 — Découverte & gestion des podcasts
|
|
|
|
## Objectif
|
|
Permettre au parent de trouver des sources (recherche annuaire **et** URL RSS),
|
|
de les enregistrer, et d'en lister les épisodes (= les histoires).
|
|
|
|
## Périmètre
|
|
- Recherche via l'API iTunes Search (gratuite, sans clé).
|
|
- Ajout par collage d'URL RSS (parsing + aperçu).
|
|
- Persistance locale des abonnements (SQLite).
|
|
- Récupération des épisodes d'un podcast abonné (mapping RSS → `Episode` de J2).
|
|
|
|
## Hors-périmètre
|
|
- L'écran de gestion sera **abrité derrière le code parental en J5** ; ici, un accès temporaire (dev) suffit.
|
|
- Pas de cache offline des épisodes (streaming).
|
|
|
|
## Étapes
|
|
1. [3.1 — Recherche annuaire (iTunes Search)](01-recherche-itunes.md)
|
|
2. [3.2 — Ajout par URL RSS](02-ajout-rss.md)
|
|
3. [3.3 — Persistance des abonnements + CRUD](03-persistance-abonnements.md)
|
|
|
|
## Definition of Done (jalon)
|
|
- Le parent peut chercher un podcast, ou coller une URL RSS, et l'ajouter.
|
|
- Les abonnements survivent au redémarrage de l'app (SQLite).
|
|
- La liste des épisodes d'un abonnement est récupérable et mappée vers `Episode`.
|
|
- `tool/check.sh` passe ; `ROADMAP.md` 3.1→3.3 cochées.
|