Développement Web

Qu’est-ce que WebSocket ?

Protocole de communication full-duplex sur une connexion TCP durable — le serveur peut pousser des messages sans que le client repolle en boucle, idéal pour chat, notifications live, collaboration ou tableaux de bord temps réel.

WebSockets

Définition simple

C'est comme garder le téléphone décroché au lieu de raccrocher et rappeler chaque seconde pour demander des nouvelles : la ligne reste ouverte dans les deux sens. Après handshake HTTP initial, la connexion passe en mode WebSocket ; frames légères transportent événements binaires ou texte. Complète [HTTP](/lexique/api-application-programming-interface) classique request/response — à utiliser quand la fraîcheur temps quasi réel justifie l’état persistant par client.

Comment ça marche ?

Client ouvre ws:// ou wss:// ; handshake ; échange frames ; heartbeats pour garder lien ; reconnexion exponentielle côté client ; souvent broker (Redis, Kafka) derrière plusieurs instances pour [scalabilité](/lexique/scalabilite). Distinct de [Webhook](/lexique/webhook) (push HTTP serveur à serveur).

Impact business

Réduire latence perçue et charge serveur vs polling agressif — pour apps collaboration ou trading léger, les gains peuvent être dramatiques en bande passante et UX ; en revanche mauvaise gestion des reconnexions peut fragiliser disponibilité perçue.

Bonnes pratiques

  • TLS (wss) ; quotas messages ; monitoring connexions ; circuit breaker ; fallback SSE ou polling pour environnements restrictifs.

Erreurs communes

  • Absence auth après upgrade WS. Pas de stratégie backpressure (client lent). Sticky sessions mal assumées derrière load balancer.

Prompt IA

Contexte : chat support [500 connexions simultanées]. Liste architecture (broker, rooms), trois pièges (reconnect, auth, scale horizontal) et mitigation une ligne chacun.

QUESTIONS FRÉQUENTES

Aller plus loin sur WebSocket.

SSE = flux serveur→client sur HTTP ; WebSocket = bidirectionnel — choisir selon besoin d’envoi client fréquent.