Spaces:
Sleeping
Sleeping
| # 🔧 HF Spaces Deployment - Troubleshooting Guide | |
| **Space:** https://huggingface.co/spaces/Luigi/rts-commander | |
| **Date:** 3 octobre 2025 | |
| --- | |
| ## ✅ Status: PUSH SUCCESSFUL | |
| Le code a été poussé avec succès vers HF Spaces ! | |
| --- | |
| ## 📊 Commits Pushed | |
| ```bash | |
| c2562cf - trigger: Force HF Spaces rebuild | |
| 8a29af1 - Deploy RTS Commander v2.0 | |
| ``` | |
| --- | |
| ## 🔍 Que faire maintenant ? | |
| ### 1. Attendre le Build Docker (2-5 minutes) | |
| HF Spaces va automatiquement : | |
| 1. ✅ Détecter le `Dockerfile` | |
| 2. ✅ Builder l'image Docker | |
| 3. ✅ Lancer le container sur port 7860 | |
| 4. ✅ Exposer l'application | |
| **Patience !** Le premier build peut prendre 2-5 minutes. | |
| --- | |
| ### 2. Vérifier le Build en Cours | |
| **Aller sur votre Space :** | |
| https://huggingface.co/spaces/Luigi/rts-commander | |
| **Ce que vous devriez voir :** | |
| - 🟡 **Status: Building...** (en cours) | |
| - Logs de build Docker visibles en bas | |
| - Progress bar qui avance | |
| - 🟢 **Status: Running** (succès !) | |
| - Container démarré | |
| - Application accessible | |
| - 🔴 **Status: Build Failed** (erreur) | |
| - Voir section "Debugging Build Errors" ci-dessous | |
| --- | |
| ### 3. Accéder à l'Application | |
| Une fois le build terminé : | |
| **URL directe :** | |
| https://Luigi-rts-commander.hf.space | |
| **ou depuis le Space :** | |
| https://huggingface.co/spaces/Luigi/rts-commander → cliquer sur "Open App" | |
| --- | |
| ## 🐛 Debugging Build Errors | |
| ### Problème 1: "Space appears empty" | |
| **Symptômes :** | |
| - Space montre "No files" | |
| - Onglet "Files" vide | |
| **Cause :** | |
| - Les fichiers n'ont pas été poussés correctement | |
| **Solution :** | |
| ```bash | |
| cd /home/luigi/rts/web | |
| # Vérifier les fichiers trackés | |
| git ls-files | grep -E "Dockerfile|app.py|static" | |
| # Si vides, ajouter les fichiers | |
| git add -A | |
| git commit -m "Add all project files" | |
| git push space master --force | |
| ``` | |
| --- | |
| ### Problème 2: "Docker build failed" | |
| **Symptômes :** | |
| - Status: Build Failed | |
| - Logs montrent erreurs Docker | |
| **Solution 1: Vérifier Dockerfile** | |
| ```bash | |
| cd /home/luigi/rts/web | |
| # Tester le build localement | |
| docker build -t rts-test . | |
| # Si erreur, corriger et re-push | |
| git add Dockerfile | |
| git commit -m "fix: Update Dockerfile" | |
| git push space master | |
| ``` | |
| **Solution 2: Vérifier requirements.txt** | |
| ```bash | |
| # Vérifier que toutes les dépendances sont installables | |
| cat requirements.txt | |
| # Si packages obsolètes/cassés, mettre à jour | |
| git add requirements.txt | |
| git commit -m "fix: Update dependencies" | |
| git push space master | |
| ``` | |
| --- | |
| ### Problème 3: "Container starts then crashes" | |
| **Symptômes :** | |
| - Build réussit | |
| - Container démarre | |
| - Crash immédiat | |
| **Causes possibles :** | |
| 1. Port n'est pas 7860 | |
| 2. app.py a des erreurs | |
| 3. Fichiers manquants | |
| **Solution :** | |
| ```bash | |
| # Vérifier les logs HF Spaces | |
| # Aller sur https://huggingface.co/spaces/Luigi/rts-commander | |
| # Scroll en bas → voir les logs | |
| # Tester localement | |
| cd /home/luigi/rts/web | |
| python -m uvicorn app:app --host 0.0.0.0 --port 7860 | |
| # Si erreur, corriger et re-push | |
| ``` | |
| --- | |
| ### Problème 4: "WebSocket ne se connecte pas" | |
| **Symptômes :** | |
| - App se charge | |
| - Erreur WebSocket dans la console | |
| **Solution :** | |
| Vérifier que `game.js` utilise l'URL dynamique : | |
| ```javascript | |
| // ✅ CORRECT (dynamique) | |
| const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'; | |
| const wsUrl = `${protocol}//${window.location.host}/ws`; | |
| // ❌ INCORRECT (hardcodé) | |
| const wsUrl = 'ws://localhost:8000/ws'; | |
| ``` | |
| Si besoin de corriger : | |
| ```bash | |
| cd /home/luigi/rts/web | |
| # Éditer static/game.js | |
| git add static/game.js | |
| git commit -m "fix: Use dynamic WebSocket URL" | |
| git push space master | |
| ``` | |
| --- | |
| ## 📝 Checklist de Déploiement | |
| Vérifier que TOUS ces fichiers sont présents sur HF : | |
| ```bash | |
| cd /home/luigi/rts/web | |
| git ls-files | grep -E "^(Dockerfile|README.md|requirements.txt|app.py|static/|backend/)" | |
| ``` | |
| **Fichiers essentiels :** | |
| - ✅ `Dockerfile` (avec port 7860) | |
| - ✅ `README.md` (avec metadata YAML) | |
| - ✅ `requirements.txt` | |
| - ✅ `app.py` | |
| - ✅ `localization.py` | |
| - ✅ `ai_analysis.py` | |
| - ✅ `static/game.js` | |
| - ✅ `static/index.html` | |
| - ✅ `static/styles.css` | |
| - ✅ `static/sounds.js` | |
| - ✅ `static/hints.js` | |
| - ✅ `static/sounds/*.wav` | |
| - ✅ `backend/app/` | |
| --- | |
| ## 🔄 Forcer un Rebuild | |
| Si le Space ne build pas automatiquement : | |
| ### Méthode 1: Commit vide | |
| ```bash | |
| cd /home/luigi/rts/web | |
| git commit --allow-empty -m "trigger: Force rebuild" | |
| git push space master | |
| ``` | |
| ### Méthode 2: Via l'interface HF | |
| 1. Aller sur https://huggingface.co/spaces/Luigi/rts-commander | |
| 2. Cliquer sur **Settings** | |
| 3. Scroll jusqu'à **"Factory Reboot"** | |
| 4. Cliquer **"Reboot this Space"** | |
| ### Méthode 3: Modifier un fichier | |
| ```bash | |
| cd /home/luigi/rts/web | |
| echo "# RTS Commander v2.0" >> README.md | |
| git add README.md | |
| git commit -m "docs: Update README" | |
| git push space master | |
| ``` | |
| --- | |
| ## 📊 Voir les Logs en Temps Réel | |
| ### Via CLI (si huggingface_hub installé) | |
| ```bash | |
| pip install huggingface_hub | |
| huggingface-cli login | |
| huggingface-cli space logs Luigi/rts-commander --follow | |
| ``` | |
| ### Via Interface Web | |
| 1. Aller sur https://huggingface.co/spaces/Luigi/rts-commander | |
| 2. Scroll en bas | |
| 3. Section **"Logs"** montre stdout/stderr | |
| --- | |
| ## ✅ Vérification Post-Déploiement | |
| Une fois le Space running : | |
| ### 1. Tester l'URL | |
| ```bash | |
| curl https://Luigi-rts-commander.hf.space | |
| ``` | |
| Devrait retourner le HTML de `index.html`. | |
| ### 2. Tester WebSocket | |
| Ouvrir la console navigateur sur https://Luigi-rts-commander.hf.space | |
| Devrait voir : | |
| ``` | |
| WebSocket connected | |
| Game state received | |
| ``` | |
| ### 3. Tester le Gameplay | |
| - ✅ UI se charge | |
| - ✅ Créer des unités | |
| - ✅ Sons fonctionnent | |
| - ✅ Control groups 1-9 | |
| - ✅ Multi-langue | |
| --- | |
| ## 🎮 Quick Test Commands | |
| ### Test 1: Vérifier que l'app répond | |
| ```bash | |
| curl -I https://Luigi-rts-commander.hf.space | |
| ``` | |
| **Attendu :** `HTTP/2 200` | |
| ### Test 2: Vérifier les assets | |
| ```bash | |
| curl https://Luigi-rts-commander.hf.space/static/game.js | head -5 | |
| ``` | |
| **Attendu :** Code JavaScript visible | |
| ### Test 3: Vérifier que le serveur est up | |
| ```bash | |
| curl https://Luigi-rts-commander.hf.space/health 2>/dev/null || echo "No health endpoint" | |
| ``` | |
| --- | |
| ## 📞 Support | |
| **Si le Space reste vide après 10 minutes :** | |
| 1. **Vérifier les fichiers sont bien poussés :** | |
| ```bash | |
| cd /home/luigi/rts/web | |
| git ls-files | wc -l | |
| ``` | |
| Devrait montrer ~60+ fichiers | |
| 2. **Vérifier le remote :** | |
| ```bash | |
| git remote -v | |
| ``` | |
| Devrait montrer `https://huggingface.co/spaces/Luigi/rts-commander` | |
| 3. **Re-push force :** | |
| ```bash | |
| git push space master --force | |
| ``` | |
| 4. **Vérifier sur HF que les fichiers sont visibles :** | |
| - Aller sur https://huggingface.co/spaces/Luigi/rts-commander | |
| - Onglet **"Files"** | |
| - Devrait voir : Dockerfile, README.md, app.py, static/, backend/, etc. | |
| --- | |
| ## 🎊 Status Actuel | |
| **Dernier push :** ✅ Réussi (commit c2562cf) | |
| **Remote configuré :** ✅ https://huggingface.co/spaces/Luigi/rts-commander | |
| **Fichiers trackés :** ✅ ~60 fichiers incluant Dockerfile, app.py, static/ | |
| **Prochaine étape :** ⏳ Attendre le build Docker (2-5 min) | |
| --- | |
| **Le Space devrait être accessible dans quelques minutes à :** | |
| 🎮 **https://Luigi-rts-commander.hf.space** | |
| Si problème persiste, vérifier les logs sur le Space ! | |