Insomnia est un client HTTP de bureau open source pour tester les API REST, GraphQL et WebSocket. L'outil se distingue par son interface minimaliste, son éditeur de requêtes intégré et la prise en charge des variables d'environnement sans nécessité de s'inscrire. Selon Insomnia Documentation (2026), le client prend en charge l'autogénération de code dans plus de 20 langages de programmation.
L'essentiel
Insomnia est une application multiplateforme (Electron) pour envoyer des requêtes HTTP et déboguer des API. Il est développé par la société Kong depuis 2016 comme une alternative à Postman axée sur la vitesse et la confidentialité : les données sont stockées localement, la synchronisation cloud est facultative et nécessite une inscription.
La fenêtre principale est divisée en trois colonnes : à gauche se trouve l'arborescence des requêtes (Workspace), au centre l'éditeur de requêtes avec les onglets Params, Headers, Body, à droite le panneau de réponse avec les modes Pretty, Raw et Preview. Le thème sombre est activé par défaut et des thèmes personnalisés sont pris en charge via des variables CSS.
Insomnia prend en charge l'exportation d'une requête en code dans plus de 20 langages et frameworks : cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP et autres. Le générateur tient compte des en-têtes, du corps de la requête et du type d'authentification, ce qui accélère l'intégration de l'API dans le code de l'application.
Insomnia et Postman résolvent la même tâche mais avec des priorités différentes. Insomnia est plus léger (~80 Mo contre ~300 Mo), démarre plus vite et fonctionne entièrement hors ligne sans imposer d'inscription. Postman propose un écosystème plus mature avec surveillance, serveurs mock et workspaces d'équipe.
| Critère | Insomnia | Postman |
|---|---|---|
| Poids de l'application | ~80 Mo | ~300 Mo |
| Mode hors ligne | Complet | Limite |
| GraphQL | Éditeur intégré | Version bêta |
| CLI | Inso CLI | Newman |
| Plugins | Plugin Hub | Extensions |
Pour le développement individuel et les tests rapides d'endpoints, Insomnia est plus pratique grâce à sa légèreté et à l'absence d'inscription. Pour le travail en équipe avec une collection partagée, l'intégration CI/CD et la surveillance des API de production, Postman reste la norme de l'industrie.
Le workspace dans Insomnia contient une arborescence de requêtes divisée en dossiers. Chaque requête peut être de type HTTP, GraphQL, WebSocket ou gRPC. Le glisser-déposer, la duplication et le regroupement des requêtes par étiquettes de couleur sont pris en charge. Le fichier de configuration du workspace est stocké au format JSON.
Insomnia prend en charge les environnements imbriqués (Sub Environments) qui héritent des variables du parent. Cela permet de définir une URL de base dans l'environnement global et de ne redéfinir que les paramètres qui diffèrent pour différents environnements. Les variables sont substituées via la syntaxe {`{`}_variable${`}`}.
// Exemple de structure d'un environnement Insomnia
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}
Insomnia fournit l'un des meilleurs éditeurs GraphQL parmi les clients API. L'onglet GraphQL Query permet d'écrire des requêtes avec autocomplétion des champs sur la base du schéma chargé. À droite, la documentation sur les types, les champs et les arguments est affichée en temps réel.
Le schéma est chargé via une requête GraphQL Introspection vers l'endpoint. Insomnia met le schéma en cache localement et le met à jour automatiquement lors des modifications. Après le chargement, l'autocomplétion (Ctrl+Espace), la validation de la requête et l'aperçu des erreurs possibles avant l'envoi deviennent disponibles.
# Requête GraphQL avec variables dans Insomnia
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}
Insomnia Plugin Hub contient plus de 100 plugins qui étendent les fonctionnalités du client. Les plugins s'installent via le menu Preferences → Plugins ou manuellement via npm. Les catégories populaires incluent la génération de données de test, l'exportation vers différents formats et des validateurs de réponse personnalisés. Chaque plugin passe par une modération obligatoire avant publication dans le hub public des développeurs.
Les plugins sont écrits en JavaScript et interagissent avec Insomnia via l'API de templating (response.*, request.*, environment.*). Développer un plugin nécessite des connaissances de base en Node.js et une publication via un paquet npm avec le tag insomnia-plugin.
Inso CLI est un utilitaire console intégré à Insomnia pour exécuter des requêtes et des tests depuis le terminal. Inso exécute des requêtes individuelles ou des collections entières, exporte les résultats en JSON et peut s'intégrer dans des pipelines CI/CD. La commande inso run collection exécute séquentiellement toutes les requêtes d'une collection.
Inso CLI fonctionne dans des conteneurs Docker et en mode headless, ce qui permet de l'utiliser dans GitHub Actions et GitLab CI. La configuration de lancement est décrite dans un fichier YAML indiquant le chemin vers la collection exportée et l'environnement. Les assertions sur le code de statut et le corps de la réponse sont prises en charge via des scripts JavaScript.
# Workflow GitHub Actions avec Inso CLI
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xml
Insomnia prend en charge la synchronisation des collections via Git. Les fichiers de collection sont stockés au format JSON et peuvent être ajoutés au référentiel du projet. Insomnia fournit un client Git intégré pour visualiser les modifications, créer des commits et résoudre les conflits de fusion directement depuis l'interface.
Pour connecter Git, créez un dossier local avec un référentiel et indiquez-le comme répertoire racine dans les paramètres d'Insomnia. L'application suit automatiquement les modifications des fichiers de collection et les affiche dans le panneau Version Control. Les opérations standard sont prises en charge : commit, push, pull et affichage du diff entre versions.
Pour les projets sans Git, Insomnia propose une synchronisation cloud via Insomnia Cloud. Le forfait gratuit inclut jusqu'à 3 membres d'équipe et la sauvegarde automatique des collections. Les forfaits payants ajoutent la gestion des accès, l'audit des modifications et un support prioritaire.
| Méthode de synchronisation | Gratuit | Hors ligne | Contrôle de version |
|---|---|---|---|
| Git (local) | Oui | Oui | Complet (commit, diff, merge) |
| Insomnia Cloud | Jusqu'à 3 utilisateurs | Non | Basique (historique des modifications) |
| Exportation de fichiers | Oui | Oui | Manuelle (via un système de contrôle de version) |
Design Mode dans Insomnia permet de créer des spécifications d'API au format OpenAPI 3.0. Le mode fonctionne comme un éditeur visuel : définissez des endpoints et des schémas de données sans écrire de YAML à la main. La spécification peut être exportée en JSON ou en YAML.
Insomnia importe des spécifications OpenAPI et crée une collection de requêtes pour chaque endpoint. Les chemins et schémas sont convertis en requêtes HTTP prêtes à l'emploi. La fonction est utile lors de l'intégration avec des microservices, où la spécification est stockée dans un référentiel séparé de l'équipe.
Chaque requête peut recevoir une étiquette de couleur : red, blue, green, orange, purple. Le filtrage par tags fonctionne via la barre de recherche indépendamment de la structure des dossiers, ce qui simplifie la navigation dans les projets avec des centaines d'endpoints et de nombreux modules.
Design Mode dans Insomnia permet de créer des spécifications d'API au format OpenAPI 3.0 directement dans l'application. Le mode fonctionne comme un éditeur visuel : définissez des endpoints, des schémas de données et des paramètres sans écrire de YAML à la main. La spécification peut être exportée en JSON ou en YAML pour publication dans des référentiels.
Insomnia importe des spécifications OpenAPI existantes et crée automatiquement une collection de requêtes pour chaque endpoint. Les chemins et schémas sont convertis en requêtes HTTP prêtes à l'emploi avec des types de données corrects. Cette fonction est utile lors de l'intégration avec des microservices, où la spécification est stockée et maintenue par une équipe de développement backend séparée.
Pour organiser un grand nombre de requêtes, Insomnia prend en charge le marquage — chaque requête peut recevoir une étiquette de couleur : red, blue, green, orange, purple. Le filtrage par tags fonctionne via la barre de recherche indépendamment de la structure des dossiers, ce qui simplifie la navigation dans les projets avec des centaines d'endpoints et de nombreux modules fonctionnels d'API.
Questions fréquentes
Non, l'inscription n'est pas obligatoire. Insomnia fonctionne entièrement hors ligne. La synchronisation cloud est disponible comme option pour le travail en équipe, mais toutes les données sont stockées localement dans des fichiers JSON dans le dossier ~/.config/Insomnia/.
Exportez la collection depuis Postman au format JSON (Collection v2.1). Dans Insomnia, choisissez Import/Export → Import Data → From File. Insomnia convertit automatiquement la collection en préservant les requêtes, les en-têtes et les variables d'environnement.
Oui, depuis la version 2022. Insomnia prend en charge les protocoles WebSocket et Socket.IO. Créez une nouvelle requête de type WebSocket, indiquez l'URL (ws:// ou wss://) et envoyez des messages via l'interface de chat.
Inso CLI est un utilitaire natif d'Insomnia pour exécuter des collections depuis la console. Newman est l'équivalent pour Postman. Inso est plus léger, ne nécessite pas d'installation séparée (il est fourni avec Insomnia) et prend en charge tous les types de requêtes Insomnia, y compris GraphQL.
Oui, Insomnia prend en charge les requêtes gRPC via l'onglet gRPC. Il faut charger un fichier .proto avec la définition du service. Après le chargement, Insomnia affiche les méthodes RPC disponibles et génère un message Protobuf binaire pour l'envoi.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi