23 février 2023   |   De Jérôme Borg   |    Laravel

Le fichier d'environnement .env

Le fichier d'environnement .env

<p><strong>Le fichier d'environnement .env</strong><p>Le fichier d'environnement contient toutes les variables d'environnement de votre système qui sont en fait des constantes, les paramètres de la base de données, vos clés Aws...</p><p>Ce fichier est un peu particulier, c'est un fichier texte, auquel le système peut accéder grâce a la méthode env('key')</p><p>Les clés sont écrites en majuscule (ce sont des constantes), et les valeurs doivent être entre apostrophe, si elles contiennent des espaces.</p><p>Pour mettre en commentaire une constante on utiliser le caractère #</p><pre class="language-php"><code># VOTRE APPLICATION APP_NAME="Mon application de démonstration" // son nom APP_ENV=local // le mode, local en développement, et production sur le serveur APP_KEY=base64:qtrxnJk7b9oX2OFm6XXCnrYircR8hECFhHPYLj3CsQM= // key pour encrypter les données et le hashage des mots de pass APP_DEBUG=true // debugage, true en développement, et false en production APP_URL=http://stuff.test // l'url de l'application # LES LOGS LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug # LA BASE DE DONNEES DB_CONNECTION=mysql // type de base, les drivers sont définies dans config/database.php DB_HOST=192.168.10.10 // l'url du serveur DB_PORT=3306 // le port défaut mysql DB_DATABASE=db_stuff // la base DB_USERNAME=homestead // l'utilisateur DB_PASSWORD=secret // le mot de passe BROADCAST_DRIVER=log // le driver de broadcast, pour par exemple un chat, config/broadcasting.php CACHE_DRIVER=file // le driver de cache, config/cache.php FILESYSTEM_DISK=local // le stockage de fichier config/filsystem.php QUEUE_CONNECTION=sync // le mode pour les queues config/queue.php SESSION_DRIVER=file // la session config/session.php SESSION_LIFETIME=120 // la durée de vie de la session en minute MEMCACHED_HOST=127.0.0.1 // l'url du serveur MEMCACHED dans le cas de cache avec MEMCACHED # LES PARAMETRES REDIS DANS LE CAS DE CACHE AVEC REDIS REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 # LES PARAMETRES D'EMAIL POUR L'ENVOI D'EMAIL MAIL_MAILER=smtp MAIL_HOST=mailpit MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=hello@example.com MAIL_FROM_NAME="${APP_NAME}" # PARAMETRE AMAZON AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false # PARAMETRE PUSHER POUR LE BROADCASTING PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_HOST= PUSHER_PORT=443 PUSHER_SCHEME=https PUSHER_APP_CLUSTER=mt1 VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" VITE_PUSHER_HOST="${PUSHER_HOST}" VITE_PUSHER_PORT="${PUSHER_PORT}" VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"</code></pre><p>Le fichier d'environnement ne doit pas être diffusé, et donc ne pas faire partie de votre dépôt github. </p><p>Nous pouvons ajouter au tant de clé/valeur que nous souhaitons, si nous ajoutons des clés/valeurs, il faudra ajouter seulement la clé au fichier .env.example, afin que les collaborateurs sachent que vous utilisez d'autres clés, comme par exemple :</p><pre class="language-php"><code>STRIPE_PUBLIC_KEY= STRIPE_SECRET_KEY= STRIPE_WEBHOOK_KEY=</code></pre><p>Toutes ses clés/valeurs sont récupérables dans les fichiers de configuration, comme par exemple, dans config/app.php</p><pre class="language-php"><code>'name' = env('APP_NAME', 'Laravel'),</code></pre><p>Ici nous récupérons la clé APP_NAME, si elle n'existe pas, la valeur par défaut sera 'Laravel'</p><p>Enfin il est très fortement déconseillé d'utiliser la méthode env('key'), en dehors des fichiers de configuration (dossier config), car en production, si nous mettons la configuration en "cache", le fichier d'environnement ne sera plus accessible.</p></p>
De Jérôme Borg
Le 23 février 2023
Temps de lecture : 5 min
Jérôme Borg
Jérôme Borg

Développeur fullstack laravel/VueJs, formateur

Tous les articles de cet auteur
Articles recommandés
L'Authentification
L'Authentification
Jérôme Borg De Jérôme Borg | 12 mai 2023 | Lu : 5min
Le Crud
Le Crud
Jérôme Borg De Jérôme Borg | 11 avril 2023 | Lu : 21min