
Sommaire :
Introduction : Pourquoi Oh My Zsh va changer votre vie
Spoiler alert : Après avoir installé Oh My Zsh, vous ne pourrez plus jamais revenir au bash par défaut. C’est scientifiquement prouvé (bon, pas vraiment, mais presque).
Oh My Zsh est LE framework open-source qui transforme votre terminal terne en véritable cockpit de développeur. Imaginez Git qui vous dit où vous en êtes d’un coup d’œil, l’autocomplétion qui lit dans vos pensées, et un prompt qui fait baver d’envie vos collègues.
Ce que vous allez gagner :
- ⚡ Un terminal 10x plus productif
- 🎨 Un prompt magnifique et informatif
- 🚀 Des centaines de plugins prêts à l’emploi
- 🧠 Une autocomplétion intelligente qui anticipe vos besoins
Pour qui ? Développeurs, sysadmins, étudiants, ou quiconque passe plus de 5 minutes par jour dans un terminal (donc vous, probablement).
Prérequis : Ce qu’il vous faut avant de commencer
Installation de Zsh
Avant de plonger dans Oh My Zsh, assurez-vous d’avoir Zsh installé :
Ubuntu/Debian :
sudo apt update && sudo apt install zsh
macOS avec Homebrew :
brew install zsh
CentOS/RHEL/Fedora :
# CentOS/RHEL
sudo yum install zsh
# Fedora
sudo dnf install zsh
Vérification :
zsh --version
# Devrait afficher quelque chose comme : zsh 5.8.1
Installation de Git
Git est indispensable pour Oh My Zsh :
# Ubuntu/Debian
sudo apt install git
# macOS
git --version # Déjà installé normalement
# Ou avec Homebrew : brew install git
# CentOS/RHEL
sudo yum install git
🚨 Erreur fréquente
Problème : zsh: command not found
après installation Solution : Redémarrez votre terminal ou sourcez votre .bashrc
:
source ~/.bashrc
exec zsh # Pour basculer vers zsh
Installation de Oh My Zsh : La méthode qui marche
Méthode recommandée (curl)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Méthode alternative (wget)
Si curl vous fait des misères :
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Ce qui se passe :
- Le script télécharge Oh My Zsh dans
~/.oh-my-zsh
- Sauvegarde votre
.zshrc
existant - Crée un nouveau
.zshrc
avec la config par défaut - Change votre shell par défaut vers zsh
✅ À savoir
L’installation vous demandera si vous voulez faire de zsh votre shell par défaut. Répondez « Y » (oui) sauf si vous avez une bonne raison de ne pas le faire.
Configuration de base : Les incontournables
Le fichier de configuration
Tout se passe dans ~/.zshrc
. Ouvrez-le avec votre éditeur préféré :
nano ~/.zshrc
# ou
vim ~/.zshrc
# ou
code ~/.zshrc # VS Code
Structure du .zshrc
# Chemin vers Oh My Zsh
export ZSH="$HOME/.oh-my-zsh"
# Thème (on va changer ça bientôt 😉)
ZSH_THEME="robbyrussell"
# Plugins activés
plugins=(git)
# Source Oh My Zsh
source $ZSH/oh-my-zsh.sh
# Vos alias et configurations perso ici
Premiers réglages sympas
Ajoutez ces lignes à la fin de votre .zshrc
:
# Historique plus long et intelligent
HISTSIZE=10000
SAVEHIST=10000
setopt HIST_VERIFY
setopt SHARE_HISTORY
setopt APPEND_HISTORY
# Navigation plus fluide
setopt AUTO_CD
setopt CORRECT
setopt CORRECT_ALL
# Autocomplétion case-insensitive
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
Puis rechargez :
source ~/.zshrc
Powerlevel10k : Le thème qui tue tout
Oubliez les thèmes basiques. Powerlevel10k (P10k pour les intimes) est LE thème qui va transformer votre terminal en vaisseau spatial.
Pourquoi Powerlevel10k ?
- ⚡ Ultra-rapide : 10-100x plus rapide que les autres thèmes
- 🎨 Magnifique : Icons, couleurs, informations utiles
- 🔧 Configurable : Wizard interactif pour tout personnaliser
- 📊 Informatif : Git status, temps d’exécution, erreurs…
Installation de Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Activation du thème
Éditez votre .zshrc
:
# Changez cette ligne :
ZSH_THEME="robbyrussell"
# Par celle-ci :
ZSH_THEME="powerlevel10k/powerlevel10k"
Rechargez :
source ~/.zshrc
🎯 Configuration wizard
La magie opère ici ! Le wizard de configuration va se lancer automatiquement. Si ce n’est pas le cas :
p10k configure
Guide de configuration (mes recommandations) :
- Font icons : Répondez « Y » si vous voyez les icônes correctement
- Prompt style : « Rainbow » (option 3) – Le plus beau
- Character set : « Unicode » – Plus d’icônes
- Show current time : « 24-hour format » – Pratique pour les logs
- Prompt separators : « Angled » – Look moderne
- Prompt heads : « Sharp » – Style épuré
- Prompt tails : « Flat » – Équilibré
- Prompt height : « Two lines » – Plus d’espace
- Prompt spacing : « Sparse » – Plus lisible
- Icons : « Many icons » – On est là pour ça
- Prompt flow : « Concise » – Optimisé
- Transient prompt : « Yes » – Terminal plus propre
Installation des polices Nerd Font (crucial !)
Pour que les icônes s’affichent correctement :
macOS : Le wizard propose l’installation automatique. Acceptez !
Linux :
# Téléchargement des polices recommandées
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
# MesloLGS NF (recommandée)
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
# Refresh du cache des polices
fc-cache -fv
Configuration du terminal :
- Terminal macOS : Preferences → Profiles → Text → Font → « MesloLGS NF »
- iTerm2 : Preferences → Profiles → Text → Font → « MesloLGS NF » (Pro tip : Lisez mon guide iTerm2 complet pour une config optimale)
- VS Code terminal : Settings →
terminal.integrated.fontFamily
→"MesloLGS NF"
🚨 Problèmes fréquents avec Powerlevel10k
Caractères cassés/boxes : Police non installée ou mal configurée
# Relancez la config
p10k configure
# Étape 1 : installez les polices recommandées
Prompt lent : Trop de segments activés
# Éditez la config
nano ~/.p10k.zsh
# Commentez les segments lourds (ex: disk_usage)
Git status incorrect : Permissions du dépôt
git config --global --add safe.directory /votre/repo
Plugins essentiels : Votre nouveau superpouvoir
Oh My Zsh, c’est 300+ plugins prêts à l’emploi. Voici ma sélection de ceux qui changent vraiment la vie.
Ma config plugins de base
Dans votre .zshrc
, remplacez la ligne plugins=(git)
par :
plugins=(
git
docker
docker-compose
node
npm
yarn
python
pip
sudo
history
colored-man-pages
command-not-found
extract
web-search
)
Plugins communautaires indispensables
Ces gems ne sont pas inclus par défaut, mais valent le détour :
zsh-autosuggestions (Fish-style autocomplétion)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting (Coloration syntaxique)
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Ajoutez-les aux plugins :
plugins=(
git
docker
# ... autres plugins
zsh-autosuggestions
zsh-syntax-highlighting # TOUJOURS en dernier !
)
⚡ Plugins par cas d’usage
Pour le développement web :
plugins=(git node npm yarn react)
Pour les sysadmins :
plugins=(git docker ssh-agent systemd ansible)
Pour Python :
plugins=(git python pip virtualenv)
🎯 Alias magiques
Ces plugins ajoutent des alias surpuissants :
Git :
gst
→git status
gco
→git checkout
gcb
→git checkout -b
gp
→git push
gl
→git pull
Docker :
dps
→docker ps
dexec
→docker exec -it
drm
→docker rm
Extract : Décompresse TOUT
extract fichier.tar.gz
extract archive.zip
extract document.rar
Configuration avancée : Pour les ninjas 🥷
Alias personnalisés
Ajoutez vos propres alias à la fin du .zshrc
:
# Navigation rapide
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias ..='cd ..'
alias ...='cd ../..'
# Git shortcuts
alias gs='git status'
alias gd='git diff'
alias gl='git log --oneline --graph'
# Docker shortcuts
alias dps='docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dlog='docker logs -f'
# Système
alias h='history'
alias c='clear'
alias reload='source ~/.zshrc'
# Recherche rapide
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
Fonctions utiles
# Création rapide de dossier + navigation
mkcd() {
mkdir -p "$1" && cd "$1"
}
# Backup rapide
backup() {
cp "$1" "$1.backup.$(date +%Y%m%d-%H%M%S)"
}
# Recherche dans l'historique
hist() {
history | grep "$1"
}
# IP publique
myip() {
curl -s https://ipinfo.io/ip
}
Variables d’environnement
# Éditeur par défaut
export EDITOR='nano' # ou vim, code...
# Langues
export LANG=fr_FR.UTF-8
export LC_ALL=fr_FR.UTF-8
# Paths personnalisés
export PATH="$HOME/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
🔧 Configuration Powerlevel10k avancée
Le fichier ~/.p10k.zsh
contient toute la config. Quelques tweaks sympas :
# Éditez le fichier
nano ~/.p10k.zsh
# Trouver cette section et personnaliser :
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
dir # Dossier actuel
vcs # Git status
# newline # Nouvelle ligne
prompt_char # Caractère de prompt
)
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
status # Code de retour
command_execution_time # Temps d'exécution
background_jobs # Jobs en arrière-plan
time # Heure
)
Maintenance et troubleshooting
Mise à jour
Oh My Zsh :
omz update
Powerlevel10k :
git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull
Plugins communautaires :
# Exemple pour zsh-autosuggestions
git -C ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions pull
Problèmes courants
Prompt qui se charge lentement :
# Debug des temps de chargement
time zsh -i -c exit
# Si > 1 seconde, debug Powerlevel10k
p10k configure
# Désactivez les segments lourds
Autocomplétion cassée :
rm ~/.zcompdump*
exec zsh
Plugin qui ne marche pas :
# Vérifiez qu'il est dans la liste
echo $plugins
# Rechargez la config
source ~/.zshrc
# Vérifiez les erreurs
zsh -x ~/.zshrc
Sauvegarde de votre config
# Backup de votre setup
tar -czf oh-my-zsh-backup.tar.gz ~/.zshrc ~/.p10k.zsh ~/.oh-my-zsh/custom/
# Restauration
tar -xzf oh-my-zsh-backup.tar.gz -C ~/
Désinstallation (si vraiment nécessaire)
uninstall_oh_my_zsh
⚠️ Attention : Ça supprime tout ! Sauvegardez d’abord.
Conclusion
Bravo ! Vous venez de transformer votre terminal en véritable cockpit de développeur. Avec Oh My Zsh et Powerlevel10k, vous avez maintenant :
✅ Un terminal magnifique et informatif
✅ Une productivité décuplée grâce aux plugins
✅ Une configuration pro qui fait envie
✅ Des alias magiques qui vous font gagner du temps
Et maintenant ?
🚀 Poussez plus loin : Explorez iTerm2 avec ma config ultime pour une expérience terminale complète
🐳 Automatisez : Intégrez avec Docker pour des environnements de dev isolés
🔧 Personnalisez : Créez vos propres plugins et thèmes
Le mot de la fin
Un bon terminal, c’est comme un bon café ☕ : ça rend tout le reste possible. Maintenant que vous avez goûté à Oh My Zsh + Powerlevel10k, impossible de revenir en arrière !
Questions ? Problèmes ? La communauté Oh My Zsh est ultra-active. Et n’hésitez pas à partager vos configs et découvertes !