Développement avancé avec PHP

Référence : 18782-180523-3-PHP

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 à utiliser des fonctionnalités avancées pour des applications PHP

Programme

Objectifs pédagogiques

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

  • Structurer une application PHP en respectant les modèles en couche (présentation, métier, intégration), en mettant en œuvre les bonnes pratiques de développement et les templates en PHP ;
  • Manipuler des documents XML avec Simple XML ;
  • Générer dynamiquement des documents PDF ;
  • Envoyer des courriers électroniques en PHP ;
  • Créer, tester, consommer et sécuriser des services Web REST en PHP.

Pré-requis

  • Connaitre les langages HTML et CSS, ou idéalement avoir suivi la formation " Maîtriser HTML5 et CSS3 pour créer des pages Web Responsives " ;
  • Connaître le langage PHP, ou idéalement avoir suivi la formations " Développement de sites Web dynamiques avec PHP et MySQL ".

Objectifs opérationnels et contenu de la formation

Industrialisation des développements PHP avec Composer

  • Présentation de Composer pour la gestion des dépendances de projets PHP
  • Le projet Composer et le site Packagist
  • Création d'une structure de projet PHP avec Composer
  • L'organisation des dépendances
  • Le fichier composer.json
  • Les principales commandes de Composer
  • Ajout de dépendances
  • Gestion des mises à jour des dépendances
  • Travaux pratiques :
  • Installation de Composer
  • Création d'un projet PHP et ajout de dépendances Composer de base

Séparer le fond de la forme avec un moteur de templates

  • L'architecture logicielle des sites et applications Web
  • Le modèle MVC et la séparation des responsabilités
  • Concepts de développement avec les templates
  • Mise en place d'une architecture de développement séparant les traitements
  • Écriture des modèles de documents HTML
  • Écriture des pages de traitement PHP
  • Les différentes librairies de templates
  • Smarty, Twig, …
  • Travaux pratiques
  • Mise en place de la structure d'un site Web en respectant les concepts MVC
  • Création de contrôleurs PHP
  • Création de vues avec Twig

Manipulation de documents XML avec l'API Simple XML

  • Présentation de Simple XML
  • Parcours et analyse de flux XML
  • Utilisation de XPath
  • Modification de documents XML
  • Import/export de documents
  • Mécanismes de validation
  • Travaux pratiques
  • Implémentation d'une configuration d'application Web basée sur XML
  • Ajout d'une fonctionnalité d'import/export de données basée sur des fichiers XML

Génération de documents PDF

  • Les différentes librairies PHP pour la création de PDF (FPDF, PDFLib, …)
  • Principe et format des documents PDF
  • Création d'un document PDF
  • Gestion des polices de caractères
  • Positionner et mettre en page du texte dans les documents
  • Utiliser des images
  • Ajouter des signets, hyperliens, miniatures et notes
  • Travaux pratiques :
  • Génération d'un contenu PDF à la volée
  • Utilisation de données stockées en base pour la création d'un document PDF disponible au téléchargement

Les fonctions de courrier électronique

  • Les fonctionnalités natives de PHP
  • La fonction mail() de PHP
  • Gestion du type MIME
  • Intégration des pièces jointes
  • Utilisation d'une librairie de haut niveau pour l'envoi de mail
  • Présentation et mise en œuvre de PHPMailer
  • Travaux pratiques :
  • Ajout d'une fonction d'envoi de document par mail avec la librairie PHPMailer
  • Inclusion de pièce jointes dans les mails

Génération dynamique d'images

  • Présentation de la librairie GD
  • Création d'images et modification d'images existantes
  • Gestion des chaînes de caractères et des polices
  • Alternatives connues pour la génération de graphiques
  • Travaux pratiques :
  • Création de graphiques avancés avec une librairie de génération pour PHP

Développement de services Web REST avec PHP

  • Introduction aux services RES
  • Les concepts fondamentaux de REST (REpresentational State Transfer)
  • Utilisation de REST dans une architecture informatique
  • Structure d'une requête et d'une réponse HTTP
  • L'identification des ressources par URI
  • Les formats de données utilisables : XML, HTML, JSON, …
  • Développement des services REST avec PHP
  • Principes de base pour la construction d'une API serveur REST
  • Les frameworks et librairies PHP pour REST : Recess, Slim
  • Implémentation de services REST avec ces frameworks et librairies et utilisation des formats de données XML et JSON
  • Développement de clients REST avec les librairies Guzzle et CURL
  • Mécanismes de tests de services Web REST
  • Sécurité des services Web REST
  • Les problématiques de sécurité autour des services Web
  • Authentification pour les services REST
  • Cryptage : liaison HTTPS et certificats
  • Travaux pratiques :
  • Ecriture d'un service Web REST échangeant des données au format JSON avec la librairie Slim
  • Ecriture de tests de services Web REST avec SOAP UI
  • Ecriture d'un client REST en utilisant la librairie Guzzle
  • Sécurisation des services REST : restriction d'accès par authentification et cryptage des données échangées

Méthodes et moyens

  • Explications théoriques suivies de pratiques guidées puis mises en autonomie
  • 1 vidéoprojecteur par salle
  • 1 ordinateur par stagiaire

Méthodes d’évaluation des acquis

  • Exercices de synthèse et d’évaluation
  • Evaluation de fin de stage

Profil formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique.

Support stagiaire

  • Support papier ou électronique (dématérialisé)
  • Les exercices d’accompagnement peuvent être récupérés sur clef USB