Formation perfectionnement à la programmation en Python
Résumé de la formation
- Type de diplôme: Stage court
- Domaines de compétences: Informatique et Sciences du numérique
Présentation
Présentation
Le langage Python
Python est un langage de programmation interprété simple et puissant.
Il est l'un des langages de programmation les plus intéressants du moment qui vous permet d'écrire des scripts simples mais aussi, grâce à ses nombreuses bibliothèques, de travailler sur des projets très ambitieux.
Facile à apprendre, il permet d'écrire du code concis et lisible. Il est maintenant utilisé lors de l'apprentissage de la programmation, en particulier au niveau BAC+1 et BAC+2. Les experts affirment qu’il est jusqu'à 5 fois plus concis que le langage Java ce qui augmente la productivité du développeur.
Cependant, pour bien tirer parti de Python et de ses bibliothèques, il est nécessaire d'avoir une bonne compréhension du langage et des outils associés (environnement de développement, tests, etc.)
Objectifs
Apprendre la programmation avancée en langage Python
- Aborder les aspects avancés de l'environnement Python et les outils qu'il propose, cela afin d'intégrer les applications du SI d'une entreprise, et en améliorer ainsi son efficacité.
- Utiliser python pour intégrer les différentes briques existantes d'un système.
Un exemple fil rouge sera utilisé pour illustrer et mettre en pratique les différents concepts et outils présentés.
Parcours de formation composé de :
- Apprendre le langage Python - Initiation
- Apprendre le langage Python - Perfectionnement
Méthodes pédagogiques
Cour et programmation
Contrôle des connaissances
Évaluation d'un programme
Programme
Contenu de la formation
Jour 1
1.1 Déploiement d’application en python (conda, setup.py)
1.2 Création d’un squelette d’application complète
1.3 Mise en place d'un serveur web avec flask
1.4 Sérialisation de données
Jour 2
2.1 Architecture d'entreprise avec rabbitmq
2.2 Gestion du workflow de publication
2.3 Applications multiprocessus : tour des différentes solutions en python
Jour 3
3.1 Visualisation de données
3.2 Profiling et optimisation
3.3 Interface avec d'autres langages
════════
1.1 Déploiement d’application en python
• Écriture d’un setup.py de déploiement d’une application et d’une bibliothèque
• Comparaison pip vs conda
• Mode développement vs mode production
1.2 Création d’un squelette d’application complète
• Script de déploiement
• Mise en place d’une base de données
• Manipulation de la base de données à l’aide d’un ORM
• Application :
◦ Base de données articles/auteurs
◦ Packaging de l’application avec conda
◦ Gestion d’une table article, une table auteur, et la table de jointure
1.3 Mise en place d'un serveur web avec flask
- Utilisation des décorateurs avec flask. Défintion d’API avec swagger.
- Application: rendre disponible par une API REST la base de données articles/auteurs
- exemple d'utilisation des décorateurs python.
1.4 Sérialisation de données
• Format json
• Protobuff
• Exemples avec pytest
2.1 Architecture d'entreprise avec rabbitmq
- Présentation RabbitMQ
- Échanges d'information et messagerie
2.2 Gestion du workflow de publication
• Gestion de jobs
• Workflow sur soumission/acceptation article
• Relecture continue
2.3 Applications multiprocessus : tour des différentes solutions en python
• Illustration sur la consommation en parallèle de plusieurs jobs rabbitmq
3.1 Visualisation de données
• Utilisation des bibliothèques scientifiques numpy et pandas
• Tracé de courbes et autre représentations 2D
• Application : statistiques sur les productions d’articles
3.2 Profiling et optimisation
• Production d'index automatique, profiling
• Application: générer la liste par article des mots les plus employés
3.3 Interface avec d'autres langages
• Utiliser une bibliothèque C dans un programme python
• Application: génération de pdf
Responsable de la formation :
Xavier CREGUT
Pierre GAMBAROTTO
Guillaume BATY
Admission
Condition d'accès
Public concerné :
- Développeur ou personne maitrisant la programmation de base en langage Python
- Salariés, indépendants ou demandeurs d'emploi
Prérequis
- Bonnes notions de base en programmation Python
- Au besoin avoir suivi la formation Apprendre le langage Python - Initiation
- La maitrise d'un autre langage de programmation (Java, PHP, C, C++) est conseillée
Contact(s)
Lieu(x) de la formation
- Toulouse