Checkpoint: Correction du bug React #31 dans le calendrier - Erreur lors du survol des vignettes de séquences

Corrections apportées:
- Utilisation de clés stables (format yyyy-MM-dd) au lieu de day.toISOString() pour éviter l'erreur React #31
- Gestion correcte des objets Date vs strings pour dateBloquage dans le modal
- Gestion correcte du champ formateur qui peut être un objet ou une string
- Ajout de clés uniques pour les dates de formation dans le modal

Le calendrier fonctionne maintenant sans erreur lors du survol et de l'ouverture des modals de détails.
This commit is contained in:
Manus Sandbox
2025-11-24 09:29:03 -05:00
parent 7a737c0593
commit 14aa8c5f21
20 changed files with 3611 additions and 4 deletions

View File

@@ -0,0 +1,245 @@
# Notes de version - Formation Manager Itinova
## Version 7a737c05 (24 novembre 2025)
### 🎉 Nouvelles fonctionnalités
#### Gestion des templates d'emails
- **Éditeur de texte riche (TipTap)** : Interface WYSIWYG complète pour formater les emails (gras, italique, titres, listes)
- **Variables dynamiques** : 7 boutons pour insérer rapidement des variables ({{nomApprenant}}, {{nomFormation}}, {{dateDebut}}, etc.)
- **Prévisualisation en temps réel** : Visualisation instantanée du rendu final pendant la modification
- **Bouton "Aperçu email"** : Modal affichant l'email complet avec variables remplacées par des données d'exemple
- **Remplacement automatique** : Les variables sont remplacées par les données réelles lors de l'envoi des emails
#### Tableau de bord analytique avancé
- **Graphiques d'évolution temporelle** : Visualisation des inscriptions par mois sur 12 mois
- **Taux de remplissage mensuel** : Graphique linéaire montrant l'évolution du taux de remplissage
- **Top 10 établissements** : Graphique à barres des établissements les plus actifs
- **Répartition par fonction** : Graphique circulaire (Directeurs, Chefs de service, Autre)
- **Filtres de période** : Sélection rapide (dernier mois, trimestre, année, toutes les données)
- **Export Excel** : Téléchargement d'un rapport complet avec 5 feuilles détaillées
#### Gestion des établissements
- **Page dédiée** : Liste complète de tous les établissements avec statistiques
- **Statistiques par établissement** : Nombre d'apprenants, apprenants actifs, taux de participation
- **Code couleur** : Indicateur visuel du taux de participation (vert >70%, orange 40-70%, rouge <40%)
- **Tri et recherche** : Filtrage rapide par nom d'établissement
#### Badges de statut des apprenants
- **Badge "Actif"** (vert) : Apprenant inscrit à au moins une séquence
- **Badge "Inactif"** (gris) : Apprenant sans inscription active
- **Colonne dédiée** : Nouvelle colonne dans le tableau des apprenants
### 🎨 Améliorations visuelles
#### Interface générale
- **Menu réorganisé** : 4 zones distinctes avec séparateurs et titres en bleu
- Zone 1 : Tableau de bord
- Zone 2 : Gestion (Formations, Séquences, Calendrier, Apprenants)
- Zone 3 : Configuration (Utilisateurs, Rappels, Templates d'emails, Configuration SMTP)
- Zone 4 : Analyses (Établissements, Tableau de bord analytique, Rapport public cible)
#### Gestion des séquences
- **Taux de remplissage coloré** : Vert (<70%), Orange (70-90%), Rouge (>90%)
- **Formations en couleur** : Chaque formation a une couleur unique (10 couleurs disponibles)
- **Icônes colorées** : Œil en bleu (visualisation), Corbeille en rouge (suppression)
#### Gestion des apprenants
- **Fonction en couleur** : Directeurs (bleu), Chefs de service (vert), Autre (gris)
- **Icônes colorées** : Œil en bleu, Corbeille en rouge
- **Badge de statut** : Actif/Inactif visible immédiatement
#### Tableau de bord principal
- **Graphique par établissement** : Ajout d'un second graphique à côté de la répartition par fonction
- **Cohérence des données** : Uniformisation des calculs entre tableau de bord principal et analytique
### 🐛 Corrections de bugs
- **Erreur calendrier** : Correction de l'erreur React #31 au clic sur un événement (objets Date convertis en string)
- **Menu invisible** : Ajout du wrapper DashboardLayout sur la page Établissements
- **Incohérence statistiques** : Uniformisation du calcul de répartition par fonction (comptage des apprenants uniques)
- **Couleurs formations** : Correction de l'algorithme pour assigner une couleur unique à chaque formation
### 📚 Documentation
- **Guide de déploiement complet** : Instructions détaillées pour déployer sur VPS (GUIDE_DEPLOIEMENT.md)
- **Script de déploiement** : Script bash automatisé pour installation initiale (deploy.sh)
- **Script de mise à jour** : Script simplifié pour les mises à jour rapides (update.sh)
- **Documentation de configuration** : Guide complet des variables d'environnement et paramètres (CONFIGURATION.md)
### 🔧 Améliorations techniques
- **React Quill remplacé par TipTap** : Compatibilité avec React 19
- **Recharts intégré** : Bibliothèque de graphiques pour le tableau de bord analytique
- **ExcelJS intégré** : Export Excel des rapports analytiques
- **Requêtes analytiques optimisées** : Nouvelles fonctions dans analyticsDb.ts et etablissementsDb.ts
### 📊 Statistiques de cette version
- **Nouvelles pages** : 2 (AdminAnalytics, AdminEtablissements)
- **Nouveaux composants** : 1 (CapacityProgressBar amélioré)
- **Nouvelles fonctions backend** : 15+ (analytics, établissements, templates)
- **Lignes de code ajoutées** : ~3000
- **Dépendances ajoutées** : 4 (@tiptap/react, @tiptap/starter-kit, recharts, exceljs)
---
## Versions précédentes
### Version 65a2d003 (23 novembre 2025)
#### Corrections
- Correction de l'erreur d'affichage au clic sur un événement du calendrier
- Correction du problème de menu invisible sur la page Établissements
### Version a0049436 (23 novembre 2025)
#### Nouvelles fonctionnalités
- Badges de statut Actif/Inactif pour les apprenants
- Page Établissements avec statistiques de participation
### Version 193ffd7e (23 novembre 2025)
#### Corrections
- Correction de l'algorithme de couleur des formations (mapping basé sur l'ordre)
### Version 9a38fc9d (23 novembre 2025)
#### Améliorations visuelles
- Icône corbeille en rouge et icône œil en bleu dans la page des apprenants
- Fonction colorée (Directeurs, Chefs de service) dans le tableau des apprenants
### Version d2bb185e (23 novembre 2025)
#### Améliorations visuelles
- Icône œil en bleu dans la gestion des séquences
- Texte des formations coloré avec une couleur unique par formation
### Version 41fc4874 (23 novembre 2025)
#### Améliorations visuelles
- Taux de remplissage coloré dans la gestion des séquences (vert/orange/rouge)
- Icône corbeille en rouge
### Version 3ec648f8 (23 novembre 2025)
#### Nouvelles fonctionnalités
- Graphique de répartition par établissement sur le tableau de bord principal
### Version a807183e (23 novembre 2025)
#### Corrections
- Correction de l'incohérence des statistiques de répartition par fonction
### Version 03efb59c (23 novembre 2025)
#### Nouvelles fonctionnalités
- Filtres de période dans le tableau de bord analytique
- Export Excel des rapports analytiques
### Version 64db3f1a (23 novembre 2025)
#### Nouvelles fonctionnalités
- Tableau de bord analytique avancé avec graphiques Recharts
### Version 33161d1a (23 novembre 2025)
#### Nouvelles fonctionnalités
- Remplacement automatique des variables dans les emails
- Bouton "Aperçu email" avec modal de prévisualisation
### Version 4e825dbf (23 novembre 2025)
#### Corrections
- Remplacement de React Quill par TipTap (compatibilité React 19)
### Version e16bdb22 (23 novembre 2025)
#### Nouvelles fonctionnalités
- Éditeur WYSIWYG (React Quill) pour les templates d'emails
- Boutons de variables dynamiques
### Version 3de0e393 (23 novembre 2025)
#### Améliorations
- Prévisualisation en temps réel du contenu des templates d'emails
### Version e4abeb5d (23 novembre 2025)
#### Nouvelles fonctionnalités
- Champ "Corps du message" dans les templates d'emails avec validation backend
### Version 62644d54 (23 novembre 2025)
#### Nouvelles fonctionnalités
- Champ "Corps du message" dans l'interface de gestion des templates d'emails
---
## Roadmap future
### Fonctionnalités planifiées
#### Court terme (1-2 mois)
- [ ] Système d'alertes automatiques configurables
- [ ] Export PDF des rapports analytiques
- [ ] Vue calendrier des séquences avec code couleur
- [ ] Filtre par formation dans le calendrier
- [ ] Recherche globale dans le header
- [ ] Badges de notification dans le menu
#### Moyen terme (3-6 mois)
- [ ] Système de tags pour formations et séquences
- [ ] Rapports mensuels automatiques par email
- [ ] Vue détaillée par établissement avec liste des apprenants
- [ ] Statistiques d'emails envoyés
- [ ] Templates d'emails prédéfinis
- [ ] Comparaison de périodes dans les analytics
#### Long terme (6-12 mois)
- [ ] API REST publique pour intégrations tierces
- [ ] Application mobile (React Native)
- [ ] Système de notifications push
- [ ] Intégration avec calendriers externes (Google Calendar, Outlook)
- [ ] Module de facturation et paiements
- [ ] Gestion multi-organisations
---
## Migration depuis une version antérieure
### Depuis la version 65a2d003 ou antérieure
1. Sauvegardez votre base de données
2. Mettez à jour le code : `git pull origin main && git checkout 7a737c05`
3. Installez les nouvelles dépendances : `pnpm install`
4. Appliquez les migrations : `pnpm db:push`
5. Recompilez : `pnpm run build`
6. Redémarrez le service : `sudo systemctl restart formation-manager`
**Nouvelles tables créées** : `alertes`
**Colonnes ajoutées** : `emailTemplates.bodyContent`
### Vérification post-migration
- [ ] Accès à la page Tableau de bord analytique
- [ ] Accès à la page Établissements
- [ ] Modification d'un template d'email avec le nouvel éditeur
- [ ] Export Excel depuis le tableau de bord analytique
- [ ] Vérification des badges de statut dans la liste des apprenants
---
## Support et contact
Pour toute question concernant cette version :
- **Documentation** : Consultez GUIDE_DEPLOIEMENT.md et CONFIGURATION.md
- **Support Manus** : https://help.manus.im
- **Contact développeur** : o.pareige@itinova.org
---
**Équipe de développement**
Manus AI - Formation Manager Itinova
© 2025 Itinova