QCMUP.COM

Liste QCM Laravel Corrigé – Partie 2

Entraînez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grâce aux définitions et explications.

30 questions Réponses expliquées Réviser → Pratiquer
Liste QCM Laravel Corrigé – Partie 2 – Laravel

Le routage constitue l’un des piliers fondamentaux du développement avec Laravel.

Il représente le point d’entrée de toute requête et détermine avec précision la manière dont l’application réagit face aux actions des utilisateurs.

Comprendre ce mécanisme est indispensable pour concevoir des applications web claires, structurées et faciles à maintenir.

Dans le cadre des études en développement web ou de la préparation à des examens techniques, la maîtrise du routage permet de mieux appréhender l’architecture globale d’une application moderne.

Les notions abordées ici couvrent la définition des routes, l’utilisation des verbes HTTP, la gestion des paramètres dynamiques et l’organisation du code à travers des contrôleurs.

Elles illustrent également l’importance des bonnes pratiques, comme la séparation des responsabilités et la lisibilité du code.

Cette page a pour objectif d’accompagner l’apprenant dans la compréhension progressive de ces concepts essentiels, en posant des bases solides et durables pour la suite de son apprentissage avec Laravel.

Le routage constitue l’un des piliers fondamentaux du développement avec Laravel.

Il représente le point d’entrée de toute requête et détermine avec précision la manière dont l’application réagit face aux actions des utilisateurs.

Comprendre ce mécanisme est indispensable pour concevoir des applications web claires, structurées et faciles à maintenir.

Dans le cadre des études en développement web ou de la préparation à des examens techniques, la maîtrise du routage permet de mieux appréhender l’architecture globale d’une application moderne.

Les notions abordées ici couvrent la définition des routes, l’utilisation des verbes HTTP, la gestion des paramètres dynamiques et l’organisation du code à travers des contrôleurs.

Elles illustrent également l’importance des bonnes pratiques, comme la séparation des responsabilités et la lisibilité du code.

Cette page a pour objectif d’accompagner l’apprenant dans la compréhension progressive de ces concepts essentiels, en posant des bases solides et durables pour la suite de son apprentissage avec Laravel.

QCM 1 Corrigé

Dans quel fichier définit-on généralement les routes destinées à l'interface Web d'une application Laravel ?

A. routes/api.php
B. routes/web.php
C. routes/console.php
D. app/Http/routes.php
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le fichier routes/web.php est dédié aux routes qui gèrent les sessions et la protection CSRF pour le navigateur.

QCM 2 Corrigé

Quelle méthode de la façade Route est utilisée pour traiter la soumission d'un formulaire de création ?

A. Route::get()
B. Route::put()
C. Route::post()
D. Route::patch()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La méthode POST est le standard HTTP pour envoyer des données vers le serveur afin de créer une ressource.

QCM 3 Corrigé

Comment définit-on un paramètre obligatoire dans une URL (ex: l'ID d'un article) ?

A. Route::get('/post/{id}', ...)
B. Route::get('/post/:id', ...)
C. Route::get('/post/$id', ...)
D. Route::get('/post/[id]', ...)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Laravel utilise les accolades {} pour identifier les segments dynamiques dans une URI.

QCM 4 Corrigé

Quel symbole permet de rendre un paramètre de route optionnel ?

A. Le signe plus (+)
B. L'astérisque (*)
C. L'esperluette (&)
D. Le point d'interrogation (?)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Placer un '?' à la fin d'un paramètre (ex: {name?}) le rend facultatif dans l'URL.

QCM 5 Corrigé

Quelle méthode permet de donner un nom spécifique à une route pour la référencer facilement ?

A. ->alias()
B. ->name()
C. ->id()
D. ->set()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La méthode name() permet de générer des URL ou des redirections via le nom de la route plutôt que l'URL brute.

QCM 6 Corrigé

Quelle syntaxe est correcte pour lier une route à une méthode d'un contrôleur dans Laravel 10+ ?

A. Route::get('/', 'UserController@index');
B. Route::get('/', [UserController::class, 'index']);
C. Route::get('/', UserController::index);
D. Route::get('/', 'UserController.index');
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'utilisation d'un tableau avec le nom de la classe et le nom de la méthode est la syntaxe recommandée.

QCM 7 Corrigé

Quelle commande Artisan permet de lister toutes les routes enregistrées dans l'application ?

A. php artisan route:list
B. php artisan show:routes
C. php artisan route:all
D. php artisan debug:routes
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
route:list affiche un tableau complet avec les méthodes, URI, noms et middlewares de chaque route.

QCM 8 Corrigé

Comment grouper plusieurs routes pour leur appliquer un préfixe commun (ex: /admin/...) ?

A. Route::prefix('admin')->group(function() { ... });
B. Route::folder('admin')->group(function() { ... });
C. Route::start('admin')->group(function() { ... });
D. Route::path('admin')->group(function() { ... });
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La méthode prefix() évite de répéter le même segment d'URL pour un ensemble de routes.

QCM 9 Corrigé

Que fait la méthode Route::redirect('/old', '/new') ?

A. Elle crée une copie de la page '/old' vers '/new'.
B. Elle affiche le contenu de '/new' tout en gardant l'URL '/old'.
C. Elle renvoie automatiquement l'utilisateur vers '/new' s'il accède à '/old'.
D. Elle supprime la route '/old'.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Route::redirect est un raccourci pratique pour gérer les redirections HTTP sans passer par un contrôleur.

QCM 10 Corrigé

Quel verbe HTTP est utilisé pour mettre à jour partiellement une ressource existante ?

A. POST
B. DELETE
C. GET
D. PATCH
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
PATCH est destiné aux modifications partielles, tandis que PUT est généralement utilisé pour remplacer une ressource.

QCM 11 Corrigé

Comment limiter un paramètre de route pour qu'il n'accepte que des chiffres ?

A. ->whereNumber('id')
B. ->only('0-9')
C. ->numeric('id')
D. ->where('id', '[0-9]+')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La méthode where() permet de valider un paramètre à l'aide d'une expression régulière.

QCM 12 Corrigé

Quelle méthode de route répond à tous les verbes HTTP (GET, POST, etc.) ?

A. Route::all()
B. Route::any()
C. Route::every()
D. Route::mix()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Route::any() est utile pour certains scénarios où une seule logique doit traiter plusieurs types de requêtes.

QCM 13 Corrigé

Quelle est la fonction d'un 'Middleware' dans le routage ?

A. Générer le code HTML de la page.
B. Filtrer ou inspecter les requêtes entrantes avant qu'elles n'atteignent le contrôleur.
C. Stocker les données dans la base de données.
D. Définir le design CSS de la route.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les middlewares sont souvent utilisés pour l'authentification ou la vérification des permissions.

QCM 14 Corrigé

Que signifie l'injection de dépendances dans une méthode de contrôleur liée à une route ?

A. Ajouter des virus dans le code.
B. Passer automatiquement des objets (comme Request) en paramètres de la méthode.
C. Importer manuellement tous les fichiers PHP nécessaires.
D. Connecter le contrôleur à une API externe.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Laravel résout automatiquement les classes typées dans les signatures des méthodes de contrôleur.

QCM 15 Corrigé

Quelle méthode permet de définir toutes les routes standards d'un contrôleur de ressources en une ligne ?

A. Route::all('photos', PhotoController::class);
B. Route::crud('photos', PhotoController::class);
C. Route::resource('photos', PhotoController::class);
D. Route::api('photos', PhotoController::class);
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Route::resource génère automatiquement les routes pour index, create, store, show, edit, update et destroy.

QCM 16 Corrigé

Par défaut, les routes définies dans routes/api.php sont préfixées par :

A. /web
B. /api
C. /rest
D. /json
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Laravel applique automatiquement le préfixe '/api' aux routes définies dans ce fichier via le RouteServiceProvider.

QCM 17 Corrigé

Comment récupérer la valeur d'un paramètre {id} dans une méthode de contrôleur ?

A. En l'ajoutant comme argument à la méthode : public function show($id)
B. En utilisant $_GET['id']
C. En appelant la fonction get_id()
D. En le cherchant dans le fichier .env
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Laravel fait correspondre les noms des paramètres de la route avec les arguments de la méthode du contrôleur.

QCM 18 Corrigé

Quelle méthode de route est utilisée pour supprimer une donnée ?

A. Route::remove()
B. Route::drop()
C. Route::delete()
D. Route::destroy()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La méthode DELETE correspond au verbe HTTP standard pour la suppression de ressources.

QCM 19 Corrigé

Peut-on retourner une vue directement depuis une route sans passer par un contrôleur ?

A. Non, c'est impossible.
B. Oui, via Route::view('/url', 'nom_de_la_vue');
C. Oui, mais seulement pour les pages d'erreur.
D. Seulement si la vue est vide.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Route::view est idéal pour les pages statiques ne nécessitant pas de logique complexe.

QCM 20 Corrigé

Que se passe-t-il si deux routes ont la même URI dans le même fichier ?

A. Laravel affiche une erreur critique immédiate.
B. La première route définie sera toujours celle utilisée.
C. Les deux routes fusionnent leur logique.
D. La dernière route définie écrase la précédente.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Dans Laravel, les définitions de routes lues en dernier remplacent les précédentes pour une même URI et un même verbe.

QCM 21 Corrigé

Quelle méthode permet de restreindre l'accès à un groupe de routes aux utilisateurs connectés ?

A. ->middleware('auth')
B. ->secure()
C. ->locked()
D. ->check('user')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le middleware 'auth' est le filtre standard de Laravel pour vérifier l'authentification.

QCM 22 Corrigé

Quelle façade est utilisée pour définir les routes ?

A. Path
B. Url
C. Route
D. Request
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La façade Route est le point d'entrée principal pour toutes les déclarations de navigation.

QCM 23 Corrigé

Comment renvoyer une réponse JSON directement depuis une closure de route ?

A. return response()->json(['key' => 'value']);
B. return json_encode(['key' => 'value']);
C. return ['key' => 'value'];
D. Les deux réponses 1 et 3 sont correctes.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Laravel convertit automatiquement les tableaux retournés par les routes en réponses JSON.

QCM 24 Corrigé

À quoi sert la méthode Route::match(['get', 'post'], '/', ...) ?

A. À comparer deux routes différentes.
B. À autoriser plusieurs verbes HTTP spécifiques pour une même route.
C. À vérifier si une URL correspond à un fichier réel.
D. À forcer une connexion sécurisée HTTPS.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
match() est utile quand une action de contrôleur peut gérer à la fois l'affichage et la soumission d'un formulaire.

QCM 25 Corrigé

Que signifie le 'Fallback routing' dans Laravel ?

A. Une route utilisée pour revenir à la page précédente.
B. Une route de secours si la base de données est hors ligne.
C. Une route exécutée lorsqu'aucune autre route ne correspond à l'URL demandée (404 personnalisée).
D. Une sauvegarde automatique des routes.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Route::fallback() permet de définir une logique personnalisée pour les erreurs 404.

QCM 26 Corrigé

Comment passer plusieurs middlewares à une seule route ?

A. ->middleware('mid1', 'mid2')
B. ->middleware(['mid1', 'mid2'])
C. ->addMiddleware('mid1')->addMiddleware('mid2')
D. Les réponses 1 et 2 sont acceptées par Laravel.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La méthode middleware() accepte soit une liste d'arguments, soit un tableau de chaînes.

QCM 27 Corrigé

Quelle méthode permet de lier un modèle directement à un paramètre de route (Route Model Binding) ?

A. Laravel le fait automatiquement si l'argument du contrôleur est typé par la classe du modèle.
B. Il faut appeler Route::bind() manuellement dans chaque route.
C. C'est une option à activer dans le fichier .env.
D. Il faut utiliser l'attribut ID uniquement.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
En typant l'argument (ex: User $user), Laravel injecte automatiquement l'instance correspondant à l'ID dans l'URL.

QCM 28 Corrigé

Pour les API, quelle méthode génère les routes de ressources SANS les méthodes 'create' et 'edit' ?

A. Route::resource()->except(['create', 'edit'])
B. Route::apiResource()
C. Route::slimResource()
D. Les réponses 1 et 2 sont valides.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
apiResource est un raccourci qui exclut les routes renvoyant des formulaires HTML, inutiles pour une API.

QCM 29 Corrigé

Dans un groupe de routes, quelle méthode permet de spécifier le contrôleur pour toutes les routes du groupe ?

A. Route::controller(UserController::class)->group(...)
B. Route::use(UserController::class)->group(...)
C. Route::main(UserController::class)->group(...)
D. Route::attach(UserController::class)->group(...)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Cette fonctionnalité (Laravel 9+) simplifie la définition en ne précisant que le nom de la méthode dans le groupe.

QCM 30 Corrigé

Quelle est la limite principale de définir toute la logique métier directement dans les closures de routes ?

A. Cela ralentit le chargement des pages.
B. Cela empêche l'utilisation du cache des routes (route:cache).
C. C'est interdit par le langage PHP.
D. Les closures ne peuvent pas accéder à la base de données.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Laravel ne peut pas mettre en cache les routes qui utilisent des fonctions anonymes (closures).

Mots & Définitions
Consultez les définitions des termes importants.

Le routage désigne le mécanisme qui permet d’associer une URL à une action précise de l’application. Il joue un rôle central dans la gestion des requêtes entrantes et dans l’organisation logique du code.

Une route définit comment une application réagit lorsqu’une URL spécifique est demandée. Elle relie une requête HTTP à une réponse, comme l’affichage d’une vue ou l’exécution d’une méthode.

Les verbes HTTP indiquent l’intention d’une requête, comme récupérer, créer, modifier ou supprimer des données. Leur bon usage permet de structurer clairement les échanges entre le client et le serveur.

Un paramètre de route permet de transmettre une valeur dynamique via l’URL, comme un identifiant. Il rend les routes flexibles et adaptées à des contenus variables.

Un paramètre optionnel est un élément de l’URL qui peut être présent ou absent sans bloquer l’accès à la route. Il permet de gérer plusieurs cas avec une seule définition de route.

Le nom de route sert d’identifiant lisible pour référencer une route dans l’application. Il facilite la maintenance et évite de dépendre directement des URL.

Un contrôleur regroupe la logique de traitement liée aux requêtes. Il permet de séparer clairement le routage de la logique métier.

Artisan est l’outil en ligne de commande de Laravel. Il aide le développeur à inspecter, générer et gérer efficacement les éléments de l’application.

Un groupe de routes permet d’appliquer des règles communes à plusieurs routes. Cela améliore la lisibilité et la cohérence du code.

La redirection consiste à envoyer automatiquement l’utilisateur d’une URL vers une autre. Elle est souvent utilisée pour gérer les changements de structure d’un site.

Un middleware agit comme un filtre entre la requête et la réponse. Il permet de contrôler l’accès, vérifier des conditions ou modifier les données échangées.

L’injection de dépendances permet de fournir automatiquement des objets nécessaires à une méthode. Elle rend le code plus propre, testable et maintenable.

Une route de ressources génère automatiquement un ensemble cohérent de routes pour gérer des opérations courantes. Elle simplifie la gestion des actions standards.

Le Route Model Binding associe automatiquement un paramètre de route à un modèle. Il évite les recherches manuelles et réduit les erreurs de code.

Le fallback routing définit une route exécutée lorsqu’aucune autre ne correspond à l’URL demandée. Il permet de gérer proprement les pages introuvables.

À propos de ce QCM

Le routage dans Laravel permet d’établir un lien clair entre une URL et le traitement qui lui est associé.

Chaque route joue le rôle d’un point de passage où la requête est analysée avant d’être transmise à la logique appropriée.

L’utilisation correcte des verbes HTTP est primordiale, car elle reflète l’action réelle effectuée sur les données, qu’il s’agisse de consultation, de création, de modification ou de suppression.

Les paramètres de route apportent une dimension dynamique, en permettant de travailler avec des identifiants ou des valeurs variables directement intégrées à l’URL.

Laravel encourage une organisation structurée grâce aux contrôleurs, qui centralisent la logique métier et allègent les fichiers de routes.

Les groupes de routes, les préfixes et les middlewares renforcent cette organisation en appliquant des règles communes, comme la sécurisation de l’accès ou la gestion de contextes spécifiques.

L’injection de dépendances, quant à elle, facilite la collaboration entre les différentes parties du code en automatisant la transmission des objets nécessaires.

Les routes de ressources et le Route Model Binding illustrent l’approche productive de Laravel, qui vise à réduire la répétition et à limiter les erreurs.

Enfin, des mécanismes comme le fallback routing ou les redirections contribuent à une meilleure expérience utilisateur en gérant correctement les cas inattendus.

Travailler ces notions à travers des QCM permet de renforcer la compréhension théorique, de s’entraîner de manière ciblée et d’évaluer ses acquis.

C’est un excellent moyen de se préparer efficacement à des examens ou à des situations professionnelles concrètes.

Conclusion

La maîtrise du routage dans Laravel représente une étape clé dans le parcours de tout développeur web.

Les concepts abordés offrent une vision claire de la manière dont une application gère les requêtes et structure sa logique interne.

En s’entraînant régulièrement à travers ces QCM, l’apprenant consolide ses bases, affine son raisonnement et gagne en assurance.

Cette progression se traduit par un code plus lisible, plus fiable et plus facile à maintenir.

En approfondissant ces notions, chacun développe des compétences essentielles pour concevoir des applications robustes et professionnelles, adaptées aux exigences du monde réel.