Qu'est-ce que httpYac ?

Qu'est-ce que httpYac ? Un guide du client HTTP de fichier .http pour VS Code et la CLI, avec un petit exemple, le scripting, l'utilisation en CI et une alternative GUI.

INEZA Felin-Michel

INEZA Felin-Michel

25 June 2026

Qu'est-ce que httpYac ?

Apidog pour les entreprises

Déploiement sur site

SSO & RBAC

Conforme SOC 2

Découvrir Apidog Enterprise

Si vous avez cherché httpYac, vous souhaitez probablement un moyen d'envoyer des requêtes HTTP à partir de fichiers texte brut que vous pouvez conserver dans Git, exécuter dans VS Code, et rejouer en CI. httpYac est exactement cela : un exécuteur de fichiers .http/.rest qui se présente à la fois comme une extension VS Code et un outil de ligne de commande Node.js. Ce guide explique son fonctionnement, présente un petit exemple, couvre les cas où il convient, et propose une voie GUI plus CI lorsque les fichiers texte ne suffisent plus. Pour une compréhension plus large de la discipline, consultez notre guide de test d'API.

bouton

Qu'est-ce que httpYac exactement

httpYac est un client HTTP open-source construit autour du format de fichier .http. Vous écrivez les requêtes en texte brut, puis les envoyez d'une touche dans l'éditeur ou avec une seule commande dans votre terminal. Le projet est hébergé sur GitHub et dispose d'une documentation complète sur httpyac.github.io.

L'idée principale est simple. Une requête réside dans un fichier texte à côté de votre code. Vous la versionnez avec Git. Vous la révisez dans une pull request. Vous l'exécutez de la même manière, que vous soyez un humain dans un éditeur ou une tâche CI sur un serveur de build. Ce modèle natif de Git, en texte brut, est la plus grande force de httpYac, et c'est la raison pour laquelle de nombreux développeurs backend l'adoptent.

L'outil est composé de deux éléments :

Étant donné que les deux interfaces lisent les mêmes fichiers .http, il n'y a pas d'étape d'exportation séparée. Ce que vous commettez est ce qui s'exécute.

Le format de fichier .http

Un fichier .http est une liste de requêtes séparées par ###. Chaque requête se lit presque comme le HTTP brut qu'elle envoie. Voici un petit exemple.

### Get a user
GET https://api.example.com/users/42
Accept: application/json

### Create a user
# @name createUser
POST https://api.example.com/users
Content-Type: application/json

{
  "name": "Ada Lovelace",
  "email": "ada@example.com"
}

### Use a value from the previous response
GET https://api.example.com/users/{{createUser.response.body.$.id}}
Authorization: Bearer {{token}}

Plusieurs choses se produisent ici. Les lignes ### séparent les requêtes. Le commentaire # @name nomme une requête afin que vous puissiez référencer sa réponse plus tard. Les espaces réservés {{...}} insèrent des variables, y compris des valeurs enchaînées à partir de réponses précédentes. Ce format est partagé avec l'extension populaire REST Client, de sorte que les fichiers peuvent souvent être déplacés entre les deux avec des modifications mineures.

Variables et environnements

httpYac lit les variables à partir de fichiers .env, d'un fichier http-client.env.json et de définitions en ligne à l'intérieur du fichier de requête lui-même. Vous pouvez conserver un ensemble de valeurs pour le local, un autre pour le staging, et un autre pour la production, puis basculer entre eux sans modifier la requête.

@host = https://api.staging.example.com

### Login
# @name login
POST {{host}}/auth/login
Content-Type: application/json

{ "user": "{{USERNAME}}", "pass": "{{PASSWORD}}" }

Les secrets restent dans les fichiers .env que vous ne versionnez pas avec Git, de sorte que le fichier de requête lui-même peut être commité en toute sécurité. En CI, les mêmes variables proviennent des variables d'environnement ou des secrets du pipeline.

Scripting et assertions

C'est là que httpYac dépasse un simple expéditeur de requêtes. Vous pouvez intégrer du JavaScript dans une requête pour préparer des données avant son exécution ou pour vérifier la réponse après. Les blocs de pré-requête et de post-requête s'exécutent dans un contexte Node, vous permettant ainsi de calculer une signature, de stocker un jeton ou d'effectuer des assertions sur le corps de la réponse.

### Login and capture token
# @name login
POST {{host}}/auth/login
Content-Type: application/json

{ "user": "{{USERNAME}}", "pass": "{{PASSWORD}}" }

{{
  // post-request script
  test("status is 200", () => {
    client.assert.strictEqual(response.statusCode, 200);
  });
  exports.token = response.parsedBody.token;
}}

Ce token capturé est ensuite disponible pour la requête suivante sous la forme {{token}}. Le modèle de scripting est flexible, ce qui fait partie de l'attrait pour les développeurs qui souhaitent de la logique sans avoir à mettre en place un framework de test complet.

Exécuter httpYac en CI

La CLI est le pont entre "ça marche sur ma machine" et "ça s'exécute dans le pipeline". Installez-la et dirigez-la vers vos fichiers.

npm install -g httpyac

# Run a single file
httpyac send api/users.http

# Run every request in a folder, pick an environment, fail on assertion errors
httpyac send --all --env staging "api/**/*.http"

httpYac se termine avec un code d'erreur non nul lorsqu'une assertion échoue, ce dont une tâche de CI a besoin pour marquer une build en rouge. Il peut émettre une sortie de style JUnit pour les rapporteurs de tests, afin que les résultats apparaissent dans votre tableau de bord CI plutôt que d'être enfouis dans les logs. Insérez cette commande dans GitHub Actions, GitLab CI ou Jenkins et les mêmes fichiers que vous avez modifiés dans VS Code protègent désormais vos fusions.

Quand utiliser httpYac

httpYac s'adapte à une forme spécifique d'équipe et de flux de travail. Optez pour lui lorsque la plupart de ces affirmations sont vraies.

Situation Pourquoi httpYac convient
Vous travaillez dans VS Code L'extension maintient les requêtes à côté de votre code, sans changement de contexte
Vous voulez des requêtes dans Git Les fichiers texte brut se comparent proprement et se révisent facilement dans les PR
Votre équipe est à l'aise avec le code Le scripting et les fichiers .env supposent une certaine aisance des développeurs
Vous effectuez quelques vérifications ciblées Léger à ajouter, aucune plateforme à adopter
Vous utilisez déjà des fichiers REST Client Le format partagé facilite la transition

Il est moins adapté lorsque des non-développeurs doivent exécuter ou modifier des requêtes, lorsque vous souhaitez une vue visuelle de grandes collections de requêtes, lorsque vous avez besoin d'environnements partagés et d'une synchronisation d'équipe sans configurer de fichiers, ou lorsque vous souhaitez des rapports plus riches et des tests de charge au même endroit. L'ergonomie du texte brut est une fonctionnalité jusqu'à ce que la suite s'agrandisse et que l'équipe s'élargisse.

httpYac vs une plateforme GUI et CI

httpYac est un exécuteur de fichiers texte. Apidog est un modèle différent : une plateforme API axée sur l'interface graphique qui s'exécute également en CI. Aucun n'est "meilleur" dans l'absolu ; ils résolvent le problème par des approches opposées. Soyons clairs d'emblée : Apidog n'exécute ni n'analyse nativement les fichiers .http. Si votre source de vérité est un dossier de fichiers .http, httpYac les exécute directement, et c'est son avantage honnête.

Voici comment les deux se comparent sur les points qui décident généralement du choix.

Capacité httpYac Apidog
Source des requêtes Fichiers texte brut .http/.rest dans Git Requêtes visuelles dans un espace de travail, plus importation OpenAPI
Interface d'édition Texte dans VS Code ou tout autre éditeur Générateur visuel avec champs de formulaire et connaissance du schéma
Variables et environnements Fichiers .env / JSON, variables en ligne Environnements partagés et gérés avec synchronisation d'équipe
Assertions JavaScript dans les scripts de requête Assertions visuelles et scripting
Exécution en CI httpyac send apidog run
Mocking et documentation Non intégré Serveur de maquette intégré et documentation auto-générée
Idéal pour Les développeurs qui veulent des fichiers texte natifs de Git Les équipes qui veulent la conception, les tests, le mocking et la documentation en un seul endroit

Si vous préférez l'aspect visuel, Apidog vous permet de construire et d'organiser des requêtes sans écrire manuellement des fichiers, puis d'exécuter les mêmes scénarios en CI avec apidog run. La référence apidog run explique la commande, les drapeaux d'environnement et les rapporteurs. Vous bénéficiez également d'un serveur de maquette et d'une documentation dans le même espace de travail, ce qu'un exécuteur de fichiers texte laisse à d'autres outils. Si le mocking est un réel besoin, notre tour d'horizon des outils de mocking de points de terminaison REST couvre les options.

En résumé : httpYac l'emporte lorsque votre flux de travail complet est "fichiers dans Git, exécution dans l'éditeur, relecture en CI" et que votre équipe est entièrement composée de développeurs. Apidog l'emporte lorsque vous souhaitez un espace de travail visuel partagé, des environnements gérés, du mocking et de la documentation en plus des exécutions CI. Certaines équipes utilisent même les deux, avec httpYac pour les vérifications locales rapides et Apidog comme source de vérité pour l'équipe.

Foire aux questions

httpYac est-il gratuit ?

Oui. httpYac est open source sous la licence MIT. L'extension VS Code et la CLI sont toutes deux gratuites à installer et à utiliser. Il n'y a pas de niveau payant ni d'exigence de compte pour exécuter des requêtes localement ou en CI.

En quoi httpYac est-il différent de l'extension REST Client ?

Les deux utilisent le même format de fichier .http, de sorte que les fichiers sont largement portables. httpYac ajoute une CLI autonome pour les exécutions sans interface graphique et en CI, une gestion plus large des environnements et un modèle de scripting et d'assertion plus riche. REST Client est uniquement pour l'éditeur. Si vous n'envoyez des requêtes qu'à l'intérieur de VS Code, l'un ou l'autre fonctionne ; si vous devez exécuter les mêmes fichiers dans un pipeline, la CLI de httpYac est le facteur de différenciation. Pour une vue plus large des outils d'édition, consultez notre liste des plugins VS Code pour le test d'API.

httpYac peut-il remplacer Postman ?

Pour un développeur qui souhaite des requêtes en texte brut dans Git et des exécutions CI, httpYac couvre une grande partie de ce pour quoi Postman est utilisé, à l'exception de l'interface graphique, des collections partagées et du mocking intégré. Si votre équipe a besoin d'un espace de travail visuel, d'environnements gérés et de mocking, une plateforme comme Apidog correspond mieux. Comparez les options dans notre aperçu des clients de test d'API.

httpYac prend-il en charge GraphQL et gRPC ?

httpYac gère les requêtes GraphQL et plusieurs protocoles au-delà du simple REST, y compris certains cas de streaming. Consultez la documentation officielle pour la liste actuelle des protocoles, car le support évolue entre les versions. Pour REST, le format .http couvre les verbes courants, les en-têtes, les corps et les flux d'authentification prêts à l'emploi.

Conclusion

httpYac est une réponse claire à un besoin évident : envoyer des requêtes HTTP à partir de fichiers texte brut, les exécuter dans VS Code et les rejouer en CI sans étape d'exportation séparée. Son modèle natif de Git, son scripting et sa CLI gratuite en font un choix solide pour les équipes fortement axées sur les développeurs qui souhaitent que leurs requêtes résident dans le dépôt. Le compromis est que tout suppose du code, des fichiers et une aisance des développeurs.

Si vous préférez construire des requêtes visuellement, partager des environnements gérés, simuler des points de terminaison et générer de la documentation tout en exécutant des tests en CI, Apidog couvre ce terrain dans un seul espace de travail. Vous pouvez télécharger Apidog et exécuter votre suite avec apidog run, ou garder httpYac pour des vérifications locales rapides et laisser Apidog être la source de vérité de l'équipe. Choisissez le modèle qui correspond le mieux à la façon dont votre équipe travaille.

bouton

Pratiquez le Design-first d'API dans Apidog

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