Le Forum PHP s'est tenu les 13 et 14 octobre 2022. Petit retour sur ces deux jours de conférences et rencontres devenues depuis plus de 20 ans le rendez-vous à ne pas manquer, et on vous explique pourquoi.
C'est dans un lieu inédit que s'est tenu ce Forum PHP 2022, les salles de conférences de l'hôtel New York – The Art of Marvel à Disneyland Paris, de quoi donner lieu à d'innombrables plaisanteries de la part de vos collègues jaloux de ne pas avoir pu venir. Alors, non, on n'a pas vu Mickey, mais on a vu Alexandre, le président de l'AFUP, lancer ce Forum PHP que nous avons eu comme chaque année le plaisir de sponsoriser, à la fréquentation-record cette année avec 774 participants.
Alors, si vous n'êtes jamais venu à un Forum PHP, imaginez déjà beaucoup de développeurs réunis dans un même lieu à parler architecture hexagonale, pattern, debug, docker mais aussi dernier set lego sorti (le Lego Store pas loin a fait des ravages...). Il y a aussi du coup de fortes chances que vous croisiez des anciens collègues mais peut-être aussi, sans le savoir, vos futurs collègues. À peu près tout le monde sur ce forum vous le disait d'une façon ou une autre "on recrute, venez sur notre stand". D'ailleurs, au passage, comme tous les sponsors, nous aussi on recrute... Bref, c'est beaucoup de discussions et de retrouvailles mais aussi des conférences, à raison de deux en parallèle, ça donne une bonne trentaine de conférences. On ne va donc pas vous en faire un débriefing exhaustif et détaillé mais vous donnez quelques infos sur celles qu'on a vues pour vous donner envie de les voir une fois disponible en ligne.
Et dès le jeudi matin, il n'était pas encore 10h que la première conférence nous a plongé direct dans le sujet. Nous aider à comprendre le fonctionnement profond d'Elasticsearch, ou comment Apache Lucene indexe et recherche dans les documents et comment l'aider à tokeniser tout ça grâce aux filtres et autres générateurs, c'est ce à quoi Mathias ARLAUD s'est attaqué avec "De l'humain à l'ordinateur, ou découvrir le sens d'un texte avec ElasticSearch", le tout en décryptant une équation de maths. Heureusement, le prof de maths est plutôt doué pour simplifier les choses complexes et on comprend tout.
De maths, il était encore question et pas qu'un peu pour la conférence du lendemain matin avec George BANYARD et "Typage en PHP comment ça fonctionne ?". Trop complexe diront certains. Peut-être, mais passionnant à écouter, autant qu'il est passionné, George développeur de la core team PHP nous a surtout rappelé que sous PHP il y a plein de C et des gens qui bossent sur le moteur, et plein d'évolutions possibles à venir. On a du coup tout compris de ce que fait vraiment strict_types, (re-)découvert le type never et entendu parler de typage coté userland alors qu'on se croyait à Disneyland nous ! Et à George revient aussi le prix de la meilleure conclusion : "Donc voilà !"
Que serait un événement PHP sans conférence de Pascal MARTIN ? Cette année, avec "Comprenez comment PHP fonctionne, vos applications marcheront mieux", il était venu nous raconter les entrailles de php pour nous parler sapi, mémoire et autres ressources. Que vous soyez ops ou dev, voire les deux, mieux connaître comment PHP fonctionne en interne vous aider à optimiser vos applications que ça soit au niveau du code mais aussi dans sa configuration en production.
Forcément à vouloir trifouiller dans les entrailles de PHP, allait bien en sortir une chose, et la chose c'est FrankenPHP que Kévin DUNGLAS nous a présenté le lendemain. "FrankenPHP, dans les entrailles de l'interpréteur PHP, de machines virtuelles et des threads" c'était à la fois une conférence sur FrankenPHP et l'ouverture au public du repository éponyme. À force de s'embêter avec Docker, l'idée est venu à Kévin d'embarquer PHP dans un serveur web comme Caddy. L'avantage c'est que vous obtenez du coup un serveur d'applications où celle-ci est embarquée directement avec le serveur web, donc beaucoup plus efficace à priori que même un php-fpm. Ajoutez à cela quelques petits bonus comme l'intégration des Early Hints et un mode worker où avec un peu d’adaptation de votre code, votre application pourra rester en mémoire une fois lancée, ça donne vraiment envie d'essayer !
Un autre truc qu'on essayera rapidement, toujours plutôt coté infra, c'est de faire tourner des workers PHP avec systemd comme nous le proposait Loick PIERA avec "Des workers PHP avec systemd et Symfony Messenger". Après une petite présentation de ce qu'est un worker et du composant Messenger de Symfony, qui nous permet de lancer des tâches en asynchrone, Loick nous montrait comment gérer ces process avec systemd. Plus habitué de notre côté à nous servir de supervisor pour cela, mais plus par habitude que par réel choix à vrai dire, la conférence nous aura donné envie d'essayer en tout cas avec quelques arguments intéressants comme le fait qu'on trouve maintenant systemd en standard sur toutes les distributions.
Toujours coté infra, Benoit VIGUIER nous a parlé d'"OpenTelemetry: vers un standard pour surveiller vos applications". Avec pour ambition de devenir un standard ouvert pour interconnecter nos applications et des APM, sans avoir du coup à embarquer dans votre application l'instrumentation propre d'un APM en particulier donc, OpenTelemetry a l'ambition de pouvoir pousser vos traces, logs et métriques à n'importe quel APM implémentant sa norme. Benoit nous explique surtout que la communauté PHP a un peu de retard dans l'adoption d'OpenTelemetry à son usage et que pour l'instant on peut surtout essayer les traces. Dont acte, on a hâte de s'y frotter un peu et de pouvoir remonter dans Jaeger nos spans, surtout qu'il existe déjà une intégration avec Symfony.
Avec "Sauve un-e dév, écris une doc !" , Sarah HAÏM-LUBCZANSKI voulait nous aider à architecturer, écrire et améliorer la documentation. C'était donc l'occasion de réentendre parler de Diataxis, car oui même la documentation a un framework... et surtout d'avoir quelques conseils, très pragmatiques, ne pas chercher à faire parfait mais au moins commencer à écrire, même ne serait-ce qu'un résumé de sa pensée pour l'étoffer ensuite. On a aussi fait le plein de quelques outils comme le dictionnaire des synonymes du CRISCO mais aussi des guides pour écrire un README ou même en avoir une code review.
Stéphane HULARD nous a parlé d'une documentation un peu plus technique, celle d'API avec "Tester à travers OpenAPI, ou comment valider votre documentation !". Avec Raven, un projet sorti pour l'occasion, Stéphane nous propose de pouvoir tester nos API en s'appuyant sur leur documentation tout en utilisant un jeu de données et vérifiant que les réponses obtenues soient bien celles attendues. L'approche est simple et efficace, tout en s'appuyant sur des PSR et des dépendances stables. Si en plus, on vous dit qu'il est prévu de pouvoir intégrer cela à PHPUnit pour mesurer la couverture de code, ça devient encore plus intéressant.
Avec plein de chats, "Revue de code : on n’est pas venu pour souffrir !" par Anne-Laure DE BOISSIEU voulait nous aider à mieux vivre nos revues de code, car oui parfois, ça peut mal se passer, l'ego, le stress, la quantité de commentaires, l'absence de contexte, tout cela peut parfois amener des quiproquos et un peu de souffrance. Mettre un peu de distance avec son code, le fameux Vous n'êtes pas votre code, comprendre et accepter que tout le monde puisse faire des erreurs, une démarche Egoless programming vous aidera déjà pas mal d'après Anne-Laure. Et puis surtout, elle nous présente ensuite la méthode Conventionnal Comments ou remettre un peu de contexte dans des commentaires et enlever toute ambiguïté dans l'écrit.
"Un moteur bien huilé", voilà un titre de conférence qui nous intriguait plutôt. Mais quand Thibault RICHARD nous a raconté comment son équipe a dû intégrer des centaines de règles métier dans une application pour un acteur du logement social, on a vite compris tout l'intérêt de mettre de l'huile dans le moteur. Et c'est avec un pattern simple mais efficace, le Rule Engine, que le moteur n'a pas grippé. En l'adaptant à plusieurs cas d'usage, le pattern a permis de garder un code simple et lisible. On a apprécié la capacité du conférencier à expliquer simplement son expérience et son utilisation de ce pattern bien puissant en nous donnant des exemples très concrets.
Amélie ABDALLAH aussi nous faisait un retour d'expérience avec "Comment être bien onboardé en tant que développeuse junior reconvertie ?". Après un petit burnout (et au passage elle nous confirme bien que c'est juste un joli mot pour dépression !), elle a eu de la chance de faire un bilan de compétences et de trouver rapidement une alternance. Elle a même eu la chance de coder dès son premier jour et de pouvoir du coup se la péter grave (sic!) avant de comprendre quelque temps plus tard que c'était un très mauvais démarrage et un gros indice d'un manque flagrant d’accompagnement pour une junior en pleine reconversion. Sans vous spoiler la fin, on vous rassure, une nouvelle expérience d'alternance dans une autre boite lui apportera ce qui lui a manqué dans la première expérience et c'est ce qu'elle nous raconte avec beaucoup d'énergie. Une conférence qu'on prendra plaisir à revoir, ce n'est pas tous les jours qu'on voit une alternante donner une conférence comme elle le dit elle-même !
Par contre, si vous êtes plus films d'horreur, on vous conseille sans hésiter "Ce qu'un crash complet de notre production nous a appris" par Jean-François LÉPINE. Non pas que la conférence ait été mauvaise, bien oh contraire, mais le récit de cette journée où la boite de Jean-François se retrouve sans prod, sans backup, sans code, sans... espoir en fait, nous a fait revivre à tous dans la salle nos pires souvenirs de crash de production. Et si vous ne l'avez pas vécu, vous le vivrez un jour, c'est le message et le sens de la conférence, donc autant s'y préparer. Comment se relever après un tel crash et quoi mettre en place pour ne plus jamais le revivre, c'est ce qu'avec beaucoup d'humilité Jean-François nous explique.
S'il y a une conférence que nous attendions impatiemment c'est bien celle de Nicolas GREKAS "Comment décide-t-on de créer un composant Symfony ?", tant on a suivi (popcorn dans la main) les psychodrames twiterrien à chaque sortie de composant qui venait marcher un peu trop sur les platebandes de telle ou telle librairie. C'est dire si on se doutait que cette conférence allait intéresser. Après un petit historique des composants et de l'histoire de Symfony depuis sa version 2, Nicolas n'a éludé aucune de ces controverses et arguments en ressortant les tweets parfois violents à recevoir et en démontant un à un les arguments d'un Symfony tout-puissant qui voudrait avoir la mainmise sur l’écosystème PHP. Très riche en slides et en explication, un peu trop peut-être, car malheureusement il aura manqué de temps à la fin pour avoir quelques débats avec le public.
Bien sûr il y a eu bien d'autres conférences qu'on a appréciées comme par exemple Papa et Maman nettoient l'internet de Hélène MAITRE-MARCHOIS et Mathieu MARCHOIS pour parler un peu écoconception ou encore Il était une fois... les navigateurs, l'histoire non pas de Christophe Colomb à Kersauson mais des navigateurs web, raconté par Noël MACÉ et dessiné par Pierre TIBULLE et d'autres encore... On a également aimé écouter Louis POUZIN venu nous parler de RINA le nouvel internet après avoir été un des pionniers de l'internet en travaillant sur le datagramme. Tout comme on aurait bien aimé écouter Stéphane BORTZMEYER, présent les deux jours du Forum, nous parler lors de la dernière conférence de Internet et la géopolitique si notre train de retour ne nous avait pas emportés loin du forum comme beaucoup d'autres avant même que l'heure fatidique de la fin ne sonne avec sa keynote de clôture !
Heureusement, de cette conférence manquée comme des autres, nous aurons bientôt les vidéos sur YouTube pour voir et revoir ces orateurs, parfois stressés, souvent drôles, toujours passionnés. Ce que vous ne pourrez pas retrouver en ligne par contre, ce sont les rencontres, l'apéro communautaire du soir, les petits concours ou démo sur les stands durant les pauses, les goodies (vous avez bien votre règle antistress et réconfort Prestaconcept ?), la fresque Lego des logos des antennes AFUP ou encore ce bon moment d'un Burger Quiz survolté avec des questions dignes de l'original.
Alors, l'année prochaine, on vous le dit de suite, prévoyez deux jours pour aller au Forum PHP, vous ne le regretterez pas !