Upgrade to Pro — share decks privately, control downloads, hide ads and more …

les origines du REST

les origines du REST

Les origines du REST

Depuis l'apparition des smartphones, le mode de consommation des données informatiques change. Il est devenu habituel, bien que ce soit invisible la plupart du temps, que nous ayons affaire à des API. Elles sont un excellent moyen pour qu'une machine communique avec une autre.

Nous utilisons un système bâti au début des années 70, conçu par des gens brillants, qui ont imaginé des systèmes assez souples pour être maintenables, extensibles et pérennes.

Il s'agit du Web et du REST.

Pour comprendre ces termes indissociables, les secrets de leur longévité, de leur efficacité, et comment en tirer partie, nous allons parcourir leurs origines et leurs mécanismes. À commencer par les origines du Web que nous connaissons. Le World Wide Web. Saviez-vous que nous devons l’internet que nous utilisons chaque jour au satellite russe Sputnik ?

B473bd9d058c922e08d57f39a4a861db?s=128

Grégoire Hébert

February 11, 2021
Tweet

Transcript

  1. Les Origines du REST

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

    Les Origines du REST
  3. @gheb_dev @gregoirehebert Les Origines du REST

  4. @gheb_dev @gregoirehebert Les Origines du REST

  5. @gheb_dev @gregoirehebert Vannevar Bush 1945 Les Origines du REST

  6. @gheb_dev @gregoirehebert Les Origines du REST

  7. @gheb_dev @gregoirehebert Les Origines du REST

  8. @gheb_dev @gregoirehebert Les Origines du REST

  9. @gheb_dev @gregoirehebert Les Origines du REST

  10. @gheb_dev @gregoirehebert Les Origines du REST

  11. @gheb_dev @gregoirehebert Les Origines du REST

  12. @gheb_dev @gregoirehebert Vannevar Bush 1945 Les Origines du REST

  13. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Les Origines du

    REST
  14. @gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

  15. @gheb_dev @gregoirehebert Les Origines du REST

  16. @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
  17. @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
  18. @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
  19. @gheb_dev @gregoirehebert ARPA Seront inventées les technologies réseaux d'aujourdhui Les

    Origines du REST
  20. @gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

  21. @gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

  22. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Les Origines du

    REST
  23. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970

    Les Origines du REST
  24. @gheb_dev @gregoirehebert Les Origines du REST

  25. @gheb_dev @gregoirehebert Les Origines du REST

  26. @gheb_dev @gregoirehebert 1945 vannevar bush Les Origines du REST

  27. @gheb_dev @gregoirehebert Les Origines du REST

  28. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970

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

    Tim berners-Lee 1980 Les Origines du REST
  30. @gheb_dev @gregoirehebert Les Origines du REST Photo récente

  31. @gheb_dev @gregoirehebert Les Origines du REST HTTP - HTML -

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

    URI WWW -
  33. @gheb_dev @gregoirehebert Les Origines du REST

  34. @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;
  35. @gheb_dev @gregoirehebert Les Origines du REST

  36. @gheb_dev @gregoirehebert Les Origines du REST HTTP - HTML -

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

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

  39. @gheb_dev @gregoirehebert Les Origines du REST

  40. @gheb_dev @gregoirehebert Les Origines du REST

  41. @gheb_dev @gregoirehebert Les Origines du REST

  42. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970

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

    Tim berners-Lee 1980 Roy T. Fielding 2000 Les Origines du REST
  44. @gheb_dev @gregoirehebert Les Origines du REST

  45. @gheb_dev @gregoirehebert Les Origines du REST Fondation Apache

  46. @gheb_dev @gregoirehebert Les Origines du REST Fondation Apache Premiers serveurs

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

    web HTTP - URI
  48. @gheb_dev @gregoirehebert Les Origines du REST 1994 Pas d’indication de

    cache, de proxy 
 Beaucoup d’extensions indépendantes
  49. @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
  50. @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
  51. @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
  52. @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
  53. @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.
  54. @gheb_dev @gregoirehebert Les Origines du REST Cache proxy Clients Serveurs

    / 
 Gateways (reverse-proxy) Serveurs d’application Datas
  55. @gheb_dev @gregoirehebert Les Origines du REST Composants User-agents, intermédiaires
 navigateurs,

    proxies, passerelles, serveurs
  56. @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
  57. @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
  58. @gheb_dev @gregoirehebert Les Origines du REST Qu’est-ce qu’une architecture ?

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

    ?
  60. @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
  61. @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
  62. @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
  63. @gheb_dev @gregoirehebert Les Origines du REST Quelles contraintes composent REST

    ?
  64. @gheb_dev @gregoirehebert Les Origines du REST REST U VM COD

    LCODC$SS LC$SS LCS LS CS CSS C$SS RR $
  65. @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
  66. @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
  67. @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
  68. @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)
  69. @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)
  70. @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
  71. @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
  72. @gheb_dev @gregoirehebert Les Origines du REST Uniform Interface Hypertext As

    The Engine Of Application State
  73. @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
  74. @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.
  75. @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
  76. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970

    Tim berners-Lee 1980 Roy T. Fielding 2000 Les Origines du REST
  77. @gheb_dev @gregoirehebert No respect Pic of humility Enlightment Wisdom Knows

    nothing Guru Humility Hébert effect
  78. Merci !