Première journée du PHP Forum 2019

2019-11-28 | Benoît PETITCOLLOT

image article

Forum PHP 2019

Jeudi 24/10 matin

Nous étions quatre développeurs d'ITNetwork (Emeric, Florent, Louis et moi-même) à participer à cette édition 2019 du Forum PHP. De mon côté c'était ma première participation à cet événement. Voici comment nous avons vécu ces deux journées de formation.

Le léger retard à l'arrivée de notre train ne nous a pas permis d'assister aux premières conférences du jeudi matin...

La clean architecture : pourquoi ? Comment ? Pour qui ?

Ce talk assez théorique sur l'architecture globale de nos applications a pour mérite d'avoir présenté de façon assez visuelle l'architecture hexagonale afin de bien identifier le code qui nous appartient et celui qui est lié au framework que nous utilisons. L'accent a été mis sur le découplage afin d'assurer la maintenabilité de l'application et de faciliter l'écriture des tests. - Benoît

L'e-commerce sans accroc avec Sylius

Sans transition, on passe à un retour d'expérience très concret sur la plateforme d'e-commerce Sylius. Bien que peu concerné, j'apprécie toujours d'avoir un témoignage personnel détaillé sur un produit. On ne sait jamais, ça peut parfois servir plus tôt qu'on ne le pense. Merci aussi à Olivier Allain de s'être prêté à cet exercice où il ne faut pas craindre d'être jugé sur ses pratiques personnelles de développement. - Benoît

Applications résilientes dans un monde partiellement dégradé

Après la petite pause du matin, nous partons avec Pascal Martin dans le monde de la résilience applicative. Il aborde dans un premier temps les différents termes techniques du sujet (X-nines, SLI / SLO / SLA, blast radius), puis nous démontre à l'aide de schémas simples, que le niveau de disponibilité de nos applications n'est peut être pas celui auquel nous pensions. Car nos belles applications en micro-services ne sont pas mieux que de des applications monolithiques si celles-ci n'ont aucunes communications asynchrones qui permettent d'éviter que la chute d'un seul service entraîne toute l'application. De là, il nous parle de différentes techniques pour se préparer à la chute de notre application avec : le mode dégradé, le circuit breaker et le chaos engineering. Enfin, la chose la plus importante à retenir de cette conférence est sans aucun doute cet état d'esprit : "Tout peut et tout va casser" - Louis

Concevoir des applications PHP résilientes en 2019

Cette fois on aborde un outil plus transversal : Le pattern "circuit breaker", à travers la présentation d'une bibliothèque intégrée à Prestashop, qui permet de gérer la résilience d'une application. A travers quelques exemples, nous avons pu réfléchir au comportement de notre application en mode dégradé (par exemple lorsqu'un service n'est pas disponible) et aux mécanismes de retour au mode normal lorsque celui-ci est de nouveau possible. - Benoît

Sur ce, le buffet était servi, un peu sous-dimensionné, mais une commande de pizzas a su venir à bout de l'appétit des plus voraces !


Jeudi 24/10 après-midi

PHP 8 et Just In Time Compilation

Après le repas, pour une bonne digestion, rien de tel qu'un peu de lecture de langage machine ! En tant que développeur web, on est quand même peu habitué. Mais des exemples simples (et bien expliqués) nous ont permis de comprendre quelques points importants de l'historique de notre langage préféré qui ont mené à PHP7. Je partirai de moins loin pour comprendre les prochaines évolutions. - Benoît

API Testing

Dans le même temps, une conférence sur l'API Testing a été présenté par Antonio PERIC-MAŽAR et Paula CUCUK. Dans cette conférence nous reprenons les bases du testing avec son utilité (réduction des bugs, amélioration de la qualité code, facilité de refactorisation, documentation basé sur les cas d'utilisation, gagner du temps sur la durée) et que les tests unitaires ne vont pas sans les tests d'intégrations. La présentation s'est orientée par la suite sur les outils que l'ont peut utiliser pour nos tests d'API tels que : PHPStan / PHP Matcher / Postman tests / Newman (intégration en ligne de commande de Postman). Ainsi que sur les outils pour tester la couverture des tests tel que PHPStan mais aussi Infection. Nous avons quand même été un peu déçus que la présentation n'ait pas abordé la documentation OpenApi (Swagger) avec l'utilitaire Dredd (dont vous pouvez retrouver notre article ici). - Louis

What's new with OPCache ?

Là aussi, ça ne fait pas de mal de s'intéresser aux possibilités offertes par des paramètres de configuration qu'on laisse souvent par défaut. C'était un peu trop pointu pour moi mais j'en garde un tour d'horizon et je laisse tout ça dans un coin de ma tête pour plus tard. - Benoît

Analyse des failles courantes en PHP

Pour cette conférence, nous retournons sur le banc des études avec un petit listing des différentes failles de sécurité que l'on peut trouver sur le web. Les failles les plus classiques sont abordées telles que : XSS, SQL Injection, Remote Code Execution, CSRF, XXE ou Denial of Service. Rien de bien nouveau pour nous, mais cela ne fait pas de mal de nous rappeler à quel point il peut être facile d'exploiter des failles si nous ne sommes pas consciencieux dans notre travail. - Louis

Mercure, et PHP s'enamoure enfin du temps réel

J'étais assez intéressé par cette présentation car j'avais déjà géré du temps réel en PHP avec des websockets et la bibliothèque Ratchet, ce qui n'allait pas sans poser quelques difficultés. Mercure est donc une nouveauté intégrée à Symfony depuis quelques mois qui permet de "pusher" des données depuis le serveur vers le client en utilisant le protocole HTTP2. J'ai pu aussi constater que Mercure traite d'autres problématiques que celles auxquelles je m'étais intéressé. - Benoît

Concevoir pour des futurs souhaitables

Pour terminer la première journée, Marie-Cécile Godwin et Thomas Di Luccio nous on présenté les différents futurs pour les années à venir. A travers cette mise en scène de futurs ouverts (toujours possibles) et futurs fermés (déjà disparus), la conférence s'adressait davantage au consommateur de technologie qui vit dans chaque développeur. - Louis

Les traditionnels lightning talks ont suivi. Je retiens cette démonstration en 5 minutes de l'utilisation en PHP de la SDL, la célèbre bibliothèque graphique en C. A la fin de la présentation, on constate (avec stupeur) que le diaporama qu'on vient de regarder était lui-même réalisé avec la SDL, ce qui déclenche un tonnerre d'applaudissements. Le grand écart avec la présentation collapsologique précédente ! - Benoît

Conférence 2019 Forum PHP