TawaKnow LogoTawaKnow
AWSDevOpsFavorisContribuer

© 2026 TawaKnow. Tous droits réservés.

Mentions LégalesPolitique de confidentialitéContribuer
Pratiques DevOps
0/29 chapitres0%
1.

Introduction au DevOps

2.

Introduction à Linux

3.

Système de Fichiers Linux

4.

Interface en Ligne de Commande (CLI)

5.

Gestionnaire de Paquets Linux

6.

Vim — Éditeur de Texte CLI

7.

Utilisateurs & Groupes Linux

8.

Permissions & Propriété des Fichiers

9.

Shell Scripting Bash

10.

Variables d'Environnement Linux

11.

Réseau Linux

12.

SSH — Secure Shell

13.

Introduction à Git & Contrôle de Version

14.

Configurer un Dépôt Git

15.

Flux de Travail Git — add, commit, push, pull

16.

Branches Git & Merge Requests

17.

Git Avancé — Commandes, .gitignore & Bonnes Pratiques

18.

Outils de Build & Gestionnaires de Paquets

19.

Build Tools, Docker & CI/CD

20.

Introduction à Nexus — Gestionnaire de Dépôts d'Artifacts

21.

Installer et Configurer Nexus sur un Serveur

22.

Nexus — Repositories, Publication et API REST

23.

Introduction aux Containers & Docker

24.

Commandes Docker & Registries

25.

Dockerfile — Créer des Images Docker

26.

Docker Compose, Volumes & Bonnes Pratiques

27.

Introduction à Jenkins & CI/CD

28.

Installer et Configurer Jenkins

29.

Jenkins Pipeline & Jenkinsfile

...Variables d'Environnement Linux
CoursPratiques DevOpsVariables d'Environnement Linux
Chapitre 10/29

Variables d'Environnement LinuxVariables d'Environnement Linux

4 min de lecture
Total: ~4 min
Progression du cours0/29 chapitres

Variables d'Environnement Linux

Les variables d'environnement sont des paires clé=valeur disponibles à l'échelle du système, utilisées pour configurer le comportement des applications et de l'OS.


Qu'est-ce qu'une variable d'environnement ?

SHELL=/bin/bash
HOME=/home/alice
USER=alice
PATH=/usr/local/bin:/usr/bin:/bin
DB_PWD=secretpassword
  • Clé = nom de la variable (conventionnellement en MAJUSCULES)
  • Valeur = données configurables
  • Disponibles système-wide — accessibles par toutes les applications et processus

2 cas d'utilisation

1. L'OS stocke les informations de l'environnement

SHELL=/bin/bash        # Shell par défaut de l'utilisateur
HOME=/home/alice       # Répertoire home de l'utilisateur courant
USER=alice             # Nom de l'utilisateur connecté
LANG=fr_FR.UTF-8       # Langue du système
TERM=xterm-256color    # Type de terminal

Chaque utilisateur peut personnaliser son environnement (police, shell, éditeur, navigateur...) L'OS stocke ces préférences dans des variables d'environnement.

2. Créer ses propres variables — Données sensibles et configuration

# Mauvaise pratique — credentials dans le code source ❌
mydb = mysql.connector.connect(
    host="https://prod-database:5432",
    user="mysqluser",
    password="secretpassword"    # JAMAIS hardcoder des credentials !
)

# Bonne pratique — via variables d'environnement ✅
DB_URL=https://prod-database:5432
DB_USER=mysqluser
DB_PWD=secretpassword

# L'application lit depuis l'environnement (Python)
DB_USER = os.environ.get('DB_USER')
DB_PWD  = os.environ.get('DB_PWD')

Avantages des variables d'environnement pour la configuration :

  • Sécurité : les credentials ne sont pas dans le code source
  • Flexibilité : même code, configurations différentes (dev/test/prod)
  • Chaque serveur a ses propres valeurs sans modifier l'application

Afficher les variables d'environnement

printenv                   # Afficher TOUTES les variables d'environnement
printenv HOME              # Afficher la valeur de HOME
printenv PATH              # Afficher le PATH

env                        # Équivalent à printenv (liste toutes les variables)

echo $HOME                 # Afficher via echo (avec $)
echo $USER
echo $SHELL

Définir des variables d'environnement

Variables temporaires (session courante uniquement)

export MA_VARIABLE="ma valeur"
export DB_PWD="secretpassword"
export PORT=3000

# Vérifier
printenv MA_VARIABLE        # → ma valeur

Important : Les variables créées avec export sont perdues à la fermeture du terminal ou à la déconnexion.

Variables persistantes (survie à la fermeture)

Pour rendre une variable permanente, la déclarer dans un fichier de configuration du shell :

# Pour l'utilisateur courant — fichier ~/.bashrc (pour Bash)
echo 'export DB_PWD="secretpassword"' >> ~/.bashrc
echo 'export MA_VAR="valeur"' >> ~/.bashrc

# Recharger sans redémarrer le terminal
source ~/.bashrc
# ou
. ~/.bashrc

# Pour tous les utilisateurs du système
sudo vim /etc/environment
# Ajouter : MA_VAR="valeur"
FichierPortée
~/.bashrcUtilisateur courant (Bash)
~/.profileUtilisateur courant (login shell)
/etc/environmentTous les utilisateurs du système
/etc/profileTous les utilisateurs (login shell)

La variable PATH

PATH est une variable spéciale qui liste les répertoires où Linux cherche les commandes exécutables.

echo $PATH
# → /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Quand vous tapez "docker", Linux cherche dans ces dossiers dans l'ordre
# et exécute le premier "docker" trouvé

Ajouter un répertoire au PATH

# Temporaire
export PATH=$PATH:/opt/mon-logiciel/bin

# Permanent (dans ~/.bashrc)
echo 'export PATH=$PATH:/opt/mon-logiciel/bin' >> ~/.bashrc
source ~/.bashrc

Variables dans les scripts Bash

#!/bin/bash

# Lire une variable d'environnement dans un script
echo "Connexion à : $DB_URL"
echo "Utilisateur : $DB_USER"

# Vérifier si une variable est définie
if [ -z "$DB_PWD" ]
then
    echo "Erreur : DB_PWD non défini !"
    exit 1
fi

Cas pratique — Application multi-environnement

Serveur DEV                      Serveur PROD
─────────────────────────        ────────────────────────
DB_URL=https://dev-db:5432       DB_URL=https://prod-db:5432
DB_USER=mysql-dev-user           DB_USER=mysql-prod-user
DB_PWD=dev_password              DB_PWD=prod_password

     └──────────────┬──────────────┘
                    ▼
            Même code source
            (lit via os.environ.get)

Le code est identique. Seules les variables d'environnement changent par serveur. Pas besoin de modifier le code pour déployer sur un autre environnement.


À retenir

  • Variable d'environnement = paire CLÉ=valeur disponible système-wide
  • Noms en MAJUSCULES par convention
  • printenv = afficher les variables ; echo $VAR = afficher une valeur
  • export MA_VAR="valeur" = définir (temporaire, disparaît à la fermeture)
  • ~/.bashrc = rendre une variable persistante pour l'utilisateur
  • /etc/environment = variables persistantes pour tous les utilisateurs
  • source ~/.bashrc = recharger les variables sans redémarrer
  • PATH = liste des répertoires où Linux cherche les commandes
  • Ne jamais hardcoder des credentials — utiliser des variables d'environnement
Précédent
Shell Scripting Bash
Suivant
Réseau Linux
Sur cette page
PrécédentSuivant