Python | Perfectionnement Mixte : présentiel / à distance

DerniĂšre mise Ă  jour : 16/10/2025

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

 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

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.

Accessibilité à nos formations

Si vous ĂȘtes en situation de handicap, contactez-nous avant le dĂ©but de votre formation pour que nous puissions vous orienter efficacement et vous accueillir dans les meilleures conditions.

Inscription possible jusqu'à 10 jours avant le démarrage de la formation

Prochaines Sessions

  • Cette formation n'est pas programmĂ©e pour le moment.

    Contactez-nous pour planifier une session ensemble !

Dans la mĂȘme catĂ©gorie