L'écosystème moderne et les besoins émergents
- Le protocole HTTP et HTTP2
- Le format JSON
- Les URLS
- Les APIs, Interfaces et Webservices
- Les langages d'échanges (Json, SOAP, GraphQL …)
Re.S.T. : REpresentational State Transfer
- Ce que n'est pas une API ReST
- Roy Thomas FIELDING : à l'origine du ReST
- Description du ReST
- Règles de l'API ReST
- Formats d'échange
- Méthodes HTTP
Modèle de maturité de Richardson ou Web Service Maturity Heuristic
H.A.T.E.O.A.S. et “Resource Linking”
ReSTful implique Stateless
- Stateful ou Stateless ?
- Limites et difficultés du stateful
- Avantages et exemples de Stateless
Dogme, pratique et ReSTafarians
Astuces et bonnes pratiques
- Nommage
- Base URL
- Media Type
- Versioning
- Propriété “id”
- Polymorphisme
- Datetime
- “Association Resource”
- Avis subjectif sur H.A.T.E.O.A.S. et le Semantic Web
- Apport des bonnes pratiques
Les standards
- JSON API
- H.A.L.
- JSON LD
- Les autres initiatives
Les outils
- Swagger
- Postman
- Sandbox
- JSON Generator
- JSON Serveur
Sécurité des APIs ReST
- Authentification et “session management”
- Autorisation et gestion des permissions
- Validation : “Canonicalization”, “Escaping” & “Sanitization”
- Cookies are EVIL
- C.O.R.S.
- C.S.R.F.
- Content-Type
- “Resource Linking”
- OAuth 2
- Roles et flows
- Registration
- Risques & Recommandations
- Substitution Attack
- JOSE
- JWK, JWS, JWE et JWT
- JWT, authentification, sessions et risque sécurité
- JWT : Recommandations
API Management
- Solutions d'API Management : fonctionnalités et intérêts
- API management dans le Cloud avec Apigee et On Premise avec Kong.
Gouvernance des API
- Gouvernance SOA et architecture Rest
- Organisation et référencement