Développer des Webservices

Python, développer des Web Services REST

Objectifs de la formation

  • Appréhender les principes des web services REST
  • Manipuler des données JSON
  • Développer des APIs REST avec Django REST Framework
  • Sécuriser des services Web


Programme de la formation

Les rappels Python

  • Les variable & les typages.
  • Comprendre les collections avec les listes, tuples et dictionnaires.
  • La portée des variables et les références.
  • Optimisez vos fonctions avec les paramètres nommés.
  • Les rappels des classes en Python.

Travaux pratiques

Création d'une classe Python et instanciation d'objet.

Les fondamentaux des Web Services

  • Le rôle des Web Services et leur utilisation.
  • Les architectures n-tiers.
  • Qu'est-ce qu'un Web Service ? Objectif, principe.
  • Comparatif entre SOAP et REST.
  • Le rôle de XML et JSON.

Travaux pratiques

Exemples d'applications, comment invoquer un Web Service ?

Création d'une API RESTful

  • Composants et librairies pour faciliter la mise en place de l'API.
  • Démarche générale.
  • Création du système de routing.
  • Définir le format d'échange.
  • Mise en place de middlewares.

API REST avec Django Rest framework

  • Présentation Django REST Framework et installation.
  • Les vues basées sur des classes.
  • Les vues génériques.
  • Les sérialiseurs.
  • L'ajout d'une App : Django Debug Toolbar.
  • L'optimisation des accès aux données.

Travaux pratiques

Création d'une première API simple avec Django REST Framework.

Sécurisation du serveur

  • Authentification et permissions d'accès.
  • Authentification globale ou authentification par vue.
  • Mise en place des JSON Web Tokens avec Simple JWT.

Travaux pratiques

Gestion des authentifications et des permissions d'accès.

Déploiement des webservices REST sur un serveur Linux

  • Gunicorn, exemple de serveur WSGI en pur Python pour Unix.
  • Consommation par des frameworks frontend utilisant AJAX (Angular, React, Vue).
  • Protection contre les CSRF (Cross Site Request Forgery).
  • En-têtes CORS (Cross-Origin Resource Sharing).

Please login to get access to the quiz
ESB, Intégration et orchestration de services (Prev Lesson)
(Next Lesson) Réaliser une architecture microservices en Python
Back to Développer des Webservices
Public

Développeurs, ingénieurs, chefs de projets proches du développement.

Pré-requis

Bonne connaissance du Web, expérience requise en programmation en Python.