Notre programme de formation Symfony Avancée
Maîtrisez les subtilités de Symfony et poussez vos compétences plus loin. De l’optimisation des performances à la gestion des workflows et des tests, vous apprendrez à concevoir des applications robustes, sécurisées et performantes, en maîtrisant les outils les plus avancés du framework.
- 🎤 Animée par un expert de JoliCode, passionné et actif dans la communauté tech.
- 🎓 Certifiée Qualiopi, reconnue pour sa qualité et conforme aux standards les plus élevés.
- 💯 Très courte, pour une montée en compétence rapide et impactante.
- 🧑💻 Accompagnement possible après la formation pour des conseils adaptés à votre projet.
Contenu de la formation
Explorez les concepts avancés de Symfony
Symfony est un outil complexe qui propose un haut niveau d’abstraction et de nombreuses fonctionnalités. Bien que les fonctionnalités de base de Symfony permettent de répondre à la plupart des besoins d’un projet web, il serait dommage de se limiter à celles-ci, et ne pas tirer toute la puissance possible du framework. Avec cette formation "avancée", basée sur la dernière version à ce jour, le participant sera capable d'aller plus loin dans sa compréhension du framework et d'en utiliser les fonctionnalités les plus avancées.
Il sera à même d'étendre le framework pour l'adapter à ses besoins, de déporter des traitements lourds, de mettre en place des tests automatisés complets et robustes. En pleine compréhension du framework, l'apprenant sera capable d'implémenter les exemples sur sa propre machine de développement.
En résumé, cette formation vous permettra :
- de maîtriser les principaux composants Symfony
- d'étendre Symfony et Twig pour l'adapter à des besoins spécifiques
- de créer des formulaires complexes et dynamiques
- d'assurer la qualité et la non régression en mettant en place des tests
- de faire des traitements asynchrones
- s'appuyer sur les composants avancées du framework pour répondre aux besoins métiers
- Retour rapide sur les classiques
- Cycle de release
- Symfony Flex
- Structuration des projets Symfony : dossiers, fichiers, convention
- Documentation
- Découverte du livre sur les bonnes pratiques Symfony
- Clean code : lisibilité et maintenabilité
Nous utiliserons une application déjà existante comme fil rouge lors de la formation !
- Utilisation des outils natifs de débogage Symfony (Profiler, DebugBar)
- Analyse des traces d'erreurs et logs
- Création et utilisation de commandes personnalisées Symfony
- Mise en place de SymfonyStyle ainsi que différent Helper (ProgressBar, Question, Table)
- Interaction avec d'autres services depuis la console
- Découverte du composant Filesytem
- Doctrine Param Converter : Utilisation et personnalisation du ParamConverter dans les routes
- Types de fetch : Comprendre les différences entre fetch, lazy, et extra_lazy
- Types d’hydratation : Object, Array, Scalar, SimpleObject
- Iterator : Optimisation des requêtes en traitant les grands ensembles de données
- Cache : Utilisation du cache Doctrine pour améliorer les performances des requêtes
- Utilisation du MakerBundle pour générer rapidement des éléments standards
- Principe du pattern Mediator avec Symfony
- Créer, écouter et gérer les événements du framework
- Authentification : Configuration avancée de systèmes d'authentification
- Autorisation : Gestion fine des rôles et des permissions
- Authentification avec Authenticator : Mise en place d'un authenticator personnalisé
- Data Transformer : Transformer des données entre la vue et le model
- Type Extension : Étendre les types de formulaires existants
- Form Theme : Personnalisation avancée des formulaires via les thèmes Twig
- Listener & Extension : Ajouter des comportements personnalisés au cycle de vie d’un formulaire
- Les contraintes natives : Comprendre et utiliser les validations fournies par Symfony
- Les contraintes inlines : Écrire des règles de validation personnalisées
- Les contraintes externes : Utiliser des validations externes via des services
- Les groupes de validation : Valider des champs selon des scénarios spécifiques
- Les séquences : Gestion avancée de la validation séquentielle
- Étendre Twig: Créer des filtres, des fonctions et des extensions Twig personnalisées
- Rappels : Bonnes pratiques d’injection de dépendance
- Définition de services / Autowire : Utiliser l’autowiring pour simplifier les définitions de services
- Services taggués : Comprendre et utiliser les services taggués dans les extensions de bundle
- Compiler Pass : Personnalisation de la compilation du conteneur de services
- ServiceSubscriber : Optimisation des dépendances avec le Service Subscriber
- Cache HTTP : Mise en cache des réponses HTTP et gestion des en-têtes
- Cache applicatif : Utiliser des caches au niveau de l’application (ex. Redis, APCu)
- Architecture : Introduction à la sérialisation / désérialisation de données avec Symfony
- Utilisation : Transformer des objets en JSON, XML, YAML et vice-versa
- Étendre le serializer : Ajouter des normalizers/dénormalizers personnalisés
- Définition & Principe : Différents types de tests et leur importance
- CI/CD : Intégration des tests dans les pipelines de CI/CD
- Test Unitaire : Bonnes pratiques pour tester des services isolés
- Test Fonctionnel : Tester les contrôleurs et les intégrations avec les dépendances
- L'asynchrone : Introduction à la gestion des tâches asynchrones avec Messenger
- Messenger : Mise en place de bus de messages, gestion des queues, et optimisation des tâches de fond
- Pourquoi un workflow ? : Présentation des cas d'usage des workflows dans une application
- Qu'est-ce qu'un workflow ? : Concepts de base, état, transition, événements
- Le Workflow : Mise en œuvre pratique et configuration d'un workflow dans Symfony
- Les événements : Réagir aux événements des workflows pour des actions spécifiques
- Intégration avec Twig : Visualisation des workflows dans l'interface utilisateur
- Les Metadata : Ajout de métadonnées aux transitions et états
- Les réseaux de Pétri : Introduction avancée à la modélisation avec des réseaux de Pétri
- Personnalisation des pages d'erreur : Adapter les pages d’erreur en fonction des statuts HTTP
- Gestion des erreurs avancée : Gestion des exceptions personnalisées
- Logs : Mise en place d’une stratégie de logging efficace pour la surveillance en production
- Composant VarDumper : Déboguer efficacement avec des dumps intelligents
- Durée de la formation :
- 3 jours
- Tarif :
- 1800 € HT / personne
- Public
-
- Développeurs PHP
- Chefs de projets techniques
- Architectes logiciel
- Pré-requis
-
- Bonnes connaissances du framework Symfony
- Docker
- Docker compose
- Ordinateur
- Prochaines dates
Formation certifiée Qualiopi : Eligible aux financements publics et mutualisés.
Portrait du formateur
Bien accompagné
Grégoire Pineau
Grégoire est un passionné d'open source, contribuant activement à des projets majeurs tels que Twig et Symfony. Son engagement et son expertise ont été reconnus en 2016 lorsqu'il a été nommé "core contributor" pour Symfony (aujourd’hui #10 contributor), suite à l'intégration du composant Workflow. Il est en charge de la relecture, du commentaire et de la finalisation des pull-requests envoyées par la communauté. De plus, Grégoire répond aux interrogations des développeurs et gère les tickets, qu'il s'agisse de bugs ou de nouvelles fonctionnalités.
Depuis 2017, Grégoire apporte son expertise au sein de JoliCode, où il bénéficie d'un temps dédié à l'open-source, lui permettant de poursuivre la maintenance de ce composant essentiel, mais aussi de travailler sur de nouveaux projets comme Docker starter (une surcouche à Docker Compose pour en simplifier l'expérience), Castor (un gestionnaire de tâches moderne écrit en PHP) et redirection.io !
Il aime partager ses connaissances via de nombreux articles sur le blog de JoliCode, ainsi que de fréquentes conférences en France, mais également en Belgique et au Canada 🌍
Ses formations sont fréquemment saluées pour leur richesse et leur interactivité. Grégoire offre des éclairages précieux sur des composants Symfony souvent utilisés mais parfois mal compris, et ses conseils pratiques sont particulièrement appréciés.
Notre expertise à ce sujet
Expertise
Chez JoliCode, nous utilisons Symfony au quotidien depuis plus de 15 ans, contribuant régulièrement au framework lui-même, à travers des correctifs et de nouvelles fonctionnalités. Nous partageons notre expertise à travers des conférences et des articles de blog, affirmant ainsi notre engagement à soutenir la communauté Symfony.
Nos compétences s’étendent bien au-delà de la formation : nous intervenons sur un large panel de métiers autour de Symfony, incluant le développement, l’architecture, le conseil, et la maintenance d’applications Web.
Parmi nos réalisations, nous avons développé des plateformes comme Sézane, ORPI ou Look Cycle. Nous offrons également des services d’expertise et d’audit pour accompagner nos clients dans l’optimisation de leurs projets.
Témoignages clients
🎉 100% de nos participants ont été satisfaits par cette formation ! (sur l'ensemble des 6 participants ayant répondu à notre enquête de 2016 à ce jour)
Demander un devis
Nous sommes à votre disposition pour vous aider à choisir la formation adaptée à vos besoins et pour organiser des sessions sur-mesure si nécessaire.