<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Julien Wittouck</title><link>https://codeka.io/</link><description>Recent content on Julien Wittouck</description><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Sat, 20 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://codeka.io/index.xml" rel="self" type="application/rss+xml"/><item><title>J'ai passé la certif Scaleway Foundations</title><link>https://codeka.io/2026/03/06/scaleway-foundations/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://codeka.io/2026/03/06/scaleway-foundations/</guid><description>&lt;p&gt;Cela faisait quelque temps que je voulais investir sur les offres de Cloud souveraines.
Je connaissais déjà pas trop mal l&amp;rsquo;écosystème &lt;em&gt;Scaleway&lt;/em&gt;, pour l&amp;rsquo;avoir pratiqué avec quelques clients, et pour m&amp;rsquo;en servir sur des projets perso et avec mes étudiants en TP.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc décidé de m&amp;rsquo;y mettre sérieusement, et d&amp;rsquo;entamer le parcours de certification sur &lt;em&gt;Scaleway&lt;/em&gt; sur les prochaines semaines.&lt;/p&gt;
&lt;h2 id="le-programme-de-certification-scaleway"&gt;Le programme de certification Scaleway&lt;/h2&gt;
&lt;p&gt;Scaleway propose depuis peu (un an je crois) un programme de certification.
Ce programme est constitué pour l&amp;rsquo;instant de quatre certifications différentes :&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin février 2026</title><link>https://codeka.io/2026/02/27/la-veille-de-wittouck-fin-f%C3%A9vrier-2026/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://codeka.io/2026/02/27/la-veille-de-wittouck-fin-f%C3%A9vrier-2026/</guid><description>&lt;p&gt;Février a été un mois un peu chargé, avec mon premier &lt;a href="https://codeka.io/2026/02/18/touraine-tech-2026-voyage-au-pays-de-la-rillette/"&gt;Touraine Tech&lt;/a&gt;, et un gros travail de &lt;a href="https://codeka.io/2026/02/20/optimiser-les-perfs-et-la-s%C3%A9curit%C3%A9-dun-site-hugo/"&gt;refonte sur ce site au niveau des perfs&lt;/a&gt;.
Avec tout ça, j&amp;rsquo;avais un peu mis de côté la veille de Wittouck de mi-février, par manque de temps.
On repart donc avec un résumé du mois de février, plusieurs sujets autour de l&amp;rsquo;IA (dont des coups de gueule), et des réflexions autour de la souveraineté numérique.&lt;/p&gt;</description></item><item><title>Optimiser les perfs et la sécurité d'un site Hugo</title><link>https://codeka.io/2026/02/20/optimiser-les-perfs-et-la-s%C3%A9curit%C3%A9-dun-site-hugo/</link><pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate><guid>https://codeka.io/2026/02/20/optimiser-les-perfs-et-la-s%C3%A9curit%C3%A9-dun-site-hugo/</guid><description>&lt;p&gt;Sur les bons conseils du pote &lt;a href="https://blog.slashgear.dev/"&gt;Antoine Caron&lt;/a&gt;, j&amp;rsquo;ai pris le temps cette semaine d&amp;rsquo;optimiser un peu mon site.&lt;/p&gt;
&lt;p&gt;Ce site que vous êtes en train de lire est un site statique, buildé avec Hugo.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;avais déjà un peu travaillé la compression des différentes ressources, principalement les illustrations, mais je m&amp;rsquo;étais arrêté à ça.
Dans cet article, je détaille comment j&amp;rsquo;ai optimisé le build de ce site, pour minimiser les temps de chargement, et comment j&amp;rsquo;ai amélioré sa sécurité en suivant les bonnes pratiques poussées par MDN.&lt;/p&gt;</description></item><item><title>Touraine Tech 2026 - Voyage au pays de la rillette</title><link>https://codeka.io/2026/02/18/touraine-tech-2026-voyage-au-pays-de-la-rillette/</link><pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate><guid>https://codeka.io/2026/02/18/touraine-tech-2026-voyage-au-pays-de-la-rillette/</guid><description>&lt;p&gt;Dans ma tournée des conférences tech de France pour jouer à Factorio, je suis passé par Touraine Tech, la semaine dernière.
Comme toujours, c&amp;rsquo;est l&amp;rsquo;occasion de faire de nouvelles rencontres et de croiser les autres speakeuses et speakers.&lt;/p&gt;
&lt;p&gt;Voici donc le récap de ma visite à Touraine Tech, pour cette 8ᵉ édition, mais la première pour moi.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin janvier 2026</title><link>https://codeka.io/2026/01/30/la-veille-de-wittouck-fin-janvier-2026/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://codeka.io/2026/01/30/la-veille-de-wittouck-fin-janvier-2026/</guid><description>&lt;p&gt;Janvier est passé à toute vitesse.
En cette fin de mois, j&amp;rsquo;ai consulté pas mal de vidéos intéressantes que je voulais partager.&lt;/p&gt;
&lt;p&gt;Je me pose aussi pas mal de questions quant à la mise à disposition du contenu de ce site ou pas aux IA Gens, donc je me renseigne pas mal sur ce qui est fait par d&amp;rsquo;autres bloggers.
Après tout, j&amp;rsquo;écris ce blog pour partager mes connaissances avec d&amp;rsquo;autres humains, et pas pour alimenter les IA Gens qui recracheraient mon contenu sans me l&amp;rsquo;attribuer, ou pire, en le déformant.&lt;/p&gt;
&lt;p&gt;La veille de Wittouck de fin janvier se concentre donc un peu sur ces thèmes.&lt;/p&gt;</description></item><item><title>Pop!_OS 24.04, une expérience COSMIC</title><link>https://codeka.io/2026/01/20/pop_os-24.04-une-exp%C3%A9rience-cosmic/</link><pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate><guid>https://codeka.io/2026/01/20/pop_os-24.04-une-exp%C3%A9rience-cosmic/</guid><description>&lt;p&gt;J&amp;rsquo;utilise la distribution Linux &lt;strong&gt;Pop!_OS&lt;/strong&gt; depuis presque cinq ans.
J&amp;rsquo;ai toujours apprécié leur démarche autour de l&amp;rsquo;auto-tiling, qui est une fonctionnalité qui manque cruellement à GNOME (bien que des plugins existent).&lt;/p&gt;
&lt;p&gt;Après quelques mois passés sous Manjaro Linux, et des galères liées à des montées de version hasardeuses qui ont plusieurs fois cassé mon système, et avec la sortie récente de Pop!_OS 24.04, il était temps pour moi de revenir sur cette distribution pour me faire un avis sur l&amp;rsquo;environnement très attendu : COSMIC.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Début janvier 2026</title><link>https://codeka.io/2026/01/16/la-veille-de-wittouck-d%C3%A9but-janvier-2026/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><guid>https://codeka.io/2026/01/16/la-veille-de-wittouck-d%C3%A9but-janvier-2026/</guid><description>&lt;p&gt;Après des vacances bien méritées, &lt;a href="https://codeka.io/series/la-veille-de-wittouck/"&gt;la Veille de Wittouck&lt;/a&gt; est de retour avec la même formule : mon analyse rapide des articles, vidéos ou podcasts qui m&amp;rsquo;ont intéressés sur les deux dernières semaines.
Je ferai également un feedback de mes participations aux différentes conférences de l&amp;rsquo;année en &lt;em&gt;éditions spéciales&lt;/em&gt;, comme je l&amp;rsquo;ai fait en 2025.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin décembre 2025</title><link>https://codeka.io/2025/12/31/la-veille-de-wittouck-fin-d%C3%A9cembre-2025/</link><pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/12/31/la-veille-de-wittouck-fin-d%C3%A9cembre-2025/</guid><description>&lt;p&gt;Pour la dernière édition de l&amp;rsquo;année de &amp;ldquo;la Veille de Wittouck&amp;rdquo;, pas mal d&amp;rsquo;articles intéressants qui m&amp;rsquo;ont donné envie d&amp;rsquo;expérimenter.
J&amp;rsquo;ai déjà pas mal bidouillé Spring Boot 4 avec Open Rewrite et j&amp;rsquo;ai deux articles en cours de rédaction, sur Kubernetes 1.35 et le redimensionnement des ressources d&amp;rsquo;un pod à chaud, et un sur Pop!_OS @24.04 avec COSMIC.&lt;/p&gt;</description></item><item><title>Adieu `direnv`, Bonjour `mise`</title><link>https://codeka.io/2025/12/19/adieu-direnv-bonjour-mise/</link><pubDate>Fri, 19 Dec 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/12/19/adieu-direnv-bonjour-mise/</guid><description>&lt;p&gt;J&amp;rsquo;ai découvert &lt;code&gt;mise&lt;/code&gt; dans le &lt;a href="https://sieg.fr/ied/avent-2025/04-mise/"&gt;calendrier de l&amp;rsquo;avent de Siegfried Ehret&lt;/a&gt;, avec une approche autour de l&amp;rsquo;outillage de dev.&lt;/p&gt;
&lt;p&gt;Étant utilisateur de &lt;code&gt;direnv&lt;/code&gt; depuis plusieurs années, je suis habitué à travailler dans mon shell.
&lt;code&gt;direnv&lt;/code&gt; souffre par contre de plusieurs défauts : il ne peut pas gérer d&amp;rsquo;alias et se configure uniquement avec du scripting.
J&amp;rsquo;ai donc tout un tas de scripts shells qui traînent sur mes machines, plus ou moins adaptées aux package-managers &lt;code&gt;apt&lt;/code&gt; et &lt;code&gt;pacman&lt;/code&gt;, qui s&amp;rsquo;intègrent avec &lt;code&gt;direnv&lt;/code&gt;. J&amp;rsquo;avais d&amp;rsquo;ailleurs écrit un &lt;a href="https://codeka.io/2022/06/17/direnv-pour-votre-shell"&gt;article sur mon usage de &lt;code&gt;direnv&lt;/code&gt;&lt;/a&gt; en 2022.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, j&amp;rsquo;ai donc décidé de tester l&amp;rsquo;outil &lt;code&gt;mise&lt;/code&gt;, pour voir dans quelle mesure cet outil peut venir enrichir mon workflow de dev, ou (pourquoi pas) remplacer &lt;code&gt;direnv&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Début décembre 2025</title><link>https://codeka.io/2025/12/12/la-veille-de-wittouck-d%C3%A9but-d%C3%A9cembre-2025/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/12/12/la-veille-de-wittouck-d%C3%A9but-d%C3%A9cembre-2025/</guid><description>&lt;p&gt;Les vacances approchent, et la veille de Wittouck continue.
Plusieurs vidéos et podcasts intéressants en ce début de mois, l&amp;rsquo;interview de Kelsey Hightower est à ne pas manquer.&lt;/p&gt;</description></item><item><title>Montée de version Spring Boot 4 avec OpenRewrite</title><link>https://codeka.io/2025/12/12/mont%C3%A9e-de-version-spring-boot-4-avec-openrewrite/v1/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/12/12/mont%C3%A9e-de-version-spring-boot-4-avec-openrewrite/v1/</guid><description>&lt;p&gt;Un des projets que je maintiens activement est &lt;a href="https://codeka.io/projects/gitlab-classrooms/"&gt;GitLab Classrooms&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le code de ce projet est écrit en Spring Boot 3 et Java 25.
Avec la sortie récente de Spring Boot 4, je voulais faire la montée de version de ce projet rapidement.&lt;/p&gt;
&lt;p&gt;Pour ça, j&amp;rsquo;ai donc deux possibilités : soit je fais la montée de version à la main, soit j&amp;rsquo;utilise un outil pour le faire automatiquement.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;en ai donc profité pour tester OpenRewrite.&lt;/p&gt;</description></item><item><title>Montée de version Spring Boot 4 avec OpenRewrite</title><link>https://codeka.io/2025/12/12/mont%C3%A9e-de-version-spring-boot-4-avec-openrewrite/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/12/12/mont%C3%A9e-de-version-spring-boot-4-avec-openrewrite/</guid><description>&lt;p&gt;Un des projets que je maintiens activement est &lt;a href="https://codeka.io/projects/gitlab-classrooms/"&gt;GitLab Classrooms&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le code de ce projet est écrit en Spring Boot 3 et Java 25.
Avec la sortie récente de Spring Boot 4, je voulais faire la montée de version de ce projet rapidement.&lt;/p&gt;
&lt;p&gt;Pour ça, j&amp;rsquo;ai donc deux possibilités : soit je fais la montée de version à la main, soit j&amp;rsquo;utilise un outil pour le faire automatiquement.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;en ai donc profité pour tester OpenRewrite.&lt;/p&gt;</description></item><item><title>now (Decembre 2025)</title><link>https://codeka.io/now/archive/december-2025/</link><pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/now/archive/december-2025/</guid><description>&lt;blockquote&gt;
 &lt;p&gt;Ce que je fais en ce moment, inspiré par &lt;a href="https://nownownow.com/about"&gt;nownownow.com&lt;/a&gt;&lt;/p&gt;

&lt;/blockquote&gt;


&lt;h2 id="travail"&gt;Travail&lt;/h2&gt;
&lt;p&gt;Je suis en mission chez Électro Dépôt depuis juillet 2024. Je travaille en particulier sur la refonte du système d&amp;rsquo;encaissement, et sur l&amp;rsquo;intégration des applications qui gravitent autour.&lt;/p&gt;
&lt;p&gt;On approche aussi de la fin du semestre universitaire à l&amp;rsquo;Université de Lille, il me reste quelques séances de cours avant les vacances pour mon cours d&amp;rsquo;&lt;a href="https://gitlab.univ-lille.fr/alom-2025"&gt;ALOM&lt;/a&gt; (Architecture Logicielle Orientée Microservices). Mon cours de &lt;a href="https://gitlab.univ-lille.fr/sra1-2025"&gt;SRA-1&lt;/a&gt; s&amp;rsquo;est terminé mi-octobre.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin novembre 2025</title><link>https://codeka.io/2025/12/02/la-veille-de-wittouck-fin-novembre-2025/</link><pubDate>Tue, 02 Dec 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/12/02/la-veille-de-wittouck-fin-novembre-2025/</guid><description>&lt;p&gt;L&amp;rsquo;hiver approche et la saison des conférences se termine tranquillement.
Avant de pouvoir ouvrir les premières case de son calendrier de l&amp;rsquo;avent, on lit &amp;ldquo;La veille de Wittouck&amp;rdquo; pour savoir ce j&amp;rsquo;ai trouvé intéressant en cette fin novembre.&lt;/p&gt;</description></item><item><title>J'étais au 1er DevFest Lyon</title><link>https://codeka.io/2025/11/29/j%C3%A9tais-au-1er-devfest-lyon/</link><pubDate>Sat, 29 Nov 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/11/29/j%C3%A9tais-au-1er-devfest-lyon/</guid><description>&lt;p&gt;Cette semaine, j&amp;rsquo;étais sur Lyon pour assister à la première édition du DevFest de Lyon et y donner la 3ème session de mon talk &amp;ldquo;&lt;a href="https://codeka.io/talks/talk-lets-play-factorio/"&gt;Let&amp;rsquo;s play Factorio&lt;/a&gt;&amp;rdquo; (on ne m&amp;rsquo;arrête plus 😅).&lt;/p&gt;
&lt;p&gt;Et c&amp;rsquo;était bien chouette.&lt;/p&gt;</description></item><item><title>Kubernetes : 50 solutions pour les postes de dev et les clusters de prod</title><link>https://codeka.io/2025/11/22/kubernetes-50-solutions-pour-les-postes-de-dev-et-les-clusters-de-prod/</link><pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/11/22/kubernetes-50-solutions-pour-les-postes-de-dev-et-les-clusters-de-prod/</guid><description>&lt;p&gt;Il y a quelques semaines, Denis Germain (aka &lt;a href="https://blog.zwindler.fr/"&gt;Zwindler&lt;/a&gt; sur les internets), m&amp;rsquo;a fait parvenir un exemplaire de son livre fraîchement paru : &lt;a href="https://www.editions-eyrolles.com/livre/kubernetes"&gt;Kubernetes : 50 solutions pour les postes de développement et les clusters de production&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;expertise de Denis sur Kubernetes n&amp;rsquo;est plus à prouver, c&amp;rsquo;est son sujet de prédilection, et j&amp;rsquo;assiste systématiquement à ses conférences quand j&amp;rsquo;en ai l&amp;rsquo;occasion (fanboy mode 😁).
Je suis content qu&amp;rsquo;il ait proposé de m&amp;rsquo;envoyer un exemplaire de son livre, si tu lis ces lignes Denis, merci 😊&lt;/p&gt;
&lt;p&gt;Je me suis donc plongé dedans cette semaine.&lt;/p&gt;



&lt;blockquote&gt;
 &lt;p&gt;&lt;em&gt;TLDR&lt;/em&gt; : C&amp;rsquo;est un état de l&amp;rsquo;art solide, parfois amusant (on s&amp;rsquo;amuse comme on peut avec &lt;em&gt;Kubernetes&lt;/em&gt;), et c&amp;rsquo;est très bien structuré.&lt;/p&gt;

&lt;/blockquote&gt;</description></item><item><title>La veille de Wittouck - Début novembre 2025</title><link>https://codeka.io/2025/11/14/la-veille-de-wittouck-d%C3%A9but-novembre-2025/</link><pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/11/14/la-veille-de-wittouck-d%C3%A9but-novembre-2025/</guid><description>&lt;p&gt;En cette mi-novembre, la sortie de Spring Boot 4 se profile et la saison des conférences continue.
Voici ma sélection d&amp;rsquo;articles de veille en attendant le prochain DevFest (Lyon le 28 novembre pour moi).&lt;/p&gt;</description></item><item><title>Je suis orga d'un événement tech</title><link>https://codeka.io/2025/11/07/je-suis-orga-dun-%C3%A9v%C3%A9nement-tech/</link><pubDate>Fri, 07 Nov 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/11/07/je-suis-orga-dun-%C3%A9v%C3%A9nement-tech/</guid><description>&lt;p&gt;Le 23 octobre dernier, c&amp;rsquo;était la 6ème édition de &lt;a href="https://cloudnord.fr"&gt;Cloud Nord&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je suis un fidèle de cette conférence depuis longtemps. J&amp;rsquo;avais loupé la première édition qui avait eu lieu pendant le confinement en visio, mais j&amp;rsquo;y ai assisté dès la deuxième édition. J&amp;rsquo;ai été speaker lors de la 4ème édition, (avec mon talk &lt;a href="https://codeka.io/talks/talk-laissez-tomber-vos-dockerfile-adoptez-un-buildpack/"&gt;&amp;ldquo;Laissez tomber vos Dockerfile, adoptez un buildpack !&amp;rdquo;&lt;/a&gt;) puis depuis l&amp;rsquo;année dernière, j&amp;rsquo;en suis un des organisateurs.&lt;/p&gt;
&lt;p&gt;Ce jeudi 23 octobre 2025, j&amp;rsquo;ai eu l&amp;rsquo;honneur de faire l&amp;rsquo;ouverture de la journée pour accueillir les participants (après une mini-game de Factorio en patientant, on ne se refait pas).&lt;/p&gt;
&lt;p&gt;Ce post raconte principalement les dessous de l&amp;rsquo;organisation de cette conf qui me tient particulièrement à cœur.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin octobre 2025</title><link>https://codeka.io/2025/10/31/la-veille-de-wittouck-fin-octobre-2025/</link><pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/10/31/la-veille-de-wittouck-fin-octobre-2025/</guid><description>&lt;p&gt;Après deux semaines bien chargées, principalement autour de l&amp;rsquo;organisation de &lt;a href="https://cloudnord.fr"&gt;Cloud Nord&lt;/a&gt;, et pour ne pas finir comme une citrouille enfumée, on lit &lt;a href="https://codeka.io/series/la-veille-de-wittouck/"&gt;&amp;ldquo;La veille de Wittouck&amp;rdquo;&lt;/a&gt;, en se gavant de bonbecs (non).&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Édition spéciale - DevFest de Nantes 2025</title><link>https://codeka.io/2025/10/17/la-veille-de-wittouck-%C3%A9dition-sp%C3%A9ciale-devfest-de-nantes-2025/</link><pubDate>Fri, 17 Oct 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/10/17/la-veille-de-wittouck-%C3%A9dition-sp%C3%A9ciale-devfest-de-nantes-2025/</guid><description>&lt;p&gt;Cette semaine, j&amp;rsquo;avais la chance d&amp;rsquo;être au DevFest de Nantes 2025, pour y présenter mon talk &lt;a href="https://codeka.io/talks/talk-lets-play-factorio/"&gt;&amp;ldquo;Let&amp;rsquo;s play Factorio&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;était mon premier DevFest, et c&amp;rsquo;était un réel plaisir de croiser speakers, participants, et orgas. J&amp;rsquo;ai bien profité des deux jours de la conférence, à travers les conférences des autres speakers, les rencontres, et les attentions apportées particulièrement aux speakers.&lt;/p&gt;
&lt;p&gt;Cette édition spéciale de &lt;a href="https://codeka.io/series/la-veille-de-wittouck/"&gt;&amp;ldquo;La veille de Wittouck&amp;rdquo;&lt;/a&gt; liste les différents talks auxquels j&amp;rsquo;ai pu assister, et mon feedback général sur cette conférence très particulière. Comme je l&amp;rsquo;ai fait pour l&amp;rsquo;article consacré à &lt;a href="https://codeka.io/2025/05/30/la-veille-de-wittouck-fin-mai-2025-best-of-devoxx-2025/"&gt;DevOxx 2025&lt;/a&gt;, j&amp;rsquo;amenderai cet article dans quelques semaines pour y mettre les liens des replay vidéos lorsqu&amp;rsquo;ils seront disponibles.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin Septembre 2025</title><link>https://codeka.io/2025/09/26/la-veille-de-wittouck-fin-septembre-2025/</link><pubDate>Fri, 26 Sep 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/09/26/la-veille-de-wittouck-fin-septembre-2025/</guid><description>&lt;p&gt;Enfin ! La version 25 de Java, LTS tant attendue par les fans (moi le premier 😅), est arrivée.
PostgreSQL 18 est également sorti cette semaine, donc &lt;a href="https://codeka.io/series/la-veille-de-wittouck/"&gt;La veille de Wittouck&lt;/a&gt; s&amp;rsquo;attarde particulièrement sur ces deux événements.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Début Septembre 2025</title><link>https://codeka.io/2025/09/12/la-veille-de-wittouck-d%C3%A9but-septembre-2025/</link><pubDate>Fri, 12 Sep 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/09/12/la-veille-de-wittouck-d%C3%A9but-septembre-2025/</guid><description>&lt;p&gt;C&amp;rsquo;est la rentrée de la Veille de Wittouck !&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;espère que vous avez passé une bonne rentrée.
J&amp;rsquo;ai une belle liste de liens à dépiler que j&amp;rsquo;ai accumulé pendant l&amp;rsquo;été.&lt;/p&gt;
&lt;p&gt;Comme pour l&amp;rsquo;année dernière, je vais essayer de garder le rythme d&amp;rsquo;une publication toutes les deux semaines.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai aussi passé une partie de l&amp;rsquo;été à travailler sur l&amp;rsquo;organisation de CloudNord, en particulier sur le CFP.
L&amp;rsquo;agenda est d&amp;rsquo;ailleurs disponible sur &lt;a href="https://cloudnord.fr/schedule/"&gt;cloudnord.fr/schedule&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Bilan saison 2024-2025</title><link>https://codeka.io/2025/08/01/bilan-saison-2024-2025/</link><pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/08/01/bilan-saison-2024-2025/</guid><description>&lt;p&gt;Maintenant que l&amp;rsquo;été est bien avancé, il est intéressant pour moi de faire le bilan de mon année 2024-2025.
C&amp;rsquo;est la première fois que je fais ce genre d&amp;rsquo;exercice. C&amp;rsquo;est l&amp;rsquo;occasion de prendre un peu de recul et de voir si je continue ou pas certaines activités l&amp;rsquo;année prochaine.&lt;/p&gt;
&lt;p&gt;Mine de rien, l&amp;rsquo;année était quand même bien chargée.&lt;/p&gt;</description></item><item><title>Montage d'un clavier mécanique</title><link>https://codeka.io/2025/07/25/montage-dun-clavier-m%C3%A9canique/</link><pubDate>Fri, 25 Jul 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/07/25/montage-dun-clavier-m%C3%A9canique/</guid><description>&lt;p&gt;Ça faisait un moment que j&amp;rsquo;avais envie de tester un clavier &lt;em&gt;split&lt;/em&gt;.
J&amp;rsquo;ai franchi le pas.
Je voulais le monter moi-même, mais ne pas avoir une difficulté trop élevée, ni risquer de cramer un composant en le soudant (mal).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc cherché des revendeurs qui proposent des kits à monter.
C&amp;rsquo;est l&amp;rsquo;assurance pour moi d&amp;rsquo;avoir tous les composants compatibles, sans me tromper, et d&amp;rsquo;avoir aussi le côté personnalisation que je voulais.&lt;/p&gt;</description></item><item><title>Markdown et pandoc</title><link>https://codeka.io/2025/07/18/markdown-et-pandoc/</link><pubDate>Fri, 18 Jul 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/07/18/markdown-et-pandoc/</guid><description>&lt;p&gt;Lors d&amp;rsquo;une discussion concernant l&amp;rsquo;écriture de mon livre, j&amp;rsquo;ai expliqué quels outils j&amp;rsquo;ai utilisé.
Parmi ces outils, j&amp;rsquo;ai eu un usage de &lt;em&gt;pandoc&lt;/em&gt; pour convertir du texte du format markdown en fichier &lt;code&gt;.docx&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour le rendu du manuscrit, mon éditeur m&amp;rsquo;a demandé un rendu au format &lt;code&gt;.docx&lt;/code&gt;, avec la contrainte d&amp;rsquo;un document par chapitre.
Les documents devaient suivre une feuille de style particulière qui était fournie. La feuille de style contenait les styles pour les titres, citations, blocs de code, etc.&lt;/p&gt;</description></item><item><title>Leeloo Dallas Multipass - Répondre aux 5 éléments d'un CFP</title><link>https://codeka.io/2025/07/04/leeloo-dallas-multipass-r%C3%A9pondre-aux-5-%C3%A9l%C3%A9ments-dun-cfp/</link><pubDate>Fri, 04 Jul 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/07/04/leeloo-dallas-multipass-r%C3%A9pondre-aux-5-%C3%A9l%C3%A9ments-dun-cfp/</guid><description>&lt;p&gt;Les conférences sont un lieu important de partage et de veille, y participer en tant que speaker ou assister à des conférences permet d&amp;rsquo;enrichir votre réseau et de partager vos expériences.&lt;/p&gt;
&lt;p&gt;Mais comment devient-on speaker, comment se passe le processus de sélection ?
On m&amp;rsquo;a récemment demandé : « Julien, comment ça marche la réponse à un CFP (&lt;em&gt;Call For Papers&lt;/em&gt;) ? »&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une discussion que j&amp;rsquo;ai déjà eue plusieurs fois avec différentes personnes, j&amp;rsquo;ai donc décidé de regrouper tous les éléments dans cet article, et de vous donner ma vision et mes astuces issues de mes deux expériences, à la fois en tant que speaker à différentes conférences en France, et en tant qu&amp;rsquo;organisateur de la conférence Cloud Nord.
Je vais vous donner mes attentes en tant qu&amp;rsquo;orga et mes astuces en tant que speaker dans le but de vous aider à bien rédiger votre réponse à un CFP et (espérons) être sélectionné.&lt;/p&gt;</description></item><item><title>Déployer des applications statiques sur Clever Cloud</title><link>https://codeka.io/2025/06/05/d%C3%A9ployer-des-applications-statiques-sur-clever-cloud/v1/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/06/05/d%C3%A9ployer-des-applications-statiques-sur-clever-cloud/v1/</guid><description>&lt;p&gt;Il y a quelques jours, je suis tombé sur ce post de David Legrand sur Bluesky :&lt;/p&gt;
&lt;blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:rlpsf5c2y5jkfifwp3klcrzf/app.bsky.feed.post/3lqrqpdld3c2j" data-bluesky-cid="bafyreigxquchzyduo3eyj2cuoyna6dsaqzpmnpp2vittiremc5mlwwtihy" data-bluesky-embed-color-mode="light"&gt;&lt;p lang="en"&gt;🚀 We work on 3 new runtimes on @clever-cloud.com 
 : Linux, Static and... V. Want to test? Let me know! 
&lt;p&gt;Want to know more ? ▶️ github.com/CleverCloud/&amp;hellip;&lt;/p&gt;
&lt;p&gt;😍 Thanks to the teams across Clever Cloud for the mutual efforts to ease how we provide new runtimes to customers!&lt;br&gt;&lt;br&gt;&lt;a href="https://bsky.app/profile/did:plc:rlpsf5c2y5jkfifwp3klcrzf/post/3lqrqpdld3c2j?ref_src=embed"&gt;[image or embed]&lt;/a&gt;&lt;/p&gt;— David Legrand ☁️ 🤘 (&lt;a href="https://bsky.app/profile/did:plc:rlpsf5c2y5jkfifwp3klcrzf?ref_src=embed"&gt;@davlgd.fr&lt;/a&gt;) &lt;a href="https://bsky.app/profile/did:plc:rlpsf5c2y5jkfifwp3klcrzf/post/3lqrqpdld3c2j?ref_src=embed"&gt;June 4, 2025 at 1:55 PM&lt;/a&gt;&lt;/blockquote&gt;&lt;script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc sauté sur l&amp;rsquo;occasion pour demander à tester ce nouveau runtime.&lt;/p&gt;
&lt;p&gt;Cet article présente donc comment &lt;em&gt;ce site&lt;/em&gt;, que vous êtes en train de lire, a été déployé dans ce tout nouveau runtime sur Clever Cloud !&lt;/p&gt;</description></item><item><title>Déployer des applications statiques sur Clever Cloud</title><link>https://codeka.io/2025/06/05/d%C3%A9ployer-des-applications-statiques-sur-clever-cloud/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/06/05/d%C3%A9ployer-des-applications-statiques-sur-clever-cloud/</guid><description>&lt;p&gt;Il y a quelques jours, je suis tombé sur ce post de David Legrand sur Bluesky :&lt;/p&gt;
&lt;blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:rlpsf5c2y5jkfifwp3klcrzf/app.bsky.feed.post/3lqrqpdld3c2j" data-bluesky-cid="bafyreigxquchzyduo3eyj2cuoyna6dsaqzpmnpp2vittiremc5mlwwtihy" data-bluesky-embed-color-mode="light"&gt;&lt;p lang="en"&gt;🚀 We work on 3 new runtimes on @clever-cloud.com 
 : Linux, Static and... V. Want to test? Let me know! 
&lt;p&gt;Want to know more ? ▶️ github.com/CleverCloud/&amp;hellip;&lt;/p&gt;
&lt;p&gt;😍 Thanks to the teams across Clever Cloud for the mutual efforts to ease how we provide new runtimes to customers!&lt;br&gt;&lt;br&gt;&lt;a href="https://bsky.app/profile/did:plc:rlpsf5c2y5jkfifwp3klcrzf/post/3lqrqpdld3c2j?ref_src=embed"&gt;[image or embed]&lt;/a&gt;&lt;/p&gt;— David Legrand ☁️ 🤘 (&lt;a href="https://bsky.app/profile/did:plc:rlpsf5c2y5jkfifwp3klcrzf?ref_src=embed"&gt;@davlgd.fr&lt;/a&gt;) &lt;a href="https://bsky.app/profile/did:plc:rlpsf5c2y5jkfifwp3klcrzf/post/3lqrqpdld3c2j?ref_src=embed"&gt;June 4, 2025 at 1:55 PM&lt;/a&gt;&lt;/blockquote&gt;&lt;script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc sauté sur l&amp;rsquo;occasion pour demander à tester ce nouveau runtime.&lt;/p&gt;
&lt;p&gt;Cet article présente donc comment &lt;em&gt;ce site&lt;/em&gt;, que vous êtes en train de lire, a été déployé dans ce tout nouveau runtime sur Clever Cloud !&lt;/p&gt;</description></item><item><title>Talk - Let's play Factorio</title><link>https://codeka.io/talks/talk-lets-play-factorio/</link><pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/talks/talk-lets-play-factorio/</guid><description>&lt;p&gt;&lt;em&gt;Factorio&lt;/em&gt; est un jeu vidéo d&amp;rsquo;automatisation hautement addictif (croyez-en mes 300h de jeu).&lt;/p&gt;
&lt;p&gt;Le but est simple : le vaisseau spatial du joueur est échoué sur une planète extra-terrestre, il faut construire une fusée pour s&amp;rsquo;échapper, en utilisant toutes les ressources disponibles sur la planète.&lt;/p&gt;
&lt;p&gt;Le joueur construit alors une usine (d&amp;rsquo;où le nom du jeu) pour créer des matériaux de plus en plus complexes, jusqu&amp;rsquo;à pouvoir construire la fusée.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin mai 2025 - Best-Of Devoxx 2025</title><link>https://codeka.io/2025/05/30/la-veille-de-wittouck-fin-mai-2025-best-of-devoxx-2025/</link><pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/05/30/la-veille-de-wittouck-fin-mai-2025-best-of-devoxx-2025/</guid><description>&lt;p&gt;Cette édition spéciale de &amp;ldquo;La veille de Wittouck&amp;rdquo; liste les vidéos de &lt;em&gt;Devoxx France 2025&lt;/em&gt; qui m&amp;rsquo;ont le plus intéressé.&lt;/p&gt;
&lt;p&gt;Parmi les vidéos de la &lt;a href="https://www.youtube.com/playlist?list=PLTbQvx84FrATiYy0se8yoHJHicXtmDbB-"&gt;playlist&lt;/a&gt;, je vous ai concocté une sélection de 26 vidéos que j&amp;rsquo;ai trouvées particulièrement intéressantes.
Mon astuce (pour ne pas y passer 300 heures) : je regarde les vidéos en x2, et je ralentis sur les morceaux intéressants 😅&lt;/p&gt;
&lt;p&gt;Je les ai classées selon les tags que j&amp;rsquo;utilise d&amp;rsquo;habitude, elles ne sont pas triés dans un ordre précis.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai aussi pas listé les talks que j&amp;rsquo;avais déjà mentionné dans mon article précédent, je vous propose de les retrouver dans l&amp;rsquo;article &lt;a href="https://codeka.io/2025/04/24/devoxx-2025-bilan/"&gt;DevOxx 2025 - Bilan&lt;/a&gt;, que j&amp;rsquo;ai mis à jour avec les liens des vidéos.&lt;/p&gt;
&lt;p&gt;Bon visionnage !&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Début Mai 2025</title><link>https://codeka.io/2025/05/16/la-veille-de-wittouck-d%C3%A9but-mai-2025/</link><pubDate>Fri, 16 May 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/05/16/la-veille-de-wittouck-d%C3%A9but-mai-2025/</guid><description>&lt;p&gt;En ce début mai, entre 2 jours fériés, l&amp;rsquo;actu tech n&amp;rsquo;est pas très chargée. Voici les liens de quelques articles et vidéos qui m&amp;rsquo;ont quand même marqué en ce début de mois, avec quelques pépites trouvées sur Reddit.&lt;/p&gt;
&lt;p&gt;Pour celles et ceux qui me suivent déjà sur &lt;a href="https://www.linkedin.com/in/julien-wittouck"&gt;LinkedIn&lt;/a&gt; ou &lt;a href="https://bsky.app/profile/codeka.io"&gt;Bluesky&lt;/a&gt;, je vais aussi essayer de poster les liens les plus importants dans mon feed, un peu au fil de l&amp;rsquo;eau.&lt;/p&gt;
&lt;p&gt;Bonne lecture !&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin Avril 2025</title><link>https://codeka.io/2025/05/02/la-veille-de-wittouck-fin-avril-2025/</link><pubDate>Fri, 02 May 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/05/02/la-veille-de-wittouck-fin-avril-2025/</guid><description>&lt;p&gt;En ce début de mois de mai, il fait beau, donc on n&amp;rsquo;a pas très envie de passer du temps sur son ordi à scroller pour faire sa veille.
Alors on lit la veille de Wittouck !&lt;/p&gt;



&lt;blockquote&gt;
 &lt;p&gt;Sur pas mal de liens, j&amp;rsquo;ai oublié de noter les sources qui m&amp;rsquo;ont permis de les découvrir (oups), je vais faire attention à ce point pour la prochaine édition.&lt;/p&gt;

&lt;/blockquote&gt;</description></item><item><title>DevOxx 2025 - Bilan</title><link>https://codeka.io/2025/04/24/devoxx-2025-bilan/</link><pubDate>Thu, 24 Apr 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/04/24/devoxx-2025-bilan/</guid><description>&lt;p&gt;Pour la deuxième année consécutive, j&amp;rsquo;ai la chance d&amp;rsquo;être speaker à DevOxx France.
Le pass de speaker me permet d&amp;rsquo;assister aux trois jours de la conférence (dont les billets partent plus vite que ceux d&amp;rsquo;un concert d&amp;rsquo;AC/DC).&lt;/p&gt;
&lt;p&gt;Ce post fait le bilan de ma participation à cette édition 2025, sur les deux plans, en tant que speaker et en tant que participant.&lt;/p&gt;
&lt;h2 id="devoxx-cest-quand-même-ouf"&gt;DevOxx, c&amp;rsquo;est quand même ouf&lt;/h2&gt;
&lt;p&gt;Être speaker permet de découvrir les coulisses de l&amp;rsquo;organisation. En observant un peu les fameux &lt;em&gt;gilets rouges&lt;/em&gt; (tenue officielle des organisateurs), on peut se rendre compte du travail colossal de l&amp;rsquo;organisation d&amp;rsquo;une conférence comme DevOxx France (rien à voir avec ma conf pref : &lt;a href="https://cloudnord.fr/"&gt;Cloud Nord&lt;/a&gt;). 15 salles, ça nécessite 15 &lt;em&gt;gilets rouges&lt;/em&gt; pour briefer les speakers, et 15 ingés pour la partie technique (micro, équipement de captation). Sans compter l&amp;rsquo;accueil et la remise des badges, la bagagerie, la logistique pour la distribution des repas, le point info, etc.
Les orgas sont aux petits soins et très nombreux.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Début Avril 2025</title><link>https://codeka.io/2025/04/18/la-veille-de-wittouck-d%C3%A9but-avril-2025/</link><pubDate>Fri, 18 Apr 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/04/18/la-veille-de-wittouck-d%C3%A9but-avril-2025/</guid><description>&lt;p&gt;En ce début de mois d&amp;rsquo;avril, j&amp;rsquo;ai consacré pas mal de temps à la préparation de mon talk à DevOxx : &lt;a href="https://codeka.io/talks/talk-rebase-crane/"&gt;Rebase d&amp;rsquo;images Docker/OCI avec crane&lt;/a&gt;, donc forcément, ma veille a été un peu plus light que d&amp;rsquo;habitude.&lt;/p&gt;
&lt;p&gt;Néanmoins, j&amp;rsquo;ai quelques liens sympas à partager.&lt;/p&gt;
&lt;p&gt;Je vais aussi publier en prochainement mes impressions sur cette édition de DevOxx 2025, avec les talks auxquels j&amp;rsquo;ai eu la chance d&amp;rsquo;assister. Et j&amp;rsquo;amenderai ce futur article avec les liens vers les vidéos quand elles seront disponibles !&lt;/p&gt;</description></item><item><title>Talk - Rebase d'image Docker/OCI avec crane</title><link>https://codeka.io/talks/talk-rebase-crane/</link><pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/talks/talk-rebase-crane/</guid><description>&lt;p&gt;Les images Docker ou OCI sont aujourd&amp;rsquo;hui un standard pour exécuter du code. Le fonctionnement des images en layers permet de pouvoir partager des environnements communs entre les applications. Beaucoup d&amp;rsquo;entreprises utilisent des images de base comme celles fournies par &lt;code&gt;alpine&lt;/code&gt;, &lt;code&gt;ubuntu&lt;/code&gt;, ou &lt;code&gt;eclipse-temurin&lt;/code&gt;. Certaines construisent même leur propres images de base, pour y intégrer les outils dont elles ont besoin (j&amp;rsquo;ai construit et maintenu de telles images par le passé).&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Fin Mars 2025</title><link>https://codeka.io/2025/03/27/la-veille-de-wittouck-fin-mars-2025/</link><pubDate>Thu, 27 Mar 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/03/27/la-veille-de-wittouck-fin-mars-2025/</guid><description>&lt;p&gt;Avec la sortie récente de Java 24, cette deuxième édition de &lt;em&gt;La veille de Wittouck&lt;/em&gt; rassemble tout d&amp;rsquo;abord quelques lectures indispensables autour de la toute nouvelle version de mon langage préféré.
Quelques articles généralistes également, dont un très bien illustré sur les technologies de stockage. Enfin, parmi les nouveautés, l&amp;rsquo;outil &lt;em&gt;kaniuse&lt;/em&gt; référence la compatibilité des API Kubernetes (très pratique), et Docker Compose supporte maintenant la publication des fichiers &lt;code&gt;compose.yml&lt;/code&gt; dans un registry OCI.&lt;/p&gt;</description></item><item><title>AI Manifesto</title><link>https://codeka.io/ai/</link><pubDate>Tue, 18 Mar 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/ai/</guid><description>&lt;p&gt;&lt;strong&gt;Aucun&lt;/strong&gt; &lt;em&gt;post&lt;/em&gt;, &lt;strong&gt;aucune&lt;/strong&gt; page de ce blog n&amp;rsquo;est écrit avec une IA.&lt;/p&gt;
&lt;p&gt;Les raisons en sont nombreuses. Je ne suis pas un grand utilisateur des IA en général. Cette page, en plus de clamer haut et fort ce postulat, a aussi pour but d&amp;rsquo;en expliquer les raisons.&lt;/p&gt;
&lt;h2 id="jaime-écrire-et-être-lu"&gt;J&amp;rsquo;aime écrire et être lu&lt;/h2&gt;
&lt;p&gt;C&amp;rsquo;est peut-être prétentieux, mais j&amp;rsquo;aime à penser que les personnes qui viennent lire mes articles le font en partie parce qu&amp;rsquo;elles espèrent avoir mon point de vue, mon approche, et pas celle d&amp;rsquo;un LLM (&lt;em&gt;Large Language Model&lt;/em&gt;).
&lt;strong&gt;Mes biais sont suffisants&lt;/strong&gt; pour ne pas avoir à ajouter ou gérer ceux d&amp;rsquo;un LLM américain, chinois, ou même français d&amp;rsquo;ailleurs.&lt;/p&gt;</description></item><item><title>La veille de Wittouck - Début Mars 2025</title><link>https://codeka.io/2025/03/14/la-veille-de-wittouck-d%C3%A9but-mars-2025/</link><pubDate>Fri, 14 Mar 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/03/14/la-veille-de-wittouck-d%C3%A9but-mars-2025/</guid><description>&lt;p&gt;Je vais essayer dans les prochaines semaines de publier les liens que je découvre lors de ma veille techno courante, dans le cadre de mon boulot ou depuis mon canap&amp;rsquo; 🛋️&lt;/p&gt;
&lt;p&gt;Le rythme de publication sera probablement bi-mensuel : un rythme hebdomadaire me semble trop compliqué à tenir et un rythme mensuel peut-être un peu trop long.&lt;/p&gt;
&lt;p&gt;Cette démarche a deux buts principaux : partager ce que je découvre et décharger mon esprit (et mes onglets Firefox 😅)&lt;/p&gt;</description></item><item><title>GitLab OIDC &amp; Vault</title><link>https://codeka.io/2025/02/20/gitlab-oidc-vault/</link><pubDate>Thu, 20 Feb 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/02/20/gitlab-oidc-vault/</guid><description>&lt;p&gt;Cet article décrit comment utiliser Terraform et le &lt;em&gt;provider&lt;/em&gt; Vault pour configurer l&amp;rsquo;authentification OIDC avec GitLab. À titre d&amp;rsquo;exemple, quelques secrets seront aussi stockés dans le Vault.&lt;/p&gt;
&lt;p&gt;Le code de cet article est aussi disponible sur GitHub : &lt;a href="https://github.com/juwit/terraform-clevercloud-playground/tree/main/vault"&gt;https://github.com/juwit/terraform-clevercloud-playground/tree/main/vault&lt;/a&gt;.&lt;/p&gt;



&lt;blockquote&gt;
 &lt;p&gt;Cet article a été écrit avec des commandes Terraform, mais fonctionne également avec les commandes OpenTofu équivalentes.&lt;/p&gt;

&lt;/blockquote&gt;


&lt;p&gt;L&amp;rsquo;installation et la configuration initiale d&amp;rsquo;un Vault sur Clever Cloud est décrite dans l&amp;rsquo;article &lt;a href="https://codeka.io/2025/01/17/vault-sur-clever-cloud/"&gt;Vault sur Clever Cloud&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Vault sur Clever Cloud</title><link>https://codeka.io/2025/01/17/vault-sur-clever-cloud/</link><pubDate>Fri, 17 Jan 2025 00:00:00 +0000</pubDate><guid>https://codeka.io/2025/01/17/vault-sur-clever-cloud/</guid><description>&lt;p&gt;Pour les besoins des cours que je donne à l&amp;rsquo;Université de Lille, j&amp;rsquo;ai dû configurer un serveur Vault sur Clever Cloud.&lt;/p&gt;
&lt;p&gt;Et &lt;a href="https://codeka.io/books/iac-avec-terraform/"&gt;bien entendu&lt;/a&gt;, j&amp;rsquo;ai fait tout ça avec Terraform.&lt;/p&gt;
&lt;p&gt;Cet article décrit comment utiliser le provider Terraform de Clever Cloud pour déployer un serveur Vault. Un article suivant décrira comment le configurer pour l&amp;rsquo;authentification OIDC avec GitLab et y stocker quelques secrets à titre d&amp;rsquo;exemple.&lt;/p&gt;
&lt;p&gt;Le code de cet article est aussi disponible sur GitHub : &lt;a href="https://github.com/juwit/terraform-clevercloud-playground/tree/main/vault"&gt;https://github.com/juwit/terraform-clevercloud-playground/tree/main/vault&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Terraform et Clever Cloud</title><link>https://codeka.io/2024/12/31/terraform-et-clever-cloud/</link><pubDate>Tue, 31 Dec 2024 00:00:00 +0000</pubDate><guid>https://codeka.io/2024/12/31/terraform-et-clever-cloud/</guid><description>&lt;p&gt;Pour les besoins des cours que je donne à l&amp;rsquo;Université de Lille, j&amp;rsquo;ai dû configurer des bases de données PostgreSQL et un serveur Vault sur Clever Cloud (l&amp;rsquo;installation et la configuration d&amp;rsquo;un Vault sur Clever Cloud feront l&amp;rsquo;objet d&amp;rsquo;un article consacré).&lt;/p&gt;
&lt;p&gt;Étant aussi un grand utilisateur de Terraform (&lt;a href="https://codeka.io/books/iac-avec-terraform/"&gt;qui l&amp;rsquo;eût cru ?&lt;/a&gt;), j&amp;rsquo;en ai profité pour automatiser tout ça avec mon outil préféré.&lt;/p&gt;
&lt;p&gt;Cet article décrit comment utiliser le &lt;em&gt;provider&lt;/em&gt; Terraform de Clever Cloud pour instancier une base de données et récupérer ses accès.
La première étape consistera à configurer un &lt;em&gt;backend&lt;/em&gt; pour y stocker le fichier d&amp;rsquo;état de Terraform (&lt;em&gt;state&lt;/em&gt;), la seconde étape consistera à créer la base de données en elle-même.&lt;/p&gt;</description></item><item><title>L'Infrastructure as Code avec Terraform</title><link>https://codeka.io/books/iac-avec-terraform/</link><pubDate>Wed, 09 Oct 2024 00:00:00 +0000</pubDate><guid>https://codeka.io/books/iac-avec-terraform/</guid><description>&lt;p&gt;Dans les premiers chapitres du livre, l’auteur présente les fondamentaux de Terraform, de la présentation des notions générales de l’infrastructure as code, à l’architecture de Terraform avec le fonctionnement du CLI, du registry, du state et des providers, en passant par le langage Terraform (HCL) expliqué en détail pour permettre la lecture et l’écriture de code simple. Au travers de 7 cas d’usage, le lecteur peut ensuite découvrir des utilisations différentes de Terraform sur des plateformes variées : Google Cloud Platform, AWS, MongoDB, OVH, Scaleway, GitHub et GitLab.&lt;/p&gt;</description></item><item><title>Talk - Mais au fait, ça marche comment les service accounts ?</title><link>https://codeka.io/talks/talk-service-accounts/</link><pubDate>Fri, 19 Apr 2024 00:00:00 +0000</pubDate><guid>https://codeka.io/talks/talk-service-accounts/</guid><description>&lt;p&gt;L&amp;rsquo;utilisation des comptes de service (service accounts) sur les machines virtuelles et dans les conteneurs est un basique de la sécurité Cloud. Ces comptes ouvrent un accès vital aux multiples API offertes par les fournisseurs de services Cloud.&lt;/p&gt;
&lt;p&gt;Quelle magie noire se cache derrière leur fonctionnement ? Comment une application, démarrée dans un conteneur et déployée sur un cluster Kubernetes, parvient-elle à exploiter les API Cloud en utilisant les comptes de service, sans nécessiter de configuration particulière ?&lt;/p&gt;</description></item><item><title>Tomcat 11 &amp; Virtual Threads 🧵</title><link>https://codeka.io/2024/02/05/tomcat-11-virtual-threads/</link><pubDate>Mon, 05 Feb 2024 00:00:00 +0000</pubDate><guid>https://codeka.io/2024/02/05/tomcat-11-virtual-threads/</guid><description>&lt;p&gt;Apache Tomcat est le plus célèbre des conteneurs de Servlets Java.
Les versions se succèdent au fil des années. Avec Spring Boot, et son utilisation de la version «embedded», son usage en tant que serveur «installé» a diminué, mais il reste encore au cœur de la majorité de nos micro-services, parfois sans que les développeurs s&amp;rsquo;en rendent compte.&lt;/p&gt;
&lt;p&gt;Chaque version majeure de Tomcat apporte le support des nouvelles versions des API &lt;code&gt;Java EE&lt;/code&gt; ou &lt;code&gt;JEE&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>BBL - Préparer et passer la certification Terraform Certified Associate</title><link>https://codeka.io/talks/bbl-preparer-et-passer-la-certification-terraform/</link><pubDate>Thu, 25 Jan 2024 00:00:00 +0000</pubDate><guid>https://codeka.io/talks/bbl-preparer-et-passer-la-certification-terraform/</guid><description>&lt;p&gt;Passer une certification n&amp;rsquo;est jamais un exercice évident.&lt;/p&gt;
&lt;p&gt;Dans ce BBL, nous verrons comment pourquoi il est intéressant de passer la certification Terraform, comment bien la préparer, quel est le contenu testé, et comment se passe le passage de la certification.&lt;/p&gt;
&lt;p&gt;Je vous partage également mes astuces pour être à l&amp;rsquo;aise le jour J et mettre toutes les chances de votre côté.&lt;/p&gt;</description></item><item><title>Déployer une instance de SonarQube sur Clever Cloud</title><link>https://codeka.io/2023/11/02/deploy-sonarqube-on-clever-cloud/</link><pubDate>Thu, 02 Nov 2023 00:00:00 +0000</pubDate><guid>https://codeka.io/2023/11/02/deploy-sonarqube-on-clever-cloud/</guid><description>&lt;p&gt;Dans cet article, nous allons voir comment déployer &lt;em&gt;SonarQube&lt;/em&gt; sur &lt;em&gt;Clever Cloud&lt;/em&gt; en deux temps. Le premier consistera en un déploiement très simple, qui est équivalent à une installation locale. Dans un second temps, nous utiliserons une base de données &lt;em&gt;PostgreSQL&lt;/em&gt; externalisée pour assurer la persistance des données.&lt;/p&gt;
&lt;p&gt;Cet article suppose que vous avez déjà un compte actif sur &lt;em&gt;Clever Cloud&lt;/em&gt;, et que votre CLI est installé et configuré.
L&amp;rsquo;installation du CLI est décrite dans &lt;a href="https://www.clever-cloud.com/doc/getting-started/cli/"&gt;la documentation de &lt;em&gt;Clever Cloud&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Talk - Laissez tomber vos Dockerfile, adoptez un buildpack !</title><link>https://codeka.io/talks/talk-laissez-tomber-vos-dockerfile-adoptez-un-buildpack/</link><pubDate>Thu, 29 Jun 2023 00:00:00 +0000</pubDate><guid>https://codeka.io/talks/talk-laissez-tomber-vos-dockerfile-adoptez-un-buildpack/</guid><description>&lt;p&gt;Depuis plusieurs années maintenant, &lt;em&gt;Docker&lt;/em&gt; est utilisé par toute l&amp;rsquo;industrie de l&amp;rsquo;IT pour packager et déployer des applications.&lt;/p&gt;
&lt;p&gt;Bien que l&amp;rsquo;écriture d&amp;rsquo;un &lt;code&gt;Dockerfile&lt;/code&gt; soit facile, la construction d&amp;rsquo;images &lt;em&gt;OCI&lt;/em&gt;/&lt;em&gt;Docker&lt;/em&gt; reste un exercice compliqué:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;optimisation des layers de l&amp;rsquo;image&lt;/li&gt;
&lt;li&gt;bonne gestion des processus Linux&lt;/li&gt;
&lt;li&gt;séparation des phases de build et de run des images&lt;/li&gt;
&lt;li&gt;bonnes pratiques de sécurité&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pire, lorsqu&amp;rsquo;une faille de sécurité est détecté dans une layer basse (distribution ou runtime) d&amp;rsquo;une image applicative, il faut alors potentiellement reconstruire plusieurs dizaines ou centaines d&amp;rsquo;images pour y intégrer les version patchées.&lt;/p&gt;</description></item><item><title>Anatomie d'une requête HTTP</title><link>https://codeka.io/2023/05/25/anatomie-requete-http/</link><pubDate>Thu, 25 May 2023 00:00:00 +0000</pubDate><guid>https://codeka.io/2023/05/25/anatomie-requete-http/</guid><description>&lt;p&gt;HTTP, pour &lt;em&gt;Hypertext Transfer Protocol&lt;/em&gt;, est le protocole principal pour les échanges internet. Il est utilisé aussi bien par le navigateur que vous utilisez pour lire cet article, que pour faire communiquer des applications.
Il s&amp;rsquo;appuie sur un échange de requête et réponse, entre un client et un serveur, au format texte. L&amp;rsquo;avantage du format texte est qu&amp;rsquo;il est facile à implémenter dans tous les langages de programmation.
Le protocole HTTP est spécifié par la &lt;a href="https://www.rfc-editor.org/rfc/rfc2616"&gt;RFC 2616&lt;/a&gt;, protocole dont la toute première version d&amp;rsquo;HTTP date de 1990.&lt;/p&gt;</description></item><item><title>BBL - Spring Boot &amp; Containers - Do's &amp; Don'ts</title><link>https://codeka.io/talks/bbl-spring-boot-and-containers-dos-donts/</link><pubDate>Thu, 27 Apr 2023 00:00:00 +0000</pubDate><guid>https://codeka.io/talks/bbl-spring-boot-and-containers-dos-donts/</guid><description>&lt;p&gt;Bien que Docker soit facile d&amp;rsquo;utilisation, construire une image reste un exercice compliqué.&lt;/p&gt;
&lt;p&gt;Optimisation, layers, configuration, haute disponibilité et sécurité nécessitent de s&amp;rsquo;abstraire des Dockerfile basiques qu&amp;rsquo;on peut trouver sur internet.&lt;/p&gt;
&lt;p&gt;Dans ce talk, nous verrons comment bien packager une application Spring Boot dans une image Docker/OCI.&lt;/p&gt;
&lt;p&gt;À travers 42 bonnes pratiques, nous allons voir :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les bonnes pratiques préconisées par Spring 🍃&lt;/li&gt;
&lt;li&gt;les pièges à éviter 👿&lt;/li&gt;
&lt;li&gt;comment bien préparer votre application Spring Boot pour un exécution dans un container 📦&lt;/li&gt;
&lt;li&gt;comment bien écrire un Dockerfile pour optimiser la construction et l&amp;rsquo;image finale 📝&lt;/li&gt;
&lt;li&gt;des moyens alternatifs de construction d&amp;rsquo;images Spring Boot 🏗&lt;/li&gt;
&lt;li&gt;et l&amp;rsquo;outillage d&amp;rsquo;analyse à ajouter à votre toolbox 🔧&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>GitLab Classrooms</title><link>https://codeka.io/projects/gitlab-classrooms/</link><pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate><guid>https://codeka.io/projects/gitlab-classrooms/</guid><description>&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;GitLab Classrooms&lt;/strong&gt; helps &lt;em&gt;Teachers&lt;/em&gt; to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;create GitLab groups for a class&lt;/li&gt;
&lt;li&gt;give assignment for the &lt;em&gt;Students&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;automate &lt;em&gt;Students&lt;/em&gt; repositories creation in the Group&lt;/li&gt;
&lt;li&gt;use project templates, to have a code skeleton to start with&lt;/li&gt;
&lt;li&gt;grade work automatically by importing test results&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For &lt;em&gt;Students&lt;/em&gt;, &lt;strong&gt;GitLab Classrooms&lt;/strong&gt; help them to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;access their assignments&lt;/li&gt;
&lt;li&gt;create their repositories automatically by simply joining a classroom with a magic link&lt;/li&gt;
&lt;li&gt;see their grade on each assignment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;GitLab Classroom&lt;/strong&gt; uses GitLab OAuth2 provider to authenticate &lt;em&gt;Teachers&lt;/em&gt; and &lt;em&gt;Students&lt;/em&gt;, so no account management is required.&lt;/p&gt;</description></item><item><title>Créer un site web de documentation statique avec MkDocs</title><link>https://codeka.io/2023/02/23/mkdocs-material/</link><pubDate>Thu, 23 Feb 2023 00:00:00 +0000</pubDate><guid>https://codeka.io/2023/02/23/mkdocs-material/</guid><description>&lt;p&gt;Que ce soit pour un projet d&amp;rsquo;entreprise ou un projet open-source, la documentation utilisateur et technique est cruciale.
Dans une documentation d&amp;rsquo;usage, les utilisateurs doivent pouvoir retrouver les instructions leur permettant d&amp;rsquo;accomplir les gestes métier de tous les jours.
Pour la documentation technique, les administrateurs, opérateurs et développeurs doivent pouvoir retrouver les opérations d&amp;rsquo;installation, de mise à jour, ou encore de développement du produit.&lt;/p&gt;
&lt;p&gt;La documentation peut prendre plusieurs formes:&lt;/p&gt;</description></item><item><title>Exécuter une application localement sur minikube avec skaffold</title><link>https://codeka.io/2022/07/22/skaffold-et-minikube/</link><pubDate>Fri, 22 Jul 2022 00:00:00 +0000</pubDate><guid>https://codeka.io/2022/07/22/skaffold-et-minikube/</guid><description>&lt;p&gt;Lors du développement d&amp;rsquo;une application pour Kubernetes, le développeur est souvent lié à une boucle de feedback assez longue:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Développement&lt;/li&gt;
&lt;li&gt;Contruction de l&amp;rsquo;image Docker (quelques secondes/minutes)&lt;/li&gt;
&lt;li&gt;Push de l&amp;rsquo;image sur un registry&lt;/li&gt;
&lt;li&gt;Déploiement sur Kubernetes (quelques minutes)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Cette boucle est généralement implémentée par des pipelines de CI/CD. Ces pipelines augmentent encore le temps entre le développement et une application démarrée sur Kubernetes. Ce temps est relativement long lorsqu&amp;rsquo;on compare un cycle de développement local auquel un développeur peut être habitué.&lt;/p&gt;</description></item><item><title>direnv pour booster votre shell</title><link>https://codeka.io/2022/06/17/direnv-pour-votre-shell/</link><pubDate>Fri, 17 Jun 2022 00:00:00 +0000</pubDate><guid>https://codeka.io/2022/06/17/direnv-pour-votre-shell/</guid><description>&lt;h2 id="le-problème"&gt;Le problème&lt;/h2&gt;
&lt;p&gt;Je suis le genre de développeur qui travaille toujours avec un terminal ouvert sur le côté, en plus de mon IDE.
Je lance souvent des commandes &lt;code&gt;mvn&lt;/code&gt; pour m&amp;rsquo;assurer que mon projet compile et que mes tests s&amp;rsquo;exécutent correctement. C&amp;rsquo;est un vieux réflexe qui date de l&amp;rsquo;époque où les IDE n&amp;rsquo;avaient qu&amp;rsquo;un support limité de &lt;em&gt;Maven&lt;/em&gt;. Lancer ces commandes hors-IDE m&amp;rsquo;aide souvent à valider que tout fonctionnera bien dans un environnement de CI par exemple.
J&amp;rsquo;ai donc parfois besoin de changer de version de &lt;em&gt;Java&lt;/em&gt; en fonction du projet dans lequel je me trouve.
&lt;em&gt;Maven&lt;/em&gt; utilise la variable d&amp;rsquo;environnement &lt;code&gt;JAVA_HOME&lt;/code&gt; pour localiser l&amp;rsquo;installation de &lt;em&gt;Java&lt;/em&gt; à utiliser. Donc être capable de charger des variables d&amp;rsquo;environnement différentes en fonction d&amp;rsquo;un projet peut s&amp;rsquo;avérer pratique.
Un autre usage courant consiste à venir charger des clé d&amp;rsquo;API ou des secrets d&amp;rsquo;accès cloud comme des variables &lt;code&gt;AWS_ACCESS_KEY&lt;/code&gt; ou autres en fonction de mes différents projets.&lt;/p&gt;</description></item><item><title>Talk - Self-Service infrastructure pour GCP avec Terraform et Gitlab</title><link>https://codeka.io/talks/talk-self-service-infrastructure-gcp-terraform-gitlab/</link><pubDate>Fri, 10 Jun 2022 00:00:00 +0000</pubDate><guid>https://codeka.io/talks/talk-self-service-infrastructure-gcp-terraform-gitlab/</guid><description>&lt;p&gt;Ce REX présente comment nous utilisons Gitlab, Gitlab-CI et Terraform pour construire une infrastructure GCP en self-service pour nos utilisateurs (squads/projets).&lt;/p&gt;
&lt;p&gt;Chez Kiabi, dans le cadre de la migration sur le cloud GCP (depuis l&amp;rsquo;été 2021), nous mettons à disposition de nos développeurs une project-factory, en self-service, pour de l&amp;rsquo;infrastructure cloud (VM/Databases/Buckets etc&amp;hellip;).
Le but est d&amp;rsquo;accélérer les phases de démarrage des projets, en rendant autonomes au maximum les développeurs sur le provisionning de l&amp;rsquo;infrastructure essentielle à leurs développements.&lt;/p&gt;</description></item><item><title>Implémentation d'un CLI pour la Elgato KeyLight</title><link>https://codeka.io/2021/04/06/implementation-cli-elgato-keylight/</link><pubDate>Tue, 06 Apr 2021 00:00:00 +0000</pubDate><guid>https://codeka.io/2021/04/06/implementation-cli-elgato-keylight/</guid><description>&lt;h2 id="adresse-ipurl-du-keylight"&gt;Adresse IP/URL du KeyLight&lt;/h2&gt;
&lt;p&gt;La KeyLight se connecte à votre réseau WiFi.
La première étape consiste à récupérer son adresse IP.&lt;/p&gt;
&lt;p&gt;La keylight répond aux requêtes mDNS (multicast dns).&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;ailleurs indiqué dans leur documentation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://help.elgato.com/hc/en-us/articles/360060048331-What-Communication-Protocol-Is-Used-by-Elgato-Wi-Fi-Products"&gt;What Communication Protocol Is Used by Elgato Wi-Fi Products?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://help.elgato.com/hc/en-us/articles/4413403384845-mDNS-Service-Strings-for-Elgato-Devices"&gt;mDNS Service Strings for Elgato Devices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour obtenir l&amp;rsquo;IP du keylight, il suffit donc d&amp;rsquo;emettre une requête DNS:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dig -p &lt;span style="color:#ae81ff"&gt;5353&lt;/span&gt; PTR _elg._tcp.local @224.0.0.251
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.16.15-Ubuntu &amp;lt;&amp;lt;&amp;gt;&amp;gt; -p &lt;span style="color:#ae81ff"&gt;5353&lt;/span&gt; PTR _elg._tcp.local @224.0.0.251
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; global options: +cmd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; Got answer:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; WARNING: .local is reserved &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; Multicast DNS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; You are currently testing what happens when an mDNS query is leaked to DNS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; -&amp;gt;&amp;gt;HEADER&lt;span style="color:#e6db74"&gt;&amp;lt;&amp;lt;- opco&lt;/span&gt;de: QUERY, status: NOERROR, id: &lt;span style="color:#ae81ff"&gt;18533&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; QUESTION SECTION:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;_elg._tcp.local.		IN	PTR
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; ANSWER SECTION:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_elg._tcp.local.	10	IN	PTR	Elgato&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Key&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Light&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Air&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32F3DF._elg._tcp.local.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; ADDITIONAL SECTION:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Elgato&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Key&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Light&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Air&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32F3DF._elg._tcp.local. &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt; IN SRV &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;9123&lt;/span&gt; elgato-key-light-air-f3df.local.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Elgato&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Key&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Light&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32Air&lt;span style="color:#ae81ff"&gt;\0&lt;/span&gt;32F3DF._elg._tcp.local. &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt; IN TXT &lt;span style="color:#e6db74"&gt;&amp;#34;mf=Elgato&amp;#34;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;dt=200&amp;#34;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;id=3C:6A:9D:16:12:45&amp;#34;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;md=Elgato Key Light Air 20LAB9901&amp;#34;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;pv=1.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;elgato-key-light-air-f3df.local. &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt; IN	A	192.168.1.11
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;elgato-key-light-air-f3df.local. &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt; IN	AAAA	fe80::3e6a:9dff:fe16:1245
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; Query time: &lt;span style="color:#ae81ff"&gt;120&lt;/span&gt; msec
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; SERVER: 192.168.1.11#5353&lt;span style="color:#f92672"&gt;(&lt;/span&gt;224.0.0.251&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; WHEN: Fri Apr &lt;span style="color:#ae81ff"&gt;15&lt;/span&gt; 13:55:25 CEST &lt;span style="color:#ae81ff"&gt;2022&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;; MSG SIZE rcvd: &lt;span style="color:#ae81ff"&gt;254&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On obtient l&amp;rsquo;URL d&amp;rsquo;accès au Keylight &lt;code&gt;Elgato\032Key\032Light\032Air\032F3DF._elg._tcp.local.&lt;/code&gt;, son IP &lt;code&gt;192.168.1.11&lt;/code&gt; ainsi que son port d&amp;rsquo;écoute &lt;code&gt;9123&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Réécrire une branche git</title><link>https://codeka.io/2021/03/26/rewrite-git-history/</link><pubDate>Fri, 26 Mar 2021 00:00:00 +0000</pubDate><guid>https://codeka.io/2021/03/26/rewrite-git-history/</guid><description>&lt;p&gt;Je suis tombé sur un cas où un fichier a été ajouté dans git (commité), puis modifié par plusieurs commits successifs.&lt;/p&gt;
&lt;p&gt;Malheureusement, ce fichier contient des credentials.&lt;/p&gt;
&lt;p&gt;On va donc devoir supprimer ce fichier de tout l&amp;rsquo;historique git (oui ça implique une réécriture de la sainte branche &lt;code&gt;main&lt;/code&gt; 😇).&lt;/p&gt;
&lt;h2 id="trouver-dans-quel-commit-le-fichier-a-été-ajouté"&gt;Trouver dans quel commit le fichier a été ajouté&lt;/h2&gt;
&lt;p&gt;Le fichier que je recherche s&amp;rsquo;appelle &lt;code&gt;config.json&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Je vais faire un git log, pour trouver le commit qui a ajouté ce fichier.&lt;/p&gt;</description></item><item><title>xdotool cheatsheet</title><link>https://codeka.io/2021/02/06/xdotool-cheatsheet/</link><pubDate>Sat, 06 Feb 2021 00:00:00 +0000</pubDate><guid>https://codeka.io/2021/02/06/xdotool-cheatsheet/</guid><description>&lt;p&gt;J&amp;rsquo;ai beaucoup joué ces jours-ci avec xdotool, pour essayer d&amp;rsquo;automatiser certaines choses pour mon Elgato Streamdeck.&lt;/p&gt;
&lt;p&gt;Voici les choses que j&amp;rsquo;essaie de faire :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sélectionner une fenêtre, et envoyer une séquence clavier (comme CTRL+B pour couper ou rétablir le son d&amp;rsquo;un appel Teams)&lt;/li&gt;
&lt;li&gt;Taper des emojis dans la fenêtre active 😅&lt;/li&gt;
&lt;li&gt;Déplacer une fenêtre ou la redimensionner&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voici quelques liens que j&amp;rsquo;ai trouvés à propos de &lt;code&gt;xdotool&lt;/code&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linux.org/threads/xdotool-%E2%80%93-window-stack.10687/"&gt;Xdotool - Window Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linux.org/threads/xdotool-examples.10705/#post-36275"&gt;Xdotool - Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous trouverez ci-dessous les commandes que j&amp;rsquo;ai trouvées utiles au cours de mes recherches.&lt;/p&gt;</description></item><item><title>Planifier des commandes Linux avec `at`</title><link>https://codeka.io/2020/07/15/schedule-linux-commands/</link><pubDate>Wed, 15 Jul 2020 00:00:00 +0000</pubDate><guid>https://codeka.io/2020/07/15/schedule-linux-commands/</guid><description>&lt;p&gt;Comme je prépare et exécute beaucoup de scripts, j&amp;rsquo;ai parfois besoin d&amp;rsquo;exécuter un script à une heure précise de la journée.&lt;/p&gt;
&lt;p&gt;Lorsqu&amp;rsquo;un script ne doit être exécuté qu&amp;rsquo;une seule fois, &lt;code&gt;cron&lt;/code&gt; n&amp;rsquo;est pas une solution viable.
J&amp;rsquo;ai donc découvert le planificateur &lt;code&gt;at&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Vous devez d&amp;rsquo;abord l&amp;rsquo;installer, en utilisant &lt;code&gt;apt&lt;/code&gt; comme d&amp;rsquo;habitude pour les utilisateurs de debian, ubuntu ou autre dérivés :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo apt install at
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="planifier-lexécution-dune-commande"&gt;Planifier l&amp;rsquo;exécution d&amp;rsquo;une commande&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;utilisez la commande &lt;code&gt;at&lt;/code&gt; avec une heure / date&lt;/li&gt;
&lt;li&gt;saisissez les commandes à exécuter dans l&amp;rsquo;invite&lt;/li&gt;
&lt;li&gt;tapez CTRL+D pour quitter (^D)&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ at 9AM 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;warning: commands will be executed using /bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;at&amp;gt; cd workspaces/github/dotfiles
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;at&amp;gt; git pull
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;at&amp;gt; &amp;lt; EOT &amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;job &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; at Sat Apr &lt;span style="color:#ae81ff"&gt;16&lt;/span&gt; 09:00:00 &lt;span style="color:#ae81ff"&gt;2022&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cet exemple va récupérer le contenu d&amp;rsquo;un dépôt à 9h demain matin !&lt;/p&gt;</description></item><item><title>Configurer un .gitignore global 🙈</title><link>https://codeka.io/2020/06/01/global-gitignore-file/</link><pubDate>Mon, 01 Jun 2020 00:00:00 +0000</pubDate><guid>https://codeka.io/2020/06/01/global-gitignore-file/</guid><description>&lt;p&gt;Cet article explique comment configurer un fichier &lt;code&gt;.gitignore&lt;/code&gt; global, pour exclure des fichiers ou des répertoires pour tous vos dépôts git.&lt;/p&gt;
&lt;p&gt;Utiliser un fichier global permet d&amp;rsquo;ignorer des fichiers dans l&amp;rsquo;ensemble des répertoires Git de votre poste.
C&amp;rsquo;est très utile pour certains fichiers, comme les fichiers &lt;code&gt;.env&lt;/code&gt;. Cela empêche surtout les commits accidentels.
J&amp;rsquo;ignore aussi les répertoires communs pour les développements liés à Java et NodeJS (&lt;code&gt;target/&lt;/code&gt; et &lt;code&gt;node_modules&lt;/code&gt;), ainsi que les fichiers IntelliJ IDEA (&lt;code&gt;*.iml&lt;/code&gt; et &lt;code&gt;.idea/&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Gaia</title><link>https://codeka.io/projects/gaia-app/</link><pubDate>Wed, 01 May 2019 00:00:00 +0000</pubDate><guid>https://codeka.io/projects/gaia-app/</guid><description>&lt;h2 id="what-is-it"&gt;What is it?&lt;/h2&gt;
&lt;p&gt;Gaia is a web application to import and run your Terraform modules.
It features :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;importing modules from source code (Github/Gitlab)&lt;/li&gt;
&lt;li&gt;validation of Terraform variables values (mandatory variables, regex-based validation)&lt;/li&gt;
&lt;li&gt;setting up default values or masking variables for your users&lt;/li&gt;
&lt;li&gt;running modules (plan/apply/destroy) in one click and managing Terraform state&lt;/li&gt;
&lt;li&gt;team management&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="documentation"&gt;Documentation&lt;/h2&gt;
&lt;p&gt;Go to &lt;a href="https://docs.gaia-app.io"&gt;docs.gaia-app.io&lt;/a&gt; for the full documentation.&lt;/p&gt;
&lt;h2 id="screenshots"&gt;Screenshots&lt;/h2&gt;
&lt;p&gt;The module edition view allows you to edit module details, such as variables and their validation.&lt;/p&gt;</description></item><item><title>Stats</title><link>https://codeka.io/stats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://codeka.io/stats/</guid><description>&lt;p&gt;Les stats de consultation de ce site pour les 28 derniers jours, fournies par Plausible :&lt;/p&gt;
&lt;iframe plausible-embed src="https://plausible.io/share/codeka.io?auth=2ehzcjppywIetn9yRPM-w&amp;embed=true&amp;theme=light&amp;background=transparent" scrolling="no" frameborder="0" loading="lazy" style="width: 1px; min-width: 100%; height: 1600px; color-scheme: auto;"&gt;&lt;/iframe&gt;
&lt;div style="font-size: 14px; padding-bottom: 14px;"&gt;Stats powered by &lt;a target="_blank" style="color: #4F46E5; text-decoration: underline;" href="https://plausible.io"&gt;Plausible Analytics&lt;/a&gt;&lt;/div&gt;
&lt;script async src="https://plausible.io/js/embed.host.js"&gt;&lt;/script&gt;</description></item></channel></rss>