From bb7e552c73ef5e64dedf038ced66f7472f5e018c Mon Sep 17 00:00:00 2001
From: Alex <alexandre.meyer@univ-lyon1.fr>
Date: Tue, 12 Dec 2023 18:46:04 +0100
Subject: [PATCH] ...

---
 web/content/planning/_index.md |   7 +-
 web/content/projet/_index.md   |  50 +++++++-------
 web/content/td/_index.md       | 122 ++++++++++++++++++---------------
 3 files changed, 95 insertions(+), 84 deletions(-)

diff --git a/web/content/planning/_index.md b/web/content/planning/_index.md
index b81d70e..dbf6d68 100644
--- a/web/content/planning/_index.md
+++ b/web/content/planning/_index.md
@@ -1,8 +1,7 @@
 
 ---
-title: "LIFAPCD Planning"
-description: "LIFAPCD Planning"
+title: "Planning"
+description: "Planning"
 ---
 
-
-
+TODO
\ No newline at end of file
diff --git a/web/content/projet/_index.md b/web/content/projet/_index.md
index 5cbe304..51f4c98 100644
--- a/web/content/projet/_index.md
+++ b/web/content/projet/_index.md
@@ -1,21 +1,20 @@
-
 ---
-title: "LIFAPCD Projet réalisé en TP"
-description: "LIFAPCD Projet"
+title: "Projet réalisé en TP"
+description: "Projet"
 ---
 
 
-
-## Projet : réalisation en TP
+## Projet réalisation en TP
 
 ![idea.jpg](/idea.jpg){.align-center width="150" query="?150"}
 
 #### Sujet et critères de notation
 
-Vous êtes libre du sujet de votre projet, mais discutez-en avec les intervenants de TD et TP afin d'obtenir leur accord. [Si vous êtes en panne d'inspiration, voici quelques idées de sujets](/lifap4_sujets).
+Vous êtes libre du sujet de votre projet, mais discutez-en avec les intervenants de TD et TP afin d'obtenir leur accord. [Si vous êtes en panne d'inspiration, voici quelques idées de sujets](https://forge.univ-lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp/-/blob/master/doc/project_ideas.md).
+
+**Le projet est à réaliser en groupe de 2 ou 3 maximum** (4 n'est pas possible)
 
-*Le projet est à réaliser en groupe de 2 ou 3 maximum** (4 n'est pas possible)
-* [N'oubliez pas de lire les règles à respecter lors de la conception et la réalisation d'un projet](/lifap4_regles)
+* [N'oubliez pas de lire les règles à respecter lors de la conception et la réalisation d'un projet](https://forge.univ-lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp/-/blob/master/doc/coding_rules.md)
 * Regardez également les **critères de notations (notes "Technique", "Conception" et "Organisation") [dont le détail est ici](https://docs.google.com/spreadsheets/d/1OcpRm6gQtmRNWSXeG7QwnFJ6Eqzl7_DKCjUM4V9P4A0/edit?usp=sharing).  (IMPORTANT A LIRE)
 * Vous devez **être autonome ET nous montrer régulièrement l'état d'avancement de votre projet**. Un groupe dont les membres arrivent à 10h voir plus tard, voir pas du tout et qui, tout d'un coup, une semaine avant la soutenance ont un projet bien abouti, sera considéré comme très très suspect.
 * Travail en équipe : vous disposez de 100 points par projet. A la fin du projet, vous affectez ces points à chacun des membres du groupe en fonction du degré d'implication. Par exemple, un groupe équilibré avec une personne un peu plus leader donnera 30, 30 et 40 points. Cette information servira à moduler les notes de chacuns (voir les critères de notation dans la grille). La modulation peut aller plus loin que juste les points sur l'organisation du travail. Un étudiant non impliqué peut avoir une note très faible sur les 3 parties, loin du reste du groupe.
@@ -45,17 +44,19 @@ La présentation devra être réalisée sous Powerpoint ou équivalent. Le mieux
 * Le meilleur aperçu de la conception de votre projet reste le diagramme des classes (UML). Soignez sa présentation !
 
 Voici un plan possible.
-- Slide 1: Titre du projet, auteurs, principe de l'application (très rapide, avec une capture d'écran)
-- Slide 2: **Vue d'ensemble du diagramme des classes (UML)** (donc le diagramme doit être à jour)
-- Slide 3 à n-1: Explications détaillées des 3 ou 4 classes les plus importants et/ou les plus intéressants (ex. ceux dont vous êtes les plus fiers, sur lesquels vous avez passé le plus de temps)
-- Slide n: Conclusion. Attention à éviter les banalités du style "Le projet a été intéressant..." (ou l'inverse !). Les intervenants vous ont suivis pendant un semestre et ont déjà leur idée là-dessus! Décrivez par exemple ce qui marche et ce qui ne marche pas (les objectifs initiaux du cahier des charges ont-ils été atteints ?), les éventuelles difficultés rencontrées, et ce que vous (re)feriez avec un peu (ou beaucoup) plus de temps.
+
+* Slide 1: Titre du projet, auteurs, principe de l'application (très rapide, avec une capture d'écran)
+* Slide 2: **Vue d'ensemble du diagramme des classes (UML)** (donc le diagramme doit être à jour)
+* Slide 3 à n-1: Explications détaillées des 3 ou 4 classes les plus importants et/ou les plus intéressants (ex. ceux dont vous êtes les plus fiers, sur lesquels vous avez passé le plus de temps)
+* Slide n: Conclusion. Attention à éviter les banalités du style "Le projet a été intéressant..." (ou l'inverse !). Les intervenants vous ont suivis pendant un semestre et ont déjà leur idée là-dessus! Décrivez par exemple ce qui marche et ce qui ne marche pas (les objectifs initiaux du cahier des charges ont-ils été atteints ?), les éventuelles difficultés rencontrées, et ce que vous (re)feriez avec un peu (ou beaucoup) plus de temps.
 
 Quelques conseils pour la démo (entre 5 et 7 minutes).
-- Le code doit être compilé, et la démo doit être lancée via l'exécutable
-- Préparez la démo pour être lancée tout de suite après la présentation (ex. sur votre ordinateur portable)
-- Répétez les actions que vous voulez illustrer, concentrez vous sur ce qui fonctionne (soyez vendeur!)
-- Utilisez le plein écran si approprié, prévoyez de quoi entendre sons et musiques si besoin
-- Si nécessaire, testez votre démo avant sur écran externe (ie. apprenez comment afficher en double écran sur votre machine)
+
+* Le code doit être compilé, et la démo doit être lancée via l'exécutable
+* Préparez la démo pour être lancée tout de suite après la présentation (ex. sur votre ordinateur portable)
+* Répétez les actions que vous voulez illustrer, concentrez vous sur ce qui fonctionne (soyez vendeur!)
+* Utilisez le plein écran si approprié, prévoyez de quoi entendre sons et musiques si besoin
+* Si nécessaire, testez votre démo avant sur écran externe (ie. apprenez comment afficher en double écran sur votre machine)
 
 **Faîtes au moins une répétition complète pour éviter les surprises (timing, démo qui fonctionne pas, etc.).**
 
@@ -63,19 +64,20 @@ Quelques conseils pour la démo (entre 5 et 7 minutes).
 #### Travail à rendre (case 'DepotProjetFinal' dans Tomuss)
 
 Préparer et soumettre une archive suivant les mêmes conventions que le module Image nommée `NOM_PROJET_NUMEROETU1_NUMEROETU2_NUMEROETU3.tar.gz` et contenant au minimum les points suivants.
-*  Un `readme.txt` à la racine de l'archive contenant au moins
-    * les informations factuelles du projet : noms, prénoms, numéros étudiant et identifiant du projet sur la forge
+
+* Un `readme.md` à la racine de l'archive contenant au moins
+  * les informations factuelles du projet : noms, prénoms, numéros étudiant et identifiant du projet sur la forge
     * un manuel : commandes de compilation et d'exécution, règles du jeu ou utilisation de l'application, la liste des fonctionnalités du programme
     * une description de l'organisation de votre archive
 * Tout le code (dans le répertoire src)
 * Un makefile (dans le répertoire racine) ou un fichier CmakeFile.txt
-    * Attention, toute autre librairie que la SDL devra être incluse dans l'archive ou pouvoir s'installer avec les packages
+  * Attention, toute autre librairie que la SDL devra être incluse dans l'archive ou pouvoir s'installer avec les packages
 * Les assets de votre application (dans le répertoire data, ex. images, sons, modèles 3D, fonts, fichiers de configuration)
 * Les exécutables sont compilés dans le répertoire bin
 * La documentation de votre projet (dans le répertoire doc) contenant au minimum
-    * La présentation orale (fichier PowerPoint ou pdf)
-    * Le diagramme des classes UML à jour (fichier image ou pdf)
-    * Le diagramme de Gantt à jour (fichier image ou pdf) avec une description de qui a fait quoi dans le projet (associations entre les tâches du diagramme et les étudiants)
-    * La documentation du code (dans le répertoire doc/html, générée par doxygen)
+  * La présentation orale (fichier PowerPoint ou pdf)
+  * Le diagramme des classes UML à jour (fichier image ou pdf)
+  * Le diagramme de Gantt à jour (fichier image ou pdf) avec une description de qui a fait quoi dans le projet (associations entre les tâches du diagramme et les étudiants)
+  * La documentation du code (dans le répertoire doc/html, générée par doxygen)
 
 Veillez à bien nettoyer votre archive avant soumission, i.e. supprimer les fichiers inutiles (fichiers objets, dossiers/fichiers git etc.).
diff --git a/web/content/td/_index.md b/web/content/td/_index.md
index 5ff708a..5d6b871 100644
--- a/web/content/td/_index.md
+++ b/web/content/td/_index.md
@@ -1,99 +1,109 @@
----
-title: "LIFAPCD TD"
-description: "LIFAPCD TD"
----
+***
+title: "TD"
+description: "TD"
+***
 
 
 
-## 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
+* [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)
 
-- 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*0 Installation et choix d'un éditeur de code
 
-#### TD Outils-1 Classe Image
-Voir l'énoncé de la [Partie 1](TD_outils_1)
+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)
 
-- Ecrire les classes Image et la structure Pixel
-- Oraganisation des fichiers
-- Documentation de code (Doxygen)
-- Diagramme des classes
-- Test mémoire (Valgrind)
+\
+#### 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 Deboguage
+\
+#### TD Outils*2 Gestionnaire de version
 Voir l'énoncé de la [Partie 2](TD_outils_2)
+* Gestionnaire de version : les bases
 
-- Gestion de mémoire/Optimisation de code sur un exemple "jouet"
-- puis déboguage des fonctions de sauvegarde et de chargement d'une image
-- Gdb
-- Valgrind
+\
+#### 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-3 Bibliothèques
-Voir l'énoncé de la [Partie 3](TD_outils_3)
+\
+#### TD Outils*4 Bibliothèques
+Voir l'énoncé de la [Partie 4](TD_outils_4)
 
-- Installer les librairies SDL2
-- Ecrire la classe ImageViewer
-- Tester votre module avec le script de notation
+* Installer les librairies SDL2
+* Écrire la classe ImageViewer
+* Tester votre module avec le script de notation
 
 
 
 
 ## Module Image à rendre
 
-### A 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).
+**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)
+
+* À 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.
+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é.
+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.
+
+* 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 :
+
+* **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​```
-- 
GitLab