Skip to Content
SymfonyPartie 4 — HTTP, Kernel, Routing, ControllersVue d'ensemble de la partie

Partie 4 — HTTP, Kernel, Routing, Controllers

Public : BookLab tourne (Partie 3), vous avez le langage (Partie 2) et la carte (Partie 1). On ouvre maintenant la première case du schéma : comment Symfony transforme concrètement une requête en réponse. Objectif de la partie : maîtriser le cœur HTTP de Symfony — le pipeline du HttpKernel, le routing par attributs, l’écriture de contrôleurs, la résolution d’arguments (dont #[MapRequestPayload] et #[MapEntity]), les sessions, et la création de commandes console.

Ce que vous saurez faire à la fin de cette partie

  • Expliquer précisément le trajet Request → Response et les événements du noyau.
  • Déclarer des routes riches par attribut (paramètres, contraintes, méthodes, priorités) et générer des URLs.
  • Écrire des contrôleurs propres qui renvoient HTML ou JSON, redirigent, gèrent les erreurs.
  • Injecter automatiquement des objets dans vos contrôleurs via les value resolvers (entité depuis l’URL, DTO validé depuis le corps JSON, paramètres de requête).
  • Utiliser sessions et messages flash.
  • Créer des commandes console (bin/console) pour les tâches et l’automatisation.

Le fil rouge dans cette partie

On ajoute à BookLab de vraies routes et contrôleurs (santé, endpoints publics), on met en place la résolution d’un DTO validé depuis une requête JSON (le futur point d’entrée « créer une réservation »), et une commande console utilitaire.

Chapitres de cette partie

  1. Front controller & HttpKernel — le pipeline en profondeur, les événements, la gestion des exceptions.
  2. Routing par attributs — paramètres, contraintes, méthodes, priorités, préfixes, génération d’URLs.
  3. Contrôleurs & réponsesAbstractController, Response/JsonResponse/RedirectResponse, codes HTTP, erreurs.
  4. Value resolvers#[MapEntity], #[MapRequestPayload], #[MapQueryParameter] : de la requête aux objets typés.
  5. Sessions & flash — état entre requêtes, messages flash, cookies.
  6. Commandes console — créer des commandes make:command, arguments/options, sortie stylée.

Prochain chapitre : 4.1 — Front controller & HttpKernel.