user nouveau onglet
This commit is contained in:
114
scripts/README.md
Normal file
114
scripts/README.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# 📥 Import Automatique d'Utilisateurs depuis Excel
|
||||
|
||||
Ce script permet d'importer automatiquement des utilisateurs dans MongoDB depuis un fichier Excel.
|
||||
|
||||
## 🚀 Utilisation
|
||||
|
||||
### 1. Préparer le fichier Excel
|
||||
|
||||
Placer votre fichier `.xlsx` dans le dossier `public/list_users/`
|
||||
|
||||
**Format attendu :**
|
||||
```
|
||||
Nom Etudiant | Prénom Etudiant | Matricule HE | EMail Etudiant 2
|
||||
```
|
||||
|
||||
**Exemple :**
|
||||
```
|
||||
Albarran Perez | Tamara | 1240935 | tamara.albarran@student.ihecs.be
|
||||
Amjahed | Kawtar | 1241004 | kawtar.amjahed@student.ihecs.be
|
||||
```
|
||||
|
||||
**Nom du fichier :** Le nom doit être le nom du référent avec underscores.
|
||||
- ✅ `Emmanuel_WATHELE.xlsx`
|
||||
- ✅ `Sophie_MARTIN.xlsx`
|
||||
- ❌ `liste.xlsx`
|
||||
|
||||
### 2. Configurer le script
|
||||
|
||||
Ouvrir `scripts/import-users.js` et modifier ces lignes :
|
||||
|
||||
```javascript
|
||||
const XLSX_FILENAME = "Emmanuel_WATHELE.xlsx"; // ⚠️ Nom du fichier
|
||||
const DEFAULT_PASSWORD = "IHECS-2025"; // Mot de passe par défaut
|
||||
const COURS = "Ouverture à l'esprit critique"; // Nom du cours
|
||||
```
|
||||
|
||||
### 3. Lancer l'import
|
||||
|
||||
```bash
|
||||
node scripts/import-users.js
|
||||
```
|
||||
|
||||
## 📊 Ce que fait le script
|
||||
|
||||
1. ✅ Lit le fichier Excel
|
||||
2. ✅ Extrait le référent depuis le nom du fichier (`Emmanuel_WATHELE` → `Emmanuel WATHELE`)
|
||||
3. ✅ Hash le mot de passe une seule fois (optimisation)
|
||||
4. ✅ Pour chaque étudiant :
|
||||
- Vérifie que l'email est valide
|
||||
- Vérifie que l'email n'existe pas déjà
|
||||
- Crée l'utilisateur avec :
|
||||
- `nom`, `prenom`, `email`
|
||||
- `referent` (extrait du nom du fichier)
|
||||
- `cours` (défini dans le script)
|
||||
- `password` hashé
|
||||
- `role: "USER"`
|
||||
- Crée une balance initiale (3 000 000 tokens)
|
||||
5. ✅ Affiche un résumé détaillé
|
||||
|
||||
## 📝 Exemple de résultat
|
||||
|
||||
```
|
||||
🚀 Démarrage de l'import...
|
||||
|
||||
📋 Référent: Emmanuel WATHELE
|
||||
📚 Cours: Ouverture à l'esprit critique
|
||||
🔑 Password par défaut: IHECS-2025
|
||||
|
||||
📁 Lecture du fichier: C:\...\public\list_users\Emmanuel_WATHELE.xlsx
|
||||
✅ 50 lignes détectées dans le fichier
|
||||
|
||||
🔐 Hash du mot de passe...
|
||||
🔌 Connexion à MongoDB...
|
||||
✅ Connecté à MongoDB
|
||||
|
||||
📥 Import en cours...
|
||||
|
||||
[1/50] ✅ Créé: Tamara Albarran Perez (tamara.albarran@student.ihecs.be)
|
||||
[2/50] ✅ Créé: Kawtar Amjahed (kawtar.amjahed@student.ihecs.be)
|
||||
[3/50] ⏭️ Ignoré (existe déjà): nezaket.arslan@student.ihecs.be
|
||||
...
|
||||
|
||||
============================================================
|
||||
📊 RÉSUMÉ DE L'IMPORT
|
||||
============================================================
|
||||
✅ Utilisateurs créés: 48
|
||||
⏭️ Utilisateurs ignorés (déjà existants): 2
|
||||
❌ Erreurs: 0
|
||||
============================================================
|
||||
|
||||
✨ Import terminé !
|
||||
```
|
||||
|
||||
## ⚠️ Important
|
||||
|
||||
- Le script **ignore** les utilisateurs déjà existants (même email)
|
||||
- Le script **ignore** la colonne "Matricule HE" (non sauvegardée)
|
||||
- Tous les utilisateurs auront le **même mot de passe** (ils pourront le changer après)
|
||||
- Chaque utilisateur reçoit **3 000 000 tokens** par défaut
|
||||
|
||||
## 🔧 Dépannage
|
||||
|
||||
**Erreur : "Cannot find module 'xlsx'"**
|
||||
```bash
|
||||
npm install xlsx
|
||||
```
|
||||
|
||||
**Erreur : "connect ECONNREFUSED"**
|
||||
- Vérifier que MongoDB est démarré
|
||||
- Vérifier la connexion dans `.env.local`
|
||||
|
||||
**Erreur : "File not found"**
|
||||
- Vérifier que le fichier est bien dans `public/list_users/`
|
||||
- Vérifier le nom du fichier dans le script
|
||||
Reference in New Issue
Block a user