SF6PACK5J | Développement Web avec Symfony 6
- SensioLabs University a conçu la meilleure expérience de formation Symfony en associant le présentiel et le eLearning. En complément de la formation en présentiel, l'accès à notre plateforme de révision en ligne pendant 1 mois, permet d’associer différentes pratiques d’apprentissage, de tester ses compétences, de suivre sa progression et de rester en contact avec son formateur sur toute la durée du programme.
-
Prérequis
Maîtrise du langage PHP -
Objectifs
Cette formation combine les deux modules « SF6START / Démarrer avec Symfony 6 » et « SF6MASTER / Maîtrise de Symfony 6 » et couvre tous les concepts importants de Symfony. De l'installation à l'affichage de vos premières pages web dynamiques avec Twig, en passant par les formulaires, la sécurité et le cache HTTP, vous apprendrez à utiliser et maîtriser tous les outils majeurs de Symfony afin de devenir entièrement autonome avec le framework. Bien plus qu'une simple formation à Symfony 6, ce cursus est animé par des instructeurs experts et contributeurs à Symfony qui partageront avec vous leurs meilleures pratiques ainsi que leurs trucs et astuces !
Programme détaillé
Supports mis à jour en octobre 2023
Quel EDI ?
Evolution de la POO PHP
- Historique de la POO PHP
- PSR
Bases de la POO
- Qu'est-ce que la POO ?
- Anatomie d'une classe
- Types PHP
Concepts avancés de POO
- Héritage en POO
- static et constantes
- Interfaces
- Classes abstraites
- Traits
- Méthodes magiques
Exceptions et erreurs
Relation entre les classes
- Héritage
- Implémentation
- Association
- Agrégation
- Composition
Namespaces
Autoload
Introduction
- Vue globale du projet Symfony, avec sa licence, ses versions, son rythme de sortie, sa direction globale et une liste de composants comme illustration de choses faisables avec le framework.
- Environnement de travail et outil « symfony » dédié ligne de commandes
- Création d’un projet Symfony
Découverte de Symfony
- Comment gérer le flux HTTP de requête - réponse
- Créer votre première page Web
- Affiner les routes de votre application avec des paramètres et des contraintes
- Bonnes pratiques concernant vos contrôleurs et leurs capacités
Introduction aux tests fonctionnels
- Introduction aux tests automatisés et aux tests fonctionnels
- Installation et présentation de l’outil « PHPUnit » pour exécuter vos tests automatisés
- Écrire son premier test pour vérifier un code statut d’une page Web donnée
- Créer un « data provider » pour fournir des URL à analyser successivement dans un test
Rendu graphique avec Twig
- Introduction à Twig
- Syntaxe primitive de Twig
- Utiliser la syntaxe utile « . » pour extraire des valeurs d’une structure
- Transmettre un contexte à vos templates depuis vos contrôleurs
- Créer des itérations sur des données et tester certaines conditions pour formater vos pages Web
- Utiliser des techniques de layout avec de l’héritage et les inclusions de templates pour réduire la taille de vos templates
- Bonnes solutions pour trouver de l’aide pour vos templates à travers la console de Symfony ou le profileur Web
- Créer des URL dynamiques dans vos templates pour accéder à d’autres pages Web ou pour associer un asset (image, css, js…)
Assets Web avec Webpack Encore
- Brève introduction à Webpack Encore et Yarn
- Installation et configuration du bundle nécessaire
- Optimiser vos assets avec Webpack Encore
Introduction à Doctrine
- Introduction à l’ORM de Doctrine et configuration of votre projet pour atteindre votre base de données
- Créer vos entités et leur configuration avec « Symfony maker »
- Créer et appliquer des migrations pour gérer l’état de votre base de données
- Établir et gérer les relations entre 2 entités
- Stocker des enregistrements en base de données en utilisant un contrôleur ou un « fixture » de Doctrine dans le cadre de tests automatisés.
- Récupérer des enregistrements de la base de données par des requêtes standard ou personnalisées
Formulaires
- Introduction aux formulaires de Symfony
- Créer vos formulaires avec des configurations sur-mesure
- Extraire et gérer les données de vos formulaires
- Mettre en place des contraintes natives pour valider les données provenant de l’utilisateur
Services
- Introduction à l’injection de dépendances et aux services de Symfony
- Utiliser la meilleure manière pour déterminer les services disponibles
- Utiliser l’« autowiring » pour injecter des dépendances dans un constructeur, un setter ou un attribut
- Vérifier la configuration de vos services
- Comprendre la limite entre les paramètres des services et les variables d’environnement
Console
- Introduction aux commandes, et comment créer et optimiser des commandes interactives, des commandes batch, etc.
- Écrire sa première commande
- Utilise des outils de « SymfonyStyle » pour vous faciliter la vie
- Déclarer et gérer des options et arguments dans votre commande
Sécurité
- Introduction à l’authentification et à l’autorisation dans un projet Symfony
- Créer votre authentificateur sur-mesure grâce à « Guard »
- Vérifier les rôles de vos utilisateurs pour les laisser accéder à certaines ressources de l’application
- Créer des voteurs personnalisés pour gérer de rares situations qui nécessitent une vérification particulière en PHP
Évènements
- Introduction aux évènements et comment les propager dans un projet Symfony
- Créer des « subscribers » pour déclarer des « listeners »
- Liste d’évènements importants à connaître dans une application Symfony
- Essayer une configuration alternative pour déclarer des listeners sans subscriber
Plateforme de révision en ligne - 1 mois d'accès
- Test quotidien
- Documentations
Programme horaire
Jour 1
-
MATIN
Quel EDI ?
Evolution de la POO PHP
- Historique de la POO PHP
- PSR
Bases de la POO
- Qu'est-ce que la POO ?
- Anatomie d'une classe
- Types PHP
Concepts avancés de POO
- Héritage en POO
- static et constantes
- Interfaces
- Classes abstraites
- Traits
- Méthodes magiques
-
APRES-MIDI
Exceptions et erreurs
Relation entre les classes
- Héritage
- Implémentation
- Association
- Agrégation
- Composition
Namespaces
Autoload
Jour 2
-
MATIN
Introduction
- Vue globale du projet Symfony, avec sa licence, ses versions, son rythme de sortie, sa direction globale et une liste de composants comme illustration de choses faisables avec le framework.
- Environnement de travail et outil « symfony » dédié ligne de commandes
- Création d’un projet Symfony
Découverte de Symfony
- Comment gérer le flux HTTP de requête - réponse
- Créer votre première page Web
- Affiner les routes de votre application avec des paramètres et des contraintes
- Bonnes pratiques concernant vos contrôleurs et leurs capacités
Introduction aux tests fonctionnels
- Introduction aux tests automatisés et aux tests fonctionnels
- Installation et présentation de l’outil « PHPUnit » pour exécuter vos tests automatisés
- Écrire son premier test pour vérifier un code statut d’une page Web donnée
- Créer un « data provider » pour fournir des URL à analyser successivement dans un test
-
APRES-MIDI
Rendu graphique avec Twig
- Introduction à Twig
- Syntaxe primitive de Twig
- Utiliser la syntaxe utile « . » pour extraire des valeurs d’une structure
- Transmettre un contexte à vos templates depuis vos contrôleurs
- Créer des itérations sur des données et tester certaines conditions pour formater vos pages Web
- Utiliser des techniques de layout avec de l’héritage et les inclusions de templates pour réduire la taille de vos templates
- Bonnes solutions pour trouver de l’aide pour vos templates à travers la console de Symfony ou le profileur Web
- Créer des URL dynamiques dans vos templates pour accéder à d’autres pages Web ou pour associer un asset (image, css, js…)
Assets Web avec Webpack Encore
- Brève introduction à Webpack Encore et Yarn
- Installation et configuration du bundle nécessaire
- Optimiser vos assets avec Webpack Encore
Jour 3
-
MATIN
Introduction à Doctrine
- Introduction à l’ORM de Doctrine et configuration of votre projet pour atteindre votre base de données
- Créer vos entités et leur configuration avec « Symfony maker »
- Créer et appliquer des migrations pour gérer l’état de votre base de données
- Établir et gérer les relations entre 2 entités
- Stocker des enregistrements en base de données en utilisant un contrôleur.
- Récupérer des enregistrements de la base de données par des requêtes standard ou personnalisées
-
APRES-MIDI
Formulaires
- Introduction aux formulaires de Symfony
- Créer vos formulaires avec des configurations sur-mesure
- Extraire et gérer les données de vos formulaires
- Mettre en place des contraintes natives pour valider les données provenant de l’utilisateur
Jour 4
-
MATIN
Services
- Introduction à l’injection de dépendances et aux services de Symfony
- Utiliser la meilleure manière pour déterminer les services disponibles
- Utiliser l’« autowiring » pour injecter des dépendances dans un constructeur, un setter ou un attribut
- Vérifier la configuration de vos services
- Comprendre la limite entre les paramètres des services et les variables d’environnement
-
APRES-MIDI
Console
- Introduction aux commandes, et comment créer et optimiser des commandes interactives, des commandes batch, etc.
- Écrire sa première commande
- Utilise des outils de « SymfonyStyle » pour vous faciliter la vie
- Déclarer et gérer des options et arguments dans votre commande
Jour 5
-
MATIN
Sécurité
- Introduction à l’authentification et à l’autorisation dans un projet Symfony
- Créer votre authentificateur sur-mesure grâce à « Security »
- Vérifier les rôles de vos utilisateurs pour les laisser accéder à certaines ressources de l’application
- Créer des voteurs personnalisés pour gérer de rares situations qui nécessitent une vérification particulière en PHP
-
APRES-MIDI
Évènements
- Introduction aux évènements et comment les propager dans un projet Symfony
- Créer des « subscribers » pour déclarer des « listeners »
- Liste d’évènements importants à connaître dans une application Symfony
Appréciation de la formation
Moyenne globale : 4,6/5
- Evaluation de la pédagogie : 4,8/5
- Evaluation du contenu : 4,6/5
- Evaluation du rythme : 4,6/5
Modalités pédagogiques et techniques
Notre cursus est conçu selon les principes suivant :
· Répartition du temps d’apprentissage entre 40% de théorie & 60% de pratique
· Mise en pratique par l’exercice
· Échanges réguliers avec le formateur et les participants. Pas plus de 10 personnes par session.
Supports pédagogiques : le formateur partagera les supports de cours. Ils sont en anglais, mais le formateur parle français.
Pour les sessions à distance, les formations seront enregistrées et les vidéos seront disponibles sur une plateforme de révisions pendant 1 mois.
Matériel pédagogique : mise à disposition de l’ensemble du matériel collaboratif.
Technologie : Pour les formations à distance, un lien GoogleMeet est utilisé pour la projection du support de formation et pour soutenir les exercices pratiques.
Apprenant en situation de handicap, nous sommes à vos côtés pour identifier les aménagements les plus adaptés des modalités et des supports pédagogiques ou les aides humaines pertinentes.
Pour plus d’informations, contactez notre référent handicap : laurent.vaquette@sensiolabs.com / 01 86 65 72 25
Modalités évaluatives
- Un contrôle de connaissances sous forme de QCM est réalisé pendant et à l’issue de la formation. Il permet de valider et de reprendre les points non assimilés.
- Un certificat de réalisation d’une action de formation est transmis à l’apprenant.
- Une copie de la feuille d’émargement est transmise au commanditaire.
Modalités d'inscription
- Une commande doit être formulée via le formulaire d’inscription sur notre site, via le mail Training ou par téléphone.
- L’inscription sera définitive après réception du devis signé et d’un paiement intégral ou d’un accord de prise en charge d’un OPCO, avant le début de la formation.
- Télécharger le livret d’Accueil
-
Durée
5 jour(s)
-
Niveau
Débutant
-
Langues disponibles
Français, Anglais, Allemand -
Pays disponibles
Monde, France, Allemagne, Espagne, Royaume-Uni, États-Unis
-
Du 27/01
au 31/01/25Paris
France2 490,00 € -
Du 24/02
au 28/02/25Paris
France2 490,00 € -
Du 24/03
au 28/03/25Paris
France2 490,00 € -
Du 14/04
au 18/04/25Paris
France2 490,00 € -
Du 19/05
au 23/05/25Paris
France2 490,00 € -
Du 23/06
au 27/06/25Paris
France2 490,00 € -
Du 21/07
au 25/07/25Paris
France2 490,00 € -
Du 18/08
au 22/08/25Paris
France2 490,00 € -
Du 22/09
au 26/09/25Paris
France2 490,00 € -
Du 20/10
au 24/10/25Paris
France2 490,00 € -
Du 17/11
au 21/11/25Paris
France2 490,00 € -
Du 15/12
au 19/12/25Paris
France2 490,00 €
Vous n'êtes pas disponible à ces périodes ? Nous organisons des sessions de formation sur mesure, n'hésitez pas à nous contacter pour plus d'informations !