SF7PACK5J | Développement Web avec Symfony 7

  • 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 « SF7START / Démarrer avec Symfony 7 » et « SF7MASTER / Maîtrise de Symfony 7 » 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 7, 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 février 2024

POO avec PHP

  • Programmation orientée objet en PHP – rappel des bases
  • Les Classes, interfaces, et l’héritage en PHP
  • Relations entre les classes
  • Gestion des erreurs

Introduction à Symfony

  • Vue globale du projet Symfony, avec sa licence, ses versions, son rythme de sortie
  • Environnement de travail et outil « symfony » dédié ligne de commandes
  • Création d’un projet Symfony
  • Debug de Symfony : le Profiler et la Toolbar

Créer des pages statiques

  • Comment gérer le flux HTTP de requête - réponse
  • Créer votre première page Web
  • Routing dans Symfony et création de routes statiques, contrôle des méthodes HTTP
  • Bonnes pratiques concernant vos contrôleurs et leurs capacités
  • Syntaxe de base et héritage dans Twig

Gérer ses données avec Doctrine

  • Introduction à l’ORM de Doctrine et configuration de 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 Introduction aux tests automatisés et aux tests fonctionnels

Dynamiser vos pages

  • Routing complémentaires : paramètres de routing, ‘requirements’et valeurs par défaut
  • Transmettre et afficher des variables dans un template Twig
  • Syntaxe complémentaire de Twig : les structures de contrôle
  • Fonctions et filtres dans Twig

Gérer vos ressources avec AssetMapper

  • Le composant AssetMapper, introduction
  • Ajouter du CSS externe grâce à AssetMapper

Gérer les entrées utilisateur

  • Introduction aux formulaires de Symfony Form
  • 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

Introduction à la sécurité

  • Comprendre la sécurité dans les applications Symfony
  • Mettre en place une authentification simple par formulaire de login

Obtenir des données à distance

  • Introduction au composant HttpClient
  • Préparer ses requêtes grâce aux ScopedClients

Organiser votre code

  • Les environnements dans Symfony
  • 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 attribute
  • Compléter un service grâce à la « décoration »

Découpler son code

  • Introduction aux évènements et comment les propager dans un projet Symfony
  • Créer des « subscribers » et « listeners »
  • Liste d’évènements importants à connaître dans une application Symfony

Sécurisez votre application

  • Introduction à l’autorisation dans un projet Symfony
  • 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

Sérialiser ses données

  • Introduction au fonctionnement du composant Serializer
  • Les contextes et groupes de sérialisation
  • Normalisation des données complexes
  • Créer un normalizer personnalisé

Plateforme de révision en ligne - 1 mois d'accès

  • Test quotidien
  • Documentations

Programme horaire

Jour 1

  • MATIN

    POO avec PHP

    • Programmation orientée objet en PHP – rappel des bases
    • Les Classes, interfaces, et l’héritage en PHP
  • APRES-MIDI

    POO avec PHP

    • Relations entre les classes
    • Gestion des erreurs

Jour 2

  • MATIN

    Introduction à Symfony

    • Vue globale du projet Symfony, avec sa licence, ses versions, son rythme de sortie
    • Environnement de travail et outil « symfony » dédié ligne de commandes
    • Création d’un projet Symfony
    • Debug de Symfony : le Profiler et la Toolbar

    Créer des pages statiques

    • Comment gérer le flux HTTP de requête - réponse
    • Créer votre première page Web
    • Routing dans Symfony et création de routes statiques, contrôle des méthodes HTTP
    • Bonnes pratiques concernant vos contrôleurs et leurs capacités
    • Syntaxe de base et héritage dans Twig
  • APRES-MIDI

    Gérer ses données avec Doctrine
    • Introduction à l’ORM de Doctrine et configuration de 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 Introduction aux tests automatisés et aux tests fonctionnels

Jour 3

  • MATIN

    Dynamiser vos pages

    • Routing complémentaires : paramètres de routing, ‘requirements’et valeurs par défaut
    • Transmettre et afficher des variables dans un template Twig
    • Syntaxe complémentaire de Twig : les structures de contrôle
    • Fonctions et filtres dans Twig

    Gérer vos ressources avec AssetMapper

    • Le composant AssetMapper, introduction
    • Ajouter du CSS externe grâce à AssetMapper
  • APRES-MIDI

    Gérer les entrées utilisateur
    • Introduction aux formulaires de Symfony Form
    • 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

    Introduction à la sécurité

    • Comprendre la sécurité dans les applications Symfony
    • Mettre en place une authentification simple par formulaire de login

Jour 4

  • MATIN

    Obtenir des données à distance

    • Introduction au composant HttpClient
    • Préparer ses requêtes grâce aux ScopedClients

    Organiser votre code

    • Les environnements dans Symfony
    • 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 attribute
    • Compléter un service grâce à la « décoration »
  • APRES-MIDI

    Découpler son code

    • Introduction aux évènements et comment les propager dans un projet Symfony
    • Créer des « subscribers » et « listeners »
    • Liste d’évènements importants à connaître dans une application Symfony

Jour 5

  • MATIN

    Sécurisez votre application

    • Introduction à l’autorisation dans un projet Symfony
    • 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

    Sérialiser ses données

    • Introduction au fonctionnement du composant Serializer
    • Les contextes et groupes de sérialisation
    • Normalisation des données complexes
    • Créer un normalizer personnalisé

Appréciation de la formation

Moyenne globale : 4,7/5

  1. Evaluation de la pédagogie : 4,8/5
  2. Evaluation du contenu : 4,7/5
  3. Evaluation du rythme : 4,5/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