Formation Développement d’applications Python

Concevez, testez, optimisez et déployez des applications Python robustes et performantes dans un environnement de production.

Formation Développement d’applications Python

Description

Cette formation Développement d’applications Python vous permettra de passer d’une utilisation classique du langage à la conception d’applications Python robustes, performantes et prêtes pour la production.

Pendant 4 jours, vous apprendrez à :

  • Concevoir des applications Python robustes et maintenables en maîtrisant les fonctionnalités avancées du langage et les bonnes pratiques de développement
  • Structurer, tester et packager vos projets Python comme de véritables applications professionnelles, prêtes à être distribuées et maintenues dans la durée
  • Optimiser, déployer et exploiter des applications Python performantes en utilisant les outils modernes de l’écosystème Python

Public

Cette formation s’adresse aux développeur·se·s Python souhaitant améliorer la qualité, la performance et la maintenabilité de leurs applications.

Campus Atlas

Cette formation est éligible au dispositif Campus Atlas. Il permet aux entreprises relevant de l'OPCO Atlas de suivre des formations sélectionnées à tarifs négociés, avec une prise en charge pouvant aller jusqu'à 100% selon votre branche et votre situation. Ce dispositif s'adresse aux entreprises cotisantes/adhérentes à Atlas et à leurs salarié·e·s.
Voir la page Campus Atlas de la formation

Les objectifs

  • Utiliser les fonctionnalités avancées du langage Python (decorators, context managers, métaprogrammation)
  • Structurer et packager une application Python distribuable
  • Mettre en place des tests automatisés et des outils de qualité de code
  • Mesurer et optimiser les performances d’une application Python
  • Implémenter des stratégies de parallélisation et d’asynchronisme
  • Déployer et superviser une application Python en production

Pré-requis

  • Maîtriser les bases du langage Python : structures de données, fonctions et modules
  • Comprendre les principes de la programmation orientée objet
  • Avoir déjà développé des scripts ou petites applications Python
  • Ordinateur portable à apporter

Le programme de la formation Développement d’applications Python

Jour 1 : Techniques de programmation avancées

  • Les types avancés de Python
    • La notation Grand O et le choix des structures de données selon leur complexité algorithmique.
    • Les types avancés de Python (heapq, collections, …).
    • Les annotations de types.
  • Les spécificités du langage
    • L'héritage, la mro, les metaclasses, les descripteurs, et les classes de données.
    • Les décorateurs, et les gestionnaires de contexte with.
    • Les bibliothèques functools, et contextlib.
    • La journalisation avec le module logging.

Mises en pratique :

  • Exécution d'algorithmes basés sur des types, techniques et bibliothèques Python avancés

Jour 2 : Ce qui fait une bibliothèque, ou un programme, de qualité

  • Tester pour garantir la qualité
    • Présentation du TDD
    • Tests : utilisation de bibliothèques comme pytest et hypothesis
    • Qualité : utilisation d’outils de contrôle comme , mypy, pylint, black, bandit,, isort, ruff, coverage, tox, …
  • Packager et distribuer
    • Créer et installer des paquets Python avec les outils standards.
    • Publier sur le dépôt PyPI (Python Package Index).

Mises en pratique :

  • Architecture de projet : création de packages Python

Jour 3 : Optimisation des applications Python

  • Améliorer les performances
    • Utilisation des patrons de conception
    • Analyse des performances.
    • Exploration des compilateurs comme cython, pypy, numba et pythran, mypyc, …
  • Paralléliser le code Python
    • Multithreading et le verrou global de l'interpréteur
    • Multiprocessing et primitives de synchronisation
      • mutex
      • sémaphores
      • événements
    • Code asynchrone et coroutines avec asyncio

Mises en pratique :

  • Mesure et amélioration de la performance de modules existants

Jour 4 : Industrialisation, déploiement et écosystème Python

  • Observer, diagnostiquer et monitorer une application Python
    • Monitoring applicatif : métriques applicatives, health checks
    • Introduction au tracing et à l’observabilité
  • Déployer et exploiter des applications Python
    • Bonnes pratiques de configuration en production
    • Conteneurisation d’une application Python
    • Intégration dans une chaîne CI/CD
  • Bibliothèques et frameworks métiers de l’écosystème Python
    • Data science & machine learning
    • Développement web, API et sécurité
    • Automatisation & outillage

Mises en pratiques :

  • déployer une application Python existante en production

Télécharger le programme

Formateurs

Julien PALARD

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.

Etienne SANCHEZ

Data scientist depuis 8 ans, Etienne travaille principalement avec les langages R et python. Il délivre son expertise à des clients variés, allant de la PME au grand groupe.

Auparavant professeur dans le secondaire, il a gardé un goût certain pour l'enseignement, et donne régulièrement des formations en école et en entreprise.

Yoan MOLLARD

Yoan réalise du conseil en systèmes d'information autour de l'écosystème Python, sur de nombreux domaines métiers allant du web à la mécatronique.

Yves DUPRAT

Yves est développeur Python freelance depuis 15 ans. Son activité professionnelle Python se répartit à part égale, entre du développement et de la transmission de savoir aussi bien en écoles d'ingénieur qu'en formation auprès des entreprises. Il intervient aussi sur des sessions de formation en C, C++ et SQL.

Ses principales missions Python en développement concernent soit de l'écriture de script backoffice, soit des missions d'audit en vue de refactoring et/ou d'optimisation de code.

Yves est aussi créateur et organisateur du meetup Python de Lille (Lille.py)

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 1810 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 : 224 formations au catalogue, de quoi vous accompagner sur tout vos projets
  • Écosystème dynamique : Nous accompagnons les dev depuis 14 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

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012