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
Commits on Source (71)
Showing
with 139 additions and 80 deletions
# Pour créer un site web et ressources d'une UE avec Hugo # Pour créer un site web et ressources d'une UE avec Hugo
[La page de l'UE est ici](http://alexandre.meyer.pages.univ-lyon1.fr/hugo-web-minimal/) [La page de l'UE est ici](http://alexandre.meyer.pages.univ-lyon1.fr/lifapcd/)
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
Le site web est désormais fabriqué par ```Hugo``` (thème [congo](https://jpanther.github.io/congo/)). les sources se trouvent dans le répertoire ```web```. Le site web est mis à jour par intégration continue (CI/CD) à chaque fois que vous faites un push (rien besoin d'autre, à part attendre quelques secondes). Le script d'intégration continue est ```.gitlab-ci.yml```. Pour voir le résultat du script de génération, depuis l'interface allez dans Buil/CI/Jobs. Le site web est désormais fabriqué par ```Hugo``` (thème [congo](https://jpanther.github.io/congo/)). les sources se trouvent dans le répertoire ```web```. Le site web est mis à jour par intégration continue (CI/CD) à chaque fois que vous faites un push (rien besoin d'autre, à part attendre quelques secondes). Le script d'intégration continue est ```.gitlab-ci.yml```. Pour voir le résultat du script de génération, depuis l'interface allez dans Buil/CI/Jobs.
Le fichier ```site/config.toml``` permet de configurer la génération du site. Mais noramlement il n'y a pas besoin d'y toucher. Le fichier ```site/config.toml``` permet de configurer la génération du site. Mais normalement il n'y a pas besoin d'y toucher.
* Les pages web sont générées à partir du répertoire ```web/content```. * Les pages web sont générées à partir du répertoire ```web/content```.
* Par exemple ```web/content/doc``` peut contenir les documents généraux de l'UE (pdf);
* La page principale du site est ```web/content/_index.html```. Il faut bien laissé le ```_```, il indique qu'il y a des sous-répertoires * La page principale du site est ```web/content/_index.html```. Il faut bien laissé le ```_```, il indique qu'il y a des sous-répertoires
* ```web/static``` : les fichiers autres (pdf, images, sujets, etc.) sont à ranger dedans. Par exemple, il y a * ```web/static``` : les fichiers générales (images, icones, etc.) sont à ranger dedans. Par exemple, il y a
* ```web/static/images``` pour les images du site; * ```web/static/images``` pour les images du site;
* ```web/static/doc``` documents généraux de l'UE;
* Pour changer l'icone de la page web, il faut générer des icones avec un [flavicon générator](https://favicon.io/favicon-generator/), copier toutes les images dans le repertoire `static` et ajouter dans `config.toml` une ligne dans `param` avec `favicon = "favicon.ico"`. * Pour changer l'icone de la page web, il faut générer des icones avec un [flavicon générator](https://favicon.io/favicon-generator/), copier toutes les images dans le repertoire `static` et ajouter dans `config.toml` une ligne dans `param` avec `favicon = "favicon.ico"`.
......
baseURL = "http://alexandre.meyer.pages.univ-lyon1.fr/hugo-web-minimal/" baseURL = "http://alexandre.meyer.pages.univ-lyon1.fr/lifapcd/"
title = "UE Bidule" title = "LIFAPCD Conception et développement d'applications"
theme = "congo" theme = "congo"
languageCode = "fr-FR" languageCode = "fr-FR"
enableInlineShortcodes = true enableInlineShortcodes = true
...@@ -10,11 +10,11 @@ publishDir = "public" ...@@ -10,11 +10,11 @@ publishDir = "public"
[params] [params]
description = "UE Bidule" description = "LIFAPCD"
copyright = "" copyright = ""
dark = "auto" dark = "auto"
highlight = true highlight = true
mainSections = "personnage;controle;posts" mainSections = "Cours;TD;Projets;Planning"
#color = "gray" # Any color in CSS syntax #color = "gray" # Any color in CSS syntax
#width = "52rem" # Any length in CSS syntax #width = "52rem" # Any length in CSS syntax
colorScheme = "fire" colorScheme = "fire"
...@@ -32,26 +32,33 @@ publishDir = "public" ...@@ -32,26 +32,33 @@ publishDir = "public"
[menu] [menu]
[[menu.main]] [[menu.main]]
identifier = "PartieA" identifier = "Cours"
name = "PartieA" name = "Cours"
title = "PartieA" title = "Cours"
url = "https://partiea.html" url = "/cours"
weight = 1 weight = 1
[[menu.main]] [[menu.main]]
identifier = "PartieB" identifier = "TD"
name = "PartieB" name = "TD"
title = "PartieB" title = "TD"
url = "/partieb/" url = "/td/"
weight = 2 weight = 2
[[menu.main]] [[menu.main]]
identifier = "PartieC" identifier = "Projet"
name = "PartieC" name = "Projet"
title = "PartieC" title = "Projet"
url = "/partiec/" url = "/projet/"
weight = 3 weight = 3
[[menu.main]]
identifier = "Planning"
name = "Planning"
title = "Planning"
url = "/planning/"
weight = 4
[permalinks] [permalinks]
posts = "/:title/" posts = "/:title/"
......
# UE Bidule # Conception et développement d'applications
Responsables de l'enseignement : [Pierre Quiroule](http://www.leweb.fr/Pierre) Responsables de l'enseignement : [Alexandre Meyer](http://liris.cnrs.fr/alexandre.meyer) et [Nicolas Pronost](http://liris.cnrs.fr/nicolas.pronost)
Volume horaire : x CM, y TP Volume horaire : 9h de CM, 12h de TD et 39h de TP
![im_all.png](images/im_all.png) ![lifapcd.png](images/lifapcd_logo.png)
## Objectif de l'UE ## Objectif de l'UE
<p style="text-align:justify;"> etc.</p>
[Les slides sont ici.](doc/fichier.pdf) <p style="text-align:justify;">L'UE «Conception et Développement d'Applications » se trouve dans l'ensemble des UE d'algorithmique et de programmation de la licence STS mention Informatique en 2e année (L2). L'objectif de cette UE est de donner une première expérience de développement d'une application informatique de taille assez conséquente pour des étudiants ayant suivi déjà 3 UE d'algorithmique et de programmation avant. Une part importante de cette UE est consacrée à la conception et au développement d'une application durant les TP, par groupe de 2 ou 3 étudiants. Nous abordons essentiellement trois domaines de compétences.
Conception de l'architecture d'un logiciel : programmation modulaire, diagramme de dépendances des classes, boucle d'évènements, utilisation de librairies externes, multi-plateforme.\
## Thématiques abordées Outils d'aide à la mise au point de programme : débogueur, documentation du code, analyse de performances, production de l'application à partir du code (make/cmake), gestion de version de code (git).\
### Theme A Gestion de projet : cahier des charges, diagramme de Gantt, documentations, rapport, démo, présentation.
</p>
### Theme B ### Cours
La page des [cours](cours) regroupe les pdf des CM, les modcalités d'évaluation et des anciens sujets.
### TD
La page des [TD](td) regroupe les pdf des TD et toutes les informations sur le module Image à rendre.
### Projets
La page des [Projets](projet) regroupe toutes les informations sur le déroulement et les évaluations autour du projet.
### Doc
Le [dépôt git de l'UE](https://forge.univ-lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp) regroupe
* de nombreux exemples de code (SDL_simple, Pacman, SDL_ImGUI)
* [ainsi que des documentations pour les installations](https://forge.univ-lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp/-/tree/master/doc)
* [Installer WSL](https://forge.univ-lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp/-/blob/master/doc/wsl.md) (WSL=Linux sous windows)
* Choisir et installer un [éditeur de code](https://forge.univ-lyon1.fr/Alexandre.Meyer/L2_ConceptionDevApp/-/blob/master/doc/ide.md)
* Installer les librairies (SDL2 notamment)
* etc.
### Évaluation (les différentes notes)
* Un contrôle mi-parcours de 1h30 (40%) avant la phase de réalisation du projet
* [Sujet 2018](cours/doc/examens/2018_LIFAP4_CC_conception.pdf) / [Sujet QCM 2018](cours/doc/examens/2018_LIFAP4_CC_QCM.pdf)
* [Sujet 2019](cours/doc/examens/2019_LIFAP4_CC_conception.pdf) / [Sujet QCM 2019](cours/doc/examens/2019_LIFAP4_CC_QCM.pdf)
* [Sujet 2020](cours/doc/examens/2020_LIFAP4_CC_conception.pdf) / [Sujet QCM 2020](cours/doc/examens/2020_LIFAP4_CC_QCM.pdf)
* Évaluation 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.
---
title: "Cours"
description: "Cours"
---
![lifapcd.png](doc/supports_de_cours.jpg)
#### Cours 0 : Introduction de l'UE
* [Télécharger les transparents du cours](doc/LIFAPCD_CM0_OrganisationUE.pdf)
#### Cours 1 : Conception et gestion de projet
* [Télécharger les transparents du cours](doc/LIFAPCD_CM1_ConceptionGestionProjet.pdf)
* Méthodes de conception
* Cahier des charges
* Diagramme de Gantt
#### Cours 2 : Programmation modulaire
* [Télécharger les transparents du cours](doc/LIFAPCD_CM2_ProgrammationModulaire.pdf)
* 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](doc/LIFAPCD_CM3_OutilsProgrammation.pdf)
* Compilation de fichier (GCC)
* Compilation de projet (Makefile et CMake)
* Débogage (gdb)
#### Cours 4 : Gestion du code
* [Télécharger les transparents du cours](doc/LIFAPCD_C4_GestionCode.pdf)
* Règles d'écriture de code en C/C++
* Gestionnaire de code (Git)
* Doxygen
* [Des règles de bonnes pratiques de la programmation](http://perso.univ-lyon1.fr/thierry.excoffier/COURS/COURS/TRANS_COMP_IMAGE/prog.html)
#### Cours 5 : Notions de programmation C++ "avancée"
* [Télécharger les transparents du cours](doc/LIFAPCD_C5_BibliothequeIntroPOO.pdf)
* Test de régression
* Valgrind : debug mémoire + profiler
* Arguments de main
* Introduction aux operator et aux template en C++
* Introduction à la STL : string, vector, list, etc.
* Notion de POO/héritage pour pouvoir introduire les frameworks gérant une interface (Qt)
#### Cours 6 : Interface Graphique (Graphical User Interface)
* [Télécharger les transparents du cours](doc/LIFAPCD_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)
* Interface en mode texte (un menu)
* Avec SDL2 + 2 mots sur SFML
* Avec "Dear ImGui"
* Avec un framework plus conséquent : Qt
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
web/content/cours/doc/supports_de_cours.jpg

2.79 KiB

---
title: ""
description: "Partie Animation de personnage"
---
# Partie Animation de personnage
* Alexandre Meyer
* 4h30 CM, 6h30 TP
* [L'ancienne page de cette partie](https://perso.liris.cnrs.fr/alexandre.meyer/public_html/www/doku.php?id=charanim_m1#master_1_informatique_-_ue_m1if37_animation_en_synthese_d_image)
![](../doc_charanim/charanim_tpose.jpg)
## Cours
* [Systèmes articulés : cinématique directe](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_1_SkeletonBasedAnimation.pdf)
* [Edition d'animations, Graphe d'animations](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_2_MotionControlAndEditing.pdf)
* [Capture de mouvements](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_3_MotionCapture.pdf)
## Les vidéos des 3 CM (2020)
[Les vidéos](video)
## Le TP
* [TP animation de personnage virtuel](tp)
* [[master_charanim_code|Le code initial]]
#### Rendu
Les archives sont à rendre sur TOMUSS
* TP Animation de personnage virtuel
* vous devez rendre une archive avec un readme.txt ou readme.md expliquant ce que vous avez fait et comment lancer le programme
* une VIDEO de DEMO ou une démo en LIVE
* Barème "Personnage"
* (5 points) TP 1ère partie : affichage d'une animation BVH
* (3 points) Contrôleur d'animation : la base (pilotage au clavier d'un déplacement)
* Machine à état (4 points maximum)
* basique : pour une machine à état de base avec 4 animations : iddle, marcher, courir, sauter ou kick
* avancé : une machine à état plus complète avec de nombreuses animations (une dizaine) : voir celles du répertoire motionGraph_second_life, etc.
* Motion Graphe (6 points max)
* basique : transition vers un autre animation en cherchant à la volée une transition compatible
* avancé : un motion graph construit automatiquement en pré-calcul (voir la fin de l'énoncé qui pointe vers un complément de sujet).
* (3 points) Interpolation entre 2 frames, à utilise pour les transitions ou pour une bonne gestion du temps
* (1 points) Collision entre personnage et sphères (voir le code PhysicalWorld)
* (1 points) bonus de qualité/cohérence de la scène
* Le total fait plus que 20 car les points FSM/graphe d'animation sont à comprendre avec un OU : la machine à état rapporte moins de points, car bien moins difficile.