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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ordoquy Xavier - Linovia
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 ?
Ordoquy Xavier - Linovia
April 12, 2016
Tweet
Share
More Decks by Ordoquy Xavier - Linovia
See All by Ordoquy Xavier - Linovia
SQLAlchemy - un ami qui vous veut du bien
xordoquy
0
10
pycon.fr 2018 - Django REST framework workshop
xordoquy
0
350
mauvaises bonnes idées pour REST
xordoquy
1
390
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
140
Django REST framework workshop - DjangoCong 2015
xordoquy
1
130
Other Decks in Programming
See All in Programming
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
510
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
190
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
950
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
730
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
540
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
AHC061解説
shun_pi
0
380
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.4k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
550
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
340
Windows on Ryzen and I
seosoft
0
290
Featured
See All Featured
A Soul's Torment
seathinner
5
2.5k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
83
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
How STYLIGHT went responsive
nonsquared
100
6k
Paper Plane (Part 1)
katiecoart
PRO
0
5.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
310
Code Reviewing Like a Champion
maltzj
528
40k
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