Encadrant : Alaa Dandan
Catégorie(s): app. autonome, sécurité, web-service
Contexte
La sécurité des serveurs informatiques est une préoccupation majeure dans un monde numérique de plus en plus interconnecté. Les vulnérabilités des serveurs représentent des failles potentielles qui peuvent être exploitées par des attaquants pour compromettre la confidentialité, l'intégrité et la disponibilité des données.
Objectifs :
L'objectifs est de coder un outil pour automatiser le scan exhaustif des vulnérabilités sur un serveur.
L'analyse des résultats doit être fournie sur un site web.
Le site doit être paramétrable pour obtenir cette liste de résultats - lister les serveurs à scanner - lister les services accessibles depuis l'extérieur - lister les CVE en cours sur la version accessible - signalement en cas de de nouvelle CVE (par mail minimum) - signalement en cas de serveur HS (par mail minimum)
L'outil devra être responsive.
Selon votre avancement d'autres éléments peuvent être ajoutés à votre outil.
Les langages utilisés sont libres mais doivent être justifiés.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
sécurité, serveurs, vulnérabilités
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non
Encadrant : Elise Louis
Catégorie(s): smartphone
Contexte
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’éviter ainsi les embouteillages. L’application mobile de covoiturage Covoit&Go a été développée pour répondre à ces objectifs, dans le cadre des projets tutorés de l’année universitaire 2022-2023.
Objectifs
Objectifs :
L’objectif de ce projet est l’amélioration et l’extension de Covoit&Go, afin d’avoir une application complète et prête à l’emploi sur le marché des applications Android.
Parmi les pistes d’évolution envisagées, nous retenons :
• l’amélioration des algorithmes de recherche de trajet • le passage sur des outils et APIs gratuits / open source • le rajout de fonctionnalités de filtre pour les trajets • le rajout de fonctionnalités de note(rating) pour les trajets, discussion (chat) et éventuellement de paiement.
D’autres rajouts et améliorations sont envisageables en fonction des souhaits et propositions des participants au projet, et seront détaillés lors de la rédaction du cahier des charges.
Références bibliographiques
n/a
Technologies
Java/Android, REST, Géolocalisation
Contraintes:
n/a
Mots-clés
n/aCovoiturage, géolocalisation, application mobile
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Encadrant : Ioana Ileana
Catégorie(s): intelligence artificielle, prototypage
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 ([1]-[7]).
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, notamment la programmation concurrente (gestion des threads, boucle d'évènements / asyncio…). Une expérience de programmation et de déploiement d’un bot Discord est fortement recommandée.
Objectifs :
Ce projet se situe dans la continuation du projet L3S1 de l’année universitaire 2022-2023 et vise l’amélioration et l’enrichissement du bot « TL;DR » développé au cours de l’année précédente. En fonction des souhaits des participants au projet, plusieurs axes d’amélioration et d’extension peuvent être envisagés, y inclus :
• l’amélioration du temps de réponse et de la scalabilité du bot, pour le rendre apte à l’emploi « simultané » par un très grand nombre d’utilisateurs. • l'incorporation des nouvelles fonctions introduites dans l'API Discord telles que les interactions, messages éphémères, composants interactifs (l'ajout de ces fonctionnalités nécessitera potentiellement une restructuration importante du code de manière à pouvoir gérer tous les types d'interactions transmises par Discord). • l'amélioration de la gestion des humeurs (moods) du bot existant, particulièrement en concevant un moyen plus efficace de partage des informations de mood avec les autres utilisateurs pour éviter de surcharger l'API Discord. • l’amélioration de l’interprétation et de la classification des interactions entre les utilisateurs pour rendre le « graphe social » plus informatif ; l'exploration de techniques avancées de clustering et de classification, et la mise en œuvre de méthodes de traitement distribué pour analyser ces interactions à grande échelle. • l’amélioration de la segmentation des conversations de groupe et de la détection de sujets de discussion, pour aider à la fonctionnalité « summary » (résumé) du bot ([8]). • l’étude des possibilités d’intégration des fonctionnalités de la bibliothèque ConvoKit (https://convokit.cornell.edu/). • la création de scénarios conversationnels ludiques sous forme de labyrinthes, où les utilisateurs peuvent explorer différentes voies en utilisant des commandes spécifiques. • une approche ludique de la modération, en proposant un remplacement des messages indésirables par leur « traduction » en binaire ou morse. • la sélection de ressources documentaires pertinentes pour la conversation en cours. • l’identification du profil MBTI des utilisateurs sur la base de leurs interactions ([9], [10]), et des suggestions de compatibilité entre les membres d’un serveur. • la transformation du bot existant (majoritairement « passif » dans sa réalisation actuelle) en participant « actif » aux conversations, en modélisant, de manière très simple ou plus sophistiquée, ses « humeurs » et « réactions » par rapport à la dynamique de groupe.
Le bot devra utiliser l’API Discord et 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)
[8] Improving topic disentanglement via contrastive learning, de Zhou et al. (2023)
[9] Predicting Myers-Briggs Type Indicator with Text Classification, de Hernandez et al. (2017)
[10] Personality Type Based on Myers-Briggs Type Indicator with Text Posting Style by using Traditional and Deep Learning, de Ontoum et al . (2022)
Technologies
Python, API Discord, Transformers, Machine Learning / Deep Learning, Traitement parallèle et distribué
Contraintes:
Connaissances préalables fortement consillées
Mots-clés
Bot, Discord, NLP
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Encadrant : Dragutin Jastrebic
Catégorie(s): intelligence artificielle
Contexte
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 :
Développement d'un prototype
Références bibliographiques
n/a
Technologies
Python, Scikit Learn
Contraintes:
n/a
Mots-clés
Machine learning
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Oui
Encadrant : Nicolas DENIS
Catégorie(s): app. autonome, smartphone
Contexte
Le matching est la recherche de correspondance de deux profils (ex. : sites de rencontre), ou entre un profil recherché et un profil de candidat (ex. : site de recrutement). Le projet consiste a produire une application mobile de matching en utilisant le caractère intuitif de l'utilisation d'un équipement mobile.
Objectifs :
Description des fonctionnalités :
Ecran de connexion. Classique, pour que l'application puisse rattacher le profil et les recherches enregistrés à un utilisateur.
Définition de son profil : le téléphone en mode paysage, l'application présente à l'utilisateur une série de choix. Ceux-ci consistent à choisir entre deux images. Le choix proposé et la sélection faite par l'utilisateur permette de définir son profil.
Recherche de profil : de même que pour la définition de profil, l'utilisateur réalise une série de choix entre deux images. Mais les choix qu'il fait représentent ce qu'il attend de la personne recherchée.
Exemple simple : un choix entre une photo de tempête et une photo de cours d'eau calme. Vous êtes du genre nerveux : lors de la définition de votre profil, vous choisissez la tempête. Mais vous recherchez quelqu'un de calme : vous cliquerez sur le cours d'eau lors de votre recherche.
L'utilisateur doit pouvoir :
* à tout moment, avoir le décompte de profils correspondants à sa recherche,
* reculer d'une « question »,
*enregistrer sa recherche,
* supprimer son profil,
* supprimer une recherche enregistrée,
* « sauter » une question,
* avoir un moyen de demande de contact avec les utilisateurs sélectionnés au final.
* Pouvoir répondre à une demande de contact.
Références bibliographiques
n/a
Technologies
java; android
Contraintes:
Cours le mercredi soir à partir de 17h30.
Mots-clés
application mobile ; Android ; rencontre
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : Nicolas DENIS
Catégorie(s): app. autonome, framework/librairie, intelligence artificielle
Contexte
Exploiter les gisements des données médicales et de santé et ceux étatiques pour analyser les corrélations avec un réseau de neurones.
Objectifs :
Pour un département, tenter de trouver une corrélation entre un ensemble de données (population, urbanisme, enseignement, …) et sa situation médicale quelques années plus tard (densité de médecins, état de santé des habitants, etc.). Comme tout projet de machine learning, il faudra faire un gros travail sur les données servant à l’apprentissage : esprits critiques bienvenus. Techniquement, l’usage d’un framework de machine learning est à privilégier. En vue de la soutenance, il faudra également prévoir la présentation la plus graphique possible, via un outil du marché ou une mise en page propre.
Références bibliographiques
data.ameli.fr et data.gouv.fr
Technologies
Framework de machine learning (de préférence TensorFlow) Python et un outil du marché ou un langage pour la présentation des données et des résultats (HTML ou PHP/MySQL)
Contraintes:
Cours le mercredi soir à partir de 17h30.
Mots-clés
Machine learning, réseau de neurones
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : MAXIME LHOUMEAU
Catégorie(s): intelligence artificielle, web-service
Contexte
Le voyage est un monde complexe et composé de sources diverses et variées, il est souvent possible de se tromper en terme de dimensionnement, de saisonalité et de gestion des évenements externes.
Objectifs :
Créer une API (webservice) permettant d'obtenir des suggestions de voyage sur plusieurs niveaux.
Une première route doit pouvoir fournir une liste de suggestions de destinations en fonction d'entrées telles que des envies de : - localisations ( proche de chez soi, ou pas !) - activités (ski, jet-ski…) - durée etc…
Cette route API doit pouvoir fournir un résultat construit selon une loi statistique (chaque critère étant identifié par un poid donné), et les informations doivent être produite comme suit :
- Dans un premier temps, interroger une source de données interne (base de données) et rendre un premier résultat - Si ce résultat est incomplet ou absent, interroger une source AI type gpt3.5 ou équivalent pour enrichir la base et generer un résultat - Stocker ce résultat pour enrichir votre base d'information interne, et fournir le résultat en sortie de l'API (output)
Une seconde route API devra fournir de quoi structurer le voyage de manière précise avec des entrées spécifiant date de départ, date de fin, et des critères d'accessibilité et de choix de transports sur place.
En sortie, cette route devra fournir une liste de journaux de voyage sous la forme : Jour 1 : Visite à Paris Activités suggérées : XX Itinéraire proposé : XX …
Le premier journal doit être le plus propre à satisfaire l'utilisateur de votre service.
Liberté quant à l'établissement de la seconde route de création et de suggestion.
Références bibliographiques
n/a
Technologies
web,API
Contraintes:
n/a
Mots-clés
IA,voyage
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : Camille Kurtz
Catégorie(s): app. scientifique, découverte/initiation, framework/librairie, intelligence artificielle
Contexte
La fouille d'images (« Image mining ») est le domaine de l'analyse et de l'extraction de connaissances / informations appliquée aux images sous leurs diverses formes. Elle se situe à l'intersection de la vision par ordinateur, de la compréhension visuelle de l'image, de l'exploration de données, de l'intelligence artificielle et de l'algorithmique. Les techniques utilisées sont : l'indexation ; la recherche d'image par le contenu (en anglais : content-based image retrieval ou CBIR) ; la classification ; le clustering (regroupement hiérarchique ou partitionnement de données) ; les règles d'association.
Dans ce projet, nous nous intéressons en particulier au problème de l’indexation d’images présentes dans une base pour permettre à un utilisateur donné : (1) de rechercher des images similaires (à une requête) à partir de ses caractéristiques visuelles, c'est-à-dire induite de leurs pixels ou (2) de classer des images / photographies en fonction de leurs contenus visuels (toutes les photos liées à ma dernière balade en montagne). Pour ces 2 cas d’utilisation, les images sont classiquement décrites comme rendant compte de leur texture, couleur, forme et indexer sous la forme d’un vecteur de caractéristique. La technique de recherche d'image par le contenu s'oppose à la recherche d'images par mots-clés ou tags, qui fut historiquement proposée par les moteurs de recherche tels que Google Image grâce à des banques d'images où les images sont retrouvées en utilisant le texte qui les accompagne plutôt que le contenu de l'image elle-même (mais Google Image propose désormais des filtres basés sur le contenu (pixels) des images).
Pour plus de détails, rdv sur Wikipédia : Recherche d'image par le contenu (https://fr.wikipedia.org/wiki/Recherche_d%27image_par_le_contenu)
Objectifs :
Le but du projet est de développer une application permettant à partir d’une base d’images, de répondre aux deux cas d’utilisation données ci-avant.
Pour l’étape d’indexation, nous pourrons nous baser sur des représentations visuelles / deep features extraites des images à partir d’un réseau neuronal convolutif issu du domaine de l’apprentissage profond (comme un ResNet ou un VGG pré-entrainé sur ImageNet).
L’application réalisée devra permettre de visualiser et d’interagir avec la base d’images via les représentations visuelles ainsi extraites. L’application pourra comporter a minima deux fenêtres, une permettant le paramétrage souhaité et l’autre permettant d’interagir avec les résultats.
Pour accélérer l’indexation des images dans la base de données, on pourra considérer la librairie FAISS développée par Facebook (https://github.com/facebookresearch/faiss).
Organisation du travail
• Réalisation d’un cahier des charges • Prise main d’une librairie permettant la manipulation / traitement d’images • Prise en main de la librairie d’indexation FAISS • Développement du logiciel d’indexation et de recherche d’images par le contenu • Choisir trois fonctionnalités additionnelles et les soumettre à votre encadrant • Réalisation des fonctionnalités choisies • Tester / évaluer le logiciel développé\\
Références bibliographiques
Arnold W. M. Smeulders, Marcel Worring, Simone Santini, Amarnath Gupta, Ramesh C. Jain:
Content-Based Image Retrieval at the End of the Early Years. IEEE Trans. Pattern Anal. Mach. Intell. 22(12): 1349-1380 (2000)
Jeff Johnson, Matthijs Douze, Hervé Jégou: Billion-Scale Similarity Search with GPUs. IEEE Trans. Big Data 7(3): 535-547 (2021)
Technologies
Au choix des étudiants, développement pour le web (PHP, Javascript), développement d’application stand-alone (Python, C++,…), développement Mobile Android
Contraintes:
Les différentes briques de la plateforme devront être facilement modifiable pour permettre de nouvelles fonctionnalités. Des mécanismes / stratégies intelligentes de visualisation des résultats devront être déployées dans l’application.
Mots-clés
Recherche d'images par le contenu, indexation, IA, représentation d'images
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : Camille Kurtz
Catégorie(s): app. scientifique, découverte/initiation, framework/librairie, intelligence artificielle
Contexte
Lorsqu’on analyse visuellement des objets présents dans une image, le contenu de cette dernière peut généralement être étudié à différents niveaux d’échelle où les sous-parties d’objets peuvent émerger. Prenons l’exemple d’une photo de famille : les formes sont constituées de têtes, de bustes, de jambes, qui vont former à un niveau supérieur des individus, qui eux-mêmes vont former ensemble à un niveau supérieur un groupe d’individus. Les échelles d’observation employées pour observer une image conduisent ainsi à différents points de vue complémentaires. La compréhension totale d’une image requiert alors bien souvent une analyse complète des objets d’intérêt et de leurs interactions, et cela à travers différents niveaux d’échelle.
Pour prendre en compte ces différentes échelles lors de l’analyse d’une image, différentes stratégies sont possibles. Une stratégie consiste à construire explicitement une nouvelle représentation de l’image, offrant une nouvelle structuration plus adaptée que la grille de pixels, permettant de capturer ces différents niveaux d’échelle et de raisonner pour différentes tâches d’analyse. Dans ce contexte, plusieurs représentations hiérarchiques d’images ont été développées, principalement dans le cadre de la morphologie mathématique. On pourra citer l’arbre des composantes connexes (component-tree), l’arbre des formes (tree of shapes), les lignes de partage des eaux hiérarchiques (hierarchical watersheds), l’arbre des composantes hyperconnectées (hyperconnected component-tree), l’α-arbre (α-tree) ou encore l’arbre binaire de partitions (binary partition tree – BPT). En guise d’illustration, le BPT est un arbre binaire dont chaque nœud correspond à un ensemble de régions voisines fusionnées avec une certaine cohérence. Un nœud peut être soit une feuille représentant une région élémentaire ou bien l’union de deux régions voisines. La racine de l’arbre, quant à elle, correspond au support de l’image. Une telle structure peut ainsi être interprétée comme un ensemble de régions contenues dans une arborescence. Les plus grandes régions sont proches de la racine tandis que les petites régions détaillées se trouvent près des feuilles. Une coupe effectuée sur le BPT, permet d’obtenir une partition correspondant à une segmentation de la scène de l’image à un niveau d’échelle donné.
Objectifs :
Le but du projet est de développer une application permettant, à partir d’une image donnée en entrée, de visualiser et d’interagir avec sa représentation hiérarchique, par exemple pour des tâches de sélection d’objets contenus dans l’image ou de segmentation interactive. L’application développée pourra comporter a minima deux fenêtres, une permettant de visualiser la structure hiérarchique (dans la même idée qu’un explorateur de fichiers) et l’autre permettant d’interagir avec la représentation hiérarchique, directement à partir de l’image elle-même.
Organisation du travail
• Réalisation d’un cahier des charges • Prise en main d'une librairie de graphes / arborescences • Prise main d’une librairie permettant la manipulation / traitement d’images • Développement du logiciel de visualisation de structures hiérarchiques et d’interaction avec l’image pour la segmentation • Choisir trois fonctionnalités additionnelles et les soumettre à votre encadrant • Réalisation des fonctionnalités choisies • Tester / évaluer le logiciel développé
Références bibliographiques
Salembier P, Wilkinson MHF. Connected operators: A review of region-based morphological image processing techniques. IEEE Signal Processing Magazine. 2009;6:136–157.
B. Perret, G. Chierchia, J. Cousty, S.J. F. Guimarães, Y. Kenmochi, L. Najman, Higra: Hierarchical Graph Analysis, SoftwareX, Volume 10, 2019. DOI: 10.1016/j.softx.2019.100335
Technologies
Au choix des étudiants, développement pour le web (PHP, Javascript), développement d’application stand-alone (Python, C++,…) • Pour la gestion des graphes et des hiérarchies, on pourra se baser sur la librairie Higra (https://github.com/higra/Higra)
Contraintes:
Les différentes briques de la plateforme devront être facilement modifiables pour permettre de nouvelles fonctionnalités. Des mécanismes / stratégies intelligentes de visualisation de graphes devront être déployées dans l’application.
Mots-clés
Vision par ordinateur, analyse d'images, graphes et hiérarchies, visualisation de données
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : Claude Lattaud
Catégorie(s): app. gestion
Contexte
Développement d'un logiciel de gestion de pharmacie
Objectifs :
L'objectif de ce projet est de développer un logiciel, simple dans un premier temps, de gestion d'une pharmacie.
Celui-ci devra permettre de délivrer des médicaments selon des ordonnances, mais également de passer des commandes auprès des fournisseurs, selon les stocks présents. La base de données devra être le plus complète possible en intégrant, non-exhaustivement, des tables pour des médicaments, des fournisseurs, des employés, des médecins, etc etc…
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
Base de données
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : Claude Lattaud
Catégorie(s): intelligence artificielle, jeu vidéo
Contexte
Extension du classique jeu Rubyk's cube
Objectifs :
L'objectif de ce projet est de continuer le développement d'une application sous Unity 3D du jeu Rubyk's cube.
Les étudiants pourront, par exemple, coder de grands cubes ou encore des pyramides, la littérature regorge d'extensions possibles.
La résolution de ces extensions sera effectuée de deux manières, soit automatiquement par un, ou plusieurs, algorithmes d'IA, soit par un retour arrière.
Références bibliographiques
n/a
Technologies
Unity 3D
Contraintes:
n/a
Mots-clés
Rubyk's cube
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Encadrant : Claude Lattaud
Catégorie(s): jeu vidéo
Contexte
Enrichissement d'une application sous Unity 3D
Objectifs :
L'objectif de ce projet est d'enrichir une application existante, un jeu de tactique en 3D en y ajoutant une nouvelle classe de personnages, ainsi que ses compétences associées, et une nouvelle compétence pour chacune des classes déjà existantes.
Les étudiants devront faire des choix adéquats pour enrichir l'expérience de jeu à l'aide de cette nouvelle classe et de ces nouvelles compétences. Ils devront également s'arrêter sur le codage des comportements de ce nouveau type de personnage, ainsi que sur ceux existants.
Références bibliographiques
n/a
Technologies
Unity 3D
Contraintes:
n/a
Mots-clés
Jeu 3D
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Encadrant : Claude Lattaud
Catégorie(s): smartphone
Contexte
Application pour téléphones portables
Objectifs :
L'objectif de ce projet est d'enrichir une application existante d'aide à la randonnée avec un module de mises à jour automatiques concernant l'application en elle-même mais également toutes les données.
Selon l'avancée des étudiants, ceux-ci pourront développer d'autres modules tels que la reconnaissance automatique de fleurs ou encore la constitution de listes de courses.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
Téléphonie mobile
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Encadrant : Christophe Gnaho
Catégorie(s): prototypage
Contexte
Ce projet s'inscrit dans le cadre d'une étude portant sur les outils de mesure physiologique de la charge mentale au sein d'un équipage en aviation générale.
Objectifs :
L'objectif de ce projet est d'explorer des outils grand public existants tels que les applications mobiles, les bracelets et montres connectées, les ceintures thoraciques, etc. L'approche consistera à étudier la possibilité d'interfacer ces dispositifs avec une application dédiée, afin de récupérer de manière efficace les données physiologiques pertinentes. L'accent sera mis sur la conception d'une interface utilisateur intuitive et la mise en place de protocoles de communication pour assurer la collecte précise et cohérente des données. Cette démarche permettra une exploitation ultérieure des informations recueillies, offrant ainsi une vision approfondie des paramètres physiologiques liés à la charge mentale au sein de l'équipage en aviation générale.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
fréquence cardiaque, charge emntale
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Encadrant : Julia Rea
Catégorie(s): app. autonome
Contexte
L'application Aura est un guide mobile pour découvrir l'Architecture contemporaine, comme un guide audio dans un musée, permettant de découvrir autour d'une carte urbaine les bâtiments ordinaires et extraordinaires de la ville de Paris. Elle a été développée sous Flutter et se trouve sur Firebase. Elle est déjà en ligne sur le Playstore et l'Applestore. Aura comporte plusieurs fonctionnalités qu'il faudra poursuivre et améliorer.
Objectifs :
Les objectif de cette quatrième version sont :
- Découvrir / s'approprier le travail qui a déjà été fait lors des années précédentes
- Améliorer la maintenabilité du projet afin que le développement puisse se poursuivre au mieux
- Compléter la fonctionnalité des critères qui filtrent les marqueurs sur la carte
- Poursuivre les possibilités de mise en place des photos
- Améliorer la fonctionnalité des parcours
- Développer la fonction de la barre de recherche
- Vérifier le fonctionnement des audios en arrière plan lorsqu'on navigue sur la carte
- Optimiser le poids de l'application
- Fluidifier l'expérience utilisateur
Références bibliographiques
Mapstr, ArchiMaps, Tripadvisor, Cityscoot, Pokémon Go
Technologies
Flutter
Contraintes:
PC + Mac
Mots-clés
Architecture, Guide mobile, Ville, Découverte, Bâtiment, Contemporain
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Oui
Encadrant : Lilian Hanania
Catégorie(s): prototypage
Contexte
Plateforme web construite pour le Projet CSSC, développé au Centre Maurice Hauriou d’UPCité (https://u-paris.fr/cmh/strategies-de-durabilite-des-entreprises-en-faveur-de-la-culture/).
Objectifs :
L’objectif est de construire une plateforme web si possible en anglais et en français (textes fournis aux étudiants dans les deux langues) pour le projet CSSC, développé au Centre Maurice Hauriou d’UPCité (https://u-paris.fr/cmh/strategies-de-durabilite-des-entreprises-en-faveur-de-la-culture/).
Cette plateforme permet la création de deux types de profils (profil entreprise et profil municipalité) et incorpore un questionnaire et une grille de notation prédéfinie dans un document Excel. Cette notation permet de classer les entreprises selon les réponses données et de produire des rapports (format HTML et PDF) contenant leurs notes et classements.
En complément, si possible, la plateforme propose un espace de collaboration entre entreprises (répertoire des entreprises souhaitant y participer) et un espace de mise en relation entre artistes et entreprises, en listant des projets mis en avant par les municipalités ou l’équipe du projet CSSC, d’une part, et des appels à projets publiés sur la plateforme par les entreprises, d’autre part.
Enfin, la plateforme renvoie à un référentiel sur le sujet traité (page web déjà existante) et à une liste de meilleures pratiques identifiées (texte déjà existant).
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Nom de l'encadrant: Olivier Grossat
Mail de l'encadrant :
Catégorie(s): application, web service, électronique
Présentation du sujet
Contexte : Pour l'association DeltaLab Participer au développement passionnant d'un luminaire robotique pour la Nuit Blanche à Paris, qui est un événement artistique majeur à Paris avec une visibilité internationale prévue le 1er juin 2024. Ce projet innovant combine l'art et la technologie, offrant une expérience unique de création d'une œuvre d'art robotique.
Description du Projet : Le luminaire, déjà construit et fonctionnel, appartient à la catégorie des objets connectés. Il intègre un système de cartes électroniques et est contrôlé par une carte Wemos D1. Cette dernière, équipée du WiFi, embarque un site web responsive design et plusieurs capteurs :
Capteur de luminosité Capteur sonore Capteur de température Capteur de pression atmosphérique Capteur d'humidité
Objectifs du Projet : Le défi consiste à poursuivre le développement du code source en C++ pour la Wemos D1. L'objectif est de permettre au lustre de réagir de manière dynamique à différents stimuli environnementaux
Opportunité Unique : C'est une occasion exceptionnelle de travailler sur un projet à l'intersection de l'art, de la technologie et de l'innovation. Les étudiants auront la chance de contribuer à une œuvre qui sera exposée lors d'un événement artistique majeur et d'acquérir une expérience pratique dans le développement d'objets connectés.
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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 :
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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 :
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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
Contraintes :
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
Contraintes :
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 à :
Contraintes:
Mots-clés:
Intelligence artificielle, machine learning, deep learning, réseaux de neurones profonds, GPGPU
Langages :
Remarque
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:
Remarque
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.
A minima, cette application fonctionnera sur ordinateur mais une application mobile serait un plus.
Afin de permettre l'exploitation du résultat obtenu, l'application devra être capable de produire un fichier midi correspondant à la partition.
Langages/technologies à utiliser
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.
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)
Contraintes :
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) :
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:
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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:
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Encadrant :
Mail de l'encadrant :
Catégorie(s): IA, chatbot
Présentation du sujet
L'objectif de ce projet est de réaliser une application qui permette la comparaison deux à deux de grands modèles de langage (ChatGPT, LLama, Mistral, Bard, …) afin de réaliser un classement de leurs performances selon le retour des utilisateurs.
Dans un premier temps, on prendra un paramètrage standard de ces différents grands modèles de langage. Pour les modèles de langage open-source, on envisagera éventuellement de faire varier les paramètres pour réaliser d'autres comparaisons.
Enfin, si le temps le permet, on envisagera de comparer des grands modèles de langage multimodaux sur des taches plus complexes.
On testera différentes méthodes de classement et on adaptera la visualisation des résultats présentés.
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Encadrant :
Mail de l'encadrant :
Catégorie(s): IA, chatbot
Présentation du sujet
L'objectif de ce projet est de réaliser une application qui permette de compléter le prompt d'un utilisateur en fonction d'un contexte prédéterminé ou d'une tâche à réaliser.
L'application devra permettre l'utilisation des différentes grands modèles de langage (ChatGPT, LLama, Mistral, Bard, …) en fonction des besoin des utilisateurs.
On testera différentes méthodes d'enrichissement du prompt et comparera les différents résultats sur un ensemble de tâches pré-déterminées.
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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):
Mot(s)-clé(s): Détection thématique, TF/IDF, plugin Firefox
Référence(s) :
Contrainte(s) :
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):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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
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 :
Langage(s) et technologie(s) :
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 :
Mots-clés:
Langage(s) et technologie(s) :
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:
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:
Langages/technologies à utiliser
Remarque
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 :
Langage(s) et technologie(s):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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):
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
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 :
Mots-clés:
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.
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
Contraintes :
Posséder au moins un smartphone dans le groupe (iOS ou android).
Ce framework doit pouvoir être utiliser par d'autres projets.