Python | Perfectionnement Mixte : présentiel / à distance

Dernière mise à jour : 25/11/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

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

  • 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.
  • Équilibre 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

Session sélectionnée

  • 16/11/26 9:00 → 19/11/26 17:30 12 places restantes
  • Détails :

    16/11/26 : 9:00 → 12:30
    14:00 → 17:30
    17/11/26 : 9:00 → 12:30
    14:00 → 17:30
    18/11/26 : 9:00 → 12:30
    14:00 → 17:30
    19/11/26 : 9:00 → 12:30
    14:00 → 17:30

Prochaines Sessions

  • 20/01/26 9:00 → 23/01/26 17:30 Présentiel / à distance 12 places restantes
  • 16/03/26 9:00 → 19/03/26 17:30 Présentiel / à distance 12 places restantes
  • 19/05/26 9:00 → 22/05/26 17:30 Présentiel / à distance 12 places restantes
  • 06/07/26 9:00 → 09/07/26 17:30 Présentiel / à distance 12 places restantes
  • 14/09/26 9:00 → 17/09/26 17:30 Présentiel / à distance 12 places restantes

Dans la même catégorie