La hype GraphQL a fait long feu. En 2026 la réalité est nuancée : REST reste la bonne réponse dans 70 % des cas, GraphQL brille dans les 30 % restants. Voici ma grille.

REST : ce qui marche toujours

  • Simplicité absolue pour les consommateurs.
  • Caching HTTP natif (ETag, Cache-Control) pour des perfs gratuites.
  • Outillage universel : Postman, curl, Swagger, monitoring standard.
  • Pagination, filtrage, tri : conventions connues.

Avec Laravel Resource ou API Platform côté Symfony, générer une API REST documentée, versionnée, validée prend 1-2 jours. C'est le baseline.

GraphQL : quand c'est pertinent

  • Clients multiples avec besoins divergents (web + mobile + partenaires B2B).
  • Profils de données très variables selon les écrans.
  • Éviter l'over-fetching sur des objets imbriqués profonds.
  • Équipe front qui doit itérer sans attendre des changements backend.

Pour PHP : API Platform supporte GraphQL natif, Lighthouse côté Laravel. Les deux sont matures en 2026.

Les pièges GraphQL

  • N+1 partout : sans DataLoader bien configuré, chaque résolveur requête. Cauchemar.
  • Sécurité complexifiée : authorization par champ, limite de profondeur, query cost analysis obligatoires.
  • Caching pénible : bye bye cache HTTP, bonjour cache applicatif à maintenir.
  • Introspection = surface d'attaque : en prod, désactivez-la.

Le faux argument contre REST

"Over-fetching" : souvent exagéré. Un endpoint REST bien conçu avec ?fields=id,name ou ?include=author (style JSON:API) résout 80 % des cas de surfetch sans passer à GraphQL.

Hybride ? OUI.

Pattern qui marche bien :

  • REST pour le CRUD standard et les endpoints publics partenaires.
  • GraphQL pour le BFF (Backend For Frontend) spécifique à votre app.
  • gRPC pour la communication interne entre microservices (oui, gRPC, pas GraphQL).

Ma recommandation par type de projet

  • SaaS B2B classique : REST.
  • App mobile + web avec besoins divergents : REST + quelques endpoints "fat" spécialisés, ou GraphQL.
  • Plateforme avec 20+ clients tiers : REST avec OpenAPI solide.
  • App interne avec équipe front très mature : GraphQL peut être gagnant.

Le débat 2026 : tRPC

Pour les équipes TypeScript full-stack, tRPC rend REST et GraphQL presque obsolètes. En PHP, pas d'équivalent direct, mais les APIs typées via OpenAPI + codegen client s'en approchent.

Besoin d'architecturer une API solide pour votre produit ?