TP : Traitement d'images

En autonomie, sur machine, les élèves suivent ces instructions.

Fiche d'évaluation

Le professeur imprime la fiche d'évaluation pour chaque binôme.

Logiciel d'évaluation

J'ai quatre groupes de SNT de 24 élèves, ce qui représente une cinquantaine de fichiers .py à évaluer. Pour chacun de ces fichiers, j'ai six algorithmes à tester, ce qui fait environ 300 tests à effectuer. J'ai donc écrit le logiciel evaluation3.py, qui s'utilise en ligne de commande avec comme argument les programmes des élèves à tester :

$ python3 evaluation3.py chemin/vers/les/fichiers/de/mes/élèves/*.py

Pour chacun des fichiers (par exemple germain-gauss.py dans cet exemple), le logiciel :

  • affiche de « diff » du fichier de l'élève avec l'énoncé du professeur, et demande confirmation. C'est l'occasion de vérifier qu'aucun n'élève facétieux n'a glissé un shutil.rmtree("/") dans son code ;
  • charge le fichier de l'élève, et applique les six algorithmes à la même image de départ :

    • si le fichier ne peut pas être chargé, un fichier germain-gauss.log est créé, contenant le message d'erreur ;
    • sinon, si l'image est correctement générée, elle est renommée en fichier-action.png (par exemple germain-gauss-gris.png pour les niveaux de gris) ;
    • si le programme plante, les messages d'erreurs sont écrits dans fichier-action.log.

Ce logiciel doit être placé dans le même répertoire que le fichier gère.jpg (qu'il utilise comme image de départ pour chacun de ses algorithmes).