API Platform, notre framework pour exposer des API Symfony
API Platform est un framework PHP construit sur Symfony qui permet d'exposer des API REST et GraphQL à partir d'entités Doctrine. Documentation OpenAPI automatique, validation intégrée, filtres et pagination natifs.
Nous l'utilisons dans SmartPlatform pour assurer la communication entre notre backend Symfony et nos frontends Vue.js. Il a remplacé notre ancienne couche API interne en apportant un standard maintenu par la communauté.
PRÉSENTATION
Qu'est-ce qu'API Platform ?
API Platform est un framework open source PHP bâti sur Symfony et Doctrine, conçu pour créer des API web modernes. Il suit les standards du web (JSON-LD, Hydra, OpenAPI) et génère automatiquement une documentation interactive à partir des annotations de vos entités.
Son modèle déclaratif permet d'exposer une ressource complète avec opérations CRUD, filtres, pagination et sérialisation →en quelques attributs PHP. Pour les cas métier complexes qui sortent du CRUD, les State Providers et Processors offrent une extension propre sans contourner le framework.
API Platform s'intègre nativement dans l'écosystème Symfony : services, événements, sécurité, validation →tout ce qui est disponible dans Symfony est accessible dans une ressource API Platform.
POURQUOI API PLATFORM
Ce qui en fait notre standard pour les API Symfony
Créer une API REST robuste depuis Symfony sans réinventer la roue : voici les fonctionnalités qui nous ont convaincus d'adopter API Platform.
API REST prête en quelques lignes
Un attribut PHP sur une entité Doctrine suffit à exposer une ressource complète avec les opérations GET, POST, PUT, PATCH et DELETE. La documentation OpenAPI est générée automatiquement et toujours à jour.
Validation et sécurité intégrées
Les contraintes de validation Symfony sont appliquées automatiquement sur chaque entrée API. Les règles d'accès se définissent via les voters et le composant Security de Symfony →aucune couche d'autorisation à recoder.
Documentation OpenAPI automatique
API Platform génère une documentation Swagger interactive à partir du code. Elle est toujours synchronisée avec l'implémentation →plus de documentation dépassée ou divergente avec la réalité.
Filtres et pagination natifs
Les filtres de recherche, de tri et la pagination sont disponibles en quelques lignes d'attributs PHP. Pas de code répétitif à écrire pour chaque ressource, les cas courants sont couverts nativement.
Extensible et personnalisable
Les State Providers et State Processors permettent de sortir du CRUD standard pour implémenter n'importe quelle logique métier complexe. API Platform s'adapte à votre domaine, pas l'inverse.
Intégration native avec Symfony
API Platform est un bundle Symfony →il s'intègre avec le conteneur de services, les événements, la sécurité et Doctrine. Tout ce qui fonctionne dans Symfony fonctionne dans API Platform.
NOTRE USAGE
API Platform dans SmartPlatform
SmartPlatform est notre socle technique Symfony + Vue.js déployé sur l'ensemble de nos projets. API Platform y joue un rôle central : c'est la couche qui fait communiquer le backend Symfony et les interfaces Vue.js.
Remplacement de la couche API interne
SmartPlatform disposait historiquement d'une couche API développée en interne. Nous avons migré cette couche vers API Platform pour bénéficier d'un standard maintenu par la communauté Symfony, avec moins de code propriétaire à maintenir.
Pont entre Symfony et Vue.js
API Platform est le point de connexion entre notre backend Symfony et nos frontends Vue.js. Les composants Vue consomment les endpoints REST exposés par API Platform pour afficher et manipuler les données métier.
Moins de code, plus de standards
Remplacer du code API maison par API Platform réduit la surface de maintenance et s'appuie sur les conventions du framework. Les nouveaux développeurs sur le projet retrouvent des patterns familiers plutôt qu'une implémentation propriétaire à appréhender.
Pour aller plus loin
Documentation utile
Guides, référence API et exemples pour créer des API REST et GraphQL avec Symfony.
Référence complète du composant Core : ressources, opérations, filtres, sérialisation.
Pour aller plus loin
Approfondir votre réflexion
API Platform s'appuie entièrement sur Symfony. Découvrez pourquoi Symfony est notre socle de référence pour tous les projets backend.
API Platform accélère la création d'API robustes dans nos projets sur mesure, notamment pour les applications multi-clients et les intégrations tierces.
API Platform alimente les interfaces d'administration de nos back-offices sur mesure, offrant une API REST prête à l'emploi pour chaque ressource métier.