# 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
