Aller au contenu

Yaak - Client API Desktop

Yaak - Client API Desktop

Yaak est un client API desktop moderne et offline-first construit avec Tauri, Rust, et React. Il organise et exécute les requêtes REST, GraphQL, gRPC, WebSocket, et Server-Sent Events (SSE) dans une application rapide et légère qui est respectueuse de la confidentialité : pas de télémétrie, pas de compte requis, et pas de verrouillage cloud. Les espaces de travail sont stockés comme fichiers plats, donc vous pouvez les synchroniser avec Git, et il supporte les environnements, les variables, et l’importation depuis Postman/Insomnia.

Installation

PlateformeMéthode
macOSTélécharger le .dmg depuis yaak.app, ou brew install --cask yaak
WindowsTélécharger l’installateur depuis yaak.app
LinuxAppImage / .deb / .rpm depuis yaak.app
VérifierLancer l’app ; vérifier Aide → À propos pour la version

Types de requête

TypeUtilisation
REST / HTTPRequêtes API standard
GraphQLRequêtes/mutations avec introspection de schéma
gRPCAppeler les services gRPC (avec réflexion)
WebSocketConnexions de socket bidirectionnelle
SSEFlux Server-Sent Events

Concepts clés

TermeSignification
WorkspaceUn groupement de projet de requêtes/environnements
FolderOrganise les requêtes dans un espace de travail
EnvironmentEnsemble nommé de variables (dev/staging/prod)
Variable${[ name ]} modèle utilisé sur les requêtes
Plain-file syncDonnées d”espace de travail stockées comme fichiers → Git-friendly

Construire des requêtes

ÉlémentRemarques
Method + URLAvec modèle de variable
Query paramsÉditeur clé/valeur
HeadersÉditeur clé/valeur
BodyJSON, form, GraphQL, binary, etc.
AuthBearer, Basic, OAuth 2.0, clé API

Environnements et variables

FonctionnalitéUtilisation
EnvironmentsBasculer les URL de base/secrets par stage
VariablesRéférencer avec ${[ var ]} dans n’importe quel champ
Dynamic valuesValeurs générées (timestamps, UUIDs)
SecretsGardés en dehors des fichiers plats synchronisés où configuré

Fonctionnalités de productivité

FonctionnalitéDescription
Response viewerJSON jolie, headers, timing, taille
HistoryRéponses précédentes par requête
ImportPostman, Insomnia, cURL, OpenAPI
PluginsÉtendre via un système de plugins
Git syncCommit les fichiers de l’espace de travail au contrôle de version
TemplatingChaîner les requêtes en référençant les réponses précédentes

Notes gRPC et GraphQL

ProtocoleCapacité
gRPCRéflexion du serveur pour découvrir les services/méthodes ; streaming
GraphQLIntrospection de schéma, query builder, variables

Workflows courants

# Workflow d'équipe avec sync basé sur Git
1. Créer un espace de travail ; le stocker dans votre repo
2. Définir les environnements dev/staging/prod avec des variables
3. Construire les requêtes REST/GraphQL/gRPC utilisant ${[ base_url ]}
4. Commit les fichiers plats ; les coéquipiers tirent et obtiennent la même collection
# Chaîner les requêtes
- Envoyer une requête de connexion, capturer le token de la réponse
- Le référencer comme variable dans les requêtes autorisées suivantes

Yaak vs autres clients API

AspectYaakPostmanATACBruno
InterfaceDesktop GUIDesktop GUITerminal TUIDesktop GUI
ProtocolesREST/GraphQL/gRPC/WS/SSELargeRESTREST/GraphQL
TélémétrieAucuneOuiAucuneAucune
StorageFichiers plats (Git)Cloud/localFichiersFichiers (Git)
Meilleur pourGUI respectueuse de confidentialité, multi-protocoleÉquipes/cloudTerminal-firstGUI + Git

Ressources