Aller au contenu

DÉVELOPPEMENT

Easy Admin vs Admin d'API Platform : comparatif des interfaces d'administration d'une API Symfony

Publié le : 9 Mai 2023

3 min.

Partager

Quand on utilise API Platform pour servir un site front, on a souvent besoin d’un espace d’admin pour que les gestionnaires du site puissent gérer les données. Et généralement, c’est mieux si c’est pas fait de zéro.

Dans notre recherche du bon espace admin pour notre API, nous avons eu l’occasion d’utiliser deux solutions : Easy Admin et la solution proposée et développée par API Platform.

Pour résumer brièvement, API Platform Admin est une application Ouvre une nouvelle fenêtreReact qui vient se connecter à votre API et la scanner pour proposer un ensemble de formulaires basés sur les endpoints disponibles. Easy Admin, quant à lui, est un bundle à ajouter à un projet Ouvre une nouvelle fenêtreSymfony qui permet de créer de manière rapide un espace d’admin avec des formulaires correspondants aux entités.

Notre but n’est pas de décréter lequel est le meilleur des deux, mais de vous proposer une comparaison afin que vous puissiez faire le choix le plus adapté à vos besoins.

Api Platform Admin

C’est la solution officielle développée par les contributeurs d'API Platform, basée sur Ouvre une nouvelle fenêtrereact-admin. Il s'agit d’une appli react qui analyse la documentation de l’API et génère des composants pour créer des formulaires d’administration. Les formulaires restent personnalisables en développant en React.

Exemple d’interface basique d’API Platform Admin sur un projet de quizz

Formulaire généré automatiquement (notez le champ « Answers » qui accepte 1 ou plusieurs valeurs)

Avantages

  • Intégration complète avec Api Platform
  • Conservation de la séparation API / front
  • Pas de code pour la configuration par défaut
  • Tous les widgets pour les types de base et les jointures sont disponibles
  • Possibilité de personnalisation

Inconvénients

  • Devoir maintenir & héberger une application en plus
  • S’il faut personnaliser, besoin de savoir développer en React
  • Devoir mélanger les configurations de l’API front et admin sur API Platform, et gérer les droits qui vont avec

Easy Admin

Easy Admin est un bundle qui, à l’instar d’autres outils tels que Sonata Admin, propose une interface d'administration des entités Symfony, à partir d’une configuration intégrée au projet. C’est un bundle symfony classique et nécessite donc de passer par un accès web au projet. C'est donc une solution totalement décorrélée d’API Platform.

Pour cette solution, il est nécessaire d’écrire un peu de code afin de configurer des formulaires pour les entités. Voici un exemple pour l’entité Question :

Avantages

  • Environnement plus familier des développeurs back
  • Installation facile et rapide
  • Peu de code dans le cas nominal
  • Décorrélé d’API Platform : réduction du risque d’effet de bord
  • La commande Maker nous assiste afin de créer les classes

Inconvénients

  • Décorrélé d’API Platform : nécessite une configuration à part
  • Obligé d’installer des dépendances inutiles à l’API (twig, etc.)

Conclusion

En conclusion, le déploiement d’une nouvelle appli React peut s’avérer compliqué, tout comme la personnalisation d'éléments React en fonction des besoins du projet, si l’équipe n’est pas formée sur cette technologie, mais l’utilisation d’API Platform Admin permet une intégration plus cohérente de l’outil d’administration. C’est donc à décider en fonction de votre équipe de développement et de l'approche que vous souhaitez avoir pour votre projet.

Gwenn Meynier

Développeur back

Partager

Articles similaires