Symfony - Avancé
Besoin d’adapter cette formation à vos besoins ?
N’hésitez pas à nous contacter afin d’obtenir un devis sur mesure !
Formation créée le 15/03/2024. Dernière mise à jour le 18/03/2024.
Version du programme : 1
Programme de la formation
Objectif de formation : Les participants apprendront à tirer parti des fonctionnalités avancées de Symfony pour créer des applications web sophistiquées, en se concentrant sur les meilleures pratiques, la modularité, et l'efficacité.
Objectifs de la formation
- Approfondir la connaissance des composants avancés de Symfony
- Maîtriser la sécurité des applications Symfony
- Optimiser les performances des applications Symfony
- Implémenter des tests automatisés pour assurer la qualité du code
- Préparer et exécuter un déploiement efficace d'applications Symfony
Profil des bénéficiaires
- Développeurs
- Professionnels IT
- Bonne connaissance de PHP et compréhension de base du framework Symfony
- Expérience avec le développement web et familiarité avec les concepts de base de la programmation orientée objet
Contenu de la formation
-
Approfondissement des composants Symfony (7 Heures)
- Rappels sur les fondamentaux de Symfony
- Comprendre et utiliser le composant Form pour les cas avancés : Création de types de formulaires personnalisés
- Extension et réutilisation des formulaires
- Gestion avancée des données avec les Data Transformers
- Utilisation des groupes de validation
- Création de contraintes de validation personnalisées
- Validation côté serveur basée sur des scénarios complexes
- Travaux Pratiques: Conception et implémentation d'un formulaire d'inscription utilisateur avancé, incluant la validation conditionnelle et la transformation de données
-
Sécurité dans Symfony (7 Heures)
- Configuration Approfondie du Firewall : Personnalisation des règles du firewall pour des zones sécurisées dans l'application
- Stratégies d'authentification et gestion des droits d'accès
- Création de fournisseurs d'authentification personnalisés
- Implémentation de Voters pour une gestion fine des permissions
- Travaux Pratiques: Mise en place d'un système d'authentification avec stratégie de fallback et sécurisation d'une section admin avec des Voters
-
Optimisation des performances (7 heures)
- Utilisation du composant HttpCache pour la mise en cache côté serveur
- Stratégies de validation et d'invalidation du cache
- Caching avancé : Configuration de Varnish devant une application Symfony
- Utilisation des Edge Side Includes (ESI) pour le cache fragmenté
- Travaux Pratiques : Configuration d'une stratégie de cache avec HttpCache et intégration avec Varnish pour une application Symfony existante
-
Tests et qualité du code (7 heures)
- Tests unitaires et fonctionnels avec PHPUnit : Création de tests unitaires pour les services et les contrôleurs
- Utilisation de fixtures et de clients de test pour simuler des scénarios d'application
- Introduction aux tests comportementaux : Écriture de scénarios de test en langage naturel
- Mise en place de Behat pour tester les flux utilisateur
- Travaux Pratiques : Développement d'une suite de tests pour un panier d'achat, incluant tests unitaires pour la logique métier et tests fonctionnels pour le workflow d'achat
-
Déploiement et bonnes pratiques (7 heures)
- Préparation de l'application pour le déploiement : Optimisation de l'application pour la production
- Stratégies de versioning et gestion des environnements
- Automatisation : Configuration de Deployer pour le déploiement automatisé
- Gestion des rollbacks et maintenance des versions déployées
- Travaux Pratiques: Automatisation du processus de déploiement d'une application Symfony sur un serveur de staging, incluant la configuration de l'environnement et la gestion des versions
Professionnel expert technique et pédagogique.
- Feuilles de présence.
- Questions orales ou écrites (QCM).
- Mises en situation.
- Formulaires d'évaluation de la formation.
- Certificat de réalisation de l’action de formation.
- Espace numérique de travail
- Documents supports de formation projetés
- Exposés théoriques
- Etude de cas concrets
- Quiz en salle
- Mise à disposition en ligne de documents supports à la suite de la formation