9 Commits

Author SHA1 Message Date
dfad408902 [Ticket #18] API Inscription Parent - Étape 3 (Enfants)
 Modifications apportées :
- Rendu le champ 'genre' obligatoire dans CreateEnfantsDto (conforme CDC)
- Ajout upload photo avec Multer (max 5MB, formats jpg/jpeg/png/gif)
- Rattachement automatique au co-parent s'il existe
- Création dossier /app/uploads/photos dans Dockerfile avec permissions
- Gestion enfants à naître vs nés
- Gestion consentement photo avec horodatage

 Tests réalisés :
- Création enfant 'actif' avec date de naissance (Emma Martin)
- Création enfant avec rattachement aux 2 parents (Noah Martin)
- Création enfant 'a_naitre' avec date prévue (Léa Martin)
- Vérification base de données : enfants bien rattachés aux parents

Refs: #18
2025-12-01 16:28:45 +01:00
40c7f40d12 feat(backend): endpoint inscription parent + nettoyage code #9
🧹 NETTOYAGE CODE ÉTUDIANT:
- Suppression console.log/error (4 occurrences)
- Suppression code commenté inutile
- Suppression champs obsolètes (mobile, telephone_fixe)
- Correction password nullable dans Users entity

 NOUVELLES FONCTIONNALITÉS:
- Ajout champs token_creation_mdp dans Users entity
- Création RegisterParentDto (validation complète)
- Endpoint POST /auth/register/parent
- Méthode registerParent() avec transaction
- Gestion Parent 1 + Parent 2 (co-parent optionnel)
- Génération tokens UUID pour création MDP
- Lecture durée token depuis AppConfigService
- Création automatique entités Parents
- Statut EN_ATTENTE par défaut
- Intégration AppConfigModule dans AuthModule
- Amélioration méthode login() (vérif statut + password null)

📋 WORKFLOW CDC CONFORME:
- Inscription SANS mot de passe
- Token envoyé par email (TODO)
- Validation gestionnaire requise
- Support co-parent avec même adresse

Réf: docs/20_WORKFLOW-CREATION-COMPTE.md
Ticket: #9 (ou #16)
2025-11-30 16:09:54 +01:00
f53fd903e5 feat(backend): API documents légaux #31
- Création DTOs (UploadDocumentDto, DocumentsActifsResponseDto, DocumentVersionDto)
- Création DocumentsLegauxController avec 6 endpoints:
  * GET /documents-legaux/actifs (public)
  * GET /documents-legaux/:type/versions (admin)
  * POST /documents-legaux (upload, admin)
  * PATCH /documents-legaux/:id/activer (admin)
  * GET /documents-legaux/:id/download (public)
  * GET /documents-legaux/:id/verifier-integrite (admin)
- Support upload multipart/form-data avec FileInterceptor
- Validation des types (cgu/privacy)
- Stream PDF pour téléchargement
- Intégration dans DocumentsLegauxModule
- Compilation OK

TODO: Ajouter guards auth (JwtAuthGuard, RolesGuard)

Réf: docs/22_DOCUMENTS-LEGAUX.md
2025-11-30 16:00:12 +01:00
1fb8c33cbf feat(backend): service gestion documents légaux #8
- Création entité DocumentLegal
- Création entité AcceptationDocument
- Création DocumentsLegauxService avec méthodes:
  * getDocumentsActifs()
  * uploadNouvelleVersion() (avec hash SHA-256)
  * activerVersion() (transaction)
  * listerVersions()
  * telechargerDocument()
  * verifierIntegrite()
  * enregistrerAcceptation()
  * getAcceptationsUtilisateur()
- Création DocumentsLegauxModule
- Intégration dans AppModule
- Ajout dépendances multer + @types/multer

Réf: docs/22_DOCUMENTS-LEGAUX.md
2025-11-30 15:50:38 +01:00
eb1583b35b feat(backend): API admin configuration avec test SMTP (#6)
Implémentation de l'API REST pour la gestion de la configuration
système par les administrateurs.

Nouveaux fichiers :
- modules/config/config.controller.ts : Controller REST
- modules/config/dto/update-config.dto.ts : DTO mise à jour
- modules/config/dto/test-smtp.dto.ts : DTO test SMTP

Endpoints créés :
 GET /api/v1/configuration/setup/status
   → Vérifier si la configuration initiale est terminée

 POST /api/v1/configuration/setup/complete
   → Marquer la configuration comme terminée

 POST /api/v1/configuration/test-smtp
   → Tester la connexion SMTP + envoi email de test

 PATCH /api/v1/configuration/bulk
   → Mise à jour multiple des configurations

 GET /api/v1/configuration
   → Récupérer toutes les configurations (admin)

 GET /api/v1/configuration/:category
   → Récupérer par catégorie (email/app/security)

Fonctionnalités :
- Validation des données avec class-validator
- Test SMTP avec Nodemailer
- Envoi d'email de test HTML
- Gestion d'erreurs complète
- Rechargement automatique du cache
- Traçabilité des modifications

Sécurité :
- Guards commentés (à activer avec JWT)
- Validation des catégories
- Mots de passe masqués dans les réponses

Dépendances ajoutées :
- nodemailer ^6.9.16
- @types/nodemailer ^6.4.16

Tests effectués :
 GET /setup/status → {setupCompleted: false}
 GET /email → 8 configurations email
 Build Docker réussi
 Toutes les routes mappées correctement

Ref: #6
2025-11-28 17:00:55 +01:00
80afe2fa2f feat(backend): service de configuration avec cache et encryption (#5)
Implémentation du service de configuration dynamique pour
le déploiement on-premise de l'application.

Nouveaux fichiers :
- entities/configuration.entity.ts : Entité TypeORM
- modules/config/config.service.ts : Service avec cache et encryption
- modules/config/config.module.ts : Module NestJS
- modules/config/index.ts : Export centralisé

Fonctionnalités :
 Cache en mémoire au démarrage (16 configurations)
 Chiffrement AES-256-CBC pour valeurs sensibles
 Conversion automatique de types (string/number/boolean/json)
 Méthodes get/set avec traçabilité
 Récupération par catégorie (email/app/security)
 Masquage automatique des mots de passe
 Support setup wizard (isSetupCompleted)

Sécurité :
- Clé de chiffrement depuis CONFIG_ENCRYPTION_KEY
- Format iv:encrypted pour AES-256-CBC
- Mots de passe masqués dans les API

Intégration :
- AppConfigModule ajouté à app.module.ts
- Service global exporté pour utilisation dans toute l'app
- Chargement automatique au démarrage (OnModuleInit)

Tests :
 Build Docker réussi
 16 configurations chargées en cache
 Service démarré sans erreur

Ref: #5
2025-11-28 16:29:33 +01:00
33d6e7b0c3 feat: Intégration du backend NestJS depuis YNOV
- Framework: NestJS avec TypeORM
- Authentification: JWT (access + refresh tokens)
- Gestion utilisateurs: CRUD complet avec validation
- Routes: auth, users, parents, assistantes maternelles
- Dockerfile pour conteneurisation
2025-11-24 15:44:07 +01:00
Julien Martin
d3663a28ad feat: mise en place du projet et création de la page de login 2025-05-02 21:30:31 +02:00
Julien Martin
d5015b9c42 Initial commit: Configuration du projet P'titsPas 2025-04-28 18:17:56 +02:00