# ✅ Checklist de Déploiement - Milieu Inconnu

## 🎒 Avant de Partir

### Package à Préparer

```
□ Copier TOUT le dossier Class_generator/
□ Inclure nodejs-portable/ complet (~50 MB)
□ Inclure node_modules/ pré-installés (~100 MB)
   → Évite les problèmes d'installation sur place
   → npm install sur votre machine de dev avant de copier

□ Vérifier que tous les .bat sont présents:
  □ START_PORTABLE_SAFE.bat
  □ DIAGNOSTIC.bat
  □ START_PORTABLE.bat (ancien, backup)

□ Vérifier la documentation:
  □ LISEZMOI.txt
  □ DEPLOYMENT_GUIDE.md
  □ DEPLOYMENT_CHECKLIST.md (ce fichier)

□ Créer un dossier logs/ vide
```

### Test Local AVANT de Partir

```
□ Sur VOTRE machine:
  1. Copier le dossier vers Desktop/TEST/
  2. Double-clic DIAGNOSTIC.bat → Tout vert ?
  3. Double-clic START_PORTABLE_SAFE.bat → Succès ?
  4. Navigateur s'ouvre automatiquement ?
  5. Page charge correctement ?
  6. Tester une fonctionnalité
  7. Arrêter proprement (touche dans console)
  8. Redémarrer → Ça remarche ?

□ Si tout OK → Package prêt ✅
```

---

## 📦 Support de Transport

### Option A: Clé USB (Recommandé)
```
□ Clé USB ≥ 4 GB
□ Format: NTFS (pas FAT32)
□ Copier le dossier complet
□ Tester depuis la clé sur VOTRE machine
□ Vérifier l'intégrité (tous les fichiers copiés)
```

### Option B: Cloud/Réseau
```
□ Zipper le dossier
□ Nom du ZIP: Class_Generator_v1.0_Portable.zip
□ Vérifier la taille (~150-200 MB)
□ Upload vers OneDrive/Google Drive/réseau
□ Télécharger et tester sur une autre machine
```

### Option C: Disque Externe
```
□ Copier le dossier
□ Pas besoin de zipper
□ Vérifier l'accès en lecture/écriture
```

---

## 🚀 Sur la Machine Cible

### Étape 1: Installation (5 min)

```
□ Décompresser/Copier vers:
  → Recommandé: C:\Users\[Nom]\Desktop\Class_generator\
  → Alternative: C:\Users\[Nom]\Documents\Class_generator\
  → PAS dans: Program Files, Windows, C:\ racine

□ Vérifier que le dossier n'est PAS en lecture seule:
  → Clic droit sur dossier → Propriétés
  → Décocher "Lecture seule" si besoin
  → Appliquer à tous les sous-dossiers
```

### Étape 2: Diagnostic (2 min)

```
□ Double-clic DIAGNOSTIC.bat
□ Lire le rapport à l'écran
□ Vérifier DIAGNOSTIC_REPORT.txt créé

□ Si [SUCCESS]:
  → Passer à l'étape 3 ✅

□ Si [CAUTION]:
  → Noter les warnings
  → Continuer quand même
  → Préparer plan B

□ Si [FAILURE]:
  → STOP, ne pas lancer
  → Appliquer corrections (voir ci-dessous)
  → Relancer DIAGNOSTIC.bat
```

### Étape 3: Premier Démarrage (3 min)

```
□ Double-clic START_PORTABLE_SAFE.bat
□ Observer les messages:

  [1/7] Checking Node.js...        → Doit dire "OK"
  [2/7] Checking dependencies...   → "OK" ou "Installing..."
  [3/7] Checking port 8080...      → "OK" ou "Freeing port"
  [4/7] Verifying project files... → "OK"
  [5/7] Starting server...         → Pas d'erreur
  [6/7] Waiting for server...      → "Server is responding!"
  [7/7] Opening browser...         → Navigateur s'ouvre

□ Attendre "SUCCESS! Server is running"
□ Vérifier que le navigateur charge la page
□ Tester une fonctionnalité basique
```

### Étape 4: Test de Fonctionnement (5 min)

```
□ Page d'accueil charge
□ Navigation fonctionne
□ Choisir un exercice
□ Tester une interaction
□ Vérifier l'affichage (pas de console errors F12)

□ Si tout OK:
  → Déploiement réussi ✅
  → Passer à l'étape 5

□ Si problèmes:
  → Consulter DEPLOYMENT_GUIDE.md
  → Vérifier logs\server.log
  → Appliquer corrections
```

### Étape 5: Test d'Arrêt/Redémarrage

```
□ Dans la console, appuyer sur une touche
□ Vérifier "Server stopped"
□ Console se ferme proprement

□ Redémarrer START_PORTABLE_SAFE.bat
□ Vérifier que ça remarche
□ Si OK → Installation complète ✅
```

---

## 🔧 Corrections Courantes

### Problème: "Node.js exists but won't run"

```
Solution 1: Antivirus
□ Ouvrir Windows Security
□ Protection contre virus et menaces
□ Paramètres de protection
□ Exclusions → Ajouter
□ Sélectionner le dossier Class_generator/
□ Relancer DIAGNOSTIC.bat

Solution 2: Administrateur
□ Clic droit START_PORTABLE_SAFE.bat
□ "Exécuter en tant qu'administrateur"
□ Accepter l'UAC

Solution 3: Visual C++ Runtime
□ Vérifier si vcruntime140.dll est présent
□ Si manquant: installer VC++ Redistributable
□ URL: https://aka.ms/vs/17/release/vc_redist.x64.exe
```

### Problème: "Port 8080 used"

```
Solution 1: Identifier et tuer
□ Ouvrir cmd
□ netstat -ano | findstr :8080
□ Noter le PID (dernière colonne)
□ taskkill /F /PID [numéro]
□ Relancer

Solution 2: Changer le port
□ Ouvrir server.js avec Notepad
□ Ligne ~4: const PORT = 8080
□ Changer en: const PORT = 8081
□ Sauvegarder
□ Relancer
□ Ouvrir manuellement http://localhost:8081
```

### Problème: "Dependencies installation failed"

```
Vous avez inclus node_modules → Pas censé arriver

Si quand même:
□ Vérifier connexion internet
□ Vérifier que node_modules/ est présent
□ Supprimer node_modules/ et relancer
  (nécessitera internet)
```

### Problème: "Browser doesn't open"

```
Solution: Manuel
□ Laisser la console ouverte
□ Ouvrir Chrome/Firefox/Edge
□ Aller sur: http://localhost:8080
□ Ça devrait marcher
```

---

## 🎯 Scénarios de Secours

### Plan A: Échec Total
```
Si RIEN ne marche après 30 min:

□ Copier ces fichiers:
  - DIAGNOSTIC_REPORT.txt
  - logs\server.log
  - Screenshot des erreurs

□ Envoyer au support IT
□ Expliquer: "Application éducative locale"
□ Demander assistance
```

### Plan B: Environnement Super Restrictif
```
Si la machine refuse TOUT:

Option 1: Demander exception IT
□ Montrer que c'est éducatif
□ Expliquer: pas d'installation système
□ Fournir DIAGNOSTIC_REPORT.txt

Option 2: Utiliser une autre machine
□ Chercher un PC avec moins de restrictions
□ Refaire le déploiement

Option 3: Fallback Python (si disponible)
□ python -m http.server 8080
□ Fonctionnalité limitée mais page accessible
```

---

## 📊 Temps Estimés

```
Déploiement Idéal (tout fonctionne):
├─ Installation: 5 min
├─ Diagnostic: 2 min
├─ Démarrage: 3 min
├─ Tests: 5 min
└─ TOTAL: ~15 minutes

Déploiement avec Problèmes:
├─ Installation: 5 min
├─ Diagnostic: 2 min
├─ Erreur détectée: —
├─ Troubleshooting: 10-30 min
├─ Redémarrage: 3 min
├─ Tests: 5 min
└─ TOTAL: ~25-45 minutes

Échec Complet (abandonner):
└─ Après 1 heure sans succès
```

---

## ✅ Validation Finale

Avant de dire "C'est bon":

```
□ DIAGNOSTIC.bat → [SUCCESS] ou [CAUTION] acceptable
□ START_PORTABLE_SAFE.bat → "SUCCESS! Server is running"
□ http://localhost:8080 → Page charge
□ Navigation → Fonctionne
□ Exercice test → Fonctionne
□ Arrêt (touche) → Propre
□ Redémarrage → Remarche

SI TOUS COCHÉS → Déploiement validé ✅
```

---

## 📝 Notes Post-Déploiement

```
Date: ______________
Lieu: ______________
Machine: Windows 10 build ______

Problèmes rencontrés:
□ Aucun
□ Antivirus (résolu comment: _______________)
□ Port occupé (résolu comment: _______________)
□ Autre: ___________________________________

Temps total: _______ minutes

Fonctionnel: □ OUI □ NON
Si NON, raison: _____________________________
```

---

**Bonne chance pour le déploiement ! 🚀**
