La parole est aux speakers : Antoine Bluchet

Publié le

La conférence

Comment nous avons rendu API Platform compatible avec Laravel

API Platform, cadriciel écrit en PHP basé sur Symfony est un outil de développement d'APIs web parmi les plus puissants. En effet, en embarquant les standards les plus populaires du marché, il permet aux devs de s'abstraire de l'implémentation protocoles académiques complexes (JSON-LD, Hypermedia, JSON Schema etc.) et de profiter de leurs fonctionnalités. La communauté Laravel, proche de leurs outils et de l'approche plus abstraite de Laravel face à Symfony, ne bénéficiait jusqu'alors pas d'outils aussi performants. De ce fait, nous avons souhaité rendre API Platform compatible avec Laravel et nous vous embarquons avec nous dans l'aventure pour partager l'intégration de ces deux outils. Au menu de cette présentation, quelles ont été les décisions techniques qui nous ont permis de le faire, quelles sont les difficultés que nous avons rencontrées et comment se lancer avec Laravel et API Platform.

Salle Hopper ABCDEF
13/10/2023
15:55-16:35

As-tu retenu des enseignements personnels en rendant API Platform compatible avec Laravel ? Si oui, lesquels ?

Je crois que la dernière fois que j’ai utilisé Laravel c’était à mes débuts en PHP il y a plus de 10 ans, j’avais ensuite choisi CakePHP et n’y était plus retourné. C’était intéressant de s’y plonger à nouveau, et comme à mon habitude j’ai étudié le code de Laravel pour comprendre son fonctionnement et m’y greffer au mieux.
Au final, nous avions anticipé l’intégration d’API Platform et il était plus difficile de se détacher de Symfony que de s’intégrer à Laravel. Tout compte fait, l’enseignement principal est que nos implémentations ne sont jamais figées dans le marbre et qu’elles évoluent continuellement. Aussi, lorsqu’on travaille sur du logiciel libre, il faut prendre le temps qu’il faut pour concevoir et penser nos interfaces qui sont ensuite utilisées par les devs, surtout que nous garantissons (sous license MIT) une rétro-compatibilité. Cette compatibilité est la chose la plus dure et la plus chronophage lors de nos développements. En tant que consommateurs de nos bibliothèques, il faut avoir cela en tête car il est difficile pour nous de justifier le temps nécessaire pour ce genre de développements.

Quel a été le besoin qui a poussé à réaliser cette compatibilité ?

API Platform devient de plus en plus extensible et propose des implémentations de standards (JSON-LD, Hydra, JSON:API, OpenApi etc.) qu’aucun autre cadriciel ne propose aujourd’hui. Nous savons que Laravel est très utilisé dans la communauté PHP mais lorsqu’il s’agit de créer une API les outils sont peu avancés ou de mauvaise qualité. Nous voulons apporter à la communauté Laravel nos outils, qui ont acquis une certaine stabilité et renommée.

En complément de la compatibilité technique, quel a été l’effort à fournir pour écrire de la documentation supplémentaire et spécifique à Laravel ?

L’impact sur la documentation d’API Platform en tant que telle est assez minime. C’est l’impact sur l’expérience de développement qui demande plus d’effort. Les pratiques ne sont pas les mêmes et c’est là ou nous voulons apporter quelque chose de plus qu’un simple portage de la librairie de Symfony à Laravel. De ce fait l’usage va être travaillé pour coller aussi bien aux différents styles de code, avec par exemple un support d’Eloquent, d’Octane ou d’autres fonctionnalités spécifiques à Laravel. Pour en savoir plus je vous invite à venir voir ma conférence !

Une conférence présentée par

Antoine BLUCHET
Antoine BLUCHET
Développeur Full-Stack, Antoine contribue aux logiciels libres depuis plus de 10 ans. Auteur et mainteneur de modules JavaScript, il contribue également à Symfony et API Platform. Quand il n'est pas en train de réparer ou de conduire sa moto, ou de jongler sur un monocycle, il est probablement en train de coder, d'écrire ou de préparer une nouvelle conférence impliquant de la programmation innovative !

Autres interviews