Ce que c'est
Un comparateur gratuit et privé pour variables d'environnement. Il comprend dotenv, les lignes export, les guillemets, les valeurs sur plusieurs lignes, le JSON et le YAML simple.
Comparaison de variables d'environnement
Collez deux fichiers env et, si vous l'avez, votre .env.example. Env Diff les aligne clé par clé, garde les valeurs masquées et signale les clés manquantes, les valeurs différentes, les clés de test en production, les secrets exposés au navigateur et les valeurs provisoires que personne n'a remplacées.
- FEATURE_NEW_CHECKOUT=true + OPENAI_API_KEY=chan••••valeur provisoire ~ APP_URL=http••••••••adresse http non chiffrée ~ NEXT_PUBLIC_STRIPE_KEY=pk_l•••••••• STRIPE_SECRET_KEY=sk_t••••••••clé de test ou de bac à sable JWT_SECRET=shar••••••••même secret des deux côtés
Un comparateur gratuit et privé pour variables d'environnement. Il comprend dotenv, les lignes export, les guillemets, les valeurs sur plusieurs lignes, le JSON et le YAML simple.
Les développeurs qui livrent seuls, les responsables de mise en production, les équipes DevOps et tous ceux qui ont perdu une soirée à cause d'une seule clé absente en production.
La dérive de configuration. Le code est relu et testé, les fichiers env rarement. Une clé oubliée ou une clé de test en production passe alors sans que personne ne la voie.
L'analyse et la comparaison se font dans cet onglet. Rien n'est envoyé, journalisé ni conservé.
Les valeurs restent masquées tant que vous ne les affichez pas. Le rapport ne contient jamais de valeur.
$ env diff ▌
Collez deux fichiers env, ou chargez les fichiers de démo pour voir chaque type de résultat.
Les valeurs ne quittent jamais cette page. Le rapport et le CSV ne listent que les clés et les résultats.
Les résultats de l'environnement B sont traités comme ceux de la production. Les secrets exposés au navigateur comptent des deux côtés.
Les préfixes comme NEXT_PUBLIC ou VITE placent la valeur dans votre bundle JavaScript. N'importe qui peut la lire.
Les clés comme sk_test n'encaissent aucun vrai paiement et n'envoient aucun vrai courriel. Sans souci en staging, une panne silencieuse en production.
Une adresse de base de données, de cache ou d'API qui ne fonctionne que sur le poste d'un développeur. En production, elle échoue ou atteint le mauvais service.
changeme, xxx, TODO ou des chevrons. Quelqu'un a copié l'exemple sans jamais le remplir.
Staging et production partagent un secret, donc une fuite en staging ouvre aussi la production.
Une adresse publique sans https. Cookies, jetons et redirections peuvent casser ou fuiter.
Les options de débogage montrent aux visiteurs des traces de pile et des détails internes, et ralentissent tout.
Un secret, jeton ou mot de passe de moins de 12 caractères se devine facilement.
La valeur fait référence à une variable absente du même fichier et se retrouve donc vide.
La clé existe mais n'a pas de valeur. Beaucoup de bibliothèques la considèrent comme définie puis échouent de façon étrange.
En général le staging ou votre fichier local. Renommez l'étiquette selon votre organisation.
En général la production. Exportez ses variables depuis votre hébergeur ou copiez son contenu depuis votre coffre de secrets.
Facultatif. Collez .env.example pour voir quelles clés obligatoires manquent et lesquelles ne sont documentées nulle part.
Les clés manquantes d'abord, puis les valeurs différentes, puis les identiques. Les valeurs à risque sont signalées sur chaque ligne.
Téléchargez un nouveau .env.example avec toutes les clés et copiez le rapport dans la liste de contrôle de la mise en production.
La page n'envoie nulle part ce que vous collez et le rapport ne contient aucune valeur. Le réflexe le plus sûr reste toutefois de renouveler tout secret qui a été affiché sur un écran partagé.
La plupart des gens comparent le staging à la production. Mettez dans B l'environnement que vous allez livrer et les contrôles de risque s'y appliqueront.
C'est un court SHA 256 de chaque valeur. Elle montre que deux valeurs diffèrent sans révéler ni l'une ni l'autre.
Comparez vos fichiers deux à deux avec le même modèle. Le modèle rattache chaque comparaison à une seule liste de clés.