Passer au contenu principal

Symfony Live 2020

Le 23 et 24 septembre 2020, nous nous sommes rendus à la Cité internationale Universitaire de Paris pour assister à la Symfony Live 2020, une première pour Kernix. Initialement prévu courant mars mais reporté à cause de la pandémie, nous étions impatients de nous y rendre.

Découverte de l’événement

La Symfony Live s’est découpée en pas moins de 14 mini-conférences abordant de nombreux sujets autour Symfony, bien évidemment, et de son écosystème, mais pas que ! Bonnes pratiques, réflexions autour de la stack technique font également partis du rendez-vous.

De nombreux partenaires étaient également présents afin de nous proposer des démonstrations sur des outils intéressants :

  • Blackfire.io pour profiler les applications et identifier des problématiques liées à la performance. Il permet d’identifier visuellement et rapidement un potentiel goulot d’étranglement qui nuit à la performance de l’application.
    https://blackfire.io
  • Symfony Cloud pour un déploiement des applications simplifiées. L’un des points forts de la solution, c’est de pouvoir recréer une instance en mode développement à partir de la production existante, très utile pour reproduire un bug avec des conditions réelles.
    https://symfony.com/cloud/
  • API Platform, une brique incontournable pour la mise en place d’API dans Symfony
    https://api-platform.com/
  • Symfony Panther, un outil qui permet de réaliser des tests fonctionnels de bout en bout en utilisant les capacités d’un navigateur
    https://symfony.com/blog/introducing-symfony-panther-a-browser-testing-and-web-scrapping-library-for-php

Les présentations

La conférence a débuté par la très attendue keynote de Fabien Potencier (Fondateur de Symfony) sur la présentation de Symfony 5.2 devant sortir en novembre prochain.

De nombreuses fonctionnalités ont été ajoutées à cette nouvelle version telles que :

Pour aller plus loin, consulter les Slides de la keynote

Il serait difficile de faire un compte rendu exhaustif de toutes les conférences réalisées pendant ces deux jours mais certaines ont très nettement retenu notre attention.

Tout d’abord en terme d’architecture :

  • Migrer vers une architecture micro-services : points de contrôle pour une migration réussie (Alexandre Salomé)

Cette présentation nous a permis d’y voir un peu plus claire sur les avantages et les inconvénients d’une architecture en micro-services.

Une architecture en micro-services permet de découper en plusieurs applications le projet final. Chaque application est indépendante. Elle possède ses propres modules, base de données etc. Les applications communiquent entre elles généralement par le biais d’APIs.
Par exemple, l’application dédiée vente va envoyer un message à chaque vente à l’application gérant les stocks pour prendre en compte la vente et décrémenter les stocks. Cette architecture permet de mettre des frontières bien marquées entre chaque application ou service permettant ainsi de faire évoluer un service (brique métier) sans avoir à se soucier de l’impact des modifications sur le reste du projet. Chaque équipe se cantonne donc à améliorer et faire évoluer son service sans crainte de régression sur une autre service.

Si cette architecture est très séduisante elle demande toutefois un changement en profondeur d’organisation, d’agilité, de pensée et nécessite de prendre son temps pour l’organiser.

Slides de la conf : ici

Partant du postulat que le passage vers une architecture micro-services peut s’avérer excessivement longue et coûteuse, Timothée Barray nous propose une autre approche pour structurer nos bons vieux gros projets monolithe et envisager plus sereinement cette transition.

Il s’agit là aussi de poser des frontières entre chaque module, bundle ou services de notre projet en utilisant des ACL (Anti Corruption Layer). Timothée Barray nous recommande d’ailleurs vivement l’utilisation de l’outil Deptrac pour faciliter la mise en place de notre architecture et contrôler les dépendances de chacune des ressources Cette approche nous paraît un très bon compromis entre le “monolithe classique” et une architecture micro-services. Certes, si cette solution risque de perdre un peu un performance, elle apportera un gain d’autonomie entre les équipes travaillant sur un même projet, de paralléliser plus facilement les tâches à effectuer et bien évidement de migrer à terme vers une architecture micro-services si le besoin s’en fait ressentir.

Slides de la conf : ici

D’autre part en terme de sécurité et plus particulièrement en terme d’authentification utilisateur :

  • Mettre la cryptographie au service de vos apps Symfony (Nicolas Grekas)

  • WebAuthn – Technologie et intégration dans un projet Symfony (Stefan Richter)

Conclusion

La Symfony Live 2020 s’est parfaitement bien déroulée, une très bonne organisation avec une bonne mise en place des règles sanitaires en vigueur. Nous avons grandement apprécié l’ensemble des conférences et des intervenants venus nous partager leurs expériences et leurs connaissances. Chacune des interventions nous pousse à la réflexion sur des potentielles problématiques que nous pouvons rencontrer dans des projets Symfony à Kernix.

Haut de page
Haut de page