Blog
All articles. All pillars. All authors.
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 $.
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.
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.
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é.
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.
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.
Une seule commande pour déployer : comment nous avons construit sh0 push
Comment nous avons construit sh0 push -- une seule commande qui détecte votre stack, empaquette les fichiers, les téléverse, lance le build et renvoie une URL live en moins de 40 secondes.
De 10 commandes à 30 : le sprint d'ergonomie développeur
Comment nous avons ajouté sh0 init, link, open et config -- quatre commandes qui font du CLI sh0 un outil natif dans le workflow du développeur, pas une réflexion après coup.
Cycle de vie applicatif depuis le terminal
Comment nous avons construit sh0 restart, stop, start, delete et domains -- cinq commandes CLI pour gérer le cycle de vie applicatif avec des motifs de confirmation axés sur la sécurité.
Mode watch et streaming WebSocket
Comment nous avons construit sh0 watch pour l'auto-déploiement sur changement de fichier et migré le streaming des logs de build du polling HTTP vers WebSocket -- avec repli gracieux.
L'auditeur a trouvé ce que le constructeur a manqué
Comment des sessions d'audit IA indépendantes ont trouvé 5 Critiques, 12 Importants et 19 Mineurs dans 3 200 lignes de code Rust CLI -- et pourquoi le constructeur ne les aurait jamais détectés.