Un Webservice est comme son nom d'indique un service proposé sur le Web. Il ne retourne pas de page web mais des information sous forme strucuré (XML, JSON, etc...) qui pouront par la suite être utilisé sur une page web ou une application.
exemple: Un site de méteo proposera un webservice qui retourenera la méteo sous forme XML, le service prendra en paramétre le nom de la ville désiré.
REST est une architecture qui proppose certain standars afin de créer des WebService:
-ChaqueWebService est représenté par UNE URI et représente donc une ressource
-Une ressource peut représenter plusieurs actions (Ajout, Suppression, Modification,etc....)
-L'URI doit être indépendant du langage utilisé ainsi n'est pas valide mais l'est.
-Les ressources utilisent les méthodes HTTP pour définir les actions.
-Chaque webservice a une spécification qui définit son mode d'utilisation.
Définition:
REST :Representation State transfer, il ne s’agit pas d’un protocole mais d’une façon de coder (architecture)
URL : Uniform Ressource Locator
URI : Uniform Ressource Identifier
La différence entre URL et URI est minime etant donnée qu'une URL est une URI(mais pas forcement l'inversse).
Pour les WebService on parlera principalement d'URI qui désignera une ressource (qui correspond a se que propose le service), ainssi une URI sera la même pour tout utilisation d'un service (se qui changera sa sera la méthode HTTP utilisé) contrairement a une URL qui changerai a chaque action.
JSON: JavaScriptObject Notation, c’est un format de donnée comparable à XML ou encore au fameux x-www-form-urlencoded.Il n’est pas obligatoire mais permet de faire circulé plus facilement les données.
Les avantages (d'un webservice selon REST):
-Simple à mettre en place (pas besoinde plugin ni de module contrairement à SOAP par exemple)
-Aucune obligation concernant le langage utilisé
-Un webservice peut être aussi bien utilisé pour une application web que pour une application mobile ou Smartphone
Exemple simple de fonctionnement:
Spoiler
Bref selon le langage l’utilisation est plus ou moins simple mais pas si compliqué que sa (en C# c’est encore plus simple que dans les exemples^^).
Ces trois exemple permette de démontré une chose, les webservice ne sont pas spécifique à un langage ni à une plateforme, on peut les utilisé coté serveur (PHP, ASP, etc…), coté client(JavaScript) et dans des applications autre que le Web (JAVA, C#, VB, C, C++,W-language, etc…).
Ainsi en codant un site uniquement via des WebService, la partie cliente devient indépendante de la partie serveur, si l’on décide de passé de PHP à ASP par exemple, seul les WebService seront à modifier (Les URI et les spécification devrontt réster les mêmes), de même que l’on pourrait aisément modifier la partie cliente sans toucher à la partie serveur(webservice). L'on pourait même imaginé plusieur site utilisant les même WebService mais avec des interface diférente.
Pour les intéréssé google propose des API php REST permettant de pouvoir codé sa propre interface client pour ces nombreux service (calendar, map, youtube, etc…).
Enfin les webservice permette facilement et rapidement de passé une application web sur une autre Platform tel qu’une application bureau ou encore Smartphone.
Voila j'éspére avoire été assé claire, n'ésité pas a poser des question, si vous êtes intéréssé je peut faire un Tuto sur la création de WebService en PHP.