laravel logo and development related image to the right

Comment utiliser les variables d'environnement PHP dans Laravel

Publié le March 20, 2025

Temps de lecture : 6 minutes

Cet article a été mis à jour en juillet 2025

Les variables d'environnement sont essentielles dans Laravel pour gérer les paramètres de configuration dans différents environnements (local, staging et production). Laravel stocke ces paramètres dans un fichier .env ce qui permet de conserver les données sensibles hors du contrôle de version. Cela garantit la flexibilité et la sécurité lors du déploiement des Applications.

Dans ce guide, nous allons vous montrer comment configurer et utiliser les variables d'environnement dans un environnement de développement dans ce cas, car les environnements de production et de mise à l'essai ont des fichiers .env qui doivent être gérés par une plateforme d'hébergement gérée telle que Platform.sh, Laravel Forgeou Laravel Cloud.

Configuration des variables d'environnement

Création et utilisation du.env Fichier

Laravel inclut un fichier .env.example par défaut. Pour commencer à utiliser les variables d'environnement, créez un nouveau fichier .env en copiant le fichier d'exemple :

cp .env.example .env

Ensuite, ouvrez le fichier .env et définissez les paramètres de votre application :

APP_NAME=VonageVerifyApp
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

VONAGE_API_KEY=your_api_key
VONAGE_API_SECRET=your_api_secret

Après avoir modifié le fichier .env il convient d'effacer le cache de configuration pour appliquer les modifications :

php artisan config:clear

Accès aux variables d'environnement dans Laravel

L'utilisation de laenv() Aide

Laravel fournit une aide env() pour récupérer les variables d'environnement :

$apiKey = env('VONAGE_API_KEY');

Important: N'utiliser env() uniquement dans les fichiers de configuration. Pour garder la logique de l'application propre et maintenable, récupérez les paramètres via l'aide de Laravel config() de Laravel. Ceci est d'autant plus important que Laravel met en cache le fichier des variables d'environnement, et n'invalide pas automatiquement le cache lorsqu'une variable change dans le fichier.

Utilisation des fichiers de configuration de Laravel

Les fichiers de configuration de Laravel (qui se trouvent dans le répertoire config/ ) sont la meilleure façon de gérer les paramètres de l'environnement. Le conteneur de service config de Laravel lit automatiquement chaque fichier dans le répertoire config. Ainsi, pour ajouter votre clé Vonage et votre secret API, créez un nouveau fichier dans config et nommez-le vonage.php. Cela devrait retourner un tableau avec votre clé et votre secret API.

Par exemple, dans config/services.phpvous pouvez faire référence à des variables d'environnement pour l'API Verify API de Vonage:

'vonage' => [
    'api_key' => env('VONAGE_API_KEY'),
    'api_secret' => env('VONAGE_API_SECRET'),
],

Pour récupérer ces valeurs dans votre application, utilisez :

$apiKey = config('vonage.api_key');
$apiSecret = config('vonage.api_secret');

Utilisation de variables d'environnement dans l'API Verify

Les variables d'environnement étant correctement configurées, vous pouvez maintenant intégrer l'API Verify de Vonage dans votre application Laravel. Nous vous montrerons comment le faire manuellement, mais lors de la construction de votre application, vous voudrez probablement écrire un service qui démarre automatiquement votre application dans le conteneur de service. Vous pouvez en savoir plus sur la façon de procéder dans la documentation Laravel.

Exemple : Envoi d'une demande de vérification

use Vonage\Client;
use Vonage\Client\Credentials\Basic;

use Vonage\Verify2\Request\SMSRequest;
$apiKey = config('vonage.api_key');
$apiSecret = config('vonage.api_secret');

$credentials = new Basic($apiKey, $apiSecret);
$client = new Client($credentials);

$verification = new SmsRequest('+14155550123', 'acme-company');

$response = $client->verify()->start($verification);

echo "Request ID: " . $response->getRequestId();

Exemple : Vérification d'un code de vérification

$requestId = 'VERIFY_REQUEST_ID';
$code = 'VONAGE_VERIFY_CODE; // Code entered by the user

try {
$response = $client->verify2()->check($requestId, $code);
echo $response;} catch ($exception) {
echo $exception->getMessage();
}

Configuration des paramètres spécifiques à l'environnement

Laravel vous permet de personnaliser les paramètres pour différents environnements. Par exemple, dans config/logging.phpvous pouvez définir différents niveaux de log en fonction de l'environnement. Le deuxième argument de la fonction d'aide env() est la valeur par défaut, alors assurez-vous de savoir où vous le définissez :

'log_level' => env('LOG_LEVEL', 'debug'),

Définissez le niveau de journalisation dans vos .env fichiers :

LOG_LEVEL=debug  # Local Development
LOG_LEVEL=error  # Production

Cette approche vous permet de modifier le comportement de l'application sans changer le code.

Amélioration des performances grâce à la mise en cache de la configuration

Pour les environnements de production, mettez en cache vos paramètres de configuration pour améliorer les performances :

php artisan config:cache

Après l'exécution de cette commande, Laravel arrête de lire le fichier .env et utilise la configuration mise en cache à la place. Si vous apportez des modifications à .enveffacez le cache avant de les appliquer :

php artisan config:clear

Meilleures pratiques en matière de sécurité

Pour assurer la sécurité des données sensibles, suivez ces bonnes pratiques :

  • Ne validez jamais votre fichier .env ajoutez-le à .gitignore.

  • Utilisez des fichiers d'environnement distincts pour la version locale, la version d'essai et la version de production.

  • Ne jamais coder en dur des clés ou des secrets d'API dans le code de votre application.

  • Utiliser config() au lieu de env() dans la logique de l'application pour éviter les problèmes liés à la mise en cache de la configuration.

  • Envisagez des outils de gestion des secrets comme AWS Secrets Manager, HashiCorp Vault, ou la gestion de l'environnement Docker/Kubernetes pour la sécurité de la production.

Dépannage des variables d'environnement

Si vos variables d'environnement ne se chargent pas correctement, essayez de les effacer et de les remettre en cache :

php artisan config:clear  
php artisan config:cache  

Conclusion

Et c'est tout ! L'utilisation de variables d'environnement dans Laravel permet de gérer efficacement les paramètres de configuration tout en sécurisant les données sensibles.

Vous avez une question ou souhaitez partager ce que vous construisez ?

Restez connecté et tenez-vous au courant des dernières nouvelles, astuces et événements concernant les développeurs.

Partager:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana PhamDéfenseur des développeurs

Diana est défenseur des développeurs chez Vonage. Elle aime manger des huîtres fraîches.