Retour sur le Symfony Live 2024 Paris

Nous sommes deux sociétaires de Magnétic à avoir assisté à la dernière édition du Symfony Live Paris. Nous avons trouvé toutes les conférences intéressantes, même sur des sujets a priori maîtrisés, il est toujours bon de réentendre les bonnes pratiques.

On vous propose ici de se concentrer sur ce qui a le plus attiré notre attention.

L'initiative Symfony UX

Les différentes conférences de Kévin Dunglas, Simon André et Mathéo Daninos ont mis à l'honneur Symfony UX et les avantages qu'il est possible d'en tirer.

Symfony UX permet de créer des interfaces riches de manière simplifiée. Pourquoi utiliser et charger de nombreuses bibliothèques et développer sur mesure des fonctionnalités, alors que l'écosystème Symfony met maintenant à disposition des outils qui permettent plus simplement d’ajouter de l’interactivité et des comportements dans nos interfaces ? Ce, tout en déchargeant les intégrateurs et développeurs frontend d’usages classiques et récurrents pouvant être pris en charge par les développeurs backend ?

Symfony UX met en effet à disposition toute une série d'outils, permettant notamment la création de composants dynamiques et interactifs (LiveComponents) au service de l'expérience utilisateur.
Il s'agit, comme son nom l’indique d'une approche « composant », donc un rendu de template décorrélé du reste de la page, avec son propre code JavaScript et des comportements qui ne sont liés qu'à lui-même. Exemple : des boutons d'actions, des requêtes AJAX qui permettent le rafraîchissement du template sans impacter le reste de la page, ou la propagation d’une mise à jour à d'autres composants.
 Symfony UX utilise le framework JavaScript Stimulus, installé comme une dépendance Composer, qui apporte aussi son lot de composants UX (compteur de caractères sur un champ de type texte, etc.).

Chez Magnétic, nos premières expériences autour de l’intégration de composants issus de Symfony UX ont été convaincantes et nous ont très vite inspiré l'envie de l'ancrer dans nos pratiques.

Les logs

Chez Magnétic comme dans toutes ESN ou agence Web, le suivi d'anomalies ou d'activité est un enjeu crucial.

C'est dans ce registre, lors de sa conférence « Vos logs méritent mieux que la config par défaut », que Grégoire Pineau a commencé à nous parler d'observabilité. Il nous a réexpliqué l'intérêt de logger et comment bien le faire notamment grâce au standard PSR3. Après ces rappels, nous avons fait un peu le tour de Monolog qui est le logger par défaut dans Symfony.
Où logger ? Quoi mettre dans son log, notamment un message clair, sans oublier d'utiliser les processors bien pratiques pour enrichir les données qu'on logge.

Cette conférence tombait à point car la journalisation était un sujet en cours sur l'un de nos projets chez Magnétic. Nous avons ainsi saisi l'occasion d’enrichir et améliorer nos pratiques actuelles.
 

Les tests

Les tests permettent de contrôler certains traitements indépendamment de l'interface ou de simuler une navigation pour s'assurer que le rendu des pages reste conforme aux attentes définies.

Nous avons assisté à deux conférences très intéressantes autours des tests, présentées par les deux seules femmes qui sont montées sur scène.
 « Comment tester une API externe en ayant 0 Mocks ? » par Ezzine Imen et
 « L'instabilité de nos tests nous empêche de délivrer » par Sofia Lescano.

Ezzine Imen a exposé les avantages et inconvénients des solutions généralement utilisées lors de l'exécution de tests qui ont des dépendances à des API externes. Elle nous a montré PHP-VCR qui résout bon nombre de ces inconvénients en conservant tout autant ces avantages.
Chez Magnétic, nous avons déjà utilisé l'approche exposée pour contrôler les API, et on sait maintenant que l'on peut s'appuyer sur des implémentations standards telles que présentées dans la conférence.

Sofia Lescano de son côté, nous a parlé des flaky test ! Ce sont des tests peu fiables, car ils sont en succès ou en échec aléatoirement, sans raison apparente. Elle a exposé à l'auditoire comment éviter ces cas au travers de règles et de bonnes pratiques. On y a découvert quelques cas d’échec réels, parfois étonnants : des années bissextiles aux dates « futures » qui un jour deviennent passées, en passant par des données aléatoires dont certaines valeurs peuvent faire exception à un moment donné, ou encore des dépendances à des fonctionnalités temporairement désactivées… Le tout dans une bonne humeur autour d'un sujet qui a plutôt tendance à fâcher quand il se produit dans l'opérationnel, et qui nous a apporté quelques pistes de vigilances.

En conclusion

Nous avons passé un très bon moment dans ce cadre magnifique et avons pu nous sustenter à tous les niveaux (difficile de revenir à seulement trois repas par jour après !!). L’ensemble des conférences était cohérent, d’autant plus que certaines rebondissent sur d'autres. Espérons qu'il y ait plus de diversité et de mixité chez les contributeurs·rices sur scène ainsi que dans le public pour la prochaine édition.

Rendez-vous l'année prochaine  !

Marc Thomas & Sebastian Schawohl