Files
formation-manager-itinova/todo.md

103 lines
4.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gestion des Formations Manager Itinova - TODO
## Phase 1 : Planification et initialisation
- [x] Initialiser le projet avec architecture full-stack
- [x] Créer le plan de développement
- [x] Créer le fichier todo.md
## Phase 2 : Modèle de données
- [x] Créer la table des formations (nom, description, lien unique)
- [x] Créer la table des sessions (dates, lieu, capacité max 12, statut blocage J-15)
- [x] Créer la table des inscriptions (apprenant, session, statut)
- [x] Créer la table des apprenants (nom, prénom, email, code établissement)
- [x] Implémenter les relations entre tables
- [x] Ajouter les contraintes d'unicité pour éviter les doubles inscriptions
## Phase 3 : Interface d'administration
- [x] Créer le dashboard administrateur avec navigation
- [x] Créer l'interface de gestion des formations (CRUD)
- [x] Créer l'interface de gestion des sessions (CRUD)
- [x] Créer l'interface de gestion des apprenants (CRUD)
- [x] Afficher les listes d'inscrits par session
- [x] Implémenter la gestion des rôles (admin DRH, responsable, stagiaire)
## Phase 4 : Système d'inscription
- [x] Créer la page d'inscription publique avec lien unique par formation
- [x] Implémenter la validation de capacité maximale (12 participants)
- [x] Implémenter la validation anti-double inscription
- [x] Implémenter le blocage des inscriptions/désinscriptions à J-15
- [x] Créer le système de liste d'attente si session complète
- [x] Afficher les sessions disponibles avec places restantes
## Phase 5 : Invitations et emails automatiques
- [x] Implémenter la génération d'invitations Outlook (.ics) avec statut " occupé "
- [x] Inclure le lieu de formation dans les invitations
- [x] Créer le système d'envoi d'emails automatiques
- [x] Créer le template email de confirmation d'inscription
- [x] Créer le template email teaser pour chaque groupe
- [x] Créer le template email de rappel à J-7
- [x] Implémenter l'envoi automatique des emails selon les événements
## Phase 6 : Exports
- [x] Implémenter l'export Excel des listes d'inscrits par session
- [x] Implémenter l'export PDF des listes d'inscrits par session
- [x] Créer la génération de feuille de présence PDF (nom, prénom, code établissement)
- [x] Ajouter les boutons d'export dans l'interface admin
## Phase 7 : Tests et documentation
- [x] Tester le flux complet d'inscription
- [x] Tester les validations et contraintes
- [x] Tester la génération des invitations et emails
- [x] Tester les exports PDF/Excel
- [x] Créer la documentation utilisateur
- [x] Créer la documentation d'administration
## P## Phase 8 : Livraison
- [x] Vérifier toutes les fonctionnalités
- [x] Créer un checkpoint final
- [x] Présenter l'application à l'utilisateur
## Corrections à apporter
- [x] Corriger la mise à jour de la liste des apprenants après inscription
- [x] Implémenter l'envoi effectif des emails de confirmation
## Nouvelles fonctionnalités
- [x] Ajouter des filtres de tri sur la page des sessions (date, lieu, places restantes)
- [x] Ajouter des filtres de recherche sur la page des formations
- [x] Ajouter des filtres de recherche sur la page des apprenants
- [x] Ajouter des filtres complets sur la page de gestion des inscrits (recherche, statut, établissement, tri par date)
- [x] Ajouter le champ "Fonction" (Directeur, Chef de service, Autre) dans la fiche apprenant
- [x] Mettre à jour le schéma de base de données
- [x] Mettre à jour les formulaires d'inscription et de gestion
- [x] Ajouter la fonction dans les exports PDF/Excel
## Améliorations supplémentaires
- [x] Ajouter un filtre par fonction sur la page des apprenants
- [x] Ajouter un filtre par fonction sur la page des inscrits
- [x] Créer des statistiques de répartition par fonction sur le tableau de bord
- [x] Ajouter des graphiques de visualisation des données
- [x] Personnaliser les templates d'emails avec la fonction de l'apprenant
## Refonte : Sessions → Séquences avec dates multiples
- [x] Renommer "Session" en "Séquence" dans le schéma de base de données
- [x] Créer une table pour gérer jusqu'à 4 dates par séquence
- [x] Mettre à jour toutes les procédures tRPC pour utiliser "séquence"
- [x] Renommer toutes les interfaces et pages (AdminSessions → AdminSequences)
- [x] Adapter le formulaire de création/édition pour gérer 4 dates
- [x] Mettre à jour la page d'inscription pour afficher toutes les dates d'une séquence
- [x] Modifier la logique d'inscription pour inscrire à toutes les dates
- [x] Mettre à jour les exports PDF/Excel avec toutes les dates
- [x] Adapter les emails pour inclure toutes les dates de la séquence
- [x] Mettre à jour les invitations Outlook pour créer 4 événements si nécessaire
- [x] Renommer partout dans l'interface utilisateur (labels, titres, descriptions)
## Corrections urgentes
- [x] Corriger l'erreur React "Cannot update a component while rendering" dans Home.tsx