🐍 Python – Créer un module métier pour gérer les participants | Modularité – Partie 4
CodeEnJava
0:00 / 0:00
🐍 Python – Créer un module métier pour gérer les participants | Modularité – Partie 4
29 просмотров · 6 дней назад
CodeEnJava
63 подписчика
29 просмотров · 6 дней назад
🐍 *Python – Créer un module métier pour gérer les participants | Modularité – Partie 4*
Dans cette nouvelle vidéo, nous poursuivons le développement de notre application **« Gestion des participants »**.
Après avoir travaillé sur les *fonctions**, les **modules* et l'organisation progressive de notre application, nous allons analyser le contenu de `main.py` afin d'identifier les responsabilités qui peuvent être extraites dans un nouveau module.
🎯 *L'objectif de cette séance est de créer un module dédié à la gestion des participants et de poursuivre la modularisation de notre application Python.*
🧩 Création du module `participants.py`
Nous allons créer un nouveau module :
```text
participants.py
```
Sa responsabilité est de regrouper progressivement les opérations métier réalisées sur les participants des différents groupes de formation.
Ce module permettra notamment de centraliser des fonctionnalités telles que :
➕ Ajouter un participant
➖ Supprimer un participant
🔎 Rechercher un participant
🤝 Identifier les participants communs à plusieurs groupes
L'objectif est de réduire progressivement les responsabilités du fichier `main.py` et de mieux répartir le code entre des modules spécialisés.
---
📌 Réorganisation des données
Nous faisons également évoluer le module `data.py`.
Nous allons notamment :
renommer la collection contenant les noms des groupes en `group_names` ;
améliorer la lisibilité et la cohérence du code ;
créer un dictionnaire `groups` permettant d'associer chaque nom de groupe à son ensemble de participants.
```python
groups = {
"python": python,
"java": java,
"web": web
}
```
---
⚙️ Amélioration du module `services.py`
Nous faisons évoluer les services liés à la gestion des groupes.
La fonction :
```text
group_set()
```
est renommée :
```text
create_group_dict()
```
Un nom plus explicite et plus cohérent avec la responsabilité de la fonction.
Nous travaillons également sur différentes fonctionnalités permettant de :
créer un dictionnaire des groupes ;
vérifier la validité des données ;
afficher les groupes disponibles ;
sélectionner un groupe.
---
➕ Ajouter un participant
Nous mettons ensuite en place une première fonctionnalité dans le nouveau module `participants.py`.
Pour améliorer l'organisation du code, nous séparons deux responsabilités.
🔹 La logique métier
```python
add_participant_aux()
```
Cette fonction réalise directement l'ajout d'un participant dans le groupe sélectionné.
🔹 L'interaction avec l'utilisateur
```python
add_participant()
```
Cette fonction :
demande le nom du participant ;
demande dans quel groupe l'ajouter ;
appelle la fonction responsable de l'ajout ;
gère le retour vers le menu principal.
Cette organisation permet de mieux distinguer :
👉 *l'interaction avec l'utilisateur*
👉 *la logique métier de l'application*
---
🔄 Simplifier progressivement `main.py`
Après la création du nouveau module, nous mettons à jour `main.py`.
L'objectif est de conserver dans ce fichier principalement la gestion générale de l'application :
affichage et navigation dans les menus ;
gestion du déroulement du programme ;
orientation vers les différentes fonctionnalités.
Par exemple, l'ajout d'un participant peut désormais être délégué simplement au module spécialisé :
```python
add_participant()
```
---
🧠 Une étape importante vers une application modulaire
Progressivement, notre application évolue vers une architecture organisée autour de plusieurs modules :
```text
data.py
→ Données de l'application
reader.py
→ Saisie des informations utilisateur
services.py
→ Services liés aux groupes
participants.py
→ Logique métier liée aux participants
main.py
→ Point d'entrée et orchestration de l'application
```
Cette organisation permet d'obtenir un code :
✅ plus lisible
✅ mieux organisé
✅ plus facile à maintenir
✅ plus facile à faire évoluer
✅ plus simple à tester
🎓 *Cette vidéo s'inscrit dans notre progression pédagogique consacrée à Python, aux fonctions, aux modules et à la modularité d'une application.*
Nous partons progressivement d'un programme regroupant de nombreuses responsabilités dans `main.py` pour évoluer vers une application composée de modules spécialisés.
🐍 *Python | Fonctions | Modules | Modularité | Architecture | Séparation des responsabilités | Logique métier | Ensembles | Dictionnaires*
💻 Retrouvez les projets et ressources associés sur mon GitHub :
👉https://github.com/CodeEnJava/2026-se...
#Python #Programmation #ApprendrePython #FormationPython #FonctionsPython #ModulesPython #Modularité #ArchitectureLogicielle #CodeEnJava