loader image

Gate Training

logo-png
Web - Digital

Formation Développement Web avec PHP et Symfony

5 Jours

Description de la formation Développement Web avec PHP et Symfony

Cette formation PHP existe à notre catalogue depuis de nombreuses années déjà. Le cours est donc extrêmement bien rodé tant du point de vue de la pédagogie que des nombreux travaux pratiques qui jalonnent la formation. Les participants seront immédiatement opérationnels à la fin du cours, ils vont apprendre pendant ces 5 jours les bases correspondant à plus de 90% des développements web en PHP.

Objectifs

Objectifs pédagogiques :

  • La syntaxe procédurale du langage PHP
  • L’intégration de PHP et HTML
  • La persistance avec les Cookies et Sessions
  • L’interaction avec les bases de données
  • L’introduction à l’architecture MVC
  • La programmation orientée objet
  • L’introduction au Framework Symfony

À qui s’adresse cette formation ?

Public :

Le cours s’adresse à toute personne désireuse d’apprendre PHP ou ayant à gérer des projets PHP : chef de projet, webmaster, développeur, administrateur de base de données…

 

Prérequis :

Pour suivre cette formation PHP Symfony, il est demandé d’avoir une bonne connaissance du HTML sans pour autant en être un expert. Cela correspond à un niveau de connaissance équivalent à la formation HTML, CSS : L’essentiel (IHTM)  ou à la formation Maîtriser HTML5, CSS3, JavaScript et Ajax (IHCJ).

 

Contenu du cours Développement Web avec PHP et Symfony

Introduction

Qu’est-ce que PHP ?
Les échanges de base entre un serveur Web et un navigateur (http)
La place de PHP dans l’architecture Web (scripts client et serveur : JavaScript, HTML, PHP, SQL, etc.)
Présentation de l’exemple utilisé durant la formation (site de vente en ligne)

Présentation du langage et premier site en PHP

Dynamisation d’une page Web

Les principes client-serveur
Syntaxe de base et PSR
Intégration de PHP dans une page HTML
Variables, constantes et fonctions
Librairies
Fonctions natives, variables serveur et superglobales
Contrôles de flux et boucles
Espace de Nommage

Travaux Pratiques :

Définition d’un jeu de données métier (tableau multidimensionnel)
Implémentation de fonctions personnalisées ( TTC, frais de port, etc.)
Organisation sous forme de librairies
Introduction au MVC (Model 1)

Traitement des formulaires

Passage et transmission de données Client
Lecture écriture de fichier
Redirection

Travaux Pratiques :

Réalisation d’une page de type fiche produit, paramétrée
Traitement d’un fichier plat, pour import de données

Utilisation d’une base de données MySQL

Gérer les bases MySQL avec phpMyAdmin
Concepts fondamentaux : Bases, tables, champs, enregistrements
Fonctions PHP MySQL
Introduction au langage SQL (sélection, modification, suppression)
Traitement des résultats des requêtes

Travaux Pratiques :

Création d’une base MySQL
Import de la base à partir d’un fichier plat (articles de la boutique)
Création du catalogue en ligne et des fiches produit associées
Implémentation d’un moteur de recherche multi-critères
Refactoring en architeture MVC

Sessions utilisateurs et panier d’achat

Variables persistantes : Cookies et Sessions

Avantages et inconvénients des cookies et sessions
Limitations et précautions
Les variables de session
Les Cookies
Sérialisation des variables complexes
Utilisation

Travaux Pratiques :

Réalisation d’un panier d’achat
Gestion des quantités commandées (ajout, retrait, suppression)

Initiation à la POO en PHP

P.O.O. (Programmation Orientée Objet)
UML : le diagramme de Classe
Propriétés et méthodes
Visibilité publique vs. Privée
Constructeur
Héritage

Travaux Pratiques :

Implémentation d’une classe Métier Livre
Implémentation d’une classe DAO Livres
Refactoring de la boutique en mode OO

Introduction à Symfony

Notion de framework
Installation et mise en place d’un projet

Architecture de Symfony

Organisation d’une application
Cycle de traitement d’une requête

Créer des pages

Créer des contrôleurs
Définir les url
L’objet Request
L’objet Response
Redirections
Utiliser la vue
Le Routing (Définition des routes, Routes paramétrées, Génération d’url)
Lire et écrire dans la session de l’utilisateur courant

Travaux Pratiques :

Création des routes / catalogue et / fiche
Implémentation des contrôleurs correspondants

La vue : Twig

La syntaxe
Gestion et manipulation des variables
Structures (boucles et conditions)
Définir un layout (héritage, block et inclusion)

Travaux Pratiques :

Adaptation des templates de la boutique

Le modèle : notion d’ORM et Doctrine

Qu’est-ce qu’un ORM, ses objectifs
Présentation de Doctrine
Création d’un modèle
Manipulation des entités
Recherches et requêtes

Travaux Pratiques :

Définition des entités métier
Création des requêtes Doctrine pour fiche et catalogue
Adaptation des modèles

Travaux Pratiques

BDPhilia :

Création d’une boutique de vente en ligne de livres.

Le choix de la création d’une boutique en ligne repose sur un constat simple :

  • Fonctionnellement, les éléments constitutifs d’une boutique en ligne sont connus de tout le monde et font partie désormais de la “culture générale”.
  • En effet, aujourd’hui, nous pouvons considérer que tout le monde a déjà réalisé un achat sur internet et qu’il existe donc un consensus autour des exigences fonctionnelles nécessaires.

Ceci nous autorise à passer rapidement sur la phase d’analyse des besoins et sa traduction au niveau de l’implémentation.

La Boutique présentera les fonctionnalités principales d’un site de vente en ligne :

  • présentation des produits par thèmes
  • recherche multi-critères (mot clé, prix minimum et maximum, auteur, éditeur)
  • affichage trié et paginé des résultats de recherche
  • affichage détaillé du produit (caractéristiques, illustration et résumé)
  • sélection d’un produit (mise en panier d’achat)
  • affichage du Panier d’Achat, avec calcul des éléments comptables
  • Les données seront gérées dans un SGBD-r, exploité en SQL.

L’habillage graphique du site sera assuré par l’intégration de templates HTML / CSS3 / JavaScript fournis, pour un résultat professionnel.

Réf:

0046

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible