Symfony – Développer des services Back-End

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

  • 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

ENI Service


votre centre de formation informatique de confiance
Voir la fiche entreprise

Tarif

Contacter l'organisme

Durée 4 jours - 28 h
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

ENI Service


votre centre de formation informatique de confiance
Voir la fiche

Tarif

Contacter l'organisme

Durée 4 jours - 28 h
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

Dans cette formation approfondie, les participants acquièrent des compétences pratiques sur le développement d’applications Back-End avec le puissant framework PHP Symfony.
Cette formation couvre en détail la structuration des applications en couches MVC, l’implémentation d’un service de persistance de données avec Doctrine 2, et la conception d’API REST.
Les participants maîtriseront également l’utilisation du format JSON pour la sérialisation et la désérialisation des données.
Outre cela, ils apprendront à utiliser l’injection de dépendances pour optimiser les interactions entre les contrôleurs et le modèle.
Enfin, cette formation offre une approche solide pour la mise en place d’une stratégie de sécurité efficace dans les applications Symfony.
Par conséquent, c’est le choix idéal pour les développeurs PHP cherchant à améliorer leur maîtrise de Symfony et à développer des services Back-End performants.

Programme

Introduction aux frameworks MVC PHP (1 heure)

  • Qu’est-ce que MVC ?
    • Apports et avantages
  • La répartition des responsabilités dans une application PHP
    • Implémentation du modèle 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 (1 heure)

  • 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 (2 heures)

  • Création d’un projet
    • Utilisation de Composer
    • Utilisation de l'installeur Symfony
    • Découverte de l’application générée
  • Paramétrage du serveur Web pour l’hébergement de l’application
    • Utilisation du serveur Web embarqué
    • 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 (1 heure)

  • 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
  • Présentation de la console pour la génération des squelettes code de l’application
  • Travaux pratiques :
    • Comparaison des formats et choix pour le projet
    • Compléter la configuration du projet d’application
  •  

La manipulation des bases de données pour le modèle (5 heures)

  • 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

L'injection de dépendances pour les services applicatifs (3 heures)

  • Le principe de l’injection de dépendances
  • Le Service Container
    • Principe de fonctionnement et responsabilités
  • La déclaration de services dans Symfony
    • Les services automatiques
    • Déclaration explicite de services
  • Liaison entre les services
    • Injection par constructeur
    • Injection par méthode
    • Typage explicite des paramètres
    • Injection dans les contrôleurs
  • Travaux pratiques :
    • Création de services applicatifs pour les fonctionnalités d’accès aux données
    • Utilisation de services Symfony

Les contrôleurs et le routage des requêtes (3 heures)

  • Mécanisme de contrôleur frontal et de routage
  • Format et configuration des routes
    • Routage global dans l’application
    • La définition du routage selon les différents formats de configuration
  • Implémentation des contrôleurs
    • Principe de fonctionnement pour une application Web traditionnelle
    • Injection de service dans les contrôleurs
    • Perspectives pour les APIs
  • 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
    • Ajustement du routage dans la configuration

Les services REST avec Symfony (9 heures)

  • Présentation de REST
    • Concepts et architecture
    • URI et verbe HTTP : rappels
  • Les formats d’échanges
    • Le format JSON
  • Implémenter des services REST Symfony
    • Implémentation des contrôleurs pour exposer une API REST
  • Les problématiques de sérialisation
    • Comment transformer les objets métiers en structure JSON ?
    • Utiliser 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, …
    • Envisager des tests automatisés
  • Alternatives
    • Présentation de API Platform
  • 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 (3 heures)

  • 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

Prérequis

  • Développer une application Web en PHP

 

Public

  • Concepteurs / Développeurs PHP

Ces formations pourraient vous intéresser

Objectifs de la formation

Cette formation vise à vous équiper des stratégies et des techniques nécessaires pour mener des actions de prospection efficaces et ciblées, afin de développer votre portefeuille client de manière significative.

Tarif

Contacter l'organisme

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Analyser les objectifs et les étapes de la méthode de l'analyse de cycle de vie (ACV) des produits
  • Réaliser une ACV en utilisant un logiciel dédié, pour concevoir ou développer des produits (biens, services, procédés)
  • Évaluer les résultats de l’ACV de ses produits afin de communiquer sur leur interprétation
Tarif

Contacter l'organisme

Durée

Nous contacter

Modes

Objectifs de la formation

• Gérer efficacement son énergie et ses tensions
• S'adapter au mieux à des évènements à fort enjeu économique
• Développer des réflexes de préservation de sa santé tant physique que psychique

Tarif

A partir de 1 400,00 €

Durée

Nous contacter

Modes

Objectifs de la formation

  • Comprendre l’intérêt et l’usage des Design-Patterns en conception logicielle
  • Concevoir une architecture logicielle solide en utilisant des modèles de conception éprouvés
  • Identifier les différentes familles de Design-Patterns GoF et les responsabilités de chacun
  • Identifier les Design-Patterns nécessaires à la construction d’une application Java SE/Jakarta EE
  • Modéliser et développer une couche de persistance des données en utilisant les modèle de conception permettant de rendre les autres couches indépendantes du système de persistance
  • Modéliser et implémenter une couche métier en s’appuyant sur la couche de persistance avec les modèles d’abstraction essentiels
  • Modéliser et implémenter la couche de présentation/IHM et utiliser les patterns pour le lien avec la couche métier, la gestion de l’interaction utilisateur et l’affichage de données
  • Comprendre l’apport des patterns d’architecture tels que le modèle MVC dans une structure logicielle complexe
Tarif

Contacter l'organisme

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Utiliser la plateforme Red Hat Ansible Automation Platform pour développer l'automatisation d'une manière qui s'adapte aux grandes équipes et aux entreprises complexes
  • Gérer et optimiser efficacement les playbooks
  • Créer et partager des environnements d'exécution et des collections
  • Utiliser le navigateur de contenu d'automatisation pour gérer le cycle de vie de l'automatisation.
Tarif

Contacter l'organisme

Durée

5j / 26h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Gagner en productivité en exploitant l’environnement de travail proposé par Microsoft
  • Acquérir de nouvelles méthodes de travail basées sur les services en ligne, le travail collaboratif et le partage d’informations
Tarif

A partir de 290,00 €

Durée

10 heures 15 minutes

Modes

Objectifs de la formation

A l’issue de la formation, le stagiaire sera capable de :

  • Acquérir, développer et consolider des compétences clés sur le logiciel ACCESS,
  • Maîtriser et confirmer les fonctions de bases ou intermédiaires ou avancées (adaptées aux besoins du participant)
  • Comprendre la dimension d’une base de données
  • Être plus productif en se facilitant le quotidien, en automatisant les opérations répétitives
  • Créer une base de données
  • Gagner en autonomie et en confiance dans le développement d’une base de données
Tarif

A partir de 525,00 €

Durée

2j / 14h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Développer des applications de hacking et forensic à l'aide du langage Python.
Tarif

Contacter l'organisme

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Établir des relations de travail harmonieuses grâce à la flexibilité relationnelle et comportementale
  • Gérer ses émotions pour développer son agilité en situation complexe
  • Adopter une attitude positive pour devenir une personne « ressource » dans l’équipe
Tarif

A partir de 1 450,00 €

Durée

2j / 14h

Modes
  • Centre
  • Distance
  • Entreprise

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Décrire les différents composants qui constituent la fédération HPE SimpliVity
  • Distinguer la différence entre les fédérations HPE SimpliVity peer-managed et centrally-managed
  • Identifier quelle donnée VM est sauvegardée à travers les clusters HPE SimpliVity
  • Créer les Data Stores et exécuter les différentes tâches associées aux Data Stores SimpliVity
  • Expliquer les différentes opérations de SimpliVity comme le clonage et le déplacement de VM
  • Créer des backups manuellement et basés sur des politiques et les utiliser pour une restauration
  • Configurer des stocks externes pour un backup secondaire
  • Exécuter des tâches basiques de support sur la fédération HPE SimpliVity
  • Utiliser RapiDR pour réduire les interruptions de services grâce à une automatisation de la restauration du site à distance.
Tarif

A partir de 1 680,00 €

Durée

2j / 14h

Modes
  • Centre
  • Distance

Je cherche à faire...