dotenv
dotenv est la bibliothèque et la convention qui chargent les fichiers .env dans les variables d'environnement ; c'est la plus populaire de l'écosystème Node.js et elle externalise la configuration.
Objectif
Permettre au développement local de gérer la configuration via un fichier .env tandis que la production utilise de vraies variables d'environnement, sans modifier le code.
Mécanisme
Au démarrage, il lit le fichier .env, analyse les lignes KEY=VALUE et les injecte dans process.env. Il prend en charge plusieurs environnements (.env.development), l'interpolation de variables ($VAR) et la gestion des guillemets. Il ne remplace pas les variables existantes (sauf si override est défini).
Cas d’usage
- Configuration locale de projets Node.js
- Variables d'environnement Next.js/Vite
- env_file de Docker Compose
- Isolation des environnements de test
Exemples
- entrée
.env: API_KEY=secretOutputprocess.env.API_KEY="secret"Loaded into the environment
Erreurs courantes
- Loading dotenv in production wastes startup time
- Use real environment variables in production and do not load .env
Termes associés
ENV
Un fichier ENV définit des variables d'environnement au format KEY=VALUE pour la configuration des applications ; c'est l'approche recommandée des apps 12 facteurs. GLOSSAIRE
INI
INI est un format traditionnel de fichier de configuration qui regroupe les réglages avec des en-têtes [section] et des paires key=value ; il est simple mais non standardisé, et les implémentations diffèrent légèrement. GLOSSAIRE
Properties
Les fichiers Properties de Java utilisent le format CLE=VALEUR ou CLE:VALEUR ; ils sont le format de configuration traditionnel de l'écosystème Java et prennent en charge les échappements Unicode. GLOSSAIRE
Outils associés
Analyseur ENV
Analyse les lignes KEY=VALUE de style .env en JSON. Les lignes vides et les commentaires préfixés par # sont ignorés. Les conventions dotenv au-delà de cela ne sont pas implémentées : un préfixe « export » reste dans la clé (export PORT=3000 → « export PORT ») et les guillemets autour des valeurs sont conservés tels quels. OUTIL
Sérialiseur ENV
ENV Stringify — outil 100% côté client. Confidentialité d'abord, sans aller-retour serveur. OUTIL
De JSON à ENV
Json To Env — outil 100% côté client. Confidentialité d'abord, sans aller-retour serveur. OUTIL
De YAML à ENV
Yaml To Env — outil 100% côté client. Confidentialité d'abord, sans aller-retour serveur. OUTIL