For its 10th edition, the French SymfonyLive conference organized by SensioLabs will take place from March 29th to 30th in Paris.

Thursday 29th March 2018

09:15
13
Symfony 4
Keynote by Fabien Potencier (40 minutes)

Keynote

10:00 Architecture modulaire grâce à Symfony et l'écosystème open-source
Talk by Marc Weistroff (40 minutes)

Les avancées présentes dans les dernières versions de Symfony et la maturité de l'écosystème open-source permettent de réaliser des architectures modulaires de grande qualité, avec des paradigmes de développement différents. Nous verrons, avec le case study d'AudienceHero, comment tirer parti des meilleures briques logicielles (Autoconfiguration, Autowiring, ApiPlatform, React Admin, etc.) afin de créer des systèmes modulaires complets.

11:10 Traduire efficacement une application Symfony
Talk by Mathieu Santostefano (40 minutes)

La traduction d'une application est une étape primordiale dans un projet international. Comment faire travailler toutes ces personnes efficacement, et garder l'intégrité des traductions de l'application ? C'est ce que je vous propose d'aborder dans cette conférence. Nous verrons ensemble quels outils externes utiliser pour faciliter la traduction aussi bien pour les développeurs, que les traducteurs, mais aussi pour les intervenants en qualité qui sont chargés de vérifier tout ce travail. Nous verrons également comment brancher ces outils au sein de Symfony pour bénéficier d'un workflow de traduction cohérent et simple d'utilisation d'un environnement local à la production. À la fin de la conférence vous n'aurez qu'une envie, mettre à jour vos projets avec ces outils pour enfin vous épargner de longues journées de mise à jours de traductions !

11:55 Migration en Symfony 4 de l'API de connexion Allociné, dans un écosystème en 3.3/3.4
Talk by Estelle LE CAM (40 minutes)

À la sortie d'une nouvelle version de Symfony, la question de la migration de son écosystème se pose. Un nouveau projet est le cadre idéal pour découvrir les nouvelles spécificités et se faire la main. Par contre, gérer tous les anciens bundles peut vite se révéler être un enfer. Partageons donc notre expérience de migration Symfony 4 à partir de la refonte de l'api de connexion Allociné, brique majeure de notre écosystème, et comment elle a entraîné la montée en version de toutes ses dépendances et des plus gros projets. Nous comparerons les différentes méthodes pour maintenir des dépendances sur plusieurs projets transverses. Nous résoudrons ce problème en abordant plusieurs solutions possibles telles que le maintien de plusieurs branches, la gestion en configuration ou le versioning forcé.

14:30 Quels outils pour améliorer la vie des développeurs Symfony ?
Talk by Romain Gautier (40 minutes)

Cette conférence est un retour d'expérience sur la mise en place d'outils autour d'un projet Symfony permettant d'améliorer la vie des développeurs. Nous verrons un cas concret d'un projet Symfony avec Docker, un Makefile, des migrations, des tests, une intégration continue ainsi que du déploiement continu via GitLab CI.

15:15
7
Zoom sur la « Clean Architecture » en Symfony chez OpenClassrooms
Talk by Romain Kuzniak (40 minutes)

Le livre Clean Architecture de Robert Martin (Uncle Bob), l'auteur à l'origine des principes SOLID vient de sortir. C'est l'occasion de faire un tour sur les différentes architectures (MVC, Service Layer, DDD et Clean Architecture) et leurs intégrations avec Symfony. Cette présentation présente un exemple d'application sous Symfony et les différentes implémentation dans les différentes architectures. Et comment la « Clean Architecture » est utilisée chez OpenClassrooms depuis plus de 4 ans.

16:25 Testez vos tests en introduisant des bugs avec le Mutation Testing
Talk by Théo FIDRY (40 minutes)

Testez vous votre code ? Et vos tests ? Est-ce que vous les testez eux aussi ? Vos tests sont peu différents du reste de votre code : vous devez l'écrire, le maintenir, le mettre à jour... Découvrez une façon efficace de tester vos tests avec peu d'effort avec le Mutation Testing !

17:10 Ne soyez plus l’esclave de Doctrine
Talk by Grégoire Paris, Maxime Veber (40 minutes)

Doctrine est un ORM, il permet de mettre en correspondance un modèle objet et un modèle de base de données. Même s’il est capable de reverse-engineer une base de données, il est plutôt conseillé de concevoir d’abord votre architecture et seulement ensuite de faire en sorte que Doctrine persiste votre modèle. Contrairement aux idées reçues, Doctrine est très souple et vous impose peu de choses, nous verrons ensemble comment persister des modèles moins classiques que d’ordinaire et parcourir librement le monde de l’architecture logicielle.

Friday 30th March 2018

09:00 Tirer le maximum du moteur PHP 7 - l'exemple de Symfony
Keynote by Nicolas Grekas (40 minutes)

PHP 7.0 est déjà de l'histoire ancienne. Mais savez-vous en tirer partie à fond ? Si le moteur est plus rapide sur toutes les opérations en général, il y en a quelques unes qui sont particulièrement optimisées. Avec PHP 5, vous avez peut-être pris certains réflexes qui ne sont plus d'actualité, pour soi-disant écrire du code plus performant ? Je vous propose de passer en revues les différentes techniques d'optimisation mises en place dans Symfony, qui font de la v4 la plus rapide jamais publiée. Ce sera l'occasion de tordre le coup à quelques idées reçues, et de vous en donner quelques autres pour le jour où vous chercherez à presser les dernières millisecondes hors de cette boucle intensive. Benchmark à l'appui évidement.

09:45
10
Symfony Messenger : Queues, workers et bien plus encore !
Talk by Samuel ROZE (40 minutes)

Voilà un nouveau composant pour Symfony : Messenger. Avec celui-ci, nous pouvons envoyer et recevoir des messages via des systèmes de queue tels que RabbitMq, mais aussi créer nos bus d'événements et/ou de commandes pour nos applications CQRS. Je vous propose de découvrir cette nouvelle notion de "message" et comment l'utiliser dans vos applications Symfony !

10:55 Utilisation de HTTPlug Bundle en environnement de test
Talk by Gary PEGEOT (40 minutes)

Le sujet a pour but de présenter comment tester les appels vers son/ses webservice(s) lorsque l'on utilise HTTPlug : (Optionnel / rapide) Pourquoi mocker ses web-services au lieu de les appeler, À l'aide du mock-client : créer un mock de réponse et l'ajouter au client, À l'aide de fichiers (de mock) stockés dans le projets pour automatiser la création des réponses, Dans le cas où l'on n'utilise pas encore HTTPlug. Cette présentation sera illustrée avec des cas concrets d'utilisation.

11:40 REST ou GraphQL ? Exemples illustrés avec Symfony et API Platform
Talk by Kévin Dunglas (40 minutes)

GraphQL est une alternative aux architectures REST pour la réalisation d’API web. Le langage promu par Facebook a des avantages indéniables : récupération des données utiles uniquement, limitation du nombre de requêtes, typage fort, syntaxe puissante et bien pensée… Cependant, il souffre aussi de défauts souvent sous-estimés parmi lesquels l’incompatibilité avec les mécanismes de cache, de log, de sécurité ou d’auth qui forment la base du stack web d’aujourd’hui, ou la nécessité d'un parser spécifique. De plus, les formats hypermedias modernes s’appuyant sur REST disposent de fonctionnalités très similaires tout en restant compatibles avec les fondements du web. Le framework API Platform, basé sur Symfony, permet de créer très facilement des API REST (JSON-LD, JSON API…) et GraphQL. Après avoir énuméré les avantages et inconvénients des différents formats, nous étudierons au travers de différents cas d’usages quand il est préférable d’utiliser GraphQL, REST ou les 2 en complément.

14:15
7
Développez votre frontend avec ReactJS et Symfony Webpack Encore
Talk by Alain Hippolyte (40 minutes)

Si vous êtes développeur backend, vous vous rendez probablement compte comme moi qu'aujourd'hui, cela ne suffit plus tout à fait. De nos jours, créer une application Web implique souvent de travailler dans un domaine qui change à la vitesse de l'éclair : le développement frontend. Ce talk est destiné au développeur backend désireux de connecter son API à un frontend Javascript riche et interactif. Pour cela, nous discuterons d'abord de nombreux nouveaux termes, comme ES6/ES2015, JSX, Typescript, Babel puis nous verrons comment Webpack permet au développeurs Javascript de travailler modulairement en suivant des standards de qualité reconnus. Nous parlerons aussi de la star du développement frontend, ReactJS, et de comment vous pouvez l'intégrer facilement dans votre projet grâce à Webpack Encore. Le monde du développement frontend est gigantesque, ce talk pourrait être la première étape de votre prochain nouveau voyage !

15:00
5
Le composant workflow de Symfony, c'est graphement bien !
Talk by Amrouche Hamza (40 minutes)

Gérer les étapes de validation d’une application peut vite devenir un casse tête. Le composant Workflow de Symfony a été introduit en 3.2 pour simplifier la vie de tous les développeurs qui avaient besoin de gérer des graphs, processus de validation et/ou machines à états. J’ai eu l’occasion de m’y frotter sur le projet d’un grand compte et j’aimerais vous faire part de cette expérience. Vous décrire cette mise en place sera également l’occasion de dévoiler deux petites révolutions qui seront bientôt livrées à la communauté.

16:10
6
Une année de Symfony
Talk by Sarah Khalil (40 minutes)

Il s'est passé beaucoup de choses depuis un an ! 52 billets de blog pour vous tenir au courant de toutes les nouveautés, un tas de "pull requests", une nouvelle version majeure, 2 mineurs... Eh bien, je suis sûr que vous avez raté quelque chose. Revenons un peu sur ce qui s'est passé au cours de l'année dernière : nous allons voir et/ou découvrir de belles nouveautés qui sont apparues depuis un an.