Soyons honnêtes : rien de ce qui suit n'est une nouveauté. ripgrep, bat, zoxide ou lazygit circulent depuis des années chez les développeurs, et une bonne partie d'entre vous les a sans doute installés bien avant moi. Moi, je m'étais arrêté à mi-chemin : iTerm2, zsh et Oh My Zsh, et pas plus. Une configuration correcte, mais qui rendait le terminal un peu lent au démarrage, et au quotidien je tapais toujours les mêmes ls, cat, grep et cd. Surtout, j'avais envie de changement. La remise à zéro complète de mon Mac m'en a donné l'occasion : plutôt que de restaurer une sauvegarde et de récupérer cinq ans de réglages bricolés, j'ai voulu repartir d'une page blanche. Avec l'aide de Gemini pour trier les options, j'ai monté un terminal plus rapide, plus lisible et plus agréable. Et je regrette surtout une chose : ne pas l'avoir fait plus tôt.

Cette vidéo nécessite l'acceptation des cookies réseaux sociaux
Mon terminal en 2026 : Ghostty, eza, zoxide, lazygit… | #CQJ ép. 3
Pourquoi je ne les utilisais pasCopier le lien vers cette section
La raison est simple : les commandes de base marchent. ls liste un dossier, grep trouve du texte, cd change de répertoire. Avec Oh My Zsh par-dessus, j'avais un prompt joli et quelques raccourcis, et j'avais l'impression d'être bien équipé. Tant que ça fonctionne, on ne se pose pas de questions. Le problème, c'est tout ce que ces commandes ne font pas : pas de couleurs utiles, aucune idée de ce qu'est un dépôt git, et une recherche qui fouille aussi node_modules si on ne lui dit pas le contraire. Et cette petite attente à chaque nouvel onglet, le temps que le shell charge tout, j'avais fini par l'accepter.
Les outils de cette liste reprennent les mêmes gestes, en mieux. Ils sont pour la plupart écrits en Rust, donc rapides, et pensés pour la façon dont on travaille aujourd'hui. Surtout, la plupart se glissent à la place des commandes que je connaissais déjà. Je n'ai rien eu à réapprendre : je tape toujours ls, cat ou cd, mais ce qui s'affiche n'a plus rien à voir.
| Ce que j'utilisais | Ce que j'utilise maintenant | Langage | Ce que ça change |
|---|---|---|---|
| iTerm2 | Ghostty | Zig | Affichage par la carte graphique, aucune latence à la frappe |
ls | eza | Rust | Couleurs, icônes, statut git et vue en arbre |
cat | bat | Rust | Coloration du code et numéros de ligne |
grep | ripgrep (rg) | Rust | Recherche très rapide qui ignore ce que git ignore |
cd | zoxide | Rust | Retrouve un dossier à partir d'un seul mot |
git en ligne de commande | lazygit | Go | Toute l'interface git, au clavier |
Ghostty : le premier chocCopier le lien vers cette section
Mon premier coup de cœur, c'est Ghostty, l'émulateur de terminal créé par Mitchell Hashimoto. Après des années sur iTerm2, très complet mais un peu lourd, la différence se voit tout de suite. Ghostty est écrit en Zig et dessine le texte avec la carte graphique (Metal sur Mac). Résultat : le curseur suit les doigts sans le moindre décalage, même quand des centaines de lignes défilent d'un coup.
Ce qui m'a plu, c'est qu'il ne sacrifie rien pour cette vitesse. Les onglets sont ceux du système, les polices sont nettes, et toute la configuration tient dans un petit fichier texte. Le mien fait six lignes : la police, sa taille, le style des onglets, le thème et deux confirmations que j'ai coupées. Pas de menus à fouiller, pas de modules à installer.
eza, bat, ripgrep et zoxide : les commandes du quotidienCopier le lien vers cette section
C'est ici que j'ai le plus gagné, parce que ce sont les commandes que je tape cent fois par jour.
eza a été ma grosse découverte. Là où ls renvoie une liste grise difficile à lire, eza colore les fichiers, ajoute une icône par type et range les dossiers en premier. Avec l'option --git, il affiche aussi les fichiers modifiés ou ajoutés. Le plus malin : un simple alias suffit pour qu'il remplace ls. Je continue de taper ls -l, et c'est eza qui répond.
bat fait la même chose avec cat. Il colore le code dans des centaines de langages, numérote les lignes et signale en marge ce qui a changé depuis le dernier commit. Pour jeter un œil à un fichier sans ouvrir d'éditeur, c'est parfait.
ripgrep remplace grep pour chercher du texte dans un projet. Il va beaucoup plus vite et, par défaut, il ignore les fichiers cachés, les binaires et tout ce qui figure dans le .gitignore. Plus besoin d'exclure node_modules à la main : rg mot-clé suffit.
Enfin, zoxide a changé ma façon de me déplacer. Il retient les dossiers que je visite et leur donne un score selon la fréquence. Je l'ai branché directement sur cd : quand je tape cd ponytail depuis n'importe où, il me place dans ~/www/ponytail sans que j'écrive le chemin complet. Fini les cd ../../projet.
lazygit : git sans la prise de têteCopier le lien vers cette section
Pendant longtemps, j'ai cru qu'il fallait choisir son camp avec git : la ligne de commande et ses options à rallonge, ou une application graphique comme GitKraken ou Tower. lazygit m'a montré qu'on pouvait avoir les deux.
On le lance d'une commande dans le terminal, et il affiche tout en panneaux : fichiers modifiés, branches, commits récents et différences ligne par ligne. Tout se fait au clavier. Je sélectionne quelques lignes précises pour un commit, je réorganise mes commits ou je règle un conflit sans chercher la bonne commande. C'est l'autre grand coup de cœur de cette configuration : git devient visuel sans quitter le terminal.
Tout installer en quelques minutesCopier le lien vers cette section
Bonne nouvelle : tout s'installe en une fois. Sur Mac, Homebrew s'occupe de tout. Sous Linux, la plupart de ces outils sont dans les dépôts des distributions récentes (Arch Linux, Fedora, Ubuntu), et Homebrew existe aussi pour Linux si tu veux exactement les mêmes commandes.
# L'émulateur Ghostty (macOS)
brew install --cask ghostty
# Les outils, le prompt et les aides au développement
brew install starship zoxide fzf fnm pnpm eza bat ripgrep lazygit git
# Les extensions Zsh pour les suggestions et la coloration
brew install zsh-autosuggestions zsh-syntax-highlightingJ'en ai profité pour deux outils côté JavaScript : fnm, qui change de version de Node.js instantanément, et pnpm, qui partage les paquets entre projets au lieu de les copier, ce qui économise beaucoup d'espace disque.
Mon fichier zshrc, commentéCopier le lien vers cette section
C'est ici que j'ai réglé mon problème de lenteur. J'ai laissé Oh My Zsh de côté et je charge seulement ce dont j'ai besoin. Voici mon ~/.zshrc : chaque outil n'est chargé que s'il est installé, et le shell démarre en moins de 50 millisecondes.
# ~/.zshrc - Configuration moderne et rapide
# 1. Variables d'environnement et éditeur
export LANG=fr_FR.UTF-8
export LC_ALL=fr_FR.UTF-8
export EDITOR="nano"
# 2. Gestionnaire de versions Node (fnm)
if command -v fnm >/dev/null 2>&1; then
eval "$(fnm env --use-on-cd)"
fi
# 3. Moteur de recherche floue (fzf)
if command -v fzf >/dev/null 2>&1; then
source <(fzf --zsh)
fi
# 4. Navigation intelligente (zoxide remplace cd)
if command -v zoxide >/dev/null 2>&1; then
eval "$(zoxide init zsh --cmd cd)"
fi
# 5. Alias modernes (remplacement des commandes historiques)
if command -v eza >/dev/null 2>&1; then
alias ls="eza --icons --group-directories-first"
alias ll="eza -la --icons --group-directories-first --git"
alias lt="eza --tree --level=2 --icons"
fi
if command -v bat >/dev/null 2>&1; then
alias cat="bat --paging=never"
fi
if command -v lazygit >/dev/null 2>&1; then
alias lg="lazygit"
fi
# 6. Extensions Zsh (Homebrew macOS / Linux)
HOMEBREW_PREFIX="$(brew --prefix 2>/dev/null || echo '/usr/local')"
if [ -f "$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh" ]; then
source "$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
fi
if [ -f "$HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ]; then
source "$HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
fi
# 7. Prompt contextuel et ultra-rapide (Starship)
if command -v starship >/dev/null 2>&1; then
eval "$(starship init zsh)"
fiTrois petits ajouts font une grosse différence au quotidien. zsh-autosuggestions propose en gris la fin de la commande que tu tapes, d'après ton historique : la flèche droite suffit pour l'accepter. zsh-syntax-highlighting colore la commande en vert quand elle est valide et en rouge quand il y a une faute de frappe, avant même d'appuyer sur Entrée. Et Starship affiche dans le prompt la branche git en cours, la version de Node ou de Python du projet et la durée de la dernière commande, sans ralentir le terminal.
Ce que je dirais à mon moi d'avantCopier le lien vers cette section
Aucun de ces outils ne va changer ta façon de coder. Ce qu'ils suppriment, ce sont les petites frictions : un dossier illisible, une recherche qui traîne dans node_modules, un chemin à retaper, une commande git dont on a oublié l'option. Prises une par une, elles semblent anodines. Mises bout à bout sur une journée, elles pèsent lourd.
Si, comme moi avant, tu te contentes d'un terminal qui marche, même un peu lent, prends une heure. Installe Ghostty, ajoute eza et zoxide, copie le zshrc ci-dessus. Le plus dur, c'est de commencer. Ensuite, revenir en arrière paraît impensable.

J'ai créé OTW parce que je voulais lire un site comme ça, et qu'il n'existait pas. Développeur, rédacteur quand ça m'intéresse, fondateur. Je surveille tout, je lâche rien.



