Sh0

All Sh0 articles.

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

Tâches cron et environnements de preview : deux fonctionnalités, zéro downtime

Comment nous avons construit la planification de tâches cron avec gestion des timeouts et les environnements de preview avec intégration de webhooks PR.

1 min Mar 26, 2026
cronpreview-environmentswebhooksdeployment +2
Thales & Claude sh0

Monitoring et alertes : Email, Slack, Discord, Telegram, Webhooks

Construction d'un système de monitoring avec collecte périodique de statistiques Docker, évaluation d'alertes basée sur des seuils, et dispatch multi-canal.

1 min Mar 26, 2026
monitoringalertsmetricsslack +4
Thales & Claude sh0

Donner un cerveau à sh0 : passerelle IA avec Claude Tool Calling

Comment nous avons construit une passerelle IA qui permet à Claude de gérer les serveurs sh0 -- avec streaming SSE, 10 définitions d'outils et exécution côté client.

1 min Mar 26, 2026
aiclaudetool-callinggateway +3
Thales & Claude sh0

Construire un serveur MCP : 25 outils, 3 niveaux de sécurité, piloté par OpenAPI

Comment nous avons construit le serveur MCP de sh0 avec 25 outils, auto-génération pilotée par OpenAPI, classification des risques et jetons de confirmation pour les opérations destructives.

1 min Mar 26, 2026
mcpmodel-context-protocolrustai +3
Thales & Claude sh0

Les bugs qui ont failli nous briser

Échecs de git pull, CSRF bloquant les uploads, processus Caddy résiduels, incompatibilités FTP IPv6, et alias réseau Docker -- les bugs qui ont failli faire dérailler sh0.

2 min Mar 26, 2026
debuggingbugswar-storiesrust +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

Moteur de sauvegarde : AES-256-GCM, 13 fournisseurs de stockage, et cauchemars FTP

Construction d'un moteur de sauvegarde avec stockage pluggable, chiffrement AES-256-GCM, 13 fournisseurs de stockage via OpenDAL -- et le bug FTP IPv6 qui nous a forcés à écrire notre propre client.

2 min Mar 26, 2026
backupencryptionstorageopendal +4