5 jours (35 heures)

Formation certifiante - Code CNCP : 2226 - Certif Info : 83841

Objectifs

  • Développer des applications WEB avec un Framework PHP
  • Maîtriser la connaissance de la programmation orientée objet en PHP
  • Découvrir les bases du Framework Symfony
  • Apprendre à maîtriser l’architecture de Symfony, le modèle MVC, les mécanismes de traduction ainsi que les formulaires et la validation des données
  • Assimiler le fonctionnement et la manipulation d’un ORM
  • Prendre connaissance de quelques commandes importantes

Prérequis

  • Avoir des bonnes connaissances en développement PHP et MySQL
  • Avoir des notions de base dans la programmation orienté objet

Vous n’avez pas les prérequis nécessaires pour la formation PHP et MySQL ? Contactez nous pour étudier ensemble un parcours sur mesure et garantir ainsi la réussite de votre projet.

Intervenants

Les contenus pédagogiques sont synchronisés sur les évolutions techniques grâce à notre équipe d’intervenant experts et professionnels du secteur enseigné. Les formateurs qui interviennent pour animer les formations ont une double compétence : compétence informatique et compétence métier (Banque, Assurance, Administration, Santé, Transport).

PROGRAMME DE FORMATION SYMFONY

Jour 1

Installation et configuration du Framework Symfony

  • Les pré-requis techniques
  • Création d’applications Symfony
  • Exécution d’applications Symfony
  • Configurer un projet Symfony existant
  • Installation de packages
  • Packs Symfony
  • Vérification des vulnérabilités de sécurité
  • Versions de Symfony LTS
  • L’application Symfony Demo

Création d’une page dans Symfony

  • Création d’une page: Chemin et contrôleur
  • Annotation des Routes
  • Installation automatique des Recipes avec Symfony Flex
  • La commande bin / console
  • La barre d’outils de débogage Web
  • Appliquer un modèle
  • Vérification de la structure du projet
  • Routage
  • Manette
  • Création et utilisation de modèles
  • Configuration de Symfony

Atelier cas pratique

Jour 2

Projet Symfony 4

  • Présentation générale du projet Symfony 4 (code source, licence, documentation, communauté, philosophie, écosystème, etc.)
  • 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 (bundles, librairies) avec Flex
  • 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 et test)
  • Développer en suivant les conventions de codage et de nommage des fichiers
  • Prendre en main l’utilitaire CLI et ses commandes

Débogage

  • Installer le paquet « 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

Configuration

  • Enregistrer des routes (YAML et annotations)
  • Contraindre les routes (méthodes HTTP, nom de domaine, paramètres, etc.)
  • Configurer 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

Atelier cas pratique

Jour 3

Internationalisation et Localisation de 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

Pérennisation de 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
  • Écrire et exécuter une suite de tests fonctionnels
  • Générer des rapports de couverture de code

Externalisation du 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 automatiques des services
  • Configurer manuellement certains services métiers

Atelier cas pratique

Jour 4

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

  • Développer des classes de contrôleur et des méthodes d’action
  • Transformer un objet de requête en objet de réponse
  • Associer des URLs aux contrôleurs grâce aux annotations
  • Générer une réponse brute ou à 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
  • Générer une page de type 404
  • Savoir rediriger l’utilisateur vers une autre page

Génération 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, etc.)
  • 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 URLs à partir de la configuration des routes
  • Afficher des formulaires Symfony
  • Interaction 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 et traiter les données validées d’un formulaire

Atelier cas pratique

Jour 5

Comprendre les fonctionnalités avancées de Symfony.

  • Injection de dépendances et le container de service
  • Comprendre le principe de l’injection de dépendance
  • Mise en route avec le conteneur de service Symfony
  • Liste de tous les services intégrés Symfony grâce aux outils de ligne de commande
  • Enregistrement de nouveaux services métiers personnalisé dans le conteneur d’injection de dépendance
  • Accès à un service enregistré à partir du conteneur de service
  • Création et accès aux paramètres de configuration globale du conteneur

Assurance qualité avec les tests automatisés

  • Découvrir le Framework de tests avec PHP Unit et automatisation
  • Comprendre les objectifs de l’automatisation des tests (tests unitaires et fonctionnels)
  • Configuration d’une suite de tests automatisés
  • La conception et l’exécution d’une suite de tests unitaires
  • La conception et l’exécution d’une suite de tests fonctionnels
  • Génération de code pour la construction de rapports

Interaction avec l’utilisateur et les formulaires

  • Conception de formulaires Web et traitement
  • Automatiser le rendu des formulaires avec les helpers de vue des Twig
  • Personnalisation du rendu des formulaires avec des thèmes Twig intégrés et personnalisés
  • Configuration des types de champs de formulaire en tant que services
  • Appliquer les règles de contrainte de validation intégrées sur les données soumises
  • L’application des règles de contrainte de validation personnalisée sur les données soumises
  • Contextualiser la validation des données grâce à des groupes de validation
  • Atelier et cas pratique.

Sécurisation de 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
  • Établir 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
  • Amélioration des performances avec le cache HTTP et ESI
  • Introduction au cache HTTP
  • Découvrir les différents types de cache
  • Comparer les stratégies de cache : expiration versus validation
  • Appliquer les règles d’expiration et de validation des pages
  • Cacher des fragments dynamiques de page avec les ESIs (« Edge Side Includes »)
  • Installer et configurer le proxy inversé natif de Symfony
  • Atelier cas pratique

Une attestation d’assiduité sera délivrée après la validation de toutes les compétences de ce module.

POUR TOUTE DEMANDE DE RENSEIGNEMENT OU DE DEVIS