Server-Sent Events
Les Server-Sent Events transmettent du texte du serveur au client par HTTP, par exemple sur l’avancement d’une tâche en arrière-plan.
Les Server-Sent Events, ou SSE, transmettent des notifications textuelles du serveur au client par une connexion HTTP. Dans le navigateur, EventSource fournit l’interface ; le flux utilise text/event-stream. La connexion est à sens unique. Les commandes du client vers le serveur nécessitent un autre chemin, comme des requêtes HTTP ordinaires.
Une notification sur un rapport en cours
Un portail fictif reçoit ce bloc d’événement :
id: evt-12
event: job-status
data: {"jobId":"J-52","status":"running"}
La ligne vide termine le bloc. L’identifiant, le type d’événement et les données ont des rôles différents. Ici, le serveur signale une création en cours ; le message ne signifie pas que le fichier est prêt. Les valeurs des champs sont notre propre exemple.
Après une coupure temporaire, EventSource peut se reconnecter automatiquement. Un identifiant d’événement précédemment défini et non vide est signalé par Last-Event-ID. Le serveur doit décider s’il fournit à nouveau les notifications manquantes et de quelle manière. L’identifiant ne crée pas d’historique d’événements stocké.
L’application doit donc gérer les doublons et un historique devenu indisponible, par exemple en relisant l’état actuel du travail. SSE ne garantit pas qu’une action métier soit exécutée exactement une fois. L’accès au projet et au travail doit aussi être contrôlé à la connexion et lors de l’envoi des notifications.
Sources
Termes associés
- Acquittement de messageUn acquittement indique au courtier de messages qu’une livraison a été reçue ou traitée selon la règle convenue.
- ETagUn ETag identifie une version de représentation d’une ressource HTTP et permet des lectures ou modifications conditionnelles.
- Cross-Origin Resource SharingCORS contrôle l’accès du navigateur aux réponses d’une autre origine. Il ne remplace ni la connexion ni la vérification des droits de l’API.
- Échange de données informatiséL’EDI transmet des documents métier structurés entre systèmes. Format, profil du partenaire, correspondance des données et réponses doivent être cohérents.
- Traitement en temps réelLe traitement en temps réel suit un objectif de latence défini. Heure de l’événement, heure de traitement et données tardives exigent des règles explicites.
- Traitement par lotsLe traitement par lots traite en une seule exécution un ensemble délimité de données ou de tâches.
Articles sur le sujet


Votre projet avec ASES
Décrivez-nous votre projet. Nous revenons vers vous avec une première évaluation.

