Maîtriser, hacker et étendre Symfony 3

DL Academy

2017_Symfony_2_3_CLERMONT
Quand
06.06.2017 au 09.06.2017
à
9:00 - 17:30
Pascalis
8-10 rue Evariste Galois
Clermont-Ferrand, 63000 France Métropolitaine
Contact
Digital League
Téléphone
04 72 11 36 34
Coût
1500 € HT / Participant (-20% de remise dès le 3ème participant)

Les actions de formation proposées par Digital League sont exclusivement réservées aux entreprises adhérentes au cluster.

Cette formation est réalisée en partenariat avec sensiolabs_2

OBJECTIFS PÉDAGOGIQUES

En quatre jours, découvrez l’essentiel du framework Symfony3 avec les meilleurs experts. Vous apprendrez à maîtriser le modèle MVC ainsi que les formulaires, l’authentification ou bien encore les tests unitaires et la gestion du cache HTTP.

PARTICIPANTS

Développeurs PHP et chefs de projets qui ont de bonnes connaissances en PHP et des connaissances de base de la Programmation Orientée Objet

PRÉREQUIS

  • Bonne maitrise des bases de la programmation orientée Objet en PHP (indispensable)
  • Avoir suivi la session de formation « Symfony – Démarrer avec Symfony3 »
  • Utiliser le framework Symfony dans ses projets web.

PROGRAMME DE FORMATION

IMPORTANT : Venir avec un poste de développement avec de préférence un IDE (phpStorm, Eclipse…) . Autoriser le protocole GIT, AMQP (rabbitMQ).

INJECTION DE DÉPENDANCE ET REGISTRE DE 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
  • Récupérer un service depuis le conteneur
  • Créer et lire des paramètres de configuration globaux
  • Comprendre le principe de services « privés »

CONTRACTER UNE ASSURANCE QUALITÉ AVEC LES TESTS AUTOMATISES

  • Découvrir le framework de tests PHPUnit
  • Comprendre les enjeux des tests automatisés (unitaires et fonctionnels)
  • 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

INTERAGIR AVEC L’UTILISATEUR GRACE AUX FORMULAIRES

  • Concevoir et traiter des formulaires web
  • Automatiser le rendu des formulaires avec les aides de vue Twig
  • Personnaliser le rendu des formulaires avec les thèmes de rendu Twig
  • Configurer les types de formulaires comme des services
  • Appliquer des règles de validation standard sur les données soumises
  • Appliquer des règles de validation personnalisées sur les données soumises
  • Contextualiser le déclenchement des règles de validation avec les groupes de validation

RESTREINDRE L’ACCÈS AUX ESPACES SÉCURISÉS 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 le composant Guard pour gérer 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
  • Enregistrer des règles d’autorisation personnalisées avec le système de « voteurs »

AMÉLIORER LES PERFORMANCES DE L’APPLICATION AVEC LE CACHE HTTP ET LE 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

INTERAGIR AVEC UNE BASE DE DONNEES RELATIONNELLE

  • Découvrir l’ORM Doctrine
  • Comprendre les notions d’entités, dépôts (« repository ») et de gestionnaire d’entités,
  • Automatiser la génération de classes d’entités associées au modèle relationnel SQL
  • Persister des données dans une base de données avec Doctrine
  • Récupérer les donnes d’une base de données avec Doctrine
  • Construire et exécuter des requêtes SQL personnalisées depuis les dépôts

TIRER PROFIT DE LA CONSOLE DE SYMFONY 3

  • Découverte du composant Console
  • Automatiser tâches en ligne de commande
  • Créer et activer des tâches interactives
  • Utiliser le helper « Formatter » pour colorer la sortie de la console
  • Utiliser le helper « ProgressBar » pour développer des barres de progression
  • Utiliser le help « Table » pour afficher des données tabulaires sur la sortie

AUDITER SON APPLICATION AVEC LE PROFILER

  • Analyser les données collectées depuis le Profiler
  • Analyser les données collectées depuis le code
  • Configurer le profiler pour l’environnement de production
  • Concevoir des collecteurs de données personnalisés
  • Étendre la « Web Debug Toolbar » et le « Web Profiler »

INJECTION DE DÉPENDANCE ET REGISTRE DE SERVICES

  • Revoir les notions de services et d’injection de dépendance
  • Enregistrer de nouveaux services dans le conteneur de services
  • Découvrir la notion de « tags » pour étendre les fonctionnalités du framework
  • Développer des « passes de compilation » du conteneur pour modifier sa structure

AUTHENTIFICATION ET CONTRÔLE DE DROITS D’ACCÈS

  • Développer un fournisseur d’utilisateur personnalisé
  • Enregistrer la date de dernière connexion de l’utilisateur
  • Déclencher du code lorsque l’utilisateur se connecte en tant que quelqu’un d’autre
  • Affiner la politique de contrôle d’accès aux ressources grâce aux voteurs

FORMULAIRE ET VALIDATION DES DONNÉES

  • Comprendre la mécanique interne du composant de formulaire
  • Enrichir et / ou surcharger des types de formulaires existants
  • Développer de nouveaux types de formulaire
  • Enregistrer les types de formulaires comme des services
  • Développer de nouveaux convertisseurs de données
  • Modifier les données d’un champ ou d’un formulaire entier grâce aux écouteurs d’événements
  • Afficher des champs en fonction des droits de l’utilisateur grâce aux extensions de formulaires
  • Développer de nouveaux validateurs de données

DÉCOUPLAGE DU CODE ET APPROCHE ÉVÉNEMENTIELLE

  • Découvrir les événements du noyau et des autres composants
  • Étendre le noyau en connectant de nouveaux écouteurs d’événement
  • Propager des événements personnalisés dans le code métier
  • Connecter des écouteurs aux événements personnalisés du code métier

ÉTENDRE LE FRAMEWORK DOCTRINE (A LA DEMANDE)

  • Créer de nouveaux types de stockage de données (type « Money »)
  • Enrichir le « Doctrine Query Language » avec de nouvelles fonctions

ÉVALUATION DES ACQUIS DE LA FORMATION

Une évaluation des acquis de la formation destinées à mettre en évidence les compétences techniques des candidats au travers de QCM (Questions à Choix Multiples). Les questions portent à la fois sur la philosophie générale de Symfony 3 et sur sa mise en pratique.

MOYENS PÉDAGOGIQUES, TECHNIQUES ET D’ENCADREMENT

L’encadrement est composé d’un Responsable Formation salarié de Digital League et d’un intervenant-Formateur Expert Symfony 3, membre de l’équipe SensioLabs
Un livret d’accueil et un support de cours sera remis à chaque stagiaire.
La formation se déroule dans une salle spécifique dans les locaux de Digital League, équipée d’une connexion internet, un vidéoprojecteur et un Paperboard.

MOYENS DE SUIVI DE LA FORMATION

Un état d’émargement individuel signé par le stagiaire et par le formateur pour chaque demi-journée de formation.

A ne pas manquer...

mai
30
mar

Afterwork – Saint-Etienne

18:00 - 20:00 Saint-Etienne
afterwork_mai_ste
Digital League vous invite à un nouvel événement : les AFTERWORK ! On y fait quoi ? C’est un instant
mai
31
mer

Happyleague Clermont Mai 2017

8:30 - 10:00 Aubière
20170531_Happyleague_CLE
On y fait quoi ? Instant convivial pour se rencontrer entre adhérents (venez avec un invité de votre choix) et...
juin
01
jeu

Pitch 333 – Saint-Etienne

18:30 - 20:30 Saint-Etienne
20170601_Pitch_333_STE
Le principe ? 3 minutes – 3 slides – 3 questions Chaque année, Digital League organise un concours de pitch
juin
06
mar

Maitrise de Symfony 3 (SF3-C2)

9:00 - 17:30 Clermont-Ferrand
20170606_Symfony_3_Niv_2
Les actions de formation proposées par Digital League sont exclusivement réservées aux entreprises adhérentes au cluster. Cette formation est réalisée...
juin
08
jeu

Hacker & Etendre Symfony 3 (SF3-C3)

9:30 - 17:30 Clermont-Ferrand
20170608_Symfony_3_Niv_3
Les actions de formation proposées par Digital League sont exclusivement réservées aux entreprises adhérentes au cluster. Cette formation est réalisée...