5.0 KiB
Mini-spec — Quotidien parent / AM
Statut : figée pour backlog (sept. 2026)
Réf. visuelle : maquettes/courantes/maquette-dashboard-parent-quotidien-v4.png
Découpage tickets : 30_DECOUPAGE-TICKETS-QUOTIDIEN.md
CDC : vision d’origine conservée ; priorités UX évoluées (blog central, couple enfant–nounou)
1. Objectif
Construire les espaces parent et AM du quotidien : tableau de bord 3 colonnes, file de cartes (absences / congés / sorties), blog (cœur du jour), messagerie AM et RPE. Logiciel réel peuplé de données ; une démo = sync live multi-écrans (parent / AM / gestionnaire).
2. UI — contrainte non négociable
- Look papier / pastel, lignée login / inscription (
paper2.png), pas le dashboard staff violet Material - PC paysage : 3 colonnes égales
- Mobile : swipe entre les 3 panneaux ; TdB / Agenda / Contrat via nav dédiée
Architecture front — maximiser les widgets partagés
Parent et AM sont quasi identiques : ne pas dupliquer les colonnes métier.
| Brique | Usage |
|---|---|
| Widget Blog | Colonne milieu parent et AM (+ entrée publication gestionnaire qui réutilise le composeur) |
| Widget Messagerie | Colonne droite parent et AM (+ vue gestionnaire RPE) |
| Widget flux de cartes | Colonne gauche parent et AM (actions / droits selon rôle) |
| Widget bandeau couple | Variante enfant|nounou (parent) vs enfant|parent(s) (AM) — même composant paramétré |
| Coquille TdB 3 colonnes | Layout / bandeau navig commun ; le rôle injecte le couple + droits |
Principe : briques correctement encapsulées (API claire props / callbacks), branchées sur le même back ; seules les différences de rôle (qui crée quoi, libellés d’action) restent hors du widget partagé.
3. Layout TdB
| Colonne | Contenu |
|---|---|
| Gauche | Couple actif · flux de cartes · actions (ex. Déclarer une absence) |
| Milieu | Blog — affichage par défaut à l’arrivée |
| Droite | Messagerie seule — onglets Mess. AM (défaut) | Mess. RPE |
Bandeau : TdB · Agenda · Contrat · menu user (recherche AM, paramètres…).
Parent — couple
- Un bandeau enfant | nounou (photos + noms)
- Plusieurs gardes → dropdown unique (bascule de couple)
- Une seule garde → affichage informatif (pas de chevron)
AM — couple (miroir)
- Bandeau enfant | parent(s)
- 2 parents : noms empilés à droite ; 1 parent : nom centré
- Pas de photo parent obligatoire (option profil plus tard)
4. Canaux (ne pas mélanger)
| Canal | Rôle |
|---|---|
| Cartes | Décisions / futur proche : absences, congés, maladie AM, sorties à valider |
| Blog | Mémoire / actus du quotidien (texte + photos) — indispensable, plus un module optionnel CDC §9 |
| Mess. AM | Chat foyer ↔ AM (style WhatsApp : texte, emoji, images) |
| Mess. RPE | Privée par défaut ; ajout de participants pour médiation / conflit |
5. Règles métier V1
| Type | Qui initie | Validation |
|---|---|---|
| Absence enfant | Parent | Pas de veto AM |
| Congé AM | AM | 1 parent accepte ou refuse |
| Maladie AM | AM | Parent accuse réception (pas de doc médical in-app) |
| Sortie | AM / RPE | 1 parent suffit (présence / absence) ; explication aussi via blog |
- Mess. AM : les 2 parents voient le même fil — pas de masquage V1
- Blog auteurs V1 : AM + gestionnaire (RPE) — parent auteur = plus tard
- Couple actif filtre cartes + messagerie + blog (hypothèse produit : oui)
6. Hors périmètre de ce jalon
- Page Contrat riche (Pajemploi, CP…) — stub bandeau OK
- Agenda calendrier riche — stub bandeau OK
- Notifications CDC fourre-tout (paiement, dossier…)
- Masquage messages ; posts blog parent
- Carnet repas/sieste (roadmap Phase 4)
7. Critères « effet démo » (acceptation)
Avec données peuplées, sur au moins 2 supports :
- Parent et AM voient le même contexte de garde (couple / enfant)
- Parent déclare une absence → carte visible côté AM
- AM publie un post blog (texte + photo) → visible colonne blog parent
- Gestionnaire publie une annonce RPE → visible sur les TdB concernés
- Message Mess. AM d’un côté → apparaît de l’autre (près temps réel)
- Look conforme charte papier / pastel
8. Point de départ code
- Parent :
frontend/lib/screens/home/parent_screen/ParentDashboardScreen.dart+dashbord_parent/ - AM :
frontend/lib/screens/am/am_dashboard_screen.dart(placeholder) - Cartes couleurs :
frontend/assets/cards/(7 teintes max)
9. Ordre de build suggéré
Voir 30_DECOUPAGE-TICKETS-QUOTIDIEN.md § ordre — A (coquille parent) → C (cartes) → D (blog) → E (messagerie) → B (miroir AM) → RPE → F/G (mobile + seeds).