Deuxième journée du PHP Forum 2019

2019-12-17 | Benoît PETITCOLLOT

image article

Forum PHP 2019

Vendredi 25/10 matin

C'est reparti pour une journée sous le signe de l'éléPHPant. Cette fois, on est à l'heure.

Comme pour la première journée, notre but n'est pas de vous restituer en détails le contenu des interventions : Celles-ci sont disponibles en intégralité sur la chaîne youtube de l'AFUP. On vous présente plutôt les aspects qui nous ont marqués, ce qui nous donne envie d'aller les revoir (ou pas) en vidéo.

Si Darwin avait raison, l'agilité fonctionne par hasard

On commence cette journée avec une conférence de François Zaninotto. Fidèle à lui-même, il nous à livré une prestation de haute volée en se présentant sous le pseudonyme d'"Eugène Fournier", entomologiste, sur l'étude de l'agilité en entreprise. La mise en parallèle est faite tout en finesse avec des exemples pertinants comme le Phalène du bouleau pour montrer que l'agilité multiplie les mutations rapides afin de faire émerger des comportements durables en entreprise, ou alors en comparant les virus avec les consultants qui transmettent des mutations non pas par hérédité mais en se propageant entre les entreprises. - Louis

GraphQL, plus de raison de ne pas l'essayer !

Encore une technologie dont je ne connais que le nom. Mais qu'est ce que j'ai fait de ma vie de développeur ces dernières années ?? Au terme de cette présentation, je retiens que GraphQL fournit une grande souplesse au client qui peut notamment spécifier le format de la réponse attendue suite à sa requête. L'accent a été mis sur la facilité de gérer du cache applicatif côté client et sur les aspects de sécurité. Voila de quoi méditer sur l'API que je développe actuellement... - Benoît

Aggressive PHP quality assurance in 2019

C'est pour moi la conférence la plus intéressante à laquelle j'ai assisté durant ce Forum PHP. Marco PIVETTA développe à quel point il est nécessaire de prendre en compte la qualité du projet dès le départ. Si celle-ci est négligée au départ, les coûts de développement et de correction vont grandir au fur et à mesure du projet. Il a poursuivi la présentation en nous montrant une panoplie d'outils et de conseils afin d'accompagner le développeur. Voici quelques outils parmi tous ceux qu'il a pu citer et expliquer: psalm/phpstan (analyse de code statique), you-are-using-it-wrong (de Roave - Vérification de types), Behat/Infection (pour les tests)... - Emeric

Le TDD dans la vraie vie avec Panther

Une séance très instructive de live-coding en Test-Driven-Development. Concrètement, on n'écrit jamais une seule ligne de code tant que la suite de tests passe sans erreur. Du coup, on commence par décrire la nouvelle fonctionnalité par un scénario de test. Ce nouveau scénario introduit une erreur dans la suite de tests qui nous autorise donc à écrire le code nécessaire pour le résoudre. On n'écrit pas plus de code qu'il n'en faut. Si on pense à quelque chose de plus raffiné, il faudra d'abord écrire un nouveau test qui le décrira. L'idée est séduisante mais je m'interroge sur la manière dont elle s'articule avec une architecture applicative globale cohérente. - Benoît

Symfony HttpClient vs Guzzle vs HTTPlug

Nicolas Grekas nous rappelle l'historique des clients HTTP et pourquoi Symfony a choisi de développer son propre client. Il nous présente les différents cas d'utilisation à travers une démo comparative de Symfony HttpClient, Guzzle et HTTPlug. En plus de simplifier la syntaxe d'instanciation du client, Symfony HttpClient affiche un gain de performances significatif lors d'appels multiples asynchrones. - Benoît

Symfony Checker is coming

Symfony Checker propose un ensemble d'outils d'analyse de code afin d'identifier de potentielles sources de bugs. Une intéressante plongée dans le monde de l'analyse de code présentée par Valentine Boineau ayant contribué à cet outil dans le cadre de sa formation. - Benoît

Améliorer les ventes d'un site e-commerce en touchant à peine au code

Pour cette seconde présentation sur le e-commerce Hamza Amrouche nous présente son retour d'expérience concernant l'amélioration des performances du site izi-by-edf.fr et l'impact que ces changements on eu côté utilisateurs et client. Nous avons tous constaté qu'au cours du temps un site mal maintenu peux rapidement devenir un gouffre pour les performances, ce qui semble déroutant pour du e-commerce. L'amélioration des ventes passe donc par une diminution du temps de chargement du site. La reprise de l'existant, pour l'améliorer, peux parfois faire peur surtout si l'environnement de développement est complexe. Néanmoins quelques principes peuvent être respectés pour faciliter cette phase de transition. On peut d'abord se fier à des outils d'analyse pour auditer précisément les latences au sein du site, sur quel support, à quelle vitesse se chargent les pages... Après cette phase d'analyse, il est temps de mettre les mains dans le code ! On peut rapidement obtenir de bon résultat en faisant un tour des requêtes SQL qui sont utilisées et en vérifiant que les temps d'exécution sont acceptables. Pour finir, Hamza Amrouche nous explique que le respect de ces quelques principes permet une amélioration des temps de chargement et donc une augmentation du nombre de ventes. - Florent

Vendredi 25/10 après-midi

Tout pour se préparer à PHP 7.4

Damien Seguy et son troupeau d'éléPHPants (en peluche) nous a embarqué pour un passage en revue de PHP 7.4 avec ses nouveautés bien pratiques et ses abandons de trucs qui n'auraient jamais dû exister. (Mais comment a-t-on eu l'idée d'écrire des ternaires imbriquées sans parenthèses ?) Parce qu'on n'a jamais fini de moderniser ses pratiques de développement, autant rester bien à jour. En cadeau, voici un lien vers les slides de Damien. - Benoît

Une année de PHP asynchrone en production

Après son lightning talk délirant de la veille, Benoît Viguier revient avec un sujet beaucoup plus sérieux : un très riche retour d'expérience de développement d'application asynchrone en PHP. - Benoît

De CRUD à DDD, comment Meetic a sauvé son legacy

Jean-Marie Lamodière nous explique comment Meetic à fait évoluer son architecture de CRUD à DDD. Cette conférence a été instructive, elle m'a permis de voir une autre façon d'appréhender les choses en termes d'architecture. Notamment en rajoutant une couche "Domain" permettant de faciliter le dialogue entre les équipes techniques et produit. Il nous a montré et expliqué une multitude de nouveautés et de bonnes pratiques qu'ils utilisent chez Meetic, et comment ils les ont adaptés à leurs besoins : l'utilisation de Value Object de manière répété, d'un Rich Domain Model, de Command/Query séparées... On peut résumer cette conférence par: "Le DDD, Oui ! Mais avec pragmatisme". - Emeric

L'architecture progressive

Après deux jours de conférences, on risque de repartir avec une montagnes de nouvelles technologies et de bonnes pratiques dont l'utilisation peut vite devenir insurmontable. Cette dernière présentation dédramatise la recherche de l'architecture applicative parfaite en remettant au centre de la réflexion le contexte des objectifs à atteindre. L'important est bien de choisir une solution technique adaptée au besoin, tant sur le plan de la qualité que de la complexité... ou de la simplicité ! Cette problématique est illustrée par un retour d'expérience sur le long terme. - Benoît

Gérez le Traefik de vos services

Il s'agit aussi pour ma part de la dernière conférence que j'ai suivi (le train n'attend malheureusement pas la fin du forum), Sylvain Combraque nous parle de Traefik. Après une brève présentation, on apprend qu'il s'agit d'un reverse-proxy et d'un load-balancer fait pour déployer des microservices. L'objectif est d'envoyer le trafic vers les services correspondant sans se soucier du cycle de vie de nos conteneurs. Traefik se démarque des outils existant par sa simplicité d'utilisation et de sa puissance, preuve à l'appui grâce à une petite démonstration d'une configuration via Docker. Après cette conférence très instructive, il est déjà temps de repartir en direction de Clermont-Ferrand. - Florent

Pratiquons la physique avec Star Wars !

N'ayant pas besoin de prendre le train, j'ai eu la chance de pouvoir assister à la dernière conférence du forum. Nous avons laissé de côté le monde du développement pour nous plonger dans celui de la physique, mais pas n'importe comment : grâce à Star Wars. Dans cette conférence Roland Lehoucq nous à fait part de sa réflexion sur la classification des Jedi par rapport à leur affinité avec la "Force". Armé de simples images et extraits vidéos des films, il estime la puissance des Jedi avec leur capacité de produire des phénomènes puis en les expliquant avec la physique : Luke qui soulève des caisses et R2-D2 est inférieur à Yoda qui soulève un vaisseau spatial, lui même inférieur à l'empereur Palpatine produisant des éclairs de plusieurs mètres de long. Une conférence fun pour clôturer ce forum dans la bonne humeur ! - Louis

Déjà la fin...

Et c'est malheureusement la dessus que se termine l'édition 2019 du Forum. Mon bilan de ce premier Forum PHP : Les présentations étaient toutes intéressantes bien que de niveau technique très divers. Plusieurs intervenants ont été carrément brillants en parvenant à faire comprendre simplement des choses pas évidentes du tout. Je regrette de n'avoir pas pris beaucoup de temps pour échanger avec les personnes qui ont tenu les stands dans le hall. Ce sera pour la prochaine fois quitte à zapper une séance de conférences. Enfin, je salue l'effort des organisateurs pour limiter les déchets et leur attention à créer un climat de convivialité et de bienveillance entre les participants.

À l'année prochaine !

A l'année prochaine !

Conférence 2019 Forum PHP