Accueil Blog A propos Contact Connexion
Retour à la liste des articles Débuter avec Symfony 5 : le fichier .env

Débuter avec Symfony 5 : le fichier .env

Olivier Prieur | il y a 4 ans | il y a 5 jours Développement web | 0 | 11919

Exemple pour une connexion MySQL :

DATABASE_URL=mysql://USER:PASSWORD@127.0.0.1:3306/MABASE?serverVersion=mariadb-10.3.25

Remarquez qu'ici j'ai précisé le type de serveur et sa version à la fin de la ligne. Cela m'a notamment été utile sur certains types d'environnement (Wamp sous Windows par exemple).

Ce fichier .env contient aussi les informations pour l'envoi de mail si vous décidez d'utiliser cette fonctionnalité (pour la vérification du compte lors de l'inscription, pour un formulaire de contact ou pour l'envoi d'un nouveau mot de passe...). Il contient aussi des informations concernant l'environnement technique de Symfony. En effet, vous pouvez faire tourner votre projet soit en environnement de développement (DEV) soit en environnement de production (PROD).

L’environnement de développement vous proposera plusieurs options et fonctionnalités spécifiques comme la barre de développement (en bas d'écran) qui vous permettra d'obtenir des tonnes d'infos sur l'état de votre projet (les erreurs éventuelles, la taille de la mémoire prise par le projet, les infos de connexion et d'authentification, etc.). Les erreurs seront, de plus, affichées avec toutes les infos de débug nécessaires à la correction du problème...

Une fois le développement de votre projet terminé et une fois les tests passés, vous passerez simplement la variable APP_ENV à prod (ou lieu de env). Les pages d'erreurs (404,403, 50x) seroint ainsi affichées pleinement.

Enfin, je vous conseille fortement de ne pas utiliser directement le fichier .env, tel quel.

Une astuce consiste à créer un nouveau fichier .env.local à la racine du projet et d'y copier intégralement le contenu du fichier .env. Veillez à ne laisser aucun identifiant, mot de passe, etc. dans le fichier .env.

En effet, Symfony est configuré pour chercher sa configuration premièrement dans .env puis dans tous les fichiers du type .env.*.

Quel intérêt de faire ça ? Cela concerne la sécurité, notamment si vous avez mis votre code sur Github, avec accès public. Vous ne voudriez pas que tous vos identifiants soient en accès libre sur Github ? Et bien en utilisant .env.local, cela n'arrivera pas car il ne sera pas "commité" (cf. le fichier .gitignore à la racine du site).

Git n'enverra que le fichier .env, qui ne contiendra aucune infos ou détails du site.

Olivier Prieur

Olivier Prieur

Geek quinqua nivernais fan d'ovalie, de musique, de linuxeries et de Net.
Portfolio : https://www.olivierprieur.fr

Commentaires

En soumettant ce formulaire, j’accepte que ce site conserve mes données personnelles via ce formulaire. Aucune exploitation commerciale ne sera faite des données conservées.

Il n'y a actuellement aucun commentaire pour cet article

A la une

Utiliser TailwindCSS dans un projet Symfony 7

Lire l'article

Symfony 7 avec Docker

Lire l'article

Customiser Easyadmin (2) : avec AssetMapper

Lire l'article

Je recherche un nouveau job !

Lire l'article

Les plus lus

Symfony : barre de recherche dans la sidebar 19367

Lire l'article

Débuter avec Symfony 5 : le fichier .env 11919

Lire l'article

VSCode : 10 raccourcis clavier indispensables (Linux) 11582

Lire l'article

GIT / GITHUB : aide-mémoire pour "les nuls" 10182

Lire l'article