Laravel avancé : API, files d'attente et tests

Laravel avancé (API, files d'attente, tests) est un cours de niveau avancé de 5 leçons (environ 4 h 10), avec 18 exercices et 15 questions de quiz. Prérequis : Laravel fondamentaux, Tests automatisés. Le cours demande un environnement de projet complet, prévu dans une phase ultérieure de la plateforme.

  • PHP
  • Avancé
  • 5 leçons
  • 4 h 10
  • 18 exercices
  • Environnement de projet complet (phase 2)

Le cours en bref

Ce cours avancé vous apprend à construire une API Laravel 13 prête pour la production. Vous maîtriserez le format JSON avec les API Resources, sécuriserez l'accès avec Sanctum et les policies, déporterez les traitements lents dans des files d'attente, éliminerez les requêtes N+1 et mettrez en place une suite de tests automatisés avec Pest ou PHPUnit.

Ce que tu sauras faire

  • Exposer une API REST cohérente avec apiResource, API Resources et codes HTTP adaptés
  • Authentifier les clients avec des jetons Sanctum et autoriser les actions avec des policies
  • Déporter des traitements dans des jobs avec tentatives, backoff et gestion des échecs
  • Diagnostiquer et corriger les requêtes N+1 et utiliser le cache à bon escient
  • Écrire des tests de fonctionnalité avec factories, authentification simulée et fakes

Programme des 5 leçons

    • Exposer une ressource en API REST avec apiResource
    • Contrôler le format JSON avec des API Resources
    • Renvoyer les bons codes HTTP et des collections paginées

    Routes d'APIAPI ResourcesCodes HTTP

  1. 02

    Authentification d'API avec Sanctum et autorisations

    20 min
    • Émettre et vérifier des jetons d'API avec Sanctum
    • Protéger des routes et limiter les capacités d'un jeton
    • Centraliser les règles d'accès dans des policies

    Laravel SanctumPolicies et GateAuthentification et autorisation

  2. 03

    Files d'attente et jobs

    20 min
    • Déporter un traitement lent dans un job asynchrone
    • Configurer les tentatives, délais et la gestion des échecs
    • Exploiter les workers en développement et en production

    Files d'attenteJobsWorkers

  3. 04

    Performances : requêtes N+1, eager loading et cache

    20 min
    • Repérer et corriger le problème des requêtes N+1
    • Mettre en cache des résultats coûteux et les invalider
    • Mesurer avant d'optimiser

    Eager loadingCacheProblème N+1

  4. 05

    Tester une application Laravel avec Pest et PHPUnit

    20 min
    • Écrire des tests de fonctionnalité sur une API Laravel
    • Utiliser factories, RefreshDatabase et l'authentification simulée
    • Isoler les effets de bord avec les fakes (Queue, Mail)

    Tests LaravelPestFakes et factories

Projet final

API de commandes sécurisée, asynchrone et testée

Développez l'API d'une boutique avec Laravel 13 : catalogue public paginé, authentification par jetons Sanctum, passage de commande réservé aux clients authentifiés, génération et envoi de la facture dans un job, et tableau de bord administrateur mis en cache. Toutes les fonctionnalités sont couvertes par des tests automatisés.

Livrables

  • Dépôt Git du projet avec README (installation, lancement du worker, exécution des tests)
  • Routes d'API, contrôleurs et API Resources pour produits et commandes
  • Authentification Sanctum avec capacités et policies sur les commandes
  • Jobs EnvoyerFacture et NotifierEntrepot avec tentatives, backoff et méthode failed()
  • Suite de tests Pest ou PHPUnit d'au moins 12 tests (succès, 401, 403, 404, 422, jobs dispatchés)

Critères d'évaluation

  • Format JSON stable via API Resources et codes HTTP corrects
  • Aucun accès possible aux commandes d'un autre client
  • Aucun traitement lent dans le cycle de la requête et jobs idempotents
  • Pas de requête N+1 sur les endpoints de liste (preventLazyLoading activé en développement)
  • Suite de tests verte et lisible, exécutable par php artisan test

Questions fréquentes

Faut-il connaître Laravel avant ce cours ?

Oui : routes, contrôleurs, Eloquent, migrations et validation sont supposés acquis. Ils sont couverts par le cours Laravel fondamentaux du parcours.

Sanctum ou Passport pour une API Laravel ?

Sanctum suffit pour la grande majorité des cas : jetons pour applications mobiles et intégrations, cookies pour une SPA. Passport n'est utile que si vous devez fournir un serveur OAuth2 complet.

Pest ou PHPUnit ?

Les deux sont pris en charge par Laravel et utilisent le même moteur. Pest propose une syntaxe plus concise ; le cours montre les deux pour que vous puissiez lire n'importe quel projet.

Ai-je besoin de Redis pour les files d'attente ?

Non. Le pilote database, configuré par défaut, suffit pour apprendre et pour de nombreux projets. Redis devient intéressant quand le volume de jobs augmente.

Ce cours, raconté pour ton métier

Dis ce que tu veux savoir faire : « Laravel avancé (API, files d'attente, tests) » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.

L'aperçu est gratuit, et les cours se suivent un par un sans payer. Le parcours ne contient que des leçons du catalogue.