La parole est aux speakers : Kévin Dunglas

Publié le

Jusqu’au Forum PHP 2026, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

Les conférences

[ATELIER] Mercure 1.0 : bâtir des applications temps réel n’a jamais été aussi simple, rapide et sécurisé

Après la conférence, passez de la théorie à la pratique lors du workshop dédié. Nous explorerons les intégrations clés de Mercure 1.0 : de l’écosystème Symfony (usage direct et via UX) à Laravel (Broadcaster et Echo), en passant par API Platform !

Salle d'atelier - L
09/10/2026
14:00-16:00
Mercure 1.0 : bâtir des applications temps réel n’a jamais été aussi simple, rapide et sécurisé

Il y a huit ans naissait Mercure : un protocole et un serveur open source écrits en Go, conçus pour apporter la puissance du temps réel à n'importe quelle architecture web, et tout particulièrement aux écosystèmes comme PHP qui ne gèrent pas nativement les connexions persistantes.

Aujourd'hui, Mercure est devenu un standard incontournable, propulsant des centaines de projets en production, de la startup au grand compte. Parfaitement intégré à Symfony (via Symfony UX) ainsi qu'à API Platform, et embarqué par défaut dans FrankenPHP, il simplifie radicalement l'expérience de développement. Que ce soit pour concevoir des éditeurs collaboratifs (à la Google Docs), synchroniser des tableaux de bord instantanés, notifier vos utilisateurs lorsqu’une tâche en arrière-plan se termine ou, plus récemment, streamer les tokens de vos LLM et suivre l'avancement d'agents IA, Mercure s'impose comme la solution idéale.

Rejoignez-moi lors de cette conférence pour découvrir toutes les nombreuses nouveautés de Mercure 1.0, qui va sortir prochainement !

Alice Recoque - ABCDEF
09/10/2026
11:40-12:20

En 2022 à l'AFUP Day Lille, dans ton talk "Le Prométhée moderne : embarquer PHP dans Go", tu nous présentais les origines de FrankenPHP. Avais-tu déjà la vision de ce qu'il allait devenir à ce moment là ?

Absolument pas ! Quand j’ai commencé à bosser sur FrankenPHP, mon objectif était avant tout de préparer un talk montrant la puissance de Go.

Go est à la fois un langage de « haut » et de « bas » niveau : on peut écrire des applications haute performance en quelques lignes de code grâce aux goroutines et à sa bibliothèque standard très fournie (qui contient entre autres un serveur HTTP de qualité production), tout comme on peut manipuler directement le matériel ou des bibliothèques système via ses fonctionnalités « unsafe » et cgo, sa couche de compatibilité avec C (et tout langage compatible avec l’ABI C comme Rust, C++ ou l'ASM).

J’avais quand même une idée derrière la tête. Cela faisait plusieurs années déjà que j’avais découvert Caddy, un serveur web surpuissant écrit en Go. Mercure et Vulcain, tout comme FrankenPHP, sont des builds personnalisés de Caddy contenant des modules faits maison. En travaillant sur ces projets, j’ai dû améliorer Caddy, et je suis devenu co-mainteneur du projet.

Bien avant la naissance de FrankenPHP, j’avais remplacé NGINX par Caddy dans API Platform et dans Symfony Docker. Mais il fallait toujours FPM à côté, et configurer FPM dans un environnement dockerisé, ou même en local pour les débutant·e·s, c’est la croix et la bannière !

Ça faisait donc un moment que je voulais simplifier tout ça. Alors pour mon talk, j’ai essayé de montrer comment utiliser PHP comme une bibliothèque C (c’est aussi comme ça que fonctionne NGINX Unit par exemple) appelée par un module Caddy en Go, sans avoir besoin d’un serveur séparé comme FPM. Et ça marchait surprenamment bien ! Alors après le talk, j’ai essayé de fiabiliser tout ça… et c’est là que les vrais problèmes ont commencé (cf. mes contributions à PHP à cette époque… au début, il fallait un fork de PHP pour que FrankenPHP puisse tourner) !

Tu nous parleras de Mercure. Selon toi, quels genres d'applications ont le plus à gagner à être enrichies avec des fonctionnalités en temps réel ?

Franchement, quasi toutes ! Avec des solutions comme Mercure (ou WebSockets pour ceux qui aiment se casser la tête), on peut créer des interfaces utilisateur vraiment plus pratiques et agréables. On peut très facilement implémenter des fonctionnalités d’édition collaborative, de présence (qui est en train de faire quoi), de chat, ou des tableaux de bord qui se mettent à jour en direct… Avec quelques lignes de JS et une requête POST côté serveur, on entre dans une autre dimension.

Avec l’avènement des LLM, c’est toute une nouvelle classe de fonctionnalités qui s’ajoute. Quasiment tous les LLM implémentent l’API d'OpenAI, qui utilise SSE (Server-Sent Events), la technologie sur laquelle repose Mercure. Concrètement, cela veut dire que vous pouvez appeler l’API de votre LLM préféré côté serveur et streamer le retour à tous les clients concernés, en temps réel, token par token, juste en envoyant chaque événement reçu du LLM via une mise à jour Mercure. Ça permet de faire des interfaces assez magiques ✨, les possibilités sont quasi infinies.

Peux-tu nous parler de la roadmap des futures versions de Mercure ?

Au moment où j’écris ces lignes, je suis en train de sortir la version alpha de Mercure 1.0. C’est une grosse mise à jour, fruit de 5 ans de travail. Elle est encore plus simple à utiliser qu’avant et est bâtie sur les dernières versions des standards du Web, ce qui lui donne encore plus de possibilités. Elle vient entre autres avec un tout nouveau système de sélecteurs de topics basé sur la spécification URL Pattern (maintenant implémentée par tous les navigateurs modernes ainsi que par de nombreux outils côté serveur… dont Caddy !), ainsi qu'un mécanisme d’authentification encore plus puissant, désormais compatible avec les serveurs OAuth et OpenID Connect, tout en gardant la simplicité qui a fait le succès du protocole.

Je vous présenterai tout ça au Forum. D’ici là, la version stable devrait être sortie !

Des conférences présentées par

Kévin DUNGLAS
Kévin DUNGLAS
Kévin est le créateur du serveur d'application FrankenPHP, du framework API Platform ainsi que des projets Mercure et Vulcain. Il est également membre de la Core Team Symfony et a cofondé la société autogérée Les-Tilleuls.coop.

Autres interviews