Python | Perfectionnement Mixte : présentiel / à distance
DerniĂšre mise Ă jour : 16/10/2025
Pré-inscription
Présentation
En quatre jours, cette session âPython perfectionnementâ consolide les bases et ouvre lâaccĂšs aux techniques expertes : fonctions avancĂ©es, conception objet poussĂ©e, optimisation et exĂ©cution parallĂšle, puis industrialisation (packaging, CI/CD).Â
Chaque journĂ©e se conclut par un atelier modulable afin de mettre immĂ©diatement en pratique les notions Ă©tudiĂ©es.Â
Â
Objectifs
A l'issue de la formation, le stagiaire sera capable d'utiliser Python pour développer des applications plus performantes et optimisées.
- Approfondir la connaissance des concepts avancés de Python
- Utiliser les techniques avancées du langage Python
- Optimiser les performances de vos programmes à l'aide du monitoring et du parallélisme
- Packager et déployer ses artefacts Python
- Exploiter des librairies contribuant au succÚs du langage (data science & machine Learning, cybersécurité, développement web, logiciels et outils..
Public visé
Ingénieurs et développeurs
Â
Prérequis
Programme
 Jour 1 â MaĂźtriser les fonctionnalitĂ©s avancĂ©es du langage
Objectifs du jour :
- Produire et consommer des données « au fil de l'eau » sans surcharge mémoire
- Ajouter un journal, un cache ou un chronomĂštre sans toucher au cĆur du code
- Sécuriser l'ouverture / fermeture des ressources externes
- Remplacer de longues cascades de conditions par des blocs lisibles
Contenu :
- Fonctions productrices (générateurs) :
- Livrer les résultats un à un plutÎt qu'en bloc
- ChaĂźner plusieurs producteurs pour un pipeline efficace
- Fonctions « habillage » :
- Envelopper une fonction pour tracer, mettre en cache ou minuter
- Passer des paramÚtres d'habillage pour différents contextes
- Gestionnaires de contexte :
- Bloc « avec⊠» qui ouvre puis referme toujours fichier, connexion ou verrou
- Correspondance de motifs :
- Lire et maintenir plus facilement les grandes branches conditionnelles
- Atelier pratique :
- Créer une mini-bibliothÚque « journal + chronomÚtre » et l'appliquer à un script.
Â
Jour 2 â Conception objet avancĂ©e & qualitĂ©
Objectifs :
- Imposer un contrat d'interface commun à plusieurs développements
- Réutiliser un comportement ciblé sans multiplier les niveaux d'héritage
- Générer automatiquement des classes ou registres de plugins
- Couvrir le code par des tests complets et lisibles
Contenu :
- Classes abstraites :
- Imposer un contrat d'interface avec abc.ABC
- Obliger les sous-classes à implémenter les méthodes clés
- Mixins et réutilisation ciblée :
- Injecter un horodatage, un identifiant unique⊠sans hiérarchie profonde
- Patterns de conception simple :
- Singleton via décorateur ou variable de module
- Factory via fonctions ou classes
- Composition vs Héritage : encapsuler une instance ou hériter ?
- Plugins : Construire un registre de plugins chargé à l'exécution
- Tests avancés :
- Doubles d'objets,
- Mesure de couverture
- Tests génératifs (property-based)
- Visualisation UMLÂ
- Atelier pratique :
- Refactoriser une hiérarchie existante, ajouter le contrat, puis écrire les tests couvrant 90 % du code
Â
Jour 3 -performance, concurrence et optimisation
Objectifs du jour :
- Localiser les goulots d'étranglement d'un programme Python
- Accélérer un calcul ou un traitement d'entrées/sorties lourdes
- Choisir entre parallĂ©lisme (multi-cĆur) et exĂ©cution asynchrone
- Quantifier le gain obtenu aprĂšs optimisation
Contenu :
- Profilage visuel :
- Graphiques CPU/mémoire pour hiérarchiser les priorités d'optimisation
- Optimisations de structure :
- Sélectionner la collection la plus rapide
- Eviter les conversions répétées
- Utiliser pathlib pour la lisibilité et la portabilité
- Exécution parallÚle :
- RĂ©partir les tĂąches sur plusieurs cĆurs ou processus selon la charge
- Exécution non bloquante :
- Boucle d'évÚnements qui continue pendant les attentes réseau ou disque
- RĂ©utilisation des connexions avec requests.sessionÂ
- Atelier pratique :
- Mesurer puis accélérer l'analyse d'un gros fichier ; comparer le gain entre multi-processus et approche asynchrone
Â
Jour 4 â Packaging, documentation & dĂ©ploiement continu
Objectifs du jour :
- Distribuer un projet Python sous forme de paquet installable partout
- Produire une documentation HTML Ă jour depuis le code
- Automatiser contrĂŽle de style, tests et publication via CI/CD
- Conteneuriser une appli Python dans une image légÚre
Contenu :
- Fichier de configuration unique :
- Centraliser nom, version, auteurs, dépendances (exécution vs développement)
- Générer un wheel installable sur tout poste
- Documentation automatisée :
- Extraire les commentaires pour créer un site HTML consultable
- Maintenir la doc à jour grùce aux vérifications CI
- Typage statique léger :
- Annotations pour détecter les incohérences avant exécution
- IA & sécurité logiciel
- Génération automatique d'un squelette de test unitaire ou de script CI avec un assistant LLM
- Risques et bonnes pratiques (RGPD)
- ChaĂźne CI/CD de base :
- Ă chaque dĂ©pĂŽt : contrĂŽle de style â tests â construction â publication
- Conteneurisation avec une image Python « slim » prĂȘte Ă dĂ©ployer
- Usage pytest, ruff, tox/nox
- Atelier pratique :
- Transformer le module développé en paquet
- Générer la doc puis configurer un pipeline CI minimal qui lance linter et les tests automatiquement.
Modalités pédagogiques
Docaposte Institute propose plusieurs dispositifs pédagogiques adaptés aux apprenants :
- Formation en présentiel
- En groupe (inter-entreprises ou intra-entreprise)
- En individuel (monitorat)
- En journée ou en cours du soir (sur demande spécifique)
- Formation en distanciel
- Distanciel synchrone
- Distanciel asynchrone
Moyens et supports pédagogiques
- Apports des connaissances communes.
- Mises en situation sur le thÚme de la formation et des cas concrets.
- Méthodologie d'apprentissage attractive, interactive et participative.
- Equilibre théorie / pratique : 60 % / 40 %.
- Supports de cours fournis au format papier et/ou numérique.
- Ressources documentaires en ligne et références mises à disposition par le formateur.
- Pour les formations en présentiel dans les locaux mis à disposition, les apprenants sont accueillis dans une salle de cours équipée d'un réseau Wi-Fi, d'un tableau blanc ou paperboard. Un ordinateur avec les logiciels appropriés est mis à disposition (le cas échéant).
Modalités d'évaluation et de suivi
En amont de la formation :
- Recueil des besoins des apprenants afin de disposer des informations essentielles au bon déroulé de la formation (profil, niveau, attentes particuliÚres...).
- Auto-positionnement des apprenants afin de mesurer le niveau de départ.
Â
Tout au long de la formation :Â
- Ăvaluation continue des acquis avec des questions orales, des exercices, des QCM, des cas pratiques ou mises en situation...
Â
A la fin de la formation :Â
- Auto-positionnement des apprenants afin de mesurer l'acquisition des compétences.
- Evaluation par le formateur des compétences acquises par les apprenants.
- Questionnaire de satisfaction à chaud afin de recueillir la satisfaction des apprenants à l'issue de la formation.
- Questionnaire de satisfaction à froid afin d'évaluer les apports ancrés de la formation et leurs mises en application au quotidien.
Informations sur l'admission
Modalités d'admission
- Admission sans disposition particuliĂšre