Retour sur le Symfony Live 2019 à Paris

Pierre

Pierre, Lead Développeur web 11 avril 2019

Les 28 et 29 mars 2019, trois membres de l’équipe tech Novaway étaient présents au Symfony Live à Paris. Voici une petite sélection de conférences auxquelles nous avons assisté.

Symfony Live 2019 : keynote d'ouverture

Intervenant : Fabien Potencier - Créateur de Symfony

L’événement débute par la Keynote de Fabien Potencier.

Il y présente deux nouveaux composants :

  • MIME pour la création de mails. MIME est un nouveau composant qui embarque une “serialization”. Celle-ci réduit considérablement le poids d’un email (comparé à SwiftMailer, pour ne citer que lui) et optimise l’envoi de ce dernier.
  • Symfony Mailer est un composant qui s’occupe uniquement de la partie envoi des emails, que ce soit par SMTP ou depuis une API. Il donne la possibilité d’envoyer des mails de manière synchrone ou asynchrone.

Démystifier React et Redux avec Symfony et Webpack Encore

Intervenant: Titouan Galopin - Product lead on SensioLabsInsight

Cette première conférence s’est axée sur le front-end pour la mise en avant des technologies React et Redux. Ces deux outils sont très complémentaires pour concevoir des interfaces utilisateurs (aussi bien dans un navigateur que dans une application mobile).

Titouan Galopin nous présente leur installation avec un environnement Symfony et Webpack Encore. De quoi donner envie d’entrer dans le monde obscur de Javascript afin de tester ses technologies !

Des apps Symfony sous stéroïdes grâce à Vue.js, Mercure et Panther

Intervenant : Kévin Dunglas - software architect & Symfony expert

Les mises en situation sont souvent fortement appréciées lors des conférences. C’est encore plus le cas lorsque les auditeurs prennent part à l'expérience.

Par le biais de la création d’un site de notation des conférences (un joind.in en version abrégée), Kévin Dunglas nous présente l’utilisation et la combinaison de plusieurs outils :

  • Vue.js pour l’interface utilisateur (l’un des frameworks les plus populaires en JavaScript
  • API Platform pour l’API (l'outil de référence pour la création d'API web modernes
  • Panther pour la réalisation de tests (l'outil de test E2E de Symfony qui est capable d'exécuter le JavaScript)
  • Mercure : l’intégration du protocole Mercure permet d’ajouter du temps-réel à nos applications. Il est capable de “pusher” des données et de les mettre à jour en direct. Une très belle découverte !

Etat de l’art d’Elasticsearch avec Symfony

Intervenant : Damien Alexandre - Consultant ElasticSearch et développeur web

Malgré ses performances indéniables, Elasticsearch peut parfois s’avérer complexe à utiliser. Dans cette conférence, Damien Alexandre nous apporte de précieux retours. Il nous donne des exemples de bonnes pratiques à suivre et d’erreurs à éviter.

Nous retiendrons plus particulièrement :

  • sa recommandation de librairie avec l’utilisation de Elastica pour Symfony
  • la configuration d’un bundle en YAML qui rend les fichiers certes “longs” mais beaucoup plus lisibles
  • Jane, utilisé pour la mise en place de DTO et la normalisation

HTTP/3 : C’est une question de transport !

Intervenant : Benoît Jacquemont - CTO d'Akeneo

HTTP/3 avait été annoncé fin novembre 2018. Benoît Jacquemont revient sur cette nouveauté et la compare à sa version précédente, HTTP/2.

Les principaux avantages du HTTP/3 seraient donc :

  • réduire au maximum la latence
  • diminuer le nombre d’allers-retours client/serveur, via le transport QUIC (Quick UDP Internet Connections)
  • ne pas perdre la connexion lorsque l'on change de réseau

Des images au cordeau pour vos applications Symfony

Intervenant : Mathieu Santostefano - Developpeur web @ JoliCode

Le responsive design devient monnaie courante. On remarque pourtant que l’adaptation de la taille des images aux différents écrans n’est pas maîtrisée par tous.

Mathieu Santostefano a traité les dernières nouveautés HTML5 concernant les images. Il revient sur l’utilisation de la balise picture et de ses options. Il cite également les bundles Symfony qu’il est possible de combiner à ces balises / options pour bien redimensionner des images. Par exemple : LiipImagine ou Glide-Symfony.

Les meilleurs bundles et outils pour vos applications Symfony

Intervenante : Danielle Kayumbi Bonkoto - Executive Director, DK Wave Technology

Une piqûre de rappel ne fait jamais de mal. Nous avons apprécié celle de Danielle Kayumbi Bonkoto sur les outils et bundles incontournables. La conférencière a présenté une large liste de bundles souples, rapides ou simples à utiliser.

Par exemples : PHPStan, GrumPHP et Symfony Panther.

Leçon N° 139, API Platform ce n'est bon qu'à faire un POC, FAUX ! 

Intervenant : Grégoire Hébert - CEO of MasterClass By Les-Tilleuls, Les-tilleuls.coop

API Platform est reconnu pour donner la possibilité de faire du développement rapide. Grégoire Hébert démontre qu’il est intéressant de prendre le temps d’aller plus loin. Alors non, API Platform n’a pas simplement été conçue pour faire du POC. Elle est adaptée au RAD, mais il est possible d'aller plus loin avec l'utilisation de DTO, par exemple. 

Symfony HttpClient, what else?

Intervenant : Nicolas Grekas - CTO @ Blackfire.io

Nicolas Grekas présente le nouveau composant Symfony, HttpClient, qui a pour but de faciliter les appels HTTP. On y retrouve, entre autres, l’utilisation de Fopen et de Curl. 

De plus, HTTPClient fournit une API plus DeveloperFriendly que Guzzle, tout en conservant l'ensemble des fonctionnalités. Elle offre l’implémentation PSR-7, qui est optimisé autant sur les performances que DX (Developer Experience).

Voyage au coeur de React-admin, l’admin generator d’API Platform

Intervenant : François Zaninotto - CEO at marmelab (ex CTO @ eTF1)

Après une conférence dédiée à React/Redux, c’est au tour de François Zaninotto de prendre la parole sur une nouveauté front-end : React-admin. React-admin est une bibliothèque JavaScript qui permet de réaliser des interfaces admin très facilement. On peut, par exemple, le retrouver dans la partie admin generator d'API Platform.

RabbitMQ simplement

Intervenant : Frédéric Bouchery - lead developer @ CCM Benchmark

Frédéric Bouchery nous a expliqué les bases de la solution de messagerie RabbitMQ. Il en a profité pour nous fournir plusieurs astuces sur le composant Messenger de Symfony. Celui-ci peut en effet très bien se marier avec RabbitMQ. Un moyen de prendre connaissances des bons usages pragmatiques et de savoir comment l’utiliser directement avec nos projets.

Développement d’applications TDD avec Symfony et ses amis en situation réelle

Intervenant : Chris Holland - Director of Engineering, TriNet

Finalement, Chris Holland nous a présenté le développement d’applications TDD avec Symfony, en passant par tous les outils nécessaires : REST, OAuth, gestion d’utilisateurs, tests unitaires… Le tout parsemé d'optimisations de configuration pour la performance des tests.

Pour aller plus loin, vous pouvez retrouver toutes les présentations et vidéos du Symfony Live Paris.