← Retour aux formations

Développement Web & No-Code

PHP, perfectionnement

Avancé
Développement Web & No-Code

À propos de cette formation

Cette formation de perfectionnement en PHP aborde les concepts objet avancés, la gestion des dépendances avec Composer, l'authentification LDAP, la persistance des données avec PDO, les échanges XML/DOM/XSLT, les services web SOAP et REST, ainsi que la génération de PDF et l'envoi de mails au format MIME.

Objectifs de la formation

  • check_circleMaîtriser les concepts avancés de la programmation orientée objet en PHP
  • check_circleGérer les dépendances d'un projet PHP avec Composer
  • check_circleMettre en œuvre une authentification via LDAP
  • check_circleAccéder aux bases de données avec la librairie PDO
  • check_circleCréer et consommer des services web SOAP et REST
  • check_circleImplémenter l'envoi de mails et la génération de documents PDF

Programme détaillé

Module 1 — Introduction

  • Optimisation des développements par l'utilisation de briques logicielles
  • Stratégies et enjeux de la réutilisabilité dans le développement PHP
  • Introduction à l'asynchronisme : les fibres en PHP

Module 2 — Programmation Orientée Objet (POO)

  • Classes, propriétés, méthodes et méthodes automatiques
  • Visibilité, protection et déclaration des propriétés dans le constructeur
  • Constructeur et destructeur : appels implicite et explicite
  • Héritage, agrégation, règles de propagation, polymorphisme et typage
  • Concepts avancés : classes abstraites, interfaces, SPL et Design Patterns
  • Clonage d'objets et attributs (métadonnées structurées)
  • Travaux pratiques : réalisation d'une classe formulaire

Module 3 — Espaces de nommage

  • Intérêt et pertinence des namespaces
  • Syntaxe de base et implémentation
  • Impact des namespaces sur le chargement des classes
  • Travaux pratiques : adaptation des classes créées pour intégrer un namespace

Module 4 — Composer/Packagist

  • Présentation de Composer et de ses enjeux
  • Installation et configuration de base
  • Partage de packages avec Packagist
  • Syntaxe des contraintes de dépendances
  • Chargeur universel et standards PSR
  • Travaux pratiques : paramétrage de Composer et débogage d'une classe formulaire

Module 5 — Gestion des erreurs

  • Gestion des erreurs et des exceptions en PHP
  • Création d'un gestionnaire d'erreurs personnalisé
  • Bufférisation de sortie et journalisation (fichiers Log)
  • Travaux pratiques : classe d'exception personnalisée, affichage bufférisé et fichier Log

Module 6 — Authentification LDAP

  • Introduction à LDAP et présentation d'OpenLDAP
  • Configuration et démarrage (fichiers conf et ldif)
  • Lecture : connexion anonyme, interrogation et récupération de données
  • Écriture : connexion administrateur, formatage et insertion des données
  • Travaux pratiques : implémentation d'une classe d'authentification LDAP

Module 7 — Bases de données : passer à PDO

  • La librairie PDO : API abstraite d'accès aux bases de données
  • Avantages et inconvénients de PDO : performance, portabilité et cache
  • Gestion des transactions avec PDO
  • Gestion des erreurs et exceptions PDO
  • Sécurité : formatage des entrées et requêtes paramétrées
  • Travaux pratiques : classes ADO avec PDO en requêtes préparées et paramétrées

Module 8 — XML/DOM/XSLT

  • XML : format et validation
  • DOM et XPath : création et analyse de documents
  • Transformateurs XSL et utilisation de XSLT
  • Travaux pratiques : création d'un sitemap Google

Module 9 — Web Services

  • Présentation des services web
  • Approche REST : JSON/XML, implémentation d'un client et d'un service REST
  • Approche SOAP : WSDL, création d'un service et de son fichier de description
  • Implémentation d'un client SOAP en mode multirequêtes
  • Travaux pratiques : services SOAP et requêtes croisées, flux RSS en mode REST

Module 10 — PDF et email

  • Librairies PDF : PDFLib et FPDF — opérations de base et avancées
  • Texte, mise en page, images et tracés vectoriels en PDF
  • Mail et MIME : pièces jointes et format HTML
  • Formats MIME : Mixed, Multipart, Alternative/Related et encodages
  • Paramétrage d'un serveur de test et utilisation de PhpMailer
  • Travaux pratiques : génération d'un rapport PDF avec FPDF et envoi d'une facture PDF par mail

Prérequis

Maîtriser le PHP ou justifier d'un niveau équivalent à la formation "PHP, développer un site Web dynamique".