tiffank1802 commited on
Commit ·
f2d53ec
1
Parent(s): 2bf2b45
Add French deployment verification guide
Browse files- Complete step-by-step guide for verifying HF Spaces deployment
- Endpoint testing procedures with expected responses
- Common problems and troubleshooting solutions
- Advanced debugging techniques
- Local Docker testing instructions
- VERIFIER_DEPLOIEMENT.md +309 -0
VERIFIER_DEPLOIEMENT.md
ADDED
|
@@ -0,0 +1,309 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Guide de Vérification du Déploiement - ENISE Site
|
| 2 |
+
|
| 3 |
+
## 🎯 Vue d'ensemble
|
| 4 |
+
|
| 5 |
+
Le code de l'ENISE Site est maintenant **prêt pour la production** sur Hugging Face Spaces.
|
| 6 |
+
|
| 7 |
+
**Status**: ✅ Tous les tests locaux passent
|
| 8 |
+
|
| 9 |
+
## ✅ Étapes de Vérification
|
| 10 |
+
|
| 11 |
+
### Étape 1: Vérifier le Status du Space
|
| 12 |
+
|
| 13 |
+
1. Allez sur: https://huggingface.co/spaces/ktongue/ENISE
|
| 14 |
+
2. Vérifiez le statut en haut à droite
|
| 15 |
+
3. **Acceptable**: ✅ "Running"
|
| 16 |
+
4. **À attendre**: ⏳ "Building" (relancer après quelques minutes)
|
| 17 |
+
5. **Problème**: ❌ "Error" (vérifier les logs)
|
| 18 |
+
|
| 19 |
+
### Étape 2: Vérifier les Logs
|
| 20 |
+
|
| 21 |
+
Si le status est "Building" ou "Error":
|
| 22 |
+
|
| 23 |
+
1. Cliquez sur **⚙️ Settings** (engrenage en haut à droite)
|
| 24 |
+
2. Cliquez sur l'onglet **Logs**
|
| 25 |
+
3. Vous devriez voir ceci (scroll si besoin):
|
| 26 |
+
|
| 27 |
+
```
|
| 28 |
+
# Logs attendus (ordre chronologique):
|
| 29 |
+
|
| 30 |
+
1. "Starting build..."
|
| 31 |
+
2. "Building Docker image..."
|
| 32 |
+
3. "docker run ... ./run.sh"
|
| 33 |
+
4. "[INFO] Collecting static files..."
|
| 34 |
+
5. "[INFO] Running database migrations..."
|
| 35 |
+
6. "[INFO] Starting server on 0.0.0.0:7860..."
|
| 36 |
+
```
|
| 37 |
+
|
| 38 |
+
**Si vous voyez une erreur**, notez le message exact.
|
| 39 |
+
|
| 40 |
+
### Étape 3: Tester les Endpoints
|
| 41 |
+
|
| 42 |
+
Une fois le status "Running", testez ces URLs:
|
| 43 |
+
|
| 44 |
+
#### 3.1 Homepage (Test Principal)
|
| 45 |
+
```
|
| 46 |
+
https://ktongue-enise.hf.space/
|
| 47 |
+
```
|
| 48 |
+
|
| 49 |
+
**Expected**:
|
| 50 |
+
- ✅ Page web s'affiche
|
| 51 |
+
- ✅ Titre: "ENISE" visible
|
| 52 |
+
- ✅ Formations listées
|
| 53 |
+
- ✅ Pas d'erreur 500
|
| 54 |
+
|
| 55 |
+
**Si erreur**:
|
| 56 |
+
- Vérifier que les static files chargent (CSS, images)
|
| 57 |
+
- Consulter les logs
|
| 58 |
+
|
| 59 |
+
#### 3.2 Page Formations
|
| 60 |
+
```
|
| 61 |
+
https://ktongue-enise.hf.space/formations/
|
| 62 |
+
```
|
| 63 |
+
|
| 64 |
+
**Expected**:
|
| 65 |
+
- ✅ Liste des formations s'affiche
|
| 66 |
+
- ✅ Status 200
|
| 67 |
+
|
| 68 |
+
#### 3.3 Test Appwrite (Important!)
|
| 69 |
+
```
|
| 70 |
+
https://ktongue-enise.hf.space/api/appwrite/test/
|
| 71 |
+
```
|
| 72 |
+
|
| 73 |
+
**Expected**: Réponse JSON comme:
|
| 74 |
+
```json
|
| 75 |
+
{
|
| 76 |
+
"status": "ok",
|
| 77 |
+
"message": "Appwrite connection successful",
|
| 78 |
+
"project_id": "697abaca00272dab718b",
|
| 79 |
+
"database_id": "697cd79900149b10540c"
|
| 80 |
+
}
|
| 81 |
+
```
|
| 82 |
+
|
| 83 |
+
**ou** si API Key manquante:
|
| 84 |
+
```json
|
| 85 |
+
{
|
| 86 |
+
"status": "error",
|
| 87 |
+
"message": "Authentication failed",
|
| 88 |
+
"error": "Invalid API key"
|
| 89 |
+
}
|
| 90 |
+
```
|
| 91 |
+
|
| 92 |
+
> Si vous voyez une erreur d'authentification Appwrite, cela signifie que `APPWRITE_API_KEY` n'est pas bien configurée dans HF Secrets.
|
| 93 |
+
|
| 94 |
+
#### 3.4 Admin Panel
|
| 95 |
+
```
|
| 96 |
+
https://ktongue-enise.hf.space/admin/
|
| 97 |
+
```
|
| 98 |
+
|
| 99 |
+
**Expected**:
|
| 100 |
+
- ✅ Page de login Django
|
| 101 |
+
- ✅ Vous pouvez vous identifier
|
| 102 |
+
- ✅ Pas d'erreur 500
|
| 103 |
+
|
| 104 |
+
### Étape 4: Vérifier les Fichiers Statiques
|
| 105 |
+
|
| 106 |
+
Dans la page d'accueil, ouvrez les DevTools (F12) et:
|
| 107 |
+
|
| 108 |
+
1. Allez à l'onglet **Network**
|
| 109 |
+
2. Rechargez la page (F5)
|
| 110 |
+
3. Regardez les fichiers chargés
|
| 111 |
+
|
| 112 |
+
**À vérifier**:
|
| 113 |
+
- ✅ `style.css` → Status **200** (pas 404)
|
| 114 |
+
- ✅ Images → Status **200** (pas 404)
|
| 115 |
+
- ✅ Pas d'erreur en console rouge
|
| 116 |
+
|
| 117 |
+
Si vous voyez des erreurs 404 sur les fichiers statiques:
|
| 118 |
+
- Les fichiers ne sont pas servis correctement
|
| 119 |
+
- Vérifier que WhiteNoise est activé (il l'est ✅)
|
| 120 |
+
|
| 121 |
+
### Étape 5: Vérifier les Variables d'Environnement
|
| 122 |
+
|
| 123 |
+
Si quelque chose ne fonctionne pas, vérifiez les secrets HF:
|
| 124 |
+
|
| 125 |
+
1. Allez sur https://huggingface.co/spaces/ktongue/ENISE
|
| 126 |
+
2. Cliquez **⚙️ Settings**
|
| 127 |
+
3. Cliquez **Repository secrets**
|
| 128 |
+
4. Vérifiez que ces variables existent:
|
| 129 |
+
|
| 130 |
+
```
|
| 131 |
+
✓ DEBUG (value: False)
|
| 132 |
+
✓ SECRET_KEY (value: caché)
|
| 133 |
+
✓ ALLOWED_HOSTS (value: *)
|
| 134 |
+
✓ CSRF_TRUSTED_ORIGINS (value: https://ktongue-enise.hf.space,...)
|
| 135 |
+
✓ APPWRITE_ENDPOINT (value: https://fra.cloud.appwrite.io/v1)
|
| 136 |
+
✓ APPWRITE_PROJECT_ID (value: 697abaca00272dab718b)
|
| 137 |
+
✓ APPWRITE_API_KEY (value: caché) ⚠️ IMPORTANT
|
| 138 |
+
✓ APPWRITE_DATABASE_ID (value: 697cd79900149b10540c)
|
| 139 |
+
```
|
| 140 |
+
|
| 141 |
+
**Si une variable manque**:
|
| 142 |
+
1. Cliquez "Add secret"
|
| 143 |
+
2. Remplissez la variable
|
| 144 |
+
3. Cliquez "Save"
|
| 145 |
+
4. Le space redémarrera automatiquement
|
| 146 |
+
|
| 147 |
+
## 🚨 Problèmes Courants et Solutions
|
| 148 |
+
|
| 149 |
+
### Problème 1: Status "Building" depuis longtemps
|
| 150 |
+
|
| 151 |
+
**Cause**: La construction du Docker est en cours
|
| 152 |
+
|
| 153 |
+
**Solution**:
|
| 154 |
+
1. Attendez 5-10 minutes
|
| 155 |
+
2. Vérifiez les logs
|
| 156 |
+
3. Si l'erreur persiste, regardez les logs pour plus de détails
|
| 157 |
+
|
| 158 |
+
### Problème 2: HTTP 400 ou 403
|
| 159 |
+
|
| 160 |
+
**Causes possibles**:
|
| 161 |
+
1. `SECRET_KEY` non configurée
|
| 162 |
+
2. `ALLOWED_HOSTS` incorrect
|
| 163 |
+
3. `CSRF_TRUSTED_ORIGINS` manquant
|
| 164 |
+
|
| 165 |
+
**Solution**:
|
| 166 |
+
1. Vérifiez les secrets dans HF Spaces
|
| 167 |
+
2. Assurez-vous que `ALLOWED_HOSTS=*`
|
| 168 |
+
3. Redémarrez le space (Settings → Restart)
|
| 169 |
+
|
| 170 |
+
### Problème 3: Static files ne chargent pas (styles cassés)
|
| 171 |
+
|
| 172 |
+
**Cause**: WhiteNoise ne sert pas les fichiers correctement
|
| 173 |
+
|
| 174 |
+
**Solution**:
|
| 175 |
+
1. Vérifiez dans les logs l'erreur
|
| 176 |
+
2. Assurez-vous que `run.sh` exécute `collectstatic`
|
| 177 |
+
3. Vérifiez que le Dockerfile utilise `./run.sh`
|
| 178 |
+
|
| 179 |
+
**Status**: ✅ WhiteNoise est configuré - ce problème ne devrait pas survenir
|
| 180 |
+
|
| 181 |
+
### Problème 4: Erreur "Authentication failed" sur /api/appwrite/test/
|
| 182 |
+
|
| 183 |
+
**Cause**: `APPWRITE_API_KEY` est invalide ou manquante
|
| 184 |
+
|
| 185 |
+
**Solution**:
|
| 186 |
+
1. Allez sur https://console.appwrite.io
|
| 187 |
+
2. Générez une nouvelle clé API
|
| 188 |
+
3. Mettez à jour `APPWRITE_API_KEY` dans HF Secrets
|
| 189 |
+
4. Redémarrez le space
|
| 190 |
+
|
| 191 |
+
### Problème 5: Page blanche ou erreur 500
|
| 192 |
+
|
| 193 |
+
**Causes possibles**:
|
| 194 |
+
1. Erreur dans Django
|
| 195 |
+
2. Base de données inaccessible
|
| 196 |
+
3. Configuration manquante
|
| 197 |
+
|
| 198 |
+
**Solution**:
|
| 199 |
+
1. Vérifiez les logs HF Spaces
|
| 200 |
+
2. Cherchez "ERROR" ou "EXCEPTION" dans les logs
|
| 201 |
+
3. Notez le message d'erreur exact
|
| 202 |
+
4. Vérifiez la configuration dans `enise_site/settings.py`
|
| 203 |
+
|
| 204 |
+
## ✨ Tests de Fonctionnalité
|
| 205 |
+
|
| 206 |
+
### Test 1: Homepage Charge Correctement
|
| 207 |
+
|
| 208 |
+
```bash
|
| 209 |
+
# Commande (à exécuter localement si vous avez accès):
|
| 210 |
+
curl -I https://ktongue-enise.hf.space/
|
| 211 |
+
|
| 212 |
+
# Expected:
|
| 213 |
+
# HTTP/1.1 200 OK
|
| 214 |
+
# Content-Type: text/html; charset=utf-8
|
| 215 |
+
```
|
| 216 |
+
|
| 217 |
+
### Test 2: API Fonctionne
|
| 218 |
+
|
| 219 |
+
```bash
|
| 220 |
+
curl -s https://ktongue-enise.hf.space/api/appwrite/test/ | python -m json.tool
|
| 221 |
+
|
| 222 |
+
# Expected: JSON response avec status "ok" ou "error"
|
| 223 |
+
```
|
| 224 |
+
|
| 225 |
+
### Test 3: Admin Accessible
|
| 226 |
+
|
| 227 |
+
```bash
|
| 228 |
+
curl -I https://ktongue-enise.hf.space/admin/
|
| 229 |
+
|
| 230 |
+
# Expected:
|
| 231 |
+
# HTTP/1.1 302 Found (redirection vers login)
|
| 232 |
+
# ou
|
| 233 |
+
# HTTP/1.1 200 OK (si déjà connecté)
|
| 234 |
+
```
|
| 235 |
+
|
| 236 |
+
## 📊 Résumé de Vérification
|
| 237 |
+
|
| 238 |
+
**Checklist pour confirmer le succès**:
|
| 239 |
+
|
| 240 |
+
- [ ] Space status = "Running"
|
| 241 |
+
- [ ] Pas d'erreurs dans les logs
|
| 242 |
+
- [ ] GET / → Page visible (200 OK)
|
| 243 |
+
- [ ] GET /formations/ → Fonctionne (200 OK)
|
| 244 |
+
- [ ] GET /api/appwrite/test/ → JSON response
|
| 245 |
+
- [ ] CSS et images chargent (DevTools Network)
|
| 246 |
+
- [ ] GET /admin/ → Page login ou 302 redirect
|
| 247 |
+
- [ ] Pas d'erreurs 400/500
|
| 248 |
+
|
| 249 |
+
**Si tous les éléments sont cochés**: ✅ **DÉPLOIEMENT RÉUSSI!**
|
| 250 |
+
|
| 251 |
+
## 🔧 Dépannage Avancé
|
| 252 |
+
|
| 253 |
+
Si vous avez toujours des problèmes:
|
| 254 |
+
|
| 255 |
+
### 1. Vérifier la Docker Image Localement
|
| 256 |
+
|
| 257 |
+
```bash
|
| 258 |
+
# Cloner le repo
|
| 259 |
+
git clone https://github.com/tiffank1802/enise-site-2.git
|
| 260 |
+
cd enise-site-2
|
| 261 |
+
|
| 262 |
+
# Construire l'image
|
| 263 |
+
docker build -t enise-test .
|
| 264 |
+
|
| 265 |
+
# Exécuter avec variables d'env
|
| 266 |
+
docker run -p 7860:7860 \
|
| 267 |
+
-e DEBUG=False \
|
| 268 |
+
-e SECRET_KEY=test-key \
|
| 269 |
+
-e ALLOWED_HOSTS=* \
|
| 270 |
+
-e APPWRITE_ENDPOINT=https://fra.cloud.appwrite.io/v1 \
|
| 271 |
+
-e APPWRITE_PROJECT_ID=your-id \
|
| 272 |
+
-e APPWRITE_API_KEY=your-key \
|
| 273 |
+
-e APPWRITE_DATABASE_ID=your-db-id \
|
| 274 |
+
enise-test
|
| 275 |
+
|
| 276 |
+
# Visiter http://localhost:7860
|
| 277 |
+
```
|
| 278 |
+
|
| 279 |
+
### 2. Vérifier les Logs en Direct
|
| 280 |
+
|
| 281 |
+
Sur HF Spaces → Settings → Logs:
|
| 282 |
+
- Cherchez "ERROR"
|
| 283 |
+
- Cherchez "EXCEPTION"
|
| 284 |
+
- Cherchez "FAILED"
|
| 285 |
+
|
| 286 |
+
Copiez le message d'erreur complet pour diagnostic.
|
| 287 |
+
|
| 288 |
+
### 3. Redémarrer le Space
|
| 289 |
+
|
| 290 |
+
1. Allez sur le Space
|
| 291 |
+
2. Settings → Environment
|
| 292 |
+
3. Cliquez "Restart"
|
| 293 |
+
|
| 294 |
+
Cela redémarrera le container et rechargera les variables d'environnement.
|
| 295 |
+
|
| 296 |
+
## 📚 Ressources
|
| 297 |
+
|
| 298 |
+
- **GitHub Repo**: https://github.com/tiffank1802/enise-site-2
|
| 299 |
+
- **HF Space**: https://huggingface.co/spaces/ktongue/ENISE
|
| 300 |
+
- **Documentation**:
|
| 301 |
+
- `QUICK_START.md` - Configuration rapide
|
| 302 |
+
- `DEPLOYMENT_CHECKLIST.md` - Checklist complète
|
| 303 |
+
- `FIXES_APPLIED.md` - Détails techniques
|
| 304 |
+
|
| 305 |
+
---
|
| 306 |
+
|
| 307 |
+
**Dernière mise à jour**: Jan 30, 2025
|
| 308 |
+
**Status**: ✅ Code production-ready
|
| 309 |
+
**Prochaine étape**: Tester le space et confirmer le fonctionnement
|