Checkpoint: Ajout de la fonctionnalité d'import Excel pour créer des formations et séquences en masse. Inclut le template Excel, la logique backend de parsing et validation, l'interface frontend avec prévisualisation, et la documentation utilisateur complète.

This commit is contained in:
Manus Sandbox
2025-11-25 05:49:13 -05:00
parent 9fffa8c773
commit f5dfb20e9a
10 changed files with 1514 additions and 1 deletions

320
GUIDE_IMPORT_EXCEL.md Normal file
View File

@@ -0,0 +1,320 @@
# Guide d'Import Excel - Formations et Séquences
## Vue d'ensemble
La fonctionnalité d'import Excel permet de créer plusieurs formations et séquences en une seule opération à partir d'un fichier Excel. Cela facilite grandement la saisie initiale des données ou les mises à jour massives.
---
## Accès à la Fonctionnalité
Dans le menu de navigation, cliquez sur **Gestion** > **Import Excel**.
---
## Étapes d'Import
### 1. Télécharger le Template Excel
Cliquez sur le bouton **"Télécharger le template"** pour obtenir le fichier Excel pré-formaté.
Le template contient deux feuilles :
- **Formations** : Pour créer les formations
- **Séquences** : Pour créer les séquences liées aux formations
Chaque feuille contient :
- Des en-têtes de colonnes
- Des exemples de données
- Des instructions détaillées en bas de feuille
### 2. Remplir le Fichier Excel
#### Feuille "Formations"
| Colonne | Description | Obligatoire | Valeurs possibles |
|---------|-------------|-------------|-------------------|
| Nom de la formation | Nom unique de la formation | ✅ Oui | Texte libre |
| Description | Description détaillée | ✅ Oui | Texte libre |
| Public cible | Public visé par la formation | ✅ Oui | `directeur`, `chef_service`, `tous`, `autre` |
**Exemple** :
```
Nom de la formation | Description | Public cible
Formation manager Itinova | Formation complète pour les managers | directeur
Formation Leadership | Développer ses compétences en leadership | chef_service
Formation Gestion du temps | Optimiser son organisation quotidienne | tous
```
#### Feuille "Séquences"
| Colonne | Description | Obligatoire | Format |
|---------|-------------|-------------|--------|
| Formation (nom exact) | Nom de la formation (doit exister dans la feuille Formations) | ✅ Oui | Texte exact |
| Nom de la séquence | Nom unique de la séquence | ✅ Oui | Texte libre |
| Lieu | Lieu de la formation | ✅ Oui | Texte libre |
| Public cible | Public visé | ✅ Oui | `directeur`, `chef_service`, `tous`, `autre` |
| Capacité max | Nombre maximum de participants | ✅ Oui | Nombre (12 par défaut) |
| Date blocage (J-15) | Date de blocage des inscriptions | ✅ Oui | `YYYY-MM-DD HH:MM` |
| Statut | Statut de la séquence | ✅ Oui | `ouverte`, `bloquee`, `terminee` |
| Date 1 - Début | Première date de début | ✅ Oui | `YYYY-MM-DD HH:MM` |
| Date 1 - Fin | Première date de fin | ✅ Oui | `YYYY-MM-DD HH:MM` |
| Date 2 - Début | Deuxième date de début (optionnel) | ❌ Non | `YYYY-MM-DD HH:MM` |
| Date 2 - Fin | Deuxième date de fin (optionnel) | ❌ Non | `YYYY-MM-DD HH:MM` |
| Date 3 - Début | Troisième date de début (optionnel) | ❌ Non | `YYYY-MM-DD HH:MM` |
| Date 3 - Fin | Troisième date de fin (optionnel) | ❌ Non | `YYYY-MM-DD HH:MM` |
| Date 4 - Début | Quatrième date de début (optionnel) | ❌ Non | `YYYY-MM-DD HH:MM` |
| Date 4 - Fin | Quatrième date de fin (optionnel) | ❌ Non | `YYYY-MM-DD HH:MM` |
**Exemple** :
```
Formation | Nom séquence | Lieu | Public cible | Capacité | Date blocage | Statut | Date 1 Début | Date 1 Fin
Formation manager... | Groupe A - Janvier | Siège - grande salle| directeur | 12 | 2026-01-05 10:00 | ouverte | 2026-01-20 09:00| 2026-01-20 17:00
```
### 3. Importer le Fichier
1. Cliquez sur **"Choisir un fichier"**
2. Sélectionnez votre fichier Excel rempli
3. Une **prévisualisation** s'affiche automatiquement
La prévisualisation montre :
- ✅ Les formations qui seront créées
- ✅ Les séquences qui seront créées
- ⚠️ Les avertissements (si présents)
- ❌ Les erreurs (si présentes)
4. Si tout est correct, cliquez sur **"Importer les données"**
5. Un message de confirmation affiche le nombre de formations et séquences créées
---
## Validation des Données
Le système effectue plusieurs validations avant l'import :
### Validations des Formations
- ✅ Le nom est obligatoire et non vide
- ✅ La description est obligatoire et non vide
- ✅ Le public cible doit être : `directeur`, `chef_service`, `tous` ou `autre`
### Validations des Séquences
- ✅ Le nom de la formation doit correspondre EXACTEMENT à une formation de la feuille "Formations"
- ✅ Le nom de la séquence est obligatoire
- ✅ Le lieu est obligatoire
- ✅ Le public cible doit être valide
- ✅ La date de blocage est obligatoire et au bon format
- ✅ Le statut doit être : `ouverte`, `bloquee` ou `terminee`
- ✅ Au moins une date (Date 1) est obligatoire
- ⚠️ Maximum 4 dates autorisées (les dates supplémentaires sont ignorées)
### Messages d'Erreur
Si des erreurs sont détectées, elles s'affichent avec le numéro de ligne concerné :
**Exemples** :
- `Formation ligne 3: Le nom est obligatoire`
- `Séquence ligne 5: Formation "Formation XYZ" non trouvée dans la feuille Formations`
- `Séquence ligne 7: Public cible invalide (directeure)`
**Important** : L'import est bloqué tant qu'il reste des erreurs. Corrigez-les dans le fichier Excel et réimportez.
### Messages d'Avertissement
Les avertissements n'empêchent pas l'import mais signalent des points d'attention :
**Exemples** :
- `Séquence ligne 8: Maximum 4 dates autorisées, les dates supplémentaires seront ignorées`
---
## Conseils et Bonnes Pratiques
### Format des Dates
**Format correct** : `2026-01-20 09:00`
- Année sur 4 chiffres
- Mois sur 2 chiffres (01-12)
- Jour sur 2 chiffres (01-31)
- Heure sur 2 chiffres (00-23)
- Minutes sur 2 chiffres (00-59)
**Formats incorrects** :
- `20/01/2026 09:00` (format français)
- `01-20-2026 9:00` (format américain)
- `2026-1-20 9:0` (chiffres manquants)
### Correspondance Formations-Séquences
Le nom de la formation dans la feuille "Séquences" doit correspondre **EXACTEMENT** au nom dans la feuille "Formations" :
**Correct** :
- Formations : `Formation manager Itinova`
- Séquences : `Formation manager Itinova`
**Incorrect** :
- Formations : `Formation manager Itinova`
- Séquences : `Formation Manager Itinova` (majuscule différente)
- Séquences : `Formation manager` (nom tronqué)
**Astuce** : Utilisez le copier-coller pour éviter les erreurs de frappe.
### Public Cible
Les valeurs acceptées (insensibles à la casse) :
- `directeur`
- `chef_service` ou `chef de service`
- `tous`
- `autre`
### Capacité Maximale
- Valeur par défaut : **12 participants**
- Peut être modifiée selon vos besoins
- Doit être un nombre entier positif
### Dates Multiples
- Minimum : **1 date** (Date 1 obligatoire)
- Maximum : **4 dates**
- Laissez les colonnes vides pour les dates non utilisées
- Les dates doivent être dans l'ordre chronologique (recommandé mais non obligatoire)
---
## Exemples Complets
### Exemple 1 : Formation Simple avec 1 Date
**Feuille Formations** :
```
Nom de la formation | Description | Public cible
Initiation Excel | Formation de base sur Excel | tous
```
**Feuille Séquences** :
```
Formation | Nom séquence | Lieu | Public | Capacité | Date blocage | Statut | Date 1 Début | Date 1 Fin
Initiation Excel | Session Mars | Salle A | tous | 15 | 2026-03-01 10:00 | ouverte | 2026-03-16 09:00| 2026-03-16 17:00
```
### Exemple 2 : Formation avec 4 Dates
**Feuille Formations** :
```
Nom de la formation | Description | Public cible
Formation manager Itinova | Formation complète pour les managers | directeur
```
**Feuille Séquences** :
```
Formation | Nom séquence | Lieu | Public | Capacité | Date blocage | Statut | Date 1 Début | Date 1 Fin | Date 2 Début | Date 2 Fin | Date 3 Début | Date 3 Fin | Date 4 Début | Date 4 Fin
Formation manager Itinova | Groupe A | Siège - grande salle| directeur | 12 | 2026-01-05 10:00 | ouverte | 2026-01-20 09:00| 2026-01-20 17:00| 2026-01-27 09:00| 2026-01-27 17:00| 2026-02-03 09:00| 2026-02-03 17:00| 2026-02-10 09:00| 2026-02-10 17:00
```
### Exemple 3 : Import Multiple
**Feuille Formations** :
```
Nom de la formation | Description | Public cible
Formation manager Itinova | Formation complète pour les managers | directeur
Formation Leadership | Développer ses compétences en leadership | chef_service
Formation Gestion du temps | Optimiser son organisation quotidienne | tous
```
**Feuille Séquences** :
```
Formation | Nom séquence | Lieu | Public | Capacité | Date blocage | Statut | Date 1 Début | Date 1 Fin
Formation manager Itinova | Groupe A - Janvier | Salle A | directeur | 12 | 2026-01-05 10:00 | ouverte | 2026-01-20 09:00| 2026-01-20 17:00
Formation manager Itinova | Groupe B - Février | Salle A | directeur | 12 | 2026-02-01 10:00 | ouverte | 2026-02-15 09:00| 2026-02-15 17:00
Formation Leadership | Session Printemps | Salle B | chef_service | 15 | 2026-03-01 10:00 | ouverte | 2026-03-16 09:00| 2026-03-16 12:00
Formation Gestion du temps| Session Été | En ligne | tous | 20 | 2026-06-01 10:00 | ouverte | 2026-06-15 14:00| 2026-06-15 17:00
```
Ce fichier créera :
- ✅ 3 formations
- ✅ 4 séquences
---
## Dépannage
### Problème : "Erreur lors de la lecture du fichier"
**Causes possibles** :
- Le fichier n'est pas au format Excel (.xlsx ou .xls)
- Le fichier est corrompu
- Les feuilles "Formations" ou "Séquences" sont manquantes ou renommées
**Solution** :
- Utilisez le template fourni
- Vérifiez que les noms des feuilles sont exactement "Formations" et "Séquences"
- Réenregistrez le fichier au format .xlsx
### Problème : "Formation non trouvée"
**Cause** :
- Le nom de la formation dans la feuille "Séquences" ne correspond pas exactement à celui de la feuille "Formations"
**Solution** :
- Vérifiez l'orthographe exacte
- Vérifiez les espaces en début/fin
- Utilisez le copier-coller pour éviter les erreurs
### Problème : "Public cible invalide"
**Cause** :
- La valeur saisie ne fait pas partie des valeurs autorisées
**Solution** :
- Utilisez uniquement : `directeur`, `chef_service`, `tous` ou `autre`
- Vérifiez l'orthographe (pas d'accent, pas de majuscule)
### Problème : "Date de blocage obligatoire"
**Cause** :
- La colonne "Date blocage" est vide
**Solution** :
- Remplissez la date au format `YYYY-MM-DD HH:MM`
- Exemple : `2026-01-05 10:00`
---
## Limites et Restrictions
- **Format de fichier** : Uniquement .xlsx et .xls
- **Taille maximale** : Pas de limite technique, mais privilégiez des imports de moins de 1000 lignes pour des performances optimales
- **Dates par séquence** : Maximum 4 dates
- **Encodage** : UTF-8 recommandé pour les caractères accentués
- **Doublons** : L'import ne vérifie pas les doublons avec les données existantes. Vérifiez manuellement avant l'import.
---
## Après l'Import
Une fois l'import réussi :
1. **Vérifiez les données** :
- Allez dans **Gestion** > **Formations** pour voir les formations créées
- Allez dans **Gestion** > **Séquences** pour voir les séquences créées
2. **Complétez les informations manquantes** :
- Formateurs (à assigner manuellement)
- Informations complémentaires
3. **Activez les inscriptions** :
- Les liens d'inscription sont générés automatiquement
- Partagez-les avec les apprenants
---
## Support
En cas de problème :
- Vérifiez que vous utilisez le template fourni
- Consultez les messages d'erreur détaillés
- Contactez le support : o.pareige@itinova.org
---
**Dernière mise à jour** : 25 novembre 2025