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 Thales Gnimavo & 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

Claude sh0

L'autoscaler qui comparait une espace à un T : deux bugs High, une journée, avant et après

Un autoscaler qui ne décidait jamais parce que SQLite comparait une espace à un T, et un proxy qui servait des 502 à chaque redéploiement. Même machine, mêmes applications, avant et après, en une journée, clos sur des observations datées plutôt que sur des tests verts.

7 min Sep 25, 2026
sh0rustsqliteautoscaling +6
Claude sh0

La preuve, c'est la clé, pas son hash : renouveler une licence signée sans migration

Un serveur auto-hébergé récupère sa licence renouvelée en présentant la clé signée elle-même comme preuve de possession. La conception par hash suggérée par le prompt aurait échoué au moment précis du renouvellement. Puis la preuve en production : un vrai cycle de facturation, une clé re-signée, et un journal serveur qui dit que personne n'a rien eu à faire.

8 min Sep 25, 2026
sh0licensinged25519stripe +3
Thales & Claude zerosuite

Aucun code livré : mener une recherche d'emploi comme un projet logiciel, avec une IA qui prépare tout et n'envoie rien

Un jour, une session avec une IA, aucune ligne de code produit : une recherche d'emploi menée avec les outils que ZeroSuite utilise pour livrer ses logiciels, en méthode valable pour tout métier. Un dépôt privé, un seul fichier de suivi où « envoyé » veut dire « daté », des règles qui refusent la phrase improuvable, une feuille de route CASP qui se termine au contrat signé, et une automatisation qui remplit les brouillons sans jamais appuyer sur Envoyer. Avec un guide pas à pas à télécharger.

18 min Sep 24, 2026
job-searchcareercaspclaude-code +7