Apprendre Laravel : Définition des Routes et Contrôleurs MVC

Voici une proposition de meta description : "Apprenez les bases de Laravel et découvrez comment créer des applications web robustes en suivant nos étapes clés.

Mahmoud DEVO
Mahmoud DEVO
December 28, 2025 4 min read
Apprendre Laravel : Définition des Routes et Contrôleurs MVC

Introduction à la configuration d’un environnement de développement Laravel

===========================================================

Laravel est un framework de développement web qui repose sur Composer et vient avec une série de dossiers et fichiers reflétant à la fois ses conventions et sa relation avec d’autres outils open source. Dans ce chapitre, nous allons examiner les routes dans Laravel, vous montrer comment les définir, comment les pointer vers le code qu’elles doivent exécuter et comment utiliser les outils de routage Laravel pour gérer une variété de besoins de routage.

Qu’est-ce que l’MVC ?


La plupart de ce dont nous parlerons dans ce chapitre se rapporte à la structure des applications MVC, et beaucoup des exemples que nous examinerons utilisent les noms de route et les verbes REST-ish, donc commençons par jeter un coup d’œil rapide sur les deux.

Le modèle

Le modèle représente une table individuelle de base de données (ou un enregistrement provenant de cette table) - pensez à “entreprise” ou “chien”.

La vue

La vue représente le template qui affiche vos données au client final - pensez au template de page de connexion avec cet ensemble d’HTML, CSS et JavaScript.

Le contrôleur

Le contrôleur est comme un policier de la circulation, prenant les requêtes HTTP du navigateur, récupérant les bons données à partir de la base de données et d’autres mécanismes de stockage, valider les saisies utilisateur et enfin envoyant une réponse au client final.

Les verbes HTTP


Les verbes HTTP les plus courants sont GET et POST, suivis de PUT et DELETE. Il y a aussi HEAD, OPTIONS et PATCH, ainsi que deux autres qui sont presque jamais utilisés dans le développement web normal, TRACE et CONNECT.

Voici un aperçu rapide :

  • GET : Demande une ressource (ou une liste de ressources).
  • HEAD : Demande une version à seulement les en-têtes de la réponse GET.
  • POST : Crée une ressource.
  • PUT : Remplace une ressource.
  • PATCH : Modifie une ressource.
  • DELETE : Supprime une ressource.
  • OPTIONS : Demande au serveur quelles actions sont autorisées à cette URL.

Qu’est-ce que REST ?


Nous allons couvrir en détail REST dans le chapitre “Les bases des API JSON de style REST” sur page 337, mais pour une introduction, c’est un style architectural pour construire des APIs. Lorsque nous parlons de REST dans ce livre, nous référencerons principalement quelques caractéristiques, comme :

  • Être structuré autour d’une ressource primaire à la fois (par exemple, “tâches”)
  • Consister en interactions avec des structures de URL prévisibles en utilisant les verbes HTTP (comme vu dans le tableau 3-1)
  • Retourner JSON et souvent être demandé avec JSON

Définitions de route


Dans une application Laravel, vous définirez vos routes web dans routes/web.php et vos API dans routes/api.php. Les routes web sont celles que votre client final visitera ; les API sont celles pour votre API, si vous en avez une. Pour l’instant, nous allons principalement nous concentrer sur les routes dans routes/web.php.

Localisation des fichiers de route dans Laravel

Avant la version 5.3, il n’y aura qu’un seul fichier de route, situé à app/Http/routes.php. La façon la plus simple de définir une route est de matcher un chemin (par exemple, /) avec une fermeture, comme vu dans l’exemple 3-1.

// routes/web.php

Route::get('/', function () {
    return 'Bonjour, monde!';
});

Qu’est-ce qu’une fermeture ?


Les fermetures sont les fonctions anonymes de PHP. Une fermeture est une fonction que vous pouvez passer comme objet, assigner à une variable, passer en paramètre aux autres fonctions et méthodes ou même sérialiser.

Vous avez maintenant défini que si quelqu’un visite / (la racine de votre domaine), le routeur Laravel devrait exécuter la fermeture définie là et retourner le résultat. Notez qu’on retourne notre contenu et ne l’écrivons pas ou ne le lançons pas.

Introduction rapide aux middleware


Vous pourriez vous demander, “Pourquoi je retourne ‘Bonjour, monde!’ au lieu de l’écrire ou de le lancer?” Il y a plusieurs réponses, mais la plus simple est qu’il existe beaucoup d’enrobés autour du cycle de requête et réponse Laravel, notamment quelque chose appelé middleware. Lorsque votre fermeture de route ou méthode de contrôleur est terminée, il n’est pas encore temps d’envoyer l’output au navigateur ; retourner le contenu permet à la suite de continuer dans le pilote de réponse et les middleware avant qu’il ne soit retourné au client.

Beaucoup de sites simples pourraient être définis entièrement dans le fichier web routes. Avec quelques GET routes simples combinées avec certaines vues, comme vu dans l’exemple 3-2, vous pouvez servir facilement un site classique.

// Exemple 3-2 : Site de démonstration

Route::get('/', function () {
    return view('welcome');
});

Route::get('à propos', function () {
    return view('à-propos');
});

Route::get('produits', function () {
    return view('produits');
});

Route::get('services', function () {
    return view('services');
});

Appels statiques


Si vous avez beaucoup d’expérience en développement avec PHP, vous pourriez être surpris de voir des appels statiques sur la classe Route. Ce n’est pas vraiment une méthode statique au sens propre, mais plutôt une localisation de service utilisant les façades Laravel que nous couvrirons dans le chapitre 11.

Si vous avez compris le contenu ci-dessus et êtes prêt à passer aux routes plus avancées, cliquez sur le lien suivant pour continuer votre lecture : Routes Avancées

Advertisement

In-Article Ad

Dev Mode

Share this article

Mahmoud DEVO

Mahmoud DEVO

Senior Full-Stack Developer

I'm a passionate full-stack developer with 10+ years of experience building scalable web applications. I write about Vue.js, Node.js, PostgreSQL, and modern DevOps practices.

Enjoyed this article?

Subscribe to get more tech content delivered to your inbox.

Related Articles