Retour du Symfony Live Paris 2019

Le 28 et 29 mars s’est tenu le Symfony Live Paris à la Cité Internationale Universitaire. C’était l’occasion de fêter le dixième anniversaire de la conférence. Évidemment, nous y étions !

Keynote de Fabpot

Comme d’habitude, cette conférence a débuté avec une Keynote de Fabien Potencier. Si vous suivez un peu l’actualité sur Symfony et son écosystème, vous n’avez sûrement pas loupé l’arrivée de deux nouveaux composants pour la version 4.3 : HttpClient et MIME (création de mail).

Fabien Potencier nous a présenté rapidement ces nouveaux composants et comment ceux-ci tirent parti des composants déjà existants dans Symfony et son écosystème. On notera qu’avec l’arrivée du HttpClient, c’est tout l’outillage que fournissait Goutte pour scrapper un site qui est maintenant disponible directement dans Symfony. Pour citer son créateur : « RIP Goutte ». Il a également parlé d’un nouveau composant à venir, Symfony Mailer, qui s’occupera uniquement de la partie envoi des e-mails (via SMTP ou via une API).

Fabien a également profité de cette keynote pour pousser 2 petits coups de gueule. Le premier concernait le PHP-FIG et l’incohérence de vouloir à la fois standardiser tout l’écosystème PHP en unifiant toutes les implémentations, tout en encourageant la diversité dans les implémentations. Le second pic était lancé sur le financement de l’open-source à travers le service security.symfony.com. En effet, lors de la présentation de ce service (gratuit mais avec des fonctionnalités payantes pour supporter le développement de l’écosystème Symfony, Twig, etc) l’année dernière, nombres de développeurs s’étaient montrés intéressés mais durant les premières semaines, seule treize personnes avaient souscrit à la version payante.

Toujours plus de frontend

Nos applications sont devenues, depuis quelques années, de plus en plus complexes côté navigateur. A l’image des technologies frontend qui prennent de plus en plus de place dans nos quotidiens, beaucoup de talks leur étaient dédiés cette année.

En commençant par la première conférence, de Titouan Galopin, consacrée à une très bonne présentation du fonctionnement de React et Redux ainsi que leur installation dans un environnement Symfony avec Webpack Encore. Mathieu Santostefano, quant à lui, nous a expliqué quelques nouveautés de HTML5 concernant les images (comme la balise <picture> et les attributs size, srcset, etc). Il a également présenté quelques solutions permettant de mieux gérer nos images responsives comme Thumbor ou Cloudinary.

François Zaninotto a présenté une bibliothèque JavaScript, React-admin, permettant de générer rapidement une interface d’administration en React. Cette dernière est d’ailleurs utilisée au sein de l’admin generator de API Platform. Fidèle à lui-même, François en a profité pour troller un bon nombre de choses : développeurs PHP, certains choix d’API Platform, Twig, etc.

Photo par Julien Pauli

L’importance d’API Platform

Autre thème important de ce Symfony Live, plusieurs conférences ont évoqué API Platform ou présenté certaines de ses fonctionnalités, signe de l’engouement fort qui règne aujourd’hui autour de ce projet.

Grégoire Hébert nous a ainsi prouvé qu’API Platform était certes parfaitement adapté pour du POC ou du RAD mais, à l’instar de Symfony, permettait également d’aller très loin dans la personnalisation de nos APIs.

À travers la création d’un joind.in simplifié, Kévin Dunglas nous a présenté durant sa conférence, et à vitesse grand V, plusieurs outils récemment apparus dans l’écosystème Symfony permettant la création d’une application moderne et temps réel : Vue.js pour le front, API Platform évidemment pour l’API, le MakerBundle pour la génération de code, Panther pour les tests (drop in replacement du composant BrowserKit et ajout de fonctionnalités comme la prise en charge des screenshots), puis Mercure pour ajouter la partie temps-réel.

Un soupçon d’OPS

Les sujets liés aux infrastructures et l’OPS n’ont, eux non plus, pas manqué. Frédéric Bouchery nous a parlé du fonctionnement de base de RabbitMQ et donné quelques astuces pour son utilisation avec le composant Messenger de Symfony. N’oubliez toutefois pas que ce composant est toujours marqué comme expérimental et qu’il sera nettement amélioré dans Symfony 4.3.

Avec sa présentation de HTTP/3, Benoît Jacquemont nous a expliqué les différences avec la version 2, arrivée il n’y a pas si longtemps. Le but premier de cette nouvelle version n’est pas d’ajouter de nouvelles fonctionnalités mais uniquement de diminuer la latence des communications en unifiant les parties Transport et Chiffrement. Adieu TCP + SSL, tout est géré directement dans QUIC, une surcouche à UDP initialement développée par Google depuis 2013, avant d’être standardisée depuis peu sous le nom HTTP/3. Rendez-vous dans quelques années pour voir HTTP/3 supporté partout.

De l’open source

L’open source est au coeur de Symfony. Avec sa conférence intitulée « Open source, renouveau de l’Humanisme », Jérôme Vieilledent nous a parlé de l’éthique de l’open source et nous a montré l’importance dans nos métiers de l’informatique de partager nos connaissances, d’être inclusif, de respecter et collaborer avec les autres, bref, d’être Humain.

Danielle Kayumbi Bonkoto nous a montré une liste d’outils et bundles importants et comment bien les choisir. Malgré quelques outils vieillissant qu’il n’est plus conseillé d’utiliser, cela ne fait jamais de mal de présenter ces incontournables.

Nicolas Grekas nous a présenté l’un des derniers composants introduits dans Symfony et qui a fait beaucoup parler de lui : le nouveau client HTTP. Le but ? Simplifier nos appels HTTP avec un composant à la sauce Symfony : DX travaillée, avec un client sans dépendance externe, simple à utiliser, étendre et intégrer dans nos applications mais complet d’un point de vue fonctionnalités. Deux implémentations sont fournies de base, l’une utilisant fopen, l’autre Curl. Un adapteur PSR-18 est également inclus de base, de quoi mettre un terme aux critiques suscitées par ce nouveau client.

Nicolas Grekas

Nicolas Grekas qui remercie tout le travail déjà effectué autour de PHP et HTTP.

Des données et des protips

Nous avons également vu des conférences consacrées à nos données. La première, de Romaric Drigon, a évoqué plusieurs trucs et astuces très utiles de Doctrine : listeners, filtres, tracking policies, etc.

Autre conférence, celle de Damien Alexandre, qui nous a parlé de son sujet favori : Elasticsearch. Il a profité de ce talk pour donner beaucoup de protips sur la configuration et l’utilisation du moteur de recherche, basés sur plusieurs années d’expérience au sein de nos projets internes ou en intervention extérieure : configuration YAML, utilisation de Jane pour les DTO et la Normalisation, erreurs à éviter et bonnes pratiques de dénormalisation… Un article prochainement sur le blog vous permettra de retrouver ses recommandations !

Des lightning talks

La première journée s’est terminée avec une série de LT de 7 min pendant laquelle des sujets divers et variés ont été évoqués :

  • Jeremy nous a parlé de l’expérience développeur et des PSR ;
  • Valentine nous a teasé Symfony Checker, un outil d’analyse statique et dynamique ;
  • Alexandre Mallet nous a parlé de git et certaines de ses fonctionnalités plus ou moins courantes ;
  • Tony a effectuer une comparaison de Sonata Admin VS Easy Admin ;
  • Tugdual a présenté le binaire Symfony, dont nous avons déjà parlé récemment ;
  • Nicolas nous a montré la meilleure façon de contribuer à Symfony.

10 ans et encore beaucoup d’autres !

Cette édition du Symfony Live s’est encore une fois très bien déroulée ! Malgrés quelques petits couacs sur la nourriture (service un peu lent, plats végétarien non indiqués) et le lieu un peu petit pour accueillir tous les spectateurs (malgré la retransmission dans une autre salle), nous avons apprécié certaines attentions, notamment la mise en avant du recyclage ou encore la représentation unique de The World of Hans Zimmer offerte aux speakers la veille de la conférence.

Les vidéos des conférences seront disponibles rapidement en avant première sur SymfonyCasts (pour les personnes déjà membres du service et celles ayant participé à ce Symfony Live) puis ouverte au grand public d’ici quelques mois.

blog comments powered by Disqus