Outils pour utilisateurs

Outils du site


projets:licence3:2021-2022

Projets tutorés 2022-2023

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

Sujet L3A - Java Android – Aide à la randonnée

Nom de l encadrant : Lattaud Claude
Mail de l'encadrant :

Catégorie(s): app. scientifique, intelligence artificielle

Contexte
Java Android et reconnaissance de formes

Objectifs :
L'objectif de ce projet est d'apporter des améliorations à une application Android développée durant les années précédentes. Celle-ci est une suite d'outils d'aide à la randonnée regroupant de nombreux modules indépendants les uns et des autres, allant de la reconnaissance de plantes et de champignons à la reconnaissance de constellations.

Cette année, les étudiants devront aborder deux pans de l'application. Premièrement, ils modifieront le code pour passer de la version 6 d'Android à une version > 10, à définir. Cela passe, entre autres, par la mise à jour du module d'astronomie et de réalité augmentée, et de tout module possédant des éléments dépréciés. Ils vérifieront alors l'intégrité de l’application dans son ensemble, i.e. avec tous les modules téléchargés, et fourniront un document, séparé du reste, faisant office de bilan pour chacun d'entre eux.

Dans un second temps, les étudiants amélioreront le module de reconnaissance d'insectes et mettront un place un nouveau module : la reconnaissance de fleurs sur la région de l'Europe. Ils s'attacheront à utiliser la même rigueur dans leur développement et proposeront un outil fiable et robuste. L'application devra alors être en mesure de reconnaître tout insecte et toute fleur, issue de la région Europe, proposée.

Selon le temps et la motivation des étudiants, ils pourraient ajouter d'autres modules tels que la reconnaissance d'arbres, par exemple, ou encore proposer la mise à jour automatique de l'application. Celle-ci devra être parfaitement autonome, i.e. fonctionner sans accès à internet, robuste et permettre des enrichissements à l'avenir via d'autres projets et donc d'autres modules.

Références bibliographiques
n/a

Technologies
Java Android

Contraintes:
n/a

Mots-clés
Reconnaissance de formes

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Complexe

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Oui

Sujet L3B - Unity 3D – Rubik's cube

Nom de l encadrant : Lattaud Claude
Mail de l'encadrant :

Catégorie(s): app. scientifique, intelligence artificielle

Contexte
Aide à la décision

Objectifs :
L'objectif de ce projet est de réaliser une application d'aide à la décision pour la résolution d'un Rubik's cube standard 3*3. Ce projet passe par la prise en main du logiciel Unity 3D et par la conception d'un cube du style proposé par M. Rubik en 3D sous cette même application.

Après avoir mélangé un cube initial, l'application apportera une aide, pas à pas, à l'utilisateur afin que celui-ci range de nouveau toutes les faces du cube. Une option, paramétrable, offrira la possibilité de cacher cette aide dans le cas où l'utilisateur souhaiterait effectuer toutes les opérations seuls. Divers outils seront également intégrés, tels qu'un chronomètre, par exemple. Selon l'état d'avancement du projet et la motivation des étudiants, ils pourraient également développer leur système afin d'aider l'utilisateur à réaliser des figures spécifiques.

Finalement, lors de la soutenance, les étudiants présenteront une démonstration en live de leur application, lors de laquelle ils joueront avec leur Rubik's cube virtuel.

Références bibliographiques
n/a

Technologies
Unity 3D

Contraintes:
n/a

Mots-clés
Aide à la décision

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Élémentaire
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Non

Sujet L3C - Unity 3D - Jeu de stratégie et IA

Nom de l encadrant : Lattaud Claude
Mail de l'encadrant :

Catégorie(s): intelligence artificielle, jeu vidéo

Contexte
Jeu de stratégie existant

Objectifs :
Ce projet se base sur un projet développé par des étudiants durant les années passées. Ceux-ci ont défini les règles d'un jeu de stratégie, conçu les pièces en 3D et réalisé une application fonctionnelle, mais sans y intégrer une IA un minimum efficace. Le rôle de chaque pièce est bien délimité par son type. L'an dernier, un groupe d'étudiants a travaillé sur le développement d'une méthode de scripts sans apprentissage, ce n'est donc pas une IA à proprement parler.

L'un des objectifs du projet de cette année est donc de poursuivre dans cette direction et d'améliorer le système de scripts existant. Ces scripts devront permettre aux unités de se déplacer aussi bien que de combattre dans les meilleures conditions, et ce tant individuellement que collectivement. Les étudiants devront également fusionner les projets de l'an dernier avec deux nouvelles classes en une seule application. A cela, ils ajouteront une nouvelle compétence pour chacune des classes du jeu. Ensuite, ils devront revoir l'équilibrage de toutes les classes les unes par rapport aux autres, ainsi que régler certains problèmes mineurs, tels que ceux rencontrés lors de la gestion de la barre d'initiative. Finalement, ils testeront les performances de leur module contre un joueur humain, puis contre des joueurs artificiels et produiront une analyse statistique de ces résultats.

Lors de la soutenance, les étudiants feront une démonstration de leur application dans un face-à-face contre l'ordinateur.

Références bibliographiques
n/a

Technologies
Unity 3D, mySQL

Contraintes:
n/a

Mots-clés
Jeu, 3D, IA

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Complexe

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Oui

Sujet L3D - Proies – prédateurs en 3D

Nom de l encadrant : Lattaud Claude
Mail de l'encadrant :

Catégorie(s): app. scientifique, intelligence artificielle

Contexte
Vie artificielle

Objectifs :
Les systèmes proies – prédateurs sont des systèmes particulièrement étudiés en Vie Artificielle. Ils permettent, par exemple, de mettre en évidence de nombreux comportements, individuels comme collectifs, très proches de ceux observés dans le milieu naturel. L'objectif de ce projet est de poursuivre le développement d'une application 3D conçue par des étudiants de licence les années passées. Celle-ci, basée sur Unity, met en jeu des agents mobiles de types différents et se nourrissant les uns des autres, i.e. des proies et des prédateurs.

Dans un premier temps, les étudiants devront lire une bibliographie du domaine orientée vers les systèmes proies – prédateurs. Dans un deuxième temps, ils affineront et ajusteront le laboratoire virtuel où l'ensemble des paramètres de simulation est accessible à l'utilisateur. Les étudiants ajouteront des espèces comprenant des caractéristiques spécifiques et amélioreront l'environnement, intégrant un modèle simple de conditions climatiques, ainsi que le rendu des statistiques. Ils résoudront des problèmes auxquels leurs prédécesseurs ont été confrontés, tels que des blocages des agents à l'approche d'étendues d'eau, la chasse ou encore la réactivation d’icônes désactivées. Finalement, les étudiants intégreront un système d'apprentissage par mimétisme en permettant à l'utilisateur de contrôler un agent quelconque. L'ensemble des données de ce laboratoire devra être sauvegardé dans une base de données, mySQL par exemple, ainsi que l'ensemble des résultats obtenus.

En modifiant finement les paramètres de leur laboratoire virtuel, les étudiants mettront en évidence l'émergence de comportements individuels et collectifs tels que l'évitement et le contournement d'obstacles, la prédation, l'effondrement de populations, l'apparition de cascades trophiques, etc. Ils devront être capables, lors de la soutenance, de présenter plusieurs simulations aboutissant à des résultats significatifs à l'aide de leur application.

Références bibliographiques
n/a

Technologies
Unity 3D, mySQL

Contraintes:
n/a

Mots-clés
Vie artificielle

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Complexe

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Oui

Sujet L3E - Segmentation d’images fondée sur une représentation compacte de l’histogramme couleur

Encadrant : Laurent Wendling
Mail de l'encadrant :

Catégorie(s): app. scientifique

Contexte
Pour rechercher des objets contenus dans l’image, il est souvent nécessaire de segmenter l’image. C’est-à-dire de partitionner l’image en un ensemble de régions (ciel, mer, bateau,…). La segmentation d’image est souvent la première étape d’un système de reconnaissance des formes. La qualité de ce traitement est importante car il conditionne la précision des traitements ultérieurs. De ce fait, la plupart des modèles se fondent sur des seuils fixés à la main. Ces derniers sont difficilement transposables lorsque les conditions d’acquisition changent et sont fortement dépendants du contenu des images. Il est donc important d’avoir des modèles robustes, et automatiques, permettant de trouver les régions contenues dans les images. Nous proposons ici de calculer une adaptation de l’histogramme couleur et ensuite de regrouper les différents éléments le composant.

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

  • Lecture d’une image en couleur (RGB).
  • Calcul d’une nouvelle représentation fondée sur une représentation compacte de l’histogramme couleur.
  • Classification non supervisée de cet histogramme (ou de plusieurs) en fonction d’un nombre de régions prédéfini (par exemple en appliquant l’algorithme des k-means)
  • Extension à un nombre inconnu de classes (par exemple par la méthode « Elbow »)
  • Suivant l’avancée, l’application de cette approche sur une trame vidéo pourra être étudiée.

La programmation pourra se faire en Python, java ou C++.

Références bibliographiques
Fournies dés le début du projet.

Technologies
n/a

Contraintes:
n/a

Mots-clés
Histogramme couleur, classification d'objets

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

Sujet L3F - Extraction et reconnaissance de pointeurs pré-segmentés dans des images médicales

Encadrant : Laurent Wendling
Mail de l'encadrant :

Catégorie(s): app. scientifique

Contexte
Les praticiens utilisent souvent des annotations en imagerie médicale pour pointer ou donner des indications sur des zones d’intérêt pouvant être associées à différentes pathologies. Un des challenges actuels est le recensement automatique des zones pointées pour mieux catégoriser les pathologies, leur évolution… Nous avons défini une méthode performante pour binariser ce type d’images. L’objectif de ce sujet est d’extraire des régions dans des images binaires puis de les classer en deux classes (symboles et tissus) pour par la suite cibler les régions pointées.

Objectifs :
Les étapes à suivre sont les suivantes

  • Extraction des composantes connexes (cc) contenues dans chaque image binaire (1 fichier par cc avec les coordonnées dans l’image).
  • Reconstruction de l’image en filtrant les composantes trop petites ou trop grandes (seuils prédéfinis) pour valider aussi l’étape précédente.
  • Construction « manuelle » d’une vérité terrain (pointeurs et autre) en fonction des (cc) obtenus.
  • Calcul d’un descripteur de formes (représentation simplifiée sous la forme d’un vecteur) sur chacune des régions – code fourni
  • Classification à partir d’un jeu test en calculant une distance entre pointeur type et régions (visualisation ensuite dans l’image initiale en ajoutant le rectangle englobant le pointeur trouvé).
  • Suivant l’évolution du projet, une approche d’apprentissage par le biais de réseaux de neurones sera étudiée.

La programmation pourra se faire en Python, java ou C++. Remarque : ce sujet entre dans le cadre d’une collaboration avec le National Institutes of Health (NIH) de Washintgon et l’université du Dakota du Sud.

Références bibliographiques
Fournies dès le début du projet.

Technologies
n/a

Contraintes:
n/a

Mots-clés
reconnaissance des formes et segmentation d'images

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

Sujet L3G - Introduction aux méthodes de Ray Tracing

Nom de l encadrant : Boucetta Ghali
Mail de l'encadrant :

Catégorie(s): découverte/initiation, jeu vidéo, open-source

Contexte
Aujourd’hui, de plus en plus de systèmes et de jeux utilisent le Ray Tracing afin d’améliorer leurs visuels. Un nombre croissant de films d’animation issus de studios d’importance variable (Disney, Pixar …) utilisent la technologie du Ray Tracing afin d’avoir un rendu bien plus réaliste. Et pour cause, le Ray Tracing est une application de nos connaissances en optique à l’informatique et aux productions assistées par ordinateur.

Quelques jeux et films notables utilisent le Ray tracing, comme « Call Of Duty: Modern Warfare », ou la série de films « Cars ».

Objectifs :
Ce projet a pour objectif de concevoir et développer un moteur de Ray Tracing pouvant gérer certaines formes de base avec l’application de matériaux sommaires. Il serait néanmoins appréciable de concevoir le moteur en tenant compte de son optimisation afin de maintenir un affichage en temps réel à l’écran par exemple.

Références bibliographiques
https://raytracing.github.io/books/RayTracingInOneWeekend.html

https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work

Technologies
n/a

Contraintes:
C ou C++ préférés

Mots-clés
Rendu 3D, Ray Tracing

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Non

Sujet L3H - Application de réservation pour évènements

Nom de l encadrant : LE Kévin
Mail de l'encadrant :

Catégorie(s): startup

Contexte
Le but du projet est de mettre en place une application mobile à destination des personnes souhaitant organiser un évènement et à la recherche d'un lieu pour le réaliser (bar pour fêter un anniversaire, recherche d'un karaoké…)

Objectifs :
Pour réaliser cela, plusieurs briques doivent être mises en place, à savoir :

- La mise en place d'une API (REST, GraphQL, gRPC…) afin de permettre aux propriétaires d'établissement d'y enregistrer leurs informations (horaires, tarifs…), aux utilisateurs de rechercher/réserver, etc… - La conception d'une application mobile pour permettre aux utilisateurs de regarder les établissements en fonction de certains critères (distance, prix…) - La réalisation d'une interface permettant aux propriétaires de saisir leurs informations - La prise en compte de l'aspect sécurité

Références bibliographiques
n/a

Technologies
Node.js, JavaScript/TypeScript, Dart, Flutter, Firebase, MongoDB, Docker (à titre d'exemple)

Mots-clés
Application mobile, API, Cloud

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Élémentaire
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Non

Contraintes :
Disponible en général après 18h

Sujet L3I - Atrahasis

Nom de l encadrant : Denis Nicolas
Mail de l'encadrant :

Catégorie(s): app. autonome, framework/librairie, smartphone

Contexte
La responsabilité humaine dans le réchauffement climatique fait l’objet d’un consensus scientifique. Toutefois, ceux qui modifient leurs habitudes pour limiter ce processus sont peu nombreux. Que faire ? Le principe est de montrer, dans une application semblable à une application d’information, ce qui devrait advenir si nous continuons à polluer au rythme actuel.

Objectifs :
Ce projet a deux objectifs : - exploiter les données d'une base d’évènements fictifs mais probables dans les 100 prochaines années basés sur les connaissances scientifiques actuelles. La communication se fera par service en utilisant la technologie JSON/REST. - offrir une application d’information donnant chaque jour des nouvelles du futur tel qui pourrait être entre 2030 et 2130.

Des fonctions supplémentaires pourront être proposées (conseils réguliers sur les actions écologiques).

Atrahasis est un personnage de la mythologie mésopotamienne qui prévient les humains à chaque fois que les dieux leur envoie un fléau.

Références bibliographiques
https://www.ipcc.ch/languages-2/francais/

Technologies
java; android; json; rest

Contraintes:
Rendez-vous un soir en semaine, entre 17h30 et 20h30.

Mots-clés
réchauffement climatique; Android; base de données

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Non

Sujet L3J - Modélisation de foule par un système multi-agents

Nom de l encadrant : Bonin Mathilde, Ioana Ileana
Mail de l'encadrant :

Catégorie(s): app. scientifique, intelligence artificielle, open-source

Contexte
La simulation de foule est le procédé de simulation du mouvement d'un grand nombre de personnages, appelés agents ou entités. Elle est fréquemment employée en animation par ordinateur pour la réalisation de films ou de jeux vidéo. Elle est également utilisée pour la formation à des situations de crise, la simulation des évacuations, les études de sécurité lors de la construction de bâtiments ou de l’organisation d’événements. Elle intervient aussi pour le design d'architecture et la planification urbaine, afin d’améliorer la qualité de service offert aux usagers. [Wikipedia] Nous vous proposons une introduction dans ce sujet de recherche aux nombreuses applications, et sur lequel de nombreux labos se penchent en France comme à l'étranger (Inria, Université d'Utrecht…)

Objectifs :
Proposer un modèle de simulation de foule en utilisant l'outil de simulation de systèmes multi-agent NetLogo. Plusieurs scénarios seront envisagés. L'utilisateur final du modèle devra être capable de modifier les paramètres des simulations, y compris combiner les scénarios (ex: une évacuation dans une salle de concert avec mouvement de foule). Les comportements des agents devront être justifiés, notamment en s'appuyant sur des articles scientifiques publiés sur le sujet. La documentation (y compris les descriptions internes à NetLogo) sera particulièrement soignée afin de permettre le partage des modèles créés avec le reste de la communauté scientifique.

Références bibliographiques
n/a

Technologies
NetLogo

Mots-clés
foules, recherche, exploration

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

Positionnement
Activité principale : Exploration
Niveau d'abstraction : Théorique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Oui

Sujet L3K - Projet e-shop

Nom de l'encadrant : Alaa Dandan
Mail de l'encadrant :

Catégorie(s): app. gestion

Contexte
Le but de ce projet est de mettre en place un marketplace pour référencer les produits et permettre de réserver ou d'acheter des produits en ligne.

Objectifs :
Ce maketplace doit permettre à un ou plusieurs comercants de vendre ses produits à travers une interface web dédiée. Un service de paiement en ligne paypal est demandé. Une grande modularité coté back-office doit être pensée pour que le commerçant puissent modifier les fonctions de vente de son site en fonction de ces stocks, des moyens de paiements à utiliser, des articles mis en avant, etc.

Références bibliographiques
n/a

Technologies
* Développement en micro-service java * Front-end libre * BDD postgresql * Devops Jenkins + dépot SVN * Metrics des serveurs

Contraintes:
Encadrement après 18h et le samedi

Mots-clés
API java

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Élémentaire
Interactions logicielles : Complexe

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Non

Sujet L3L - Logiciel gestion commerciale

Nom de l encadrant : AHRAS Yanis
Mail de l'encadrant :

Catégorie(s): app. gestion

Contexte
Notre entreprise est spécialisée dans la fabrication et la revente de feraillage en fer à béton pour les bâtiments. Nous sommes particulièrement connus pour nos cadres en fer à béton, qui constituent notre coeur de métier. Nous produisons chaque jour des milliers de pièces de différents types et vendons nos produits à une large gamme de clients, allant des particuliers aux entreprises. Le fer à béton brut est notre matière première, dont le prix varie fréquemment. Nous sommes une entreprise dynamique et fière de proposer des produits de qualité à nos clients.

Objectifs :
Notre entreprise souhaite développer une application de bureau qui permettra à nos commerciaux de mieux gérer notre stock en leur offrant une vue en temps réel de notre consommation et de notre production, ainsi que des alertes de fin de stock. Cette application devra également leur permettre de créer des bons de commande et des factures pour les clients, de suivre les clients et les fournisseurs, et de calculer le prix de chaque produit en utilisant des formules mathématiques fournies par le PO. Nous attendons de cette application qu'elle soit facile à utiliser et efficace pour aider nos commerciaux dans leur travail quotidien.

Technologies
Python, mysql, django, C++

Contraintes:
Réunions seront en fin de journée

Mots-clés
gestion de stock, suivi client

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Oui

Sujet L3M - Big Data Application

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

Catégorie(s): app. autonome

Contexte
Selon Wikipedia, Big data, littéralement les « grosses données », ou mégadonnées , parfois appelées données massives , désignent des ensembles de données qui deviennent tellement volumineux qu'ils en deviennent difficiles à travailler avec des outils classiques de gestion de base de données ou de gestion de l'information .

D’où provient cette masse de données ?

Les systèmes traditionnels, contenant les données structurés, appelées les SGBDR, stockent des données de plus en plus volumineuses.

  1. Ils gardent de plus en plus de données historiques.
  2. Les logiciels sont de plus en plus nombreux, à part les logiciels dédiés aux entreprises, les sites internet et/ou des logiciels grand public tel que Youtube,Facebook, Twiter contribuent à cette explosion de données
  3. Les bases de données contiennent les données de plus en plus détaillées.

Par exemple les systèmes de facturations des téléphones portables stockent les informations sur la géo-localisation avec l'apparition des smartphones

La croissance des données non-structurées est également présente:

Par exemple, pour développer le logiciel X un groupe de Y développeurs à travaillé sur Z ordinateurs et a échangé N mails, et a écrit M documents qui accompagnent le logiciel. Le logiciel en question produit aussi une quantité importante de traces applicatives, indiquant le nombre de connexions, le nombre d'actions (lectures, mises à jour) etc. Ces données (e-mails, documents, traces) sont potentiellement intéressantes pour le management de l'entreprise.

Toutes ces données, structurées et non-structurées, publiques, données d’entreprise, sont en format électronique, donc, potentiellement exploitables par des logiciels.

Toutes ces données sont donc Big Data.

Les bases de données traditionnelles Oracle, SQL Server DB2 ont été conçues pour garantir l'accès concurrent aux données, l'aspect transactionnel des traitements, pour pouvoir accepter des centaines de sessions utilisateurs, pour fournir des métriques précises sur l'utilisation du système au niveau de processeur, mémoire, réseau.

Ces bases de données sont donc plus lentes en terme de consultation de données massives et non structurées.

Des nouvelles technologies comme Hadoop sont orientées plus vers la consultation des données, traitement massif des données, structurées ou non structurés.

Hadoop implémente la technologie du sharding, qui distribue le travail sur plusieurs nœuds et permet de cette façon de traiter une masse de données importante. Les outils qui accompagnent Hadoop sont Hive, Hbase, Spark…

Dans le contexte de notre projet, nous allons travailler sur le développement d'un nouveau logiciel orientée Big Data, appelé Bayesian Database, qui va collectionner les données liées aux différentes applications d’une entreprise et les traiter via les méthodes Machine Learnng.

Outils de développement: JavaScript, HTML, CSS, React, Python, Flask,PostgreSQL, Hadoop,Hive (ou Cassandra), ScikitLearn pour la partie Machine Learning, Networkx pour la partie Réseaux Bayésiens.

Objectifs :
La suite du développement de l'année dernière

Références bibliographiques
n/a

Technologies
Python,Scikit-Learn, Networkx,React

Contraintes:
Les réunions après 18h

Mots-clés
Big Data, Intelligence artificielle

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

Positionnement
Activité principale : Intégration
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Complexe

Documentation
Spécifications fonctionnelles : Oui
Technologies documentées : Oui

Sujet L3N - Bokashi

Nom de l encadrant : Vallet Olivier
Mail de l'encadrant :

Catégorie(s): startup

Contexte
Une association créée dans le Vercors pour la valorisation des biodéchets veut créer un outil de gestion informatique de son activité. la forte croissance de cette activité pousse actuellement les membres de l'association a transformer l'organisation en société coopérative. Le nom du projet, Bokashi fait référence à la méthode de transformation des déchets utilisée à l'aide de bactéries anaérobies

Objectifs :
Création d'un outil de gestion des biodéchets selon les normes et règlements en vigueur avec plusieurs niveaux d'accès selon différents profils.

Tracer les produits en fonction de leurs niveaux de maturation. Créer une base de connaissance des historiques d’observations et des mesures afin d’optimiser la transformation du biodéchets en Terreau et en engrais bio

L'application multiplateforme (site internet) sera également une vitrine sur les réseaux sociaux et sur le net pour promouvoir l'activité de l'organisation, pour faciliter le partage de connaissances, pour sensibiliser et éduquer le plus grand nombre au tri à la source des biodéchets.

Références bibliographiques
voir l'article https://fr.wikipedia.org/wiki/Bokashi_(compostage_urbain)

Technologies
en fonction du service attendu

Contraintes:
Disponibilités en fin de journée après 17h

Mots-clés
n/a

Remarques
Le projet proposé est avec un véritable client
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Oui
Technologies documentées : Non

Sujet L3O - Boussole d'orientation 2

Nom de l encadrant : Vallet Olivier
Mail de l'encadrant :

Catégorie(s): smartphone

Contexte
La boussole d’orientation est un système de représentation d'une problématique de tous les points de vue qualitative et quantitative pouvant servir d'indicateur de progression et de performance des projets. Cette méthode à été créée et utilisée par Jean-Claude Gimet au sein de son cabinet conseil AX1 puis transmise et reprise au sein du cabinet DadaMind.

Une application Iphone avait été publié il y a quelques années puis retirée du marché

Objectifs :
Avoir une application multiplateforme pour :

- Aider les consultants à construire une boussole avec leurs clients

- Publier les boussoles à l'attention des clients de façon sécurisée pour qu'ils utilisent cet outil dans le cadre de leurs projets

- avoir une vitrine pour promouvoir la méthode Boussole avec des boussoles sur des problématiques générales accessibles au grand public

- publier des indicateurs privés de progression à partir de l'utilisation de la boussole sur une projet client ou à partir d'utilisation de boussoles génériques pour le grand public.


Références bibliographiques
https://ax1-eqds.blogspot.com/2010/12/jean-claude-gimet.html

Technologies
Flutter

Contraintes:
Disponibilités en fin de journée après 17h

Mots-clés
n/a

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Oui
Technologies documentées : Oui

Sujet L3P - Quantique

Nom de l encadrant : Willy Regonne
Mail de l'encadrant :

Catégorie(s): informatique quantique

Contexte
A mesure que les moyens informatiques dédiés se développent, la programmation quantique est un champ disciplinaire qui se développe et qui devient accessible à tous. Les calculs hautes performances constituent un des enjeux actuels des industries (énergétiques, cybernétique,…)

Objectifs :
Au travers d'un cloud provider américain, il est possible d'avoir accès à plusieurs clusters quantiques de technologies différentes. L'objectif de ce projet est de comparer à travers une série d'algorithmes spécifiques à écrire, les performances entre un ordinateur quantique et un ordinateur classique.

Références bibliographiques
n/a

Technologies
Informatique quantique

Contraintes:
Disponibilités en fin de journée

Mots-clés
n/a

Sujet L3Q - Outil d'augmentation de la donnée

Nom de l encadrant : El Debs Elie
Mail de l'encadrant :

Catégorie(s): app. scientifique, découverte/initiation, intelligence artificielle, site web

Contexte
L'utilisation du Machine Learning / Deep Learning ne fait que croître de jours en jours. Cette discipline de l'informatique révolutionne aujourd'hui plusieurs secteurs d'activités comme l’aéronautique, le médical, la vision …

Ces méthodes sont basées sur le principe d'apprentissage machine. Ce principe utilise des jeux de données considérablement grand pour obtenir des résultats convenable (parfois des centaines de milliers de données). Il arrive dans certains cas que le jeu de données ne soit pas suffisant pour l'obtention de résultat satisfaisant. Dans ce cas, des méthodes d'augmentation de la donnée existe afin d'étendre le nombre de donnée disponible.

Objectifs :
L'objectif de ce projet est d'identifier les différentes méthodes d'augmentation de la donnée et de mettre en place une application web permettant d'appliquer ces méthodes sur un jeu de données fourni par l'utilisateur.

Nous pouvons dans un premier temps nous concentrer sur des données visuelles tels que des images.

Références bibliographiques
n/a

Technologies
Python, TensorFlow, Flask, HTML / CSS / Javascript

Contraintes:
Rendez-vous après après 17h30.

Mots-clés
Data Augmentation, Deep Learning, Python

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

Positionnement
Activité principale : Exploration
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Non

Sujet L3R - Programmation d'un assistant geoguessr

Nom de l encadrant : Sylvain Armand
Mail de l'encadrant :

Catégorie(s): open-source

Contexte
Geoguessr est un jeu en ligne dont le but est de deviner la géolocalisation d’une photo prise, le joueur se voit attribué un score en fonction de la proximité devinée avec la vraie géolocalisation de la photo. Plusieurs stratégies et méthodes permettent de maximiser son score, et certaines peuvent être automatisées.

Le but du projet est de programmer pour une photo quelconque des méthodes permettant de donner un maximum d’indices sur la vraie géolocalisation de la photo, par exemple:

* OCR avec détection d’alphabet * Détection d’objets avec YOLO

À cela peuvent s’ajouter d’autres stratégies propres à geoguessr, des approches statistiques, etc.

Objectifs :
Idéalement, les différentes méthodes donnant des indices sur la potentielle géolocalisation permettent de générer automatiquement une requête OpenStreetMap Overpass afin de récupérer des géolocalisations candidates pour maximiser le score.

Le programme devra être en mesure de sauvegarder les différentes requêtes faites et d’offrir des statistiques sur la pertinence des résultats.

Références bibliographiques
YOLOv4: https://arxiv.org/abs/2004.10934 OpenStreetMap: https://www.openstreetmap.org Overpass: https://wiki.openstreetmap.org/wiki/Overpass_API Geoguessr strategies: https://github.com/fabiencelier/geoguessr-tips https://somerandomstuff1.wordpress.com/2019/02/08/geoguessr-the-top-tips-tricks-and-techniques/ https://github.com/Stelath/geoguessr-ai

Technologies
Python, Linux, Docker

Contraintes:
En faire un projet open source

Mots-clés
Python, Tesseract OCR, YOLOv4, openstreetmap, overpass

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Avancé
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Oui
Technologies documentées : Oui

Sujet L3S - Création d'un bot Discord qui utilise des techniques avancées de traitement du langage naturel.

Nom de l encadrant : Deveaux Benoit, Ioana Ileana
Mail de l'encadrant :

Catégorie(s): intelligence artificielle

Contexte
En tant que plateforme de discussion comprenant un très grand nombre d’utilisateurs et une grande variété de conversations, Discord fournit un environnement idéal pour l’application des techniques de traitement du langage naturel (NLP – Natural Language Processing), notamment des approches récentes comme les modèles de langage de type Transformer, le fine-tuning et le few-shot learning. Important / pré-requis : Pour mener à bien ce projet, il est très souhaitable de posséder des connaissances préalables sur les techniques classiques aussi bien que récentes de NLP, ainsi que sur les concepts de base du Machine Learning / Deep Learning, notamment les techniques d’apprentissage. Vous devez également être à l’aise avec la programmation en Python. Une expérience de programmation et de déploiement d’un bot Discord est fortement recommandée.

Objectifs :
Ce projet vise la création d’un bot Discord capable d’interagir avec les utilisateurs en utilisant des techniques avancées de NLP ([1]-[7]). Le bot aura également un ensemble de fonctionnalités spécifiques aux discussions de groupe. Plus particulièrement, le bot devrait pouvoir réaliser tout ou partie des fonctionnalités suivantes :

  • comprendre et répondre à une variété de messages utilisateur, y compris des commandes simples et des requêtes plus complexes
  • identifier l'intention / l’émotion derrière les messages des utilisateurs et générer des réponses et réactions appropriés
  • modérer les discussions de groupe en identifiant et en signalant le contenu inapproprié
  • résumer les discussions de groupe
  • analyser le degré de polarisation du groupe en identifiant les points de vue conflictuels et en mesurant le degré de désaccord
  • exploiter (avec le consentement des participants aux discussions) les contenus des conversations auxquelles il a participé pour améliorer son apprentissage.

Le bot devra utiliser l’API Discord, être hébergé (pour assurer son fonctionnement sans interruption) et également être déployé / déployable sur des serveurs Discord comprenant potentiellement un grand nombre d’utilisateurs. Le bot pourra intégrer des APIs ou bases de données ou de connaissances externes pour fournir des informations et des fonctionnalités supplémentaires. D’autres capacités en lien avec le NLP sont également envisageables, en fonction des souhaits des participants au projet.

Références bibliographiques
[1] Attention is All You Need, de Vaswani et al. (2017)
[2] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, de Devlin et al. (2018)
[3] Language Models are Unsupervised Multitask Learners, de Radford et al . (2018)
[4] GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding, de Wang et al. (2018)
[5] Language Models are Few-Shot Learners, de Brown et al. (2020)
[6] Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer, de Raffel et al. (2020)
[7] PaLM: Scaling Language Modeling with Pathways, de Chowdhery et al. (2022)

Technologies
Python, NLP, API Discord

Contraintes:
Voir prérequis

Mots-clés
n/a

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

Positionnement
Activité principale : Exploration
Niveau d'abstraction : Théorique
Difficulté des algorithmes : Expert
Interactions logicielles : Complexe

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Oui

Sujet L3T - AURA - Le guide de l'Architecture contemporaine

Nom de l encadrant : REA Julia
Mail de l'encadrant :

Catégorie(s): app. autonome

Contexte
Vous devrez poursuivre une application mobile existante nommée Aura, développée sous Flutter. L’application est un guide d’architecture contemporaine, organisée autour d’une carte urbaine (Paris). Des marqueurs sur la carte indiquent les édifices à découvrir, et proposent des articles à leur sujet qui peuvent être écoutés, à la manière d'un guide audio dans un musée. Les fonctionnalités existantes :

  • Compte utilisateur
  • Géolocalisation de l'utilisateur sur la carte
  • Publication de commentaires
  • Lecture des fichiers audios
  • Fonction recherche par mots-clé avec définitions
  • Liste de favoris
  • Notifications


Objectifs :
Vous devrez dans un premier temps étudier/observer ce qui existe déjà dans l’application, et comprendre comment elle a été « construite ». Proposition de tâches à accomplir (liste non exhaustive) :

  • Améliorer la maintenabilité du projet pour la poursuite du développement
  • Inscrire le nom des rues sur la carte
  • Améliorer le système de notifications
  • Mise en place de photos libre de droit sur les marqueurs
  • Développement de la liste de favoris : possibilité de plusieurs listes de favoris
  • Eviter de surcharger l'application
  • Voir si possibilité d'obtenir une carte 3D

Références bibliographiques
Trip Advisor, Cityscoot, Archmaps, Mapstr, CityMapper

Technologies
n/a

Contraintes:
Rendez-vous à partir de 18h en semaine et les week-ends

Mots-clés
Architecture, Paris, Réalité augmentée, Culture, Guide audio, Parcours urbain

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

Positionnement
Activité principale : Programmation
Niveau d'abstraction : Pratique
Difficulté des algorithmes : Élémentaire
Interactions logicielles : Simple

Documentation
Spécifications fonctionnelles : Non
Technologies documentées : Non

Sujet L3U - Editeur graphique de réseaux neuronaux profonds

Encadrant :
Mail de l'encadrant :

Catégorie(s): application scientifique, open-source

Contexte:
Depuis les début de l'informatique, une partie de l'intelligence artificielle suit une approche bio-inspirée pour développer de nouveaux outils. C'est par exemple le cas avec les réseaux de neurones artificiels, qui s'inspirent du fonctionnement du cerveau.

Dans ce domaine, les succès étaient relativement modestes mais ces dernières années, les réseaux neuronaux profonds (deep learning) sont en train de révolutionner des pans entiers de l'apprentissage automatique (machine learning) et de l'intelligence artificielle. De nombreux exemples d'applications basées sur cette approche en analyse d'image, traitement automatique des langues, traduction automatique, … sont spectaculaires.

Pour chaque application, les chercheurs et les ingénieurs ont conçus de nouvelles architectures de neurones artificiels, d'organisation de couches ou de réseaux. Chaque nouveauté introduisant de nouvelles possibilités.

Dans ce cadre, on souhaite développer un éditeur dont l'objectif est de permettre la création rapide de réseaux de neurones et la génération automatique du code source correspondant en ciblant des librairies existantes largement utilisées par la communauté. Le paradigme de programmation envisagé pour cet outil est la programmation visuelle afin de lier rapidement les différents composants disponibles pour créer de nouveaux réseaux neuronaux.

Objectifs:

Le travail a réaliser au cours de ce projet consiste à :

  • étudier les différentes architectures de neurones et de réseaux neuronaux proposées par les librairies ciblées
  • étudier les différentes spécificités des librairies ciblées afin de trouver le dénominateur commun.
  • spécifier les composants graphiques à mettre en oeuvre
  • créer l'éditeur et le générateur de code source.
  • tester les réseaux neuronaux ainsi créés et les performances du code source généré.

Contraintes:

  • Pour tester, le code générer il serait souhaitable de disposer d'une machine avec un GPU nVidia compatible avec les dernières version de CUDA.

Mots-clés:
Intelligence artificielle, machine learning, deep learning, réseaux de neurones profonds, GPGPU

Langages :

  • Python, Lua, Javascript

Remarque

  • La réussite de ce projet peut mener à un stage

Sujet L3V : Framework de géolocalisation précise

Encadrant :
Mail de l'encadrant :

Catégorie(s): Smartphone

Objectif :

L'objectif de ce projet est de développer une application pour smartphone permettant de connaître précisément sa position , y compris à l'intérieur d'un bâtiment et d'un tunnel lorsque le signal GPS est insuffisant pour obtenir une position.

Travail à effectuer :
Le framework développé devra être utilisé dans une application de navigation sur une carte différents types de cartes. Les cartes utilisées par le framework doivent pouvoir être interchangeables : OpenStreetMap (open-source), Google Maps, Yahoo Maps, …

Langages/technologies à utiliser

  • Java/XML (android) ou Obective C/C++(iOS), REST, JSON, PostgreSQL, GPS

Contraintes :

Posséder au moins un smartphone dans le groupe (iOS ou android).
Ce framework doit pouvoir être utiliser par d'autres projets.

Sujet L3W : Librairie de calcul haute-performance pour séries temporelles sur GPGPU

Encadrant :
Mail de l'encadrant :

Catégorie(s): application scientifique, open-source

Contexte:
Depuis quelques années, les processeurs graphiques (Graphics Processing Unit - GPU) sont utilisés pour réaliser des calculs scientifiques. En effet pour les traitements pouvant être parallélisés, les GPU sont 10 à 40 fois plus rapides que les processeurs centraux (Central Processing Unit - CPU). L'utilisation d'un GPU afin de réaliser des traitements autres qu'un simple affichage vidéo est appelée en anglais General-Purposed Processing on Graphics Processing Units (GPGPU)

Les 2 constructeurs de cartes graphiques (Nvidia et ATI/AMD) utilisaient chacun leur langage de programmation (CUDA et Stream) jusqu'à ce qu'ils adoptent la norme OpenCL. Dans les implémentations actuelles, il s'agit d'un ensemble de fonctions utilisables en C.

Les séries temporelles sont des suites de valeurs numériques organisées de manière temporelle. Il s'agit d'un outil de modélisation basé sur des statistiques essentiellement utilisé pour décrire temporel des phénomènes économétriques comme les cours de la bourse, mais il peut aussi servir pour la météorologie. Cet outil permet d'analyser un phénomène et vise à prévoir ses évolutions en fonction de son évolution passée.

Objectifs:

L'objectif de ce projet est de développer une librairie logicielle en OpenCL qui permette l'utilisation de la puissance de calcul d'une carte graphique afin de traiter efficacement des séries temporelles. D'autres algorithmes plus complexes pourraient aussi être implémentés en fonction du niveau en mathématiques des membres du groupe.

Mots-clés:

  • OpenCL, GPGPU, calcul haute performance, séries temporelles

Remarque

  • La réussite de ce projet peut mener à un stage

Sujet L3X : Perfect Melody

Encadrant :
Mail de l'encadrant :

Categorie(s): Application musicale, Smartphone

Objectif :
L'objectif de ce projet est de développer une application qui détermine une partition à partir d'une mélodie chantée par l'utilisateur. Dans un deuxième temps, l'application pourrait proposer l'instrument le plus adapté pour jouer cette partition. Idéalement cette application sera multi-plateforme (PC, tablette, smartphone). Afin de permettre un maximum d'interopérabilité, l'application devra être capable de produire un fichier midi correspondant à la partition.

Langages/technologies à utiliser

  • Python (PC), React Native (Smartphone), MIDI

Contraintes :

Dans le cas d'une application sur smartphone, il faut posséder au moins un smartphone dans le groupe (iOS ou android).
L'architecture de l'application doit permettre une intégration des fonctionnalités de base dans d'autres projets.


Sujet L3Y: Distance

Encadrant :
Mail de l'encadrant :

Categorie(s): Application web, startup

Objectif :
L'objectif de ce projet est de développer une application qui représente visuellement les distances temporelles entre tous les points d'une carte en fonction des différents mode de transport à disposition : pieds, vélo, voiture, transports en commun, etc. Pour cela, il faudra utiliser des données Open Data pour les transports en communs, mais aussi estimer les distances en voitures ou à pieds en utilisant les algorithmes de recherche de chemin issus de l'Intelligence Artificielle et utilisés par tous les sites de planification de trajet (Mappy, Google Maps, Plans, etc…)

Langage(s) et technologie(s)

  • A déterminer

Contraintes :


Sujet L3Z: Robot Pepper

Encadrant :
Mail de l'encadrant :

Categorie(s): Robotique

Contexte:
L'UFR de Mathématiques de l'Université de Paris vient d'acquérir un robot Pepper

Objectif:
Créer une application interactive de d'assistance à la personne, à l'accueil ou à l'orientation. L'objectif est d'utiliser au mieux les capacités du robot.

Langages/technologies à utiliser

  • Robotique, Intelligence artificielle

Contraintes :



Sujet L3AA: Robocup Nao

Encadrant :
Mail de l'encadrant :

Categorie(s): Robotique

Contexte:
La Robocup existe depuis 19987 il s'agit d'une des plus grandes compétitions de robotique et d'intelligence artificielle du monde. Elle regroupe 3500 personnes et 3000 robots issus de 45 pays différents. L'UFR de Mathématiques de l'Université de Paris vient d'acquérir des robots Nao pour participer à la ligue football de la [https://www.robocup.fr/|Robocup]]. Comme pour les humains, au cours du match, deux équipes de robots autonomes et collaboratifs doivent élaborer des stratégies dynamiques pour gagner le match. Le robot Nao est utilisée pour la ligue Plateforme Standard.

En 2021, la compétition aura lieu à Bordeaux (si la pandémie le permet)

Objectif:
Programmer les robots Nao pour participer et gagner la compétition.

Langages/technologies à utiliser

  • Robotique, Intelligence artificielle

Contraintes :



Sujet L3AB: Secure NetDrive

Encadrant :
Mail de l'encadrant :

Categorie(s) : application, sécurité

Contexte:

L'objectif de ce projet est de développer un système de fichiers virtuel dont les données sont stockées en ligne de manière encryptée et sécurisée.

Objectifs :

Réaliser un module FUSE qui implémente les différents mécanismes de sécurisation, de cryptage et de distribution L'interface utilisateur du programme de paramétrage devra être simple à utiliser.

Langage(s) et technologie(s) :

  • C, Python

Sujet L3AC: Blockchain explorer

Encadrant :
Mail de l'encadrant :

Catégorie(s): Site web

Présentation du sujet
La blockchain est au coeur des crypto-monnaies; il s'agit d'un registre des transactions sécurisé.

L'objectif de ce projet est de réaliser un site web qui permette de:

  • Afficher l'ensemble des transactions des principales cryptomonnaies à partir de leur blockchain.
  • Calculer et présenter des statistiques sur les échanges, les propriétaires et les montants des transactions
  • Développer une API pour accéder aux données

Langage(s) et technologie(s):

  • Python

Mot(s)-clé(s):

  • Crypto-monnaie, blockchain, altcoin, bitcoin, ethereum

Référence(s) :

Contrainte(s) :


Sujet L3AD: Historique des cryptomonnaies

Encadrant :
Mail de l'encadrant :

Catégorie(s): Site web

Présentation du sujet
Les crypto-monnaies gagnent en notoriété et pour suivre leur évolution il peut être utile d'avoir un site qui présente l'évolution des valeurs des différentes crypto-monnaies et de leurs taux de conversion.

A partir des données en libre accès, l'objectif de ce projet est de réaliser un site web qui permette de:

  • Afficher l'historique des cours des différentes crypto-monnaies
  • Calculer et afficher les principaux indicateurs utilisés en analyse technique
  • Simuler un porte-feuille d'actifs
  • Développer une API pour accéder aux données

Langage(s) et technologie(s):

  • Python

Mot(s)-clé(s):

  • Crypto-monnaie, altcoin, bitcoin, ethereum

Référence(s) :

Contrainte(s) :


Sujet L3AE: Main artificielle

Encadrant :
Mail de l'encadrant :

Catégorie(s): robotique

Présentation du sujet
L'objectif de ce projet est de réaliser et de programmer une main artificielle afin que ses mouvements aient l'air naturels. La main sera imprimée en 3D, il faudra assembler les différentes pièces ainsi que les servo-moteurs et l'électronique.

Pour la programmation des mouvements de la main, on testera différents algorithmes afin de permettre leur comparaison.

Langage(s) et technologie(s):

  • A déterminer

Mot(s)-clé(s):

Référence(s) :

Contrainte(s) :


Sujet L3AF: Best or better

Encadrant :
Mail de l'encadrant :

Catégorie(s): smartphone

Présentation du sujet
L'objectif de ce projet est de réaliser une application sur smartphone qui permette la comparaison deux à deux des éléments d'une liste afin de réaliser un classement des éléments préférés des utilisateurs. Ces éléments sont caractérisés par une fiche multimédia pouvant contenir un texte, une image, un fichier sonore, une vidéo.

Par exemple, on pourrait comparer les morceaux de musique d'une liste pour établir le meilleur morceau ou les morceaux préférés. On pourrait également comparer des tableaux pour établir le peintre préféré des utilisateurs.

Langage(s) et technologie(s):

  • React Native

Mot(s)-clé(s):

Référence(s) :

Contrainte(s) :


Sujet L3AG: Plugin navigateur web : Détection thématique et archivage

Encadrant :
Mail de l'encadrant :

Catégorie(s): framework

Présentation du sujet
L'objectif de ce projet est de réaliser un plugin pour firefox et pour chrome qui permet d'identifier les thèmes abordés dans une page web afin d'en faciliter la classification et l'archivage.

Langage(s) et technologie(s):

  • Firefox, Chrome, Webextensions, Javascript

Mot(s)-clé(s): Détection thématique, TF/IDF, plugin Firefox

Référence(s) :

Contrainte(s) :


Sujet L3AH: Sonocom

Encadrant :
Mail de l'encadrant :

Catégorie(s): smartphone

Présentation du sujet

L'objectif de ce projet est de permettre la transmission de fichiers entre deux smartphones en utilisant des ondes sonores (c'est dire : sans bluetooth ni WIFI) à l'image de ce que réalisait les modems sur réseau téléphonique commuté avant l'arrivée de l'ADSL.

Langage(s) et technologie(s):

  • React Native

Mot(s)-clé(s):

Référence(s) :

Contrainte(s) :


Sujet L3AI : Site de financement participatif

Encadrant :
Mail de l'encadrant :

Catégorie(s): site web

Objectif:

L'objectif de ce projet est de développer un site web permettant à un porteur de projet de présenter son projet à une communauté afin de lever des fonds pour sa réalisation.

Description:
Chaque projet peut ainsi proposer des informations, permettre à la communauté de faire des propositions d'amélioration, informer la communauté de l'avancement du projet. La participation au financement de ce type de projet peut se faire avec ou sans contre-partie car il peut s'agir d'un projet humanitaire, d'un projet musical ou un projet logiciel. Ainsi, les projets peuvent être ouverts et libres de droit ou uniquement accessibles à des personnes ayant été invitées.

Pour faciliter la diffusion des informations, il est évidemment nécessaire de connecter ces communautés aux réseaux sociaux.

Sur le site, l'échange d'informations avec la communauté pourra être soit synchrone via un chat soit asynchrone via un tableau noir (cf le wall de facebook); sur le site web et les réseaux sociaux.

Langages et technologies à utiliser

  • Symfony, ORM, PHP5 , HTML5, CSS3

Sujet L3AJ : Entr'aide 2.0

Encadrant :
Mail de l'encadrant :

Categorie(s) : Site web, startup

Contexte:

L'objectif de ce projet est de développer une application permettant la création et l'animation de communautés d'entraide basées sur l'échange de compétences. Cette application doit être facile d'accès et multiplateforme : web, tablette, smartphone.

Objectif :

Réaliser une application permettant à l'utilisateur :

  • de saisir ses compétences
  • de chercher un échange de compétences

Langage(s) et technologie(s) :

  • PHP, HTML5, CSS
  • Framework : Symfony ou Phalcon

Sujet L3AK : Minify

Encadrant :
Mail de l'encadrant :

Categorie(s) : Site web

Contexte:

La curation de contenu est une activité de veille qui consiste à collecter, structurer et à commenter des contenus perçus comme étant pertinents pour un thème donné. La curation est utilisée par des sites web, des bloggeurs ou des entreprises qui souhaitent diffuser ou partager une information de qualité en rendant certains contenus plus accessibles.

Les entreprises se servent d'outils de curation pour leur veille technologique ou veille concurrentielle, les bloggeurs pour déterminer les tendances, etc… La curation est une activité de veille qui consiste à collecter, structurer et à commenter des flux d'informations autour de certains thèmes afin de reformuler l'information et de dégager des tendances. Cette activité est largement utilisée par les entreprises pour déterminer les évolutions technologiques, économiques et culturelles, les influenceurs du net

Objectifs:

L'objectif de ce projet est de développer un site web permettant de :

  • réaliser une curation de contenus,
  • présenter la curation (en réalisant des miniatures)
  • commenter les ressources sélectionner
  • échanger avec les internautes autour des différentes curations
  • archiver les ressources web.

Mots-clés:

  • Curation, collecte d'information, scrapping, veille

Langage(s) et technologie(s) :

  • PHP, HTML5, CSS
  • Framework : Symfony ou Phalcon
  • API REST

Sujet L3AL : Comparateur de prix

Encadrant :
Mail de l'encadrant :

Catégorie(s): Smartphone, web

Contexte:
Dans notre vie quotidienne, la plupart des produits de la vie courante sont étiquetés à l'aide de code-barres. Un magasin détermine la correspondance entre la signalétique du code-barre et le prix du produit, le code-barre étant scanné quand nous passons en caisse. Le projet proposé devra permettre de développer une application logicielle permettant à un utilisateur de smartphone de rentrer cette correspondance au sein de son téléphone et également lui proposer différents moyens de visualiser l'évolution des coûts d'un magasin à un autre et au sein du même magasin sur une période donnée.

Objectifs:

  • Permettre la capture d'un code-barre par le smartphone
  • Créer une base de données qui s'enrichit par la capture de ces code-barres
  • Utiliser la géolocalisation déjà présente dans le smartphone pour permettre l'entrée par l'utulisateur du nom du magasin où se trouve ce code-barre
  • Permettre la comparaison de prix d'un meme code-barre de façon graphique dans différents magasins mais également la visualisation de l'évolution du prix du produit correspondant au sein du même magasin.

Contraintes:
Posséder un smartphone dans le groupe (iOS ou android)

Remarques:
Le projet se basera sur des réalisations antérieures

Mots-clés:

  • Smartphone, comparateur de prix, code barre, géolocalisation, base de données

Langages/technologies à utiliser

  • Java/XML (android) ou Obective C/C++(iOS), REST, JSON, PostgreSQL

Remarque

Sujet L3AM : PariSport

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

Catégorie(s): site web

Présentation du sujet
L'objectif de ce projet est de réaliser un site web qui permette de réaliser des paris sportifs.

Travail à réaliser :
Le site web devra permettre de :

  • gérer un compte utilisateur
  • gérer les paiements en ligne et le retrait des gains
  • calculer les cotes sportives
  • présenter les statistiques de gain d'un utilisateur et son historique
  • afficher les résultats des rencontres sportives
  • commenter les rencontres dans des forums spécialisés
  • permettre aux utilisateurs d'échanger leurs conseils et leurs points de vue
  • administrer le site

Langage(s) et technologie(s):

  • A déterminer

Mot(s)-clé(s):

Référence(s) :

Contrainte(s) :


Sujet L3AN : Génération automatique de paysages en 3D

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

Catégorie(s): application

Présentation du sujet
Les paysages 3D générés automatiquement sont utilisés dans de nombreux jeux vidéos ou films d'animation. L'objectif de ce projet est d'implémenter des algorithmes de génération de paysages et 3D et de permettre leur visualisation.

Langage(s) et technologie(s):

  • A déterminer

Mot(s)-clé(s):

Référence(s) :

Contrainte(s) :


Sujet L3AO : Application mobile de Covoiturage

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

Catégorie(s): smartphone

Objectifs:
En pensant aux nombreux épisodes de grèves de transport en France, on peut se poser la question de savoir comment organiser et développer le Covoiturage. L’objectif est d’une part de faciliter la mobilité des usagers pendant ces périodes, d’autre part de fluidifier le trafic et d’évier ainsi les embouteillages.

Travail à réaliser:

Il s’agit d’analyser, de concevoir et d’implémenter une application en Java Mobile, qui propose un certain nombre de fonctionnalité autour du Covoiturage. Cette application pourra s’appuyer sur la géolocalisation, pour permettre à un usager/voyageur intéressé, de trouver un moyen de transport (voiture, moto,…) en fonction de sa localisation.

Les fonctionnalités seront détaillées lors de la phase de conception avec les étudiants

Langages :

  • Java/Android, Framework de Géolocalisation
  • API REST

Mots-clés:

  • Covoiturage, géolocalisation, application mobile

Sujet L3AP : Développement d'un environnement virtuel test pour des robots Lego Mindstorm ramasseurs de balles

Nom de l'encadrant: Michel Soto
Mail de l'encadrant :

Catégorie(s): application, robotique, 3D

Présentation du sujet

L'utilisation des robots pose parfois un problème d'accessibilité. L'objectif de ce projet est de réaliser un environnement virtuel en 3D dans lequel les utilisateurs pourront tester leurs robots avant de les tester dans la réalité.

Les robots à simuler sont des ramasseurs de balles. L'environnement dans lequel ils évolueront correspondra au terrain de jeu sur lequel se trouve des palets.

Langage(s) et technologie(s):

  • Moteur 3D

Mot(s)-clé(s):

  • Robotique, Simulation numérique, 3D

Référence(s) :

Contrainte(s) :


Sujet L3AQ : Robot-racer

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

Catégorie(s): robotique

Présentation du sujet
L'UFR vient de se doter de mini-véhicules robotisés. L'objectif de ce projet est de programmer ces véhicules pour :

  • rendre autonomes les véhicules sur une piste aux contours délimités.
  • faire des courses entre les différents véhicules en fonction de différents algorithmes et différentes implémentations.
  • documenter le travail réalisé et réaliser un tutoriel pour permettre à d'autres étudiants de l'UFR d'implémenter leurs propres algorithmes dès l'année prochaine

Langage(s) et technologie(s):

  • C

Mot(s)-clé(s):

  • robotique

Référence(s) :

Contrainte(s) :


Sujet L3AR : Thymio - cartographie

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

Catégorie(s): robotique

Présentation du sujet
L'UFR vient de se doter de robots Thymio.

L'objectif de ce projet est de programmer le robot thymio pour :

  • rendre autonomes le robot dans un environnement inconnu
  • cartographier l'environnement du robot
  • documenter le travail réalisé et réaliser un tutoriel pour permettre à d'autres étudiants de l'UFR d'implémenter leurs propres algorithmes d'exploration dès l'année prochaine

Langage(s) et technologie(s):

  • A déterminer

Mot(s)-clé(s):

Référence(s) :

Contrainte(s) :


Sujet L3AS : Cloud Computing

Encadrant :
Mail de l'encadrant :

Categorie(s): Site web, web service, intelligence artificielle, startup

Objectif :
L'objectif de ce projet est de développer un prototype de webservice qui permet d'utiliser des ressources de calculs déportées pour résoudre des problèmes d'intelligence artificielle.

Travail à réaliser :
Dans un premier temps, il faudra écrire les interfaces entre les programmes d'intelligence artificielle sélectionnés et le webservice consistant en une API RESTful afin de proposer ce service par un calcul déporté. Puis, dans un second temps, il faudra créer le site web permettant la gestion des comptes. Enfin, on réalisera les calculs sur des instances d'un service de cloud computing.

Sujet L3AT : Moteur de recherche avec intelligence artificielle

Encadrant : Francoise Enjolras & Olivier Grossat
Mail de l'encadrant :

Categorie(s):

Contexte :
Aujourd'hui pour infrastructure informatique de l'Union internationale des chemins de fer il est primordia de pouvoir effectuer des recherches sur l'intégralité des datas quel que soit les serveurs ou les sites web sur lesquels elles sont stockées.

Travail à réaliser :

Le système d'information de l'Union internationale des chemins de fer souhaite créer un moteur de recherche permettant d'agréger l'ensemble des fichiers contenus sur ces serveurs et sites web.

Pour ce faire il vous est proposé de réaliser un projet qui sera divisé en 3 étapes principales.

  • Trouver une solution technologique adaptable à l'ensemble des serveurs et sites internet.
    • Qui puisse utiliser des modules compatibles aux différents types de CMS
    • Avec un niveau de sécurité haut.
  • Trouver des solutions innovantes pour améliorer l'indexation des fichiers en utilisant par exemple une intelligence artificielle.
  • Réaliser un démonstrateur fonctionnel.
    • Possibilité de d'utiliser la technologie docker

Le démonstrateur permettra au service informatique d'analyser les atouts et les risques d'une telle solution afin de mieux anticiper cette future possibilité.

Les moteurs de recherche peuvent être élastique cherche, SolR ou autre. Le projet sera accompagné par les administrateurs réseaux ainsi que par les développeurs de l'Union internationale des chemins de fer pour répondre au mieux aux spécificités de notre infrastructure.

Mots-clés

  • Moteur de recherche, Serveur Linux, serveur Windows, base de données, serveur web, Intelligence artificielle, programmation web, programmation python

Contraintes :

Sujet L3AU : Luminaire WIFI multi-capteurs changeant de forme et de couleur

Encadrant : Olivier Grossat
Mail de l'encadrant :

Categorie(s): objets connectés, open-source

Travail à réaliser :
L'association DeltaLab gère un fablab faisant parti du projet campus connecté. Vous devrez développer le code pour un luminaire multi-capteurs en vous appuyant sur une carte Wemos D1 en Wifi et qui fonctionne avec une page web responsive design.

Ce dispositif rentre dans la catégorie objets connectés. Il s’agit d’un POC (Proof Of Concept). Le lustre et les cartes électroniques existe déjà.

La carte Wemos D1 est compatible WiFi et permet d'intégrer un site internet.

Le projet consiste à crée le code source pour la Wemos D1 réalisés en C++ pour y ajouter la couche réseau IP un site pour l'administration et la connexion Wifi ainsi que la gestion des capteurs.

Les capteurs du lustre sont :

  • Capteur de luminosité
  • Capteur sonore
  • Capteur de température
  • Capteur de pression atmosphérique
  • Capteur d'humidité

Le lustre pourra être ainsi paramétré pour réagir à la musique à la luminosité ou à la température en changeant de forme et de couleur Les mouvements du lustre seront opérés par l'intermédiaire d'un moteur pas-à-pas

Mots clés

  • Arduino, Wemos D1, C++, Web, WIFI, réseau IP

Remarque :

  • Possibilité de stage à l'issue du projet

Sujet L3AV : Station météo multi-capteurs IOT en WIFI et LORA Wan

Encadrant : Benjamin Loglisci & Olivier Grossat
Mail de l'encadrant :

Categorie(s): Objet connecté

Contexte :
Les associations Espace Maison Milon et DeltaLab font partie des Campus connectés.

Travail à réaliser :
Vous devrez développer le code pour une station météo multi-capteurs. Ce dispositif rentre dans la catégorie objets connectés IOT. Il s’agit d’un POC (Proof Of Concept)

Le projet consiste à intégrer le code source pour deux cartes la TGO et la Wemos D1 a réaliser en C++ pour y ajouter la couche réseau IP et MQTT et permettre la surveillance la détection la localisation et remontée d'alerte des capteurs.

Cette carte est compatible aux Wemos D1 en WiFi ou aux cartes TTGO avec le protocole Lora One

Vous utiliserez un serveur Node Red pour la remonter des alertes et l’enregistrement des événements héberger sur un serveur docker auquel vous pourrez accéder en VPN. Les capteurs que vous aurez à intégrés sont

  • Capteur d'humidité
  • Capteur de température
  • Capteur de pression atmosphérique
  • Capteur de foudre
  • Capteur de direction du vent
  • Capteur de vitesse du vent
  • Capteur de pluviométrie
  • Capteur de qualité de l'eau
  • Capteur de distance

Langages/technologies à utiliser

  • NodeRED MQTT Arduino C++ LORA Wan WIFI reseau IP

Remarque :

  • Poursuite d'un projet déjà existant
  • Possibilité de stage à l'issue du projet

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

projets/licence3/2021-2022.txt · Dernière modification : 2023/12/15 16:48 de David Janiszek

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki