SymfonyLive Paris 2024

28 – 29 mars 2024 • Paris (France)

Regarder les sessions en vidéos

Si vous avez participé à cette conférence, regarder le replay de toutes les sessions.
Sinon, vous pouvez encore acheter un billet pour découvrir toutes les vidéos.

Using Git magic for the Symfony mono-repo

Fabien Potencier

Keynote

Applications riches en JavaScript, façon Symfony !

Kévin Dunglas

Nous avons récemment introduit le composant AssetMapper et Symfony UX pour maximiser l'utilisation de la plateforme web tout en minimisant le code JavaScript nécessaire. Cependant, pour de nombreux cas d'utilisation nécessitant des applications riches, interactives, et fonctionnant hors-ligne ou sur appareils mobiles, l'usage intensif de JavaScript reste inévitable. Découvrez comment tirer parti de l'écosystème Symfony, dont API Platform, pour concevoir des API web performantes en PHP qui serviront de base à ces applications JavaScript ou TypeScript avancées.

Vos logs méritent mieux que la config par défaut

Grégoire Pineau

Les logs comptent parmi les trois piliers de l'observabilité avec les métriques et les traces. Lors de cette présentation, nous nous focaliserons sur les bonnes pratiques, méthodes, et outils pour ne manquer aucun événement.

Au programme :

* Comment écrire une bonne ligne de log ?
* Où placer cette ligne de log ?
* Comprendre l'architecture de Monolog, pour en tirer le maximum
* Où envoyer ses logs ?
* Et ensuite ?

Ne pas confondre Rôle et Permission

Robin Chalas

Il n'est pas rare de tomber sur des hiérarchies de rôles complexes et longues comme le bras. Le problème avec ces listes interminables, c'est qu'elles ont tendance à fortement complexifier le code de nos projets.

En effet, les rôles Symfony étant directement liés à la notion de permissions, on les retrouve un peu partout et à tous les niveaux de notre code.
De fait, plus la liste est longue, plus le code devient compliqué à appréhender et à faire évoluer.

Et si je vous disais qu'une grande partie des rôles de votre application ne sont en fait pas vraiment des rôles ? Et qu'il existe de bien meilleures façons de gérer les permissions de vos utilisateurs ?

Dans ce talk, nous verrons comment remettre de l'ordre dans tout ça en apprenant à différencier Rôle et Permission et à utiliser correctement ces concepts distincts dans le cadre de vos projets Symfony.

Un Serializer sous stéroïdes

Baptiste Leduc , Mathias Arlaud

La sérialisation joue un rôle essentiel dans tout système d'information, et en particulier dans le contexte d'une application web, car elle constitue un des pivots du cycle requête/réponse HTTP. C'est pourquoi le composant Serializer de Symfony est l'un des plus critiques pour nos applications.

Les besoins évoluent, et depuis sa création, le Serializer se retrouve confronté à de nouvelles problématiques. En effet, sa capacité à traiter un grand volume de données tout en restant performant et flexible est devenu critique.

C'est pourquoi de nouveaux outils sont apparus au fil du temps, permettant chacun, d'améliorer une partie du Serializer de manière indépendante.

Quels sont ces outils ? Et comment les orchestrer afin d'obtenir une version du Serializer sous stéroïdes ? C'est ce que nous aborderons lors de cette conférence.

Expérience L-I-V-E (Components)

Simon André

Et s'il existait un ingrédient secret pour améliorer l'expérience utilisateur de votre projet sans quitter le confort de PHP/Symfony ? Pour prototyper, voire développer un front-end... en PHP ?

Partons ensemble à la découverte des LiveComponent durant cette session de Symfony Live Paris 2024!

## Objectif

Embarquez pour une aventure L-I-V-E au cours de laquelle nous tenterons de répondre aux questions suivantes :
* LiveComponent: un bon choix pour votre projet ?
* LiveComponent: sont-ils faits pour vous et vos équipes ?
* LiveComponent: pour aujourd'hui et pour demain ?

## Programme

* L - Live : applications web vivantes
* I - Intégration : au cœur de Symfony
* V - Versatile : catalyseur de projets
* E - Expérience : améliorations UX et DX

## Pourquoi participer ?

Si vous êtes intéressés par les techniques modernes de développement web, si vous souhaitez améliorer l'expérience utilisateur de votre application, ou si vous êtes curieux de découvrir les nouvelles fonctionnalités de Symfony UX, cette conférence est pour vous !

Comment tester une API externe en ayant 0 Mocks ?

Ezzine Imen

À une époque où les APIs externes prennent de plus en plus de place, nos tests se retrouvent dépendants de ces dernières.

La première idée qui pourrait venir à l'esprit pour nos tests serait de créer des mocks pour bouchonner ces APIs, mais ceci peut devenir vite fastidieux et difficilement maintenable.

Durant cette conférence, nous allons voir comment tester une API externe en restant au plus proche du contrat de cette dernière et en n'ayant aucun mock.

Lightning talks

Lightning talks

Les nouveautés de Symfony 7.1

Nicolas Grekas

Ce talk s'adresse à tous les développeurs Symfony, des curieux aux experts, désireux de découvrir les nouveautés qui se préparent pour Symfony 7.1. La version 7.0 publiée en novembre dernier ouvre le bal d'un nouveau cycle majeur, promesse de nouvelles innovations. Vous verrez, ces derniers mois, la communauté n'a pas chômé !

Petite thérapie de couple : je vous apprends à aimer le front-end

Matheo Daninos

Développeurs back-end, le but de ce talk est de vous faire du bien ! De reconstruire votre vision du front-end en affrontant vos plus grandes frustrations. Partons d’une application qui vous est familière et migrons ensemble vers AssetMapper et Symfony UX. Vous allez pouvoir admirer une magnifique mise à la corbeille du node-modules, un bon petit découpage de votre JS pour ne garder que le meilleur. Et vous serez surpris de l’impact positif qu’un front-end bien fait peut avoir sur votre back-end.

L'instabilité de nos tests nous empêche de délivrer

Sofia Lescano

Vos tests vous mettent en colère ? Vous empêchent-ils d'itérer rapidement ?

De plus en plus de développeurs travaillent sur notre monolithe et certains tests ont commencé à échouer de manière aléatoire et cela s'est propagé rapidement dans notre base de code. Comme notre objectif principal est de fournir des fonctionnalités significatives à nos clients avec un code de qualité et une plateforme stable, les échecs de test bloquent notre CI. Cela entraîne une énorme perte de temps et de la frustration lorsque l'application n'est pas vraiment cassée.

Ce problème était connu depuis un moment… Mais personne ne voulait s'y attaquer; le cacher sous le tapis était plus facile. Et coder des fonctionnalités est bien plus gratifiant que de corriger des tests buggés ! Au cours de cette conférence, nous verrons des exemples concrets des raisons pour lesquelles nos tests n'étaient pas satisfaisants et la manière dont nous les avons corrigés, avec des stratégies à la fois techniques et humaines.

De Web App à Progressive Web App

Florent Morselli

Les PWAs sont géniales : en plus d'un look & feel d'applications natives, on peut intégrer notre application dans le système hôte en associant nos propres protocoles par exemple.

Avec un service worker c'est encore mieux. Stratégies de mise en cache, mode offline et notifications push. Mais qu'est vraiment une PWA et comment convertir une application web basée sur Symfony en PWA ?

CQRS/ES avec Symfony, c’est (trop) bien !

Jérémy Romey

Les systèmes basés sur les événements métiers permettent de maintenir l’application avec plus de maîtrise, mais ils demandent du temps pour la mise en place. À l’opposé complet des applications basées sur CRUD, il s’agit d’une façon toute autre de concevoir sa stack pour pouvoir faire en sorte que le code reflète au mieux le métier.

En restant pragmatiques, nous verrons de manière concrète comment les composants Symfony tels que Serializer, Messenger, ou Uid permettent d'obtenir une stack avec laquelle les développeurs peuvent se concentrer sur l’implémentation du métier en code.

Pour ancrer ces concepts dans la réalité, nous les verrons à travers un exemple de fonctionnalité, pas à pas.

Introduction au Continuous Profiling

Thomas di Luccio

Le Continuous Profiling offre une méthode légère pour surveiller et enregistrer les données de performance des applications web en temps réel, permettant d'identifier et de résoudre les problèmes de performance. Cette introduction couvrira les fondamentaux du Continuous Profiling, son intégration à Symfony, et comment il aide à détecter et à adresser préventivement les goulets d'étranglement, à interpréter les données de profilage efficacement, à utiliser les outils d'optimisation et à adopter les meilleures pratiques pour maintenir une performance optimale des applications.

Faites plus avec moins de code grâce aux attributs PHP

Jérôme Tamarelle

Depuis PHP 8, les attributs vous permettent d’annoter votre code. Savez-vous comment ils fonctionnent ? Les bonnes pratiques et les limites qui accompagnent leur utilisation ? Et comment ils sont intégrées à nos composants favoris ? Du validateur aux contrôleurs, en passant par les modèles de données et bien sûr l’injection de dépendance, vous verrez la facilité avec laquelle vous pouvez les exploiter et rendre votre code plus expressif.

L’ancien système d’annotations étant progressivement supprimé de Symfony et Doctrine, je vous montrerai au passage comment migrer votre application.

Sponsors

Sponsor Diamond

Sponsors Gold

Sponsors Silver

Sponsors Café

Sponsors Pot Communautaire

Sponsors Communautaire

Avez-vous raté SymfonyLive Paris 2024?

Rejoignez-nous lors d'une prochaine conférence !

SymfonyOnline June 2024

En ligne

6 – 7 juin 2024

Les sessions sont en anglais

SymfonyLive Berlin 2024

Berlin / Allemagne

20 – 21 juin 2024

Les sessions sont en anglais

SymfonyCon Vienna 2024

Vienna / Autriche

5 – 6 décembre 2024

Les sessions sont en anglais

SymfonyLive Paris 2025

Paris / France

27 – 28 mars 2025

Les sessions sont en français