L'hygiène visuelle du dev

L'hygiène visuelle du dev

Je porte des lunettes depuis l’enfance. Myopie plus astigmatisme. Fin de journée devant les écrans : yeux secs, tête lourde, texte qui commence à danser légèrement. Pendant longtemps j’ai mis ça sur le compte de la myopie, du temps de trajet, du manque de sommeil. La réalité est un peu plus mécanique que ça. Ce que font vraiment vos yeux devant un écran Il y a un petit muscle dans l’œil qui modifie la forme du cristallin pour faire la mise au point. En vision de près (et un écran à 50 cm, c’est de la vision de près), ce muscle reste contracté en continu. Des heures entières. ...

Proxmox qm : les 5 commandes qui évitent l'interface web

L’interface web de Proxmox est propre. Mais quand on gère plus de 10 VMs et qu’on veut automatiser, la CLI est 10 fois plus rapide. Voilà les 5 commandes qm que j’utilise au lieu de cliquer. # 1. Lister les VMs avec leur état qm list # 2. Démarrer / arrêter / redémarrer qm start 100 qm stop 100 qm reboot 100 # 3. Ouvrir une console série (comme le bouton "Console" dans l'UI) qm terminal 100 # 4. Cloner une VM (template → VM fonctionnelle en 30 secondes) qm clone 9000 101 --name "ma-vm" --full # 5. Modifier une option sans ouvrir l'UI qm set 100 --memory 8192 qm set 100 --cores 4 qm set 100 --net0 virtio,bridge=vmbr0 Le combo qui automatise tout # Cloner un template cloud-init, personnaliser, démarrer qm clone 9000 200 --name "k8s-worker-3" --full qm set 200 --sshkey ~/.ssh/id_ed25519.pub qm set 200 --ipconfig0 ip=10.0.0.203/24,gw=10.0.0.1 qm start 200 Les 5 commandes à retenir : list, start, stop, clone, set. Avec ça, on fait 90% de ce qu’on fait dans l’interface web, sans toucher la souris. ...

shell set -euo pipefail : l'option qui m'a sauvé 100 heures de debug

set -euo pipefail devrait être la première ligne de tout script shell non trivial après le shebang. #!/bin/bash set -euo pipefail Voilà pourquoi : set -e : le script s’arrête à la première commande qui échoue. Sans ça, le script continue comme si de rien n’était après un cd /tmp/inexistant. J’ai perdu des heures à comprendre pourquoi un rm -rf s’exécutait dans le mauvais dossier à cause d’un cd silencieusement raté. ...

Protéger l'accès SSH avec le port knocking

Protéger l'accès SSH avec le port knocking

Un développeur avec qui j’échangeais récemment m’a posé une question simple : est-ce que ça sert vraiment à quelque chose de changer le port SSH par défaut ? La discussion a dérivé, et je me suis retrouvé à lui parler de port knocking. C’est un sujet que j’avais creusé quelques mois plus tôt pour mon homelab. NAS Synology, quelques VMs sur Proxmox, un besoin d’accès distant ponctuel. Laisser le port 22 grand ouvert en permanence, très peu pour moi. ...

Git patch : partager des modifications entre repos

Git patch : partager des modifications entre repos

Git patch : partager des modifications entre repos Quand tu dois appliquer la même modification sur plusieurs repos qui partagent une base de code commune, transporter un commit d’un dépôt à l’autre avec git format-patch évite de le recréer à la main. Le résultat, c’est un fichier .patch qui se partage comme n’importe quelle pièce jointe. Créer le patch git format-patch -k -1 HEAD -o ./patches/ -k : conserve le message du commit tel quel, sans ajouter le préfixe [PATCH] -1 : un seul commit (le dernier). Remplace par -3 pour les 3 derniers, ou donne un SHA précis -o ./patches/ : dossier de sortie, plus propre qu’un >> à la main Pour une plage de commits : ...

clone.sh

clone.sh

Le chaos des dépôts Git Au fil des années, j’ai vu mon répertoire personnel se transformer en un véritable dédale de projets Git clonés pas toujours avec une organisation optimale et la perte de temps que ca engendrait. Frustré par cette situation et par l’absence d’outils adaptés à ma façon de travailler, j’ai écrit un script bash qui clone de manière plus pratique. Il organise intelligemment les projets par fournisseur, crée des liens symboliques à la demande et s’intègre avec zoxide pour une navigation ultra-rapide. Une solution simple mais efficace qui a amélioré ma façon de gérer mes projets. ...

Pourquoi je crée ce blog

Pourquoi je crée ce blog

Salut, moi c’est Florent. DevOps Engineer, je travaille sur des sujets d’infra et de plateforme depuis plusieurs années : CI/CD, Kubernetes, IaC, et tout ce qui gravite autour. J’avais envie d’un endroit à moi pour écrire. Pas un fil LinkedIn, pas un thread X. Un blog, simple, que je contrôle. Pourquoi créer un blog ? Principalement pour mettre à plat ce que j’explore. J’apprends beaucoup par l’expérimentation, et écrire m’oblige à aller au bout des idées plutôt que de juste “avoir compris à peu près”. C’est utile pour moi, et peut-être pour d’autres. ...