Configuration WebSocket pour Real-time¶
Status Actuel¶
❌ WebSockets temporairement désactivés - proxy non configuré ✅ Code WebSocket implémenté et prêt à être activé
Problème¶
- Site en HTTPS (
housing.boaz-study.tech) - Backend Docker en HTTP (
localhost:8001) - Navigateur refuse
ws://depuis HTTPS (sécurité) - Proxy ne redirige pas
/api/wsvers Docker
Configuration Requise¶
Option 1: Configuration Nginx/Apache (Recommandée)¶
Pour Nginx, ajouter dans la config du site :
1 2 3 4 5 6 7 8 9 10 11 12 | |
Pour Apache, ajouter dans la config du site :
1 2 3 4 5 6 7 | |
Option 2: Port Séparé HTTPS¶
Exposer le backend sur un port HTTPS séparé (ex: 8443) avec certificat SSL.
Réactivation WebSocket¶
Une fois le proxy configuré :
-
Supprimer la désactivation temporaire dans
frontend/src/services/websocketService.js:1 2 3 4 5 6 7 8 9 10
connect() { // SUPPRIMER CES LIGNES : // console.log('⚠️ WebSocket temporairement désactivé - proxy non configuré'); // return; if (this.socket?.readyState === WebSocket.OPEN || this.isConnecting) { return; } // ... reste du code } -
Tester la connexion :
1 2 3 4
# Test depuis la console navigateur const ws = new WebSocket('wss://api-housing.boaz-study.tech/api/ws'); ws.onopen = () => console.log('✅ WebSocket connecté'); ws.onerror = (e) => console.log('❌ Erreur:', e); -
Redémarrer frontend :
1sudo docker compose restart frontend
Fonctionnalités Real-time (une fois activé)¶
✅ Statistiques : Mise à jour automatique quand souscriptions changent ✅ Historique : Refresh automatique sur tous les appareils ✅ Multi-device : Synchronisation instantanée ✅ Reconnexion : Automatique en cas de déconnexion
Variables d'Environnement¶
Frontend (.env) :
1 | |
Développement local :
1 | |
Notes Techniques¶
- Backend: WebSocket server sur
/api/ws(FastAPI + Starlette) - Frontend: Service WebSocket avec reconnexion automatique
- Broadcasting: Notifications à tous les clients connectés
- Types supportés:
souscription,logement,statistics
Documentation générée le 30/09/2025