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.