QCMUP.COM

Liste QCM Laravel Corrigé – Partie 10

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 10 – Laravel

Une API Laravel repose sur une organisation claire entre les routes, les contrôleurs et les réponses.

Les routes API définissent les points d’entrée permettant d’accéder aux ressources, tandis que les contrôleurs regroupent la logique métier associée à chaque action.

Contrairement aux applications web classiques, les réponses sont structurées sous forme de données, généralement en JSON, afin d’être consommées par différents types de clients.

Les ressources JSON jouent un rôle clé dans cette architecture.

Elles permettent de transformer les modèles en réponses cohérentes, en exposant uniquement les informations nécessaires.

Cette approche améliore la lisibilité des échanges et renforce la sécurité des données.

L’utilisation de métadonnées et le chargement conditionnel des relations offrent un contrôle fin sur le contenu retourné.

La sécurité constitue un enjeu majeur pour les API.

Laravel Sanctum propose une solution simple et efficace pour gérer l’authentification via des jetons.

Chaque requête inclut un token permettant d’identifier l’utilisateur sans recourir aux sessions serveur.

Cette logique stateless améliore la scalabilité et s’adapte parfaitement aux applications modernes.

Les middlewares renforcent cette sécurité en filtrant les requêtes, en limitant leur fréquence et en protégeant contre certaines attaques.

Les codes de statut HTTP jouent également un rôle pédagogique important, car ils informent clairement le client du résultat de chaque action.

Enfin, la validation des données garantit la fiabilité des échanges et la stabilité de l’application.

Travailler ces notions à travers des QCM permet de développer une compréhension solide, d’identifier les bonnes pratiques et de se préparer efficacement aux examens ou aux projets professionnels.

Une API Laravel repose sur une organisation claire entre les routes, les contrôleurs et les réponses.

Les routes API définissent les points d’entrée permettant d’accéder aux ressources, tandis que les contrôleurs regroupent la logique métier associée à chaque action.

Contrairement aux applications web classiques, les réponses sont structurées sous forme de données, généralement en JSON, afin d’être consommées par différents types de clients.

Les ressources JSON jouent un rôle clé dans cette architecture.

Elles permettent de transformer les modèles en réponses cohérentes, en exposant uniquement les informations nécessaires.

Cette approche améliore la lisibilité des échanges et renforce la sécurité des données.

L’utilisation de métadonnées et le chargement conditionnel des relations offrent un contrôle fin sur le contenu retourné.

La sécurité constitue un enjeu majeur pour les API.

Laravel Sanctum propose une solution simple et efficace pour gérer l’authentification via des jetons.

Chaque requête inclut un token permettant d’identifier l’utilisateur sans recourir aux sessions serveur.

Cette logique stateless améliore la scalabilité et s’adapte parfaitement aux applications modernes.

Les middlewares renforcent cette sécurité en filtrant les requêtes, en limitant leur fréquence et en protégeant contre certaines attaques.

Les codes de statut HTTP jouent également un rôle pédagogique important, car ils informent clairement le client du résultat de chaque action.

Enfin, la validation des données garantit la fiabilité des échanges et la stabilité de l’application.

Travailler ces notions à travers des QCM permet de développer une compréhension solide, d’identifier les bonnes pratiques et de se préparer efficacement aux examens ou aux projets professionnels.

QCM 1 Corrigé

Quelle commande Artisan permet de créer un contrôleur dédié à une API dans Laravel ?

A. php artisan make:controller ApiController --plain
B. php artisan make:controller ApiController --api
C. php artisan generate:api-controller
D. php artisan make:api
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'option --api exclut les méthodes create et edit qui retournent du HTML, inutiles pour une API.

QCM 2 Corrigé

Dans quel fichier définit-on généralement les routes pour une API Laravel ?

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

Réponse correcte : A

Justification :
Les routes dans api.php sont automatiquement préfixées par /api et utilisent le middleware 'api'.

QCM 3 Corrigé

Quel middleware est appliqué par défaut aux routes dans routes/api.php ?

A. auth:session
B. web
C. api
D. guest
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le groupe de middleware 'api' gère notamment le throttling et la désactivation des cookies de session.

QCM 4 Corrigé

Quelle classe Laravel est utilisée pour transformer un modèle en une ressource JSON personnalisée ?

A. Eloquent\Collection
B. Http\Response
C. Support\Jsonable
D. Http\Resources\Json\JsonResource
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
JsonResource permet de transformer finement les données avant de les envoyer au client.

QCM 5 Corrigé

Pour installer Laravel Sanctum, quelle est la première commande à exécuter via Composer ?

A. composer require laravel/sanctum
B. composer add sanctum
C. php artisan install:sanctum
D. composer require laravel/auth
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
On commence par importer le package via Composer avant de publier sa configuration.

QCM 6 Corrigé

Comment appelle-t-on le mécanisme de protection contre les attaques de type falsification de requête intersite, souvent désactivé pour les API stateless ?

A. JWT
B. CORS
C. CSRF
D. XSS
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le jeton CSRF n'est pas requis pour les API basées sur des tokens car elles ne dépendent pas des cookies.

QCM 7 Corrigé

Quelle méthode est utilisée pour créer un nouveau token pour un utilisateur avec Sanctum ?

A. generateToken()
B. createToken()
C. newToken()
D. issueToken()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La méthode createToken('name') génère un jeton personnel stocké en base de données.

QCM 8 Corrigé

Quel trait doit être ajouté au modèle User pour utiliser Laravel Sanctum ?

A. HasApiTokens
B. Authenticatable
C. Notifiable
D. HasRoles
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le trait HasApiTokens permet d'accéder aux méthodes de gestion de jetons sur l'utilisateur.

QCM 9 Corrigé

Quelle est la principale différence entre Sanctum et Passport ?

A. Sanctum est plus complexe que Passport
B. Passport ne supporte pas l'authentification SPA
C. Passport est une implémentation complète de OAuth2, Sanctum est plus léger
D. Sanctum ne permet pas de gérer les permissions (scopes)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Passport est recommandé pour les systèmes OAuth2 complets, Sanctum pour les API simples et SPA.

QCM 10 Corrigé

Quelle méthode de ressource Laravel permet de transformer une collection de modèles ?

A. UserResource::list()
B. UserResource::all()
C. UserResource::transform()
D. UserResource::collection()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La méthode statique ::collection() permet de mapper chaque élément d'une liste sur la ressource.

QCM 11 Corrigé

Comment spécifier que l'on attend une réponse JSON lors d'un test Feature dans Laravel ?

A. $this->json('GET', '/api/users')
B. $this->getJson('/api/users')
C. $this->withHeaders(['Accept' => 'application/json'])->get('/api/users')
D. Toutes les réponses ci-dessus sont correctes
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Laravel propose plusieurs méthodes pour forcer l'en-tête Accept: application/json lors des tests.

QCM 12 Corrigé

Quelle commande permet de créer une classe Resource pour un modèle 'Post' ?

A. php artisan make:resource PostResource
B. php artisan create:resource Post
C. php artisan make:json Post
D. php artisan api:resource Post
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
C'est la commande standard pour générer un transformateur de données Eloquent.

QCM 13 Corrigé

Quelle méthode HTTP est généralement utilisée pour mettre à jour partiellement une ressource ?

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

Réponse correcte : C

Justification :
PATCH est destiné aux modifications partielles, tandis que PUT remplace la ressource entière.

QCM 14 Corrigé

Dans Laravel Sanctum, comment révoquer tous les jetons d'un utilisateur ?

A. $user->tokens()->delete()
B. $user->revokeAll()
C. $user->clearTokens()
D. $user->logout()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
En accédant à la relation tokens(), on peut supprimer tous les enregistrements associés en DB.

QCM 15 Corrigé

Quel code de statut HTTP indique que la ressource a été créée avec succès ?

A. 200
B. 201
C. 204
D. 400
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
201 Created est le standard pour une création réussie via POST.

QCM 16 Corrigé

Que signifie l'acronyme CORS dans le développement d'API ?

A. Core Object Resource System
B. Cross-Origin Resource Sharing
C. Client Object Remote Service
D. Custom Origin Request Security
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
CORS est un mécanisme de sécurité permettant de restreindre les requêtes HTTP entre différents domaines.

QCM 17 Corrigé

Pour protéger une route API avec Sanctum, quel middleware utiliser ?

A. auth:sanctum
B. auth:api
C. sanctum.auth
D. guard:sanctum
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
auth:sanctum est le garde (guard) spécifique fourni par le package Sanctum.

QCM 18 Corrigé

Quel helper Laravel permet de retourner une réponse JSON avec un code de statut spécifique ?

A. return Json::make($data, 200)
B. return response()->json($data, 201)
C. return view()->json($data)
D. return send($data, 201)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La méthode json() de l'objet response transforme les données et définit le header Content-Type.

QCM 19 Corrigé

Comment s'appelle l'en-tête HTTP utilisé pour envoyer un token Bearer ?

A. X-Token
B. Authentication
C. Token
D. Authorization
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Le format standard est 'Authorization: Bearer {token}'.

QCM 20 Corrigé

Quelle méthode dans une classe JsonResource permet de définir les données à retourner ?

A. toResponse()
B. format()
C. toArray()
D. toJson()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La méthode toArray($request) définit le tableau associatif qui sera converti en JSON.

QCM 21 Corrigé

Dans Laravel Passport, quel type d'octroi (grant type) est utilisé pour l'authentification par email/mot de passe ?

A. Client Credentials
B. Authorization Code
C. Implicit
D. Password Grant
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Le Password Grant permet d'échanger directement des identifiants contre un token.

QCM 22 Corrigé

Quelle commande permet de limiter le nombre de requêtes sur une route API (Throttling) ?

A. middleware('throttle:60,1')
B. middleware('limit:60')
C. middleware('api.limit')
D. middleware('guard')
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'exemple 'throttle:60,1' autorise 60 requêtes par minute.

QCM 23 Corrigé

Que fait la méthode 'whenLoaded' dans une Resource Laravel ?

A. Elle charge une relation de force
B. Elle n'inclut la relation dans le JSON que si elle a déjà été chargée
C. Elle attend que la DB soit disponible
D. Elle vérifie si l'utilisateur est connecté
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Cela évite le problème des requêtes N+1 en ne retournant que les relations pré-chargées (eager loaded).

QCM 24 Corrigé

Quelle commande installe les tables nécessaires à Laravel Passport ?

A. php artisan passport:install
B. php artisan migrate
C. php artisan passport:setup
D. php artisan passport:migrate
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Comme pour tout package avec des tables, 'migrate' exécute les migrations publiées.

QCM 25 Corrigé

Quel code HTTP est retourné si l'utilisateur envoie un token invalide ou manquant sur une route protégée ?

A. 403 Forbidden
B. 404 Not Found
C. 401 Unauthorized
D. 500 Internal Error
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le code 401 signifie que l'authentification est requise et a échoué.

QCM 26 Corrigé

Comment inclure des données supplémentaires (meta) dans une réponse de ressource ?

A. En utilisant la méthode with() dans la classe Resource
B. En ajoutant un champ dans toArray()
C. En modifiant le fichier de config
D. Ce n'est pas possible avec les ressources
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La méthode with($request) permet d'ajouter des données de haut niveau comme des liens ou des versions.

QCM 27 Corrigé

Quel est le format par défaut des données envoyées par une API Laravel ?

A. XML
B. JSON
C. YAML
D. HTML
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Laravel est nativement optimisé pour le format JSON pour les API modernes.

QCM 28 Corrigé

Pour valider les données entrantes d'une requête API, quelle classe est recommandée ?

A. Validator
B. FormRequest
C. ApiRequest
D. JsonValidator
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les FormRequest permettent d'isoler la logique de validation et d'autorisation.

QCM 29 Corrigé

Dans une API Stateless, où est généralement stocké l'état de l'utilisateur ?

A. Dans les sessions PHP sur le serveur
B. Dans le cache Redis
C. Il n'y a pas d'état sur le serveur ; le client envoie un token à chaque fois
D. Dans un cookie crypté
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le principe du Stateless est que chaque requête contient toutes les infos nécessaires (token) pour identifier l'utilisateur.

QCM 30 Corrigé

Quelle méthode permet de supprimer un jeton spécifique lors d'une déconnexion avec Sanctum ?

A. $user->currentAccessToken()->delete()
B. $user->logout()
C. Auth::logout()
D. Token::revoke($id)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
currentAccessToken() cible précisément le token utilisé pour la requête actuelle.

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

Une API Laravel permet à une application de communiquer avec d’autres systèmes via des requêtes HTTP. Elle repose sur des échanges de données structurées, généralement au format JSON.

Un contrôleur API regroupe la logique de traitement des requêtes destinées à une API. Il est conçu pour retourner des réponses structurées plutôt que des vues.

Les routes API définissent les points d’accès aux ressources d’une application. Elles sont séparées des routes web afin de gérer des échanges sans interface graphique.

Le middleware API encadre le traitement des requêtes entrantes. Il permet notamment de gérer l’authentification, la limitation des requêtes et la sécurité.

Une ressource JSON sert à transformer les modèles en réponses structurées et cohérentes. Elle permet de contrôler précisément les données exposées par l’API.

Sanctum est un système d’authentification léger pour les API et les applications SPA. Il repose sur des jetons simples à gérer et sécurisés.

Un token d’accès est une clé d’authentification envoyée par le client à chaque requête. Il permet d’identifier l’utilisateur sans utiliser de session serveur.

L’authentification API consiste à vérifier l’identité d’un client à l’aide d’un mécanisme sécurisé. Elle garantit que seules les requêtes autorisées sont traitées.

Une API stateless ne conserve aucun état côté serveur entre deux requêtes. Chaque appel doit contenir toutes les informations nécessaires à son traitement.

La protection CSRF empêche l’envoi de requêtes malveillantes à l’insu de l’utilisateur. Elle est souvent désactivée pour les API stateless.

Le CORS contrôle les échanges entre des domaines différents. Il autorise ou bloque l’accès à une API depuis des origines externes.

Les codes HTTP indiquent le résultat d’une requête. Ils permettent au client de comprendre si l’action a réussi ou échoué.

Le throttling limite le nombre de requêtes autorisées sur une période donnée. Il protège l’API contre les abus et les attaques automatisées.

La validation API vérifie que les données reçues respectent les règles définies. Elle assure la cohérence et la fiabilité des échanges.

Le Bearer Token est envoyé dans l’en-tête Authorization d’une requête. Il sert à prouver l’identité du client auprès de l’API.

À propos de ce QCM

Apprenez à construire des API modernes avec notre QCM sur Laravel API.

Ce test couvre la création de ressources JSON, le routage d'API et l'authentification légère avec Laravel Sanctum ou Passport.

Idéal pour les développeurs souhaitant créer des backends pour des applications mobiles ou des frameworks comme React et Vue.js.

Validez votre expertise sur l'échange de données et la sécurisation des services web.

Progressez vers le développement fullstack avec ce quiz.

Conclusion

La conception d’API avec Laravel demande à la fois rigueur et compréhension des mécanismes fondamentaux.

Les concepts abordés permettent de structurer des échanges fiables, sécurisés et performants entre différentes applications.

En s’entraînant régulièrement, l’apprenant renforce ses connaissances, améliore sa capacité d’analyse et développe des réflexes professionnels essentiels.

Cette progression favorise une meilleure maîtrise des architectures modernes et prépare efficacement aux exigences des examens et du monde professionnel.

Les QCM constituent ainsi un excellent support pour consolider les acquis et évoluer vers une pratique plus experte du développement d’API avec Laravel.