
Chaque automne, le Forum PHP réunit la grande famille du développement PHP. Mais cette édition 2025 avait une saveur toute particulière : un véritable anniversaire collectif pour tout l’écosystème.
30 ans pour PHP, 20 ans pour Symfony, 10 ans pour API Platform et 25 ans pour l’AFUP qui fédère depuis un quart de siècle la communauté francophone du langage. 4 anniversaires pour 1 message : le temps passe, mais PHP ne vieillit pas, il se renouvelle, encore et encore.
Et cette année, la programmation du Forum PHP 2025 l’a prouvé. Entre intelligence artificielle, architectures asynchrones, innovations techniques et retours d’expérience, l’écosystème PHP se montre toujours aussi dynamique, innovant et résolument tourné vers l’avenir.
Tour d’horizon sur ce qui a rythmé cette édition…
IA & agents intelligents : quand le développeur devient l’architecte du raisonnement
Difficile de passer à côté : l’intelligence artificielle s’est imposée comme un sujet central, aussi bien dans les discussions que dans les conférences.
Il y a encore 2 ans, l’IA semblait éloignée de notre quotidien. Aujourd’hui, elle s’invite partout : dans nos outils, nos réflexions et même nos architectures techniques.
Focus sur le Model Context Protocol (MCP)
La conférence d’Édouard Courty a illustré cette évolution avec le Model Context Protocol (MCP), un standard conçu par Anthropic et désormais soutenu par OpenAI et Google. Ce protocole permet à une IA d’interagir directement avec des systèmes externes tels que des fichiers, des bases de données, des services tiers ou même des applications, pour lire, modifier ou exploiter des données et exécuter des actions métiers.


Grâce à son bundle Symfony dédié, il a montré qu’une application PHP peut se transformer en serveur MCP, devenant ainsi un véritable pont entre les modèles d’IA et les données métier.
2 démonstrations ont parfaitement illustré le potentiel de cette approche, à la croisée de la technique et de l’expérience client dans un contexte E-Commerce :
- un service client automatisé, capable de retrouver une commande ou de modifier une adresse de livraison à partir d’une simple requête en langage naturel
- un passage de commande complet pour un client via un chat, depuis la recherche produit jusqu’au paiement
Quelle place pour le développeur face aux IA ?
Dans un registre plus introspectif, Xavier Leune a offert un regard lucide et nécessaire sur la place du développeur à l’heure des IA génératives.
Il a mis en mots ce que beaucoup peuvent ressentir : un mélange d’enthousiasme voir de fascination mais aussi de craintes face à ces outils capables d’écrire du code, de générer des tests ou de documenter une API en quelques instants.
Plutôt que d’alimenter cette peur, il a invité à la transformer en réflexion constructive.
Le métier de développeur n’est pas figé : il s’est toujours adapté aux outils, aux langages, aux usages. L’IA ne change pas cette dynamique, elle l’accélère.
Elle prend en charge certaines tâches, mais ouvre de nouveaux espaces pour la conception, l’analyse et la créativité.
Il faut apprendre à l’intégrer, comme une compétence à acquérir, au même titre qu’un nouveau framework ou paradigme, afin d’en comprendre les forces, les limites et de surtout continuer à cultiver ce qui fait la force du développeur : la compréhension, l’adaptabilité et la justesse technique.
Évaluer les performances d’une IA
François Zaninotto, a apporté une perspective pragmatique sur l’intelligence artificielle avec son talk « L’évaluation des IA : la recette secrète des agents pas trop bêtes ».

Il a rappelé qu’en matière d’IA, le plus difficile n’est pas de créer un agent, mais de le rendre fiable et cohérent. Concevoir un prototype est simple et rapide, le faire fonctionner durablement et uniformément reste un véritable défi d’ingénierie !

Il a présenté des méthodes et outils qui permettent d’évaluer les performances d’une IA : mesurer la pertinence des réponses, limiter les hallucinations ou encore contrôler les coûts d’exécution. Un travail patient, fait de tests, d’itérations et de retours d’expérience, bien loin du mythe de l’IA magique et autonome.


En synthèse, François souligne que :
- L’éval est cruciale pour éviter les problèmes de qualité
- L’éval, c’est pas difficile, mais c’est loooong
- Il faut un bon (divers, représentatifs, gros) jeu de test
- Les LLMs sont indispensables pour évaluer les LLMs
- Il faut réviser ses cours de statistiques
- Les librairies open-source mâchent le travail
- Les devs n’aiment pas trop ça… mais en sont largement capables
Pour aller plus loin, consultez les librairies d’évaluation Open source :
… et les plateformes & autres solutions d’évaluation :
Architectures asynchrones : mieux comprendre, mieux exploiter, mieux fiabiliser
Après les réflexions autour de l’intelligence artificielle, un autre fil rouge s’est imposé cette année : la performance et la maîtrise de la concurrence.
Les architectures asynchrones se sont affirmées comme une réponse structurante aux besoins croissants de traitement, de scalabilité et de résilience. 3 conférences complémentaires ont permis d’en explorer les différentes facettes, du concept au retour d’expérience concret.
Concevoir une architecture plus efficace et mieux parallélisée
Baptiste Langlade, partant d’un simple exemple de crawler, a montré comment une implémentations asynchrones en PHP peut se heurter à des limites bien connues : sous-utilisation des ressources, workers bloqués, ordonnancement complexe.

Peu à peu, il a introduit le modèle des acteurs (Actor Model), un paradigme ancien, à la base de systèmes comme WhatsApp, qui offre une manière élégante de gérer la concurrence sans partage d’état.

Sa démonstration, menée étape par étape, illustrait parfaitement comment ce modèle, encore peu connu, permet de concevoir une architecture plus efficace et mieux parallélisée.
👉 Découvrez cet exemple d’implémentation de l’Actor Model avec PHP.
Débrider la capacité des Workers
Dans un registre plus terrain, Julien Mercier-Rojas a partagé un retour d’expérience concret avec sa conférence « Débrider la capacité des Workers ».
À travers l’exemple d’un outil d’aide à l’éco-conduite, il a illustré la puissance et la complexité des traitements asynchrones à grande volumétrie : récupération en temps réel des données de trajet, analyse post-course, puis restitution de conseils personnalisés sur l’application.

Un cas d’usage qui mettait en lumière les défis de l’asynchrone : collisions, locks, mémoire partagée, gestion de l’ordonnancement. Julien a montré comment une approche méthodique, reposant sur l’optimisation de l’usage des workers (assignation de queue, gestion des zombies, etc.), la gestion du sharding ainsi que l’observabilité, permet de dépasser ces limites sans compromettre
Jobs, Queues & Events : comprendre et corriger
Pour compléter cette exploration de l’asynchrone, Jonathan Van Belle a proposé un talk aussi concret qu’utile : « Jobs, queues & events : anatomie des erreurs courantes et pistes de résolutions ».

Son propos s’adressait à tous ceux qui ont déjà vu leurs workers s’arrêter sans prévenir, des fuites mémoire s’accumuler ou des jobs bloqués sans explication claire.

Il a su décortiquer les erreurs les plus fréquentes des systèmes asynchrones, en expliquant pourquoi elles surviennent et comment les éviter. Des problèmes d’arrêt mal gérés à la mauvaise reprise de traitements, en passant par les pièges de la gestion de ressources, chaque point était accompagné de bonnes pratiques et d’outils de diagnostic.
N’hésitez pas à consulter les slides du talk pour en apprendre plus.
Langage et outils : évolutions et cas d’usage
Après les architectures et la gestion de la concurrence, place au cœur battant de l’écosystème : le langage et ses outils.
Nouveautés de PHP 8.5
Impossible de parler du Forum sans évoquer le traditionnel tour d’horizon de Derick Rethans, figure incontournable de la communauté, venu présenter « What’s New in PHP 8.5 ».
Une conférence toujours attendue, à mi-chemin entre veille technique et bilan d’évolution du langage.
Parmi les nouveautés mises en avant :
- l’opérateur pipe, qui apporte plus de lisibilité dans les enchaînements d’appels
- une API d’URL entièrement repensée
- l’extension OPcache désormais présente et activée par défaut
- plusieurs autres évolutions qui poursuivent le travail de fond sur la cohérence et la robustesse du langage
Exemple de l’opérateur pipe permettant de chaîner des transformations :
<?php
$result = " hello forum php 2025 "
|> trim(...)
|> (fn($x) => ucfirst(str_ireplace('php', 'PHP', strtolower($x))))(...)
|> (fn($x) => "$x - you rock!")(...);
echo $result; // Hello forum PHP 2025 - you rock!
FrankenPHP en dehors des sentiers battus
Toujours fidèle au rendez-vous, Kévin Dunglas est quant à lui revenu avec un talk « FrankenPHP en dehors des sentiers battus ».
Ce serveur PHP moderne, développé en Go et en C et reposant sur Caddy, a connu une adoption et une popularité fulgurantes. Il bénéficie désormais du soutien officiel de la PHP Foundation, d’une intégration native dans plusieurs frameworks majeurs tels que Laravel, Symfony ou Drupal, et d’un support étendu par des plateformes comme Upsun, Laravel Cloud ou Clever Cloud, tandis que des initiatives communautaires œuvrent à son support pour Magento 2 / Adobe Commerce par exemple.

Après un bref rappel des bases, Kévin s’est surtout concentré sur les nouveaux horizons que FrankenPHP ouvre aux développeurs, avec la possibilité :
- d’écrire des extensions PHP directement en Go, à travers cet exemple et cet autre exemple
- de créer des workers personnalisés pour ces extensions
- de disposer d’une queue native intégrée, pensée pour des besoins simples, sans devoir recourir à des outils externes plus importants comme RabbitMQ ou Beanstalkd.


Symfony UX Live Components
Félix Eymonot a quant à lui proposé une démonstration des Symfony UX Live Components, un outil qui permet de créer des interfaces dynamiques sans écrire une ligne de JavaScript.

L’objectif : simplifier l’interactivité côté client tout en conservant la robustesse et la logique serveur propres à Symfony. En construisant un dashboard interactif dans sa démo, Félix a illustré comment les Live Components reposent sur des mécanismes à la fois réactifs pour l’utilisateur final mais intégralement gérés et développés côté serveur.
Graphiques dynamiques, filtrages instantanés, interactions fluides, tout cela sans quitter le confort du PHP, grâce à une intégration transparente entre Twig, Symfony UX et Live Components.
Ce socle ne vise pas à remplacer les frameworks front modernes ou les interfaces riches, mais il s’impose comme une solution élégante et efficace pour des besoins simples type tableaux de bord ou reporting par exemple, où l’on cherche avant tout la simplicité et la rapidité de mise en œuvre.
👉 Consultez la démo sur GitHub.
Bonnes pratiques : du code sûr à l’architecture durable
Après les explorations autour du langage et des outils, une énième thématique du Forum ramenait au cœur du métier : concevoir du code fiable, sécurisé et des architectures résilientes.
Encore une fois, 3 conférences complémentaires pour aborder la qualité logicielle sous toutes ses formes : la sécurité au quotidien, la résilience en production, et l’architecture sur le long terme.
Sécuriser les développements
Amaury Bouchard a ouvert cette série de conférences avec un rappel salutaire : la sécurité reste le premier rempart de la qualité logicielle.
Dans son talk « Les bases de la sécurité des développements Web », il a passé en revue les principales failles que tout développeur est susceptible d’introduire, souvent sans même s’en rendre compte : injections SQL, XSS, CSRF, SSRF, erreurs de configuration de serveur, etc.

Loin d’un simple inventaire de vulnérabilités, sa présentation se voulait pédagogique.
Amaury a détaillé pour chaque type d’attaque les mécanismes d’exploitation, les erreurs de conception qui les rendent possibles, et surtout les réflexes à adopter pour s’en prémunir :
- validation stricte des entrées
- gestion de l’exécution du javascript, via notamment le Content Security Policy (CSP),
- vérification de la provenance du trafic
- gestion fine de la configuration serveur
Un talk accessible mais essentiel, qui rappelait que la sécurité n’est pas un sujet à déléguer, mais une responsabilité partagée par chaque développeur, du framework au déploiement.
👉 Retrouvez le lien de la présentation pour plus d’informations.
Améliorer la résilience d’une application
Avec son talk « Quatre patterns avancés pour améliorer la résilience d’une application », Pascal Martin a livré une présentation aussi claire que vivante, illustrée, tout au long, par une métaphore bien choisie : la machine à café.
Une façon ludique d’aborder un sujet pourtant sérieux : comment faire en sorte qu’une application continue de fonctionner correctement même quand tout ne se passe pas comme prévu.
“Everything Fails All The Time” Werner Vogels, CTO, Amazon


Partant des mécanismes classiques (timeouts, retries, circuit breakers), il a exploré des approches plus fines, comme le Random Jitter, le Constant Work ou le Shuffle Sharding, autant de patterns destinés à lisser la charge, répartir intelligemment les requêtes et éviter les effets de cascade.

Pascal a rappelé une idée clé : la résilience ne se mesure pas à l’absence de panne, mais à la capacité du système à y résister sans dégrader l’expérience utilisateur. Un talk à la fois fun et instructif, qui donnait envie de revoir ses propres architectures, ou au moins sa machine à café…
Allier qualité de conception et pragmatisme
Pour conclure cette dernière thématique, Olivier Mairet a partagé un retour d’expérience avec « 10 ans de Clean Architecture chez OpenClassrooms : le rêve, la réalité, les leçons ».

Loin des schémas parfaits, Olivier a partagé comment la plateforme a dû s’adapter, parfois non sans heurts, pour corriger une conception initiale trop rigide et fragile, en évoluant vers une approche de Clean Architecture : les compromis nécessaires, les choix techniques parfois remis en cause par la suite, et les bénéfices concrets obtenus en matière de testabilité, de maintenabilité et de clarté des responsabilités dans le code.
“Une architecture qui n’évolue pas est une architecture morte !”
Une présentation rationnelle sur le fait qu’une bonne architecture n’est pas une quête de pureté, mais un équilibre mouvant entre exigences techniques, contraintes métier et pragmatisme.
Pragmatisme vs Dogmatisme !

En résumé
Cette édition anniversaire du Forum PHP n’était pas seulement celle des célébrations, mais aussi celle de la continuité.
30 ans après la création du langage, la communauté montre qu’elle avance avec lucidité : ouverte à l’IA, attentive à la performance, curieuse des nouveaux outils, et exigeante sur les fondamentaux.
Plus que des annonces ou des présentations, c’est une maturité collective qui se dégageait : celle d’un écosystème qui sait évoluer sans se renier, expérimenter sans se disperser, et transmettre sans dogme.
Un Forum riche donc, tant techniquement qu’humainement.
Un grand merci à l’AFUP et à tous les intervenants pour la qualité des échanges et l’énergie partagée tout au long de ces deux journées. Vivement la prochaine édition pour continuer à apprendre, échanger… et célébrer, encore une fois, la vitalité de la communauté PHP.
Pour en savoir plus, contactez l’un de nos experts
👇