Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Reconnaître et mettre en oeuvre le "protocole" REST
- Décrire la représentation JSON
- Implémenter REST dans les architectures les plus communes
- Implémenter un serveur et un client REST en Java, C# ou PHP (au choix).
Prérequis
Avoir une connaissance des fondamentaux de Java, C# ou PHP.
Public concerné
Développeurs, architectes et chefs de projets techniques.
Programme
Jour 1
Introduction aux services Web
- Utilité d'un Web Service
- Réutilisation : la granularité
- Phases de conception : contrat, conventions, couplage
- Notion de ROA (Resource Oriented Architecture)
- Choix des structures de données échangées : JSON versus XML
Exemples de travaux pratiques (à titre indicatif)
- Analyse d'une problématique
- Identification des ressources
Présentation de JSON
- Structure typique d'un flux JSON
- Schéma JSON : concepts de base
- Les méta-schémas pour définir les schémas JSON
- Les schémas standards
- Bibliothèques de validation de schémas JSON
Exemples de travaux pratiques (à titre indicatif)
- Etude d'un flux JSON
- Validation d'un flux JSON
Concepts de l'architecture REST
- Historique de REST
- Définition d'une ressource
- Qu'est-ce qu'un URI ?
- Qu'implique REST ?
- Différences entre REST et RESTFul
- Quel rôle joue JSON dans REST ?
Exemples de travaux pratiques (à titre indicatif)
- Appel de diverses ressources REST
- Etude des envois et retours de données
Jour 2
REST ou exploiter HTTP
- Rappels sur HTTP
- Les opérations et paramètres
- Les codes retours
- Les types de verbes
- Format des données échangées
- Mise en oeuvre de HATEOAS
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre de divers appels REST
- Création d'un serveur REST
- Création d'un client REST
RESTful fonctionnalités avancées
- HATEOAS, version la plus évoluée de RESTFul
- Le partage des ressources cross-origin (CORS)
- Mise en cache
- Sécuriser un service REST
Exemple de travaux pratiques (à titre indicatif)
- Mise en oeuvre d'un service REST exploitant HATEOAS
Implémentation de REST
- REST client et serveur
- En Java
- En .NET et .NET CORE
- Conception d'API REST à partir de Swagger
Exemples de travaux pratiques (à titre indicatif)
- Créations guidées de serveurs et clients REST
- Définition d'une API REST avec Swagger, mise en oeuvre de l'API REST
Sécurisation d'API REST
- Rappels sur la sécurisation d'un site Web
- Authentifier
- CORS et CSRF
- Gestion des permissions, basées sur les rôles et les ressources
- Authentification à l'aide de OAuth2 et OpenID Connect
- Sécuriser avec JWT
Exemples de travaux pratiques (à titre indicatif)
- Présentation d'une architecture REST sécurisée, étude du code
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
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
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.