•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.