Traitement de questions en temps réel

Imatge
Point d'interrogation (https://openclipart.org/detail/280803/slightly-styled-question-mark)

Mise en place d'une plate-forme en Drupal 8 permettant de modérer en temps réel les questions posées au cours d'une émission :

  • Les questions posées depuis un site distant sont envoyées par service web (appels REST exploitant l'interface fournie par JSON API).
  • Lorsqu'une nouvelle question est créée, Drupal notifie un serveur de websocket (en l'occurrence basé sur Ratchet) grâce à la bibliothèque de messagerie asynchrone ZMQ.
  • Les questions sont reçues en temps réel sur l'interface d'administration (websocket), faisant largement appel à JavaScript pour réordonner les questions, les archiver, les supprimer, les envoyer sur le plateau ou les mettre en surbrillance. À nouveau, les appels AJAX s'appuient sur JSON API (désormais intégré au cœur de Drupal 8).
  • L'affichage en studio est mis à jour en temps réel, grâce à l'écoute de messages arrivant sur une autre websocket (Web application Messaging Protocol ou WAMP, sur un modèle publication-abonnement (publish-subscribe, PubSub)).