Cours : Fichiers d’environnement
Définition et Usage
Un fichier .env (abréviation de "environment") est un fichier texte utilisé dans différents types de projets (web, applicatif, api) pour stocker des configurations d'environnement.
Exemples de variables d'environnement
Informations de Connexion à une Base de Données
Clés d'API
Avantages Clés
Sécurité :
Le fichier .env permet de stocker des informations sensibles telles que les mots de passe, les clés API, et autres données confidentielles, sans avoir à les versionner (utilisation du .gitignore), et donc sans risquer de les exposer au public.
Flexibilité
Les variables d'environnement permettent une certaine souplesse dans le développement, par exemple de changer des URLS d'API, de créer un mode debug, et le tout en ayant rien à changer dans le code source.
Maintenabilité
En séparant code et configuration cela permet au site ou à l'application de pouvoir être déployée plus facilement dans des environnements distincts. (Un serveur de Prod sur RedHat alors que le serveur de test est sur Debian par exemple).
Utilisation de la librairie PHP Dotenv
Création du fichier .env
Pour intégrer un fichier .env dans un projet il faut :
Créer un fichier nommé
.envà la racine du projet.Définir des variables sous la forme
NOM_VARIABLE=valeur.
Exemple d'un fichier .env
Une fois le fichier existant, nous allons voir comment utiliser la librairie Dotenv pour avoir accès aux variables définie dans .env dans votre code PHP.
Installer PHP Dotenv via Composer
Composer est un outil de gestion des dépendances : il permet de récupérer/installer des versions précises de biliothèques extérieures à votre projet et tout composant nécessaire à leur bon fonctionnement.
composer est déjà installé sur l'IDE de la 3WA
Dans notre cas voici la commande à écrire dans votre terminal à la racine d'un projet pour récupérer la librairie PHP de Dotenv
Vous trouverez ainsi tous les composants nécessaires au fonctionnement de la librairie PHP Dotenv dans un dossier ./vendor.
Exemple d'utilisation dans PHP
Utiliser une bibliothèque spécifique comme Dotenv pour PHP va permettre de lire le contenu du fichier .env et d'en charger ses variables dans votre application PHP de manière globale.
Exemple :
Documentation complète de PHP Dotenv : https://github.com/vlucas/phpdotenv
Bonnes Pratiques
Ne jamais versionner le fichier
Pour des raisons de sécurité, il est crucial de ne pas versionner le fichier .env, vous pouvez donc directement l'ajouter dans votre .gitignore. Vous pouvez par contre versionner un .env.example qui contient simplement des valeurs d'exemple pour, si vous travaillez en groupe que chacun-e sache quoi mettre dans son .env.
Exemple de fichier gitignore
Utiliser des fichiers distincts pour différents environnements
Il est recommandé d'avoir des fichiers .env séparés pour les environnements de développement, de test et de production, contenant des variables appropriées à chaque contexte