Installer un thème Oh My Posh sur Windows
Transformer le terminal Windows en outil pro et lisible : Windows Terminal, PowerShell 7, Nerd Font, Oh My Posh et un thème qui te ressemble. Pas à pas, sans rien casser.
À la fin du cours, tu sais
- Comprendre ce qu'apporte Oh My Posh à un terminal
- Installer Windows Terminal et PowerShell 7 avec winget
- Installer une Nerd Font pour afficher les icônes
- Installer et activer Oh My Posh dans ton profil PowerShell
- Choisir, appliquer et personnaliser un thème
- Dépanner les carrés blancs et le profil qui ne se charge pas
Prérequis
- Une machine sous Windows 10 ou 11
- Savoir ouvrir un terminal et taper une commande
Étape 1 sur 11 : Oh My Posh, c'est quoi (et pourquoi)
Chapitre 1
Oh My Posh, c'est quoi (et pourquoi)
Le terminal Windows par défaut est fonctionnel mais austère. Oh My Posh le transforme en cockpit lisible, sans changer une ligne de ta façon de travailler.
Le terminal, tu vas y passer des heures chaque jour. Autant qu'il te parle. Par défaut, le terminal Windows est fonctionnel mais austère : une invite grise qui ne t'affiche presque rien du contexte dans lequel tu travailles. Oh My Posh transforme cette invite en véritable tableau de bord, sans rien changer à ta façon de taper des commandes. C'est un pur gain de confort et de lisibilité, pas une nouvelle façon de travailler à apprendre.
Concrètement, il faut bien distinguer ce qu'Oh My Posh est et ce qu'il n'est pas, car son nom prête à confusion. Ce n'est pas un shell (le programme qui interprète tes commandes reste PowerShell) ni un terminal (la fenêtre reste Windows Terminal) : c'est un moteur de thème de prompt, c'est-à-dire un outil qui embellit et enrichit uniquement la ligne d'invite. Et il ne se limite pas à PowerShell : le même outil fonctionne avec cmd, Git Bash, WSL, zsh, bash ou fish. Dans ce cours, on se concentre sur le combo le plus courant sous Windows, Windows Terminal + PowerShell 7, mais tout ce que tu apprends est transposable.
Oh My Posh est un moteur de thème de prompt (prompt theme engine) multi-shell. Le « prompt », c'est la ligne où tu tapes tes commandes. Oh My Posh l'enrichit avec des informations contextuelles et des couleurs, sans rien changer au comportement de ton shell.
Ce que ça t'affiche en plus
- La branche Git et l'état du dépôt (fichiers modifiés, en avance/retard) directement dans le prompt
- Le dossier courant raccourci et lisible
- Les versions des langages du projet (Node, Python, .NET…) selon le contexte
- La durée de la dernière commande et son code de sortie (succès / échec)
- Des icônes claires grâce à une police adaptée
Multi-shell, pas que PowerShell
Oh My Posh ≠ Oh My Zsh
Vrai ou faux ?
Oh My Posh ne fonctionne qu'avec PowerShell, pas avec les autres shells.
Chapitre 2
Windows Terminal et PowerShell 7
Avant Oh My Posh, on pose les bonnes fondations : un terminal moderne et la dernière version de PowerShell.
Avant d'installer Oh My Posh lui-même, on pose de bonnes fondations, car Oh My Posh est un habillage : il a besoin d'un terminal moderne et d'un shell récent pour donner le meilleur. Cet ordre a son importance — beaucoup de débutant·es sautent cette étape et se retrouvent avec un rendu bancal, simplement parce que leur terminal ou leur version de PowerShell est dépassée. Deux briques à mettre en place : Windows Terminal et PowerShell 7.
Un point de vocabulaire évite bien des confusions : Windows embarque historiquement Windows PowerShell 5.1 (l'icône bleue), figée et en fin de vie. On lui préfère aujourd'hui PowerShell 7+ (la commande pwsh, icône noire), plus rapide, multiplateforme et activement maintenu. Les deux coexistent sur ta machine et ont chacun leur propre fichier de configuration — un détail qui te sauvera plus tard lors du dépannage, quand ton profil semblera « ne pas se charger » simplement parce que tu testes dans la mauvaise version. On installe les deux outils en deux commandes winget, l'installeur de paquets intégré à Windows, comme le montre le code ci-dessous.
Windows Terminal
Windows Terminal est le terminal moderne de Microsoft : onglets, volets, configuration des polices, thèmes. Il est préinstallé sur Windows 11. Sur Windows 10, installe-le depuis le Microsoft Store ou avec winget.
PowerShell 7 (pwsh)
Windows embarque Windows PowerShell 5.1 (l'icône bleue). On lui préfère PowerShell 7+ (commande pwsh, icône noire) : plus rapide, multi-plateforme, activement maintenu. Oh My Posh marche avec les deux, mais autant partir sur le moderne.
# winget est préinstallé sur Windows 10 (récent) et 11
winget install Microsoft.WindowsTerminal
winget install Microsoft.PowerShell
# Vérifier la version de PowerShell 7
pwsh --versionwinget introuvable ?
winget n'est pas reconnu, installe « App Installer » depuis le Microsoft Store, puis rouvre le terminal. winget en a besoin pour fonctionner.Mettre PowerShell 7 par défaut
Chapitre 3
Installer une Nerd Font
C'est l'étape qu'on oublie le plus souvent, et celle qui cause 90 % des « ça affiche des carrés ». Les icônes d'Oh My Posh ont besoin d'une police spéciale.
Voici l'étape la plus souvent oubliée, et de loin la première cause de frustration : la police. Si tu ne devais retenir qu'une chose de tout ce cours pour éviter le fameux problème des « carrés à la place des icônes », ce serait ce chapitre. Prends donc le temps de bien le suivre, même si l'envie d'installer Oh My Posh tout de suite est grande — les icônes ne s'afficheront correctement que si cette étape est faite.
La raison est simple une fois comprise : les jolies icônes qu'affiche Oh My Posh (le logo Git, une icône de dossier, des flèches) ne sont pas des images téléchargées, ce sont des caractères spéciaux, appelés glyphes. Or une police classique ne contient pas ces glyphes-là. Il faut donc une police enrichie, une Nerd Font, qui les inclut. Sans elle, ton terminal ne trouve pas le caractère demandé et affiche un carré vide (surnommé « tofu ») à la place. Installer une Nerd Font puis la sélectionner dans Windows Terminal résout définitivement le problème — et attention au piège détaillé plus bas : il faut choisir dans la liste la variante dont le nom contient bien « Nerd Font ».
Les jolies icônes (logo Git, dossier, flèches…) ne sont pas des images : ce sont des glyphes intégrés à des polices spéciales appelées Nerd Fonts. Sans Nerd Font, ton terminal affiche des carrés vides (« tofu ») à la place des icônes.
Installer une Nerd Font avec Oh My Posh
Oh My Posh fournit une commande dédiée. Mais comme on n'a pas encore installé Oh My Posh, on peut soit revenir ici après le chapitre suivant, soit télécharger la police manuellement depuis nerdfonts.com.
# Menu interactif pour choisir et installer une Nerd Font
oh-my-posh font install
# Ou installer directement un grand classique
oh-my-posh font install MesloQuelques Nerd Fonts populaires
- MesloLGM Nerd Font : la recommandation officielle, très lisible
- CaskaydiaCove Nerd Font : la version « Nerd » de Cascadia Code (police maison de Windows Terminal)
- FiraCode Nerd Font : ligatures + icônes
- JetBrainsMono Nerd Font : excellente lisibilité
Activer la police dans Windows Terminal
Installer la police ne suffit pas, il faut dire à Windows Terminal de l'utiliser : Paramètres → ton profil PowerShell → Apparence → Type de police → choisis ta Nerd Font (ex. MesloLGM Nerd Font).
Choisis bien la variante « Nerd Font »
Chapitre 4
Installer Oh My Posh
Maintenant que les fondations sont là, l'installation d'Oh My Posh tient en une commande.
Les fondations sont posées : terminal moderne, PowerShell 7, Nerd Font. L'installation d'Oh My Posh lui-même est presque anticlimactique — elle tient en une seule commande. C'est voulu : tout le travail de préparation a été fait en amont pour que cette étape, et surtout la suite, se passent sans accroc.
On installe via winget parce que c'est la méthode la plus propre : elle gère aussi les mises à jour futures d'une simple commande winget upgrade, là où un script d'installation manuel t'obligerait à tout refaire à la main. Un réflexe important juste après l'installation : ferme et rouvre ton terminal. L'installeur ajoute Oh My Posh au PATH (la liste des dossiers où Windows cherche les programmes), et cette modification n'est prise en compte que dans un terminal neuf. Si la commande oh-my-posh version ne répond pas, c'est presque toujours cette raison — pas une installation ratée. D'autres méthodes existent (script officiel, Scoop) mais winget reste le choix recommandé sous Windows.
winget install JanDeDobbeleer.OhMyPosh -s winget
# Recharge le terminal (ferme/rouvre l'onglet) puis vérifie
oh-my-posh versionPourquoi fermer et rouvrir le terminal
PATH (la liste des dossiers où Windows cherche les programmes). Cette modification n'est prise en compte que dans un nouveau terminal. Si oh-my-posh version ne marche pas, c'est presque toujours ça.Méthodes alternatives
- winget : la méthode recommandée, gère les mises à jour (
winget upgrade JanDeDobbeleer.OhMyPosh) - Script officiel :
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1')) - Scoop :
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.jsonsi tu utilises déjà Scoop
Chapitre 5
Activer Oh My Posh dans ton profil
Oh My Posh est installé, mais il ne s'active pas tout seul. Il faut l'ajouter à ton profil PowerShell pour qu'il se charge à chaque ouverture du terminal.
Oh My Posh est installé, mais si tu ouvres un terminal, rien n'a changé. C'est normal : l'outil ne s'active pas tout seul, il faut lui dire de se charger à chaque ouverture. C'est le rôle du profil PowerShell, une notion clé qui te resservira bien au-delà d'Oh My Posh.
Le profil PowerShell est un script qui s'exécute automatiquement à chaque démarrage du shell — l'équivalent du .zshrc sur Mac ou Linux. Tout ce que tu y écris s'applique à chaque nouvel onglet : des alias, des raccourcis, et ici la ligne qui initialise Oh My Posh. Son emplacement est stocké dans la variable $PROFILE, ce qui t'évite de retenir un chemin compliqué. La démarche, détaillée ci-dessous, tient en trois temps : créer le fichier de profil s'il n'existe pas, y coller la ligne d'initialisation d'Oh My Posh, puis recharger. Cette ligne charge un thème (ici jandedobbeleer, le thème par défaut) que tu pourras changer au chapitre suivant. Une fois rechargé, déplace-toi dans un dépôt Git : la branche et l'état du dépôt s'affichent désormais tout seuls.
Le profil PowerShell est un script qui s'exécute automatiquement à chaque démarrage du shell. Son chemin est stocké dans la variable $PROFILE. On y ajoute une ligne qui initialise Oh My Posh.
Ouvrir (ou créer) le profil
# Crée le fichier de profil s'il n'existe pas encore
if (!(Test-Path $PROFILE)) { New-Item -Path $PROFILE -Type File -Force }
# Ouvre-le dans Notepad (ou: code $PROFILE si tu as VS Code)
notepad $PROFILEAjouter l'initialisation
Colle cette ligne dans le fichier, enregistre, puis ferme. Elle charge Oh My Posh avec un thème intégré (ici jandedobbeleer, le thème par défaut).
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-ExpressionRecharger le profil
# Recharge le profil sans fermer le terminal
. $PROFILEÇa y est
cd vers un projet versionné) : tu vois maintenant la branche et l'état du dépôt s'afficher automatiquement.Ta checklist d'installation
0/8 faitCoche au fur et à mesure : c'est sauvegardé dans ton navigateur, tu retrouves ta progression à ta prochaine visite.
Chapitre 6
Choisir et appliquer un thème
Oh My Posh est livré avec des dizaines de thèmes prêts à l'emploi. Changer de thème, c'est changer une ligne dans ton profil.
C'est le moment le plus gratifiant : rendre ton prompt tien. Oh My Posh est livré avec des dizaines de thèmes prêts à l'emploi, du plus sobre au plus coloré, et changer de thème ne demande de modifier qu'une seule ligne de ton profil. Aucune raison de te contenter du thème par défaut si un autre te parle davantage.
La démarche est simple : tu explores les thèmes disponibles, tu repères celui qui te plaît, et tu remplaces le nom du fichier dans la ligne init de ton $PROFILE. Pour parcourir le catalogue, deux options : la commande Get-PoshThemes affiche un aperçu de chaque thème directement dans ton terminal (avec tes couleurs et ta police, donc un rendu fidèle), ou la galerie en ligne sur le site officiel pour les voir côte à côte. Un détail pratique expliqué plus bas : la variable $env:POSH_THEMES_PATH pointe vers le dossier des thèmes intégrés, ce qui t'évite de mémoriser un long chemin. Après chaque changement, un simple . $PROFILE applique le nouveau thème immédiatement.
Voir tous les thèmes installés
# Affiche un aperçu de chaque thème, avec son nom
Get-PoshThemesTu peux aussi parcourir la galerie en ligne sur ohmyposh.dev/docs/themes pour voir les rendus côte à côte.
Appliquer un thème
Repère le nom du thème qui te plaît (ex. atomic, powerlevel10k_rainbow, paradox), puis remplace le nom du fichier dans la ligne init de ton $PROFILE.
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\atomic.omp.json" | Invoke-ExpressionEnregistre, puis recharge avec . $PROFILE. Le nouveau thème s'applique immédiatement.
La variable POSH_THEMES_PATH
$env:POSH_THEMES_PATH pointe vers le dossier où Oh My Posh range ses thèmes intégrés. Tu n'as pas à retenir le chemin complet : la variable s'en charge. Tape echo $env:POSH_THEMES_PATH pour voir où c'est.Chapitre 7
Personnaliser ton propre thème
Un thème intégré te plaît à 90 % ? Copie-le, modifie ce qui te dérange, et pointe ton profil vers ta version.
Il arrive souvent qu'un thème intégré te plaise… à 90 %. La couleur du dossier ne te convient pas, tu voudrais afficher l'heure, ou retirer un segment inutile. Plutôt que de te résigner, tu peux partir de ce thème et créer ta propre version. C'est le passage du statut d'utilisateur à celui de bricoleur : tu ne subis plus le thème, tu le façonnes.
La méthode saine consiste à copier le thème de base dans un dossier à toi (surtout ne modifie jamais les fichiers intégrés d'Oh My Posh : ils seraient écrasés à la prochaine mise à jour), puis à pointer ton profil vers ta copie. Ensuite, tu édites ce fichier. Un thème Oh My Posh est un simple fichier JSON qui décrit des « segments » — des morceaux d'information comme le chemin, la branche Git, l'heure ou la version de Node — regroupés en « blocs ». Chaque segment a ses couleurs (foreground, background) et son style, comme le montre l'extrait ci-dessous. Le bon réflexe : modifie une petite chose, recharge avec . $PROFILE, observe le résultat, recommence. En itérant par petites touches plutôt qu'en changeant tout d'un coup, tu comprends l'effet de chaque réglage et tu obtiens vite un prompt qui te ressemble.
Copier un thème dans tes fichiers
# Crée un dossier perso et copie le thème de base
New-Item -Path "$HOME\.config\ohmyposh" -ItemType Directory -Force
Copy-Item "$env:POSH_THEMES_PATH\atomic.omp.json" "$HOME\.config\ohmyposh\mon-theme.omp.json"Pointer ton profil vers ta copie
oh-my-posh init pwsh --config "$HOME\.config\ohmyposh\mon-theme.omp.json" | Invoke-ExpressionÉditer le thème
Un thème Oh My Posh est un fichier JSON (ou TOML/YAML). Il décrit des « segments » (Git, chemin, heure, version Node…) regroupés en « blocs ». Ouvre mon-theme.omp.json dans VS Code et modifie les couleurs ou l'ordre des segments.
{
"type": "path",
"style": "powerline",
"foreground": "#ffffff",
"background": "#61AFEF",
"properties": {
"style": "folder"
}
}Recharge à chaque modif
. $PROFILE (ou ouvre un nouvel onglet) pour voir le rendu. Itère petit à petit plutôt que de tout changer d'un coup.Chapitre 8
Dépannage
Les trois problèmes qui reviennent tout le temps, et comment les régler en moins d'une minute.
Presque tous les problèmes rencontrés avec Oh My Posh se résument à trois symptômes, et chacun se règle en moins d'une minute une fois qu'on en connaît la cause. Plutôt que de réinstaller au hasard — le réflexe le plus courant et le plus inefficace — apprends à identifier lequel des trois tu as devant toi. C'est aussi un bon entraînement au débogage en général : observer le symptôme, formuler une hypothèse, la vérifier.
Les trois cas sont les suivants. Des carrés à la place des icônes : c'est toujours un problème de police, jamais d'installation — la Nerd Font n'est pas installée, ou pas sélectionnée dans le terminal, ou tu as choisi la variante sans « Nerd Font ». Le prompt ne change pas à l'ouverture : la ligne d'initialisation n'est pas dans le bon $PROFILE (souvenir du chapitre sur les fondations : PowerShell 5.1 et 7 ont des profils séparés). « l'exécution de scripts est désactivée » : PowerShell bloque par défaut certains scripts, et il faut autoriser explicitement les scripts locaux avec Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned — un bon compromis de sécurité, contrairement à Unrestricted qu'il faut éviter. Le scénario ci-dessous te fait dérouler le diagnostic du plus fréquent d'entre eux, les fameux carrés.
Des carrés ou des points d'interrogation à la place des icônes
- La Nerd Font n'est pas installée : retourne au chapitre 3
- La police installée mais pas sélectionnée dans Windows Terminal : Paramètres → profil → Apparence → Type de police
- Tu as choisi la variante sans « Nerd Font » dans la liste
Le prompt ne change pas à l'ouverture
- La ligne
oh-my-posh initn'est pas dans le bon$PROFILE: vérifie avececho $PROFILEque tu édites le bon fichier - Tu testes dans Windows PowerShell 5.1 alors que ton profil est celui de pwsh 7 (ce sont deux profils séparés)
- Le fichier de profil n'a pas été enregistré avant de recharger
« l'exécution de scripts est désactivée sur ce système »
PowerShell bloque par défaut l'exécution de certains scripts. Autorise les scripts locaux et signés à distance pour ton utilisateur :
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedReste prudent·e avec l'ExecutionPolicy
RemoteSigned est un bon compromis : tes scripts locaux tournent, ceux téléchargés doivent être signés. Évite Unrestricted qui désactive toute protection.🧭 Mets-toi en situation
Tu viens d'installer Oh My Posh. Tu ouvres ton terminal et tu vois des carrés ▯ à la place des icônes. À toi de jouer.
Des carrés s'affichent partout dans ton prompt. Quel est ton premier réflexe ?
Questions fréquentes
pwsh) est plus rapide et activement maintenu : si tu pars de zéro, autant prendre le moderne. Attention, les deux ont des fichiers $PROFILE séparés.winget upgrade JanDeDobbeleer.OhMyPosh. Pense à recharger ton terminal ensuite. Les thèmes intégrés sont mis à jour en même temps que l'outil.Pour aller plus loin
- Windows Terminal — documentation Microsoft Learn · Microsoft Learn (nouvel onglet)
- PowerShell — documentation Microsoft Learn · Microsoft Learn (nouvel onglet)
- Oh My Posh — documentation officielle · Documentation (en anglais) (nouvel onglet)
- Nerd Fonts — catalogue des polices · Polices (en anglais) (nouvel onglet)
🛠️ Exercice optionnel
Monter ton terminal Windows pro de zéro
Tu pars d'un Windows fraîchement installé (ou tu veux refaire ta config). Objectif : un terminal lisible, avec icônes et infos Git, qui se recharge tout seul à chaque ouverture.
Ta mission
- Terminal + shell : installer Windows Terminal et PowerShell 7 avec winget, puis mettre pwsh en profil par défaut.
- Nerd Font : installer une Nerd Font (ex. Meslo) et la sélectionner dans l'apparence du profil PowerShell.
- Oh My Posh : installer via winget, vérifier avec
oh-my-posh versiondans un nouveau terminal. - Profil : ajouter la ligne
oh-my-posh init pwsh --config ... | Invoke-Expressiondans$PROFILE. - Thème : parcourir
Get-PoshThemes, en choisir un, l'appliquer. - Test Git : se déplacer dans un dépôt Git et vérifier que la branche s'affiche.
- Bonus : copier un thème, en changer une couleur, et pointer le profil vers ta version.
Critère de réussite : tu fermes tout, tu rouvres Windows Terminal, et ton thème + tes icônes sont là sans rien retaper.
Tu bloques ? Des indices, à dévoiler quand tu en as besoin.
Indice 1
Indice masqué.
Indice 2
Indice masqué.
Indice 3
Indice masqué.
✅ QCM de fin de cours
Teste tes acquis
10 questions, plusieurs réponses parfois possibles. Coche tout ce qui te semble juste, puis valide pour voir ton score et les explications.
- 1
À quoi sert Oh My Posh ?
- 2
Pourquoi installer une Nerd Font ?
- 3
Quelle commande installe Oh My Posh de façon recommandée sous Windows ?
- 4
Où ajoute-t-on la ligne qui active Oh My Posh à chaque ouverture du terminal ?
- 5
Quelle commande affiche un aperçu de tous les thèmes installés ?
- 6
Après avoir modifié
$PROFILE, comment voir le changement sans fermer le terminal ? - 7
Ton terminal affiche des carrés à la place des icônes. La cause la plus probable ?
- 8
Quelle commande débloque l'exécution des scripts pour ton utilisateur, de façon raisonnable ?
- 9
Quelle différence entre Oh My Posh et Oh My Zsh ?
- 10
Comment appliquer un thème précis à ton prompt dans
$PROFILE?
Tu peux laisser des questions sans réponse, elles compteront comme fausses.
🎓 Attestation
Ton attestation de réussite
Termine le QCM avec au moins 80% de bonnes réponses pour débloquer ton attestation de réussite.
Tu veux ce cours pour ton équipe ?
Je peux adapter et animer ce cours pour tes formateur·ices ou tes apprenant·es, en présentiel ou en distanciel. Parlons-en pendant l'audit gratuit.
Réserver un audit gratuit →