feat(j0.3): socle transverse (Result/Failure, theme, router, DI)
- core/error : Result<S> maison (Ok/Err) + Failure scellee avec egalite de valeur - core/theme : AppTheme Material 3 (palette coucher, cibles tactiles enfant) - core/router : routes nommees child/parentGate/parent (Navigator 1, placeholders) - core/di : conventions providers - CLAUDE.md §7 : Result maison & Navigator 1 actes (YAGNI) - ROADMAP : 0.3 cochee, Jalon 0 termine - corrections code review : egalite Failure, assertions tests, Map.unmodifiable Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -140,11 +140,13 @@ Feature-first, puis découpage en couches dans chaque feature. **Un fichier = un
|
||||
|-------|-------|--------|
|
||||
| Langage/UI | Flutter / Material 3 | Mono-plateforme Android, connu de l'auteur |
|
||||
| État + DI | Riverpod | Testable, override facile en test |
|
||||
| Gestion d'erreur | `Result<S>` maison (`Ok`/`Err`) — PAS de fpdart/dartz | YAGNI : on n'a besoin que de `map`/`fold`/`when` ; pas de dépendance externe, contrôle total |
|
||||
| Audio | `just_audio` + `audio_service` | Lecture + contrôle arrière-plan |
|
||||
| Épinglage | `kiosk_mode` (plugin), fallback platform channel Kotlin | API native Screen Pinning |
|
||||
| Recherche podcasts | API iTunes Search (gratuite, sans clé) | Annuaire public |
|
||||
| RSS | `dart_rss` (ou `webfeed`) | Parsing de flux |
|
||||
| Persistance | `sqflite`/`drift` (abonnements) + `flutter_secure_storage` (code haché) | Local, sûr |
|
||||
| Lecture seule réglages | `shared_preferences` | Compteurs/limites |
|
||||
| Router | Navigator 1 + routes nommées — PAS de go_router | YAGNI : pas de deep-linking ni de navigation imbriquée en v1 |
|
||||
|
||||
Tout changement de cette table doit être justifié dans le commit et reflété ici.
|
||||
|
||||
Reference in New Issue
Block a user