Documentation/Déploiement/Créer et configurer un fichier .env
Déploiement7 min2026-05-0760Populaire

Créer et configurer un fichier .env

Créer un fichier .env propre pour stocker les variables sensibles et configurer une application.

Créer et configurer un fichier .env

Objectif

Un fichier .env permet de stocker la configuration d'une application sans modifier directement le code.

On y place généralement :

  • Le mode d'exécution.
  • Le port de l'application.
  • Les identifiants de base de données.
  • Les clés API.
  • Les URLs internes ou publiques.

Créer le fichier .env

Placez-vous dans le dossier de l'application :

bash
cd /var/www/mon-app

Créez le fichier :

bash
nano .env

Exemple pour une application Node.js :

env
NODE_ENV=production
PORT=3000
APP_URL=https://app.exemple.fr
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_NAME=mon_app
DATABASE_USER=mon_user
DATABASE_PASSWORD=mot_de_passe_solide

Respecter le bon format

Chaque variable doit respecter ce format :

env
NOM_VARIABLE=valeur

Évitez les espaces autour du signe =.

Correct :

env
PORT=3000

Incorrect :

env
PORT = 3000

Si une valeur contient des espaces, utilisez des guillemets :

env
APP_NAME="Mon application"

Protéger le fichier .env

Un fichier .env contient souvent des informations sensibles.

Limitez les permissions :

bash
chmod 600 .env

Vérifiez le propriétaire :

bash
ls -la .env

Si votre application est exécutée par un utilisateur dédié :

bash
chown mon-utilisateur:mon-utilisateur .env

Ne pas publier le fichier .env

Si votre projet utilise Git, ajoutez .env dans .gitignore :

bash
nano .gitignore

Ajoutez :

gitignore
.env
.env.local
.env.production

Vérifiez que Git ne suit pas le fichier :

bash
git status

Si le fichier a déjà été ajouté à Git :

bash
git rm --cached .env

Utiliser .env avec Node.js

Installez dotenv si votre framework ne charge pas automatiquement le fichier :

bash
npm install dotenv

Dans votre point d'entrée :

js
require("dotenv").config()

const port = process.env.PORT || 3000

Redémarrez ensuite l'application :

bash
pm2 restart mon-app

Utiliser .env avec Docker Compose

Dans le même dossier que docker-compose.yml, créez .env :

env
MYSQL_ROOT_PASSWORD=mot_de_passe_solide
MYSQL_DATABASE=mon_app
MYSQL_USER=mon_user
MYSQL_PASSWORD=autre_mot_de_passe

Exemple dans docker-compose.yml :

yaml
services:
  db:
    image: mariadb:11
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}

Relancez les services :

bash
docker compose up -d

Erreurs fréquentes

La variable est undefined

Vérifiez le nom exact de la variable et redémarrez l'application après modification.

Le fichier .env est ignoré

Le framework ne charge peut-être pas automatiquement .env. Installez ou configurez dotenv.

Mot de passe avec caractères spéciaux

Si la valeur contient des caractères particuliers, placez-la entre guillemets.


Conclusion

Un fichier .env bien configuré permet de séparer le code et la configuration. Il doit rester privé, lisible uniquement par l'application et exclu du dépôt Git.

Ce guide vous a aidé ?

Votre retour permet de repérer les guides à améliorer en priorité.