Laravel
Laravel 11 & 10 • Chapitre 2 : Base de Données

Configuration de la Base de Données & Environnement (.env)

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.

📄
Fichier .env Central

Découplez vos identifiants secrets du code source. Le fichier .env est ignoré par Git pour sécuriser vos accès.

🔌
Drivers Multiples

SQLite par défaut en Laravel 11 (zéro configuration requise), mais aussi MySQL, MariaDB, PostgreSQL et SQL Server.

⚙️
config/database.php

Le tableau associatif central qui mappe les variables d'environnement vers les options de connexion PDO et le charset utf8mb4.

🔍
Artisan db:show

Inspectez la santé de votre base de données, la taille des tables et le nombre d'enregistrements directement en ligne de commande.

.env & commandes Artisan Database (Laravel 10 / 11)
# -------------------------------------------------------------
# 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

Simulateur Générateur et Testeur de Connexion BDD (.env)

Simulation Interactive PDO

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.

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=learnweb_db DB_USERNAME=root DB_PASSWORD=
// php artisan db:show
Cliquez sur « Tester la connexion » pour vérifier la connectivité avec votre base de données.
Statut :En attente
Bonnes Pratiques
  • • Ne jamais modifier config/database.php pour des valeurs en dur : Conservez toujours les appels env('DB_DATABASE', '...') dans les fichiers de configuration.
  • • Fichier .env.example : Maintenez toujours un fichier .env.example à jour dans votre dépôt Git sans mots de passe réels pour que votre équipe puisse cloner facilement.
  • • Utilisation de config() dans votre code applicatif : Ne faites jamais 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.
Piège Fréquent : Le Cache de Configuration

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 :

php artisan config:clear

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.