Problème — Organiser un projet collaboratif
Application directe du cours · niveau 1 (application) · NSI (terminale), chapitre 10 — Modularité, mise au point et tests
Énoncé
Problème — Organiser un projet collaboratif.
Une équipe de trois élèves développe un jeu en Python. Décrire une organisation modulaire du projet et le flux de travail Git permettant à chacun de contribuer sans écraser le travail des autres.
Corrigé
Organisation modulaire des fichiers :
moteur.py: logique du jeu (règles, état de la partie).affichage.py: fonctions d'affichage à l'écran.entrees.py: lecture et validation des saisies du joueur.tests.py: tests unitaires de toutes les fonctions.main.py: point d'entrée qui importe les modules et lance la partie.README: description du projet et instructions.
Flux de travail Git :
# Chaque eleve recupere le depot
# git clone https://...
# Avant de coder, on cree une branche dediee
# git checkout -b ajout-affichage
# Apres modifications, on enregistre
# git add affichage.py
# git commit -m "Ajout de l'affichage du plateau"
# On synchronise avec le depot distant
# git pull origin main # recuperer le travail des autres
# git push origin ajout-affichage
# Sur GitHub/GitLab : ouvrir une "pull request" pour
# fusionner ajout-affichage dans main apres relecture.
Bonnes pratiques associées :
- Chaque fonctionnalité est développée sur sa propre branche, puis fusionnée après relecture.
- Les tests de
tests.pysont exécutés avant chaque fusion pour éviter les régressions. - Les messages de commit sont clairs et décrivent l'intention.
- Les conflits de fusion sont résolus en concertation.
Cette organisation combine modularité (fichiers indépendants), tests (non-régression) et versionnage (collaboration sûre) : les trois piliers d'un projet logiciel fiable.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.