Planning

Thursday, March 29th

  Track A
08:00
09:00
Retrait des badges et accueil petit-déjeuner
09:00
09:15
Mot de bienvenue
09:15
09:55
Symfony 4
Fabien Potencier
10:00
10:40
Architecture modulaire grâce à Symfony et l'écosystème open-source
Marc Weistroff
10:40
11:10
Pause
11:10
11:50
Traduire efficacement une application Symfony
Mathieu Santostefano
11:55
12:35
Migration en Symfony 4 de l'API de connexion Allociné, dans un écosystème en 3.3/3.4
Estelle LE CAM
12:35
14:30
Déjeuner
14:30
15:10
Quels outils pour améliorer la vie des développeurs Symfony ?
Romain Gautier
15:15
15:55
Zoom sur la « Clean Architecture » en Symfony chez OpenClassrooms
Kuzniak Romain
15:55
16:25
Pause
16:25
17:05
Testez vos tests en introduisant des bugs avec le Mutation Testing
Théo FIDRY
17:10
17:50
Ne soyez plus l’esclave de Doctrine
Grégoire Paris , Maxime Veber
17:50
18:30
Lightning talks
18:30
21:30
Apéritif Communautaire et Célébration des 10 ans du SymfonyLive Paris

Friday, March 30th

  Track A
08:00
09:00
Accueil petit-déjeuner
09:00
09:40
Tirer le maximum du moteur PHP 7 - l'exemple de Symfony
Nicolas Grekas
09:45
10:25
Symfony Messenger : Queues, workers et bien plus encore !
Samuel ROZE
10:25
10:55
Pause
10:55
11:35
Utilisation de HTTPlug Bundle en environnement de test
Gary PEGEOT
11:40
12:20
REST ou GraphQL ? Exemples illustrés avec Symfony et API Platform
Kévin Dunglas
12:20
14:15
Déjeuner
14:15
14:55
Développez votre frontend avec ReactJS et Symfony Webpack Encore
Alain Hippolyte
15:00
15:40
Le composant workflow de Symfony, c'est graphement bien !
Hamza Amrouche
15:40
16:10
Pause
16:10
16:50
Une année de Symfony
Sarah Khalil
16:50
17:30
Lightning talks
17:30
17:45
Mot de clôture

Symfony 4

Fabien Potencier - français - Keynote - Thursday, 09:15

Keynote

Architecture modulaire grâce à Symfony et l'écosystème open-source

Marc Weistroff - français - Track A - Thursday, 10:00

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.

Traduire efficacement une application Symfony

Mathieu Santostefano - français - Track A - Thursday, 11:10

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 !

Migration en Symfony 4 de l'API de connexion Allociné, dans un écosystème en 3.3/3.4

Estelle LE CAM - français - Track A - Thursday, 11:55

À 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é.

Quels outils pour améliorer la vie des développeurs Symfony ?

Romain Gautier - français - Track A - Thursday, 14:30

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.

Zoom sur la « Clean Architecture » en Symfony chez OpenClassrooms

Kuzniak Romain - français - Track A - Thursday, 15:15

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.

Testez vos tests en introduisant des bugs avec le Mutation Testing

Théo FIDRY - français - Track A - Thursday, 16:25

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 !

Ne soyez plus l’esclave de Doctrine

Grégoire Paris , Maxime Veber - français - Track A - Thursday, 17:10

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.

Tirer le maximum du moteur PHP 7 - l'exemple de Symfony

Nicolas Grekas - français - Track A - Friday, 09:00

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.

Symfony Messenger : Queues, workers et bien plus encore !

Samuel ROZE - français - Track A - Friday, 09:45

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 !

Utilisation de HTTPlug Bundle en environnement de test

Gary PEGEOT - français - Track A - Friday, 10:55

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.

REST ou GraphQL ? Exemples illustrés avec Symfony et API Platform

Kévin Dunglas - français - Track A - Friday, 11:40

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.

Développez votre frontend avec ReactJS et Symfony Webpack Encore

Alain Hippolyte - français - Track A - Friday, 14:15

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 !

Le composant workflow de Symfony, c'est graphement bien !

Hamza Amrouche - français - Track A - Friday, 15:00

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é.

Une année de Symfony

Sarah Khalil - français - Track A - Friday, 16:10

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.