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

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 :

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

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

# 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 :

# 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 :

// ✅ 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 :

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 :

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

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

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é)

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

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

curl -I https://Luigi-rts-commander.hf.space

Attendu : HTTP/2 200

Test 2: Vérifier les assets

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

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 :

    cd /home/luigi/rts/web
    git ls-files | wc -l
    

    Devrait montrer ~60+ fichiers

  2. Vérifier le remote :

    git remote -v
    

    Devrait montrer https://huggingface.co/spaces/Luigi/rts-commander

  3. Re-push force :

    git push space master --force
    
  4. Vérifier sur HF que les fichiers sont visibles :


🎊 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 !