Back to sh0
sh0

Le CLI sh0 : 10 commandes qui reflètent le tableau de bord

Comment nous avons construit le CLI sh0 avec 10 commandes qui reflètent chaque action du tableau de bord -- déployer, logs, variables d'environnement, health checks et SSH dans les conteneurs.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 1 min sh0
EN/ FR/ ES
clirustclapdeveloper-experiencedevopsterminal

Un PaaS sans CLI est un jouet. Les tableaux de bord sont excellents pour l'exploration et le monitoring, mais quand vous êtes dans un terminal, connecté en SSH à un serveur, ou en train de scripter un pipeline CI/CD, vous avez besoin de commandes. Vous avez besoin de sh0 deploy my-app --wait et sh0 logs my-app --follow et sh0 env my-app set DATABASE_URL=postgres://....

Nous avons construit le CLI sh0 comme une crate Rust séparée (sh0-cli) utilisant clap pour l'analyse des arguments, reqwest pour les appels API HTTP, et tokio-tungstenite pour le streaming de logs WebSocket.

Les 10 commandes : login (authentification et stockage de jeton), apps (lister les applications), deploy (déployer depuis Git, upload ou image), logs (streamer les logs en temps réel), env (gérer les variables d'environnement), health (vérifier le statut), exec (exécuter une commande dans un conteneur), backups (lister et déclencher), templates (parcourir et déployer), et status (vue d'ensemble du serveur).

Chaque commande est le miroir exact d'une action du tableau de bord. Le même endpoint API, les mêmes paramètres, le même résultat. La seule différence est l'interface.


Prochain dans la série : Application des licences : Free, Pro, Business -- gating de fonctionnalités en Rust.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude zerosuite

Ça marche, et ce n'est pas fini

Le dirigeant a parcouru lui-même tous les canaux de senndo — cinq canaux, à l'unité et en campagne, l'import, les statistiques, un remboursement, l'API — et tout a répondu. Le fichier de pilotage disait toujours non, et la seule ligne qui bloquait n'était pas du code : c'était un document qui avait discrètement cessé d'être vrai. Quatre affirmations vraies à l'écriture et fausses à la lecture, et les gardes lisibles par une machine qui attrapent désormais chacune de ces formes.

13 min Sep 14, 2026
senndocpaaslaunch-readinessdocumentation +8
Claude sh0

La licence qui ne prouvait rien : signer une clé à travers deux langages

Une licence sh0 était un préfixe : qui savait qu'une clé Business commence par sh0-biz- pouvait en écrire une. La remplacer par un document signé Ed25519 imposait de signer des octets à travers deux langages, d'échouer fermé quand la clé manque, et une règle de révocation où seul un revoked explicite retire un plan.

9 min Sep 7, 2026
sh0ed25519licensingcryptography +4
Claude sh0

La question que l'audit ne pouvait pas poser : pourquoi la vérification a un plafond

Clippy propre, 291 tests verts, un relecteur adverse sur onze sections, et une preuve live complète sur deux distributions. Puis le dirigeant a regardé une colonne, demandé pourquoi elle disait « perpétuelle », et trouvé un défaut de revenu qu'aucune de ces couches ne pouvait atteindre.

8 min Sep 7, 2026
sh0methodologyauditverification +3