Page 156 - CATALOGUE AGINIUS 2020
P. 156
IT - Big Data - Cybersécurité IT - Big Data - Cybersécurité
Créer un site web REST Utilisation du Framework DJANGO DOCKER MAVEN
avec Python et Flask
3 jours 3 jours 4 jours 2 jours
Objectifs Ref. 4-PY-RPF Objectifs Ref. 4-PY-DJA Objectifs Ref. 4-IT-DOCK Objectifs Ref. 4-IT-MAV
• Maitriser le développement d’un site Web moderne avec le framework • Présenter le framework de développement Web Django • Comprendre le principe de Docker Savoir mettre en œuvre la solution ainsi • Structurer un projet autour de Maven
Flask • Par défaut, l’IDE utilisé sera Eclipse/PyDev que les produits de l’écosystème • Gérer les dépendances et les repositories
Public • La formation sera agrémentée d’un grand nombre de travaux pratiques • Être en mesure de déployer des images tout en intégrant les contraintes de • Comprendre les concepts de base de la gestion des versions et des
apports de la décentralisation
permettant de développer une application web relativement riche
production
• Développeurs, chefs de projets proches du développement Public Public Public
Prérequis • Développeurs et utilisateur du langage Python • Administrateurs, chefs de projet et toute personne souhaitant mettre en • Futurs Consultants DevOps
• Maîtriser l’algorithmique et les bases du Web Prérequis œuvre Docker pour déployer ses applications Prérequis
Moyens pédagogiques • Les concepts de bases de programmation orientée objets en Pyton sont Prérequis • Avoir des connaissances DevOps
requis pour suivre cette formation • Connaissances de base d’un système Linux/Unix et de la programmation
• Alternance entre apports théoriques et exercices pratiques • Expérience souhaitable de l’utilisation d’un de ces systèmes Moyens pédagogiques
• Support de cours fourni lors de la formation Moyens pédagogiques Moyens pédagogiques
• Alternance entre apports théoriques et exercices pratiques • Alternance entre apports théoriques et exercices pratiques
• Support de cours fourni lors de la formation
• Support de cours fourni lors de la formation • Alternance entre apports théoriques et exercices pratiques
• Support de cours fourni lors de la formation
Programme Programme Programme Programme
1. Introduction à Python 1. Concepts généraux 1. Introduction 1. Présentation
• Les bases de Python • Le modèle MVT (Model/View/Template) et ses principes • Présentation docker, principe, fonctionnalités • Installation de Maven Au-delà d’un simple outil de build. Le monde Maven :
• Les listes • Rappels HTML/CSS • Besoins : packaging d’applications, déploiement rapides, coexistence de gestionnaire de sources, tests automatisés, documentation...
• Les tuples • Utilisation de l’IDE Eclipse/PyDev plusieurs versions d’une application sur un même serveur • Mise en place d’un premier projet Maven
• Les dictionnaires 2. Démarrage d’un site Django 2. Principe et architecture • Le POM (Project Object Model).
• Les modules et packages • Création d’un serveur de développement • Les conteneurs lxc. • Repository local et repository distant.
• L’orienté objet • Création d’un site web Django • Présentation de lxc : Linux containers, historique, principe de fonctionne- • Qu’est-ce qu’un plug-in Maven ?
• L’héritage • Déploiement des principaux modules Django (sécurité, admin, ...) ment • Qu’est-ce qu’un goal ?
• Le module abc • Configuration de la base de données • Les Cgroups • Structure standard d’un projet Maven. Contrôle du cycle de vie : installa-
• Le module math 3. Mise en œuvre du modèle de données • L’isolation de ressources, création d’un environnement utilisateur tion, compilation, déploiement...
• Les expressions lambda • Positionnement par rapport aux autres solutions de virtualisation • Notions d’archétype, groupe, artefact, version, assemblies.
• Map, reduce et filter • Présentation de l’ORM Django • Les systèmes de fichiers superposés • Découpage d’un projet en modules.
• Les listes en intention • Editer un modèle de données • Présentation de aufs • Héritage entre fichiers POM ; le super-POM.
• Le module CSV • Gestion des références • Apports de Docker : Docker Engine pour créer et gérer des conteneurs 2. Les dépendances
• Les modules DB-API 2 • Gestion de l’héritage Dockers • Notion de dépendance et de dépendance transitive.
• La surcharge des opérateurs • Produire le code SQL pour le stockage en base de données Accès aux • Plates-formes supportées • Déclaration des dépendances dans le POM.
données via les querysets
2. Python Package Installer • Synchroniser la base de données • L’écosystème Docker: Docker Machine, Docker Compose, Kitematic, Doc- • Comment résoudre un conflit de dépendances ?
• Utilisation de PIP 4. Mise en œuvre des Vues ker Swarm, Docker Registry 3. Les repositories
• Installation de package PIP PyPi 3. Gestion des images et des conteneurs • Limites du repository par défaut.
3. SqlAlchemy • Mise en œuvre des vues utilisateurs • Utilisation de DockerFile pour créer de images personnalisées : principales • Déclaration de plusieurs repositories.
• Vues génériques
• Outils pour les bases de données SQL • Vues personnalisés instructions (RUN, FROM, ENV, EXPOSE, etc ...) • Gestion de priorités.
• ORM • Configuration des URLs • Recommandations et bonnes pratiques d’écriture de DockerFile • Outils de gestion de repository (Nexus, Artifactory...)
• Accès à l’ORM • Gestion des formulaires • Gestion des conteneurs : création, affichage, sauvegarde de l’état
• Ecriture • File upload • Présentation du Docker Hub
• Lazy Loading • Protections contre les attaques XSS et XSRF • Publication d’images vers un registry
• Le design pattern Entity • Protection contre les attaques par injections SQL 4. Volumes de données
• Le design pattern Repository 5. Les templates • Initialisation des volumes de données lors de la création d’un container
4. Flask • Introduction à l’utilisation de templates • Ajout de volumes de données, contrôle avec la commande Docker inspect
• Introduction • Gestions des thèmes • Sauvegarde, migration, restauration de volumes
• Installation • Considérations relatives au SEO • Création de conteneurs de volumes de données
• Le design pattern Service Créer une route 6. Les web services 5. Administration
• Les services REST • Applications multi-conteneurs avec Compose
• La sérialisation JSON • Qu’est-ce qu’un Web Service ? • Méthodes d’administration de conteneurs en production
• Créer des services GET, POST, PUT et DELETE • SOAP vs Rest • Orchestration avec Docker Machine
5. Le moteur de template • Mise en oeuvre d’un service • Présentation de Swarm pour le clustering
• Intégration avec AJAX
• Qu’est qu’un template Jinja 7. Aspects avancés • Configuration réseau et sécurité dans Docker
• Le design pattern MVC
• Le design pattern MVVM • Authentification et sécurité
• Créer un contrôleur • Gestion de l’internationalisation
• La sécurité • Les tests unitaires
6. Python Yield • Autres aspects de la console d’administration
• La programmation efficace en Python
• Le générateur et itérateur Le Yield return
• Le Yield avec Db-API 2
154 FORMATIONS 2020 FORMATIONS 2020 155