Introduction et présentation de REST
- Ce qu'est REST ... et ce que ce n'est pas
- L'écosystème moderne
- H.A.T.E.O.A.S., liaison de ressources et web sémantique
- Les contraintes des web services REST
- Le modèle de maturité de Richardson
- Ressources, méthodes et représentation
Concevoir, développer et tester des web services REST
- Concevoir l'API avec JSON Server et JSON Generator
- Tester l'API avec cURL et Postman
- Documenter ses APIs avec OpenAPI et Swagger
- Les librairies utiles dans les différents langages
Les principes, conventions et bonnes pratiques
- Les conventions
- Les différentes approches de versioning
- Tips, tricks et bonnes pratiques de conception et de développement Les “standards” ou presque
- Un modèle "philosophique"
- Avantages et inconvénients
Vulnérabilités et rappels sur la sécurité
- Les grands principes de la sécurité informatique
- Les principales menaces : l'OWASP Top 10
- Canonicalisation, évasion et assainissement
- Données d'injection ou empoisonnement du cache ReDoS
Authentification et permissions
- Sécurité de l'authentification
- Authentification stateful et stateless
- Le CORS et CSRF
- Autorisation et gestion des permissions
- Les différents niveaux de granularité des mécanismes de gestion de permissions
- Contrôle d'accès basé sur les rôles, contrôle d'accès basé sur les ressources
- Authentification basée sur OAuth2
- Authentification basée sur JSON Web Tokens (JWT)