⚙️ | Introduction à Laravel
Laravel : Un Framework PHP Moderne
Laravel est un framework PHP open-source conçu pour le développement rapide et structuré d'applications web. Connu pour sa syntaxe élégante et ses outils puissants, il est idéal pour créer des applications robustes tout en simplifiant les tâches courantes du développement.
Pourquoi utiliser Laravel ?
Laravel se distingue par plusieurs caractéristiques qui en font un choix populaire parmi les développeurs :
- Facilité d'utilisation : Une syntaxe simple et intuitive.
- MVC (Modèle-Vue-Contrôleur) : Une architecture claire pour structurer les applications.
- Fonctionnalités intégrées :
- Système de routage avancé.
- Gestionnaire de base de données avec Eloquent ORM.
- Outils pour l'authentification et les sessions.
- Gestion des tâches planifiées et des files d'attente.
- Communauté et écosystème : Une documentation exhaustive, des tutoriels, et des extensions comme Laravel Nova ou Laravel Breeze.
Lien vers la documentation de Laravel
Installation de Laravel
Laravel nécessite PHP 8.1 ou plus, Composer, et un serveur web comme Apache ou Nginx. Voici comment démarrer :
Pré-requis
- Installer le gestionnaire de paquets PHP Composer (c'est déjà fait)
Installer Laravel via Composer
Utilisez la commande suivante pour créer une nouvelle application Laravel :
composer create-project laravel/laravel nom_du_projet
Démarrer le serveur de développement
Entrez dans le répertoire du projet et lancez le serveur intégré de Laravel :
cd nom_du_projet
php artisan serve
Votre application est accessible à l'adresse : http://localhost:8000
.
Structure d’un Projet Laravel
Laravel organise le code selon une architecture claire. Voici les répertoires principaux :
- app/ : Contient le cœur de votre application, y compris les contrôleurs, modèles et services.
- routes/ : Définit les routes de votre application.
- resources/ : Contient les fichiers de vue (Blade), CSS, JS, et autres ressources.
- database/ : Contient les migrations et les seeds pour la gestion des bases de données.
- public/ : Répertoire racine accessible au navigateur (contient
index.php
).
Les Bases de Laravel
Les Routes
Les routes définissent les points d'entrée de votre application. Elles sont définies dans le fichier routes/web.php
.
Exemple :
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome'); // Charge la vue 'welcome.blade.php'
});
Route::get('/hello', function () {
return "Hello, Laravel !";
});
Les Contrôleurs
Les contrôleurs regroupent la logique métier. Créez un contrôleur avec la commande Artisan :
php artisan make:controller MonControleur
Exemple :
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MonControleur extends Controller
{
public function accueil() {
return view('accueil'); // Charge la vue 'accueil.blade.php'
}
}
Ajoutez une route pointant vers le contrôleur :
Route::get('/accueil', [MonControleur::class, 'accueil']);
Les Vues (Blade)
Blade est le moteur de templates de Laravel. Les fichiers Blade se trouvent dans resources/views
et ont l'extension .blade.php
.
Exemple :
Fichier resources/views/accueil.blade.php
:
<!DOCTYPE html>
<html>
<head>
<title>Accueil</title>
</head>
<body>
<h1>Bienvenue sur Laravel</h1>
</body>
</html>
Interactions avec la Base de Données
Configuration
Configurez votre base de données dans le fichier .env
:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nom_de_la_base
DB_USERNAME=utilisateur
DB_PASSWORD=mot_de_passe
Migrations
Les migrations permettent de versionner la structure de votre base de données. Créez une migration avec :
php artisan make:migration create_utilisateurs_table
Modifiez le fichier généré dans database/migrations
:
Schema::create('utilisateurs', function (Blueprint $table) {
$table->id();
$table->string('nom');
$table->string('email')->unique();
$table->timestamps();
});
Appliquez les migrations avec :
php artisan migrate
Eloquent ORM
Eloquent simplifie la manipulation des données en utilisant des modèles. Créez un modèle pour votre table :
php artisan make:model Utilisateur
Ajoutez des données :
use App\Models\Utilisateur;
Utilisateur::create([
'nom' => 'Alice',
'email' => 'alice@example.com'
]);
Récupérez des données :
$utilisateurs = Utilisateur::all();
Gestion des Commandes avec Artisan
Laravel inclut Artisan, une interface en ligne de commande pour automatiser les tâches courantes.
Commandes courantes
php artisan list
: Liste toutes les commandes disponibles.php artisan migrate
: Applique les migrations.php artisan make:controller NomControleur
: Crée un nouveau contrôleur.php artisan route:list
: Liste toutes les routes définies.
Points Forts à Retenir
- Laravel simplifie les tâches complexes grâce à ses outils intégrés (migrations, routage, validation).
- Son écosystème riche (comme Laravel Mix, Laravel Telescope) étend ses capacités.
- Il favorise les bonnes pratiques de développement grâce à son architecture propre (MVC).
Laravel est un excellent choix pour les développeurs PHP souhaitant gagner en productivité tout en produisant du code maintenable et évolutif. Avec sa syntaxe élégante et sa large communauté, il vous permet de construire des applications modernes en un temps record.
Petit exercice
- Créer un endpoint/une route
/nom-etudiant
(GET). - Le endpoint renverra vers une fonction dans un contrôleur (StudentController).
- La fonction aura une constante de nom d'étudiant (peu importe le nom) et renverra une page HTML avec ce même nom affiché (via Blade).
- Faire valider par le professeur.