Orsys

Architecture REST, développer des Web Services en PHP

Par Orsys

Objectifs

  • Réaliser des classes pour alimentera les Web Services
  • Créer des fonctions diverses renvoyant des données au format XML et JSON
  • Implémenter un Web service REST en mode CRUD
  • Concevoir des pages web consommant les Web services
  • Savoir implémenter un service REST via un Framework PHP

Programme

Rappels sur la Programmation Orientée Objet

  • Classe, instance, propriétés et méthodes, visibilité.
  • Héritage, interface, classes abstraites.
  • Méthodes automatiques et surcharge.

Travaux pratiques
Réalisation de la classe ADO (Abstract Data Object) qui alimentera les Web Services.

XML, JSON, DOM, SAX et XPath

  • Document XML bien formé, règles de base.
  • Document XML valide : DTD ou XSL.
  • Le DOM PHP (analyse et création).
  • Les XPath avec PHP et la validation avec PHP.
  • Approche SAX : transformateurs XSLT.
  • Les fonctions PHP de manipulation du format JSON.

Travaux pratiques
Création d'une fonction récursive d'analyse DOM. Création d'une fonction d'encodage/décodage. Création d'une méthode de la classe ADO, renvoyant les données au format XML et JSON.

Approche REST

  • Principes de base et rappels HTTP.
  • Les autres formats d'échanges : JSON, PHP sérialisé, MessagePack.
  • Composants d'une architecture REST.
  • Guides de conception d'une architecture REST.
  • URL logiques versus physiques.
  • Définition des codes erreurs.
  • Documenter un Web service REST.
  • ROA versus SOA / REST versus SOAP.

Travaux pratiques
Concevoir un Web Service.

Implémenter un Web service REST

  • Ecriture de Web Services : lecture, insertion, mise à jour et suppression de données.
  • Sécurité des transactions.
  • Problématique du cachage.
  • Mashup.
  • Tester un service REST : navigateur et outils de tests.

Travaux pratiques
Création d'un Web Service en mode CRUD et sécurisation des opérations critiques. Paramétrage des types de retour. Création d'un flux RSS.

Implémenter un Client REST

  • Invoquer un Web Service en mode GET depuis PHP.
  • Utilisation des sockets et de cURL pour la création d'un contexte d'appel avec d'autres méthodes (PUT/DELETE/POST).
  • Gestion des erreurs.
  • Spécificités de l'approche AJAX en mode XML et JSON.
  • Spécificités de l'approche AJAX.
  • Insertion de Mashup en mode DOM HTML.

Travaux pratiques
Implémentation d'une page Web consommant les Web Services de plusieurs sources et présentation des résultats agrégés.

Frameworks PHP

  • Qu'est-ce qu'un framework ?
  • Les frameworks de création d'API REST en PHP.
  • Mise en place d'un Web Service avec un framework.

Démonstration
Implémentation d'un service REST via un framework.

Pédagogie

Développement d'une application web de type CRUD en mode REST.

Rappels sur la Programmation Orientée Objet

  • Classe, instance, propriétés et méthodes, visibilité.
  • Héritage, interface, classes abstraites.
  • Méthodes automatiques et surcharge.

Travaux pratiques
Réalisation de la classe ADO (Abstract Data Object) qui alimentera les Web Services.

XML, JSON, DOM, SAX et XPath

  • Document XML bien formé, règles de base.
  • Document XML valide : DTD ou XSL.
  • Le DOM PHP (analyse et création).
  • Les XPath avec PHP et la validation avec PHP.
  • Approche SAX : transformateurs XSLT.
  • Les fonctions PHP de manipulation du format JSON.

Travaux pratiques
Création d'une fonction récursive d'analyse DOM. Création d'une fonction d'encodage/décodage. Création d'une méthode de la classe ADO, renvoyant les données au format XML et JSON.

Approche REST

  • Principes de base et rappels HTTP.
  • Les autres formats d'échanges : JSON, PHP sérialisé, MessagePack.
  • Composants d'une architecture REST.
  • Guides de conception d'une architecture REST.
  • URL logiques versus physiques.
  • Définition des codes erreurs.
  • Documenter un Web service REST.
  • ROA versus SOA / REST versus SOAP.

Travaux pratiques
Concevoir un Web Service.

Implémenter un Web service REST

  • Ecriture de Web Services : lecture, insertion, mise à jour et suppression de données.
  • Sécurité des transactions.
  • Problématique du cachage.
  • Mashup.
  • Tester un service REST : navigateur et outils de tests.

Travaux pratiques
Création d'un Web Service en mode CRUD et sécurisation des opérations critiques. Paramétrage des types de retour. Création d'un flux RSS.

Implémenter un Client REST

  • Invoquer un Web Service en mode GET depuis PHP.
  • Utilisation des sockets et de cURL pour la création d'un contexte d'appel avec d'autres méthodes (PUT/DELETE/POST).
  • Gestion des erreurs.
  • Spécificités de l'approche AJAX en mode XML et JSON.
  • Spécificités de l'approche AJAX.
  • Insertion de Mashup en mode DOM HTML.

Travaux pratiques
Implémentation d'une page Web consommant les Web Services de plusieurs sources et présentation des résultats agrégés.

Frameworks PHP

  • Qu'est-ce qu'un framework ?
  • Les frameworks de création d'API REST en PHP.
  • Mise en place d'un Web Service avec un framework.

Démonstration
Implémentation d'un service REST via un framework.

PDF

Imprimer

Envoyer

Envoyer la page à :

Formations de la même catégories (5)

XXL Formation
PHP - Niveau 2Par XXL Formation

Acquérir une meilleure compréhension de PHP 5 et de ses mécanismes avancéesRédiger du code plus maintenable et sécuriséDécouvrir les capacités évoluées de PHP pour créer des applications plus riches

Orsys
PHP 7 et 5, perfectionnementPar Orsys

Vous étudierez, dans ce cours, les aspects avancés du langage PHP liés à l'authentification et aux manipulations des bases de données. L'ouverture vers les nouvelles perspectives (Web 2.0) est abordée au travers d'une introduction à Ajax et par l'utilisation de clients riches communiquant en flux XML avec le serveur. Vous utiliserez enfin quelques briques logicielles comme PEAR ou PHPLib pour optimiser vos développements.Vous pourrez valider vos compétences avec la certification AVIT® proposée en option.

Ziggourat
PrestaShop - DéveloppeurPar Ziggourat

Cette formation vous permet de maintenir un serveur hébergeant un site PrestaShop, d'utiliser et modifier des thèmes, d'utiliser et modifier des modules et de développer et distribuer de nouveaux modules et thèmes.

Open Source School Executive Education
Testing PHPPar Open Source School Executive Education

Être capable de mettre en place des applications Web PHP avancé
Être capable de développer en objet
Savoir réduire les temps d'affichage d'une page
Sécuriser et optimiser vos accès aux bases de données

Open Source School Executive Education
PHP orienté algorithmesPar Open Source School Executive Education

Découvrir les concepts de la programmation
Connaître les fondamentaux du langage PHP
Savoir écrire une application procédurale

Nous utilisons les cookies afin de fournir les services et fonctionnalités proposés sur notre site et afin d’améliorer l’expérience de nos utilisateurs. En cliquant sur ”J’ai compris”, vous acceptez l’utilisation de ces cookies.