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

  1. Evaluation de la pédagogie : 4,8/5
  2. Evaluation du contenu : 4,6/5
  3. Evaluation du rythme : 4,6/5
Les notations sont la synthèse des appréciations cumulées de nos stagiaires du 01/01/2024 au 01/09/2024

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 handicaplaurent.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