Aller au contenu
API de commandes HTTP
Streaming WebSocket
Sessions multijoueurs
Plus de 50 paramètres URL
5 environnements shell
Mappage automatique du Display
19 endpoints API
Sessions persistantes
API de commandes HTTP
Streaming WebSocket
Sessions multijoueurs
Plus de 50 paramètres URL
5 environnements shell
Mappage automatique du Display
19 endpoints API
Sessions persistantes
API de commandes HTTP
Streaming WebSocket
Sessions multijoueurs
Plus de 50 paramètres URL
5 environnements shell
Mappage automatique du Display
19 endpoints API
Sessions persistantes
API de commandes HTTP
Streaming WebSocket
Sessions multijoueurs
Plus de 50 paramètres URL
5 environnements shell
Mappage automatique du Display
19 endpoints API
Sessions persistantes
TerminalService Kit

Terminal

Un shell Linux persistant exposé comme endpoint HTTPS. Lancez des commandes via API, connectez-vous depuis n'importe quel navigateur, streamez en WebSocket, ou SSH directement. Les sessions survivent aux reconnexions.

Démarrage rapide

# Récupère votre token

$ curl -X POST \

https://abc123-def456-terminal-1.node-us-1.containers.hoody.com/api/v1/terminal/execute \

-H "Authorization: Bearer $TOKEN" \

-d '{"command":"echo Hello from Hoody!"}'

> { "command_id": "42", "status": "running" }

 

# Lance votre première commande

$ curl \

https://abc123-def456-terminal-1.node-us-1.containers.hoody.com/api/v1/terminal/result/42 \

-H "Authorization: Bearer $TOKEN"

> { "status": "completed", "output": "Hello from Hoody!", "exit_code": 0 }

 

# Partage l'URL — n'importe qui peut se connecter

https://abc123-def456-terminal-1.node-us-1.containers.hoody.com

Structure de l'URL

L'URL est l'interface

Chaque terminal a une adresse unique et prévisible. Lisez-la de gauche à droite et vous savez exactement à quel service, quelle instance et quel conteneur vous vous adressez.

URL du service terminal
https://abc123-def456-terminal-1.node-us-1.containers.hoody.com
abc123

Projet

L'ID de votre projet.

def456

Conteneur

L'ID du conteneur.

terminal

Service

Quel service Kit — terminal, files, display…

1

Instance

Lancez-en plusieurs : terminal-1, terminal-2, terminal-3.

node-us-1

Serveur

Le nœud sur lequel votre conteneur s'exécute.

L'URL est l'interface. Pas de ports, pas de config, pas de configuration réseau.

HTTP API

Chaque commande est un appel API

L'exécution est asynchrone. Lancez une commande, récupérez un ID, puis lisez le résultat — ou diffusez-le en direct via WebSocket.

1Lancez-la
POST /api/v1/terminal/execute
-d '{"command": "npm test"}'
{
"command_id": "42",
"status": "running"
}

Envoyez une commande en POST. Vous obtenez un command_id et le statut : running immédiatement.

2Lisez le résultat
GET /api/v1/terminal/result/42
{
"command_id": "42",
"status": "completed",
"output": "24 passed, 0 failed",
"exit_code": 0
}

Interrogez l'endpoint de résultat pour récupérer la sortie combinée et le code de sortie.

3Ou diffusez en direct
WS /api/v1/terminal/ws?terminal_id=1
> build started…
> compiling 42 modules
> 24 passed, 0 failed

Ouvrez un WebSocket pour recevoir les frames du terminal en temps réel.

Capacités

Tout est intégré

Chaque fonctionnalité est dispo dès le départ, sans configuration. Terminal est prêt à l'emploi dès que votre conteneur démarre.

Terminal web

Un terminal complet dans le navigateur

Ouvrez l'URL sur n'importe quel appareil — téléphone, tablette, ordinateur portable. Configurez l'interface web entièrement via les paramètres de requête : shell, taille de police, mode lecture seule, titre et panneaux latéraux.

?shell=zsh?fontSize=16?readonly=true?title=Prod?panel=/docs

Choix du shell

bash, zsh, fish, tmux, sh — bascule entre shells via paramètre URL. Préinstallés et prêts à l'emploi.

API d'automatisation

Envoyez des frappes de touches, collez du texte et attendez que l'écran se stabilise — pilotez des programmes interactifs via HTTP.

Captures de Terminal

Capture l'état du terminal en PNG, JPEG ou GIF via API. Couleurs et taille de police configurables pour la documentation.

État de session actif

Le répertoire de travail, le shell et l'historique sont conservés tant que la session est active et survivent aux reconnexions.

SSH vers n'importe quel serveur

Ouvrez une session sous forme de connexion SSH distante — hôte, utilisateur et clé en paramètres.

API HTTP

19 endpoints, contrôle total

Quatre domaines : exécution de commandes, gestion de sessions, streaming live via WebSocket et monitoring système. Chaque endpoint retourne du JSON structuré avec auth bearer token.

Exécution de commandes

5 endpoints

curl -X POST .../terminal/execute -d '{"command":"npm test"}'

POST
/api/v1/terminal/executeExécute une commande (sync/async)
GET
/api/v1/terminal/result/{command_id}Récupère le résultat async
POST
/api/v1/terminal/execute/{command_id}/abortHistorique des commandes
POST
/api/v1/terminal/writeCapture en PNG/JPEG/GIF
GET
/api/v1/terminal/history/{terminal_id}Liste les sessions actives

Gestion de sessions

6 endpoints

curl .../terminal/sessions → [{ "terminal_id": "1", "shell": "bash" }]

GET
/api/v1/terminal/sessionsCrée une nouvelle session
POST
/api/v1/terminal/createTermine une session
DELETE
/api/v1/terminal/{terminal_id}Redimensionne le terminal
GET
/api/v1/terminal/rawÉcrit dans la session
GET
/api/v1/terminal/screenshotStatut de la session
GET
/api/v1/terminal/openapi.jsonEnvoie un signal à la session

Streaming live

4 endpoints

WS .../terminal/ws — real-time terminal frames

WS
/api/v1/terminal/wsStream en temps réel
POST
/api/v1/terminal/pressLit le buffer de sortie
POST
/api/v1/terminal/pasteCPU, mémoire, disque, réseau
POST
/api/v1/terminal/waitProcessus en cours

Système & Méta

7 endpoints

curl .../system/resources → { "cpu": 45.2, "memory": { ... } }

GET
/api/v1/terminal/healthEnvoie un signal à un PID
GET
/api/v1/system/resourcesVariables d'environnement
GET
/api/v1/system/processesInformations système
GET
/api/v1/system/processes/{pid}Exporte la sortie brute
GET
/api/v1/system/portsPorts en écoute
POST
/api/v1/system/process/signalEnvoyer un signal à un PID
GET
/api/v1/system/displaysAffichages X11 actifs
Cas d'usage

Conçu pour les vrais workflows

Terminal couvre toute la palette des scénarios devs et automatisation. Chaque cas d'usage correspond à des endpoints API et paramètres URL spécifiques.

  • 01

    Développement distant

    GET /terminal/ws

    SSH dans votre conteneur depuis n'importe quel appareil avec un navigateur. Accès shell complet avec sessions persistantes — reprenez là où vous vous étiez arrêté depuis votre téléphone, votre tablette, ou une autre machine.

  • 02

    Orchestration d'agents IA

    POST /terminal/execute

    Les agents exécutent des commandes shell via l'API HTTP. Build, test, déploiement — l'API Terminal donne aux agents IA un accès structuré à tout votre environnement de développement.

  • 03

    Debug en équipe

    GET /terminal/sessions

    Partagez une URL de terminal avec votre équipe pour du debug multijoueur. Tout le monde voit la même sortie, tape des commandes et reçoit des couleurs de curseur uniques en temps réel.

  • 04

    Applications GUI

    ?display=N

    Lancez n'importe quelle application graphique depuis le terminal. Firefox, VS Code, GIMP — terminal-N se mappe automatiquement sur display-N sans aucun setup X11 forwarding.

  • 05

    Intégration CI/CD

    GET /terminal/result/{id}

    Lance des étapes de build, exécute des tests, déploie des artefacts — tout en HTTP. Intègre Terminal dans n'importe quelle pipeline CI avec de simples appels curl et des réponses JSON structurées.

  • 06

    Monitoring live

    GET /system/resources

    Stats CPU, mémoire, disque et réseau en temps réel via API. Listez les processus en cours, envoyez des signaux, inspectez les ports — visibilité système totale via des endpoints structurés.

Prêt à explorer ?

Terminal est l'un des 18 services Kit livrés avec chaque conteneur Hoody. Aucune installation, aucune configuration — explorez la doc ou parcourez la référence API ci-dessus.

Lire la doc