Apprenez à configurer proprement votre source de données dans Laravel. Du nouveau moteur par défaut SQLite (Laravel 11) aux bases de production robustes comme MySQL / PostgreSQL, découvrez les mécanismes du fichier .env et du fichier config/database.php.
Découplez vos identifiants secrets du code source. Le fichier .env est ignoré par Git pour sécuriser vos accès.
SQLite par défaut en Laravel 11 (zéro configuration requise), mais aussi MySQL, MariaDB, PostgreSQL et SQL Server.
Le tableau associatif central qui mappe les variables d'environnement vers les options de connexion PDO et le charset utf8mb4.
Inspectez la santé de votre base de données, la taille des tables et le nombre d'enregistrements directement en ligne de commande.
# ------------------------------------------------------------- # 1. OPTION RECOMMANDÉE EN PROD / DÉV : MySQL ou MariaDB # ------------------------------------------------------------- DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=learnweb_db DB_USERNAME=root DB_PASSWORD=secret # ------------------------------------------------------------- # 2. NOUVEAU STANDARD RAPIDE LARAVEL 11 : SQLite # Aucun serveur à lancer, un simple fichier database/database.sqlite ! # ------------------------------------------------------------- # DB_CONNECTION=sqlite # ------------------------------------------------------------- # 3. COMMANDES ARTISAN INDISPENSABLES # ------------------------------------------------------------- # Vérifier la connexion et inspecter la base de données : php artisan db:show # Inspecter la structure et les index d'une table spécifique : php artisan db:table users # Vider le cache de configuration si vous venez de modifier .env : php artisan config:clear
Choisissez votre système de gestion de base de données (SGBD), personnalisez vos paramètres et testez la connexion simulée comme le ferait Laravel au démarrage de l'application.
env('DB_DATABASE', '...') dans les fichiers de configuration. .env.example à jour dans votre dépôt Git sans mots de passe réels pour que votre équipe puisse cloner facilement. env('DB_HOST') dans un contrôleur ou un service ! Utilisez toujours config('database.connections.mysql.host') car le cache de config vide les variables env() en production. Si vous modifiez une variable dans .env et que rien ne change sur votre site, c'est presque toujours parce que la configuration a été mise en cache :
En environnement local de développement, n'exécutez jamaisphp artisan config:cache, réservez cette commande exclusivement à vos serveurs de production pour optimiser les performances.