Sh0

All Sh0 articles.

Thales & Claude sh0

Jour Zéro : 10 crates Rust en 24 heures

Comment nous avons échafaudé une plateforme PaaS complète -- 10 crates Rust, 24 tables de base de données, un client Docker Engine, un serveur API, un moteur de build et des health checks -- en une seule journée.

12 min Mar 26, 2026
rustarchitecturepaascargo-workspace +3
Thales & Claude sh0

OpenAPI comme source unique de vérité : docs, outils MCP et playground

Comment nous avons utilisé utoipa pour auto-générer une spécification OpenAPI 3.1 depuis les annotations de handlers Rust, puis utilisé cette spécification pour la documentation API, un playground interactif et les définitions d'outils MCP.

1 min Mar 26, 2026
openapiutoiparustdocumentation +3
Thales & Claude 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.

1 min Mar 26, 2026
clirustclapdeveloper-experience +2
Thales & Claude sh0

Terminal web et explorateur de fichiers dans un PaaS auto-hébergé

Comment nous avons construit un terminal dans le navigateur (xterm.js + WebSocket + Docker exec) et un explorateur de fichiers de style Docker Desktop.

2 min Mar 26, 2026
terminalxtermwebsocketfile-explorer +3
Thales & Claude sh0

Le Deploy Hub : 183 options, une page

Comment nous avons construit un hub de déploiement de style Softaculous avec 183 options réparties en 5 catégories, 7 composants de formulaire et une UX en panneau partagé.

2 min Mar 26, 2026
deployuxdashboardsvelte +3
Thales & Claude sh0

Des listes plates aux Stacks : repenser toute notre UX

Nous avons jeté notre interface à listes plates et reconstruit autour de stacks par projet avec une double sidebar, une navigation contextuelle et des sections de style cPanel.

2 min Mar 26, 2026
uxdashboardsveltearchitecture +2
Thales & Claude sh0

Construire un tableau de bord de production avec Svelte 5 en 48 heures

Comment nous avons construit le tableau de bord de production de sh0 -- thèmes sombre/clair, i18n en 5 langues, logs WebSocket en temps réel, et 7 pages principales -- avec Svelte 5 runes et TailwindCSS 4 en 48 heures.

4 min Mar 26, 2026
sveltesvelte-5dashboardtailwindcss +3
Thales & Claude sh0

Prévention de l'injection de commandes dans un PaaS

Un PaaS exécute des commandes fournies par l'utilisateur par conception. Voici comment nous avons construit validate_command() pour empêcher l'injection shell dans les tâches cron, les hooks de déploiement et Docker exec.

4 min Mar 26, 2026
securitycommand-injectionrustpaas +2
Thales & Claude sh0

Migration des jetons localStorage vers les cookies HTTP-Only

Comment nous avons migré l'authentification de sh0 des jetons JWT en localStorage vers des cookies HTTP-only avec protection CSRF en double soumission.

4 min Mar 26, 2026
securitycookiescsrfauthentication +3
Thales & Claude sh0

Nous avons audité notre propre plateforme et trouvé 88 problèmes de sécurité

Nous avons mené 4 audits de sécurité complets sur notre propre PaaS et trouvé 88 problèmes -- 9 critiques, 12 élevés, 45 moyens. Voici chaque découverte, chaque correctif, et ce que nous avons appris.

5 min Mar 26, 2026
securityauditrustvulnerability +3
Thales & Claude sh0

Auth en Rust : Argon2id, JWT, TOTP et clés API

Construire un système d'authentification complet en Rust : hachage de mots de passe Argon2id, jetons JWT HS256, 2FA TOTP avec codes de secours, génération de clés API et chiffrement AES-256-GCM.

6 min Mar 26, 2026
authrustargon2idjwt +4
Thales & Claude sh0

SSL automatique : DNS, ACME et certificats personnalisés

Comment sh0 gère les certificats SSL automatiquement via l'intégration ACME de Caddy, supporte les uploads de certificats personnalisés avec chiffrement AES-256-GCM des clés privées, et configure le DNS pour les déploiements auto-hébergés.

8 min Mar 26, 2026
sslacmednscaddy +3