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
Ordoquy Xavier - Linovia
April 12, 2016
Programming
110
0
Share
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
SQLAlchemy - un ami qui vous veut du bien
xordoquy
0
18
pycon.fr 2018 - Django REST framework workshop
xordoquy
0
350
mauvaises bonnes idées pour REST
xordoquy
1
400
Authentication and Permissions with Django REST framework
xordoquy
0
190
Buildbot 0.9
xordoquy
0
110
Performances Django REST framework - DjangoCong 2016
xordoquy
0
130
Django REST framework workshop @Djangocon Europe 2015
xordoquy
0
130
Django REST framework - DjangoConG 2015
xordoquy
3
150
Django REST framework workshop - DjangoCong 2015
xordoquy
1
130
Other Decks in Programming
See All in Programming
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
430
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.4k
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
3Dシーンの圧縮
fadis
1
560
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.4k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
110
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
5.1k
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
420
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.9k
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
180
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
300
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.3k
Technical Leadership for Architectural Decision Making
baasie
3
390
Rails Girls Zürich Keynote
gr2m
96
14k
A designer walks into a library…
pauljervisheath
211
24k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
GitHub's CSS Performance
jonrohan
1033
470k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
GraphQLとの向き合い方2022年版
quramy
50
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.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