Le blog

Retour sur l'API Platform Con 2023 - jour 2

Publié le 29 septembre 2023

Après vous avoir présenté les conférences données le 21 septembre lors de l'API Platform Con 2023, découvrons les sujets qui étaient programmés le vendredi 22.

Create the DTO System of your Dreams: stateOptions + entityClass - Ryan Weaver #

Par défaut, API Platform propose une intégration avec Doctrine, ce qui implique de coupler l’entité à la ressource. Dans l’état de l’art d’une API, et éventuellement pour obtenir une représentation de notre ressource différente de notre entité, Ryan Weaver nous a montré une autre approche consistant à séparer les ressources des entités (une sorte de DTO). Mais cette séparation implique de devoir recoder tous les services proposés par API Platform : filtres, pagination, extensions…

C’est là qu’entre en jeu l’option stateOptions, offrant la possibilité de séparer la ressource de l’entité, tout en réutilisant l’intégration de Doctrine avec API Platform !

" class="wp-image-7823

Remplacer une base de données par une API sans toucher l’existant, Mission Impossible ? - Smaïne Milianni #

Smaïne Milianni nous a fait une conférence très drôle sur un retour d’expérience d’une migration de projet e-commerce legacy vers API Platform. Comment l’équipe du projet a dû composer avec plusieurs bases de données le temps que tout soit migré et comment, via une série de services, elle allait récupérer les données aux bons endroits durant toute la période de migration.

" class="wp-image-7822

The bright and exciting future of the decentralized web - Pauline Vos #

Pauline Vos a commencé sa conférence en nous présentant ce qu’est la décentralisation, et plus spécifiquement, dans le web. L’avantage d’un web décentralisé est que celui-ci n’est plus contrôlé par les mêmes très gros acteurs (GAFAM principalement), permettant à l’utilisateur de reprendre le contrôle sur ses données et limiter la surveillance de masse ou la censure.

Elle a ensuite parlé du projet Solid, permettant de posséder un “pod” auto-hébergé avec toutes nos données personnelles à l’intérieur et d’avoir le contrôle sur qui consulte ses données, lesquels je souhaite partager, etc. Les applications web interagissent donc avec notre "pod" mais ne stockent pas nos données personnelles.

" class="wp-image-7827

Pauline a ensuite continué sa conférence en parlant du Fediverse, mais aussi du protocole IPFS.

PHP’s Kitchen Nightmares - Stefan Koopmanschap #

Stefan Koopmanschap est fan de l'émission "Kitchen Nightmares" et s'en est servi pour illustrer les problèmes communs que l'on peut rencontrer dans notre "cuisine" de développeurs PHP.

Au travers d'une conférence amusante, il nous a montré de courts extraits de cette émission et fait le lien entre les recommandations du Chef Ramsay et les bonnes pratiques de développement. Parmi les conseils qu'ils nous donne, il nous explique notamment que le client a toujours raison ("sauf quand il a tort"). Il veut surtout dire par là qu'il ne faut pas essayer d'interpréter ce que veut le client mais qu'il est important de bien communiquer avec lui pour comprendre ses besoins, et de ne pas faire d'over-engineering juste parce que c'est amusant.

Bref, pleins de petits conseils, qui relèvent, pour la plupart, plus de compétences humaines que techniques. Mais qui sont de bonnes piqûres de rappel pour nous, devs têtus, qui veulent faire les choses à notre sauce, et souvent au détriment de notre équipe ou de notre projet !

Rejoignez le Fediverse avec API Platform ! - Jérôme Tanghe #

De son côté, Jérôme Tanghe a présenté le protocole ActivityPub, qui permet aux réseaux sociaux Mastodon, Pixelfed, PeerTube et bien d’autres encore, de communiquer ensemble de façon transparente. ActivityPub est un protocole proposé par le W3C basé sur l’architecture REST, ce qui fait d’API Platform un framework de choix pour son implémentation.

Centré sur l’utilisateur, nommé acteur dans le protocole, ce dernier lui attribue deux boîtes aux lettres : l’inbox lui permet de recevoir les messages provenant d’utilisateurs présents sur d’autres serveurs, tandis qu’il dépose ses propres messages dans l’outbox, accessible publiquement et donc lisible par tout le monde. Un message peut être un simple contenu textuel, une vidéo, une image, un contenu riche… mais aussi une information indiquant qu’un utilisateur en suit un autre ou a aimé ou partagé un contenu.

Chaque interaction entre les serveurs doit être sécurisée afin de s’assurer qu’un utilisateur est bien celui qu’il prétend être. Si la spécification d’ActivityPub reste vague sur la méthode à employer, un consensus s’est installé depuis quelques années, basé sur une signature cryptographique des en-têtes à l’aide d’une paire de clés RSA propre à l’utilisateur. Jérôme précise que cette sécurisation est la partie la plus délicate du travail d’implémentation, et conseille de rester patient : une fois terminée, l’implémentation du reste du protocole est très facile, d’autant que la spécification est très accessible.

Lightning talks #

Cette session de trente minutes n'était pas retransmise en direct mais nous avons trois participants de l'API Platform Con 2023 qui sont montés sur scène pour nous présenter en sept minutes chrono un sujet, peu importe le thème. Florent Huck (Platform.sh) nous a présenté comment déployer API Platform dans le PASS, Valmont Pehaut Pietri (Alximy) nous a initié à l'univers de la bière et Kevin Verschaeve (Exotec) nous a montré ses commandes zsh préférées.

" class="wp-image-7832
" class="wp-image-7833
" class="wp-image-7834

Une histoire d'épouvante qui finit bien : récit d'une migration d'une API custom vers API Platform 2.x puis 3 - Bastien Jaillot #

La migration d’un projet API Platform 2.x vers 3.x n’est pas une mince affaire… surtout si l’on vient de loin ! Partant d’un vieux projet, Bastien Jaillot est revenu toutes les difficultés que son équipe et lui ont rencontrées lors de leur montée de version vers API Platform 2.1, 2.x, et le passage difficile vers 3.0.

Utilisation massive du format YAML, non adaptation du projet à la montée d’une version mineure, script automatique de montée de version ne prenant pas en charge le format YAML, et autres couacs rencontrés, Bastien nous a prodigué ses conseils pour ne pas rencontrer les mêmes difficultés.

Developing APIs with Symfony in 2023 - Nicolas Grekas #

Nicolas Grekas a montré un aperçu de toutes les nouvelles fonctionnalités prévues dans Symfony 7 qui sort en novembre. Parmi ces fonctionnalités, on peut notamment découvrir de nombreux attributs très pratiques comme #[AsController], #[AsAlias], #[MapRequestPayload], etc. 

" class="wp-image-7826

Il a aussi parlé des nombreuses fonctionnalités dépréciées qui seront supprimées dans Symfony 7, comme les annotations Doctrine par exemple, qui vont passer en Attribut.

Q&A Session - API Platform Core Team - Kévin Dunglas & Antoine Bluchet & Vincent Chalamon #

La Core Team d'API Platform a échangé sur de multiples sujets sur le futur d'API Platform ainsi que ses fonctionnalités existantes.

L'impact d'API Platform sur l'Open Source - Loïc Frémont #

Loïc Frémont nous a présenté un micro framework Symfony open source intitulé “Monofony”, qui permet, à partir de briques Sylius notamment, de générer un CRUD complet et rapide, avec des filtres, des statistiques, un système d’authentification complet, une doc OpenAPI, etc.

Le modèle coopératif, un puissant outil de lutte pour l’égalité en entreprise - Marion Agé & Cécile Staehle #

Une superbe conférence sur l’histoire du mouvement coopératif en France, intimement liée à l’histoire du mouvement ouvrier et syndical. Marion Agé et Cécile Staehle nous ont également présenté le fonctionnement des SCOP de nos jours, les forces d’un tel statut pour les salariés, des chiffres, des statistiques ainsi que les choix d’organisation qu’elles ont faits pour leur sociétés respectives (Les-Tilleuls.coop et Troopers), entre autogestion, holacratie et démocratie participative.

" class="wp-image-7828

Deux jours inoubliables #

Conférences de haute qualité, moments conviviaux pendant les pauses, stands élégants de nos partenaires... Nous avons pris un immense plaisir à organiser cette troisième édition, et nous espérons que vous avez ressenti notre passion et implication pour que vous viviez une superbe expérience dans la capitale des Flandres.

Cet événement n'aurait pas été possible sans le soutien de nos sponsors et partenaires : merci Sensiolabs, France Télévisions,Platform.sh, Bump.sh, Commerce Weavers, Alice's Garden, Akawaka, Fairness, Orbitale, Alximy, JL Recrutement (merci pour le punch <3), WeLoveDevs, AFUP et Motiv'Her pour votre confiance et votre soutien ! Un immense bravo également à nos conférencières et conférenciers, nous espérons que le séjour fut bon pour vous. Enfin, merci à nos participantes et participants pour leur bonne humeur pendant ces deux jours (et cela, malgré la pluie ;)) !

Toutes les photos de l'événement sont désormais disponibles sur Flickr. Un immense bravo et merci à Nicolas Detrez pour ce boulot ! Pensez à le créditer si vous souhaitez utiliser son travail.

" class="wp-image-7829
" class="wp-image-7830
" class="wp-image-7831

L'API Platform Con revient les 19 et 20 septembre 2024 à Lille et en ligne, et l'appel à speakers vient d'être lancé. Vous avez un cas d'usage avec le framework API Platform, vous souhaitez présenter une fonctionnalité clé ou voulez présenter un sujet lié aux APIs, à l'écosystème PHP, JS ou Cloud ? Répondez à notre formulaire et nous reviendrons vers vous très rapidement.

Le blog

Pour aller plus loin