Parser de fichier .env — Valider et Formater
Parser de fichier .env : validez la syntaxe, détectez les doublons, triez par ordre alphabétique, convertissez en JSON, YAML ou Docker. Navigateur uniquement.
Qu'est-ce que le Parser de Fichier .env ?
Le .env File Parser & Formatter est un outil basé sur le navigateur pour travailler avec des fichiers de variables d'environnement. Il analyse le contenu KEY=VALUE pour détecter les erreurs de syntaxe, identifier les clés en double et afficher les statistiques du fichier ; il convertit vos variables en JSON, YAML, Docker --env-file ou format docker-compose.yml en un seul clic ; et il fusionne deux fichiers .env avec une résolution interactive des conflits lorsque la même clé apparaît dans les deux fichiers avec des valeurs différentes.
Utilisez-le lorsque vous devez auditer un fichier d'environnement avant de déployer, partager une configuration avec un coéquipier dans un format différent, combiner un .env de base avec un remplacement spécifique à l'environnement, ou simplement trier un long fichier par ordre alphabétique pour le parcourir plus facilement. Tout s'exécute dans le navigateur — vos secrets ne touchent jamais un serveur.
Fonctionnalités Principales
- Analyser les paires KEY=VALUE avec support des valeurs entre guillemets et multiligne — les valeurs entre guillemets simples et doubles sont automatiquement désentourées ; les commentaires en ligne après les valeurs sans guillemets sont supprimés.
- Détecter les clés en double avec des badges d'avertissement — chaque clé apparaissant plus d'une fois est signalée dans le panneau de Validation avec une icône d'avertissement jaune.
- Valider la syntaxe : = manquant, clés vides, caractères invalides — le parser impose que les clés doivent commencer par une lettre ou un underscore et ne contenir que des caractères alphanumériques et des underscores (
/^[a-zA-Z_][a-zA-Z0-9_]*$/). Chaque violation signale le numéro de ligne spécifique. - Trier les variables par ordre alphabétique — le bouton Trier réécrit la zone de texte d'entrée avec les variables dans l'ordre lexicographique croissant, remplaçant le contenu original.
- Convertir au format JSON — produit un objet JSON joliment formaté avec toutes les clés et valeurs de variables.
- Convertir au format YAML — entoure intelligemment les valeurs de guillemets doubles lorsque la valeur contient des caractères spéciaux YAML (
:,#,{,},[,],,,&,*,!,|,>,',",%,@, ``), des chaînes similaires aux booléens (true,false,yes,no,null`), des chaînes purement numériques ou des valeurs vides. - Convertir au format Docker --env-file — génère des paires
KEY=VALUEnues sans guillemets, comme requis pardocker run --env-file. - Convertir en bloc d'environnement docker-compose.yml — entoure la sortie dans un bloc YAML
environment:avec des éléments de liste (- KEY=VALUE), prêt à coller dans une définition de servicedocker-compose.yml. - Fusionner deux fichiers .env avec détection et résolution des conflits — zones de texte côte à côte ; les conflits sont listés avec les deux valeurs pour que vous puissiez choisir laquelle l'emporte avant d'appliquer.
- Afficher les statistiques : nombre de variables, commentaires, lignes vides — quatre compteurs s'affichent après l'analyse : Variables, Commentaires, Lignes vides et Doublons.
- Support de l'importation de fichiers — importez des fichiers
.env,.env.*ou.txtdirectement depuis le disque. - Traitement 100% côté client — vos secrets ne quittent jamais votre navigateur.
Comment Utiliser le Parser de Fichier .env
Étape 1 : Saisir ou Importer votre Contenu .env
Basculez entre les deux modes en utilisant les onglets Analyser et Valider et Fusionner en haut de l'outil.
En mode Analyser, collez votre contenu .env directement dans la zone de texte d'entrée à gauche, ou cliquez sur Importer pour charger un fichier depuis le disque (accepte les fichiers .env, .env.* et .txt). Si vous souhaitez explorer le comportement de l'outil sans vos propres données, cliquez sur Charger l'exemple pour remplir l'entrée avec un fichier de démonstration comprenant des commentaires, des valeurs entre guillemets, une clé en double et une ligne intentionnellement mal formée.
Exemple d'entrée :
# Application Configuration
APP_NAME=my-awesome-app
APP_ENV=production
APP_PORT=3000
# Database
DATABASE_URL="postgres://user:pass@localhost:5432/mydb"
DATABASE_POOL_SIZE=10
# Duplicate key (triggers warning)
APP_PORT=8080
# Invalid line (triggers error)
MISSING_EQUALS
Étape 2 : Examiner les Statistiques et le Panneau de Validation
Après avoir tapé ou collé du contenu, deux panneaux apparaissent sous l'éditeur :
Statistiques affiche quatre compteurs dans une grille :
- Variables — nombre d'entrées KEY=VALUE valides
- Commentaires — lignes commençant par
# - Lignes vides — lignes blanches
- Doublons — clés apparaissant plus d'une fois (le compteur devient jaune lorsqu'il est non nul)
Validation liste chaque problème trouvé :
- Les clés en double apparaissent avec une icône de triangle jaune : "Duplicate key: APP_PORT"
- Les erreurs de syntaxe apparaissent avec une icône X rouge, citant la ligne exacte : "Line 14: Missing '=' sign"
- S'il n'y a aucun problème, une coche verte confirme : "No issues found"
Étape 3 : Choisir un Format de Sortie
Le sélecteur de format du panneau droit offre cinq options :
| Étiquette du bouton | Format de sortie | Cas d'utilisation principal |
|---|---|---|
.env | KEY=VALUE (re-guillemets) | .env propre et normalisé |
JSON | Objet JSON joliment formaté | Configuration pour les applications consommant du JSON |
YAML | KEY: value (guillemets automatiques) | Variables Ansible, valeurs Helm, fichiers de config d'application |
Docker --env-file | KEY=VALUE nu, sans guillemets | docker run --env-file <fichier> |
docker-compose.yml | Bloc de liste environment: | Coller dans une définition de service |
Cliquez sur n'importe quel bouton pour changer la sortie instantanément. Tous les formats excluent les lignes de commentaires et les lignes vides — seules les entrées de variables valides sont incluses.
Le format de sortie .env normalise également les guillemets : les valeurs contenant des espaces, # ou " sont automatiquement entourées de guillemets doubles avec les guillemets doubles internes échappés.
Étape 4 : Trier et Copier
Cliquez sur Trier pour réécrire la zone de texte d'entrée avec les variables dans l'ordre alphabétique. Cela modifie l'entrée en place, de sorte que le contenu trié devient la nouvelle source pour l'analyse et la sortie.
Cliquez sur Copier dans l'en-tête du panneau de sortie pour copier le résultat formaté dans le presse-papiers.
Étape 5 : Fusionner Deux Fichiers .env (Optionnel)
Basculez sur l'onglet Fusionner. Collez ou importez un fichier .env dans la zone de texte Fichier A et un autre dans Fichier B, puis cliquez sur Fusionner les fichiers.
- Si les deux fichiers n'ont pas de clés conflictuelles (la même clé avec des valeurs différentes), la fusion se termine immédiatement et le résultat apparaît dans l'entrée de l'onglet Analyser pour une modification ultérieure.
- Si des conflits existent, un panneau de Résolution des conflits liste chaque clé conflictuelle avec les deux valeurs affichées comme boutons. Cliquez sur le bouton de la valeur que vous souhaitez conserver (A ou B), puis cliquez sur Appliquer la fusion pour combiner les fichiers en utilisant vos sélections.
Exemples Pratiques
Audit d'un .env de Production Avant le Déploiement
Collez le fichier d'environnement de production et regardez le panneau de Validation. Même une seule erreur "Missing '=' sign" ou un avertissement de clé en double peut indiquer une erreur de copier-coller qui provoquerait un échec de configuration à l'exécution. Les compteurs de Statistiques vous donnent un décompte rapide à croiser avec votre liste de variables attendues.
Conversion pour Docker
Vous avez un fichier .env qui fonctionne avec dotenv dans Node.js mais vous devez le passer à un conteneur Docker. Sélectionnez Docker --env-file pour une utilisation avec docker run --env-file .env, ou sélectionnez docker-compose.yml pour obtenir un bloc environment: prêt à l'emploi :
environment:
- APP_NAME=my-awesome-app
- APP_ENV=production
- DATABASE_POOL_SIZE=10
Collez le bloc directement dans votre définition de service.
Fusion de Fichiers de Base et de Remplacement
Votre projet a .env.base avec des valeurs par défaut partagées et .env.local avec des remplacements spécifiques au développeur. Chargez .env.base dans Fichier A et .env.local dans Fichier B, cliquez sur Fusionner les fichiers, résolvez les éventuels conflits en choisissant la valeur de remplacement locale, puis copiez la sortie fusionnée comme votre .env de travail.
Conseils et Bonnes Pratiques
Importez des fichiers plutôt que de coller de longues configurations. Le bouton d'importation de fichiers accepte les formats .env, .env.* et .txt. Cela évite les limites de taille du presse-papiers et la corruption accidentelle par les espaces de fin qui peut se produire lors de la copie depuis des terminaux.
Triez avant de comparer. Si vous comparez deux fichiers d'environnement manuellement, triez les deux d'abord. Le bouton Trier normalise l'ordre pour que votre outil de comparaison puisse trouver des modifications significatives plutôt que du bruit dû à des ordres de variables différents.
La sortie YAML met automatiquement entre guillemets les valeurs similaires aux booléens. Le formateur détecte les chaînes comme true, false, yes, no et null et les entoure de guillemets doubles. Cela empêche les parsers YAML d'interpréter FEATURE_FLAG=true comme un booléen true plutôt que la chaîne "true".
Le format de sortie .env remet entre guillemets les valeurs avec des espaces. Si votre entrée a SECRET_KEY=my secret with spaces, la sortie .env le rendra comme SECRET_KEY="my secret with spaces". Cela est sûr à recopier dans n'importe quel chargeur compatible dotenv.
Les commentaires en ligne sur les valeurs sans guillemets sont supprimés. Une ligne comme APP_PORT=3000 # HTTP port analysera la valeur comme 3000, rejetant le commentaire en ligne. Les valeurs entre guillemets comme DESCRIPTION="hello # world" préservent le # comme partie de la valeur.
Problèmes Courants et Dépannage
"Line N: Missing '=' sign" — La ligne a du contenu mais pas de signe égal. C'est l'erreur la plus courante lors du collage d'instructions d'exportation shell comme export APP_NAME=foo. Supprimez le mot-clé export avant de coller.
"Line N: Empty key" — Une ligne commence par =, comme =value. Le parser requiert une clé non vide avant le signe égal.
"Line N: Invalid key 'MY-KEY'" — Les tirets ne sont pas autorisés dans les clés de variables d'environnement selon la norme POSIX, et ce parser impose ^[a-zA-Z_][a-zA-Z0-9_]*$. Remplacez les tirets par des underscores : MY_KEY.
Avertissement de clé en double mais les valeurs sont identiques — Le parser signale toutes les clés apparaissant plus d'une fois, que les valeurs diffèrent ou non. Supprimez la ligne redondante de l'entrée.
Le bouton Fusionner est grisé — Les fichiers A et B doivent tous deux contenir du contenu. Le bouton est désactivé si l'une ou l'autre zone de texte est vide.
La sortie YAML a des guillemets inattendus — Les valeurs purement numériques ou correspondant à des littéraux booléens (true, false, yes, no, null) sont mises entre guillemets pour préserver leur type chaîne. Il s'agit d'un comportement YAML intentionnel et correct.
Confidentialité et Sécurité
Le .env File Parser s'exécute entièrement dans votre navigateur sans traitement côté serveur. Vos variables d'environnement — y compris les clés API, les identifiants de base de données et les tokens secrets — ne sont jamais transmises sur le réseau. La logique d'analyse, de validation, de conversion de format et de fusion sont toutes des fonctions JavaScript qui s'exécutent localement. L'outil fonctionne hors ligne après le chargement initial de la page. Aucun script d'analyse tiers n'a accès au contenu de la zone de texte.
Foire Aux Questions
Le .env File Parser est-il gratuit ? Oui, entièrement gratuit sans compte requis.
Est-il sécurisé de coller de vraies clés API et des secrets ? Oui. Tout le traitement se fait dans votre navigateur en utilisant JavaScript local. Rien n'est envoyé à un serveur. Vos secrets restent sur votre machine.
Puis-je l'utiliser hors ligne ? Oui. Après le chargement de la page, l'analyse et la conversion fonctionnent sans connexion internet.
Prend-il en charge les valeurs multiligne ? Le parser gère les valeurs entre guillemets sur une seule ligne. Les vraies valeurs multiligne s'étendant sur plusieurs lignes (en utilisant une continuation par barre oblique inverse ou une syntaxe de style heredoc) ne sont pas actuellement prises en charge. Divisez le contenu multiligne en une seule ligne entre guillemets avant l'analyse.
Pourquoi ma valeur entre guillemets apparaît-elle encore dans la sortie avec les guillemets supprimés ? La fonction unquoteValue supprime les guillemets simples ou doubles correspondants qui entourent l'ensemble de la valeur. DATABASE_URL="postgres://..." devient postgres://... en interne et est remis entre guillemets selon les besoins dans le format de sortie. Il s'agit du comportement correct pour la conversion de format.
Que se passe-t-il avec les lignes de commentaires dans la sortie ? Les commentaires (lignes commençant par #) sont exclus de tous les formats de sortie. Seules les entrées de variables valides sont incluses. Les commentaires sont comptés dans le panneau Statistiques mais ne sont pas écrits dans la sortie.
Puis-je fusionner plus de deux fichiers ? L'outil prend en charge la fusion d'exactement deux fichiers à la fois. Pour fusionner trois fichiers ou plus, fusionnez A+B d'abord, copiez le résultat en mode Analyser, puis utilisez-le comme Fichier A pour une deuxième fusion avec Fichier C.
L'opération de tri préserve-t-elle les lignes de commentaires ? Non. Le bouton Trier utilise uniquement les variables valides analysées pour reconstruire l'entrée triée, en supprimant les lignes de commentaires et les lignes vides. Utilisez Trier lorsque vous voulez un fichier propre et normalisé.
Qu'est-ce que le format Docker --env-file ? docker run --env-file attend des lignes KEY=VALUE nues sans guillemets shell. Le format de sortie Docker omet les guillemets même pour les valeurs avec des espaces, ce qui est correct pour le format Docker mais échouerait dans un script shell. Utilisez le format .env si vous avez besoin de guillemets sûrs pour le shell.
Puis-je détecter quelles variables diffèrent entre deux fichiers sans les fusionner ? Basculez en mode Fusionner et cliquez sur Fusionner les fichiers. La liste des conflits affiche chaque clé où le Fichier A et le Fichier B ont des valeurs différentes, ce qui sert de diff pratique des variables différentes.
Outils Connexes
- Config Generator — Générez des fichiers de configuration structurés pour divers frameworks et environnements.
- Docker Converter — Convertissez entre les formats de configuration liés à Docker.
- YAML to TOML — Convertissez entre les formats de fichiers de configuration YAML et TOML.
Essayez le .env File Parser maintenant : .env File Parser & Formatter