icon_python.png

Qualité des développements en Python

QUA1 day 2021

Objectives

Python est un langage puissant, orienté objet, convenant parfaitement à la majorité des travaux de développement d’applications et d’interfaces graphiques. Outre sa lisibilité et la simplicité de sa syntaxe, un des grands avantages de Python est de s’appuyer sur une bibliothèque standard extrêmement fournie et des bibliothèques annexes nombreuses et variées. Ainsi, Python est aujourd’hui un des langages de prédilection dans de nombreux domaines exigeants : interfaces utilisateur, calcul scientifique, analyse de données, apprentissage automatique, intelligence artificielle, bioinformatique, etc.
Cette formation d’une journée expose différentes bonnes pratiques et différents outils permettant de développer du code Python de qualité industrielle, notamment en abordant la documentation, le test et le typage. Un accent tout particulier est mis sur l’écriture de tests et l’automatisation des tests.


Audience

ingénieurs, chercheurs, techniciens


Prerequisites

Connaissances de base en Python et application pratique du langage, telles qu’elles sont acquises dans la formation Introduction à Python [PYT].


program

  • Déboguage de code Python avec pdb
  • Amélioration et standardisation du code grâce aux outils de formatage et d’analyse : tox, pep8, flake8, autopep8, black, pylint
  • Documentation du code : écritude de docstrings, utilisation de l’outil sphinx
  • Mise en place de tests unitaires avec le module unittest
  • Amélioration des tests : erreurs attendues, factorisation de la mise en place avec setUp et tearDown, sous-tests avec subTest
  • Calcul de la couverture de test avec l’outil coverage.py
  • Typage statique à la carte avec le module typing et l’outil mypy


Customization

Cette formation peut être adaptée afin de répondre au mieux à vos besoins. Logilab dispose aujourd’hui d’une palette très large de modules pédagogiques permettant la personnalisation de ses formations.
L’adaptation des cours en intra-entreprise ne pose aucun problème ; cette opération est cependant plus difficile pour les cours en inter-entreprises regroupant des participants provenant de divers organismes. N’hésitez pas à demander conseil à notre service dédié.


Terms

Langues

français, anglais

Pédagogie

La formation est partiellement active (classe inversée) ; chacun des participants effectue son propre parcours d’apprentissage sous la supervision et l’accompagnement du formateur. Chaque partie de la formation comprend généralement une première partie de présentation des notions faite par le formateur devant l’ensemble du groupe, puis une deuxième partie d’exercices applicatifs effectués individuellement par chaque participant. Au cours de cette deuxième partie, le formateur est régulièrement disponible pour aider, conseiller ou revenir sur des notions lacunaires. Il pourra être indiqué aux stagiaires quelques lectures à faire avant chaque première partie afin de préparer l’acquisition des notions.

Travaux pratiques

La formation comporte une large part de travaux pratiques permettant de mettre en œuvre immédiatement les concepts ayant été vus dans le cadre du cours. Les exercices sont réalisés sur une plateforme accessible via un navigateur Web récent. Ainsi, il n’est pas nécessaire d’installer Python et ses bibliothèques sur les postes des participants à la formation ; un accès à Internet est toutefois indispensable.
La plateforme d’exercices s’appuie sur les calepins (notebooks) Jupyter. Chaque exercice est décrit dans un calepin qui comprend l’énoncé, des tests automatiques permettant de vérifier que le code écrit répond bien au problème posé, et la possibilité d’afficher la solution.

Validation des acquis

Des travaux pratiques et des tests sont effectués tout au long de la formation. En fin de session, un contrôle permet de vérifier que les objectifs pédagogiques ont été atteints et que les nouvelles connaissances ont bien été acquises. Une attestation individuelle de formation est établie.

Lieu d'intervention

Cette formation peut être réalisée :
  • sur site, dans les locaux du client, pour un groupe de participants,
  • dans les locaux de Logilab à Paris ou à Toulouse,
  • en ligne en s’appuyant sur la plateforme d’exercices accessible via le navigateur et sur une solution de visioconférence également accessible via le navigateur.
Lorsque la formation a lieu en ligne, il est nécessaire que les participants disposent d’une connexion à Internet de bonne qualité.

Conditions d'accueil

Chaque participant dispose d’un compte individuel sur les outils numériques utilisés pour la formation et d’un exemplaire personnel du support de cours (format papier ou format PDF). Le participant continue à avoir accès à son compte indivduel pendant 2 mois après le dernier jour de formation.
Afin d’assurer un meilleur suivi des participants, l’effectif de la formation est limité à dix (10) personnes.

Formateurs

Tous les formateurs sont diplômés de l’enseignement supérieur (niveaux M ou D du processus de Bologne), et travaillent dans les équipes de R&D de Logilab où ils développent du logiciel et pratiquent au quotidien les techniques qu’ils enseignent.