<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/documentation/</link><description>Recent content in Documentation on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Sun, 29 Mar 2026 18:00:00 +0200</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/documentation/index.xml" rel="self" type="application/rss+xml"/><item><title>101 façons de déployer Kubernetes : 125 solutions, des PRs communautaires et une UI qui s'améliore</title><link>https://blog.zwindler.fr/2026/03/29/101-facons-de-deployer-kubernetes-v3/</link><pubDate>Sun, 29 Mar 2026 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2026/03/29/101-facons-de-deployer-kubernetes-v3/</guid><description>&lt;img src="https://blog.zwindler.fr/2026/03/125-kube.webp" alt="Featured image of post 101 façons de déployer Kubernetes : 125 solutions, des PRs communautaires et une UI qui s'améliore" /&gt;&lt;h2 id="il-bouge-encore"&gt;Il bouge encore
&lt;/h2&gt;&lt;p&gt;Depuis la sortie de &lt;a class="link" href="https://blog.zwindler.fr/2026/02/09/101-facons-de-deployer-kubernetes-nouvelle-ui/" &gt;l&amp;rsquo;interface web du projet&lt;/a&gt; début février, le projet a continué à évoluer. Ajout de solutions manquantes, petites améliorations de l&amp;rsquo;UI, contributions externes, optimisations de performances&amp;hellip; Bref, un bon petit mois bien rempli pour ce gros side project que j&amp;rsquo;aimerais faire grossir.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://zwindler.github.io/101-ways-to-deploy-kubernetes/" target="_blank" rel="noopener"
&gt;101-ways-to-deploy-kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note : si vous n&amp;rsquo;avez pas suivi les épisodes précédents :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2025/11/02/93-facons-de-deployer-kubernetes/" &gt;93 façons de déployer Kubernetes&lt;/a&gt; — le Google Sheet original&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2026/01/04/101-facons-de-deployer-kubernetes-v2/" &gt;101 façons de déployer Kubernetes (v2)&lt;/a&gt; — passage sur GitHub&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2026/02/09/101-facons-de-deployer-kubernetes-nouvelle-ui/" &gt;Une nouvelle UI pour explorer les 118+ solutions&lt;/a&gt; — l&amp;rsquo;appli Astro + Tailwind&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="7-nouvelles-solutions"&gt;7 nouvelles solutions
&lt;/h2&gt;&lt;p&gt;Le catalogue est passé de 118 à &lt;strong&gt;125 solutions&lt;/strong&gt;. Voici les ajouts depuis le dernier article :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Xen Orchestra&lt;/strong&gt; - ajouté pendant un stream de Cuistops =&amp;gt; Déploiement de clusters Kubernetes (MicroK8s) via les &amp;ldquo;recettes&amp;rdquo; de Xen Orchestra, la plateforme de management de Vates. Catégorie ManagementPlatform.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Charmed Kubernetes&lt;/strong&gt; - suite à un commentaire sur LinkedIn, j&amp;rsquo;ai remplacé l&amp;rsquo;entrée &amp;ldquo;Juju&amp;rdquo; par Charmed Kubernetes, qui est le vrai nom du produit Canonical pour déployer Kubernetes via Juju.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kubeaver&lt;/strong&gt; - découvert en scrollant bluesky sans but =&amp;gt; un installateur Kubernetes offline/online avec une GUI, basé sur Kubespray et Ansible. Certifié CNCF conformance (pour ce que ça vaut&amp;hellip;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;talos-bootstrap&lt;/strong&gt; - script interactif de Cozystack pour bootstrapper des clusters Kubernetes sur Talos OS.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;boot-to-talos&lt;/strong&gt; - Outil de Cozystack (encore) qui convertit n&amp;rsquo;importe quel OS existant en Talos Linux, complètement depuis le userspace. Partiellement utilisé par Quentin dans un contexte que je ne peux révéler ;-)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TOPF&lt;/strong&gt; - Talos Orchestrator by PostFinance, un CLI pour gérer des clusters Kubernetes basés sur Talos. Découvert sur le discord de Cuistops&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Talhelper&lt;/strong&gt; - Outil CLI pour créer des clusters Talos en mode GitOps, à partir d&amp;rsquo;un seul fichier YAML déclaratif. Je l&amp;rsquo;avais initialement mis de côté mais à y réfléchir, pourquoi pas le mettre.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On notera qu&amp;rsquo;au même titre que kubeadm et k3s, il y a beaucoup de solutions qui s&amp;rsquo;appuient sur &lt;strong&gt;Talos Linux&lt;/strong&gt;. De mon point de vue, ça valide l&amp;rsquo;OS et ça confirme l&amp;rsquo;adoption croissante de cet OS immutable pour Kubernetes.&lt;/p&gt;
&lt;h2 id="refonte-complète-des-tags"&gt;Refonte complète des tags
&lt;/h2&gt;&lt;p&gt;Un gros chantier a été la &lt;strong&gt;refonte de tous les tags&lt;/strong&gt; du catalogue. Ils étaient incohérents : des noms d&amp;rsquo;outils utilisés comme tags (openshift, rancher&amp;hellip;), des tags redondants (on-premise + self-hosted), des tags manquants ou parfois faux (par ex. &amp;ldquo;lightweight&amp;rdquo; sur des outils qui lancent des VMs).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai nettoyé les tags de &lt;strong&gt;toutes les catégories&lt;/strong&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Desktop&lt;/strong&gt; : suppression des noms d&amp;rsquo;outils comme tags, ajout de &lt;code&gt;gui&lt;/code&gt; pour Docker Desktop, Orbstack, Podman Desktop, Rancher Desktop&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Selfhosted&lt;/strong&gt; : suppression du tag redondant &lt;code&gt;on-premise&lt;/code&gt; (29 solutions), ajout de tags pertinents (&lt;code&gt;automation&lt;/code&gt;, &lt;code&gt;edge&lt;/code&gt;, &lt;code&gt;lightweight&lt;/code&gt;, &lt;code&gt;bare-metal&lt;/code&gt;&amp;hellip;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ManagementPlatform&lt;/strong&gt; : toutes les solutions ont maintenant 3 tags (&lt;code&gt;multi-cloud&lt;/code&gt;, &lt;code&gt;managed&lt;/code&gt;, &lt;code&gt;gui&lt;/code&gt;, &lt;code&gt;automation&lt;/code&gt;&amp;hellip;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KubernetesInKubernetes&lt;/strong&gt; : correction de vcluster (&lt;code&gt;virtualization&lt;/code&gt; → &lt;code&gt;lightweight&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="de-nouveaux-filtres-dans-lui"&gt;De nouveaux filtres dans l&amp;rsquo;UI
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;ai ajouté un &lt;strong&gt;filtre par nombre d&amp;rsquo;étoiles GitHub&lt;/strong&gt; qui n&amp;rsquo;apparaît que quand le filtre &amp;ldquo;Open Source only&amp;rdquo; est activé. Plutôt pratique pour identifier rapidement les projets les plus populaires (&amp;gt; 100, &amp;gt; 1k, &amp;gt; 10k stars).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/03/stars-filter.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;occasion aussi de réorganiser la barre de filtres : le sélecteur de statut (Active/Abandoned) est passé en dropdown compact, et le layout général a été retravaillé pour rester lisible même avec plus de filtres.&lt;/p&gt;
&lt;p&gt;Dernier point, lorsque vous faites une recherche dans la barre principale, une variable vient d&amp;rsquo;ajouter à l&amp;rsquo;URL : pratique pour partager des solutions directement avec le lien.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/03/search.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="les-contributions-dantoine-caron-slashgear"&gt;Les contributions d&amp;rsquo;Antoine Caron (Slashgear)
&lt;/h2&gt;&lt;p&gt;Un grand merci à &lt;a class="link" href="https://bsky.app/profile/slashgear.dev" target="_blank" rel="noopener"
&gt;Antoine Caron (@slashgear)&lt;/a&gt; qui, au-delà de m&amp;rsquo;avoir aidé sur &lt;a class="link" href="https://blog.zwindler.fr/2026/02/19/optimisation-webperf-avif-precompression/" &gt;les performances&lt;/a&gt; et &lt;a class="link" href="https://blog.zwindler.fr/2026/02/20/securite-headers-http-observatory-hugo/" &gt;la sécurité&lt;/a&gt; de ce blog, a aussi contribué directement au projet 101 ways avec plusieurs PRs !&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hiérarchie des headings&lt;/strong&gt; - les cartes utilisaient des &lt;code&gt;&amp;lt;h3&amp;gt;&lt;/code&gt; sans &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt; dans la page. Antoine a corrigé ça pour une hiérarchie correcte (&lt;code&gt;h1&lt;/code&gt; → &lt;code&gt;h2&lt;/code&gt;), ce qui améliore la navigation pour les lecteurs d&amp;rsquo;écran.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibilité du champ de recherche&lt;/strong&gt; - ajout d&amp;rsquo;un vrai &lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; (en &lt;code&gt;sr-only&lt;/code&gt;) et passage du &lt;code&gt;type=&amp;quot;text&amp;quot;&lt;/code&gt; à &lt;code&gt;type=&amp;quot;search&amp;quot;&lt;/code&gt; pour une meilleure sémantique.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skip links&lt;/strong&gt; - ajout de liens &amp;ldquo;skip to content&amp;rdquo; pour la navigation au clavier (WCAG 2.1, critère 2.4.1). Trois liens : vers la recherche, les filtres, et le contenu principal.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="amélioration-des-performances"&gt;Amélioration des performances
&lt;/h2&gt;&lt;p&gt;En parlant de performances, le site s&amp;rsquo;est aussi amélioré côté PageSpeed. Voici un avant/après sur Lighthouse mobile :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/03/101-avant.avif"
loading="lazy"
alt="Score PageSpeed avant optimisation : 82"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/03/101-apr%c3%a8s.avif"
loading="lazy"
alt="Score PageSpeed après optimisation : 99"
&gt;&lt;/p&gt;
&lt;p&gt;De &lt;strong&gt;82 à 99&lt;/strong&gt; en performances mobiles, avec du 100/100 en bonnes pratiques et SEO.&lt;/p&gt;
&lt;p&gt;Ces gains viennent d&amp;rsquo;un ensemble de corrections, notamment la résolution du &lt;strong&gt;clipping des cartes au hover&lt;/strong&gt;, un bug CSS assez vicieux lié à &lt;code&gt;content-visibility: auto&lt;/code&gt; qui impliquait &lt;code&gt;contain: paint&lt;/code&gt; et coupait le haut des cartes quand elles se soulevaient au survol. Antoine avait identifié le problème avec l&amp;rsquo;&lt;code&gt;overflow-hidden&lt;/code&gt;, et Copilot a trouvé la cause racine dans le CSS containment.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/03/clipping.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="merci-"&gt;Merci !
&lt;/h2&gt;&lt;p&gt;Un grand merci à tous ceux qui contribuent, que ce soit en me mentionnant les outils manquants, en soumettant des PRs, ou simplement en partageant le projet.&lt;/p&gt;
&lt;p&gt;Merci spécial à &lt;strong&gt;Antoine Caron&lt;/strong&gt; pour ses PRs sur l&amp;rsquo;accessibilité et la CI - c&amp;rsquo;est vraiment chouette de voir quelqu&amp;rsquo;un prendre le temps d&amp;rsquo;améliorer un projet open source qui n&amp;rsquo;est pas le sien. Et c&amp;rsquo;est d&amp;rsquo;autant plus appréciable qu&amp;rsquo;Antoine m&amp;rsquo;avait déjà aidé sur ce blog avec &lt;a class="link" href="https://blog.zwindler.fr/2026/02/19/optimisation-webperf-avif-precompression/" &gt;l&amp;rsquo;optimisation des images en AVIF&lt;/a&gt; et &lt;a class="link" href="https://blog.zwindler.fr/2026/02/20/securite-headers-http-observatory-hugo/" &gt;les security headers HTTP&lt;/a&gt;. 🙏&lt;/p&gt;
&lt;p&gt;Le projet compte maintenant &lt;strong&gt;125 solutions&lt;/strong&gt;. Si vous en connaissez d&amp;rsquo;autres, n&amp;rsquo;hésitez pas à &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes/issues" target="_blank" rel="noopener"
&gt;ouvrir une issue&lt;/a&gt; ou une PR (ou juste à me ping, en cas de flemme) !&lt;/p&gt;
&lt;p&gt;👉 &lt;a class="link" href="https://zwindler.github.io/101-ways-to-deploy-kubernetes/" target="_blank" rel="noopener"
&gt;zwindler.github.io/101-ways-to-deploy-kubernetes&lt;/a&gt;&lt;/p&gt;</description></item><item><title>101 façons de déployer Kubernetes : une nouvelle UI pour explorer les 118+ solutions</title><link>https://blog.zwindler.fr/2026/02/09/101-facons-de-deployer-kubernetes-nouvelle-ui/</link><pubDate>Mon, 09 Feb 2026 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2026/02/09/101-facons-de-deployer-kubernetes-nouvelle-ui/</guid><description>&lt;img src="https://blog.zwindler.fr/2026/02/101-kubernetes-ui-screenshot.webp" alt="Featured image of post 101 façons de déployer Kubernetes : une nouvelle UI pour explorer les 118+ solutions" /&gt;&lt;h2 id="de-google-sheet-à-une-vraie-application-web"&gt;De Google Sheet à une vraie application web
&lt;/h2&gt;&lt;p&gt;Vous vous souvenez peut-être de mes précédents articles sur ce projet : d&amp;rsquo;abord un &lt;a class="link" href="https://blog.zwindler.fr/2025/11/02/93-facons-de-deployer-kubernetes/" &gt;simple Google Sheet avec 93 méthodes&lt;/a&gt;, puis un &lt;a class="link" href="https://blog.zwindler.fr/2026/01/04/101-facons-de-deployer-kubernetes-v2/" &gt;dépôt GitHub avec plus de 100 entrées&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je peux présenter la dernière itération de ce projet : &lt;strong&gt;une vraie interface web&lt;/strong&gt; pour explorer toutes ces solutions !&lt;/p&gt;
&lt;p&gt;👉 &lt;a class="link" href="https://zwindler.github.io/101-ways-to-deploy-kubernetes/" target="_blank" rel="noopener"
&gt;101-ways-to-deploy-kubernetes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/02/101-kubernetes-ui-screenshot.avif"
loading="lazy"
alt="Interface web du projet 101 ways to deploy Kubernetes"
&gt;&lt;/p&gt;
&lt;h2 id="pourquoi-une-ui-"&gt;Pourquoi une UI ?
&lt;/h2&gt;&lt;p&gt;Le tableau Markdown sur GitHub, c&amp;rsquo;était déjà mieux que le Google Sheet pour la collaboration, mais à peine. Difficile à parser, difficile de rajouter des colonnes sans que ça devienne trop le bazar (c&amp;rsquo;était déjà le cas, ahah), et surtout, ultra MOCHE.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/01/101-kubernetes-v2-screenshot.avif"
loading="lazy"
alt="Ancien tableau Markdown sur GitHub, difficile à lire"
&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc décidé de transformer tout ça en une interface moderne et intuitive, avec l&amp;rsquo;aide d&amp;rsquo;un LLM.&lt;/p&gt;
&lt;h2 id="stack-technique--astro--tailwind"&gt;Stack technique : Astro + Tailwind
&lt;/h2&gt;&lt;p&gt;Pour ce projet, j&amp;rsquo;ai choisi une stack simple mais efficace :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="link" href="https://astro.build/" target="_blank" rel="noopener"
&gt;Astro&lt;/a&gt;&lt;/strong&gt; : un framework moderne qui génère des sites statiques ultra-rapides&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="link" href="https://tailwindcss.com/" target="_blank" rel="noopener"
&gt;Tailwind CSS&lt;/a&gt;&lt;/strong&gt; : pour un design responsive sans prise de tête&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le résultat ? Un site léger, plutôt rapide, et qui fonctionne aussi bien sur &lt;strong&gt;desktop&lt;/strong&gt; que sur &lt;strong&gt;mobile&lt;/strong&gt; (même si l&amp;rsquo;expérience desktop reste plus confortable vu la quantité de données).&lt;/p&gt;
&lt;h2 id="les-fonctionnalités"&gt;Les fonctionnalités
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Des cartes pour chaque solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Fini le tableau digne d&amp;rsquo;un dev back (non, pire, un ingé kube&amp;hellip;) ! Chaque outil dispose maintenant de sa propre &amp;ldquo;carte&amp;rdquo; animée avec :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le logo du projet&lt;/li&gt;
&lt;li&gt;Le type de licence (OSS ou propriétaire)&lt;/li&gt;
&lt;li&gt;Le nombre d&amp;rsquo;étoiles GitHub&lt;/li&gt;
&lt;li&gt;Des liens directs vers le projet et des ressources tierces (blogs indépendants, REX, tutos&amp;hellip;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/02/101-kubernetes-zoom.avif"
loading="lazy"
alt="Vue détaillée d’une carte de solution Kubernetes avec logo, licence et étoiles GitHub"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Des filtres puissants&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Vous cherchez uniquement des solutions open source ? Des outils pour le développement local ? Des plateformes de management ?&lt;/p&gt;
&lt;p&gt;Les filtres par &lt;strong&gt;catégories&lt;/strong&gt; permettent de naviguer facilement :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Desktop (développement local)&lt;/li&gt;
&lt;li&gt;Managed (offres cloud)&lt;/li&gt;
&lt;li&gt;Self-hosted (automatisation on-premise)&lt;/li&gt;
&lt;li&gt;Infra As Code&lt;/li&gt;
&lt;li&gt;Kubernetes OS (systèmes spécialisés)&lt;/li&gt;
&lt;li&gt;Management Platform&lt;/li&gt;
&lt;li&gt;Kubernetes in Kubernetes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et vous pouvez aussi filtrer par &lt;strong&gt;statut&lt;/strong&gt; (actif, abandonné) ou afficher uniquement les solutions &lt;strong&gt;open source&lt;/strong&gt; ou &lt;strong&gt;production ready&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Une barre de recherche&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Vous savez ce que vous cherchez ? Tapez directement le nom dans la barre de recherche pour trouver la solution en un instant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Des tags pour affiner&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Au-delà des catégories, les tags permettent d&amp;rsquo;identifier rapidement les technologies sous-jacentes (kubeadm, k3s, k0s&amp;hellip;).&lt;/p&gt;
&lt;h2 id="le-saviez-vous--au-moins-18-outils-utilisent-kubeadm-"&gt;Le saviez-vous ? Au moins 18 outils utilisent kubeadm !
&lt;/h2&gt;&lt;p&gt;En compilant toutes ces données, j&amp;rsquo;ai découvert quelque chose de fascinant : &lt;strong&gt;au moins 18 outils&lt;/strong&gt; utilisent &lt;code&gt;kubeadm&lt;/code&gt; comme backend pour déployer Kubernetes ! 🤯&lt;/p&gt;
&lt;p&gt;Et ce n&amp;rsquo;est même pas en comptant les offres managées des cloud providers !&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est typiquement le genre d&amp;rsquo;information qu&amp;rsquo;on peut maintenant visualiser instantanément grâce à cette nouvelle interface.&lt;/p&gt;
&lt;h2 id="un-projet-collaboratif"&gt;Un projet collaboratif
&lt;/h2&gt;&lt;p&gt;Le projet reste &lt;strong&gt;100% open source&lt;/strong&gt; et collaboratif. Les données sont toujours stockées dans le dépôt GitHub, et l&amp;rsquo;UI est générée automatiquement à partir de ces données (j&amp;rsquo;ai même rajouté des previews pour les PRs).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il manque un outil ou un provider ?&lt;/strong&gt; Vous avez repéré un bug ? N&amp;rsquo;hésitez pas à &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes/issues" target="_blank" rel="noopener"
&gt;ouvrir une issue&lt;/a&gt; ou à soumettre une Pull Request !&lt;/p&gt;
&lt;p&gt;Le projet compte maintenant &lt;strong&gt;118 solutions&lt;/strong&gt; (et je sais qu&amp;rsquo;il en manque certainement), avec pour chacune :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Des liens à jour&lt;/li&gt;
&lt;li&gt;Le statut du projet&lt;/li&gt;
&lt;li&gt;Des références externes (tutoriels, retours d&amp;rsquo;expérience&amp;hellip;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="essayez-commentez-partagez"&gt;Essayez, commentez, partagez
&lt;/h2&gt;&lt;p&gt;Rendez-vous sur &lt;a class="link" href="https://zwindler.github.io/101-ways-to-deploy-kubernetes/" target="_blank" rel="noopener"
&gt;zwindler.github.io/101-ways-to-deploy-kubernetes&lt;/a&gt; pour explorer toutes ces solutions !&lt;/p&gt;
&lt;p&gt;OK, c&amp;rsquo;est un infâme &amp;ldquo;call to action&amp;rdquo; comme on en voit sur tous les réseaux sociaux. Soit.&lt;/p&gt;
&lt;p&gt;Cependant, je ne peux pas savoir si c&amp;rsquo;est utile (ou non) si vous ne le faites pas. Je peux le laisser en l&amp;rsquo;état (ça n&amp;rsquo;est pas génant en soit, j&amp;rsquo;ai plein d&amp;rsquo;autres side projects qui n&amp;rsquo;attendent que mon temps libre) ou le faire vivre, si ça vous plait / sert.&lt;/p&gt;
&lt;p&gt;Et si vous trouvez ce projet utile, n&amp;rsquo;hésitez pas à :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Star&lt;/strong&gt; le projet sur &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes" target="_blank" rel="noopener"
&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Partager&lt;/strong&gt; avec vos collègues de la communauté Cloud Native&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contribuer&lt;/strong&gt; en ajoutant des outils manquants ou en corrigeant des erreurs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Merci d&amp;rsquo;avance ! 🙏&lt;/p&gt;</description></item><item><title>101 façons de déployer Kubernetes (v2) : maintenant sur Github avec plus de méthodes, plus de détails, plus de tout</title><link>https://blog.zwindler.fr/2026/01/04/101-facons-de-deployer-kubernetes-v2/</link><pubDate>Sun, 04 Jan 2026 10:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2026/01/04/101-facons-de-deployer-kubernetes-v2/</guid><description>&lt;img src="https://blog.zwindler.fr/2026/01/101-kubernetes-v2-screenshot.webp" alt="Featured image of post 101 façons de déployer Kubernetes (v2) : maintenant sur Github avec plus de méthodes, plus de détails, plus de tout" /&gt;&lt;h2 id="une-nouvelle-version-une-nouvelle-maison"&gt;Une nouvelle version, une nouvelle maison
&lt;/h2&gt;&lt;p&gt;Il y a quelques mois, je vous présentais mon &lt;a class="link" href="https://blog.zwindler.fr/2025/11/02/93-facons-de-deployer-kubernetes/" &gt;tableau recensant 93 façons différentes de déployer Kubernetes&lt;/a&gt;, sur Google Sheets.&lt;/p&gt;
&lt;p&gt;À la suite de la remarque de Ludovic Piot qui aurait aimé contribuer un ou deux outils manquants, j&amp;rsquo;ai pris un peu (beaucoup, en vrai) de temps pendant ces vacances pour &lt;strong&gt;déménager tout ça sur Github&lt;/strong&gt; : &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes" target="_blank" rel="noopener"
&gt;101-ways-to-deploy-kubernetes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/01/101-kubernetes-v2-screenshot2.avif"
loading="lazy"
alt="Capture d’écran du dépôt GitHub 101 ways to deploy Kubernetes v2"
&gt;&lt;/p&gt;
&lt;p&gt;Pourquoi sur un dépôt &lt;code&gt;git&lt;/code&gt; plutôt que sur un Google Sheet comme au début ? Parce que &lt;strong&gt;ça me permet facilement de rendre ce projet vraiment collaboratif&lt;/strong&gt;, notamment via des PRs (et surtout leur validation ou non).&lt;/p&gt;
&lt;p&gt;Google Sheets, c&amp;rsquo;était bien pour commencer, quand c&amp;rsquo;était un outil perso pour m&amp;rsquo;aider à écrire mon livre, mais pour la collaboration, c&amp;rsquo;était pas viable.&lt;/p&gt;
&lt;h2 id="quoi-de-neuf-dans-cette-v2-"&gt;Quoi de neuf dans cette v2 ?
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Contributions facilitées&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le projet dispose maintenant d&amp;rsquo;un &lt;strong&gt;&lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener"
&gt;CONTRIBUTING.md&lt;/a&gt;&lt;/strong&gt; qui explique comment participer.&lt;/p&gt;
&lt;p&gt;Vous connaissez une solution qui n&amp;rsquo;est pas listée ? Vous avez repéré une erreur ? Un lien cassé ? Il vous suffit de faire une Pull Request !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De nombreuses nouvelles méthodes (j&amp;rsquo;ai pas compté mais probablement une douzaine)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le projet est passé de 93 à &lt;strong&gt;plus de 100 méthodes&lt;/strong&gt; ! J&amp;rsquo;ai continué mes explorations et ajouté une douzaine de nouvelles solutions, dont certaines que vous m&amp;rsquo;aviez suggérées.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Informations sur les licences&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai enrichi le tableau avec &lt;strong&gt;des détails sur les licences&lt;/strong&gt; de chaque projet. C&amp;rsquo;est particulièrement important pour identifier d&amp;rsquo;un coup d&amp;rsquo;oeil si un produit est réellement open source ou si c&amp;rsquo;est une solution à licence propriétaire ou commerciale.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/01/101-kubernetes-v2-screenshot.avif"
loading="lazy"
alt="Tableau des méthodes de déploiement Kubernetes avec informations de licence"
&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai eu le débat avec Ludovic justement, qui voulait comprendre pourquoi je n&amp;rsquo;avais pas listé &amp;ldquo;MKE (Mirantis Kubernetes Engine)&amp;rdquo;. Je lui avais répondu à l&amp;rsquo;époque que c&amp;rsquo;était parce que je ne pouvais pas avoir accès à une version d&amp;rsquo;essai en tant que &amp;ldquo;random des Internets&amp;rdquo; sans passer par un commercial, mais l&amp;rsquo;argument n&amp;rsquo;était pas hyper solide.&lt;/p&gt;
&lt;p&gt;Pour trouver une règle &amp;ldquo;unique&amp;rdquo; à indiquer dans le &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener"
&gt;CONTRIBUTING.md&lt;/a&gt;, j&amp;rsquo;ai donc réintégré une partie des solutions que j&amp;rsquo;avais &amp;ldquo;censurées&amp;rdquo;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;While the heart of the cloud native ecosystem is open source, both open source and closed source (proprietary) tools are accepted in this list. What matters is whether the tool helps deploy Kubernetes clusters, not its licensing model.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Nombreuses références externes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai fait un &lt;strong&gt;important travail&lt;/strong&gt; sur la partie &amp;ldquo;références externes&amp;rdquo;. L&amp;rsquo;idée du répo, au delà de juste fournir une liste à la prévert, est de référencer des articles de tiers indiquant &lt;strong&gt;comment&lt;/strong&gt; mettre en place ces solutions et bénéficier des retours d&amp;rsquo;expérience de la communauté.&lt;/p&gt;
&lt;p&gt;Dans l&amp;rsquo;idée de rendre le projet plus international (ça sera tout aussi utile aux anglophones qu&amp;rsquo;aux petits frenchies de ma communauté), j&amp;rsquo;ai récupéré en priorité des liens en anglais, pour le plus de solutions possibles de cette liste. Il en reste encore qui n&amp;rsquo;en ont pas, mais ça progresse.&lt;/p&gt;
&lt;p&gt;Note importante : au-delà de la documentation officielle (qui existe très souvent pour la grande majorité des projets), j&amp;rsquo;ai en priorité voulu recenser :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Des tutoriels de qualité de la communauté&lt;/li&gt;
&lt;li&gt;Des articles de blog détaillés&lt;/li&gt;
&lt;li&gt;Des retours d&amp;rsquo;expérience concrets&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="un-projet-toujours-sous-cc-by-sa-40"&gt;Un projet toujours sous CC BY-SA 4.0
&lt;/h2&gt;&lt;p&gt;Le contenu reste sous licence &lt;a class="link" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr" target="_blank" rel="noopener"
&gt;CC BY-SA 4.0 (Attribution - Share Alike)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cela signifie que vous êtes libre de :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Partager&lt;/strong&gt; : copier et redistribuer le contenu&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adapter&lt;/strong&gt; : remixer, transformer et créer à partir de ce matériel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sous les conditions suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Attribution&lt;/strong&gt; : vous devez créditer le projet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Partage dans les mêmes conditions&lt;/strong&gt; : si vous adaptez le contenu, vous devez le distribuer sous la même licence&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="comment-contribuer-"&gt;Comment contribuer ?
&lt;/h2&gt;&lt;p&gt;C&amp;rsquo;est simple :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Forkez le dépôt &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes" target="_blank" rel="noopener"
&gt;101-ways-to-deploy-kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ajoutez ou modifiez le contenu (en suivant le format du tableau)&lt;/li&gt;
&lt;li&gt;Soumettez une Pull Request&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Lisez le &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener"
&gt;CONTRIBUTING.md&lt;/a&gt; pour plus de détails sur le processus et les bonnes pratiques.&lt;/p&gt;
&lt;p&gt;Toutes les contributions sont les bienvenues : nouvelles entrées, corrections, enrichissements, suggestions&amp;hellip;&lt;/p&gt;
&lt;h2 id="et-la-suite-"&gt;Et la suite ?
&lt;/h2&gt;&lt;p&gt;Le projet va continuer à évoluer au fil des découvertes et de vos contributions.&lt;/p&gt;
&lt;p&gt;Je continue aussi à explorer de nouvelles solutions et à enrichir les informations existantes. Et qui sait, peut-être qu&amp;rsquo;on dépassera les 150 méthodes d&amp;rsquo;ici la fin de l&amp;rsquo;année ? 😄&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est le moment où je fais mon influenceur et que je vous demande de ne pas hésiter à :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Star&lt;/strong&gt; le projet sur Github si vous le trouvez utile ⭐⭐⭐&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contribuer&lt;/strong&gt; en ajoutant vos découvertes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Partager&lt;/strong&gt; autour de vous si vous le trouvez utile&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Rendez-vous sur &lt;a class="link" href="https://github.com/zwindler/101-ways-to-deploy-kubernetes" target="_blank" rel="noopener"
&gt;github.com/zwindler/101-ways-to-deploy-kubernetes&lt;/a&gt; !&lt;/p&gt;</description></item><item><title>93 façons de déployer Kubernetes : j'ai recensé (presque) toutes les méthodes existantes</title><link>https://blog.zwindler.fr/2025/11/02/93-facons-de-deployer-kubernetes/</link><pubDate>Sun, 02 Nov 2025 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2025/11/02/93-facons-de-deployer-kubernetes/</guid><description>&lt;img src="https://blog.zwindler.fr/2025/11/93-kubernetes-screenshot.webp" alt="Featured image of post 93 façons de déployer Kubernetes : j'ai recensé (presque) toutes les méthodes existantes" /&gt;&lt;h2 id="un-projet-documentaire-un-peu-fou"&gt;Un projet documentaire un peu fou
&lt;/h2&gt;&lt;p&gt;Quand j&amp;rsquo;ai commencé à écrire mon livre &lt;a class="link" href="https://www.editions-eyrolles.com/livre/kubernetes" target="_blank" rel="noopener"
&gt;&amp;ldquo;Kubernetes : 50 solutions pour les postes de développement et les clusters de production&amp;rdquo;&lt;/a&gt;, je me suis rapidement rendu compte d&amp;rsquo;un problème : &lt;strong&gt;il existe une infinité de façons de déployer Kubernetes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Bon, pas &lt;em&gt;littéralement&lt;/em&gt; une infinité, mais quand même&amp;hellip; beaucoup. Trop ?&lt;/p&gt;
&lt;p&gt;Pour structurer mon livre et choisir quelles solutions j&amp;rsquo;allais couvrir, j&amp;rsquo;ai fait ce que tout bon nerd ferait : &lt;strong&gt;j&amp;rsquo;ai créé un tableau&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Un très grand tableau.&lt;/p&gt;
&lt;p&gt;Un &lt;strong&gt;Google Sheet&lt;/strong&gt; qui recense actuellement &lt;strong&gt;93 méthodes différentes&lt;/strong&gt; pour déployer Kubernetes. Comme je n&amp;rsquo;aime pas &amp;ldquo;gâcher&amp;rdquo;, je le partage avec vous aujourd&amp;rsquo;hui &lt;a class="link" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr" target="_blank" rel="noopener"
&gt;en CC BY-SA 4.0 (Attribution - Share Alike)&lt;/a&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.google.com/spreadsheets/d/1zjOLU8MblsN8VPwUyHNDFbBQ7EihHM2joD2Q9Tv2DiI/edit?usp=sharing" target="_blank" rel="noopener"
&gt;93 façons de déployer Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/93-kubernetes-screenshot.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="que-contient-ce-tableau-"&gt;Que contient ce tableau ?
&lt;/h2&gt;&lt;p&gt;Le tableau est structuré avec plusieurs colonnes pour vous aider à naviguer dans cette jungle :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nom du produit (et éditeur quand c&amp;rsquo;est intéressant)&lt;/li&gt;
&lt;li&gt;URL du produit : j&amp;rsquo;ai essayé de restreindre aux produits open source (ou aux services managés &lt;strong&gt;publics&lt;/strong&gt;) même s&amp;rsquo;il y a quelques exceptions&lt;/li&gt;
&lt;li&gt;Type de solution (j&amp;rsquo;y reviendrai)&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Basé sur&amp;rdquo; : là, c&amp;rsquo;est un truc assez rigolo&amp;hellip; beaucoup de projets sont des surcouches de kubeadm, k3s ou k0s. Tous ne le disent pas ouvertement, et je m&amp;rsquo;en suis rendu compte en les essayant&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et peut-être un peu moins intéressant (peut-être que ça disparaîtra)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Est-ce que j&amp;rsquo;en parle dans mon livre ?&lt;/li&gt;
&lt;li&gt;Est-ce que j&amp;rsquo;en parle sur mon blog ?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="les-différentes-catégories-doutils"&gt;Les différentes catégories d&amp;rsquo;outils
&lt;/h2&gt;&lt;p&gt;Pour structurer d&amp;rsquo;abord ma pensée, et ensuite mon livre, j&amp;rsquo;ai essayé de classer ces méthodes en catégories.&lt;/p&gt;
&lt;p&gt;Certaines sont assez évidentes (une offre managée, on voit tout de suite de quoi il s&amp;rsquo;agit), d&amp;rsquo;autres, un peu plus personnelles (et donc discutables).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kubernetes sur desktop (Local Development)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Les outils pour développer en local sur votre machine. On parle ici des Minikube, kind et autres Docker Desktop&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Infrastructure as Code (IaC)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Les outils qui vous permettent de décrire le déploiement de Kubernetes via du code (opentofu, crossplane, pulumi&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kubernetes in Kubernetes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Parce que pourquoi faire simple quand on peut faire&amp;hellip; recursif ? 🤯. Ca se limite pour l&amp;rsquo;instant à vCluster et k3k.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OS spécialisés&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Des systèmes d&amp;rsquo;exploitation conçus spécifiquement pour faire tourner Kubernetes. Je pense bien sûr à Talos Linux, mais pas que ;-P.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kubernetes managés (les offres cloud clés en main)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pas besoin de faire un dessin, on pense direct à la triplette EKS / AKS / GKE, mais aussi aux solutions françaises (OVHcloud Managed Kubernetes, bientôt Clever Cloud :smirk:)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Plateformes de management de clusters&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Là, c&amp;rsquo;est une catégorie un peu à part, qui vont nous permettre de gérer plein de clusters Kubernetes et même de générer de nouveaux clusters gérés par des clusters&amp;hellip; Souvent des bonnes usines à gaz comme Gardener ou pire Kubermatic Kubernetes Platform. On a quand même des trucs un peu plus funs comme Kamaji.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Outils d&amp;rsquo;automatisation pour self-hosted&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Les solutions qui automatisent le déploiement sur vos propres machines, comme kubeadm, k3s et k0s (la triplette, base d&amp;rsquo;à peu près 50% des autres solutions du marché).&lt;/p&gt;
&lt;h2 id="la-révélation--tout-le-monde-copie-sur-son-voisin"&gt;La révélation : tout le monde copie sur son voisin
&lt;/h2&gt;&lt;p&gt;En remplissant ce tableau, j&amp;rsquo;ai découvert quelque chose de marrant : &lt;strong&gt;une grande majorité des outils ne réinventent pas la roue&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Beaucoup de projets sont en fait des &lt;strong&gt;surcouches&lt;/strong&gt; ou des &lt;strong&gt;wrappers&lt;/strong&gt; autour de trois solutions de base que je cite juste avant (kubeadm, k3s et k0s). Et parfois, on a &lt;strong&gt;aussi&lt;/strong&gt; des surcouches de solutions un peu plus confidentielles.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;info n&amp;rsquo;est pas toujours disponible, j&amp;rsquo;ai parfois découvert ça au détour d&amp;rsquo;un blogpost, ou même en allant fouiller les entrailles de la solution.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est typiquement le genre de colonne intéressante pour bien se rendre compte qu&amp;rsquo;au delà de l&amp;rsquo;apparente diversité de ces solutions de déploiement, il y a en fait un gros standard et quelques variations.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;espère réussir à dénicher plus d&amp;rsquo;indices similaires pour remplir encore un peu plus cette colonne :).&lt;/p&gt;
&lt;h2 id="un-document-vivant"&gt;Un document vivant
&lt;/h2&gt;&lt;p&gt;Ce tableau n&amp;rsquo;est pas figé. Le nombre d&amp;rsquo;outils évolue régulièrement (j&amp;rsquo;en découvre de nouveaux presque chaque semaine).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Si vous connaissez une méthode qui n&amp;rsquo;est pas listée&lt;/strong&gt;, n&amp;rsquo;hésitez pas à commenter sur les réseaux.&lt;/p&gt;
&lt;p&gt;Note : je rappelle que je vise en priorité les solutions &lt;strong&gt;open source&lt;/strong&gt; ou services managés &lt;strong&gt;publics&lt;/strong&gt; (je viens de virer Mirantis Kubernetes Engine pour cette raison).&lt;/p&gt;
&lt;h2 id="et-sinon-il-me-reste-quoi-à-tester-"&gt;Et sinon, il me reste quoi à tester ?
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;ai déjà teasé sur les réseaux sociaux fréquentables, dans la liste des trucs que je n&amp;rsquo;ai pas encore testé mais qui pourraient me motiver, il y a :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kamaji.clastix.io" target="_blank" rel="noopener"
&gt;kamaji&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/portainer/kubesolo" target="_blank" rel="noopener"
&gt;kubesolo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/kubeclipper/kubeclipper" target="_blank" rel="noopener"
&gt;kubeclipper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://tarook.cloud/en" target="_blank" rel="noopener"
&gt;tarook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Marp : présentations rapides et jolies avec Markdown</title><link>https://blog.zwindler.fr/2021/09/13/marp-presentations-rapides-et-jolies-avec-markdown/</link><pubDate>Mon, 13 Sep 2021 06:05:00 +0000</pubDate><guid>https://blog.zwindler.fr/2021/09/13/marp-presentations-rapides-et-jolies-avec-markdown/</guid><description>&lt;img src="https://blog.zwindler.fr/2021/09/marp-logo.webp" alt="Featured image of post Marp : présentations rapides et jolies avec Markdown" /&gt;&lt;h2 id="jai-remplacé-powerpoint-par-marp-en-2019"&gt;J’ai remplacé Powerpoint par Marp en 2019
&lt;/h2&gt;&lt;p&gt;Pendant des années, j’ai rédigé mes présentations professionnelles avec Powerpoint. J’étais un utilisateur correct de la suite Office en général (pas un roxxor, mais à l’aise).&lt;/p&gt;
&lt;p&gt;Et là, c’est le drame, j’ai (enfin !) pu passer sous Linux sur ma machine pro. Ma vie est devenue tellement plus simple pour toutes mes tâches quotidiennes&amp;hellip; SAUF&amp;hellip; la rédaction de présentations.&lt;/p&gt;
&lt;p&gt;J’ai vraiment pesté en passant à Libre Office. Je ne vais pas tacler ce dernier, beaucoup de la difficulté réside dans les formats ultras verrouillés de MS et le reverse engineering doit être horriblement complexe. J’ai donc commencé à chercher des alternatives.&lt;/p&gt;
&lt;h2 id="its-time-to-duel"&gt;It’s time to Duel&amp;hellip;
&lt;/h2&gt;&lt;p&gt;J’ai donc demandé à mes petits collègues et copains speakers autour de moi ce qu’ils utilisaient comme moteur pour leurs présentations.&lt;/p&gt;
&lt;p&gt;Grosso modo, les nerds m’ont répondu qu’ils n’avaient jamais quitté &lt;a class="link" href="https://fr.wikipedia.org/wiki/LaTeX" target="_blank" rel="noopener"
&gt;LaTeX&lt;/a&gt; et que pour les présentations ils utilisaient simplement &lt;a class="link" href="https://fr.wikipedia.org/wiki/Beamer" target="_blank" rel="noopener"
&gt;Beamer&lt;/a&gt;, et les autres m’ont répondu &lt;a class="link" href="https://asciidoctor.org/" target="_blank" rel="noopener"
&gt;Ascii doctor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour la première, c’est une bonne alternative si vous n’êtes pas allergiques à la syntaxe de LaTeX (c’est mon cas). D’autant plus qu’on avait pas à l’époque d’aperçu en temps réel du code LaTeX (je ne sais pas si c’est toujours le cas) et qu’un néophyte passe beaucoup de temps à juste corriger les erreurs de syntaxe et de mise en page&amp;hellip;&lt;/p&gt;
&lt;p&gt;La seconde alternative est intéressante aussi. La syntaxe est plus digeste (je trouve) que LaTeX, il existe des éditeurs de texte capable de montrer un aperçu en temps réel du rendu final, et les formats d’export natifs incluent HTML 5, les manpages, les PDFs et ebooks,&amp;hellip; bref, à peu près tout type de format récent qui peuvent intéresser un ingénieur en informatique qui partage quotidiennement sa connaissance. Sauf que la syntaxe d’AsciiDoctor est proche de celle de &lt;a class="link" href="https://fr.wikipedia.org/wiki/Markdown" target="_blank" rel="noopener"
&gt;Markdown&lt;/a&gt; (au moins dans la philosophie) et pour avoir jonglé quelque temps entre les deux, il est facile de se prendre les pieds dans le tapis.&lt;/p&gt;
&lt;p&gt;Or, j’utilisais déjà Markdown pour la rédaction de documentations de projets hébergés sur gitlab et accessoirement, pour rédiger une partie des articles de ce blog. Pour éviter mon auto-confusion et capitaliser sur mon habitude de Markdown, j’ai donc cherché une alternative à AsciiDoctor pour les présentations, mais en Markdown !&lt;/p&gt;
&lt;h2 id="entre-alors-marp"&gt;Entre alors Marp
&lt;/h2&gt;&lt;p&gt;Heureusement pour moi, j’ai trouvé très rapidement l’outil que je cherchais, et il s’appelle Marp. Pour être parfaitement précis, &lt;a class="link" href="https://marp.app/#get-started" target="_blank" rel="noopener"
&gt;Marp&lt;/a&gt; est une collection d’outils open source (Marpit, Marp Core, Marp CLI, Marp for VSCode).&lt;/p&gt;
&lt;p&gt;Ce que vous avez besoin de retenir c’est qu’en tant qu’utilisateur, vous n’aurez besoin que de &lt;a class="link" href="https://github.com/marp-team/marp-cli" target="_blank" rel="noopener"
&gt;Marp CLI&lt;/a&gt; si vous voulez générer vos decks de slides en ligne de commande. Un des gros intérêts de la CLI par rapport à une interface graphique est qu’elle va vous permettre d’automatiser la génération de vos decks de slide très facilement.&lt;/p&gt;
&lt;p&gt;D’ailleurs, si ça vous intéresse, il se retrouve que Rémi Verchère a fait un article là-dessus il y a très peu de temps sur le compte Medium de &lt;a class="link" href="https://medium.com/linkbynet/making-slides-from-anywhere-for-anyone-using-marp-gitlab-pages-and-gitpod-35001daf1c93" target="_blank" rel="noopener"
&gt;LinkByNet : Making slides from anywhere for anyone using Marp, GitLab Pages and Gitpod&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si en revanche vous préférez rédiger comme moi dans votre éditeur de texte et voir en live le support prendre forme, il existe donc aussi une extension &lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode" target="_blank" rel="noopener"
&gt;VSCode pour Marp&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/09/marp_extension.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="comment-ça-marche-"&gt;Comment ça marche ?
&lt;/h2&gt;&lt;p&gt;Grosso modo, Marp vient étendre le Markdown classique pour y ajouter :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La commande &lt;strong&gt;&lt;em&gt;marp: true&lt;/em&gt;&lt;/strong&gt; pour indiquer qu’il s’agit d’un document Marp et pas Markdown et une balise &lt;code&gt;---&lt;/code&gt; pour indiquer les nouvelles slides&lt;/li&gt;
&lt;li&gt;des styles de slides et des thèmes customizables en CSS&lt;/li&gt;
&lt;li&gt;un logiciel pour transformer le code Markdown en PDF ou HTML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si vous êtes déjà à l’aise avec Markdown, vous remarquez donc que la prise en main est extrêmement simple. Finalement, si vous avez déjà un document Markdown, vous pouvez juste le transformer en présentation en ajoutant régulièrement des &lt;code&gt;---&lt;/code&gt; entre les paragraphes (j’exagère, mais vous voyez l’idée).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/09/preview_marp.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Et ce que j’apprécie particulièrement avec la preview Markdown, c’est qu’on a un visuel en temps réel de notre future documentation/présentation à partir de notre code.&lt;/p&gt;
&lt;h2 id="les-styles"&gt;Les styles
&lt;/h2&gt;&lt;p&gt;Out of the box, Marp propose 3 thèmes, qu’il est possible d’inverser (clair/sombre). La documentation sur ces thèmes &lt;a class="link" href="https://github.com/marp-team/marp-core/tree/main/themes" target="_blank" rel="noopener"
&gt;est disponible ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En début de document, on indique qu’il ne s’agit pas d’un simple fichier Markdown, mais d’une présentation Marp de la façon suivante :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;---
marp: true
theme: gaia
markdown.marp.enableHtml: true
paginate: true
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dans cet exemple, j’ai donc utilisé le thème Gaia, autorisé l’injection de HTML « perso » au milieu du code Markdown (on en reparlera) et ajouté le petit chiffre en fin de chaque slide avec « paginate: true ».&lt;/p&gt;
&lt;p&gt;Bon&amp;hellip; par défaut, c’est assez vite limité et pas super joli&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/09/marp_default_theme.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;J’ai tout de suite voulu trouver d’autres thèmes (je n’en ai pas trouvé) et la documentation pour créer son propre thème est assez obscure.&lt;/p&gt;
&lt;p&gt;Donc j’ai voulu customiser le mien, mais là aussi, la partie documentation sur la customisation/modification de thèmes existants est un peu légère, surtout si vous avez tout oublié en CSS comme moi.&lt;/p&gt;
&lt;p&gt;Note: La documentation peu claire, c’est quasiment le seul reproche que je fais au projet Marp, tant j’en suis content. D’ailleurs, les développeurs de Marp travaillent à refaire la doc.&lt;/p&gt;
&lt;p&gt;Grosso modo, la partie thème est gérée dans la partie « framework Marpit » (donc la partie la plus bas niveau du projet Marp). Vous trouverez ici la partie « customisation » via CSS &lt;a class="link" href="https://marpit.marp.app/theme-css?id=tweak-style-through-markdown" target="_blank" rel="noopener"
&gt;Theme CSS (marp.app)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="ma-personnalisation-à-moi"&gt;Ma personnalisation à moi
&lt;/h2&gt;&lt;p&gt;Je ne vais donc pas vous cacher mes petits secrets de speaker, je me suis donc fait un thème « par défaut » que j’utilise pour toutes mes conférences en tant que speaker et mes présentations internes (quand elles n’ont pas « besoin » du thème corporate).&lt;/p&gt;
&lt;p&gt;En tout début de chaque deck, avant la première slide et après la partie Marp pure, j’ajoute ceci :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;style&amp;gt;
section {
background-color: #fefefe;
color: #333;
}
img[alt~=&amp;#34;center&amp;#34;] {
display: block;
margin: 0 auto;
}
blockquote {
background: #ffedcc;
border-left: 10px solid #d1bf9d;
margin: 1.5em 10px;
padding: 0.5em 10px;
}
blockquote:before{
content: unset;
}
blockquote:after{
content: unset;
}
&amp;lt;/style&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Le premier bloc change la couleur du fond des slides.&lt;/li&gt;
&lt;li&gt;Le second me permet d’ajouter un paramètre « center » dans les images en Markdown pour la centrer (souvent très pratique quand on fait un peu de mise en page pour faire joli).&lt;/li&gt;
&lt;li&gt;Les derniers me permettent de customiser l’apparence des blocs de « quotes ».&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ajouter-des-vidéos-du-js-etc"&gt;Ajouter des vidéos, du JS, etc
&lt;/h2&gt;&lt;p&gt;Si vous avez tout bien lu, vous vous souvenez peut-être que j’ai dit qu’on allait ajouter une option &lt;strong&gt;&lt;em&gt;markdown.marp.enableHtml: true&lt;/em&gt;&lt;/strong&gt; dans en début de fichier.&lt;/p&gt;
&lt;p&gt;Ça va nous permettre de rajouter des bidouilles en HTML pour étendre un peu le Markdown et réaliser les 2-3% qui ne sont pas couverts par le langage.&lt;/p&gt;
&lt;p&gt;Je l’utilise notamment de temps en temps pour rajouter un sauf de ligne pour faciliter la lecture, mais aussi lorsque j’ai besoin d’intégrer une vidéo dans un support.&lt;/p&gt;
&lt;p&gt;Dans ce cas-là, j’ajoute la balise HTML suivante :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;div id=video&amp;gt;&amp;lt;video controls=&amp;#34;controls&amp;#34; width=&amp;#34;800&amp;#34; src=&amp;#34;binaries/microsoft_dance.mp4&amp;#34;&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/09/video_marp.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="un-exemple"&gt;Un exemple
&lt;/h2&gt;&lt;p&gt;Je ne vais pas continuer plus longtemps la liste des features de Marp, mais si vous voulez un exemple, j’ai mis à disposition le code Markdown ma conférence « Ciel ! Mon Kubernetes mine des Bitcoins ! »&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/zwindler/cloudnord-2021-ciel-mon-kube-mine-bitcoins" target="_blank" rel="noopener"
&gt;Le dépôt git avec le code Markdown et les binaires&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/talks/2022-ciel-kubernetes-mine-bitcoins/index.html" &gt;Le support généré en HTML5 par Marp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have fun !&lt;/p&gt;</description></item></channel></rss>