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

TER DE MASTER 1 en INFORMATIQUE - HMIN201 - année 2024-25

login mdp

60 sujets proposés
AERB_CMI_1
a.baert_1
b.rima_1
b.rima_2
b.rima_3
bessy_1
croitoru_1
croitoru_2
croitoru_3
croitoru_4
croitoru_5
croitoru_6
croitoru_7
e.paoli_1
e.bourreau_1
GRB_1
h.guenoune_1
h.bouziane_1
i.mougenot
leclere_1
leclere_2
l.parent_1
M.Huchard_1
m.ladeuil_1
m.lafourcade_2
m.lafourcade_3
m.lafourcade_4
m.lafourcade_5
m.lafourcade_n2
m.lafourcade_n3
m.lafourcade_n
m.skandalis_1
m.sioutis_1
n.lutz_1
n.lutz_2
n.lutz_3
n.lutz_4
n.faraj_1
n.faraj_2
n.faraj_3
pompidor_1
poncelet_1
poncelet_2bis
poncelet_2
poncelet_3
poncelet_4
r.giroudeau_1
r.giroudeau_2
roux_1
seriai_1
seriai_2
seriai_3
seriai_4
seriai_5
t.de-villele_1
t.de-villele_2
todorov_1
todorov_2
todorov_3
todorov_4

1. Extraction de relations sémantiques dans wikipedia
   
Identifiant : mathieu.lafourcade_n_2024-25 • 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 : 2024-12-16 11:46:45

2. Chasse aux triangles dans JeuxDeMots
   
SHL
Identifiant : mathieu.lafourcade_2_2024-25 • Encadrant(s) : 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 20 million de noeuds et 850 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 SQL en graphes ' ;
- Elaborer les requêtes SQL 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

Lien : https://cloud.lirmm.fr/index.php/s/kWV55XDJcHLtcgYDernière mise à jour : 2024-10-29 14:55:40

3. Mais quelle est cette entité ?
Identifiant : leclere_1_2024-25 • Encadrant(s) : leclere@lirmm.fr, pierre.bisquert@inrae.fr

Résumé : Ce travail vise à développer un service d'identification d'entité. Un tel service repose sur un référentiel, un ensemble de couples (identifiant d'entité, description de l'entité) cataloguant un ensemble connu d'entités du monde réel (des personnes, des lieux, des événements…). L'identifiant est une simple clé d'accès à l'entité, souvent une URI. La description est un ensemble de données caractérisant l'entité. La fonctionnalité minimale d'un tel service est de proposer une opération d'identification d'entité. Cela consiste à déterminer, étant donné la description D d'une entité, s'il existe dans le référentiel un couple (I,D') tel que D' "correspond" à D.

InteGraal est une bibliothèque logicielle Java proposant un ensemble de fonctionnalités de création et de manipulation de bases de connaissances : intégration de données, évaluation de requêtes, inférence de nouvelles connaissances. Cet outil s'appuie sur un solide modèle théorique de représentation de connaissances : les règles existentielles. Depuis peu, InteGraal a été doté de commandes directement exécutables depuis un terminal (Commander) et d'une interface en ligne de commandes (CLI) permettant à un utilisateur (non développeur Java) de créer et manipuler des bases de connaissances à l'aide de quelques commandes simples et en s'appuyant sur quelques formats textes de description des éléments d'une base de connaissances : DLGP pour les connaissances, VD pour l'intégration de données et CFD pour la définition de fonctions (ou prédicats) calculées.

L'objectif de ce projet est la réalisation d'un prototype de service d'identification d'entité à l'aide du CLI d'InteGraal. Il s'agira d'identifier des sources de données utiles à la construction d'un référentiel, d'intégrer ces sources de données au sein d'une base de connaissances pour obtenir ce référentiel puis de permettre l'exploitation de ce référentiel pour l'identification d'entité. La réalisation de ce projet nécessite un certain goût pour la modélisation (cf. enseignements BD, logique) et la réutilisation de ressources sémantiques existantes : sélection ou construction d'une ontologie, identification et récupération de graphes de connaissance existants, création de règles de liage permettant de rendre opérationnel le “correspond” entre description… Le domaine dans lequel ce projet de liage est à faire est ouvert. On pourra par exemple faire un service d'identification d'auteur de livre permettant d'exploiter des bases comme HAL, DBLP, IDREF, d'exploration de datasets INRAe, d'identification de chansons, de films...

** Profil souhaité : IASD

** url : https://seafile.lirmm.fr/f/2f4adb9252034e62a051/?dl=1

Lien : https://seafile.lirmm.fr/f/2f4adb9252034e62a051/?dl=1Dernière mise à jour : 2024-11-06 18:51:15

4. Réécriture et évaluation de conjonctions de requêtes chemin
Identifiant : leclere_2_2024-25 • Encadrant(s) : leclere@lirmm.fr, baget@lirmm.fr

Résumé : Les règles existentielles permettent l’ajout de connaissances ontologiques à une base de faits. Prenons un exemple très simplifié, avec la base de faits homme(socrates). (Socrates est un homme), la règle mortel(X) :- homme(X). (tous les hommes sont mortels), et la requête ?() :- mortel(socrates). (Socrates est-il mortel ?). On peut considérer des raisonnements en marche avant (ou par saturation). Dans ce cas, l’application de la règle va générer le fait mortel(socrates). et on n’aura plus besoin des règles pour répondre à la requête. Dans le cas des raisonnements en marche arrière (ou par réécriture), le mécanisme d’unification par pièce va réécrire la requête en prenant en compte la règle: pour prouver que socrates est mortel, il suffirait de prouver que socrates est un homme puisque l’application de la règle, si socrates était un homme, suffirait à prouver qu’il est mortel. Ainsi, nous pouvons utiliser la requête réécrite ?() :- homme(socrates) | mortel(socrates). pour interroger la base de faits sans avoir besoin de la saturer. Le problème est que ni la saturation, ni la réécriture ne s’arrêtent nécessairement (ce qui est dû à l’indécidabilité du problème de déduction).

L’objectif de ce TER est d’explorer de nouveaux cas de décidabilité dans le cadre de la réécriture, en réécrivant dans le cadre d’un langage d’exploration plus riche que celui considéré jusqu’à présent. En effet, un obstacle majeur à l’arrêt de la réécriture est la présence de règles encodant la transitivité. Par exemple, prenons la règle connecté(X, Z) :- connecté(X, Y), connecté(Y, Z)., et la requête ?() :- connecté(paris, montpellier). Si on veut réécrire cette requête, il faudra considérer que paris peut être connecté à montpellier dans la base de faits, ou qu’il existe un chemin passant par un nombre arbitraire de villes. Ainsi, la requête réécrite sera infinie ?() :- connecté(paris, montpellier) | connecté(paris, X), connecté(X, montpellier) | connecté(paris, X), connecté(X, Y), connecté(Y, montpellier) | … Nous souhaitons enrichir notre langage de requête afin de pouvoir coder de façon finie la requête précédente, ce qui sera fait en utilisant les opérateurs * (0 ou plus) et + (1 ou plus). Ainsi, la requête infinie précédente pourra être écrite sous la forme ?() :- connecté+(paris, montpellier).

** Profil souhaité : IASD

** url : https://seafile.lirmm.fr/f/e780dfd36d834fc1862b/?dl=1

Lien : https://seafile.lirmm.fr/f/e780dfd36d834fc1862b/?dl=1Dernière mise à jour : 2024-11-06 18:49:03

5. Les IA génératives et les émotions
Identifiant : todorov_1_2024-25 • Encadrant(s) : todorov@lirmm.fr

Résumé : Les intelligences artificielles (IA) génératives peuvent-elles faire
ressentir des émotions à leurs usagers lors d’échanges conversationnels
? Comment ces émotions transparaissent-elles dans les conversations ?
Les IA peuvent-elles repérer automatiquement des émotions telles que la
joie, la peur, le dégoût ou d’autres encore ? Le sujet s’inscrit dans le
cadre du projet AI-EMOTION (en collaboration avec LERASS à l’Université
Paul Valéry, France) qui s’intéresse plus particulièrement aux agents
conversationnels pour comprendre comment le dialogue humain-machine peut
constituer un nouvel espace de fabriques des émotions, c’est-à-dire
devenir un espace propice à la création et au partage d’émotions. Le TER
aura pour objectif de constituer un corpus de dialogues et d'évaluer un
ensemble de modèles (basés sur les Transformers) de baseline sur ce
corpus pour la tâche de détection automatique d'émotions.

** Des prérequis si nécessaires

- Connaissances des librairies de machine learning sous Python
- Bon niveau en programmation

** Une url vers la présentation détaillée de votre sujet.

** le profil/filière des étudiants que vous souhaitez :
Tous parcours

Lien : - • Dernière mise à jour : 2024-11-06 18:35:30

6. Combattre les Fake News avec les IA
Identifiant : todorov_2_2024-25 • Encadrant(s) : todorov@lirmm.fr

Résumé : ClaimsKG est une grande base de connaissances qui rassemble des
asseritions (informations) vérifiées à partir d'un large ensemble de
site web (tels que Politifact ou Snopes). Le but du TER est (1) de
contribuer à l'enrichissement de cette base en ajoutant de nouvelles
informations à la base grâce aux méthodes modernes de web scrapping; (2)
l'évaluation d'un ensemble de modèles existants (tels que BERT ou autre)
sur les données récoltées

** Des prérequis si nécessaires

- Connaissances des librairies de machine learning sous Python
- Bon niveau en programmation

** le profil/filière des étudiants que vous souhaitez :
Tous parcours

Lien : - • Dernière mise à jour : 2024-11-06 18:36:16

7. Les IA pour analyser le discours scientifique sur les réseaux socieaux
Identifiant : todorov_3_2024-25 • Encadrant(s) : todorov@lirmm.fr

Résumé : Détecter le caractère "citable" d'un texte est perçu comme le problème
de signaler l'absence d'une référence à un résultat scientifique (un
article ou un ensemble de données) qui devrait appuyer une affirmation
formulée dans le texte. Des travaux précédents se sont intéressés à ce
problème dans le contexte de la littérature scientifique, motivés par le
besoin de proposer des recommandations de références aux chercheurs et
de signaler les citations manquantes dans les travaux scientifiques.
Dans le cadre du TER, nous étendons cette idée au contexte des médias
sociaux : la tâche sera de détecter dans un tweet (1) si le sujet du
discours est de nature scientifique (par exemple "les vaccins contre le
COVID sont dangereuse pour la santé, d'après une étude de Standford") et
puis (2) si l'énoncé scientifique manque de référence. Nous allons
travailler sur la base d'un corpus de tweet annotés pour évaluer un
ensemble de modèles de machine learning, tels que SciBERT ou bien
BERTweet sur la tâche de détection de citabilité dans le texte.

** Des prérequis si nécessaires

- Connaissances des librairies de machine learning sous Python
- Bon niveau en programmation

** Une url vers la présentation détaillée de votre sujet.

** le profil/filière des étudiants que vous souhaitez :
Tous parcours

Lien : - • Dernière mise à jour : 2024-11-06 18:36:55

8. Developpement d'un jeu multi-joueurs en JavaScript ' Grece Anatomie '
   
Identifiant : pompidor_1_2024-25 • Encadrant(s) : pompidor@lirmm.fr

Résumé : Le but de ce TER est de développer exclusivement en JavaScript (et aussi avec une toute petite partie HTML/CSS) un jeu de plateau et plus précisément un wargame. Chaque joueur utilisera son navigateur pour afficher le plateau de jeu et jouer en réseau.

Les technologies à utiliser seront :
- du côté serveur : Node.js avec les modules express et socket.io
- du côté client la bibliothèque graphique D3.js

Chaque joueur incarnera un stratège en -350 av. JC au temps de la rivalité entre les cités de Thèbes,Athènes et Corinthe, aura une vision réduite de la situation globale et enverra ses ordres parmessagers aux unités lointaines d'hoplites...

Lien : - • Dernière mise à jour : 2024-12-04 09:21:25

9. Explorez l'IA creative : classez, colorisez et inventez des images uniques
   
Identifiant : poncelet_1_2024-25 • Encadrant(s) : pascal.poncelet@lirmm.fr

Résumé : Contexte :
Grâce aux réseaux d'apprentissage profond (deep learning), les machines surpassent désormais les humains dans des tâches complexes, comme la classification d'images. Par exemple, des modèles d'intelligence artificielle détectent des anomalies sur des radiographies avec une précision de 98 %, contre 70 à 80 % pour les radiologues. Mais l'IA ne se limite plus à reconnaître des images : elle peut aussi les nettoyer, les améliorer, voire en générer de nouvelles ! Des outils comme DALL'E créent des images à partir de simples descriptions textuelles. L'objectif de ce TER est de plonger dans cet univers en apprenant à créer vos propres modèles capables de classer, coloriser, et générer des images inédites, comme des tigres ou des créatures imaginaires.

Objectifs :
Ce TER s'adresse à des personnes intéressées par la science des données, l'intelligence artificielle, et qui souhaitent comprendre les principes sous-jacents à ces technologies. L'objectif est d'explorer, à partir d'un jeu de données, ce qu'il est possible de réaliser. Nous utiliserons des images d'animaux (par exemple, des images de tigres comparées à celles d'autres animaux). Dans un premier temps, il s'agira de créer un modèle capable de déterminer, à partir d'une image, si celle-ci représente un tigre ou non. Le premier modèle ne sera probablement pas très performant, et il sera nécessaire d'étudier comment l'améliorer.
Une question cruciale se posera : que faire lorsque l'on ne dispose pas de suffisamment d'images ' Une solution possible consiste à générer de nouvelles images. Par exemple, Face Generator [FaceGenerator2022] peut générer des images de personnes qui n'ont jamais existé. Cette approche est-elle si différente de la classification évoquée précédemment ' Le second objectif sera d'étudier les méthodes de génération d'images, avec pour défi pourquoi pas, de générer des images inédites de tigres. Vous avez probablement déjà remarqué que certains anciens films en noir et blanc sont restaurés en couleur. Comment cela est-il possible ' Le troisième objectif consistera à utiliser des images de tigres en noir et blanc pour générer des versions en couleur.

Comme vous pouvez le constater, de nombreuses applications peuvent être réalisées à partir d'images grâce aux approches de l'apprentissage profond. L'objectif principal de ce TER est de comprendre les mécanismes sous-jacents, de se les approprier et de les mettre en 'oeuvre. Même si le domaine d'application concerne les images, vous constaterez que les concepts sous-jacents sont suffisamment généraux pour être appliqués à d'autres types de données (texte, son, etc.). Ce sujet s'adresse donc particulièrement aux personnes motivées par ces thématiques.

Encadrement et contact : Pascal Poncelet (Pascal.Poncelet@lirmm.fr)

Equipe : Advanse (https://www.lirmm.fr/equipes/advanse/)

Nombre d'étudiants : ce TER peut se faire pour un groupe de 3 à 4 étudiants.

Prérequis : savoir utiliser Python. Aucun prérequis n'�est demandé sur l'apprentissage profond ou sur la science des données [Poncelet 2021,2022]. Les informations utiles seront précisées.

Remarque : une grande partie de l'encadrement se fera via la plateforme Discord ou Zoom.

Bibliographie :
[FaceGenerator2022] ' Unique real-time face generator '. https://generated.photos/face-generator, dernière consultation le 11 octobre 2022.
[Poncelet 2024] Pascal Poncelet. ' Classification d'images avec des CNN '. Notebook. 2024.
[Poncelet 2024] Pascal Poncelet. ' Premières classifications '. Notebook. 2024.

Lien : - • Dernière mise à jour : 2024-12-04 09:09:50

10. Écouter pour soigner : Classification audio pour les urgences médicales
   
MBS
Identifiant : poncelet_2_2024-25 • Encadrant(s) : pascal.poncelet@lirmm.fr

Résumé : Contexte :
Dans le cadre des urgences médicales, les médecins doivent rapidement évaluer la situation d'un patient, parfois uniquement au cours d'une brève conversation téléphonique. Identifier la nature des symptômes, comme une toux, peut être déterminant pour établir un diagnostic initial : est-ce la Covid-19, une grippe, ou autre chose ' À travers l'analyse des sons, notamment de la toux, il est possible d'aider les médecins à prendre des décisions éclairées en urgence. Ce projet s'inscrit dans une collaboration avec le service des urgences du CHU et le laboratoire IES de Montpellier pour améliorer l'efficacité des diagnostics basés sur l'audio.

Objectifs :
L'objectif de ce projet est de développer des modèles capables de classifier des sons, en particulier des types de toux, en utilisant des données audios disponibles sur Kaggle. Les étudiants auront pour mission de :
1. Étudier et prétraiter un jeu de données audio : Découverte et manipulation de données de Kaggle pour comprendre les types de sons (toux, respiration, etc.).
2. Mise en place d'un modèle de classification manuel : Utiliser des convolutions simples pour créer un premier modèle de classification de sons, basé sur des caractéristiques audios extraites à la main (e.g., spectrogrammes).
3. Utilisation de modèles avancés comme Yamnet : Implémenter des modèles de classification de sons pré-entraînés, comme Yamnet de Google, afin d'améliorer les performances et d'accroître la précision des prédictions.
4. Classifier les types de toux (Covid-19 vs non-Covid) : Tester les modèles sur la classification spécifique des toux associées à la Covid-19 par rapport à d'autres types de toux.
5. Expérimentations en conditions réelles : Après avoir validé les modèles sur les données Kaggle, des expérimentations finales seront menées au CHU avec des données audios réelles collectées auprès des patients.
Pour arriver à cela, différents jeux de données seront utilisés pour progressivement comprendre comment cela fonctionne et proposer des modèles de plus en plus complexes. L'objectif de ce TER est de commencer à comprendre les mécanismes associés à l'apprentissage profond afin de les mettre en 'oeuvre sur une application réelle moins classique que des images ou du texte. En outre, il vous plongera dans le monde de l'audio et de l'intelligence artificielle appliquée à la santé, avec la possibilité de voir l'impact direct de votre travail sur la détection rapide et non invasive en temps réel de maladies à manifestations respiratoires.

Encadrement et contact : Pascal Poncelet (Pascal.Poncelet@lirmm.fr)

Equipe : Advanse (https://www.lirmm.fr/equipes/advanse/)

Nombre d'étudiants : ce TER peut se faire pour un groupe de 3 à 4 étudiants.

Prérequis : savoir utiliser Python. Aucun prérequis n'est demandé sur l'apprentissage profond ou sur la science des données [Poncelet 2021,2022]. Les informations utiles seront précisées.

Remarque : une grande partie de l'encadrement se fera via la plateforme Discord ou Zoom.

Bibliographie :
[Yamnet] ' Apprentissage par transfert avec YAMNet pour la classification des sons environnementaux '. https://www.tensorflow.org/tutorials/audio/transfer_learning_audio'hl=fr, dernière consultation le 18 septembre 2024.
[Poncelet 2024] Pascal Poncelet. ' Classification d'images avec des CNN '. Notebook. 2022.
[Poncelet 2024] Pascal Poncelet. ' Premières classifications '. Notebook. 2021.

Lien : - • Dernière mise à jour : 2025-01-13 09:53:28

11. Les algorithmes primal-dual pour la resolution de de problemes combinatoires polynomiaux.
   
Identifiant : rodolphe.giroudeau_1_2024-25 • Encadrant(s) : rodolphe.giroudeau@lirmm.fr

Résumé : Dans ce projet, nous étudierons l’efficacité des algorithmes primal-dual, appartenant à la galaxie des algorithmes pour la programmation linéaire, pour la résolution des problèmes polynomiaux dans les réseaux detransports.

** Des prérequis si nécessaires ; algorithmique, programmation linéaire

Lien : - • Dernière mise à jour : 2024-12-12 10:12:04

12. Pepper's Happy Vibes: Bringing Text to Life with Sassy Gestures!
Identifiant : croitoru_1_2024-25 • Encadrant(s) : croitoru@lirmm.fr

Résumé : This project investigates the development of an emotion-aware conversational framework for Pepper, a humanoid robot widely utilized in public spaces such as museums and shopping centers for interactive engagements and educational purposes. By connecting Pepper to ChatGPT, the system will facilitate dynamic, dialogue-based interactions centered on positively themed topics. Emotion detection algorithms will analyze both ChatGPT-generated responses and human inputs to identify sentiment, focusing on positive emotions such as joy, enthusiasm, and friendliness. To ensure Pepper's nonverbal responses are coherent with these detected emotions, we will design and code a "gesture library" within the project, utilizing the ROS environment to implement gestures specifically tailored to convey positive affective states. This library will include gestures such as nodding, open-arm movements, and expressive hand gestures, all choreographed for smooth, naturalistic transitions that mirror conversational rhythm. The Pepper robot will be made available to students for the duration of the project, providing hands-on experience with its hardware and software capabilities. By bridging verbal and nonverbal communication, this project aims to make Pepper's interactions more engaging.;

** Pre-requisites for this project include a curiosity in AI and Human-Robot Interaction (HRI), comfort with written English, and prior programming experience. No prior knowledge of ROS is required, as necessary skills will be developed throughout the project.;

Lien : - • Dernière mise à jour : 2025-03-26 15:26:29

13. Don't Panic… Pepper's Got the Blues: A Guide to Sulky Moves!
Identifiant : croitoru_2_2024-25 • Encadrant(s) : croitoru@lirmm.fr, ganesh.gowrishankar@lirmm.fr

Résumé : This project focuses on the advanced development of an emotion-sensitive control framework for Pepper, a humanoid robot, engineered to simulate and express complex negative affective states for enhanced human-robot interaction (HRI). By integrating ChatGPT as a dialogue generation module, this project will also employ emotion detection algorithms to analyze linguistic outputs from both Pepper and human participants, focusing on “negative” emotions such as melancholy and apathy.
On the programming side, this project involves building a specialized ROS-based gesture library tailored to convey negative affect. The library will include a repertoire of choreographed gestures—such as crossed arms, head tilts, and averted gaze—that reflect apathy and emotional detachment. Students will undertake the programming of these gestures in ROS, facing challenges in motion planning and the synchronization of emotion-detection outputs with real-time robot responses.

Access to Pepper during the time of the project will provide students with hands-on opportunities to work with its hardware and software integration. The project will delve into the intricate programming challenges of affect-sensitive robotics, exploring the demanding technical requirements necessary for emotionally attuned robot interactions.


** Pre-requisites for this project include a curiosity in AI and Human-Robot Interaction (HRI), comfort with written English, and prior programming experience. No prior knowledge of ROS is required, as necessary skills will be developed throughout the project.;

Lien : - • Dernière mise à jour : 2024-11-12 11:20:01

14. Risky Business: A Game of Risk and Reward for Robot Negotiation
   
NFE
Identifiant : croitoru_3_2024-25 • Encadrant(s) : croitoru@lirmm.fr

Résumé : This project focuses on designing and implementing a game with a purpose (GWAP) to investigate how individuals consider risk, reward, and perceived danger when negotiating resource allocation. The game will serve as a data collection tool, enabling students to analyze how players of varying demographics'age, sex, and perceived strength'balance risk and reward.
The project involves creating gamified negotiation scenarios in which players are challenged to make strategic decisions about resource allocation, with varying levels of risk and potential reward. The game design must be robust enough to gather data reflecting players' tendencies, biases, and tradeoff strategies. Students will analyze this data to identify patterns and variations in negotiation behavior influenced by demographic factors and perceived personal attributes.

Using the collected data, students will develop an AI model that mimics human-like decision-making in negotiation situations, specifically the tradeoffs between risk and reward. The AI model will be programmed to simulate negotiation behavior that adapts to perceived risks, dangers, and rewards, demonstrating a nuanced understanding of human preferences in such scenarios. Finally, the model will be integrated into a humanoid robot (QT or Pepper) available at LIRMM.

This project requires a strong interest in AI, human-computer interaction, and game development. Basic experience with data analysis and programming is expected, and familiarity with machine learning will be beneficial, although essential training will be provided during the project.

Lien : - • Dernière mise à jour : 2025-03-26 15:28:07

15. Memory Lane: Robots That Negotiate by Learning from Past Interactions
   
RDF
Identifiant : croitoru_4_2024-25 • Encadrant(s) : croitoru@lirmm.fr

Résumé : This project involves designing a game with a purpose (GWAP) to study how individuals negotiate resource allocations over repeated interactions. In this game, participants repeatedly face similar negotiation scenarios, but their allocation decisions are influenced by the history of previous interactions and outcomes. This allows us to analyze how negotiation strategies evolve based on prior allocations, rewards, and perceived fairness or trust built through repeated engagements.
The game is designed to simulate realistic negotiation situations, enabling data collection on players' adaptive strategies. For example, participants may adjust their approach depending on whether prior negotiations led to favorable or unfavorable outcomes, revealing patterns in how past experiences shape risk tolerance, trust, and reward-seeking behavior. The focus is on understanding how these dynamics shift with factors such as age, sex, and perceived strength or assertiveness of the participants.

With the collected data, students will build an AI model that replicates this adaptive decision-making process, where the robot's negotiation strategy will change based on its "memory" of past interactions. This AI model will be incorporated into a humanoid robot (QT or Pepper) available at LIRMM.

This project requires a solid foundation in AI and human-computer interaction, as well as experience in programming and data analysis. While familiarity with machine learning is beneficial, all necessary skills for model development and integration will be taught within the project.

Lien : - • Dernière mise à jour : 2025-03-26 15:27:16

16. Street Smart: Integrating Knowledge Graphs with Machine Learning for VR Street-Crossing
Identifiant : croitoru_5_2024-25 • Encadrant(s) : croitoru@lirmm.fr, ganesh.gowrishankar@lirmm.fr

Résumé : This project will develop a hybrid AI approach that combines a knowledge graph with an AI model to enable human-like decision-making in a virtual reality (VR) street-crossing scenario. Students will work with a taxonomy of concepts and relations relevant to busy urban environments, encoded in a knowledge graph. This graph includes knowledge such as "pine trees are trees”; "trees obstruct visibility" or "pregnant women walk slow." Such hierarchical and relational knowledge will be used to improve the AI model’s street-crossing decisions based on contextual and environmental factors.
Students will create or import a VR street-crossing scene in Unity or Unreal Engine, using the Oculus headset for immersive testing. The environment may be developed from scratch or sourced from libraries like Carla to simulate the urban setting realistically. The main objective of this project is the integration of knowledge graph data with the AI model to create a hybrid AI system that can predict pedestrian crossing behaviors with high context awareness. By combining structured knowledge with AI-driven decision-making, this project aims to advance the model's ability to assess environmental conditions, such as visibility obstructions or pedestrian characteristics, resulting in a more realistic street-crossing decision making model.

Good programming skills in C are required, as students will be working with VR development and integrating knowledge graph data into the AI model.

Lien : - • Dernière mise à jour : 2024-11-12 11:21:40

17. Late-Night Logic: Socially Aware AI for Smart Route Choices
Identifiant : croitoru_6_2024-25 • Encadrant(s) : croitoru@lirmm.fr, ganesh.gowrishankar@lirmm.fr

Résumé : This project investigates the integration of societal norms into AI-driven decision-making for realistic, context-aware route selection in a virtual reality (VR) environment. Using a scenario such as selecting a safe route home as a single woman late at night, students will develop an AI model that incorporates implicit societal rules to simulate human-like decision-making. These norms, represented in ontology-based knowledge representation language like OWL, RuleML, or Existential Rules, will be integrated with the AI model to predict decisions based on contextual social factors.
In this VR scenario, factors such as street lighting, time of night, perceived safety of routes, and the presence of others (e.g., large groups) will influence route selection. For example, the AI model may follow norms dictating that a well-lit road is generally safer; however, if a group of unfamiliar people appears on this route, the model may opt for a quieter but less well-lit path instead. The ontology-based rules will be used to encode these complex, context-sensitive norms and enhance the model's ability to make contextually informed route decisions.

Students will either design the VR urban environment in Unity or Unreal Engine or import elements from existing libraries, using the Oculus headset for testing. The core objective of this project is the seamless integration of societal norms with AI, creating a hybrid AI system that enhances the realism and depth of VR simulations. This system will demonstrate how norm-based reasoning can refine decision-making in high-stakes or sensitive contexts, simulating a safer, more socially aware navigation behavior.

Good background in programming, especially in C, is required, as students will work with VR development.

Lien : - • Dernière mise à jour : 2024-11-12 11:23:42

18. Robot Talk: Comparing Human Perceptions of Nao, QT, and Pepper in AI-Driven Conversations
   
Identifiant : croitoru_7_2024-25 • Encadrant(s) : croitoru@lirmm.fr, abdelhak.seriai@lirmm.fr

Résumé : This project focuses on integrating ChatGPT with the Nao robot to enable it to hold interactive discussions with human participants. Using this integration, students will explore a scenario involving negotiation in a resource allocation context, such as deciding how to fairly share a cake or choose a restaurant. The objective is to examine how users perceive and respond to Nao's negotiation style compared to QT and Pepper.
Throughout the project, students will design dialogue-driven negotiation scenarios and collect data on human responses and impressions of each robot’s conversational abilities. This project, via an AI model that will be built by the students, will reveal how factors such as robot design, size, and voice affect user perceptions, offering insights into the nuances of human-robot interaction.

Lien : - • Dernière mise à jour : 2024-11-12 11:32:03

19. APEX Saison 3
Identifiant : eric.bourreau_1_2024-25 • Encadrant(s) : eric.bourreau@umontpellier.fr

Résumé : Le projet consiste à construire un site web (front end, back
end) hébergeant un solveur permettant de construire un planning d'examen
pour une université. Il y a donc du dev web, mais aussi du codage en
Rust d'un algo existant d'affectation, enrichi par un nouveau module
post-optimisation que vous construirez.

groupe : Mix M2 GL et ALGO

URl : https://seafile.lirmm.fr/f/7dfb1ee399054d26aeb1/

Lien : https://seafile.lirmm.fr/f/7dfb1ee399054d26aeb1/Dernière mise à jour : 2024-11-13 09:19:53

20. Bot de gestion de connaissances
   
Identifiant : mathieu.lafourcade_3_2024-25 • Encadrant(s) : mathieu.lafourcade@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 : 2024-11-13 10:09:10

21. Calcul de plongements lexicaux (embeddings) à partir de la base de connaissances JeuxDeMots
Identifiant : mathieu.lafourcade_4_2024-25 • Encadrant(s) : mathieu.lafourcade@lirmm.fr, hani.guenoune@lirmm.fr

Résumé : Ce projet vise à explorer et implémenter des techniques de calcul de plongements lexicaux (word/graph embeddings) en utilisant la base de connaissances JeuxDeMots, qui se présente sous forme de graphe orienté, typé et pondéré.

Description :
JeuxDeMots est une base de connaissances lexicale construite de manière collaborative, représentée par un graphe complexe où les noeuds sont des termes et les arêtes des relations sémantiques. Ces relations sont orientées, typées (par exemple : synonymie, antonymie, est-un, etc.) et pondérées, avec la particularité que les pondérations peuvent être négatives pour indiquer des relations fausses ou contestées. Lien : https://www.jeuxdemots.org/jdm-about.php

Tâches principales :
Étude de l'état de l'art : Rechercher et analyser les méthodes existantes de calcul d'embeddings sur des graphes, en particulier celles adaptées aux graphes de connaissances. Se concentrer sur les techniques prenant en compte les spécificités de JeuxDeMots (relations typées, pondérations positives et négatives).
Sélection et implémentation d'algorithmes :
Choisir au moins deux méthodes pertinentes identifiées lors de l'étude de l'état de l'art.
Implémenter ces méthodes en tenant compte des caractéristiques de JeuxDeMots.
Adapter les algorithmes pour gérer efficacement les pondérations négatives et les différents types de relations.

Expérimentation et évaluation :
Appliquer les algorithmes implémentés sur un sous-ensemble représentatif de JeuxDeMots.
Calculer des embeddings pour chaque terme du graphe.
Évaluer la qualité des embeddings obtenus à l'aide de tâches standard (analogies, similarité sémantique) et de métriques appropriées.
Comparer les performances des différentes méthodes implémentées.

Analyse et interprétation des résultats :
Examiner l'impact des relations négatives et des types de relations sur la qualité des embeddings.
Identifier les forces et les faiblesses de chaque approche dans le contexte spécifique de JeuxDeMots.

Ce projet permettra aux étudiants de se familiariser avec les techniques avancées de traitement du langage naturel et d'apprentissage sur graphes, tout en travaillant sur une ressource lexicale riche et complexe. Ils développeront des compétences en recherche, implémentation algorithmique et analyse de données, essentielles dans le domaine de l'intelligence artificielle et du traitement automatique des langues.

un lien utile : https://scholar.google.fr/scholar?q=knowledge+base+embeddings+survey&hl=fr&as_sdt=0&as_vis=1&oi=scholart

Lien : - • Dernière mise à jour : 2024-11-13 10:37:31

22. Les IA génératives et les émotions - annotation automatiques de données
   
Identifiant : todorov_4_2024-25 • Encadrant(s) : todorov@lirmm.fr

Résumé : Les intelligences artificielles (IA) génératives peuvent-elles faire
ressentir des émotions à leurs usagers lors d’échanges conversationnels
? Comment ces émotions transparaissent-elles dans les conversations ?
Les IA peuvent-elles repérer automatiquement des émotions telles que la
joie, la peur, le dégoût ou d’autres encore ? Le sujet s’inscrit dans le
cadre du projet AI-EMOTION (en collaboration avec LERASS à l’Université
Paul Valéry, France) qui s’intéresse plus particulièrement aux agents
conversationnels pour comprendre comment le dialogue humain-machine peut
constituer un nouvel espace de fabriques des émotions, c’est-à-dire
devenir un espace propice à la création et au partage d’émotions.

Le TER aura pour objectif de proposer un dispositif d’annotation de
corpus de dialogues homme-machine sous la forme d'une interface
d'annotation, facile à utiliser par des usager non-informaticien.ne.s.
Pour ce faire, le TER se déclinera en deux phases:

1. Définition d'une taxonomie des émotions (en collaboration étroite
avec un autre groupe de TER et un étudiant en thèse au LIRMM):
L'objectif est de classer les différentes émotions et d'établir un
thésaurus autour d'un vocabulaire contrôlé basé sur la littérature
scientifique. Le défi consiste à proposer une taxonomie dans laquelle un
ensemble de concepts (types d'émotions) sera lié par des relations
sémantiques (hyperonymie/hyponymie).

2. Réalisation d'une interface d'annotation 'user-friendly' à la base de
la taxonomie proposée en (1).

** Des prérequis si nécessaires

- Connaissances des librairies de machine learning sous Python
- Bon niveau en programmation

Lien : - • Dernière mise à jour : 2024-11-18 18:27:42

23. The Dollar Game
Identifiant : bessy_1_2024-25 • Encadrant(s) : bessy@lirmm.fr

Résumé : Le Dollar Game est un jeu de solitaire qui se joue sur un graphe connexe. Au début du jeu, chaque sommet du graphe reçoit un certain nombre de dollars, positif ou négatif. À chaque tour, le joueur choisit un
sommet qui donne alors 1 dollar à chacun de ses voisins.
Le but du jeu est d'obtenir une configuration où chaque sommet possède une valeur positive ou nulle.
Ce jeu a été introduit par M. Baker en 2007. Une version online du jeu est disponible ici [1].
En 2007, M. Baker et S. Norine ont montré [2] que si la somme totale des dollars placés sur le graphe
était supérieure ou égale à m − n + 1 (où n et m sont respectivement le nombre de sommets et d'arêtes du
graphe G) alors la configuration de départ était gagnable. La preuve de M. Baker et S. Norine utilise des
outils de géométries algébriques et apparemment aucune preuve combinatoire ou algorithmique simple de
ce résultat ne semble exister.

-Travail attendu: Il s'agit tout d'abord d'étudier d'un point de vue mathématique et algorithmique le jeu : les différentes
définitions et les propriétés simples. Pour cela, on s'inspirera du document [3]. Ensuite, il faudra créer une
interface graphique permettant de jouer au Dollar Game, comme celle du lien [1].
Algorithmiquement, on implémentera l'algorithme de résolution sur les arbres donné dans [3], ainsi
qu'un algorithme permettant de générer des arbres. Finalement, on testera différentes stratégies pour es-
sayer remporter une partie et on évaluera ces stratégies en les comparant.
On étudiera si des stratégies gagnantes simples existent pour des classes de graphes particulières autres
que les arbres : les cycles, les graphes complets, les graphes cubiques...

-Ref:
[1] https://thedollargame.io/
[2] M. Baker and S. Norine, Riemann-Roch and Abel-Jacobi Theory on a finite graph, Advances in Ma-
thematics, vol 215, no. 2 (2007),766'788
[3] https://scholarscompass.vcu.edu/cgi/viewcontent.cgi'article=7379&context=etd

- Profil étudiants: Ce sujet de TER s'adresse plus particulièrement aux étudiants étudiants d'Informatique ayant
un attrait certain pour l'informatique théorique et plus particulièrement la théorie des graphes et
l'algorithmique. Il est prévu pour un groupe de 3 étudiants au moins

Lien : - • Dernière mise à jour : 2024-12-04 09:00:24

24. Interface web de langage de requetes avec l'API JeuxDeMots
   
Identifiant : roux_1_2024-25 • Encadrant(s) : jeremie.roux@lirmm.fr, mathieu.lafourcade@lirmm.fr

Résumé : JeuxDeMots (https://www.jeuxdemots.org) est une base de connaissances développée au LIRMM et constituée à l'aide de jeux sérieux éponymes. Le but de ce TER est d'extraire des informations de JeuxDeMots via l'API récemment développée (https://jdm-api.demo.lirmm.fr) en vue de créer une interface web interrogeable par un programme. Celle-ci devra se présenter sous la forme d'un langage de requête de sélection dans la base de données à l'aide de variables et d'opérateurs (OU, ET, =) afin de donner les valeurs possibles pour ces variables en respectant les contraintes. Dans un soucis d'optimisation, il faudra mettre en place des heuristiques traitant en priorité les clauses les plus contraintes. Voici des exemples de requêtes à 1 et 2 variables :

Requête 1 : ($x r_isa artiste) ET (($x = ba%) OU ($x = Ba%)) -> Donner les termes ayant pour hyperonyme 'artiste' (c'est à dire étant des artistes) et commençant par 'ba' ou 'Ba'.
Résultat de la requête 1 ($x) : (batteur) (Bach) (bassiste) (baryton) (barbarigaire) (bassoniste) (Bachir Touré) (Barbara) ...

Requête 2 : ($x r_isa animal) ET ($y r_isa animal) ET ($x r_can_eat $y) -> Donner les couples de termes ayant comme hyperonyme 'animal' (c'est à dire étant des animaux), dont le premier peut manger le second.
Résultat de la requête 2 ($x,$y) : (lion,gazelle) (lion,antilope) (chat,souris) (caméléon,mouche) ...

Lien : https://jdm-api.demo.lirmm.frDernière mise à jour : 2024-12-03 14:08:13

25. Mise en place d'une infrastructure DevOps avec monitoring pour le deploiement et la supervision d'applications logicielles
   
Identifiant : seriai_1_2024-25 • Encadrant(s) : seriai@lirmm.fr, bachar.rima@lirmm.fr

Résumé : I) Première phase : Compréhension des concepts fondamentaux du DevOps et
du monitoring
a) l'étude des principes du DevOps, notamment l'intégration continue
(CI), la livraison continue (CD) et le déploiement continu.
b)l'analyse des outils et pratiques couramment utilisés en DevOps, tels
que Git pour Jenkins pour l'intégration continue, Docker pour la
conteneurisation et Kubernetes pour l'orchestration.
c) Explorer les concepts de monitoring, y compris la surveillance des
performances des applications, la gestion des logs et l'alerte en temps
réel.
d) Examiner les outils de monitoring populaires, tels que Prometheus
pour la collecte de métriques, Grafana pour la visualisation, et ELK
Stack (Elasticsearch, Logstash, Kibana) pour la gestion des logs.

II) Deuxième phase : Implémentation d'une pipeline DevOps avec
monitoring intégré
a) Sélectionner une application logicielle (par exemple, une application
web simple) pour servir de cas d'étude.
b) Mettre en place une pipeline CI/CD complète incluant :
- Gestion du code source avec Git.
- Automatisation des builds et des tests avec Jenkins.
- Conteneurisation de l'application avec Docker.
- Déploiement orchestré avec Kubernetes.

c) Intégrer des solutions de monitoring pour surveiller :
- Les performances de l'application (temps de réponse, taux d'erreur).
- L'utilisation des ressources système (CPU, mémoire, stockage).
- Les logs applicatifs et système pour la détection proactive des
anomalies.

d) Configurer des tableaux de bord personnalisés avec Grafana pour
visualiser les métriques clés et mettre en place des alertes en cas de
dépassement de seuils critiques.

** Des prérequis si nécessaires ;
Gout pour la théorie et la pratique en génie logiciel.

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL

Lien : https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/Dernière mise à jour : 2024-12-03 15:01:57

26. Few-shot learning with Large Language Models (LLMs) for Natural Language Inference (NLI) tasks for French
   
Identifiant : maximos.skandalis_1_2024-25 • Encadrant(s) : maximos.skandalis@lirmm.fr, richard.moot@lirmm.fr, michael.sioutis@lirmm.fr

Résumé : En traitement automatique du langage naturel, la tâche de l'inférence textuelle (natural language inference ou recognising textual entailment, en anglais) est une tâche de classification de paires de phrases avec trois étiquettes/classes (entailment, neutral, contradiction).

Presque tous les modèles d'apprentissage profond pour cette tâche en français sont entraînés sur le sous-ensemble d'entraînement de XNLI, qui n'est qu'une traduction par machine au français du sous-ensemble d'entraînement de la version anglaise originale de XNLI.

Le projet de TER proposé consiste à étudier les possibilités du few-shot learning avec différents grands modèles de langage sur les nouveaux jeux de données que nous avons introduits pour le français. L'objectif serait de tester à quelle mesure le few-shot learning (apprentissage avec peu d'exemples), avec différentes combinaisons de modèles de langage et de jeux de données, pourrait influencer la performance des modèles sur tous les jeux de données disponibles pour le français. Il s'agirait aussi de voir si le paramétrage sur un (ou plusieurs) de nos jeux de données des modèles initialement entraînés sur XNLI est efficace pour améliorer les performances des modèles sur des exemples issus d'autres jeux de données distincts.

Les missions du TER comprennent:
1. paramétrer ou fine-tuner plusieurs modèles récents d'apprentissage profond sur nos jeux de données;
2. évaluer les performances de ces modèles sur tous les jeux de données mentionnés;
3. tester des techniques de few-shot learning sur différents modèles et avec différents jeux de données.

Comme ce sujet de TER est un sujet de recherche d'actualité, le rapport, si bien fait, pourrait très bien donner lieu à une publication à une conférence, avec l'aide des encadrants.

Lien : https://plmlatex.math.cnrs.fr/read/qqkvhxrcjgsgDernière mise à jour : 2025-01-14 17:56:45

27. Traitement de geometrie hors memoire (Out-of-Core)
   
Identifiant : mathieu.ladeuil_1_2024-25 • Encadrant(s) : mathieu.ladeuil@umontpellier.fr

Résumé : Ce TER vise à traiter des maillages complexes et volumineux issus de
scanners ou photogrammétrie, souvent trop lourds pour être affichés ou
manipulés en mémoire. La solution consiste à découper ces maillages en
morceaux, simplifier chaque partie, puis reconstituer un maillage global
simplifié.

L'objectif est de développer une implémentation en C++ avec Polyscope
pour la visualisation, disponible en Open Source, ouvrant la voie à
divers traitements géométriques multi-échelle (recalage,
partitionnement, déformation, etc.).

Travail demandé
Étude bibliographique des méthodes existantes.
Implémentation : tri spatial, découpage, simplification, et
reconstitution du maillage.
Extensions possibles : exploration de variantes ou focus sur des
traitements multi-échelle.

equis:
Profil : Imagine (ou GL motivé)
Connaissance du c++, 3D, géométrie, mathématiques

Lien : https://seafile.lirmm.fr/f/24a3cb49cc3c4622a5db/Dernière mise à jour : 2024-12-04 09:03:35

28. A Framework for Assessing the Spatio-Temporal Reasoning Capabilities of Large Language Models
Identifiant : michael.sioutis_1_2024-25 • Encadrant(s) : michael.sioutis@lirmm.fr, maximos.skandalis@lirmm.fr, richard.moot@lirmm.fr

Résumé : Jusqu'à présent, les grands modèles de langue (LLM) ont impressionné par leurs capacités globales de traitement du langage naturel en ce qui concerne les requêtes courantes. Cela soulève la question de savoir si ces modèles sont capables d'accomplir des tâches plus spécialisées, telles que le raisonnement sur des informations spatiales et temporelles (complexes). Inspirés par les efforts récents de la communauté sur le raisonnement spatio-temporel qualitatif (QSTR) concernant la question susmentionnée, et par nos propres expériences et échanges avec des collègues, nous proposons ce projet de développement d'un cadre pour évaluer les capacités de raisonnement spatio-temporel des LLM de manière automatisée. Les tâches principales de ce projet sont les suivantes :

- Implémenter un pipeline pour poser des requêtes spatiales ou temporelles à un LLM, et ensuite encoder les réponses dans des réseaux de contraintes spatio-temporelles appropriés, qui peuvent être utilisés pour mésurer les incohérences/contradictions ;

- Concevoir et réaliser une évaluation expérimentale avec le pipeline mis en œuvre, sur la base de certains modèles de requête, tels que le remplissage d'informations spatio-temporelles manquantes, la réparation d'incohérences, l'affirmation de cohérences, etc.

Pour le projet, certains outils peuvent être utilisés pour aider à mesurer les informations spatio-temporelles incohérentes/contradictoires. Plus précisément, ces outils se trouvent à l'adresse suivante : https://msioutis.gitlab.io/software/, et se rapportent aux langages de contraintes qualitatives de l'algèbre d'intervalles et du RCC8.

Lien : https://www.overleaf.com/read/gbgyxwbncmqz#b68bc8Dernière mise à jour : 2024-12-04 21:05:59

29. Generation de plantes grimpantes dans ThreeJS
   
JDD
Identifiant : nicolas.lutz_1_2024-25 • Encadrant(s) : nicolas.lutz@umontpellier.fr

Résumé : En informatique graphique, de nombreuses techniques différentes sont mises en place pour représenter le réel et le vivant de façon plausible. La génération procédurale représente un large ensemble d'outils adaptés pour représenter des objets et des phénomènes naturels par des approximations stochastiques.
Les plantes, par exemple, peuvent être modélisées procéduralement. Pour ce TER, nous nous intéressons à une représentation par particules anisotropes proposée par l'article Interactive modeling and authoring of climbing plants de Hädrich et al., qui sert notamment à modéliser des plantes grimpantes, comme le lierre, en temps réel. Cette représentation permet de faire en sorte que les plantes grimpantes grandissent autour de la forme d'un objet physique en prenant en compte l'environnement lumineux et les interactions avec le vent.
Le travail de ce TER consiste à implémenter la représentation des plantes par particules anisotropes en utilisant Three.js, en incluant une partie des propositions de l'article.
Prérequis : Connaître ThreeJS, le javascript et les bases de la modélisation 3D est apprécié.
Profil : IMAGINE

Lien : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2024_plantes.pdfDernière mise à jour : 2024-12-09 17:08:31

30. Mise en place d'une infrastructure MLOps pour le deploiement et la surveillance de modeles de Machine Learning
Identifiant : seriai_2_2024-25 • Encadrant(s) : seriai@lirmm.fr

Résumé : MLOps (Machine Learning Operations) est une pratique qui combine le
développement de modèles de machine learning (ML) avec des principes
d'ingénierie logicielle et des pratiques DevOps pour gérer tout le cycle
de vie des modèles de machine learning. C'est un sous-ensemble des
pratiques DevOps, mais spécifiquement orienté vers les systèmes qui
incluent des modèles d'apprentissage automatique.
MLOps vise à automatiser, normaliser et optimiser les processus associés
à la création, au déploiement et à la maintenance des modèles ML, tout
en assurant leur performance, leur reproductibilité et leur scalabilité.

L'objectif de ce TER est double :

1. Compréhension des concepts fondamentaux du MLOps

- Étudier les principes du MLOps, notamment l'intégration continue (CI),
la livraison continue (CD) et le déploiement continu des modèles de
Machine Learning.

- Analyser les différences et similitudes entre MLOps et DevOps, en
mettant l'accent sur les spécificités liées aux projets de Machine
Learning.

- Explorer les outils et frameworks couramment utilisés en MLOps,
Gestion des versions (Git, DVC,...), Automatisation (Jenkins, GitLab
CI/CD, MLflow, TFX (TensorFlow Extended), ...), Déploiement (Docker,
Kubernetes, Kubeflow, Seldon, ...), Surveillance des modèles
(Prometheus, Grafana, EvidentlyAI, ...), Cloud & infrastructure (AWS
Sagemaker, Google Vertex AI, Azure ML, ...).


2. Implémentation d'une pipeline MLOps

- Sélectionner un cas d'usage pertinent (par exemple, prédiction des
ventes, classification d'images, analyse de sentiments) et constituer un
jeu de données approprié.

- Mettre en place une pipeline de bout en bout incluant :
a) Préparation et gestion des données.
b) Entraînement et validation du modèle.
c) Déploiement du modèle en environnement de production.
d) Surveillance continue des performances du modèle et détection des
dérives.

- Utiliser des outils tels que MLflow pour le suivi des expériences et
la gestion des versions de modèles, et des plateformes cloud (AWS, GCP,
Azure) pour le déploiement et la scalabilité.

** Des prérequis si nécessaires ;
Gout pour la théorie et la pratique en génie logiciel et en machine
learning.

https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL ou IASD ou
GL+IASD

Lien : https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/Dernière mise à jour : 2024-12-09 16:50:21

31. Synthese d'ocean dans Godot
   
Identifiant : nicolas.lutz_2_2024-25 • Encadrant(s) : nicolas.lutz@umontpellier.fr

Résumé : En informatique graphique, dans des applications temps réel comme le jeu vidéo, la génération d’océan se fait typiquement en calculant la transformée de Fourier inverse d’un spectre océanographique (modèle de Tessendorf). Le résultat est sous la forme d’une carte de déplacement (displacement map) périodique représentant le déplacement d’un maillage plan vers un maillage représentant un océan. Cette carte de déplacement est ensuite répétée sur toute la surface. Récemment, Lutz (c’est moi), Schoentgen et Gilet [LSG24] ont proposé de synthétiser la carte de déplacement à l’aide d’un algorithme de synthèse de textures par l’exemple temps réel appelé le pavage et mélange, pour éviter que l’océan se répète et ne casse l’immersion.
Le problème est que le code correspondant est secret car il est possédé par Ubisoft. Dans un monde idéal, il faudrait un code public pour que d’autres chercheurs et chercheuses puissent tester rapidement et facilement la méthode.
Par conséquent, ce TER vous demande d'implémenter notre synthèse dans le moteur de jeu Godot, en prenant comme base un modèle périodique d'océan, par exemple le modèle de Tessendorf, que vous devrez réimplémenter sur Godot à partir de code existant.
Prérequis : Connaître les bases de la modélisation 3D et des textures. Connaître le moteur Godot est un plus.
Profil : IMAGINE
URL : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2024_ocean.pdf

Lien : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2024_ocean.pdfDernière mise à jour : 2024-12-09 22:39:45

32. Synthese et rendu fractal de textures
   
Identifiant : nicolas.lutz_3_2024-25 • Encadrant(s) : nicolas.lutz@umontpellier.fr

Résumé : En informatique graphique, le pavage périodique d’une texture sur une surface consiste à créer un échantillon de textures qui soit périodique (voir : seamless textures), puis à répéter cet échantillon sur la surface. Le problème du pavage périodique est que la surface présente des artefacts de répétitions, qui cassent l’immersion dans le monde virtuel contenant de telles surfaces.
La synthèse de textures temps réel et par l’exemple permet d’étendre une texture sur une surface à partir d’un échantillon périodique de texture en introduisant de l’aléa en temps réel, qui permet de résoudre ce problème.
Le problème que nous cherchons à résoudre est que les algorithmes de synthèse temps réel actuellement proposés permettent de synthétiser efficacement des surfaces texturées de taille non bornées, mais pas des surfaces dont l’apparence est continue (=on peut zoomer infiniment dessus).
Le travail demandé est d'étudier la possibilité de texturer une surface fractalement (voir sujet complet) en la reprogrammant dans une application simple et d'évaluer la qualité de cet outil pour résoudre le problème posé. Vous devrez ensuite combiner un algorithme de synthèse avec le rendu fractal, et évaluer le résultat de la même façon.
Profil : IMAGINE
URL : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2024_textures.pdf

Lien : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2024_textures.pdfDernière mise à jour : 2024-12-09 22:40:40

33. Comparaison de methodes pour resoudre le probleme du flot maximum et divers autres problemes combinatoires
   
Identifiant : rodolphe.giroudeau_2_2024-25 • Encadrant(s) : rodolphe.giroudeau@lirmm.fr

Résumé : Dans ce projet, nous nous intéressons à plusieurs méthodes pour résoudre le problème du flot maximum. Dans un premier temps nous considérons les algorithmes classiques (Ford-Fulkerson, Edmonds-Karp, Dinic, …) versus la programmation linéaire. Toutes ces méthodes seront testées sur des jeux d’essais via des batteries de tests.
Dans un second temps d’autres problèmes combinatoires (plus court chemin, ….) seront considérés avec une approche similaires.

** Des prérequis si nécessaires ; algorithmique, programmation linéaire

Lien : - • Dernière mise à jour : 2024-12-12 10:20:36

34. Repartition et gestion de la charge serveur pour un MMO en temps reel
   
Identifiant : hinde.bouziane_1_2024-25 • Encadrant(s) : hinde.bouziane@lirmm.fr

Résumé : Nous avons un concept de jeu qui se veut massivement multijoueur (MMO) en temps réel et qui doit être jouable via une page web. Il est donc nécessaire pour le réaliser d'avoir un backend robuste pouvant traiter et renvoyer un gros flux de données.

Le jeu se résume à des territoires habités. Les habitants, des joueurs qui peuvent se déplacer et réaliser des tâches sous forme de mini jeu, produisent des ressources permettant d'aménager leur territoire.

Concernant le client du jeu, nous laissons son implémentation à un autre groupe, celle-ci n'étant pas bloquante pour la conception du backend.

Le jeu a très peu de logique côté serveur ce qui permet de se concentrer sur les problématiques réseaux.

On a possibilité de s'adresser à une communauté francophone, grâce à un contact streamer. Mais sa communauté n'est pas uniquement composée de Français mais aussi de Canadiens. Or, on souhaite proposer une expérience agréable quel que soit la position géographique des joueurs.

Ainsi, notre objectif serait d'être en mesure d'accueillir dans un premier temps 1000 joueurs en simultané avec une architecture scalable.

https://hurel.notion.site/Sujet-R-partition-et-gestion-de-la-charge-serveur-pour-un-MMO-en-temps-r-el-1144f09a5626803dbb98dff640bb4657

Lien : https://hurel.notion.site/Sujet-R-partition-et-gestion-de-la-charge-serveur-pour-un-MMO-en-temps-r-el-1144f09a5626803dbb98dff640bb4657Dernière mise à jour : 2024-12-12 13:09:55

35. ECOUTER POUR COMPRENDRE : DETECTION DE MOTS IMPORTANTS POUR LES URGENCES MEDICALES
   
Identifiant : poncelet_3_2024-25 • Encadrant(s) : pascal.poncelet@lirmm.fr

Résumé : Contexte :
Dans le cadre des urgences médicales, les médecins doivent rapidement évaluer la situation d’un patient, parfois uniquement au cours d’une brève conversation téléphonique. Identifier automatiquement les mots importants dans le discours du patient peut être déterminant pour établir un diagnostic initial : allergie, antécédents familiaux ? À travers l'analyse du discours, il est possible d’aider les médecins à prendre des décisions éclairées en urgence. Ce projet s'inscrit dans une collaboration avec le service des urgences du CHU et le laboratoire IES de Montpellier pour améliorer l'efficacité des diagnostics basés sur l'audio.

Objectifs :
L’objectif de ce projet est de développer des modèles capables, à partir d'un discours, de reconnaître des éléments pertinents en utilisant des données audio disponibles sur Kaggle. Les étudiants auront pour mission de :

Étudier et prétraiter un jeu de données audio : Découverte et manipulation de données de Kaggle pour comprendre comment reconnaître les sons et les transcrire en texte.

Mise en place d'un modèle de détection de mots (Entity Recognition).

Utilisation de modèles avancés d'apprentissage profond via le Transfer Learning.

Expérimentations en conditions réelles : Après avoir validé les modèles sur les données Kaggle, des expérimentations finales seront menées au CHU avec des données audio réelles collectées auprès des patients.

Pour cela, différents jeux de données seront utilisés pour progresser et proposer des modèles de plus en plus complexes. L’objectif de ce TER est de comprendre les mécanismes associés à l’apprentissage profond afin de les mettre en œuvre sur une application réelle, moins classique que des images ou du texte. En outre, il vous plongera dans le monde de l’audio et de l’intelligence artificielle appliquée à la santé, avec la possibilité de voir l’impact direct de votre travail sur la détection rapide et non invasive en temps réel de maladies à manifestations respiratoires.

Encadrement et contact :
Pascal Poncelet (Pascal.Poncelet@lirmm.fr)

Équipe :
Advanse (https://www.lirmm.fr/equipes/advanse/)

Nombre d’étudiants :
Ce TER peut être réalisé par un groupe de 3 à 4 étudiants.

Prérequis :
Savoir utiliser Python. Aucun prérequis n’est demandé sur l’apprentissage profond ou la science des données. Les informations utiles seront précisées.

Remarque :
Une grande partie de l’encadrement se fera via la plateforme Discord ou Zoom.

Bibliographie :

[Yamnet] « Apprentissage par transfert avec YAMNet pour la classification des sons environnementaux ». https://www.tensorflow.org/tutorials/audio/transfer_learning_audio?hl=fr, dernière consultation le 18 septembre 2024.

[Poncelet 2024] Pascal Poncelet. « Classification d’images avec des CNN ». Notebook. 2022.

[Poncelet 2024] Pascal Poncelet. « Premières classifications ». Notebook. 2021.

Lien : - • Dernière mise à jour : 2024-12-12 10:38:18

36. Creation de chaines de triplets de narration
   
Identifiant : hani.guenoune_1_2024-25 • Encadrant(s) : hani.guenoune@lirmm.fr

Résumé : Dans ce projet, nous souhaitons exploiter le contenu du réseaux lexico-sémantique JeuxDeMots afin de créer
une ressources portant sur la manière dont les évènements/actions (décrits dans le discours par des prédicats) s'enchaînent dans une narration, un récit par exemple.
Pour cela, nous procédons en partant d'un triplet issu de JDM auquel nous ajoutons séquentiellement d'autres triplets jusqu'à constituer une chaîne de narration.

Notion de chaîne de narration :

Les maillons d'une chaîne de prédicats de narration (typiquement, une séquence de verbes)
ne sont pas systématiquement liés par des relations de types sémantique, chronologique
ou logique (comme dans le cas du lien de causalité, ou de temporalité, etc.).
L'introduction d'un maillon peut servir à apporter une clarification ou une élaboration,
ou encore appuyer ou défendre les propos du discours.

Exemple : Dans "Le poisson a mangé l'asticot. Il était délicieux".
Le rapport introduit par la proposition ' Il était délicieux ' s'inscrit
dans un schéma d'élaboration, de précision. même si ce rapport
apparaît comme similaire à un lien de conséquence, il n'en est pas strictement un, dans le
sens où le fait que le poisson ait mangé l'asticot ne constitue pas la cause originelle du
fait que ce dernier soit délicieux.
Le nouveau maillon de la chaîne sera donc lié par un rapport dont le type s'insère davantage
dans la pragmatique ou la rhétorique du discours : Lien de narration.

L'objectif est de créer des chaînes narratives typiques à partir de relations issues du réseau lexico-sémantique JeuxDeMots.

Dans la représentation des chaînes créées, il s'agira de tenir de la propriété de positionnement des rôles syntaxiques :

Nous qualifions une séquence de triplets de :
symétrique (ou parallèle) lorsque "x sujet du verbe1 - x sujet du verbe2"
asymétrique lorsque "x sujet du verbe1 - x objet du verbe2"

Lien : - • Dernière mise à jour : 2024-12-12 13:07:55

37. Identification de relations semantiques dans les constructions genitives (forme A de B)
Identifiant : mathieu.lafourcade_5_2024-25 • Encadrant(s) : mathieu.lafourcade@lirmm.fr, hani.guenoune@lirmm.fr

Résumé : Ce projet vise à développer un algorithme de découverte de règles pour l'identification automatique des relations sémantiques dans les constructions génitives de type "A de B" en français. L'étude s'appuiera sur un corpus annoté de constructions génitives et utilisera la base de connaissances JeuxDeMots pour extraire le voisinage sémantique pertinent des termes. L'objectif est de générer des règles permettant de prédire la relation sémantique entre A et B pour de nouveaux exemples non annotés.

Exemples:
désert d'Algérie => lieu
saucisse de Toulouse => origine
couteau de boucherie => topic
table de bois => matière

Résultats attendus :
Un algorithme capable de générer des règles pour prédire les relations sémantiques dans les constructions génitives
Une évaluation quantitative et qualitative des performances de l'algorithme
Une analyse des cas difficiles et des pistes d'amélioration

Objectifs :
Analyser le corpus annoté de constructions génitives "A de B"
Exploiter JeuxDeMots afin d'extraire le voisinage sémantique des termes
Concevoir et implémenter un algorithme de découverte de règles basé sur les contraintes sémantiques
Évaluation des performances sur un ensemble de test
Analyse des résultats et optimisation de l'algorithme

Lien : - • Dernière mise à jour : 2024-12-12 16:49:21

38. Un LLM peut-il calculer un treillis de concepts et des regles d'implication ?
   
Identifiant : Marianne.Huchard_1_2024-25 • Encadrant(s) : marianne.huchard@lirmm.fr

Résumé : L'arrivée des LLMs remet en question de nombreuses pratiques dont celles du développement logiciel. Lors de ce TER, nous cherchons à examiner à quel point un LLM est actuellement capable d'effectuer des calculs combinatoires sur des données ou de produire un code capable de les effectuer. Ces calculs consisteront à calculer des artefacts utiles dans le domaine de l'extraction de connaissances dite symbolique (basée sur la logique, et non sur la statistique). Les artefacts visés sont des treillis de concepts ou des systèmes de règles d'implication. Il s'agira de disposer d'une ou plusieurs implémentations de référence, rédigées par un programmeur et testée, à laquelle comparer ce qui sera produit à l'aide du LLM. Le LLM pourra être utilisé pour : effectuer les calculs eux-mêmes, générer un code effectuant ces calculs, comparer des résultats, comparer des codes, etc.

** Des prérequis si nécessaires ;
Connaissance des bases de Java. Le reste sera appris pendant le TER.

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/f/23ffa12c188743c28318/

** le profil/filière des étudiants que vous souhaitez :
ICO

Lien : https://seafile.lirmm.fr/f/23ffa12c188743c28318/Dernière mise à jour : 2024-12-13 10:08:41

39. DataForest
   
Identifiant : isabelle.mougenot_2024-25 • Encadrant(s) : isabelle.mougenot@umontpellier.fr

Résumé : Le projet consistera à évaluer la capacité d’un serveur NoSQL de type clé-valeur ou document (en l’occurrence Riak ou CouchDB) à gérer efficacement des données spatio-temporelles caractérisant des milliers d’arbres de forêts tropicales (Guyane Française). Ces systèmes de gestion de données NoSQL privilégient des modèles de données plus flexibles (données semi-structurées et auto-décrites) et s’avèrent plus en mesure de passer à l’échelle, que les systèmes de gestion de bases de données relationnels. Une API Rest (framework Spring et modules Spring Data Key-Value, couch-slacker) sera à concevoir et à implémenter pour permettre les accès efficaces en lecture comme en écriture aux ressources de la base de données. Des premières fonctionnalités tirant parti de l’API Rest seront également à définir en React. L’objectif in fine est de proposer quelques services Web de visualisation des forêts.

Références :
CouchDB : https://couchdb.apache.org/
Riak : https://riak.com/index.html
React : https://react.dev/
Données du réseau Guyafor : https://doi.org/10.18167/DVN1/YVNJLK

Lien : - • Dernière mise à jour : 2024-12-16 10:35:55

40. Contextualisation des Dépendances Logicielles Vulnérables pour la Sécurisation des Applications Java
Identifiant : louis.parent_1_2024-25 • Encadrant(s) : louis.parent@lirmm.fr, seriai@lirmm.fr, bachar.rima@berger-levrault.com

Résumé : Contexte : Dans le développement d'applications modernes, l’intégration
de dépendances logicielles est devenue incontournable. Ces dépendances,
telles que des bibliothèques ou frameworks, permettent d’accélérer le
développement, d’ajouter des fonctionnalités avancées et de réduire les
efforts nécessaires pour construire une solution "from scratch".
Cependant, ces composants tiers comportent parfois des vulnérabilités,
qu’elles soient connues ou non, qui peuvent compromettre la sécurité des
applications.

Ces vulnérabilités constituent une cible de choix pour les
cyberattaques, exposant les applications aux risques tels que :

- L’exposition ou le vol de données sensibles.
- La perturbation du fonctionnement normal des systèmes.
- Le contrôle non autorisé des systèmes sous-jacents.

Pour remédier à ces risques, il est essentiel de contextualiser les
vulnérabilités des dépendances logicielles afin de fournir aux
développeurs des informations adaptées au contexte spécifique de leur
application. Une telle contextualisation permet d’identifier les
dépendances critiques, de prioriser les corrections, et de renforcer la
sécurité des applications de manière efficace.

Objectifs du Projet - Le projet vise à concevoir et à développer une
méthodologie pour :

- Analyser les dépendances logicielles dans une application Java et
identifier celles qui présentent des vulnérabilités connues (par
exemple, via des bases de données publiques comme CVE).
- Contextualiser ces vulnérabilités en fonction du code de
l’application, en mettant en évidence :
a) Les dépendances effectivement utilisées dans le code (et non celles
uniquement présentes dans les fichiers de configuration).
b) Les risques associés à chaque dépendance en fonction de leur impact
potentiel sur le fonctionnement et la sécurité de l’application.

- Prioriser les vulnérabilités en fonction du contexte applicatif, en
identifiant celles qui nécessitent des actions correctives urgentes.

- Valider la méthodologie à travers des tests qui évaluent sa robustesse
et son efficacité sur des cas d’étude concrets.

** Des prérequis si nécessaires : Gout pour la Cybersécurité et les
collaborations industrielles (ici : l'entreprise Pradeo)

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL

Lien : https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/Dernière mise à jour : 2024-12-16 10:52:13

41. Utilisation des LLM pour l'Interprétation Automatisée des Résultats de Tests Logiciels : Association des Scénarios de Test et des Données Collectées via Instrumentation du Code
Identifiant : bachar.rima_3_2024-25 • Encadrant(s) : bachar.rima@lirmm.fr, seriai@lirmm.fr

Résumé : Contexte et Enjeux :
Dans le développement logiciel, les tests automatisés sont essentiels
pour garantir la qualité et la stabilité des applications. Toutefois,
l'interprétation des résultats de tests reste souvent une tâche
manuelle, longue et sujette à des erreurs. Ce projet vise à utiliser les
modèles de langage de grande taille (LLM) pour automatiser cette étape
critique.

L'objectif est de combiner des technologies modernes d'observabilité et
d'IA générative pour :

- Associer les scénarios de test à leurs résultats d'exécution.
- Automatiser l'analyse des comportements logiciels observés pendant les
tests.
- Décharger les testeurs des tâches répétitives et leur permettre de se
concentrer sur les problèmes critiques.

Objectifs du Projet - Le projet consiste à développer un processus
automatisé permettant de :

- Extraire automatiquement les données nécessaires aux tests à partir de
la description des scénarios en utilisant des LLM.
- Instrumenter le code du logiciel pour collecter les données
nécessaires à l'interprétation du comportement logiciel à l'aide
d'outils d'observabilité comme OpenTelemetry et Softscanner.
- Exécuter les tests automatisés avec Selenium et récupérer les données
d'exécution.
- Interpréter automatiquement les résultats des tests en s'appuyant sur
la description des scénarios et les données collectées, en utilisant les
capacités des LLM pour identifier les comportements inattendus ou les
anomalies.

Description du Processus - Le projet comprend quatre étapes principales
:

1) Extraction des données nécessaires aux tests
Utiliser un modèle LLM (comme ChatGPT, GPT-4 ou Claude) pour :

- Analyser une description textuelle d'un scénario de test.
- Identifier les données d'entrée nécessaires pour l'exécution du test
(par exemple, valeurs spécifiques, actions utilisateur, état attendu).
2) Instrumentation du code pour l'observabilité

- Comparer et utiliser deux outils d'observabilité alternatifs :

-- OpenTelemetry : Collecte des traces, logs et métriques d'exécution du
logiciel.
-- Softscanner : Un outil d'observabilité spécialisé pour analyser les
comportements logiciels.

- Intégrer ces outils dans l'application cible pour collecter des
données détaillées sur le comportement pendant les tests.

3) Exécution des scénarios de tests avec Selenium

- Développer des scripts Selenium pour exécuter les scénarios de test
sur l'application.
- Collecter les données d'exécution (par exemple, logs, temps de
réponse, traces) issues des outils d'observabilité.

4) Interprétation des résultats avec les LLM

- Utiliser un LLM pour analyser :
-- La description du scénario de test.
-- Les données collectées après l'exécution des tests.

- Générer une interprétation automatique des résultats, incluant :
-- Une identification des anomalies.
-- Une comparaison avec les comportements attendus.
-- Des recommandations pour corriger les problèmes détectés.

** Des prérequis si nécessaires : Gout pour les collaborations
industrielles (ici : l'entreprise Berger Levrault)

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL

Lien : - • Dernière mise à jour : 2025-01-08 11:57:34

42. Processus de Tests Fonctionnels Automatisés de Frontends d'Applications Web basé sur Selenium : Application à Angular, React et Vue.js
   
KGB
Identifiant : bachar.rima_2_2024-25 • Encadrant(s) : bachar.rima@lirmm.fr, seriai@lirmm.fr, anas.shatnawi@berger-levrault.com

Résumé : Contexte :
Les tests fonctionnels sont essentiels pour garantir la qualité et la
fiabilité des applications web modernes. Toutefois, leur mise en place
manuelle est souvent coûteuse en temps et en ressources. Ce projet vise
à automatiser le processus de test des frontends d'applications web en
utilisant Selenium, un outil open-source de test d'interfaces
utilisateur. L'objectif est de développer une méthode qui exploite
l'analyse statique et des approches basées sur des graphes pour générer
automatiquement des scénarios de test adaptés à des frameworks frontend
populaires comme Angular, React et Vue.js.

Objectifs du Projet :
- Développer une méthodologie pour extraire la structure et le
comportement des interfaces graphiques d'applications web (frontend).
- Automatiser la génération et la configuration des scénarios de test à
partir de graphes de navigation.
- Transformer ces scénarios en scripts Selenium pour une exécution
automatique.
- Collecter et analyser les données résultant des tests pour une
validation efficace.

Description du Processus :
Le processus comprend quatre étapes principales :

I) Reverse-engineering du domaine métier
Analyse statique du code frontend :

- Extraction automatique de la structure et du comportement de
l'application à partir de son code.
La structure inclut les fenêtres, widgets (boutons, champs de texte,
etc.) et leurs gestionnaires d'événements (event handlers).
Le comportement est représenté par un graphe de navigation maximal où :
Les fenêtres et widgets constituent les n'uds.
Les chemins possibles entre ces n'uds, basés sur les event handlers et
les interactions utilisateur (valeurs d'entrée), constituent les arcs.

- Génération d'un graphe de navigation variable : Ce graphe est dérivé
du graphe maximal et inclut des chemins alternatifs en fonction des
choix ou options utilisateur (ex. appui sur un bouton 1 ou 2,
utilisation de valeurs spécifiques).

II) Configuration par le testeur
Le testeur configure le graphe de navigation variable pour sélectionner
les chemins et options correspondant aux scénarios de test souhaités.
Cela aboutit à un graphe de navigation minimal, représentant un scénario
de test précis.

III) Transformation en script Selenium
Le graphe de navigation minimal est transformé en un script de test
écrit en Selenium, prêt à être exécuté.

IV) Exécution et collecte des résultats
Le script Selenium est exécuté sur l'application cible, et les données
de test (succès, erreurs, temps de réponse, etc.) sont collectées et
analysées pour évaluer la qualité de l'application.

** Des prérequis si nécessaires : Gout pour les collaborations
industrielles (ici : l'entreprise Berger Levrault)

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL

Lien : - • Dernière mise à jour : 2024-12-16 11:12:03

43. Observabilité et Monitoring des Applications Logicielles Industrielles : Applications pour la Mesure de la Consommation Énergétique et le Contrôle de la Sécurité
   
Identifiant : bachar.rima_1_2024-25 • Encadrant(s) : bachar.rima@lirmm.fr, seriai@lirmm.fr, anas.shatnawi@berger-levrault.com

Résumé : Dans un contexte industriel où les applications logicielles jouent un
rôle critique, l'observabilité et le monitoring sont devenus des
pratiques incontournables. Elles permettent de collecter, analyser et
exploiter des données pour garantir la qualité, la performance et la
sécurité des systèmes. L'objectif de ce projet est de s'appuyer sur ces
pratiques pour répondre à des enjeux spécifiques :

- Optimisation énergétique : Évaluer et réduire la consommation
énergétique des applications, un aspect de plus en plus important dans
une logique d'efficacité énergétique et de durabilité.

- Renforcement de la sécurité : Surveiller les indicateurs de sécurité
pour détecter et prévenir les menaces potentielles.


Objectifs du projet :
Ce projet vise à concevoir et développer une solution combinant
observabilité et monitoring avancé pour atteindre les objectifs suivants
:

1) Mesure et optimisation de la consommation énergétique :

- Mettre en place un système de mesure en temps réel de la consommation
énergétique des applications logicielles.
- Analyser les données pour identifier les composants gourmands en
énergie et proposer des stratégies d'optimisation.
Contrôle de la sécurité :

2) Surveiller les événements et comportements à risque à travers des
outils d'observabilité : Identifier les failles de sécurité et proposer
des mécanismes de mitigation.


Approche Méthodologique

1) Mise en oeuvre de l'�observabilité :

- Collecte de données via l'outil Softscanner
- Mise en place de tableaux de bord interactifs pour suivre les
métriques liées à la consommation énergétique et à la sécurité.


3) Mesure énergétique et Surveillance de la sécurité :
- Détection d'anomalies à partir des logs et métriques.
- Intégration d'alertes en cas de comportements non conformes ou de
dépassements de seuils critiques.

** Des prérequis si nécessaires : Gout pour les collaborations
industrielles (ici : l'entreprise Berger Levrault)

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL

Lien : https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/Dernière mise à jour : 2024-12-16 11:21:33

44. Tests de pénétration pour la sécurisation des applications logicielles
Identifiant : seriai_3_2024-25 • Encadrant(s) : seriai@lirmm.fr, louis.parent@lirmm.fr, bachar.rima@lirmm.fr

Résumé : L'objectif de ce TER est double :

I) Compréhension des concepts fondamentaux des tests de pénétration
- Étudier les principes des tests de pénétration, également appelés
pentests, et leur rôle dans l'évaluation de la sécurité des systèmes
d'information.

- Analyser les différentes méthodologies de pentest, telles que l'Open
Web Application Security Project (OWASP) et le Penetration Testing
Execution Standard (PTES).

- Explorer les types de tests de pénétration : boîte noire, boîte grise
et boîte blanche, en détaillant leurs spécificités et leurs
applications.

- Examiner les outils couramment utilisés en pentest, tels que
Metasploit, Nmap, Burp Suite et Wireshark, en comprenant leurs
fonctionnalités et leurs usages.


II) Implémentation d'un test de pénétration sur une application
logicielle

- Sélectionner une application logicielle (par exemple, une application
web) pour servir de cas d'étude.

- Mettre en place un environnement de test sécurisé, en utilisant des
machines virtuelles ou des conteneurs pour isoler l'application cible.

- Réaliser un test de pénétration complet en suivant les étapes clés :
-- Collecte d'informations : identification des cibles, cartographie du
réseau, collecte de données publiques.
-- Analyse des vulnérabilités : utilisation d'outils pour détecter les
failles potentielles.
-- Exploitation : tentative d'exploitation des vulnérabilités
identifiées pour accéder au système.
-- Post-exploitation : évaluation de l'impact de l'exploitation réussie,
extraction de données sensibles.
-- Rédaction de rapport : documentation des vulnérabilités découvertes,
des méthodes d'exploitation et des recommandations pour y remédier.
-- Utiliser des environnements et des applications vulnérables
intentionnellement, comme OWASP WebGoat ou DVWA (Damn Vulnerable Web
Application), pour pratiquer en toute sécurité.

** Des prérequis si nécessaires : Intérêt pour la Cybersécurité

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL ou GL&IASD

Lien : - • Dernière mise à jour : 2024-12-16 11:23:26

45. Réduction du Temps de Test de Non-Régression pour les Applications Industrielles
Identifiant : seriai_4_2024-25 • Encadrant(s) : seriai@lirmm.fr, quentin.capdepon@berger-levrault.com, nicolas.hlad@carl.eu

Résumé : Contexte et Problématique :
Dans le cadre des systèmes industriels, les tests de non-régression
jouent un rôle essentiel pour garantir la stabilité des applications
après chaque modification du code. Cependant, ces tests peuvent être
extrêmement chronophages. En effet, tout commit, même mineur, nécessite
souvent de relancer l'ensemble des scénarios de test, y compris ceux qui
ne sont pas directement liés aux modifications apportées.

Cette approche exhaustive, bien qu’efficace pour détecter des anomalies,
a deux inconvénients majeurs :

- Consommation excessive de temps : Le lancement de tous les tests suite
à chaque commit ralentit significativement le cycle de développement et
le redéploiement des applications.

- Inefficacité : Tester des parties du code non impactées par les
modifications constitue un gaspillage de ressources.

Ces limitations soulèvent la nécessité de développer une approche
optimisée pour réduire le temps des tests de non-régression tout en
maintenant leur fiabilité.

Objectifs du Projet :
Le projet vise à proposer une approche innovante permettant de réduire
le temps des tests de non-régression pour les applications
industrielles. Les principaux objectifs incluent :

- Identifier automatiquement les scénarios de test pertinents pour un
commit donné, en fonction des parties impactées du code.
- Prioriser et exécuter les tests les plus critiques pour garantir une
couverture optimale en un temps minimal.
- Évaluer l’efficacité de l’approche en termes de réduction du temps de
test et de maintien de la qualité des résultats.

Approche Préliminaire :
Pour atteindre ces objectifs, les étapes suivantes sont envisagées :

- Analyse d’impact des modifications : Développer ou adapter une méthode
d’analyse des dépendances dans le code pour identifier les parties du
système impactées par un commit.
- Sélection intelligente des tests : Mettre en œuvre une stratégie de
sélection dynamique des scénarios de test pertinents.
- Priorisation des tests : Intégrer un mécanisme de priorisation pour
exécuter en premier les tests ayant le plus grand impact sur la
fiabilité.

- Validation : Appliquer l’approche sur un cas d’étude réel ou simulé
pour démontrer son efficacité.

** Des prérequis si nécessaires : gout de les collaborations
industrielles (ici : l'entreprise Berger Levrault)

** Une url vers la présentation détaillée de votre sujet.
https://seafile.lirmm.fr/d/4b0e3cfd3e1a4c45b63f/

** le profil/filière des étudiants que vous souhaitez : GL

Lien : - • Dernière mise à jour : 2024-12-16 11:24:49

46. jeu par navigateur simpliste mais massivement multijoueur
   
Identifiant : noura.faraj_1_2024-25 • Encadrant(s) : noura.faraj@lirmm.fr

Résumé : Créer un jeu par navigateur simpliste mais massivement multijoueur.

Ce jeu se découpe en 2 gameplays : un gameplay de gestion (4X très basique) et un gameplay RPG simplifié.
Les technologie utilisées pour le frontend du jeu seront Angular, ThreeJS et les WebSocket. Le backend sera réalisé dans le cadre d’un autre projet TER.

L’objectif final du TER est de réaliser un événement sur une période de un à deux mois, lors desquels le jeu sera accessible. Le principe est le suivant : diverses communautés d’internet (streamers, influenceurs, forums, etc.) créent et gèrent leur royaume.

Le gameplay est asymétrique : les personnalités jouent le seigneur alors que les membres de leur communauté jouent les citoyens.
Le gameplay de gestion s’organise principalement dans la gestion globale du royaume et de sa capitale. Par exemple : diriger les flux de ressources, désigner les emplacements des nouveaux hameaux et gérer les améliorations de la capitale du royaume.
Le gameplay RPG consiste à réaliser des tâches (mini-jeux basique) afin de produire des ressources ou des objets nécessaires à l’évolution du royaume. Par exemple : récolter du bois ou fabriquer des outils ou des bâtiments.
L’on s’assurera que le scope du jeu n’est pas trop ambitieux en gardant le gameplay et la progression simplistes, et en créant et en réutilisant les assets de manière intelligente (génération procédurale, assets packs gratuits, le minimum possible d’assets originaux (aucune utilisation de génération par IA)).
Diverses solutions de game-design sont envisagées pour rendre le jeu attrayant, intéressant et fun.

La gestion de projet se fera à cheval entre les deux TER jumeaux, par le biais d’une méthode de développement agile.

Lien : - • Dernière mise à jour : 2024-12-29 20:54:05

47. Jeu de Course
   
Identifiant : noura.faraj_2_2024-25 • Encadrant(s) : noura.faraj@lirmm.fr

Résumé : Création d’un jeu de course automobile en 3D pour PC.
Implémentation d’une physique réaliste, adaptée pour le contrôle avec manette.
Création d’IA élaborées avec gestion de course et stratégies.
Cahier des charges :
1. Interface/Expérience utilisateur :
— Utilisation de modèles de voitures détaillés.
— Elaboration de différents modes de jeux (Libre, championnat, contre la montre) — Choix du circuit dans le mode libre
— Course contre 19 IA
— Choix de la durée de la course
— Prise en charge de la manette
— Optimisation du jeu pour petites configurations
2. Physique :
— Température de la piste
— Usure des pneus
— Comportement de la voiture → type «simarcade» pour assurer un bon compromis réalisme/manœuvrabilité
— Physique liée au circuit
3. IA :
— Élaborer des stratégies avant le début de la course
— S’adapter aux contraintes des circuits,
— Aborder les contraintes stratégiques.
— Envisager des stratégies différentes en cours de course,
— Optimiser les arrêts aux stands,
— Savoir quand le dépassement est possible (selon la position des autres voitures et les parties du circuit qui sont plus propices aux dépassements),
— Comprendre l’usure des pneus,
— Réagir aux accidents.

Lien : - • Dernière mise à jour : 2024-12-30 20:43:38

48. Karab s Mobile
   
GRB
Identifiant : GRB_1_2024-25 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : https://docs.google.com/document/d/1hcwTpHnooLFs87zOSn98-noHevgGgIhi70HnWGPXypk/edit'usp=sharing

Nous souhaitons vous proposer un sujet en collaboration avec l'association Carabine Montpelliéraine (ACM), dans le cadre de la digitalisation de leur Karab's. Ce dernier est un ouvrage distribué gratuitement aux étudiants montpelliérains depuis plusieurs années, regroupant des activités et des adresses utiles.

Afin de réduire leur impact écologique et de répondre aux attentes d'une génération habituée à utiliser des smartphones, l'association a décidé d'allouer le budget habituellement consacré à la production de cet ouvrage à la création d'une application mobile gratuite. Cette application intégrera toutes les informations présentes dans l'ouvrage, tout en offrant davantage de flexibilité et de possibilités, telles qu'un système de mise à jour en temps réel des données et un système de notation des activités.

Nous avons échangé à plusieurs reprises avec Raphaël JAY, l'un des deux vice-présidents en charge de la culture au sein de l'association. Il nous a fait part de l'enthousiasme de leur bureau à l'idée de s'engager davantage dans une démarche de digitalisation. Cette application serait ainsi la première étape d'une série de projets potentiels en partenariat avec la Faculté des sciences de Montpellier.

Nous serions ravis de faire de ce projet le sujet de notre TER. À cet effet, nous joignons à ce message une présentation réalisée par l'association, décrivant de manière simplifiée leurs attentes. Bien entendu, cette présentation est une introduction au projet et ne couvre pas tous les détails. D'autres réunions pourront être organisées pour approfondir les aspects techniques et fonctionnels une fois le projet validé.

Lien : https://docs.google.com/document/d/1hcwTpHnooLFs87zOSn98-noHevgGgIhi70HnWGPXypk/edit?usp=sharingDernière mise à jour : 2025-02-12 19:05:46

49. ERIOS Assistant
   
Identifiant : AERB_CMI_1_2024-25 • Encadrant(s) : anne-elisabeth.baert@lirmm.fr, marin.portalez@umontpellier.fr, xavier.corbier@chu-montpellier.fr

Résumé : ERIOS Assistant est une application web développée par le CHU de Montpellier et l'Université de Montpellier dans
le but d'aider le personnel hospitalier dans leur démarche médico-administrative. La fonctionnalité principale de
cette application est la production de documents médicaux à destination du patient à l'aide de l'intelligence
artificielle générative.
La production de document aussi sensible nécessite une classification des contenus produit par un tel outil afin de
permettre une relecture aisée des points sensibles et limiter le risque de propagation d'erreurs. Cette classification
doit permettre de détecter les points sensibles du document qui présente un risque médical : noms de
médicaments, délais d'administration des médicaments, mauvais dosage, informations obsolètes ...
Pour pallier cela, l'équipe ERIOS souhaite créer un pipeline de classification à l'aide de l'utilisation de l'IA générative.
Ce pipeline devra pouvoir être évalué en temps réel.

Lien : - • Dernière mise à jour : 2025-01-09 11:45:10

50. Extraction de relations sémantiques dans les articles sur les espèces animales menacées
   
EAM
Identifiant : mathieu.lafourcade_n2_2024-25 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : 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 sur les espèces animales menacées issus de l'encyclopédie Wikipedia. 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 (JDM). 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 ;
* 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.
API JDM : https://jdm-api.demo.lirmm.fr/schema

Lien : - • Dernière mise à jour : 2025-01-11 09:42:24

51. Extraction de relations sémantiques depuis des textes sur la gastronomie
   
Identifiant : mathieu.lafourcade_n3_2024-25 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : 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 sur la gastronomie et les recettes de cuisine issus de l'encyclopédie Wikipedia et d'autres sources (Marmiton etc). 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 (JDM). 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 et d'autres sources ;
* 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.
API JDM : https://jdm-api.demo.lirmm.fr/schema

Lien : - • Dernière mise à jour : 2025-01-15 22:00:05

52. Pur GL
   
Identifiant : enzo.paoli_1_2024-25 • Encadrant(s) : seriai@lirmm.fr

Résumé : L’idée est de développer une application web et mobile utilisant la stack React, TypeScript, Node.js, MySQL ou MongoDB, et Electron, tout en respectant les cycles DevOps étudiés en Génie Logiciel (Docker, pipelines, tests unitaires, etc.). Un accent particulier sera mis sur la partie DevOps et les bonnes pratiques en Génie Logiciel, en incorporant des technologies récentes et utilisées en entreprise (comme Kubernetes). Il nous a également demandé de réfléchir à nos tests et à l’architecture du projet.

Nous lui avons proposé plusieurs idées distinctes d’applications :

Application de paris sportifs sur l’eSport
Une application dédiée aux paris sportifs dans le domaine de l’eSport, un secteur encore peu exploré par les leaders du marché. Ce projet soulèverait des problématiques liées à la sécurité, aux transactions bancaires et à la création d’une interface utilisateur intuitive. En tant qu’utilisateurs de ce type d’application, nous souhaitons également étudier les algorithmes qui ajustent les cotes et les gains pour garantir la rentabilité, un sujet riche en défis algorithmique.

Carte interactive pour les trams du réseau TAM
Une application web proposant une carte interactive en temps réel affichant la localisation des trams du réseau TAM, via les API/Web services de la TAM. Dans un premier temps, elle afficherait des positions approximatives des tramways en circulation. Si cela est réalisable rapidement, nous pourrions étendre le projet à un suivi des bus, en estimant la durée des trajets entre les arrêts à l’aide d’API GPS, plutôt que de nous baser sur les horaires fixes.

Application de coaching et d’analyse d’échecs
Une application permettant de faire un bilan et une analyse approfondie des parties d’échecs, inspirée des fonctionnalités de Chess.com. Elle inclurait des évaluations de précision des coups, des variantes optimales, des axes d’amélioration, et des entraînements adaptés. Ce projet nécessiterait d’utiliser des API existantes comme Stockfish, et de traiter les informations en expliquant pourquoi certains coups sont meilleurs. Il faudrait aussi intégrer les API de Chess.com (ou similaires) pour récupérer les parties jouées et d’autres données pertinentes.

Lien : - • Dernière mise à jour : 2025-01-12 16:33:52

53. Écouter pour soigner : Classification audio pour les urgences médicales V2
   
Identifiant : poncelet_2bis_2024-25 • Encadrant(s) : pascal.poncelet@lirmm.fr

Résumé : Contexte :
Dans le cadre des urgences médicales, les médecins doivent rapidement évaluer la situation d'un patient, parfois uniquement au cours d'une brève conversation téléphonique. Identifier la nature des symptômes, comme une toux, peut être déterminant pour établir un diagnostic initial : est-ce la Covid-19, une grippe, ou autre chose ' À travers l'analyse des sons, notamment de la toux, il est possible d'aider les médecins à prendre des décisions éclairées en urgence. Ce projet s'inscrit dans une collaboration avec le service des urgences du CHU et le laboratoire IES de Montpellier pour améliorer l'efficacité des diagnostics basés sur l'audio.

Objectifs :
L'objectif de ce projet est de développer des modèles capables de classifier des sons, en particulier des types de toux, en utilisant des données audios disponibles sur Kaggle. Les étudiants auront pour mission de :
1. Étudier et prétraiter un jeu de données audio : Découverte et manipulation de données de Kaggle pour comprendre les types de sons (toux, respiration, etc.).
2. Mise en place d'un modèle de classification manuel : Utiliser des convolutions simples pour créer un premier modèle de classification de sons, basé sur des caractéristiques audios extraites à la main (e.g., spectrogrammes).
3. Utilisation de modèles avancés comme Yamnet : Implémenter des modèles de classification de sons pré-entraînés, comme Yamnet de Google, afin d'améliorer les performances et d'accroître la précision des prédictions.
4. Classifier les types de toux (Covid-19 vs non-Covid) : Tester les modèles sur la classification spécifique des toux associées à la Covid-19 par rapport à d'autres types de toux.
5. Expérimentations en conditions réelles : Après avoir validé les modèles sur les données Kaggle, des expérimentations finales seront menées au CHU avec des données audios réelles collectées auprès des patients.
Pour arriver à cela, différents jeux de données seront utilisés pour progressivement comprendre comment cela fonctionne et proposer des modèles de plus en plus complexes. L'objectif de ce TER est de commencer à comprendre les mécanismes associés à l'apprentissage profond afin de les mettre en 'oeuvre sur une application réelle moins classique que des images ou du texte. En outre, il vous plongera dans le monde de l'audio et de l'intelligence artificielle appliquée à la santé, avec la possibilité de voir l'impact direct de votre travail sur la détection rapide et non invasive en temps réel de maladies à manifestations respiratoires.

Encadrement et contact : Pascal Poncelet (Pascal.Poncelet@lirmm.fr)

Equipe : Advanse (https://www.lirmm.fr/equipes/advanse/)

Nombre d'étudiants : ce TER peut se faire pour un groupe de 3 à 4 étudiants.

Prérequis : savoir utiliser Python. Aucun prérequis n'est demandé sur l'apprentissage profond ou sur la science des données [Poncelet 2021,2022]. Les informations utiles seront précisées.

Remarque : une grande partie de l'encadrement se fera via la plateforme Discord ou Zoom.

Bibliographie :
[Yamnet] ' Apprentissage par transfert avec YAMNet pour la classification des sons environnementaux '. https://www.tensorflow.org/tutorials/audio/transfer_learning_audio'hl=fr, dernière consultation le 18 septembre 2024.
[Poncelet 2024] Pascal Poncelet. ' Classification d'images avec des CNN '. Notebook. 2022.
[Poncelet 2024] Pascal Poncelet. ' Premières classifications '. Notebook. 2021.

Lien : - • Dernière mise à jour : 2025-01-13 15:20:28

54. Classification de données d'allergologie
   
CI
Identifiant : poncelet_4_2024-25 • Encadrant(s) : pascal.poncelet@lirmm.fr

Résumé : Contexte :
Aujourd'hui, plus de 150 millions d'Européens (20 %) souffrent de maladies allergiques chroniques telles que l'asthme, la rhinite et les allergies alimentaires, avec un nombre croissant de formes cliniques graves et mortelles (choc anaphylactique) (OMS, 2020). L'Organisation mondiale de la santé (OMS) estime que la moitié de la population mondiale sera affectée par au moins une maladie allergique d'ici 2050 (Pawankar et al, 2013) et classe les allergies respiratoires au 4ème rang des maladies chroniques les plus courantes après les maladies cardiovasculaires, le cancer et le VIH.
Le CHU de Nîmes, en tant que membre de La Société Française d'Allergologie (SFA) en partenariat avec le Health Data Hub a proposé un jeu de données, Allergen Chip Challenge, qui contient des clinique, des tests cutanés (TC) et la détection d'anticorps IgE spécifiques (IgEs) dans le sang dans le but d'identifier ou d'exclure les allergènes potentiellement impliqués.

Objectifs :
L’objectif de ce projet est de développer des modèles capables de classifier des allergies, en particulier des allergies respiratoires ou alimentaires mais également de classifier plus finement s'il s'agit d'une allergie sévère ou moins sévère. Les étudiants auront pour mission de :
1. Étudier et prétraiter le jeu de données Allergen Chip Challenge [ACP 2024] : le jeu de données contient de nombreuses données manquantes, lors des pré-traitements il sera indispensable de trouver des solutions pour les remplir.
2. Etude de différents classifieurs : Dans un premier temps il faudra mettre en place une chaîne de traitement pour évaluer différents classifieur et leurs paramètres. Les premières classifications devront concerner uniquement la présence d'allergie ou non.
3. Etude d'enchainement de classifieurs pour décrire plus finement s'il s'agit d'une allergie sévère ou pas.
4. Expérimentations en conditions réelles : Après avoir validé les modèles sur les données, des expérimentations finales seront menées avec le CHU avec des données complémentaires collectées auprès des patients.
Pour arriver à cela, différents choix de pré-traitements, de classifieurs seront utilisés pour progressivement comprendre comment cela fonctionne et proposer des modèles de plus en plus complexes. L’objectif de ce TER est de commencer à comprendre les mécanismes associés à l’apprentissage (traditionnel ou profond) afin de les mettre en œuvre sur une application réelle. En outre, il vous plongera dans le monde de l’intelligence artificielle appliquée à la santé, avec la possibilité de voir l’impact direct de votre travail sur la détection rapide et non invasive en temps réel des allergies.

Encadrement et contact : Pascal Poncelet (Pascal.Poncelet@lirmm.fr) - Différentes réunions seront réalisées avec le Dr M. Michel du CHU de Nîmes pour bien comprendre les données et signer un accord de confidentialité afin d'utiliser les nouvelles données.

Equipe : Advanse (https://www.lirmm.fr/equipes/advanse/)

Nombre d’étudiants : ce TER peut se faire pour un groupe de 2 à 4 étudiants.

Prérequis : savoir utiliser Python. Aucun prérequis n’est demandé sur l’apprentissage ou sur la science des données [Poncelet 2024a,Poncelet 2024b, Poncelet 2024c]. Les informations utiles seront précisées.

Remarque : une grande partie de l’encadrement se fera via la plateforme Discord ou Zoom.

Bibliographie :
[ACP 2024] Allergen Chip Challenge. https://www.data.gouv.fr/fr/datasets/allergen-chip-challenge/#/resources, dernière consultation le 13 janvier 2025.
[Poncelet 2024a] Pascal Poncelet. « Classification d’images avec des CNN ». Notebook. 2024.
[Poncelet 2024b] Pascal Poncelet. « Premières classifications ». Notebook. 2024.
[Poncelet 2024c] Pascal Poncelet. « Ingénierie des données ». Notebook 2024.

Lien : - • Dernière mise à jour : 2025-01-13 18:43:05

55. Étude des méthodes de rendu physique en temps réel
Identifiant : thibault.de-villele_1_2024-25 • Encadrant(s) : thibault.de-villele@lirmm.f

Résumé : N.B: Ce sujet de TER est orienté recherche. Il s'apparente à la création d'un état de l'art pour celles/ceux souhaitant en savoir plus sur les méthodes de rendu avancées utilisées aujourd'hui dans l'industrie du jeu vidéo et du cinéma.
Contexte
Depuis le début des années 2010, de plus en plus de moteurs de jeu vidéo utilisent des méthodes de rendu physiquement réalistes ' dites PBR pour 'Physically Based Rendering' 'dans leur pipeline de rendu, avec la contrainte de calculer celui-ci en temps réel. Ces méthodes visent à simuler les interactions lumière-matière de façon réalistes, avec une emphase particulière sur les propriétés physiques des matériaux utilisés dans une scène donnée.
Originellement développées pour du rendu dit 'offline' pour l'industrie du cinéma (voir [2]), ces méthodes furent adaptées et simplifiées au fur et à mesure des années afin de pouvoir être utilisées en temps réel sur des cartes graphiques récentes.
Travail demandé
Afin de pouvoir comprendre les avantages amenés par le rendu PBR, il faudra tout d'abord étudier les méthodes de rendu les précédant : l'ombrage de Phong [3] et Gouraud [1] devront être étudiés, présentés, et comparés dans un petit exemple ' une scène de test comme une boîte de Cornell par exemple. Ce test devra mettre en avant les avantages, inconvénients et compromis de ces deux méthodes afin d'établir une base à partir de laquelle comparer les avancées des méthodes PBR. Par la suite, votre travail devra mettre en avant deux points importants :
les phénomènes répliqués par les méthodes PBR − Quelles sont les interactions modélisées par les méthodes de rendu physique' Comment est modélisée la lumière dans ce modèle, et en quoi diffère-t'elle des méthodes de Phong [3] et Gouraud [1] '
les compromis mis en place pour le calcul en temps réel − Quels sont les 'raccourcis' utilisés par les moteurs de jeu vidéo afin de permettre l'utilisation en temps réel de ces méthodes' Comment ceux-ci influencent-ils le rendu final ainsi que son temps de calcul '
Ce travail peut soit reprendre certains des travaux effectués dans le cadre de vos cours, soit se baser sur l'utilisation de moteurs de jeu/de rendus disponibles en ligne tels que Unreal Engine (unrealengine.com), Godot (godotengine.org), ou encore Blender (blender.org).
Références
[1] Henri Gouraud. 'Continuous shading of curved surfaces'. In : Seminal Graphics : Pioneering efforts that shaped the field. 1998, p. 87-93.
[2] Matt Pharr, Wenzel Jakob et Greg Humphreys. Physically based rendering : From theory to implementation. MIT Press, 2023. url : https://pbr-book.org
[3] Bui Tuong Phong. 'Illumination for computer generated pictures'. In : Seminal Graphics : Pioneering efforts that shaped the field. 1998, p. 95-101.

Lien : - • Dernière mise à jour : 2025-01-14 12:22:47

56. Algorithmes de simplification hiérarchique de maillages pour le recalage
Identifiant : thibault.de-villele_2_2024-25 • Encadrant(s) : thibault.de-villele@lirmm.f

Résumé : N.B: Ce sujet de TER est orienté ingénierie d'appui à la recherche.
Contexte
Afin de pouvoir comparer des informations locales sur deux maillages surfaciques, il est nécessaire de les recaler au préalable. Le processus de recalage nécessite trois parties : un générateur d'appariements ' permettant de déterminer des correspondances entre deux objets, un ensemble de déformations admissibles ' pour appliquer sur les sommets source et les rapprocher de leurs appariements, et un optimiseur avec un terme de coût (loss) ' permettant de déterminer quelle déformation choisir avec un ensemble d'appariements donnés.
Une des méthodes permettant de générer des appariements de façon fiable entre deux maillages surfaciques est basée sur la résolution d'�un problème de Gromov-Wasserstein [3]. Cette méthode est toutefois très coûteuse en temps de calcul et en espace mémoire pour son calcul et son optimisation. Afin de limiter son coût, une avenue prometteuse consiste à simplifier les surfaces avant de générer les appariements. Quelques méthodes de simplification sont d'ores et déjà implémentées dans mon code de recherche, toutefois ces méthodes ne permettent que de calculer des points non connectés à partir d'un maillage.
Travail demandé
Votre travail consistera donc à développer un algorithme permettant de reconstruire un graphe de connectivité autour des points extraits par des méthodes de simplification, afin de pouvoir appliquer celles-ci une deuxième fois sur le maillage reconstruit et donc construire une hiérarchie de maillages à différentes résolutions. Pour aller plus loin, il sera possible d'analyser l'impact de plusieurs méthodes de simplifications de sommets sur le remaillage calculé par la suite.
Après avoir pris en main le code existant en C++ utilisant Eigen [1] ' mis à disposition côté Python grâce à pybind11 [2] ' vous étudierez comment reconstruire un nouveau maillage utilisant les sommets simplifiés ainsi que les informations d'origine du maillage. Votre travail devra également permettre de calculer certaines métriques liées à l'erreur de reconstruction présente entre le maillage originel ainsi que son analogue simplifié.
Le tout devra être testé autant de façon autant exhaustive que possible afin d'assurer qu'aucun bogue d'implémentation ne puisse affecter le reste du pipeline de recalage.
Références
[1] Gaël Guennebaud, Benoît Jacob et al. Eigen v3. 2010. url : http://eigen.tuxfamily.org
[2] Wenzel Jakob, Jason Rhinelander et Dean Moldovan. pybind11 ' Seamless operability between C++11 and Python. https://github.com/pybind/pybind11. 2017.
[3] Facundo Mémoli. 'Gromov'Wasserstein distances and the metric approach to object matching'. In : Foundations of computational mathematics 11 (2011), p. 417-487.

Lien : - • Dernière mise à jour : 2025-01-14 12:24:10

57. Génération de modèles voxelisés avec des mesh shaders
   
Identifiant : nicolas.lutz_4_2024-25 • Encadrant(s) : noura.faraj@lirmm.fr

Résumé : Contexte
Ce TER est plutôt orienté recherche appliquée.
En informatique graphique, de nombreuses techniques sont utilisées pour modéliser la réalité. La génération procédurale représente un large ensemble d'outils adaptés pour représenter des objets et des phénomènes naturels par des approximations stochastiques. Une des représentations possibles des modèles géométriques dans un monde virtuel en trois dimensions consiste à utiliser une grille discrète indexée sur les trois dimensions de l'espace, avec des données d'apparence dans l'espace des valeurs de la grille : c'est ce qu'on appelle une matrice de voxels, ou modèles voxelisés.
Parallèlement, les mesh shaders [RG23] ont récemment été inventés. Ils permettent d'envoyer des données de géométrie au rastériseur du GPU, sans nécessairement que celles-ci soient stockées dans la mémoire virtuelle.
Problème
Le problème est que même si générer des modèles voxelisés avec des mesh shaders est théoriquement possible, cette piste n'a pas été explorée dans la recherche. Identifier le potentiel et les limites de cette piste permettrait d'orienter des projets de recherche plus importants.
Travail demandé
Vous devrez prendre en main les mesh shaders afin de générer procéduralement des modèles voxelisés. Peu importe la forme des objets que vous générerez, l'important sera de comparer les temps de rendu d'une scène générée grâce à des mesh shaders, avec la même scène pré-générée sur le CPU et chargée en mémoire.
Plus la comparaison sera proche de l'état de l'art, plus le TER sera considéré comme réussi. La comparaison pourra par exemple se faire avec les travaux de Crassin et al. [CNLE09] (Giga-voxels) pour la partie CPU/chargement en mémoire. Il n'est cependant pas attendu que la comparaison soit entièrement fidèle à l'état de l'art, car le TER serait trop difficile.
Il est important de noter que ce travail requiert d'utiliser les machines de la salle IMAGINE (bâtiment 16), ou une carte graphique qui soit compatible avec les mesh shaders (pour NVIDIA : 1050 ou mieux ; pour AMD : 5500 ou mieux)
Références
[CNLE09] Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre, and Elmar Eisemann. Gigavoxels : Ray-guided streaming for efficient and detailed voxel rendering. In Proceedings of the 2009 symposium on Interactive 3D graphics and games, pages 15'22, 2009.
[RG23] J. Raad and G. Gilet. Real-time procedural geometry generation with gpu mesh shaders. In Journées Françaises de l'Informatique Graphique 2023, 2023.

Lien : - • Dernière mise à jour : 2025-01-14 17:30:51

58. La modélisation d'entités volumétriques, comme des nuages à l'aide de voxels.
   
Identifiant : noura.faraj_3_2024-25 • Encadrant(s) : noura.faraj@lirmm.fr

Résumé : Génération procédurale et rendu réaliste de nuages

Création, simulation et visualisation de matières fluides
(nuages, fumée, eau) est un enjeu important de l’informatique 3D permettant de visuali-
ser de manière plus intuitive les comportements associés ces corps. Elle a un large éventail

d’applications notamment dans la médecine, l’ingénierie, le cinéma et bien sûr le jeux vidéo.
A cette fin, l’une des méthodes les plus répandue dans le monde notamment du jeu vidéo
est celle consistant à manipuler un ensemble de petits objets indépendants (maillage ou
image) nommée particule pouvant se déplacer, changer et interagir les une avec les autres
dans l’espace 3D. Cette méthode, nommée système à particule est implémenté dans de
nombreux moteur de jeux comme Unity ou Unreal Engine.

Notre objectif est d’explorer les méthodes de représentation volumétrique existantes, afin
de créer une application permettant la génération procédural et le rendu réaliste d’éléments
tel que des nuages ou de la fumée.(Potentiellement en temps réel mais pas nécessairement.)

Lien : - • Dernière mise à jour : 2025-01-29 16:49:01

59. Application pour la recherche de logements
   
Identifiant : seriai_5_2024-25 • Encadrant(s) : seriai@lirmm.fr

Résumé : développement d'une application pour la recherche de logements pour une entreprise canadienne. Une version web et une version mobile doivent être développées, et l’équipe doit choisir entre une technologie déjà maîtrisée ou une nouvelle technologie. La réussite du projet pourra être mesuré par sa mise en production.

Lien : - • Dernière mise à jour : 2025-01-19 10:04:28

60. Dev logiciel - BIT France,
   
Identifiant : anne-elisabeth.baert_1_2024-25 • Encadrant(s) : anne-elisabeth.baert@lirmm.fr

Résumé : BIT France, acteur majeur dans le domaine des automates d'analyse de sang, recherche
activement un(e) stagiaire enthousiaste pour rejoindre notre équipe dynamique au sein du
département Recherche et Développement Software. Votre mission sera de concevoir une
application en Flutter pour exploiter efficacement les données générées par nos
automates.

Description du Stage : En tant que stagiaire au sein du département R&D Software, vous
contribuerez au développement d'une application en Flutter. L'objectif est de créer un outil
d'exploitation des données transmises par nos automates d'analyse de sang (BaaS, AWS,
Google Cloud, Azure etc... à définir). L'application sera conçue pour fonctionner sur
différentes plateformes, notamment Windows, Linux et Web.

Responsabilités :
1. Concevoir et développer une application en utilisant le framework Flutter
2. Assurer la compatibilité de l'application sur les plateformes Windows, Linux et
Web.
3. Collaborer étroitement avec l'équipe R&D Software pour intégrer les fonctionnalités
essentielles.
4. Développer les tests unitaires, les tests d'intégration, les widget tests (Test Driven
Development)

Lien : - • Dernière mise à jour : 2025-01-29 16:28:38

35 encadrants

encadrant sujets proposés et pris (# étudiants / # encadrants) encadrement à déclarer
nb h total / taille groupe => nb
abdelhak.seriai@lirmm.fr
croitoru_7
(4/2 = 2 => 4/2=2)
2 / 4 => 0.5
anas.shatnawi@berger-levrault.com
b.rima_2
(3/3 = 1 => 3/3=1)
b.rima_1
(3/3 = 1 => 3/3=1)
2 / 3 => 0.66666666666667
anne-elisabeth.baert@lirmm.fr
AERB_CMI_1
(4/3 = 1.33 => 4/3=1.33)
a.baert_1
(1/1 = 1 => 1/1=1)
2.33 / 4 => 0.33333333333333 / 1 => 1
bachar.rima@berger-levrault.com
l.parent_1
 
bachar.rima@lirmm.fr
seriai_1
(2/2 = 1 => 2/2=1)
b.rima_3
 
b.rima_2
(3/3 = 1 => 3/3=1)
b.rima_1
(3/3 = 1 => 3/3=1)
seriai_3
 
3 / 2 => 0.5 / 3 => 0.66666666666667
baget@lirmm.fr
leclere_2
 
bessy@lirmm.fr
bessy_1
 
croitoru@lirmm.fr
croitoru_1
 
croitoru_2
 
croitoru_3
(3/1 = 3 => 3/1=3)
croitoru_4
(3/1 = 3 => 3/1=3)
croitoru_5
 
croitoru_6
 
croitoru_7
(4/2 = 2 => 4/2=2)
8 / 3 => 2 / 4 => 0.5
eric.bourreau@umontpellier.fr
e.bourreau_1
 
ganesh.gowrishankar@lirmm.fr
croitoru_2
 
croitoru_5
 
croitoru_6
 
hani.guenoune@lirmm.fr
m.lafourcade_4
 
h.guenoune_1
(4/1 = 4 => 4/1=4)
m.lafourcade_5
 
4 / 4 => 1
hinde.bouziane@lirmm.fr
h.bouziane_1
(4/1 = 4 => 4/1=4)
4 / 4 => 1
isabelle.mougenot@umontpellier.fr
i.mougenot
(3/1 = 3 => 3/1=3)
3 / 3 => 1
jeremie.roux@lirmm.fr
roux_1
(4/2 = 2 => 4/2=2)
2 / 4 => 0.5
leclere@lirmm.fr
leclere_1
 
leclere_2
 
louis.parent@lirmm.fr
l.parent_1
 
seriai_3
 
marianne.huchard@lirmm.fr
M.Huchard_1
(4/1 = 4 => 4/1=4)
4 / 4 => 1
marin.portalez@umontpellier.fr
AERB_CMI_1
(4/3 = 1.33 => 4/3=1.33)
1.33 / 4 => 0.33333333333333
mathieu.ladeuil@umontpellier.fr
m.ladeuil_1
(3/1 = 3 => 3/1=3)
3 / 3 => 1
mathieu.lafourcade@lirmm.fr
m.lafourcade_n
(2/1 = 2 => 2/1=2)
m.lafourcade_2
(4/1 = 4 => 4/1=4)
m.lafourcade_3
(3/1 = 3 => 3/1=3)
m.lafourcade_4
 
roux_1
(4/2 = 2 => 4/2=2)
m.lafourcade_5
 
GRB_1
(3/1 = 3 => 3/1=3)
m.lafourcade_n2
(2/1 = 2 => 2/1=2)
m.lafourcade_n3
(4/1 = 4 => 4/1=4)
20 / 2 => 2 / 4 => 2.5 / 3 => 2
maximos.skandalis@lirmm.fr
m.skandalis_1
(2/3 = 0.67 => 2/3=0.67)
m.sioutis_1
 
0.67 / 2 => 0.33333333333333
michael.sioutis@lirmm.fr
m.skandalis_1
(2/3 = 0.67 => 2/3=0.67)
m.sioutis_1
 
0.67 / 2 => 0.33333333333333
nicolas.hlad@carl.eu
seriai_4
 
nicolas.lutz@umontpellier.fr
n.lutz_1
(3/1 = 3 => 3/1=3)
n.lutz_2
(4/1 = 4 => 4/1=4)
n.lutz_3
(2/1 = 2 => 2/1=2)
9 / 3 => 1 / 4 => 1 / 2 => 1
noura.faraj@lirmm.fr
n.faraj_1
(4/1 = 4 => 4/1=4)
n.faraj_2
(4/1 = 4 => 4/1=4)
n.lutz_4
(3/1 = 3 => 3/1=3)
n.faraj_3
(4/1 = 4 => 4/1=4)
15 / 4 => 3 / 3 => 1
pascal.poncelet@lirmm.fr
poncelet_1
(4/1 = 4 => 4/1=4)
poncelet_2
(3/1 = 3 => 3/1=3)
poncelet_3
(3/1 = 3 => 3/1=3)
poncelet_2bis
(3/1 = 3 => 3/1=3)
poncelet_4
(2/1 = 2 => 2/1=2)
15 / 4 => 1 / 3 => 3 / 2 => 1
pierre.bisquert@inrae.fr
leclere_1
 
pompidor@lirmm.fr
pompidor_1
(4/1 = 4 => 4/1=4)
4 / 4 => 1
quentin.capdepon@berger-levrault.com
seriai_4
 
richard.moot@lirmm.fr
m.skandalis_1
(2/3 = 0.67 => 2/3=0.67)
m.sioutis_1
 
0.67 / 2 => 0.33333333333333
rodolphe.giroudeau@lirmm.fr
r.giroudeau_1
(3/1 = 3 => 3/1=3)
r.giroudeau_2
(4/1 = 4 => 4/1=4)
7 / 3 => 1 / 4 => 1
seriai@lirmm.fr
seriai_1
(2/2 = 1 => 2/2=1)
seriai_2
 
l.parent_1
 
b.rima_3
 
b.rima_2
(3/3 = 1 => 3/3=1)
b.rima_1
(3/3 = 1 => 3/3=1)
seriai_3
 
seriai_4
 
e.paoli_1
(3/1 = 3 => 3/1=3)
seriai_5
(4/1 = 4 => 4/1=4)
10 / 2 => 0.5 / 3 => 1.6666666666667 / 4 => 1
thibault.de-villele@lirmm.f
t.de-villele_1
 
t.de-villele_2
 
todorov@lirmm.fr
todorov_1
 
todorov_2
 
todorov_3
 
todorov_4
(4/1 = 4 => 4/1=4)
4 / 4 => 1
xavier.corbier@chu-montpellier.fr
AERB_CMI_1
(4/3 = 1.33 => 4/3=1.33)
1.33 / 4 => 0.33333333333333
TOTAL=126

126 étudiants encadrés

Affectation des rapporteurs


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

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