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:
320
GUIDE_IMPORT_EXCEL.md
Normal file
320
GUIDE_IMPORT_EXCEL.md
Normal 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
|
||||
Reference in New Issue
Block a user