Outils pour utilisateurs

Outils du site


projets:licence2:2025-2026

Projets de programmation 2025-2026

Vous pouvez saisir vos voeux : ici
Date limite de dépôt de votre fiche de voeux sur le site: 25/01/2026 à 12h

Sujet L2A - Conception d’une application de carte interactive des associations étudiantes et citoyennes

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 :

  • où elles se trouvent,
  • ce qu’elles font,
  • comment les contacter ou les rejoindre.

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

  • Nom de l’application
  • Public cible (étudiants, habitants, bénévoles)
  • Objectif de l’application

2) Fonctionnalités principales

  • Carte avec localisation des associations
  • Fiches associations (nom, activité, contact, horaires)
  • Recherche par thème (sport, solidarité, culture…)
  • Événements à venir (forums, réunions, actions)

3) Parcours utilisateur

  • Comment un utilisateur ouvre l’application
  • Comment il trouve une association sur la carte
  • Comment il prend contact ou s’inscrit

4) Intérêt pour les associations

  • Visibilité
  • Recrutement de bénévoles
  • Communication des événements

5) Livrables

  • Un diaporama (10 à 12 slides)
  • Une maquette simple des écrans (papier ou outil type Figma/Canva)
  • Une courte présentation orale (10 minutes)

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

Sujet L2B - Développement d’un système de recommandation basique

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 :

  • Extraire et exploiter un jeu de données simple (films, livres, musiques …)
  • Mettre en œuvre un algorithme de recommandation basique, reposant soit sur la popularité globale, soit sur la similarité entre utilisateurs ou éléments.
  • Justifier les recommandations produites, en expliquant pourquoi un élément est recommandé, sur quelles données ou comparaisons il repose.
  • Proposer une interface web simple permettant d’utiliser le système, et d’en observer le fonctionnement de manière interactive.

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

Sujet L2C - Simulation de trafic routier urbain

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 :

  • modéliser un système simple à l’aide de classes et de structures de données adaptées
  • implémenter une simulation fonctionnant par pas de temps
  • gérer des interactions entre plusieurs entités (véhicules, routes, intersections)
  • visualiser l’évolution d’un système simulé
  • analyser de manière élémentaire le comportement du système (congestion, temps de parcours)

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

Sujet L2D - Le problème à trois corps.

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

Sujet L2E - Trustworthy AI - IA Fiable

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

Sujet L2F - Déquantification

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

Sujet L2G - Outil de vérification de la traçabilité

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 :

  • Premier temps :
    • Développement d'un analyseur de documents.
    • Développement du module statistique.
    • Développement des filtres d'analyse.
  • Deuxième temps :
    • Développement d'une interface graphique permettant de visualiser les liens entre les documents, d'évaluer le taux de traçabilité et d’appliquer les filtres.
  • Exemple : Document A (référence) — Document B (trace A) — Document C (trace B)

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

Sujet L2H - Éditeur de Deck de jeux de cartes

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 :

  • Définir le besoin
  • Trouver les sources de données
  • Construire le Back-end
  • Construire l'interface graphique
  • Construire la partie statistique
  • Construire une émulation des mains de départ
  • Construire la partie sur les interactions entre les cartes.
  • Appliquer la solution à plusieurs jeux.

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

Sujet L2I - Spécialisation d’un modèle LLM à partir de supports de formation

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 :

  1. La transformation de supports de formation papier en données textuelles exploitables (numérisation, OCR si nécessaire, nettoyage).
  2. La structuration et la préparation des données pour l’adaptation d’un modèle LLM.
  3. Le fine-tuning d’un modèle de langage open source, afin d’intégrer directement les connaissances issues des supports pédagogiques.
  4. La mise en place d’une interface de question-réponse permettant une interaction avec le modèle.
  5. L’évaluation qualitative des réponses produites par le modèle (pertinence, fidélité au contenu)

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

Sujet L2J - Tetra-words

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

Sujet L2K - Tetris 3D

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

Sujet L2L - Ludothèque 3D pour moins de cinq ans

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

Sujet L2M - Flipper 3D

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

Sujet L2N - Mini IDS/IPS

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

Sujet L2O - CryptoBox: Transfert de fichiers chiffré

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

Sujet L2P - Jeu de morpion 3D

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 :

  • après 2 coups “normaux”, possibilité de supprimer une pièce adverse.
  • après 4 coups “normaux”, possibilité de supprimer deux pièces adverses.
  • après 6 coups “normaux”, possibilité de poser une pièce allant sur 2 emplacements.
  • après 8 coups, possibilité d'échanger deux niveaux.

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

Sujet L2Q - GUICHET AUTOMATIQUE BANCAIRE

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

Sujet L2R - Demonstrateur pour la RSVQA

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

Sujet L2S - Culturama

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

Sujet L2T - Conception d’un environnement technique pour l’adaptation de contenu basé sur les caractéristiques cognitives et émotionnelles des utilisateurs

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 :

  1. Étude des outils existants
    • Explorer et documenter les outils développés lors des projets des années précédentes.
    • Identifier et analyser les solutions du marché permettant la mesure des caractéristiques cognitives et émotionnelles (ex. analyse faciale, etc.).
  2. Conception d’un environnement intégré
    • Développer un environnement technique intégrant les outils sélectionnés.
    • Assurer l’interopérabilité entre les différentes solutions mises en œuvre.
  3. Adaptation de contenu basé sur les mesures
    • Concevoir et implémenter des algorithmes permettant l’adaptation dynamique de contenu en fonction des données collectées.
    • Tester et valider ces adaptations sur des cas d’utilisation spécifiques (par exemple : ajustement de la difficulté d’un exercice pédagogique ou modification d’une interface en fonction de l’état émotionnel).
  4. Validation et démonstration
    • Mettre en place des scénarios de test avec des utilisateurs pour valider le fonctionnement de l’environnement et des adaptations proposées.
    • Proposer des pistes d’amélioration et des perspectives pour les projets futurs.


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

Sujet L2U - Développement d’une application dédiée à la mesure physiologique de la charge mentale en aviation générale et en éducation

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 :

  1. Étude des dispositifs connectés et des données pertinentes
    • Réaliser une analyse comparative des dispositifs disponibles sur le marché (bracelets connectés, montres, ceintures thoraciques, etc.).
    • Identifier les indicateurs physiologiques pertinents pour évaluer la charge mentale, tels que la fréquence cardiaque, la variabilité de la fréquence cardiaque, ou encore les niveaux de stress.
  2. Conception et développement d’une application dédiée
    • Concevoir une application capable de s’interfacer avec plusieurs dispositifs connectés pour collecter les données physiologiques en temps réel.
    • Développer des protocoles de communication fiables pour assurer une récupération cohérente des données.
  3. Adaptation à deux contextes d’utilisation :
    • Aviation générale :
      • Développer une interface spécifique permettant d’analyser la charge mentale des pilotes en conditions de vol ou de simulation.
      • Proposer des outils d’aide à la décision basés sur les données collectées pour prévenir la surcharge mentale.
    • Éducation :
      • Créer une interface adaptée pour analyser la charge mentale des étudiants pendant des activités d’apprentissage (ex. cours en ligne, examens).
      • Étudier comment ajuster dynamiquement les contenus pédagogiques ou les activités en fonction des mesures recueillies.
  4. Validation et expérimentation
    • Tester l’application dans des contextes réels : simulateurs de vol pour l’aviation et environnements d’apprentissage pour l’éducation.
    • Évaluer la qualité des données recueillies, la pertinence des adaptations proposées et la satisfaction des utilisateurs.
  5. Analyse et recommandations
    • Analyser les données collectées pour identifier des tendances ou des corrélations entre charge mentale et performance.
    • Proposer des recommandations pour intégrer ces outils dans des pratiques professionnelles (formation des pilotes, amélioration des environnements d’apprentissage).


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

Sujet L2V - JOBO, un objet pour un job / JOBO ANALYTICS.

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 réaliser la V1 de Jobo Analytics ; donc de reprendre et d’enrichir Jobo Analytics pour le refondre complètement cad notamment

  1. Compléter les balises dans l’application Jobo.
  2. Créer un jeu de simulation (connexions d’utilisateurs et parcours) en créant des parcours utilisateurs dans Jobo (c’est-à-dire différents comportements d’accès aux vidéos, aux fiches métiers et aux offres d’emplois).
  3. Créer des tableaux de bord (filières-entreprises-organismes de formation) correspondants.
  4. Tester.
  5. Faire en sorte que les clients de Jobo Analytics puissent utiliser l’application sur labtop et sur smartphone.
  6. Réaliser une vidéo format tiktok de démo de Jobo Analytics.

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

Sujet L2W - Ariosa

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

Sujet L2X - Outil permettant de rendre de l’attractivité pour les métiers de l’industrie auprès des jeunesgénérations, de leurs familles et du grand public – CARTOGRAPHIE dans JOBO.

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

  1. Pouvoir choisir la région d’intérêt.
  2. Filtrer selon les objets ou les filières (4 - le verre, la coutellerie, le textile et le luxe).
  3. Afficher les entreprises qui fabriquent les objets ou parties d’objets ou qui sont dans la

filière.

  1. Quand je clique sur l’entreprise, j’affiche les métiers.
  2. Quand je clique sur le métier, je reboucle sur les vidéos/les fiches métiers et les offres

d’emplois – idem accès par la photo de l’objet).

  1. Tester.
  2. Réaliser une vidéo format tiktok de démo de l’utilisation de la fonctionnalité

Cartographie avec le scénario 1. Scénario 2

  1. Pouvoir choisir la région d’intérêt.
  2. Filtrer selon les lieux de formation (4 - le verre, la coutellerie, le textile et le luxe).
  3. Quand je clique que le lieu de formation, afficher les intitulés de formation.
  4. Quand je clique sur l’intitulé de formation, je reboucle sur les vidéos/les fiches métiers

et les offres d’emplois – idem accès par la photo de l’objet).

  1. Tester.
  2. Réaliser une vidéo format tiktok de démo de l’utilisation de la fonctionnalité

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

Sujet L2Y - Outil permettant de rendre de l’attractivité pour les métiers de l’industrie auprès des jeunesgénérations, de leurs familles et du grand public – GEOLOCALISATION dans JOBO.

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

  1. d’avoir un accès géolocalisé pour l’utilisateur, si il le souhaite, aux informations de type entreprises, et organismes de formation qui sont accessibles dans l’application.
  2. Créer un jeu de simulation de cette géolocalisation (un utilisateur à Marseille, un à Lille, un à Paris …) et un parcours dans l’application en conséquence.
  3. Tester.
  4. Réaliser une vidéo format tiktok de démo de la géolocalisation.

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

Sujet L2Z - Outil d'analyse automatique de la complexité syntaxique pour orthophonistes

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 :

  1. Calculs linguistiques automatiques :
    • Nombre total de mots.
    • Nombre total d’énoncés (chaque ligne est considérée comme un énoncé).
    • Mean Length of Communication Unit (MLCU) : Longueur moyenne d’unité de communication (nombre de mots/nombre d’énoncés).
    • Nombre de mots différents dans le texte.
    • Nombre total de morphèmes (éléments de sens dans les mots, par exemple préfixes, racines, suffixes).
    • Nombre moyen de morphèmes par énoncé.
  2. Interface utilisateur simple :
    • Zone de saisie pour entrer les énoncés transcrits (chaque énoncé sur une nouvelle ligne, éventuellement précédé d’un signe “+” pour les énoncés pertinents).
    • Affichage clair des résultats des calculs linguistiques.
  3. Export des résultats :
    • Possibilité de sauvegarder les analyses sous forme de rapport (ex. : fichier texte ou PDF).

La réalisation du projet passera par les étapes suivantes :

  1. Transcrire un enregistrement sonore en utilisant une API Speech-to-Text
  2. Permettre la correction de la transcription
  3. Implémenter les algorithmes permettant d’identifier et de compter les mots, énoncés, et morphèmes dans un texte donné.
  4. Concevoir une interface utilisateur intuitive permettant aux orthophonistes de déposer les enregistrements, corriger les transcriptions et de visualiser les résultats.
  5. Tester le logiciel

Références bibliographiques

Technologies

  • Whisper, NLTK

Contraintes:
Application multiplateforme

Mots-clés

  • TALN, orthophonie, morphème, transcription

Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non

Sujet L2AA - Classement et recherche d’images par le contenu

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éalisation d’un cahier des charges
  • Prise main d’une librairie permettant la manipulation / traitement d’images
  • Développement du logiciel d’indexation et de recherche d’images par le contenu
  • Choisir trois fonctionnalités additionnelles et les soumettre à votre encadrant
  • Réalisation des fonctionnalités choisies
  • Tester / évaluer le logiciel développé\

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

Sujet L2AB - Réalisation d'un jeu de simulation de vie d'un petit animal (Tamagotchi)

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éalisation d’un cahier des charges
  • Prise en main développement application Android
  • Développement du logiciel de gestion d’un Tamagotchi
  • Choisir trois fonctionnalités additionnelles et les soumettre à votre encadrant
  • Réalisation des fonctionnalités choisies
  • Tester / évaluer le logiciel développé\

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

Sujet L2AC : Galaxy Fighters

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

  • Reproduire la traversée du champ d'astéroïdes
  • Permettre le pilotage du vaisseau
  • Gérer la vitesse de défilement en fonction du niveau
  • Sauvegarder les meilleurs scores

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:

  • bouclier
  • vie supplémentaire
  • etc…

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) :


Sujet L2AD : Jeu d'échecs

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).

chess.jpg

Lors de ce projet vous aurez plusieurs tâches à accomplir :

  • Le programme devra tout d’abord permettre à joueurs humains de pouvoir jouer l’un contre l’autre.
  • Ensuite chaque partie pourra être sauvegardé et chargé. Une partie achevée pourra être conservée et pourra être rejouée coup par coup.
  • Plusieurs fonctionnalités comme le temps, la demande à l’adversaire de rejouer un coup etc… devront être implémentées
  • Optionnel / Bonus : création d’une IA pour jouer contre l’ordinateur

Langage(s) :

  • Nodejs, framework Express/Socket.IO, MongoDB ou SQL

Contrainte(s) :


Sujet L2AE : Photo Deluxe

Encadrant :
Mail de l'encadrant :

Catégorie(s): smartphone

Description : Vous réaliserez une application mobile qui permette de :

  • prendre des photos
  • de filter les photos (plusieurs filtres à implémenter)
  • d'ajouter des emojis et des stickers sur des photos
  • d'envoyer les photos à ses amis

S'il reste du temps à la fin du projet, on appliquera les filtres au mode vidéo.

Langage souhaité :

  • Java/Android ou React Native

Contrainte :
Posséder un smartphone


Sujet L2AF : Kakuro

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 :

  • Tout d’abord, le programme devra permettre la création automatique d’une grille de jeu en fonction d’un niveau de difficulté déterminé par le joueur.
  • Ensuite, le programme devra permettre de jouer une grille proposée par le programme ou une grille saisie par l’utilisateur.
  • Le programme devra être capable de calculer la solution d’une grille
  • Enfin, le programme devra être capable de sauver, charger et imprimer une grille

Langage souhaité :
A déterminer

Contrainte(s) :


Sujet L2AG : Jeu des 1000 bornes

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) :


Sujet L2AH : Accidentologie

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 :

  • présenter tous les accidents sur une carte de France en fonction :
    • de la date
    • d'un intervalle de dates
    • des conditions météorologiques
  • calculer et présenter des statistiques relatives aux accidents
  • identifier les zones dans lesquelles il y a plus d'accidents

Langage souhaité :

Contrainte(s) :


Sujet L2AI : Agenda en ligne

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 :

  • Créer un agenda en ligne
  • Permettre la création/suppression… de rendez-vous
  • Possibilité de prise de rendez-vous par d’autres internautes
  • Optionnel / Bonus : mails de rappels 24h avant le rdv, confirmations de prise et d’annulation de rendez vous

Langage(s) :

  • Nodejs, framework Express, MongoDB ou SQL, MVC, SOA

Contrainte(s) :


Sujet L2AJ : Tableaux caloriques des produits alimentaires

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 :

  • capturer une code barre d'un produit
  • consulter les bases de données publiques
  • afficher le diagramme de plusieurs couleurs
  • faire la somme des aliments consommés en : une journée, une semaine, un mois

Langage(s) :

  • Java/Android/XML ou React Native

Contrainte(s) :


Sujet L2AK : Bubble shooter

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

  • Créer plusieurs niveaux
  • Créer plusieurs niveaux de difficultés
  • Ajouter un système de bonus
  • Avoir un mode chronométré

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) :


Sujet L2AL : Site de gestion de bibliothèque

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):

  • Au choix de l’équipe de développement. Dans le cas d’un site web, il s’agit par exemple de HTML/CSS/PHP/Javascript. Il est également possible de travailler sous Android ou iOS.
  • Enfin, il faudra prévoir un moyen de stockage des données (base de données, XML,…)

Contrainte(s) :


Sujet L2AM : Développement d'un logiciel d'emploi du temps: gestion des permanences d'une association

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:

  • rentrer les contraintes et préférences des bénévoles de façon simple et intuitive pour un mois donné
  • calculer le nombre de permanences à effectuer pour chaque bénévole
  • donner un planning de permanences respectant toutes les contraintes, et autant de préférences que possible
  • détecter les conflits pouvant empêcher de trouver une solution, et proposer des plans d'action


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) :


Sujet L2AN : Jeu de Poker Texas Holdem

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 :

  • Le programme devra gérer automatiquement toutes le règles du jeu et les tours d'enchères.
  • Il faudra développer l'intelligence artificielle qui affrontera le joueur.
  • L'environnement du jeu devra être entièrement paramétrable et les parties jouées devront être sauvegardées.

Langage(s) et technologie(s):
Au choix: Java ou C
Interface graphique, Intelligence artificielle

Contrainte(s) :


Sujet L2AO : Tetris

Nom de l'encadrant:
Mail de l'encadrant :

Catégorie(s): Jeu vidéo

i.livescience.com_images_i_7197_original_090107-tetris-02.jpg

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 :

  • Tout d’abord, le programme devra permettre de jouer une partie.
  • Il devra également permettre une sauvegarde des parties et inclure des tetriminos bonus.
  • Le jeu peut être programmé sur la plateforme de votre choix : ordinateur ou smartphone

Langage(s) :

Contrainte(s) :


Sujet L2AP : Blackjack

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 :

  • Le programme devra gérer automatiquement toutes le règles du jeu
  • Il faudra développer l'intelligence artificielle qui affrontera le joueur.
  • L'environnement du jeu devra être entièrement paramétrable et les parties jouées devront être sauvegardées.

Afin d'améliorer les possibilités offertes, on envisagera de :

  • implémenter des variantes du blackjack
  • implémenter un mode multijoueur

Langage(s) et technologie(s):
Interface graphique, Intelligence artificielle

Contrainte(s) :


Sujet L2AQ : Robot ramasseur de balles

Encadrants :
Catégorie(s): Robotique

robosavvy.com_robosavvypages_lego_lego-mindstorms-nxt-two-wheeled.jpg

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:

  • Se déplacer sur la surface donnée sans en sortir.
  • Repérer les billes de couleur et les ramasser.
  • Ranger les billes ramassées : autrement dit, les déposer dans une zone prévue à cet effet.

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.

Sujet L2AR : Quarto

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 :

  • Tout d’abord, le programme devra permettre à deux joueurs humains de s'affronter
  • Ensuite, le programme devra permettre de jouer contre l'ordinateur et de proposer des conseils
  • Enfin, le programme devra être capable de sauver et de charger une partie en cours

Langage(s) : C/C++ ou Java

Références

Langage

Contrainte(s) :


Sujet L2AS : Algorithmes animé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

Sujet L2AT : Boite à rythmes

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 :

  • la gestion des échantillons pré-enregistrés
  • la gestion des échantillons sonores enregistrés par l'utilisateur.
  • la génération de ses propres sons électroniques
  • l'enregistrement des morceaux composés

É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):

  • Java/Android/XML

Contrainte(s) :


projets/licence2/2025-2026.txt · Dernière modification : 2026/01/23 17:28 de David Janiszek

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki