SlideShare une entreprise Scribd logo
1  sur  8
Restful Architecture
Préparé par :
• Oumechtak Mohamed
• Rekhada Bouchra
• Touil Nadia
Encadré par : Mr Hafidi
Le 27/12/2016
Les contraintes de l’architecture RESTful:
• Client/Serveur:
- La séparation des responsabilités entre le client et le serveur
- Le serveur s'occupe de la gestion des règles métier et des données
- le client se concentre sur l'interface utilisateur (une interface peut être une page web, une application mobile
etc.)
- la portabilité et la scalabilité de notre application sont grandement améliorées
- Chaque composant pourra aussi évoluer séparément
- Nous pouvons imaginer un site web qui refait toute sa charte graphique sans que le code côté serveur ne soit
modifié
2
Les contraintes de l’architecture RESTful:
• Sans Etat (Stateless):
- La communication entre le client et le serveur doit se faire sans dépendre d'un contexte lié au serveur
- Chaque requête du client contient toutes les informations nécessaires à son traitement
- Ainsi, plusieurs instances de serveurs peuvent traiter indifféremment les requêtes de chaque client.
3
Méthodes et réponses du protocol HTTP:
4
• Dans une architecture REST, il faut utiliser les verbes HTTP existants plutôt que d’inclure l’opération dans l’URI de
la ressource. Ainsi, généralement pour une ressource, il y a 4 opérations possibles (CRUD) :
Créer
(create)
Afficher
(read)
Mettre à
jour
(update)
Suppri
mer
(delete)
POST GET PUT DELETE
Méthodes et réponses du protocol HTTP:
5
• Les réponses HTTP:
- Il est important d’avoir à l’esprit que la réponse envoyée n’est pas une ressource
- c’est la représentation d’une ressource
- une ressource peut avoir plusieurs représentations dans des formats divers : HTML, XML, CSV, JSON, etc.
- C’est au client de définir quel format de réponse il souhaite reçevoir via l’entête Accept.
- Il est possible de définir plusieurs formats.
Méthodes et réponses du protocol HTTP:
6
• Exemple:
-
Réponse en HTML:
GET /books
Host: mywebsite.com
Accept: text/html
Réponse en XML:
GET /books
Host: mywebsite.com
Accept: application/xml
Méthodes et réponses du protocol HTTP:
7
• Codes et réponses du protocol HTTP:
- Les différents codes HTTP utiles pour les API
-
Codes commençant par 1 Information Indique une réponse provisoire.
100 Continue ("Continue") Le client doit continuer avec sa requête.
Codes commençant par 2 Succès Indique que la requêtea été reçue, comprise et acceptée.
200 OK Tout va bien, tout est normal : la requête a été traitée avec succès :-)
201 Created("Créé") Requête traitée avec succès, et une nouvelle ressource a été créée.
Codes commençant par 3 Redirection Indique qu'une action supplémentaire doit être entreprisepar l'agent d'utilisateur afin de
satisfaire la demande.
305 Use Proxy ("Utiliser un
mandataire/proxy")
La ressource demandée n'est accessibleque via un proxy.
Codes commençant par 4 Erreur du client Indique que le navigateur semble s'être trompé.
404 Not Found ("Non trouvé") Le serveur n'a rien trouvé correspondant à l'url demandée. Rien ne précise si c'est temporaire,
mais si c'est définitif, l'erreur 410 est préférable.
Codes commençant par 5 Erreur du serveur Indique que le serveur web n'a pas réussi à traiter une requête pourtant valide(une mauvaise
nouvelle à transmettreaux services techniques du site en général...)
503 ServiceUnavailable("Service
indisponible")
Indisponibilitéen général temporaire du serveur,à cause d'une maintenance ou d'une surcharge.
Méthodes et réponses du protocol HTTP:
8
• Démo pour démonstration:
-
- Outils:
1) Serveur Node.js(Express.js)
2) Base de données MySql
3) Extension RESTMan comme client

Contenu connexe

En vedette

Infrastructure-Strategy-for-Digital-Transformation-v3
Infrastructure-Strategy-for-Digital-Transformation-v3Infrastructure-Strategy-for-Digital-Transformation-v3
Infrastructure-Strategy-for-Digital-Transformation-v3Khiro Mishra
 
Białka tatrzańska
Białka tatrzańskaBiałka tatrzańska
Białka tatrzańskatabmonika
 

En vedette (6)

Infrastructure-Strategy-for-Digital-Transformation-v3
Infrastructure-Strategy-for-Digital-Transformation-v3Infrastructure-Strategy-for-Digital-Transformation-v3
Infrastructure-Strategy-for-Digital-Transformation-v3
 
Actividad trabajo en equipo (1) (1)
Actividad trabajo en equipo (1) (1)Actividad trabajo en equipo (1) (1)
Actividad trabajo en equipo (1) (1)
 
Białka tatrzańska
Białka tatrzańskaBiałka tatrzańska
Białka tatrzańska
 
Linkedin rec
Linkedin recLinkedin rec
Linkedin rec
 
Anil CV
Anil CVAnil CV
Anil CV
 
Exit ME smart tourism
Exit ME smart tourismExit ME smart tourism
Exit ME smart tourism
 

Similaire à Restful

0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhindguendouz2000
 
resume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfresume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfFootballLovers9
 
1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdf1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdfhaythem bouzouraa
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdfintro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdfCoumbaLaobNdiaye1
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applicationsMohammed Jaafar
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdfElomyakobi
 
Panel de solutions javascript
Panel de solutions javascriptPanel de solutions javascript
Panel de solutions javascriptjp_mouton
 
Dans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou DrupalDans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou Drupalneuros
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 

Similaire à Restful (20)

Chapitre 1.pdf
Chapitre 1.pdfChapitre 1.pdf
Chapitre 1.pdf
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
resume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfresume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdf
 
Advanced html5
Advanced html5Advanced html5
Advanced html5
 
1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdf1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdf
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdfintro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Serveurs
ServeursServeurs
Serveurs
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applications
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdf
 
Panel de solutions javascript
Panel de solutions javascriptPanel de solutions javascript
Panel de solutions javascript
 
Dans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou DrupalDans quel contexte employer Zend ou Drupal
Dans quel contexte employer Zend ou Drupal
 
WF3Programmedeformation
WF3ProgrammedeformationWF3Programmedeformation
WF3Programmedeformation
 
Meteor js 1.0
Meteor js 1.0Meteor js 1.0
Meteor js 1.0
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 

Restful

  • 1. Restful Architecture Préparé par : • Oumechtak Mohamed • Rekhada Bouchra • Touil Nadia Encadré par : Mr Hafidi Le 27/12/2016
  • 2. Les contraintes de l’architecture RESTful: • Client/Serveur: - La séparation des responsabilités entre le client et le serveur - Le serveur s'occupe de la gestion des règles métier et des données - le client se concentre sur l'interface utilisateur (une interface peut être une page web, une application mobile etc.) - la portabilité et la scalabilité de notre application sont grandement améliorées - Chaque composant pourra aussi évoluer séparément - Nous pouvons imaginer un site web qui refait toute sa charte graphique sans que le code côté serveur ne soit modifié 2
  • 3. Les contraintes de l’architecture RESTful: • Sans Etat (Stateless): - La communication entre le client et le serveur doit se faire sans dépendre d'un contexte lié au serveur - Chaque requête du client contient toutes les informations nécessaires à son traitement - Ainsi, plusieurs instances de serveurs peuvent traiter indifféremment les requêtes de chaque client. 3
  • 4. Méthodes et réponses du protocol HTTP: 4 • Dans une architecture REST, il faut utiliser les verbes HTTP existants plutôt que d’inclure l’opération dans l’URI de la ressource. Ainsi, généralement pour une ressource, il y a 4 opérations possibles (CRUD) : Créer (create) Afficher (read) Mettre à jour (update) Suppri mer (delete) POST GET PUT DELETE
  • 5. Méthodes et réponses du protocol HTTP: 5 • Les réponses HTTP: - Il est important d’avoir à l’esprit que la réponse envoyée n’est pas une ressource - c’est la représentation d’une ressource - une ressource peut avoir plusieurs représentations dans des formats divers : HTML, XML, CSV, JSON, etc. - C’est au client de définir quel format de réponse il souhaite reçevoir via l’entête Accept. - Il est possible de définir plusieurs formats.
  • 6. Méthodes et réponses du protocol HTTP: 6 • Exemple: - Réponse en HTML: GET /books Host: mywebsite.com Accept: text/html Réponse en XML: GET /books Host: mywebsite.com Accept: application/xml
  • 7. Méthodes et réponses du protocol HTTP: 7 • Codes et réponses du protocol HTTP: - Les différents codes HTTP utiles pour les API - Codes commençant par 1 Information Indique une réponse provisoire. 100 Continue ("Continue") Le client doit continuer avec sa requête. Codes commençant par 2 Succès Indique que la requêtea été reçue, comprise et acceptée. 200 OK Tout va bien, tout est normal : la requête a été traitée avec succès :-) 201 Created("Créé") Requête traitée avec succès, et une nouvelle ressource a été créée. Codes commençant par 3 Redirection Indique qu'une action supplémentaire doit être entreprisepar l'agent d'utilisateur afin de satisfaire la demande. 305 Use Proxy ("Utiliser un mandataire/proxy") La ressource demandée n'est accessibleque via un proxy. Codes commençant par 4 Erreur du client Indique que le navigateur semble s'être trompé. 404 Not Found ("Non trouvé") Le serveur n'a rien trouvé correspondant à l'url demandée. Rien ne précise si c'est temporaire, mais si c'est définitif, l'erreur 410 est préférable. Codes commençant par 5 Erreur du serveur Indique que le serveur web n'a pas réussi à traiter une requête pourtant valide(une mauvaise nouvelle à transmettreaux services techniques du site en général...) 503 ServiceUnavailable("Service indisponible") Indisponibilitéen général temporaire du serveur,à cause d'une maintenance ou d'une surcharge.
  • 8. Méthodes et réponses du protocol HTTP: 8 • Démo pour démonstration: - - Outils: 1) Serveur Node.js(Express.js) 2) Base de données MySql 3) Extension RESTMan comme client