Skip to content

Créer des modules et packages Python réutilisables

📦 Créer des modules et packages Python réutilisables

Section titled “📦 Créer des modules et packages Python réutilisables”

🧠 Théorie : pourquoi créer des modules et packages ?

Section titled “🧠 Théorie : pourquoi créer des modules et packages ?”
  • Modules : fichiers .py contenant du code réutilisable (fonctions, classes, variables).
  • Packages : dossiers contenant plusieurs modules, avec un fichier __init__.py pour les regrouper.

  • Python a introduit les modules dès ses premières versions pour organiser le code.
  • Les packages sont apparus pour structurer des projets plus grands.
  • Aujourd’hui, la distribution se fait via PyPI et l’utilisation de fichiers comme pyproject.toml.

⚖️ Différence entre module et package

Section titled “⚖️ Différence entre module et package”
AspectModulePackage
DéfinitionFichier .pyDossier contenant plusieurs modules
Exemplemath.pymypackage/ avec __init__.py
Importimport mathimport mypackage.module

  1. Crée un fichier utilitaires.py :
utilitaires.py
def saluer(nom):
return f"Bonjour, {nom} !"
def addition(a, b):
return a + b
  1. Utilise-le dans un autre script :
import utilitaires
print(utilitaires.saluer("Riyad"))
print(utilitaires.addition(3, 5))

  1. Structure du projet :
mon_package/
│── __init__.py
│── calculs.py
│── affichage.py
  1. Contenu des fichiers :
calculs.py
def addition(a, b):
return a + b
# affichage.py
def saluer(nom):
print(f"Bonjour, {nom} !")
  1. Importer le package :
import mon_package.calculs as calc
import mon_package.affichage as aff
print(calc.addition(2, 3))
aff.saluer("Riyad")

[project]
name = "mon_package"
version = "0.1.0"
description = "Un package de démonstration"
authors = [{ name = "Riyad", email = "riyad@example.com" }]
dependencies = []
Terminal window
pip install .
Terminal window
pip install build twine
python -m build
twine upload dist/*

Cette évaluation rapide (3 minutes) va vous permettre de vérifier votre compréhension du sujet traité dans ce guide.

Instructions :

  • 🕒 Temps limité : 3 minutes
  • 🎯 Seuil de réussite : 80%
  • 💡 Les réponses seront expliquées à la fin

À vous de jouer ! 🚀



Exercice 1 : Créer un module

Énoncé :
Créez un fichier math_utils.py avec une fonction carre(n) qui retourne le carré d’un nombre.
Testez-le dans un script séparé.

Solution :

math_utils.py
def carre(n):
return n * n
# test.py
import math_utils
print(math_utils.carre(5))

Résultat attendu :

25

Exercice 2 : Créer un package

Énoncé :
Créez un package outils avec deux modules :

  • texte.py → fonction compter_mots(phrase)
  • nombre.py → fonction est_pair(n)

Solution :

outils/texte.py
def compter_mots(phrase):
return len(phrase.split())
# outils/nombre.py
def est_pair(n):
return n % 2 == 0
# test.py
import outils.texte as txt
import outils.nombre as nb
print(txt.compter_mots("Bonjour Riyad"))
print(nb.est_pair(4))

Résultat attendu :

2
True

Exercice 3 : Distribution

Énoncé :
Ajoutez un fichier pyproject.toml à votre package et installez-le localement avec pip install ..

Solution :

[project]
name = "outils"
version = "0.1.0"
description = "Package d'exemple"
authors = [{ name = "Riyad", email = "riyad@example.com" }]
dependencies = []
Terminal window
pip install .

Résultat attendu : Le package est installé et utilisable avec import outils.


  • Modules = fichiers .py réutilisables.
  • Packages = dossiers regroupant plusieurs modules.
  • Réutilisabilité = meilleure organisation, partage et maintenance.
  • Distribution = via PyPI avec pyproject.toml.

👉 En clair : organise ton code en modules et packages pour le rendre réutilisable et partageable.



À propos de l'auteur

Riyad ODJOUADEExpert en cybersécurité & infrastructure

Je partage des guides techniques pratiques sur la cybersécurité, l'administration système et le développement web. Tous les contenus sont basés sur des expérimentations réelles.