Le projet tourne parfaitement sur la machine de Nour
Exercice supplémentaire · niveau 3 (difficile) · NSI (première), chapitre 11 — Conduire un projet · Ce qui coûte cher
Énoncé
Le projet tourne parfaitement sur la machine de Nour. Sur celle du professeur, il s'arrête immédiatement. Le groupe répond : « pourtant ça marche chez nous ».
- Citer quatre causes possibles, de la plus fréquente à la plus rare.
- Comment trancher entre elles, sans deviner ?
- Que fallait-il écrire dans le projet pour que la question ne se pose pas ?
Corrigé
1. Quatre causes, dans l'ordre où on les rencontre :
- un fichier manquant — un jeu de données, une image, un module que Nour a chez elle et qui n'a jamais été copié dans le dossier partagé ;
- un chemin écrit en dur :
open("/Users/nour/projet/questions.csv")n'existe que chez Nour. Un chemin relatif au dossier du programme aurait fonctionné partout ; - une bibliothèque installée d'un côté seulement — l'
importéchoue ; - une version de Python différente : une construction récente qui n'existe pas dans la version du professeur.
2. On ne devine pas : on lit le message d'erreur, qui désigne la cause dans les quatre cas.
| Message | Cause |
|---|---|
| `FileNotFoundError: ...` | fichier manquant, ou chemin en dur |
| `ModuleNotFoundError: no module named ...` | bibliothèque absente |
| `SyntaxError` sur une ligne correcte | version de Python trop ancienne |
Le vrai test, ensuite, est de reproduire l'échec ailleurs : copier le dossier partagé — et rien d'autre — sur une machine du lycée, et lancer. Si cela marche, le problème est chez le professeur ; si cela échoue, il manquait quelque chose au dossier, et l'on sait quoi.
3. Le README, rubrique par rubrique : la version de Python exigée, les bibliothèques nécessaires, la commande de lancement, les fichiers de données et l'endroit où ils doivent être. Et dans le code, aucun chemin absolu.
Le principe général : « ça marche chez nous » n'est pas une défense, c'est le symptôme — il signale que le projet dépend de quelque chose qui n'a jamais été écrit. Un projet est reproductible quand une personne qui ne l'a pas écrit peut le faire tourner à partir du dossier seul. Ce critère se vérifie une fois, en dix minutes, sur une autre machine — et cette vérification a sa place à l'étape 5 du planning, pas la veille de la présentation.
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.