Comment paramétrer vos variables d'environnement
Temps de lecture: 4 minutes
Il y a certaines choses qu’on ne devrait juste pas partager avec notre code. Il y a souvent des valeurs de configuration qui dépendent de l’environnement, comme les flags de débogage ou les Access Token pour des APIs comme Twilio.
Les variables d’environnement sont une bonne solution et sont faciles à utiliser dans la plupart des langages.
Variables d’environnement ????
Les variables d’environnement, comme leur nom le suggère, sont des variables qui décrivent votre environnement dans votre système. La plus connue est sûrement PATH
- qui détient les chemins d’accès pour tous les dossiers qui pourraient contenir des exécutables. Avec PATH
vous pouvez juste écrire le nom d’un exécutable plutôt qu’un chemin entier pour y arriver dans votre terminal puisque le shell va vérifier le répertoire local ainsi que les répertoires spécifiés dans la variable PATH
pour cet exécutable.
Hormis les variables “built-in” (intégrées), nous avons aussi l’opportunité de définir nos propres variables d’environnement. Comme elles sont liées à notre environnement, elles sont utiles pour les Access Token d’API, par exemple. Vous pourriez avoir une variable définie sur une valeur dans votre machine de développement et une autre dans votre environnement de production sans avoir des déclarations if
ou des fichiers configurés spécialement.
Par exemple, les librairies d’aide Twilio cherchent les variables d’environnement TWILIO_ACCOUNT_SID
et TWILIO_AUTH_TOKEN
pour instancier un client avec ces deux valeurs. De cette façon, vous n’avez pas à vous soucier d’accidentellement mettre des identifiants sensibles dans un endroit comme GitHub.
Les variables d’environnement de Windows
Le réglage des variables d’environnement dans Windows est bien caché sous plusieurs couches de configuration de dialogues. Comme souvent dans Windows, nous paramétrerons les variables d’environnement en utilisant une interface utilisateur graphique. Pour ouvrir les interfaces respectives, vous devez d’abord ouvrir l’invite de Windows Run. Faites-le en pressant simultanément les touches Windows
et R
sur votre clavier. Saisissez sysdm.cpl
dans le champ d’entrée et appuyez sur Enter
ou Ok.
Dans la nouvelle fenêtre qui s’ouvre, cliquez sur l’onglet Advanced (Avancé), puis sur le bouton Environment Variables (variables d’environnement) en bas à droite de la page.
La fenêtre a deux sections différentes. L’une contient la liste des variables d’environnement qui sont spécifiques à votre utilisateur, ce qui signifie qu’elles ne sont pas disponibles pour les autres utilisateurs. La deuxième section contient les variables du système global qui sont partagées entre tous les utilisateurs.
Créez une variable spécifique d’utilisateur en cliquant sur le bouton New (Nouveau) en dessous de la section user-specific. Dans l’invite, vous pouvez maintenant spécifier le nom de votre variable ainsi que la valeur. Créez une nouvelle variable avec le nom TWILIO_ACCOUNT_SID
et copiez votre Account SID Twilio à partir de la Console. Cliquez sur Ok dans l’invite pour créer la variable, puis à nouveau dans la fenêtre des Environment Variables. Vous êtes maintenant bien configuré !
Pour tester si ça a fonctionné, ouvrez l’invite de commande en appuyant sur Windows
+ R
et en tapant cmd.exe
. Si vous avez déjà ouvert l’invite de commandes, assurez-vous de la relancer pour vérifier que vos modifications ont été appliquées. Puis exécutez la commande suivante :
Cela devrait afficher la valeur que vous avez enregistrée dans la variable d’environnement.
Distributions macOS et Linux
Dans le but de paramétrer vos variables d’environnement sur macOS ou n’importe quel système d’exploitation basé sur UNIX, vous devez d’abord trouver quel shell vous allez exécuter. Vous pouvez faire ça en exécutant la commande suivante dans votre terminal :
La fin de la sortie devrait indiquer quel shell vous exécutez. Le shell typique est le shell bash
que nous utiliserons dans cet exemple. Mais les étapes sont similaires pour les autres shells comme zsh
ou fish
.
Pour paramétrer une variable d’environnement, nous avons besoin d’utiliser la commande export sous le format suivant :
Puisque cela ne la paramètrera que pour notre session actuelle, nous avons besoin d’ajouter cette commande à un fichier qui sera exécuté pour chaque session. Pour ce faire, ouvrez le fichier .bashrc
dans votre répertoire root avec votre éditeur de code favori. Ajoutez la ligne suivante quelque part dans votre fichier .bashrc
:
Remplacez votreaccountsid
avec votre Account SID actuel que vous pouvez trouver dans la Console Twilio. Sauvegardez le fichier et ouvrez une nouvelle instance de terminal pour tester si ça a fonctionné en exécutant :
Vous devriez voir la valeur que vous avez stockée s’afficher.
.env.
Dans certaines situations, vous avez seulement besoin d’une variable d’environnement paramétrée pour un seul projet. Dans ce cas, les fichiers .env
sont une bonne solution. C’est un fichier, au sein de votre projet, dans lequel vous spécifiez ces variables d’environnement. Après quoi vous pouvez vous servir de la librairie correspondant à votre langage de programmation respectif afin de charger le fichier qui définira dynamiquement ces variables.
Il existe des librairies pour la plupart des langages de programmation afin de charger ces fichiers. En voici quelques-unes :
Créez un fichier .env
dans votre dossier de projet (généralement à la racine) et placez-y la paire clé / valeur. Cela peut ressembler à ça :
Puisque vous ne voulez probablement pas suivre vos variables d’environnement dans votre repo git, assurez-vous d’ajouter le chemin vers votre fichier .env à votre
.gitignore pour éviter de le push accidentellement.
Fournisseurs de Cloud
Paramétrer vos variables d’environnement sur votre machine de développement locale ou dans une VM (Virtual Machine) ne représente que la moitié du travail…
Et si on hébergeait notre application dans environnement cloud comme Heroku, Azure et AWS, ou même, qu’on l'encapsulait dans un conteneur Docker ? Par chance, tous ces fournisseurs ont une façon de définir des variables d’environnement. Vous pouvez trouver les instructions sur comment les paramétrer dans leurs documentations respectives :
Si vous ne pouvez pas trouver votre hébergeur cloud dans cette liste, ça ne veut pas forcément dire qu’il n’y a pas de façon de configurer vos variables d’environnement. Assurez-vous d’aller voir leurs documentation pour en savoir plus.
Résumé
C’est tout ! Vous pouvez maintenant paramétrer des variables d’environnement, ce qui signifie que vous pouvez prendre les valeurs de configuration basées sur votre environnement, hors de votre code et ainsi rendre celui-ci plus flexible et sécurisé.
Faites attention à ce que ces valeurs soient bien stockées en texte brut. Si vous prévoyez de stocker des valeurs très sensibles, vous devriez vous renseigner sur des solutions de stockage secret comme Vault.
Si vous avez des questions, ou que vous aimeriez partager les merveilleux projets que vous construisez en ce moment, envoyez-moi un mail à l’adresse dkundel@twilio.com, ou contactez-moi sur Twitter @dkundel. J’ai hâte de voir ce que vous allez construire !
Articles associés
Ressources connexes
Twilio Docs
Des API aux SDK en passant par les exemples d'applications
Documentation de référence sur l'API, SDK, bibliothèques d'assistance, démarrages rapides et didacticiels pour votre langage et votre plateforme.
Centre de ressources
Les derniers ebooks, rapports de l'industrie et webinaires
Apprenez des experts en engagement client pour améliorer votre propre communication.
Ahoy
Le hub de la communauté des développeurs de Twilio
Meilleures pratiques, exemples de code et inspiration pour créer des expériences de communication et d'engagement numérique.