Slide 1

Slide 1 text

Les Origines du REST

Slide 2

Slide 2 text

Grégoire Hébert Senior Developper — Trainer — Lecturer @ Les-Tilleuls.coop Les Origines du REST

Slide 3

Slide 3 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 4

Slide 4 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 5

Slide 5 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 Les Origines du REST

Slide 6

Slide 6 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 7

Slide 7 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 8

Slide 8 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 9

Slide 9 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 10

Slide 10 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 11

Slide 11 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 12

Slide 12 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 Les Origines du REST

Slide 13

Slide 13 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Les Origines du REST

Slide 14

Slide 14 text

@gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

Slide 15

Slide 15 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 16

Slide 16 text

@gheb_dev @gregoirehebert ARPA (1957-1958) Possède 2 milliards de $ pour concurrencer l'URSS dans la conquête de l’espace. Les Origines du REST

Slide 17

Slide 17 text

@gheb_dev @gregoirehebert ARPA 
 National Aeronotic and Space Administration séparation des missions et du budget le plus conséquent de l'ARPA Les Origines du REST

Slide 18

Slide 18 text

@gheb_dev @gregoirehebert ARPA Réassignation des compétences La communication comme nerf de la guerre en période thermonucléaire Les Origines du REST

Slide 19

Slide 19 text

@gheb_dev @gregoirehebert ARPA Seront inventées les technologies réseaux d'aujourdhui Les Origines du REST

Slide 20

Slide 20 text

@gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

Slide 21

Slide 21 text

@gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

Slide 22

Slide 22 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Les Origines du REST

Slide 23

Slide 23 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970 Les Origines du REST

Slide 24

Slide 24 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 25

Slide 25 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 26

Slide 26 text

@gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

Slide 27

Slide 27 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 28

Slide 28 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970 Les Origines du REST

Slide 29

Slide 29 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970 Tim berners-Lee 1980 Les Origines du REST

Slide 30

Slide 30 text

@gheb_dev @gregoirehebert Les Origines du REST Photo récente

Slide 31

Slide 31 text

@gheb_dev @gregoirehebert Les Origines du REST HTTP - HTML - URI

Slide 32

Slide 32 text

@gheb_dev @gregoirehebert Les Origines du REST HTTP - HTML - URI WWW -

Slide 33

Slide 33 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 34

Slide 34 text

@gheb_dev @gregoirehebert Les Origines du REST Notre programme, qui êtes en mémoire Que ton nom soit appelé; Que ton Operating System tourne; Que ton execution de production soit identique au développement; Donne nous nos logs quotidiens; Pardonne nous de notre duplication de code; Pardonne ceux qui dupliquent notre code à leur insu; Ne nous conduit pas à la frustration mais délivre nous des goto; Au nom du bel algorithme de la compilation et du résultat Bouclant à jamais; Return; Au nom du compilateur et de l’assembleur; Amend;

Slide 35

Slide 35 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 36

Slide 36 text

@gheb_dev @gregoirehebert Les Origines du REST HTTP - HTML - URI WWW - W3C

Slide 37

Slide 37 text

@gheb_dev @gregoirehebert Les Origines du REST HTTP - HTML - URI Web Sémantique - Ontologies WWW - W3C

Slide 38

Slide 38 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 39

Slide 39 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 40

Slide 40 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 41

Slide 41 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 42

Slide 42 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970 Tim berners-Lee 1980 Les Origines du REST

Slide 43

Slide 43 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970 Tim berners-Lee 1980 Roy T. Fielding 2000 Les Origines du REST

Slide 44

Slide 44 text

@gheb_dev @gregoirehebert Les Origines du REST

Slide 45

Slide 45 text

@gheb_dev @gregoirehebert Les Origines du REST Fondation Apache

Slide 46

Slide 46 text

@gheb_dev @gregoirehebert Les Origines du REST Fondation Apache Premiers serveurs web

Slide 47

Slide 47 text

@gheb_dev @gregoirehebert Les Origines du REST Fondation Apache Premiers serveurs web HTTP - URI

Slide 48

Slide 48 text

@gheb_dev @gregoirehebert Les Origines du REST 1994 Pas d’indication de cache, de proxy 
 Beaucoup d’extensions indépendantes

Slide 49

Slide 49 text

@gheb_dev @gregoirehebert Les Origines du REST 1994 Pas d’indication de cache, de proxy 
 Beaucoup d’extensions indépendantes Début de la commercialisation d’internet

Slide 50

Slide 50 text

@gheb_dev @gregoirehebert Les Origines du REST 1994 Pas d’indication de cache, de proxy 
 Beaucoup d’extensions indépendantes Début de la commercialisation d’internet 
 
 Une architecture web plus moderne est nécessaire

Slide 51

Slide 51 text

@gheb_dev @gregoirehebert Les Origines du REST De quoi a-t-on besoin ? Doit être facile d’usage.
 avec une interface utilisateur Hypermédia 
 avec un protocole simple pour gérer les autorisation et les transferts de données simple réutilisable et extensible

Slide 52

Slide 52 text

@gheb_dev @gregoirehebert Les Origines du REST De quoi a-t-on besoin ? Doit être facile d’usage.
 avec une interface utilisateur Hypermédia 
 avec un protocole simple pour gérer les autorisation et les transferts de données simple réutilisable et extensible 
 Le système hypermédia doit être distribué, centré sur les données, et performant

Slide 53

Slide 53 text

@gheb_dev @gregoirehebert Les Origines du REST De quoi a-t-on besoin ? Doit être facile d’usage.
 avec une interface utilisateur Hypermédia 
 avec un protocole simple pour gérer les autorisation et les transferts de données simple réutilisable et extensible 
 Le système hypermédia doit être distribué, centré sur les données, et performant 
 Ne doit pas être fermé à l’extérieur. N’importe quel organisation doit pouvoir y ajouter un élément. modulable, extensible, portable, evolutif, sûr, visible, personnalisable, configurable.

Slide 54

Slide 54 text

@gheb_dev @gregoirehebert Les Origines du REST Cache proxy Clients Serveurs / 
 Gateways (reverse-proxy) Serveurs d’application Datas

Slide 55

Slide 55 text

@gheb_dev @gregoirehebert Les Origines du REST Composants User-agents, intermédiaires
 navigateurs, proxies, passerelles, serveurs

Slide 56

Slide 56 text

@gheb_dev @gregoirehebert Les Origines du REST Composants Connecteurs 
 
 HTTP : Un protocole standard de transfert idéal. User-agents, intermédiaires
 navigateurs, proxies, passerelles, serveurs

Slide 57

Slide 57 text

@gheb_dev @gregoirehebert Les Origines du REST Composants Connecteurs 
 
 Données HTTP : Un protocole standard de transfert idéal. URI : Identification unique standardisée HTML, XML, RDF, PDF, JPEG, JSON :
 Représentation pour décrire et lier les ressources User-agents, intermédiaires
 navigateurs, proxies, passerelles, serveurs

Slide 58

Slide 58 text

@gheb_dev @gregoirehebert Les Origines du REST Qu’est-ce qu’une architecture ?

Slide 59

Slide 59 text

@gheb_dev @gregoirehebert Les Origines du REST Qu’est-ce qu’un style architectural ?

Slide 60

Slide 60 text

@gheb_dev @gregoirehebert Les Origines du REST Qu’est-ce qu’un style architectural ? Une abstraction couvrant plusieurs architectures Utilise à répétition un pattern architectural Se défini à travers des contraintes de conception

Slide 61

Slide 61 text

@gheb_dev @gregoirehebert Les Origines du REST Qu’est-ce qu’un style architectural ? REST est un style architectural pour les applications basées sur un réseau informatique qui exploite les même propriétés de l’architecture du World Wide Web

Slide 62

Slide 62 text

@gheb_dev @gregoirehebert Les Origines du REST En résumé Un style peut être appliqué a plusieurs architecture 
 Une architecture peut être composée de plusieurs styles

Slide 63

Slide 63 text

@gheb_dev @gregoirehebert Les Origines du REST Quelles contraintes composent REST ?

Slide 64

Slide 64 text

@gheb_dev @gregoirehebert Les Origines du REST REST U VM COD LCODC$SS LC$SS LCS LS CS CSS C$SS RR $

Slide 65

Slide 65 text

@gheb_dev @gregoirehebert Les Origines du REST REST U VM COD LCODC$SS LC$SS LCS LS CS CSS C$SS RR $ Uniform interface Stateless Separated Layered Programmable Mobile Réplicated On-demand Contraintes

Slide 66

Slide 66 text

@gheb_dev @gregoirehebert Les Origines du REST REST U VM COD LCODC$SS LC$SS LCS LS CS CSS C$SS RR $ Simple
 visible Reusable Extensible Shared Reliable Cacheable Scalable Multi Orga Intermediare
 processing Contraintes Propriétés Uniform interface Stateless Separated Layered Programmable Mobile Réplicated On-demand

Slide 67

Slide 67 text

@gheb_dev @gregoirehebert Les Origines du REST VM COD LCODC$SS LC$SS LCS LS CS CSS C$SS RR $ Extensible Shared Reliable Cacheable Scalable Multi Orga Intermediare
 processing Contraintes Propriétés Stateless Separated Layered Programmable Mobile Réplicated On-demand REST U Simple
 visible Reusable Uniform interface

Slide 68

Slide 68 text

@gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Toutes les ressources principales sont identifiées par un mécanisme 
 d’identifiant uniforme de ressource. (Uniform Resource Identifier - URI)

Slide 69

Slide 69 text

@gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Toutes les ressources principales sont identifiées par un mécanisme 
 d’identifiant uniforme de ressource. (Uniform Resource Identifier - URI) Les méthodes d’accès (actions) signifient la même action toute 
 ressource confondue (sémantique universelle)

Slide 70

Slide 70 text

@gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Toutes les ressources principales sont identifiées par un mécanisme 
 d’identifiant uniforme de ressource. (Uniform Resource Identifier - URI) Les méthodes d’accès (actions) signifient la même action toute 
 ressource confondue (sémantique universelle) Les ressources sont manipulées au travers d’échanges de leur représentations

Slide 71

Slide 71 text

@gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Toutes les ressources principales sont identifiées par un mécanisme 
 d’identifiant uniforme de ressource. (Uniform Resource Identifier - URI) Les méthodes d’accès (actions) signifient la même action toute 
 ressource confondue (sémantique universelle) Les ressources sont manipulées au travers d’échanges de leur représentations Les ressources sont échangées sous forme de messages 
 auto-descriptifs

Slide 72

Slide 72 text

@gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Hypertext As The Engine Of Application State

Slide 73

Slide 73 text

@gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Une réponse sans erreur, indique ou contient la représentation de la 
 ressource identifiée. La ressource elle même reste cachée. Hypertext As The Engine Of Application State

Slide 74

Slide 74 text

@gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Une réponse sans erreur, indique ou contient la représentation de la 
 ressource identifiée. La ressource elle même reste cachée. Hypertext As The Engine Of Application State Une représentation peut contenir des liens vers de potentiels nouveaux 
 états de l’application, en incluant des redirection indiquant comment 
 effectuer la modification pour obtenir ce nouvel état.

Slide 75

Slide 75 text

@gheb_dev @gregoirehebert Les Origines du REST REST U VM COD LCODC$SS LC$SS LCS LS CS CSS C$SS RR $ Simple
 visible Reusable Extensible Shared Reliable Cacheable Scalable Multi Orga Intermediare
 processing Contraintes Propriétés Uniform interface Stateless Separated Layered Programmable Mobile Réplicated On-demand

Slide 76

Slide 76 text

@gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970 Tim berners-Lee 1980 Roy T. Fielding 2000 Les Origines du REST

Slide 77

Slide 77 text

@gheb_dev @gregoirehebert No respect Pic of humility Enlightment Wisdom Knows nothing Guru Humility Hébert effect

Slide 78

Slide 78 text

Merci !