# Formation Manager Itinova - Notes de Version **Version actuelle** : 9fffa8c7 **Date** : 25 novembre 2025 **Statut** : Production Ready --- ## 📋 Vue d'ensemble Application complĂšte de gestion des formations Manager Itinova avec systĂšme d'inscription en ligne, gestion administrative avancĂ©e, et automatisation des communications. --- ## ✹ FonctionnalitĂ©s Principales ### 🎓 Gestion des Formations - CrĂ©ation et gestion des formations avec liens d'inscription uniques - Configuration du public cible (Directeur, Chef de service, Tous, Autre) - Suivi du statut et des descriptions dĂ©taillĂ©es - Interface CRUD complĂšte avec filtres et recherche ### 📅 Gestion des SĂ©quences - Support de jusqu'Ă  4 dates par sĂ©quence de formation - Gestion des lieux, formateurs et capacitĂ© maximale (12 participants) - Statuts : Ouverte, BloquĂ©e, TerminĂ©e - Blocage automatique des inscriptions Ă  J-15 - Barre de progression colorĂ©e du taux de remplissage - Filtres avancĂ©s (formation, lieu, statut, public cible) - **Badge colorĂ©** pour le public cible ### 📆 Vue Calendrier - **Vue mensuelle** avec affichage des sĂ©quences par jour - **Vue hebdomadaire** avec dĂ©tails des sĂ©quences - **Vue journaliĂšre** pour une vision dĂ©taillĂ©e - Filtres par formation, lieu et public cible - **Export PDF** du calendrier mensuel - **Export iCal** pour partage avec formateurs (compatible Outlook/Google Calendar) - Code couleur par public cible - Navigation intuitive entre les pĂ©riodes ### đŸ‘„ Gestion des Apprenants - Fiche complĂšte (nom, prĂ©nom, email, Ă©tablissement, fonction) - Fonction : Directeur, Chef de service, Autre - Historique des inscriptions - Filtres par Ă©tablissement et fonction - Import/export des donnĂ©es ### 📝 SystĂšme d'Inscription Publique - Page d'inscription accessible via lien unique par formation - Affichage des sĂ©quences disponibles avec places restantes - Validation anti-double inscription - Blocage automatique Ă  J-15 - Liste d'attente si capacitĂ© maximale atteinte - **Alerte d'information** si le public cible ne correspond pas Ă  la fonction de l'apprenant ### 📧 Templates d'Emails Personnalisables - **Éditeur WYSIWYG** pour personnaliser les templates - Configuration du logo, couleurs primaire/secondaire - Templates disponibles : - Confirmation d'inscription - Rappel Ă  J-7 - Teaser pour chaque groupe - RĂ©initialisation de mot de passe - PrĂ©visualisation en temps rĂ©el - Variables dynamiques (nom, dates, lieu, etc.) ### ⚙ Configuration SMTP - Interface de configuration complĂšte - Support Resend API - Mode simulation/production - Test d'envoi immĂ©diat avec feedback - Validation de domaine - Gestion sĂ©curisĂ©e des clĂ©s API ### 📊 Exports et Rapports - **Export Excel** des listes d'inscrits - **Export PDF** des listes d'inscrits - **Feuilles de prĂ©sence PDF** (nom, prĂ©nom, Ă©tablissement, fonction) - **Invitations Outlook (.ics)** avec statut "occupĂ©" et lieu - **Rapport d'analyse** : Public cible vs Fonction des apprenants - **Tableau de bord analytique** avec graphiques interactifs ### đŸ‘€ Gestion des Utilisateurs - RĂŽles : Admin, Utilisateur - Activation/dĂ©sactivation des comptes - RĂ©initialisation de mot de passe par email - Filtres de recherche (nom, email, rĂŽle, statut) - Authentification locale (sans OAuth Manus) ### 🔔 SystĂšme de Rappels - Configuration des rappels automatiques - DĂ©clenchement Ă  J-7, J-1 ou dates personnalisĂ©es - Envoi par email aux apprenants inscrits - Gestion des templates de rappel ### 🏱 Analyses et Statistiques - **Tableau de bord** avec indicateurs clĂ©s - **RĂ©partition par fonction** (graphique circulaire) - **RĂ©partition par Ă©tablissement** (top 10) - **Rapport Public Cible** : analyse des Ă©carts entre public cible et fonction rĂ©elle - Statistiques de remplissage des sĂ©quences - Suivi des inscriptions en temps rĂ©el --- ## đŸ› ïž Technologies UtilisĂ©es ### Frontend - **React 19** avec TypeScript - **Tailwind CSS 4** pour le styling - **shadcn/ui** pour les composants - **Wouter** pour le routing - **TanStack Query** pour la gestion d'Ă©tat - **Recharts** pour les graphiques - **date-fns** pour la gestion des dates ### Backend - **Express 4** avec TypeScript - **tRPC 11** pour l'API type-safe - **Drizzle ORM** pour la base de donnĂ©es - **MySQL/TiDB** comme base de donnĂ©es - **Zod** pour la validation - **Superjson** pour la sĂ©rialisation ### Services - **Resend** pour l'envoi d'emails - **JWT** pour l'authentification - **bcrypt** pour le hachage des mots de passe --- ## 📩 Structure du Projet ``` formation-manager-itinova/ ├── client/ # Application React frontend │ ├── src/ │ │ ├── pages/ # Pages de l'application │ │ ├── components/ # Composants rĂ©utilisables │ │ ├── contexts/ # Contextes React │ │ └── lib/ # Utilitaires et configuration │ └── public/ # Assets statiques ├── server/ # Application Express backend │ ├── routers.ts # Routes tRPC │ ├── db.ts # Fonctions base de donnĂ©es │ └── _core/ # Infrastructure ├── drizzle/ # SchĂ©ma et migrations DB ├── shared/ # Types et constantes partagĂ©s └── deployment-package/ # Scripts de dĂ©ploiement ``` --- ## 🔧 Configuration Requise ### Variables d'Environnement SystĂšme - `DATABASE_URL` : Connexion MySQL/TiDB - `JWT_SECRET` : Secret pour les tokens JWT - `VITE_APP_TITLE` : Titre de l'application - `VITE_APP_LOGO` : URL du logo ### Configuration SMTP (via interface) - API Key Resend - Email expĂ©diteur vĂ©rifiĂ© - Mode simulation/production --- ## 🚀 DĂ©ploiement ### PrĂ©requis - Node.js 22.x - MySQL 8.x ou TiDB - Serveur avec Nginx (recommandĂ©) ### Installation ```bash # 1. Extraire l'archive tar -xzf formation-manager-backup-YYYYMMDD-HHMMSS.tar.gz cd formation-manager-itinova # 2. Installer les dĂ©pendances pnpm install # 3. Configurer les variables d'environnement cp .env.example .env # Éditer .env avec vos valeurs # 4. Initialiser la base de donnĂ©es pnpm db:push # 5. DĂ©marrer l'application pnpm dev # DĂ©veloppement pnpm build # Production pnpm start # Serveur production ``` ### Scripts de DĂ©ploiement - `deploy.sh` : Installation complĂšte automatisĂ©e - `update.sh` : Mise Ă  jour rapide --- ## 📝 DerniĂšres Corrections (Version 9fffa8c7) ### Bug CorrigĂ© : Public Cible "Tous" - ✅ Ajout de "tous" dans l'enum publicCible du schĂ©ma - ✅ Mise Ă  jour des validations Zod - ✅ Modification de la colonne en base de donnĂ©es - ✅ Test rĂ©ussi de crĂ©ation/modification avec "Tous" ### AmĂ©liorations Calendrier (Version 625cbedf) - ✅ Filtres dynamiques (formation, lieu, public cible) - ✅ Vues multiples (mois, semaine, jour) - ✅ Export PDF et iCal - ✅ Navigation adaptative selon la vue ### Correction Affichage (Version 14aa8c5f) - ✅ RĂ©solution de l'erreur React #31 au survol des vignettes - ✅ Gestion robuste des types Date/string - ✅ ClĂ©s React stables pour Ă©viter les re-renders --- ## 🔐 SĂ©curitĂ© - Authentification JWT avec tokens sĂ©curisĂ©s - Mots de passe hachĂ©s avec bcrypt - Protection CSRF sur toutes les routes - Validation des entrĂ©es avec Zod - Gestion des rĂŽles (admin/utilisateur) - Tokens de rĂ©initialisation avec expiration --- ## 📖 Documentation ComplĂšte - `GUIDE_DEPLOIEMENT.md` : Guide d'installation pas Ă  pas - `CONFIGURATION.md` : Documentation des variables d'environnement - `RELEASE_NOTES.md` : Notes de version dĂ©taillĂ©es - `README.md` : Vue d'ensemble du projet --- ## 🎯 Prochaines Évolutions SuggĂ©rĂ©es 1. **Page Établissements** : Interface de gestion avec statistiques 2. **Tableau de bord formateurs** : Vue dĂ©diĂ©e aux formateurs 3. **Notifications automatiques** : Rappels Ă  J-7 et J-1 4. **Drag & drop calendrier** : DĂ©placer les sĂ©quences visuellement 5. **Vue imprimable optimisĂ©e** : PDF personnalisĂ© avec logo et filtres --- ## 📞 Support - **Email** : o.pareige@itinova.org - **Documentation** : Consultez les fichiers PDF inclus - **Support Manus** : https://help.manus.im --- **DĂ©veloppĂ© avec ❀ pour Itinova**