Nom de l encadrant :Miloudi Fouad
Catégorie(s): app. musicale
Contexte
Dans une ville ou une université, il existe de nombreuses associations (culture, sport, humanitaire, entraide, environnement, etc.), mais les étudiants ont souvent du mal à savoir :
L’objectif est d’imaginer une application mobile avec une carte interactive qui permet de localiser et découvrir les associations.
Objectifs :
1) Présentation du concept
2) Fonctionnalités principales
3) Parcours utilisateur
4) Intérêt pour les associations
5) Livrables
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Bonneau Enzo
Catégorie(s): app. autonome, app. gestion, web-service
Contexte
Les systèmes de recommandation sont largement utilisés dans les applications numériques pour proposer des contenus adaptés aux préférences des utilisateurs (films, musiques, produits, etc.). À leur base, ces systèmes reposent sur des méthodes simples de comparaison et de similarité entre utilisateurs ou entre contenus.
Dans ce projet, les étudiants devront concevoir un système de recommandation simple, à partir d’un jeu de données à choisir et à extraire. Le projet se concentre sur la compréhension et l’implémentation des principes fondamentaux.
Objectifs :
Les objectifs du projet sont :
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Bonneau Enzo
Catégorie(s): app. autonome, app. gestion, app. scientifique
Contexte
La circulation routière est un exemple concret de système composé de nombreuses entités interagissant entre elles selon des règles simples.
Dans ce projet, les étudiants devront développer un programme simulant la circulation de véhicules sur un réseau routier simple, en mettant en œuvre des règles de déplacement et de priorité.
Objectifs :
L’objectif est de proposer un modèle cohérent, paramétrable et observable.
Les objectifs sont :
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Bouzy Bruno
Catégorie(s): app. scientifique
Contexte
Les objets célestes sont soumis aux lois de la gravité.
Un objet possède une masse supposée constante.
A tout instant, un objet possède une position, une vitesse et une accélération. Il est soumis à une force de gravité égale la somme des forces exercées par les autres objets célestes.
A tout instant, son accélération peut être mise à jour en fonction de la force de gravité et de sa masse. Idem pour sa vitesse et sa position.
Objectifs :
L'objectif premier du projet est de faire des expériences simulant le mouvement d'objets célestes soumis aux lois de la gravitation dans l'espace, par ordre de difficulté croissante.
Pour simplifier l'espace sera un plan.
D'abord deux objets, par exemple une planète autour d'un soleil, ou une lune autour d'une planète. Autrement dit, un petit objet autour d'un gros.
Puis deux objets de masse quasiment égales.
Puis avec 3 objets de masses très différentes. Par exemple, une lune (petit objet) tournant autour d'une planète (moyen objet), elle-même tournant autour d'un soleil (gros objet).
Puis 3 objets de masse quasiment égales, etc.
Le simulateur sera écrit dans un langage familier pour les étudiants (python, C, C++ ou Java)
Un noyau du simulateur existe en Python et pourra servir de base de départ du projet.
L'objectif ultime sera d'observer la stabilité des trajectoires des objets en fonction des conditions de départ. Faire tourner un petit objet autour d'un gros est stable. Faire tourner 3 objets de même masse les uns autour des autres ne l'est pas du tout à priori.
Le projet est de type exploratoire et empirique, avec une niveau correct de programmation, en python par exemple. Les algorithmes à mettre en oeuvre ne sont pas compliqués et une bas de départ existe. Le sujet (modélisation de la gravitation) est relatif aux lois de la physique, donc scientifique. Avoir une affinité pour la modélisation d'un domaine est nécessaire pour réussir ce projet.
Le projet suivra aussi la méthodologie de développement proposée par cette UE “projets” (cycle en V, documentation, etc).
Références bibliographiques
n/a
Technologies
python C C++ java
Contraintes:
n/a
Mots-clés
simulateur
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Cohen Eyal
Catégorie(s): découverte/initiation, intelligence artificielle
Contexte
L’intelligence artificielle et les modèles statistiques sont aujourd’hui largement utilisés pour aider à la prise de décision dans des domaines sensibles tels que la santé, le recrutement, la finance ou la justice. Cependant, ces systèmes peuvent reproduire ou amplifier des biais présents dans les données, être vulnérables à des perturbations ou des attaques, et poser des risques importants pour la confidentialité des individus.
L’IA fiable vise à répondre à ces enjeux en intégrant dès la conception des modèles des garanties en termes d’équité (fairness), de robustesse et de protection des données (anonymisation, confidentialité différentielle).
Ce projet propose d’explorer ces problématiques en combinant une étude des méthodes développées dans la communauté scientifique et leur implémentation pratique sur des modèles réels. Il permettra aux étudiant.e.s de développer un regard critique sur les algorithmes, tout en acquérant des compétences techniques très recherchées dans le monde académique et industriel.
Objectifs :
Phase 1 – Découverte et compréhension des méthodes
État de l’art en IA fiable : Comprendre les notions fondamentales d’équité, de robustesse et de protection des données dans les modèles statistiques et d’apprentissage automatique. Étudier les principales méthodes proposées dans la littérature (métriques d’équité, modèles robustes, techniques d’anonymisation) et analyser leurs objectifs, hypothèses et limites.
Analyse de cas simples : Identifier les biais, les faiblesses de robustesse et les risques liés à la confidentialité sur des jeux de données et des modèles standards.
Phase 2 – Mise en œuvre et expérimentation
Implémentation des safeguards : Mettre en place concrètement des méthodes d’équité, de robustesse et d’anonymisation sur des modèles de machine learning simples. Programmer les métriques d’évaluation associées et comparer les performances avant/après correction.
Évaluation et analyse critique : Étudier les compromis entre performance, équité et protection des données. Interpréter les résultats expérimentaux et discuter les limites pratiques des approches mises en œuvre.
Les étudiant.e.s en L2 se concentreront sur une seule thématique après avoir eu le temps de se familiariser la première semaine avec les concepts généraux. Tandis que les étudiant.e.s de L3 pourront choisir soit de se concentrer sur une seule thématique et pousser son étude plus loin soit de se diversifier et en étudier plusieurs.
Références bibliographiques
Equité : https://fr.wikipedia.org/wiki/%C3%89quit%C3%A9_(apprentissage_automatique)
Robustesse : https://adversarial-ml-tutorial.org/introduction/
Anonymisation : https://fr.wikipedia.org/wiki/Confidentialit%C3%A9_diff%C3%A9rentielle
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Mahé Gaël
Catégorie(s): app. scientifique
Contexte
Coder les nombres sur un nombre minimal de bits - autrement dit, quantifier les nombres - était motivé historiquement par la limitation et le coût de la mémoire. Si cette contrainte s’est progressivement relâchée, les applications sont devenues de plus en plus gourmandes, si bien que la question de la quantification reste cruciale. Elle se pose par exemple dans la représentation des données multimédia (image, audio, vidéo) et dans le paramétrage des réseaux de neurones.
On appelle sous-quantification la réduction du nombre de bits utilisés pour représenter des valeurs. Cette opération est irréversible : une fois les données sous-quantifiées, il est impossible de retrouver la précision initiale. L’objectif ici est d’étudier expérimentalement la possibilité de déquantifier (retrouver la précision initiale) sous certaines conditions.
Dans les exemples cités précédemment, cela se traduirait, pour les données multimédia par une amélioration de la qualité du son ou de l’image, pour les réseaux de neurones par une amélioration des performances.
Objectifs :
Sous certaines conditions, à partir de l’histogramme de données sous-quantifiées, il est possible de retrouver l’histogramme originel, c’est-à-dire celui des données dans leur précision initiale [1]. Dans le cas de données ayant un ordre particulier (par exemple une série temporelle), cela vaut aussi pour l’histogramme des couples de valeurs successives. Pour une série temporelle x(n), c’est une matrice P indexée dans chaque dimension par les valeurs possibles, telle que P(i,j) est le nombre de couples (x(n-1),x(n)) prenant les valeurs correspondant respectivement aux indices i et j.
Comment exploiter cet histogramme ? Supposons que la série x, constituée d’entiers, ait été sous-quantifiée de 1 bit et appelons xQ la version sous-quantifiée : pour tout x(n), xQ(n) est le nombre pair inférieur ou égal le plus proche. Si on veut restaurer x, pour chaque xQ(n), on doit choisir entre un nombre pair et un nombre impair, de sorte que l’ensemble des séries x possibles est représentable par un arbre binaire.
Si on peut restaurer l’histogramme P des couples (x(n-1),x(n)), on va utiliser P pour construire cet arbre en l’élaguant progressivement : au rang n, chaque branche possible x(1)…x(n-1) peut être poursuivie selon 2 valeurs de x(n) (paire et impaire). Pour chacune, on regarde si le couple (x(n-1),x(n)) est permis par P. Si oui, on poursuit selon cette valeur et on décrémente la case de P concernée. Dès qu’un nœud est une feuille, on le supprime, et ainsi de suite récursivement. À la fin, on espère avoir une seule branche, ou du moins un nombre limité de x branches, c’est-à-dire de séries déquantifiées x possibles.
Travail :
Un jeu de données sera fourni, incluant une série temporelle quantifiée et son histogramme des couples de valeurs successives. Le travail consistera à implémenter l’algorithme décrit ci-dessus.
L’implémentation devra inclure un mode graphique permettant de visualiser le processus de construction/élagage de l’arbre.
Références bibliographiques
[1] H. Halalchi, G. Mahé, M. Jaïdane, “Revisiting quantization theorem through audiowatermarking.” , Proc. ICASSP 2009, avril 2009, pp. 3361-364
Technologies
Programmation en C ou en Julia
Contraintes:
n/a
Mots-clés
quantification, arbres binaires
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Meynadier Jeremy
Catégorie(s): app. gestion
Contexte
Dans l'aéronautique la vérification de la traçabilité est un enjeux cruciale.
Pour savoir, si l'ensemble des developpement ont été effectué.
La traçabilité interdocument doit être de 100% pour cela un outil d'analyse de document est indispensable.
Objectifs :
Références bibliographiques
n/a
Technologies
C, C++ ou Python
Contraintes:
Portabilité
Mots-clés
Logiciel
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Meynadier Jeremy
Catégorie(s): app. gestion
Contexte
Le jeux de cartes à collectionner et les jeux de société de deck building sont légions mais peu d'entre eux possède des logiciels pour faire du deck building.
Objectifs :
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :El Fartass Nasime
Catégorie(s): intelligence artificielle
Contexte
Les modèles LLM permettent de créer des assistants capables de répondre à des questions en langage naturel. Dans le domaine de la formation, ils peuvent être spécialisés à partir de supports pédagogiques existants.
Ce projet vise à fine-tuner un modèle LLM open source à partir de supports de formation papier numérisés afin de permettre aux apprenants et aux encadrants de poser des questions liées au contenu de la formation. Le fine-tuning est privilégié par rapport à une approche RAG, car il permet d’obtenir un modèle spécialisé avec une latence de réponse réduite.
Le thème de la formation sera défini ultérieurement.
Objectifs :
Le but du projet est de développer une chaîne complète permettant :
Références bibliographiques
n/a
Technologies
Langages : Python (principalement) IA / NLP : modèles LLM open source, bibliothèques de traitement de texte Données : fichiers texte, JSON, CSV Interface : ligne de commande, application web légère ou interface graphique simple
Contraintes:
Le modèle utilisé devra être open source. L’architecture devra être modulaire, afin de permettre un changement de thème de formation ou de modèle. Les réponses générées devront rester fidèles aux supports pédagogiques, sans hallucinations excessives.
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Denis Nicolas
Catégorie(s): app. autonome, intelligence artificielle, jeu vidéo, smartphone
Contexte
Ce projet a pour objectif de proposer un jeu de lettres sur smartphone Android.
Objectifs :
Réaliser un jeu pour smartphone.
Pour tous mes projets cette année, il sera fait usage de l'IA générative à (presque) toutes les étapes. Les élèves doivent donc être familiers avec les prompts et l'analyse des résultats fournis par l'IA, ou être prêts à le devenir.
Le jeu se déroule comme un Tetris. Les lettres descendent une à une, de façon aléatoire dans une des 9 colonnes. Quand l'une des colonnes est remplie, la partie est terminée. Pour diminuer le nombre de lettres tombées, le joueur doit former des mots. Ces mots sont comparés avec ceux inclus dans une base de données enregistrée dans l'appli.
Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi, parfois le vendredi.
Références bibliographiques
n/a
Technologies
C#
Contraintes:
Avoir des smartphones sous Android ; Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi.
Mots-clés
jeu vidéo ; Unity ; Android
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Lattaud Claude
Catégorie(s): jeu vidéo
Contexte
Réalisation d'un jeu video
Objectifs :
Ce projet a pour but de prendre toutes les règles du jeu original Tetris et d'étendre celui-ci à la troisième dimension. Ainsi, les étudiants devront développer des pièces en 3D et considérer leurs déplacements également en 3D, mais aussi prendre en compte la représentation de l'espace et ses diverses rotations. Ils ajouteront également un tableau des scores, avec les dates et les noms des joueurs. Selon le temps restant, ils pourront mettre en place plusieurs niveaux de difficulté. Finalement, les étudiants présenteront une démonstration de leur application lors de la soutenance finale.
Références bibliographiques
n/a
Technologies
Unity 3D
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Lattaud Claude
Catégorie(s): jeu vidéo
Contexte
Réalisation d'un jeu vidéo
Objectifs :
Ce projet consiste à réaliser une application comprenant plusieurs jeux élémentaires utilisables par des enfants de moins de cinq ans. Cette application devra en particulier mettre l'accent sur la robustesse et l'ergonomie afin d'être très conviviale pour leurs cibles. Parmi les thèmes à développer, les étudiants pourront choisir l'apprentissage des formes, les nombres, les lettres, les phonèmes, etc… Une démonstration en live présentera finalement l'ensemble de la ludothèque.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Lattaud Claude
Catégorie(s): jeu vidéo
Contexte
Réalisation d'un jeu video
Objectifs :
L'objectif de ce projet est de réaliser un jeu de flipper en 3D. Après avoir repris les règles traditionnelles du flipper, les étudiants devront mettre en place un système de ponts et de tunnels permettant à la bille des déplacements selon les trois dimensions. Ils pourront également ajouter différents thèmes et/ou différents plateaux à leur jeu qui seront montrés lors de la démonstration finale. L'application présentera également un tableau des scores mémorisant les meilleurs scores obtenus par les joueurs, ainsi que leur nom et la date, au fil de leurs parties. S'ils en ont le temps, les étudiants pourront également penser et coder plusieurs niveaux de difficulté.
Références bibliographiques
n/a
Technologies
Unity 3D
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Dandan Alaa
Catégorie(s): sécurité
Contexte
Tandis que les cyberattaques deviennent de plus en plus courantes, il est primordial de pouvoir les détecter efficacement. Certains outils permettent une première couche de prévention contre les attaques mais il est essentiel de pouvoir détecter des comportements suspects ou inhabituels pour réduire le risque et l’impact de ces attaques.
Objectifs :
L’objectif est de coder un outil pour détecter ces comportements suspects et alerter l’utilisateur.
L’outil devra capturer le réseau local et être capable d’analyser le trafic en temps réel ou depuis un fichier de capture de paquets réseau.
L’outil devra pouvoir analyser et détecter des comportements suspects via des règles de détection simples (tentatives de connexions, flux volumineux, etc) de tout comportement anormal et les afficher sur un site web (tableau de bord).
L’outil devra signaler toute anomalie à l’utilisateur/administrateur.
L’outil pourra avoir une configuration flexible (ajout de règles, suppression de règles).
Optionnel: Implémenter une fonction IPS pour réagir automatiquement (active response).
Les langages utilisés sont libres mais doivent être justifiés.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Dandan Alaa
Catégorie(s): sécurité
Contexte
La protection des données sensibles est un enjeu majeur dans un monde où les échanges numériques sont omniprésents. Les utilisateurs doivent pouvoir stocker et partager des fichiers de manière sécurisée, même sur des réseaux non fiables.
Objectifs :
L’objectif de ce projet est de concevoir une CryptoBox, un outil simple permettant de partager des fichiers de manière sécurisée.
Il faudra implémenter un mécanisme de chiffrement et de déchiffrement des fichiers (utilisation d’algorithmes standards).
L’outil devra posséder une interface web fonctionnelle pour effectuer les opérations (chiffrer, déchiffrer, partager).
L’outil devra pouvoir chiffrer les fichiers à transférer et générer une URL de transfert.
L’outil devra pouvoir proposer le choix entre une URL de téléchargement unique ou l’envoi d’une URL + mot de passe.
L’outil devra pouvoir gérer les erreurs et exceptions liées à la sécurité (accès non autorisé, lien expiré, mot de passe incorrect, etc).
L’outil devra pouvoir fournir une journalisation simple des échanges effectués par les utilisateurs (qui a uploadé un fichier, qui a téléchargé un fichier, etc).
Selon votre avancement d'autres éléments peuvent être ajoutés à votre outil.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
sécurité, chiffrement, cryptographie
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Denis Nicolas
Catégorie(s): app. autonome, intelligence artificielle, jeu vidéo, smartphone
Contexte
Le jeu de morpion est passablement ennuyeux. Nous trouverons comment en faire le meilleur jeu du monde.
Objectifs :
Réaliser un jeu pour smartphone.
Pour tous mes projets cette année, il sera fait usage de l'IA générative à (presque) toutes les étapes. Les élèves doivent donc être familiers avec les prompts et l'analyse des résultats fournis par l'IA, ou être prêts à le devenir.
Le principe de base est celui du morpion, mais sur 3 niveaux pour y jouer en 3D.
De nombreux add-on seront mis en place :
…
Utiliser une plateforme de développement de jeu (Unity conseillée).
Attention : un niveau plus que correct en programmation est conseillé.
Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi, parfois le vendredi.
Références bibliographiques
n/a
Technologies
C#
Contraintes:
Avoir des smartphones sous Android ; Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi.
Mots-clés
jeu vidéo ; Unity ; Android
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Jastrebic Dragutin Et Koviljka
Catégorie(s): app. gestion
Contexte
Le scénario: Le client de la banque met sa carte de crédit dans un GAB (guichet automatique bancaire). Le premier module envoie un message vers le module central. Ce message contient des informations différentes, comme le numéro de la carte, la date de l'opération, le type de l'opération souhaitée par le client (le retrait d'espèces, le dépôt d'espèces, la consultation du solde, l'impression du solde etc.), le numéro du guichet etc. Pour des raisons de sécurité, ce message est crypté avec une signature. Aussi, le format du message dépend du constructeur du guichet – chaque constructeur peux avoir son propre format.
Avant la réception du message par le module central, un deuxième module, de sécurité, vérifie le code confidentiel et refuse la transaction si le code saisi sur le guichet ne correspond pas au code confidentiel du propriétaire de la carte bancaire. Il vérifie aussi la signature avec la même clé et refuse la transaction si la signature ne correspond pas. Un troisième module, le module central, effectue l'opération souhaitée par le client (par exemple, il met à jour le solde de son compte en cas de retrait /dépôt, ou renvoie le solde au guichet en cas de consultation, renvoie les données contenues dans le RIB en cas de l'impression etc.). Le module central peut refuser d'effectuer l'opération si les droits du propriétaire sont insuffisants – en cas de dépassement du seuil quotidien ou hebdomadaire, par exemple. Un message est renvoyé au GAB pour l'informer du succès /échec du traitement. En fonction du message reçu, le GAB effectue l'opération demandée, ou affiche le message de refus. Le GAB envoie aussi d'autres messages, appelés les messages d'état, au module central. Les messages d'états typiques sont les suivants: tout est OK, le niveau de billets est bas, le niveau d'encre dans l'imprimante est bas, le niveau de papier est bas, la caméra est en panne etc. En fonction du message reçu, le module central, peut décider de faire une action corrective (remonter un avertissement à la supervision) ou d'éteindre le guichet.
Objectifs :
Notre but est de développer des modules qui simulent ce scénario. Les outils développement seront Java, Android, Objective C/ Ios, NOCODE, Les outils IA, selon le choix des étudiants.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Boussaid Hichem
Catégorie(s): app. scientifique
Contexte
La Remote Sensing Visual Question Answering (RSVQA) est un domaine de recherche combinant la télédétection et l'intelligence artificielle, spécifiquement dans le cadre de la compréhension visuelle et linguistique. L'objectif de la RSVQA est de permettre à un modèle d'analyser des images issues de la télédétection (telles que des images satellitaires ou aériennes) et de répondre à des questions en langage naturel à leur sujet. Ces questions peuvent couvrir divers aspects, comme la détection d'objets, l'estimation de quantités, l'identification de types de terrains, ou l'analyse de relations spatiales. En intégrant des modalités visuelles (comme les données RGB, multispectrales ou radar) et textuelles, la RSVQA offre une approche puissante pour extraire des informations complexes des images de télédétection, ce qui a des applications dans des domaines tels que l'urbanisme, la gestion des ressources naturelles, ou encore la surveillance environnementale.
Dans ce contexte, l'objectif de ce projet est de construire une interface graphique permettant de faire une démonstration d’un modèle de RSVQA sur un ou des datasets connus.
Objectifs :
Fonctionnalités principales:
Choix du dataset: Menu déroulant ou une liste permettant de choisir entre plusieurs datasets prédéfinis (e.g., Dataset A, Dataset B, Dataset C).
Une fois un dataset sélectionné, affichage des métadonnées (type de données, modalités disponibles, nombre d'images, etc.).
Chargement d’images: Option pour charger une image spécifique depuis le dataset choisi.
Si plusieurs modalités sont disponibles (e.g., RGB, SAR, Sentinel-2), elles peuvent être chargées ensemble ou séparément.
Possibilité d'afficher l'image (ou un aperçu si plusieurs modalités sont affichées côte à côte).
Choix ou personnalisation des questions Sélection d’une question du dataset :
Interface listant les questions associées à l’image sélectionnée (issues du dataset).
Pose d’une question personnalisée :
Champ texte permettant à l'utilisateur d’écrire une nouvelle question.
Génération des réponses Une fois l’image et la question sélectionnées :
Le modèle VQA génère une réponse.
Option pour afficher les étapes intermédiaires, comme les cartes d'attention ou les activations liées à la question.
Références bibliographiques
[1]. S. Lobry, J. Murray, D. Marcos and D. Tuia, “Visual Question Answering From Remote Sensing Images,” IGARSS 2019 - 2019 IEEE International Geoscience and Remote Sensing Symposium, Yokohama, Japan, 2019, pp. 4951-4954, doi: 10.1109/IGARSS.2019.8898891
Technologies
python, pytorch, numpy
Contraintes:
n/a
Mots-clés
RSVQA, NLP, Deep Learning, Remote Sensing, Python
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Braud-mussi Raphaël
Catégorie(s): app. autonome
Contexte
Dans une société où l'accès à la culture est quasiment illimité, il est parfois difficile de s'y retrouver et de trouver le livre, le film, la série, le jeux vidéo, etc., qui correspondrait à une envie et à un thème à découvrir.
Objectifs :
Le but de ce projet est de créer une application servant de guide culturel, capable d’orienter les utilisateurs vers des œuvres à découvrir, classées par thèmes ou mots-clés.
Les étudiants devront constituer une base de données regroupant des thèmes et des œuvres, tout en établissant les liens nécessaires pour que les utilisateurs puissent affiner leurs recherches au maximum. Une fonctionnalité supplémentaire pourrait être un guide expliquant comment accéder aux œuvres (par exemple, œuvres libres de droits, disponibles dans certains magasins, ou accessibles sur des sites internet spécifiques).
Les thèmes seront structurés de manière hiérarchique, du plus large au plus précis. Par exemple, un thème principal pourrait être La Guerre, qui pourrait ensuite être affiné en La Guerre → 1939-1945 → France. L’application filtrerait alors les œuvres disponibles pour afficher les résultats les plus pertinents en fonction des critères choisis.
Références bibliographiques
n/a
Technologies
Libre
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Gnaho Christophe
Catégorie(s): veille technologique
Contexte
Dans un monde où les interactions numériques sont omniprésentes, l’amélioration de l’expérience utilisateur est devenue une priorité. Comprendre et s’adapter aux besoins cognitifs et émotionnels des utilisateurs représente une avancée majeure, notamment dans les domaines de l’éducation, de la santé et des applications interactives.
Ce projet s’inscrit dans la continuité des travaux réalisés par les étudiants les années précédentes, où des outils de base pour la mesure de paramètres cognitifs et émotionnels ont été développés. Il s’agira maintenant d’étendre cet environnement avec l’intégration de nouveaux outils disponibles sur le marché et d’étudier comment ces mesures peuvent être utilisées pour fournir du contenu adaptatif.
Objectifs :
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Nom de l encadrant :Gnaho Christophe
Catégorie(s): veille technologique
Contexte
La charge mentale est un enjeu majeur dans les environnements à forte exigence cognitive, tels que l’aviation générale et le monde de l’éducation. Dans l’aviation, une surcharge mentale peut entraîner des erreurs critiques, tandis que dans l’éducation, elle peut limiter les capacités d’apprentissage et nuire à l’engagement des apprenants.
Avec l’essor des dispositifs connectés grand public (montres, bracelets, ceintures thoraciques, etc.), il devient possible de mesurer des paramètres physiologiques tels que la fréquence cardiaque ou la variabilité cardiaque pour évaluer la charge mentale en temps réel. Ce projet vise à explorer ces dispositifs, à développer une application dédiée et à démontrer leur pertinence à travers deux cas d’usage concrets : l’aviation générale et les environnements d’apprentissage.
Objectifs :
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Nom de l'encadrant :Grizon Laurent
Catégorie(s): startup
Contexte
Dans un contexte de ré-industrialisation post-Covid de la France, de relocalisation d’unités de
production dans les territoires, de transition écologique, de changement climatique et de
décarbonation des filières industrielles, le triple constat est fait :
réseaux sociaux.
Objectifs :
L'objectif est, dans la continuation du projet Jobo -
https://drive.google.com/file/d/1X6HWHzGGrCkHLyPcVBqDPzKBaHjD6voS/view et son
industrialisation ( https://gitlab.com/jobo-team ), de réaliser la V1 de Jobo Analytics ; donc
de reprendre et d’enrichir Jobo Analytics pour le refondre complètement cad notamment
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Nom de l encadrant :Le Gallou Diego
Catégorie(s): app. gestion, framework/librairie, intelligence artificielle, prototypage, site web, startup
Contexte
Ariosa est une startup en création qui simplifie et rend utile les compte rendu a l'aide de l'IA. En 3 minutes de récit vocal et d'échange, l'application génère automatiquement des comptes rendus structurés et les indexe selon neuf dimensions analytiques.
Un des défis techniques majeurs est de proposer à l'utilisateur uniquement les termes taxonomiques pertinents parmi une base de 1000+ termes, en fonction de son organisation et de son historique. Ce projet se concentre sur le moteur de filtrage contextuel, un composant critique isolable du projet global.
Objectifs :
Les étudiants développeront un algorithme de résolution en cascade permettant de :
- Filtrer intelligemment une large base de taxonomies (thématiques, publics, territoires) selon 5 niveaux hiérarchiques (Organisation → Direction → Équipe → Utilisateur → Action similaire) - Optimiser les performances : réduire 1000+ termes à ~45 termes pertinents via des requêtes SQL imbriquées - Visualiser l'impact : créer une interface web simple affichant le processus de filtrage en temps réel
Livrables attendus :
Algorithme de scoring contextuel implémenté en Python/JavaScript
Base de données PostgreSQL avec données de test (3 organisations simulées, 50 termes taxonomiques)
Interface web de démonstration montrant le filtrage en action
Documentation technique expliquant la logique de cascade
Références bibliographiques
Documentation PostgreSQL sur les requêtes récursives (WITH RECURSIVE)
Principes de filtrage contextuel en NLP
Architecture de bases de données multi-tenant
Technologies
Node.js Base de données, React, PostgreSQL (fournie via Supabase) Frontend : HTML/CSS/JavaScript (ou React simple) Optionnel : tests de performance avec des jeux de données croissants
Contraintes:
Le projet doit fonctionner avec une base de données PostgreSQL. Les algorithmes de filtrage doivent être documentés avec leur complexité algorithmique.
Mots-clés
IA, taxonomies, Base de données, Algorithmes, Optimisation SQL, NLP, Interface web
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Grizon Laurent
Catégorie(s): startup
Contexte
Dans un contexte de ré-industrialisation post-Covid de la France, de relocalisation d’unités de
production dans les territoires, de transition écologique, de changement climatique et de
décarbonation des filières industrielles, le triple constat est fait :
1- d’une désaffection des jeunes générations pour les métiers de l’industrie en général.
2- d’une prise de conscience sociétale élevée de la part de ces jeunes générations.
3- d’une utilisation quotidienne de smartphone par les « digital natives » adeptes des
réseaux sociaux.
Objectifs :
L'objectif est, dans la continuation du projet Jobo -
https://drive.google.com/file/d/1X6HWHzGGrCkHLyPcVBqDPzKBaHjD6voS/view et son
industrialisation ( https://gitlab.com/jobo-team ), de compléter et d’améliorer l’entrée dans
Jobo par la cartographie, cad notamment implémenter 2 scénarii :
Scénario 1
filière.
d’emplois – idem accès par la photo de l’objet).
Cartographie avec le scénario 1. Scénario 2
et les offres d’emplois – idem accès par la photo de l’objet).
Cartographie avec le scénario 2.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Nom de l encadrant :Grizon Laurent
Catégorie(s): startup
Contexte
Dans un contexte de ré-industrialisation post-Covid de la France, de relocalisation d’unités de
production dans les territoires, de transition écologique, de changement climatique et de
décarbonation des filières industrielles, le triple constat est fait :
1- d’une désaffection des jeunes générations pour les métiers de l’industrie en général.
2- d’une prise de conscience sociétale élevée de la part de ces jeunes générations.
3- d’une utilisation quotidienne de smartphone par les « digital natives » adeptes des
réseaux sociaux
Objectifs :
L'objectif est, dans la continuation du projet Jobo -
https://drive.google.com/file/d/1X6HWHzGGrCkHLyPcVBqDPzKBaHjD6voS/view et son
industrialisation ( https://gitlab.com/jobo-team ), d’implémenter la géolocalisation, cad
notamment
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Nom de l encadrant : David Janiszek
Catégorie(s): IA
Contexte
En orthophonie, l’analyse de la production linguistique d’un enfant est une étape clé pour évaluer son développement langagier et identifier d’éventuelles difficultés. Un outil capable de mesurer la complexité syntaxique d’un texte oral transcrit, en calculant des métriques linguistiques précises, pourrait grandement aider les orthophonistes dans leur pratique quotidienne.
Un tel logiciel offrirait une manière rapide et automatisée de produire des analyses objectives et fiables, permettant ainsi aux orthophonistes de se concentrer davantage sur l’interprétation des résultats et les interventions adaptées.
Objectifs :
L’objectif de ce projet est de développer un outil qui permet à une orthophoniste d’analyser la complexité syntaxique d’un texte transcrit, en calculant automatiquement plusieurs indicateurs linguistiques. Les fonctionnalités incluront :
La réalisation du projet passera par les étapes suivantes :
Références bibliographiques
Technologies
Contraintes:
Application multiplateforme
Mots-clés
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Kurtz Camille
Catégorie(s): app. scientifique, découverte/initiation, intelligence artificielle
Contexte
Contexte
La fouille d'images (« Image mining ») est le domaine de l'analyse et de l'extraction de connaissances / informations appliquée aux images sous leurs diverses formes. Elle se situe à l'intersection de la vision par ordinateur, de la compréhension visuelle de l'image, de l'exploration de données, de l'intelligence artificielle et de l'algorithmique. Les techniques utilisées sont : l'indexation ; la recherche d'image par le contenu (en anglais : content-based image retrieval ou CBIR) ; la classification ; le clustering (regroupement hiérarchique ou partitionnement de données) ; les règles d'association.
Dans ce projet, nous nous intéressons en particulier au problème de l’indexation d’images présentes dans une base pour permettre à un utilisateur donné : (1) de rechercher des images similaires (à une requête) à partir de ses caractéristiques visuelles, c'est-à-dire induite de leurs pixels ou (2) de classer des images / photographies en fonction de leurs contenus visuels (toutes les photos liées à ma dernière balade en montagne). Pour ces 2 cas d’utilisation, les images sont classiquement décrites comme rendant compte de leur texture, couleur, forme et indexer sous la forme d’un vecteur de caractéristique. La technique de recherche d'image par le contenu s'oppose à la recherche d'images par mots-clés ou tags, qui fut historiquement proposée par les moteurs de recherche tels que Google Image grâce à des banques d'images où les images sont retrouvées en utilisant le texte qui les accompagne plutôt que le contenu de l'image elle-même (mais Google Image propose désormais des filtres basés sur le contenu (pixels) des images).
Pour plus de détails, rdv sur Wikipédia : Recherche d'image par le contenu (https://fr.wikipedia.org/wiki/Recherche_d%27image_par_le_contenu)
Objectifs :
Objectifs Le but du projet est de développer une application permettant à partir d’une base d’images, de répondre aux deux cas d’utilisation données ci-avant. Pour l’étape d’indexation, nous pourrons nous baser sur des représentations visuelles des images obtenues à partir des histogrammes colorimétriques calculés dans les espaces HSV et RGB. L’application réalisée devra permettre de visualiser et d’interagir avec la base d’images via les représentations visuelles ainsi extraites. L’application pourra comporter a minima deux fenêtres, une permettant le paramétrage souhaité et l’autre permettant d’interagir avec les résultats. Pour accélérer l’indexation des images dans la base de données, on pourra considérer une base de données ou un système de fichiers CSV.
Organisation du travail
Références bibliographiques
Arnold W. M. Smeulders, Marcel Worring, Simone Santini, Amarnath Gupta, Ramesh C. Jain: Content-Based Image Retrieval at the End of the Early Years. IEEE Trans. Pattern Anal. Mach. Intell. 22(12): 1349-1380 (2000)
Technologies
Au choix des étudiants, développement pour le web (PHP, Javascript), développement d’application stand-alone (Python, C++,…), développement Mobile Android
Contraintes:
Les différentes briques de la plateforme devront être facilement modifiables pour permettre de nouvelles fonctionnalités. Des mécanismes / stratégies intelligentes de visualisation des résultats devront être déployées dans l’application.
Mots-clés
Recherche d'images par le contenu, indexation, IA, représentation d'images
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Nom de l encadrant :Kurtz Camille
Catégorie(s): jeu vidéo
Contexte
Un tamagotchi — terme que l’on peut traduire littéralement par « montre-oeuf » — est un animal de compagnie virtuel. Ce jouet a envahi les cours de récréations à la fin des années 90. Il se présente sous la forme d’une micro-console de jeu et consiste à élever et éduquer une sorte d’animal en le nourrissant, le lavant, le soignant, le faisant jouer, etc.De nombreuses versions et copies apparurent en quelques années. La version originale avait la particularité de ne permettre qu’une seule partie: une fois votre tamagotchi mort, la micro-console était bonne à jeter. Cette restriction donna naissance à des phénomènes bien étranges : crises et pleurs pour la mort d’un animal virtuel, et surtout cimetières de tamagotchis.
Objectifs :
Le but du projet est de développer une application mobile du jeu Tamagotchi. Le tamagotchi peut être représenté par plusieurs caractéristiques: ’nom’, ‘faim’ et ‘état’. Au départ la seule action disponible est ‘Nourrir’ et les différents états sont: ‘ok’, ‘affamé’ et ‘mort’. Vous devrez compléter cela pour ajouter au moins trois nouvelles fonctionnalités. Pour cela vous devrez ajouter de nouvelles caractéristiques comme ’santé’, ’fatigue’ ou ’hygiène’, de nouvelles actions comme ‘Guérir’, ‘Dormir’ ou ‘Laver’ ainsi que de nouveau états comme ‘malade’, ‘fatigué’ ou ’sale’. Vous êtes libre de choisir quelles fonctionnalités vous souhaitez ajouter ainsi que leur logique de fonctionnement. Cependant vous devez prévoir au moins deux interactions entre les différentes fonctionnalités. Voici un exemple d’interaction: si votre tamagotchi est fatigué (ou bien sale) et que vous ne faite pas dormir (ou bien que vous ne le laver pas), sa santé baisse et il tombe malade rapidement.
Il faudra aussi prévoir la possibilité de transférer pour une période donnée son Tamagotchi à un autre utilisateur (par exemple si pendant une semaine un utilisateur n’est pas capable de s’en occuper, il pourra le confier à quelqu’un) ou de pouvoir faire interagir ensemble deux Tamagotchis situés sur des téléphones différents. On pourra ici profiter des communications NFC du téléphone ou d’autres stratégies (par exemple en centralisant les personnages sur une base de données externe).
Organisation du travail
Références bibliographiques
https://fr.wikipedia.org/wiki/Tamagotchi
Technologies
Développement Mobile Android
Contraintes:
Les différentes briques de la plateforme devront être facilement modifiables pour permettre de nouvelles fonctionnalités.
Mots-clés
Jeu simulation, Android, Tamagotchi
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : Galya Ivcheva
Catégorie(s): Jeu Vidéo
Présentation du sujet
Dans Galaxy fighters, le joueur est au commande d'un vaisseau spatial devant traverser un champ d'astéroïdes. Pour en sortir indemne, il devra faire preuve de dextérité.
Au bout du champ de mines, une piste d'atterrissage apparaitra sur les flancs d'un énorme astéroïde; l'atteindre sans encombres permettra de compléter sa mission avec succès.
Travail à effectuer
Pour améliorer la jouabilité et l'intérêt du jeu, il faudra également développer un système de bonus cachés dans le champ d'astéroïde:
Eventuellement, permettre un mode multi-joueurs.
Au choix: smartphone ou web
Références
Sinuous, un jeu dans le même esprit.
Langage(s) et technologie(s) :
HTML5, Canvas ou Java/Android
Contrainte(s) :
Nom de l'encadrant: Ioana Ileana
Catégorie(s): Jeu vidéo, application web
Présentation du sujet
Le jeu d’échecs est un jeu de réflexion qui se joue à 2 sur un échiquier composé de soixante-quatre cases noires et blanches. Chaque joueur tente d’infliger un échec et mat au roi adverse. Pour ce faire chaque joueur utilisent leurs pièces tour à tour, qui ont chacune des déplacements spécifiques. Un roi est échec et mat quand il est menacé et qu’il ne peut plus s’enfuir ou être protégé par d’autres pièces.
Travail à effectuer
Ce projet a pour but de créer un jeu d’échecs sous forme de web service.
Le but étant de créer une application web conforme à l'architecture REpresentational State Transfer (REST), une architecture orientée services (SOA) avec le patron de conception modèle-vue-contrôleur (MVC).
Lors de ce projet vous aurez plusieurs tâches à accomplir :
Langage(s) :
Contrainte(s) :
Encadrant :
Mail de l'encadrant :
Catégorie(s): smartphone
Description : Vous réaliserez une application mobile qui permette de :
S'il reste du temps à la fin du projet, on appliquera les filtres au mode vidéo.
Langage souhaité :
Contrainte :
Posséder un smartphone
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le kakuro est un jeu de réflexion. Ce jeu est basé sur une grille analogue à une grille de mots fléchés; il comporte des cases noires et des cases blanches. Le but du jeu est de remplir les cases blanches avec des chiffres de 1 à 9 en fonction des indications contenues dans les cases noires. Les cases noires sont divisées en deux par une diagonale et contiennent deux valeurs numériques. La première valeur concerne les cases blanches situées en dessous, la seconde valeur concerne les cases blanches situées à droite. Pour pouvoir remplir les cases blanches, il faut s’assurer que la somme de tous les chiffres d’une ligne ou d’une colonne soit égale au nombre indiqué dans la case noire correspondante, et qu’un chiffre n’apparaisse qu’une seule fois.
Travail à effectuer
Le but du projet est d’implémenter un jeu de kakuro. Le programme devra proposer les fonctionnalités suivantes :
Langage souhaité :
A déterminer
Contrainte(s) :
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Il vous est proposé dans ce projet de concevoir et développer une version électronique du jeu de carte « 1000 bornes ».
Les 1000 bornes est un jeu de société utilisant des cartes spéciales sur le thème de la course automobile. Le but du jeu est d’être le premier joueur à effectuer 1000 kilomètres (ou bornes) précisément. Pour cela, il vous faudra éviter les pièges de la route : Panne de voiture, feux de signalisation et limitation de vitesses.
Pour commencer une partie, chaque joueur se voir distribuer 6 cartes qu’il ne doit pas montrer aux autres. Le reste du paquet servira de pioche. Pour commencer la partie, le premier joueur doit piocher une carte. S’il a en sa possession un feu vert, il pose cette carte devant lui et peut donc commencer sa partie. Le joueur peut aussi poser une carte « Botte » ou encore une carte « Limitation de vitesse » devant l’un de ces adversaires. Si le joueur ne peut ou ne désire pas poser une carte, il doit obligatoirement en jeter une afin d’avoir toujours 6 carte dans sa main.
C’est ensuite au tour du joueur suivant de jouer. Lui aussi a alors plusieurs possibilités. En plus de celles énumérés ci-dessus, il peut contrer une attaque en posant dessus le contraire de celle-ci pour l’annuler. Exemple : Il pose une carte « fin de limitation de vitesse » sur une carte « Limitation de vitesse ».
Autre choix : le joueur peut également attaquer le joueur qui à poser un feu vert en posant une carte feu rouge.
Le gagnant de la partie est celui qui a réussi à avoir posé exactement 1000 kilomètres devant lui à l’aide des cartes « distance ».
L’application devra permettre de jouer de 2 à 6 joueurs qui seront soit des personnes physiques soit des joueurs virtuels. Dans le cas d’un joueur virtuel, le jeu devra lui attribuer une stratégie de jeu comme par exemple : poser ses kilomètres en premier lieu, attaqué l’adversaire avant tout, …
Langage(s) :
C/C++ ou Java
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): site web
Présentation du sujet
Chaque année il y a de nombreux accidents sur la route.
Les données qui recensent tous les accidents (date, lieu, conditions météorologiques, …) sont disponibles en open-data.
Travail à effectuer
Le but du projet est de réaliser un site web qui permet de :
Langage souhaité :
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
Le but de ce projet est de créer un agenda en ligne. Cet agenda devra permettre à une personne d’accéder à son agenda en ligne et d’y pouvoir noter des rendez-vous par exemple, d’en supprimer, d’en décaler….
Il pourra aussi être utilisé par d’autres personnes pour qu’ils puissent prendre rendez-vous lors de créneaux ouvert à la prise de rdv sur internet.
Travail à effectuer
Lors de ce projet vous aurez plusieurs tâches à accomplir :
Langage(s) :
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Smartphone
Présentation du sujet
Les données nutritionnelles sont souvent écrites en petit sur les emballages et il n'est pas toujours évident de bien les comprendre.
L'objectif de ce projet est de développer une application mobile pour faciliter le compréhension des informations nutritionnelles et pour faciliter l'analyse de sa consommation quotidienne.
Travail à effectuer : Le but du projet est d’implémenter une application smartphone qui à partir du code barre, récupère les informations nutritionnelles du produit dans les bases de données publiques. Cette application synthétise un diagramme en une bande de plusieurs couleurs (rouge pour le gras, vert pour les fibres etc…) proportionnelles à la quantité. L'idée est de permettre à l'utilisateur d'avoir une idée de la qualité nutritionnelle du produit en un seul coup d'oeil.
Le programme devra proposer les fonctionnalités suivantes :
Langage(s) :
Contrainte(s) :
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu Vidéo
Présentation du sujet
Bubble shooter est un type particulier de casse brique; c'est un classique des salles d'arcade.
L'objectif de ce projet est de développer votre propre bubble shooter.
Travail à effectuer
Pour améliorer la jouabilité et l'intérêt du jeu, on pourra éventuellement permettre un mode multi-joueurs.
Au choix: smartphone ou web
Références
[
Langage(s) et technologie(s) :
A déterminer
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
Il arrive souvent lorsque l'on possède une importante bibliothèque de ne plus être sûr des livres que l'on possède.
De même dans ces cas là, on peut être amené à prêter des livres à un proche, et parfois ne plus savoir à qui on l'a prêté, ni quand.
Le but de ce projet est de résoudre ces problèmes grâce à un site web qui permettra aux utilisateurs de gérer leurs bibliothèques.
Les utilisateurs pourront alors entrer les données correspondant à leurs livres (titre, auteur, année de sortie, date d'achat…), et à tout moment effectuer des recherches dans la liste de leurs livres (et ainsi par exemple ils éviteront d'en acheter un deuxième exemplaire).
Les utilisateurs pourront aussi garder une trace des livres qu'ils ont prêté à des amis.
Travail à réaliser :
On attend une application web ou mobile qui permettra à l’utilisateur d’ajouter des données concernant ses livres.
Il doit être possible de modifier les données d’un livre enregistré, ou de le supprimer de la liste, et d’indiquer qu’un livre a été prêté à un ami, en précisant les informations sur ce prêt (personne, date du prêt, …).
L’utilisateur doit également pouvoir faire des requêtes sur sa liste de livres (par exemple, afficher tous les livres d’auteurs japonais, possédés en livre de poche, ou qui sont sortis entre 2009 et 2012, …).
Enfin, l'utilisateur doit pouvoir planifier l'achat de nouveau livres.
Langage(s) et technologie(s):
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s):Site web, open-source
Présentation du sujet
De nombreuses associations assurent des permanences pour recevoir du public, les bénévoles s'engage à être présent une demi-journée par semaine pour assurer ces permanences.
Bien que ces activités soient fréquentes, il n'existe aucun logiciel open-source permettant d'automatiser la gestion des permanences.
Chaque bénévole peut avoir des contraintes fortes et des contraintes souples pour ses disponibilités; ces contraintes peuvent changer d'une semaine à l'autre.
Pour rendre un service efficient à son public, l'association doit pouvoir s'assure que toutes les demi-journées de la semaine pourront être assurée par des bénévoles.
A la fin de l'année, il serait souhaitable que tous les bénévoles aient contribué de manière égale pour éviter de gros déséquilibres.
Objectifs:
Le logiciel développé doit permettre de:
L'interface graphique doit être simple et intuitive.
Références
Langage(s) et technologie(s):
Le langage de développement est laissé à l'appréciation du groupe d'étudiants.
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le poker est une famille de jeux de cartes comprenant de nombreuses formules et variantes. Il se pratique à plusieurs joueurs avec un jeu généralement de cinquante-deux cartes et des jetons représentant les sommes misées. Les séquences de jeu alternent distribution de cartes et tours d'enchères. Le but du jeu est de remporter les jetons des adversaires en constituant la meilleure combinaison de cinq cartes ou en leur faisant abandonner le coup. Dans ce projet nous nous intéresserons uniquement à la variante la plus populaire actuellement: le No Limit Texas Hold'em dans son format Heads Up (1 contre 1).
Travail à effectuer
Le but du projet est d’implémenter un jeu de No Limit Texas Hold'em dans lequel le joueur affronte l'ordinateur. Le programme devra proposer les fonctionnalités suivantes :
Langage(s) et technologie(s):
Au choix: Java ou C
Interface graphique, Intelligence artificielle
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le tetris est un jeu d'arcade qui allie réflexes et réflexion.
Des tetriminos de couleurs et de formes différentes descendent du haut de l'écran. Leur chute est inexorable mais peut être accélérer par le joueur. Le joueur peut également décider de l'angle de rotation et de la position où l'objet peut atterrir. Lorsqu'une ligne horizontale est complétée, elle disparaît et les blocs qui se trouvent au dessus tombent. La partie se termine lorsque la ligne du haut est atteinte et que le joueur ne peut plus agir. L(objectif du heur est donc de compléter un maximum de lignes.
Travail à effectuer
Le but du projet est d’implémenter un jeu de tetris. Le programme devra proposer les fonctionnalités suivantes :
Langage(s) :
Contrainte(s) :
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le blackjack est une famille de jeux de cartes comprenant de nombreuses formules et variantes.
Il se pratique à plusieurs joueurs avec un jeu généralement de cinquante-deux cartes.
Dans sa version classique, la partie oppose tous les joueurs contre la banque.
Le but est de battre le croupier sans dépasser 21
Travail à effectuer
Le but du projet est d’implémenter un jeu de blackjack dans lequel le joueur affronte l'ordinateur. Le programme devra proposer les fonctionnalités suivantes :
Afin d'améliorer les possibilités offertes, on envisagera de :
Langage(s) et technologie(s):
Interface graphique, Intelligence artificielle
Contrainte(s) :
Encadrants :
Catégorie(s): Robotique
Présentation du sujet
L'objectif de ce projet est de construire et de faire fonctionner un robot ramassant des palets disposés sur une surface jeu.
Deux robots s'affrontent dans un match qui consiste à récupérer le maximum de palets dans le temps imparti.
Travail à effectuer :
Dans le cadre d'une approche incrémentale, le programme développé devra permettre au robot de réaliser les tâches suivantes:
Evidemment, le robot devra réaliser ces tâches le plus rapidement possible.
Contraintes:
Le langage utilisé pour réaliser le(s) programme(s) sera obligatoirement : C ou Java
La salle de robotique est petite et il faudra la partager.
Participer aux événements de promotion de la robotique organisés par l'UFR.
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le quarto est un jeu de réflexion basé sur une grille carrée de 16 cases. Sur cette grille deux joueurs déposent des pièces tour à tour.
Le but du jeu est d'aligner 4 pièces présentant les mêmes caractéristiques : blanches ou noires, grandes ou petites, rondes ou carrées, pleines ou creuses.
Travail à effectuer :
Le but du projet est d’implémenter un jeu de quarto. Le programme devra proposer les fonctionnalités suivantes :
Langage(s) : C/C++ ou Java
Références
Langage
Contrainte(s) :
Encadrant :
Mail de l'encadrant :
Catégorie(s): app. autonome, framework/librairie, open-source
Contexte
La compréhension du pseudo-code d'un algorithme peut être difficile si l'on ne se représente pas visuellement le déroulement de l'algorithme et la manière dont les structures de données sont transformées par celui-ci. Cette difficulté est particulièrement forte dans le cas d'algorithmes récursifs sur des structures non-linéaires, comme des arbres.
Objectifs :
L'objectif est de construire un programme de visualisation animée du déroulement d'algorithmes. De nombreux outils de ce type existent, on se concentrera donc sur ce qui manque : la visualisation d'algorithmes récursifs sur les arbres.
Le programme devra à la fois comporter un ensemble de fonctions suffisamment génériques pour mettre en œuvre des algorithmes quelconques (un framework) et l'implémentation d'algorithmes spécifiques issus du cours d'algorithmique de L2.
Références bibliographiques
Exemples de visualisateurs :
Librairies :
Technologies
python ou programmation web
Contraintes:
n/a
Mots-clés
algorithmique, visualisation, arbres
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant :
Mail de l'encadrant :
Catégorie(s): Smartphone
Présentation du sujet
Une boîte à rythmes est un appareil électronique (ou un logiciel) qui simule des instruments de percussion.
Elle permet de jouer à l'infini des rythmiques correspondant à des styles de musique pré-programmés (rock, salsa, …) ou de créer des rythmiques personnalisées.
Travail à effectuer :
L'objectif de ce projet est de réaliser une boite à rythme qui fonctionne sur un smartphone. Cette boite à rythme devra permettre :
Éventuellement, on pourra améliorer l'expérience utilisateur en utilisant les capteurs du smartphone : gyroscope et accéléromètre.
Langage(s) et technologie(s):
Contrainte(s) :