Python | Programmation Objet Mixte : présentiel / à distance

Dernière mise à jour : 25/11/2025

Pré-inscription

Ajouter au panier

Présentation

Cette formation de cinq jours conduit les développeurs à maîtriser Python orienté objet : création de classes, héritage, organisation en modules/paquets et manipulation avancée de fichiers ou d’APIs Web. Elle aborde également la conception d’interfaces graphiques légères, l’assurance-qualité (tests unitaires, couverture, lint) et le packaging moderne avec génération de documentation et CI/CD.

Un volet « IA » illustre comment un LLM peut suggérer des tests tout en respectant la confidentialité du code. Chaque journée se conclut par un atelier pratique adaptable pour ancrer immédiatement les notions vues.

Objectifs

A l'issue de la formation, le stagiaire sera capable d'utiliser les principales fonctionnalités du langage de programmation Python pour développer des applications multiplateformes.

  • Comprendre les bases du langage Python et son écosystème
  • Acquérir les principes de la programmation objet
  • Comprendre et utiliser les fonctions et modules
  • Concevoir des interfaces graphiques
  • Utiliser les outils de test et d'évaluation de la qualité d'un programme Python

Public visé

Développeurs, ingénieurs, chefs de projets proches du développement

Prérequis

Avoir des connaissances de base en programmation (souhaitable en langage objet).

Programme

visuel

Jour 1 – Découvrir le langage Python

Objectifs du jour

  • Écrire et exécuter un premier script
  • Manipuler les types de base
  • Gérer proprement les erreurs

 

Le monde Python

  • Rôle de l'interpréteur et différence script / module
  • Installation Python et création d'un environnement virtuel
  • Convention PEP 8 : pourquoi appliquer un style homogène

 

Types & séquences

  • Nombres, chaînes, listes, tuples : quand choisir l'un ou l'autre
  • Immuable vs mutable : impact sur la mémoire et les performances
  • Slicing : extraire rapidement des sous-listes ou sous-chaînes

 

Structures de contrôle

  • Brancher la logique avec if / elif / else
  • Répéter des actions via « for » et « while »
  • Compréhensions de liste : filtrer ou transformer en une seule ligne

 

Gestion d'exceptions

  • Bloc try / except / finally comme « air-bag » de sécurité
  • Afficher un message d'erreur clair plutôt qu'une trace illisible

 

Introduction à datetime

 

Atelier pratique

  • Transformer un CSV en JSON via la ligne de commande, avec gestion d'erreurs si le fichier ou l'encodage est incorrect.

 

Jour 2 – Passer à la programmation orientée Objet

Objectifs du jour

  • Créer des classes réutilisables
  • Appliquer héritage et encapsulation
  • Structurer un projet en paquets importables

 

Classes & objets

  • Initialiser les attributs
  • Attributs publics, protégés, privés : règles de nommage
  • Propriétés pour contrôler l'accès en lecture/écriture
  • Exceptions personnalisées

 

Héritage & polymorphisme

  • Composition vs héritage
  • Partager du code commun via super()
  • Surcharge de méthodes pour un comportement spécialisé
  • Duck typing (souplesse Python)
  • ABC : définir un contrat formel d'interface

 

Modules & paquets

  • Organiser les fichiers dans des dossiers
  • Imports relatifs pour éviter les chemins absolus volumineux
  • Lancer un paquet en mode exécutable

 

Patterns simples

  • Factory, Singleton à la mode Python

 

Gestion des dépendances

  • Installer une bibliothèque dans le bon environnement
  • Geler les versions dans « requirements.txt » pour la reproductibilité

 

Atelier pratique

  • Modélisation d'un petit domaine (au choix) avec rappel UML de base
  • Créer la hiérarchie de classes
  • Sérialiser un objet en JSON puis le reconstituer depuis ce fichier.

 

Jour 3 – Fonctions avancées, fichiers & Web

Objectifs

  • Exploiter fonctions de première classe
  • Lire / écrire des données locales
  • Interroger une API Web

 

Fonctions « citoyens de première classe »

  • Passer une fonction en paramètre (tri personnalisé, callbacks)
  • Lambda & closure : écrire des fonctions anonymes d'une ligne
  • Décorateurs simples : ajouter journalisation ou chronométrage

 

Entrées / sorties & sérialisation

  • Chemins multiplateformes avec pathlib
  • Lire / écrire des fichiers texte et binaires (JSON, CSV)
  • Précaution de sécurité

 

Accès Web simplifié

  • Envoyer une requête GET pour récupérer un JSON public
  • Utiliser requests.session pour réutiliser une connexion sur plusieurs appels
  • Gérer le délai maximal (timeout) et les erreurs réseau
  • Décoder la réponse et transformer en objets Python

 

Atelier pratique

  • Lire un CSV
  • Convertir chaque ligne en objet Python
  • Exporter en JSON et chronométrer l'opération via un décorateur.

 

Jour 4 – Interface utilisateur et assurance-qualité

Objectifs du jour

  • Créer une interface graphique simple
  • Mettre en place tests unitaires + couverture
  • Découvrir l'apport d'un LLM pour générer des tests

 

Interface graphique (Tkinter / PySimpleGUI)

  • Boucle d'évènements : « j'attends un clic et je réagis »
  • Positionner les widgets avec grilles ou boîtes flexibles
  • Séparer la logique (contrôleur) de l'affichage (vue)
  • Alternatives : streamlit, textual, PyWebIO

 

Tests & lint

  • Créer une « check-list automatique »
  • Mesurer ce qui n'est pas couvert avec coverage
  • Maintenir un style uniforme grâce au linter flake8 / ruff

 

IA légère pour les tests

  • Générer un squelette de test via outil LLM
  • Vérifier manuellement, corriger et compléter
  • Mention RGPD / confidentialité & responsabilité de relecture

 

Atelier pratique

  • Exemple d'exercice Mini-calculatrice GUI
  • Construire la fenêtre et ses boutons
  • Demander à l'IA un test d'addition, puis l'étendre pour gérer un cas d'erreur (division par zéro, champ vide)

 

Jour 5 – Packaging, documentation et CI/CD

Objectifs du jour

  • Créer un package installable
  • Générer documentation HTML
  • Mettre en place une chaîne CI simple

 

Packaging moderne

  • Déclarer nom, version, auteurs et dépendances
  • Construire un fichier installable partout
  • Différencier dépendances d'exécution et de développement

 

Documentation & typage

  • Rédiger des docstrings format Google ou NumPy
  • Générer un site HTML en quelques commandes
  • Ajouter des annotations typing et détecter les incohérences avec mypy

 

Intégration continue (CI/CD)

  • Créer un workflow GitHub / GitLab : lint ➔ tests ➔ build package
  • Recevoir un retour immédiat pour éviter les régressions
  • Publier le package sur un registre interne ou PyPI privé

 

Atelier pratique

  • Mettre en production locale
  • Puis ajouter un pyproject.toml
  • Générer la doc Sphinx, puis compléter un pipeline CI YAML (squelette fourni) pour lancer lint et les tests automatiquement
  • Auditer une fonction Python : détection mauvaise pratique

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 → 20/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
    20/11/26 : 9:00 → 12:30
    14:00 → 17:30

Prochaines Sessions

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

Dans la même catégorie