Aller au contenu
M02 · D. Déployer la solution Python

Déployer et documenter une solution Python

Organiser un programme pour qu'il soit installable, gérer ses dépendances, créer un exécutable et rédiger sa documentation.

1Situer

Le programme de gestion des notes est prêt et testé. Le formateur veut l'utiliser sur l'ordinateur de la salle des professeurs, qui n'a jamais vu Python. Il faut livrer une solution qui s'installe et se lance simplement, avec une notice claire.

2Comprendre

Du code au programme installé
notes.py le code testé venv environnement isolé pip install les bibliothèques pyinstaller --onefile notes.py dist/notes.exe un seul fichier Poste formateur double-clic, ça marche

Point de départ : notes.py, un programme qui fonctionne et qui a été testé.

1 / 6

Déployer, c’est rendre un programme utilisable ailleurs que sur l’ordinateur du développeur. Trois questions à régler : comment l’organiser, comment l’installer, comment l’expliquer.

Organiser le programme

  • Une fonction main() qui lance le programme, et le test if __name__ == "__main__": pour qu’il puisse aussi être importé.
  • Des docstrings (texte entre triples guillemets) en tête du fichier et de chaque fonction : elles alimentent help().
  • Un numéro de version.

Gérer les dépendances

ÉtapeCommande
Créer un environnement isolépython -m venv .venv
L’activer (Windows).venv\Scripts\activate
Installer une bibliothèquepip install pandas
Figer la liste des dépendancespip freeze > requirements.txt
Tout réinstaller ailleurspip install -r requirements.txt

Créer un exécutable

Pour un poste sans Python, PyInstaller crée un fichier .exe :

pip install pyinstaller
pyinstaller --onefile notes.py

L’exécutable se trouve dans le dossier dist.

Documenter

Un fichier README.md explique à quoi sert le programme, comment l’installer, comment l’utiliser, avec un exemple. C’est souvent la première chose que lit un client ou un recruteur.

Exemple simple

Livrer un plat, pas la cuisine

Le client reçoit le plat prêt avec le mode d'emploi, pas vos casseroles. Déployer, c'est pareil : on livre un programme propre, documenté, qui démarre d'une seule commande.

Exemple simple

Le point d'entrée main

On regroupe le démarrage du programme dans une fonction main. Ainsi le fichier peut être lancé directement ou importé par un autre sans tout exécuter.

def main():
    print("Programme lancé")

if __name__ == "__main__":
    main()

3Manipuler

Ce programme est organisé comme un vrai projet : une fonction main, une docstring et le test __name__. Exécutez-le, puis lisez la documentation qu'il affiche avec help().
Pas à pas dans le lab ↗Python se charge au premier clic (environ 12 Mo, une seule fois).
Console

4Pratiquer

Exercice 1 · Le fichier requirements.txt

Votre programme utilise les bibliothèques externes pandas et openpyxl. Écrivez le fichier requirements.txt et la commande qui installe tout sur un nouveau poste.

Voir le corrigé
# requirements.txt
pandas
openpyxl

# sur le nouveau poste, dans le dossier du projet :
python -m venv .venv
.venv\Scripts\activate        (Windows)
pip install -r requirements.txt

Exercice 2 · La notice d'utilisation

Rédigez les rubriques du fichier README.md qui accompagne votre programme.

Voir le corrigé
# Gestion des notes
## À quoi sert le programme
## Installation (prérequis, commandes)
## Utilisation (exemple de commande et de résultat)
## Format du fichier d'entrée (colonnes du CSV)
## Auteur et version

5Vérifier

1. À quoi sert un environnement virtuel (venv) ?
2. Que permet le test if __name__ == "__main__": ?
3. Quel outil transforme un programme Python en exécutable Windows (.exe) ?