Un article dans lequel on discute:
- des Web Services
- de l’implémentation des Web Services avec PHP
- de PEAR comme alternative (PHP4 et 5) aux fonctions XML natives de PHP5.
Vous avez toujours rêvé de pouvoir utiliser les informations de votre site préféré directement sur votre site? C’est peut-être déjà chose faite grâce aux Web Services!!
En bon afficionado du Web que vous êtes, vous avez sûrement entendu parler des Web Services.
Histoire de casser la baraque aux commerciaux du monde IT qui se la pètent:
les Web Services çà n’est jamais que de l’échange de fichiers XML par requête HTTP interposée.
Pas de quoi en faire un flan 🙂 Pan. C’est dit. Je suis un trublion des technos Web 😛
Cette considération mise à part, le commun des développeurs n’a pas forcément à sa disposition de plate-forme compatibles web services.
Que de plus facile à mettre en oeuvre qu’un bon vieux PHP? (qui a dit que j’avais des oeillières? ;-))
« mais-euh, l’implémentation SOAP de PHP4 est bancale 🙁« , me direz-vous…
Certes, néanmoins dans le cas d’un hébergement Web et si, comme beaucoup, votre hébergeur ne se résoud pas à adopter PHP5 et sa superbe implémentation XML, vous allez devoir vous rabattre vers des méthodes peu orthodoxes… Oui, vous allez peut-être devoir toucher à PEAR, mouhahahah (*rire sardonique*)
Voici de quoi commencer à éclairer votre lanterne:
Après avoir installé PEAR, soit par l’installeur, soit en uploadant les fichiers sur votre site, assurez vous de récupérer les modules SOAP et HTTP_Request ainsi que leurs dépendences.
Envisagez ce scénario:
le site fictif fromages-de-savoie.com propose toutes ses informations sur les fromages de Savoie (original, hein? :P) via un jeu de Web Services.
Fromages-de-savoie.com propose un contrat de Web Service Definition Language (WSDL) appellé fromages.wsdl qui contient toutes les informations concernant paramètres requis et les méthodes nécessaires pour accéder aux informations recherchées.
Il est temps de laisser SOAP bosser un peu. L’avantage du WSDL est qu’il décrit l’information et la façon d’y accéder et il devient très facile de décortiquer ce WSDL pour en faire un client Web Services pratique et facile à utiliser.
require_once ‘SOAP/Client.php’; // librairie PEAR SOAP
$wsdl_url = ‘http://www.fromages-de-savoie.com/webservices/fromages.wsdl’;$WSDL = new SOAP_WSDL($wsdl_url);
// on récupère dans la WSDL de quoi faire un client.
$client = $WSDL->getProxy();
$client = new Fromage();
$region = « Beaufortain »;
$requete = $client->DemandeInfoFromage($region);
print_r ($client);
Et voilà! si votre Web Service fonctionne bien, vous devriez récupérer un tableau contenant les fromages de la belle région du Beaufortain 🙂
Il ne vous reste plus qu’à présenter les résultats en parcourant le tableau et en le formatant à votre gré!
J’espère que ce petit tutoriel vous aura donné envie de coder des clients Web Services. Moi en tout cas j’ai faim donc à plus tard! 🙂
Plus d’infos sur:
- La specification WSDL au W3C
http://www.w3.org/TR/wsdl - La spécification SOAP au W3C
http://www.w3.org/TR/soap12/ - Un très bon article sur SOAP et PEAR chez O’Reilly
http://www.onlamp.com/pub/a/php/2003/07/03/php_amazon_soap.html - Les fromages de Savoie 🙂
http://www.sabaudia.org/v2/dossiers/fromage/public1.php
On me fait signe en régie que le site fromages-de-savoie.com existe désormais. 😀