Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Alexandre.Meyer/m1if37-animation
  • Alexandre.Meyer/m2-apprentissage-profond-image
  • Alexandre.Meyer/m2-animation
  • Alexandre.Meyer/hugo-web-minimal
  • Alexandre.Meyer/lifami
  • Alexandre.Meyer/lifapcd
  • Alexandre.Meyer/www
  • Alexandre.Meyer/lifstage
8 results
Show changes
web/content/projet/doc/cahier2.jpg

164 KiB

web/content/projet/doc/demo.png

19.5 KiB

web/content/projet/doc/livrable.png

87.7 KiB

web/content/projet/doc/projet.jpg

28.9 KiB

web/content/projet/doc/soutenance.jpg

59.2 KiB

web/content/projet/doc/soutenance2.jpg

170 KiB

---
title: "TD"
description: "TD"
---
Il y a des TD au tableau/stylo et des TD sur machine. Pour la partie marchine, le module Image est à rendre.
#### TD Conception et diagramme des classes
* [TD Conception : étude de la conception de différentes applications, diagramme des classes](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAP4_TD1_ConceptionLogicielle.pdf)
* [Elements de correction du TD Conception](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAP4_TD1_ConceptionLogicielle_corriges.pdf)
#### TD Outils-0 Installation et choix d'un éditeur de code
Choisisser un éditeur de code. Nous vous conseillons de choisir parmi VSCode, Visual Studio(Windows), XCode(MacOS), CLion ou Codeblocks (Windows/Linux). [Regarder les consignes d'installation ici](https://forge.univ*lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp/*/blob/master/doc/install.md)
#### TD Outils-1 Classe Image
Voir l'énoncé de la [Partie 1](TD_outils_1)
* Ecrire les classes Image et la structure Pixel
* Organisation des fichiers
* Documentation de code (Doxygen)
* Diagramme des classes
* Test mémoire (Valgrind)
#### TD Outils-2 Gestionnaire de version
Voir l'énoncé de la [Partie 2](TD_outils_2)
* Gestionnaire de version : les bases
#### TD Outils-3 Débogage
Voir l'énoncé de la [Partie 3](TD_outils_3)
* Gestion de mémoire/Optimisation de code sur un exemple "jouet"
* puis débogage des fonctions de sauvegarde et de chargement d'une image
* Gdb
* Valgrind
#### TD Outils-4 Bibliothèques
Voir l'énoncé de la [Partie 4](TD_outils_4)
* Installer les librairies SDL2
* Écrire la classe ImageViewer
* Tester votre module avec le script de notation
## Module Image à rendre
### À 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.
* À 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` ou le projet `CMake`compile les trois programmes :
* `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.md` 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](https://forge.univ*lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp), 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 :
* sous linux avec le code du scirpt en tapant la commande `python3 evalModuleImage.py NUMEROETU1_NUMEROETU2_NUMNUMEROETU3.tgz`;
* sur la machine de l'université en [suivant les explications ici]https://forge.univ*lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp);
* en clonant [ce projet](), à chaque commit le script est lancé.
#### 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](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](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/tools_MacOS.pdf) (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).
File added
File added
web/static/images/lifapcd_logo.png

66.7 KiB