Projets de programmation 2021-2022
Sujet L2A - Programmation d'un jeu de dés: Pickomino, Plakoto, Fevga
Encadrant : Bruno Bouzy
Mail de l'encadrant :
Catégorie(s): intelligence artificielle
Contexte
Apprendre aux étudiants à programmer un jeu non déterministe.
Objectifs :
1° programmer proprement une interface textuelle permettant à des utilisateurs de jouer à un jeu en respectant les règles.
2° mettre le pied à l'étrier sur les méthodes de Monte-Carlo pour avoir une intelligence artificielle jouant à un jeu de dé.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2B - Le guichet automatique bancaire
Encadrant : Dragutin Jastrebic
Mail de l'encadrant :
Catégorie(s): app. gestion
Contexte
Le scénario: Le client de la banque met sa carte de crédit dans un GAB (guichet automatique bancaire). Le premier module envoie un message vers le module central. Ce message contient des informations différentes, comme le numéro de la carte, la date de l'opération, le type de l'opération souhaitée par le client (le retrait d'espèces, le dépôt d'espèces, la consultation du solde, l'impression du solde etc.), le numéro du guichet etc. Pour des raisons de sécurité, ce message est crypté avec une signature. Aussi, le format du message dépend du constructeur du guichet – chaque constructeur peux avoir son propre format.
Avant la réception du message par le module central, un deuxième module, de sécurité, vérifie le code confidentiel et refuse la transaction si le code saisi sur le guichet ne correspond pas au code confidentiel du propriétaire de la carte bancaire. Il vérifie aussi la signature avec la même clé et refuse la transaction si la signature ne correspond pas. Un troisième module, le module central, effectue l'opération souhaitée par le client (par exemple, il met à jour le solde de son compte en cas de retrait /dépôt, ou renvoie le solde au guichet en cas de consultation, renvoie les données contenues dans le RIB en cas de l'impression etc.). Le module central peut refuser d'effectuer l'opération si les droits du propriétaire sont insuffisants – en cas de dépassement du seuil quotidien ou hebdomadaire, par exemple. Un message est renvoyé au GAB pour l'informer du succès /échec du traitement. En fonction du message reçu, le GAB effectue l'opération demandée, ou affiche le message de refus. Le GAB envoie aussi d'autres messages, appelés les messages d'état, au module central. Les messages d'états typiques sont les suivants: tout est OK, le niveau de billets est bas, le niveau d'encre dans l'imprimante est bas, le niveau de papier est bas, la caméra est en panne etc. En fonction du message reçu, le module central, peut décider de faire une action corrective (remonter un avertissement à la supervision) ou d'éteindre le guichet.
Objectifs :
Notre but est de développer des modules qui simulent ce scénario. Les outils développement seront Java, Android, Objective C/ Ios selon le choix des étudiants.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2C - Introduction à la bioinformatique
Encadrant : Dragutin et Koviljka Jastrebic
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
La bioinformatique est une discipline d'analyse de l'information biologique contenue dans les séquences nucléotidiques (séquence de nucléotides) et protéiques (séquences d'acides aminés). Il s'agit d'une “interdiscipline”, à la frontière de la biologie, de l'informatique et des mathématiques.
Les systèmes biologiques sont très complexes, leur bases et/ou banques de données sont
volumineuses, et en plus les traitements des informations stockées nécessitent des algorithmes performants.
Il s'agit en général des traitements qui ressemblent à un traitement traditionnel « data warehouse » (on traite en parallèle une masse de données sur une machine avec plusieurs processeurs) mais qui nécessitent un calcul plus complexe.
En bioinformatique, les différents algorithmes (alignement et autres) sont utilisés dans le contexte de recherche de fonctions biologiques, de la phylogénie moléculaire, du séquençage de génome etc.
La bioinformatique propose des méthodes et des outils pour le recueil des données, leur traitement, leur distribution et leur visualisation.
Objectifs :
Sur notre projet, nous allons travailler sur les parties traitement et visualisation de données.
Les séquences analysées seront : Covid-19, les séquences responsables pour le cancer etc.
Outils de développement: Java,Java/HTML/Java Script/Ajax, Python, R, SQL pour les besoins de développement des traitements et de la visualisation des données. Algorithmes : Smith & Watterman, Needleman & Wunsch, Réseaux bayésiens
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2D - Robot ramasseur de balles
Encadrants : Michel Soto
Mail de l'encadrant :
Catégorie(s): Robotique
Présentation du sujet
L'objectif de ce projet est de construire et de faire fonctionner un robot ramassant des palets disposés sur une surface jeu.
Deux robots s'affrontent dans un match qui consiste à récupérer le maximum de palets dans le temps imparti.
Travail à effectuer :
Dans le cadre d'une approche incrémentale, le programme développé devra permettre au robot de réaliser les tâches suivantes:
- Se déplacer sur la surface donnée sans en sortir.
- Repérer les billes de couleur et les ramasser.
- Ranger les billes ramassées : autrement dit, les déposer dans une zone prévue à cet effet.
Evidemment, le robot devra réaliser ces tâches le plus rapidement possible.
Contraintes:
Le langage utilisé pour réaliser le(s) programme(s) sera obligatoirement : C ou Java
La salle de robotique est petite et il faudra la partager.
Participer aux événements de promotion de la robotique organisés par l'UFR.
Sujet L2E - CAPTCHA - La bonne question
Encadrant : Nicolas DENIS
Mail de l'encadrant :
Catégorie(s): framework/librairie, sécurité, web-service
Contexte
Constituer une base de questions et réponses sous forme d'images, en utilisant un CAPTCHA.
Objectifs :
Un CAPTCHA est un test permettant de différencier de manière automatisée un utilisateur humain d'un ordinateur. Ce test de défi-réponse est utilisé en informatique pour vérifier que l'utilisateur n'est pas un robot.
Le site devra présenter, 2 fois : une image divisée en 9 carrés, et 5 questions.
Pour chaque association image - question : Les 5 questions devront être assez générales (Qu'est-ce qui est devant ? / Qu'est-ce qui est rouge ? / Qu'est-ce qui est en bas ?…) L'utilisateur doit à la fois sélectionner une question et un des carrés composant l'image, en réponse.
Pour l'une des images, les associations question-réponse sont connues. L'autre permet d'enregistrer une nouvelle réponse pour augmenter le nombre de questions possibles.
Le site devra enregistrer la correspondance entre la question et le carré-réponse, ainsi que le nombre de réponses apportées.
Idéalement, ce CAPTCHA sera intégré dans un plugin du système de gestion du contenu Wordpress (WordPress.org).
Références bibliographiques
n/a
Technologies
PHP; javascript; MySQL
Contraintes:
n/a
Mots-clés
test sécurité; CAPTCHA; web
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2F - Atrahasis : site web
Encadrant : Nicolas DENIS
Mail de l'encadrant :
Catégorie(s): découverte/initiation, framework/librairie, site web
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 un site d’information ce qui devrait advenir si nous continuons à polluer au rythme actuel.
Objectifs :
Ce projet a deux objectifs :
- constituer une base d’évènements fictifs mais probables dans les 100 prochaines années, en l’état des connaissances scientifiques actuelles,
- offrir un site d’information donnant chaque jour des nouvelles du futur tel qui pourrait être dans un siècle.
Atrahasis est un personnage de la mythologie mésopotamienne qui prévient les humains à chaque fois que les dieux leur envoie un fléau.
La base de données sera en MySql et le site devra utiliser un framework php parmi les standards : Laravel, Symfony, CodeIgniter.
Références bibliographiques
n/a
Technologies
PHP; MySQL
Contraintes:
n/a
Mots-clés
réchauffement climatique; framework php; base de données
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2G - Jumeau numérique dans l'industrie du futur
Encadrant : Nasime EL FARTASS
Mail de l'encadrant :
Catégorie(s): app. autonome, open-source, prototypage, web-service
Contexte
Un jumeau numérique (en anglais, digital twin) est une représentation ou réplique numérique d'un objet, d'une machine, ou d'un processus industriel. Identifié parmi les grandes tendances technologiques (selon Gartner) et porté par le développement de l’industrie 4.0, le jumeau numérique s'est installé dans le paysage industriel mondial.
Objectifs :
L’objectif de ce projet est de créer le jumeau numérique d’un objet connecté : de modéliser l’objet sous une représentation numérique (modèle objet), de collecter des données de télémétrie de l'objet, et de suivre et estimer l’évolution de ces données dans le temps.
Les données de télémétrie collectées par le jumeau numérique devront être, stockées dans une base de données orientée séries temporelles (en anglais, time series), et visualisées sous forme de tableau de bord (en anglais, dashboard). Le jumeau numérique est à développer en utilisant au choix le langage Java ou Scala, et en utilisant des composants (en anglais, frameworks) open source.
Références bibliographiques
n/a
Technologies
Java, Python, Scala, Nodejs
Contraintes:
n/a
Mots-clés
Jumeau numérique, Industrie 4.0, IOT, Cloud
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2H - Calcul de relations spatiales directionnelles à partir de l’histogramme d’angles
Encadrant : Laurent Wendling
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Ces dernières années, la disposition spatiale des objets (ou des différents sous-objets composant les objets) présents dans une image a reçu une attention particulière dans le domaine de l’analyse d’images. En effet, les relations spatiales liant les différents objets d’une scène constituent une information particulièrement importante dans la perception humaine (est-ce que l’objet A est à gauche de l’objet B, est-ce que A est entouré par B …). Il s’agira ici d’implémenter et d’analyser un modèle de description de relations spatiales directionnelles fondé sur des sous-ensembles flous.
Objectifs :
Les étapes à suivre sont les suivantes
- Lecture d’une image binaire par objets (argument et référent).
- Calcul de l’histogramme d’angles entre les deux objets.
- Estimation de relations spatiales en calculant la compatibilité entre un prototype trapézoïdal (ou sinusoïdal) et l’histogramme d’angle suivant la direction recherchée.
- Comparaison de cette approche avec une approche classique à partir de barycentre.
- Suivant l’avancée, le calcul d’une relation spatiale intégrant trois objets (relation entre) sera étudié.
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
Relations spatiales, images
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2I - Création d'une application web de suggestion de lieux de sorties à équidistance des membres d'un groupe d'utilisateurs.
Encadrant : MUHITTIN METE SELÇUK
Mail de l'encadrant :
Catégorie(s): site web
Contexte
L'idée est que dans l'application web, il y ait par exemple N personnes qui se connectent avec son compte et son adresse.
Les N personnes veulent faire une sortie ensemble, se mettent d'accord sur une date, et là, l'application suggère 3 lieux qui seraient les lieux les plus proches de chaque utilisateurs. (On pourra affiner par type d'activité par la suite.)
Donc création de carte + pin pour que ça soit assez graphique comme résultat. A la sélection d'un lieu, les chemins de chaque utilisateur se colorient et affichent la durée moyenne du trajet vers ce lieu.
Les N personnes votent et le lieu avec le plus de vote est sélectionné.
Objectifs :
Le but de ce module est d'apprendre à utiliser les outils tels qu'on les utilise dans le monde professionnel ainsi que certaines bonnes pratiques. Cela peut être un vrai plus sur votre CV et durant vos entretiens technique quand vous chercherez des stages / alternances / emplois.
Par contre, vous allez vite vous rendre qu'il y a beaucoup de choses à apprendre quand on part de zéro sur le web et dans le monde du développement web. Donc soyez prévenu, même pour des L2, il y a aura un travail conséquent de recherche et d'apprentissage.
Les objectifs de ce projet:
- Création d'une application web Nodejs / React
- Écriture de tests unitaires (+ discussions sur le taux de couverture et mise en place des tests de mutation si bonne équipe)
- Travail collaboratif sur github. Vous pourrez mettre le lien de votre github sur votre CV pour montrer le projet qui sera publique.
- Possibilité d'implémenter une base de donnée (optionnelle)
- Implémentation de la suggestion des lieux.
- Intégration API d'une solution pour gérer la carte.
- Si le groupe est bon / efficace, on pourra même se pencher sur le déploiement de l'application et la partie devOps avec la CI/CD.
Références bibliographiques
Si vous ne deviez en lire qu'un cette année:
- Clean code, Uncle bob (Robert Martin)
Ça vous sera utile peu importe le langage, et peu importe le métier vers lequel vous vous tournerez en informatique.
Technologies
nodejs / react
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non
Les rendez-vous auront lieu après 18h30
Sujet L2J - Analyseur des fichiers journal d'un serveur Web
Encadrant : ASSADI AZIZ
Mail de l'encadrant :
Catégorie(s): découverte/initiation
Contexte
Dans le cadre de monitoring des serveurs web , l'analyse des fichiers de journal est primordial pour surveiller de près ce qui ce passe dans les serveurs afin d'éviter tout incident.
Objectifs :
- Lire en temps réel le ficher journal.
- La prise en charge de fichiers volumineux.
- Analyser les différentes requêtes selon le type d'erreur, l'adresse IP, les ports … , et ressortir des statistiques.
- Proposition d'une API qui expose les différentes données collectées avec une documentation.
- Développer une interface graphique fluide.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
Fichiers logs , API , Real-time
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2K - système IoT open source pour serre aquaponique connectée
Encadrant : Olivier Grossat
Mail de l'encadrant :
Catégorie(s): électronique
Contexte
L’association DeltaLab est une association d'intérêt général labellisée FabLab https://deltalabprototype.fr.
FabLab (pour fabrication laboratory en Anglais, ou laboratoire de fabrication en Français) est un lieu ouvert au public où sont mis à disposition toutes sortes d'outils et de machines, dans le but de concevoir de réaliser des objets et des projets le plus souvent open source.
Le dérèglement climatique et la production alimentaire de masse délocaliser sont de véritables épées de Damoclès au-dessus de chaque citoyen. Des techniques de production vertueuse écologique local et très efficace son aujourd’hui possible, l’aquaponie et la permaculture en sont de très bons exemples. Dans ce contexte l'association DeltaLab souhaite réaliser une installation de type serre connectée.
La vocation du projet étant de créer un lieu dédié à une agriculture plus responsable et écologique en s'appuyant sur l'utilisation d'objets connectés pour simplifier son usage.
Objectifs :
Il vous sera demandé de déployer des objets connectés de type Wemos, Arduino ou Cubecell sur un réseau WiFi et/ou LoraWan vous utiliserez le protocole MQTT avec un broker mosquito et la partie serveur se fera sur Node-Red.
Lors de la réalisation du projet et en fonction de votre motivation de la qualité de votre travail vous pourrez être accueilli gratuitement sur place si vous le souhaitez et que vous respectez la législation en vigueur lié au COVID Un appartement de fonction sera mis à votre disposition.
Le projet est déjà fonctionnel la partie serveur Docker fonctionne déjà avec Node-Red, il y a des d'objets connectés qui remontent de l'information dessus et la documentation est réalisé par l’association.
Références bibliographiques
IOT Réseau LoraWan WIFI Arduino C++ Node.Red Mosquito TCP/IP Docker
Technologies
IOT LoraWan WIFI Arduino
Contraintes:
Docker
Mots-clés
IOT Réseau LoraWan WIFI Arduino C++ Node.Red Mosquito TCP/IP Docker
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non
Sujet L2L - Vanishing painting : comment assurer la survivance d'un artisanat en train de disparaitre
Encadrant : Caroline RAMBAUD
Mail de l'encadrant :
Catégorie(s): site web
Contexte
Je suis étudiante en 3ème année aux beaux-arts de Paris. Dernièrement j'ai travaillé sur la technique de la peinture sur tranche (autrement nommée fore-edge painting ou vanishing painting). C'est une technique d'origine britannique de décoration du livre qui s'est développée au 18ème siècle. L'image peinte sur la tranche du livre est invisible quand le livre est fermé mais apparait lorsque l'on vient manipuler le livre et décaler les pages.
Je vous invite à aller voir cette vidéo pour mieux comprendre le procédé : https://youtu.be/OZZQ28YZXSE
Aujourd'hui cet artisanat est en train de disparaitre. La peinture sur tranche est d'ailleurs présente sur la “red list of endengered crafts” de l'association Heritage Crafts (association britannique qui vise à la préservation des arts et artisanats).Il n'y a qu'une personne dans le monde qui vit pleinement de cette pratique. Par conséquent les livres produits avec des peintures sur tranche sont devenus des objets rares et se retrouvent réservés à une certaine élite.
J'ai donc inventé une technique pour produire des livres avec des images cachées sur la tranche du livre mais de manière numérique.
Je sélectionne une image que je viens “trancher” sur photoshop pour créer des bandes (de 0,05 cm) que je viens ensuite placer sur l'extrême droite ou l'extrême gauche de chaque page du livre.
Aujourd'hui la technique que j'ai mise en place est particulièrement laborieuse et c'est pour cette raison que je souhaite réaliser un programme qui permette de créer ces livres avec une image sur la tranche.
Objectifs :
En bref l'objectif est qu'un utilisateur puisse se rendre sur une application (un site internet par exemple), y rentrer une image puis récupérer un document qu'il puisse imprimer pour réaliser son propre livre avec une image cachée sur la tranche.
Le but est également que tout cela soit présent en “open source” pour contrer l'élitisme de ce produit aujourd'hui et rediffuser cette technique qui est en train de disparaitre.
Une des difficultés sera sans doute de trouver un moyen pour que le document produit puisse être modifiable par l'utilisateur pour qu'il puisse par exemple rajouter du texte au livre. Il faudrait par exemple que le document générer puisse être en .idml (format IDML).
Références bibliographiques
Technologies
Contraintes:
Mots-clés
art / livre / image / open source
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2M - (Chat)Bot Discord et Traitement du Langage Naturel
Encadrant : Ioana Ileana
Mail de l'encadrant :
Catégorie(s): intelligence artificielle
Contexte
Ces derniers temps, avec GPT-3, BERT & co, l'intelligence artificielle au service du NLP (Natural Language Processing - Traitement du Langage Naturel) est au cœur de l'attention et semble avoir fait de spectaculaires avancées. D'un autre côté, Discord est l'une des applications de discussion les plus populaires, et les “Discord Bots” y sont omniprésents.
Objectifs :
Ce projet vise la conception et le déploiement d'un Bot Discord capable d'interagir avec les utilisateurs et qui incorpore une ou plusieurs “fonctionnalités NLP”,
En fonction des intérêts et connaissances des étudiants, ces fonctionnalités peuvent être plus ou moins étendues et / ou variées: des plus simples (par exemple, identifier si on lui a adressé un commentaire “plutôt positif” ou “plutôt négatif”) aux plus avancées: “imiter” un personnage de fiction (livre, film, dessin animé…) ou même un / des membres de l'équipe projet, répondre à des questions portant sur un thème, résumer ce qui a été dit sur un channel au cours d'une journée / une semaine, etc.
Références bibliographiques
n/a
Technologies
Python, NLP
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2N - BotaGame2022
Encadrant : Florence et Gwenaël Leclerc et Ruprich-Robert
Mail de l'encadrant :
Catégorie(s): app. autonome
Contexte
Le pharmacien d’officine doit être capable d’identifier les plantes d’intérêt pharmaceutique. Dans ce cadre, les étudiants en pharmacie suivent une formation en botanique où ils doivent apprendre à reconnaître une grande quantité d’espèces.
Objectifs :
Il est proposé de développer un outil simple, sous forme de jeux et d’ateliers pour aider les étudiants à réviser les espèces de plantes de façon ludique (par ex, tirage au sort de photos à identifier, jeux de cartes, appariement …). Ces activités seront associées à des aide-mémoires pour les espèces les plus fréquentes.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2O - FungiGame2022
Encadrant : Florence et Gwenaël Leclerc et Ruprich-Robert
Mail de l'encadrant :
Catégorie(s): app. autonome
Contexte
Le pharmacien d’officine doit être capable d’identifier les principaux champignons que l’on peut ramasser en forêt. Dans ce cadre, les étudiants en pharmacie suivent une formation en mycologie officinale où ils doivent apprendre à reconnaître une grande quantité d’espèces.
Objectifs :
Il est proposé de développer un outil simple, sous forme de jeux et d’ateliers pour aider les étudiants à réviser les espèces de champignons de façon ludique (par ex, tirage au sort de photos à identifier, jeux de cartes, appariement …). Ces activités seront associées à des aide-mémoires pour les espèces les plus fréquentes.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2P - Interface d’annotation pour le visual question answering
Encadrant : Sylvain Lobry
Mail de l'encadrant :
Catégorie(s): intelligence artificielle, site web
Contexte
Le visual question answering est une tâche récente visant à extraire de l’information depuis des images via des requêtes exprimées en langage naturel. Une démonstration de cette tâche est accessible sur [1]. Les modèles proposés pour traiter cette tâche reposent sur l’apprentissage profond, et nécessitent une grande quantité de données d’entraînement (une donnée est un triplet image/question/réponse). L’objectif de ce projet est de proposer une plateforme web permettant l’annotation de données pour le visual question answering.
Objectifs :
La plateforme à réaliser contiendra une interface administrateur et une interface utilisateur. L’interface administrateur permettra d’ajouter des images à annoter, d’accéder aux statistiques de la plateforme et de télécharger les annotations. L’interface utilisateur affichera les statistiques individuelles et fonctionnera selon deux modes:
- Mode 1: l’utilisateur sélectionne une image, et pose des questions ou répond à des questions posées sur cette image.
- Mode 2 (optionnel): l’utilisateur se voit présenter des couples images/questions sans réponses et est invité à renseigner les réponses.
Par ailleurs, selon l'avancement des étudiants, un mode démo pourra être créer (à partir de modèles définis et entraînés) et permettra une prise en main d'une bibliothèque d'apprentissage sur la partie inférence.
Références bibliographiques
Technologies
La plateforme devra suivre un patron modèle-vue-contrôleur (MVC). L’utilisation d’un framework (e.g. Django) est conseillée, mais les étudiants pourront aussi s’orienter vers un développement avec HTML/CSS/PHP/Javascript.
Contraintes:
Les différentes briques de la plateforme devront être facilement modifiable pour permettre de nouvelles fonctionnalités.
Mots-clés
Plateforme, web, annotation, apprentissage profond
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2Q - Blackjack
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le blackjack est une famille de jeux de cartes comprenant de nombreuses formules et variantes.
Il se pratique à plusieurs joueurs avec un jeu généralement de cinquante-deux cartes.
Dans sa version classique, la partie oppose tous les joueurs contre la banque.
Le but est de battre le croupier sans dépasser 21
Travail à effectuer
Le but du projet est d’implémenter un jeu de blackjack dans lequel le joueur affronte l'ordinateur. Le programme devra proposer les fonctionnalités suivantes :
- Le programme devra gérer automatiquement toutes le règles du jeu
- Il faudra développer l'intelligence artificielle qui affrontera le joueur.
- L'environnement du jeu devra être entièrement paramétrable et les parties jouées devront être sauvegardées.
Afin d'améliorer les possibilités offertes, on envisagera de :
- implémenter des variantes du blackjack
- implémenter un mode multijoueur
Langage(s) et technologie(s):
Interface graphique, Intelligence artificielle
Contrainte(s) :
Sujet L2R - Algorithmes animés
Encadrant :
Mail de l'encadrant :
Catégorie(s): app. autonome, framework/librairie, open-source
Contexte
La compréhension du pseudo-code d'un algorithme peut être difficile si l'on ne se représente pas visuellement le déroulement de l'algorithme et la manière dont les structures de données sont transformées par celui-ci. Cette difficulté est particulièrement forte dans le cas d'algorithmes récursifs sur des structures non-linéaires, comme des arbres.
Objectifs :
L'objectif est de construire un programme de visualisation animée du déroulement d'algorithmes. De nombreux outils de ce type existent, on se concentrera donc sur ce qui manque : la visualisation d'algorithmes récursifs sur les arbres.
Le programme devra à la fois comporter un ensemble de fonctions suffisamment génériques pour mettre en œuvre des algorithmes quelconques (un framework) et l'implémentation d'algorithmes spécifiques issus du cours d'algorithmique de L2.
Références bibliographiques
Exemples de visualisateurs :
Librairies :
- https://graphviz.org/resources/ (pour implémentation python)
- http://jsav.io/ (pour implémentation web)
Technologies
python ou programmation web
Contraintes:
n/a
Mots-clés
algorithmique, visualisation, arbres
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2S - Boite à rythmes
Encadrant :
Mail de l'encadrant :
Catégorie(s): Smartphone
Présentation du sujet
Une boîte à rythmes est un appareil électronique (ou un logiciel) qui simule des instruments de percussion.
Elle permet de jouer à l'infini des rythmiques correspondant à des styles de musique pré-programmés (rock, salsa, …) ou de créer des rythmiques personnalisées.
Travail à effectuer :
L'objectif de ce projet est de réaliser une boite à rythme qui fonctionne sur un smartphone. Cette boite à rythme devra permettre :
- la gestion des échantillons pré-enregistrés
- la gestion des échantillons sonores enregistrés par l'utilisateur.
- la génération de ses propres sons électroniques
- l'enregistrement des morceaux composés
Éventuellement, on pourra améliorer l'expérience utilisateur en utilisant les capteurs du smartphone : gyroscope et accéléromètre.
Langage(s) et technologie(s):
- Java/Android/XML
Contrainte(s) :
Sujet L2T - Quarto
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le quarto est un jeu de réflexion basé sur une grille carrée de 16 cases. Sur cette grille deux joueurs déposent des pièces tour à tour.
Le but du jeu est d'aligner 4 pièces présentant les mêmes caractéristiques : blanches ou noires, grandes ou petites, rondes ou carrées, pleines ou creuses.
Travail à effectuer :
Le but du projet est d’implémenter un jeu de quarto. Le programme devra proposer les fonctionnalités suivantes :
- Tout d’abord, le programme devra permettre à deux joueurs humains de s'affronter
- Ensuite, le programme devra permettre de jouer contre l'ordinateur et de proposer des conseils
- Enfin, le programme devra être capable de sauver et de charger une partie en cours
Langage(s) : C/C++ ou Java
Références
Langage
Contrainte(s) :
Sujet L2U - Agenda en ligne
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
Le but de ce projet est de créer un agenda en ligne. Cet agenda devra permettre à une personne d’accéder à son agenda en ligne et d’y pouvoir noter des rendez-vous par exemple, d’en supprimer, d’en décaler….
Il pourra aussi être utilisé par d’autres personnes pour qu’ils puissent prendre rendez-vous lors de créneaux ouvert à la prise de rdv sur internet.
Travail à effectuer
Lors de ce projet vous aurez plusieurs tâches à accomplir :
- Créer un agenda en ligne
- Permettre la création/suppression… de rendez-vous
- Possibilité de prise de rendez-vous par d’autres internautes
- Optionnel / Bonus : mails de rappels 24h avant le rdv, confirmations de prise et d’annulation de rendez vous
Langage(s) :
- Nodejs, framework Express, MongoDB ou SQL, MVC, SOA
Contrainte(s) :
Sujet L2V - Jeu d'échecs
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo, application web
Présentation du sujet
Le jeu d’échecs est un jeu de réflexion qui se joue à 2 sur un échiquier composé de soixante-quatre cases noires et blanches. Chaque joueur tente d’infliger un échec et mat au roi adverse. Pour ce faire chaque joueur utilisent leurs pièces tour à tour, qui ont chacune des déplacements spécifiques. Un roi est échec et mat quand il est menacé et qu’il ne peut plus s’enfuir ou être protégé par d’autres pièces.
Travail à effectuer
Ce projet a pour but de créer un jeu d’échecs sous forme de web service.
Le but étant de créer une application web conforme à l'architecture REpresentational State Transfer (REST), une architecture orientée services (SOA) avec le patron de conception modèle-vue-contrôleur (MVC).
Lors de ce projet vous aurez plusieurs tâches à accomplir :
- Le programme devra tout d’abord permettre à joueurs humains de pouvoir jouer l’un contre l’autre.
- Ensuite chaque partie pourra être sauvegardé et chargé. Une partie achevée pourra être conservée et pourra être rejouée coup par coup.
- Plusieurs fonctionnalités comme le temps, la demande à l’adversaire de rejouer un coup etc… devront être implémentées
- Optionnel / Bonus : création d’une IA pour jouer contre l’ordinateur
Langage(s) :
- Nodejs, framework Express/Socket.IO, MongoDB ou SQL
Contrainte(s) :
Sujet L2W - Développement d'un logiciel d'emploi du temps: gestion des permanences d'une association
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s):Site web, open-source
Présentation du sujet
De nombreuses associations assurent des permanences pour recevoir du public, les bénévoles s'engage à être présent une demi-journée par semaine pour assurer ces permanences.
Bien que ces activités soient fréquentes, il n'existe aucun logiciel open-source permettant d'automatiser la gestion des permanences.
Chaque bénévole peut avoir des contraintes fortes et des contraintes souples pour ses disponibilités; ces contraintes peuvent changer d'une semaine à l'autre.
Pour rendre un service efficient à son public, l'association doit pouvoir s'assure que toutes les demi-journées de la semaine pourront être assurée par des bénévoles.
A la fin de l'année, il serait souhaitable que tous les bénévoles aient contribué de manière égale pour éviter de gros déséquilibres.
Objectifs:
Le logiciel développé doit permettre de:
- rentrer les contraintes et préférences des bénévoles de façon simple et intuitive pour un mois donné
- calculer le nombre de permanences à effectuer pour chaque bénévole
- donner un planning de permanences respectant toutes les contraintes, et autant de préférences que possible
- détecter les conflits pouvant empêcher de trouver une solution, et proposer des plans d'action
L'interface graphique doit être simple et intuitive.
Références
Langage(s) et technologie(s):
Le langage de développement est laissé à l'appréciation du groupe d'étudiants.
Contrainte(s) :
Sujet L2X - Galaxy Fighters
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu Vidéo
Présentation du sujet
Dans Galaxy fighters, le joueur est au commande d'un vaisseau spatial devant traverser un champ d'astéroïdes. Pour en sortir indemne, il devra faire preuve de dextérité.
Au bout du champ de mines, une piste d'atterrissage apparaitra sur les flancs d'un énorme astéroïde; l'atteindre sans encombres permettra de compléter sa mission avec succès.
Travail à effectuer
- Reproduire la traversée du champ d'astéroïdes
- Permettre le pilotage du vaisseau
- Gérer la vitesse de défilement en fonction du niveau
- Sauvegarder les meilleurs scores
Pour améliorer la jouabilité et l'intérêt du jeu, il faudra également développer un système de bonus cachés dans le champ d'astéroïde:
- bouclier
- vie supplémentaire
- etc…
Eventuellement, permettre un mode multi-joueurs.
Au choix: smartphone ou web
Références
Sinuous, un jeu dans le même esprit.
Langage(s) et technologie(s) :
HTML5, Canvas ou Java/Android
Contrainte(s) :
Sujet L2Y - Tetris
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le tetris est un jeu d'arcade qui allie réflexes et réflexion.
Des tetriminos de couleurs et de formes différentes descendent du haut de l'écran. Leur chute est inexorable mais peut être accélérer par le joueur. Le joueur peut également décider de l'angle de rotation et de la position où l'objet peut atterrir. Lorsqu'une ligne horizontale est complétée, elle disparaît et les blocs qui se trouvent au dessus tombent. La partie se termine lorsque la ligne du haut est atteinte et que le joueur ne peut plus agir. L(objectif du heur est donc de compléter un maximum de lignes.
Travail à effectuer
Le but du projet est d’implémenter un jeu de tetris. Le programme devra proposer les fonctionnalités suivantes :
- Tout d’abord, le programme devra permettre de jouer une partie.
- Il devra également permettre une sauvegarde des parties et inclure des tetriminos bonus.
- Le jeu peut être programmé sur la plateforme de votre choix : ordinateur ou smartphone
Langage(s) :
Contrainte(s) :
Sujet L2Z - Photo Deluxe
Encadrant :
Mail de l'encadrant :
Catégorie(s): smartphone
Description : Vous réaliserez une application mobile qui permette de :
- prendre des photos
- de filter les photos (plusieurs filtres à implémenter)
- d'ajouter des emojis et des stickers sur des photos
- d'envoyer les photos à ses amis
S'il reste du temps à la fin du projet, on appliquera les filtres au mode vidéo.
Langage souhaité :
- Java/Android ou React Native
Contrainte :
Posséder un smartphone
Sujet L2AA - Kakuro
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le kakuro est un jeu de réflexion. Ce jeu est basé sur une grille analogue à une grille de mots fléchés; il comporte des cases noires et des cases blanches. Le but du jeu est de remplir les cases blanches avec des chiffres de 1 à 9 en fonction des indications contenues dans les cases noires. Les cases noires sont divisées en deux par une diagonale et contiennent deux valeurs numériques. La première valeur concerne les cases blanches situées en dessous, la seconde valeur concerne les cases blanches situées à droite. Pour pouvoir remplir les cases blanches, il faut s’assurer que la somme de tous les chiffres d’une ligne ou d’une colonne soit égale au nombre indiqué dans la case noire correspondante, et qu’un chiffre n’apparaisse qu’une seule fois.
Travail à effectuer
Le but du projet est d’implémenter un jeu de kakuro. Le programme devra proposer les fonctionnalités suivantes :
- Tout d’abord, le programme devra permettre la création automatique d’une grille de jeu en fonction d’un niveau de difficulté déterminé par le joueur.
- Ensuite, le programme devra permettre de jouer une grille proposée par le programme ou une grille saisie par l’utilisateur.
- Le programme devra être capable de calculer la solution d’une grille
- Enfin, le programme devra être capable de sauver, charger et imprimer une grille
Langage souhaité :
A déterminer
Contrainte(s) :
Sujet L2AB - Jeu des 1000 bornes
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Il vous est proposé dans ce projet de concevoir et développer une version électronique du jeu de carte « 1000 bornes ».
Les 1000 bornes est un jeu de société utilisant des cartes spéciales sur le thème de la course automobile. Le but du jeu est d’être le premier joueur à effectuer 1000 kilomètres (ou bornes) précisément. Pour cela, il vous faudra éviter les pièges de la route : Panne de voiture, feux de signalisation et limitation de vitesses.
Pour commencer une partie, chaque joueur se voir distribuer 6 cartes qu’il ne doit pas montrer aux autres. Le reste du paquet servira de pioche. Pour commencer la partie, le premier joueur doit piocher une carte. S’il a en sa possession un feu vert, il pose cette carte devant lui et peut donc commencer sa partie. Le joueur peut aussi poser une carte « Botte » ou encore une carte « Limitation de vitesse » devant l’un de ces adversaires. Si le joueur ne peut ou ne désire pas poser une carte, il doit obligatoirement en jeter une afin d’avoir toujours 6 carte dans sa main.
C’est ensuite au tour du joueur suivant de jouer. Lui aussi a alors plusieurs possibilités. En plus de celles énumérés ci-dessus, il peut contrer une attaque en posant dessus le contraire de celle-ci pour l’annuler. Exemple : Il pose une carte « fin de limitation de vitesse » sur une carte « Limitation de vitesse ».
Autre choix : le joueur peut également attaquer le joueur qui à poser un feu vert en posant une carte feu rouge.
Le gagnant de la partie est celui qui a réussi à avoir posé exactement 1000 kilomètres devant lui à l’aide des cartes « distance ».
L’application devra permettre de jouer de 2 à 6 joueurs qui seront soit des personnes physiques soit des joueurs virtuels. Dans le cas d’un joueur virtuel, le jeu devra lui attribuer une stratégie de jeu comme par exemple : poser ses kilomètres en premier lieu, attaqué l’adversaire avant tout, …
Langage(s) :
C/C++ ou Java
Contrainte(s) :
Sujet L2AC - Accidentologie
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): site web
Présentation du sujet
Chaque année il y a de nombreux accidents sur la route.
Les données qui recensent tous les accidents (date, lieu, conditions météorologiques, …) sont disponibles en open-data.
Travail à effectuer
Le but du projet est de réaliser un site web qui permet de :
- présenter tous les accidents sur une carte de France en fonction :
- de la date
- d'un intervalle de dates
- des conditions météorologiques
- calculer et présenter des statistiques relatives aux accidents
- identifier les zones dans lesquelles il y a plus d'accidents
Langage souhaité :
Contrainte(s) :
Sujet L2AD - Morphing
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): smartphone
Présentation du sujet
Le morphing d'images est un effet spécial souvent utilisé dans le cinéma qui consiste à passer d'une image à une autre en réalisant une animation.
Pour qu'elle paraisse naturelle, la transformation s'appuie sur des zones de l'image (des points, des vecteurs voire des figures) pour lesquelles l'utilisateur indique une correspondance entre l'image source et l'image cible.
On calcule alors les images intermédiaires pour réaliser l'animation par une interpolation des zones correspondantes entre les deux images.
Travail à effectuer
Le but du projet est de réaliser une application mobile qui permette de :
- prendre ou de choisir des photos
- définir des points de référence entre les deux images
- calculer l'animation correspondante
- sauvegarder l'animation dans un format vidéo ou au format gif
Langage souhaité :
Référence(s) :
Contrainte(s) :
Sujet L2AE - Webmon
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): application
Présentation du sujet
Les internautes fréquentent souvent les mêmes sites internet pourtant tous ne sont pas mis à jour à la même fréquence.
Par exemple, certains blogs ou pages personnelles ne sont mis à jour que quelques fois par mois.
Pour éviter aux internautes de perdre leur temps à vérifier si leurs sites préférés ont été mis à jour, on souhaite avoir une application pour monitorer différentes pages web.
Travail à effectuer
Le but du projet est de réaliser une application qui permette de :
- récupérer une page web
- comparer deux pages web provenant de la même adresse pour déterminer si la page a été mise à jour
- notifier l'utilisateur lorsqu'une page a été mise à jour et lui permettre d'y accéder directement
- gérer les sites préférés de l'utilisateur
- supprimer les modifications liées aux publicités et aux trackers.
Langage souhaité :
Référence(s) :
Contrainte(s) :
Sujet L2AF - Tableaux caloriques des produits alimentaires
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Smartphone
Présentation du sujet
Les données nutritionnelles sont souvent écrites en petit sur les emballages et il n'est pas toujours évident de bien les comprendre.
L'objectif de ce projet est de développer une application mobile pour faciliter le compréhension des informations nutritionnelles et pour faciliter l'analyse de sa consommation quotidienne.
Travail à effectuer : Le but du projet est d’implémenter une application smartphone qui à partir du code barre, récupère les informations nutritionnelles du produit dans les bases de données publiques. Cette application synthétise un diagramme en une bande de plusieurs couleurs (rouge pour le gras, vert pour les fibres etc…) proportionnelles à la quantité. L'idée est de permettre à l'utilisateur d'avoir une idée de la qualité nutritionnelle du produit en un seul coup d'oeil.
Le programme devra proposer les fonctionnalités suivantes :
- capturer une code barre d'un produit
- consulter les bases de données publiques
- afficher le diagramme de plusieurs couleurs
- faire la somme des aliments consommés en : une journée, une semaine, un mois
Langage(s) :
- Java/Android/XML ou React Native
Contrainte(s) :
Sujet L2AG - Puzzle Mania
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu Vidéo
Présentation du sujet
L'objectif de ce projet est de développer une application qui permet de reconstituer des puzzles à partir d'un ensemble de pièces mélangées.
Travail à effectuer
- Créer plusieurs puzzles
- Créer plusieurs niveaux de difficultés
- Permettre à l'utilisateur d'importer ses propres images et d'importer des images depuis internet.
- Avoir un mode chronométré
Pour améliorer la jouabilité et l'intérêt du jeu, on pourra éventuellement permettre un mode multi-joueurs.
Au choix: smartphone ou web
Références
Langage(s) et technologie(s) :
A déterminer
Contrainte(s) :
Sujet L2AH - Bubble shooter
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu Vidéo
Présentation du sujet
Bubble shooter est un type particulier de casse brique; c'est un classique des salles d'arcade.
L'objectif de ce projet est de développer votre propre bubble shooter.
Travail à effectuer
- Créer plusieurs niveaux
- Créer plusieurs niveaux de difficultés
- Ajouter un système de bonus
- Avoir un mode chronométré
Pour améliorer la jouabilité et l'intérêt du jeu, on pourra éventuellement permettre un mode multi-joueurs.
Au choix: smartphone ou web
Références
[
Langage(s) et technologie(s) :
A déterminer
Contrainte(s) :
Sujet L2AI - Site de gestion de bibliothèque
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
Il arrive souvent lorsque l'on possède une importante bibliothèque de ne plus être sûr des livres que l'on possède.
De même dans ces cas là, on peut être amené à prêter des livres à un proche, et parfois ne plus savoir à qui on l'a prêté, ni quand.
Le but de ce projet est de résoudre ces problèmes grâce à un site web qui permettra aux utilisateurs de gérer leurs bibliothèques.
Les utilisateurs pourront alors entrer les données correspondant à leurs livres (titre, auteur, année de sortie, date d'achat…), et à tout moment effectuer des recherches dans la liste de leurs livres (et ainsi par exemple ils éviteront d'en acheter un deuxième exemplaire).
Les utilisateurs pourront aussi garder une trace des livres qu'ils ont prêté à des amis.
Travail à réaliser :
On attend une application web ou mobile qui permettra à l’utilisateur d’ajouter des données concernant ses livres.
Il doit être possible de modifier les données d’un livre enregistré, ou de le supprimer de la liste, et d’indiquer qu’un livre a été prêté à un ami, en précisant les informations sur ce prêt (personne, date du prêt, …).
L’utilisateur doit également pouvoir faire des requêtes sur sa liste de livres (par exemple, afficher tous les livres d’auteurs japonais, possédés en livre de poche, ou qui sont sortis entre 2009 et 2012, …).
Enfin, l'utilisateur doit pouvoir planifier l'achat de nouveau livres.
Langage(s) et technologie(s):
- Au choix de l’équipe de développement. Dans le cas d’un site web, il s’agit par exemple de HTML/CSS/PHP/Javascript. Il est également possible de travailler sous Android ou iOS.
- Enfin, il faudra prévoir un moyen de stockage des données (base de données, XML,…)
Contrainte(s) :
Sujet L2AJ - 2048
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Smartphone, jeu vidéo
Contexte
Le jeu 2048 a eu un grand succès ces dernières années, aussi bien sur le web qu’en tant qu’application mobile.
Il s’agit d’un petit casse-tête qui consiste à déplacer des cases dans une grille 4×4 de façon à faire fusionner deux cases identiques lorsqu’elles se rencontrent. Les cases contiennent des puissances de 2.
Ainsi, deux cases 2 fusionneront en une case 4, deux cases 4 fusionneront en une case 8, etc Le but du jeu est de faire apparaître la case 2048 (2 à la puissance 11).
Il est bien entendu possible de continuer au-delà, et de faire apparaître des valeurs plus élevées.
Travail à réaliser :
Le but du projet est de développer une application mobile pour 2048.
En plus des fonctionnalités de base (pouvoir jouer une partie), il faudra prévoir un certain nombre d’extensions : possibilité de jouer dans des grilles de taille différente, objectif à atteindre différent, tableaux des meilleurs scores, modification du thème graphique, partage du score sur les réseaux sociaux, etc
Une fonctionnalité optionnelle est le développement d’une intelligence artificielle capable de jouer au jeu.
L’intérêt de cette IA serait de permettre à un joueur qui hésite sur son prochain coup d’obtenir un indice.
Langage(s) et technologie(s):
- Au choix des étudiants, développement pour le web (HTML, CSS, PHP, Javascript), développement d’application stand-alone (Java, C++,…) ou d’application mobile (Android, iOS)
- Il faudra également prévoir la gestion d’une base de données
Référence(s) :
Mots-clés :
- Application mobile, jeu, intelligence artificielle
Sujet L2AK - Jeu de Poker Texas Holdem
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le poker est une famille de jeux de cartes comprenant de nombreuses formules et variantes. Il se pratique à plusieurs joueurs avec un jeu généralement de cinquante-deux cartes et des jetons représentant les sommes misées. Les séquences de jeu alternent distribution de cartes et tours d'enchères. Le but du jeu est de remporter les jetons des adversaires en constituant la meilleure combinaison de cinq cartes ou en leur faisant abandonner le coup. Dans ce projet nous nous intéresserons uniquement à la variante la plus populaire actuellement: le No Limit Texas Hold'em dans son format Heads Up (1 contre 1).
Travail à effectuer
Le but du projet est d’implémenter un jeu de No Limit Texas Hold'em dans lequel le joueur affronte l'ordinateur. Le programme devra proposer les fonctionnalités suivantes :
- Le programme devra gérer automatiquement toutes le règles du jeu et les tours d'enchères.
- Il faudra développer l'intelligence artificielle qui affrontera le joueur.
- L'environnement du jeu devra être entièrement paramétrable et les parties jouées devront être sauvegardées.
Langage(s) et technologie(s):
Au choix: Java ou C
Interface graphique, Intelligence artificielle
Contrainte(s) :
Sujet L2AL - Oenologik
Encadrant :
Mail de l'encadrant :
Catégorie(s): Smartphone
Présentation du sujet
L’oenologie est la science qui a pour objet l'étude et la connaissance du vin (Wikipédia). La France est le principal producteur de vins au monde et cette application vise à mettre en valeur les différents aspects de la production française.
Travail à effectuer :
L'objectif de ce projet est de réaliser une application qui fonctionne sur un smartphone. Elle devra permettre :
- de recenser et d'explorer les terroirs
- d'informer sur les différents cépages et la vinification
- présenter les caractéristiques de différents vins
- proposer des conseils pour sa manipulation et sa dégustation
- proposer des conseils pour marier vins et mets
- proposer un aide-mémoire pour les AOC, les meilleurs vins et les meilleures années
Références
Langage(s) et technologie(s) : Java/Android/XML ou React Native/Javascript
Contrainte(s) :
Posséder un smartphone sous iOS (avec une licence développeur) ou sous Android