Aller au contenu

Le mode serveur

Restorm sait héberger un serveur, et pas seulement en appeler un. Vous définissez une route et sa réponse, vous démarrez l’écoute, puis vous pointez un client dessus — typiquement le code de votre application — pour tester la façon dont il consomme le service.

C’est ce qu’il faut quand le vrai service n’existe pas encore, quand il est difficile de lui faire produire la réponse qui vous intéresse (une erreur 503, une faute SOAP, un statut gRPC précis), ou quand vous voulez un jeu de données figé pour un test reproductible.

Le principe est simple et c’est ce qui le rend agréable : ce que vous configurez sur le serveur est la réponse servie. Le statut, les en-têtes et le corps que vous saisissez sont exactement ce que reçoit l’appelant.

Un élément Serveur HTTP en cours d'écoute : le bouton d'écoute passé en rouge (actif), l'état « À l'écoute — 3 requête(s) servie(s) », et le bandeau « Configuration verrouillée pendant l'exécution du serveur »

ServeurPage
HTTPSimuler une API HTTP
GraphQLSimuler une API GraphQL
gRPCSimuler un service gRPC
SOAPSimuler un service SOAP
WebSocket, Socket.IO, MQTTSimuler WebSocket, Socket.IO et MQTT
ODataSimuler un service OData

Clic droit sur un dossier ▸ Ajouter ▸ puis l’entrée voulue. Le menu propose huit serveurs, chacun étant un type d’élément distinct :

Serveur HTTP · Serveur GraphQL · Serveur gRPC · Serveur SOAP · Serveur WebSocket · Serveur Socket.IO · Serveur MQTT · Serveur OData

L’élément créé porte un badge SRV dans l’arbre. Pour un serveur HTTP, les valeurs de départ sont GET, localhost:8080/, statut 200.

Dans le panneau, le bouton d’envoi est remplacé par une bascule Listen ↔ Stop. Le panneau de réponse affiche l’état en direct : Not listening, ou Listening — N request(s) served.

L’hôte est figé à localhost : seuls le port et le chemin sont éditables. Un serveur de simulation n’a pas vocation à être exposé au réseau.

Le serveur s’arrête par le bouton Stop, par la fermeture du fichier, ou en quittant l’application.

Restorm n’ouvre qu’une seule socket par port et aiguille selon la nature de l’appel entrant : les requêtes ordinaires vers les routes HTTP, les demandes de bascule vers WebSocket ou Socket.IO.

Concrètement : un serveur HTTP de simulation et un serveur Socket.IO peuvent écouter ensemble sur :8080. Le port n’est libéré qu’à l’arrêt de sa dernière route.

Les en-têtes et le corps servis sont résolus au moment de servir, pas au démarrage : modifier une variable d’environnement pendant que le serveur écoute change la réponse suivante. Voir Variables et environnements.

Les actions Écoute … / Fermeture … hébergent un serveur pour la durée du scénario, avec une sortie served qui émet un événement par appel entrant. C’est ce qui permet de tester un webhook de bout en bout dans un seul graphe. Voir Serveurs hébergés.

Comparaison avec les serveurs de simulation hébergés

Section titled “Comparaison avec les serveurs de simulation hébergés”
RestormServeurs hébergés (type Postman Mock Servers)
Où ça tourneSur votre machineChez le fournisseur
LatenceAucun aller-retour réseauUn aller-retour Internet
Fonctionne hors ligne
Source de la réponseLa requête elle-même, éditableUn exemple enregistré
Gabarits {{ }}✔, résolus à chaque appelLimités
Partage de portSans objet
ConfidentialitéRien ne sort de la machineLes données transitent par le service