Aller au contenu


REST et les WEBSERVICE


4 réponses à ce sujet
  • Vous ne pouvez pas répondre à ce sujet

#1
goldbergg

  • messages 176
  • Inscrit(e) : 06 octobre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 51 (Se fait un nom)
Bonjour voici une petite documentation concernant les Webservice et REST, il ne s'agit pas d'un tutoriel mais d'une explication sur le concepte, un tuto sur la création de webservice suivra probalement.


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 http://monsite.com/u...ateur.php?ID=32 n'est pas valide mais http://monsite.com/utilisateur/32/ 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.


  • 2

#2
Ptiguesh

      Le Grand Daimao - Veteran du faping et Sadistic Guy

  • messages 1 760
  • Inscrit(e) : 29 novembre 2010

  • Humeur du actuel : Aucun choisi

Réputation : 142 (Étoile montante)
Hou ! Que de mots compliqués :AA: (enfin bon, avec mon intelligence...) Sinon, bon tuto (plutôt explication) ! Parfait pour les membres avides d'informatique !

Modifié par Ptiguesh, 27 novembre 2011 - 23:52.

  • 0

#3
Mouquette

  • messages 23
  • Inscrit(e) : 21 novembre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 1 (Neutre)

la partie cliente devient indépendante de la partie serveur


Je trouve que cette phrase est la plus intéressante, car, à mon sens, plus il y a d'indépendance dans un code, mieux c'est.


Par contre,
les valeurs sont bien stocké en BDD ?

et sinon, je ne vois pas très bien ce qu'est une URI
dans l'exemple avec l'AJAX, "http://MonSite.com/Utilisateur/" n'étant pas une URL, vers quoi pointe cette adresse ?
Comment interpréter l'URI ? qu'est ce qu'il y a derrière ?
  • 0

#4
goldbergg

  • messages 176
  • Inscrit(e) : 06 octobre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 51 (Se fait un nom)

les valeurs sont bien stocké en BDD ?

La tous dépendera de se que fais le webservice, dans l'exemple avec l'utilisateur, il poura soit être stocké dans une BDD ou dans un fichier en XML voire en JSON

et sinon, je ne vois pas très bien ce qu'est une URI
dans l'exemple avec l'AJAX, "http://MonSite.com/Utilisateur/" n'étant pas une URL, vers quoi pointe cette adresse ?
Comment interpréter l'URI ? qu'est ce qu'il y a derrière ?



Comme je l'ai dit une URL est une URI, une URL par defaut utilise la méthode GET(sans que l'on est a le spécifié) et permet donc d'affiché la page vers laquelle elle pointe

Avec l'utilisation de webservice on ne va plus parler de page mais de ressources, au lieu d'avoire une possibilité on en a plusieur il est donc plus convenable de parlé d'URI affin de bien spécifié de l'onparle de ressources (au pluriel) et non d'une seul.


http://goldbergg.fre...ST/Testrest.php
voici un exemple d'URI (je n'est pas pris le temp de faire d'URL Rewriting).

l'URI est utilisé dans cette page en ajax:
http://goldbergg.fre...EBSERVICE/TEST/
cette page permet de tester les diférente méthode, de démontré aussi que l'on peut créé ces propre méthode (pas recomandé) avec leur propre variable global et enfin que certaine méthode ne sont pas utilisable comme bon nous semble (HEAD et TRACE)



On peut voire qu'en fonction de la méthode utilisé le resultat change.

"http://MonSite.com/Utilisateur/" pointera donc (via URL Rewriting) vers un fichier qui aura une strucure similaire:
  • <?php
  • $method = $_SERVER['REQUEST_METHOD'];
  • switch ($method) {
  • case 'PUT':
  • //mon Code ici
  • break;
  • case 'POST':
  • //mon Code ici
  • break;
  • case 'GET':
  • //mon Code ici
  • break;
  • case 'DELETE':
  • //mon Code ici
  • break;
  • default:
  • echo false;
  • break;
  • }
  • ?>
et qui en fonction de la méthode fera une action diférente.
  • 0

#5
NoRePlay

  • messages 11
  • Inscrit(e) : 29 janvier 2012

  • Humeur du actuel : Aucun choisi

Réputation : 0 (Neutre)
Intéressant tout sa, mais faudrait que je développe quelque chose de ce type la mais avec différente commande MYSQL, je ferai le test quand je travaillerai sur un site WEB
  • 0





0 utilisateur(s) dans ce forum

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)

Community Forum Software by IP.Board
Licence accordée à : AnimeServ.NET
Design & Code by Bad.Y o/
© 2013 AnimeServ