« On veut du temps réel » est une demande courante. Mais les 3 principales options (polling, SSE, WebSocket) ne coûtent pas la même chose et ne servent pas les mêmes cas.
Règle rapide : polling pour du « presque temps réel » (30 s), SSE pour flux serveur → client, WebSocket pour bidirectionnel intensif.
Polling — souvent suffisant
Un fetch toutes les 15-30 secondes. Idéal pour un dashboard qui affiche des KPI ou un fil d'activité. Zéro infra, marche partout, débuggable sans peine.
SSE (Server-Sent Events)
Une connexion HTTP maintenue ouverte, le serveur pousse. Parfait pour du streaming (OpenAI, notifications). Marche derrière un CDN, gère la reconnexion automatique.
WebSocket
Bidirectionnel, latence < 100 ms. Nécessaire pour chat, collaboration live cursor, jeux. Compte : infra dédiée (pas de serverless classique — Fly.io, Convex, Ably).
Supabase Realtime / Ably / Pusher
Des services managés qui vous économisent l'infra. Pertinent en dessous de 10 k connexions concurrentes. Au-delà, souvent moins cher de gérer soi-même.
Le temps réel « juste au cas où » coûte cher. Le temps réel là où il change l'UX vaut son prix.
On regarde votre besoin ?
En 30 minutes on peut choisir la bonne option pour votre projet. Réservez un appel. À lire : Temps réel avec Supabase.