Public visé
Développeurs Web Front-end et Back-end, architectes.
Prérequis
- Connaissances HTTP ainsi que des connaissances en développement web : JavaScript/HTML
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Utiliser les outils de conception au déploiement et supervision des APIs
- Comprendre les menaces pesant sur les API
- Identifier les vulnérabilités fréquentes
- Détecter et protéger les points faibles d’une API
- Appliquer les bonnes pratiques de conception, développement et architecture REST
Programme
Introduction aux APIs ReST
- Architectures n-tiers, applications et APIs
- Différences entre API REST et API SOA
- H.A.T.E.O.A.S., gestion des ressources et liens hypermedia
- TP : Conception d’une API flexible, scalable, résiliente et performante
Bonnes Pratiques
- Conventions et bonnes pratiques
- Techniques et stratégies de versioning
- Approches de conception et développement
- TP : Définition et conception d’une API ReST
La Boîte à Outils
- API Mock, OpenAPI, Swagger, Postman, Insomnia
- Environnements de test (JSON Generator, JSON Server)
- TP : Spécification avec Swagger, implémentation et test
Rappels sur la Sécurité
- Principes fondamentaux, menaces, impacts
- Farming, throttling, BFA, IA
- Injections (XSS, BSI, XSRF, RFI, XPi)
- Exposition de données, désérialisation, composants vulnérables
- OWASP TOP 10, Pentesting, Restler-Fuzzer
- TP : Solutions de sécurisation
Authentification et Autorisation
- Sécurité authentification, logging système
- CORS, CSRF, canonicalization, escaping, sanitization
- Permissions (Role-Based vs Resource-based access)
- OAuth2 et OpenID Connect
- TP : Recherche et exploitation de vulnérabilités
Middleware et JWT
- Cryptographie, principes JWT
- Risques et vulnérabilités
- TP : Challenge sur API non sécurisée
Tests d’API
- 10 domaines de tests, avantages et limites
- API testable by design, durcissement
- Conformité, réduction des coûts
- TP : Tests avec Postman, scénarios Data Driven, Newman CLI
API Management
- Solutions d’API Management, Gravitee
- Access management, design, deployment, observability
- TP : Déploiement via solution API Management