
Etapes pour créer une page basique
Apprenez les étapes essentielles pour créer votre première page web simple en Laravel : définition de la route, création du contrôleur, conception de la vue Blade et test final. Idéal pour débuter.
Préambule : la structure d'une requête dans Laravel
Avant de plonger dans la création concrète d'une page, il est utile de se remémorer le flux de traitement d'une requête dans Laravel. Lorsqu'un utilisateur accède à une URL, Laravel intercepte cette demande. Le système de routage l'examine ensuite pour déterminer quelle action doit être entreprise. Généralement, cette action est une méthode au sein d'un contrôleur. Le contrôleur exécute la logique nécessaire, potentiellement en interagissant avec des modèles de données, puis retourne une réponse, souvent sous la forme d'une vue Blade qui génère le HTML final. Nous allons suivre ces étapes pour construire notre page basique.
Notre objectif sera de créer une page simple qui affiche un message de bienvenue, par exemple à l'URL /accueil. Cela nous permettra de mettre en pratique les concepts fondamentaux de route, contrôleur et vue.
Etape 1 : Définir la route dans `routes/web.php`
La première étape consiste à informer Laravel de l'existence de notre nouvelle page et de comment y accéder. Cela se fait en définissant une route. Les routes pour les interfaces web sont généralement placées dans le fichier routes/web.php.
Ouvrez ce fichier et ajoutez la ligne suivante. Nous allons, pour cet exemple, lier notre route directement à une méthode de contrôleur que nous créerons ensuite :
use App\Http\Controllers\PageController; // N'oubliez pas d'importer la classe du contrôleur
Route::get('/accueil', [PageController::class, 'afficherAccueil']);Décortiquons cette ligne :
Route::getindique que nous définissons une route qui répondra aux requêtes HTTP de type GET.'/accueil'est l'URI (Uniform Resource Identifier) de notre page. C'est ce que l'utilisateur tapera dans son navigateur après le nom de domaine de votre application (par exemple,http://mon-site.test/accueil).[PageController::class, 'afficherAccueil']spécifie l'action à exécuter lorsque cette route est sollicitée. Ici, nous indiquons que Laravel doit appeler la méthode nomméeafficherAccueilde la classePageController. Si le contrôleur se trouve dans un sous-dossier deapp/Http/Controllers, par exempleapp/Http/Controllers/Site/PageController.php, l'importation seraituse App\Http\Controllers\Site\PageController;.
Si vous préférez commencer sans contrôleur pour une page très simple, vous pourriez retourner une vue directement depuis la route (bien que cela soit moins recommandé pour des applications plus grandes) :
Route::get('/bienvenue', function () {
return view('pages.bienvenue'); // Supposant une vue 'bienvenue.blade.php' dans 'resources/views/pages'
});Mais pour suivre les bonnes pratiques et préparer le terrain pour des fonctionnalités plus complexes, nous allons utiliser un contrôleur.
Etape 2 : Créer la méthode correspondante dans un contrôleur
Maintenant que la route est définie, nous devons créer le contrôleur PageController et sa méthode afficherAccueil. Si le contrôleur n'existe pas encore, vous pouvez le générer facilement avec Artisan, l'outil en ligne de commande de Laravel. Ouvrez votre terminal à la racine de votre projet Laravel et tapez :
php artisan make:controller PageControllerCette commande va créer un nouveau fichier PageController.php dans le répertoire app/Http/Controllers. Ouvrez ce fichier et ajoutez la méthode afficherAccueil :
$titrePage, 'messageAccueil' => $message]);
}
}Dans cette méthode :
- Nous définissons deux variables,
$titrePageet$message, qui contiendront les données que nous souhaitons afficher sur notre page. - La fonction
view()est une fonction helper de Laravel qui permet de charger et de retourner une vue Blade. - Le premier argument de
view()est le nom de la vue. Laravel interprète'pages.accueil'comme le fichierresources/views/pages/accueil.blade.php. Notez l'utilisation du point pour naviguer dans les sous-dossiers du répertoireviews. - Le second argument optionnel est un tableau associatif des données que nous voulons transmettre à la vue. La clé du tableau (par exemple,
'titre') deviendra le nom de la variable accessible dans la vue Blade (par exemple,$titre).
Etape 3 : Créer la vue Blade pour afficher le contenu
La dernière pièce du puzzle est la vue Blade qui va effectivement afficher le HTML. D'après notre contrôleur, nous devons créer un fichier nommé accueil.blade.php dans le répertoire resources/views/pages/. Si le dossier pages n'existe pas dans resources/views, créez-le.
Contenu du fichier resources/views/pages/accueil.blade.php :
{{ $titre }}
{{ $titre }}
{{ $messageAccueil }}
Nous sommes ravis de vous accueillir.
Dans cette vue Blade :
- Nous utilisons la syntaxe
{{ $variable }}pour afficher le contenu des variables$titreet$messageAccueilque nous avons passées depuis le contrôleur. Blade échappe automatiquement ces données pour prévenir les attaques XSS, ce qui est une bonne pratique de sécurité. - Le reste est du HTML standard.
Etape 4 : Tester la page dans votre navigateur
Toutes les pièces sont en place ! Il est temps de tester. Assurez-vous que votre serveur de développement Laravel est en cours d'exécution. Si ce n'est pas le cas, ouvrez votre terminal à la racine de votre projet et lancez la commande :
php artisan serveCette commande démarre généralement le serveur sur http://127.0.0.1:8000 ou http://localhost:8000. Ouvrez votre navigateur web et accédez à l'URL que nous avons définie pour notre route, c'est-à-dire http://127.0.0.1:8000/accueil (adaptez le port si nécessaire).
Si tout s'est bien passé, vous devriez voir votre page s'afficher avec le titre "Bienvenue sur notre site !" et le message "Ceci est notre première page Laravel." ainsi que le paragraphe additionnel. Félicitations, vous avez créé votre première page basique avec Laravel en suivant le cycle route-contrôleur-vue !