just : un Makefile moderne que j'ai quitté pour make

J’ai découvert just en parcourant des projets Rust lorsque j’ai commencé à apprendre le langage. just c’est un Makefile sans la syntaxe particulière de Make. Les recettes sont plus lisibles, le langage est pensé pour lancer des commandes (pas pour compiler du C). Et la syntaxe des dépendances est plus intuitive : # justfile deploy: build push kubectl apply -f deploy/ build: docker build -t monapp . push: docker push monapp:latest Moi qui ai tendance à utiliser pas mal Make pour ce genre de raccourcis (et jamais pour builder du C), ça m’a convaincu pendant 3 mois. Puis j’ai travaillé sur des machines où just n’était pas installé. Et là, Make est toujours installé. Prêt à opérer. Aucun obstacle. ...

zellij : pourquoi je n'ai jamais eu besoin de tmux

Je n’ai jamais utilisé tmux. Pas par principe, juste parce que quand j’ai commencé à chercher un multiplexer, zellij est tombé au bon moment. C’est contre-intuitif : tmux est plus réputé, plus ancien, installé partout. Mais zellij a une qualité rare : il est utilisable sans config. Pas de .tmux.conf à écrire. Pas de préfixes bizarres à mémoriser. Une barre d’état qui montre les onglets et les processus en cours, sans plugin. Des raccourcis qu’on découvre en appuyant sur Ctrl+G. ...

direnv + .envrc : j'arrête de source des variables à la main

J’en avais assez de taper source .env en entrant dans chaque projet. Et surtout d’oublier de le faire une fois sur trois, et de perdre 10 minutes à comprendre pourquoi la variable d’environnement n’était pas chargée. direnv règle ça en un hook shell. Tu entres dans un dossier, il exécute .envrc. Tu en sors, il décharge tout. Plus rien à faire. Mais ce qui change tout, c’est quand on le combine avec un password manager en CLI (pour ma part rbw) pour injecter les secrets automatiquement : ...

fzf + rg + fd : la trinité qui rend mon terminal plus rapide que l'explorateur

Trois outils. Chacun remplace un binaire POSIX vieux de 40 ans. Ensemble, ils transforment le terminal en interface plus rapide que n’importe quel explorateur graphique. Alors oui, c’est dans les vieux pots qu’on fait les meilleures soupe et si un binaire qui a 40 ans est toujours utilisé, c’est qu’il y a une bonne raison, mais là, ce serait dommage de se privée d’une UX shell bien léchée. fd remplace find. Même usage, syntaxe humaine : ...

zoxide : j'ai remplacé cd et ma mémoire musculaire a survécu

zoxide remplace cd par un saut intelligent. Tu tapes z projet et il t’emmène dans le dossier projet, même s’il est à 4 niveaux de profondeur. Il apprend tes habitudes : plus tu vas souvent dans un dossier, plus il le priorise. La commande s’appelle z. Pas zoxide, pas zoxide cd. Juste z. Un alias alias cd="z" et ni vu ni connu ! Setup # Installer sudo apt install zoxide # ou cargo install zoxide # Ajouter à .zshrc / .bashrc eval "$(zoxide init zsh --cmd z)" # (Le --cmd z renomme la commande en 'z' au lieu de 'zoxide') Cheatsheet zoxide Commande Équivalent cd Effet z projet cd ~/dev/machin/truc/projet Va au dossier le plus utilisé contenant “projet” z proj bidule - Combine “proj” et “bidule” pour trouver zi - Interface interactive avec fzf z - cd - Retour au dossier précédent z .. cd .. Remonte d’un niveau Le zi avec fzf est le plus utile : tu tapes zi, tu scrolles dans ton historique, tu choisis. Plus rapide que cd $(find . -type d | fzf). ...

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é. ...