Organisme de Formation aux technologies et métiers de L'informatique
symfony

Formation Maîtrise de Symfony

Informations générales

SFMASTER
5 jours (35h)
2 490 €HT

Objectifs

Après ce cours, vous serez capable de :

  • Concevoir des flux de travail asynchrones à l'aide du composant Messenger, avec gestion des tentatives de réessai et des échecs
  • Contrôler la sortie de l'API grâce à la sérialisation avancée : métadonnées, convertisseurs de noms et stratégies de gestion des références circulaires
  • Intégrer efficacement des API externes à l'aide de décorateurs, du multiplexage des requêtes et de l'interopérabilité PSR
  • Mettre en œuvre des stratégies de mise en cache au niveau HTTP et au niveau de l'application, y compris l'ESI
  • Créer des formulaires complexes à l'aide de transformateurs de données, de mappeurs, d'événements et de thèmes personnalisés
  • Configurer des services à l'aide de modèles avancés d'injection de dépendances : fabriques, localisateurs de services et services abstraits
  • Créer des bundles Symfony réutilisables et distribuables avec une configuration sémantique
plus d'infos

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • développeurs qui maîtrisent déjà Symfony et souhaitent aborder ses fonctionnalités les plus avancées

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Les participants doivent posséder une solide expérience des principes fondamentaux de Symfony, notamment l'injection de dépendances, les formulaires, le client HTTP et le composant Serializer.
  • Il est indispensable d'avoir suivi les formations de SensioLabs Approfondir avec Symfony ou Développement Web avec Symfony (ou de disposer d'une expérience professionnelle équivalente)

Programme de la formation

Cette formation s'adresse aux développeurs qui maîtrisent déjà Symfony et souhaitent aborder ses fonctionnalités les plus avancées. Pendant cinq jours, vous explorerez les composants et modèles les plus puissants du framework, de la messagerie asynchrone à la sérialisation avancée, en passant par la création de bundles et l'injection de dépendances complexes. Vous acquerrez ainsi une expertise directement transposable dans des applications en production. Le programme allie des sessions animées par un formateur et un accès d'un mois à la plateforme de révision en ligne, afin de permettre une pratique continue.

Le composant Messenger

  • Messages et gestionnaires : structuration et distribution des unités de travail, de manière synchrone ou via un transport
  • Message buses : séparation des bus de commande, de requête et d'événement pour une architecture propre
  • Transports et queue backends : connexion à de véritables systèmes de queue et configuration des workers
  • Middleware : interception et traitement des messages à chaque étape du pipeline
  • Routage avancé : envoi de différents messages vers différents transports en fonction de règles
  • CQRS : séparation des opérations de lecture et d'écriture à l'aide de bus et de gestionnaires dédiés
  • Messages planifiés : déclenchement de tâches récurrentes sans système cron externe
  • Gestion des échecs et stratégies de retry : retryautomatique des messages ayant échoué avec des politiques de backoff

Serializer et HttpClient

  • Matin - Sérialisation avancée
  • Métadonnées vs contexte : choisir entre la configuration statique des attributs et les options dynamiques d'exécution
  • Sélection et filtrage des attributs : contrôler précisément quels champs sont exposés pour chaque cas d'utilisation
  • Convertisseurs de noms : traduire les noms de propriétés pour les adapter aux conventions des API externes
  • Gestion des références circulaires : stratégies pour sérialiser des graphes d'objets sans boucles infinies
  • Après-midi — HttpClient avancé
  • Decorators : encapsuler le client HTTP pour le retry, la mise en cache, la journalisation et les comportements personnalisés
  • Multiplexage des requêtes : envoyer des requêtes HTTP simultanées et traiter les réponses à mesure qu'elles arrivent
  • Interopérabilité PSR : adapter le client HTTP de Symfony aux bibliothèques tierces qui attendent des interfaces PSR

Mise en cache et formulaires avancés

  • Matin - Stratégies de mise en cache
  • Cache d'application vs cache HTTP : comprendre les deux niveaux de mise en cache et quand les utiliser
  • Expiration du cache : configuration des paramètres TTL et max-age pour des durées de vie prévisibles du cache
  • Validation du cache : utilisation des en-têtes ETag et Last-Modified pour éviter les réponses obsolètes
  • Modèles de mise en cache côté client et côté serveur : caches périphériques, proxys inversés et intégration CDN
  • Composant Cache de Symfony : pools, adaptateurs, éléments de cache et balises de cache
  • Edge Side Includes (ESI) : mise en cache indépendante de fragments de page via un proxy inversé
  • Après-midi — Formulaires avancés
  • Transformateurs de données : conversion entre les données du modèle et la représentation de la vue du formulaire
  • Mappeurs de données : contrôle de la manière dont les données du formulaire sont remappées vers les objets de domaine
  • Événements de formulaire : réaction au cycle de vie du formulaire pour ajouter, supprimer ou modifier des champs de manière dynamique
  • Thématisation des formulaires : personnalisation du rendu des formulaires de manière globale ou par type de formulaire
  • Extensions de types de formulaires : ajout de comportements à des types de formulaires existants sans sous-classification
  • Tests unitaires des formulaires : vérification de la logique de soumission, de transformation et de validation de manière isolée

Injection de dépendances avancée

  • Usines de services et configurateurs : création et post-traitement de services à l'aide d'une logique personnalisée
  • Localisateurs de services et service subscribers : chargement différé de collections de services à la demande
  • Abstract services : définition de modèles de services réutilisables pour réduire la duplication des configurations
  • Lazy services : report de l'instanciation coûteuse des services jusqu'à leur première utilisation
  • Passages du compilateur : manipulation du conteneur par programmation avant sa compilation

Création de bundles

  • Structure et conventions des bundles : organisation d'un bundle réutilisable pour la distribution
  • Configuration sémantique : exposition d'une API YAML/PHP épurée pour les utilisateurs de bundles
  • Validation de la configuration avec le composant Config : vérification de l'exactitude de la configuration fournie par l'utilisateur
  • Classe d'extension : chargement et câblage des services à partir de la configuration du bundle
  • Passages du compilateur dans les bundles : intégration dans la construction du conteneur au moment opportun
  • Meilleures pratiques : dépendances facultatives, configuration PHP vs YAML, tests, documentation et recettes Flex
plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Comment financer votre formation Maîtrise de Symfony

Si vous êtes salarié, vous pouvez faire appel à l'OPCO de votre employeur pour financer votre formation Symfony.
Si vous êtes demandeur d'emploi, vous pouvez soumettre une demande de prise en charge auprès de votre conseiller France travail pour votre formation Symfony.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 14/10/2026
Le contenu peut faire l'objet de légères adaptations selon les besoins et la progression des participants.