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 ?

Grégoire Hébert

February 11, 2021
Tweet

More Decks by Grégoire Hébert

Other Decks in Programming

Transcript

  1. @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
  2. @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
  3. @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
  4. @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;
  5. @gheb_dev @gregoirehebert Les Origines du REST HTTP - HTML -

    URI Web Sémantique - Ontologies WWW - W3C
  6. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970

    Tim berners-Lee 1980 Roy T. Fielding 2000 Les Origines du REST
  7. @gheb_dev @gregoirehebert Les Origines du REST 1994 Pas d’indication de

    cache, de proxy 
 Beaucoup d’extensions indépendantes
  8. @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
  9. @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
  10. @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
  11. @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
  12. @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.
  13. @gheb_dev @gregoirehebert Les Origines du REST Cache proxy Clients Serveurs

    / 
 Gateways (reverse-proxy) Serveurs d’application Datas
  14. @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
  15. @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
  16. @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
  17. @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
  18. @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
  19. @gheb_dev @gregoirehebert Les Origines du REST REST U VM COD

    LCODC$SS LC$SS LCS LS CS CSS C$SS RR $
  20. @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
  21. @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
  22. @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
  23. @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)
  24. @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)
  25. @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
  26. @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
  27. @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
  28. @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.
  29. @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
  30. @gheb_dev @gregoirehebert Vannevar Bush 1945 ARPA 1958 Semantic Memory 1970

    Tim berners-Lee 1980 Roy T. Fielding 2000 Les Origines du REST