Rollback to 9d67724e
This commit is contained in:
285
DOCUMENTATION.md
Normal file
285
DOCUMENTATION.md
Normal file
@@ -0,0 +1,285 @@
|
||||
# Documentation - Gestion des Formations Manager Itinova
|
||||
|
||||
## Vue d'ensemble
|
||||
|
||||
L'application **Gestion des Formations Manager Itinova** est une solution complète développée pour gérer l'organisation interne des formations destinées à environ 150 apprenants entre février et octobre 2026, puis 3 sessions par an. Elle permet à la DRH (assistante formation, responsable Développement RH) et à la Directrice Qualité et Transformation de gérer efficacement les inscriptions, les sessions, et les communications automatisées.
|
||||
|
||||
## Fonctionnalités principales
|
||||
|
||||
### 1. Gestion des formations
|
||||
|
||||
L'application permet de créer et gérer plusieurs formations en parallèle. Chaque formation dispose d'un lien unique d'inscription qui peut être partagé avec les apprenants.
|
||||
|
||||
**Caractéristiques :**
|
||||
- Création de formations avec nom, description et lien unique personnalisé
|
||||
- Activation/désactivation des formations
|
||||
- Génération automatique de liens d'inscription distincts pour chaque formation
|
||||
|
||||
### 2. Gestion des sessions
|
||||
|
||||
Les sessions sont les instances concrètes d'une formation avec des dates, un lieu et une capacité définis.
|
||||
|
||||
**Caractéristiques :**
|
||||
- Création de sessions avec dates de début et fin
|
||||
- Définition du lieu de formation
|
||||
- Capacité maximale fixée à 12 participants par session
|
||||
- Date de blocage automatique à J-15 avant le début de la session
|
||||
- Statuts de session : ouverte, bloquée, terminée
|
||||
|
||||
### 3. Gestion des apprenants
|
||||
|
||||
L'application maintient une base de données des apprenants avec leurs informations essentielles.
|
||||
|
||||
**Informations collectées :**
|
||||
- Nom et prénom
|
||||
- Email professionnel
|
||||
- Code établissement
|
||||
|
||||
### 4. Système d'inscription
|
||||
|
||||
Les apprenants peuvent s'inscrire via un lien unique propre à chaque formation. Le système applique automatiquement toutes les contraintes définies.
|
||||
|
||||
**Validations automatiques :**
|
||||
- Vérification de la capacité maximale (12 participants)
|
||||
- Prévention des doubles inscriptions
|
||||
- Blocage des inscriptions et désinscriptions à J-15
|
||||
- Gestion automatique de la liste d'attente si la session est complète
|
||||
|
||||
### 5. Invitations et communications automatiques
|
||||
|
||||
Dès qu'un apprenant s'inscrit, le système génère et envoie automatiquement une invitation Outlook avec tous les détails de la formation.
|
||||
|
||||
**Fonctionnalités d'envoi :**
|
||||
- **Email de confirmation** : envoyé immédiatement après l'inscription avec invitation Outlook (.ics) en pièce jointe
|
||||
- **Invitation Outlook** : fichier .ics avec statut "occupé" incluant le lieu de formation
|
||||
- **Email teaser** : peut être envoyé manuellement par les administrateurs à tous les inscrits d'une session
|
||||
- **Email de rappel J-7** : peut être envoyé manuellement 7 jours avant la formation
|
||||
|
||||
### 6. Exports et feuilles de présence
|
||||
|
||||
Les administrateurs peuvent exporter les listes d'inscrits dans différents formats pour faciliter la gestion administrative.
|
||||
|
||||
**Formats disponibles :**
|
||||
- **Export Excel** : liste complète des inscrits avec toutes leurs informations
|
||||
- **Export PDF** : liste des inscrits au format PDF
|
||||
- **Feuille de présence PDF** : document prêt à imprimer avec nom, prénom, code établissement et colonne signature
|
||||
|
||||
## Guide d'utilisation
|
||||
|
||||
### Pour les administrateurs
|
||||
|
||||
#### Connexion
|
||||
|
||||
1. Accédez à l'application via l'URL fournie
|
||||
2. Cliquez sur "Se connecter"
|
||||
3. Utilisez vos identifiants Manus OAuth
|
||||
4. Vous serez redirigé vers le tableau de bord administrateur
|
||||
|
||||
#### Créer une formation
|
||||
|
||||
1. Dans le menu latéral, cliquez sur **Formations**
|
||||
2. Cliquez sur le bouton **Nouvelle formation**
|
||||
3. Remplissez les informations :
|
||||
- Nom de la formation (ex: "Manager Itinova")
|
||||
- Description (optionnelle)
|
||||
- Lien unique (ex: "manager-itinova-2026")
|
||||
- Cochez "Formation active" pour la rendre disponible
|
||||
4. Cliquez sur **Créer**
|
||||
5. Le lien d'inscription sera généré automatiquement : `/inscription/[votre-lien-unique]`
|
||||
|
||||
#### Créer une session
|
||||
|
||||
1. Dans le menu latéral, cliquez sur **Sessions**
|
||||
2. Cliquez sur le bouton **Nouvelle session**
|
||||
3. Remplissez les informations :
|
||||
- Sélectionnez la formation associée
|
||||
- Nom de la session (ex: "Session 1 - Février 2026")
|
||||
- Date et heure de début
|
||||
- Date et heure de fin
|
||||
- Lieu de la formation (sera inclus dans l'invitation Outlook)
|
||||
- Capacité maximale (par défaut 12)
|
||||
- Date de blocage (J-15 avant le début)
|
||||
- Statut (ouverte, bloquée, terminée)
|
||||
4. Cliquez sur **Créer**
|
||||
|
||||
#### Gérer les inscriptions
|
||||
|
||||
1. Dans le menu **Sessions**, cliquez sur l'icône **Utilisateurs** à côté d'une session
|
||||
2. Vous verrez :
|
||||
- Le nombre de places confirmées sur la capacité totale
|
||||
- Le nombre de personnes en liste d'attente
|
||||
- La liste complète des inscrits avec leurs informations
|
||||
3. Actions disponibles :
|
||||
- Modifier le statut d'une inscription (confirmée, liste d'attente, annulée)
|
||||
- Exporter la liste en Excel ou PDF
|
||||
- Générer une feuille de présence
|
||||
- Envoyer des emails groupés (teaser ou rappel J-7)
|
||||
|
||||
#### Envoyer des emails groupés
|
||||
|
||||
1. Accédez à la page des inscrits d'une session
|
||||
2. Cliquez sur **Envoyer teaser** pour envoyer un email d'introduction à tous les inscrits confirmés
|
||||
3. Cliquez sur **Envoyer rappel J-7** pour envoyer un rappel 7 jours avant la formation
|
||||
4. Un message de confirmation indiquera le nombre d'emails envoyés avec succès
|
||||
|
||||
#### Exporter les données
|
||||
|
||||
1. Accédez à la page des inscrits d'une session
|
||||
2. Cliquez sur :
|
||||
- **Exporter Excel** : télécharge un fichier .xlsx avec toutes les informations
|
||||
- **Exporter PDF** : télécharge un fichier PDF avec la liste des inscrits
|
||||
- **Feuille de présence** : télécharge un PDF prêt à imprimer pour la signature des participants
|
||||
|
||||
### Pour les apprenants
|
||||
|
||||
#### S'inscrire à une formation
|
||||
|
||||
1. Cliquez sur le lien d'inscription fourni par la DRH (ex: `https://[domaine]/inscription/manager-itinova-2026`)
|
||||
2. Consultez les sessions disponibles avec :
|
||||
- Les dates et horaires
|
||||
- Le lieu de formation
|
||||
- Le nombre de places disponibles
|
||||
- Le statut (disponible, complète, fermée)
|
||||
3. Sélectionnez la session souhaitée en cliquant dessus
|
||||
4. Remplissez vos informations :
|
||||
- Nom
|
||||
- Prénom
|
||||
- Email professionnel
|
||||
- Code établissement
|
||||
5. Cliquez sur **Confirmer mon inscription**
|
||||
6. Vous recevrez immédiatement :
|
||||
- Un email de confirmation
|
||||
- Une invitation Outlook (.ics) à ajouter à votre calendrier
|
||||
|
||||
#### Que se passe-t-il après l'inscription ?
|
||||
|
||||
- **Si votre inscription est confirmée** : vous recevrez une invitation Outlook qui bloquera automatiquement votre agenda avec le statut "occupé"
|
||||
- **Si la session est complète** : vous serez placé en liste d'attente et contacté si une place se libère
|
||||
- **15 jours avant la formation** : les inscriptions et désinscriptions seront bloquées
|
||||
- **7 jours avant la formation** : vous recevrez un email de rappel avec tous les détails pratiques
|
||||
|
||||
## Gestion des rôles et permissions
|
||||
|
||||
L'application utilise un système de rôles pour contrôler l'accès aux fonctionnalités :
|
||||
|
||||
### Rôle Administrateur
|
||||
|
||||
Accordé aux membres de la DRH (assistante formation, responsable Développement RH, Directrice Qualité et Transformation, stagiaire).
|
||||
|
||||
**Permissions :**
|
||||
- Accès complet au tableau de bord administrateur
|
||||
- Création, modification et suppression de formations
|
||||
- Création, modification et suppression de sessions
|
||||
- Gestion des apprenants
|
||||
- Consultation et modification des inscriptions
|
||||
- Envoi d'emails groupés
|
||||
- Export des données
|
||||
|
||||
### Rôle Utilisateur
|
||||
|
||||
Les apprenants qui s'inscrivent via le lien public.
|
||||
|
||||
**Permissions :**
|
||||
- Accès au formulaire d'inscription public
|
||||
- Consultation des sessions disponibles
|
||||
- Inscription à une session (dans les limites définies)
|
||||
|
||||
## Contraintes et règles métier
|
||||
|
||||
### Capacité des sessions
|
||||
|
||||
Chaque session est limitée à **12 participants maximum**. Au-delà, les apprenants sont automatiquement placés en liste d'attente.
|
||||
|
||||
### Blocage à J-15
|
||||
|
||||
Les inscriptions et désinscriptions sont automatiquement bloquées **15 jours avant le début de la session**. Cette règle garantit la stabilité des groupes et évite les désistements de dernière minute.
|
||||
|
||||
### Prévention des doubles inscriptions
|
||||
|
||||
Le système empêche un apprenant de s'inscrire plusieurs fois à la même session. Si l'apprenant existe déjà dans la base de données (même email), ses informations sont réutilisées.
|
||||
|
||||
### Statuts des inscriptions
|
||||
|
||||
- **Confirmée** : l'apprenant a une place garantie dans la session
|
||||
- **Liste d'attente** : la session est complète, l'apprenant sera contacté si une place se libère
|
||||
- **Annulée** : l'inscription a été annulée par l'apprenant ou l'administrateur
|
||||
|
||||
## Architecture technique
|
||||
|
||||
### Technologies utilisées
|
||||
|
||||
L'application est construite avec une architecture moderne full-stack :
|
||||
|
||||
**Frontend :**
|
||||
- React 19 avec TypeScript
|
||||
- Tailwind CSS 4 pour le design
|
||||
- tRPC pour la communication type-safe avec le backend
|
||||
- Wouter pour le routage
|
||||
- shadcn/ui pour les composants d'interface
|
||||
|
||||
**Backend :**
|
||||
- Node.js avec Express
|
||||
- tRPC pour les API type-safe
|
||||
- Drizzle ORM pour l'accès à la base de données
|
||||
- MySQL/TiDB comme base de données
|
||||
|
||||
**Fonctionnalités :**
|
||||
- Génération de fichiers ICS (iCalendar) pour Outlook
|
||||
- Export Excel avec xlsx
|
||||
- Export PDF avec jsPDF
|
||||
- Système d'emails automatisés
|
||||
|
||||
### Base de données
|
||||
|
||||
Le schéma de base de données comprend 5 tables principales :
|
||||
|
||||
1. **users** : utilisateurs authentifiés (administrateurs)
|
||||
2. **formations** : catalogue des formations
|
||||
3. **sessions** : instances de formations avec dates et lieux
|
||||
4. **apprenants** : base de données des participants
|
||||
5. **inscriptions** : relation entre apprenants et sessions avec statuts
|
||||
|
||||
## Confidentialité et sécurité
|
||||
|
||||
L'application respecte les principes de confidentialité des données :
|
||||
|
||||
- **Authentification sécurisée** : via Manus OAuth pour les administrateurs
|
||||
- **Contrôle d'accès** : seuls les administrateurs peuvent accéder aux données sensibles
|
||||
- **Protection des données** : les informations personnelles des apprenants sont stockées de manière sécurisée
|
||||
- **Emails professionnels** : seuls les emails professionnels sont collectés
|
||||
|
||||
## Support et maintenance
|
||||
|
||||
### Contact
|
||||
|
||||
Pour toute question ou problème technique, contactez le service RH ou l'équipe de développement.
|
||||
|
||||
### Évolutions futures
|
||||
|
||||
L'application est conçue pour être évolutive. Des fonctionnalités supplémentaires peuvent être ajoutées selon les besoins :
|
||||
|
||||
- Intégration avec un vrai service SMTP pour l'envoi d'emails
|
||||
- Tableau de bord analytique avec statistiques de participation
|
||||
- Système de notation et d'évaluation post-formation
|
||||
- Gestion des formateurs et de leurs disponibilités
|
||||
- Notifications push pour les rappels
|
||||
|
||||
## Notes importantes
|
||||
|
||||
### Emails simulés
|
||||
|
||||
Dans la version actuelle, les emails sont **simulés** et affichés dans les logs du serveur. Pour une utilisation en production, il est nécessaire d'intégrer un service SMTP réel (comme SendGrid, Mailgun, ou un serveur SMTP d'entreprise).
|
||||
|
||||
### Personnalisation
|
||||
|
||||
Les templates d'emails peuvent être personnalisés dans le fichier `server/emailService.ts` pour correspondre à la charte graphique de l'entreprise.
|
||||
|
||||
### Sauvegarde des données
|
||||
|
||||
Il est recommandé de mettre en place une stratégie de sauvegarde régulière de la base de données pour prévenir toute perte de données.
|
||||
|
||||
---
|
||||
|
||||
**Version de la documentation :** 1.0
|
||||
**Date de dernière mise à jour :** 2026-01-17
|
||||
**Auteur :** Manus AI
|
||||
Reference in New Issue
Block a user