Formation Python, Perfectionnement du code Mixte : présentiel / à distance

DerniĂšre mise Ă  jour : 24/09/2026

Pré-inscription

Ajouter au panier

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

Disposer de bonnes connaissances en développement Python

Programme

visuel

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
    • Éviter 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

  • Alternance d'apports thĂ©oriques et de mises en pratique contextualisĂ©es.
  • Progression pĂ©dagogique structurĂ©e, de la comprĂ©hension Ă  la mise en Ɠuvre opĂ©rationnelle.
  • PĂ©dagogie immersive favorisant une mise en application immĂ©diate des compĂ©tences.
  • Formation interactive et participative s'appuyant sur des ateliers pratiques, Ă©tudes de cas et Ă©changes collectifs (+ 60 % du temps de formation.)
  • SĂ©quences pĂ©dagogiques rythmĂ©es et Ă©valuations formatives rĂ©guliĂšres pour renforcer l'ancrage des apprentissages.
  • Supports de cours, ressources documentaires et rĂ©fĂ©rences mis Ă  disposition par le formateur

Modalités d'évaluation et de suivi

En amont de la formation (évaluation en ligne dans l'extranet apprenant)

  • Recueil des besoins et des attentes des participants.
  • Auto-positionnement permettant d'Ă©valuer le niveau initial des apprenants.

 

Tout au long de la formation

  • Évaluations continues rĂ©alisĂ©es par le formateur Ă  travers des questions orales, exercices, QCM, Ă©tudes de cas et mises en situation pratiques.

À l'issue de la formation (Ă©valuations en ligne dans l'extranet apprenant)

  • Auto-positionnement afin de mesurer l'acquisition des compĂ©tences visĂ©es.
  • Validation de l'acquisition des compĂ©tences par le formateur
  • Questionnaire de satisfaction « Ă  chaud » Ă  l'issue de la formation
  • Questionnaire de satisfaction "Ă  froid", 45 jours aprĂšs la formation afin d'Ă©valuer l'ancrage des acquis et leur mise en application en situation professionnelle.

Informations sur l'admission

Nous consulter.

Modalités d'admission

  • Admission sans disposition particuliĂšre

Accessibilité

Nos formations peuvent ĂȘtre adaptĂ©es Ă  certaines conditions de handicap. Nous contacter pour toute information et demande spĂ©cifique.

Session sélectionnée

  • COMPLÈTE

Prochaines Sessions

  • 16/11/26 9:00 → 19/11/26 17:30 PrĂ©sentiel / Ă  distance 12 places restantes