5.6 KiB
Gestion des Formations Manager Itinova - TODO
Phase 1 : Planification et initialisation
- Initialiser le projet avec architecture full-stack
- Créer le plan de développement
- Créer le fichier todo.md
Phase 2 : Modèle de données
- Créer la table des formations (nom, description, lien unique)
- Créer la table des sessions (dates, lieu, capacité max 12, statut blocage J-15)
- Créer la table des inscriptions (apprenant, session, statut)
- Créer la table des apprenants (nom, prénom, email, code établissement)
- Implémenter les relations entre tables
- Ajouter les contraintes d'unicité pour éviter les doubles inscriptions
Phase 3 : Interface d'administration
- Créer le dashboard administrateur avec navigation
- Créer l'interface de gestion des formations (CRUD)
- Créer l'interface de gestion des sessions (CRUD)
- Créer l'interface de gestion des apprenants (CRUD)
- Afficher les listes d'inscrits par session
- Implémenter la gestion des rôles (admin DRH, responsable, stagiaire)
Phase 4 : Système d'inscription
- Créer la page d'inscription publique avec lien unique par formation
- Implémenter la validation de capacité maximale (12 participants)
- Implémenter la validation anti-double inscription
- Implémenter le blocage des inscriptions/désinscriptions à J-15
- Créer le système de liste d'attente si session complète
- Afficher les sessions disponibles avec places restantes
Phase 5 : Invitations et emails automatiques
- Implémenter la génération d'invitations Outlook (.ics) avec statut " occupé "
- Inclure le lieu de formation dans les invitations
- Créer le système d'envoi d'emails automatiques
- Créer le template email de confirmation d'inscription
- Créer le template email teaser pour chaque groupe
- Créer le template email de rappel à J-7
- Implémenter l'envoi automatique des emails selon les événements
Phase 6 : Exports
- Implémenter l'export Excel des listes d'inscrits par session
- Implémenter l'export PDF des listes d'inscrits par session
- Créer la génération de feuille de présence PDF (nom, prénom, code établissement)
- Ajouter les boutons d'export dans l'interface admin
Phase 7 : Tests et documentation
- Tester le flux complet d'inscription
- Tester les validations et contraintes
- Tester la génération des invitations et emails
- Tester les exports PDF/Excel
- Créer la documentation utilisateur
- Créer la documentation d'administration
P## Phase 8 : Livraison
- Vérifier toutes les fonctionnalités
- Créer un checkpoint final
- Présenter l'application à l'utilisateur
Corrections à apporter
- Corriger la mise à jour de la liste des apprenants après inscription
- Implémenter l'envoi effectif des emails de confirmation
Nouvelles fonctionnalités
-
Ajouter des filtres de tri sur la page des sessions (date, lieu, places restantes)
-
Ajouter des filtres de recherche sur la page des formations
-
Ajouter des filtres de recherche sur la page des apprenants
-
Ajouter des filtres complets sur la page de gestion des inscrits (recherche, statut, établissement, tri par date)
-
Ajouter le champ "Fonction" (Directeur, Chef de service, Autre) dans la fiche apprenant
-
Mettre à jour le schéma de base de données
-
Mettre à jour les formulaires d'inscription et de gestion
-
Ajouter la fonction dans les exports PDF/Excel
Améliorations supplémentaires
- Ajouter un filtre par fonction sur la page des apprenants
- Ajouter un filtre par fonction sur la page des inscrits
- Créer des statistiques de répartition par fonction sur le tableau de bord
- Ajouter des graphiques de visualisation des données
- Personnaliser les templates d'emails avec la fonction de l'apprenant
Refonte : Sessions → Séquences avec dates multiples
- Renommer "Session" en "Séquence" dans le schéma de base de données
- Créer une table pour gérer jusqu'à 4 dates par séquence
- Mettre à jour toutes les procédures tRPC pour utiliser "séquence"
- Renommer toutes les interfaces et pages (AdminSessions → AdminSequences)
- Adapter le formulaire de création/édition pour gérer 4 dates
- Mettre à jour la page d'inscription pour afficher toutes les dates d'une séquence
- Modifier la logique d'inscription pour inscrire à toutes les dates
- Mettre à jour les exports PDF/Excel avec toutes les dates
- Adapter les emails pour inclure toutes les dates de la séquence
- Mettre à jour les invitations Outlook pour créer 4 événements si nécessaire
- Renommer partout dans l'interface utilisateur (labels, titres, descriptions)
Corrections urgentes
-
Corriger l'erreur React "Cannot update a component while rendering" dans Home.tsx
-
Corriger le bug de modification des horaires des séquences
-
Corriger le décalage d'une heure lors de l'enregistrement des dates (15h00 saisi devient 16h00 en base)
-
Corriger la mise à jour du nombre d'inscrits sur la page d'inscription publique
-
Corriger le décalage d'une heure entre la saisie et l'affichage des dates de séquences
-
Corriger le décalage d'une heure à l'affichage des dates (problème de formatage lors de la récupération)
-
Corriger les fonctions formatDate pour gérer les objets Date JavaScript en plus des chaînes MySQL
-
Forcer le fuseau horaire Europe/Paris dans la connexion MySQL pour éliminer le décalage d'une heure
-
Corriger le décalage horaire persistant dans parseLocalDateTime (09:48 envoyé devient 10:48 en base)