https://a.storyblok.com/f/270183/1368x665/bf41915afb/25feb_dev-blog_java-enviormental-variables.png

Comment utiliser les variables d'environnement en JavaScript avec Dotenv

Publié le February 18, 2025

Temps de lecture : 3 minutes

Introduction

Coder en dur des informations sensibles dans vos fichiers source revient à écrire votre mot de passe sur une note autocollante et à la laisser sur votre ordinateur portable à la vue de tous - ce n'est pas une bonne idée ! Une meilleure approche, plus sûre, consiste à utiliser des variables d'environnementqui permettent de stocker en toute sécurité des données sensibles telles que les clés d'API et les mots de passe en dehors de votre base de code.

Tous les frameworks JavaScript n'importent pas automatiquement les variables d'environnement, c'est pourquoi l'utilisation d'un module comme dotenv -une bibliothèque légère et sans dépendance, est une bonne pratique pour simplifier ce processus. Dotenv lit les variables définies dans un fichier .env et les charge dans l'objet process.env de Node.js, qui agit comme un magasin global pour les variables d'environnement sous forme de paires clé-valeur (toutes les valeurs étant sauvegardées sous forme de chaînes de caractères). Cette configuration garantit que vos informations sensibles sont accessibles en toute sécurité dans l'ensemble de votre application sans les exposer dans votre code.

Voyons maintenant comment utiliser les variables d'environnement avec dotenv à l'aide d'un exemple pratique : l'envoi d'un message WhatsApp en utilisant l'API Vonage Messages API!

Installer Dotenv

Exécutez les commandes suivantes dans votre terminal pour initialiser npminstaller dotenv, et initialiser le dépôt git sur le projet :

// initialize npm on the project
npm init -y

// install dotenv
npm install dotenv --save

// initialize git repo
git init

Utiliser Dotenv

Pour commencer à utiliser dotenv, créez un fichier .env dans le répertoire racine de votre projet. Ce fichier contiendra vos variables d'environnement. Vous pouvez suivre le tutoriel complet sur l'envoi d'un message WhatsApp pour trouver ces valeurs dans votre application Vonage :

VONAGE_API_KEY="your-api-key"
VONAGE_API_SECRET="your-api-secret"
VONAGE_APPLICATION_ID="your-application-id"
VONAGE_PRIVATE_KEY="path/to/your/private.key"
TO_NUMBER="recipient-phone-number"
WHATSAPP_NUMBER="sender-phone-number"

Note : si votre variable contient des espaces, mettez-la entre guillemets.

Envoyer un message WhatsApp avec Vonage Messages API

Créez ensuite un fichier send-whatsapp-message.js fichier.

Ajoutez cette ligne comme point d'entrée de l'application pour configurer dotenv :

require('dotenv').config();

Ajoutez cette ligne et exécutez-la, puis supprimez-la une fois que vous avez confirmé que dotenv fonctionne :

console.log(process.env);

Pour accéder aux variables d'environnement dans Node.js, utilisez process.env suivi du nom de la variable. Par exemple :

const VONAGE_APPLICATION_ID = process.env.VONAGE_APPLICATION_ID;

Ajouter le reste du code :

// initialize dependencies 
const VONAGE_APPLICATION_ID = process.env.VONAGE_APPLICATION_ID;
const VONAGE_PRIVATE_KEY = process.env.VONAGE_PRIVATE_KEY;

const TO_NUMBER = process.env.TO_NUMBER;
const WHATSAPP_NUMBER = process.env.WHATSAPP_NUMBER;

const { Vonage } = require('@vonage/server-sdk');
const { WhatsAppText } = require('@vonage/messages');

const vonage = new Vonage({
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_PRIVATE_KEY,
});

// the logic
vonage.messages.send(
  new WhatsAppText({
    text: 'This is a WhatsApp Message text message sent using the Messages API',
    to: TO_NUMBER,
    from: WHATSAPP_NUMBER,
  }),
)
  .then((resp) => console.log(resp.messageUUID))
  .catch((error) => console.error(error));

Maintenant, si vous exécutez le code, il devrait accéder à vos variables d'environnement pour envoyer le message :

node send-whatsapp-message.js

Une autre façon d'invoquer .env est de l'appeler à l'intérieur d'un script. Cela signifie que vous n'aurez pas besoin de require('dotenv').config() au début de votre fichier send-whatsapp-message.js au début de votre fichier Au lieu de cela, allez dans le fichier package.json de votre projet et créez un script appelé “dev” comme suit :

"scripts": {
"dev": "node -r dotenv/config send-whatsapp-message.js"

Si vous exécutez le script, vous obtiendrez toujours vos variables d'environnement !

npm run dev

Gérer plusieurs environnements

Dans les projets complexes, vous pouvez avoir besoin de fichiers .env pour les environnements de développement, de test et de production. Des outils comme dotenv-cli peuvent vous aider à gérer plusieurs environnements.

Par exemple, vous pouvez utiliser différents .env différents :

  • .env.local

  • .env.production

Chargez-les à l'aide de la commande dotenv-cli CLI :

$ dotenv -e .env.production node send-whatsapp-message.js

Déployer en toute sécurité

Pour un déploiement sécurisé, .env ne doivent jamais être livrés au contrôle de source ! Utilisez .gitignore pour les exclure.

Pour ce faire, créez un fichier .gitignore dont le contenu est le suivant :

.env

Maintenant, lorsque vous effectuez un commit dans git, tout ce qui se trouve dans le fichier sauf le(s) fichier(s) listé(s) sera(ont) poussé(s) dans le dépôt.

Conclusion

Maintenant que vous avez appris à utiliser les variables d'environnement en JavaScript, vous pouvez arrêter de coder en dur vos informations personnelles dans votre code et de les publier sur prod pour que le monde entier puisse les voir ! Avez-vous d'autres bonnes pratiques concernant l'utilisation des variables d'environnement ? Si c'est le cas, n'hésitez pas à les partager et à taguez-moi - J'aimerais beaucoup en entendre parler ! N'hésitez pas non plus à rejoindre notre communauté Slack et suivez-nous sur Xanciennement connu sous le nom de Twitter. Bon codage !

Partager:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana PhamDéfenseur des développeurs

Diana est défenseur des développeurs chez Vonage. Elle aime manger des huîtres fraîches.