Ressources pour développeur web

Théme de la semaine : Git

Variable d’environnement du terminal : tutoriel complet

Temps de lecture estimé : 10 minutes
Accueil Terminal Variable d’environnement du terminal : tutoriel complet

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 ?

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.

Variable d’environnement

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 echo sert 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 :

  1. /usr/local/bin
  2. /usr/bin
  3. /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 :

  • export crée une variable d’environnement,
  • MON_SITE est 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.

Formation web et informatique - Alban Guillier - Formateur

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 .env est 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 :

  • $PATH récupère l’ancien contenu,
  • : ajoute un nouveau chemin,
  • /home/alban/scripts est 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.

👉 Docker : Guide complet

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.