Symfony – Développer des services Back-End

Référence : T44B-044

Infos pratiques

  • Durée : 4 jours soit 28 heures
  • Population visée : Ouvrier – Employé – Employé qualifié – Cadre – Cadre supérieur
  • Public concerné : Toute personne souhaitant apprendre à développer des applications Back-End (côté serveur) avec la plateforme PHP et le framework Symfony

Programme

Objectifs pédagogiques

A l’issue de cette formation, l’apprenant sera capable de :

  • Mettre en place un environnement de développement et un projet Symfony ;
  • Découper une application en couche en identifiant le rôle de chaque élément ;
  • Développer une couche de persistance métier avec Doctrine 2 : le framework de persistance de Symfony ;
  • Concevoir le routage des requêtes HTTP avec les contrôleurs ;
  • Utiliser des composants additionnels pour implémenter des services REST avec Symfony ;
  • Mettre en place une gestion de la sérialisation/désérialisation des données en utilisant le format JSON ;
  • Maitriser les interactions entre les contrôleurs et le modèle ;
  • Utiliser l’injection de dépendance entre les composants ;
  • Appliquer une stratégie de sécurité efficace dans une applications Symfony.

Pré-requis

  • Développer des applications Web en PHP

Objectifs opérationnels et contenu de la formation

Introduction aux frameworks MVC PHP

  • Qu’est-ce que MVC ?
    • Apports et avantages
  • La répartition des responsabilités dans une application PHP
    • Implémentation du Model avec un ensemble de classes
    • Réalisation des Vues avec les mécanismes de Templates PHP
    • Codage des Contrôleurs pour l’aiguillage des flux

Présentation et introduction à Symfony

  • Historique de Symfony
    • Différentes versions du framework : Les évolutions
    • Comprendre le versioning de Symfony : Le versionning sémantique
    • Choisir sa version pour un projet
  • Architecture du framework
    • La notion de distribution
  • Les composants de base

Mettre en place un projet Symfony

  • Création d’un projet avec l’édition standard du framework
    • Utilisation de Composer
    • Découverte de l’application générée
  • Paramétrage du serveur Web pour l’hébergement de l’application
    • Création et configuration d’un hôte virtuel
  • Configuration du framework pour l’utiliser dans ses applications
    • Liaison à la base de données
    • Les différents environnements : dev, test, prod
  • Travaux pratiques:
    • Installer une plateforme et un IDE de développement pour Symfony.
    • Créer un projet d’application Symfony et explorer sa structure et sa configuration.

Configuration de Symfony

  • Les fichiers de configuration
    • Répartition hiérarchique des fichiers
  • Les syntaxes de configuration
    • Syntaxes YAML, Annotations, XML et PHP
    • Faire un choix de syntaxe
  • Travaux pratiques:
    • Comparaison des formats et choix pour le projet.
    • Compléter la configuration du projet d’application.

Le modèle de programmation de Symfony

  • Présentation de la console pour la génération des squelettes code de l’application
  • La notion de Bundle
    • Création d’un Bundle et déclaration dans l’application
    • Comment découper correctement en Bundle
    • Les Bundles de la communauté
  • Travaux pratiques:
    • Créer de nouveaux bundle pour le découpage de l’application.
    • Installation de bundles complémentaires.

La manipulation des bases de données pour le modèle

  • Configuration de l’application et du Bundle pour l’accès aux données
  • Présentation des techniques de mapping objet/relationnel
    • Avantages et principes
  • Doctrine 2 : Le framework de manipulation de données de Symfony
    • Installer Doctrine 2 dans l’application
    • Les entités et le mapping sur les tables
  • Génération avec la console
    • Les différentes approches : Top-down, Bottom-Up
  • Utiliser l’EntityManager
  • Les repositories et le DQL
    • Personnalisation du repository pour les requêtes de sélection
    • Manipulation et syntaxe DQL
  • Le QueryBuilder
  • Travaux pratiques:
    • Création d’un schéma de données.
    • Génération des entités et du mapping à partir du schéma de base de données.
    • Codage de classes de manipulation des entités en implémentant les opérations CRUD.
    • Exposition des fonctionnalités de manipulation de données sous forme de services.

Les contrôleurs et le routage des requêtes

  • Mécanisme de contrôleur frontal et de routage
  • Format et configuration des routes
    • Routage global dans l’application
    • Le routage de chaque Bundle
  • Implémentation des contrôleurs
    • Récupération des paramètres des routes
    • Interaction avec le modèle
    • Redirections internes et externes
  • Travaux pratiques:
    • Définition de la stratégie de routage dans l’application ainsi que son format de configuration.
    • Génération des contrôleurs et des actions.
    • Ajuster du routage dans la configuration.
    • Implémentation des actions et lien avec les services d’accès aux données métiers.

Les services REST avec Symfony

  • Présentation de REST
    • Concepts et architecture.
    • URI et verbe HTTP : rappels.
  • Les formats d’échanges
    • Le format JSON
  • Implémenter des services REST avec FOSRestBundle
    • Installation et configuration.
    • Modification des contrôleurs pour exposer une API REST.
  • Les problématiques de sérialisation
    • Comment transformer les objets métiers en structure JSON ?
    • JMSSerializer : une librairie pour la sérialisation de données avec Symfony.
  • Gestion des erreurs
    • Utiliser les codes de réponse HTTP appropriés
  • Tester des services REST
    • Les outils du marché pour le test des services REST.
    • Postman, SOAP UI, …
  • Travaux pratiques:
    • Créer des services REST pour exposer les fonctionnalités de l’application.
    • Mise en place d’une sérialisation/désérialisation en utilisant le format JSON.

La sécurité dans les applications Symfony

  • L’authentification
    • Les différentes techniques d’authentification et leur configuration dans l’application.
  • Gestion des permissions utilisateurs
    • Utilisateur et rôles
    • Exploiter les fournisseurs d’utilisateurs
    • Le cryptage des mots de passe
  • Gestion des autorisations
    • Sécuriser les accès en fonction des rôles
  • Travaux pratiques:
    • Implémentation d’une stratégie de sécurité sur une partie de l’application.
    • Mise en place de rôles applicatifs pour la répartition des permissions d’accès.

Méthodes et moyens

 Explications théoriques suivies de pratiques guidées puis de mises en autonomie


Votre formation a lieu en présentiel :

  • 1 vidéoprojecteur par salle
  • 1 ordinateur

Votre formation se déroule à distance avec :

  • 1 ordinateur
  • 1 connexion Internet
  • 1 adresse e-mail valide
  • 1 équipement audio (micro et enceintes ou casque)
  • 1 Webcam (facultatif – dans l’idéal)
  • 1 deuxième écran (facultatif – dans l’idéal)

Votre formation se déroule sur notre plate-forme de formation avec :

  • 1 ordinateur
  • 1 connexion Internet
  • 1 adresse e-mail valide
  • 1 équipement audio (micro et enceintes ou casque - facultatif)

Méthodes d’évaluation des acquis

L’acquisition des compétences de la formation se fait à travers le suivi du formateur tout au long de la formation (séquences synchrones et asynchrones). Elle s’appuie également sur la réalisation d’exercices et de TP. Enfin, des quiz s’ajoutent aux différents outils de validation de l’acquisition des compétences visées.
Une évaluation est systématiquement réalisée par chaque stagiaire, à l’issue de la formation.

Profil formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de maintien et d’évolution de leurs compétences aussi bien au niveau technique que pédagogique.
Chacun de nos formateurs a bénéficié d’une formation spécifique à l’animation de classe virtuelle et à l’utilisation des solutions de formation à distance du Groupe ARKESYS.

Support stagiaire

À l’issue de la formation, les exercices et travaux pratiques réalisés, leurs corrigés ainsi qu’un support de cours dématérialisé sera fourni à chaque stagiaire par e-mail ou via la plate-forme FOAD.

Accessible à tous

Cette formation est accessible à toute personne en situation de handicap. Notre référent handicap prendra contact avec les stagiaires concernés pour adapter l’animation à leurs besoins et rendre l’apprentissage accessible à tous. Enfin, nos centres de formation sont accessibles aux personnes à mobilité réduite.