Python - Développement : fondamentaux et bonnes pratiques
Version du programme : 2
Type de formation
DistancielDurée de formation
21 heures (3 jours)Python - Développement : fondamentaux et bonnes pratiques
Objectif de formation : Permettre aux participants de maîtriser les fondamentaux du langage Python, de structurer un code professionnel orienté objet, et d'appliquer les bonnes pratiques modernes de développement — gestion de l'environnement, tests, manipulation de données et consommation d'API — afin d'être immédiatement opérationnels sur des projets Python en entreprise. Un projet fil rouge est développé progressivement tout au long de la formation — de la configuration de l'environnement jusqu'au déploiement d'un script complet et testé — permettant à chaque participant de repartir avec une base de code professionnelle réutilisable.
Objectifs de la formation
- Configurer un environnement Python professionnel avec environnement virtuel
- Maîtriser la syntaxe Python moderne et ses spécificités par rapport aux autres langages
- Manipuler les structures de données fondamentales de Python
- Écrire des fonctions, modules et packages réutilisables
- Appliquer les principes de la programmation orientée objet en Python
- Gérer les fichiers, les exceptions et les entrées/sorties
- Consommer des API REST et manipuler des données JSON
- Tester son code avec pytest et appliquer les bonnes pratiques de qualité
- Utiliser l'écosystème Python moderne : pip, virtualenv, type hints, f-strings
Profil des bénéficiaires
- Développeurs souhaitant ajouter Python à leur stack technologique
- Ingénieurs et techniciens amenés à développer des scripts ou outils en Python
- Chefs de projet techniques souhaitant comprendre et évaluer du code Python
- Toute personne disposant d'une base en programmation souhaitant maîtriser Python
- Expérience dans au moins un langage de programmation (Java, C#, JavaScript, PHP ou équivalent)
- Notions de base en développement logiciel : fonctions, variables, structures de contrôle
- Aucune connaissance préalable de Python requise
Contenu de la formation
Module 1 — Environnement et premiers pas en Python (2h)
- Pourquoi Python en 2026 : positionnement, usages professionnels, écosystème
- Installation de Python et choix de l'IDE : VS Code, PyCharm — configuration optimale
- Environnements virtuels : venv, virtualenv — pourquoi c'est indispensable en entreprise
- Gestion des dépendances avec pip : installation, requirements.txt, bonnes pratiques
- Structure d'un projet Python professionnel : fichiers, dossiers, conventions PEP8
- La console Python interactive et le mode script : différences et usages
- Introduction aux outils de qualité : linters (flake8, ruff), formatters (black)
- Travaux pratiques : création de l'environnement virtuel du projet fil rouge, installation des dépendances, configuration de VS Code avec les extensions essentielles, premier script Python respectant PEP8
Module 2 — Syntaxe Python et structures de données (3h)
- Les spécificités de Python : indentation, typage dynamique, duck typing
- Types primitifs : int, float, str, bool — opérateurs et conversions
- Les f-strings : formatage moderne des chaînes de caractères
- Structures de contrôle : if/elif/else, boucles for/while, break/continue, pass
- Les structures de données fondamentales : Listes : création, indexation, slicing, méthodes, tri Tuples : immuabilité et cas d'usage Dictionnaires : accès, modification, itération, méthodes clés Sets : unicité, opérations ensemblistes
- Comprehensions : list, dict et set comprehensions — écrire du Python idiomatique
- Gestion des exceptions : try/except/else/finally, exceptions personnalisées
- Travaux pratiques : manipulation intensive des structures de données — tri, filtrage, transformation de jeux de données réels avec comprehensions ; écriture d'un parseur de données simple avec gestion des erreurs
Module 3 — Fonctions, modules et packages (3h)
- Définition de fonctions : def, arguments positionnels, arguments par défaut
- *args et **kwargs : fonctions à nombre d'arguments variables
- Fonctions lambda et fonctions d'ordre supérieur : map, filter, sorted avec key
- Générateurs et expressions génératrices : yield, efficacité mémoire
- Type hints : annoter ses fonctions pour un code plus lisible et maintenable
- Travaux pratiques : utilisations de variable en python, création & utilisations de tableaux
- Docstrings : documenter son code selon les conventions (Google style, NumPy style)
- Modules : créer, importer, organiser son code en fichiers séparés
- Packages : structurer un projet en packages avec __init__.py
- Modules de la bibliothèque standard incontournables : os, sys, pathlib, datetime, json, re
- Travaux pratiques : refactorisation du projet fil rouge en modules séparés — extraction des fonctions avec type hints et docstrings, création d'un package utilitaire réutilisable, utilisation de pathlib pour la gestion des fichiers
Module 4 — Programmation orientée objet en Python (3h)
- Pourquoi la POO ? Comparaison avec d'autres langages
- Classes et instances : création, attributs d'instance, attributs de classe
- Constructeur __init__ et le paramètre self
- Méthodes d'instance, méthodes de classe (classmethod) et méthodes statiques (staticmethod)
- Encapsulation : conventions de nommage , properties
- Héritage : simple et multiple, super(), résolution MRO
- Méthodes magiques (dunder methods) : __str__, __repr__, __eq__, __len__
- Dataclasses : simplifier la création de classes de données avec dataclass
- Protocoles et duck typing : écrire du code flexible sans héritage strict
- Travaux pratiques : conception et implémentation d'une hiérarchie de classes pour le projet fil rouge — création de classes métier avec dataclasses, héritage, méthodes magiques, properties ; mise en pratique du duck typing
Module 5 — Fichiers, données et API REST (4h)
- Lecture et écriture de fichiers texte : open, modes, encodage UTF-8, context manager (with)
- Manipulation de fichiers CSV : module csv, lecture/écriture, DictReader/DictWriter
- Sérialisation JSON : json.dumps, json.loads, lecture/écriture de fichiers JSON
- Manipulation de fichiers avec pathlib : lister, copier, déplacer, supprimer
- Introduction aux API REST : principes HTTP, verbes GET/POST/PUT/DELETE
- Consommer une API REST avec requests : installation, appels, gestion des réponses
- Authentification API : headers, tokens Bearer, clés API
- Traitement des données récupérées : désérialisation, filtrage, transformation
- Travaux pratiques : intégration d'une API REST publique dans le projet fil rouge — appel, traitement du JSON, sauvegarde des données en fichier CSV et JSON, gestion des erreurs réseau et des codes HTTP
Module 6 — Tests et qualité du code (3h)
- Pourquoi tester son code ? Les différents types de tests : unitaires, d'intégration
- pytest : installation, écriture de tests, conventions de nommage, lancement
- Assertions et messages d'erreur clairs
- Fixtures pytest : partager des données de test entre plusieurs tests
- Paramétrage des tests avec pytest.mark.parametrize
- Mocking avec unittest.mock : simuler des dépendances externes (API, fichiers)
- Couverture de code : pytest-cov, interpréter les résultats
- Bonnes pratiques : TDD, tests lisibles, tests maintenables
- Travaux pratiques : écriture d'une suite de tests complète pour le projet fil rouge — tests unitaires des fonctions métier, test d'une fonction qui appelle une API avec mock, rapport de couverture et identification des zones non couvertes
Module 7 — Bonnes pratiques et mise en production (3h)
- Logging professionnel : module logging, niveaux, handlers, formatters
- Variables d'environnement et configuration : python-dotenv, séparation config code
- Gestion avancée des exceptions : hiérarchie, exceptions personnalisées métier
- Packaging et distribution : pyproject.toml, build, publication sur PyPI (panorama)
- Git et Python : .gitignore, versionner un projet Python proprement
- Débogage avec pdb et les outils IDE : breakpoints, inspection de variables
- Introduction à l'asynchronisme : asyncio, async/await — cas d'usage et limites
- Présentation finale du projet fil rouge : démonstration, revue de code collective
- Travaux pratiques : finalisation du projet fil rouge — ajout du logging, gestion de la configuration via .env, revue de code collective avec corrections, présentation et démonstration de l'application complète
Équipe pédagogique
Suivi de l'exécution et évaluation des résultats
- Feuilles de présence.
- Questions orales ou écrites (QCM).
- Mises en situation.
- Formulaires d'évaluation de la formation.
- Certificat de réalisation de l’action de formation.
Ressources techniques et pédagogiques
- Espace intranet de formation.
- Documents supports de formation projetés.
- Exposés théoriques
- Etude de cas concrets
- Quiz en salle
- Mise à disposition en ligne de documents supports à la suite de la formation.