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).