Sh0
All Sh0 articles.
Double Dogfooding : nous avons créé un langage, construit son site avec, puis hébergé le tout sur notre propre PaaS
ZeroSuite a créé FLIN (langage de programmation), construit flin.sh avec, puis l'a déployé sur sh0 (son propre PaaS). Trois couches de dogfooding, six bugs trouvés, zéro restant.
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.
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.
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.
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.
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é.
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.
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.
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.
Du chatbot de documentation à l'agent de support en direct
Comment nous avons transformé l'assistant IA de documentation de sh0 en un widget helpdesk public avec 9 fichiers, zéro nouvelle infrastructure et le même pipeline de streaming SSE.
Pourquoi j'ai construit mon propre helpdesk IA au lieu d'en payer un
Pourquoi j'ai construit un widget de chat IA pour sh0.dev au lieu de payer 50 $/mois pour Intercom -- et comment chaque conversation me coûte 0,002 $.
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.