DEV Community

Cover image for Mocky : Définition et meilleures alternatives pour les réponses HTTP mock personnalisées
Antoine Laurent
Antoine Laurent

Posted on • Originally published at apidog.com

Mocky : Définition et meilleures alternatives pour les réponses HTTP mock personnalisées

Si vous avez besoin d’un faux endpoint API qui renvoie un JSON, un code HTTP et des en-têtes précis sans déployer de serveur, Mocky est souvent le premier outil à tester. Ce guide montre comment l’utiliser concrètement, dans quels cas il suffit, et quand passer à une solution plus complète comme Apidog. Pour comparer le paysage, consultez aussi notre guide des outils de simulation d’API en ligne comparés et le référentiel open source de Mocky.

Essayez Apidog aujourd’hui

Qu’est-ce que Mocky ?

Mocky est un service web gratuit et open source qui génère des réponses HTTP personnalisées. Vous définissez une réponse dans le navigateur, Mocky génère une URL unique, puis chaque requête vers cette URL renvoie exactement ce que vous avez configuré.

Aucun backend à écrire. Aucun serveur à héberger.

Mocky a été créé par Julien Lafont et publié sous licence Apache 2.0. La version hébergée est disponible sur mocky.io. Comme le code est public, vous pouvez aussi l’auto-héberger si vous voulez contrôler votre propre instance.

L’idée est simple : associer une réponse HTTP à une URL.

Ce que vous pouvez configurer avec Mocky

Mocky permet de définir les éléments essentiels d’une réponse HTTP utilisée dans les tests front-end ou les prototypes :

  • Code de statut : 200, 404, 500, etc. Consultez la référence MDN des codes de statut HTTP.
  • Corps de réponse : JSON, texte brut ou autre payload textuel.
  • En-têtes HTTP : par exemple Content-Type, Authorization, ou des en-têtes personnalisés.
  • Délai de réponse : utile pour simuler une API lente ou un service amont instable.

Une fois la réponse enregistrée, Mocky fournit une URL permanente. Vous pouvez ensuite l’utiliser dans votre front-end, vos tests automatisés ou un client HTTP comme curl, Postman ou Apidog.

Exemple rapide : simuler un endpoint utilisateur

Supposons que votre backend ne soit pas encore disponible, mais que votre interface ait besoin d’un utilisateur à afficher.

Dans Mocky :

  1. Créez une nouvelle réponse.
  2. Définissez le statut HTTP sur 200.
  3. Ajoutez l’en-tête suivant :
Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode
  1. Collez un corps JSON :
{
  "id": 42,
  "name": "Ada Lovelace",
  "role": "admin"
}
Enter fullscreen mode Exit fullscreen mode

Mocky génère ensuite une URL du type :

https://run.mocky.io/v3/<some-id>
Enter fullscreen mode Exit fullscreen mode

Vous pouvez l’appeler depuis votre application :

const response = await fetch("https://run.mocky.io/v3/<some-id>");
const user = await response.json();

console.log(user.name);
Enter fullscreen mode Exit fullscreen mode

Chaque requête renverra le même objet utilisateur.

Pour une vue plus large de cette approche, consultez notre guide sur comment simuler des API en ligne sans configurer de serveur.

Quand Mocky est le bon choix

Mocky est adapté aux besoins simples, rapides et ponctuels.

Utilisez-le si :

  • vous avez besoin d’une seule réponse statique ;
  • vous voulez partager rapidement un JSON avec un collègue ;
  • vous devez reproduire un cas d’erreur, par exemple une réponse d’erreur interne 500 ;
  • vous n’avez pas besoin que la réponse varie selon la requête ;
  • vous voulez une URL fonctionnelle en moins d’une minute.

Exemple typique :

GET /user-profile
Enter fullscreen mode Exit fullscreen mode

Réponse simulée :

{
  "id": 42,
  "name": "Ada Lovelace",
  "plan": "pro"
}
Enter fullscreen mode Exit fullscreen mode

Pour ce genre de cas, Mocky est efficace. Inutile de sur-ingénier un besoin qui consiste seulement à exposer un payload fixe derrière une URL.

Quand Mocky commence à montrer ses limites

La simplicité de Mocky est aussi sa limite principale : une URL Mocky correspond à une seule réponse fixe.

Cela devient problématique dès que votre mock doit représenter une API réelle.

Limites courantes

  • Pas de données dynamiques

    Tous les appelants reçoivent le même corps. Vous ne pouvez pas renvoyer un utilisateur différent pour /users/1 et /users/2.

  • Pas de correspondance de requêtes

    Mocky ne sélectionne pas une réponse selon les query params, le body ou les valeurs de chemin.

  • Organisation limitée

    Une vraie API contient souvent des dizaines d’endpoints. Gérer chaque réponse comme un lien Mocky séparé devient vite difficile.

  • Collaboration limitée

    Pas d’espace de travail partagé, pas de versionnement de projet, pas de permissions d’équipe autour des mocks.

  • Pas de lien avec le schéma API

    Votre mock et votre spécification OpenAPI vivent séparément. Ils peuvent donc diverger.

Si vous rencontrez plusieurs de ces problèmes, vous avez dépassé le modèle “une URL = une réponse”. C’est le bon moment pour évaluer une plateforme de simulation plus complète. Notre guide des serveurs de simulation d’API gratuits et peu coûteux peut vous aider à comparer les options.

Exemple de limite en équipe front-end

Imaginez une équipe front-end qui travaille sur plusieurs écrans :

  • un développeur simule GET /users/42 ;
  • un autre simule GET /orders ;
  • un troisième simule POST /auth/login.

Avec Mocky, cela produit trois URLs indépendantes, sans hôte commun, sans organisation par projet et sans gestion d’environnement.

Avec un serveur de simulation complet, ces endpoints peuvent être regroupés dans un seul projet :

GET /users/42
GET /orders
POST /auth/login
Enter fullscreen mode Exit fullscreen mode

Ils répondent sous une même base URL, ce qui rend l’intégration plus proche d’une vraie API.

La meilleure alternative à Mocky : Apidog

Apidog reprend le principe utile de Mocky — une réponse personnalisée derrière une URL partageable — puis ajoute les fonctionnalités nécessaires pour simuler une API complète.

Avec Apidog, vous pouvez concevoir des endpoints, définir les réponses, générer une URL de simulation hébergée, puis faire évoluer vos mocks avec votre projet.

Mocky répond à ce besoin :

Donnez-moi une réponse fixe, gratuite, immédiatement.

Apidog répond plutôt à ce besoin :

Donnez-moi une simulation réaliste d’une API complète qui reste alignée avec mon projet.

Ce qu’Apidog ajoute par rapport à Mocky

Apidog peut être plus adapté lorsque vous avez besoin de mocks maintenables sur plusieurs endpoints.

Fonctionnalités utiles :

  • Simulation intelligente et données générées par l’IA

    Au lieu de coder un seul JSON fixe, Apidog peut générer des valeurs réalistes selon les noms de champs et le schéma. Par exemple, email peut renvoyer une adresse e-mail et createdAt une date.

  • Support de Faker.js

    Vous pouvez utiliser Faker.js pour générer des données de simulation dynamiques, utiles pour obtenir des réponses variées à chaque appel.

  • Règles de simulation avancées

    Vous pouvez renvoyer des réponses différentes selon les paramètres de requête ou le contenu de la requête.

  • Simulation axée sur le schéma

    Les mocks peuvent être générés à partir de votre conception OpenAPI, ce qui aide à garder la simulation et la documentation synchronisées.

  • Espaces de travail d’équipe

    Les mocks vivent dans un projet partagé, au lieu d’être dispersés dans plusieurs liens indépendants.

Vous pouvez aussi l’utiliser simplement : un endpoint, un 200, un JSON fixe, une URL partageable.

Mocky vs Apidog en un coup d’œil

Capacité Mocky Apidog
Statut, en-têtes et corps personnalisés derrière une URL Oui Oui
Gratuit pour commencer, sans configuration lourde Oui Oui, plan gratuit
Réponse statique unique Oui Oui
Données dynamiques avec Faker.js ou simulation intelligente Non Oui
Correspondance de requêtes et règles conditionnelles Non Oui
Plusieurs endpoints dans un seul projet Non Oui
Simulations pilotées par schéma OpenAPI Non Oui
Espace de travail d’équipe et versionnement Non Oui
Option d’auto-hébergement Oui, open source Options Cloud + auto-hébergement

Pour comparer plus d’outils, consultez aussi notre sélection des meilleurs outils de simulation d’API et notre tour d’horizon des outils de simulation de points de terminaison REST.

Comment remplacer une URL Mocky dans Apidog

Vous pouvez migrer progressivement une URL Mocky vers Apidog.

1. Créer un projet Apidog

Téléchargez Apidog, puis créez un projet API.

2. Ajouter un endpoint

Créez l’endpoint correspondant à votre mock existant.

Exemple :

GET /users/42
Enter fullscreen mode Exit fullscreen mode

3. Définir la réponse

Configurez les mêmes éléments que dans Mocky :

  • code de statut ;
  • en-têtes ;
  • corps JSON.

Exemple :

HTTP/1.1 200 OK
Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode
{
  "id": 42,
  "name": "Ada Lovelace",
  "role": "admin"
}
Enter fullscreen mode Exit fullscreen mode

4. Activer la simulation

Activez le mock server dans Apidog. Une URL de simulation hébergée est générée pour votre endpoint.

5. Remplacer l’ancienne URL dans votre code

Avant :

const response = await fetch("https://run.mocky.io/v3/<some-id>");
Enter fullscreen mode Exit fullscreen mode

Après :

const response = await fetch("https://<your-apidog-mock-url>/users/42");
Enter fullscreen mode Exit fullscreen mode

Vous pouvez ensuite ajouter progressivement :

  • des données dynamiques ;
  • des règles conditionnelles ;
  • d’autres endpoints ;
  • une spécification OpenAPI ;
  • des scénarios d’erreur.

La migration n’a pas besoin d’être faite en une seule fois. Beaucoup d’équipes gardent leurs URLs Mocky existantes pendant qu’elles reconstruisent les endpoints importants dans Apidog, puis retirent les anciennes URLs une fois le projet regroupé.

Si vous avez déjà un fichier OpenAPI, vous pouvez l’importer pour obtenir des endpoints simulables plus rapidement, au lieu de recréer chaque réponse manuellement.

Questions fréquemment posées

Mocky est-il gratuit ?

Oui. Mocky est gratuit et open source sous licence Apache 2.0. Vous n’avez pas besoin de compte pour créer une simulation. Les réponses sont stockées côté serveur, et l’URL générée reste active.

Si vous avez besoin de plus qu’une réponse fixe, une plateforme comme Apidog propose aussi un niveau gratuit avec des fonctionnalités plus avancées.

Quelle est la différence entre mocky.io et un serveur de simulation ?

mocky.io associe une URL à une réponse pré-enregistrée.

Un serveur de simulation représente plutôt une API complète, avec plusieurs endpoints, des règles de matching et parfois des données dynamiques.

Si vous débutez avec ce concept, consultez notre explication sur ce qu’est une API de simulation.

Puis-je renvoyer un code de statut et des en-têtes personnalisés avec Mocky ?

Oui. C’est le cas d’usage principal de Mocky.

Vous pouvez définir :

HTTP/1.1 404 Not Found
Content-Type: application/json
X-Debug-Mode: true
Enter fullscreen mode Exit fullscreen mode

Avec un corps comme :

{
  "error": "User not found"
}
Enter fullscreen mode Exit fullscreen mode

La limite est que cette réponse restera identique quelle que soit la requête reçue.

Quand passer de Mocky à une plateforme de simulation complète ?

Passez à une autre solution lorsque vous avez besoin de :

  • plusieurs endpoints organisés dans un même projet ;
  • réponses différentes selon les paramètres ou le body ;
  • données dynamiques ou réalistes ;
  • synchronisation avec OpenAPI ;
  • collaboration en équipe ;
  • environnements de test plus proches d’une vraie API.

Tant que vous avez seulement besoin d’une réponse fixe, Mocky reste un bon choix.

En résumé

Mocky est un moyen simple et gratuit de placer une réponse HTTP personnalisée derrière une URL. Pour un mock statique rapide, c’est souvent suffisant.

Dès que vous avez besoin de données dynamiques, de règles conditionnelles, de plusieurs endpoints ou de collaboration d’équipe, le modèle “une URL = une réponse” devient limité.

C’est là qu’Apidog prend le relais : vous pouvez commencer avec un endpoint mocké simple, puis faire évoluer la simulation vers une API plus complète, collaborative et pilotée par schéma. Téléchargez Apidog pour créer votre première URL de simulation gratuitement.

Top comments (0)