Outils CLI gratuits et open source pour le mocking d'API

Six outils CLI gratuits et open source pour la simulation d'API, classés par licence et auto-hébergement : Prism, Mockoon CLI, json-server, WireMock, MockServer et Microcks.

INEZA Felin-Michel

INEZA Felin-Michel

10 July 2026

Outils CLI gratuits et open source pour le mocking d'API

Apidog pour les entreprises

Déploiement sur site

SSO & RBAC

Conforme SOC 2

Découvrir Apidog Enterprise

Lorsque vous simulez une API à partir de la ligne de commande, la licence est tout aussi importante que la liste des fonctionnalités. Un serveur de simulation dont vous pouvez lire le code source, auto-héberger et exécuter en CI sans compter les postes est très différent d'une simulation SaaS hébergée derrière une connexion. Ce guide couvre le côté open-source : des outils que vous pouvez cloner, inspecter et exécuter gratuitement.

Chaque outil présenté ici est disponible sous une licence permissive (MIT ou Apache-2.0), réside sur un dépôt GitHub public et peut être auto-hébergé sans compte. C'est le filtre. Si vous souhaitez des choix plus petits, à binaire unique, classés par vitesse de démarrage et taille d'installation, lisez plutôt les choix de serveurs de simulation légers ; cette liste concerne le code source et l'auto-hébergement, donc une plateforme auto-hébergeable plus lourde peut toujours y trouver sa place.

Pour chaque outil, vous obtenez la licence, la commande d'installation et d'exécution qui prouve son fonctionnement, ses points forts et ses limites. Si vous souhaitez un aperçu plus large incluant des options commerciales, les meilleurs outils de simulation d'API et la présentation des outils de simulation d'API REST sont plus exhaustifs.

Une note rapide et honnête avant la liste. Apidog n'est pas open source ; c'est une plateforme commerciale freemium. Il apparaît une fois à la fin comme une alternative intégrée à ces outils, clairement étiqueté, et non comme une entrée open-source. Tout ce qui figure dans les sections numérotées ci-dessous est véritablement open source.

button

Qu'est-ce qui rend un outil de simulation CLI open source

Trois éléments décident si un outil appartient à cette liste.

Licence. Le code source doit être public sous une licence permissive. Chaque sélection ici est MIT ou Apache-2.0, vous pouvez donc le lire, le forker et l'intégrer dans votre propre produit sans frais de licence ni de comptage de postes.

Auto-hébergeable. Vous l'exécutez sur votre ordinateur portable, dans un conteneur ou sur votre propre serveur. Pas de plan de contrôle hébergé, pas de "téléphone-maison", pas de portail de compte. C'est ce qui rend une simulation utilisable dans un exécuteur CI isolé (air-gapped).

Maintenu en public. Un dépôt GitHub public avec un historique de commits réel, des problèmes et des versions. Les étoiles sont un signal approximatif ; les commits récents et les versions taguées sont le meilleur indicateur.

Notez ce qui ne figure pas sur la liste : la vitesse brute ou la taille d'installation. Ce sont les critères de l'approche légère. Ici, une grande plateforme auto-hébergeable basée sur des conteneurs est admissible tant que le code source est ouvert et que la licence est gratuite.

Prism (Stoplight)

Prism transforme un fichier OpenAPI ou Postman en un serveur de simulation en direct. Pointez-le vers une spécification et il sert des exemples de réponses, valide les requêtes entrantes par rapport au schéma, et peut fonctionner comme un proxy de validation devant une API réelle. Licence : Apache-2.0. Dépôt : stoplightio/prism.

npm install -g @stoplight/prism-cli
prism mock https://raw.githubusercontent.com/stoplightio/prism/master/examples/petstore.oas2.yaml

Cette commande démarre une simulation sur http://127.0.0.1:4010 entièrement pilotée par la spécification. GET /pets renvoie l'exemple de votre document OpenAPI ; envoyez une charge utile incorrecte et Prism vous indiquera quelle partie du schéma vous avez violée.

Idéal pour : la simulation de contrat pilotée par spécification où le fichier OpenAPI est la source de vérité. Le mode proxy de validation est exceptionnel ; il détecte les décalages entre votre spécification et votre API réelle.

Limites : les réponses proviennent de vos exemples et de votre schéma, donc les simulations ne sont aussi riches que la spécification. Il n'y a pas de comportement statique intégré (pas de "créer puis relire"). C'est un outil Node, vous avez donc besoin d'un environnement d'exécution Node.

Mockoon CLI

Mockoon est surtout connu pour son application de bureau, mais l'interface CLI embarque le même moteur sans interface graphique, conçu pour la CI et l'auto-hébergement. Vous concevez un environnement (dans l'application ou manuellement) ou lui donnez un fichier OpenAPI, et il sert cette simulation. Licence : MIT. Dépôt : mockoon/mockoon.

npm install -g @mockoon/cli
mockoon-cli start --data ./environment.json --port 3000

Vous pouvez également démarrer directement à partir d'un fichier OpenAPI avec --data ./openapi.yaml. Ajoutez --watch pour recharger les modifications de fichier et --log-transaction pour imprimer les journaux complets des requêtes/réponses.

Idéal pour : les réponses riches et basées sur des règles sans écrire de code. Mockoon prend en charge le templating de réponse, les règles conditionnelles et le mode proxy, de sorte qu'un point de terminaison peut renvoyer différents corps en fonction de la requête. Concevoir visuellement dans l'application et exécuter sans tête via la CLI est une séparation nette.

Limites : le chemin d'auteur le plus agréable est l'application de bureau, donc l'édition manuelle du JSON de l'environnement est délicate. La syntaxe de templating dynamique a sa propre courbe d'apprentissage.

json-server

json-server est le moyen le plus rapide de simuler une API REST. Donnez-lui un fichier JSON et il génère des routes CRUD complètes (GET, POST, PUT, PATCH, DELETE) avec une persistance réelle vers ce fichier. Licence : MIT. Dépôt : typicode/json-server.

npx json-server db.json

Avec un db.json qui contient un tableau "posts" de niveau supérieur, vous obtenez immédiatement GET /posts, GET /posts/1, POST /posts, et le reste, ainsi que le filtrage, le tri et la pagination via des paramètres de requête. POSTez un nouvel enregistrement et il est écrit dans le fichier ; relisez-le et il est là.

Idéal pour : le développement frontend avant que le backend n'existe. Il est statique dès la sortie de la boîte, ce que Prism et la plupart des simulations basées sur des spécifications ne sont pas. Zéro configuration, et npx signifie que vous n'avez même pas besoin de l'installer.

Limites : il est dogmatique quant à la forme REST, il ne correspondra donc pas à une API personnalisée arbitraire. Pas d'importation OpenAPI ; le fichier JSON est le contrat. Non destiné aux tests de charge ou à un comportement de type production.

WireMock

WireMock est le poids lourd de la simulation HTTP open-source, avec des millions de téléchargements par mois. Il fonctionne comme un processus autonome configuré via une API d'administration JSON ou à partir de fichiers de stub JSON, et il gère la correspondance de requêtes, le templating de réponses, les scénarios avec état, l'injection de fautes et l'enregistrement-relecture. Licence : Apache-2.0. Dépôt : wiremock/wiremock.

docker run -it --rm -p 8080:8080 wiremock/wiremock:latest
curl -X POST http://localhost:8080/__admin/mappings \
  -H 'Content-Type: application/json' \
  -d '{"request":{"method":"GET","url":"/hello"},"response":{"status":200,"body":"world"}}'

La première ligne démarre WireMock ; la seconde enregistre un stub via son API d'administration. Maintenant curl http://localhost:8080/hello renvoie world. Vous pouvez également déposer des fichiers de stub dans un répertoire mappings/ et le monter dans le conteneur.

Idéal pour : les scénarios de test complexes. Comportement avec état, délais et fautes pour simuler un tiers instable, et proxy-plus-enregistrement pour capturer une API réelle et la rejouer plus tard. C'est l'outil lorsque votre simulation doit se comporter comme la chose réelle sous test.

Limites : c'est un outil JVM, donc le conteneur ou un environnement d'exécution Java est le prix d'entrée. La surface de configuration est grande ; les simulations simples semblent exagérées. Il n'y a pas de commande unique "lire une spécification et démarrer" comme Prism.

MockServer

MockServer est un serveur de simulation HTTP(S) et un proxy sur un seul port, destiné directement aux tests d'intégration. Il simule des API, peut proxifier et enregistrer le trafic en direct, et vous permet d'injecter des erreurs pour tester comment votre client les gère. Les versions récentes ajoutent le support HTTP/2, gRPC et WebSocket. Licence : Apache-2.0. Dépôt : mock-server/mockserver.

docker run -d --rm -p 1080:1080 mockserver/mockserver
curl -X PUT 'http://localhost:1080/mockserver/expectation' \
  -H 'Content-Type: application/json' \
  -d '{"httpRequest":{"path":"/order"},"httpResponse":{"body":"{\"status\":\"ok\"}"}}'

Le PUT enregistre une "attente" ; après cela, curl http://localhost:1080/order renvoie votre JSON. Les clients de MockServer (Java, JavaScript, Ruby et autres) vous permettent de définir les mêmes attentes depuis votre code de test au lieu d'utiliser curl.

Idéal pour : simuler et proxifier au même endroit, plus l'injection d'erreurs. Si vous devez vérifier qu'une requête spécifique a été faite un certain nombre de fois, l'API de vérification de MockServer est conçue pour cela. Bon choix pour les piles lourdes en JVM. Consultez notre article sur les alternatives à MockServer s'il ne correspond pas tout à fait à vos besoins.

Limites : comme WireMock, il est basé sur JVM et le JSON d'attente est verbeux. Le chevauchement avec WireMock est réel ; choisissez l'un en fonction de la bibliothèque cliente qui convient à votre pile de tests.

Microcks

Microcks est le choix de plateforme, et c'est un projet incubateur de la Cloud Native Computing Foundation. Il transforme les collections OpenAPI, AsyncAPI, gRPC, GraphQL, Postman et les projets SoapUI en simulations en direct, et il réutilise ces mêmes contrats pour exécuter des tests de conformité sur votre implémentation réelle. Il couvre les protocoles événementiels et asynchrones, pas seulement HTTP. Licence : Apache-2.0. Dépôt : microcks/microcks.

docker run -d --name microcks -p 8585:8080 quay.io/microcks/microcks-uber:latest

Cela exécute l'image tout-en-un ; ouvrez http://localhost:8585 et importez une spécification pour obtenir des points de terminaison de simulation. Le microcks-cli compagnon pilote un serveur en cours d'exécution depuis la CI :

microcks-cli import 'petstore.yaml:true' \
  --microcksURL=http://localhost:8585/api \
  --keycloakClientId=... --keycloakClientSecret=...

Idéal pour : les équipes qui souhaitent un catalogue gouverné de simulations à travers de nombreuses API et protocoles, avec des tests de contrat intégrés. La simulation asynchrone/événementielle (Kafka, MQTT, et autres) est rare dans cet espace.

Limites : il s'agit d'un serveur, pas d'un binaire unique. Une mise en garde importante : le microcks-cli déclenche des tests et importe des artefacts sur une instance Microcks en cours d'exécution ; il ne sert pas de simulations par lui-même. La CLI est donc un client, et vous exécutez toujours la plateforme. Pour une simulation locale unique, c'est plus lourd que Prism ou json-server.

Un aparté honnête : Apidog

Apidog n'est pas open source, il n'a donc pas de place numérotée ici. Mais si vous avez remarqué que les outils ci-dessus résolvent différentes parties (simulations basées sur les spécifications, CRUD avec état, tests de contrat) et que vous préférez ne pas les assembler, cela vaut la peine d'être mentionné. Apidog est une plateforme freemium dont le niveau gratuit inclut la simulation, et apidog mock dans l'apidog-cli vous permet de gérer les attentes de simulation depuis le terminal, en plus de la conception, des tests et de la documentation dans un seul projet. La simulation intelligente génère automatiquement des valeurs de champ réalistes à partir de votre schéma, vous n'avez donc pas à écrire manuellement des corps d'exemple.

Le compromis est clair : vous obtenez un flux de travail intégré et un niveau gratuit au lieu de l'open source et de l'auto-hébergement. Si l'open source ou l'auto-hébergement isolé est une exigence stricte, l'un des six outils ci-dessus est votre réponse. Si une boucle intégrée de la conception à la simulation est plus importante, Apidog est l'alternative à l'assemblage de plusieurs outils.

Comment choisir

Outil Idéal pour Installation Licence Notes
Prism Simulations pilotées par spécification + proxy de validation npm i -g @stoplight/prism-cli Apache-2.0 OpenAPI/Postman en entrée, simulation en sortie ; sans état
Mockoon CLI Réponses basées sur des règles, sans code npm i -g @mockoon/cli MIT Concevoir dans l'application, exécuter en mode sans tête
json-server Faux REST avec état pour le frontend npx json-server db.json MIT CRUD complet avec persistance, zéro config
WireMock Scénarios de test complexes, erreurs docker run wiremock/wiremock Apache-2.0 JVM ; enregistrement-relecture ; avec état
MockServer Simulation + proxy + vérification docker run mockserver/mockserver Apache-2.0 JVM ; HTTP/2, gRPC, WebSocket
Microcks Catalogue multi-API/protocole gouverné docker run microcks-uber Apache-2.0 Plateforme CNCF ; la CLI est un client, pas un serveur
Apidog (pas OSS) Conception-à-simulation intégrée npm i -g apidog-cli Freemium Niveau gratuit ; apidog mock dans un seul projet

Choisissez par forme, pas par popularité. Pour une simulation qui lit votre fichier OpenAPI et l'applique, commencez par Prism. Pour un CRUD avec état avant que le backend n'atterrisse, json-server gagne en vitesse. Pour des scénarios de test riches avec des erreurs et l'enregistrement-relecture, WireMock ou MockServer ; choisissez en fonction de la bibliothèque cliente. Pour un catalogue partagé, multi-protocole avec des tests de contrat, Microcks. Pour savoir quelle forme convient à quelle situation, le guide des cas d'utilisation de la simulation d'API met en correspondance les outils et les scénarios.

En résumé

Les outils de simulation CLI open-source vous offrent un serveur de simulation que vous pouvez lire, auto-héberger et exécuter en CI gratuitement. Prism et json-server couvrent les cas courants en une seule commande ; WireMock et MockServer gèrent les scénarios de test difficiles ; Microcks le met à l'échelle d'un catalogue gouverné à travers les protocoles. Les six sont sous licence MIT ou Apache-2.0, tous auto-hébergeables, tous sur GitHub public.

Si vous préférez gérer les simulations à côté de la conception de votre API, de vos tests et de votre documentation sans assembler des outils séparés, téléchargez Apidog et essayez apidog mock sur le niveau gratuit. Ce n'est pas open source, mais c'est un seul endroit pour exécuter la boucle complète de la ligne de commande à la CI.

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API