""" Endpoint WebSocket pour notifications temps réel """ from fastapi import APIRouter, WebSocket, WebSocketDisconnect from backend.app.services.websocket import ws_manager router = APIRouter(tags=["WebSocket"]) @router.websocket("/ws") async def websocket_endpoint(websocket: WebSocket): """ Endpoint WebSocket pour notifications temps réel Args: websocket: Connexion WebSocket """ await ws_manager.connect(websocket) try: # Boucle de réception (keep-alive) while True: # Recevoir des messages du client (heartbeat) data = await websocket.receive_text() # On peut gérer des commandes du client ici si nécessaire # Pour l'instant, on fait juste un echo pour keep-alive if data == "ping": await ws_manager.send_personal_message("pong", websocket) except WebSocketDisconnect: ws_manager.disconnect(websocket) except Exception as e: print(f"Erreur WebSocket: {e}") ws_manager.disconnect(websocket)