Forma­tion Symfony avan­cée

Symfony est aujour­d’hui l’un des frame­works PHP les plus utili­sés pour déve­lop­per des appli­ca­tions web perfor­mantes, robustes et main­te­nables. Cette forma­tion avan­cée s’adresse aux déve­lop­peurs souhai­tant appro­fon­dir leur maîtrise du frame­work et adop­ter les bonnes pratiques utili­sées dans les projets profes­sion­nels.

Au cours de cette forma­tion, vous appren­drez à conce­voir des archi­tec­tures appli­ca­tives avan­cées, à exploi­ter les compo­sants clés de Symfony (Messen­ger, Secu­rity, Event Dispat­cher, API), à amélio­rer la qualité et les perfor­mances de vos appli­ca­tions, ainsi qu’à mettre en place des tests auto­ma­ti­sés et des proces­sus d’in­dus­tria­li­sa­tion.

Grâce à de nombreux travaux pratiques, vous déve­lop­pe­rez les compé­tences néces­saires pour conce­voir et main­te­nir des appli­ca­tions Symfony modernes, sécu­ri­sées et évolu­tives.

Objectifs pédagogiques

  • Maîtri­ser les fonc­tion­na­li­tés avan­cées de Symfony.
  • Conce­voir une archi­tec­ture appli­ca­tive robuste et main­te­nable.
  • Opti­mi­ser les perfor­mances et la qualité du code.
  • Mettre en œuvre les bonnes pratiques de déve­lop­pe­ment avec Symfony.
  • Auto­ma­ti­ser les tests et sécu­ri­ser leurs appli­ca­tions.
  • Exploi­ter les compo­sants avan­cés de l’éco­sys­tème Symfony.

Forma­tion Symfony avan­cée en détail

Programme

Jour 1 – Archi­tec­ture et bonnes pratiques Symfony

Rappels et nouveau­tés de Symfony

  • Les évolu­tions récentes du frame­work.
  • Les bonnes pratiques recom­man­dées.
  • Orga­ni­sa­tion d’un projet Symfony moderne.

Archi­tec­ture appli­ca­tive

  • Archi­tec­ture en couches.
  • Sépa­ra­tion des respon­sa­bi­li­tés.
  • Utili­sa­tion des services et de l’injec­tion de dépen­dances.
  • Confi­gu­ra­tion avan­cée du conte­neur de services.

Design patterns avec Symfony

  • Repo­si­tory Pattern.
  • Factory Pattern.
  • DTO (Data Trans­fer Objects).
  • Value Objects.
  • Services métiers.

Gestion de la confi­gu­ra­tion

  • Variables d’en­vi­ron­ne­ment.
  • Para­mètres et confi­gu­ra­tion multi-envi­ron­ne­ments.
  • Gestion des secrets avec Symfony Secrets.

Jour 2 – Fonc­tion­na­li­tés avan­cées du frame­work

Event Dispat­cher et Event Subscri­bers

  • Comprendre le cycle de vie d’une requête.
  • Créa­tion d’évé­ne­ments person­na­li­sés.
  • Mise en œuvre des Event Subscri­bers.

Messen­ger

  • Intro­duc­tion au compo­sant Messen­ger.
  • Bus de messages.
  • Trai­te­ments synchrones et asyn­chrones.
  • Gestion des files de messages.
  • Utili­sa­tion avec RabbitMQ ou Redis.

API avec Symfony

  • Créa­tion d’API REST.
  • Séria­li­sa­tion des données.
  • Gestion des DTO.
  • Vali­da­tion des données.
  • Gestion des erreurs.

Sécu­rité avan­cée

  • Authen­ti­fi­ca­tion et auto­ri­sa­tion.
  • Voters.
  • Gestion des rôles.
  • Sécu­ri­sa­tion des API.
  • Bonnes pratiques de sécu­rité.

Jour 3 – Qualité, tests et perfor­mances

Tests auto­ma­ti­sés

  • PHPU­nit.
  • Tests unitaires.
  • Tests fonc­tion­nels.
  • Mocking et bonnes pratiques.
  • Couver­ture de code.

Qualité de code

  • PHPS­tan.
  • PHP-CS-Fixer.
  • Rector.
  • Analyse statique du code.
  • Respect des stan­dards PSR.

Opti­mi­sa­tion des perfor­mances

  • Gestion du cache.
  • Cache HTTP.
  • Cache Symfony.
  • Profi­ling avec le Web Profi­ler.
  • Opti­mi­sa­tion des requêtes Doctrine.

Doctrine avancé

  • Rela­tions complexes.
  • Requêtes opti­mi­sées.
  • Repo­si­tory person­na­li­sés.
  • Gestion des migra­tions.
  • Perfor­mance et pagi­na­tion.

Jour 4 – Indus­tria­li­sa­tion et déploie­ment (option­nel)

Indus­tria­li­sa­tion des projets

  • Struc­tu­ra­tion d’un projet Symfony en équipe.
  • Gestion des dépen­dances.
  • Version­ne­ment des bases de données.

Inté­gra­tion conti­nue

  • Mise en place d’une chaîne CI/CD.
  • Auto­ma­ti­sa­tion des tests.
  • Véri­fi­ca­tion de la qualité du code.
  • Déploie­ments auto­ma­ti­sés.

Docker et Symfony

  • Utili­sa­tion de Docker en déve­lop­pe­ment.
  • Confi­gu­ra­tion d’un envi­ron­ne­ment complet.
  • Bonnes pratiques.

Déploie­ment et super­vi­sion

  • Prépa­ra­tion d’un envi­ron­ne­ment de produc­tion.
  • Gestion des logs.
  • Moni­to­ring et super­vi­sion.
  • Sécu­ri­sa­tion des déploie­ments.

Travaux pratiques

Tout au long de la forma­tion, les parti­ci­pants déve­lop­pe­ront et feront évoluer une appli­ca­tion Symfony en mettant en œuvre les diffé­rentes notions abor­dées :

  • Archi­tec­ture métier avan­cée.
  • Mise en place d’une API sécu­ri­sée.
  • Trai­te­ments asyn­chrones avec Messen­ger.
  • Tests auto­ma­ti­sés.
  • Opti­mi­sa­tion des perfor­mances.
  • Indus­tria­li­sa­tion et déploie­ment de l’ap­pli­ca­tion.

Public et pré-requis

Public

Déve­lop­peurs PHP maîtri­sant les fonda­men­taux de Symfony et souhai­tant appro­fon­dir leurs compé­tences sur le frame­work.

Pré-requis

  • Bonne maîtrise de PHP (PHP 8+).
  • Connais­sance des bases de Symfony (routing, contrô­leurs, formu­laires, Doctrine, Twig).
  • Utili­sa­tion courante de Compo­ser et Git.

Personne en situa­tion de handi­cap

Pour toutes ques­tions rela­tives à l’ac­cueil d’un parti­ci­pant présen­tant un handi­cap, merci de nous contac­ter préa­la­ble­ment avant toute inscrip­tion

Ingé­nie­rie péda­go­gique

Moyens péda­go­giques et tech­niques

  • Les supports de cours (slides) seront dispo­nibles en ligne et distri­bués en début de forma­tion (à l’aide d’un lien vers notre outil interne ou d’une version numé­ri­sée), puis four­nis au format élec­tro­nique à la fin de la forma­tion
  • Une salle de forma­tion équi­pée d’une connexion Inter­net, d’un vidéo­projec­teur, paper­board. Ou une salle virtuelle pour les forma­tions à distance (FOAD).
  • Un ordi­na­teur par stagiaire avec un système d’ex­ploi­ta­tion installé et les outils néces­saires.

Moda­li­tés de suivi de l’exé­cu­tion du programme

  • Durant la forma­tion: alter­nance d’ap­ports théo­riques (30% du cours), d’exer­cices pratiques et de mise en situa­tion sous forme de travaux pratiques corri­gés avec l’ex­pert-forma­teur
  • En fin de forma­tion: évalua­tion à chaud sur l’at­teinte des objec­tifs péda­go­giques sous forme de tour de table et de test de connais­sances, d’exer­cices, de QCM

Moyens d’en­ca­dre­ment

Forma­tion assu­rée par un expert-forma­teur PHP – Symfony ayant une expé­rience signi­fi­ca­tive.

Nos experts

Lonny Loquesol

Développeur PHP-Symfony


Nantes
Simon Mellerin

Simon Mellerin

Développeur PHP Symfony & Vue.js


Nantes