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>
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 →
Episodede 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
- 3.1 — Recherche annuaire (iTunes Search)
- 3.2 — Ajout par URL RSS
- 3.3 — Persistance des abonnements + CRUD
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.shpasse ;ROADMAP.md3.1→3.3 cochées.