# đŸ“„ 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