Schéma unifié
Structure de données auto-générée depuis votre code. Un seul modèle, REST et GraphQL cohérents.
- Types auto-générés
- Cohérence REST/GQL
- Cas particuliers gérés
- Types personnalisés
Schéma GraphQL unifié (laissez le client choisir les champs qu'il récupère — idéal mobile, tableaux de bord, partenaires) généré depuis votre code, avec des protections anti-surcharge intégrées, des événements temps réel, et la même source de vérité que votre REST. Livraison par un spécialiste GraphQL freelance noté 4,95/5 sur Malt, scope cadré, kick-off sous 1 semaine.
Structure de données auto-générée depuis votre code. Un seul modèle, REST et GraphQL cohérents.
Les données liées sont récupérées en une seule requête groupée, pas une par ligne. Une requête avec 100 éléments imbriqués fait 2 accès à la base, pas 101.
Limite de profondeur, limite de complexité, délai d'attente maximum. Un client ne peut pas paralyser le serveur avec une requête tordue.
Événements poussés via un standard web moderne (Mercure). Votre application cliente reçoit les mises à jour sans interroger le serveur en boucle.
Tests automatisés qui envoient de vraies requêtes GraphQL. Tests de contrat, tests des opérations de modification, tests des notifications.
Interface de test interactive en développement (désactivée en production), export du schéma, génération automatique de clients TypeScript si pertinent.
final class ProductResolver implements QueryCollectionResolverInterface
{
public function __construct(
private readonly CategoryLoader $categoryLoader,
) {}
/** @param iterable<Product> $collection */
public function __invoke(iterable $collection, array $context): iterable
{
// Préload de toutes les catégories référencées en 1 requête SQL
$categoryIds = array_unique(array_map(
fn (Product $p) => $p->getCategoryId(),
iterator_to_array($collection),
));
$this->categoryLoader->preload($categoryIds);
return $collection;
}
}
Un résolveur typé qui regroupe les accès base en une seule requête groupée, même si la requête imbrique 500 produits avec leurs catégories.
Ajout d'une couche GraphQL sur une API existante. 5 à 10 types de données, lectures et modifications, protections anti-surcharge, tests.
Schéma étendu, notifications temps réel, droits fins, limites de requête, supervision, génération de clients.
Un seul point d'entrée GraphQL qui agrège plusieurs services internes, avec cache distribué.
Tarifs sur devis après cadrage · forfait ou régie selon le format
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. Détail des missions sur <a href="/specialiste-graphql">la page spécialiste GraphQL</a>.
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 GraphQL 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.
Code source, schéma, 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.
REST pour les API publiques avec cache HTTP et consommateurs variés. GraphQL pour les API internes ou mobiles où les clients ont besoin de sélectionner finement les champs et d'agréger plusieurs ressources en une requête. API Platform expose les deux depuis la même source.
Avec les optimisations anti-surcharge et les limites de complexité, les performances sont comparables à REST. Sans ces optimisations, c'est catastrophique. C'est pourquoi je ne livre jamais de GraphQL sans ces protections.
API Platform analyse vos objets métier et génère automatiquement le schéma GraphQL : types, lectures, modifications, relations. Configuration via annotations PHP. Support natif de la pagination, des filtres, et des vues personnalisables.
Souvent oui. Sur mobile, chaque kilo-octet compte et chaque écran demande des données différentes. GraphQL laisse l'app mobile demander exactement les champs dont elle a besoin et agréger plusieurs ressources en une seule requête — utile sur réseau lent. Sur un site web classique avec une bonne API REST en cache, le gain est plus discutable.
Limite d'appels par client, limite de profondeur (10 par défaut), score de complexité (1000 par défaut), délai maximum (5 s), schéma non-exposé en production, vérification des droits à chaque accès.
Via le standard Mercure, oui. Basé sur HTTP standard, ça passe à l'échelle horizontalement, sans configuration réseau particulière. Repli automatique sur les technologies plus anciennes pour les rares clients qui ne supportent pas le standard moderne.
15 minutes pour comprendre vos cas d'usage (mobile, partenaires, tableaux de bord), votre code existant et le palier pertinent. Devis chiffré sous 24 h.