# Class Generator 2.0 - Portable Edition

**Version portable pour utilisation sur clé USB sans installation**

## 🎯 Objectif

Cette version permet d'utiliser Class Generator sur n'importe quel PC Windows **sans installer Node.js** et **sans droits administrateur**.

## 📦 Configuration Requise

- **Clé USB**: Minimum 150 MB d'espace libre
- **OS**: Windows 10 ou supérieur
- **Droits**: Aucun droit admin nécessaire
- **Internet**: Seulement pour le setup initial (une fois)

## 🚀 Installation (Une fois sur ton PC)

### Méthode Automatique (Recommandée)

1. Double-cliquer sur `DOWNLOAD_NODEJS.bat`
2. Télécharger Node.js depuis la page qui s'ouvre
3. Extraire le fichier ZIP
4. Renommer le dossier en `nodejs-portable`
5. Copier `nodejs-portable` dans le dossier du projet
6. ✅ Terminé!

### Méthode Manuelle

1. Aller sur https://nodejs.org/en/download/
2. Télécharger **"Windows Binary (.zip)"** - Version LTS
3. Extraire le ZIP
4. Renommer le dossier extrait en `nodejs-portable`
5. Copier dans le dossier du projet

### Structure Finale

```
Class_generator/
├── nodejs-portable/          ← Dossier Node.js portable
│   ├── node.exe             ← Important!
│   ├── npm
│   └── node_modules/
├── src/
├── content/
├── START_PORTABLE.bat       ← Lance l'application
├── server.js
└── package.json
```

## 💻 Utilisation en Cours (Sans Internet)

### Démarrage

1. **Brancher la clé USB**
2. **Double-cliquer** sur `START_PORTABLE.bat`
3. **Attendre** que le serveur démarre (~5 secondes)
4. **Ouvrir le navigateur**: http://localhost:8080

### Arrêt

- Appuyer sur `Ctrl+C` dans la fenêtre du serveur
- Ou simplement fermer la fenêtre

## ⚡ Caractéristiques

### ✅ Fonctionne Hors-ligne

- Interface complète
- Navigation et routing
- Contenu local (fichiers JSON)
- Jeux sans AI
- Flashcards locaux
- Sauvegarde locale (dossier `saves/`)
- Debug panel (F12)

### ❌ Nécessite Internet

- AI exercises (OpenAI/DeepSeek API)
- LLM scoring et validation
- Translation API
- Téléchargement de contenu en ligne

## 📊 Tailles de Fichiers

| Composant | Taille |
|-----------|--------|
| Projet (code + content) | ~42 MB |
| Node.js portable | ~50 MB |
| node_modules (dotenv) | ~1 MB |
| **TOTAL** | **~95 MB** |

## 🔧 Dépannage

### Erreur: "Node.js portable not found!"

**Cause**: Le dossier `nodejs-portable` n'existe pas ou est mal placé

**Solution**:
1. Vérifier que `nodejs-portable/node.exe` existe
2. Relancer `DOWNLOAD_NODEJS.bat` si nécessaire

### Erreur: "Port 8080 already in use"

**Cause**: Un autre serveur utilise le port 8080

**Solution**:
1. Ouvrir le **Gestionnaire des tâches** (Ctrl+Shift+Esc)
2. Chercher les processus `node.exe`
3. Les terminer tous
4. Relancer `START_PORTABLE.bat`

### Page blanche dans le navigateur

**Cause**: Mauvaise URL ou serveur pas démarré

**Solution**:
1. Vérifier l'URL: `http://localhost:8080` (pas https!)
2. Vérifier que la fenêtre du serveur est ouverte
3. Attendre 10 secondes après le lancement

### AI ne fonctionne pas

**Cause**: Pas de connexion internet

**Solution**: C'est normal! Les features AI nécessitent internet pour accéder aux API (OpenAI, DeepSeek). Utiliser les jeux et contenus locaux.

## 🔐 Sécurité

### ⚠️ Attention aux Clés API

Le fichier `.env` contient des clés API sensibles. Si tu copies ce dossier:
- **Ne pas** partager la clé USB
- **Ne pas** laisser la clé USB sans surveillance
- **Supprimer** le fichier `.env` avant de donner à quelqu'un

### Version Sans Clés API

Pour créer une version "propre" sans clés API:
1. Renommer `.env` en `.env.backup`
2. Créer un nouveau `.env` vide ou avec des clés de test
3. Copier sur la clé USB

## 📁 Fichiers du Système Portable

| Fichier | Description |
|---------|-------------|
| `START_PORTABLE.bat` | Lance l'application (utilise celui-ci!) |
| `DOWNLOAD_NODEJS.bat` | Télécharge Node.js portable (une fois) |
| `PORTABLE_SETUP.txt` | Instructions détaillées (texte brut) |
| `QUICK_START.txt` | Guide rapide |
| `README_PORTABLE.md` | Ce fichier |
| `start.bat` | Ancien launcher (ne pas utiliser) |

## 🎓 Utilisation Pédagogique

### En Classe

1. **Préparation**: Installer Node.js portable chez toi
2. **En cours**: Brancher USB, lancer `START_PORTABLE.bat`
3. **Démo**: Les étudiants accèdent via leur navigateur
4. **Arrêt**: Fermer le serveur, débrancher

### Partage avec Étudiants

Si tu veux que les étudiants aient leur propre copie:
1. Créer une version sans `.env` (pas de clés API)
2. Les features AI ne marcheront pas pour eux
3. Ils auront accès aux contenus et jeux locaux

## 🔄 Mises à Jour

Pour mettre à jour le projet:

1. **Sur ton PC de dev**:
   - Faire tes modifications
   - Tester avec `npm start`

2. **Copier sur USB**:
   - Ne pas toucher à `nodejs-portable/`
   - Copier les fichiers modifiés
   - Garder `.env` et `node_modules/`

## 📝 Notes Techniques

### Pourquoi Node.js Portable?

- **Pas de droits admin** requis
- **Fonctionne depuis USB** sans installation
- **Isolé du système** - pas de conflit avec d'autres versions
- **Portable** - même setup sur tous les PC

### Différences avec la Version Standard

| Aspect | Version Standard | Version Portable |
|--------|-----------------|------------------|
| Installation | `npm install` | Copier `nodejs-portable/` |
| Lancement | `npm start` | `START_PORTABLE.bat` |
| Node.js | Global (installé) | Local (dans le dossier) |
| Droits admin | Possibles | Pas nécessaires |
| Mobilité | Non | Oui (clé USB) |

### Path et Variables d'Environnement

`START_PORTABLE.bat` ajoute temporairement `nodejs-portable/` au PATH:
```batch
set PATH=%~dp0nodejs-portable;%PATH%
```

Cette modification est **temporaire** et n'affecte pas le système.

## 🎯 Cas d'Usage

### ✅ Parfait Pour

- Démonstrations en cours
- Utilisation sur PC publics (bibliothèque, salle info)
- Tests sur différents PC
- Backup portable du projet
- Partage rapide avec collègues

### ❌ Pas Idéal Pour

- Développement intensif (utiliser version standard)
- Serveur de production (utiliser déploiement cloud)
- Utilisation quotidienne (installer Node.js normalement)

## 🆘 Support

### Problème avec la Version Portable?

1. Lire `PORTABLE_SETUP.txt`
2. Vérifier la section Dépannage ci-dessus
3. Vérifier que `nodejs-portable/node.exe` existe
4. Essayer de relancer en mode administrateur (si possible)

### Retour à la Version Standard

Si tu préfères utiliser Node.js installé:
1. Installer Node.js normalement
2. Utiliser `start.bat` (pas `START_PORTABLE.bat`)
3. Supprimer le dossier `nodejs-portable/` (optionnel)

---

**Version**: 2.0 Portable
**Dernière mise à jour**: 2025-10-18
**Créé pour**: Utilisation en cours sans installation
