Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Présentation de l'architecture REST - meetup Dj...
Search
Ordoquy Xavier - Linovia
April 12, 2016
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Présentation de l'architecture REST - meetup Django Paris
On parle beaucoup d'API REST, mais qu'est-ce que REST ?
Ordoquy Xavier - Linovia
April 12, 2016
More Decks by Ordoquy Xavier - Linovia
See All by Ordoquy Xavier - Linovia
Comprendre les interruptions de service lors des mises en production.
xordoquy
0
3
SQLAlchemy - un ami qui vous veut du bien
xordoquy
0
31
pycon.fr 2018 - Django REST framework workshop
xordoquy
0
360
mauvaises bonnes idées pour REST
xordoquy
1
420
Authentication and Permissions with Django REST framework
xordoquy
0
200
Buildbot 0.9
xordoquy
0
110
Performances Django REST framework - DjangoCong 2016
xordoquy
0
140
Django REST framework workshop @Djangocon Europe 2015
xordoquy
0
130
Django REST framework - DjangoConG 2015
xordoquy
3
160
Other Decks in Programming
See All in Programming
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
250
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
120
JIS keyboard support in Omarchy
lef237
0
170
golang-bob.pdf
iwatsukayura
0
150
Groovy as a human and AI friendly programming language
paulk
0
140
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
490
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.4k
Seven New Principles of Software Engineering
yegor256
0
380
Event is what happens
moro
2
2.1k
contenteditable と日本語入力に向き合う
colorful12
0
230
SODA - FACT BOOK(JP)
sodainc
1
40k
気持ちぃ〜角丸 Squircle
ryu1013
0
370
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
How GitHub (no longer) Works
holman
316
150k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Designing Experiences People Love
moore
143
24k
Visualization
eitanlees
153
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Test your architecture with Archunit
thirion
2
2.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
780
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
architecture REST Xavier Ordoquy @linovia_net
Qui connait les contraintes de REST ?
REpresentational State Transfer
Roy Fielding
Qu’est-ce que REST ?
Roy Fielding a core set of principles, properties, and constraints
that are now called REST
C’est: une boite à outils
C’est: une architecture
Ce n’est pas : un protocol
Ce n’est pas : uniquement pour HTTP
Concepts
Ressources Représentations Etats applicatifs
Ressources = Ensemble de données
Ressources Représentations Etats applicatifs
René Magritte
None
Ressources Représentations Etats applicatifs
Contraintes
• Client - Serveur • Sans état • Gestion de
cache • Interface unifiée: • identification des ressources • manipulation des ressource • message auto-porteur • hypermedia • Architecture en couche
#1 client - serveur
Séparation des responsabilités
Serveur Client
#2 sans état
Client: état applicatif Serveur: ressources
page 7 page 8 Suivant() page 6 Précédent() Client Serveur
page 7 page 8 page 6 Suivant Précédent Client Serveur
page 7 page 8 page 6
#3 Gestion du cache
Définie par la réponse
Limiter les échanges
Géré par le client ou des intermédiaires (proxy…)
#4.1 Identification des ressources
URI http://api.example.com/api/resources/ http://api.example.com/api/resources/2/ <protocole><serveur><point d’entrée><ressource><id>
http://api.example.com/api/resources/ http://api.example.com/api/client/5/resources/ ?
http://api.example.com/api/resources/ http://api.example.com/api/client/5/resources/ http://api.example.com/api/resources/?client=5
#4.2 Manipulation des ressources
• Représentation de la ressource • Metadonnées : • Format
acceptés pour les représentations • Internet Media Type (ex MIME)
#4.3 Messages auto-porteur
• Représentation de la ressource • Metadonnées : • Cache
• Format de la représentation • Internet Media Type (ex MIME)
#4.4 Hypermedia
HATEOAS Hypermedia as the Engine of Application State
Mensonges ! Le serveur contient un état !
Alternatives : IDL Documentation
#5 Architecture en couches
Client API Autorisation Métier Technique
Questions ? @linovia_net