Files
Dashboard/scripts/README.md
2025-11-16 01:34:01 +01:00

3.2 KiB

📥 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 :

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

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_WATHELEEmmanuel 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'"

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