Projets 2012-2013

De $1

Version de 21:49, 21 Nov 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Projet 1.  Planification des projets et incertitude

Encadrant :  Michel Winter

Descriptif : tous les logiciels de planification de projet (MS Project, Gant Project,…) s’appuient sur une estimation unique de la durée des tâches. Pourtant, dans la plupart des projets informatiques, on demande à plusieurs personnes d’estimer la durée d’une tâche de développement, pour n’utiliser finalement que la moyenne. L’objectif de ce projet est d’utiliser les différentes estimations lors de la planification pour prendre en compte l’incertitude. L’application à réaliser va donc devoir modéliser le séquencement des tâches (à l’image de PERT) et propager les différentes estimations pour déterminer les dates des principaux jalons et de fin de projet. Le choix du langage n’est pas imposé (de préférence PHP pour permettre une utilisation en mode web) et les algorithmes les plus complexes seront donnés par l’encadrant. Les IHM envisagées restent simples ; elles pourront s’appuyer sur des librairies comme JFreeChart pour Java ou JpGraph pour PHP. 

Projet 2.  Un plugin jquery pour comparer des galeries d'images

Encadrant :  Fabrice Huet

Descriptif : Le but de ce projet est d'écrire un plugin jquery permettant de comparer visuellement deux ensembles d'images. La page web du navigateur sera divisée en deux parties et dans chacune, des thumbnails des images de chacun des ensembles seront affichés. Les images identiques (md5) ou similaires (algorithme à définir) seront indiquées visuellement.  Une fois ce plugin développé, il sera intégré à une application jQuery + REST de recherche d'images similaires.  

Projet 3.   Enregistreur de vol pour aviation légère 

Encadrant :  Jean-Marc Lezcano (Sogeti)

Descriptif :La réalisation d’une APP « Enregistreur de vol pour aviation légère » utilisable en avion, planeur et ulm.  La base est d’enregistrer les mouvements de l’appareil fournis par le gyroscope interne et les éléments fournis par le GPS : trajectoire, vitesse, altitude (et position) pour dans une premier temps pouvoir déloguer et visualiser le vol en 3D avec son instructeur, à des fins pédagogiques et d’y associer des fonctions complémentaires possibles et utiles : transmission 3G des paramètres à l’instructeur resté au sol, enregistrement vidéo simultané soit de l’extérieur, soit des actions du pilote… Ce projet peut devenir un vrai logiciel pour une startup, je marche… Avantage du projet : les étudiants sont obligés de venir faire les tests en vol avec moi (je suis instructeur ULM, propriétaire de deux ULM « 3 axes  et d’un autogire ») 

Projet 4.   Comptabilisation des émissions CO2 transport

Encadrant :  Jean-Marc Lezcano (Sogeti)

Descriptif : La réalisation d’une APP « comptabilisation des émissions CO2 transport « (je monte dans le bus, dans le train, l’avion, le tram, ma voiture, un taxi, et mon mobile récupère automatiquement de l’information qui permet de calculer l’empreinte carbone de mon trajet). La aussi il y a pas mal à faire avec modularité au début, mais en s’ouvrant potentiellement avec de la simulation sur de la communication sans contact. Ce projet pourrait déboucher sur un stage SOGETI (en M2 ?) pour poursuivre la réalisation de l’appli

Projet 5.   Outils online pour des applications HTML5 multi-participant

Encadrant :  Michel Buffa

Descriptif : HTML5 permet de développer des applications web faisant appel à la géolocalisation, permettant de détecter l'orientation, l'accélération des devices mobiles, de gérer la webcam, de faire du dessin graphique et de l'animation 2D et 3D performante, etc.

Les applications multi-participantes utilisent souvent la technologie des WebSockets mais aussi d'autres techniques emergentes comme les server send events qui permettent de faire du push, ou le peer-to-peer entre navigateur. Il est ainsi possible de faire des appels audio et vidéo directement de navigateur à navigateur (mais souvent un serveur maintient la liste des IPs des personnes connectées pour faciliter la mise en contact)

Ce projet vise à proposer un service d'hebergement d'applications de ce type + un service tout simplement de mise en relation + un service de broadcast d'evenements comme le propose par exemple http://www.appelsiini.net/demo/websocket/html5.html pour tester cette application qui fait tourner un logo en 3D quand on oriente son iphone, il faut qu'un serveur récupère les evenements d'orientation et les envoie à du code javascript qui est dans la page web qui contient le logo. Pour ce faire un service gratuit http://appelsiini.net/demo/websocket/iphone.html permet de faire ce broadcast facilement. Il suffit d'entrer un code à 4 chiffres sur la page en question depuis son iphone, et l'appli associe le code à la page du logo (une autre appli). Ainsi ensuite quand on bouge l'iphone, les evenements sont relayés par l'appli dans laquelle on a entré le code, vers la page qui contient le logo et qui tourne sur un pc.

Technologies : serveur web NodeJS, JavaScript, HTML, CSS, eventuellement un serveur traditionnel pour des applis web en java ou en php.  

Projet 6.   Nouveaux outils pour l'hébergement des cours en ligne du W3C 

 Encadrant :  Michel Buffa

Descriptif : Le W3C (World Wide Web Consortium, localisé entre autres à Sophia-Antipolis), est l'organisme en charge des standards du web (html, xml, http, etc). Il héberge une plateforme de cours en ligne (http://www.w3techcourses.com/) comme des cours sur le développement d'applications web mobiles, le développement de jeux en HTML5, HTML5 au sens large, SVG, etc. Ces cours donnent des certifications, et les enseignements sont entièrement faits en ligne à l'aide d'un CMS spécialisé pour le e-learning: moodle. Seul soucis, ici les cours sont de l'informatique et dans chaque cours il y a nécessité de proposer des exemples et des bouts de code (html, javascript, xml, voire java ou php). Les besoins sont donc de deux sortes :

1) Permettre d'insérer dans du texte via l'éditeur WYSIWYG de Moodle des lignes de code source, qui une fois le document sauvegardé seront bien indentées et colorisées. Il existe de nombreux outils JavaScript pour cela comme SyntaxHighlighter de Alex Gorbadchev, ou http://code.google.com/p/google-code-prettify/ etc. Il faudrait étudier les solutions existantes pour intégrer un tel outil dans Moodle. Il existe plusieurs plugins permettant plus ou moins de le faire mais il faudrait les tester, les évaluer, en prendre un qui marche bien ou en développer un.

2) Il faudrait aussi un site permettant d'héberger les exemples "web" utilisant JavaScript/HTML/CSS, similaire à jsbin.com, jsfiddle.net etc. mais qui puisse être hébergé sur nos serveurs. Ces deux exemples ne sont pas open source, et peuvent fermer ou devenir payants du jour au lendemain. C'est ennuyeux car de très nombreux exemples des cours actuels sont sur ces sites (voir par exemple : http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/HTML5_Tutorial/HTML5_discovery_tutorial) Un travail d'un groupe d'étudiants de l'an dernier a déjà réalisé un projet assez similaire avec un site web permettant d'héberger des transparents HTML5. On pourra s'en inspirer.

Technologies : JavaScript / CSS / HTML / GIT / serveur nodeJS et sans doute un peu de back end en php ou en java. Mais pas grand chose.

Projet 7.   ERP de gestion interne en SaaS 

Encadrant :  Michel Winter

Descriptif : Dans le cadre de son activité, Junior MIAGE Concept souhaite se doter d’un environnement web de gestion de type ERP. Celui-ci devra permettre, entre autres, de traiter la partie gestion d’études et de projets (réalisation de diagrammes GANTT, suivi de l’avancée du projet, etc.), ainsi que la gestion des intervenants. Cette application doit permettre aussi la gestion du développement commercial de la structure (gestion de la prospection, des supports, etc.). D’autres éléments seront présentés par la suite à l’équipe en charge du projet (gestion des statistiques, édition de documents, etc.).

Le projet devra débuter par un recueil des besoins Le langage de développement souhaité est PHP, afin de pouvoir se servir de l’application via un navigateur web. De nombreuses contraintes inhérentes à la condition de Junior MIAGE Concept devront être prises en compte.

Technologies : PHP / CSS / JavaScript / HTML(5) / JQuery 

Projet 8.   Agenda culturel

Encadrant :  Jean-Marc Fedou

Descriptif : Il s'agit de réaliser un agenda culturel personnel (cinéma, théatre, danse, musique, livres ...). Pour chaque évênement, on pourra lier des pages web, un agenda personnel, envoyer une alerte mail ... On pourra aussi écrire un ou des commentaires, et relayer l'information sur des réseaux sociaux. Il s'agit de créer  produit similaire à Evernote.

Projet 9.  Bloc note musical

Encadrant :  Jean-Marc Fedou

Descriptif : Il s'agit de réaliser un blocnote pour musicien. On veut pouvoir écrire du texte mais aussi insérer des lignes de musique, des tablatures de guitare, des accords, des grilles d'accord. Il ne s'agit pas de développer tous ces outils, mais de rechercher les briques disponibles dans le  logiciel libre et les intégrer.

Projet 10.  Projet "APP-ART" <Flyer REVES>

Encadrants :  Serge Miranda, Gabriel Mopolo et  Greg Galli ( Start Up Tokidev)

 

Descriptif : Developpement application sur Smartphone NFC (Android ou W8?) d’une application avec 3 partenaires de déploiement , 2 Artistes (Marina Latta et Dominique de Seguin) et la Ville de Grasse (Musée/Bibliotheque Patrimoniale))

Ce projets utilisera les nouveaux smartphones NFC (Android et Windows8*) et les technologies des tags Visibles (NFC, QR Code) et Invisibles (SnapnSee de Tokidev). Le Premier projet concerne la Culture (avec 2 artistes et un Musée à Grasse), le 2ieme projet concerne le Commerce du Futur (avec Rica Lewis et la Ville de Nice). Des démonstartions sont prévues à l issue du projet aux partenaires institutionnels et industriels. Ces 2 projets (qui font l 'objet d'une demande de PACALAB) PEUVENT avoir une extension en stage d été et en contrat d'apprentissage MBDS en 2013-2014

 

 

•Tags NFC, QR et Tags Invisibles (Snap’Nsee) 

Projet 11. Le Logo Jeans devient un tag invisible

Encadrants :   Serge Miranda, Gabriel Mopolo et  Greg Galli ( Start Up Tokidev)

Descriptif : •Interface système de Couponing Adelya (Carte Magique de Nice) et Airtag et Système Interface One Tag Paiement d'Hexalife

Ce projets utilisera les nouveaux smartphones NFC (Android et Windows8*) et les technologies des tags Visibles (NFC, QR Code) et Invisibles (SnapnSee de Tokidev). Le Premier projet concerne la Culture (avec 2 artistes et un Musée à Grasse), le 2ieme projet concerne le Commerce du Futur (avec Rica Lewis et la Ville de Nice). Des démonstartions sont prévues à l issue du projet aux partenaires institutionnels et industriels. Ces 2 projets (qui font l 'objet d'une demande de PACALAB) PEUVENT avoir une extension en stage d été et en contrat d'apprentissage MBDS en 2013-2014

 •Application de Realité augmentée en 3D autour de SnapnSee
 

Projet 12.  Conception de matériels basés sur un ordonnancement statique

Encadrants :  Jean-Vivien Millo

Descriptif : Le problème des latences de communications dans les systèmes sur puce oblige les concepteurs à encapsuler leurs modules de calcul dans une coquille qui permet de s’assurer dynamiquement que les données en entrées des modules sont bien présentes afin d’autoriser les calculs à s’effectuer. Cette couche d’ordonnancement dynamique rajoute énormément de fils d’interconnections et de registres de stockage des données. De plus cette solution peut réduire les performances globales du matériel.

Afin de répondre à ce problème, nous avons proposé un algorithme d’ordonnancement statique des modules de calcul qui garantit des performances optimales et une utilisation minimale des registres de stockage des données. C’est-à-dire que l’algorithme calcule exactement quand chaque module doit s’exécuter afin de produire son résultat au plus tôt. Cette algorithme a été implanté dans un outil appelé K-Passa.

A partir de la description du système donné au format SIGASI, il est demandé aux étudiants de réaliser une méthode pour :

  - Extraire la topologie du système en utilisant les méthodes d'ingénieries des modèles.

  - De traduire cette topologie au format d'entrée de K-Passa.

  - D'obtenir de K-Passa l'ordonnancement de chacun des nœuds du système.

  - De générer automatiquement le module de contrôle qui va diriger l’exécution de tous les autres.

  - Et enfin d'intégrer automatiquement ce module de contrôle au code VHDL initiale dans SIGALI.

 

La méthode devra être validée en produisant un exemple jusqu’à la simulation sur FPGA. La méthode devra être intégrée dans un outil logiciel réalisé en JAVA

 

Projet 13.  Planification et système complexe

Encadrant :  Michel Winter

Descriptif : L'objectif de ce projet est d'aborder la planification de tâches comme le résultat d'un système complexe (de type multi-agents) : chacune des activités ou des tâches à planifier se déplace de manière autonome et les contraintes de planification sont formalisées comme des forces agissant sur les agents. Le résultat de l'évolution du système complexe permettra une meilleure visualisation de graphe initial (un graphe de type PERT) voire une optimisation de l'ordonnancement des activités.

Les étudiants s'appuieront sur un environnement tel que Processing (http://processing.org/) ou NetLogo (http://ccl.northwestern.edu/netlogo/index.shtml) permettant de grandement faciliter les problématiques d'affichage et de synchronisation.

 

 

Projet 14.  Planification et système complexe

Encadrant :  Michel Winter

 Descriptif : L'objectif de cette plateforme Web est de proposer aux internautes inscrits de passer des tests psychotechniques générés automatiquement et de suivre dans le temps l'évolution de leur niveau suivant plusieurs composantes de l'intelligence computationnelle. Les algorithmes de génération seront fournies mais le reste de l'application est à spécifier, puis à réaliser. Le langage préconisé est PHP.

Projet 15.  Langage web de ligne de produits

Encadrant :  Philippe Collet

Descriptif : L'industrie développe de plus en plus de "lignes de produits". Dans le domaine de l'automobile, de l'électronique, de la téléphonie mobile, cela permet aux entreprises de réduire leur coût et d'augmenter la qualité du logiciel. Actuellement, les "feature models" sont le standard de facto pour le développement de lignes de produits et plusieurs outils (industriels et académiques) sont développés et utilisés. L'équipe Modalis de l'I3S développe FAMILIAR, un langage textuel pour la manipulation à grande échelle des feature models. FAMILIAR est actuellement déployé comme un plugin Eclipse développé en collaboration avec l'Université de Rennes 1, l'Université de Namur en Belgique et la Colorado State University aux Etats-Unis.

Une version web est actuellement nécessaire pour faciliter l'utilisation de FAMILIAR. Cela comprend un éditeur de texte, des possibilités d'import et d'export de script et un éditeur graphique (pour commencer, réutiliser celui de SPLOT est envisageable). Afin de valider le développement incrémental de cet environnement, un second objectif du projet consiste à développer une application web qui réutilise ce nouvel environnement. Les exemples sont nombreux parmi les études de cas sur lesquelles travaille l'équipe Modalis (configurateur pour la diffusion d'informations par exemple).

Environnement : Eclipse, langage Java (>= 1.5), JSP, AJAX

Références :

http://en.wikipedia.org/wiki/Feature_model

https://nyx.unice.fr/projects/familiar/

http://www.splot-research.org/


Projet 16.  Réalisation d'un portail de contribution d'un écosystème logiciel
   

Encadrant :  Simon Urli, Mireille Blay-Fornarino, Philippe Collet

 Descriptif : L'objectif de ce projet est de réaliser un portail web permettant de contribuer à l'évolution de l'écosystème d'une application sur le modèle des "store" Google Play ou Apple Store.

Ce projet se place dans le contexte du projet YourCast visant à la création de systèmes de diffusions d'information. Un des objectifs de YourCast est de permettre à des contributeurs de réaliser des composants open-source permettant d'enrichir les modalités de diffusion de l'information.

Dans le cadre de ce projet vous devrez créer un portail web (backend et frontend) permettant :

- de gérer un dépôt contenant les composants logiciels,

- de gérer les contributions en relation avec le dépôt,

- de gérer les versions des contributions,

- de gérer un espace utilisateur,

- de gérer la modération des contributions.

Le projet YourCast étant un projet de recherche manipulant des lignes de produits logiciel, ce projet de développement nécessitera une approche itérative et incrémentale, idéalement dirigée par les tests (Test-Driven Development).

Les technologies employées pourront être Java ou PHP, le frontend utilisera HTML5 / JavaScript et/ou tout framework que vous jugerez utile. Une partie du travail consistera cependant à connecter le backend à des outils externes, ou a minima à créer l'API de connexion.

Projet 17.  Réalisation de tests et d'un portail de démonstration de composants JavaScript 

Encadrant :  Simon Urli, Mireille Blay-Fornarino, Philippe Collet

 Descriptif : Ce projet se situe dans le contexte du projet YourCast qui vise à la création de systèmes de diffusions d'informations en utilisant des technologies web et des supports de diffusion économiques (PC embarqué, TV standard et navigateur web). L'objectif de ce projet est de permettre le test et la démonstration des composants javascript qui sont utilisés pour effectuer la diffusion des informations sur le navigateur client (tournant sur un PC de petite taille diffusant sur une TV).

Il s'agit tout d'abord de réaliser une solution de test pour des composants javascript d'affichage ou d'animation d'informations, et les tests associés aux composants existants. Le deuxième travail consiste à réaliser le portail permettant à un utilisateur de visualiser immédiatement l'action d'un composant. Il est en effet pertinent de pouvoir, en plus de tester, visualiser un composant sur des données statiques. Une partie des tests pourraient aussi avoir lieu au sein du portail de visualisation.

Dans ce projet vous devrez :

1. Créer ou réutiliser les travaux déjà réalisés afin de tester des composants javascript (preuve de concept utilisant le framework JsTestDriver)

2. Réaliser des tests sur les composants javascript déjà existants dans le prototype Yourcast

3. Créer un portail de démonstration des composants .

La réalisation du portail et des tests pourra se faire en parallèle. La solution de tests devra être suffisamment évolutive pour prendre en compte l'ajout de nouveaux composants javascript, les tests pouvant soit être considérés comme données, soit une partie des tests pouvant être automatiquement générée. Le portail devra également être dynamique pour l'ajout de nouveaux composants. Une partie des tests pourrait également se faire à travers le portail si cela est approprié.

Vous utiliserez au sein de ce projet toute technologie qui vous semble utile, bien qu'il est important de noter que des travaux ont déjà été réalisés en javascript utilisant notamment le framework JsTestDriver.

Projet 18.  Diffusion d'information en événementiel: journal et vidéo   

Encadrant :  Philippe Collet, Philippe Salvan (Supralog), Simon Urli

 Descriptif : L'objectif général du projet consiste à ajouter plusieurs fonctionnalités dans un système de diffusion d'informations tel que celui utilisé à Polytech. Ce système, dont la nouvelle version est nommée Yourcast, est développé dans le cadre d'un projet de l'agence nationale de la recherche. Il va être déployée en vraie grandeur à Vaison-la-romaine lors de deux événements dans le courant de l'été 2013 (le passage du tour de France, le rassemblement nationale de chorales "les chorales"). Le prototype Yourcast s'appuie sur des technologies web (HTML5/Javascript) et du déploiement léger et économique (PC Raspberry Pi connecté à des écrans TV classiques).

Les fonctionnalités à intégrer sont:

- la diffusion contrôlée et automatisée de vidéos sous forme de fonction javascript compatible Firefox/Chrome et de service de flux vidéo à développer. La fonction doit être capable de lire des informations pour récupérer des vidéos, tenir compte d'une interruption possible, etc. Un service web doit aussi être développé pour récupérer des flux vidéo en prenant en compte différents sites (youtube, vimeo, dailymotion). Ce service pourra être couplée à un service d'hébergement de vidéos.

- La diffusion contrôlée sur les écrans d'informations provenant du journal de l'événement, lui-même déployé sur un site Drupal. Un plugin Drupal doit être développé pour permettre le découpage d'articles d'un site pour qu'ils puissent être envoyés progressivement. Les textes et les images doivent être pris en compte à termes. Le plugin doit fournir les blocs d'information découpés à travers un service web (technologies similaires au service web pour la vidéo).

L'ensemble des fonctionnalités doit être développé de manière incrémentale selon une méthodologie de Test-Driven Development.

Technologies :

- JavaScript (Framework Prototype)

- HTML5

- Java

- REST

- Drupal

- PHP

- Raspberry Pi