# 🔧 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 !