Closed
opened 2026-04-12 19:37:06 +00:00 by jmartin
·
2 comments
No Branch/Tag Specified
master
develop
docs/117-cdc-v1.4-srs-users
docs/rationalisation-0.1.0
feature/164-staff-modal-uniformisation
feature/155-rename-admin-prefix-dashboard
docs/155-phase2-spec
feature/152-remove-est-multiple
feature/161-admin-creation-staff
feature/160-suppressions-dashboard
feature/159-suppressions-backend
feature/135-edition-dossier
feature/153-onglet-dossiers
feature/129-creation-dossier-parent
feature/156-creation-dossier-am
feature/158-affiliation-enfant-foyer
feature/157-enfant-sans-responsable
feature/132-creation-enfant-onglet-enfants
fix/151-get-relais-gestionnaire
backup/auth-fixes
archive/maquette-initiale
v0.1.0
stable
Labels
Clear labels
a11y
admin
api
auth
backend
bug
cdc
cleanup
critique
database
documentation
duplicate
email
enhancement
frontend
gestionnaire
good first issue
help wanted
infra
invalid
juridique
monitoring
on-premise
p0-bloquant
p1-bloquant
p2
p3
p4
phase-1
question
rgpd
security
tests
ui
upload
ux
v0.1.0
wontfix
Accessibilité
Administration
Authentification
Backend NestJS
Something isn't working
Cahier des charges
Nettoyage/Refactoring
Critique
Base de données PostgreSQL
Improvements or additions to documentation
This issue or pull request already exists
Email/Notifications
New feature or request
Frontend Flutter/Web
Gestionnaire
Good for newcomers
Extra attention is needed
Infrastructure Docker/CI-CD
This doesn't seem right
Juridique/Légal
Monitoring/Logs
Configuration on-premise
Priorité 0 - BLOQUANT
Priorité 1 - BLOQUANT
Priorité 2
Priorité 3
Priorité 4
Phase 1
Further information is requested
RGPD/Conformité
Sécurité
Tests unitaires/E2E
Upload fichiers
UX/UI
Issue rattachée au périmètre release 0.1.0
This will not be worked on
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: jmartin/petitspas#120
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Contexte
Le ticket #91 a fermé le branchement de POST /api/v1/auth/register/am, mais la chaîne photo reste fragile :
photo_base64etphoto_filenamesont tous deux présents (auth.service.ts,inscrireAMComplet). Or le front n’envoie pasphoto_filename.registerAMn’envoie pasphoto_filename; l’étape 2 AM fournit unonPickPhotovide (am_register_step2_screen.dart) ; le récap étape 4 forcephotoPath: nullpour l’affichage ; sur le web, s’appuyer uniquement surdart:io+File(path)est insuffisant (même approche que parents :ImagePicker+readAsBytes,kIsWeb).Objectif global : une assistante peut soumettre une inscription avec photo réelle ; le gestionnaire voit la photo dans le flux de validation ; comportement équivalent au parcours parents (base64 + nom de fichier + robustesse).
Partie A — Backend
Fichiers indicatifs :
backend/src/routes/auth/auth.service.ts,backend/src/routes/auth/dto/register-am-complet.dto.ts,backend/src/routes/auth/auth.controller.tsÀ faire
photo_base64est présent et valide (data-URLdata:image/...;base64,...) : persister la photo même siphoto_filenameest absent → utiliser un nom par défaut (ex.photo_am.jpg) ; l’extension effective doit rester cohérente avecsauvegarderPhotoDepuisBase64(déjà dérivée du type dans le data-URL).@ApiProperty:photo_filenameoptionnel lorsquephoto_base64est fourni ; préciser le défaut serveur.Critères d’acceptation (back)
photo_base64valide sansphoto_filename→ utilisateur créé,photo_urlrenseigné, fichier présent côté stockage configuré.Partie B — Frontend
Fichiers indicatifs :
frontend/lib/services/auth_service.dart(registerAM),frontend/lib/models/am_registration_data.dart,frontend/lib/screens/auth/am_register_step2_screen.dart,frontend/lib/screens/auth/am_register_step4_screen.dart,frontend/lib/widgets/professional_info_form_screen.dart, référence parents :parent_register_step3_screen.dart,parent_registration_payload.dartÀ faire
XFile.readAsBytes(); ne pas dépendre uniquement deFile(path)sur web.Uint8List?) ou équivalent jusqu’àregisterAM.photo_base64etphoto_filenamelorsqu’une photo est présente (nom dérivé du fichier ou valeur fixe cohérente, alignée parents).registerParentsi possible.Critères d’acceptation (front)
photo_urlcôté serveur non vide après inscription (vérification admin / BDD).Partie C — QA / recette globale
Références
tmp/inscription-am-photo-backend.md— section backend rappelLivraison code : parties A (back) et B (front) merg�es dans
develop.feature/120-inscription-am-photo-backend(d�fautphoto_filename, persistance si base64 seul).feature/120-inscription-am-photo-frontend(ImagePicker,photo_bytes/ filename, r�cap).� faire c�t� �quipe : cocher les cases QA (Partie C) sur environnement de test.
Fermeture ticket #120 — livré sur
developBranche
feature/120-inscription-am-photomergée dansdevelop(livraison : inscription AM alignée parents + panneau validation gestionnaire).Inscription AM (alignement parents)
registration_photo_slot, scripts de test Node).Panneau gestionnaire — onglet « À valider »
iconSize34).Wizard validation dossier AM
[2,2,2,2]: NIR | date de naissance, ville | pays de naissance, n° agrément | date d'agrément, capacité | places.AppUser:date_naissance,lieu_naissance_ville,lieu_naissance_pays; affichage datesdd/MM/yyyy(formatIsoDateFr).ValidationDetailSection: titre optionnel (wizard AM).Wizard validation famille
Nettoyage
debugPrintliés aux médias / images / chargement dossier (api_config,auth_network_image,dossier_unifie,user_service, carte enfant validation).Issue fermée après merge sur
developet recette.