Projets de programmation 2024-2025
Date limite de dépôt de votre fiche de voeux sur le site: 25/01/2025 à 20h
Sujet L2A - Course automobile 3D
Nom de l encadrant :Lattaud Claude
Catégorie(s): jeu vidéo
Contexte
Jeu 3D
Objectifs :
Il s'agira de développer une application de course automobile 3D dans ce projet. L'utilisateur sélectionnera un modèle d'automobile parmi un ensemble selon différents critères, tels que la robustesse de la carosserie, sa vitesse maximum, l'accélération, l'adhérence des pneus, etc. Il participera ensuite à une course contre d'autres véhicules dirigés par ordinateur. La troisième dimension sera utilisée via des tunnels, des ponts, des tremplins ou d'autres éléments laissés à l'imagination des étudiants. Des tests approfondis seront effectués afin d'évaluer la robustesse de l'application.
Références bibliographiques
n/a\
Technologies
n/a\
Contraintes:
n/a\
Mots-clés
Jeu 3D
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2B - Jeu de l'oie 2D
Nom de l encadrant :Lattaud Claude
Catégorie(s): jeu vidéo
Contexte
Jeu 2D
Objectifs :
L'objectif de ce projet est de réaliser un jeu de l'oie en 2D. Le jeu de l'oie classique est un jeu de parcours où les pions des joueurs sont déplacés selon des jets de dés. Des variantes pourront être proposées selon des thèmes définis par les étudiants. Cette application devra être réalisée en multi-plateforme afin de permettre la plus grande souplesse d'utilisation. A terme, ce projet devrait mener à un ensemble de jeux tant pour le plaisir que pour l'éducation des enfants. Cette application pourra être testée auprès de jeunes, voire très jeunes, enfants.
Références bibliographiques
n/a\
Technologies
Unity 3D
Contraintes:
n/a\
Mots-clés
Jeu 2D
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2C - Inspirations et Classification
Nom de l encadrant :Meynadier Jeremy
Catégorie(s): app. gestion, prototypage, veille technologique
Contexte
Les graphistes ont besoin d'inspiration et vont piocher dans des images un peu partout sur le net, mais au bout d'un moment l'accumulation d'inspiration fait que l'on est noyé dans sous un trop nombre d'informations difficile à triées pour son utilisateur.
Objectifs :
Travail à effectuer :
*Premier temps :*
- Développement de la classification des images via les métadonnées
- Conception d’une interface graphique pour la visualisation des images et de recherche d'une image via un mot clé de classification des métadonnées.
- *Contraintes :* Étude de l’ergonomie et proposition de maquette
Références bibliographiques
n/a\
Technologies
A déterminer
Contraintes:
n/a\
Mots-clés
Photos, Métadonnées, Imagerie
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2D - Classement et recherche d’images par le contenu
Nom de l encadrant :Kurtz Camille
Catégorie(s): app. scientifique, découverte/initiation, intelligence artificielle
Contexte
Contexte
La fouille d'images (« Image mining ») est le domaine de l'analyse et de l'extraction de connaissances / informations appliquée aux images sous leurs diverses formes. Elle se situe à l'intersection de la vision par ordinateur, de la compréhension visuelle de l'image, de l'exploration de données, de l'intelligence artificielle et de l'algorithmique. Les techniques utilisées sont : l'indexation ; la recherche d'image par le contenu (en anglais : content-based image retrieval ou CBIR) ; la classification ; le clustering (regroupement hiérarchique ou partitionnement de données) ; les règles d'association.
Dans ce projet, nous nous intéressons en particulier au problème de l’indexation d’images présentes dans une base pour permettre à un utilisateur donné : (1) de rechercher des images similaires (à une requête) à partir de ses caractéristiques visuelles, c'est-à-dire induite de leurs pixels ou (2) de classer des images / photographies en fonction de leurs contenus visuels (toutes les photos liées à ma dernière balade en montagne). Pour ces 2 cas d’utilisation, les images sont classiquement décrites comme rendant compte de leur texture, couleur, forme et indexer sous la forme d’un vecteur de caractéristique. La technique de recherche d'image par le contenu s'oppose à la recherche d'images par mots-clés ou tags, qui fut historiquement proposée par les moteurs de recherche tels que Google Image grâce à des banques d'images où les images sont retrouvées en utilisant le texte qui les accompagne plutôt que le contenu de l'image elle-même (mais Google Image propose désormais des filtres basés sur le contenu (pixels) des images).
Pour plus de détails, rdv sur Wikipédia : Recherche d'image par le contenu (https://fr.wikipedia.org/wiki/Recherche_d%27image_par_le_contenu)
Objectifs :
Objectifs Le but du projet est de développer une application permettant à partir d’une base d’images, de répondre aux deux cas d’utilisation données ci-avant. Pour l’étape d’indexation, nous pourrons nous baser sur des représentations visuelles des images obtenues à partir des histogrammes colorimétriques calculés dans les espaces HSV et RGB. L’application réalisée devra permettre de visualiser et d’interagir avec la base d’images via les représentations visuelles ainsi extraites. L’application pourra comporter a minima deux fenêtres, une permettant le paramétrage souhaité et l’autre permettant d’interagir avec les résultats. Pour accélérer l’indexation des images dans la base de données, on pourra considérer une base de données ou un système de fichiers CSV.
Organisation du travail
- Réalisation d’un cahier des charges
- Prise main d’une librairie permettant la manipulation / traitement d’images
- Développement du logiciel d’indexation et de recherche d’images par le contenu
- Choisir trois fonctionnalités additionnelles et les soumettre à votre encadrant
- Réalisation des fonctionnalités choisies
- Tester / évaluer le logiciel développé\
Références bibliographiques
Arnold W. M. Smeulders, Marcel Worring, Simone Santini, Amarnath Gupta, Ramesh C. Jain: Content-Based Image Retrieval at the End of the Early Years. IEEE Trans. Pattern Anal. Mach. Intell. 22(12): 1349-1380 (2000)
Technologies
Au choix des étudiants, développement pour le web (PHP, Javascript), développement d’application stand-alone (Python, C++,…), développement Mobile Android
Contraintes:
Les différentes briques de la plateforme devront être facilement modifiables pour permettre de nouvelles fonctionnalités. Des mécanismes / stratégies intelligentes de visualisation des résultats devront être déployées dans l’application.
Mots-clés
Recherche d'images par le contenu, indexation, IA, représentation d'images
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2E - Jobo "un objet made in France pour un job"
Nom de l encadrant :Grizon Laurent
Catégorie(s): intelligence artificielle
Contexte
Dans un contexte de ré-industrialisation post-Covid de la France, de transition écologique, de changement climatique et de décarbonation des filières industrielles, le triple constat est fait :
1- d’une désaffection des jeunes générations pour les métiers de l’industrie en général
2- d’une prise de conscience sociétale élevée de la part de ces jeunes générations
3- d’une utilisation quotidienne de smartphone par les « digital natives » adeptes des réseaux sociaux
Objectifs :
Il s’agit, avec ce projet de développement d’une application logicielle sur smartphone, de rendre attractives les filières de l’industrie française, leurs métiers, les compétences et les formations auprès des jeunes et du grand public à travers les objets manufacturés qu’elles produisent en faisant le lien entre l’objet manufacturé et les compétences qu’il faut mobiliser pour le produire, mais aussi en mesurant son impact environnemental.
Objectifs
• Rendre de l’attractivité auprès des jeunes générations, de leurs familles et du grand public pour les métiers de l’industrie en partant de l’objet manufacturé en mettant en lumière les compétences et le cycle de formation, mais aussi la signature carbone de l’objet manufacturé. • Proposer aux jeunes d’appartenir à une communauté interconnectée autour de l’objet et des compétences nécessaires pour le fabriquer
o jeunes cherchant un métier lié à l’objet,
o jeunes ayant déjà fait une formation pour acquérir les compétences pour réaliser l’objet,
o jeunes embauchés dans une entreprise réalisant l’objet.
• Améliorer la pédagogie sur les métiers et compétences de l’industrie en les rendant tout de suite « accessibles ».
• Valoriser le « made in France » auprès des jeunes et du grand public.
Motiver les industriels à décarboner leurs filières via l’affichage de la signature carbone de leurs produits.
Les besoins
- Industrialiser l’application (mettre en production les serveurs et publier l’application sur les stores)
- Finaliser JOBO Analytics
- Développer les plugins connectant les données conformément à l’objectif final
Références bibliographiques
n/a\
Technologies
n/a\
Contraintes:
n/a\
Mots-clés
made in France, trouver un job, Industrie
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Sujet L2F - Coding Games
Nom de l encadrant :Dandan Alaa
Catégorie(s): site web, veille technologique, web-service
Contexte
Dans le cadre du processus de recrutement en entreprise ou dans un contexte éducatif, la nécessité de développer des outils numériques pour la création et la gestion d'examens interactifs d'évaluation des candidats est cruciale.
Objectifs :
Ce projet vise à concevoir et développer une plateforme web dédiée à la création et à la gestion d'examens interactifs pour évaluer des compétences.
Objectifs: - Modélisation de l'interface graphique et de la BDD
- Développer une interface conviviale qui permet aux enseignants de créer, éditer et organiser des examens interactifs, et aux étudiants de les passer de manière fluide.
- Gestion de paramétrages du temps passé pour répondre aux questions
- Analyse des performances et du temps de réponse des candidats
- Automatisation de la notation si les question sont des QCM
Références bibliographiques
n/a\
Technologies
java, 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
Sujet L2G - Développement d’une application dédiée à la mesure physiologique de la charge mentale en aviation générale et en éducation
Nom de l encadrant :Gnaho Christophe
Catégorie(s): prototypage
Contexte
La charge mentale est un enjeu majeur dans les environnements à forte exigence cognitive, tels que l’aviation générale et le monde de l’éducation. Dans l’aviation, une surcharge mentale peut entraîner des erreurs critiques, tandis que dans l’éducation, elle peut limiter les capacités d’apprentissage et nuire à l’engagement des apprenants.
Avec l’essor des dispositifs connectés grand public (montres, bracelets, ceintures thoraciques, etc.), il devient possible de mesurer des paramètres physiologiques tels que la fréquence cardiaque ou la variabilité cardiaque pour évaluer la charge mentale en temps réel. Ce projet vise à explorer ces dispositifs, à développer une application dédiée et à démontrer leur pertinence à travers deux cas d’usage concrets : l’aviation générale et les environnements d’apprentissage.
Objectifs :
- Étude des dispositifs connectés et des données pertinentes
- Réaliser une analyse comparative des dispositifs disponibles sur le marché (bracelets connectés, montres, ceintures thoraciques, etc.).
- Identifier les indicateurs physiologiques pertinents pour évaluer la charge mentale, tels que la fréquence cardiaque, la variabilité de la fréquence cardiaque, ou encore les niveaux de stress.
- Conception et développement d’une application dédiée
- Concevoir une application capable de s’interfacer avec plusieurs dispositifs connectés pour collecter les données physiologiques en temps réel.
- Développer des protocoles de communication fiables pour assurer une récupération cohérente des données.
- Adaptation à deux contextes d’utilisation :
- Aviation générale :
- Développer une interface spécifique permettant d’analyser la charge mentale des pilotes en conditions de vol ou de simulation.
- Proposer des outils d’aide à la décision basés sur les données collectées pour prévenir la surcharge mentale.
- Éducation :
- Créer une interface adaptée pour analyser la charge mentale des étudiants pendant des activités d’apprentissage (ex. cours en ligne, examens).
- Étudier comment ajuster dynamiquement les contenus pédagogiques ou les activités en fonction des mesures recueillies.
- Validation et expérimentation
- Tester l’application dans des contextes réels : simulateurs de vol pour l’aviation et environnements d’apprentissage pour l’éducation.
- Évaluer la qualité des données recueillies, la pertinence des adaptations proposées et la satisfaction des utilisateurs.
- Analyse et recommandations
- Analyser les données collectées pour identifier des tendances ou des corrélations entre charge mentale et performance.
- Proposer des recommandations pour intégrer ces outils dans des pratiques professionnelles (formation des pilotes, amélioration des environnements d’apprentissage).
Références bibliographiques
n/a\
Technologies
n/a\
Contraintes:
n/a\
Mots-clés
n/a\
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2H - Création d’un site marchand pour la commercialisation de produits destinés aux conducteurs de véhicules électriques
Nom de l encadrant :Gnaho Christophe
Catégorie(s): site web
Contexte
Dans le cadre de sa stratégie de développement durable, l’agence de communication 1ntergroupe souhaite mettre en place un site marchand pour commercialiser une nouvelle gamme de produits dédiés aux conducteurs de véhicules électriques. Ce site, nommé Disk-EV, devra refléter les valeurs de l’agence tout en proposant une expérience utilisateur fluide et intuitive.
Le projet se concentrera sur la création d’une plateforme de e-commerce destinée au marché français, avec un catalogue initial limité mais doté de fonctionnalités avancées, telles que des tarifs dégressifs, des options personnalisables, et un traitement optimisé des données.
Objectifs :
- Analyse des besoins et conception fonctionnelle
- Étudier les spécifications fournies par l’agence : catalogue produit (10 références avec options), structure de navigation simple, exigences en matière d’identité visuelle et de contenu.
- Définir une architecture claire et responsive, adaptée aux écrans d’ordinateurs.
- Développement technique
- Choisir un framework adapté
- Intégrer les fonctionnalités suivantes :
- Catalogue produit avec options personnalisables et tarifs dégressifs.
- Module de paiement sécurisé fourni par l’agence.
- Tableau de bord pour la génération de rapports (ventes, stocks, comportements des utilisateurs).
- Assurer la compatibilité avec les principaux navigateurs.
- Intégration visuelle et responsive
- Appliquer les éléments fournis par l’agence (logos, images, palettes de couleurs, polices, etc.) pour respecter l’identité visuelle.
- Concevoir une interface utilisateur intuitive, adaptée à un affichage sur ordinateurs (responsive sur différentes résolutions).
- Optimisation SEO et performance
- Mettre en place une stratégie de référencement naturel (SEO), en intégrant les mots-clés fournis par l’agence.
- Optimiser la vitesse de chargement du site et s’assurer d’un hébergement performant (chez OVH).
- Tests et validation
- Effectuer des tests fonctionnels (navigation, paiement, personnalisation des produits) et des tests de performance (vitesse, compatibilité navigateur).
- Valider la conformité du site avec l’agence et ses exigences.
- Documentation
- Fournir une documentation à l’interlocuteur de l’agence pour la gestion des contenus (ajout de nouveaux produits, suivi des commandes).
- Rédiger une documentation technique et utilisateur pour faciliter la maintenance et l’évolution du site.
Références bibliographiques
n/a\
Technologies
n/a\
Contraintes:
n/a\
Mots-clés
n/a\
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2I - Réalisation d'un jeu de simulation de vie d'un petit animal (Tamagotchi)
Nom de l encadrant :Kurtz Camille
Catégorie(s): jeu vidéo
Contexte
Un tamagotchi — terme que l’on peut traduire littéralement par « montre-oeuf » — est un animal de compagnie virtuel. Ce jouet a envahi les cours de récréations à la fin des années 90. Il se présente sous la forme d’une micro-console de jeu et consiste à élever et éduquer une sorte d’animal en le nourrissant, le lavant, le soignant, le faisant jouer, etc.De nombreuses versions et copies apparurent en quelques années. La version originale avait la particularité de ne permettre qu’une seule partie: une fois votre tamagotchi mort, la micro-console était bonne à jeter. Cette restriction donna naissance à des phénomènes bien étranges : crises et pleurs pour la mort d’un animal virtuel, et surtout cimetières de tamagotchis.
Objectifs :
Le but du projet est de développer une application mobile du jeu Tamagotchi. Le tamagotchi peut être représenté par plusieurs caractéristiques: ’nom’, ‘faim’ et ‘état’. Au départ la seule action disponible est ‘Nourrir’ et les différents états sont: ‘ok’, ‘affamé’ et ‘mort’. Vous devrez compléter cela pour ajouter au moins trois nouvelles fonctionnalités. Pour cela vous devrez ajouter de nouvelles caractéristiques comme ’santé’, ’fatigue’ ou ’hygiène’, de nouvelles actions comme ‘Guérir’, ‘Dormir’ ou ‘Laver’ ainsi que de nouveau états comme ‘malade’, ‘fatigué’ ou ’sale’. Vous êtes libre de choisir quelles fonctionnalités vous souhaitez ajouter ainsi que leur logique de fonctionnement. Cependant vous devez prévoir au moins deux interactions entre les différentes fonctionnalités. Voici un exemple d’interaction: si votre tamagotchi est fatigué (ou bien sale) et que vous ne faite pas dormir (ou bien que vous ne le laver pas), sa santé baisse et il tombe malade rapidement.
Il faudra aussi prévoir la possibilité de transférer pour une période donnée son Tamagotchi à un autre utilisateur (par exemple si pendant une semaine un utilisateur n’est pas capable de s’en occuper, il pourra le confier à quelqu’un) ou de pouvoir faire interagir ensemble deux Tamagotchis situés sur des téléphones différents. On pourra ici profiter des communications NFC du téléphone ou d’autres stratégies (par exemple en centralisant les personnages sur une base de données externe).
Organisation du travail
- Réalisation d’un cahier des charges
- Prise en main développement application Android
- Développement du logiciel de gestion d’un Tamagotchi
- Choisir trois fonctionnalités additionnelles et les soumettre à votre encadrant
- Réalisation des fonctionnalités choisies
- Tester / évaluer le logiciel développé\
Références bibliographiques
https://fr.wikipedia.org/wiki/Tamagotchi
Technologies
Développement Mobile Android
Contraintes:
Les différentes briques de la plateforme devront être facilement modifiables pour permettre de nouvelles fonctionnalités.
Mots-clés
Jeu simulation, Android, Tamagotchi
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2J - 3T3D - Jeu de morpion en 3D
Nom de l encadrant :Denis Nicolas
Catégorie(s): app. autonome, framework/librairie, jeu vidéo, smartphone
Contexte
Le jeu de morpion est passablement ennuyeux. Nous trouverons comment en faire le meilleur jeu du monde.
Objectifs :
Réaliser un jeu pour smartphone.
Le principe de base est celui du morpion, mais sur 3 niveaux pour y jouer en 3D.
De nombreux add-on seront mis en place :
- après 2 coups “normaux”, possibilité de supprimer une pièce adverse.
- après 4 coups “normaux”, possibilité de supprimer deux pièces adverses.
- après 6 coups “normaux”, possibilité de poser une pièce allant sur 2 emplacements.
- après 8 coups, possibilité d'échanger deux niveaux.
…
Utiliser une plateforme de développement de jeu (Unity conseillée).
Attention : un niveau plus que correct en programmation est conseillé.
Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi.
Références bibliographiques
@@Références bibliographiques@@
Technologies
C#
Contraintes:
Avoir des smartphones sous Android ; Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi.
Mots-clés
jeu vidéo ; Unity ; Android
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2K - Guichet automatique bancaire
Nom de l encadrant :Jastrebic Dragutin
Catégorie(s): app. autonome
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. 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.
Objectifs :
Développement d'un prototype
Références bibliographiques
n/a\
Technologies
Java
Contraintes:
n/a\
Mots-clés
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2L - INMOOV - Animer des parties du corps
Nom de l encadrant :Cohen Eyal
Catégorie(s): robotique
Contexte
INMOOV est un projet de robotique accessible, utilisant de l'impression 3D et l’Arduino. Il consiste dans son entièreté à imprimer un robot humanoïde et à l'animer.
Objectifs :
Le but de ce projet et d'imprimer et d'animer certaines parties du corps - par exemple commencer par un doigt, une main voire un bras en fonction de l'avancement.
Pour ce faire, il faudra utiliser l'imprimante 3D, assembler les parties ensemble et utiliser un kit Arduino pour l'animer.
Initialement des mouvements simples et contrôlés en direct seront demandés, mais il sera éventuellement possible de créer des enchaînements et combinaisons plus complexes de mouvements.
Références bibliographiques
Technologies
Arduino, Python, autres
Contraintes:
n/a\
Mots-clés
Robotique
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2M - Application de Menu Numérique via QR Code
Nom de l encadrant :Miloudi Fouad
Catégorie(s): app. gestion
Contexte
L’objectif de ce projet est de développer une application web permettant aux clients d’un restaurant de consulter un menu numérique via un QR code. L’application vise à simplifier l’interaction client-restaurant et à moderniser le service en remplaçant les menus papiers par une solution numérique.
Objectifs :
2- Objectifs du Projet
Permettre aux clients d’accéder au menu en scannant un QR code.
Simplifier la gestion des menus pour le restaurant (ajout, modification, suppression d’articles).
Offrir une interface utilisateur intuitive et responsive.
Garantir un système sécurisé pour l’accès et la modification des données du menu.
- Fonctionnalités
3.1. Fonctionnalités principales
Génération de QR codes :
Chaque table dispose d’un QR code unique redirigeant vers le menu en ligne.
Affichage du menu :
Consultation des catégories (Entrées, Plats, Desserts, Boissons).
Visualisation des détails des articles (nom, description, prix, image).
Gestion des commandes (optionnelle) :
Ajout des articles au panier.
Transmission de la commande en cuisine.
3.2. Fonctionnalités pour le restaurant (interface admin)
Gestion du menu :
Ajout, modification et suppression des articles.
Organisation des articles par catégories.
Gestion des QR codes :
Génération et téléchargement des QR codes pour les tables.
3.3. Fonctionnalités pour les utilisateurs (clients)
Accès au menu :
Accès rapide via scan du QR code.
Affichage optimisé pour smartphones.
Langues :
Possibilité de consulter le menu en plusieurs langues.
- Contraintes Techniques
4.1. Technologies proposées
Frontend :
Framework : Vue.js, React, ou Angular.
Langages : HTML, CSS, JavaScript.
Backend :
Langages : Node.js, Python (Flask/Django) ou PHP.
Base de données : MySQL, PostgreSQL ou MongoDB.
Outils tiers :
Bibliothèque de génération de QR codes (e.g., qrcode.js, PyQRCode).
4.2. Hébergement
Serveur local pour le développement (e.g., XAMPP, WAMP, ou Docker).
Option d’hébergement web (Heroku, Vercel ou AWS) pour les tests en production.
4.3. Accessibilité
L’application doit être responsive et compatible avec les navigateurs courants.
- Organisation du Projet
5.1. Équipe de développement
Développeurs frontend et backend.
Responsable de la base de données.
Testeurs (optionnel).
5.2. Livrables
Documentation technique (schéma de la base de données, diagrammes UML).
Code source complet.
Rapport final décrivant les étapes de développement.
- Critères de Réussite
Fonctionnement sans erreurs majeures sur les appareils mobiles.
Menu facile à gérer pour le restaurant.
QR code fonctionnel et accessible pour les clients.
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 L2N - Programmation d'un jeu contenant du hasard
Nom de l encadrant :Bouzy Bruno
Catégorie(s): intelligence artificielle
Contexte
Sujet = Computer Dice Game (programmation d’un jeu de dés)
Intérêt : Les jeux de dés comprennent du hasard obligeant la stratégie des joueurs à inclure non seulement une maximisation d’un score mais aussi une gestion de l’incertitude des jets de dés.
Les jeux autorisés dans ces projets sont des jeux de dés : Pickomino, Plakoto et Fevga.
Pickomino
Pickomino est un jeu créé en 2005 par Reiner Knizia et édité par Zoch Verlag pour des enfants de 8
ans et plus. Des « dindons » « picorent » le plus de « vers » possibles en attrapant des dominos via
des lancers de dés.
Nombre de joueurs : 2 ou plus.
Objectif : obtenir le plus de « vers » possibles.
Matériel :
8 dés à 6 faces : chaque face correspond soit à un nombre entre 1 et 5, soit à un « ver »
16 dominos numérotés de 21 à 36 et possédant un nombre de « vers » allant de 1 à 4.
Déroulement d’une partie :
Tant qu’il reste des dominos sur la table, les joueurs jouent à tour de rôle pour attraper un domino et
ses « vers ». A son tour, un joueur lance les dés, une ou plusieurs fois, pour obtenir un domino ou
prendre un domino chez un autre joueur. S’il n’obtient pas de domino à son tour, le joueur doit
rendre le dernier domino qu’il a obtenu jusque là. Plus de détails dans les règles.
Plakoto et Fevga
Plakoto est le second jeu du jeu de Tavli (Portès, Plakoto, Fevga), très populaire en Grèce. Fevga est le troisième.
Comme au Backgammon, Plakoto et Fevga opposent 2 joueurs, utilisent le même plateau de jeu avec 15 pions blancs et 15 pions noirs et 2 dés. A son tour, un joueur avance ses pions suivant le tirage des deux dés. L’objectif est d’amener tous ses pions à l’arrivée.
A Plakoto, les pions blancs et pions noirs vont en sens inverse.
A Fevga, ils vont dans le même sens (comme aux petits chevaux).
A Plakoto, un pion peut « plaquer » un pion adverse seul sur sa case en se posant sur lui. Tant qu’il est « plaqué », un pion reste immobilisé.
A Fevga, il n’y a pas de « plaquage » : un pion d’une couleur donnée ne peut accéder qu’à des cases vides ou occupées par un ou plusieurs pions de sa couleur.
Bien sûr, il existe d’autres règles dont nous donnons par le détail ici, le principal y étant pour choisir
un jeu de dés plutôt qu’un autre.
Objectifs :
Objectifs successifs par priorité décroissante :
- Faire une interface textuelle en Python ou autre langage de prédilection (C, C++, Java) permettant à des humains de jouer au jeu choisi.
pour jouer à un jeu en respectant les règles.
- Faire une Intelligence Artificielle (IA) Monte Carlo jouant au jeu choisi.
- Faire une interface graphique (en Pygame par exemple).
Références bibliographiques
Pour les règles du jeu, taper le nom du jeu dans un moteur de recherche suffit. Par exemple :
Pickomino :
Tavli :
Portes :
Plakoto :
Fevga :
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 - LDVH
Nom de l encadrant :Louis Elise
Catégorie(s): découverte/initiation
Contexte
Ce projet a pour but de proposer un logiciel d’aide à la création et de lecture de livres interactifs, aussi appelés “livres dont vous êtes le héros”.
Objectifs :
L’objectif de ce projet est de proposer un logiciel facile et robuste.
Le logiciel permettra à un utilisateur de réaliser tout ou partie des actions suivantes :
Créer un nouveau livre ou charger un livre existant.
Construire et rédiger les sections du livre, définir des enchaînements entre elles, et annoter ces enchaînements avec des conditions (par exemple, possession d’un objet).
Visualiser le graphe des sections et enchaînements dans une interface graphique.
Analyser automatiquement le graphe pour détecter les sections inatteignables.
Générer :
Une version imprimable du livre avec des sections numérotées aléatoirement.
Une version web interactive (HTML5), où chaque page correspond à une section et les choix actifs sont visibles en fonction des conditions remplies.
Références bibliographiques
n/a\
Technologies
Java; HTML5; webStorage
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 - Initiation au Machine Learning - Spaceship Titanic
Nom de l encadrant :Cohen Eyal
Catégorie(s): découverte/initiation
Contexte
En 2912, un vaisseau ironiquement nommé le Titanic en référence au tristement célèbre naufrage de 1912, connaît un drame similaire. Bien que le vaisseau soit intacte, la moitié de ses passagers se voient transportés dans une autre dimension. Il vous est alors demandé de mettre en place une méthode permettant de prédire au mieux quels passagers se sont fait transporter par cette anomalie et lesquels n'ont pas fait face a ce sort.
Objectifs :
Les objectifs de ce projets sont:
- se familiariser avec les techniques de base du machine learning
- visualier les données et expliquer au mieux l'influence des différents facteurs sur le résultat
- obtenir le meilleur score de prédiction possible - notamment il est possible de soumettre à la compétition kaggle pour obtenir le meilleur classement possible.
Références bibliographiques
https://www.kaggle.com/competitions/spaceship-titanic/overview
Technologies
Python
Contraintes:
n/a\
Mots-clés
Machine Learning
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2Q - Comparatif Unity 3D - Unreal engine
Nom de l encadrant :Lattaud Claude
Catégorie(s): découverte/initiation
Contexte
Comparaison moteurs physiques 3D
Objectifs :
L'objectif de ce projet est de comparer point à point deux moteurs 3D physiques afin d'établir les avantages et inconvénients de l'un et l'autre. Dès lors, il s'agira de proposer un protocole de comparaison précis et une liste des tâches essentielles à un tel moteur. Des exemples pourraient être la construction d'une scène avec X objets, les différentes interactions entre objets, la construction d'un menu interactif, le fonctionnement de la caméra et sa facilité d'utilisation, la mise en place du ciel ou d'une surface d'eau, les différents types d'éclairages, les langages proposés pour les scripts, les parcours d'objets mobiles, etc etc. Pour chacune des tâches du protocole, les étudiants proposeront un temps minimum et un temps maximum de développement selon le niveau du ou des codeurs.
Références bibliographiques
n/a\
Technologies
Unity 3D, Unreal engine
Contraintes:
n/a\
Mots-clés
Moteurs physiques 3D
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2R - Full Go
Nom de l encadrant :Denis Nicolas
Catégorie(s): smartphone
Contexte
Le jeu de Go est un des plus complexes qui soit. Mais les pions se placent aux croissements de lignes.
Programmons un jeu de Go sur smartphone, avec un placement libre des pions.
Objectifs :
Programmer un jeu de Go sur smartphone Android, avec des placements libres pour les pions.
Utiliser une plateforme de développement de jeu (Unity conseillée).
Attention : un niveau plus que correct en programmation est conseillé.
Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi.
Références bibliographiques
https://fr.wikipedia.org/wiki/Go_(jeu)
Technologies
Unity ; Android ; C# ;
Contraintes:
Avoir des smartphones sous Android. Cours le soir, entre 18h et 20h30. Le plus souvent le mercredi.
Mots-clés
jeu vidéo
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2S - Outil de vérification de la traçabilité
Nom de l encadrant :Meynadier Jeremy
Catégorie(s): app. gestion
Contexte
Dans l'aéronautique la vérification de la traçabilité est un enjeux cruciale.
Pour savoir, si l'ensemble des developpement ont été effectué.
La traçabilité interdocument doit être de 100% pour cela un outil d'analyse de document est indispensable.
Objectifs :
Travail à effectuer :
*Premier temps :*
- Développement d'un analyseur de documents.
- Développement du module statistique.
- Développement des filtres d'analyse.
*Deuxième temps :*
- Développement d'une interface graphique permettant de visualiser les liens entre les documents, d'évaluer le taux de traçabilité et d’appliquer les filtres.
*Exemple : Document A (référence) — Document B (trace A) — Document C (trace B)
Références bibliographiques
n/a\
Technologies
C++
Contraintes:
n/a\
Mots-clés
Documentation
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2T - Culturama
Nom de l encadrant :Braud-mussi Raphael
Catégorie(s): app. autonome
Contexte
Dans une société où l'accès à la culture est quasiment illimité, il est parfois difficile de s'y retrouver et de trouver le livre, le film, la série, le jeux vidéo, etc., qui correspondrait à une envie et à un thème à découvrir.
Objectifs :
Le but de ce projet est de créer une application servant de guide culturel, capable d’orienter les utilisateurs vers des œuvres à découvrir, classées par thèmes ou mots-clés.
Les étudiants devront constituer une base de données regroupant des thèmes et des œuvres, tout en établissant les liens nécessaires pour que les utilisateurs puissent affiner leurs recherches au maximum. Une fonctionnalité supplémentaire pourrait être un guide expliquant comment accéder aux œuvres (par exemple, œuvres libres de droits, disponibles dans certains magasins, ou accessibles sur des sites internet spécifiques).
Les thèmes seront structurés de manière hiérarchique, du plus large au plus précis. Par exemple, un thème principal pourrait être La Guerre, qui pourrait ensuite être affiné en La Guerre → 1939-1945 → France. L’application filtrerait alors les œuvres disponibles pour afficher les résultats les plus pertinents en fonction des critères choisis.
Références bibliographiques
n/a\
Technologies
Libre
Contraintes:
n/a\
Mots-clés
* Culture, application
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2U - Dungeon Master 3D
Nom de l encadrant :Lattaud Claude
Catégorie(s): jeu vidéo
Contexte
Jeu d'exploration 3D
Objectifs :
Dungeon Master est l'un des premiers jeux du type dungeon crawler à avoir été produit. Il s'agira de développer une version modernisée de ce jeu. Dans ce projet, les étudiants se chargeront de coder le moteur du jeu afin de pouvoir déplacer un groupe de quatre individus, définis par des classes, en vue subjective dans le labyrinthe du donjon, gérer les interactions avec les différents objets ainsi que les inventaires, confronter les créatures s'y trouvant et effectuer la montée de niveau des personnages. Ils mettront en place le niveau zéro, exclusivement utilisé pour construire le groupe, ainsi que le premier niveau où le joueur rencontrera les premières difficultés. Le reste du donjon ne sera réalisé que s'ils ont du temps disponible ou proposé comme perspectives de travail pour l'année suivante.
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: Non
Sujet L2V - Demonstrateur pour la RSVQA
Nom de l encadrant :Boussaid Hichem
Catégorie(s): app. scientifique
Contexte
La Remote Sensing Visual Question Answering (RSVQA) est un domaine de recherche combinant la télédétection et l'intelligence artificielle, spécifiquement dans le cadre de la compréhension visuelle et linguistique. L'objectif de la RSVQA est de permettre à un modèle d'analyser des images issues de la télédétection (telles que des images satellitaires ou aériennes) et de répondre à des questions en langage naturel à leur sujet. Ces questions peuvent couvrir divers aspects, comme la détection d'objets, l'estimation de quantités, l'identification de types de terrains, ou l'analyse de relations spatiales. En intégrant des modalités visuelles (comme les données RGB, multispectrales ou radar) et textuelles, la RSVQA offre une approche puissante pour extraire des informations complexes des images de télédétection, ce qui a des applications dans des domaines tels que l'urbanisme, la gestion des ressources naturelles, ou encore la surveillance environnementale.
Dans ce contexte, l'objectif de ce projet est de construire une interface graphique permettant de faire une démonstration d’un modèle de RSVQA sur un ou des datasets connus.
Objectifs :
Fonctionnalités principales:
- Choix du dataset:
Menu déroulant ou une liste permettant de choisir entre plusieurs datasets prédéfinis (e.g., Dataset A, Dataset B, Dataset C).
Une fois un dataset sélectionné, affichage des métadonnées (type de données, modalités disponibles, nombre d'images, etc.).
- Chargement d’images:
Option pour charger une image spécifique depuis le dataset choisi.
Si plusieurs modalités sont disponibles (e.g., RGB, SAR, Sentinel-2), elles peuvent être chargées ensemble ou séparément.
Possibilité d'afficher l'image (ou un aperçu si plusieurs modalités sont affichées côte à côte).
- Choix ou personnalisation des questions
Sélection d’une question du dataset :
Interface listant les questions associées à l’image sélectionnée (issues du dataset).
Pose d’une question personnalisée :
Champ texte permettant à l'utilisateur d’écrire une nouvelle question.
- Génération des réponses
Une fois l’image et la question sélectionnées :
Le modèle VQA génère une réponse.
Option pour afficher les étapes intermédiaires, comme les cartes d'attention ou les activations liées à la question.
Références bibliographiques
[1]. S. Lobry, J. Murray, D. Marcos and D. Tuia, “Visual Question Answering From Remote Sensing Images,” IGARSS 2019 - 2019 IEEE International Geoscience and Remote Sensing Symposium, Yokohama, Japan, 2019, pp. 4951-4954, doi: 10.1109/IGARSS.2019.8898891.
Technologies
python, pytorch, numpy
Contraintes:
n/a\
Mots-clés
RSVQA, NLP, Deep Learning, Remote Sensing, Python
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2W - Outil d'analyse automatique de la complexité syntaxique pour orthophonistes
Nom de l encadrant : David Janiszek
Catégorie(s): IA
Contexte
En orthophonie, l’analyse de la production linguistique d’un enfant est une étape clé pour évaluer son développement langagier et identifier d’éventuelles difficultés. Un outil capable de mesurer la complexité syntaxique d’un texte oral transcrit, en calculant des métriques linguistiques précises, pourrait grandement aider les orthophonistes dans leur pratique quotidienne.
Un tel logiciel offrirait une manière rapide et automatisée de produire des analyses objectives et fiables, permettant ainsi aux orthophonistes de se concentrer davantage sur l’interprétation des résultats et les interventions adaptées.
Objectifs :
L’objectif de ce projet est de développer un outil qui permet à une orthophoniste d’analyser la complexité syntaxique d’un texte transcrit, en calculant automatiquement plusieurs indicateurs linguistiques. Les fonctionnalités incluront :
- Calculs linguistiques automatiques :
- Nombre total de mots.
- Nombre total d’énoncés (chaque ligne est considérée comme un énoncé).
- Mean Length of Communication Unit (MLCU) : Longueur moyenne d’unité de communication (nombre de mots/nombre d’énoncés).
- Nombre de mots différents dans le texte.
- Nombre total de morphèmes (éléments de sens dans les mots, par exemple préfixes, racines, suffixes).
- Nombre moyen de morphèmes par énoncé.
- Interface utilisateur simple :
- Zone de saisie pour entrer les énoncés transcrits (chaque énoncé sur une nouvelle ligne, éventuellement précédé d’un signe “+” pour les énoncés pertinents).
- Affichage clair des résultats des calculs linguistiques.
- Export des résultats :
- Possibilité de sauvegarder les analyses sous forme de rapport (ex. : fichier texte ou PDF).
La réalisation du projet passera par les étapes suivantes :
- Transcrire un enregistrement sonore en utilisant une API Speech-to-Text
- Permettre la correction de la transcription
- Implémenter les algorithmes permettant d’identifier et de compter les mots, énoncés, et morphèmes dans un texte donné.
- Concevoir une interface utilisateur intuitive permettant aux orthophonistes de déposer les enregistrements, corriger les transcriptions et de visualiser les résultats.
- Tester le logiciel
Références bibliographiques
Technologies
- Whisper, NLTK
Contraintes:
Application multiplateforme
Mots-clés
- TALN, orthophonie, morphème, transcription
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L2X : 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 L2Y : 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 L2Z : 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 L2AA : 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 L2AB : 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 L2AC : 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 L2AD : 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 L2AE : Photo Deluxe
Encadrant :
Mail de l'encadrant :
Catégorie(s): smartphone
Description : Vous réaliserez une application mobile qui permette de :
- prendre des photos
- de filter les photos (plusieurs filtres à implémenter)
- d'ajouter des emojis et des stickers sur des photos
- d'envoyer les photos à ses amis
S'il reste du temps à la fin du projet, on appliquera les filtres au mode vidéo.
Langage souhaité :
- Java/Android ou React Native
Contrainte :
Posséder un smartphone
Sujet L2AF : Kakuro
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le kakuro est un jeu de réflexion. Ce jeu est basé sur une grille analogue à une grille de mots fléchés; il comporte des cases noires et des cases blanches. Le but du jeu est de remplir les cases blanches avec des chiffres de 1 à 9 en fonction des indications contenues dans les cases noires. Les cases noires sont divisées en deux par une diagonale et contiennent deux valeurs numériques. La première valeur concerne les cases blanches situées en dessous, la seconde valeur concerne les cases blanches situées à droite. Pour pouvoir remplir les cases blanches, il faut s’assurer que la somme de tous les chiffres d’une ligne ou d’une colonne soit égale au nombre indiqué dans la case noire correspondante, et qu’un chiffre n’apparaisse qu’une seule fois.
Travail à effectuer
Le but du projet est d’implémenter un jeu de kakuro. Le programme devra proposer les fonctionnalités suivantes :
- Tout d’abord, le programme devra permettre la création automatique d’une grille de jeu en fonction d’un niveau de difficulté déterminé par le joueur.
- Ensuite, le programme devra permettre de jouer une grille proposée par le programme ou une grille saisie par l’utilisateur.
- Le programme devra être capable de calculer la solution d’une grille
- Enfin, le programme devra être capable de sauver, charger et imprimer une grille
Langage souhaité :
A déterminer
Contrainte(s) :
Sujet L2AG : Jeu des 1000 bornes
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Il vous est proposé dans ce projet de concevoir et développer une version électronique du jeu de carte « 1000 bornes ».
Les 1000 bornes est un jeu de société utilisant des cartes spéciales sur le thème de la course automobile. Le but du jeu est d’être le premier joueur à effectuer 1000 kilomètres (ou bornes) précisément. Pour cela, il vous faudra éviter les pièges de la route : Panne de voiture, feux de signalisation et limitation de vitesses.
Pour commencer une partie, chaque joueur se voir distribuer 6 cartes qu’il ne doit pas montrer aux autres. Le reste du paquet servira de pioche. Pour commencer la partie, le premier joueur doit piocher une carte. S’il a en sa possession un feu vert, il pose cette carte devant lui et peut donc commencer sa partie. Le joueur peut aussi poser une carte « Botte » ou encore une carte « Limitation de vitesse » devant l’un de ces adversaires. Si le joueur ne peut ou ne désire pas poser une carte, il doit obligatoirement en jeter une afin d’avoir toujours 6 carte dans sa main.
C’est ensuite au tour du joueur suivant de jouer. Lui aussi a alors plusieurs possibilités. En plus de celles énumérés ci-dessus, il peut contrer une attaque en posant dessus le contraire de celle-ci pour l’annuler. Exemple : Il pose une carte « fin de limitation de vitesse » sur une carte « Limitation de vitesse ».
Autre choix : le joueur peut également attaquer le joueur qui à poser un feu vert en posant une carte feu rouge.
Le gagnant de la partie est celui qui a réussi à avoir posé exactement 1000 kilomètres devant lui à l’aide des cartes « distance ».
L’application devra permettre de jouer de 2 à 6 joueurs qui seront soit des personnes physiques soit des joueurs virtuels. Dans le cas d’un joueur virtuel, le jeu devra lui attribuer une stratégie de jeu comme par exemple : poser ses kilomètres en premier lieu, attaqué l’adversaire avant tout, …
Langage(s) :
C/C++ ou Java
Contrainte(s) :
Sujet L2AH : Accidentologie
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): site web
Présentation du sujet
Chaque année il y a de nombreux accidents sur la route.
Les données qui recensent tous les accidents (date, lieu, conditions météorologiques, …) sont disponibles en open-data.
Travail à effectuer
Le but du projet est de réaliser un site web qui permet de :
- présenter tous les accidents sur une carte de France en fonction :
- de la date
- d'un intervalle de dates
- des conditions météorologiques
- calculer et présenter des statistiques relatives aux accidents
- identifier les zones dans lesquelles il y a plus d'accidents
Langage souhaité :
Contrainte(s) :
Sujet L2AI : 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 L2AJ : Tableaux caloriques des produits alimentaires
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Smartphone
Présentation du sujet
Les données nutritionnelles sont souvent écrites en petit sur les emballages et il n'est pas toujours évident de bien les comprendre.
L'objectif de ce projet est de développer une application mobile pour faciliter le compréhension des informations nutritionnelles et pour faciliter l'analyse de sa consommation quotidienne.
Travail à effectuer : Le but du projet est d’implémenter une application smartphone qui à partir du code barre, récupère les informations nutritionnelles du produit dans les bases de données publiques. Cette application synthétise un diagramme en une bande de plusieurs couleurs (rouge pour le gras, vert pour les fibres etc…) proportionnelles à la quantité. L'idée est de permettre à l'utilisateur d'avoir une idée de la qualité nutritionnelle du produit en un seul coup d'oeil.
Le programme devra proposer les fonctionnalités suivantes :
- capturer une code barre d'un produit
- consulter les bases de données publiques
- afficher le diagramme de plusieurs couleurs
- faire la somme des aliments consommés en : une journée, une semaine, un mois
Langage(s) :
- Java/Android/XML ou React Native
Contrainte(s) :
Sujet L2AK : Bubble shooter
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu Vidéo
Présentation du sujet
Bubble shooter est un type particulier de casse brique; c'est un classique des salles d'arcade.
L'objectif de ce projet est de développer votre propre bubble shooter.
Travail à effectuer
- Créer plusieurs niveaux
- Créer plusieurs niveaux de difficultés
- Ajouter un système de bonus
- Avoir un mode chronométré
Pour améliorer la jouabilité et l'intérêt du jeu, on pourra éventuellement permettre un mode multi-joueurs.
Au choix: smartphone ou web
Références
[
Langage(s) et technologie(s) :
A déterminer
Contrainte(s) :
Sujet L2AL : Site de gestion de bibliothèque
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
Il arrive souvent lorsque l'on possède une importante bibliothèque de ne plus être sûr des livres que l'on possède.
De même dans ces cas là, on peut être amené à prêter des livres à un proche, et parfois ne plus savoir à qui on l'a prêté, ni quand.
Le but de ce projet est de résoudre ces problèmes grâce à un site web qui permettra aux utilisateurs de gérer leurs bibliothèques.
Les utilisateurs pourront alors entrer les données correspondant à leurs livres (titre, auteur, année de sortie, date d'achat…), et à tout moment effectuer des recherches dans la liste de leurs livres (et ainsi par exemple ils éviteront d'en acheter un deuxième exemplaire).
Les utilisateurs pourront aussi garder une trace des livres qu'ils ont prêté à des amis.
Travail à réaliser :
On attend une application web ou mobile qui permettra à l’utilisateur d’ajouter des données concernant ses livres.
Il doit être possible de modifier les données d’un livre enregistré, ou de le supprimer de la liste, et d’indiquer qu’un livre a été prêté à un ami, en précisant les informations sur ce prêt (personne, date du prêt, …).
L’utilisateur doit également pouvoir faire des requêtes sur sa liste de livres (par exemple, afficher tous les livres d’auteurs japonais, possédés en livre de poche, ou qui sont sortis entre 2009 et 2012, …).
Enfin, l'utilisateur doit pouvoir planifier l'achat de nouveau livres.
Langage(s) et technologie(s):
- Au choix de l’équipe de développement. Dans le cas d’un site web, il s’agit par exemple de HTML/CSS/PHP/Javascript. Il est également possible de travailler sous Android ou iOS.
- Enfin, il faudra prévoir un moyen de stockage des données (base de données, XML,…)
Contrainte(s) :
Sujet L2AM : 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 L2AN : Jeu de Poker Texas Holdem
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le poker est une famille de jeux de cartes comprenant de nombreuses formules et variantes. Il se pratique à plusieurs joueurs avec un jeu généralement de cinquante-deux cartes et des jetons représentant les sommes misées. Les séquences de jeu alternent distribution de cartes et tours d'enchères. Le but du jeu est de remporter les jetons des adversaires en constituant la meilleure combinaison de cinq cartes ou en leur faisant abandonner le coup. Dans ce projet nous nous intéresserons uniquement à la variante la plus populaire actuellement: le No Limit Texas Hold'em dans son format Heads Up (1 contre 1).
Travail à effectuer
Le but du projet est d’implémenter un jeu de No Limit Texas Hold'em dans lequel le joueur affronte l'ordinateur. Le programme devra proposer les fonctionnalités suivantes :
- Le programme devra gérer automatiquement toutes le règles du jeu et les tours d'enchères.
- Il faudra développer l'intelligence artificielle qui affrontera le joueur.
- L'environnement du jeu devra être entièrement paramétrable et les parties jouées devront être sauvegardées.
Langage(s) et technologie(s):
Au choix: Java ou C
Interface graphique, Intelligence artificielle
Contrainte(s) :
Sujet L2AO : 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
Sujet L2AP : Blackjack
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le blackjack est une famille de jeux de cartes comprenant de nombreuses formules et variantes.
Il se pratique à plusieurs joueurs avec un jeu généralement de cinquante-deux cartes.
Dans sa version classique, la partie oppose tous les joueurs contre la banque.
Le but est de battre le croupier sans dépasser 21
Travail à effectuer
Le but du projet est d’implémenter un jeu de blackjack dans lequel le joueur affronte l'ordinateur. Le programme devra proposer les fonctionnalités suivantes :
- Le programme devra gérer automatiquement toutes le règles du jeu
- Il faudra développer l'intelligence artificielle qui affrontera le joueur.
- L'environnement du jeu devra être entièrement paramétrable et les parties jouées devront être sauvegardées.
Afin d'améliorer les possibilités offertes, on envisagera de :
- implémenter des variantes du blackjack
- implémenter un mode multijoueur
Langage(s) et technologie(s):
Interface graphique, Intelligence artificielle
Contrainte(s) :
Sujet L2AQ : Robot ramasseur de balles
Encadrants :
Catégorie(s): Robotique
Présentation du sujet
L'objectif de ce projet est de construire et de faire fonctionner un robot ramassant des palets disposés sur une surface jeu.
Deux robots s'affrontent dans un match qui consiste à récupérer le maximum de palets dans le temps imparti.
Travail à effectuer :
Dans le cadre d'une approche incrémentale, le programme développé devra permettre au robot de réaliser les tâches suivantes:
- Se déplacer sur la surface donnée sans en sortir.
- Repérer les billes de couleur et les ramasser.
- Ranger les billes ramassées : autrement dit, les déposer dans une zone prévue à cet effet.
Evidemment, le robot devra réaliser ces tâches le plus rapidement possible.
Contraintes:
Le langage utilisé pour réaliser le(s) programme(s) sera obligatoirement : C ou Java
La salle de robotique est petite et il faudra la partager.
Participer aux événements de promotion de la robotique organisés par l'UFR.
Sujet L2AR : Quarto
Encadrant :
Mail de l'encadrant :
Catégorie(s): Jeu vidéo
Présentation du sujet
Le quarto est un jeu de réflexion basé sur une grille carrée de 16 cases. Sur cette grille deux joueurs déposent des pièces tour à tour.
Le but du jeu est d'aligner 4 pièces présentant les mêmes caractéristiques : blanches ou noires, grandes ou petites, rondes ou carrées, pleines ou creuses.
Travail à effectuer :
Le but du projet est d’implémenter un jeu de quarto. Le programme devra proposer les fonctionnalités suivantes :
- Tout d’abord, le programme devra permettre à deux joueurs humains de s'affronter
- Ensuite, le programme devra permettre de jouer contre l'ordinateur et de proposer des conseils
- Enfin, le programme devra être capable de sauver et de charger une partie en cours
Langage(s) : C/C++ ou Java
Références
Langage
Contrainte(s) :