docs(0.2.0): mini-spec quotidien parent/AM, découpage tickets et maquettes.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -10,6 +10,8 @@ Index de navigation du dépôt. Dernière révision : **septembre 2026** (CDC V1
|
|||||||
| [12 — SRS gestion utilisateurs](./12_SRS-GESTION-UTILISATEURS.md) | Spécification **technique** du domaine users / dossiers |
|
| [12 — SRS gestion utilisateurs](./12_SRS-GESTION-UTILISATEURS.md) | Spécification **technique** du domaine users / dossiers |
|
||||||
| [05 — Versions & milestones](./05_VERSIONS-ET-MILESTONES.md) | Semver Gitea + bilans |
|
| [05 — Versions & milestones](./05_VERSIONS-ET-MILESTONES.md) | Semver Gitea + bilans |
|
||||||
| [29 — Bilan version 0.1.0](./29_BILAN-VERSION-0.1.0.md) | Tickets livrés 0.1.0 |
|
| [29 — Bilan version 0.1.0](./29_BILAN-VERSION-0.1.0.md) | Tickets livrés 0.1.0 |
|
||||||
|
| [30 — Découpage tickets quotidien](./30_DECOUPAGE-TICKETS-QUOTIDIEN.md) | Brouillon / backlog tickets parent/AM |
|
||||||
|
| [31 — Mini-spec quotidien parent/AM](./31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md) | Besoin figé atelier sept. 2026 |
|
||||||
| [04 — Roadmap générale](./04_ROADMAP-GENERALE.md) | Vision phases long terme |
|
| [04 — Roadmap générale](./04_ROADMAP-GENERALE.md) | Vision phases long terme |
|
||||||
| [28 — Évolution famille / responsables](./28_EVOLUTION-FAMILLE-ET-RESPONSABLES.md) | Limites modèle foyer / contournements |
|
| [28 — Évolution famille / responsables](./28_EVOLUTION-FAMILLE-ET-RESPONSABLES.md) | Limites modèle foyer / contournements |
|
||||||
|
|
||||||
@@ -30,7 +32,13 @@ Index de navigation du dépôt. Dernière révision : **septembre 2026** (CDC V1
|
|||||||
|-----|---------|
|
|-----|---------|
|
||||||
| [20 — Workflow création de compte](./20_WORKFLOW-CREATION-COMPTE.md) | Inscription / validation (détail historique) |
|
| [20 — Workflow création de compte](./20_WORKFLOW-CREATION-COMPTE.md) | Inscription / validation (détail historique) |
|
||||||
| [juridique/](./juridique/README.md) | CGU / CGC / privacy + [22 technique](./juridique/22_DOCUMENTS-LEGAUX.md) |
|
| [juridique/](./juridique/README.md) | CGU / CGC / privacy + [22 technique](./juridique/22_DOCUMENTS-LEGAUX.md) |
|
||||||
|
|
||||||
|
## Charte & maquettes
|
||||||
|
|
||||||
|
| Doc | Contenu |
|
||||||
|
|-----|---------|
|
||||||
| [CHARTE_GRAPHIQUE.md](./CHARTE_GRAPHIQUE.md) | Charte UI |
|
| [CHARTE_GRAPHIQUE.md](./CHARTE_GRAPHIQUE.md) | Charte UI |
|
||||||
|
| [maquettes/](./maquettes/README.md) | Maquettes TdB quotidien (réf. v4 + historique) |
|
||||||
|
|
||||||
## Projet & outillage
|
## Projet & outillage
|
||||||
|
|
||||||
|
|||||||
@@ -12,12 +12,12 @@ Ce fichier remplace, pour le **semver / milestones**, les anciennes tables figé
|
|||||||
| Milestone | Rôle | Statut |
|
| Milestone | Rôle | Statut |
|
||||||
|-----------|------|--------|
|
|-----------|------|--------|
|
||||||
| **0.1.0** | MVP opérable (auth, inscription, dashboard dossiers/fiches, suppressions, cleanups) | **Terminée** — [bilan](./29_BILAN-VERSION-0.1.0.md) |
|
| **0.1.0** | MVP opérable (auth, inscription, dashboard dossiers/fiches, suppressions, cleanups) | **Terminée** — [bilan](./29_BILAN-VERSION-0.1.0.md) |
|
||||||
| **0.2.0** | Suite produit (ex. recherche / échanges — sans contrat) | Ouverte |
|
| **0.2.0** | **Quotidien parent / AM** (TdB 3 colonnes, cartes, blog, messagerie) — [#165](https://git.ptits-pas.fr/jmartin/petitspas/issues/165)… | **Ouverte** — [mini-spec](./31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md) · [découpage](./30_DECOUPAGE-TICKETS-QUOTIDIEN.md) |
|
||||||
| **0.3.0** | Contrat + planning | Ouverte |
|
| **0.3.0** | Contrat + planning | Fermée (vide) — à réouvrir au besoin |
|
||||||
| **0.4.0** | Carnet de liaison | Ouverte |
|
| **0.4.0** | Carnet de liaison | Fermée (vide) — à réouvrir au besoin |
|
||||||
| **0.9.0** | Hors périmètre cleanup 0.1.0 (doublons, upload, tech auth/photos, UX erreurs…) | Ouverte |
|
| **0.9.0** | Hors périmètre cleanup 0.1.0 | Fermée (vide) |
|
||||||
| **1.0.0** | Release majeure Phase 1 (critères PO) | Réserve |
|
| **1.0.0** | Release majeure (critères PO) | Fermée (réserve) |
|
||||||
| **Backlog transverse** | Doc étendue, CI/tests, RGPD avancé, monitoring — hors semver dédié | Ouverte |
|
| **Backlog transverse** | Doc / CI / RGPD / monitoring | Fermée (vide) |
|
||||||
|
|
||||||
Liens Gitea : [milestones](https://git.ptits-pas.fr/jmartin/petitspas/milestones).
|
Liens Gitea : [milestones](https://git.ptits-pas.fr/jmartin/petitspas/milestones).
|
||||||
|
|
||||||
@@ -35,6 +35,8 @@ Liens Gitea : [milestones](https://git.ptits-pas.fr/jmartin/petitspas/milestones
|
|||||||
|-----|------|
|
|-----|------|
|
||||||
| [01_CAHIER-DES-CHARGES.md](./01_CAHIER-DES-CHARGES.md) | CDC **complet** V1.4 (users mis à jour ; reste = cible) |
|
| [01_CAHIER-DES-CHARGES.md](./01_CAHIER-DES-CHARGES.md) | CDC **complet** V1.4 (users mis à jour ; reste = cible) |
|
||||||
| [12_SRS-GESTION-UTILISATEURS.md](./12_SRS-GESTION-UTILISATEURS.md) | SRS technique domaine utilisateurs |
|
| [12_SRS-GESTION-UTILISATEURS.md](./12_SRS-GESTION-UTILISATEURS.md) | SRS technique domaine utilisateurs |
|
||||||
|
| [31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md](./31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md) | Besoin quotidien parent/AM (0.2.0) |
|
||||||
|
| [30_DECOUPAGE-TICKETS-QUOTIDIEN.md](./30_DECOUPAGE-TICKETS-QUOTIDIEN.md) | Mapping tickets #165–#189 |
|
||||||
| Archive CDC V1.3 | [archive/obsolete/01_CAHIER-DES-CHARGES-v1.3.md](./archive/obsolete/01_CAHIER-DES-CHARGES-v1.3.md) |
|
| Archive CDC V1.3 | [archive/obsolete/01_CAHIER-DES-CHARGES-v1.3.md](./archive/obsolete/01_CAHIER-DES-CHARGES-v1.3.md) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -8,5 +8,7 @@ Ne plus maintenir de catalogue exhaustif des tickets dans le dépôt : l’état
|
|||||||
|
|
||||||
Pour une **version livrée**, lire le bilan correspondant (ex. [29_BILAN-VERSION-0.1.0.md](./29_BILAN-VERSION-0.1.0.md)).
|
Pour une **version livrée**, lire le bilan correspondant (ex. [29_BILAN-VERSION-0.1.0.md](./29_BILAN-VERSION-0.1.0.md)).
|
||||||
|
|
||||||
|
**Backlog en cours `0.2.0` (quotidien)** : epic [#165](https://git.ptits-pas.fr/jmartin/petitspas/issues/165) · [découpage #166–#189](./30_DECOUPAGE-TICKETS-QUOTIDIEN.md) · [mini-spec](./31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md).
|
||||||
|
|
||||||
Archive historique (liste Phase 1 figée, avril 2026) :
|
Archive historique (liste Phase 1 figée, avril 2026) :
|
||||||
[archive/obsolete/23_LISTE-TICKETS.md](./archive/obsolete/23_LISTE-TICKETS.md).
|
[archive/obsolete/23_LISTE-TICKETS.md](./archive/obsolete/23_LISTE-TICKETS.md).
|
||||||
|
|||||||
@@ -0,0 +1,201 @@
|
|||||||
|
# Découpage tickets — Quotidien parent / AM
|
||||||
|
|
||||||
|
> **Statut :** backlog Gitea créé (**milestone `0.2.0`**, **#165–#189**) — *création anticipée avant validation PO* ; **descriptions enrichies** ensuite à partir de la mini-spec / découpage.
|
||||||
|
> **Réf. visuelle :** [maquettes/courantes/maquette-dashboard-parent-quotidien-v4.png](./maquettes/courantes/maquette-dashboard-parent-quotidien-v4.png)
|
||||||
|
> **Mini-spec :** [31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md](./31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md)
|
||||||
|
> **Règle :** tickets **front** / **back** séparés · widgets partagés parent↔AM · **pas d’implé code** tant que le PO n’a pas validé le backlog.
|
||||||
|
|
||||||
|
## Intention produit (rappel)
|
||||||
|
|
||||||
|
- TdB PC en **3 colonnes** : **cartes** | **blog** (défaut) | **messagerie**
|
||||||
|
- Contexte actif = **couple** enfant–nounou (parent) / enfant–parent(s) (AM)
|
||||||
|
- Blog **indispensable** (AM + RPE) ; messagerie type WhatsApp (BABA, 2 parents = même fil AM)
|
||||||
|
- Look **papier / pastel / lignée inscription** (pas le dashboard staff)
|
||||||
|
- **Widgets partagés** parent ↔ AM (blog, messagerie, cartes, coquille, couple paramétré) — pas de double implémentation
|
||||||
|
- « Effet démo » = logiciel peuplé + sync live multi-écrans — **pas** un sous-MVP jetable
|
||||||
|
- **Hors ce découpage** (jalons suivants) : page Contrat riche (Pajemploi, CP), notifs CDC fourre-tout, masquage messages, posts blog parent, Agenda « riche » (entrée bandeau possible en stub)
|
||||||
|
|
||||||
|
## Contrainte technique front (dictée 23/09)
|
||||||
|
|
||||||
|
Les panneaux parent et AM étant **quasiment identiques**, le découpage impose des **briques réutilisables** :
|
||||||
|
|
||||||
|
| Widget / module | Tickets concernés |
|
||||||
|
|-----------------|-------------------|
|
||||||
|
| Coquille TdB 3 colonnes + bandeau | A1, B1 — B1 **réutilise** la coquille d’A1 |
|
||||||
|
| Sélecteur couple (mode parent vs AM) | A2, B2 — **un** composant, 2 modes |
|
||||||
|
| Flux de cartes | C2, C3 — **un** widget + config rôles |
|
||||||
|
| Blog (fil + composeur) | D2, D3, D4 — même brique |
|
||||||
|
| Messagerie (chat + onglets) | E4, E5, E6 — même brique |
|
||||||
|
|
||||||
|
Les tickets **[Front] AM** (B1, B2, C3, D3, E5) = **intégration / mode rôle**, pas une 2ᵉ copie du code.
|
||||||
|
|
||||||
|
|
||||||
|
## Proposition de milestone
|
||||||
|
|
||||||
|
| Champ | Valeur |
|
||||||
|
|-------|--------|
|
||||||
|
| Titre | **`0.2.0`** (rouvert) |
|
||||||
|
| Description | Quotidien parent / AM — TdB 3 colonnes, cartes, blog, messagerie |
|
||||||
|
| Label | `v0.2.0` |
|
||||||
|
|
||||||
|
## Mapping Gitea
|
||||||
|
|
||||||
|
| Id | Issue | Titre |
|
||||||
|
|----|-------|-------|
|
||||||
|
| Epic | [#165](https://git.ptits-pas.fr/jmartin/petitspas/issues/165) | Epic quotidien |
|
||||||
|
| A1 | [#166](https://git.ptits-pas.fr/jmartin/petitspas/issues/166) | [Front] Coquille TdB parent |
|
||||||
|
| A2 | [#167](https://git.ptits-pas.fr/jmartin/petitspas/issues/167) | [Front] Couple enfant–nounou |
|
||||||
|
| A3 | [#168](https://git.ptits-pas.fr/jmartin/petitspas/issues/168) | [Backend] API couples parent |
|
||||||
|
| B1 | [#169](https://git.ptits-pas.fr/jmartin/petitspas/issues/169) | [Front] Coquille TdB AM |
|
||||||
|
| B2 | [#170](https://git.ptits-pas.fr/jmartin/petitspas/issues/170) | [Front] Couple enfant–parent(s) |
|
||||||
|
| B3 | [#171](https://git.ptits-pas.fr/jmartin/petitspas/issues/171) | [Backend] API enfants AM |
|
||||||
|
| C1 | [#172](https://git.ptits-pas.fr/jmartin/petitspas/issues/172) | [Backend] API cartes |
|
||||||
|
| C2 | [#173](https://git.ptits-pas.fr/jmartin/petitspas/issues/173) | [Front] Cartes parent |
|
||||||
|
| C3 | [#174](https://git.ptits-pas.fr/jmartin/petitspas/issues/174) | [Front] Cartes AM |
|
||||||
|
| C4 | [#175](https://git.ptits-pas.fr/jmartin/petitspas/issues/175) | [Front] Déclarer absence |
|
||||||
|
| C5 | [#176](https://git.ptits-pas.fr/jmartin/petitspas/issues/176) | [Front] Formulaires AM cartes |
|
||||||
|
| D1 | [#177](https://git.ptits-pas.fr/jmartin/petitspas/issues/177) | [Backend] API blog |
|
||||||
|
| D2 | [#178](https://git.ptits-pas.fr/jmartin/petitspas/issues/178) | [Front] Blog parent |
|
||||||
|
| D3 | [#179](https://git.ptits-pas.fr/jmartin/petitspas/issues/179) | [Front] Blog AM |
|
||||||
|
| D4 | [#180](https://git.ptits-pas.fr/jmartin/petitspas/issues/180) | [Front] Blog gestionnaire |
|
||||||
|
| E1 | [#181](https://git.ptits-pas.fr/jmartin/petitspas/issues/181) | [Backend] Socle messagerie |
|
||||||
|
| E2 | [#182](https://git.ptits-pas.fr/jmartin/petitspas/issues/182) | [Backend] Mess. AM |
|
||||||
|
| E3 | [#183](https://git.ptits-pas.fr/jmartin/petitspas/issues/183) | [Backend] Mess. RPE |
|
||||||
|
| E4 | [#184](https://git.ptits-pas.fr/jmartin/petitspas/issues/184) | [Front] Messagerie parent |
|
||||||
|
| E5 | [#185](https://git.ptits-pas.fr/jmartin/petitspas/issues/185) | [Front] Messagerie AM |
|
||||||
|
| E6 | [#186](https://git.ptits-pas.fr/jmartin/petitspas/issues/186) | [Front] Mess. RPE gestionnaire |
|
||||||
|
| F1 | [#187](https://git.ptits-pas.fr/jmartin/petitspas/issues/187) | [Front] Stubs Agenda / Contrat |
|
||||||
|
| F2 | [#188](https://git.ptits-pas.fr/jmartin/petitspas/issues/188) | [Front] Swipe mobile |
|
||||||
|
| G1 | [#189](https://git.ptits-pas.fr/jmartin/petitspas/issues/189) | [Backend] Seeds quotidien |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Epic A — Coquille TdB parent
|
||||||
|
|
||||||
|
### A1 — [Front] Coquille TdB parent 3 colonnes + bandeau → [#166](https://git.ptits-pas.fr/jmartin/petitspas/issues/166)
|
||||||
|
Bandeau TdB / Agenda / Contrat + menu user ; corps en 3 colonnes (cartes | blog | messagerie) ; fond papier / pastel. **Livrer la coquille comme widget/layout réutilisable** (l’AM B1 s’en branche). Remplace / refactor `ParentDashboardScreen` + `dashbord_parent/`.
|
||||||
|
|
||||||
|
### A2 — [Front] Sélecteur couple enfant–nounou → [#167](https://git.ptits-pas.fr/jmartin/petitspas/issues/167)
|
||||||
|
Composant **paramétrable** (mode parent : enfant|nounou). Dropdown si plusieurs gardes ; informatif si une seule. B2 = même widget en mode AM.
|
||||||
|
|
||||||
|
### A3 — [Back] API contexte de garde actif (couples parent)
|
||||||
|
Endpoint(s) listant les couples enfant–AM du parent connecté + couple « courant » (persistance session / préférence). Données mini : ids, noms, photos.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Epic B — Coquille TdB AM (miroir)
|
||||||
|
|
||||||
|
### B1 — [Front] Coquille TdB AM 3 colonnes + bandeau → [#169](https://git.ptits-pas.fr/jmartin/petitspas/issues/169)
|
||||||
|
**Réutilise** la coquille d’A1/#166 ; point de départ `am_dashboard_screen.dart`.
|
||||||
|
|
||||||
|
### B2 — [Front] Sélecteur couple enfant–parent(s) → [#170](https://git.ptits-pas.fr/jmartin/petitspas/issues/170)
|
||||||
|
**Même widget** qu’A2 en mode AM : gauche photo enfant ; droite parent1+parent2 empilés ou un parent centré.
|
||||||
|
|
||||||
|
### B3 — [Back] API contexte enfants accueillis (AM)
|
||||||
|
Liste des enfants / foyers pour l’AM + contexte courant (symétrique A3).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Epic C — Cartes (file du quotidien)
|
||||||
|
|
||||||
|
### C1 — [Back] Modèle + API cartes / événements de garde
|
||||||
|
Types V1 : absence enfant, congé AM, maladie AM (« arrêt »), sortie à valider. CRUD / transitions de statut ; liaison couple / agenda (hook minimal). Règles : absence enfant sans veto AM ; congé AM accepter/refuser (**1 parent suffit**) ; maladie AM accusé parent ; sortie **1 parent suffit**. Aucun doc médical stocké.
|
||||||
|
|
||||||
|
### C2 — [Front] Flux de cartes colonne gauche (parent)
|
||||||
|
Liste scroll pastel (palette `assets/cards/` — 7 couleurs) ; ouverture détail ; actions valider / refuser / accusé selon type. Bouton **Déclarer une absence** (+ autres actions TBD plus tard).
|
||||||
|
|
||||||
|
### C3 — [Front] Flux de cartes colonne gauche (AM)
|
||||||
|
Miroir : création congé / maladie / sortie ; lecture absences enfants du jour / à venir.
|
||||||
|
|
||||||
|
### C4 — [Front] Formulaire déclarer une absence (parent)
|
||||||
|
Saisie période (+ motif léger si besoin) → crée une carte côté AM.
|
||||||
|
|
||||||
|
### C5 — [Front] Formulaires AM congé / maladie / sortie
|
||||||
|
Création des cartes correspondantes + ciblage enfants si sortie.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Epic D — Blog
|
||||||
|
|
||||||
|
### D1 — [Back] Modèle + API blog (posts + médias)
|
||||||
|
Posts par auteur AM ou gestionnaire (RPE) ; texte + photos ; ciblage enfants (AM) / audience (RPE) ; fil visible parents (et AM selon règles). Sync temps réel ou polling acceptable V1.
|
||||||
|
|
||||||
|
### D2 — [Front] Colonne Blog parent (défaut)
|
||||||
|
Fil de posts ; auteur **distinct** AM vs RPE ; miniatures ; pas de bouton « Écrire un post » parent en V1 (reporté).
|
||||||
|
|
||||||
|
### D3 — [Front] Colonne Blog AM — lecture + écrire un post
|
||||||
|
Composer texte + photos + sélection enfants concernés ; publication.
|
||||||
|
|
||||||
|
### D4 — [Front] Publication blog gestionnaire (point d’entrée staff)
|
||||||
|
UI minimale côté dashboard gestionnaire (ou réutilisation) pour publier une annonce RPE visible sur les TdB parent/AM.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Epic E — Messagerie
|
||||||
|
|
||||||
|
### E1 — [Back] Socle messagerie (choix lib / protocole) + API
|
||||||
|
Évaluer brique existante (style chat WhatsApp : texte, emoji, images). Conversations, participants, pièces jointes images. Temps réel (WS ou équivalent) souhaité pour l’effet multi-écrans.
|
||||||
|
|
||||||
|
### E2 — [Back] Mess. AM — conversation foyer ↔ AM
|
||||||
|
Une conversation par couple/foyer ; **les deux parents** voient le **même** fil. Pas de masquage V1.
|
||||||
|
|
||||||
|
### E3 — [Back] Mess. RPE — privée + ajout de participants
|
||||||
|
Fil 1↔1 par défaut (parent↔RPE ou AM↔RPE) ; possibilité d’**ajouter** 2ᵉ parent / AM / parent pour médiation.
|
||||||
|
|
||||||
|
### E4 — [Front] Colonne messagerie parent (onglets Mess. AM | Mess. RPE)
|
||||||
|
UI chat + saisie + PJ ; défaut = Mess. AM.
|
||||||
|
|
||||||
|
### E5 — [Front] Colonne messagerie AM (onglets équivalents)
|
||||||
|
Miroir parent ; Mess. AM = foyer courant ; Mess. RPE = canal relais.
|
||||||
|
|
||||||
|
### E6 — [Front] Mess. RPE côté gestionnaire (entrée minimale)
|
||||||
|
Liste / réponse aux fils RPE + ajout de participants pour médiation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Epic F — Navigation & mobile (socle)
|
||||||
|
|
||||||
|
### F1 — [Front] Navigation Agenda / Contrat (stubs ou routes)
|
||||||
|
Entrées bandeau : pages **placeholder** ou squelette (Agenda / Contrat pleine page) pour ne pas bloquer le TdB — contenu métier = jalons suivants.
|
||||||
|
|
||||||
|
### F2 — [Front] Adaptation mobile — swipe 3 panneaux
|
||||||
|
Sur téléphone : swipe Blog ↔ Cartes ↔ Messagerie ; navigation TdB/Agenda/Contrat hors swipe. Contrat peut rester limité (« mieux sur PC ») en V1 si besoin.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Epic G — Données de démo / peuplement
|
||||||
|
|
||||||
|
### G1 — [Back/Outillage] Jeu de données peuplé quotidien
|
||||||
|
Scripts / seeds : foyer 2 parents, AM, enfant(s), quelques cartes, posts blog, fils messagerie — pour enchaîner une démo multi-écrans sans saisie manuelle lourde.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hors découpage (volontairement)
|
||||||
|
|
||||||
|
| Sujet | Motif |
|
||||||
|
|-------|--------|
|
||||||
|
| Page Contrat (Pajemploi, CP, avenants) | Module valué — jalon dédié |
|
||||||
|
| Agenda calendrier riche | Entrée bandeau OK en stub ; métier plus tard |
|
||||||
|
| Notifs CDC (contrat/paiement/dossier) | Plus tard |
|
||||||
|
| Masquage messages / privé parent↔AM | Plus tard |
|
||||||
|
| Parent auteur de posts blog | Hypothétique / plus tard |
|
||||||
|
| Photo parent à l’inscription | Non ; éventuel menu profil plus tard |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ordre de réalisation suggéré
|
||||||
|
|
||||||
|
1. **A1 → A2 → A3** (coquille + contexte parent)
|
||||||
|
2. **C1 → C2 / C4** (premières cartes utiles)
|
||||||
|
3. **D1 → D2 / D3** (blog central)
|
||||||
|
4. **E1 → E2 → E4** (messagerie AM)
|
||||||
|
5. **B1 → B2 → B3** + miroirs C3/C5/D3/E5 (AM)
|
||||||
|
6. **E3 / E5 / E6 / D4** (RPE)
|
||||||
|
7. **F1 → F2** + **G1** (nav, mobile, seeds)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
Backlog créé sur Gitea (**#165–#189**, milestone `0.2.0`).
|
||||||
|
**Implémentation code** : seulement après relecture PO / ajustements éventuels sur le découpage.
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
# Mini-spec — Quotidien parent / AM
|
||||||
|
|
||||||
|
> **Statut :** figée pour backlog (sept. 2026)
|
||||||
|
> **Réf. visuelle :** [maquettes/courantes/maquette-dashboard-parent-quotidien-v4.png](./maquettes/courantes/maquette-dashboard-parent-quotidien-v4.png)
|
||||||
|
> **Découpage tickets :** [30_DECOUPAGE-TICKETS-QUOTIDIEN.md](./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 :
|
||||||
|
|
||||||
|
1. Parent et AM voient le **même contexte de garde** (couple / enfant)
|
||||||
|
2. Parent déclare une **absence** → carte visible côté AM
|
||||||
|
3. AM publie un **post blog** (texte + photo) → visible colonne blog parent
|
||||||
|
4. Gestionnaire publie une **annonce RPE** → visible sur les TdB concernés
|
||||||
|
5. Message **Mess. AM** d’un côté → apparaît de l’autre (près temps réel)
|
||||||
|
6. 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](./30_DECOUPAGE-TICKETS-QUOTIDIEN.md) § ordre — A (coquille parent) → C (cartes) → D (blog) → E (messagerie) → B (miroir AM) → RPE → F/G (mobile + seeds).
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# Maquettes — espaces parent / AM (quotidien)
|
||||||
|
|
||||||
|
Références visuelles issues de l’atelier de cadrage (sept. 2026).
|
||||||
|
|
||||||
|
## Organisation
|
||||||
|
|
||||||
|
| Dossier | Contenu |
|
||||||
|
|---------|---------|
|
||||||
|
| [`courantes/`](./courantes/) | **Référence active** — à utiliser pour tickets / implémentation |
|
||||||
|
| [`historique/`](./historique/) | Itérations précédentes + croquis manuscrit (conservées pour traçabilité) |
|
||||||
|
|
||||||
|
## Référence active
|
||||||
|
|
||||||
|
| Fichier | Description |
|
||||||
|
|---------|-------------|
|
||||||
|
| [`courantes/maquette-dashboard-parent-quotidien-v4.png`](./courantes/maquette-dashboard-parent-quotidien-v4.png) | TdB parent PC — **3 colonnes** : cartes + couple · blog (défaut) · messagerie (AM / RPE) |
|
||||||
|
|
||||||
|
## Historique
|
||||||
|
|
||||||
|
| Fichier | Note |
|
||||||
|
|---------|------|
|
||||||
|
| [`historique/croquis-dashboard-parent-2026-09-23.jpg`](./historique/croquis-dashboard-parent-2026-09-23.jpg) | Wireframe manuscrit (WhatsApp) — point de départ layout |
|
||||||
|
| `…-v1.png` | Première génération IA (~50/50) |
|
||||||
|
| `…-v2.png` | Recadrage 1/3 + 2/3 (onglets Mess/Blog à droite) |
|
||||||
|
| `…-v3.png` | Couple enfant–nounou (encore 2 colonnes) |
|
||||||
|
|
||||||
|
## Suite éventuelle
|
||||||
|
|
||||||
|
- Maquette **TdB AM** (miroir : bandeau enfant \| parent(s)) — pas encore générée.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 185 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 149 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 149 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 178 KiB |
Reference in New Issue
Block a user