SymfonyLive Lille 2020
28 février 2020 • Lille (France)
Le frontend pragmatique pour les développeurs backend Titouan Galopin
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 !
La compilation JIT, le fil rouge vers PHP 8 Valentine Boineau
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.
HYPErmedia : tirer parti d'HTTP/2 pour créer des API mieux conçues, et plus rapides Kévin Dunglas
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!
Redis, ce n'est pas que pour le cache Grégoire Pineau
Redis sait faire bien plus que du stockage clé/valeur simple. Grâce à des structures de données évoluées et à ses performances hors du commun, il devient un allié très puissant à ajouter dans sa stack préférée. 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 ! À travers une série d'exemples, des trucs & astuces, nous verrons comment utiliser Redis depuis une application PHP.
Architecture micro-services : points de contrôle pour une adoption réussie Alexandre Salomé
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 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 : dois-je me lancer, comment découper ma logique, comment tester, comment déployer un changement sur plusieurs micro-services, comment analyser un bug, comment gérer les appels d'APIs, comment s'intégrer avec les tiers. Autant de questions inévitables pour ceux qui se lancent dans cette aventure.
Stream processing: un autre type d’architecture Samuel ROZE
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.
Mettre la cryptographie au service de vos apps Symfony Nicolas Grekas
Hacher les mots de passe, chiffrer les clefs applicatives, voire chiffrer les données elles-mêmes. Les dernières versions de Symfony mettent tous les outils nécessaires à disposition pour protéger vos utilisateurs contre les fuites ou autres vols de données. SHA512, Argon2id, BLAKE2/3, ChaCha20-Poly1305, etc. derrière ces noms barbares se cachent des algorithmes qui fondent les nouveaux standards de protection de la vie privée. Depuis PHP 7.2, l'extension "sodium" donne accès sans difficulté à toute l'intelligence des spécialistes en cryptographie. Son API volontairement simplifiée est un trésor pour le reste du monde. Tout y est. Lors de cette conférence, je vous propose de démystifier ces outils et l'utilisation qui en est faite dans Symfony.
Avez-vous raté SymfonyLive Lille 2020?
Rejoignez-nous lors d'une prochaine conférence !