Skip to Content
SymfonyPartie 15 — Expert : perf, prod, architectureVue d'ensemble de la partie

Partie 15 — Expert : perf, prod, architecture, industrialisation

Public : BookLab est complet, testé et outillé (Parties 1-14). Cette dernière partie « cours » le fait passer à l’échelle production et introduit les patterns d’architecture experte. Objectif de la partie : performance (cache, profiler, FrankenPHP worker), production (déploiement, CI/CD, observabilité, durcissement), et architecture (DDD/CQRS/hexagonal, publier un bundle, multi-tenant).

Ce que vous saurez faire à la fin de cette partie

  • Mettre en cache aux bons niveaux (HTTP, application, Redis) et profiler pour trouver les goulots.
  • Faire tourner Symfony en FrankenPHP worker mode (perfs proches de Node).
  • Déployer proprement (Docker, CI/CD, migrations, workers) et observer en prod (Sentry, OpenTelemetry, logs).
  • Durcir l’application (rate limiting, CSP, secrets, checklist OWASP).
  • Structurer un gros domaine avec DDD léger / CQRS / hexagonal.
  • Créer et publier un bundle Composer réutilisable (angle produit, Partie 17).
  • Concevoir une application multi-tenant (un code, plusieurs clients).

Chapitres de cette partie

  1. Cache : HTTP, composant, Redis — les niveaux de cache, invalidation, tags, sessions Redis.
  2. Profiler & performance — mesurer avant d’optimiser, Blackfire, requêtes, mémoire.
  3. FrankenPHP worker mode — bootstrap unique, gains de perf, précautions d’état.
  4. Déploiement & CI/CD — Docker prod, migrations, workers, stratégies de déploiement.
  5. Observabilité — logs structurés (Monolog), Sentry, OpenTelemetry, health checks.
  6. Durcissement production — rate limiting, en-têtes de sécurité, secrets, OWASP appliqué.
  7. DDD, CQRS & hexagonal — séparer domaine et infrastructure dans un projet Symfony.
  8. Créer & publier un bundle — extraire, packager, publier sur Packagist.
  9. Multi-tenant — un code, plusieurs clients : stratégies et isolation.

Prochain chapitre : 15.1 — Cache : HTTP, composant, Redis.