§ 01 / 05 — CRÉATION D'API REST

Des API REST qui tiennent le contrat avec vos clients.

API REST propres, documentées, versionnées, construites sur API Platform 4. Pagination, filtres, tri, limitation des appels, tests d'intégration — tout ce qui fait qu'un client intégrateur reste client. Livraison par un freelance Symfony noté 4,95/5 sur Malt, cas client Qualifleads en production (45+ endpoints, < 100 ms de latence).

§ 01 — Le problème

Le problème.

Sans expert
  • Points d'accès incohérents — Conventions de nommage qui changent d'un endroit à l'autre — vos intégrateurs perdent du temps à deviner.
  • Pagination naïve — Pagination qui casse au-delà de 10 000 lignes et plombe la base de données.
  • Pas de limitation d'appels — Un client maladroit ou mal codé peut tuer l'API pour tous les autres.
  • Erreurs non structurées — Des pages HTML renvoyées au lieu d'un format exploitable par les machines.
  • Aucune version — Chaque évolution casse les clients existants, faute d'une politique de retrait claire.
Avec Vulcain
  • Conventions rest strictes
  • Pagination stable (par marque-page plutôt que par décalage)
  • Limitation d'appels par client
  • Erreurs au format standard exploitable
  • Gestion des versions avec prévenance annoncée 12 mois à l'avance.
§ 02 — Ce qui est livré

Ce qui est livré.

§ 01

Ressources API Platform

Données exposées avec des vues finement personnalisables, validation des entrées, contrôle d'accès par ressource, filtres, tri.

  • Vues personnalisées
  • Droits par ressource
  • Filtres personnalisés
  • Recherche / tri
§ 02

Pagination & filtres

Pagination par marque-page stable, filtres combinables, recherche plein texte via moteur dédié quand nécessaire.

  • Pagination stable
  • Filtres combinables
  • Recherche rapide
  • Champs à la demande
§ 03

Limitation d'appels

Limites par client (adresse IP, clé d'accès, utilisateur), pics admis + plafond horaire, en-têtes indiquant le quota restant, coupure de circuit en cas de saturation.

  • Par client
  • Pic + plafond
  • Quota visible
  • Coupe-circuit
§ 04

Erreurs exploitables

Format d'erreur standardisé et machine-friendly, codes HTTP corrects, identifiant unique de requête pour le support, journaux structurés.

  • Format standard
  • Codes HTTP
  • Identifiant unique
  • Journaux structurés
§ 05

Tests d'intégration

Tests automatisés qui tapent les vrais points d'accès avec jeux de données. Tests de contrat pour garantir que les applications clientes ne cassent pas.

  • Tests d'API
  • Jeux de données
  • Tests de contrat
  • Intégration bloquante
§ 06

Supervision

Journaux structurés, indicateurs de santé, traçage des requêtes bout-à-bout. Vos équipes voient ce qui se passe en temps réel.

  • Journaux structurés
  • Indicateurs de santé
  • Traçage bout-à-bout
  • Tableaux de bord
src/Entity/Product.php php
#[ApiResource(
    operations: [
        new GetCollection(),
        new Get(),
        new Post(security: "is_granted('ROLE_ADMIN')"),
        new Patch(security: "is_granted('EDIT', object)"),
    ],
    normalizationContext: ['groups' => ['product:read']],
    paginationType: 'cursor',
    paginationItemsPerPage: 50,
)]
#[ApiFilter(SearchFilter::class, properties: ['category.slug' => 'exact'])]
#[ApiFilter(RangeFilter::class, properties: ['priceCents'])]
class Product
{
    #[Groups(['product:read'])]
    public Uuid $id;

    #[Groups(['product:read', 'product:write'])]
    #[Assert\NotBlank]
    public string $name;

    // ... stock, price, etc.
}

Une ressource exposée en API : déclarative, testable, documentée d'office — la doc et les contrôles d'accès sont décrits à côté du code.

§ 04 — Tarifs & délais
§ 01

API — premier périmètre

4 à 6 semaines

Une API REST sur un périmètre ciblé : 5 à 10 ressources, authentification sécurisée, documentation auto, tests, déploiement.

  • 5 à 10 ressources
  • Sécurité JWT
  • Documentation auto
  • Tests d'intégration
  • Déploiement automatisé
  • Mise en production
§ 02

API complète

8 à 14 semaines

API avec 20+ ressources, droits fins par utilisateur, pagination stable, limitation des appels, GraphQL optionnel, notifications temps réel.

  • 20+ ressources
  • Droits fins
  • Pagination stable
  • Limitation d'appels
  • GraphQL si besoin
  • Temps réel
§ 03

Refonte API existante

6 à 12 semaines

Reprise d'une API existante : passage à API Platform, gestion des versions propre, migration progressive des clients connectés.

  • Audit existant
  • Nouvelle version
  • Coexistence v1/v2
  • Migration clients
  • Politique de retrait

Tarifs sur devis après cadrage · forfait ou régie selon le format

§ 04 — Questions fréquentes

Les questions qu'on me pose toujours en premier.

§ 01 Freelance ou agence pour livrer notre API REST ?

L'agence facture une équipe rotative et un chef de projet : confortable mais cher, parfois lent. Un freelance senior (9+ ans Symfony, 4,95/5 sur Malt) prend la responsabilité technique de bout en bout, avec un interlocuteur unique sur la durée. Bon choix quand le scope est cadré et que la qualité du code prime sur la quantité de têtes. Mauvais choix si vous avez besoin d'une équipe de 5 dev à mobiliser demain.

§ 02 Combien ça coûte une fois livré, à l'année ?

Pas d'abonnement après livraison. Vos coûts récurrents : hébergement (selon trafic), supervision (gratuit ou outil 20-50 €/mois), maintenance corrective (incluse 3 mois, puis régie ponctuelle au besoin). Une API REST bien conçue tourne sans intervention pendant des années — les frais récurrents sont marginaux par rapport au coût de développement initial.

§ 03 Et si je veux reprendre ou changer de prestataire dans 2 ans ?

Code source, schéma OpenAPI, tests, documentation, scripts de déploiement — tout vous appartient et est livré dans un repo Git à votre nom. Analyse statique au niveau maximum, 80 %+ de couverture de tests. N'importe quel développeur Symfony senior peut reprendre sans temps de prise en main interminable. Aucun verrou.

§ 04 Pagination par décalage ou par marque-page ?

Par marque-page par défaut pour les ressources avec beaucoup de lignes (plus de 1 000). La pagination par décalage souffre à grande échelle : demander la page 100 oblige la base à relire 100 000 lignes avant de répondre. Le marque-page est stable et rapide.

§ 05 Vous gérez les liens de navigation dans les réponses ?

Si c'est pertinent. Cela a du sens pour les API destinées à des clients inconnus ou pour des processus où les actions possibles dépendent de l'état. Inutile pour une API interne entre deux services contrôlés.

§ 06 Comment limitez-vous les appels d'un client abusif ?

Limites par clé d'accès en priorité, par adresse IP sinon. Mise en œuvre côté Symfony avec un cache rapide Redis. Pic autorisé (5 requêtes/s) + plafond horaire (1 000 requêtes/h). En-têtes standards pour que les clients connaissent leur quota restant.

§ 07 Pourquoi choisir API Platform pour créer une API REST ?

API Platform est l'outil PHP le plus complet pour créer des API. Il génère automatiquement la documentation interactive, gère la validation, la transformation des données, la pagination, et offre GraphQL en plus de REST.

§ 08 Comment je teste ma propre API ?

Interface de test interactive embarquée + collection Postman exportable + kit d'intégration auto-généré. Vous pouvez la tester en 3 clics. Bac à sable avec jeu de données préchargé disponible pour les démonstrations commerciales.

§ 09 Support des notifications temps réel ?

Oui, via un standard web moderne (Mercure, intégré à API Platform). Pour les notifications poussées, les tableaux de bord vivants, les fonctionnalités collaboratives. Plus simple qu'une solution sur mesure, avec repli sur les technologies plus anciennes.

§ 05 — Cas client · SaaS API-first · Qualification de leads

Qualifleads

SaaS API-first de qualification de leads par SMS/IA. 45+ points d'accès publics, documentation OpenAPI 3.1 générée automatiquement, kit d'intégration Python publié sur un catalogue privé, tableau de bord développeur embarqué.

  • API Platform 4
  • Symfony 7
  • Sécurité JWT
  • Documentation auto
  • Redis
45+
Points d'accès publics
< 100 ms
Temps de réponse
+60 %
Conversions leads
§ 06 — Voir aussi
§ 07 — Cadrer votre API REST

Une API REST à concevoir ou à refondre ?

15 minutes pour comprendre vos consommateurs (mobile, partenaires, intégrateurs), votre code existant et le palier pertinent. Devis chiffré sous 24 h.

  • 01
    On audite l'existant ou les besoins, on chiffre les ressources à exposer.
  • 02
    On identifie le palier pertinent : premier périmètre / complète / refonte v2.
  • 03
    Estimation chiffrée envoyée sous 24 h. Si ce n'est pas pour moi, je vous oriente.