Quand on commence à utiliser le terminal, certaines commandes semblent fonctionner “toutes seules”. Le système trouve vos programmes, vos applications récupèrent des configurations automatiquement et certains outils connaissent déjà votre environnement de travail. Derrière tout cela se cachent le concept de variable d’environnement, un mécanisme indispensable sous Linux, macOS et même Windows.
Dans ce tutoriel, vous allez apprendre à comprendre, afficher, créer et modifier une variable d’environnement directement depuis le terminal. Pas besoin d’être expert : chaque commande sera expliquée simplement avec des exemples concrets pour vous aider à prendre en main cet élément essentiel du développement et de l’administration système.
- Comprenez enfin pourquoi le terminal trouve automatiquement vos programmes et comment fonctionne réellement la célèbre variable
PATH. - Apprenez à créer et modifier des variables d’environnement pour personnaliser votre terminal et simplifier vos projets de développement.
- Évitez les erreurs les plus fréquentes des débutants grâce à des exemples concrets utilisables immédiatement sous Linux, macOS ou Windows.
Quand on débute avec le terminal, on a souvent l’impression que certaines commandes fonctionnent comme par magie, certains programmes trouvent automatiquement vos fichiers, et votre système semble “savoir” où chercher les outils dont il a besoin. Derrière cette apparente magie se cache un mécanisme essentiel : les variables d’environnement.
Ces variables jouent un rôle central dans Linux, macOS et même Windows. Elles permettent au système et aux programmes de stocker des informations importantes : votre nom d’utilisateur, le chemin des logiciels installés, le dossier personnel ou encore des clés d’API utilisées par certaines applications.
- Qu’est-ce qu’une variable d’environnement ?
- Afficher les variables d’environnement
- Comprendre la variable PATH
- Créer une variable d’environnement
- Comprendre la portée des variables
- Quelle différence entre une variable shell et une variable d’environnement ?
- Utiliser les variables dans des scripts Bash
- Les variables d’environnement et la sécurité
- Utiliser un fichier .env
- Afficher une variable dans un programme PHP
- Supprimer une variable
- Variables d’environnement sous Windows
- Quelques variables très utiles à connaître
- Ajouter un dossier au PATH
- Vérifier si une variable existe
- Les erreurs fréquentes
- Les variables d’environnement avec Node.js
- Les variables d’environnement avec Docker
- Pourquoi les développeurs adorent les variables d’environnement
- FAQ sur les variables d'environnement
Qu’est-ce qu’une variable d’environnement ?
Avant de manipuler des commandes, il faut comprendre le principe :
Une variable d’environnement est une information stockée par le système d’exploitation et accessible depuis le terminal ou les programmes exécutés dessus.
On peut imaginer cela comme des petites étiquettes contenant des informations utiles.
Par exemple :
- le nom de l’utilisateur connecté,
- le dossier personnel,
- la langue du système,
- les chemins vers certains logiciels,
- des informations de configuration.
Ces données peuvent être utilisées automatiquement par les applications.

Prenons un exemple très simple. Quand vous ouvrez votre terminal et que vous tapez :
echo $HOME
Le terminal affiche quelque chose comme :
/home/alban
ou sur macOS :
/Users/alban
Ici, HOME est une variable d’environnement contenant le chemin de votre dossier personnel.
- La commande
echosert simplement à afficher une valeur. - Le symbole
$indique au terminal que vous souhaitez récupérer le contenu d’une variable.
Sans le $, le terminal considérerait simplement HOME comme du texte normal.
Pourquoi les variables d’environnement sont-elles importantes ?
Au début, cela peut sembler abstrait. Pourtant, les variables d’environnement sont partout.
Elles permettent notamment :
- au système de savoir où trouver les programmes,
- aux applications de récupérer des paramètres,
- d’éviter d’écrire certaines informations sensibles directement dans le code,
- de personnaliser votre environnement de travail.
Prenons un cas concret.
Quand vous tapez :
php
ou :
node
le terminal sait immédiatement où trouver ces programmes parce qu’il consulte une variable très célèbre appelée PATH.
👉 Pour aller plus loin : Path, Shell et Alias
Cette variable contient une liste de dossiers dans lesquels le système recherche les exécutables. Sans elle, vous devriez taper le chemin complet du programme à chaque fois.
Imaginez devoir écrire ceci à chaque commande :
/usr/bin/php
Ce serait vite pénible…
Grâce aux variables d’environnement, le système travaille pour vous en arrière-plan.
Afficher les variables d’environnement
Maintenant que vous comprenez leur utilité, voyons comment les afficher.
Afficher une variable précise
La méthode la plus simple consiste à utiliser echo.
echo $USER
Cette commande affiche le nom de l’utilisateur connecté.
Vous pouvez aussi essayer :
echo $HOME
ou encore :
echo $PATH
Le résultat du PATH est souvent impressionnant au début :
/usr/local/bin:/usr/bin:/bin:/usr/sbin...
Chaque dossier est séparé par deux-points.
Le système parcourt ces dossiers pour trouver les programmes exécutables.
Afficher toutes les variables
Pour afficher toutes les variables d’environnement disponibles :
env
Vous verrez une longue liste ressemblant à ceci :
HOME=/home/alban
USER=alban
LANG=fr_FR.UTF-8
PATH=/usr/local/bin:/usr/bin:/bin
...
Chaque ligne suit la structure :
NOM_VARIABLE=valeur
Vous pouvez aussi utiliser :
printenv
Les deux commandes sont très proches.
Comprendre la variable PATH
La variable PATH mérite une attention particulière car vous allez l’utiliser très souvent.
Affichons-la :
echo $PATH
Le terminal retourne plusieurs chemins séparés par :.
Exemple :
/usr/local/bin:/usr/bin:/bin
Quand vous tapez une commande, le système cherche dans ces dossiers dans l’ordre.
Imaginons que vous tapez :
python
Le terminal vérifie :
/usr/local/bin/usr/bin/bin
Dès qu’il trouve l’exécutable, il le lance.
Vérifier où se trouve un programme
Vous pouvez utiliser :
which python
Résultat possible :
/usr/bin/python
Cette commande est très utile pour comprendre quel programme est réellement exécuté.
- C’est particulièrement pratique quand plusieurs versions d’un logiciel sont installées.
Créer une variable d’environnement
Passons maintenant à la pratique.
Vous pouvez créer votre propre variable très facilement.
export MON_SITE="https://blog.crea-troyes.fr"
Ici :
exportcrée une variable d’environnement,MON_SITEest le nom de la variable,- la valeur est placée entre guillemets.
Pour vérifier :
echo $MON_SITE
Résultat :
https://blog.crea-troyes.fr
Et voilà, vous venez de créer votre première variable d’environnement. C’est moins difficile que prévu…
Comprendre la portée des variables
Attention cependant : cette variable n’existe que dans la session actuelle du terminal.
Si vous fermez votre terminal puis le rouvrez :
echo $MON_SITE
…la variable aura disparu.
- C’est un point très important.
Il existe deux grands types de variables :
- les variables temporaires,
- les variables permanentes.
Créer une variable temporaire
Une variable temporaire est idéale pour des tests rapides.
Exemple :
export NOM="Alban"
Puis :
echo $NOM
Mais dès que le terminal est fermé, elle disparaît.
C’est un peu comme écrire sur un tableau blanc sans sauvegarder la photo avant d’effacer.
Rendre une variable permanente
Pour conserver une variable après redémarrage du terminal, il faut l’ajouter dans un fichier de configuration du shell.
Sur Linux et macOS, le plus courant est :
~/.bashrc
ou :
~/.zshrc
Cela dépend du shell utilisé.
Vérifier votre shell actuel
Tapez :
echo $SHELL
Résultat possible :
/bin/bash
ou :
/bin/zsh
Modifier le fichier de configuration
Avec Nano :
nano ~/.bashrc
Ajoutez à la fin :
export MON_SITE="https://blog.crea-troyes.fr"
Enregistrez ensuite :
CTRL + O(pour enregistrer)- Entrée
CTRL + X(pour quitter)
Puis rechargez le fichier :
source ~/.bashrc
Votre variable est maintenant permanente.
Quelle différence entre une variable shell et une variable d’environnement ?
C’est une question qui perturbe énormément de débutants.
Regardons cela simplement.
Variable shell
NOM="Alban"
Cette variable existe uniquement dans le shell actuel.
Variable d’environnement
export NOM="Alban"
Ici, la variable devient accessible aux programmes lancés depuis le terminal.
Le mot-clé export est donc très important.
Sans lui, certains programmes ne verront pas la variable.
Utiliser les variables dans des scripts Bash
Les variables d’environnement deviennent très puissantes dans les scripts.
Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?Créez un fichier :
nano test.sh
Ajoutez :
#!/bin/bash
echo "Bonjour $USER"
echo "Votre dossier personnel est : $HOME"
Enregistrez puis rendez le script exécutable :
chmod +x test.sh
Lancez-le :
./test.sh
Résultat :
Bonjour alban
Votre dossier personnel est : /home/alban
Le script récupère automatiquement les variables d’environnement. C’est exactement ce que font énormément d’applications en arrière-plan.
👉 La commande CHMOD pour gérer les permissions
Les variables d’environnement et la sécurité
Dans le développement web moderne, les variables d’environnement sont souvent utilisées pour stocker des informations sensibles.
Par exemple :
- mot de passe de base de données,
- clé API,
- token secret,
- configuration serveur.
Au lieu d’écrire ceci directement dans le code :
$password = "monSuperMotDePasse";
on préfère utiliser une variable :
$password = getenv('DB_PASSWORD');
Parce qu’il est dangereux de stocker des secrets directement dans les fichiers du projet. Si le code fuit sur GitHub, les identifiants fuient aussi.
Et là… c’est généralement le début d’une journée compliquée.
Utiliser un fichier .env
Beaucoup de frameworks utilisent un fichier .env.
Exemple :
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=secret123
Ces variables sont ensuite chargées automatiquement.
Vous retrouverez cela dans :
- Laravel,
- Symfony,
- Node.js,
- Docker,
- WordPress avec certaines configurations avancées.
- Le fichier
.envest devenu une véritable norme moderne.
Afficher une variable dans un programme PHP
Petit exemple concret.
Dans le terminal :
export NOM_SITE="Créa-blog"
Dans PHP
<?php
echo getenv('NOM_SITE');
Résultat :
Créa-blog
Le programme PHP récupère directement la variable du système.
Très pratique pour centraliser les configurations.
Supprimer une variable
Pour supprimer une variable :
unset NOM_SITE
Puis :
echo $NOM_SITE
La variable ne renvoie plus rien. Simple et efficace.
Variables d’environnement sous Windows
Même si les commandes diffèrent légèrement, le principe reste le même.
Afficher une variable
Dans PowerShell :
echo $env:USERNAME
Créer une variable
$env:MON_SITE="https://blog.crea-troyes.fr"
Afficher le PATH
echo $env:PATH
Windows utilise aussi énormément les variables d’environnement.
D’ailleurs, beaucoup de problèmes d’installation de logiciels sous Windows viennent… d’un PATH mal configuré. Oui, ce fameux PATH revient encore. Il est un peu la star discrète du terminal.
Quelques variables très utiles à connaître
HOME
Contient le dossier personnel de l’utilisateur.
echo $HOME
USER
Nom de l’utilisateur connecté.
echo $USER
PATH
Liste des dossiers contenant les exécutables.
echo $PATH
SHELL
Shell actuellement utilisé.
echo $SHELL
PWD
Dossier courant.
echo $PWD
Très pratique dans les scripts.
Ajouter un dossier au PATH
C’est une manipulation extrêmement fréquente.
Imaginons que vous ayez un dossier :
/home/alban/scripts
Vous souhaitez exécuter vos scripts depuis n’importe où.
Ajoutez-le au PATH :
export PATH=$PATH:/home/alban/scripts
Décortiquons cela :
$PATHrécupère l’ancien contenu,:ajoute un nouveau chemin,/home/alban/scriptsest le dossier ajouté.
Vous pouvez maintenant lancer vos scripts directement.
Vérifier si une variable existe
Petit test utile :
echo $VARIABLE_TEST
Si rien ne s’affiche, la variable n’existe probablement pas.
Vous pouvez aussi utiliser :
printenv VARIABLE_TEST
Les erreurs fréquentes
Quand on découvre les variables d’environnement, certaines erreurs reviennent souvent.
Oublier le symbole $
Erreur :
echo HOME
Résultat :
HOME
Correction :
echo $HOME
Mettre des espaces
Erreur :
MON SITE="test"
Les espaces cassent la syntaxe.
Correction :
MON_SITE="test"
Oublier export
Erreur :
NOM="Alban"
La variable n’est pas transmise aux programmes.
Correction :
export NOM="Alban"
Les variables d’environnement avec Node.js
Petit bonus pour les développeurs web.
Terminal
export PORT=3000
JavaScript
console.log(process.env.PORT);
Résultat :
3000
C’est une pratique extrêmement répandue dans les applications Node.js.
👉 Comprendre et installer Node.js
Les variables d’environnement avec Docker
Docker utilise massivement les variables d’environnement.
Exemple :
docker run -e NOM=Alban ubuntu
La variable est injectée dans le conteneur.
Cela permet de personnaliser facilement les configurations.
Pourquoi les développeurs adorent les variables d’environnement
Avec l’expérience, vous verrez que les variables d’environnement rendent énormément de services.
Elles permettent :
- d’éviter les configurations codées en dur,
- de sécuriser certaines données,
- de rendre les projets plus portables,
- d’adapter facilement un projet selon l’environnement.
Par exemple :
- environnement de développement,
- environnement de test,
- environnement de production.
Le même projet peut fonctionner différemment simplement grâce aux variables.
Comment retenir tout ça plus facilement ?
Au début, cela peut sembler dense.
Le meilleur conseil est très simple : pratiquez immédiatement.
Ouvrez votre terminal et amusez-vous à :
- afficher des variables,
- en créer,
- les modifier,
- les supprimer,
- les utiliser dans un script.
C’est exactement comme apprendre à cuisiner. Lire une recette aide, mais c’est en mettant les mains dans la pâte qu’on progresse vraiment.
Et rassurez-vous : tout développeur a déjà cassé son PATH au moins une fois dans sa vie.
C’est presque un rite de passage.
FAQ sur les variables d’environnement
À quoi sert une variable d’environnement dans le terminal ?
Une variable d’environnement permet de stocker des informations utilisées par le système ou les programmes exécutés depuis le terminal. Elle sert notamment à définir des chemins, des paramètres ou des données de configuration pour éviter de les saisir manuellement à chaque utilisation.
Quelle est la différence entre une variable temporaire et permanente ?
Une variable temporaire fonctionne uniquement dans la session actuelle du terminal. Dès que vous fermez la fenêtre, elle disparaît. Une variable permanente est enregistrée dans un fichier de configuration comme .bashrc ou .zshrc, ce qui permet de la conserver après redémarrage.
Pourquoi la variable PATH est-elle importante ?
La variable PATH indique au système où chercher les programmes exécutables lorsque vous tapez une commande dans le terminal. Sans elle, vous devriez écrire le chemin complet de chaque logiciel, ce qui rendrait l’utilisation du terminal beaucoup moins pratique.
Une variable d’environnement est l’un des piliers invisibles du terminal. Elle permet au système, aux scripts et aux applications de communiquer simplement avec leur environnement de travail.
Même si le concept paraît technique au départ, vous avez vu qu’il repose finalement sur une idée assez simple : stocker des informations réutilisables accessibles partout dans le système.
En maîtrisant les variables d’environnement depuis le terminal, vous faites un énorme pas vers une meilleure compréhension de Linux, macOS, du développement web moderne et même de l’administration système.
Et surtout, vous commencez à voir le terminal non plus comme une boîte noire intimidante, mais comme un véritable outil de travail puissant et personnalisable.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
