Analyseur de fichiers d'environnement
Les fichiers d'environnement (.env) stockent la configuration sous forme de paires clé-valeur, séparant les secrets et paramètres du code. Popularisés par la méthodologie twelve-factor app, ils sont utilisés dans les écosystèmes Node.js, Python, Ruby et autres. Cet outil analyse les fichiers .env et affiche les variables dans une vue structurée.
Specifications
Cas d'utilisation courants
- Inspecter la configuration d'environnement de l'application
- Valider la syntaxe du fichier .env avant le déploiement
- Comparer les fichiers d'environnement entre les environnements (dev, staging, prod)
- Convertir les variables d'environnement en JSON pour la documentation
- Examiner la configuration sans exposition dans les logs
Fonctionnalites
- Analyser les paires CLÉ=valeur avec différents formats
- Gérer les valeurs entre guillemets (simples et doubles)
- Ignorer les commentaires (#) et les lignes vides
- Bouton afficher/masquer les secrets (masque les clés correspondant à password, token, api, secret, etc.)
- Convertir en JSON et YAML pour une utilisation programmatique
- Affichage du nombre de commentaires
Exemples
Configuration d'application
Essayer →Un fichier .env typique avec paramètres de base de données et API.
# Database configuration
DATABASE_URL=postgres://localhost:5432/myapp
DATABASE_POOL_SIZE=10
# API Keys
API_KEY="sk-1234567890"
SECRET_KEY='super-secret-value'Conseils
- Ne commitez jamais les fichiers .env dans le contrôle de version. Utilisez .env.example à la place.
- Les valeurs entre guillemets préservent les espaces en début/fin.
- Certaines implémentations prennent en charge l'expansion de variables : ${VAR}.
- Utilisez des fichiers .env séparés par environnement : .env.development, .env.production.
Comprendre Analyseur de fichiers d'environnement
Les fichiers de variables d'environnement (.env) stockent la configuration d'application sous forme de simples paires CLÉ=VALEUR, une par ligne. Le format a été popularisé par la méthodologie twelve-factor app, qui préconise une séparation stricte de la configuration et du code. Plutôt que de coder en dur les URL de bases de données, les clés API et les drapeaux de fonctionnalités, les applications les lisent depuis les variables d'environnement, et les fichiers .env fournissent un moyen pratique de définir ces variables pendant le développement.
La bibliothèque dotenv, à l'origine pour Ruby puis portée vers Node.js, Python, PHP et pratiquement tous les écosystèmes, lit les fichiers .env et injecte les valeurs dans l'environnement du processus. Le format prend en charge les valeurs sans guillemets (DATABASE_HOST=localhost), les valeurs entre guillemets doubles avec séquences d'échappement (MESSAGE="Hello\\nWorld") et les valeurs entre guillemets simples traitées littéralement (REGEX='^\\d+$'). Les commentaires commencent par # et les lignes vides sont ignorées.
Une pratique critique est de ne jamais commiter les fichiers .env dans le contrôle de version car ils contiennent généralement des secrets. À la place, les projets incluent un .env.example listant toutes les variables requises avec des valeurs de remplacement. Les systèmes CI/CD et les plateformes d'hébergement fournissent leurs propres mécanismes pour définir les variables d'environnement de manière sécurisée.
L'expansion de variables (référencer d'autres variables avec la syntaxe \${VAR}) est prise en charge par certaines implémentations de dotenv. Docker Compose la prend en charge nativement. Lorsque vous comptez sur l'expansion, vérifiez que votre implémentation dotenv spécifique la prend en charge, car le comportement varie selon les langages.
Le fichier .env contient généralement des secrets comme les mots de passe de bases de données, les clés API et les clés de chiffrement. Les commiter dans git les expose à quiconque ayant accès au dépôt, et ils persistent dans l'historique git même après suppression. Ajoutez .env au .gitignore et utilisez un .env.example avec des valeurs de remplacement pour documenter les variables requises. Les valeurs entre guillemets doubles interprètent les séquences d'échappement (\\n devient un retour à la ligne), tandis que les valeurs entre guillemets simples sont traitées comme des littéraux bruts sans traitement d'échappement. Les valeurs sans guillemets sont débarrassées des espaces finaux et s'arrêtent au premier caractère #, qui est traité comme un commentaire en ligne.
La gestion de plusieurs environnements implique généralement des fichiers .env séparés : .env pour les valeurs par défaut, .env.local pour les surcharges spécifiques à la machine (non commitées) et .env.development ou .env.production pour les valeurs spécifiques à l'environnement. Les frameworks comme Next.js, Vite et Create React App les chargent dans un ordre de priorité spécifique. Pour Docker, Compose prend en charge env_file pour charger les variables depuis un fichier et la clé environment pour les définir directement. Le fichier .env de Compose à la racine du projet est utilisé pour la substitution de variables dans docker-compose.yml lui-même. Les variables ARG au moment du build sont différentes des variables ENV à l'exécution et ne doivent pas contenir de secrets.