Projets de programmation 2020-2021

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

Sujet L2A - Robot ramasseur de balles

Encadrants : Michel Soto
Mail de l'encadrant :

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:

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 L2B - Développer une application web qui facilite la réservation des salles de réunions au sein d’une entreprise.

Encadrant : Fouad Miloudi
Mail de l'encadrant :

Catégorie(s): app. gestion

Contexte
Les réunions font parties intégrantes du quotidien d’un salarié. Une enquête réalisé par OpinionWay du 3 au 19 avril 2017 auprès de 1 012 salariés d'entreprises de 500 salariés et plus dans des secteurs économiques varié démontre que les répondants passent en moyenne 4h30 par semaine en réunion, soit 3.4 semaines par an.

Il est donc primordial pour une société d’avoir une bonne application de gestion de des salles de réunion.

Objectifs :
Développer une solution facile d’utilisation qui s’adapte aux besoins des sociétés permettant d’optimiser l’utilisation des salles de réunions et de gérer au mieux les réservations.

Le projet consiste à mettre en place une interface web accessible à tous les employés de l’entreprise afin qu’ils puissent gérer au mieux la réservation et optimiser l’utilisation des salles de réunions

L’administrateur doit pouvoir créer des accès à l’application web pour les salariés. Une fois les accès crées, les employés pourront utiliser les différentes fonctionnalités décrites ci-dessous.

Scénario:

Pour bien comprendre le projet, un scénario simplifié est décrit ci-dessous, dans lequel un employé d’une société ayant opté pour la solution Agend’Easy souhaite utiliser les fonctionnalités importantes de l’application afin de gérer ses réunions.

On comprend donc qu'il y a un au minimum un administrateur. Ce dernier disposera de tous les droits.

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 - Guichet automatique bancaire

Nom de l'encadrant: Dragutin Jastrebic
Mail de l'encadrant :

Catégorie(s): Application

Présentation du sujet
Le scénario: Un porteur 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 porteur (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, le “driver”, le transforme en format interne du logiciel. Un troisième module, “le 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 quatrième module, le module “central”, effectue l'opération souhaitée par le porteur de la carte (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 (distribue des billets par exemple), 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.

Travail à effectuer
L'objectif de ce projet est de développer des modules qui simulent ce scénario. Il faudra créer aussi une interface pour accéder au compte bancaire, visualiser les opérations. Il peut s’agir d’une interface WEB ou Smartphone.

Langage(s) et technologie(s):

Contrainte(s) :


Sujet L2D - Introduction à la bioinformatique

Nom de l'encadrant: Dragutin Jastrebic / Koviljka Lukic Jastrebic
Mail de l'encadrant :

Catégorie(s): Application scientifique, application web

Présentation du sujet
La bioinformatique est une discipline d'analyse de l'information biologique contenue dans les séquences nucléotidiques (séquence de nucléotides) et protéiques (séquences d'acides aminés). Il s'agit d'une “interdiscipline”, à la frontière de la biologie, de l'informatique et des mathématiques. Les systèmes biologiques sont très complexes, leur bases et/ou banques de données sont volumineuses, et en plus les traitements des informations stockées nécessitent des algorithmes performants. Il s'agit en général des traitements qui ressemblent à un traitement traditionnel « data warehouse » (on traite en parallèle une masse de données sur une machine avec plusieurs processeurs) mais qui nécessitent un calcul plus complexe (pas seulement les simples minimums, maximums, moyennes comme dans le cas des « data warehouses » des systèmes de commerce par exemple).

En bioinformatique, les différents algorithmes (alignement et autres) sont utilisés dans le contexte de recherche de fonctions biologiques, de la phylogénie moléculaire, du séquençage de génome etc.

La bioinformatique propose des méthodes et des outils pour le recueil des données, leur traitement, leur distribution et leur visualisation.

Sur notre projet, nous allons travailler sur les parties traitement et visualisation des données

Langage(s) et technologie(s):

Contrainte(s) :


Sujet L2E - Création d'un annuaire pour des start-ups avec règles RGPD

Encadrant : Olivier Grossat
Mail de l'encadrant :

Catégorie(s): site web

Contexte
UIC LAB est l'équivalent d'une “pépinière d'entreprise virtuelle” son objectif créer un vivier de start-ups proches de l'UIC pouvant participer à des projets. La première démarche d’UIC LAB est la création d'un annuaire des start-ups sur le site UIC avec une page dédiée. Cet annuaire sera le point d'entrée pour toute start-up souhaitant participer à toute activité de l'UIC, comme les UIC digital Awards et Assister le responsable digital.

Objectifs :
Nous proposons de concevoir une interface web en un module compatible CMS SPIP

L’annuaire respectera l’intégralité des règles RGPD avec le document en anglais de consentement, un système de suppression automatique des start-ups de plus de 5 ans ainsi qu’une une adresse mail de contact pour la modification ou la suppression des données (droit à l’oubli) permettra le respecter des clauses de la RGPD. Les informations que l'on pourra y trouver seront les suivantes : Information RGPD

Information non RGPD

Ces informations pourront être classées dans l’annuaire par un système de tri et de recherche par mot-clés. Dans un second temps pour augmenter l'interaction entre les start-ups et l’UIC un système de publication automatique par l'intermédiaire des flux RSS et ou de twitter pourrait être envisagé. Un système d'édition de l'annuaire sera disponible avec les informations publiques et privées pour la plate-forme digitale exclusivement et permettra d’opérer les corrections sans passer par l'administration web de l’UIC (afin d'éviter tout goulot d'étranglement dû à une surcharge de travail).

Références bibliographiques
n/a

Technologies
Web,Spip,annuaire

Contraintes:
Spip

Mots-clés
Web,Spip,annuaire

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

Sujet L2F - PlantGame 2021

Encadrant : Florence Leclerc
Mail de l'encadrant :

Catégorie(s): app. autonome

Contexte
Le pharmacien d’officine doit être capable d’identifier les plantes d’intérêt pharmaceutique. Dans ce cadre, les étudiants en pharmacie suivent une formation en botanique où ils doivent apprendre à reconnaître une grande quantité d’espèces.

Objectifs :
Il est proposé de développer un outil simple, sous forme de jeux et d’ateliers pour aider les étudiants à réviser les espèces de plantes de façon ludique (par ex, tirage au sort de photos à identifier, jeux de cartes, appariement …). Ces activités seront associées à des aide-mémoires pour les espèces les plus fréquentes.

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 L2G - MycoGame 2021

Encadrant : Florence Leclerc
Mail de l'encadrant :

Catégorie(s): app. autonome

Contexte
Le pharmacien d’officine doit être capable d’identifier les principaux champignons que l’on peut ramasser en forêt. Dans ce cadre, les étudiants en pharmacie suivent une formation en mycologie officinale où ils doivent apprendre à reconnaître une grande quantité d’espèces.

Objectifs :
Il est proposé de développer un outil simple, sous forme de jeux et d’ateliers pour aider les étudiants à réviser les espèces de champignons de façon ludique (par ex, tirage au sort de photos à identifier, jeux de cartes, appariement …). Ces activités seront associées à des aide-mémoires pour les espèces les plus fréquentes.

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 L2H - Interface d’annotation pour le visual question answering

Encadrant : Sylvain Lobry
Mail de l'encadrant :

Catégorie(s): intelligence artificielle, site web

Contexte
Le visual question answering est une tâche récente visant à extraire de l’information depuis des images via des requêtes exprimées en langage naturel. Une démonstration de cette tâche est accessible sur [1]. Les modèles proposés pour traiter cette tâche reposent sur l’apprentissage profond, et nécessitent une grande quantité de données d’entraînement (une donnée est un triplet image/question/réponse). L’objectif de ce projet est de proposer une plateforme web permettant l’annotation de données pour le visual question answering.

Objectifs :
La plateforme à réaliser contiendra une interface administrateur et une interface utilisateur. L’interface administrateur permettra d’ajouter des images à annoter, d’accéder aux statistiques de la plateforme et de télécharger les annotations. L’interface utilisateur affichera les statistiques individuelles et fonctionnera selon deux modes:

Par ailleurs, selon l'avancement des étudiants, un mode démo pourra être créer (à partir de modèles définis et entraînés) et permettra une prise en main d'une bibliothèque d'apprentissage sur la partie inférence.

Références bibliographiques

Technologies
La plateforme devra suivre un patron modèle-vue-contrôleur (MVC). L’utilisation d’un framework (e.g. Django) est conseillée, mais les étudiants pourront aussi s’orienter vers un développement avec HTML/CSS/PHP/Javascript.

Contraintes:
Les différentes briques de la plateforme devront être facilement modifiable pour permettre de nouvelles fonctionnalités.

Mots-clés
Plateforme, web, annotation, apprentissage profond

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

Sujet L2I - Un nouveau type de CAPTCHA basé sur le visual question answering

Encadrant : Sylvain Lobry
Mail de l'encadrant :

Catégorie(s): open-source, prototypage

Contexte
Le terme CAPTCHA […] désigne une famille de tests de Turing permettant de différencier de manière automatisée un utilisateur humain d'un ordinateur (Wikipedia). Ces tests sont largement utilisés, notamment pour lutter contre la soumission automatisée de formulaires sur internet. Initialement, ces tests présentaient une image distordue contenant du texte: un utilisateur humain peut reconnaître ce texte, au contraire des systèmes de reconnaissance de caractères optique (OCR en anglais). Depuis 2009, Google propose un système appelé reCAPTCHA permettant initialement d’extraire de l’information des CAPTCHA résolues par les utilisateurs (par exemple la numérisation de documents, puis de la détection d’objet sur des images). Depuis 2014, No CAPTCHA se base sur les clics d’utilisateurs (et donc le suivi des interactions avec la page) pour ce test. Enfin depuis 2017, un système dit “invisible” ne présente plus systématiquement de CAPTCHA et se base uniquement sur le suivi des actions d’utilisateurs. Bien qu’intéressants pour l’utilisateur (car réduisant le travail manuel à effectuer), ces derniers systèmes sont critiqués pour leur intrusion dans la vie privée. Par ailleurs, le visual question answering (pouvant être vu comme un test de Turing visuel [1]) est une nouvelle tâche consistant à répondre à une question posée en langage naturel à propos d’une image.

Objectifs :
L’objectif de ce projet est d’étudier la faisabilité et de faire une preuve de concept d’une CAPTCHA basée sur le visual question answering. Ce système devra à la fois assurer une robustesse aux attaques et permettre de collecter des données d’annotation utiles à l’entraînement de modèles capables de résoudre de tels problèmes. Ces données ont vocation à être diffusée librement. En plus de l'élément de test, une interface d’administration permettra d’importer des images et des questions auxquelles l’utilisateur devra répondre. Par ailleurs, des éléments de contrôles seront insérés dans les CAPTCHA en utilisant des couples images/questions dont les réponses sont déjà connues: ainsi, on pourra présenter deux questions à l’utilisateur: une dont la réponse est connue (contrôle), une dont la réponse ne l’est pas (annotation). Ces éléments de contrôle pourront être extraits de bases de visual question answering déjà réalisées. Il faudra donc créer un algorithme permettant de choisir quels couples image/question présenter à l'utilisateur.

Références bibliographiques
[1] Geman, D., Geman, S., Hallonquist, N., & Younes, L. (2015). Visual turing test for computer vision systems. Proceedings of the National Academy of Sciences, 112(12), 3618-3623.

Technologies
SQL, JS, HTML/CSS, PHP ou Python

Contraintes:
Le projet sera diffusé avec une licence ouverte.

Mots-clés
CAPTCHA, Visual question answering

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

Sujet L2J - Jumeau numérique

Encadrant : Nasime El Fartass
Mail de l'encadrant :

Catégorie(s): app. autonome, découverte/initiation, électronique, framework/librairie, intelligence artificielle, open-source, web-service

Contexte
Un jumeau numérique (en anglais, digital twin) est une représentation ou réplique numérique d'un objet, d'une machine, ou d'un processus industriel. Identifié parmi les grandes tendances technologiques (selon Gartner) et porté par le développement de l’industrie 4.0, le jumeau numérique s'est installé dans le paysage industriel mondial.

Objectifs :

L’objectif de ce projet est de créer le jumeau numérique d’un objet connecté : de modéliser l’objet sous une représentation numérique (modèle objet), de collecter des données de télémétrie de l'objet (température, humidité, pression…), et de suivre et estimer l’évolution de ces données dans le temps.

Les données de télémétrie collectées par le jumeau numérique devront être, stockées dans une base de données orientée séries temporelles (en anglais, time series), et visualisées sous forme de tableau de bord (en anglais, dashboard). Le jumeau numérique est à développer en utilisant au choix le langage Java ou Scala, et en utilisant des composants (en anglais, frameworks) open source.

Références bibliographiques

Technologies
Java ou Scala

Contraintes:
n/a

Mots-clés
Jumeau numérique, Industrie 4.0, IOT, Cloud

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

Sujet L2K - Algorithmes animés

Encadrant : Gaël Mahé
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 L2L - Gateway SMS Croix-Rouge française

Encadrant : Emmanuel Logak
Mail de l'encadrant :

Catégorie(s): smartphone

Contexte
L'unité locale de la Croix-Rouge française du 5ème arrondissement cherche à se doter d'une application Android pour faciliter la communication et les déclenchements d'urgence de ses bénévoles secouristes.

Objectifs :
L'objectif est de développer une application Android capable d'envoyer des SMS depuis le téléphone sur laquelle elle est installée.

Il devra être possible de communiquer avec l'application depuis une API, pour lui transmettre le corps du message ainsi que les numéros des destinataires.

Références bibliographiques
n/a

Technologies
Android

Contraintes:
Posséder au moins un téléphone Android dans le groupe sur lequel des essais pourront être faits.

Mots-clés
Android SMS API

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

Sujet L2M - MiniStratege - Jeu vidéo web

Encadrant : Nicolas Denis
Mail de l'encadrant :

Catégorie(s): app. autonome, jeu vidéo, site web

Contexte
Site proposant un jeu de stratégie à 2 joueurs simple

Objectifs :
Le jeu propose un plateau rectangulaire composés de carrés.

Le terrain est constitué à chaque nouveau jeu :

Chaque joueur reçoit 100 points de production, avec lesquels il doit sélectionner des unités, avec les caractéristiques suivantes :

Chaque niveau (1 à 5) de chaque caractéristique coûte autant de points de production. Terrestre/Maritime/Aérien Il est possible de construire des aéroports.

Un spécificité pour la puissance 5 : l'armement ne pourra servir qu'une seule fois.

Les unités aériennes ne peuvent passer plus de 4 tours sans se poser sur un aéroport.

Les attaques se jouent au dé : l'attaquant et le défenseur lancent successivement le dé : les points obtenus s'ajoutent respectivement aux points d'attaque de l'un et aux points de défense de l'autre. Celui obtenant le plus fort résultat l'emporte.

Références bibliographiques
n/a

Technologies
java

Contraintes:
n/a

Mots-clés
jeu; stratégie; web

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

Sujet L2N - CAPTCHA - La bonne question

Encadrant : Nicolas Denis
Mail de l'encadrant :

Catégorie(s): app. autonome, découverte/initiation, sécurité, web-service

Contexte
Constituer une base de questions et réponse sous forme d'image, en utilisant un CAPTCHA.

Objectifs :
Un CAPTCHA est un test permettant de différencier de manière automatisée un utilisateur humain d'un ordinateur. Ce test de défi-réponse est utilisé en informatique pour vérifier que l'utilisateur n'est pas un robot.

Le site devra présenter, 3 fois : une image divisée en 9 carrés, et 5 questions.

Pour chaque association image - question : Les 5 questions devront être assez générales (Qu'est-ce qui est devant ? / Qu'est-ce qui est rouge ? / Qu'est-ce qui est en bas ?…) L'utilisateur doit à la fois sélectionner une question et un des carrés composant l'image, en réponse.

Pour deux des images, les associations question-réponse sont connues. La troisième permet d'enregistrer une nouvelle réponse pour augmenter le nombre de questions possibles.

Le site devra enregistrer la correspondance entre la question et le carré-réponse, ainsi que le nombre de réponses apportées.

Références bibliographiques
n/a

Technologies
PHP; MYSQL

Contraintes:
n/a

Mots-clés
test sécurité; CAPTCHA; web

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

Sujet L2O - Reconnaissance de formes à partir de descripteurs de Fourier Génériques étendus

Encadrant : Laurent Wendling
Mail de l'encadrant :

Catégorie(s): app. scientifique

Contexte
Dans le cadre de la recherche d’objets (et de symboles) dans des images binaires ou à niveaux de gris, il est important d’avoir des descripteurs de formes invariants à des propriétés géométriques fondamentales comme la translation, la rotation ou le facteur d’échelle.

Objectifs :
Nous nous intéresserons ici aux descripteurs de Fourier génériques (Zhang). Cette approche, intégrée dans MPEG7, donne de très bons résultats pour la reconnaissance de Logos ou de formes pleines. Cette méthode, relativement simple à mettre en œuvre, est fondée sur une transformée discrète polaire, pour mieux prendre en compte la rotation d’objets.

Les étapes à suivre sont les suivantes :

− Lecture d’une image à niveaux de gris
− Calcul de Descripteurs de Fourier Génériques étendu (algorithme général fourni) pour obtenir une nouvelle représentation (vecteur)
− Calcul de distance (comparaison de deux images à partir de leur description)
− Calcul de la distance entre une image (requête) et plusieurs images (affichage en fonction des distances les plus proches)
− Suivant l'état d'avancement, la prise en compte d’autres propriétés géométriques (comme l’étirement) sera étudié

Cette approche sera testée sur différentes bases (formes pleines, symboles).

Références bibliographiques
n/a

Technologies
C/C++ ou java

Contraintes:
n/a

Mots-clés
Descripteur de formes, images binaires

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

Sujet L2P - Recherche d’objets à partir d’une représentation compacte de l’histogramme couleur

Encadrant : Laurent Wendling
Mail de l'encadrant :

Catégorie(s): app. scientifique

Contexte
Dans de nombreux domaines d’application en imagerie, les quantités d’images deviennent de plus en plus importantes, formant de véritables masses de données. Les systèmes de recherche d'images par le contenu (Content Based Image Retrieval ou CBIR) nécessitent l’utilisation de descripteurs de formes discriminants et rapides à calculer. L’idée est de présenter une image au système (par exemple une voiture) et de faire ressortir les images les plus proches dans la base.

Objectifs :
Nous proposons, dans ce projet d’étudier et d’adapter, une approche simple et efficace de reconnaissance entre images fondée sur une représentation de l’histogramme couleur des images RGB. Les étapes à suivre sont les suivantes :

Suivant l'état d'avancement, un test sur plusieurs bases d’images sera réalisé ainsi que l’impact de intégration d’autres caractéristiques (code fourni)

Références bibliographiques
n/a

Technologies
C/C++ ou java

Contraintes:
n/a

Mots-clés
recherche d'image, histogramme couleur

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

Sujet L2Q - Comparaison d'objets à partir de motifs binaires locaux étendus

Encadrant : Laurent Wendling
Mail de l'encadrant :

Catégorie(s): app. scientifique

Contexte
Ce sujet concerne le domaine de la reconnaissance des formes. La croissance de l’Internet, l’évolution de technologies a entrainé la construction de bases d’images de plus en plus grandes (médicales, satellitaire, …). Il est important de se doter d’outils puissants et rapides pour pouvoir comparer et trouver des similitudes entre ces images pour mieux les étudier.

Objectifs :
L’objectif est d’implémenter un algorithme de reconnaissance fondé sur les LPB (Local Binary Patterns qui seront ici calculés sur une fenêtre centrée de taille 3×3 ou plus autour de chaque pixel) pour comparer des images à niveaux de gris et déterminer à quel degré elles se ressemblent. .) La première partie du travail consistera à écrire le code permettant de lire et de sauvegarder une image à niveaux de gris. .) La seconde étape sera de calculer le vecteur LBP (distribution sous forme d’histogramme de niveaux de gris) sur une image. .) La troisième étape consistera à déterminer le degré de ressemblance entre deux images (en calculant la distance entre les deux distributions LBP). .) Suivant l'état d'avancement, une étude sera réalisée sur des images en couleur ou sur l’extension de cette méthode pour classer une petite base d’images médicales en deux catégories.

Références bibliographiques
- https://fr.wikipedia.org/wiki/Motif_binaire_local - http://jultika.oulu.fi/files/isbn9514270762.pdf (uniquement pages 33 à 35)

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 - Extraction polygonale pour la comparaison d’objets

Encadrant : Laurent Wendling
Mail de l'encadrant :

Catégorie(s): app. scientifique

Contexte
Dans de nombreuses applications de reconnaissance des formes (système d’information géographique, imagerie médicale, …) des images de plus en plus gigantesques sont manipulées (ordre du T). Il est donc nécessaire d’utiliser des représentations simplifiées des objets contenues dans celles-ci pour des traitements plus rapides (comparaison, localisation…).


Objectifs :
L'objectif de ce projet est de programmer un algorithme de représentation polygonale à partir du contour d'un objet. Ce type de représentation est très utile pour modéliser des formes et s'intègre aussi facilement dans des mécanismes de reconnaissance d'objets.

Les étapes à suivre sont les suivantes :

de ce contour sous la forme d'un ensemble de segments à partir d'une approche dichotomique en fonction de la distance entre le segment courant et le point de la chaîne associée le plus éloigné jusqu’à un critère d’arrêt.


Références bibliographiques
n/a

Technologies
C/C++ ou java

Contraintes:
n/a

Mots-clés
polygone, objet, contour

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

Sujet L2S - Application de rencontres pour universitaires.

Encadrant : Mete Selcuk, Ramy Temim
Mail de l'encadrant :

Catégorie(s): site web

A propos des encadrants

Nous sommes deux ingénieurs en informatiques ayant fait exactement le parcours que vous êtes entrain de faire. On a même eu David Janiszek comme professeur jusqu'à la fin de notre master :)

Ramy travaille aujourd'hui chez FREE en tant que SRE/devops. Mete est tech lead chez Rénolib ( une startup dans la rénovation énergétique).

Idée générale
Proposer une application qui est en pleine phase avec les restrictions sociales du COVID et aussi de pouvoir partager, rencontrer et jouer avec d'autres personnes.

Objectifs :
Créer une application de rencontre spécialisée pour tout universitaire (étudiants, professeurs, chercheurs, post doctorants, etc…).

Le but étant pour les étudiants de rencontrer des gens de son amphi ou de son cursus, de flirter, de pouvoir partager des infos/cours, et aussi d'avoir des minis jeux dans l'application pour avoir des features rigolotes (libre cours à l'imagination).

L'application sera en deux parties, où chaque groupe s'occupera d'une de ces parties: - une API qui tourne sur des serveurs - et une application mobile cross-plateform (+responsive sur desktop).

L'application devra être open source, et géré avec un système de versionning sous git (github ou gitlab). Vous apprendrez aussi les méthodologies de travail pratiqués dans le monde professionnel.

L'application sera amené à évoluer au fil des années, donc il y aura une attention particulière à la maintenabilité et pouvoir refactorer(naming, refactoring, testings). Ces critères participeront à l'évaluation du projet.

Références bibliographiques
Clean code (robert c.martin, aka uncle bob) pour n'en citer qu'un + google ? Formations udemy + openclassrooms…

La liste est sans fin pour être franc concernant la bibliographie, il est surtout nécessaire d'être autonome dans ses recherches et sa formation personnelle.

Technologies
React Native, Nodejs (JS), Git

Contraintes:
Réunions le soir ~18h30

Mots-clés
API, REST, MOBILE, TESTS, GIT, AUTH

Remarques
Encadrement en commun deux groupes d'étudiants en parallèles
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non

Sujet L2T - 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 :

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


Sujet L2U - 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 :

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

Références

Langage

Contrainte(s) :


Sujet L2V - 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 :

Langage(s) :

Contrainte(s) :


Sujet L2W - Jeu d'échecs

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

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 :

Langage(s) :

Contrainte(s) :


Sujet L2X - Galaxy Fighters

Encadrant :
Mail de l'encadrant :

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


Sujet L2Y - 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 :

Langage(s) :

Contrainte(s) :


Sujet L2Z - Photo Deluxe

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


Sujet L2AA - 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 :

Langage souhaité :
A déterminer

Contrainte(s) :


Sujet L2AB - 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 L2AC - 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 :

Langage souhaité :

Contrainte(s) :


Sujet L2AD - Morphing

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

Catégorie(s): smartphone

Présentation du sujet
Le morphing d'images est un effet spécial souvent utilisé dans le cinéma qui consiste à passer d'une image à une autre en réalisant une animation. Pour qu'elle paraisse naturelle, la transformation s'appuie sur des zones de l'image (des points, des vecteurs voire des figures) pour lesquelles l'utilisateur indique une correspondance entre l'image source et l'image cible. On calcule alors les images intermédiaires pour réaliser l'animation par une interpolation des zones correspondantes entre les deux images.

Travail à effectuer

Le but du projet est de réaliser une application mobile qui permette de :

Langage souhaité :

Référence(s) :

Contrainte(s) :


Sujet L2AE - Webmon

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

Catégorie(s): application

Présentation du sujet
Les internautes fréquentent souvent les mêmes sites internet pourtant tous ne sont pas mis à jour à la même fréquence. Par exemple, certains blogs ou pages personnelles ne sont mis à jour que quelques fois par mois. Pour éviter aux internautes de perdre leur temps à vérifier si leurs sites préférés ont été mis à jour, on souhaite avoir une application pour monitorer différentes pages web.

Travail à effectuer

Le but du projet est de réaliser une application qui permette de :

Langage souhaité :

Référence(s) :

Contrainte(s) :


Sujet L2AF - 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 :

Langage(s) :

Contrainte(s) :


Sujet L2AG - Angry Pigs

Encadrant :
Mail de l'encadrant :

Catégorie(s): Jeu Vidéo

Présentation du sujet
Dans cet opus les cochons prennent leur revanche sur les oiseaux.

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 :

Eventuellement, permettre un mode multi-joueurs.

Au choix: smartphone ou web

Références

Langage(s) et technologie(s) :
A déterminer

Contrainte(s) :


Sujet L2AH - Puzzle Mania

Encadrant :
Mail de l'encadrant :

Catégorie(s): Jeu Vidéo

Présentation du sujet
L'objectif de ce projet est de développer une application qui permet de reconstituer des puzzles à partir d'un ensemble de pièces mélangées.

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


Sujet L2AI - 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

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

Contrainte(s) :


Sujet L2AK - 2048

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

Catégorie(s): Smartphone, jeu vidéo

Contexte
Le jeu 2048 a eu un grand succès ces dernières années, aussi bien sur le web qu’en tant qu’application mobile. Il s’agit d’un petit casse-tête qui consiste à déplacer des cases dans une grille 4×4 de façon à faire fusionner deux cases identiques lorsqu’elles se rencontrent. Les cases contiennent des puissances de 2. Ainsi, deux cases 2 fusionneront en une case 4, deux cases 4 fusionneront en une case 8, etc Le but du jeu est de faire apparaître la case 2048 (2 à la puissance 11). Il est bien entendu possible de continuer au-delà, et de faire apparaître des valeurs plus élevées.

Travail à réaliser :
Le but du projet est de développer une application mobile pour 2048. En plus des fonctionnalités de base (pouvoir jouer une partie), il faudra prévoir un certain nombre d’extensions : possibilité de jouer dans des grilles de taille différente, objectif à atteindre différent, tableaux des meilleurs scores, modification du thème graphique, partage du score sur les réseaux sociaux, etc Une fonctionnalité optionnelle est le développement d’une intelligence artificielle capable de jouer au jeu. L’intérêt de cette IA serait de permettre à un joueur qui hésite sur son prochain coup d’obtenir un indice.

Langage(s) et technologie(s):

Référence(s) :

Mots-clés :



Sujet L2AL - 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 :

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

Contrainte(s) :


Sujet L2AM - Oenologik

Encadrant :
Mail de l'encadrant :

Catégorie(s): Smartphone

Présentation du sujet
L’oenologie est la science qui a pour objet l'étude et la connaissance du vin (Wikipédia). La France est le principal producteur de vins au monde et cette application vise à mettre en valeur les différents aspects de la production française.

image.freepik.com_vecteurs-libre_vecteur-verre-de-vin_644420.jpg

Travail à effectuer :
L'objectif de ce projet est de réaliser une application qui fonctionne sur un smartphone. Elle devra permettre :

Références

Langage(s) et technologie(s) : Java/Android/XML ou React Native/Javascript

Contrainte(s) :
Posséder un smartphone sous iOS (avec une licence développeur) ou sous Android

Sujet L2AN - 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 :

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

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

Contrainte(s) :


Sujet L2AO - 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:


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