L’environnement

Python est un langage clair, intuitif, massivement répandu, et devenu incontournable dans le traitement de données, l’ingénierie scientifique ou le développement logiciel.

Objectifs pédagogiques

À l’issue de la formation, le·la stagiaire sera capable de :

  • Développer et organiser son projet Python
  • Connaître les bonnes pratiques
  • Packager son code Python
  • Gérer le versioning avec Git

Public concerné

Technicien·ne·s, ingénieur·e·s, développeur·se·s, scientifiques, enseignant·e·s ou toutes personnes s’intéressant au développement d’application avec Python.

Prérequis

Connaître les bases du langage de programmation Python ou avoir suivi les formations « Python Débutant » et « Python Programmation Orientée Objet ».

Un questionnaire de pré-formation est proposé pour valider l’adéquation entre le besoin et la formation

Programme de la formation

DEMARRER SON PROJET ET INTRODUCTION À LA GESTION DE VERSION AVEC GIT

Premiers pas avec Git

  • Configurer Git
  • Un premier dépôt Git
  • Git workflow
  • Effectuer ses premiers commits
  • Les bonnes pratiques pour des bons commits
  • Afficher les modifications
  • Explorer un commit
  • Annuler un add et un commit
  • Aller plus loin dans l’affichage des modifications
  • Ignorer des fichiers

Explorer et travailler avec l’historique

  • Afficher et filtrer l’historique
  • Explorer un commit
  • Les différences entre commits
  • Afficher les contributeurs au projet
  • Trouver l’auteur qui a écrit certaines lignes
  • Se placer dans un état précédent
  • Récupérer des fichiers supprimés
  • Trouver des bugs
  • Taguer des commits

Créer un environnement virtuel

  • Différents outils pour gérer les environnements virtuels
  • Créer un environnement virtuel avec venv
  • Créer un environnement virtuel avec uv

Organiser son code

  • Bien nommer ses variables
  • L’importance des commentaires
  • La Docstring
  • Le style de la Docstring
  • Les modules et la méthode import
  • Les packages

BONNES PRATIQUES DE PROGRAMMATION

PEP 8

  • Présentation de la PEP 8
  • Les outils pour vérifier le style du code
  • Les formateurs de code
  • Expressions idiomatiques en Python

Annotation de type

  • Pourquoi faire de l’annotation de type en Python ?
  • Comment faire de l’annotation de type en Python ?
  • Que change l’annotation de type lors de l’exécution ?
  • Utiliser mypy depuis la ligne de commande

Pydantic

  • A quel problème répond Pydantic ?
  • Définir un modèle
  • Associer le modèle à la signature de vos fonctions

Principes de programmation pour un code propre et maintenable

  • Ne pas se répéter (DRY)
  • Ne pas complexifier (KISS)
  • Construire une architecture propre (SOLID)
  • Éviter les erreurs (STUPID)
  • Les outils pour vérifier la sécurité et la qualité du code

Design patterns pour une architecture solide

  • Pourquoi utiliser des patrons de conception ?
  • Patrons de création
  • Patrons structurés
  • Patrons comportementaux
  • Patrons : particularités en Python

CREER, STRUCTURER ET PACKAGER SON PROJET PYTHON

Construire et déployer un projet Python

  • La numérotation des versions
  • Les tests unitaires
  • Mesurer la couverture de test
  • La documentation
  • Packaging et déploiement
  • Qu’est-ce que le CI / CD ?
  • Créer un exécutable