La parole est aux speakers : Vincent Chalamon

Publié le

Jusqu’à l’AFUP Day 2024, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

API Platform 2.7 vers 3.x : l’upgrade-path ultime !

API Platform 3.2 est sorti en octobre 2023, et pourtant encore trop de projets restent sur la version 2. Cette migration majeure, bien que nécessaire, s’avère parfois compliquée. La majorité du temps, la montée de version du code custom en est la cause.

À travers cette conférence, nous allons détailler l’upgrade path proposé par API Platform, et étudier comment gérer les cas particuliers.

La Comédie
24/05/2024
09:20-10:00

Tu fais partie de la Core Team d’API Platform. Comment arrive-t-on à maintenir dans le temps un aussi gros projet ?

Demande à Antoine, c’est lui le release-manager 😉
Blague à part : en équipe, avec beaucoup de communication et de veille technologique ! C’est un peu comme dans un couple, pour que ça dure dans le temps, il faut une bonne communication, ne pas hésiter à se remettre en question, et s’améliorer chaque jour. Au sein de la core-team d’API Platform, on échange beaucoup entre nous, on reste à l’écoute des propositions des uns et des autres, on apprend de ses erreurs (tout le monde peut en commettre) et on évolue grâce à tout ça !

La veille technologique nous permet d’intégrer les dernières technologies (voire y contribuer ou les créer), et surtout d’appliquer et respecter les standards. C’est ça la force d’API Platform ! Et ça nous assure notamment sa maintenance dans le temps.

Pour une personne qui n’a jamais fait de ApiPlatform : à quel point doit-elle faire bien attention (en terme de complexité, bonne pratique, erreur trop souvent commise, etc…)

KISS ! Pas le groupe de Rock, hein, la méthodologie : Keep It Simple and Stupid ! API Platform propose plein de points d’extension parfaitement adaptés : State Providers / Processors, Serializer, etc. Cependant, j’ai vu passer beaucoup de projets où les devs ont préféré les DTOs plutôt que les points d’extension prévus… et je vous parle là d’une multitude de DTOs ! 70% du temps, un DTO va augmenter la complexité du code (et donc sa maintenance), peut réduire les performances, et peut être remplacé par une approche plus simple. Alors avant de partir dans des solutions inutilement complexes, explorez la doc d’API Platform à la recherche d’une solution existante, privilégiez les solutions génériques et simples, et discutez-en avec d’autres devs.

Tu as beaucoup travaillé sur l’intégration de OIDC dans Symfony et API Platform récemment. Tu as d’ailleurs mis Keycloak dans la démo du framework. Est-ce un outil qui est recommandé ? Si non, comment choisir le bon système d’authentification ?

Keycloak est une référence dans le milieu d’OIDC, notamment car il est Open Source ! Il respecte les standards OIDC, OAuth2 et SAML, ce qui en fait un outil recommandé par la communauté. Cependant, il implique que vous vous chargiez vous-même de son installation, sa configuration, sa maintenance et son déploiement, ce qui peut parfois constituer un frein à son usage. Auquel cas, il peut être intéressant de se tourner vers des solutions clé en main (par exemple : Auth0). Cependant, je vous déconseille de créer votre propre serveur OIDC ! La spécification est très complexe, vous avez de grandes chances de passer à côté de quelque chose d’important et d’introduire des failles de sécurité dans votre système !

La bonne authentification dépend de votre système. Si celui-ci est relativement petit ou simple, nul besoin d’implémenter un outil aussi complexe que Keycloak : on n’utilise pas une enclume pour enfoncer un clou ! Par contre, si vous souhaitez mettre en place un SSO dans un système relativement grand ou complexe, alors peut-être (et je dis bien peut-être) qu’OIDC est la solution que vous recherchez. Faites des recherches, discutez-en autour de vous, c’est en échangeant ses idées qu’on arrive à la meilleure solution 🙂

Une conférence présentée par

Vincent CHALAMON
Vincent CHALAMON
Développeur expert chez Les-Tilleuls.coop, Vincent est membre de la core-team d'API Platform et contribue au framework Symfony, notamment au composant Security. Quand il n'est pas sur son vélo, il est probablement en train de parcourir le monde avec son sac à dos à la recherche d'une solution d'hébergement alternative !

Autres intervenants