Redouan

Notre API met 8 secondes à répondre.

Message reçu un vendredi soir. L'app mobile était inutilisable.

Une startup me contacte. Leur application mobile rame. Les utilisateurs désinstallent. Le problème ? Leur API REST PHP.


Ce que j'ai trouvé :

  • Un endpoint qui retournait trop de données: 2 Mo de JSON 😱
  • Des jointures SQL sur 6 tables sans index
  • Aucune pagination
  • Pas de cache HTTP
  • Sérialisation de tout l'objet (relations incluses)

Le résultat :

  • Temps de réponse moyen : 4-8 secondes
  • Taux d'abandon : 60%
  • Note App Store : 2.1 ⭐

Les corrections appliquées :

1. Pagination obligatoire

GET /api/products?page=1&limit=20

Plus jamais de "SELECT * FROM products" sans limite.

2. Champs sélectifs

On ne retourne que ce dont le client a besoin.

3. Cache HTTP agressif

Cache-Control: max-age=300
ETag: "abc123"

Les données qui changent peu = cache de 5 min.

4. Index SQL sur les colonnes filtrées

De 3 secondes à 50ms sur une requête.

5. Sérialisation contrôlée

Groupes de sérialisation Symfony pour éviter les fuites de données.

Résultat après 2 semaines :

  • ✅ Temps de réponse moyen : 120ms
  • ✅ Taux d'abandon : 15%
  • ✅ Note App Store : 4.2 ⭐

La règle d'or des API REST ?

Une API performante, c'est une API qui respecte son client. Moins de données, plus vite. 🎯

Votre API REST est lente ? Vos utilisateurs se plaignent ?

👉 Contactez-moi. Audit et optimisation de vos endpoints en quelques jours.