Skip to content
Snippets Groups Projects
Commit a3aabf4b authored by Alexandre MEYER's avatar Alexandre MEYER
Browse files

...

parent 24084d34
No related branches found
No related tags found
No related merge requests found
Pipeline #141806 failed
---
title: "LIFAPCD Cours"
title: "Cours"
description: "LIFAPCD Cours"
---
......@@ -11,53 +11,36 @@ width="200" query="?200"}
#### Cours 0 : Introduction de l\'UE
[\>\>Télécharger les transparents du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM0_OrganisationUE.pdf)
[\>\>Visionner la vidéo du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM0)
* [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM0_OrganisationUE.pdf)
* [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM0)
#### Cours 1 : Conception et gestion de projet
[\>\>Télécharger les transparents du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM1_ConceptionGestionProjet.pdf)
[\>\>Visionner la vidéo du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM1)
* [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM1_ConceptionGestionProjet.pdf)
* [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM1)
- Méthodes de conception
- Cahier des charges
- Diagramme de Gantt
#### Cours 2 : Programmation modulaire
[\>\>Télécharger les transparents du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM2_ProgrammationModulaire.pdf)
[\>\>Visionner la vidéo du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM2)
* [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM2_ProgrammationModulaire.pdf)
* [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM2)
- Diagramme des classes (UML)
- Règle d\'intégrité
- Règles de programmation
#### Cours 3 : Outils pour la programmation
[\>\>Télécharger les transparents du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM3_OutilsProgrammation.pdf)
[\>\>Visionner la vidéo du
cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM3)
* [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM3_OutilsProgrammation.pdf)
* [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM3)
- Compilation de fichier (GCC)
- Compilation de projet (Makefile)
- Débogage (gdb)
#### Cours 4 : Gestion du code
[\>\>Télécharger les transparents du
cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFAP4_C4_GestionCode.pdf)
* [Télécharger les transparents du cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFAP4_C4_GestionCode.pdf)
- Règles d\'écriture de code en C/C++
- Gestionnaire de code (Git, SVN, Mercurial, etc.)
- Doxygen
......@@ -66,9 +49,7 @@ cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFA
#### Cours 5 : Notions de programmation C++ avancée
[\>\>Télécharger les transparents du
cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFAP4_C5_BibliothequeIntroPOO.pdf)
* [Télécharger les transparents du cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFAP4_C5_BibliothequeIntroPOO.pdf)
- Test de regression
- Valgrind : debug mémoire + profiler
- Arguments de main
......@@ -79,14 +60,21 @@ cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFA
#### Cours 6 : Interface Graphique (Graphical User Interface)
[\>\>Télécharger les transparents du
cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFAP4_C6_GUI.pdf)
* [Télécharger les transparents du cours](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/LIFAP4/download/LIFAP4_C6_GUI.pdf)
- Une interface, qu\'est-ce que cela change ?
- Notion de callback/pointeurs de fonctions
- Principe d\'organisation du code (introduction rapide à la notion de
MVC)
- Principe d\'organisation du code (introduction rapide à la notion de MVC)
- Interface en mode texte (un menu)
- Avec SDL2 + 2 mots sur SFML
- Avec \"Dear ImGui\"
- Avec un framework plus conséquent : Qt
\ No newline at end of file
- Avec "Dear ImGui"
- Avec un framework plus conséquent : Qt
### Evaluation (les différentes notes)
* Un contrôle mi-parcours de 1h30 (40%) avant la phase de réalisation du projet
* [Annales CC mi-parcours)(annales)
* Evaluation du module "Image" (TDs outils) (10%)
* Projet (50%) :
* Cahier des charges (2%)
* Démo mi-projet (3%),
* 3 notes finales "Technique", "Conception" et "Organisation" (3×15%). Regardez dans la [section Projet](projet) pour le détail des notes.
\ No newline at end of file
File moved
......@@ -9,25 +9,45 @@ description: "LIFAPCD TD"
## TD
#### TD Conception de logiciel
- [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 1 : Editeur de code, débogueur et diagramme
- Voir énoncé de la [1ère partie](/lifap4_td#td_outils_-_partie_1editeur_de_code_debogueur_et_diagramme)
du TD outils
- Voir énoncé de la [1ère partie](/lifap4_td#td_outils_-_partie_1editeur_de_code_debogueur_et_diagramme) du TD outils
#### TD outils 2 : Gestion de mémoire/Optimisation de code
- Voir énoncé de la [2ème partie](/lifap4_td#td_outils_-_partie_2gestion_de_memoire_optimisation_de_code)
du TD outils
- Voir énoncé de la [2ème partie](/lifap4_td#td_outils_-_partie_2gestion_de_memoire_optimisation_de_code) du TD outils
#### TD outils 3 : Bibliothèques
- Voir énoncé de la [3ème partie](/lifap4_td#td_outils_-_partie_3bibliotheques) du TD outils
- Voir énoncé de la [3ème partie](/lifap4_td#td_outils_-_partie_3bibliotheques) du TD outils
#### TD outils 4 : Gestionnaire de version
- Voir énoncé de la [4ème partie](/lifap4_td#td_outils_-_partie_4gestionnaire_de_version_git) du TD outils
## Module Image à 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.
- Voir énoncé de la [4ème partie](/lifap4_td#td_outils_-_partie_4gestionnaire_de_version_git)
du TD outils
**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.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment