La parole est aux speakers : Frédéric Bouchery
Jusqu’au mois de mai 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
PHP gotchasPHP a beaucoup évolué, mais certains comportements du langage continuent de surprendre, même chez des devs expérimenté•e•s. Ces comportements ne sont pas nécessairement des erreurs, mais le résultat de choix historiques et de compromis techniques. Certains de ces détails passent inaperçus jusqu’au jour où ils produisent un effet inattendu. Ils rappellent que le langage n’est pas toujours aligné sur notre intuition et qu’il faut parfois aller au-delà des apparences pour comprendre ce qui se joue vraiment dans le code. La session proposera une exploration interactive de ces situations (venez avec votre smartphone). Chaque exemple sera l’occasion d’examiner le comportement réel du langage, d’en comprendre la logique et de voir comment l’éviter grâce à des outils d’analyse statique comme PHPStan. En filigrane, il s’agit surtout d’apprendre à reconnaître nos propres biais de confiance, car la plupart du temps, le piège ne vient pas de PHP, mais de la façon dont on le lit. |
E.S.G.I. 22/05/2026 13:50-14:30 |
Chaque langage a ses bizarreries. Est-ce que selon toi, ces petites étrangetés de PHP sont des défauts de conception ou est-ce que ça fait partie de son charme et de sa flexibilité ?
Les « étrangetés » de PHP, c’est le poids de son histoire, mais cela arrive à tous les projets informatiques à leur échelle. Ce n’est pas toujours un défaut de conception et les facteurs sont nombreux.
Déjà, il y a sa diffusion : plus un projet est diffusé, plus il nous échappe. Quand on doit le faire évoluer, il faut impérativement prendre en compte l’impact que cela va avoir et souvent il est difficile de savoir comment il est vraiment utilisé. Il y a deux approches : tout casser ou modifier progressivement en passant par des dépréciations.
PHP a dû adopter cette deuxième approche en raison de sa très grande diffusion et de son utilisation dans des projets très importants. Cela conduit à des comportements pas toujours très cohérents, mais nécessaires avant le grand ménage (PHP 9 va faire mal).
Un autre facteur qui influence tous les projets informatiques, c’est le turnover. Plus vous avez de devs qui passent sur votre projet et plus l’entropie augmente conduisant à de l’incohérence, car chacun a sa vision de la façon de « bien » faire les choses. Un projet dont les membres changent très peu se dégradera moins vite que les autres.
PHP n’a pas échappé à ce changement de vision, surtout au début. L’espérance de vie en bonne santé des logiciels, c’est en moyenne 3 ans. À partir de 3 ans, on commence à ressentir le besoin de faire des changements en profondeur car les évolutions ne sont plus aussi fluides qu’au début. PHP tient bien la barre depuis 30 ans et on peut quand même supporter quelques « étrangetés ».
Le dernier facteur d’incohérence, c’est la concurrence : certaines fonctionnalités ou concepts que l’on trouve « cool » chez des concurrents ne sont pas toujours adaptables, car le contexte est très différent, et quand on craque sous la pression de la hype, cela peut nous conduire à dégrader notre application pour assouvir une envie dont la plus-value n’est pas toujours démontrée.
La sédimentation technique de PHP est le prix à payer pour une accessibilité universelle et on ne change pas le moteur d’un avion en plein vol sans quelques compromis. Les incohérences sont des cicatrices des époques traversées et du renouvellement des contributeurs·trices.
Est-ce un défaut de conception ? Est-ce du charme ? C’est surtout la preuve qu’un outil qui vit, qui change et qui s’adapte, finit forcément par avoir quelques rugosités. C’est le prix de sa longévité.
PHP is not Dead, it’s a Cat …
Parmi tous ces « gotchas » que tu vas nous présenter, est-ce qu’il y en a un en particulier qui t’a fait perdre une journée entière de debugging et dont tu as envie de te venger sur scène aujourd’hui ?
Je vais éviter de spoiler ce que je vais dire, mais sachez que la grande majorité des situations que je vais présenter sont des cas que j’ai en effet rencontrés. Très souvent, c’est lors d’une review que le doute s’installe. Quand on fait une review de code, on doit interpréter ce qu’il va faire, car on n’a pas le temps de « checkouter » la branche pour exécuter le code.
Je sais que les devs de mon équipe font un super boulot, et je leur fais confiance, mais j’essaie toujours de prendre un peu d’avance sur ce que le code va devenir quand on l’utilisera dans d’autres contextes, et parfois, même si je connais bien le langage, j’ai des doutes. En 28 ans de PHP, dont une bonne quinzaine à faire de la review, des cas « bizarres », j’en ai rencontré pas mal.
J’ai aussi quelques cas qui me viennent en lisant les RFC qui justement viennent clarifier certains comportements ou les corriger.
Tu as fais beaucoup de conférences sur des thèmes techniques, est-ce que tu penses que faire un sujet plus ludique apporte autant ?
Ce n’est pas la première fois que j’ai l’occasion de faire des choses ludiques comme ça, et je mets toujours un point d’honneur à apporter des connaissances au travers de mes exemples. J’apprends de nouvelles choses tous les jours, y compris sur le langage que je pratique depuis très longtemps, et j’adore partager mes découvertes. Avec mon expérience, quand je découvre un comportement, il y a de bonnes chances qu’une personne moins expérimentée le découvre également. Parfois, je présente des cas tordus que tout dev bien sensé n’aura l’idée de mettre en pratique, mais à chaque fois c’est l’occasion de parler plus sérieusement d’une subtilité du langage qui peut être générateur d’anomalies dans certains contextes. À travers ces exemples, je fais de la prévention, et la prévention est toujours bien plus payante que la correction en prod, un vendredi soir à 18h. Et puis je trouve qu’on apprend mieux en s’amusant !
Une conférence présentée par
|
Frédéric BOUCHERY |
Architecte et lead developer pour le groupe CCMBenchmark, Frédéric gère le pôle OpenData qui met à disposition plus 2 milliards de données à travers les sites du JournalDuNet, Linternaute, JournalDesFemmes et le Figaro. Amoureux du langage PHP depuis 1998, Frédéric aime en parler dans ses conférences et sur les réseaux sociaux. Si vous avez des questions, il devrait pourvoir vous répondre. |