Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Présentation de l'architecture REST - meetup Dj...
Search
xordoquy
April 12, 2016
Programming
0
110
Présentation de l'architecture REST - meetup Django Paris
On parle beaucoup d'API REST, mais qu'est-ce que REST ?
xordoquy
April 12, 2016
Tweet
Share
More Decks by xordoquy
See All by xordoquy
pycon.fr 2018 - Django REST framework workshop
xordoquy
0
300
mauvaises bonnes idées pour REST
xordoquy
1
360
Authentication and Permissions with Django REST framework
xordoquy
0
180
Buildbot 0.9
xordoquy
0
100
Performances Django REST framework - DjangoCong 2016
xordoquy
0
130
Django REST framework workshop @Djangocon Europe 2015
xordoquy
0
120
Django REST framework - DjangoConG 2015
xordoquy
3
140
Django REST framework workshop - DjangoCong 2015
xordoquy
1
110
Packaging pratique (fr) - pycon.fr 2014
xordoquy
1
170
Other Decks in Programming
See All in Programming
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
920
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
250
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
4
6.7k
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
270
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
RailsGirls IZUMO スポンサーLT
16bitidol
0
180
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
12k
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
610
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
440
5つのアンチパターンから学ぶLT設計
narihara
1
160
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
240
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Done Done
chrislema
184
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Why Our Code Smells
bkeepers
PRO
336
57k
Bash Introduction
62gerente
613
210k
The Cult of Friendly URLs
andyhume
79
6.5k
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