La parole est aux speakers : Kévin Martins
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 !
La conférence
FrankenPHP & Worker Mode : Mon application Symfony est-elle vraiment prête ?Passer au Worker Mode avec FrankenPHP ou Swoole propulse les performances de nos applications Symfony. Mais attention, dans ce nouveau paradigme, PHP n'est plus 'stateless' ! Un simple état muté dans un service partagé, et c'est la fuite de données assurée pour vos utilisateurs. Découvrez à travers ce retour d'expérience l'anatomie des 'State Leaks', comment fonctionne l'analyse statique pour les détecter, et comment j'ai fini par créer Igor-PHP pour auditer vos projects. |
Alice Recoque - ABCDEF 09/10/2026 14:10-14:50 |
Tu as créé Igor-Php qui sera présenté lors de ta conférence. Celui-ci est écrit en Go, qu'est-ce qui t'a poussé à choisir cette technologie ?
J'ai choisi Go pour plusieurs raisons. La première est purement pratique : Go permet de compiler et de distribuer un binaire unique, ce qui évite d'imposer l'installation de dépendances aux utilisateurs. Ensuite, il y a la question des performances : pour un outil comme un linter, qui doit parcourir et analyser très rapidement un grand nombre de fichiers, la gestion native de la concurrence dans Go est un atout majeur. Utiliser PHP pour ce genre d'outil précis n'était pas vraiment pertinent à mon avis. Enfin, d'un point de vue plus personnel, j'avais tout simplement envie d'approfondir ma découverte de ce langage avec un cas d'usage concret !
Quelles ont été tes motivations pour créer ce nouvel outil et le rendre disponible en open source ?
J’étais en pleine analyse de FrankenPHP et de son mode worker. Je me suis vite rendu compte de son potentiel, mais j'ai aussi constaté qu'il n'y avait, à ma connaissance, aucun outil disponible pour valider qu'un projet Symfony était pleinement compatible avec ce nouveau mode. J'avais bien trouvé quelques articles décrivant les types de problèmes que l'on pouvait rencontrer, mais aucun outil qui faisait l'unanimité pour les détecter. Je trouvais ça vraiment étrange qu'il manque ce maillon pour aider la communauté à franchir le cap sereinement.
L'intérêt initial était purement pragmatique : j'en avais besoin pour accomplir cette tâche dans mon entreprise. Quant au choix de l'open source, c'est très vite devenu une évidence. Je me suis demandé : comment garantir que l'outil soit le plus juste et le plus exhaustif possible ? La réponse était de l'ouvrir au plus grand nombre de devs, car c'est en mutualisant nos retours que l'on construira l'outil le plus fiable possible. Enfin, c'était tout simplement l'occasion d'apporter ma pierre à l'édifice : j'utilise des outils open source tous les jours, il me paraissait donc tout à fait normal de contribuer à mon tour !
Penses-tu qu'avec le Worker Mode de FrankenPHP, les performances d'une application PHP peuvent rivaliser avec celle d'une application écrite en Go, Java ou C# ?
Je dirais que oui, avec un avantage de taille : celui de conserver le confort de développement incomparable de PHP ! Bien sûr, dans certains cas d'usage impliquant des calculs longs et complexes, d'autres langages restent certainement plus pertinents. Mais c'est justement là toute la force de ce que FrankenPHP nous offre aujourd'hui : rien ne nous empêche de créer assez facilement des ponts entre PHP et Go pour ces cas très spécifiques. Au final, le besoin de pousser les performances à un tel niveau ne concerne généralement qu'une infime partie de nos applications. L'important est de savoir rester pragmatique !
Une conférence présentée par
|
Kévin MARTINS |
Actuellement Lead Backend chez Matawan, Kévin cumule 10 ans d’expérience dans l’écosystème PHP. Spécialiste de Symfony et API Platform, il contribue activement à ces frameworks en open source. Son objectif actuel est d’améliorer leur compatibilité avec le mode worker de FrankenPHP afin d’optimiser les performances. |
Autres interviews
- La parole est aux speakers : Pierre Tondereau
- La parole est aux speakers : Kévin Dunglas
- La parole est aux speakers : Jori STEIN
- La parole est aux speakers : Thomas Dutrion
- La parole est aux speakers : Charlotte Chaumet
- La parole est aux speakers : Benjamin Eberlei
- La parole est aux speakers : Alexandre Daubois
- La parole est aux speakers : Michaël Benhaïm
- La parole est aux speakers : Sebastian Bergmann
- La parole est aux speakers : Yoann Blot
- La parole est aux speakers : Niels Ackermann
- La parole est aux speakers : Jean-François Lépine