Paris 2020 26-27 MARS

Planning

26 mars 2020

  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
Keynote
Fabien Potencier
10:00
10:40
TBA
10:40
11:10
Pause ☕ 🥐
11:10
11:50
Comprendre Doctrine pour mieux l'utiliser
julien pauli
11:55
12:35
Redis, ce n'est pas que pour le cache
Grégoire Pineau
12:35
14:30
Déjeuner
14:30
15:10
Migrer vers une architecture micro-services : points de contrôle pour une migration réussie
Alexandre Salomé
15:15
15:55
La compilation JIT, le fil rouge vers PHP 8
Valentine Boineau
15:55
16:25
Pause ☕ 🥐
16:25
17:05
TBA
17:10
17:50
TBA
17:50
18:30
Lightning talks
18:30
21:30
Apéritif communautaire

27 mars 2020

  Track A
08:00
09:00
Accueil petit-déjeuner
09:00
09:40
TBA
09:45
10:25
TBA
10:25
10:55
Pause ☕ 🥐
10:55
11:35
Stream processing: un autre type d’architecture
Samuel ROZE
11:40
12:20
TBA
12:20
14:15
Déjeuner
14:15
14:55
Le frontend pragmatique pour les développeurs backend
Titouan Galopin
15:00
15:40
TBA
15:40
16:10
Pause ☕ 🥐
16:10
16:50
HYPErmedia : tirer parti d'HTTP/2 pour créer des API mieux conçues, et plus rapides
Kévin Dunglas
16:50
17:00
Mot de clôture

Keynote

Fabien Potencier - français - Keynote - 26/03/2020, 09:15

Keynote

Comprendre Doctrine pour mieux l'utiliser

julien pauli - français - Track A - 26/03/2020, 11:10

Nous allons regarder précisément, ce qu'est un ORM, à quoi ca sert, et comment ça fonctionne. De cette manière, tout le monde sera enfin capable d'en faire une utilisation raisonnée, en ce qui concerne notamment la performance coté serveur PHP ou serveur SQL. Doctrine n'est pas une mauvaise technologie, c'est une technologie non comprise et non maitrisée. La configuration par défaut et la simple lecture de documentation ne suffisent aucunement à faire une bonne utilisation d'un ORM, mais plutot à exploser la performance en prod. En revanche, comprendre les choses, aide forcément à mieux savoir utiliser.

Redis, ce n'est pas que pour le cache

Grégoire Pineau - français - Track A - 26/03/2020, 11:55

Redis sait faire bien plus que du stockage clé/valeur simple. Grâce à des structures de données évoluées et a ses performances hors du commun, il devient un allié très puissant à ajouter dans sa stack préféré.

Des statistiques à la persistance de session en passant par les leaders board ou la gestion de coordonnées, vous ne verrez plus ce SGBD du même oeil !

A travers une série d'exemples, des trucs & astuces, nous verrons comment utiliser Redis depuis une application PHP.

Migrer vers une architecture micro-services : points de contrôle pour une migration réussie

Alexandre Salomé - français - Track A - 26/03/2020, 14:30

J'ai passé ces dernières années dans différentes sociétés, qui toutes essaient d'accomplir la même chose : migrer vers une architecture orientée micro-services. Cette migration dans laquelle elles se sont toutes engagées ont beaucoup de similitudes, mais aussi de grosses différences. Comme tout long voyage, une seule chose est sûre : vous savez quand vous commencez, mais vous ne savez jamais vraiment ce qu'il se passera vraiment, ni ce que vous trouverez sur votre chemin ! Pour réussir votre voyage, il est important de savoir où vous allez, les différents choix qui s'offrent à vous et les bons éléments pour prendre les bonnes décisions. Cette conférence répondra aux questions essentielles que sont : comment séparer son code, comment gérer les tests multi-applications, comment analyser un bug, comment gérer les appels d'APIs, comment s'intégrer avec les tiers, et toutes les autres questions que vous devez vous poser si vous avez décidé de migrer.

La compilation JIT, le fil rouge vers PHP 8

Valentine Boineau - français - Track A - 26/03/2020, 15:15

Avec l'arrivée de PHP 8, la compilation "Just-In-Time" fait parler d'elle. Depuis les années 80, tous les langages interprétés cherchent à atteindre ce graal supposé de performance. Lors de cette conférence, je vous propose de remonter le temps jusqu'à PHP 5.5, le temps d'un rappel sur "opcache", disponible nativement depuis lors. Nous analyserons ensuite chaque progrès de performance, version après version. À travers des exemples de code repris depuis Symfony, nous verrons que toutes les améliorations désormais acquises (opcache, boost PHP7, preloading, etc.) sous-tendent un même fil rouge : permettre un jour la compilation JIT. PHP 8 nous permet enfin de toucher au but. Le voyage en valait-il la peine ? C'est ce que nous essayerons d'établir.

Stream processing: un autre type d’architecture

Samuel ROZE - français - Track A - 27/03/2020, 10:55

Votre produit grossi, vous avez plusieurs (micro-)services et/ou partagez des données avec des partenaires. Plutôt que d’échanger des fichiers CSV ou d’utiliser uniquement des APIs, il existe une autre option : utiliser un "message bus" et faire du “stream processing”.

Après avoir décrit l’intérêt d’une telle architecture, nous discuterons de ses conséquences telles que le besoin d’idempotence dans nos “handlers” Symfony Messenger, comment garder une “strong consistency” et comment fonctionnent les bus qui garantissent l’ordre des messages.

Le frontend pragmatique pour les développeurs backend

Titouan Galopin - français - Track A - 27/03/2020, 14:15

Le développement front-end devient de plus en plus vaste est complexe. Cela crée de nombreuses nouvelles opportunités... mais cela peut aussi être assez impressionant !

L'objectif de cette conférence est de vous fournir des idées et des conseils pragmatiques sur les différentes techniques pour mettre en place un environnement de développement frontend riche et moderne avec Symfony, React, Bootstrap et Twig.

Nous aborderons les différentes options pour organiser votre code et le transfert des données entre votre frontend et votre backend et nous évoquerons les différents avantages et inconvénients de chacune.

Fabriquons des interfaces de qualité pour nos utilisateurs !

HYPErmedia : tirer parti d'HTTP/2 pour créer des API mieux conçues, et plus rapides

Kévin Dunglas - français - Track A - 27/03/2020, 16:10

Au fil des ans, de nombreux formats d'API ont été créés pour améliorer les performances des API Web (n+1, sur-extraction, sous-extraction)… La solution en vogue se nomme GraphQL. Il s'agit d'un hack réseau très malin, mais que HTTP/2 et HTTP/3 rendent un peu désuet !

Ces nouvelles versions du protocole disposent désormais de fonctionnalités natives permettant de créer des API rapides et idiomatiques : multiplexage, Server Push, déduplication des en-têtes, compression, connexions persistentes (cf. Mercure)… Utiliser les capacités d'HTTP/2 et HTTP/3 permet de révéler la vraie puissance de l'architecture du Web (l'hypermédia), sans compromis niveau performances.

Le framework API Platform supporte désormais le protocole Vulcain qui permet de mettre en place des APIs de ce type. Au cours de cette présentation, nous découvrirons cette nouvelle façon d'architecturer les APIs, et verrons comment les implémenter et les consommer grâce à API Platform et Symfony.

HATEOAS is the new hype!