rts-commander / docs /HF_DEPLOYMENT_STATUS.md
Luigi's picture
chore(structure): move docs into docs/ and tests into tests/
ccbaf39
# 🔧 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 !