Contact
AccueilNos formationsDécouvrir le protocole Mercure
Découvrir le protocole Mercure

Découvrir le protocole Mercure

Mercure est un protocole permettant de transmettre en temps réel des mises à jour de données vers les navigateurs web (ou autres clients HTTP) de manière fiable, rapide et économe en énergie. Mercure est utile pour publier des mises à jour en temps réel des ressources exposées via des API Web.

Durée

Durée2 jours

Niveau

Niveau requisIntermédiaire

Tarif

1600€ HT/personne

Pré-requis
  • Bonnes connaissances de PHP et de la POO
  • Ordinateur portable à apporter

Programme


1 - Présentation du protocole

Cas d’usage

  • Disponibilité en direct
  • Emplois asynchrones
  • Montage collaboratif 


Différences et similarités entre Mercure et les protocoles existants

  • Avec Server-Sent Events
  • Avec Websocket
  • Avec Websub 
  • Avec Web Push

Présentation de HTTP/2 et de son utilisation par Mercure



Présentation de HTTP/3 et de son utilisation par Mercure

2 - Le hub

  • Installation classique
  • Installation avec Docker
  • Installation avec Kubernetes
  • Le support automatique des protocoles HTTP/2 et HTTPS (via Let's Encrypt)
  • Configuration
  • Implémentation alternative (Hub Node.js)

3 - Côté client

  • JavaScript : la classe EventSource
  • Considérations relatives aux cookies cross-domains
  • Configurer les CORS
  • Polyfill pour les vieux navigateurs

4 - Autorisation

  • Présentation du mécanisme d’autorisation de Mercure
  • Présentation du format de tokens JWT
  • Les targets
  • Droits de publication
  • Droits d’abonnement
  • Autorisation via cookies
  • Autorisation via en-tête HTTP

5 - Mercure et les API

  • Rappels sur REST, HATEOAS et l’hypermédia
  • Présentation du mécanisme d’auto-découvrabilité de Mercure via Web Linking
  • Utiliser Mercure pour les subscriptions GraphQL

6 - Intégration de Mercure avec les principaux frameworks et langages

  • Exemple avec API Platform et Symfony (PHP, via Hub)
  • Exemple avec Node.js (via Hub)
  • Utilisation sans hub avec Go
  • Utilisation sans hub avec Node.js

7 - Le chiffrement de bout en bout

Cette formation vous intéresse ?