QCM Laravel - Routing et Controllers
Quiz interactif sur le routing et les controllers Laravel. Testez vos connaissances sur les routes, les verbes HTTP et les controllers.
Comment jouer ?
- 1. Lisez chaque question attentivement
- 2. Choisissez votre réponse parmi les options
- 3. Cliquez sur "Voir la réponse" pour vérifier
- 4. Comptez vos bonnes réponses à la fin !
Quiz: QCM Laravel - Routing et Controllers
10 questions | Difficulté: moyen
Question 1
Quelle méthode HTTP est utilisée par défaut pour les formulaires HTML ?
- A. PUT
- B. GET
- C. POST
- D. DELETE
Voir la réponse
Réponse correcte: B
Par défaut, les formulaires HTML utilisent la méthode GET. Pour utiliser POST, il faut spécifier method=“POST” dans la balise form.
Question 2
Comment définir une route avec un paramètre obligatoire dans Laravel ?
- A.
Route::get('/user/{id}', ...) - B.
Route::get('/user/:id', ...) - C.
Route::get('/user/$id', ...) - D.
Route::get('/user/[id]', ...)
Voir la réponse
Réponse correcte: A
Dans Laravel, les paramètres de route sont définis avec des accolades {id}. Pour un paramètre optionnel, on utilise {id?}.
Question 3
Quelle commande Artisan permet de créer un nouveau controller ?
- A.
php artisan create:controller - B.
php artisan make:controller - C.
php artisan new:controller - D.
php artisan generate:controller
Voir la réponse
Réponse correcte: B
La commande php artisan make:controller NomController crée un nouveau controller. On peut ajouter --resource pour créer un resource controller.
Question 4
Qu’est-ce que le Route Model Binding dans Laravel ?
- A. Une façon de lier les routes aux vues
- B. Une injection automatique de modèles Eloquent basée sur les paramètres de route
- C. Un système de cache pour les routes
- D. Une méthode pour valider les données de formulaire
Voir la réponse
Réponse correcte: B
Le Route Model Binding permet d’injecter automatiquement un modèle Eloquent dans une méthode de controller en se basant sur le paramètre de route (ex: /users/{user} injecte automatiquement l’utilisateur correspondant).
Question 5
Comment nommer une route dans Laravel ?
- A.
Route::get('/home', ...)->name('home'); - B.
Route::get('/home', ...)->as('home'); - C.
Route::get('/home', ...)->alias('home'); - D. Les deux options A et B sont correctes
Voir la réponse
Réponse correcte: D
Dans Laravel, on peut nommer une route avec ->name('nom') ou ->as('nom'). Les deux syntaxes sont équivalentes.
Question 6
Quel est le rôle du middleware dans Laravel ?
- A. Gérer la base de données
- B. Filtrer les requêtes HTTP entrantes
- C. Créer des templates
- D. Envoyer des emails
Voir la réponse
Réponse correcte: B
Les middlewares permettent de filtrer les requêtes HTTP. Par exemple, le middleware auth vérifie si l’utilisateur est authentifié avant d’accéder à une route.
Question 7
Comment définir un groupe de routes avec un préfixe dans Laravel ?
- A.
Route::prefix('admin')->group(function() { ... }); - B.
Route::group(['prefix' => 'admin'], function() { ... }); - C. Les deux options A et B sont correctes
- D.
Route::admin(function() { ... });
Voir la réponse
Réponse correcte: C
Laravel permet de définir des groupes de routes avec préfixe en utilisant soit la méthode fluent Route::prefix()->group(), soit le tableau d’options Route::group(['prefix' => ...]).
Question 8
Quelle méthode permet de rediriger vers une route nommée ?
- A.
return redirect('home'); - B.
return redirect()->route('home'); - C.
return redirect()->to('home'); - D.
return redirect()->named('home');
Voir la réponse
Réponse correcte: B
redirect()->route('nom') redirige vers une route nommée. redirect()->to('url') redirige vers une URL spécifique.
Question 9
Qu’est-ce qu’un Resource Controller dans Laravel ?
- A. Un controller qui gère les fichiers statiques
- B. Un controller avec des méthodes prédéfinies pour les opérations CRUD
- C. Un controller pour les API REST uniquement
- D. Un controller pour la gestion des ressources serveur
Voir la réponse
Réponse correcte: B
Un Resource Controller contient les méthodes index, create, store, show, edit, update et destroy pour gérer les opérations CRUD standard sur une ressource.
Question 10
Comment protéger une route contre les attaques CSRF dans Laravel ?
- A. En ajoutant
@csrfdans le formulaire - B. En utilisant le middleware
VerifyCsrfToken - C. Les deux sont nécessaires
- D. Laravel ne gère pas la protection CSRF
Voir la réponse
Réponse correcte: C
Laravel utilise un token CSRF pour protéger les formulaires. Il faut ajouter @csrf dans le formulaire Blade et le middleware VerifyCsrfToken vérifie ce token (il est activé par défaut pour les routes web).