Formation Symfony 4 - Développement Web – Centre de formation M2i
M2i Formation

Découvrez notre formationSymfony 4 - Développement Web

Présentiel

4 jours (28 heures) - SYMF4-DEV

Accueil  ›  Formations Informatique  ›  Langages et développement  ›  PHP  ›  Symfony 4 - Développement Web

Objectifs pédagogiques

  • Connaître 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
  • Utiliser et maîtriser tous les outils majeurs de Symfony afin de devenir entièrement autonome avec le framework.

Niveau requis

Maîtriser le langage PHP.

Public concerné

Chefs de projets Web, architectes techniques et développeurs.

Clichy Cedex09/12/20191 992 € HTDates proposées dans les agences M2iRéserver
Clichy Cedex13/01/20201 992 € HTDates proposées dans les agences M2iRéserver
Clichy Cedex27/01/20201 992 € HTDates proposées dans les agences M2iRéserver
Clichy Cedex06/04/20201 992 € HTDates proposées dans les agences M2iRéserver

Afficher plus de dates

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Découvrir le projet Symfony 4

  • Présentation générale du projet Symfony 4
    • Code source
    • Licence
    • Documentation
    • Communauté
    • Philosophie
    • Ecosystème...
  • Comprendre le cycle de publication des versions Symfony
  • Initier un nouveau projet Symfony 4 avec Composer et Flex
  • Apprivoiser l'organisation des fichiers du projet
  • Installer des modules complémentaires avec Flex
    • Bundles
    • Librairies
  • Trouver de l'aide et des ressources documentaires
  • Comprendre la mécanique de traitement d'une requête HTTP avec Symfony
  • Découvrir le concept d'environnement
    • Développement
    • Production
    • Test
  • Développer en suivant les conventions de codage et de nommage des fichiers
  • Prendre en main l'utilitaire CLI et ses commandes

Savoir déboguer son code

  • Installer "Web Profiler" avec Symfony Flex
  • Activer la journalisation des erreurs et des incidents
  • Afficher la barre de débogage "Web Debug Toolbar" sur les pages Web
  • Naviguer dans les différents panneaux du "Web Profiler"
  • Analyser les traces d'exception et les messages d'erreur
  • Introspecter le contenu d'une variable

Maîtriser la configuration

  • Enregistrer des routes
    • YAML
    • Annotations
  • Contraindre les routes
    • Méthodes HTTP
    • Nom de domaine
    • Paramètres...
  • Surcharger la configuration d'un "bundle"
  • Définir des paramètres globaux de configuration
  • Extraire les paramètres sensibles dans des variables d'environnement
  • Comprendre la surcharge de configuration par environnement

Répondre à la requête de l'utilisateur

  • Développer des classes de contrôleurs et des méthodes d'actions
  • Transformer un objet de requête en objet de réponse
  • Associer des URL aux contrôleurs grâce aux annotations
  • Générer une réponse brute à partir d'un gabarit Twig
  • Accéder à l'objet de requête pour lire les données du client
  • Lire et écrire des données dans la session de l'utilisateur
  • Lire et écrire dans un cookie
  • Générer une page de type 404
  • Savoir rediriger l'utilisateur vers une autre page

Générer des pages Web dynamiques

  • Découvrir le moteur de rendu Twig
  • Concevoir des gabarits concis et explicites
  • Accéder aux variables globales Twig
  • Maîtriser la grammaire Twig
    • Tags
    • Filtres
    • Fonctions
    • Testeurs...
  • Construire des pages plus complexes avec l'héritage de gabarits
  • Factoriser le code dupliqué avec l'inclusion de gabarits
  • Exécuter une action et afficher son résultat depuis une vue
  • Générer des URL à partir de la configuration des routes
  • Afficher des formulaires Symfony

Interagir avec l'utilisateur final grâce aux formulaires

  • Concevoir et traiter des formulaires simples
  • Appliquer des règles de validation sur les données transmises
  • Prototyper le rendu d'un formulaire avec Twig
  • Récolter les données validées d'un formulaire
  • Construire et envoyer un email récapitulant les données du formulaire

Internationaliser et localiser l'interface utilisateur

  • Installer le composant de traduction
  • Changer la langue par défaut de l'application
  • Définir des clés de traduction dans les vues Twig
  • Générer les squelettes de fichiers de traduction
    • XLIFF
    • YAML
  • Traduire les clés de traduction
  • Gérer les traductions incluant des règles de pluralisation

Interagir avec une base de données relationnelle SQL

  • Installer et configurer l'ORM Doctrine
  • Etablir un "mapping" objet-relationnel avec les classes d'entités
  • Lier les entités entre elles grâce aux relations
  • Persister des entités objet dans la base de données SQL
  • Construire des requêtes SQL dynamiques grâce au "Query Builder"
  • Extraire les entités de la base de données
  • Héberger des requêtes SQL personnalisées dans les entrepôts ("repositories")
  • Encapsuler de la logique métier propre à chaque entité

Aller plus loin avec les formulaires

  • Concevoir et traiter des formulaires
  • Rendre les formulaires configurables avec le système d'options
  • Déclencher des traitements spécifiques aux évènements du formulaire
  • Personnaliser le rendu des formulaires avec les thèmes de rendu Twig
  • Appliquer des règles de validation personnalisées sur les données
  • Déclencher des règles de validation selon le contexte du formulaire

Pérenniser l'application avec les tests automatisés

  • Découvrir le framework de tests PHPUnit
  • Comprendre les enjeux des tests automatisés
  • Configurer une suite de tests automatisés
  • Créer et exécuter une suite de tests unitaires
  • Ecrire et exécuter une suite de tests fonctionnels
  • Générer des rapports de couverture de code

Externaliser le métier dans les services

  • Comprendre le principe de l'injection de dépendance
  • Introduction au conteneur de services de Symfony
  • Lister les services existants du Framework Symfony
  • Enregistrer de nouveaux services dans le conteneur
  • Configurer des services avec des paramètres globaux
  • Tirer profit de l'enregistrement automatique des services
  • Configurer manuellement certains services métiers

Découpler le code avec l'approche évènementielle

  • Introduction au patron "médiateur" et à son implémentation dans Symfony
    • "Event Dispatcher"
  • Découvrir les évènements du noyau Symfony
  • Exécuter du code spécifique au déclenchement de certains évènements
  • Propager des évènements personnalisés dans le code métier
  • Connecter des écouteurs aux évènements personnalisés du code métier

Sécuriser l'accès à certaines pages de l'application

  • Introduction aux principes d'authentification et d'autorisation
  • Sécuriser certaines parties d'un site avec une authentification par formulaire Web
  • Mettre en place une authentification par formulaire avec le composant "Guard"
  • Etablir une politique de droits d'accès selon les rôles de l'utilisateur courant
  • Tester les droits de l'utilisateur courant depuis un contrôleur ou une vue
  • Enregistrer des règles d'autorisations personnalisées avec le système de "voteurs"

Testez vos connaissances

Objectif : Ce test a pour objectif de tester vos connaissances avancées sur PHP.

Faites évoluer vos compétences

Complétez votre formation