Qovans Docs
Operations

Depannage

Problemes courants et comment les resoudre, pas a pas.

Cette page couvre les situations les plus frequentes. Pour chaque probleme : symptome, cause probable, solution.

Le site est inaccessible

Symptomehttps://espaceclient.qovans.com ne repond pas ou affiche une erreur.

Diagnostic :

# 1. Verifier que les conteneurs tournent
docker compose -f docker-compose.prod.yml ps

# 2. Verifier Caddy
sudo systemctl status caddy

# 3. Tester les ports en local
curl http://localhost:3000  # Frontend
curl http://localhost:8000/health  # Backend

Solutions :

CauseSolution
Conteneurs arretesdocker compose -f docker-compose.prod.yml up -d
Caddy arretesudo systemctl restart caddy
Frontend crashdocker compose -f docker-compose.prod.yml restart frontend
Disque pleindocker system prune -f puis verifier df -h

Les produits ne s'affichent pas

Symptome — le catalogue est vide ou les prix sont absents.

Diagnostic :

# Le VPN est-il actif ?
sudo systemctl status openvpn-client@audaxium

# Cegid repond-il ?
curl http://localhost:8000/api/test-cegid

# Ping Cegid directement
ping -c 2 192.168.4.110

Solutions :

CauseSolution
VPN arretesudo systemctl start openvpn-client@audaxium
VPN actif mais Cegid ne repond pasCegid est probablement eteint (weekend). Attendre.
Cache local videRelancer la sync : voir scripts dans backend/scripts/

Le catalogue utilise un cache local PostgreSQL. Meme sans VPN, les produits deja synchronises restent visibles. Seuls les stocks en temps reel et les commandes necessitent Cegid.


Erreur 502 Bad Gateway le weekend

Symptome — le site fonctionne mais certaines pages (stocks, commandes, prix temps reel) affichent des erreurs.

Cause — le serveur Cegid (192.168.4.110) est parfois arrete le weekend pour maintenance.

Solution — rien a faire. Le site continue de fonctionner en mode degrade (catalogue cache visible, mais pas de stocks en temps reel ni de creation de commande). Tout revient a la normale le lundi matin.


Espace disque plein

Symptome — erreurs aleatoires, logs qui ne s'ecrivent plus, builds qui echouent.

Diagnostic :

df -h
docker system df

Solutions :

# Nettoyer les images Docker inutilisees
docker image prune -f

# Nettoyer tout (images, volumes orphelins, cache build)
docker system prune -f

# Verifier les logs Docker
du -sh /var/lib/docker/containers/*/

Si le probleme revient souvent, ajouter la rotation des logs (voir Monitoring).


Migration de base echoue

Symptomealembic upgrade head echoue avec une erreur.

Diagnostic :

# Voir la migration actuelle
docker exec qovans-backend alembic current

# Voir l'historique
docker exec qovans-backend alembic history --verbose | head -20

Solutions :

CauseSolution
Conflit de migrationRollback : docker exec qovans-backend alembic downgrade -1
Table existe dejaVerifier si la migration a ete appliquee partiellement
PostgreSQL inaccessibledocker compose -f docker-compose.prod.yml restart postgres

En dernier recours, restaurer un backup PostgreSQL et reappliquer les migrations (voir Sauvegardes).


Le backend ne demarre pas

Symptomeqovans-backend apparait comme restarting dans docker ps.

Diagnostic :

docker logs qovans-backend --tail 50

Causes frequentes :

Erreur dans les logsSolution
Connection refused PostgreSQLAttendre que PostgreSQL soit healthy, ou docker restart qovans-postgres
ModuleNotFoundErrorLe build Docker est corrompu : docker compose build --no-cache backend
DATABASE_URL invalideVerifier .env.prod
Alembic head plus recentAppliquer les migrations manquantes

Les emails ne partent pas

Symptome — les utilisateurs ne recoivent pas les emails (reset password, 2FA, confirmation commande).

Diagnostic :

# Verifier la cle API Brevo
grep BREVO_API_KEY .env.prod

# Chercher les erreurs email dans les logs
docker logs qovans-backend | grep -i "email\|brevo\|smtp" | tail -20

Solutions :

CauseSolution
BREVO_API_KEY videConfigurer la cle dans .env.prod et restart backend
Quota Brevo atteintVerifier le dashboard Brevo
Adresse expediteur non valideeVerifier dans Brevo que noreply@qovans.com est valide