Accueil Nos publications Blog REX Symfony World Online 2022 Summer Edition

REX Symfony World Online 2022 Summer Edition

Retour sur le Symfony World Online 2022 Summer Edition avec William PINAUD, expert PHP au sein de notre agence de Limoges et speaker lors de ce nouveau rendez-vous des experts Symfony / Web / PHP :


Retour sur ce Symfony World Online et commençons par féliciter l’équipe Symfony pour l’organisation de cet événement. Merci à Javier, Nicolas, Fabien, Anne-Sophie, Alicja et à tou·te·s ce·lles·ux qui ont participé à cet événement. Ce fut, comme d’habitude, un très bon moment.

Quelques éléments en guise d’introduction :

  • Des ateliers étaient mis en places mais je n’ai pas pu y participer malgré mon envie
  • Jusqu’à présent, je n’ai pas eu le temps de regarder toutes les autres conférences disponibles en replays 
  •  L’événement a duré 4 jours : deux jours d’ateliers et deux jours de conférences
  • Il y avait un total de 18 conférences
  • Les journées de conférence se déroulaient de 10h du matin (fuseau horaire de Paris, CET), à 16h, les deux jours
  • Comme d’habitude, le format typique était : environ 30 minutes par présentation, 5 à 10 minutes pour les questions, les intervenants étant invités sur le chat pendant toutes les présentations, surtout la leur, où ils doivent répondre aux questions à l’écrit, puis ils passent en visio et répondent aux questions restées dans le chat
  • Chaque conférence dispose d’une session de chat dédiée, décomposée en plusieurs colonnes, parmi lesquelles : participants, chat général, Q&A
  • Le planning est toujours visible ici
  • Il y a eu entre 1 et 2 conférences simultanées, comme d’habitude mais il est possible de regarder celles loupées en replay

« The Single-Page Application Dilemma » par William Pinaud

visuel officiel de la participation en tant que speaker de William Pinaud

Une fois de plus, j’ai eu le privilège et l’honneur d’être invité en tant que conférencier, cette fois-ci pour ma conférence.

Je vous partage le résumé de ce que j’ai écrit : 

À la lumière d’un faisceau de nouveaux concepts, paradigmes, changements technologiques, modifications de comportement des utilisateurs et métamorphoses sociales, la façon dont nous construisons des applications légères comme des applications Web a changé.

En passant par un programme standardisé comme un navigateur et en utilisant des standards comme ceux du W3C, de l’IEEE, de l’ISO ou du MIT. A l’ombre des géants de l’informatique « Big Tech » comme Alphabet, Alibaba, Meta, Netflix, Twitter, LinkedIn, … les habitudes des utilisateur·trice·s ont changé. Brave new world !

Comme je le dis toujours : « maintenant ta mère est sur son smartphone, vérifiant les comptes bancaires à 2 heures du matin, pendant que ton père fait du shopping sur Wish. Vos enfants ? Ils envoient désormais plus de dizaines de milliers de requêtes HTTP par jour. »

Le Web est désormais composé de plus de 100 millions de serveurs, connectant plus de 21 milliards d’appareils IoT/mobiles. On ne peut toujours pas faire confiance aux réseaux, bien que la 6G soit en cours d’assemblage, que les gens s’attendent à ce que les choses fonctionnent dans les avions à Mach 0,8, nous avons commencé à proposer l’informatique quantique en tant que service, et de nombreux endroits et personnes dans le monde ont un meilleur accès aux smartphones que d’avoir de la nourriture et de l’eau.

A la croisée des chemins d’une dizaine de facteurs, certaines tendances sont apparues. JavaScript partout, frameworks frontend, nouvelles architectures web, concepts, idées, contraintes, mode hors ligne, etc. Parmi tout ça, les applications single-page ont commencé à se développer depuis leur premier brevet en 2003 et sont devenues très très populaires… Pensions-nous.

Que sont-elles ? Pourquoi en vendons-nous ? Sont-elles vraiment nécessaires ? Qu’y a-t-il derrière toute cette hystérisation ? Qui est en charge de tels concepts ? Saurez-vous les entretenir ? A quel prix ?

Eh bien. Vous pourriez être assez surpris des réponses. De la conception transversale au rendu côté serveur, des composants Web à Hotwire, d’AJAX aux service workers, des préjugés commerciaux au CV-driven development, de Stimulus et Turbo à Symfony UX, de jQuery à SvelteKit, nous partons pour un petit voyage, de sorte que nous nous asseyons enfin ensemble et prenons un peu de temps pour parler de cet éléphant dans la pièce (qui, pour une fois, n’est *PAS* celui de PHP).

A travers cette conférence, nous allons :

  • Comprendre les changements de paradigme auxquels nous avons été confronté·e·s au cours des deux dernières décennies
  • Déchiffrer les feuilles de route et les stratégies Big Tech et comment elles affectent nos choix et nos égos
  • Voir un peu d’histoire du web et de ses principales évolutions
  • Démasquer les véritables raisons commerciales pour lesquelles les SPA existent et découvrir comment elles sont encore utiles dans certains cas
  • Passer en revue les outils dont nous disposons pour éviter de les utiliser
  • Et enfin, ouvrir nos esprits aux nouvelles tendances qui ont besoin d’être démystifiées comme celle-ci


Après cette brève autopromotion éhontée, parlons des autres conférences. 


Sans rentrer dans le détail, je vous donne quelques points clés des présentations auxquelles j’ai assisté afin de vous offrir la visibilité nécessaire et de vous motiver à aller visionner les replays.

Keynote de Fabien Potencier

Comme d’habitude, laissons le fondateur de Symfony ouvrir la voie.

visuel officiel de la participation en tant que speaker de Fabien Potencier

Fabien nous a fait vivre un parcours typique de ses journées, en passant par une résolution d’un simple bug via des tests Blackfire pour le nouveau site Web Symfony, ainsi que par le composant ExpressionLanguage, puis dans Twig / ExpressionLanguage.

Découvrir Twig

  • Ce qui, à la fin, l’a amené à pousser une nouvelle version de Twig et à créer Twig 4
  • La version minimale de PHP serait PHP 8.1 pour cette nouvelle version
  • La recherche CamelCase et snake_case serait ajoutée pour les références aux identifiants PHP
  • Des incohérences mineures seraient corrigées
  • Ainsi, Twig 4 serait publié avec Symfony 6.2 en tant que nouveau composant

« (Re)discover the Symfony Console » par Jérome Tamarelle

Passer en revue de nombreux trucs et astuces pour utiliser le composant Console.

  • L’auto-complétion : comment l’utiliser et à quel point c’est cool !
  • Une petite démo avec des options prédéfinies d’interactivité (questions/ questions cachées)
  • Une petite démo amusante avec le Fish shell, que je ne connaissais pas ! 
  • Des barres de progression personnalisables
  • Des tableaux de sorties préparés
  • LockableTrait pour utiliser un sémaphore afin d’empêcher les appels parallèles

« An SSO with Keycloak and Symfony » par Laurent Voullemier

visuel officiel de la participation en tant que speaker de Laurent Voullemier

Laurent Voullemier nous propose un voyage à travers OICD, Keycloak et le Single Sign-On.

Une démo avec beaucoup de code sur la façon d’utiliser toutes les API et UI Keycloack pour configurer et utiliser l’autorité d’authentification externe.

Cela est fortement intéressant, surtout si, comme moi, vous avez récemment été mis au défi avec du SSO et OICD. Cette partie de la présentation est passionnante et pousse à creuser encore ce sujet.

« Writing Testable Symfony Apps » par Anna Filina

Passons en revue la pyramide des tests : 

  • Un exemple simple sur un contrôleur
  • Comment ne pas se retrouver avec beaucoup de tests sur un petit groupe de classes
  • Petits conseils : n’étendez pas les classes du framework, utilisez plusieurs types de test, extrayez la logique métier de l’infrastructure et utilisez de petites classes immuables
  • Anna a une excellente chaîne YouTube, jetez-y un coup d’œil
vision de la pyramide des tests d'anna filina

« Developing a decentralised web application with Symfony and API Platform » par Kevin Dunglas

web 3 : don't believe the hype

Encore présent lors de cette édition, Kevin Dunglas nous a rappelé à quel point nous dépendons des MAAMA et des super entreprises du monde entier. Un des points que j’abordais dans ma conférence également.


Cette fois, la discussion ne portait pas vraiment sur la API Platform. En effet, il est venu expliquer que deux conceptions divergentes du Web 3.0 étaient en jeu, l’une étant plus désirable que l’autre.

Enfin, il a conclu en présentant Solid, une spécification qui permet aux utilisateurs de stocker leurs données en toute sécurité dans des magasins de données décentralisés appelés Pods.

« What’s new in Symfony 6.1 ? » par Nicolas Grekas

Nicolas a parlé du chemin à prendre pour les montées de version et fait un état des lieux de Symfony 6.1 :

  • Essayer de faire une fois par mois composer update symfony/*
  • Mettre à niveau chaque version mineure tous les 6 mois
  • Symfony 4.4+ prend désormais en charge PHP 8.0, 8.1 et 8.2 (jusqu’à présent, pour ce dernier)
  • Attributs, énumérations, etc. Bon nombre de nouvelles fonctionnalités de l’API PHP ont été ajoutées
  • Beaucoup de code obsolète a été supprimé
  • Un typage un peu plus fort, des signatures, etc. Grâce aux nouvelles possibilités de PHP
  • Symfony 6.1 nécessite désormais PHP 8.1 et 6.2 nécessite 8.2. Facile à retenir ^^.
  • Beaucoup d’améliorations des performances sont encore au programme
visuel de la slide de nicolas grekas appelée cheap upgrades

« When you get lost in API testing » par Paula Čučuk

tableau de test api par Paula Čučuk

Paula utilise beaucoup API Platform, elle se lance donc dans la démonstration de son utilisation au quotidien et teste les projets sur lesquels travaille au sein de son entreprise.

Bien sûr, les tests fonctionnels avec API sont plus faciles car il n’y a pas d’interface utilisateur.

Lors de sa conférence, elle a passé en revue la réinitialisation et le remplissage de la base de données, un problème commun partagé avec les cas de test.

Tester les API n’est pas une chose que j’ai eu à faire jusqu’à présent, alors merci Paula, pour ce temps gagné sur l’avenir.

« Symfony and open source at the service of society » par Titouan Galopin

Titouan nous a raconté ce qu’il a fondé au fil des ans, notamment durant l’urgence COVID pour les organisations, les plateformes politiques pour aider les partis, ainsi que des plateformes destinées à venir en aide à l’Ukraine.

Une conférence permettant de se projet sur comment créer des applications au milieu d’une crise. Comment utiliser les logiciels au service de la société et des besoins des personnes ? Enrichissant, comme toujours, et une excellente occasion de prendre le temps de réfléchir sur ce que nous faisons des logiciels que nous créons.

« Controlling Smart Light Bulbs with Symfony Console and PHP » par Sherri Wheeler

code proposé par Sherri Wheeler

Sherri a montré comment contrôler le pont Philips Hue et les ampoules intelligentes connectées, ce qui, admettez-le, est plutôt cool.

Comment fork d’anciens projets open source qui ne fonctionnent pas, les réparer, ramener les pull requests pour contribuer sur les projets sources, puis les utiliser.

Allez vraiment voir ce replay car il y a de belles choses à découvrir ! 

« Symfony UX : New components, live twig & more updates » par Ryan Weaver

code proposé par Ryan Weaver

Enfin, le talk de Ryan, comme d’habitude, était attendu par tout le monde.

Le gars le plus cool est toujours là pour montrer des trucs sympas et stimuler tout le monde (sans jeu de mot). Et nous sommes comme des enfants au parc d’attraction.

Coup d’envoi avec une excellente nouvelle, le lancement de https://ux.symfony.com/, qui aide à créer des exemples avec Symfony UX.

Une initiative absolument parfaite et totalement salvatrice. La démo très attendue des live components est géniale. À mon avis, Ryan a beaucoup démystifié l’utilisation du composant Symfony UX avec cette conversation, démontrant à quel point les choses sont faciles et jusqu’où le composant peut aller.

Clôturer avec cette dernière conférence et autant d’opportunités était tout simplement parfait.

En conclusion

Cette année encore, j’ai vraiment apprécié chaque conférence à laquelle j’ai assisté. Il est maintenant l’heure de regarder les autres en replay.

J’ai également beaucoup apprécié les nouveaux speakers que j’ai découverts, tous ces nouveaux concepts…

N’oubliez pas que vous pouvez toujours voir ces discussions en replay en vous connectant ou en créant un compte. J’espère que cet article vous en aura donné l’envie.

La prochaine édition aura lieu dans six mois. En attendant je vais peaufiner 2/3 sujets à proposer afin de revenir une nouvelle fois en tant que speaker.

William Pinaud, expert PHP au sein de l’agence de Limoges