Organisme de Formation aux technologies et métiers de L'informatique
symfony

Développement Web avec Symfony 6


Ce cursus métier est composé de plusieurs formations distinctes

Informations générales

SF5PACK
5 jours (35h)
2 490 €HT

Objectifs

Après ce cours, vous serez capable de :

  • découvrir le framework Symfony 6 pour créer votre site web
  • créer un nouveau projet Symfony 6 de zéro
  • structurer les répertoires / fichiers
  • appliquer un pattern MVC
  • construire des pages web avec le moteur de rendu Twig et le gestionnaire d’assets Webpack Encore
  • prendre la main sur le framework pour maîtriser ses différents rouages
  • découvrir le principe d'injection de dépendances et apprendre à utiliser le registre de services de manière adaptée et efficace
  • découvrire comment interagir avec le fonctionnement de Symfony à travers les évènements, et apprendre à mettre en place une stratégie de droits d'accès sur l'application
  • créer ses propres commandes pour faciliter le développement
plus d'infos

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Personne débutant sur Symfony et souhaitant acquérir une connaissance appronfondie

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Maîtrise du langage PHP

Programme de la formation

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.

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
plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Mis à jour le 16/01/2024