Créer votre Premier Projet Laravel
Créons votre premier projet Laravel et explorons sa structure. Cette expérience pratique vous aidera à comprendre comment Laravel organise le code.
Créer un Nouveau Projet
Avec PHP, Composer et l’installateur Laravel prêts :
# Créer un nouveau projet Laravel
laravel new mon-premier-projet
L’installateur vous proposera plusieurs options :
- Starter Kit : Choisissez “No starter kit” pour l’instant (nous les explorerons plus tard)
- Testing Framework : Choisissez “Pest” ou “PHPUnit”
- Database : Choisissez “SQLite” pour la simplicité
- Git Repository : “Yes” pour initialiser Git
Structure du Projet
Laravel génère cette structure :
mon-premier-projet/
├── app/ # Code de l'application
│ ├── Http/
│ │ ├── Controllers/ # Gestionnaires de requêtes (Controllers)
│ │ └── Middleware/ # Filtres de requêtes
│ ├── Models/ # Modèles Eloquent
│ └── Providers/ # Fournisseurs de services (Service Providers)
├── bootstrap/ # Initialisateurs du framework
├── config/ # Fichiers de configuration
├── database/
│ ├── factories/ # Usines de modèles (Factories)
│ ├── migrations/ # Migrations de base de données
│ └── seeders/ # Semeurs de données (Seeders)
├── public/ # Racine web (index.php)
├── resources/
│ ├── css/ # Fichiers CSS
│ ├── js/ # Fichiers JavaScript
│ └── views/ # Templates Blade
├── routes/
│ ├── web.php # Routes Web
│ └── api.php # Routes API
├── storage/ # Logs, cache, fichiers téléversés
├── tests/ # Fichiers de tests
├── vendor/ # Paquets Composer
├── .env # Variables d'environnement
├── artisan # Outil CLI
├── composer.json # Dépendances PHP
└── package.json # Dépendances Node
Comprendre les Répertoires Clés
app/
Contient le code de votre application :
// app/Models/User.php - Modèle Eloquent
class User extends Authenticatable
{
// Définition du modèle
}
// app/Http/Controllers/UserController.php
class UserController extends Controller
{
public function index()
{
return view('users.index');
}
}
config/
Fichiers de configuration pour tous les aspects de Laravel :
config/
├── app.php # Paramètres de l'application
├── database.php # Connexions aux bases de données
├── mail.php # Configuration des e-mails
├── cache.php # Paramètres de mise en cache
└── ... # Et bien d'autres
routes/
Définit comment les URLs sont liées aux contrôleurs :
// routes/web.php
Route::get('/', function () {
return view('welcome');
});
Route::get('/users', [UserController::class, 'index']);
resources/views/
Templates Blade pour le rendu HTML :
<!-- resources/views/welcome.blade.php -->
<html>
<head>
<title>Laravel</title>
</head>
<body>
<h1>Bienvenue sur Laravel !</h1>
</body>
</html>
Démarrer le Serveur de Développement
Laravel inclut un serveur de développement :
cd mon-premier-projet
# Démarrer tous les services (serveur, queue, vite)
composer run dev
# Ou juste le serveur PHP
php artisan serve
Vous verrez :
INFO Server running on [http://127.0.0.1:8000].
Press Ctrl+C to stop the server
Ouvrez http://127.0.0.1:8000 dans votre navigateur pour voir la page d’accueil de Laravel !
Le Fichier .env
Laravel utilise des variables d’environnement pour la configuration :
# .env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:...
APP_DEBUG=true
APP_URL=http://localhost
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
MAIL_MAILER=log
Important : Ne commitez jamais .env dans votre gestion de version (Git). Utilisez .env.example comme modèle.
Première Migration de Base de Données
Laravel est livré avec des migrations pour les utilisateurs et les sessions :
php artisan migrate
Résultat :
INFO Running migrations.
0001_01_01_000000_create_users_table ............... 12.45ms DONE
0001_01_01_000001_create_cache_table ............... 3.22ms DONE
0001_01_01_000002_create_jobs_table ................ 8.91ms DONE
Cela crée la base de données SQLite et configure les tables par défaut.
Ressources
- Structure des Répertoires — Documentation officielle sur la structure des répertoires de Laravel
📘 Cette leçon fait partie du cours Laravel Foundations sur la plateforme d’apprentissage RostoDev.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Créer votre Premier Projet Laravel. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.