Skip to content
Snippets Groups Projects
Forked from Alexandre MEYER / hugo-web-minimal
3 commits behind, 9 commits ahead of the upstream repository.
title: "LIFAPCD TD"
description: "LIFAPCD TD"

TD

TD Conception de logiciel

TD outils 1 : Editeur de code, débogueur et diagramme

TD outils 2 : Gestion de mémoire/Optimisation de code

TD outils 3 : Bibliothèques

TD outils 4 : Gestionnaire de version

Module Image à rendre

A rendre

Votre archive sera testée avec un script particulier (cf. plus bas). Vous devez donc respecter exactement le format attendu par ce script sinon vous aurez la note zéro.

Déposez votre archive sur TOMUSS, dans la case DepotModuleImage du cours. Vous devez respecter l'heure limite car le dépôt sera désactivé après l'heure limite. Une soumission en retard (par email ou autre) entraînera la note zéro pour tout le groupe. Un seul dépôt par groupe d'étudiants (sur n'importe lequel des comptes).

Votre module Image doit respecter les conventions suivantes.

  • A faire en groupe de 2 ou 3
  • Votre archive s'appelle NUMEROETU1_NUMEROETU2_NUMEROETU3.tgz ou NUMEROETU1_NUMEROETU2_NUMEROETU3.tar.gz (pas de zip) où NUMEROETU1 est le numéro étudiant du premier membre du groupe etc.
  • Tous les fichiers se décompressent dans un répertoire ayant pour nom NUMEROETU1_NUMEROETU2_NUMEROETU3 (même nom que l'archive)
  • Ce répertoire doit contenir les sous-répertoires bin, src, obj, data et doc
  • Le fichier Makefile compile les trois programmes (vous pouvez travailler avec un projet CodeBlocks mais il faut tout de même fournir un Makefile fonctionnel) :
    • bin/exemple exécute le code génèrant les images en sortie (i.e. exécute mainExemple.cpp)
    • bin/test appelle testRegression (test de non-régression qui vérifie tout) et affiche les tests effectués à l'écran (i.e. exécute mainTest.cpp)
    • bin/affichage fait l'affichage de l'image dans une fenêtre SDL avec zoom/dézoom (i.e. exécute mainAffichage.cpp)
    • Readme.txt est un fichier texte expliquant la librairie. Au minimum comment compiler et exécuter, ce que fait le module et chacun des exécutables, l'organisation de l'archive etc. et il doit indiquer les noms/prénoms/numéros des étudiants.
    • Vos fichiers sources (.h et .cpp) sont placés dans le dossier src
    • Les images sauvées et lues seront toujours placées dans le dossier data
    • doc/image.doxy est le fichier de configuration de doxygen
    • doc/html/index.html est la page d'entrée de la documentation (générée avec doxygen)

Ces conventions sont très répandues, et il serait de bonne habitude de les appliquer pour tous vos rendus de TP (info ou autres), ou vos projets futurs publiés sur internet. Vous utiliserez notamment ces conventions pour votre projet.

Vous n'avez pas le droit de modifier le code fourni. Les programmes principaux, les noms des fichiers, des classes, des fonctions, des données etc. doivent être exactement les mêmes que ceux donnés. Ceci conditionne fortement le succès du script.

Script de test du module Image

Votre archive du module Image sera testée avec le script présent dans le répertoire TD_moduleImage fourni durant le TD ici, s'appelant evalModuleImage.py (script Python). Avant de soumettre votre archive, vérifiez que l'exécution du script se déroule sans erreur. Pour vous, il y a 3 manières de lancer le script :

Script et notation

  • Si le script échoue à une étape, le correcteur n'ira pas plus loin (même si la suite est juste).
  • Si le script rapporte des erreurs, corrigez les avant de soumettre votre archive.
  • Le script vous donne également une note INDICATIVE à la fin. Pour la note finale, des vérifications supplémentaires (non automatiques) seront effectuées par les enseignants.

Précision technique sur ce script

  • Ce script doit tourner sous Linux avec python3 (uniquement Linux à cause de valgrind). Si vous l'exécutez sur votre machine personnelle, il faut installer python, doxygen, valgrind, SDL2, etc. Voir les installations à faire sur la page projet.
  • Si votre code nécessite l'utilisation du standard CPP11 ou plus, n'oubliez pas d'ajouter l'option `-std=c++11`` (ou plus) dans les lignes de commande g de votre Makefile.
  • Sous MacOS, regardez les consignes ici (merci Erwan)
  • Sous Windows, installer WSL, puis tout se passe comme sous Linux
  • Si le message suivant apparaît : File "evalModuleImage.py", line 120 print("Numeros des etudiants =", end=' ') SyntaxError: invalid syntax​ Vous devez utiliser Python 3 (Python 2 produit ce type d'erreur).