Squash merge de la branche develop dans master : un seul commit sur master pour regrouper la livraison liée au ticket #50 (affichage dynamique des CGU et de la politique de confidentialité à l'inscription) ainsi que la documentation et les ajustements associés. Frontend (P'titsPas) : modale de validation bloquante avec onglets CGU / confidentialité, chargement des PDF depuis l'API des documents légaux actifs, affichage via pdfx (PdfViewPinch et barre de progression latérale sur le web, repli PdfView sous Windows). Branchement dans le flux d'inscription (écran de présentation), enrichissement du UserService et correction des chemins média pour les URL absolues. Documentation: jeux de fichiers juridiques (markdown et PDF de référence), réorganisation (dossier docs/juridique, archives, renommage du briefing), mises à jour index, liste de tickets et décisions projet. Scripts et métadonnées mineures (Gitea, pubspec, index web). Made-with: Cursor
2.5 KiB
2.5 KiB
TEMP — Alignement front / API (inscription AM & validation gestionnaire)
Archivé (
docs/archive/temporaires/) — fichier temporaire ; à supprimer une fois le front livré ou le sujet clos (voirdocs/archive/temporaires/README.md).
Ce document décrit les changements côté API et ce que Flutter doit faire pour rester aligné. Aucune modification front n’a été faite dans le chantier backend associé.
1. POST /auth/register/am — lieu de naissance obligatoire
lieu_naissance_villeetlieu_naissance_payssont obligatoires (non vides après trim, min. 2 caractères chacun, max 100).- Réponses 400 si manquants ou invalides (messages class-validator).
- Action front : champs obligatoires dans le parcours AM (étapes identité / naissance), validation UI avant envoi ; afficher les erreurs renvoyées par l’API.
2. Réponse GET /dossiers/:numeroDossier (type am)
Sous dossier.user, l’API peut inclure :
| Clé JSON | Description |
|---|---|
date_naissance |
Date (si renseignée à l’inscription) |
lieu_naissance_ville |
Ville de naissance |
lieu_naissance_pays |
Pays de naissance |
consentement_photo |
Booléen (exposé dans dossier.user) |
À la racine de dossier (objet AM), champs déjà renvoyés par le backend : disponible, annees_experience, specialite, nb_max_enfants, place_disponible, etc.
Action front :
- Étendre
AppUser.fromJson/toJson(lib/models/user.dart) pour mapperdate_naissance,lieu_naissance_ville,lieu_naissance_pays,consentement_photo. - Étendre
DossierAM.fromJson(lib/models/dossier_unifie.dart) pour parserdisponible,annees_experience,specialiteà la racine du dossier (noms snake_case comme dans la réponse JSON Nest).
3. ValidationAmWizard (admin)
Afficher pour cohérence avec le formulaire d’inscription :
- Informations personnelles : date de naissance, ville / pays de naissance, consentement photo (Oui/Non).
- Informations professionnelles : disponibilité, années d’expérience, spécialité (afficher « – » si
null).
4. place_disponible à l’inscription
- Le backend initialise
place_disponiblesur la fiche AM à la même valeur quecapacite_accueilà la création. Le wizard peut donc afficher une valeur cohérente avec la capacité sans champ séparé côté public.
Dernière mise à jour : alignement backend branche feature/120-inscription-am-photo-backend.