Quotidien Shaarli
Hier - May 12, 2026
Mise + Krew : gérer ses plugins kubectl de manière déclarative
L’article présente une solution combinant Mise et Krew pour versionner et configurer les plugins kubectl de façon reproductible. Mise, un gestionnaire d’outils en Rust, permet de déclarer les versions des plugins dans un fichier mise.toml, évitant ainsi les problèmes de synchronisation en équipe. Krew, le gestionnaire officiel de plugins kubectl, manque en effet de fonctionnalités de versionnage, ce que Mise comble grâce à son approche déclarative et ses backends multiples (GitHub, Aqua, etc.).
L’auteur explique comment Mise automatise l’activation des versions des outils dès l’entrée dans un répertoire contenant un fichier de configuration, simplifiant la gestion des environnements. Il souligne aussi l’avantage de Mise par rapport à des alternatives comme asdf, notamment pour son intégration avec des outils comme direnv et ses tâches intégrées. La solution proposée permet ainsi de standardiser les environnements Kubernetes en équipe, avec une configuration centralisée et versionnée.
Cette page de CSS-Tricks explore les différentes unités de longueur en CSS, essentielles pour dimensionner les éléments d'une page web. Elle distingue les unités absolues, comme le pixel (px), qui restent constantes quelle que soit la résolution de l'écran, des unités relatives, qui s'adaptent en fonction d'autres facteurs comme la taille de la police ou de l'écran. L'article détaille neuf types d'unités, couvrant les dimensions, l'espace, le temps et même le son, tout en expliquant leur utilité pour contrôler précisément le rendu visuel.
L’auteur revient sur son expérience de développement de k10s, un outil en Go pour surveiller les clusters Kubernetes avec des GPU NVIDIA, entièrement généré par IA via des sessions de vibe-coding. Après des débuts prometteurs où l’IA produisait rapidement des fonctionnalités fonctionnelles, des problèmes structurels majeurs sont apparus, notamment un god object (objet monolithique) de 1 690 lignes dans model.go, rendant le code ingérable et instable. L’auteur souligne que l’IA excelle pour écrire des fonctionnalités, mais échoue à concevoir une architecture cohérente sans intervention humaine.
L’expérience a révélé que le vibe-coding donne une fausse impression de productivité, masquant la dette technique accumulée. L’auteur explique que sans une planification humaine rigoureuse, le projet a rapidement dégénéré en un code spaghetti, malgré des démos impressionnantes. Il conclut que l’humain doit rester maître de l’architecture et imposer des contraintes pour éviter le chaos, même si cela ralentit temporairement le développement.
Le projet est désormais en cours de réécriture depuis zéro, avec une approche plus structurée. L’auteur partage ses leçons, comme l’importance de documenter des directives pour l’IA (AGENTS.md/CLAUDE.md) et de ne pas laisser l’outil dicter la conception. Le code initial est archivé, mais les enseignements tirés valent pour tout développeur utilisant l’IA de manière intensive.