Description
Cette formation Python Perfectionnement — Clean Code & Qualité logicielle vous permettra d’écrire du code Python professionnel, lisible et durable.
À la fin de cette formation, vous maîtriserez les conventions, protocoles et outils qui garantissent la qualité d’un projet Python moderne : typage statique, linting, tests, refactoring et packaging.
Pendant 2 jours, vous apprendrez à :
- appliquer les principes du clean code et les bonnes pratiques idiomatiques de Python,
 
- améliorer la lisibilité, la maintenabilité et la testabilité de votre code,
 
- intégrer les principaux outils de qualité (ruff, mypy, bandit, black, tox, pytest…),
 
- détecter les code smells, mesurer la couverture et prévenir les régressions,
 
- structurer et packager proprement un projet Python.
 
Vous consoliderez vos acquis grâce à des exercices et challenges pratiques (tests à faire passer, refactoring d’un mini-projet, mise en place d’un environnement qualité complet).
Public
Cette formation s'adresse aux développeur·se·s Python souhaitant franchir un cap vers l’excellence technique.
 
Les objectifs
- Améliorer la lisibilité et la maintenabilité du code Python
 
- Appliquer les principes du clean code, les bonnes pratiques idiomatiques et intégrer des outils de qualité (linting, typage, sécurité, formatage)
 
- Mettre en place des tests unitaires et TDD avec pytest
 
- Automatiser les contrôles de qualité avec tox et pre-commit
 
- Analyser et corriger les code smells et les failles potentielles
 
- Identifier les causes courantes de lenteur liées à la structure ou la lisibilité du code
 
 
Pré-requis
- Avoir pratiqué Python pendant au moins un an avoir suivi la formation Python Avancé
 
- Avoir une connaissance solide de la programmation (être capable de résoudre des exercices de type 
is_anagram aisément) 
- Apporter un ordinateur portable avec un interpréteur Python à jour
 
- Ordinateur portable à apporter
 
 
Le programme de la formation Python Perfectionnement — Clean Code & Qualité logicielle
Jour 1 : Écrire un code Python propre, lisible et maintenable
- 
Rappels autour de Python
- Tout est objet
 
- Tout a des attributs
 
- Les noms
 
- Duck typing
 
- Les venvs
 
 
- 
Les classes
- La syntaxe
 
- Pourquoi utiliser des classes
 
- L'héritage
 
- super() !
 
 
- 
Les syntaxes pour améliorer la lisibilité
- La notation en compréhension
 
- Les gestionnaires de contexte
 
- Les décorateurs
 
- L'opérateur morse
 
- Les exceptions
 
 
Mise en pratique
- Implémentation d'algorithmes simples (nombres premiers, anagrammes, travailler sur des ensembles, …)
 
- Challenge TDD : tests fournis, faire passer le plus de tests en temps limité
 
Jour 2 : Contrôler, tester et automatiser la qualité de son code Python
- 
Bonnes pratiques
- Garder son interface évolutive
 
- pyproject.toml
 
- git pre-commit
 
- Activer PYTHONDEVMODE
 
- Les styles EAFP, LBYL
 
- Le defensive programming
 
 
- 
Les outils
- Repérer les code smells avec pylint ou ruff
 
- L'annotation de type avec mypy
 
- Chercher les failles de sécurité avec bandit
 
- Organiser les imports avec isort
 
- Vérifier la véracité des docstrings avec doctest
 
- Garantir le style du code avec black
 
- Identifier du code innutilisé avec vulture
 
- Utiliser ces outils dans des notebooks Jupyter
 
- Réunir tous ces outils avec tox
 
- Rafraîchir du code ancien avec pyupgrade
 
 
- 
Tester
- Rédiger des tests unitaires avec pytest
 
- assert
 
- Les cas d'usage du Test Driven Development
 
- L'injection de dépendances
 
- monkeypatch et autres fixtures de pytest
 
- S'assurer que tout est testé avec coverage
 
- Rédiger des hypothèses sur ses fonctions avec hypothesis
 
 
Mise en pratique
- Implémentation d'algorithmes simples (récursivité, rendus de monnaie, mots de Dyck, ...)
 
- Transformation d'une des implémentation en projet complet, packagé et testé
 
Télécharger le programme
 
Formateur
Julien Palard est un consultant expert Python passionné et pédagogue, investi dans de nombreux projets de logiciels libres (tels que sphinx-lint, pipe ou logtop).
En parallèle de ses activités professionnelles, Julien est également actif en tant que formateur et mentor, partageant généreusement ses connaissances et son expérience avec la communauté. Il cumule plus de 1350 heures de formation.
Passionné par la promotion du logiciel libre et de l'open source, Julien a :
* coordonné la traduction de Python en français,
* co-créé le projet d'enseignement libre et open-source hackinscience.org, 
* été le mainteneur de plusieurs projets Python et C.
En dehors de son engagement professionnel et de ses projets open-source, Julien s'est également impliqué dans la communauté en tant que co-organisateur de la PyConFR depuis 2019 et en tant que membre du comité directeur de l'Association Francophone Python (AFPy) de 2020 à 2022.
 
 
 
 
FAQ
Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié 
Qualiopi, ce qui permet la prise en charge par des organismes comme 
Pôle emploi, votre OPCO ou encore le 
CPF (Compte Personnel de Formation) pour certaines formations.
Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?
 
 
 
 
Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
 
 
 
 
Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.
Voici une journée type :
- 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
 
- 9h30 : la formation commence
 
- 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
 
- 14h : reprise de la formation
 
- 18h : fin de la journée
 
 
 
 
 
 
 
8 raisons de participer à une formation Human Coders
- Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1752 sessions réalisées). 99% des participants se disent satisfaits de nos formations
 
- Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
 
- Catalogue de formations complet : 196 formations au catalogue, de quoi vous accompagner sur tout vos projets
 
- Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
 
- Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
 
- Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
 
- Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
 
- Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux