Objectifs pédagogiques
- Décrire les bonnes pratiques de conception, de développement et d'architecture des API REST
- Concevoir, déployer et superviser des API
- Identifier les menaces auxquelles s'exposent vos API
- Distinguer les vulnérabilités les plus fréquentes
- Repérer les points faibles d'une API puis la protéger.
Niveau requis
Avoir des connaissances sur HTTP ainsi qu'une bonne culture Web. Avoir quelques connaissances en développement Web (JavaScript / HTML) serait un plus.
Public concerné
Développeurs Web Front End et Back End, architectes, chefs de projets techniques.
Programme
Jour 1
Introduction
- Evolution des applications
- Le concept d'une API
- REST vs SOAP
- Les grands principes des Web Services
- AJAX
- Requêter vers une API
Conventions et bonnes pratiques
- Système de versioning (Git)
- Les conventions d'API
- Bonnes pratiques de développement
Design Patterns
Exemple de travaux pratiques (à titre indicatif)
- Création d'une API météo
Jour 2
Les outils
- OpenAPI
- Swagger
- Postman
- Sandboxing
- JSON Generator / JSON Server
Exemple de travaux pratiques (à titre indicatif)
- Création, testing et implémentation d'une API
La sécurité Web appliquée aux API
- Les menaces
- Les grands principes de la sécurité informatique
- Les différentes injections
- Authentification
- Exposition de données sensibles
- XXE (XML External Entity)
- Sécurisation des accès
- Mauvaise configuration de sécurité
- XSS (Cross-Site Scripting)
- Désérialisation non sécurisée
- Composants vulnérables
- Logging et monitoring
Jour 3
Authentification et autorisation
- Système de logging
- Authentification avec OAuth2
- Sécurité côté serveur
- CORS (Cross-Origin Resource Sharing)
- Anti-CSRF (Cross-Site Request Forgery)
- Gestion des permissions
- Gestion des rôles
Middleware et JWT (JSON Web Token)
- Rappels sur la cryptographie
- Principes JWT
- Risques et vulnérabilités intrinsèques
Exemple de travaux pratiques (à titre indicatif)
- Challenge sur une API non sécurisée
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)