page d'accueilliste des sujets liste des groupes liste des encadrants

TER DE MASTER 1 en INFORMATIQUE - HMIN201 - année 2021-22

login mdp

64 sujets proposés
a.romashchenko_1
a.laurent_1
a.laurent_2
a.chateau_1
a.chateau_2
c.nebut_1
croitoru_1
croitoru_2
croitoru_3
croitoru_4
e.faure_1
e.bourreau_1
f.scharffe_1
f.scharffe_n
g.trombettoni_1
giroudeau_1
giroudeau_2
h.bouziane_1
i.mougenot_1
i.mougenot_2
j.baget_1
j.sauvage_1
k.todorov_1
k.todorov_2
k.todorov_3
k.todorov_4
k.todorov_5
lafourca_5
m.huchard_1
m.huchard_2
m.lafourcade_1
m.lafourcade_2
m.lafourcade_3
m.lafourcade_4
m.lafourcade_6
m.lafourcade_7
m.montassier_1
n.rodriguez_1
n.rodriguez_2
n.faraj_1
n.faraj_2
n.faraj_3
n.faraj_4
n.faraj_5
n.faraj_6
n.faraj_7
n.faraj_8
p.poncelet_1bis
p.poncelet_1
pompidor_1
pompidor_2
prince_1
seriai_1
seriai_2
seriai_3
seriai_4
seriai_5
S.Bessy_1
t.georges-1
t.georges-2
ulliana_1
v.berry_1
v.berry_2
w.puech_1

1. Bot de gestion de connaissances   
Identifiant : mathieu.lafourcade_1_2021-22 • Encadrant(s) : mathieu.lafourcade@lirmm.fr, prince@lirmm.fr

Résumé : On souhaite développer un bot (Skype, ou autre) avec lequel l'utilisateur entreprendrait des pseudo conversations dans le but de consolider (augmenter et corriger) une base de connaissances (en l'occurrence, la base RezoJDM).

Exemple de dialogue :

Bot: est-ce qu'un hot-dog contient de la moutarde '
User: oui, la plupart du temps
Bot: est-ce qu'un hot-dog contient des oignons grillés '
User: oui c'est possible, surtout aux US
Bot: merci pour ces informations
User: un hot-dog c'est de la malbouffe
Bot: Ah' Ok, je vais retenir cela.

Le bot en question doit être capable de poser des questions de façon intelligible et d'avoir un grande tolérance et capacité d'interprétation de ce que répond l'utilisateur. Le dialogue engagé doit être cohérent - on peut changer de sujet, mais on ne saute pas sans arrêt du coq à l'âne). Enfin, le bot doit être capable de répondre des question de type "pourquoi", par exemple :
User: Pourquoi un tigre est dangereux '
Bot: un tigre est dangereux car un tigre est un animal sauvage et un animal sauvage est dangereux.

Prérequis : aucun
Liens :
bot skype - https://dev.skype.com/
rezoJDM - http://www.jeuxdemots.org/jdm-about.php
exemple d'interaction - http://www.jeuxdemots.org/rezo-ask.php'text=1

Lien : - • Dernière mise à jour : 2021-11-05 09:38:23

2. Chasse aux triangles dans JeuxDeMots
Identifiant : anne.laurent_1_2021-22 • Encadrant(s) : anne.laurent@lirmm.fr, mathieu.lafourcade@lirmm.fr

Résumé : JeuxDeMots est un jeu sérieux (' Game With A Purpose ' - GWAP : jeu avec un but) qui vise à construire un réseau lexico-sémantique (un graphe avec 12 million de noeuds et 780 millions de relations). Les agents d'inférence de JeuxDeMots constituent globalement une intelligence artificielle qui opère sur cer grand volume de connaissances (de sens commun mais également expertes à plusieurs domaines) de façon à inférer de nouvelles relations.

Dans ce cadre, nous souhaitons retrouver dans le réseau les triangles permettant de fournir des exemples pour être capable par la suite de fournir des éléments d'explication pour certaines relations. Il s'agit donc de créer une combinaison entre un système à apprentissage par des exemples et un système d'inférence.

Par exemple, il est ainsi possible de déduire que "voiture" a pour conséquence "mort" à partir de "voiture" ayant pour conséquence "accident" qui a pour conséquence "mort" (1 côté du triangle). Où à l'inverse de produire l'explication de "peste" à conséquence "mort", en exhibant "peste" estun "maladie mortelle" et "maladie mortelle" conséquence "mort" (2 côtés du triangle).

Le travail attendu consiste à :
- prendre en main la base JeuxDeMots sous sa forme ' bases de données NoSQL en graphes ' et le langage de requête Cypher ;
- Elaborer les requêtes Cypher permettant de retrouver les triangles dans le graphe JeuxDeMots ;
- Tester et optimiser le passage des requêtes sur un serveur.

Si le temps le permet :
- Proposer des extensions pour recommander des portions du graphe où un triangle aurait dû exister (ce qui permettra d'enrichir le graphe).

** Pas de prérequis
(co enc ' castelltort@lirmm.fr)

Lien : https://cloud.lirmm.fr/index.php/s/kWV55XDJcHLtcgYDernière mise à jour : 2021-11-05 09:39:09

3. Parallélisation sur la grille d'un algo d'apprentissage de relations sémantiques
Identifiant : hinde.bouziane_1_2021-22 • Encadrant(s) : hinde.bouziane@lirmm.fr, mathieu.lafourcade@lirmm.fr

Résumé : Nous disposons d'un algorithme d'apprentissage de relations sémantiques basé sur les relations existantes dans le réseau lexical JeuxDeMots. De façon simplifiée, cette approche consiste lors de l'apprentissage à croiser les attributs du premier noeud avec ceux du second noeud et d'associer à chaque couple la relation sémantique présente dans le réseau entre les deux noeuds.

La table générée est de grande taille, de l'ordre de plusieurs centaines de millions de lignes.

L'idée est de distribuer cette table sur la grille, d'envoyer la même requête et ensuite de fusionner les résultats. Le temps global de traitement est donc le temps de la plus longue requête suivi du temps nécessaire pour la fusion. Il est donc impératif de distribuer de la façon la plus homogènes les lignes de la table de départ dans les tables sur la grille.

L'objet de ce TER est donc d'écrire et d'implémenter un algo sur la grille un algorithme effectuant l'apprentissage avec une distribution homogène des résultats. Un second algo, dit d'exploitation (qui met en oeuvre la fusion) sera également spécifié et implémenté.

Les données et les calculs seront à déployer sur une grille expérimentale Grid5000. La programmation se fera en utilisant une bibliothèque ou un framework pour le calcul parallèle distribué, comme MPI (Message Passing Interface), Hadoop, RPC (Remote Procedure Call) ou autre disponible sur Grid5000.

Les références :

* https://www.grid5000.fr/
* https://static.googleusercontent.com/media/research.google.com/fr//archive/mapreduce-osdi04.pdf
* http:www.jeuxdemots.org

Lien : - • Dernière mise à jour : 2021-11-05 09:39:32

4. Génération de colonnes versus formulation compacte   
Identifiant : giroudeau_1_2021-22 • Encadrant(s) : rodolphe.giroudeau@lirmm.fr

Résumé : Nous considérons le problème du cutting stock. Pour ce problème nous comparerons une formulation compacte versus une formulation basée sur le principe de la génération de colonnes. Des tests pour seront nécessaires pour valider .

PREREQUIS : algorithmique, programmation, optimisation combinatoire,

Lien : - • Dernière mise à jour : 2021-11-05 09:44:46

5. Stratégie de résolution pour le problème de la recherche d'un flot maximum
Identifiant : giroudeau_2_2021-22 • Encadrant(s) : rodolphe.giroudeau@lirmm.fr

Résumé : Le problème de la recherche du flot maximum est un problème d'optimisation combinatoire étudié depuis longtemps. Plusieurs méthodes existent pour résoudre ce problème ; algorithmes polynomiaux efficaces, résolution en utilisant la programmation linéaire en nombres entiers, la programmation par contraintes. Le stage consiste à comparer ces trois méthodes du point de vue du temps de calcul.

Programmation, algorithmique, CPLEX, programmation par contraintes

Lien : - • Dernière mise à jour : 2021-11-05 09:45:51

6. Le JIPTO, un jeu venu de Yakoutie   
Identifiant : annie.chateau_1_2021-22 • Encadrant(s) : annie.chateau@lirmm.fr

Résumé : Au centre de la Sibérie, en Yakoutie, le mathématicien Grigori Tomski a inventé un jeu très simple et pourtant très riche. Ce jeu est devenu sport national pratiqué aussi bien dans les maternelles que dans les universités. Le jipto est un jeu de poursuite qui se joue à deux joueurs, avec un plateau rectangulaire séparé en trois zones. Le poursuivant dispose de deux pions circulaires, et le poursuivi dispose de six pions circulaires plus petits. L'objectif du poursuivant est de capturer le maximum de fugitifs avant qu'ils n'atteignent la deuxième ligne. Le poursuivi doit faire passer le maximum de fugitifs derrière la première ligne (il gagne un point par passage) et la deuxième (il gagne deux points par passage). Une partie se joue en deux manches, où chaque joueur est alternativement poursuivant et poursuivi. Le gagnant est celui qui a le plus de points après les deux manches.

Le déplacement des pions se fait de la façon suivante : chaque joueur dispose d'un "pion de réserve" qu'il place à côté d'un de ses pions (les deux cercles sont donc tangents) en restant sur la plateau de jeu. Il récupère alors l'ancien pion qui devient le nouveau pion de réserve pour le déplacement suivant. Chaque joueur déplace alternativement l'un de ses pions (le poursuivant déplace donc toujours le même) jusqu'à ce que soit tous les pions non capturé du poursuivi soient en sécurité derrière la deuxième ligne.

Le poursuivant "capture" un pion du poursuivi simplement en le touchant lors de son tour de déplacement.

L'objectif du projet est de :

1. Modéliser le jeu et les règles de déplacement
2. Implémenter le moteur de jeu pour permettre à deux joueurs de jouer l'un contre l'autre
3. Implémenter une IA basique pour que l'on puisse jouer contre l'ordinateur (dans un premier temps, une heuristique naïve peut suffire, mais on peut réfléchir à quelque chose de plus malin)
4. Une interface graphique ne sera pas désagréable
5. Si le temps et la motivation sont là, pourquoi pas mettre en place l'architecture pour jouer en réseau....

L'implémentation se fera dans le langage de votre choix.

Projet pour 4 étudiants profil ICO

Lien : http://www.lirmm.fr/~lafourcade/TERM1/SUJ2022/Sujet_JIPTO.pdfDernière mise à jour : 2021-11-05 09:56:53

7. Le Golf mathématique, future discipline olympique ?   
Identifiant : annie.chateau_2_2021-22 • Encadrant(s) : annie.chateau@lirmm.fr

Résumé : Les règles du golf mathématique sont très simples. Le "green" est un ensemble de cases numérotées. Si on est par exemple sur une case numérotée 5, on doit avancer au coup suivant de 5 cases dans l'une des 8 directions possibles : ouest, nord-ouest, nord, nord-est, est, sud-est, sud, sud-ouest. Au départ, le joueur choisi l'une des neuf cases encadrées de rouge. Le trou d'arrivée est la case portant la lettre T. Le but du jeu est de rejoindre la case T en un nombre de coups inférieur au "par", c'est-à-dire le contrat initial de nombre de coups pour ce trou.
L'objectif du projet est de :

1. Modéliser le jeu et les règles de déplacement. Cela nécessite notamment de bien choisir comment on modélise le green, et réfléchir à un format de fichier pour stocker les différents greens.

2. Implémenter le moteur de jeu pour permettre à un ou plusieurs joueurs de jouer sur un green.

3. Implémenter une IA basique pour que l'on puisse jouer contre l'ordinateur (dans un premier temps, une heuristique naïve peut suffire, mais on peut réfléchir à quelque chose de plus malin). Notamment, on pourra se servir de cette IA pour calibrer le "par" si on veut générer de nouveaux greens.
4. Une interface graphique ne sera pas désagréable
5. Si le temps et la motivation sont là, pourquoi pas mettre en place l'architecture pour jouer en réseau....

L'implémentation se fera dans le langage de votre choix.

Sujet pour 4 étudiants profil ICO

Lien : http://www.lirmm.fr/~lafourcade/TERM1/SUJ2022/Sujet_Golf_Mathematique.pdfDernière mise à jour : 2021-11-05 09:57:18

8. Extraction de relations sémantiques dans wikipedia
Identifiant : mathieu.lafourcade_2_2021-22 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : L'informatisation des professions de santé et le développement du dossier médical personnalisé (DMP) entraîne une progression rapide du volume d'information médicale numérique. Les systèmes informatiques médicaux permettent de stocker de l'information (dossier médical, résultats d'examens complémentaires, images et comptes rendus radiologiques par exemple), d'y accéder en vue d'améliorer la prise en charge des patients, de découvrir de nouvelles informations ou de fournir une aide à la décision pour l'amélioration de la qualité des soins. Or, cette information est souvent consultée de façon individuelle et manuelle alors que le format numérique permettrait une analyse informatisée. L'information à exploiter est en grande partie sous forme textuelle et il s'agit alors de pouvoir extraire de façon automatique des données sémantiques. Le besoin de convertir toute cette information sous forme structurée est donc un enjeu majeur. Pour réaliser cette tâche il est nécessaire d'avoir une base de connaissance de spécialité structurée et dynamique (apprentissage permanent).

Pour ce sujet de TER, il s'agira de travailler sur l'extraction de relations sémantiques (synonymie, hyperonymie, causatif, caractéristique..) à partir d'articles médicaux issus de l'encyclopédie Wikipedia et du site sur les maladies rares Orphanet. Cette extraction aura pour but de consolider un réseau lexico-sémantique de spécialité inclus dans le réseau de connaissance générale JeuxDeMots. Il faudra utiliser les ressources et travaux de recherches à votre disposition afin d'élaborer des algorithmes pertinents. Le travail sera composé des tâches suivantes:

* état de l'art sur l'extraction de relations sémantiques à partir de textes non structurés.
* récupérer les pages wikipédia (voire d'autres sites comme orphanet).
* proposer un algorithme d'extraction de relations.
* création d'une base de données susceptible d'être intégrée au réseau.

Le langage de programmation utilisé sera au choix des étudiants.

PS IMPORTANT : Si les étudiants le désirent, sujet peut éventuellement être abordé via un autre domaine, par exemple, la "gastronomie", "aéronautique", etc.

Lien : - • Dernière mise à jour : 2021-11-05 10:14:17

9. Résolution des coréférences pronominales
Identifiant : mathieu.lafourcade_3_2021-22 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : La résolution des coréférences se positionne comme un enjeu important du domaine du TALN. Il s'agit du phénomène dans lequel deux (ou plusieurs) syntagmes nominaux (noms propres, pronoms, etc) peuvent être interprétés comme faisant référence à la même entité dans le monde du discours (personne, date, lieu, événement..).

Exemple :
" Le chien est tombé dans le puits. Il a aboyé toute la nuit "
Une lecture raisonnable de la phrase est que le pronom "il" et "chien" font référence à la même entité. Les termes "chien" et "puits" s'accordent en genre et en nombre avec le pronom "il", en vue d'une automatisation, il seront tous deux considérés comme candidats potentiels à la résolution du pronom "il". Il convient pour les différencier, de disposer de l'information que des deux candidats seul un chien est capable d'aboyer.

Pour ce sujet de TER, il s'agira, à partir des textes de Wikipédia, de repérer puis de tenter de résoudre les coréférences pronominales (trouver la référence des pronoms 'je', 'tu', etc. à des noms de personnes, des objets, ...), dans un premier temps grâce à des heuristiques se basant sur une analyse syntaxique de la phrase analysée (heuristiques qu'il faudra proposer puis évaluer). Une base de connaissance (notamment JeuxDeMots) pourra par la suite être utilisée afin d'affiner les stratégies proposées.

Le travail sera composé des tâches suivantes :

* Dresser un état de l'art sur la résolution des coréférences pronominales
* Acquérir des textes à partir de l'API Wikipédia
* Proposer un ou plusieurs algorithmes de résolution
* Évaluer l'approche proposée

Mots-clés : Intelligence artificielle, traitement automatique du langage naturel, résolution de coréférences
(co encadrant : cedric.lopez@emvista.com)

Lien : http://www.lirmm.fr/~lafourcade/corefTER2018.pdfDernière mise à jour : 2021-11-05 10:14:39

10. Y -a-t-il un intrus ?
Identifiant : prince_1_2021-22 • Encadrant(s) : prince@lirmm.fr, mathieu.lafourcade@lirmm.fr

Résumé : Sujet : Y -a-t-il un intrus '
Encadrants : Mathieu Lafourcade, Violaine Prince

Le réseau lexical Jeux de Mots (JDM) (www.jeuxdemots.org et articles ici) est une ressource lexicale importante sous forme d'un gigantesque graphe, dont les sommets sont des termes de la langue, ou des concepts, et dont les arrêtes sont des relations sémantiques (qui apportent du sens), taxinomiques (qui servent à la classification) ou thématiques (qui indiquent que les sommets reliés relèvent d'un thème).

Aujourd'hui, le réseau a atteint une taille et un degré de maturité tels qu'ils permettent de réaliser des raisonnements et donc d'aider à la construction d'applications relevant de la représentation des connaissances et de l'intelligence artificielle.

L'idée proposée dans ce TER consiste à faciliter le raisonnement par le biais de la généralisation (induction expérimentale) et de la révision (abduction). Les notions considérées sont développées dans (Prince, 1998).

Pour cela, il faut 'créer un jeu' dans lequel on fournit au système un certain nombre de termes, appelés des 'faits'. En appariant ces termes avec JDM, le système doit pouvoir savoir si ces termes 'se ressemblent', sur quoi se fonde cette ressemblance (quelle relation en commun), et donc créer une classe de termes (généralisation), qui aura pour caractéristique la relation commune, si celle-ci n'existe pas encore. Cette classe permettra ensuite le raisonnement déductif abstrait et générique et donc plus au niveau conceptuel qu'au niveau terminologique.
Il peut arriver que certains termes ne puissent faire partie de la classe, auquel cas ce seront des 'intrus', et l'idée est de les mettre en avant, afin de les faire entrer dans un nouveau processus de généralisation.

Le jeu 'y-a't-il un intrus' sera un très bon moyen de pré-classifier des termes, de détecter des exceptions et des polysémies (multiplicité de sens). En substance, un terme a des chances d'être polysémique si on s'aperçoit qu'on peut le considérer comme une instance possible de plusieurs classes différentes. L'avantage de ce procédé est qu'il explicitera le socle de chacun des sens, puisqu'il s'agira de la (ou les) propriété(s) permettant de définir une classe.

Le TER consistera à :

* se familiariser avec le réseau JDM (http://www.jeuxdemots.org/diko.php);
* adapter et mettre en oeuvre des algorithmes proposés dans (Prince, 1998) ;
* réaliser une interface de jeu pour permettre à des utilisateurs de jouer à 'y -a-t-il un intrus '' de façon à alimenter le réseau.

Lien : - • Dernière mise à jour : 2021-11-05 10:15:49

11. Chaîne d'extraction d'informations depuis le web - application au cancer de la prostate
Identifiant : anne.laurent_2_2021-22 • Encadrant(s) : anne.laurent@lirmm.fr, mathieu.lafourcade@lirmm.fr

Résumé : L'objet de ce TER est de concevoir et implémenter une chaîne de traitements permettant l'extraction d'informations et son analyse depuis des documents trouvé sur le web. L'application se fera sur le cancer de la prostate. Une base de connaissance (JeuxDeMots) pourra être utilisé comme support.

Les tâches suivantes devront être réalisées :
* créer un crawler parcourant le web (à partir de moteur de recherche connus comme Google ou Bing) et récupérant les documents potentiellement intéressants ;

* Analyser des documents :
** repérer le vocabulaire non encore connu, des termes composés nouveaux (nouveaux == non connus de la base de connaissances)
** identifier les relations sémantiques dans les textes
* inférer des informations en combinant les informations nouvelles et celles déjà connues

Lien : - • Dernière mise à jour : 2021-11-05 10:17:18

12. Découverte de patrons sémantiques
Identifiant : mathieu.lafourcade_4_2021-22 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : Pour ce sujet de TER, il s'agira de travailler sur la découverte de patron sémantiques susceptible de porter une relations entre deux termes. On entreprendra conjointement l'extraction de relations sémantiques (synonymie, hyperonymie, causatif, caractéristique..) à partir d'articles médicaux issus de l'encyclopédie Wikipédia.

Par exemples :

    ** la phrase : "Chaque action est spécifiée par des préconditions qui doivent être satisfaites."
il faudra identifier " qui doivent être " comme 'r_carac' et avoir trouvé : préconditions r_carac satisfaites

    ** la phrase : "Un problème de planification classique est défini généralement comme un problème de recherche dans un graphe. "
il faudra identifier la patron "est défini généralement comme" comme la relation 'r_similar' ou 'r_isa'

L'approche sera d'utiliser une base de connaissances (JeuxDeMots) ou des relations entre termes sont déjà connues et de les confronter à ce qui peut être trouvé dans des textes. Le segment textuel (le futur patron) entre deux mots connus A et B pour entretenir une relation R (A R B), peut alors être associé au patron trouvé. Il faut répéter l'opération un grand nombre de fois sur des couples de termes différents. Le projet est en rapport avec les algorithmes d'apprentissage par renforcement. Les types morphologique (verbe, nom, adj, etc) sémantiques (animal, personne, objet, lieu etc.) des termes A et B aura également une influence sur le processus.

Cette extraction aura pour but de consolider le réseau de connaissance générale JeuxDeMots. Il faudra utiliser les ressources et travaux de recherches à votre disposition afin d'élaborer des algorithmes pertinents. Le travail sera composé des tâches suivantes:

* état de l'art sur l'extraction de relations sémantiques via des schémas à partir de textes non structurés ;
* état de l'art sur l'apprentissage par renforcement ;
* proposer un algorithme de découverte de schéma et d'extraction de relations, à partir d'un gros corpus (vous prendrez les sources de Wikipédia français ;
* utilisation et augmentation de la base de connaissance JeuxDeMots (http://www.jeuxdemots.org/jdm-about.php)

Le langage de programmation utilisé sera au choix des étudiants (mais bon, Java ou Python seraient bien :)

Lien : - • Dernière mise à jour : 2021-11-05 10:56:56

13. Speaking Mongo
Identifiant : ulliana_1_2021-22 • Encadrant(s) : ulliana@lirmm.fr, leclere@lirmm.fr, olivier.rodriguez@inria.fr

Résumé : Les systèmes NoSQL permettant de stocker et interroger des données
JSON manquent de standardisation au niveau du langage de requêtes. Le
résultat est évidemment une manque de portabilité des traitements
lorsqu'on migre d'un système à l'autre, mais encore plus des résultats
étonnants au moment de l'écriture des interrogations. L'objectif du
TER est pallier à cette manque et de mettre à disposition de
l'utilisateur un langage d'interrogation abstrait (avec une sémantique
claire), basé sur des simples requêtes arborescentes, qui soit
possible de relier à n'importe quel système. Dans le cadre du TER, on
considérera le système NoSQL MongoDB. Plus précisément, il est demandé
de définir les traductions possibles en MongoDB, d'implémenter
l'approche en Java, et de comparer les différentes stratégies.

prérequis : (nécessaire pour l'acceptation du groupe) Fort intérêt pour les bases de données. Compétences solides en Java. Connaissance de MongoDB.

Etudiants IASD ou GL

Lien : https://seafile.lirmm.fr/f/d3069ead58514edaabc6/Dernière mise à jour : 2021-11-05 12:28:01

14. Refonte de code Python : d'un script à une librairie
Identifiant : isabelle.mougenot_1_2021-22 • Encadrant(s) : isabelle.mougenot@umontpellier.fr

Résumé : Nous disposons d'un script Python qui, à partir de référentiels terminologiques hébergés sur le portail AgroPortal, et d'un service web d'enrichissement sémantique également fourni par AgroPortal, permet d'étendre les capacités de requêtage portant sur des jeux de données (envisagés comme des documents) acquis dans les sciences du vivant et de l'environnement. De manière à faire évoluer le code et de le rendre modulaire et extensible, il s'agir de construire dès à présent une librairie garante des bonnes pratiques de programmation objet.

Le groupe d'étudiants aura à sa charge :
- une modélisation conceptuelle au travers de diagrammes UML (en particulier diagrammes de cas d'utilisation, diagrammes de classes, et diagrammes de séquences)
- une refonte du code avec un découpage en classes et paquetages
- un jeu de fonctions de test sur la base du requêtage d'une collection de jeux de données. Il ne sera pas demandé aux étudiants de maîtriser
les langages du web sémantique qui seront mobilisés. Les requêtes comme les jeux de données seront donnés par l'encadrant.

profil/filière des étudiants : ICO (optionnellement autres parcours si non retenu par étudiants d'ICO)

Lien : - • Dernière mise à jour : 2021-11-05 17:12:50

15. Enrichissement d'une librairie Python pour du suivi de palmeraies en République de Djibouti   
Identifiant : isabelle.mougenot_2_2021-22 • Encadrant(s) : isabelle.mougenot@umontpellier.fr, mahdi.djama@gmail.com

Résumé : Ce projet fait suite à un premier travail TER réalisé l'an dernier par un groupe de M1 IPS. Une version alpha de librairie Python destinée à du traitement d'images satellites Sentinel 2 est d'ores et déja disponible.
Le groupe d'étudiants aura à sa charge :
- une appropriation du travail déjà réalisé (le code et le rapport de l'an dernier seront transmis)
- l'examen des indices (végétation, humidité, etc) les plus adaptés pour caractériser les palmeraies en milieu aride et leur codage
- la définition d'un paquetage d'export des résultats issus des traitements des images dans divers formats (JSON en particulier)
- la définition d'un paquetage pour le traitement de données vectorielles (non abordé l'an dernier)

profil/filière des étudiants : ICO (optionnellement autres parcours si non retenu par étudiants d'ICO)

Lien : - • Dernière mise à jour : 2021-11-05 17:13:45

16. Résolution d'anaphores / schémas de Winograd avec éléments de comparaisons
Identifiant : pompidor_1_2021-22 • Encadrant(s) : pompidor@lirmm.fr

Résumé : La résolution d'anaphores consiste en la désambiguisation de référents (souvent des pronoms) dans du texte. Par exemple, qui est "il" dans les deux propositions suivantes '
Le poisson a mangé le ver. Il était affamé.
Le poisson a mangé le ver. Il était délicieux.

C'est une problématique aussi ancienne (1950) que l'analyse de texte, mais qui n'est toujours pas résolue.

Le but de ce projet se focalisera sur les propositions contenant des éléments sous-jacents de comparaisons :
Le scooter a dépassé le bus scolaire, car il roulait trop [ vite / lentement ] .
La coupe n'entre pas dans la valise marron, car elle est trop [ grande / petite ] .
Nicolas n'a pas pu soulever son fils car il était trop [ faible / lourd ] .
Je ne peux pas couper la planche avec cette scie, elle est trop [épaisse / petite ] .
La table ne passe pas par la porte parce qu'elle est trop [ large / étroite ] .
Je n'ai pas pu mettre la carafe sur l'étagère, parce qu'elle était trop [ lourde / haute ] .

Pour analyser ces phrases, nous exploiterons le réseau lexical JeuxDeMots auquel il est possible que nous rajoutions de nouvelles relations. Voici quelques types de relations que gère ce réseau :
r_agent : brute agent de frapper (et r_agent-1)
r_causatif : violence cause de frapper
r_patient : prisonnier patient de frapper (et r_patient-1)
r_consequence : blessure conséquence de frapper
r_synonyme
r_hyponyme : saumon est un hyponyme de poisson
r_hyperonyme : poisson est un hyperonyme de saumon
{L'agent est celui qui réalise l'action, le patient la subit.}

Il est aussi possible que nous mettions en oeuvre un petit résolveur logique indépendant de JeuxDeMots. Par exemple, pour le schéma :
"Le scooter a dépassé le bus scolaire, car il roulait trop [ vite / lentement ] ."
ce résolveur pourrait utiliser une règle définissant que dépasser entraîne une vitesse supérieure de l'agent sur le patient :

Qx Qy r_agent(dépasser, x) ^ r_patient(dépasser, y)
--> Evx Evy (a_pour_vitesse(x,vx) ^ a_pour_vitesse(y,vy) ^ sup(vx,vy))

Dans la proposition "Le scooter a dépassé le bus scolaire, car il roulait trop vite.", cette règle serait invoquée avec succès avec il=scooter et rapidité=vitesse du scooter :
Qx Qy (r_agent(dépasser, x) ^ r_patient(dépasser, y)
--> Evx Evy (a_pour_vitesse(x,vx) ^ a_pour_vitesse(y,vy) ^ sup(vx,vy))
--> (a_pour_vitesse(scooter,rapidité) ^ a_pour_vitesse(bus scolaire,vy) ^ sup(rapidité,vy)
--> vy peut être instancié par "lenteur"

L'implémentation se fera exclusivement en Python en utilisant la bibliothèque de TALN stanza.

Lien : - • Dernière mise à jour : 2021-11-05 17:51:31

17. Un jeu de la vie en JavaScript   
Identifiant : pompidor_2_2021-22 • Encadrant(s) : pompidor@lirmm.fr

Résumé : Le but du projet consiste à réaliser un jeu graphique en JavaScript
(médiatisé dans un navigateur) qui permette à des démiurges (1 à 4
joueurs) de créer un couple de créatures herbivores (mâle et femelle).
Le but du joueur est de "paramétrer" ses créatures pour qu'elles
puissent prospérer au mieux, le gagnant étant celui qui (après un nombre
paramétrable de tours) aura le plus de créatures de "son" espèce en vie
(ou qui aura été le créateur de la dernière créature vivante).

Un joueur ne pourra pas choisir un paramétrage déjà utilisé par un autre
joueur, ce paramétrage consistant en un nombre fini de points à
distribuer sur différents axes, dont les trois suivants seront
obligatoirement à implémenter :
- le taux de "reproductivité" ;
- la perception : pour repérer de loin les ressources en eau et en
nourriture, voire des prédateurs... ;
- la force : pour occuper une case convoitée par des créatures de
différentes espèces (ou lutter contre des prédateurs...).

Un joueur ne pourra pas attribuer un maximum de points à tous les axes...

Les créatures d'une même espèce auront une tanière dans laquelle elles
pourront se reposer (et se reproduire). Le terrain sera constitué de
cases de type eau, prairie, rocher... distribuées aléatoirement.

L'état physiologique des créatures sera représenté par les trois taux
suivants :
- le taux d'hydratation
- le taux de satiété
- le taux d'énergie (qui pourrait aussi baisser en cas d'agression par
un prédateur)

Un taux d'hydratation ou de satiété à 0 fera mourir la créature, un taux
d'énergie à 0 l'empêchera d'accomplir une action (se déplacer,
s'alimenter, se reproduire...).

L'implémentation se fera exclusivement en JavaScript en utilisant la
bibliothèque d3.js.

Le sujet est réservé au parcours ICO.

Lien : - • Dernière mise à jour : 2021-11-05 18:16:32

18. Construction du graphe de connaissance de la conférence sur les graphes de connaissances
Identifiant : francois.scharffe_1_2021-22 • Encadrant(s) : francois.scharffe@umontpellier.fr

Résumé : La conférence sur les graphes de connaissances (KGC - Knowledge Graph Conference) est l'évènement international de référence sur les technologies de la connaissances: graphes de connaissances, web sémantique et données liées.

Les intervenants de la conférence incluent des industriels, développeurs, scientifiques, tous experts dans leur domaine. En marge de la conférence plusieurs évènement annexes sont organisés:
- Plusieurs ateliers et tutoriels
- le prix de la conférence, remis à une personnalité pour ses contributions au domaine,
- le Startup Pitch mettant en relation des start-ups et des investisseurs,
- Une étude sur l'état de l'industrie est réalisée et présentée chaque année.
En outre plusieurs évènements sont organisés tout au long de l'année:
- le Knowledge Espresso: un podcast vidéo régulier,
- le KGC Bookclub: un ensemble de clubs de lecture autour d'un livre et de son auteur.
- des groupes de travail sur divers sujets

Cette conférence portant sur les graphes de connaissances, quoi de plus naturel que de représenter les données publiques associées à la conférence en utilisant les graphes de connaissances. Ce sujet propose donc d'effectuer ce travail et consiste donc à:
- Analyser le code développé pour construire le graphe de connaissances de KGC pour les éditions 2019 et 2020 [2]
- Identifier les données nécessaires à la construction du graphe
- Développement de l'ontologie et de la taxonomie permettant de représenter la structure du graphe et les sujets de la conférence
- Développer une suite d'outils logiciels permettant de construire et de nourrir le graphe pour l'édition 2021 (passée), et 2022 (1ère semaine de Mai 2022).
- Développer un ensemble de règles de validation des données dans le graphe.
- Mettre en place un outil de visualisation et navigation dans les données du graphe consultable en ligne.

Technologies utilisées: RDF, SPARQL, OWL, SHaCL, APIs, développement Python et web.

Références
[1] https://www.knowledgegraph.tech
[2] https://github.com/KGConf/KGC-knowledge-graph

Lien : - • Dernière mise à jour : 2021-11-19 13:57:59

19. chingInfo   
BGC
Identifiant : mickael.montassier_1_2021-22 • Encadrant(s) : mickael.montassier@lirmm.fr

Résumé : On souhaiterait disposer d'un "chingAtome" pour les modules
informatique. Voir https://chingatome.fr/
chingAtome est un site web permettant :
- d'ajouter (en ligne ou non) des exercices et leurs corrections
(markdown, latex),
- de (pré)visualiser les contenus ajoutés,
- de sélectionner des exercices et de créer les fiches exercices et de
corrections des exercices sélectionnés (pdf),
- de rechercher des exercices selon des mots clefs, pré-requis,
- ...

Le tout doit être simple d'utilisation (et de mise en place), un système
de sauvegarde et de restauration doit être prévu.

Lien : - • Dernière mise à jour : 2021-11-19 13:37:28

20. FCA NoteBook   
Identifiant : marianne.huchard_1_2021-22 • Encadrant(s) : marianne.huchard@lirmm.fr, yulin.zhang@crispi-upjv.fr

Résumé : Résumé : L'analyse formelle de concepts est une méthode d'analyse de données
offrant différents angles d'études dont la structuration de ces données
dans des classifications hiérarchiques ou l'extraction de règles
d'implication. FCA4J est une bibliothèque d'algorithmes Java qui
implémente différents algorithmes pour mettre en 'uvre l'analyse
formelle de concepts mais aussi pour préparer les données. Réaliser une
analyse demande d'enchaîner différents algorithmes, par exemple en
commençant par créer une table de données, ou par simplifier une table
de données existante, ou à binariser une table de données existante
avant de créer un treillis ou d'extraire des règles à partir de cette
table. Cela peut consister aussi à lancer les algorithmes avec
différents paramètres et à comparer des temps de calculs ou des
résultats. Les 'notebooks' comme les Jupyter NoteBook sont devenus
récemment très populaires pour faciliter l'analyse de données dans un
contexte interactif et de partage. Ils permettent de mélanger du code,
des exemples, des rendus visuels riches, de la documentation et des
tests. L'objectif de ce TER consistera à étudier la manière de réaliser
des notebooks avec la bibliothèque FCA.

Lien : https://docs.google.com/document/d/1NHilwEs2EeQomuE_KKQWiIMfgQsXwF6iN0TxbMAfVMo/edit?usp=sharingDernière mise à jour : 2021-11-19 13:42:32

21. Eye-tracking en Réalité Virtuelle
Identifiant : nancy.rodriguez_1_2021-22 • Encadrant(s) : nancy.rodriguez@lirmm.fr

Résumé : Dans ce projet, nous souhaitons réaliser plusieurs tests dÂ’accessibilité de la Réalité Virtuelle avec un casque Pico Neo 3 Pro Eye (casque immersif avec un eye-tracker integré) pour lesquels il est nécessaire de prendre en main le casque, dÂ’identifier des applications (dévelopées en Unity) permettant de mettre en place les tests et de caractériser les données résultantes des expériences réalisées.

Le projet en détail est en pièce jointe (lien ci-dessous)

Lien : http://www.lirmm.fr/~lafourcade/TERM1/SUJ2022/ProjetTER-NR.pdfDernière mise à jour : 2021-11-21 10:03:44

22. IA (RN+renforcement) pour Leekwars   
Identifiant : lafourca_5_2021-22 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : Leekwars est un jeu proposant de programmer une IA afin de contrôler un poireau (si ! c'est possible) combattant d'autres poireaux.

L'objet de ce sujet est de créer une IA qui apprend à se battre efficacement, via une approche combinant apprentissage par renforcement (association état courant et action(s) à réaliser) et réseaux de neurones profonds (pour évaluation/classification de l'état courant). L'efficacité de l'IA se mesurera à son classement dans le site du jeu.

L'IA sera entrainée via le générateur de combats Leekwars (lien ci-dessous).

Liens :
* le jeu : https://leekwars.com/

* https://fr.wikipedia.org/wiki/Apprentissage_par_renforcement

* https://github.com/orgs/leek-wars/repositories
* https://github.com/leek-wars/leek-wars
* générateur de combat Leekwars : https://github.com/leek-wars/leek-wars-generator

Prérequis : jouer à Leekwars, maitriser raisonnablement le jeu, avoir un poireau niveau 301

Lien : - • Dernière mise à jour : 2021-11-21 18:30:19

23. Interaction humain - agent: comment collaborer avec un agent
Identifiant : croitoru_2_2021-22 • Encadrant(s) : croitoru@lirmm.fr

Résumé : Le but de ce TER M1 est d'implémenter un module de collaboration agent-humain dans un jeu de PacMan déjà implémenté avec une architecture BDI par les étudiants de M2 Imagine. Le jeu consiste dans un jeu de Pacman classique enrichi avec la possibilité d'avoir plusieurs Pacmans qui collaborent (s'envoient des messages avec une blackboard). Une interface graphique est déjà codée pas les etudiants de M2. Le but est de construire sur ce projet et permettre que dans certaines mission l'humain peut donner des instructions simples au Pacmans.

Pre-requis: suivi le cours HAI716I

Lien : - • Dernière mise à jour : 2021-11-21 21:01:58

24. Explication des coalitions dans un système multi agent
Identifiant : croitoru_1_2021-22 • Encadrant(s) : croitoru@lirmm.fr

Résumé : Ce stage M1 vise à construire un module d'explication pour un jeu développé par les étudiants de M2 Imagine. Le jeu consiste à plusieurs personnages à s'organiser dans des coalitions pour gagner contre un ennemi. Il a été implémenté en utilisant une architecture BDI et une interface graphique Unity. Le but est de coder un module qui permets à l'utilisateur de comprendre pourquoi une coalition a été formée et de questionner son utilité.

Pre-requis: suivi le cours HAI716I

Lien : - • Dernière mise à jour : 2021-11-21 21:02:15

25. Projet corpus Humanum
Identifiant : jeremi.sauvage_1_2021-22 • Encadrant(s) : jeremi.sauvage@univ-montp3.fr, nada.jonchere@univ-montp3.fr

Résumé : 1- Construction d'un Data Warehouse pour des images 3D
2- Construction d'un Data Warehouse pour des contenus textuels, traitement par IA

Résumé :
La quantité massive de données, leur omniprésence et les exigences pour les relier impliquent une standardisation du traitement et des procédures associées à leur trajectoire. La réflexion s'inscrit désormais dans une stratégie globale, incluant des questions sur les impacts écologiques, économiques et sociaux. Certaines structures et agences (par exemple Research Data Alliance, DRA France (CNRS) ou les déclinaisons de l'Open Science Cloud européen, la TGIR -Très Grande Infrastructure de la Recherche- HumaNum) organisent le domaine.

L'exigence de compréhension et de traitement des ensembles de données conduit à des propositions de structuration et de formation. Ces solutions sont pour la plupart dans le domaine des mathématiques, de l'informatique, de l'économie ou du marketing et de la communication. On constate que les initiatives de dans les domaines de la littérature, des arts et des sciences sociales (désormais "Humanités") restent dispersées et non structurées malgré l'apparition d'un champ scientifique général appelé Humanités numériques. Cependant, la recherche dans ce domaine exige une connaissance détaillée des techniques de traitement et des méthodologies scientifiques qui permettent de saisir la richesse des données relatives aux faits humains. En retour, ces disciplines apportent à l'informatique les exigences et les compétences associées à des ensembles de données complexes et multimodaux concernant le comportement humain et les phénomènes sociaux.

Tâches :
* Recueillir de données
* Créer un schéma pour chaque source de données
* Synchroniser les sources de données dans le Data Warehouse
* Transformer les sources de données avant l'import dans le Data Warehouse
* Transformer les données pour résoudre un problème spécifique
* Produire une documentation interne

Modélisation :
* ETL ou ETC
* Étoile
* Flocon

note : ce projet peut être dédoublé pour deux groupes : un pour les images 3D, l'autre pour les contenus textuels

Lien : - • Dernière mise à jour : 2021-11-22 18:12:29

26. Stylisation d'images à l'aide d'une triangulation   
Identifiant : noura.faraj_1_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr, william.puech@lirmm.fr

Résumé : L'objectif de générer automatiquement des images triangulées artistiques
en utilisant des informations extraites de l'image pour cela vous
proposerez une application interactive permettant de choisir le type de
caractéristiques à extraire de l'image, la résolution, le style, les
couleurs de la triangulation et de la modifier localement. Si le temps
le permet cette méthode sera appliquée pour styliser des vidéos.

** Des prérequis si nécessaires ;

c++

Lien : http://www.lirmm.fr/~nfaraj/files/TER/TER_triangulation_images.pdfDernière mise à jour : 2021-11-25 13:35:29

27. Extraction de connaissances pour le domaine du fact-checking   
KRH
Identifiant : konstantin.todorov_4_2021-22 • Encadrant(s) : konstantin.todorov@lirmm.fr

Résumé : Les fausses nouvelles (fake news) sont devenues un problème de plus en
plus important, tant du point de vue de la société que de celui de la
recherche. Le LIRMM et le LGI2P, en collaboration avec 2 équipes
allemandes, a construit et mis à disposition la base de connaissances
ClaimsKG (https://data.gesis.org/claimskg/site/#about) qui recueillit
les informations et méta-données provenant d'un grand nombre de sites
journalistiques de fact checking. Le sujet de TER consiste en
l'extraction de connaissances (e.g. véracité des claims, leurs auteurs,
entités et événement liés) à partir du texte des articles publiés sur
des sites de fact-checking en utilisant des méthodes de transfert
learning et machine learning.

** Des prérequis si nécessaires ;
- Python et / ou Java
- Des bases en machine learning et NLP

ICo ou IASD

Lien : https://docs.google.com/document/d/1JEvp7zl17z3_BrXTr0rp1G39cDkROjZvV2yXd995v2I/edit?usp=sharingDernière mise à jour : 2021-11-29 10:15:40

28. Claims and tweets : Mise en correspondance de ClaimsKG et TweetsCOV19   
Identifiant : konstantin.todorov_5_2021-22 • Encadrant(s) : konstantin.todorov@lirmm.fr

Résumé : ClaimsKG (https://data.gesis.org/claimskg/) est une large base de
connaissances sur les assertions faisant partie des débats publics. La
véracité de ces assertions a été vérifiée par des organisations
journalistiques de fact-checking. TweetsKB
(https://data.gesis.org/tweetskb/) est une large base de connaissances
contenants des tweets et leur métadonnées. TweetCOV-19
(https://data.gesis.org/tweetscov19/), contenant uniquement des tweets
liés à la pandémie globale, a été extrait à partir de TweetsKB.
Le TER a pour but de créer des liens entre les entités contenues dans
les deux bases de connaissances. Cela implique relier les assertions de
ClaimsKG aux tweets dans TweetsCOV19, mettre en correspondance les
entités contenues dans les deux bases (par exemple, noms de personnes,
lieux, organisations, etc.), regrouper ensemble des assertions et des
tweets selon leur topic ou bien leur sources et auteurs. Dans un second
temps, nous allons nous intéresser à enrichir ces liens vers d'autres
bases de connaissances portants sur le COVID-19, telles que
COVID-on-the-Web [3]

** Des prérequis si nécessaires ;
- Python et / ou Java
- Des bases en machine learning et / ou web sémantique


ICo ou IASD

Lien : https://docs.google.com/document/d/1Xrf9HD4RG9qfhQ2-klFailtkmpYo2-03jpYe6YrDrZg/edit?usp=sharingDernière mise à jour : 2021-11-29 10:18:05

29. A la recherche de fausses nouvelles   
rsd
Identifiant : konstantin.todorov_3_2021-22 • Encadrant(s) : konstantin.todorov@lirmm.fr

Résumé : Les fausses nouvelles (fake news) sont devenues un problème de plus en
plus important, tant du point de vue de la société que de celui de la
recherche. Le LIRMM, en collaboration avec 2 équipes allemandes, a
construit et mis à disposition la base de connaissance ClaimsKG qui
recueille les informations et méta-données provenant d'un grand nombre
de sites journalistiques de fact checking. Le sujet de TER consiste en
l'enrichissement de cette base de connaissances avec des nouvelles
données provenant du web: des sites de fact-checking ou bien des réseaux
sociaux tels que Twitter. On s'intéressera en particuliers aux
assertions en autres langues que l'anglais.

** Des prérequis si nécessaires ;
- Python

ICo uniquement

Lien : https://docs.google.com/document/d/1FztJs_ksLTRTOGsmK1ETb8ds_CI5IkxlpKQ8f7mdGtg/edit?usp=sharingDernière mise à jour : 2021-11-29 10:19:33

30. Réconciliation des assertions pour la vérification automatique de faits (fact checking)   
Identifiant : konstantin.todorov_2_2021-22 • Encadrant(s) : konstantin.todorov@lirmm.fr

Résumé : Les fausses nouvelles (fake news) sont devenues un problème de plus en
plus important, tant du point de vue de la société que de celui de la
recherche. L'objectif de ce TER est de proposer et mettre en oeuvre une
approche automatique de mise en correspondance d'assertions publiés de
manière indépendantes dans des sites de fact-checking différents (tels
que Snopes ou Politifact) et ainsi interconnecter les bases de
connaissances issues de ces sites. Le travail commencera par une phase
d'analyse statistique des données collectées avant d'élaborer une
méthode originale de résolution de coréférences.

** Des prérequis si nécessaires ;
- Python

Ouvert à tout parcours

Lien : https://docs.google.com/document/d/1QVAdBcNTKHKolPA1XztW4DNo1J0V8e0mO7tiQVyrrI8/edit?usp=sharingDernière mise à jour : 2021-11-29 10:21:05

31. Enrichissement d’une base de connaissances pour la vérification de faits (fact-checking) et amélioration de la recherche d’information sur les fausses informations
Identifiant : konstantin.todorov_1_2021-22 • Encadrant(s) : konstantin.todorov@lirmm.fr

Résumé : Les fausses nouvelles (fake news) sont devenues un problème de plus en
plus important, tant du point de vue de la société que de celui de la
recherche. Le LIRMM, en collaboration avec 2 équipes européennes, a
construit et mis à disposition la base de connaissance ClaimsKG qui
recueillit les informations et méta-données provenant d'un grand nombre
de sites journalistiques de fact-checking. Le sujet de TER consiste en
l'enrichissement de cette base de connaissances avec des nouvelles
données, l'extraction automatique et la structuration des topics des
données et l'amélioration de 2 applications web pour faire de la
recherche sur ces données et leur statistiques.

** Des prérequis si nécessaires ;

- Python
- NodeJS (Javascript/Typescript) - formation possible en cours du projet

Ouvert à tout parcours.

Lien : https://docs.google.com/document/d/1fPFLQra6AORY1ovQCgxHzOoihEMmTnrVVewP3izfvwc/edit?usp=sharingDernière mise à jour : 2021-11-29 10:22:27

32. Visite virtuelle de la faculté de Médecine
Identifiant : nancy.rodriguez_2_2021-22 • Encadrant(s) : nancy.rodriguez@lirmm.fr

Résumé : Dans ce projet, nous souhaitons réaliser une visite virtuelle du bâtiment historique de la faculté de Médecine de Montpellier. Ce bâtiment est un lieu emblématique de la médecine et de la ville. La visite sera créée à partir de photos "normales" et de photos 360'.

Les visites virtuelles permettent d'explorer des environnements qui ne sont pas accessibles
pour diverses raisons comme la distance, l'éthique, la protection du site, la sécurité des visiteurs
ou les pandémies ( !). Le bâtiment historique de la faculté de Médecine, qui a fêté ses 800 ans le
17 août 2020, est un lieu emblématique de la médecine et de la ville de Montpellier. Dans ce
projet, nous souhaitons réaliser une visite virtuelle du bâtiment, ainsi que de plusieurs salles
dont la prestigieuse salle des actes, classée au titre des monuments historiques, et ornée de
nombreux portraits d'anciens savants et professeurs.
Plusieurs éléments sont à considérer lors de la création d'un tour guidé : la capture et/ou la
modélisation de l'environnement en utilisant de photos 'normales' ou '360', la définition des
vues permettant de donner accès aux informations importantes, la manière d'arranger ces vues
dans l'ordre de la visite, les indices nécessaires à la navigation et les possibilités d'interaction
avec les objets.

Références :

Fabio Bruno, Stefano Bruno, Giovanna De Sensi, Maria-Laura Luchi, Stefania Mancuso, Maurizio Muzzupappa From 3D reconstruction to virtual reality: A complete methodology for digital archaeological exhibition. Journal of Cultural Heritage. Volume 11, Issue 1, January March 2010, Pages 42-49

Daniel A.Guttentag. Virtual reality: Applications and implications for tourism. Tourism Management, Volume 31, Issue 5, October 2010, Pages 637-651

MOUV : se motiver et s'orienter à l'université grâce au virtuel Stéphanie Mailles Viard Metz, Nathalie Auger, Nathalie Blanc, Nancy Rodriguez, Sophie Dufour, Jérémi Sauvage, Chrysta Pelissier. Journées d'étude des ESPE Occitanie, Jun 2017, Narbonne, France

Sebastian Pick, Andrea Bönsch, Irene Tedjo-Palczynski, Bernd Hentschel, Torsten Kuhlen. Guided tour creation in immersive virtual environments. 2014 IEEE Symposium on 3D User Interfaces (3DUI)

Nancy Rodriguez. Virtual Reality for Industrial Heritage: The Thermal Power Plant of Aramon. In: Stephanidis C., Antona M., Ntoa S. (eds) HCI International 2021 - Posters. HCII 2021. Communications in Computer and Information Science, vol 1420. Springer, Cham. https://youtu.be/i7MCmDRb0Ow

Martijn J. Schuemie, Peter van der Straaten, Merel Krijn, Charles A.P.G. van der Mast. Research on Presence in Virtual Reality: A Survey. CyberPsychology & BehaviorVol. 4, No. 2 R

Lien : - • Dernière mise à jour : 2021-11-29 11:36:42

33. Intégration de fonctions calculées Python dans la plateforme Graal
Identifiant : jean-francois.baget_1_2021-22 • Encadrant(s) : jean-francois.baget@lirmm.fr

Résumé : La plateforme Graal, développée au sein de l'équipe-projet INRIA GraphIK du LIRMM, est dédiée aux raisonnements utilisant le formalisme des règles existentielles. Cette plateforme a été récemment enrichie au cours de deux stages :

** Intégration de fonctions calculées (stage Riadh Guemache, 2021) : permet d'utiliser n'importe quelle fonction JAVA écrite par l'utilisateur pour filtrer des réponses ou calculer des résultats, que ce soit dans une règle ou dans une requête. Avec la syntaxe DLGP, ceci permet d'écrire :

@computed lib "configfileURL.json"
prixTTC(X, lib:calculTVA(P, T)) :- prixHT(X, P), categorie(X, C), tauxTVA(C, T).

La première ligne indique que toute fonction ou prédicat préfixée par "lib" doit être interprétée suivant les instructions donnée dans le fichier de configuration "configfileURL.json". Ce fichier indique quel est le package et la classe JAVA dans laquelle on trouve la méthode calculTVA. Cette méthode sera utilisée pour calculer le résultat de l'application de la règle.

** Appel GRAAL depuis un programme Python (stage Tom Salembien, 2021) : ce stage a utilisé la librairie py4J pour permettre d'utiliser GRAAL sans écrire une seule ligne de code en JAVA, mais en utilisant ses méthodes depuis un programme Python. La simplicité des appels depuis Python permet à des programmeurs Python débutants d'utiliser la plateforme Graal.

import graal
graal = graal.Graal()
kb = graal.make_knowledge_base()
kb.add_atom("human(socrates).")
kb.add_rule("mortal(X) :- human(X).")
for answer in kb.make_answers("'(X):-mortal(X)."):
print(answer['X'])

Le sujet de TER proposé consiste en une fusion de ces deux stages. En effet, un problème demeure : si un programmeur Python souhaite utiliser les fonctions calculées, il doit pour l'instant écrire ces fonctions en JAVA. Nous souhaitons lui offrir la possibilité de les écrire également en Python. Pour cela, il faut que les méthodes JAVA de Graal puissent appeler ces fonctions Python. Des solutions logicielles existent pour arriver à ce résultat, dont plusieurs sont listées dans https://web.archive.org/web/20200501221233/https://talvi.net/a-brief-overview-of-python-java-bridges-in-2020.html.

** Le groupe d'étudiants devra :
Généraliser le fichier de configuration afin qu'il puisse identifier du code Python aussi bien que du code JAVA
Reprendre le code du stage de Riadh Guemache afin qu'il puisse aussi bien appeler du code JAVA (ce qui était fait grâce au package java.lang.reflect) que du code Python (ce qui devra utiliser une des solutions logicielles comme celles listées ci-dessus).
Evaluer ces différentes solutions logicielles : le temps mis à lier un nom de fonction à du code Python n'est pas un facteur important, mais chaque fonction pourra être appelée un très grand nombre de fois avec des paramètres différents, aussi cette deuxième étape doit être la plus efficace possible.

Prérequis : programmation JAVA sous éclipse, initiation à Python, cours de représentation de connaissances.

Lien : - • Dernière mise à jour : 2021-11-29 13:55:25

34. Mettre le coronavirus en musique !
Identifiant : emmanuel.faure_1_2021-22 • Encadrant(s) : emmanuel.faure@lirmm.fr, raphael.gaudin@irim.cnrs.fr

Résumé : Grâce à plusieurs séries d'images 3D temporelles du virus de la pandémie actuelle effectuées par l'Institut de Recherche en Infectiologie à Montpellier, nous voulons illustrer en musique la dynamique spatio-temporelle de l'infection par le SARS-CoV-2. Ainsi à partir des observations 3D + t, nous allons appliquer une série de différents traitement d'images afin d'obtenir une reconstruction sémantique du virus. Ensuite, grâce à l'expertise du biologiste nous transformerons ces reconstructions en une liste de mesures caractéristiques de la dynamique spatio-temporelle. Et enfin nous connecterons ces variables représentant les caractéristiques à un synthétiseur MIDI avec des pistes préenregistrées avec des tonalités choisies en fonction de l'impact du comportement du virus.

** Prérequis : python, traitement d'images.

Lien : https://seafile.lirmm.fr/f/4bb4a363ed624f428fba/?dl=1Dernière mise à jour : 2021-11-29 11:45:53

35. Jeu de stratégie orienté combat   
Identifiant : noura.faraj_2_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr, simon.besga@lirmm.fr

Résumé : Ce projet a pour objectif de créer un jeu que vous pourrez mettre sur une borne d'arcade de jeux mise à disposition par le département informatique de la faculté des sciences. Le jeu pourra être réalisé à l'aide d'Unity, Qt 3D, Unreal'

Le projet pourra recréer une démo jouable d'un jeu de stratégie orienté combat. Dans ce cas, deux équipes s'affronteront : une piloté par le joueur et une piloté par une IA. Chaque unité devra posséder une conscience propre. La gestion des déplacements pourra être effectuée par des algorithmes de recherche de type A*. Le rendu pourra être effectué en 2D. Une autre option sera de réaliser un simulateur de vol en avion dans un univers infini. Il faudra pour cela proposer des méthodes intuitives pour le contrôle des vitesses et des accélérations dans les trois directions. Il faudra gérer simultanément les défilements du décor, et les mises à jour du tableau de bord. Alternativement, vous pourrez réaliser un jeu de course de voiture en caméra subjective, dans le style du jeu ' stunt car racer ', en gérant les déplacements, vitesses et accélérations du véhicule. Une attention particulière devra être apportée à la gestion des collisions entre le véhicule et le décor. Vous pouvez également proposer un autre type de jeu.

** Des prérequis si nécessaires ;
c++

Lien : http://www.lirmm.fr/~nfaraj/files/TER/TER_jeu_arcade.pdfDernière mise à jour : 2021-11-30 10:51:14

36. App web proposant des jeux de type test de connaissances   
Identifiant : vincent.berry_1_2021-22 • Encadrant(s) : vincent.berry@umontpellier.fr

Résumé : Profil/filière des étudiants que vous souhaitez : GL / Imagine / ICO / IA-SD

Résumé : Dans ce projet vous mettrez en place une petite app web permettent de tester les connaissances d'un joueur et de détecter ses lacunes sur un certain thème. L'activité sera organisée sous la forme de jeux d'associations, par exemple sous la forme d'un memory. Le site doit être paramétrable afin de pouvoir réutiliser sa fonctionnalité dans différents secteurs : l'informatique, l'écologie, la musique, '

Un back office simple permettra à un concepteur de proposer une nouvelle thématique, en indiquant en particulier des questions, des réponses correctes, des réponses incorrectes, des noms de connaissances / compétences associées, une ou plusieurs images, éventuellement des fichier sons, et des liens vers des sites externes permettant de se former en cas de non résolution de la question.

Partant d'une telle liste, le site web présentera sur le front office les questions et les réponses et proposera au joueur d'associer des réponses à des questions. En fin de partie il indiquera les bonnes et les mauvaises réponses et une liste de liens recommandés pour renforcer ses connaissances / compétences.

Vous proposerez un rendu permettant d'immerger le joueur dans un univers particulier (différents d'un thème à l'autre) : fond d'écran, musique, éléments animés, ...

En option plusieurs fonctionnalités secondaires pourront être proposées comme l'utilisation d'un timer, une table des high-scores, l'indication d'une image de fond d'écran, un message audio ou texte d'introduction au jeu, le fait que les réponses et les questions changent de place au bout d'un moment pour corser la difficulté, '


Prérequis : HTML / un minimum de Javascript / un langage de programmation permettant de faire un site web dynamique (Python, Javascript, PHP).

Lien : http://www.lirmm.fr/~vberry/COURS/TER/Opening_M1-FdS-2122.pdfDernière mise à jour : 2021-12-01 10:29:27

37. Refactoring d’app web suivant le modèle des micro services   
LAM
Identifiant : vincent.berry_2_2021-22 • Encadrant(s) : vincent.berry@umontpellier.fr, chouki.tibermacine@umontpellier.fr

Résumé : Profil/filière des étudiants que vous souhaitez : GL (uniquement)

Résumé : L'application web https://shellonyou.fr permet aux étudiants de se former au Shell Linux par la pratique (Learning by doing) en mettant en avance des compétences gagnées au fur et à mesure des exercices réalisés. Des compétences en Génie Logiciel sont requises pour proposer un refactoring de l'app sous forme de micro-services, offrant plus de flexibilité et un meilleur scaling à l'app.

La version actuelle est écrite en Node.js, adossée à une base de données Postgres et les résultats des exercices sont analysés par des scripts Python pour donner un feedback aux étudiants. L'ensemble est hébergé dans des conteneurs Dockers, permettant de facilement déployer l'application. Des étudiants des années précédentes ont contribué à développer cette application qui repose essentiellement sur une architecture monolithique. L'objectif de ce projet est de proposer un refactoring de l'app suivant une architecture micro-services.

Les missions de ce projet sont les suivantes :
Étude et choix d'un type d'architecture micro-services
Étude et choix et début d'implantation d'une méthodologie de refactoring

Prérequis : quelques compétences en dév. d'app Web (front/back-end, architecture MVC, notions de

middlewares, du protocole http, API REST)

Lien : http://www.lirmm.fr/~vberry/COURS/TER/ShellOnYou-TER-M1-FdS-microservices-2122.pdfDernière mise à jour : 2021-11-30 14:22:15

38. Étude des réseaux antagonistes génératifs   
ARM
Identifiant : pascal.poncelet_1_2021-22 • Encadrant(s) : pascal.poncelet@lirmm.fr

Résumé : Depuis l'article fondateur en 2014, les réseaux antagonistes génératifs (Generative Adversarial Networks) en permettant de générer des images réalistes sont de plus en plus utilisés. Le principe général de ces approches est de disposer de deux réseaux qui sont mis en compétition. Le premier, appelé générateur, est un type de réseau de neurones convolutif qui vise à générer des données. Son adversaire, appelé discriminateur, est un réseau de neurones "déconvolutif" qui essaye de détecter si la donnée générée est réelle ou pas. Ainsi au cours du temps, via la rétropropagation, le générateur va tenter de générer des sorties de meilleure qualité alors que le discrimateur va détecter de mieux en mieux les fausses données.
C'est dans ce cadre que s'inscrit ce sujet de TER. Il consiste à mieux comprendre le fonctionnement de ce type de réseau et à pouvoir les mettre en oeuvre pour mener différentes expérimentations.

Pré-requis : programmation Python, curiosité

Lien : http://www.lirmm.fr/~poncelet/TERM1_GAN.pdfDernière mise à jour : 2021-11-30 14:25:13

39. Application cross plateforme via Flutter avec dématérialisation de carte et notification PUSH   
Identifiant : clementine.nebut_1_2021-22 • Encadrant(s) : clementine.nebut@lirmm.fr, florian.gaune@soprasteria.com, william.teyssonneyre@soprasteria.com

Résumé : Dans le cadre de recherche de la refonte d'une application mobile, vous serez amené à réaliser une application mobile multiplateforme basé sur Flutter.
Flutter est un framework développé par Google, basé sur le langage Dart : langage récent orienté objet et optimisé pour les applications multi plateformes.

Les axes de réflexion autour de ce sujet sont :
* Avantages et inconvénients d'une technologie multiplateforme (Flutter, Cordova, Xamarin, ') VS technologies natives (Android 'Java, Objective-C, Swift, ')
* Identification et mise en place des éléments permettant la dématérialisation de carte (Affichage / lecture QR code et code barre) et la communication d'information via le protocole NFC
* Mise en place d'un service de notification PUSH permettant d'émettre des notifications aux utilisateurs via l'application, depuis un serveur dédié.


Dans le cadre de ce projet, vous serez accompagné par deux collaborateurs Sopra Steria, ainsi qu'un développeur Flutter, au besoin.
Les ressources nécessaires pour la mise en place d'un service de notification PUSH seront mis à disposition (Machine virtuelle sur Azure, etc')
Le projet fonctionnera en mode Agile cadencé par des sprints de deux semaines, et un suivi hebdomadaire de l'avancé et partage des difficultés / questions.

Pré-requis / facilitant :
* Connaissances dans le développement de technologies mobiles (ex. : Android)
* Fonctionnement d'une API REST

Lien : - • Dernière mise à jour : 2021-12-01 08:20:38

40. Génération de Caricatures Numériques à l'aide de techniques d'IA   
Identifiant : francois.scharffe_n_2021-22 • Encadrant(s) : francois.scharffe@umontpellier.fr, francois.scharffe@umontpellier.fr

Résumé : La caricature est un art aussi ancient que le dessin (elle n'est pas toujours voulue). Depuis quelques années, des techniques d'intelligence artificielle basées sur des architectures de réseaux de neurones permettent de modifier des images pour leur donner un style particulier.
Le but de ce projet est de proposer une solution permettant de faire une caricature d'une personne à partir d'une photo et d'un style particulier donné. Le projet consistera à
- étudier les différentes architectures et méthodes permettant de générer une image stylée à partir d'une image source et d'un style
- tester plusieurs approches
- implémenter un serveur et une application permettant de déposer un portrait et de générer une caricature dans un style donné, ou bien de lire un ensemble de photos dans un dossier donné et de générer toutes les caricatures pour ce dossier en fonction d'un style donné.

Ce sujet permettra d'explorer des techniques d'IA basées sur des réseaux de neurones mais l'implémentation et l'entrainement des réseaux ne sera pas nécessaire.
Il faudra probablement utiliser un compte chez un fournisseur de services Cloud permettant l'accès à des serveur avec GPU. Une partie de mise en place du service et du serveur sera donc nécessaire.
Une partie développement Web/Application mobile sera demandée.
Enfin il y aura un aspect créatif autour des choix et des essais permettant de réaliser des caricatures qui ont bien l'air de caricatures.

https://machinelearningmastery.com/introduction-to-style-generative-adversarial-network-stylegan/
https://thecartoonist.me/
https://neuralstyle.art/
https://yuval-alaluf.github.io/hyperstyle/

Lien : https://yuval-alaluf.github.io/hyperstyle/Dernière mise à jour : 2021-12-01 14:24:31

41. From speech to logic: talking about cats
Identifiant : croitoru_3_2021-22 • Encadrant(s) : croitoru@lirmm.fr

Résumé : The aim of this TER is to implement a controlled English module that translates human speech (or text) to a logical formalism easily interpreted by the computer. For instance the human would say: a black cat is drinking a Coke and the module will output: cat(c) and black (c) and drinks (c, Coke). Or the human would say : all cats are nasty and the module will output cat(c) implies nasty (c). The implementation language is at the choice of the student.

Lien : - • Dernière mise à jour : 2021-12-04 10:40:58

42. IA (RN+Algo génétique) pour Leekwars (bis)   
Identifiant : mathieu.lafourcade_6_2021-22 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : Leekwars est un jeu proposant de programmer une IA afin de contrôler un poireau (si ! c'est possible) combattant d'autres poireaux.

L'objet de ce sujet est de créer une IA qui apprend à se battre efficacement, via une approche combinant apprentissage par algorithmes géntiques et réseaux de neurones profonds (pour évaluation/classification de l'état courant). L'efficacité de l'IA se mesurera à son classement dans le site du jeu.

L'IA sera entrainée via le générateur de combats Leekwars (lien ci-dessous).

Liens :
* le jeu : https://leekwars.com/

* https://fr.wikipedia.org/wiki/Apprentissage_par_renforcement

* https://github.com/orgs/leek-wars/repositories
* https://github.com/leek-wars/leek-wars
* générateur de combat Leekwars : https://github.com/leek-wars/leek-wars-generator

Prérequis : jouer à Leekwars, maitriser raisonnablement le jeu, avoir un poireau niveau 301

Lien : - • Dernière mise à jour : 2021-12-06 10:46:55

43. Jeu de stratégie orienté combat (bis)   
Identifiant : noura.faraj_3_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr, simon.besga@lirmm.fr

Résumé : Ce projet a pour objectif de créer un jeu que vous pourrez mettre sur une borne d'arcade de jeux mise à disposition par le département informatique de la faculté des sciences. Le jeu pourra être réalisé à l'aide d'Unity, Qt 3D, Unreal'

Le projet pourra recréer une démo jouable d'un jeu de stratégie orienté combat. Dans ce cas, deux équipes s'affronteront : une piloté par le joueur et une piloté par une IA. Chaque unité devra posséder une conscience propre. La gestion des déplacements pourra être effectuée par des algorithmes de recherche de type A*. Le rendu pourra être effectué en 2D. Une autre option sera de réaliser un simulateur de vol en avion dans un univers infini. Il faudra pour cela proposer des méthodes intuitives pour le contrôle des vitesses et des accélérations dans les trois directions. Il faudra gérer simultanément les défilements du décor, et les mises à jour du tableau de bord. Alternativement, vous pourrez réaliser un jeu de course de voiture en caméra subjective, dans le style du jeu ' stunt car racer ', en gérant les déplacements, vitesses et accélérations du véhicule. Une attention particulière devra être apportée à la gestion des collisions entre le véhicule et le décor. Vous pouvez également proposer un autre type de jeu.

** Des prérequis si nécessaires ;
c++

Lien : http://www.lirmm.fr/~nfaraj/files/TER/TER_jeu_arcade.pdfDernière mise à jour : 2021-12-06 10:48:39

44. Jeu de stratégie orienté combat (ter)
Identifiant : noura.faraj_4_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr, simon.besga@lirmm.fr

Résumé : Ce projet a pour objectif de créer un jeu que vous pourrez mettre sur une borne d'arcade de jeux mise à disposition par le département informatique de la faculté des sciences. Le jeu pourra être réalisé à l'aide d'Unity, Qt 3D, Unreal'

Le projet pourra recréer une démo jouable d'un jeu de stratégie orienté combat. Dans ce cas, deux équipes s'affronteront : une piloté par le joueur et une piloté par une IA. Chaque unité devra posséder une conscience propre. La gestion des déplacements pourra être effectuée par des algorithmes de recherche de type A*. Le rendu pourra être effectué en 2D. Une autre option sera de réaliser un simulateur de vol en avion dans un univers infini. Il faudra pour cela proposer des méthodes intuitives pour le contrôle des vitesses et des accélérations dans les trois directions. Il faudra gérer simultanément les défilements du décor, et les mises à jour du tableau de bord. Alternativement, vous pourrez réaliser un jeu de course de voiture en caméra subjective, dans le style du jeu ' stunt car racer ', en gérant les déplacements, vitesses et accélérations du véhicule. Une attention particulière devra être apportée à la gestion des collisions entre le véhicule et le décor. Vous pouvez également proposer un autre type de jeu.

** Des prérequis si nécessaires ;
c++

Lien : http://www.lirmm.fr/~nfaraj/files/TER/TER_jeu_arcade.pdfDernière mise à jour : 2021-12-06 10:48:55

45. Jeu de stratégie orienté combat (quater)   
Identifiant : noura.faraj_5_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr, simon.besga@lirmm.fr

Résumé : Ce projet a pour objectif de créer un jeu que vous pourrez mettre sur une borne d'arcade de jeux mise à disposition par le département informatique de la faculté des sciences. Le jeu pourra être réalisé à l'aide d'Unity, Qt 3D, Unreal'

Le projet pourra recréer une démo jouable d'un jeu de stratégie orienté combat. Dans ce cas, deux équipes s'affronteront : une piloté par le joueur et une piloté par une IA. Chaque unité devra posséder une conscience propre. La gestion des déplacements pourra être effectuée par des algorithmes de recherche de type A*. Le rendu pourra être effectué en 2D. Une autre option sera de réaliser un simulateur de vol en avion dans un univers infini. Il faudra pour cela proposer des méthodes intuitives pour le contrôle des vitesses et des accélérations dans les trois directions. Il faudra gérer simultanément les défilements du décor, et les mises à jour du tableau de bord. Alternativement, vous pourrez réaliser un jeu de course de voiture en caméra subjective, dans le style du jeu ' stunt car racer ', en gérant les déplacements, vitesses et accélérations du véhicule. Une attention particulière devra être apportée à la gestion des collisions entre le véhicule et le décor. Vous pouvez également proposer un autre type de jeu.

** Des prérequis si nécessaires ;
c++

Lien : http://www.lirmm.fr/~nfaraj/files/TER/TER_jeu_arcade.pdfDernière mise à jour : 2021-12-06 10:49:35

46. Tests robustes d'aléatoire
Identifiant : andrei.romashchenko_1_2021-22 • Encadrant(s) : andrei.romashchenko@lirmm.fr, alexander.shen@lirmm.fr

Résumé : L'objet de ce TER est d'étudier la notion d'aléatoire et des tests pour les générateurs de nombres aléatoires. Nous proposons une approche générique pour construire des tests robustes pour les sources de bits aléatoires, et suggérons de développer une bibliothèque de logicielle qui pourrait améliorer les tests existants d'aléatoire.

Les tests d'aléatoire sont utilisés pour détecter des anomalies dans les générateurs aléatoires physiques. Les tests existants (voir NIST, Diehard, Dieharder et autres) ne sont typiquement pas fiables : même un bon générateur peut parfois échouer un test.

Au LIRMM nous avons développé une méthodologie qui permet de construire des tests plus fiables. Nous avons programmé certaines instances de tests dans ce format robuste, et on aimerait convertir de nombreux autres tests sous cette forme robuste.

Il existe des dizaines de tests documentés d'aléatoire. Chaque test typique est présenté dans la documentation par sa description mathématique et par un code de programme de référence (malheureusement, pas toujours correctement implémenté). Un tel programme peut comprendre plusieurs centaines de lignes. Notre objectif est de trouver pour chaque de ces algorithmes une version robuste et d'implémenter les nouveaux algorithme en C.

Une autre branche possible de ce projet : utiliser des extracteurs d'aléatoire pour améliorer la qualité des générateurs aléatoires pratiques.

** Prérequis : culture mathématique générale ; théorie des probabilités de base ; anglais technique (lire et discuter de la documentation en anglais) ; programmation en C

** Les références :

A. Shen. Making randomness tests more robust.
https://hal.archives-ouvertes.fr/hal-01707610/document

Andrei Romashchenko, Alexander Shen. Randomness tests: theory and practice.
https://hal-lirmm.ccsd.cnrs.fr/lirmm-03371151/document

R.G. Brown, Dieharder: A Random Number Test Suite.
https://webhome.phy.duke.edu/~rgb/General/dieharder.php

Lien : https://www.lirmm.fr/~romashchen/stages/ter-2021-22.pdfDernière mise à jour : 2021-12-09 18:28:50

47. Missions robotiques autonomes à garantie de performance : mise en œuvre par programmation par contraintes
Identifiant : gilles.trombettoni_1_2021-22 • Encadrant(s) : gilles.trombettoni@lirmm.fr, philippe.lambert@lirmm.fr, didier.crestani@lirmm.fr

Résumé : La réalisation de missions robotiques autonomes à garantie de performance nécessite de reconfigurer en temps réel les ressources matérielles et logicielles disponibles afin de satisfaire les contraintes imposées par le robot, son environnement et l'utilisateur. Ce type de problématique se rencontre en robotique agricole, dans l'exploration sous-marine et spatiale, etc. On considérera un robot muni d'un ensemble de ressources (capteurs, actionneurs, algorithmes). Le but est de sélectionner et paramétrer, pour chaque étape de la mission, un jeu de capteurs à solliciter, une vitesse de déplacement et un jeu d'algorithmes à exécuter tout en satisfaisant par exemple une contrainte énergétique.

L'équipe EXPLORE a proposé un algorithme de résolution de sac-à-dos multicritères pour mettre en 'euvre une première phase 'offline' qui calcule un choix des ressources sollicitées à chaque 'étape' de la mission planifiée. La Programmation Par Contraintes (PPC), étudiée par l'équipe COCONUT, est un paradigme d'IA qui permet de modéliser de nombreux problèmes combinatoires tels que des problèmes industriels d'ordonnancement ou de planification ou des jeux combinatoires.

L'objectif de ce stage est d'investiguer comment la PPC pourrait réaliser l'allocation des ressources matérielles et logicielles pour les missions robotiques autonomes en utilisant le solveur Choco en Java.

Lien : https://www.lirmm.fr/~trombetton/sujets/sujet-contraintesMissionsRobotiques-M1.pdfDernière mise à jour : 2021-12-10 08:13:38

48. Jeu de Puzzle -Swing   
Identifiant : noura.faraj_6_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr

Résumé : Ce projet a pour objectif de créer un jeu que vous pourrez mettre sur une borne d'arcade de jeux mise à disposition par le département informatique de la faculté des sciences. Le jeu pourra être réalisé à l'aide d'Unity, Qt 3D, Unreal, Ogre, Vulkan ...
Le projet pourra recréer une démo jouable d'un jeu de puzzle nommé 'Swing 1997 ' ou ' Marble Master '.
Le jeu se joue sur une grille contenant 4 bascules (donc 8 colonnes) ayant une hauteur maximale de 10 billes, si la hauteur maximale est atteinte le joueur perd. Le joueur aura donc la possibilité d'empiler des billes sur chacune des colonnes. Les billes sont caractérisées par une couleur et un poids. Il faudra donc réimplémenter toutes les règles propres au jeu ' Swing ' et si possible ajouter un système ' Joueur vs IA ' qui consistera à se mesurer face à une IA développée sur différentes heuristiques.
Le rendu pourra être effectué en 2D. Il faudra gérer simultanément les déplacement des billes mais aussi leur destruction à travers la grille soit par l'alignement horizontal d'au moins 3 billes de même couleur, soit par l'action d'un ' power-up '.

Lien : https://m1.flareden.fr/TER/Documentation/TER_Swing.pdfDernière mise à jour : 2022-05-11 15:58:06

49. Construction d'une ligne de produits logiciels de Frameworks web pour la génération automatique d'applications Web Frontend et Backend   
Identifiant : seriai_1_2021-22 • Encadrant(s) : seriai@lirmm.fr, bachar.rima@umontpellier.fr

Résumé : Les frameworks fournissent aux développeurs les outils et fonctionnalités nécessaires et dictent les règles de construction de lÂ’architecture des sites Web, des applications, des API, des services et autres solutions.
Un framework peut également inclure des programmes utilitaires, des bibliothèques de code, des langages de script et dÂ’autres logiciels destinés à faciliter le développement et lÂ’intégration de divers composants dÂ’un grand projet logiciel.

Toute application Web se compose dÂ’une partie backend ou côté serveur et dÂ’une partie front-end. Par conséquent, il existe des frameworks de développement web front-end et back-end.
Les frameworks web front-end sont responsables de lÂ’interface utilisateur, cÂ’est-à-dire de la partie visuelle dÂ’un site web ou dÂ’une application avec laquelle les utilisateurs finaux interagissent. Ils sont basés sur des langages de programmation frontend tels que HTML, CSS et JavaScript, et traitent de la conception UX/UI, des modèles, des extraits de code, de lÂ’optimisation du référencement, de la gestion des interactions avec les utilisateurs, etc.
Les frameworks web back-end sont responsables de la partie cachée dÂ’un site web ou dÂ’une application avec laquelle les développeurs interagissent. Ils traitent du fonctionnement du serveur et de la base de données, de la logique et de lÂ’architecture de la solution, des protocoles de routage, de la sécurité des données, des options dÂ’autorisation et plus encore. Ces plateformes sont basées sur des langages de programmation backend tels que .NET, Ruby, Python, Java et PHP.

Tous ces Frameworks sont majoritairement basés sur les mêmes principes et concepts : composants, services, architecture de référence, aspect, style architectural, patrons de conception, laison tardive, connexion tardive, externalisation des ressources, gestion des dépendances, etc.

L'objectif de ce TER est d'étudier les points communs et les points de différence entre les différents Frameworks de développement web. Cette étude doit permettre de construire une ligne de produits logiciels en se basant sur l'Outil FeautureIDE. Cette ligne sera implémenté en Java et concrétiser comme un outil qui permettra à un développeur web de choir les caractéristiques de haut niveau de son application web à développer (authentification, sécurité, single page ou pas, etc.).

** Des prérequis si nécessaires ---> Gout pour le développement d'outils.

Lien : http://www.lirmm.fr/~seriai/uploads/Recherche/TER7_M1_2021.pdfDernière mise à jour : 2021-12-20 14:35:25

50. Traçabilité logicielle des GUIs dÂ’applications web React avec lÂ’infrastructure de traçabilité et testabilité logicielles SoftScanner   
Identifiant : seriai_2_2021-22 • Encadrant(s) : seriai@lirmm.fr, bachar.rima@umontpellier.fr

Résumé : Dans les grandes entreprises, la majorité du budget des logiciels est consacré à la maintenance et l'évolution des logiciels existants plutôt qu'au développement de nouveaux logiciels, ce dernier étant assez coûtant et risqué. Parmi les activités de maintenance et d'évolution logicielles, on note le débogage, l'optimisation, les tests, le profilage des utilisateurs, la sécurité, etc. La mise en oeuvre de ces activités peut être réalisée par divers stratégies, dont l'exploitation des traces (i.e., les logs), devenant de plus en plus adoptée et systématisée dans le monde du génie logiciel.

L'objectif de ce projet de TER est de contribuer au développement d'un outil "réellement" utilisé en industrie et qui a été développé par des chercheurs de l'université de Montpellier. Ce outil est SoftScanner dont l'objectif est de générer des traces logicielles (des logs) en fonction de différents objectifs : sécurité logicielle, test logiciel, etc.

** Des prérequis si nécessaires ---> Gout pour le développement d'outils

Lien : http://www.lirmm.fr/~seriai/uploads/Recherche/TER4_M1_2021.pdfDernière mise à jour : 2021-12-20 14:47:47

51. Profilage des utilisateurs dÂ’applications web avec lÂ’infrastructure SoftScanner
Identifiant : seriai_3_2021-22 • Encadrant(s) : seriai@lirmm.fr, bachar.rima@umontpellier.fr

Résumé : Dans les grandes entreprises, la majorité du budget des logiciels est consacré à la maintenance et l'évolution des logiciels existants plutôt qu'au développement de nouveaux logiciels, ce dernier étant assez coûtant et risqué. Parmi les activités de maintenance et d'évolution logicielles, on note le débogage, l'optimisation, les tests, le profilage des utilisateurs, la sécurité, etc. La mise en oeuvre de ces activités peut être réalisée par divers stratégies, dont l'exploitation des traces (i.e., les logs), devenant de plus en plus adoptée et systématisée dans le monde du génie logiciel.

L'objectif de ce projet de TER est de contribuer au développement d'un outil "réellement" utilisé en industrie et qui a été développé par des chercheurs de l'université de Montpellier. Ce outil est SoftScanner dont l'objectif est de générer des traces logicielles (des logs) en fonction de différents objectifs : sécurité logicielle, test logiciel, etc. Il s'agit de créer un microservice dont le rôle est de fournir un mécanisme de profilage des utilisateurs d'une application Angular instrumentée avec SoftScanner.

** Des prérequis si nécessaires ---> Gout pour le développement d'outils.

Lien : http://www.lirmm.fr/~seriai/uploads/Recherche/TER5_M1_2021.pdfDernière mise à jour : 2021-12-20 14:48:38

52. Construction de sites web pour les microservices de lÂ’infrastructure de traçabilité et testabilité logicielles SoftScanner
Identifiant : seriai_4_2021-22 • Encadrant(s) : seriai@lirmm.fr, bachar.rima@umontpellier.fr

Résumé : Dans les grandes entreprises, la majorité du budget des logiciels est consacré à la maintenance et l'évolution des logiciels existants plutôt qu'au développement de nouveaux logiciels, ce dernier étant assez coûtant et risqué. Parmi les activités de maintenance et d'évolution logicielles, on note le débogage, l'optimisation, les tests, le profilage des utilisateurs, la sécurité, etc. La mise en oeuvre de ces activités peut être réalisée par divers stratégies, dont l'exploitation des traces (i.e., les logs), devenant de plus en plus adoptée et systématisée dans le monde du génie logiciel.

L'objectif de ce projet de TER est de contribuer au développement d'un outil "réellement" utilisé en industrie et qui a été développé par des chercheurs de l'université de Montpellier. Ce outil est SoftScanner dont l'objectif est de générer des traces logicielles (des logs) en fonction de différents objectifs : sécurité logicielle, test logiciel, etc. Il s'agit de fournir des APIs REST et des interfaces graphiques indépendantes pour chacun des services de SoftScanner, mais aussi de mettre en place une interface graphique servant comme accès initial au client pour toute l'infrastructure (via le design pattern API Gateway).

** Des prérequis si nécessaires ---> Gout pour le développement d'outils

Lien : http://www.lirmm.fr/~seriai/uploads/Recherche/TER6_M1_2021.pdfDernière mise à jour : 2021-12-20 14:49:10

53. Approche Générique pour la Migration de la Partie Client (Front end) dÂ’Application Web : Application à la Migration de GWT vers Angular
Identifiant : seriai_5_2021-22 • Encadrant(s) : seriai@lirmm.fr, bachar.rima@umontpellier.fr

Résumé : Angular est un cadriciel (framework) côté client, open source, basé sur TypeScript. Il est développé par Google et permet la création dÂ’applications Web et plus particulièrement de ce quÂ’on appelle des "Single Page Applications". Par ailleurs, Google Web Toolkit (GWT) est un ensemble d'outils logiciels développé par Google, permettant de créer et maintenir des applications web dynamiques mettant en Âœuvre JavaScript, en utilisant le langage et les outils Java. L'objectif de ce projet TER M1 est dÂ’implémenter une approche existante de migration de la partie front d'une application web développée en GWT vers Angular.

** Des prérequis si nécessaires ---> Gout pour le développement d'outils.

Lien : http://www.lirmm.fr/~seriai/uploads/Recherche/TER2_M1_2021.pdfDernière mise à jour : 2021-12-20 14:49:42

54. émulateur GameBoy   
Identifiant : mathieu.lafourcade_7_2021-22 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : Ce sujet vise à analyser et développer un émulateur GameBoy

Il faudra comprendre le fonctionnement (architecture) de la Game oy:

- Les registres : Utiliser les registres correctement, il sÂ’avère qu'il y en a dix, un registre PC, un autre SP certain pour garder des adresses, d'autres des flags,...
- Les instructions : Comme pour le projet, on aura une liste d'instruction qu'il va falloir lire et exécuter, voici la liste https://www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html
- Les interruptions : Cette fois-ci il va falloir gérer les évènements qu'un utilisateur va générer, comme appuyer sur un bouton il y aura des actions à effectuer, il faudra donc arrêter le programme gérer l'interruption puis reprendre
- La mémoire : Il existe 4 mémoires différente dans la GameBoy, les données du jeu(instruction), une partie pour la vidéo uniquement, une RAM conventionnelle et une zone mémoire vive additionnelle dans certaine cartouche.
- Le démarrage

Lien : - • Dernière mise à jour : 2021-12-31 09:47:49

55. Algorithmes de colorations de graphes et Conjecture de Randerath   
AAM
Identifiant : Stephane.Bessy_1_2021-22 • Encadrant(s) : stephane.bessy@lirmm.fr

Résumé : Le but du TER est d'étudier différents algorithmes de colorations de
graphes, d'en implémenter certains et de tester une conjecture ouverte de 3-coloration sur le plus grand nombre de 'petits' graphes possibles (idéalement, tous les graphes à au plus 12, 15 voire 20 sommets).

Lien : SUJ2022/AlgoColoring.pdfDernière mise à jour : 2021-12-31 17:03:36

56. Lost My Pieces, jeu pour l'apprentissage du japonais   
Identifiant : croitoru_4_2021-22 • Encadrant(s) : croitoru@lirmm.fr

Résumé : sujet proposé par les étudiants
En japonais, il y a 3 alphabets, et l'un d'entre eux contient des idéogrammes qui correspondent à des mots ou des idées. Par exemple l'idéogramme 大 veut dire "grand".人 se traduit par "une personne". Ce qui est intéressant ici, c'est que l'on peut les combiner pour créer un nouveau mot, 大人 donne le mot "adulte" ou dans l'autre sens 人大 "taille humaine".
Le jeu se présente donc sous la forme d'un tableau blanc où le joueur peut faire glisser des idéogrammes (aussi appellé kanji) et les combiner ensemble pour trouver de nouveaux mots. Au fur et à mesure, le joueur gagne de la monnaie et peut acheter de nouveaux kanjis.
Vous trouverez à l'adresse suivante une pré-version du jeu : https://lostmypieces.torisu.fr/
L'idée est honteusement copiée du jeu Little Alchemist (https://littlealchemy2.com/)

J'aimerais reprendre complétement le code (qui est actuellement un unique fichier javascript de 1500 lignes) et l'adapter au paradigme de la programmation objet (les kanjis interagissent entre eux, je pourrais peut-être y introduire des notions agent, mais ça resterait limité). Il y a également une partie en Node.js pour l'acquisition des données et le maintien de la base de données, qui pourrait s'inscrire dans mon cours d'entrepôts de données et dans l'idée "Science des Données" de mon Master. Je pense pouvoir également faire figurer des notions de graphes et de complexité algorithmique (par exemple : comment trier efficacement les kanjis de la boutique par nombre d'utilisations possibles après achat ?).

Lien : - • Dernière mise à jour : 2022-01-12 10:30:32

57. Matching Multimodal
Identifiant : eric.bourreau_1_2021-22 • Encadrant(s) : eric.bourreau@umontpellier.fr

Résumé : Faciligo est une société qui met en relation les personnes handicapées avec les valident pour faciliter leurs déplacements. Comme BlaBaCar, d'une part les personnes souhaitant être accompagnées (handicap divers) posent leurs horaires de trajets (train, avion, tram). D'autres part les personnes accompagnantes, soit cherche un trajet déjà posté, soit poste leur propres trajets (mode de déplacement, horaires, flexibilité). Le travail de Faciligo cherche a matcher les offres et les demandes afin de permettre aux accompagnants d'être accompagnés correctement.

Depuis le lancement de la compagnie des difficultés d'ordre combinatoire sont apparus pour réaliser les matching (appariements complexes dans un graphe multimodal) et une collaboration s'est instauré avec le département informatique du laboratoire LIRMM.
Le TER se propose de valider les méthodes de génération de solutions fournies par le labo en construisant des cas de tests plus ou moins complexes.

Effectif : 4

Prérequis : Graphe, (idéalement Programmation Linéaire, mais ce n'est pas obligatoire)

Lien : SUJ2022/MatchingMultiModal.pdfDernière mise à jour : 2022-01-12 10:49:39

58. Elaboration dÂ’un modèle optimal pour la détection de sujets
Identifiant : thomas.georges-1_2021-22 • Encadrant(s) : thomas.georges@umontpellier.fr, marianne.huchard@umontpellier.fr, clementine.nebut@umontpellier.fr, chouki.tibermacine@umontpellier.fr

Résumé : Le but de ce TER est de fournir un aperçu des méthodes permettant de
déterminer les sujets ou thèmes principaux grâce à un ensemble de
documents textuels. Ces documents sont des descriptions d'I/O en JSON de
simulateurs de systèmes d'aide à la décision en agronomie, des wikis,
des ontologies et des textes de changelogs. A partir de ces documents,
nous avons besoin d'un modèle donnant les sujets principaux dans les
descriptions d'I/O en s'aidant si besoin des autres ressources
disponibles.

Les différents modèles dont l'efficacité sera à tester seront à comparer
:
- Latent semantic analysis / Latent semantic indexing
- Latent Dirichlet Allocation
- Word2Vec
- Clustering
- Formal Concept Analysis

Les données sont tirées de ressources externes avec les ontologies
(AgroPortal) et des données des applications de l'entreprise ITK.

Lien : https://docs.google.com/document/d/1U_bwYFsThSLLODMuW5GEdTFy3I5zhxLBnsv07bRM8Cc/edit?usp=sharingDernière mise à jour : 2022-01-12 10:59:49

59. Outil mettant en valeur les différences entre deux AOC-Poset
Identifiant : thomas.georges-2_2021-22 • Encadrant(s) : thomas.georges@umontpellier.fr, marianne.huchard@umontpellier.fr, clementine.nebut@umontpellier.fr, chouki.tibermacine@umontpellier.fr

Résumé : Un outil permettant la comparaison d'AOC-Posets, le résultat d'une
analyse formelle de concepts, serait particulièrement utile afin de voir
les différences et les évolutions d'un AOC-Poset. A partir de deux
contextes formels contenant des points communs et des différences, il
serait possible de déterminer et de mettre en évidence les changements
au sein des objets et attributs des AOC-Posets correspondants. Basée sur
l'outil Cogui qui permet la génération d'AOC-Poset à partir de contextes
formels, de les visualiser à partir de fichiers .dot et même de comparer
ces fichiers.

La première étape, serait de générer une représentation plus visuelle de
la différence entre deux AOC-Poset et serait très utile pour par exemple
suivre l'évolution d'un contexte formel.
Dans un deuxième temps, vous étudierez comment effectuer la différence
sur les structures d'AOC-poset avec des résultats en termes d'éléments
d'un AOC-poset par exemple quels nouveaux concepts et arcs ont été
créés. Ces résultats pourront être exprimés en termes d'édition de
graphes.

Lien : https://docs.google.com/document/d/1MlfrTVZ0upbpJu2zBKwEFNRAzP7pdFjSpfRP0miUKEA/edit?usp=sharingDernière mise à jour : 2022-01-12 11:01:00

60. Développement d'un jeu vidéo point'n'click avec la collaboration d'artistes extérieurs à la formation   
Identifiant : noura.faraj_7_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr

Résumé : développer un Point & Click avec des mécanismes de puzzle game sur Unity, afin de faciliter lÂ’implémentation des assets des différents artistes dans notre projet.

Lien : - • Dernière mise à jour : 2022-01-12 17:47:00

61. Construction d'un système de reconnaissance pour identifier des espèces de baleines en danger à partir d'images aériennes   
Identifiant : william.puech_1_2021-22 • Encadrant(s) : william.puech@lirmm.fr

Résumé : Le but est identifier les baleines noires en voie de disparition sur des photographies aériennes en construisant un système de reconnaissance de forme.
Les images proviennent d'images aériennes contenant chacune une image de baleine.
Les images ont été prises sur les 10 dernières années par hélicoptères et ont été
sélectionnées et étiquetées par la NOAA.

Lien de la compétition et du dataset :
https://www.kaggle.com/c/noaa-right-whale-recognition/overview/description

Lien : - • Dernière mise à jour : 2022-01-14 09:21:28

62. sujety treillis fca   
Identifiant : marianne.huchard_2_2021-22 • Encadrant(s) : marianne.huchard@lirmm.fr

Résumé : sujet treillis fca ==> Alexandre Rouyer

Lien : - • Dernière mise à jour : 2022-01-17 12:09:42

63. Réalisation d'un moteur 3D temps réel réaliste.   
Identifiant : noura.faraj_8_2021-22 • Encadrant(s) : noura.faraj@lirmm.fr

Résumé : Problématique :
La 3D est au coeur de nombreuses applications de nos jours, et tend à se démocratiser de plus en plus dans des secteurs comme la publicité, le divertissement ou encore l'architecture.
Dans ce flot de nouveaux domaines possibles d'application, deux courants majeurs de rendu 3D émergent : le temps réel (exploitant le pipeline graphique GPU) et les rendus en temps plus ou moins maitrisés (comme le raytracing par exemple), pouvant mettre jusqu'à plusieurs jours pour le rendu d'une simple image numérique à partir d'une scène en 3D.
Pour certains domaines, il va de soi que le calcul d'une image se faisant sur plusieurs jours n'est pas envisageable, comme pour le jeu vidéo par exemple (30fps). C'est donc vers le rendu temps réel que ce genre d'applications vont se tourner, et c'est ce que nous allons aborder dans notre TER.
Plus précisément, nous allons aborder les différentes techniques permettant d'obtenir un bon compromis entre temps de calcul d'une seule image et qualité de rendu numérique, le tout à partir d'une scène 3D sur ordinateur. Cela passera par la prise en main des différentes possibilités de rendu en 3D temps réel existantes (Blinn-Phong, BRDF ...), de ce qu'elles permettent ou pas de faire, puis implémenter certaines de leurs caractéristiques, les comparer (sur leur aspect qualitatif, effet visé ...), dans le but d'en entrevoir leurs limites, mais également l'ensemble des possibles qu'elles allouent (type de matériaux et effets implémentables, réaction à la lumière, type d'éléments nécessaires à l'élaboration de ce type de rendu ...).

Missions :
Un objet dans une scène en 3D est rendu visible à l'image par la lumière qui se reflète sur lui. Selon le type de calculs que l'on va opérer à partir de propriétés matérielles de cet objet, nous allons pouvoir obtenir des effets différents vis-à-vis de la lumière qui l'éclaire, et ainsi réaliser différents types de matériaux existants (métaux, tissus, peau, surface matte, surface rugueuse ...). L'intérêt principal de ce projet réside donc dans un premier temps à diversifier au mieux ces techniques de rendu et de les implémenter au c'�ur d'un unique moteur de rendu 3D temps réel.
Par la suite, il n'est pas exclu (dépendant de l'avancement du projet), de mettre en place, à partir de techniques de rendu préalablement implémentées, la création de nouveaux types de matériaux pour accroître les possibilités de rendu et ainsi étendre les possibilités artistiques d'un tel moteur de rendu.
On pourrait aussi envisager la possibilité pour un utilisateur extérieur au projet, mais familier aux rendus 3D par ordinateur, de manipuler notre moteur de rendu afin de pouvoir, à partir d'une interface, créer et visualiser ses propres matériaux (en renseignant ses caractéristiques parmi une liste prédéterminée issue de la phase un et deux du projet).

Détails techniques :
Nous aimerions faire ce projet en WebGl et en JS.

Lien : - • Dernière mise à jour : 2022-05-11 16:04:02

64. Étude des réseaux antagonistes génératifs bis   
Identifiant : pascal.poncelet_1bis_2021-22 • Encadrant(s) : pascal.poncelet@lirmm.fr

Résumé : Depuis l'article fondateur en 2014, les réseaux antagonistes génératifs (Generative Adversarial Networks) en permettant de générer des images réalistes sont de plus en plus utilisés. Le principe général de ces approches est de disposer de deux réseaux qui sont mis en compétition. Le premier, appelé générateur, est un type de réseau de neurones convolutif qui vise à générer des données. Son adversaire, appelé discriminateur, est un réseau de neurones "déconvolutif" qui essaye de détecter si la donnée générée est réelle ou pas. Ainsi au cours du temps, via la rétropropagation, le générateur va tenter de générer des sorties de meilleure qualité alors que le discrimateur va détecter de mieux en mieux les fausses données.
C'est dans ce cadre que s'inscrit ce sujet de TER. Il consiste à mieux comprendre le fonctionnement de ce type de réseau et à pouvoir les mettre en oeuvre pour mener différentes expérimentations.

Pré-requis : programmation Python, curiosité

Lien : http://www.lirmm.fr/~poncelet/TERM1_GAN.pdfDernière mise à jour : 2022-02-08 18:08:29


page d'accueilliste des sujets liste des groupes liste des encadrants

Mathieu Lafourcade, janvier 2018 (merci d'envoyer toute remarque ou question sur les TERs à mathieu.lafourcade avec comme sujet du mail "[TER_M1_2018] Question") - Merci à Mountaz qui est l'origine du contenu et du style de cette page.