* L'objectif de cette formation est de compléter vos connaissances du langage Python et de certaines de ses librairies.
Détails de la formation
Méthodes et outils pédagogiques
Nombre de stagiaires limité pour plus de proximité et de meilleurs échanges
Un poste de travail par stagiaire équipé selon les besoins de la formation
Alternance apports théoriques, exercices et échanges
Objectifs de la formation
Au terme de cette formation vous saurez :
Manipuler divers formats de fichiers
Communiquer sur le réseau
Comprendre l'architecture de Services Web RESTful/JSON
Déployer et consommer des Services Web RESTful/JSON
Manipuler le concept de réflexion Python
Mieux structurer vos programmes Python en y injectant divers "Design Patterns"
Exploiter la puissance d'une programmation multi-threads
Avoir une stratégie d'intégration continue pour vos développements Python
Méthodes d'évaluation
Evaluation formative par le biais de mises en situation nécessitant la participation active du stagiaire et délivrance d’une attestation de fin de formation remise à chaque stagiaire
Les plus
Grande expérience terrain du formateur qui permet d'échanger sur son retour d'expérience et d'illustrer les propos d'exemples réels
Pré-requis
Afin de suivre cette formation, les participants devront déjà connaître le langage de programmation Python.
Modalités d'enseignement
En présentiel
En distanciel
Public cible
Tous publics
Programme
1
Rappels sur la gestion des Input/Output
- Le module IO
- Gestion des fichiers CSV
- Les formats JSON / XML
- Production de fichiers au format XLSX avec le module XlsxWriter
2
La gestion du réseau
- Rappels sur les protocoles réseau TCP/IP et UDP
- Mise en œuvre d'un serveur TCP/IP
- Mise en œuvre d'un client TCP/IP
3
Les Web Services REST/JSON
- Présentation de l'architecture REST/JSON
- Présentation du framework Flask
- Mise en oeuvre de Web Services
- Coder un client Python de Web Services
4
Utilisation de la réflexion en Python
- Qu'est ce que la réflexion Python
- Utilisation de l'API de réflexion en Python
- Contrôle des accès aux propriétés
5
Utilisation de design patterns (patrons de conception) en Python
- Qu'est-ce qu'un design pattern ?
- Mise en oeuvre du design pattern Singleton
- Les patterns de création (Creational Pattern)
- Les patterns structuraux (Structural Design Pattern)
- Les patterns comportementaux (Behavorial Patterns)
6
La programmation parallèle en Python
- Concepts généraux
- Processus vs Threads
- Architectures multicoeurs
- Mise en oeuvre d'une application multi-threads.
- Gestion de la synchronisation
- IO asynchrone avec le module asyncio
7
Intégration Python - C/C++ - Java
- Mise en œuvre et utilisation de fonctions natives C
- Intégration de code C via Swig
- Intégration Python / Java
8
Le TDD (Test Driven Development)
- Mise en œuvre d'une batterie de tests en Python
- Gestion de la couverture de code via le module Coverage
- Mise en œuvre d'un processus d'intégration continue en Python
- Utilisation de Jenkins pour piloter votre intégration continue