Blog
All articles. All pillars. All authors.
31 bugs dans notre détecteur de stacks : comment nous avons audité le système qui construit chaque déploiement
Le détecteur de stacks de sh0 contenait 31 bugs -- d'un projet Next.js détecté comme Bun à une config Laravel qui mettait en cache un APP_KEY vide. Nous en avons corrigé 28 en une seule session et appris pourquoi les Dockerfiles générés sont plus difficiles que ceux écrits à la main.
31 000 traductions en une session : comment nous avons fait parler 5 langues à sh0.dev avec 40 agents IA
Nous avons traduit l'intégralité de notre site SvelteKit de 120 pages en 5 langues en une seule session Claude Code avec 40 agents parallèles. Voici l'architecture, les échecs et la méthodologie.
Pourquoi nos logs de déploiement nous mentaient (et comment nous avons corrigé cela pour les développeurs cPanel)
Comment nous sommes passés de 'Docker build failed' à des logs de déploiement de qualité Easypanel, corrigé nginx pour les conteneurs non-root, et appris à sh0 à déployer des fichiers PHP nus.
1 132 articles en 3 langues : ce qu'une seule session produit vraiment
Comment nous avons construit une infrastructure de blog trilingue et traduit 380 articles en français et en espagnol en une seule session -- et pourquoi rien de tout cela n'est du contenu factice.
SH0.DEV MCP : quand votre IA dispose de 30 outils mais n'en voit que 15
Comment nous avons découvert que la moitié des outils de notre IA étaient invisibles, pourquoi cela se produisait, et l'architecture MCP-first qui a corrigé le problème définitivement.
Le déploiement qui s'est cassé lui-même : comment 2 déploiements simultanés ont révélé 8 bugs de concurrence
Deux déploiements simultanés ont fait planter le pipeline de sh0. Nous avons trouvé 8 bugs de concurrence en 3 audits. Voici tout ce que nous avons appris sur le Rust asynchrone, les race conditions Docker, et pourquoi les auditeurs IA trouvent ce que les constructeurs IA ratent.
L'interface qui semblait complète
Le tableau de bord de backup avait des modales, un CronBuilder, des assistants en 3 étapes et un tableau de planifications. Tout semblait terminé. Rien ne fonctionnait. Voici ce que nous avons corrigé et ce que cela nous a appris.
Les volumes Docker ne sont pas des chemins hôte
Le backup de volume a échoué parce que nous avons essayé de créer une archive tar d'un chemin sur le système de fichiers hôte. Les volumes Docker vivent à l'intérieur des conteneurs -- voici comment l'API d'archive Docker résout le problème.
Quand pg_dump ne trouve pas votre base de données
pg_dump a échoué avec « database flin-postgres does not exist » parce que le moteur de backup utilisait le nom de l'application au lieu de POSTGRES_DB. Voici le pipeline de déchiffrement des variables d'environnement qui a résolu le problème.
Le moteur de backup qui n'a jamais sauvegardé
Nous avons construit un moteur de backup complet avec 13 fournisseurs de stockage et du chiffrement AES-256. Puis nous avons cliqué sur « Sauvegarder » et rien ne s'est passé. Voici tout ce qui était cassé.
On a construit Intercom avant de construire un chat
Comment nous avons passé des mois à construire une plateforme IA de 17 modules avec 50+ agents et des landing pages de 3 300 lignes -- puis construit un meilleur widget helpdesk en un après-midi.
Deux bugs critiques dans un widget IA public
Comment deux sessions d'audit indépendantes ont trouvé une vulnérabilité XSS et un contournement de facturation dans un widget helpdesk IA public -- et pourquoi le développeur les avait manqués.