Skip to Content
SymfonyPartie 12 — Temps réel & asynchroneVue d'ensemble de la partie

Partie 12 — Temps réel & asynchrone

Public : BookLab a une API complète (Partie 11). Il lui manque ce qui fait une vraie application : le travail en arrière-plan (e-mails, rappels, paiements) et le temps réel (places qui se mettent à jour en direct côté Next.js). Objectif de la partie : maîtriser Messenger (asynchrone, files, workers), le Scheduler (tâches planifiées), Mailer & Notifier, Mercure (temps réel / SSE) et son intégration Next.js, et Stripe (paiement + webhooks).

Ce que vous saurez faire à la fin de cette partie

  • Déléguer un travail lent à un worker avec Messenger (le contrôleur répond immédiatement).
  • Gérer les échecs, retries et la file d’échec proprement.
  • Planifier des tâches récurrentes avec le Scheduler (rappels de BookLab).
  • Envoyer des e-mails (Mailer) et des notifications multi-canal (Notifier).
  • Diffuser des mises à jour temps réel avec Mercure (SSE) et les consommer dans Next.js.
  • Intégrer Stripe : paiement (Checkout), webhooks sécurisés, abonnements.

Le fil rouge : BookLab devient vivant

On branche les effets réels : e-mail de confirmation (async), rappel la veille (planifié), places d’un créneau qui décrémentent en direct sur le front Next.js (Mercure), et paiement Stripe d’une réservation avec confirmation par webhook.

Chapitres de cette partie

  1. Messenger : le bus de messages — messages, handlers, bus, dispatch.
  2. Async, retries, échecs & workers — transports, async, messenger:consume, retries, failure transport.
  3. Scheduler — planifier des tâches récurrentes dans l’application (sans cron OS).
  4. Mailer & Notifier — e-mails (Twig, transports), notifications multi-canal (SMS, Slack, push).
  5. Mercure — le hub, SSE, JWT, publier des mises à jour temps réel.
  6. Consommer Mercure dans Next.js — s’abonner aux mises à jour côté front (EventSource).
  7. Stripe — Checkout, webhooks sécurisés, abonnements.

Prochain chapitre : 12.1 — Messenger : le bus de messages.