0Pricing
PHP Academy · Leçon

Variables d’environnement et fichiers .env

Gérer la configuration sensible avec des fichiers .env et des bibliothèques dotenv en PHP.

Variables d’environnement et fichiers .env est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Pourquoi utiliser des variables d’environnement ?

Inscrire des identifiants ou une configuration propre à l’environnement directement dans le code source n’est pas sécurisé et rend les déploiements fragiles. Les variables d’environnement séparent la configuration du code.

Le fichier .env

Un fichier .env contient des paires clé-valeur chargées dans l’environnement au démarrage. Ajoutez-le à .gitignore — NEVER ne le validez dans le système de gestion de versions.

# .env
APP_ENV=production
APP_KEY=base64:...
DB_HOST=127.0.0.1
DB_NAME=myapp
DB_USER=myapp_user
DB_PASS=supersecret

REDIS_HOST=127.0.0.1
MAIL_HOST=smtp.mailtrap.io

Intégration de .env dans Laravel

Laravel utilise vlucas/phpdotenv pour charger automatiquement .env. Accédez aux valeurs avec l’assistant env().

<?php
$host = env("DB_HOST", "127.0.0.1"); // "127.0.0.1" is the default

config() ou env()

Utilisez env() uniquement dans les fichiers config/*.php. Partout ailleurs, utilisez config("database.host") — cela fonctionne correctement avec la mise en cache de la configuration.

<?php
// In config/database.php:
"host" => env("DB_HOST", "127.0.0.1")

// In your service classes:
$host = config("database.connections.mysql.host");

Mise en cache de la configuration

Mettez la configuration en cache en production afin d’éviter d’analyser .env à chaque requête.

$ php artisan config:cache
# After changing .env:
$ php artisan config:clear

PHP sans framework avec phpdotenv

Utilisez vlucas/phpdotenv en dehors de Laravel.

$ composer require vlucas/phpdotenv

<?php
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$host = $_ENV["DB_HOST"];

Variables obligatoires

Imposez la présence des variables d’environnement obligatoires au démarrage afin de détecter rapidement les éléments de configuration manquants.

<?php
$dotenv->required(["DB_HOST", "DB_NAME", "DB_USER", "DB_PASS"]);
$dotenv->required(["DB_PORT"])->isInteger();

.env.example

Validez un fichier .env.example contenant tous les noms de variables, mais aucune valeur. Les développeurs le copient vers .env et le remplissent avec leurs propres valeurs.

Variables d’environnement au niveau du serveur

En production, définissez les variables d’environnement au niveau du serveur (fichiers de service systemd, options --env de Docker, secrets Kubernetes) plutôt que dans un fichier .env.

# systemd service:
[Service]
Environment="APP_ENV=production"
Environment="DB_HOST=db.internal"

Gestion des secrets

Pour les identifiants sensibles, comme les clés d’API et les certificats, envisagez un gestionnaire de secrets : HashiCorp Vault, AWS Secrets Manager ou les secrets de GitHub Actions pour l’intégration continue.

Résumé

Stockez toute la configuration propre à l’environnement dans .env. Ne le validez jamais. Utilisez config() dans le code de l’application ; utilisez env() uniquement dans les fichiers de configuration. Mettez la configuration en cache en production avec php artisan config:cache.

Vérification rapide

Où devez-vous appeler env() dans une application Laravel ?

Questions Fréquemment Posées

La leçon « Variables d’environnement et fichiers .env » est-elle gratuite ?

Oui — le texte complet de « Variables d’environnement et fichiers .env » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Variables d’environnement et fichiers .env » ?

Gérer la configuration sensible avec des fichiers .env et des bibliothèques dotenv en PHP. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Variables d’environnement et fichiers .env » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Configuration de Nginx et PHP-FPM
  2. Variables d’environnement et fichiers .env
  3. Déployer avec GitHub Actions
  4. Conteneuriser une application PHP avec Docker
← Retour à PHP Academy