Détail de tous les sujets

17/01/2013 Sujet 119 :  Interface graphique en python pour la commande de compilation de SMEWS
Auteur : Gilles Grimaud  Ecrire 
(Responsable Informatique : Gilles Grimaud  Ecrire )

Interface graphique en python pour la commande de compilation de SMEWS

Sujet attribué
Affecté à : Rabab Bouziane [M1-INFO]  Ecrire ,  Narjes Jomaa [M1-INFO]  Ecrire 
17/01/2013 Sujet 118 :  Intégration du uPnP dans le serveur embarqué SMEWS
Auteur : Gilles Grimaud  Ecrire 
(Responsable Informatique : Gilles Grimaud  Ecrire )

Intégration du uPnP dans le serveur embarqué SMEWS

Sujet attribué
Affecté à : Edouard Berton [M1-INFO]  Ecrire ,  Nicolas Ryckembusch [M1-INFO]  Ecrire 
08/01/2013 Sujet 117 :  Experimentation d'un codeur jpeg sur Homade : une approche mixte logicielle materielle
Auteur : Rabie Ben Atitallah  Ecrire 
(Responsable Informatique : Jean-Luc Dekeyser  Ecrire )

Experimentation d'un codeur jpeg sur Homade : une approche mixte logicielle materielle.

Sujet attribué
Affecté à : Aurelien Bertiaux [M1-INFO]  Ecrire 
08/01/2013 Sujet 116 :  Application web de gestion de suivis de recherche de stage
Auteur : Patricia Plénacoste  Ecrire 
(Responsable Informatique : Maude Pupin  Ecrire )

Les étudiants en licence informatique remplissent une fiche de suivi de recherche de stage, qui est ensuite déposée sur Moodle chaque semaine et ce jusqu'à l'obtention du stage.  Cette fiche permet aux enseignants de mieux encadrer les étudiants et de faire le point avec eux en cas de difficulté lors de leur recherche de stage.

L'application web doit fournir un accès étudiant via un login personnalisé pour saisir les informations concernant les entreprises qu'ils auront contactées et un accès enseignant, via aussi un mot-de-passe, pour consulter les données pour chaque étudiant individuellement ou collectivement afin de faire, par exemple, des statistiques.

Contexte Technique : Langage aux choix, mais à motiver par les étudiants

Sujet attribué
Affecté à : Soufiane Agadr [M1-MIAGE]  Ecrire ,  Thomas Aubry [M1-MIAGE]  Ecrire 
19/12/2012 Sujet 115 :  Reprise application de gestion de listes de présences alternants
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )

Les étudiants inscrits en Formation par Alternance doivent remplir des feuilles de présences à chaque séance. Ensuite les secrétaires font des copies de ces feuilles et les envoient au SUDES.
Le problème c'est qu'à ce jour il n'y a pas de trace informatique qui nous permettent au département FIL de réaliser des statistiques.

Ainsi, au sein du département FIL nous avons commencé à réaliser une application en PHP et MySQL indépendante. Il est souhaitable de réaliser une ré-écriture et des nombreuses évolution de l'application lors d'une intégration avec l'application permettant de réaliser le suivi global des alternants. Les évolutions incluent entre autres la réalisation ds tableaux de bord avec diverses statistiques.

Pour l'instant, l'application ne permet que la génération de fiches de présences.

L'application est fortement dépendante de Google Calendar. Le but de la reprise est également d'alléger cette dépendance.

Sujet attribué
Affecté à : Alexis Boutrouille [M1-MIAGE]  Ecrire ,  Pierre Bailleul [M1-MIAGE]  Ecrire 
18/12/2012 Sujet 114 :  Banc de montage vidéo
Auteur : Didier Mailliet  Ecrire Site
(Responsable Informatique : Didier Mailliet  Ecrire )

Utilisation de l'API VLC media player (videolan) sous java pour produire une interface (IHM) pour sélectionner facilement des passages d'une vidéo, permettant ainsi concaténation et suppression.  

Sujet attribué
Affecté à : Clément Massart [M1-MIAGE]  Ecrire ,  Pierre Ramelot [M1-MIAGE]  Ecrire 
17/12/2012 Sujet 113 :  Concours Infotel (suite)
Auteur : Anne-Cécile Caron  Ecrire 
(Responsable Informatique : non associé )

Ce sujet est issu d'un concours de développement organisé par l'entreprise Infotel. D'autres étudiants peuvent participer à ce concours, ainsi qu'à d'autres concours proposés par AtoS, Logica, ...
L'entreprise Infotel se propose de coacher les étudiants souhaitant participer au concours.

Liens associés :
Sujet attribué
Affecté à : Nassim Hassaine [M1-MIAGE]  Ecrire ,  Zouhair Makhout [M1-MIAGE]  Ecrire 
14/12/2012 Sujet 112 :  Concours Infotel
Auteur : Anne-Cécile Caron  Ecrire 
(Responsable Informatique : non associé )

Ce sujet est issu d'un concours de développement organisé par l'entreprise Infotel. D'autres étudiants peuvent participer à ce concours, ainsi qu'à d'autres concours proposés par AtoS, Logica, ...
L'entreprise Infotel se propose de coacher les étudiants souhaitant participer au concours.

Liens associés :
Sujet attribué
Affecté à : Christopher Laethem [M1-MIAGE]  Ecrire ,  Zakariae Azaroual [M1-MIAGE]  Ecrire 
10/12/2012 Sujet 111 :  Outils de communication pour l'association AVERS
Auteur : Anne-Cécile Caron  Ecrire 
(Responsable Informatique : Anne-Cécile Caron  Ecrire )

L'AVERS - Agence de coopération pour la Valorisation des Energies Renouvelables au Sénégal- est une association de solidarité internationale du Nord Pas de Calais. Cette association s’est fixé comme objectif de lutter contre l’extrême pauvreté en milieu rural et dans les zones urbaines de grande précarité au Sénégal.
L'AVERS souhaite améliorer de manière significative les conditions de vie des population en :
- Garantissant un meilleur accès à l’eau potable et à l’énergie en milieu rural
- Créant des activités économiques qui privilégient l’emploi
- Assistant les populations  à mieux appréhender leur environnement

Le projet informatique proposé consiste en la réalisation d'un outil de communication sur le web. Bien sûr il y a une partie statique de présentation de l'association, mais aussi et surtout un ensemble de fonctionnalités permettant de communiquer avec les internautes : forum de discussions, agenda des événements, reportages photos, vidéos, livre d'or ...

Dans un premier temps, l'étudiant devra comparer plusieurs outils de CMS afin de voir ce qu'il est possible de faire avec chacun d'entre eux. Il est demandé un comparatif de plusieurs CMS avant de commencer les développements.
Ensuite l'étudiant pourra développer le site, en respectant les standards (XHTML, CSS, ...) et en créant une charte graphique en harmonie avec le logo de l'association.

Sujet attribué
Affecté à : Mamadou Bachir Bah [M1-MIAGE]  Ecrire 
10/12/2012 Sujet 110 :  Algorithmes de placement en deux dimensions
Auteur : François Clautiaux  Ecrire 
(Responsable Informatique : François Clautiaux  Ecrire )
Sujet recherche

L'objectif du projet est de mettre au point des algorithmes de placement de rectangles dans un grand rectangle.

Les méthodes à développer permettront de faire le tour de méthodes d'optimisation combinatoire : heuristiques, méthodes arborescentes, et méta-heuristiques.

Les algorithmes seront à intégrer dans une plate-forme existante développée en Java.

Sujet attribué
Affecté à : Romain Windels [M1-INFO]  Ecrire 
07/12/2012 Sujet 109 :  Réseau de neurones artificiels pour reconnaissance d'émotions
Auteur : Pierre Boulet  Ecrire Site
(Responsable Informatique : Pierre Boulet  Ecrire )
Sujet recherche

Le projet consiste à étudier le remplacement d'un réseau de neurone logiciel de type perceptron multi-couches par une simulation d'un réseau matériel à base de memristors. Ce réseau fait partie d'une application de reconnaissance d'émotions codée en scala. Nous utiliserons comme simulateur la plate-forme Brian ou selon disponibilité le simulateur XNet.

Le travail envisagé est avant tout expérimental, il s'agira de trouver une bonne architecture de réseau et d'adapter le processus d'apprentissage (de supervisé à non supervisé).

Les étudiants seront hébergés à l'IRCICA dans les locaux de l'équipe DART (groupe Émeraude).

Liens associés :
Sujet attribué
Affecté à : Jean-Parfait Munyandilikirwa [M1-INFO]  Ecrire 
05/12/2012 Sujet 108 :  Développement d'un plugin Eclipse de transformation et d'analyse de code source Java
Auteur : Martin Monperrus  Ecrire 
(Responsable Informatique : Benoit Cornu  Ecrire )

Contexte :
La modification automatique de code source permet d'améliorer des pans entiers d'une application en ayant à écrire un minimum de code. Une modification peut être d'injecter du code en début de chaque méthode pour vérifier que les arguments passés sont non null, ou encore de rajouter des Loggers dans un code qui en manque. Un outil de modification de code source doit être capable de comprendre tout code correct en entrée, de faire dessus une quelconque manipulation de code et de ressortir du code correct. L'analyse de code permet de ressortir des informations sur une application, par exemple trouver tous les blocks auto-générés ou vide (que ce soit des méthodes surchargées(vides par défaut) ou des catch-block (qui ne contiennent que "e.printstacktrace()") ).

Tâche :
Vous devrez créer un plugin eclipse qui permet pour un projet java(A) à transformer et un "transformeur"(B) de créer un nouveau projet java qui contient le code du projet (A) transformé par (B).
(A) pouvant être n'importe quelle application java.
(B) pouvant être par exemple de remplacer les "e.printstacktrace()" des catch-blocks par un appel à un Logger.
Le travail sera basé sur un outil d'analyse/modification de code source java existant : Spoon.

Outils utilisés:
spoon : un outil d'analyse/modification de code source java (cf spoon.gforge.inria.fr)
eclipse sdk : l'api de manipulation des objets eclipse (cf eclipse.org/pde )
eclipse jdt-core : le compilateur java d'eclipse (cf eclipse.org/projects/project.php?id=eclipse.jdt.core)

Sujet attribué
Affecté à : Amina El-Mekky [M1-INFO]  Ecrire ,  Ouardia Ma-Z [M1-INFO]  Ecrire 
05/12/2012 Sujet 107 :  Essayage 3D des lunettes virtuelles avec une caméra Microsoft Kinect
Auteur : Hazem Wannous  Ecrire 
(Responsable Informatique : Hazem Wannous  Ecrire )

Ce projet peut être vu comme une combinaison des deux modules ; un module de visualisation en 3D des objets (ou de la scène) captés par la Kinect en temps réel et un module d’incrustation d’objet virtuel dans la scène réel reconstruite.
Dans le 1er module, il faut développer une application de visualisation des nuages de points captés par le capteur de Kinect en tant que donnée de profondeur. Ces nuages de points doivent être représentés par des coordonnées réelles X, Y et Z. Cette étape nécessite une modélisation sous OpenGL (ou VTK, …)
Dans le 2ème module, un objet 3D virtuel (par exemple des lunettes) doit être incrusté dans la scène et positionné d’une manière permettant de visualiser l’interaction avec la scène réelle (visage de l’utilisateur).

Les étudiants en projet profiteront des codes existants sur l'acquisition par kinect et la visualisation 3D et de l'expertise déjà acquise par l'équipe d'accueil dans le domaine.

Lieu de travail: Laboratoire de l'équipe MIIRE à Telecom Lille 1.

Ressources: Caméra 3D (Kinect Microsoft), PCs; et codes sources et logiciels de manipulation de données 3D.

Sujet attribué
Affecté à : Pierre Villoutreix [M1-INFO]  Ecrire ,  Maxime Chaste [M1-INFO]  Ecrire 
04/12/2012 Sujet 106 :  Mise en place d'une application vidéo sur la carte xilinx Zynbq 7000 par instanciation du processeur homade
Auteur : Jean-Luc Dekeyser  Ecrire 
(Responsable Informatique : Jean-Luc Dekeyser  Ecrire )

Mise en place d'une application vidéo sur la carte xilinx Zynbq 7000 par instanciation du processeur homade

Sujet attribué
Affecté à : Quang-Tung Nguyen [M1-INFO]  Ecrire ,  Antoine Baluzolanga Kiatoko [M1-INFO]  Ecrire 
04/12/2012 Sujet 105 :  Suivi d'un capteur en 3D a l'aide d'une webcam
Auteur : Jean Rioult  Ecrire 
(Responsable Informatique : Sébastien Ambellouis  Ecrire )

L'idée de ce projet et de suivre le déplacement d'un capteur en 3D a l'aide d'une webcam. Ce capteur  transmet en continu des informations au pc avec une liaison filaire. Le programme devra localiser le capteur dans l'espace et faire une cartographie de la mesure sur l'environnement vu par la WebCam.
Ce projet partira d’un programme existant (libre de droit) disponible sur internet et visible à l’adresse ci-dessous.

Liens associés :
Sujet attribué
Affecté à : Matthieu Fesselier [M1-INFO]  Ecrire ,  Guillaume Huylebroeck [M1-INFO]  Ecrire 
04/12/2012 Sujet 104 :  Visualisation de transformations de mots
Auteur : Yves Roos  Ecrire 
(Responsable Informatique : Yves Roos  Ecrire )
Sujet recherche

L'objectif de ce projet est le développement de plusieurs applications permettant la validation (ou la réfutation !) de travaux actuels sur les systèmes de réécriture de mots à une seule règle préservant les longueurs.

De manière très surprenante, autant la définition de ces systèmes est très simple, autant les propriétés de ces systèmes sont difficiles à étudier. Les applications à réaliser dans ce projet de M1 apporteront une aide indispensable à l'avancement de ces travaux.

Les développements à réaliser sont de 3 types :
   1) analyse "objet" des notions principales
   2) implantation d'algorithmes ou semi-algorithmes existant
   3) visualisation graphique des objets de 1) et des résultats de 2)

Le langage de développement est java; le travail nécessite la compréhension préalable de notions formelles (du type automates).

Liens associés :
Sujet non-attribué
04/12/2012 Sujet 103 :  Algorithme multi-threadé pour la recherche et l'élimination de séquences d'ADN chimériques
Auteur : Christophe Demay  Ecrire Site
(Responsable Informatique : Christophe Demay  Ecrire )

L'ADN est le support de l'information génétique. La transcription de l'ADN en ARN au sein des cellules vivantes, puis la traduction de ce dernier en protéine permet le fonctionnement des cellules, le fonctionnement de l'organisme.

Depuis 4 ans, grâce aux technologies de séquençage haut débit, nous sommes en mesure de lire intégralement soit la séquence d'ADN d'un pool de cellules, soit leur séquences d'ARN. De manière schématique, l'identification de ces ARN permet de comprendre les mécanismes du vivant et notamment en s'intéressant à des cellules « malades », de comprendre les mécanismes de la pathologie.

Dans ce projet, nous nous intéressons plus particulièrement à de petites séquences d'ARN d'environ 22 lettres appelées micro ARN ([ref1] miARN), connues pour avoir un rôle régulateur dans l'expression des gènes.

Nous cherchons à identifier ces miARN à partir des données de plusieurs patients. Cette tâche passe par différentes étapes consistants notamment en la localisation et l'élimination d'une séquence utilisée par la technologie de séquençage, appelée ADAPTER ([ref2] ADAPTER) et que l'on retrouve à l'extrémité des miARNs à séquencer.

Les données en entrée sont
- de 10 à 300 millions de mots de 50 lettres (ATCG) par patient (les ARN séquencés)
- la séquence complète du génome de référence (3 milliards de lettres)
- différentes séquences d'ADAPTERS selon les patients

Il s'agit dans un premier temps d'aligner ces séquences sur le génome de référence avec le logiciel SHRimP ([ref3] SHRiMP) afin d'obtenir des "hits". Puis, à l'aide d'un algorithme que nous avons développé, il faudra aligner les séquences d'ADAPTER sur chacun des hits obtenu afin de différencier la partie miARN de la partie ADAPTER.

La taille des fichiers sur lesquels nous travaillons nous oblige à implémenter l'algorithme en langage C. Il est primordial d'utiliser du multithreading afin de pouvoir lancer le programme sur une machine multiprocesseurs/multicores dans le but d'améliorer le temps d'exécution.

Les étudiants sélectionnés devront être motivés et être capables d'implémenter et de tester la méthode afin de la valider. Une bonne connaissance du langage C est requise et un intérêt particulier pour OpenMP et les pthreads (notion de rendez vous, mutex, etc ...) constituera un gros avantage.

Liens associés :
Sujet non-attribué
03/12/2012 Sujet 102 :  Ecosystèmes virtuels et programmation 3D : spécification et développement d'un Virtuarium
Auteur : Samuel Blanquart  Ecrire 
(Responsable Informatique : Samuel Blanquart  Ecrire )
Sujet recherche

Les développements logiciels en réalité virtuelle ont une portée autant ludique que scientifique. Le sujet proposé vise à redéfinir les spécifications d'un programme existant (C++ et OpenGL, librairie GLUT) développé par l'encadrant , et d'en réaliser l'implémentation en C++. Le programme existant fut initialement développé pour ses qualités ludiques et graphiques, mais l'objectif à terme est d'en faire un modèle d'écosystème permettant d'évaluer par simulations certaines questions scientifiques relatives à l'évolution et à la génétique des populations.

Le programme en question met en scène un "virtuarium", soit un écosystème virtuel dont on propose une représentation graphique animée, procurant si possible une sensation de réalisme biologique. Les organismes virtuels implémentent une "logique agent": chaque organisme est un agent réagissant à son environnement local, soit à la présence d'autres agents, selon des règles définies. Dans sa version actuelle, l'écosystème virtuel implémenté scénarise des rapports de prédation entre trois types d'agents, 1) des carnassiers (carrés rouges) se nourrissant d'herbivores, 2) des herbivores (carrés bleus) se nourrissant de végétaux, et 3) des végétaux poussant "spontanément" (pas de prédation d'autres agents, carrés verts). [ Voir vidéo ci dessous ]

En 2012,  des étudiants de PJI ont décrit et partiellement implémenté un programme objet simple (C++ et SDL) qui permet de généraliser les rapports de prédation évoqués, ainsi que la nature des rapports eux mêmes.

Les étudiants étendront et testeront cet algorithme, et ils implémenteront une méthode pour définir des "observateurs" scrutant l'état de ce modèle d'éco-agents. Ils pourront également définir de nouvelles classes d'éco-agents ayant de nouvelles stratégies comportementales.

Liens associés :
Sujet attribué
Affecté à : Lois Arens [M1-INFO]  Ecrire ,  Yoann Bouquet [M1-INFO]  Ecrire 
03/12/2012 Sujet 101 :  Développement d'une interface de visualisation des arbres phylogénétiques et des gènes modernes et ancestraux
Auteur : Samuel Blanquart  Ecrire 
(Responsable Informatique : Samuel Blanquart  Ecrire )
Sujet recherche

Les génomes et les protéines peuvent être représentés sous la forme de séquences linéaires de caractères: un gène ou un génome est un long mot formé des 4 bases de l'ADN (A, C, G et T), et 20 acides-aminés forment les séquences protéiques. Les séquences biologiques modernes ont divergé au cours des temps évolutifs par accumulation de mutations. Lorsqu'une proportion suffisante d'information est conservée, on sait construire un ensemble de séquences ayant une origine commune (c.a.d. qui sont estimées être originaires d'une même séquence ancestrale, sur la base de leurs ressemblances actuelles (méthodes d'alignement de séquences, programmes BLAST, MUSCL, MAFFT....). Cet ensemble est représenté sous la forme d'un alignement, soit une matrice de caractères, dont chacune des N lignes représente une des séquences biologiques modernes, et chacune des M colonnes représente une position ou site, plus ou moins conservé au cours de l'évolution. Par ailleurs, des modèles mathématiques de l'évolution moléculaire permettent d'estimer, selon les sites de l'alignement présentant des différences parmi les séquences modernes, l'histoire évolutive de ces séquences. Cette histoire est représentée sous la forme d'un arbre binaire, ou arbre phylogénétique. Un arbre phylogénétique peut par exemple correspondre à un arbre des espèces. Chaque noeud interne de l'arbre défini un sous-arbre, et il représente l'ancêtre (organisme ou séquence) des noeuds feuilles du sous-arbre. Les modèles phylogénétiques permettent de plus d'estimer en fonction d'un arbre phylogénétique et d'un alignement, les états ancestraux (aux noeuds internes) des séquences modernes (aux feuilles). On commence actuellement à savoir exploiter les séquences ancestrales ainsi calculées pour déduire d'intéressants résultats biologiques, concernant par exemple les paléo-métabolismes ou les paléo-environnements.

Une interface graphique JAVA permettant de visualiser l'alignement des N séquences modernes, l'arbre phylogénétique représentant leur histoire évolutive, et les séquences ancestrales correspondant aux noeuds internes de l'arbre. En 2012, des étudiants ont développé et partiellement implémenté un algorithme permettant de visualiser, conjointement à l'arbre phylogénétique et à l'alignement de séquences, la structure 3D d'une des protéines dont l'évolution est étudiées.

Les étudiants prouveront, implémenteront (JAVA, outils de la bdd en ligne PDB) et testeront cet algorithme. Aucune connaissance en biologie n'est requise. Le projet requière en revanche un goût pour les algorithmes, JAVA, l'IHM et les problèmes de visualisation de données.

Sujet non-attribué
03/12/2012 Sujet 100 :  Replaying bug fixes
Auteur : Matias Martinez  Ecrire 
(Responsable Informatique : Martin Monperrus  Ecrire )
Sujet recherche

The goal of this project is to pinpoint the locations where a a bug fix could be applied. For instance, one may add "if (param==null) throw new IllegalArgumentException" only if the variable "param" exists in the current scope.

In other words, you will analyze source code to mark which lines or AST nodes in which the change can be applied. Then, your program will generate the many compilable source code versions that include the bug fix. The changes will be expressed in the ChangeDistiller taxonomy, from the University of Zurich.

Your implementation will be part of a larger research project on automated software repair. In particular, you will explore whether the change granularity  (much information about type of change, parent, etc) yields more possible locations than a coarser.

Project Language: english, spanish or french

Sujet attribué
Affecté à : Navish Lallbeeharry [M1-INFO]  Ecrire 
03/12/2012 Sujet 98 :  Ecriture d'un plugin pour MeshLab
Auteur : Jean-Philippe Vandeborre  Ecrire Site
(Responsable Informatique : Jean-Philippe Vandeborre  Ecrire )

Les modèles 3D, le plus souvent sous la forme de maillages, représentent des objets réels dans une représentation mathématique (virtuelle) du monde. Ces modèles sont utilisés dans les simulations, les jeux vidéos, les visites interactives, etc.

MeshLab est un projet OpenSource initié par des chercheurs italiens. Il permet, outre la simple visualisation et manipulation de modèles 3D, d'appliquer des transformations, filtres, conversions, etc. à ces modèles. Le projet est également modulable et permet à des développeurs externes d'écrire des plugins ajoutant des fonctionnalités au système.

Le but de ce projet est d'étudier le fonctionnement de MeshLab et plus particulièrement de son mécanisme de plugins. On testera ce mécanisme en mettant en développant, par exemple, un module de calcul de distances géodésiques sur un maillage ou de calcul de points caractéristiques basé sur ces distances géodésiques.

MeshLab est disponible sur les principales plateformes d'ordinateurs personnels (Windows, Linux, Mac) ainsi qu'en version pour smartphones. Les développements réalisés dans ce projet se feront de préférence sous Linux, mais les autres environnements sont également envisageables en fonction des préférences et compétences des étudiants.

Liens associés :
Sujet non-attribué
03/12/2012 Sujet 97 :  Web 3D : visite virtuelle à partir de vidéos 360
Auteur : Fabrice Aubert Et Damien Marchal  Ecrire 
(Responsable Informatique : Fabrice Aubert  Ecrire )

Contexte :
========
 On trouve de nombreux exemples de vidéos 360 interactives sur le web (http://video.virtualvisit.tv/examples/, http://www.virtualhome.fr/, http://www.loop-in.com/nos-projets/ et bien d'autres...). Elles permettent à l'utilisateur de contrôler le point de vue du film visualisé.

 Le contexte du projet est d'exploiter la vidéo 360 pour faire de la visite virtuelle mais sans contrainte de lieu fixe. L'idée est de partir de plusieurs vidéos 360, chacune représentant un chemin. L'utilisateur peut alors avancer/reculer sur le chemin et changer de chemin, tout en contrôlant son point de vue.

 Autrement dit, il s'agit de retrouver le principe utilisé dans "street view de google maps", mais en vidéo continue et pour la visite de bâtiments.

Objectifs :
=========
 Pour ce projet nous disposons de vidéos 360 existantes (générées artificiellement), et il faut développer l'application web qui permet de :
* visualiser une vidéo 360.
* interagir sur le point de vue et sur le temps de la vidéo avec la souris et le clavier.
* changer de chemin (c'est-à-dire changer de vidéo 360).

 Pour le dernier point, on propose plusieurs possibilités :
* changer explicitement de chemin (icône cliquable sur une porte par exemple)
* changer de chemin de façon transparente pour l'utilisateur (en fonction du lieu où il se trouve et du mouvement effectué).

Outils (les connaissances techniques sont à acquérir lors du projet) :
======
* L'application sera développée en Javascript (compatible Chrome ou Firefox, au choix).
* La partie 3D (visualisation de la vidéo 360) utilisera WebGL grâce à la librairie three.js
(http://mrdoob.github.com/three.js/).

Pré-requis :
==========
 Forte motivation pour le développement d'applications 3D et leur réalisation avec le langage Javascript (conception orientée "prototype").

 Les étudiants intéressés doivent prendre contact avec fabrice.aubert@lifl.fr

Liens associés :
Sujet non-attribué
03/12/2012 Sujet 96 :  Simulateur d'Homade
Auteur : Frédéric Guyomarch  Ecrire 
(Responsable Informatique : Frédéric Guyomarch  Ecrire )
Sujet recherche

L'équipe DaRT conçoit un nouveau processeur dédié à l'exploitation de la reconfiguration dynamique. Le but du projet est de créer un petit environnent en Java pour aider à la simulation du processeur et à la conception de programmes pour celui-ci, que ce soit en assembleur ou en HiHope, un langage spécialement conçu pour ce processeur. L’environnement devra permettre le pas-à-pas et aussi une visualisation de la pile du processeur, entre autres.

Liens associés :
Sujet non-attribué
03/12/2012 Sujet 95 :  Export de code source Python en XML
Auteur : Martin Monperrus  Ecrire 
(Responsable Informatique : Martin Monperrus  Ecrire )

Vous développerez un export de l'arbre de syntaxe abstraite de code Python en XML. Vous réutiliserez des librairies spécialisées ou des modules du compilateur.
Le code XML généré devra être conforme à la syntaxe XML de l'outil srcML (*).

Les exports XML seront ensuite utilisés dans le cadre d'une étude à large échelle de l'utilisation des exceptions dans les projets Python open-source. Vous automatiserez certains des traitements de l'étude.


Liens associés :
Sujet attribué
Affecté à : Pierre Frayer [M1-MIAGE]  Ecrire ,  Antoine Goubel [M1-MIAGE]  Ecrire 
03/12/2012 Sujet 94 :  Système multi Kinect pour le suivi de personnes
Auteur : Owais Mehmood  Ecrire 
(Responsable Informatique : Sébastien Ambellouis  Ecrire )

La Kinect de Microsoft est un dispositif de commande de la Xbox qui permet d’utiliser les mouvements du corps d'une personne afin d’interagir avec un jeu de manière plus réaliste. Il utilise une caméra et d'un projecteur infrarouge pour capturer les éléments du corps humain et pour traduire leur mouvement en commandes. La Kinect détient un record pour le « dispositif consommateur le plus vendu électronique ». En raison de son faible coût et la disponibilité des librairies open source, ce matériel a trouvé des applications intéressantes dans la communauté des chercheurs en Vision par ordinateur dans de nombreux domaines d'applications. De nombreux exemples d’utilisation inondent l’internet.

La Kinect est un système actif de perception 3D. Il utilise un algorithme de détection du squelette humain afin de comprendre ses gestes. Ces algorithmes sont disponibles dans  la Kinect SDK et la bibliothèque OpenNI. Le travail attendu dans ce projet est d'étendre l’utilisation de ce matériel de perception à un système composé de deux Kinect afin d’assurer le suivi d’une personne au cours de son déplacement et de ses mouvements. En matière de recherche, la première difficulté est d’assurer le bon calibrage du dispositif i.e. de pouvoir faire le lien spatial entre les positions d’un même individu dans l’une et l’autre des Kinect. La seconde difficulté est de développer la fonction de suivi de plusieurs individus dans des scénarios de complexité croissante i.e. jusqu’à ce que le scénario soit considéré comme une scène de foule et que les phénomènes d’occultations soient nombreux.

Le lien suivant est une illustration de ce qui pourrait être attendu :
[1] http://www.youtube.com/watch?v=x--xlKWBTAE

60 % de ce projet correspond à du développement et 40% se décline sous forme de recherche. Ces proportions pourront changer en fonction des candidats à ce sujet. Les outils préssentis : OpenNI, OpenCV, Microsoft Kinect SDK, SkelTreck, MATLAB pour le prototypage.

Voici deux liens pour pour bien commencer le projet :
[2] http://campar.in.tum.de/Chair/TeachingSs11Kinect
[3] http://students.asl.ethz.ch/upl_pdf/318-report.pdf

LEOST est un laboratoire de l’IFSTTAR, situé sur le campus de l'université de  Lille 1, l’institut de recherche Français sur les transports et leur infrastructure. Ce projet s’insère dans le contexte des applications de surveillance vidéo et audio des systèmes de transport collectifs (routier, ferroviaire, métro).

Liens associés :
Sujet non-attribué
03/12/2012 Sujet 93 :  Optimisation de flots
Auteur : François Clautiaux  Ecrire 
(Responsable Informatique : Marie-Emile Voge  Ecrire )
Sujet recherche

L'équipe de recherche DOLPHIN a collaboré avec une entreprise sur un système d'échange de dettes entre entreprises.  L'idée derrière ce problème peut être illustrée par un exemple simple : si l'entreprise A doit 10 colis de produits à l'entreprise B, et que B doit 10 colis à C, alors on peut simplifier les dettes en considérant que A doit 10 unités à C. D'une manière générale, on cherche à minimiser le coût du remboursement des dettes (en prenant en compte les distances entre les entreprises notamment).

Lorsque le nombre d'entreprises est grand, on a recours à des algorithmes de flot maximum dans des graphes. Ce qui rend le problème intéressant est que certains échanges ne sont pas autorisés. Cela produit un nouveau problème d'optimisation pour lequel aucune méthode n'a pour le moment été proposée.

Le projet a pour but de proposer des méthodes de résolution inspirées des algorithmes classiques pour les problèmes de flot. En fonction des goûts du ou des étudiants, on pourra éventuellement s'intéresser aussi aux propriétés du problème (complexité, etc.).

Objectif : caractériser le problème et implémenter une approche efficace pour résoudre le problème d'épuration de dettes, monter en compétence sur les algorithmes d'optimisation de flots

Sujet attribué
Affecté à : Irina Bakardzhieva [M1-MIAGE]  Ecrire ,  Ophélie Debiève [M1-MIAGE]  Ecrire 
03/12/2012 Sujet 92 :  Création d’une base de données sur la glycosylation du poisson zèbre
Auteur : Yann Guerardel  Ecrire 
(Responsable Informatique : Olga Plechakova  Ecrire )
Sujet recherche

Le poisson zèbre (Danio rerio) est communément utilisé en tant que modèle d’étude du développement chez les vertébrés en raison de son développement embryonnaire rapide, de sa transparence optique et de la facilité avec laquelle il peut être manipulé in vivo. Ces qualités le prédisposent à devenir un bon modèle d’étude du rôle de la glycosylation chez les vertébrés. Afin de fournir à la communauté scientifique des bases structurales solides pour les analyses des fonctions des glycanes (sucres complexes) chez le poisson zèbre, notre laboratoire a initié l’analyse totale du glycome de ses organes. Nous avons ainsi établi par spectrométrie de masse la structure des O-glycanes, N-glycanes et glycolipides exprimés dans les organes majeurs du poisson zèbre.

Ces études ont généré une quantité très importante de données structurales. Pour les rendre accessibles à la communauté scientifique, nous envisageons la création d’une base de données permettant leur utilisation de manière conviviale. Le stagiaire aura pour objectif de mettre en forme cette base en permettant l’accès aux structures ainsi qu’aux données expérimentales par la création d’un site Web associé. Les compétences requises sont PHP5, HTML, JavaScript, MySQL.

Le projet se déroulera à l’UMR 8576 « Unité de Glycobiologie Structurale et Fonctionnelle », au sein de l’équipe « Biodiversité associée aux glycoconjugués” (responsable Yann Guerardel) ; responsable informatique Olga Plechakova.

Sujet attribué
Affecté à : Karl Deleforterie [M1-MIAGE]  Ecrire ,  Franck David [M1-MIAGE]  Ecrire 
03/12/2012 Sujet 91 :  Pipeline d'analyse de régions de cassures
Auteur : Jean-Stéphane Varré  Ecrire Site
(Responsable Informatique : Jean-Stéphane Varré  Ecrire )

Au cours de l'évolution, la structure des génomes évolue, c'est-à-dire que l'ordre des gènes est modifié. Cependant la question de savoir pourquoi certains ordres ont été conservés à travers le temps et d'autre modifiés n'a pas encore de réponse. Pour fouiller cette problématique, nous avons besoin d'analyser les régions sur le génome autour des gènes qui ont été modifiés mais aussi entre les gènes dont l'ordre a été conservé.

Il s'agira dans ce travail de développer les capacités d'un logiciel, CASSIS, capable d'extraire les régions de cassure de l'ordre des gènes entre deux génomes afin qu'il puisse traiter simultanément plusieurs génomes. Puis il faudra développer les outils nécessaires à l'analyse
de ces régions afin d'obtenir in fine un pipeline d'analyse. Les sorties pourront être visualisées grâce au logiciel CIRCOS.

Sujet attribué
Affecté à : Gauvain Marquet [M1-INFO]  Ecrire 
02/12/2012 Sujet 90 :  Génération de documents pédagogiques
Auteur : Anne-Cécile Caron  Ecrire 
(Responsable Informatique : Anne-Cécile Caron  Ecrire )

Vous connaissez le portail du FIL : http://www.fil.univ-lille1.fr/portail/
Ce portail permet aux étudiants de connaître le détail des contenus enseignés, et d'avoir accès à divers documents (par exemple l'emploi du temps). Pour le master MIAGE en alternance, il existe un fichier XML décrivant les cours, avec les intervenants, les ECTS, les heures ... Ce document XML permet de générer grâce à XQuery et XSL-FO des documents PDF : emploi du temps, descriptif des cours ...

Ce projet propose
- d'adapter ce fichier XML et les programmes de génération des documents pour qu'ils puissent prendre en compte plusieurs groupes
- de définir des interfaces web permettant de modifier plus facilement le contenu du fichier XML et la génération des documents
- de générer une partie des pages web du portail à partir de ce document source XML.

Sujet attribué
Affecté à : Maxime Boucher [M1-MIAGE]  Ecrire ,  Latifou Sano [M1-MIAGE]  Ecrire 
02/12/2012 Sujet 89 :  Annuaire de l'association des anciens de la MIAGE de Lille
Auteur : Anne-Cécile Caron  Ecrire 
(Responsable Informatique : Anne-Cécile Caron  Ecrire )

L'association des anciens étudiants de la MIAGE de Lille, l'AA-MIAGE, gère depuis plusieurs décennies un Annuaire des anciens. Cet annuaire est accessible aux adhérents de l'association, et permet de retrouver les miagistes par promotion, de se renseigner sur une entreprise, de connaître les miagistes qui y travaillent, ...

L'association aimerait
- d'une part rendre plus facilement accessible l'annuaire via un mobile,
et ajouter dans ce cas des fonctionnalités adaptées. Il est envisagé d'utiliser des web services:
     -> Authentification
     -> Récupération d'une liste de diplômé par critère (1 ou plusieurs critères)
     -> Récupération d'une fiche
     -> Update des données de la fiche du diplômé connecté
- d'autre part améliorer l'interface web existante (écrite en PHP, et utilisant le CMS DRUPAL), et ajouter des scripts utilitaires permettant par exemple d'ajouter une liste de diplômés ou de mettre à jour les informations lors de la fusion/rachat d'entreprises (par exemple Logica a été racheté par CGI, il faut donc que les miagistes de Logica soient automatiquement rattachés à CGI)
- enfin, permettre aux étudiants d'intégrer l'annuaire afin de faciliter une continuité entre l'université et la vie professionnelle.

Pour ce projet, vous pouvez être force de proposition, aussi bien pour les fonctionnalités que pour la réalisation technique. Bien sûr, vous serez en contact avec des membres de l'AAMiage qui pourront vous conseiller et vous faire part de leurs souhaits.

Sujet attribué
Affecté à : Nicolas Vandemeulebrouck [M1-MIAGE]  Ecrire ,  Florian Bruffaert [M1-MIAGE]  Ecrire 
02/12/2012 Sujet 88 :  Gestion de notes d'UE à effectif important par une application web
Auteur : Marc Ribaucour  Ecrire 
(Responsable Informatique : Eric Wegrzynowski  Ecrire )

    Je suis responsable de deux unités d'enseignement (UE) de chimie en 1ère année de Licence qui concernent des effectifs très importants d'étudiants : environ 300 étudiants pour l'UE "chimie en solution aqueuse" de la licence SESI et 800 étudiants pour l'UE "chimie appliquée aux sciences naturelles" en licence SVTE. J'utilise des fichiers Excel pour collecter des informations de notation auprès des enseignants de l'équipe pédagogique, calculer et analyser statistiquement les notes des évaluations de ces UE. L'utilisation d'un contrôle continu dans ces enseignements, conjuguée avec un nombre de groupes élevé entraîne la création et la gestion d'un grand nombre de fichiers. Il faut par exemple gérer 148 fichiers pour calculer la note finale de TP pour les effectifs des deux UE. Une partie de ces opérations est automatisée grâce à des applications en Visual Basic Application Microsoft Office (VBA MO) développées par des étudiants des Masters 1 Informatique et Génie Mathématique Informatique.

    Lors de projets de Master MIAGE réalisés en 2010-2011 et 2012-2013, des étudiants ont développé en PHP une première version d'une application web qui à terme remplacera l'utilisation des fichiers Excel et des applications VBA MO pour la gestion des notes des évaluations des UE de chimie. Cette application est couplée avec une base de données MySQL contenant l'identité des étudiants et leur groupe et section d'affectation. Pour un devoir surveillé (DS) donné, elle permet la saisie des informations de notation par les enseignants de l'équipe pédagogique, le calcul et l'analyse statistique des notes du DS groupe par groupe.

    Les objectifs de ce projet en lien avec la poursuite du développement de l'application existante sont listés ci-dessous :
- faire l'état des lieux de la dernière version de l'application web et corriger les disfonctionnements des fonctionnalités existantes ;
- ajouter des fonctionnalités pour saisir les données de notation d'un DS avec une seule note, d'un DS avec un ou plusieurs exercices comportant des parties ;
- étendre les fonctionnalités existantes de l'application à la gestion des notes des quatre TP de des deux UE de chimie et au calcul de la note finale de TP ;
- ajouter une fonctionnalité permettant de consulter les notes d'un DS pour une section (licence SVTE) ou un parcours (licence SESI) et pour l'ensemble de l'effectif avec génération des données statistiques associées ;
- ajouter une fonctionnalité pour gérer l'exportation des fichiers de notes de DS, d'écrit, de TP et d'UE au format xls et pdf ;
- gérer le changement d'année universitaire avec un archivage des données des années précédentes ;
- ajouter une fonctionnalité pour permettre l'accès à un utilisateur étudiant ;
- prévoir la gestion de la notation de la seconde session avec un choix des évaluations incluses dans le calcul de la note de cette seconde session ;
- ajouter des fonctionnalités permettant l'utilisation de l'application pour d'autres UE (informatique) de la licence SESI comme l'utilisation d'une note bonus ;

    Une notice d'utilisation de l'application développée devra être rédigée. Cette notice comportera les informations essentielles sur le langage et sur la structure des algorithmes utilisés afin que d'autres stagiaires soient capables de faire évoluer l'application.

Sujet non-attribué
02/12/2012 Sujet 87 :  Générateur d'eventails de cartes (logiciel d'aide au design de tarot)
Auteur : Antoine Thomas  Ecrire 
(Responsable Informatique : Antoine Thomas  Ecrire )

Le but de ce projet est de développer une version améliorée d'un logiciel d'aide à la création d'un design de tarot (le tarot est l'image située sur le dos d'un jeu de cartes).

En effet, lorsque l'on travaille sur un nouveau design, il est utile de pouvoir générer des aperçus de différents types d'éventails et de rubans de cartes, afin de pouvoir faire des ajustements...

Vous disposerez des sources java de l'ancienne version (en ligne de commande) dont vous pourrez éventuellement vous inspirer pour réaliser cette nouvelle version avec interface graphique (et mieux optimisée).

Liens associés :
Sujet non-attribué
01/12/2012 Sujet 86 :  Amélioration d'un logiciel de visualisation d'orbite
Auteur : Florent Deleflie  Ecrire 
(Responsable Informatique : Francesco De Comité  Ecrire )

L'orbitographie, dans le domaine de l'astronautique, est la détermination des éléments orbitaux d'un satellite artificiel, qui varient dans le temps. C'est l'un des thèmes de prédilection du Laboratoire d'Astronomie de Lille. En  2011 un stage informatique a consisté à créer un logiciel de visualisation d'orbite en JAVA. Vous pouvez trouver le résumé de ce stage à cette adresse :
http://www.fil.univ-lille1.fr/~decomite/ue/ResumesStages/2011/resumes/dufresne/resume.php

Nous proposons cette année un sujet basé sur l'amélioration de l'IHM de ce logiciel. Il sera nécessaire de rendre l'interface plus conviviale, notamment en rendant plus interactive le fenêtre de visualisation 3D ainsi qu'en remodelant les menus.

Le stage initial visait également à connecter l'application avec une base de donnée recensant les satellites artificiels en orbite autour de la Terre. La connexion au serveur est déjà réalisée mais il sera nécéssaire d'intégrer les nouvelles données à l'interface.

Mots-clef :
• JAVA
• IHM / 3D

Contacts pour plus d'infos :
• Florent Deleflie (Partie orbitographie) : florent.deleflie@imcce.fr
• Yoann Dufresne (Partie informatique) : yoann.dufresne@etudiant.univ-lille1.fr

Liens associés :
Sujet attribué
Affecté à : Romain Frangi [M1-MIAGE]  Ecrire ,  Dimitri Descamps [M1-MIAGE]  Ecrire 
01/12/2012 Sujet 85 :  Plugin de visualisation 3D pour la consommation énergétique
Auteur : Romain Rouvoy  Ecrire Site
(Responsable Informatique : Aurélien Bourdon  Ecrire )

Plugin de visualisation 3D pour la consommation énergétique

L'objectif de ce projet est de réaliser un plugin de visualisation en 3D de la consommation énergétique d'un ensemble de processus systèmes. Nous disposons déjà d'une librairie logicielle, nommée PowerAPI, qui permet de suivre en temps réel la consommation énergétique d'un ensemble de processus systèmes ou d'applications [1]. Il s'agit donc ici d'utiliser une librairie Java comme Processing [2] pour offrir une représentation en 3D de la consommation énergétique en s'inspirant, par exemple, de ce qui peut être fait dans des outils comme CodeCity [3]. Le travail demandé consiste donc à i) installer les différents outils, ii) proposer une ou plusieurs représentations de la consommation énergétique en 3D, iii) réaliser un plugin pour l'interface graphique de PowerAPI (basée sur JavaFX).

Liens associés :
Sujet attribué
Affecté à : Aurore Allart [M1-INFO]  Ecrire ,  Benjamin Ruytoor [M1-INFO]  Ecrire 
01/12/2012 Sujet 84 :  Analyse contextuelle de collections de photos privées
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )
Sujet recherche

De plus en plus de photos sont générées par divers dispositifs géo-localisés dans différents contextes sociaux (événements en famille, sortie entre amis, balades, etc).

Des outils permettant d'extraire des visages sur ces photos existent et des solutions permettant une identification de personnes à partir des visages sont également envisageables. Nous disposons à ce jour de ce type de prototypes.

Le but du projet est d'utiliser ces informations (personnes identifiées) extraites automatiquement depuis les images et/ou vidéos pour :
a) inférer des faits sociaux : telle balade je l'ai fait avec Marius car il apparaît sur plusieurs photos avec moi, et Marius m'accompagne souvent dans mes balades
b) utiliser les informations extraites depuis les images où les visages sont détectables pour avoir des indices sur une signature globale de Marius, pour que je puisse le reconnaître dans une autre photo où son visage n'est pas visible, ou bien n'est pas détectable par les algorithmes existants. Dans ce cas, ce sont les signatures extraites depuis les images précédentes qui seront utilisés.

Une première expérience avec des outils pour faire du traitement d'image tels qu'OpenCV est souhaitée.

Sujet attribué
Affecté à : Benjamin Allaert [M1-INFO]  Ecrire ,   Benjamin Flahauw [M1-INFO]  Ecrire 
01/12/2012 Sujet 83 :  Comment j'ai aimé la dernière video sur youtube...
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )
Sujet recherche

Dans ce projet, il s'agit de construire un modèle rendant compte des intérêts et des préférences des utilisateurs en suivant la manière dont:
* ils naviguent au sein d'un contenu vidéo (sauts fréquents, lecture rapide, lecture normale, s'ils reviennent en arrière),  
* ils regardent ou pas l'écran lorsque la vidéo est jouée
* ils expriment certaines expressions faciales (sourire, joie, etc.)

Le but du projet est de faire dans un premier temps un bref état de l'art sur les modèles utilisateurs fusionnant des informations de diverses nature pour mettre à jour les intérêts et préférences des utilisateurs.

Des prototypes existent dans notre équipe permettant de réaliser individuellement les types de suivi discuté précédemment. Dans ce projet, il s'agit d'intégrer tout cela pour faire évoluer un modèle décrivant l'utilisateur ainsi que les contenus regardés.

Ce type de modèle peut être utilisé ensuite pour personnaliser l'expérience multimédia de l'utilisateur dans un contexte d'usage privé ou bien dans un contexte e-learning où l'on peut adapter la forme et le contenu transmis à l'apprenant.

Sujet non-attribué
01/12/2012 Sujet 82 :  Interagir avec votre ordinateur de la tête
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )
Sujet recherche

Utiliser la webcam intégré sur votre ordinateur pour communiquer avec l'ordinateur par mouvement de la tête.

Dans notre équipe, nous disposons des prototypes captant l'orientation de la tête. Dans ce projet, nous visons la construction d'un démonstrateur permettant d'étudier, dans une situation réelle, l'utilisation des informations sur l'orientation de la tête de la personne en face de la machine.

Plusieurs scénarios d'usage sont envisagés et le choix pourra être fait aussi suite aux échanges que nous aurons autour du projet :
a) l'interaction multi-ecran (changer de focus sur les écrans en fonction de l'écran regardé)
b) étudier l'évolution de l'orientation de la tête afin d'en déduire des gestes (mouvement de gauche à droite, de haut en bas, etc.)

Sujet attribué
Affecté à : Mamadou Diop [M1-INFO]  Ecrire 
01/12/2012 Sujet 81 :  Take a photo for me
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )

Certains coins perdus du monde ne sont pas répertories par des applications de cartographie telle que google maps, mappy, etc...

Il s'agit surtout de coins qui n'ont une importance que pour vous même, car ils suscitent un certain nombre de souvenirs, sentiments, nostalgie... Par exemple, la maison des grands parents qui ne se trouve pas sur une route accessible à la petite voiture Google ou aux passionnés de photos qui enrichissent les sites dédiés à accueillir des photos géolocalisées.

Le but de ce projet et de proposer une application qui permettra à une communauté d'utilisateurs d'exprimer leur besoin "ultime" de disposer des photos d'un certain endroit identifié par ses coordonnées GPS + orientation. Les membres de cette communauté seront invités à prendre cette photo dès qu'ils sont à proximité d'un endroit pour lequel une telle demande a été faite, ou bien alors, les passionnés feront la chasse à des endroits demandés près de chez eux.

Pour faire vivre la communauté et inciter les gens à se rendre service, vous pourriez mettre en place un système de récompense à base de click'or.

Il ne s'agit pas de mettre en place un système de stockage de photos, mais plutôt d'utiliser les systèmes d’hébergement disponibles (Picasa, Flickr, etc.) permettant d'annoter avec des informations gps les photos qui y sont déposées.

Cet interfaçage permettra également d'en informer les utilisateurs dès que d'autres photos qu'ils n'ont pas commandées eux même, mais qui sont proches des endroits préférés sont mises en ligne.

Sujet attribué
Affecté à : Jérémie Samson [M1-INFO]  Ecrire ,  Victor Paumier [M1-INFO]  Ecrire 
01/12/2012 Sujet 80 :  Reprise pour mise en place fonctionnelle de l'E-WhoSWho
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )

Un projet développé depuis 2010 en JEE (avec Spring) qui se trouve maintenant à la deuxième itération permet :
- d’enregistrer des informations sur l'ensemble des étudiants du FIL
- ainsi que des anciens étudiants voulant garder un contact avec le FIL pour proposer par exemple des offres de stages ou autres.
- depuis l'année derniere, il permet aussi une organisation et répartition dynamique des étudiants en groupes.

Il manque peu de chose pour que l'application puisse être mise en production et utilisée par les secrétaires des diverses formations pour centraliser les informations sur les étudiants.

Votre travail consistera dans :
a) vous imprégner de la manière dont le projet a été construit et des fonctionnalités disponibles
b) rencontrer les secrétaires pédagogiques pour évaluer les points à améliorer avant de mettre en place le système
c) étudier la manière dont le maximum d'information peuvent être collecté par voie électronique (en remplacement des fiches que vous remplissez à la main à chaque rentrée)
d) apporter les modifications nécessaires
e) mettre en ligne sur une machine dédiée l'application
f) réaliser des tests pour préparer la rentrée prochaine.

Sujet non-attribué
01/12/2012 Sujet 79 :  Logiciels d'e-learning pour la formation à la traction des trains
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )

Sous-projet 1
-------------
Création d’un logiciel permettant de créer des modules de e-learning.
Basé sur le principe du Wysiwig, nous souhaitons mettre en place un logiciel permettant aux formateurs de créer rapidement et simplement des modules d’e-learning que nous appelons chez nous EAO (étude assistée par ordinateur). Il s’agit à termes de créer une bibliothèque de petits modules d’apprentissage, faciles à télécharger et à utiliser.
Ces modules ont une triple vocation :
- Être un support pour le formateur dans le cadre d’un cours type magistrale (navigation libre)
- Être un support d’auto-formation guidée lorsque le stagiaire se trouve seul face au PC
- Être un support d’évaluation et/ou d’auto-évaluation à l’aide d’un générateur de QCM

Idéalement, l’interface utilisée par l’apprenant sera sous forme HTML comme un site internet afin d’avoir une navigation plus intuitive pour l’apprenant.
Afin de ne pas perturber l’apprenant, l’interface visuelle proposée sera définie à la conception de ce logiciel et sera identique quelque soit le contenu du module e-learning créé. Le formateur au moment de la conception de son module pourra y insérer tout type de document ( pdf, tableur, image, vidéo, animation..) ainsi que du texte dont il pourra choisir la police, la taille et le caractère.
L’architecture des modules démarrera toujours de la même façon : Présentation d’une page d’accueil comportant le thème du module, le sommaire et explications concernant la navigation.
Un bandeau de navigation présent sur le côté ou en haut de la page permettra de « voyager » dans le module.


Sous-projet 2 - à intégrer dans le premier
-------------
Création d’un module de formation permettant de comprendre le fonctionnement du frein.
Beaucoup plus orienté vers la technique, ce programme composé de plusieurs animations doit permettre à l’apprenant de visualiser le fonctionnement du frein d’une locomotive et d’un train lorsqu’il agit sur le manipulateur de frein.
Ce programme a pour ambition de remplacer à terme un simulateur extrêmement lourd à mettre en œuvre.
Comme pour le projet précédent, ce programme a également une triple vocation :
- Être un support pour le formateur dans le cadre d’un cours type magistrale (navigation libre)
- Être un support d’auto-formation guidée lorsque le stagiaire se trouve seul face au PC
- Être un support d’évaluation et/ou d’auto-évaluation par la vérification d’éléments propres à des procédure définie dans l’apprentissage de la conduite des trains.


Ces sous-projets ont été proposés par : SNCF-DIRECTION DE LA TRACTION, CENTRE DE PRODUCTION DE FORMATION TRACTION DE LILLE.

Selon le nombre de personnes intéressés par le projet il sera possible d'en faire deux projets à part entière.

La personne de contact du CFPT se déplacera sur le campus pour des rencontres avec les étudiants.

Sujet non-attribué
01/12/2012 Sujet 78 :  Traitement automatique de titres de transport - reprise
Auteur : Marius Bilasco  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )

Il s'agit de reprendre et de faire évoluer un projet (JEE+Sprint) initié en 2010 pour une réelle mise en place au sein du département de gestion de personnel de l'Université.

Les entreprises et les collectivités locales sont obligées à procéder au remboursement de 50% du prix des titres des transports mensuels permettant à leur employés de faire le trajet : domicile-travail. Généralement, pour la mise en place des remboursements, l'employé doit remplir un formulaire papier qu'il transmet au DRH, et ensuite tous les mois, il doit transmettre par courrier classique les photocopies des titres de transports utilisés, sous peine de constater l'arrêt de ses remboursements. Nous travaillerons sur les abonnements MaxiRythmo de Transpole.

Ainsi, dans ce contexte, il est souhaité de construire une application Web qui permet de réaliser le suivi automatique des titres de transports d'un employé. L'employé aura la possibilité de remplir, pour la première fois, un formulaire en ligne et ensuite, tout les mois, il aura l'obligation de télécharger à une adresse spécifique une photocopie numérisée (photo, scan) de son titre de transport.

L'application Web permettra au personnel RH de valider les tickets reçus, de relancer les gens ayant oublié de transmettre leur justificatifs, etc.

Ensuite l'application maintiendra à jour une base de données où l'on trouvera les titres transmis, les dates de réceptions, les rappels automatiques pour réclamer l'envoi des titres, etc.

Plusieurs acteurs avec des rôles différents utiliseront l'application :
- l'employé - qui crée son profil, fait sa demande de remboursement et transmet les justificatifs tous les mois
- le contrôleur qui vérifiera les statistiques sur les titres reçus et qui décidera de relancer ceux qui ont oublié de télécharger ou qui traitera manuellement les titres qu'on n'a pas pu être traités automatiquement
- le gestionnaire qui décidera d'arrêter le remboursement si trop de retard est accumulé.

L'itération de cette année vis à rendre fonctionnel le côté RH. Actuellement, le département RH utilise un fichier Excel pour synthétiser le suivi de demandes. Donc, il s'agira de rendre fonctionnelle et cohérente avec les usages des RHs la partie du système correspondant aux validations, relances, etc.

Sujet attribué
Affecté à : Ayoub Nejmeddine [M1-INFO]  Ecrire ,  Sara El-Arbaoui  [M1-INFO]  Ecrire 
01/12/2012 Sujet 77 :  Suivi d'accueil des enfants dans un centre périscolaire - facturation et publipostage
Auteur : Periscope  Ecrire 
(Responsable Informatique : Marius Bilasco  Ecrire )

L'association Périscope a pour but d'animer les activités périscolaires des enfants scolarisés au groupe scolaire Jean Zay à Lille. Cette animation s'effectue à travers des activités physiques, culturelles, éducatives et citoyennes. Les activités se déroulent uniquement sur les périodes scolaires les lundi, mardi, jeudi et vendredi de 7h30 à 8h30 et de 16h30 à 18h30.

L'association Périscope accueille près de 90 enfants de moins de 6 ans et près de 90 enfants de plus de 6 ans. La fréquentation moyenne est chaque soir de 35 maternels et 35 élémentaires.

Actuellement, l'association utilise une série de fichiers excels pour tenir compte des :  
- des enfants adhérents, en proposant des classements par niveau et classe fréquentée et par ordres alphabétique

- présence des enfants aléatoire : 1 heure le matin des fois, 1 heure ou deux heures le soir

- facturation mensuelle (nombre d'heures de présences x taux horaire variable en fonction des revenus)

- saisie des heures à partir des feuilles de pointage hebdomadaires par classe sur fichier informatique avec mise en page similaire

Le besoin concret est de construire une application capable d'enrichir les possibilités actuelles en automatisant également :

- le suivi des règlements, avec report et gestion des impayés (relances, etc.)

- la mise en page de la facture avec logo et memento des activités ou info vie de l'association

- l'édition automatique des factures en fin de mois (pas d'impression facture par facture) avec récapitulatif des présences sur calendrier mensuel

- le publipostage par mail grâce à un mailing liste

- la possibilité de suivi du compte personnel avec code d'accès et confidentialité.

Compte tenu du temps limité pour réaliser votre projet, il est peut être nécessaire de recadrer la demande de votre client et d'étudier avec lui les points qui rajoutent véritablement de la valeur à son processus.

Pas de choix technologique imposé.

Sujet attribué
Affecté à : Rémi Kaczmarek [M1-MIAGE]  Ecrire ,  Maxime Vanpeene [M1-MIAGE]  Ecrire 
01/12/2012 Sujet 76 :  Framework de test pour la consommation énergétique des logiciels
Auteur : Aurélien Bourdon  Ecrire Site
(Responsable Informatique : Romain Rouvoy  Ecrire )

L'augmentation du coût des énergies fossiles et l'émergence de modèles économiques indexés sur la consommation énergétique (cf. Cloud computing) ont accéléré les recherches et les développements réalisés dans le domaine du Green computing. Alors que beaucoup de scientifiques se concentrent sur l'optimisation de l'allocation des ressources à l'échelle d'une machine ou d'un réseau de machines, nos recherches attaquent cette même problématique sous un angle différent. Nous pensons en effet qu'une optimisation efficace de la l'empreinte énergétique des applications passe par une meilleure compréhension de leur consommation. Dans le cadre de ce projet, l’équipe a développé une librairie, PowerAPI [1], fournissant en temps réel la consommation énergétique d’un logiciel à l’échelle du processus système.

La phase de validation de ce logiciel est à ce jour exécuté manuellement, en comparant les valeurs calculées avec celles fournies par un watt-mètre [2]. Dans le but d’automatiser ce processus de validation, il est demandé de développer un framework de test, réalisant le lien entre notre outil et le watt-mètre utilisé. Il s’agira alors de :
1. Prendre en main les outils existants, PowerAPI et le watt-mètre utilisé ;
2. Développer une interface de programmation (API) en Java permettant d’utiliser le watt-mètre de manière programmatique (via une connexion Bluetooth);
3. Mettre en place des bancs de tests automatisés entre notre outil et le watt-mètre grâce à l’API développée en 2 ;
4. Développer différents types de rendus graphiques présentant les résultats de comparaison mis en évidence en 3.

Liens associés :
Sujet non-attribué
01/12/2012 Sujet 75 :  Développement d’une interface de programmation (API) multi-langages
Auteur : Aurélien Bourdon  Ecrire Site
(Responsable Informatique : Romain Rouvoy  Ecrire )

L'augmentation du coût des énergies fossiles et l'émergence de modèles économiques indexés sur la consommation énergétique (cf. Cloud computing) ont accéléré les recherches et les développements réalisés dans le domaine du Green computing. Alors que beaucoup de scientifiques se concentrent sur l'optimisation de l'allocation des ressources à l'échelle d'une machine ou d'un réseau de machines, nos recherches attaquent cette même problématique sous un angle différent. Nous pensons en effet qu'une optimisation efficace de la l'empreinte énergétique des applications passe par une meilleure compréhension de leur consommation.Dans le cadre de ce projet, l’équipe a développé une librairie, PowerAPI [1], fournissant en temps réel la consommation énergétique d’un logiciel à l’échelle du processus système.

A ce jour, nous comptons une seule API, développée en Scala, permettant d’intéragir avec PowerAPI. Afin de rendre notre librairie accessible à un plus grand nombre de langages de programmation, nous souhaitons développer une nouvelle API compatible avec la majeure partie des langages existants. Il s’agit donc de développer l’API en deux parties avec 1) une interface générique, sous la forme d’un système de fichier virtuel et 2) de nouvelles API se reposant sur l’interface développée en 1) et intéragissant avec l’utilisateur dans un langage donné (e.g., C/C++, Python).

La méthodologie sera la suivante :
1. Prendre en main les outils existants ;
2. Concevoir une interface générique pour PowerAPI sous la forme d’un système de fichier virtuel en utilisant des solutions comme FUSE [2] et en s’inspirant du projet STROLL [3] ;
3. Développer de nouvelles API dans différents langages de programmation (à déterminer), et se basant sur l’interface générique développée en 2 pour interagir avec la librairie PowerAPI.

Liens associés :
Sujet non-attribué
01/12/2012 Sujet 74 :  Déploiement et configuration automatique d’un logiciel de monitoring énergétique
Auteur : Aurélien Bourdon  Ecrire Site
(Responsable Informatique : Romain Rouvoy  Ecrire )

L'augmentation du coût des énergies fossiles et l'émergence de modèles économiques indexés sur la consommation énergétique (cf. Cloud computing) ont accéléré les recherches et les développements réalisés dans le domaine du Green computing. Alors que beaucoup de scientifiques se concentrent sur l'optimisation de l'allocation des ressources à l'échelle d'une machine ou d'un réseau de machines, nos recherches attaquent cette même problématique sous un angle différent. Nous pensons en effet qu'une optimisation efficace de la l'empreinte énergétique des applications passe par une meilleure compréhension de leur consommation.Dans le cadre de ce projet, l’équipe a développé une librairie, PowerAPI [1], fournissant en temps réel la consommation énergétique d’un logiciel à l’échelle du processus système.

L’estimation de cette consommation se base sur l’observation de l’utilisation des composants matériels (e.g., CPU, disque, réseau) par un processus système donné. Chaque composant matériel est modélisé comme une “sonde énergétique” composée :
- D’un “capteur”, responsable de la collecte en temps réel de statistiques d’utilisation des ressources au sein du système d’exploitation ;
- D’une “formule”, ou modèle analytique, responsable de l’estimation de la consommation énergétique du processus système pour le composant matériel concerné.

Les “capteurs” et “formules” étant alors dépendant respectivement du système d’exploitation et des composants matériels utilisés, il est nécessaire de configurer PowerAPI pour adapter les “capteurs” et “formules” suivant l’environnement d’exécution. Actuellement, cette configuration est faite manuellement, en récupérant les informations à partir de données constructeurs et de sites Web.

Le but de ce projet est donc de développer un mécanisme d’automatisation de la génération de la configuration en fonction de l’environnement d’exécution. Une première idée de mise en place d'un tel mécanisme serait de déporter toutes les configurations existantes au sein d’une base de donnée distante et de récupérer les configurations nécessaires en fonction des caractéristiques de l’environnement d’exécution courant.

La méthodologie de travail sera la suivante :
1. Prise en main de l’existant ;
2. Conception d’un mécanisme de génération automatique de la configuration utilisée au sein de PowerAPI ;
3. Développement du mécanisme conçu en 2.

Liens associés :
Sujet non-attribué
01/12/2012 Sujet 73 :  Interface Web dynamique de suivi de la consommation des logiciels
Auteur : Aurélien Bourdon  Ecrire Site
(Responsable Informatique : Romain Rouvoy  Ecrire )

L'augmentation du coût des énergies fossiles et l'émergence de modèles économiques indexés sur la consommation énergétique (cf. Cloud computing) ont accéléré les recherches et les développements réalisés dans le domaine du Green computing. Alors que beaucoup de scientifiques se concentrent sur l'optimisation de l'allocation des ressources à l'échelle d'une machine ou d'un réseau de machines, nos recherches attaquent cette même problématique sous un angle différent. Nous pensons en effet qu'une optimisation efficace de la l'empreinte énergétique des applications passe par une meilleure compréhension de leur consommation. Dans le cadre de ce projet, l’équipe a développé une librairie, PowerAPI [1], fournissant en temps réel la consommation énergétique d’un logiciel à l’échelle du processus système.

L’estimation de cette consommation se base sur l’observation de l’utilisation des composants matériels (e.g., CPU, disque, réseau) par un processus système donné. Chaque composant matériel est modélisé comme une "sonde énergétique" composée :
- D’un "capteur", responsable de la collecte en temps réel de statistiques d’utilisation des ressources au sein du système d’exploitation ;
- D’une "formule", ou modèle analytique, responsable de l’estimation de la consommation énergétique du processus système pour le composant matériel concerné.

Une fois la sonde énergétique modélisée, il est alors possible de récupérer les informations de consommation énergétique au sein d’un "listener", pouvant effectuer différents rendus, e.g, console texte, fichier, ou graphique.

Actuellement, nous pouvons uniquement récupérer les résultats de consommation localement à la machine d’exécution. Nous aimerions maintenant développer une interface graphique Web, nous permettant de contrôler PowerAPI à distance. Il s’agit alors de concevoir une interface capable de configurer une requête utilisateur, de l’exécuter et de récupérer son résultat. La méthodologie sera la suivante :
1. Prise en main des outils existants ;
2. Conception de l’interface, en se basant par exemple sur des frameworks Web existants [2, 3] ;
3. Développement de l’interface Web.

Liens associés :
Sujet non-attribué
30/11/2012 Sujet 72 :  Generateur de GUI Android
Auteur : Cedric Dumoulin  Ecrire 
(Responsable Informatique : Cedric Dumoulin  Ecrire )

L'objectif de ce projet est d'aller plus loin dans la generation des interfaces Android a partir d'un modele (projet PJE 2012). Ce projet est la continuité du projet encadré.

Dans ce projet, le candidat répertoriera les parties de code de la GUI Android qui sont encore à ecrire 'à la main'. Pour chaque partie de code retenue, il proposera une solution afin de modéliser le concept correspondant, puis il développera le génerateur de code.

Liens associés :
Sujet attribué
Affecté à : Gerard Paligot [M1-INFO]  Ecrire 
30/11/2012 Sujet 71 :  Etude de la spécification des représentations arborescentes
Auteur : Cedric Dumoulin  Ecrire 
(Responsable Informatique : Cedric Dumoulin  Ecrire )

Les Interfaces Graphiques Utilisateurs (GUI) proposent souvent des représentations des données sous forme arborescente. Par exemple, l'explorateur de modèle de Papyrus présente votre modèle sous une forme arborescente. Un autre exemple est l'explorateur de fichier Windows ou Linux. Si l'utilisation de ces représentations arborescentes est simple, leur mise en œuvre et leur programmation est un peu plus complexe. C'est pourquoi nous voulons décrire sous forme de modèle de haut niveau de telle représentation arborescente.
La première étape est de comprendre comment fonctionnent et comment spécifier ces représentations arborescentes: comment spécifier un noeud, son contenu, son image. Comment spécifier quel noeud utiliser pour quelle donnée ? Comment prendre en compte le contexte ? Comment spécifier les noeuds que l'on peut éditer/créer/détruire?
L'objectif du projet est de faire une étude bibliographique des solutions permettant de spécifier des composants de représentation arborescente. Le candidat s'attachera à étudier les mécanismes proposés pour spécifier la représentation. Parmi les solutions existantes, on peut citer : JTree, JFace TreeViewer, l'Explorateur Modisco, ...
Le candidat recherchera les patterns de representation typique des données (ex: regroupement sous un noeud selon des critères).
Ensuite le candidat proposera une solution, basé sur ses études, permettant de spécifier une représentation arborescente.
Cette solution devra pouvoir être transposée dans un langage, sous forme de métamodèle. Le candidat pourra proposer ce métamodèle si le temps le permet.

Sujet attribué
Affecté à : Adrien Burillon [M1-INFO]  Ecrire ,  Thomas Camberlin [M1-INFO]  Ecrire 
30/11/2012 Sujet 70 :  Home Cloud Server
Auteur : Cedric Dumoulin  Ecrire 
(Responsable Informatique : Cedric Dumoulin  Ecrire )

L'objectif de ce projet est d'étudier les solutions open-sources permettant de mettre en oeuvre un serveur Cloud. Le candidat s'intéressera plus particulièrement aux solutions de type " Storage as a service".
Un cas d'utilisation est la mise en place sur des machines personnelle d'un "Home Cloud Server" . Ce "Home Cloud Server" permet la sauvegarde et l'accès à ses documents qui sont alors accessibles de tous les terminaux de la maison (tablette, PC, TV, ...), mais aussi de l'extérieure.
Ce projet comporte un part bibliographique, et une mise en œuvre des serveurs retenus.
Dans la partie bibliographique, le candidat fera le point sur les architectures proposées, les standards, les utilisations possibles, les clients cloud, ... Le candidat proposera des cas d'utilisations typiques.
La mise en œuvre consiste a installer et tester les solutions open-source retenu. Les tests porterons plus particulièrement sur les cas d'utilisation typiques.

Objectifs:
-Comprendre ce qu'est un serveur Cloud, ce que l'on peut en attendre, comment ca marche.
-Proposer des cas d'utilisation, plutôt orienté partage de document
-Répertorier les solutions existantes pour les serveurs cloud open-source
-Installer et étudier chaque solution. Les confronter aux cas d'utilisation. Avantages, inconvénients.

Liens associés :
Sujet attribué
Affecté à : Lison Gallos [M1-INFO]  Ecrire ,  Arnaud Caulier [M1-INFO]  Ecrire 
01/12/2012 Sujet 69 :  Écosystème pour gestion d'emploi du temps hebdomadaire
Auteur : Bruno Bogaert  Ecrire 
(Responsable Informatique : Bruno Bogaert  Ecrire )

Tout organisateur de formation, stage ou autre activité à caractère périodique doit créer, gérer et diffuser une grille d'emploi du temps.

Ce projet bâtira un ensemble d'outils destinés à la gestion et la diffusion d'un emploi du temps hebdomadaire. La problématique propre à des emplois du temps de formations universitaires sera particulièrement prise en compte.

Il s'agira de choisir le format des données (fondé ou non sur XML ?), de développer différentes interfaces de saisie, ainsi que des outils d'export vers des formats permettant la publication :

* iCalendar
* HTML/CSS/JS
* LaTeX
* texte
* ...

Sujet attribué
Affecté à : Dhia Elhak Lakhal [M1-INFO]  Ecrire ,  Sylvain Malfait [M1-INFO]  Ecrire 
01/12/2012 Sujet 68 :  Conception d'un Raspberry pi dédié aux présentations
Auteur : Bruno Bogaert  Ecrire 
(Responsable Informatique : Bruno Bogaert  Ecrire )

Le Raspberry pi est un ordinateur de la "taille d'une carte de crédit" (pour deux de ses dimensions, mais en plus épais) doté d'un processeur ARM et de 512M de mémoire. Il comporte différents ports d'E/S : USB, HDMI, ethernet ainsi qu'un lecteur de carte SD (la partition système doit être localisée sur une carte SD).

Plusieurs distributions linux ont été adaptées à cette plateforme.

Le but de ce projet est de concevoir une version du système visant à ce que le Raspberry se comporte comme un boîtier dédié aux présentations sur écran (ou plutôt sur vidéo projecteur, en général).

Ce boîtier sera connecté à un écran ou vidéoprojecteur HDMI, une souris (pour le pilotage) et une clé USB contenant le ou les fichiers de présentation. Il permettra à l'utilisateur de parcourir de façon simple la clé USB, puis de piloter à la souris le défilement des "slides".

La liste des formats à prendre en compte comportera au moins le PDF ainsi que les présentations OpenDocument et les diaporama d'images (JPEG, PNG,...). D'autres formats pourront être envisagés.

Liens associés :
Sujet attribué
Affecté à : Louis Billiet [M1-INFO]  Ecrire ,  Sylvain Goulliart [M1-INFO]  Ecrire 
29/11/2012 Sujet 67 :  Contribution à l'implémentation d'un algorithme de résolution d'équations booléennes
Auteur : Charles Bouillaguet  Ecrire Site
(Responsable Informatique : Charles Bouillaguet  Ecrire )

Contexte Scientifique

Ce projet tourne autours d'un algorithme nouveau [1] pour résoudre des systèmes d'équations booléennes. Dans SAT, le plus connu des problèmes NP-complets, on trouve des équations avec des ET, des OU, des NON et des variables. Le type d'équations auxquelles on s'intéresse ici contient des variables, des constantes, des ET et des XOR. On peut voir ces équations commes des polynômes en plusieurs variables, mais dont les variables valent soit zéro soit un. Le problème associé est lui aussi NP-complet. La résolution de ce type d'équation est plus difficile que SAT, car la méthode de "backtracking" efficace utilisée pour SAT ne peut pas s'appliquer.

En dehors de cas particuliers, la méthode la plus efficace pour résoudre ce genre de systèmes d'équations est la recherche exhaustive. Elle est facile à paralléliser, et son temps d'éxecution est très prévisible, puisqu'il est de l'ordre de 2^n opérations s'il y a n variables. L'algorithme donné dans [1] est une reformulation intelligente de la recherche exhaustive qui économise des calculs, et est particulièrement efficace, puisqu'il est possible de traiter presque 3 solutions possibles par cycle CPU sur du matériel récent. Ce code est le plus rapide du monde, de très, très, très loin, pour résoudre ce type d'équations. L'algorithme lui-même n'est pas particulièrement compliqué (il s'agit principalement de faire des XOR...). Cependant, pour obtenir ce niveau de performance, une implémentation extrêmement efficace est nécessaire.

L'algorithme de [1] a été implémenté une première fois par ses auteurs sur CPU et sur GPU, et a démontré ses performances. Cette première implémentation, efficace, était cependant de qualité "recherche", et pas de qualité "production". Il n'était pas possible de la distribuer, et quasiment personne d'autre que ses auteurs ne pouvaient s'en servir.

Un premier effort a été accompli l'été 2012 pour repartir de zéro, et recommencer à écrire le code sur des bases saines. Cela a soulevé de nombreux problèmes, tant théoriques que pratiques. Un nouvelle implémentation, plus claire, plus simple, existe, mais elle n'atteint pas encore le niveau de performances de l'ancienne. Cependant, elle est suffisament "propre" et bien pensée pour pouvoir être inclue dans un logiciel de calcul open-source, SAGE. D'ores-et-déjà, il est possible d'utiliser la nouvelle implémentation dans SAGE pour faire des calculs (http://trac.sagemath.org/sage_trac/ticket/13162). Cependant, toutes les fonctionnnalités ne sont pas disponible. Par exemple, alors que la parallélisation serait facile, le nouveau code n'est pas encore multi-thread.

Une des particuliarité de ce code est que la boucle principale est très courte, mais qu'elle doit être très rapide. Pour cela, elle est écrite directement en assembleur. De nombreuses "ruses" sont utilisées pour utiliser le CPU au maximum de ses capacités. Ce code assembleur est lui-même généré automatiquement lors de la compilation de la librairie. Faire fonctionner tout ça est donc non-trivial. Il y a aussi une version "purement en C" de la librairie, ce qui lui permet de fonctionner sur d'autres CPU que des x86. Le code actuel en assembleur est écrit pour les CPUs 64-bits uniquement.

Description du travail à effectuer

L'objectif principal du stage consiste à faire avancer l'implémentation actuelle. Cela peut être accompli de bien des manières : améliorer l'interface avec SAGE, paralléliser le code, l'améliorer (nous avons en tête un moyen de le rendre 50% plus rapide), écrire une petite documentation, une petite démonstration pour les utilisateurs de SAGE, écrire une version pour d'autres CPUs (ARM par exemple, SPARC, x86 32 bits, etc.). Si le travail pratique avance bien, on pourra envisager la rédaction d'un article scientifique sur le sujet.
Les problèmes à résoudre, de diverses natures, et surtout imprévus, ne manqueront pas.
Remarques

Ce stage est plutôt destiné à des étudiants qui sont à l’aise avec la programmation en général, mais en C en particulier. Des rudiments sur l’architecture des ordinateurs et des CPUs seraient souhaitable. Une expérience de programmation en assembleur serait un plus.
Références

[1] Charles Bouillaguet, Hsieh-Chung Chen, Chen-Mou Cheng, Tung Chou, Ruben Niede- rhagen, Adi Shamir, and Bo-Yin Yang. Fast exhaustive search for polynomial systems in GF(2). In Stefan Mangard and François-Xavier Standaert, editors, CHES, volume 6225 of Lecture Notes in Computer Science, pages 203–218. Springer, 2010.

Liens associés :
Sujet non-attribué
01/12/2012 Sujet 66 :  Utiliser les téléphones mobiles pour l’estimation de la densité d’une foule
Auteur : Nicolas Haderer  Ecrire Site
(Responsable Informatique : Romain Rouvoy  Ecrire )
Sujet recherche

Connaître la densité d'une foule à un instant donné peut être pertinent pour beaucoup d'applications. Notamment dans les situations d'urgence, ou l'on a besoin de connaître avec le plus de précision possible comment est répartie une foule dans un espace afin d'établir un plan d'évacuation. Actuellement, les solutions existantes consistent à mettre en place des infrastructures coûteuses (caméra, porte de contrôle d'accès...) et demandent des techniques complexes d’imagerie qui sont difficiles à mettre en place.

Basé sur une étude qui a établi une relation entre le nombre d’interfaces Bluetooth activés sur des téléphones mobiles et la densité d'une foule en milieu urbain, certains chercheurs se sont intéressés à utiliser la nouvelle génération de téléphones mobiles (iPhone, Android), et leurs capteurs embarquées (GPS, Bluetooth), pour établir une technique d’estimation de la densité d’une foule ayant besoin seulement de quelques utilisateurs.

Le but de ce projet sera dans un premier temps d'étudier les différentes solutions proposées [1] et d’implémenter un prototype basé sur la plateforme Android [2], une plateforme développée par l’équipe ADAM qui permet de déployer facilement des scripts sur un grand nombre de smartphones Android.

Pré-requis : Java, Javascript, Aucune connaissance annexe n’est nécessaire.

Liens associés :
Sujet attribué
Affecté à : Julien Duribreux [M1-INFO]  Ecrire ,  Justin Dufour [M1-INFO]  Ecrire 
30/11/2012 Sujet 65 :  Moteur de scripts sous iOS
Auteur : Nicolas Haderer, Romain Rouvoy  Ecrire 
(Responsable Informatique : Romain Rouvoy  Ecrire )

La nouvelle génération de smartphones (Android, iPhone...), maintenant équipée d'une grande variété de capteurs (GPS, bluetooth, accéléromètre, etc.), est largement utilisée par diverses communautés scientifiques afin de collecter des données relatives au comportement d'une population d’utilisateurs et de son environnement (localisation, moyen de transport, réseaux wifi à proximité...). Ces données, aussi appelées traces d'activités, peuvent ainsi être exploitées pour mieux comprendre les mouvements d'une population, de mettre au point de nouveaux protocoles de communication, d'analyser les interactions sociales des utilisateurs, etc.
C'est notamment dans ce contexte que l'équipe ADAM de l'Inria développe la plate-forme AntDroid : une solution logicielle permettant de collecter diverses informations contextuelles à partir de smartphones Android [1].

Techniquement, la solution consiste à déployer dynamiquement des scripts de collecte de données sur des téléphones mobiles de participants volontaires. Ces scripts définissent principalement les données qui doivent être collectées par le téléphone du participant (ex: position, bluetooth, wifi...) et comment renvoyer ces données sur un serveur dédié.  Pour être mesure de participer à une expérience de collecte, un volontaire peut installer l’application mobile AntDroid sur son téléphone mobile qui servira de support d'exécution de ces scripts de collecte. A ce jour, nous avons un premier prototype de l’application mobile basé sur Android, permettant l’interprétation de script écrit en Javascript ou en Python.

Dans le cadre de ce projet, nous aimerions étudier la possibilité de réaliser une telle application sur iPhone OS (iOS). L’objectif de ce stage consistera donc dans un premier temps d’étudier les différentes techniques disponibles pour l'exécution de script sur iOS, avant de développer un prototype de moteur permettant d’exécuter un script collectant des données GPS.

Liens associés :
Sujet attribué
Affecté à : Benjamin Digeon  [M1-INFO]  Ecrire ,  Florent David [M1-INFO]  Ecrire 
01/12/2012 Sujet 64 :  Manipulation de modèles de caractéristiques à travers une application Web
Auteur : Daniel Romero, Nicolas Haderer, Clément Quinton  Ecrire Site
(Responsable Informatique : Daniel Romero  Ecrire )

L’équipe ADAM travaille notamment sur le développement d’applications modulaires facilement adaptables à la conception mais aussi à l’exécution. À partir de cette modularité, on cherche à promouvoir la réutilisation de différentes parties d’une application dans la construction d’autres applications. Une approche notamment utilisée dans l’équipe pour permettre une telle réutilisation sont les lignes de produit logicielle [1], lesquelles fournissent la dérivation automatisée d’applications (ou produits) qui partagent un ensemble de caractéristiques et qui représentent une famille de produits. Un formalisme souvent utilisé pour représenter cette famille de produits sont les modèles de caractéristiques [2].

Le but de ce projet est le développement d’une application qui permet la manipulation de modèles de caractéristiques en utilisant des technologies Web (e.g., JavaScript, HTML5, XML) et des librairies existantes (e.g., InfoVis Toolkit [3]). Un modèle de caractéristiques représente des relations d’inclusion et d’exclusion entre les différentes caractéristiques de la famille d’application et permet la dérivation d’une application concrète à partir de la sélection de telles caractéristiques. Cela signifie que la sélection d’une caractéristique peut impliquer l’inclusion et/ou l’exclusion d’autre(s) caractéristique(s). La mission consiste donc à étudier et utiliser des technologies Web pour représenter graphiquement un modèle de caractéristiques originalement décrit en XML, permettre la sélection de caractéristiques en considérant les relations d’inclusion et d’exclusion et produire un modèle de caractéristiques qui correspond aux choix réalisés. Cette mission pourra s’effectuer au sein des bâtiments d’Inria, en présence des encadrants qui assisteront l’étudiant dans le déroulement de sa mission.

Pré-requis : Connaissance des technologies Web, créativité. Aucune connaissance annexe n’est nécessaire.

Liens associés :
Sujet non-attribué
29/11/2012 Sujet 63 :  Hopla: génération de DSL Scala à partir de schémas XML
Auteur : Romain Rouvoy  Ecrire Site
(Responsable Informatique : Romain Rouvoy  Ecrire )

L'objectif de ce projet est de développer un générateur de langages dédiés qui consomme une grammaire décrite par un schéma XML pour produire une librairie Scala dédiée pour manipuler les données représentables via ce schéma.

Par exemple le schéma XML suivant:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="personne">
       <xs:complexType>
           <xs:sequence>
               <xs:element name="nom" type="xs:string" />
               <xs:element name="prenom" type="xs:string" />
           </xs:sequence>
       </xs:complexType>
   </xs:element>
</xs:schema>


Devra donner lieu à la génération du langage dédié suivant:

case class personne entends Xml {
   private var _elements = List[Xml]()

   case class nom(value:String) extends Xml {
       _elements ::= this
       def toXML = <nom>{ value }</nom>
   }
   case class prenom(value:String) extends Xml {
       _elements ::= this
       def toXML = <prenom>{ prenom }</prenom>
   }

   def toXML = <personne>{ for(e <- _elements) yield e.toXML }</personne>
}


Le travail demandé consiste donc à i) comprendre ce qu'est un schéma XML pour comprendre les différentes constructions offertes par ce langage, puis ii) proposer un mapping entre les constructions des schémas XML et les constructions du langage de programmation Scala, pour iii) développer un programme qui lit un schéma XML «A» donné pour écrire un fichier Scala qui contient la définition du langage dédié pour «A». À partir de l'exemple donné ci-dessus, il sera donc possible d'utiliser le langage généré de la manière suivante:

val xml = personne {
   prenom("Romain")
   nom("Rouvoy")
}.toXml

System.out.println(xml)
//<personne xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="personne.xsd">
//     <prenom>Romain</prenom>
//     <nom>Rouvoy</nom>
// </personne>

Liens associés :
Sujet non-attribué
29/11/2012 Sujet 62 :  Recherche par similarité dans les documents XML
Auteur : I. Biermann Et F. Belkouch  Ecrire 
(Responsable Informatique : Fatima Belkouch  Ecrire )

XML s’est imposé comme un métalangage permettant de représenter et d’échanger des données non seulement dans le web mais de façon générale en entreprise. Pour extraire des informations de nombreuses applications reposent sur la recherche par similarité de données. Evaluer la similarité entre documents XML  reste un des problèmes cruciaux lors du processus de fouille de données.

Plusieurs solutions proposent d’adapter l’algorithme Edit Distance (distance de Levenshtein) introduit à la base pour comparer deux chaines de caractères. Edit Distance définit la distance comme étant le nombre minimum d’opérations d’ajout, de suppression et de remplacement nécessaires pour passer d’une chaîne de caractères à une autre. L’algorithme utilisé pour calculer cette distance se base sur le principe de la programmation dynamique.

Edit Distance a été largement exploité dans les algorithmes de comparaison de document XML.

Le projet consiste à travailler sur une implémentation Java de deux versions de ces algorithmes [1][2]. Il s’agit de :

1.Comprendre les algorithmes [1][2].
2.Trouver une méthode de traçage permettant d’extraire certaines informations intervenant dans le calcul de la distance.
3.Comparer les résultats obtenus avec ceux d'une nouvelle méthode déjà implémentée.

Bibliographie
[1] "Evaluating Structural Similarity in XML documents" Nierman A. Jagadish H. V., In Proceedings of SIGMOD WebDB'02,2002.
[2] “Comparing hierarchical data in external memory”.  Sudarshan S.Chawathe. In Proceedings of the Twenty-fifth International Conference on Very Large Data Bases, pages 90-101, Edinburgh, Scotland, U.K., September 1999.

Sujet non-attribué
29/11/2012 Sujet 61 :  Analysis of correlation between local protein stability and protein-protein binding
Auteur : Marc Lensink  Ecrire 
(Responsable Informatique : Guillaume Brysbaert  Ecrire )
Sujet recherche

Introduction : We have developed a database containing destabilizing regions in protein structures.  There is a strong correlation of destabilizing regions with protein function, inasmuch as this function is not related to conformational change.

Project : The students will take a database of protein-protein binding (BENCHMARK 4.0) and correlate the binding residues to our database of destabilizing regions (DESITE) as well as to hotspot regions of protein binding, to be identified using public domain software.

Requirements : Working knowledge of protein structure; solid knowledge of programming; basic knowledge of statistics; working knowledge of linux systems.

Sujet non-attribué
29/11/2012 Sujet 60 :  Implementation of a web server for protein function meta prediction
Auteur : Marc Lensink  Ecrire 
(Responsable Informatique : Guillaume Brysbaert  Ecrire )
Sujet recherche

Introduction : In the current post-genomic era, we have resolved the sequence of thousands of proteins, but not their function.  Many protein function prediction servers exist, providing a computational
prediction of protein function from structural or family homologs, or by text mining scientific publications.

Project : Our aim is to create a working web server for protein function meta-prediction.  Meta prediction combines the predictions of several web servers into a consensus prediction.  The students will interface to these protein function prediction servers and translate the output into consensus gene ontology (GO) terms using public and locally installed databases.

Requirements : Solid knowledge of Apache, HTML, PHP and MySQL; working knowledge of linux systems.

Sujet non-attribué
29/11/2012 Sujet 59 :  Automated topology construction of lipid molecules
Auteur : Marc Lensink  Ecrire 
(Responsable Informatique : Guillaume Brysbaert  Ecrire )
Sujet recherche

Introduction : The cell membrane is a thin layer of lipid molecules protecting our cells from outside contamination.  Many different types of lipid molecules exist, but their global characteristics are the same: a hydrophilic head group and one or more hydrophobic tails.

Project : The students are to create a system where tailored lipid residue topology building blocks are constructed from basic input files laying out the lipid properties.  These files must be compatible with the gromacs molecular simulation package.

Requirements : Basic knowledge of chemical structure; solid knowledge of programming; working knowledge of linux systems.

Sujet non-attribué
29/11/2012 Sujet 58 :  Etude par effets de bord d'algorithmes cryptographiques
Auteur : Eric Wegrzynowski  Ecrire 
(Responsable Informatique : Gilles Grimaud  Ecrire )

L'exponentiation modulaire est l'un des algorithmes les plus utilisés au monde : il est utilisé dans le système de chiffrement asymétrique RSA (cartes bancaires, protocole SSL ...)

De nombreuses études ont été menées pour espionner le fonctionnement de cet algorithme en vue de retrouver une clé privée de déchiffrement.

Le but de ce projet est d'en réaliser quelques unes.

Sujet non-attribué
28/11/2012 Sujet 57 :  Interfaçage Biocham - BLAD
Auteur : François Boulier  Ecrire Site
(Responsable Informatique : François Boulier  Ecrire )

Le sujet consiste à étudier la possibilité d'interfacer le logiciel Biocham, dédié à la modélisation en biologie et les bibliothèques BLAD, dédiées à la simplification des systèmes d'équations différentielles par calcul symbolique.

Le logiciel Biocham est écrit en PROLOG. Il est déjà interfacé avec plusieurs bibliothèques écrites en C (bibliothèques CMA-ES et PPL). Les bibliothèques BLAD sont écrites en C. Elles ont déjà été interfacées avec d'autres logiciels (MAPLE, Sage).

Bien qu'il ne s'agisse pas d'un sujet « recherche », des prolongations « recherche » sont tout-à-fait envisageables.

Liens associés :
Sujet non-attribué
28/11/2012 Sujet 56 :  Analyse du buzz sur twitter
Auteur : Luigi Lancieri  Ecrire Site
(Responsable Informatique : Luigi Lancieri  Ecrire )

Description sommaire du travail à réaliser

1-Constitution de bases de vocabulaires thématiques à partir de mots clés souches en exploitant les API Google et Twitter.

2-Analyse des tendances, détection de buzz,.. à partir de l'évolution de la densité de vocabulaire thématique.

3-Tentative de validation en observant le lien entre les evenements réels (défilés de modes, sportifs, ..) et l'augmentation de la densité de vocabulaire thématique.

Selon les objectifs de l'étudiant, ce projet pourra être de type recherche

Sujet attribué
Affecté à : Florian Michiel [M1-INFO]  Ecrire ,  Alessio Trunfio [M1-INFO]  Ecrire 
28/11/2012 Sujet 55 :  Extraction d'information textuelles multilingue à partir de flux sonore en ligne.
Auteur : Luigi Lancieri  Ecrire Site
(Responsable Informatique : Luigi Lancieri  Ecrire )

Description sommaire du travail à réaliser:

1 - Faire un point des moteurs de reconnaissance de la parole (speech to text) disponibles, en particulier en open source.

2 - Réaliser un prototype permettant de :
- récupérer un flux audio sur Internet (podcast, live, bande son de stream vidéo youtube,..)
- extraire et gérer le texte correspondant au flux audio

3 - évaluer la performance du dispositif en terme de reconnaissance selon le type de langue et selon "le niveau de bruit" du flux sonore.

Selon l'objectif de l'étudiant, ce projet pourra être de type recherche

Sujet attribué
Affecté à : Shichen Zhao [M1-INFO]  Ecrire ,  Amira Kamli [M1-INFO]  Ecrire 
28/11/2012 Sujet 54 :  Petites annonces en réalité augmentée
Auteur : Nabil Djarallah, Nicolas Petitprez Et Romain Rouvoy  Ecrire 
(Responsable Informatique : Nicolas Petitprez  Ecrire )

Contexte:

L'équipe-projet ADAM est une équipe de recherche mixte LIFL/Inria spécialisée dans la conception d'infrastructures permettant le déploiement de systèmes complexes à différentes échelles (depuis les environnements de type Cloud/Grid vers les environnements Mobiles/Ubiquitaires et les réseaux de capteurs). L'originalité des solutions logicielles développées par les membres de l'équipe-projet ADAM réside dans leurs capacités à évoluer «à chaud» pour répondre dynamiquement aux évolutions des besoins des utilisateurs et du contexte d'exécution.

Problématique:

Qui n’a jamais été sur un site de petites annonces ? Ces sites où on peut vendre ou acheter presque tout. Sur ce genre de sites, les produits ou les services sont proposés par zone géographique (ville, commune ou code postal). Ce filtrage permet de limiter le périmètre de recherche, mais ça reste encore à un niveau de granularité assez large (e.g. ville).

Travail à réaliser:

L’idée  est de permettre aux utilisateurs d’effectuer une recherche sur des annonces géolocalisées en paramétrant le niveau de granularité, c à d en précisant un périmètre géographique (e.g. 50km autour de l’utilisateur) et en les affichant en rélité augmentée .

- Etudier les techniques de réalités augmentés sur Android;
- Créer un jeux d'annonces géolocalisées;
- Développer une application Android d'affichage d'annonces géolocalisées en réalité augmentée.

Bonus
- Récupérer des annonces sur un site de type www.leboncoin.fr et les afficher dans l'application de réalité augmentée

Liens associés :
Sujet attribué
Affecté à : Alexandre Raulin [M1-INFO]  Ecrire ,  Yann Duval [M1-INFO]  Ecrire 
01/12/2012 Sujet 53 :  API de contrôle de drones volants
Auteur : Nabil Djarallah, Nicolas Petitprez Et Romain Rouvoy  Ecrire 
(Responsable Informatique : Nicolas Petitprez  Ecrire )

Depuis plusieurs années, les drones sont utilisés à des fins militaires. Mais aujourd'hui, des drônes civils sont accessibles à chacun [1]. Cependant, le contrôle et l'automatisation du pilotage de ces drones est encore difficile. L'objectif de ce projet est de développer une librairie de script permettant de contrôler facilement des drones afin de pouvoir programmer des mouvements plus complexes que ceux réalisables avec les télécommandes actuellement disponibles sur le marché.

Travail à réaliser:
- Prendre en main les librairies de communications avec les drones [2];  
- Intégrer l'utilisation de ces librairies dans le moteur de script mobile android-scripting [3];
- Définir une API javascript de contrôle de l'ar.drone.

Bonus :
- Intégrer la reconnaissance vocale pour contrôler l'ar.drone.

Liens associés :
Sujet attribué
Affecté à : Mohamed Ouannane [M1-INFO]  Ecrire ,  Jeremy Diaz [M1-INFO]  Ecrire 
01/12/2012 Sujet 52 :  Recherche de candidats/jobs sans contact
Auteur : Nabil Djarallah, Nicolas Haderer Et Romain Rouvoy  Ecrire 
(Responsable Informatique : Nabil Djarallah  Ecrire )

Aujourd’hui la recherche de travail ou de candidats passent souvent par des salons de recrutement, des réseaux sociaux professionnels, des sites web spécialisés ou directement sur les sites web des entreprises, institutions, etc. Cette recherche, dans les deux sens, nécessite des moyens financiers, du temps, des efforts de communication, etc. Les terminaux mobiles sont de plus en plus présents dans notre vie quotidienne et ne cessent d’évoluer technologiquement et en terme d’usage. Ces terminaux mobiles sont dotés de nombreux moyens de communication, e.g. Internet, Bluetooth, WiFi-Direct (terminaux à base d’Android), NFC (Near Field Communication ou communication en champ proche), etc.

Le scénario visé est celui du recruteur/demandeur d’emploi. L’idée est de permettre à ces deux personnes de partager leurs offres de travail/leurs CVs d’une façon automatique et transparente (le protocole de communication est  transparent pour l’utilisateur) peu importe l’endroit. Plus  concrètement, on peut imaginer un demandeur d’emploi qui prend le métro et qui croise un recruteur dans le même métro, notre application devrait leur permettre d’échanger leurs offres/CVs, c'est-à-dire de créer ce premier contact entre recruteur de demandeur. Qui sait peut être que le premier entretien d’embauche passera dans le métro !

Le but de ce projet est donc de développer une application mobile qui s’exécute sur des terminaux mobiles (smartphone et tablette), opérant sous Android, et qui permet d’échanger des données entre les terminaux en utilisant plusieurs protocoles de communication, e.g. Bluetooth, WiFi-Direct et NFC [1].

Le travail demandé consiste donc à:
- Modéliser les documents qui peuvent être échangés;
- Etudier et tester les différents protocoles disponibles;
- Ecrire les composants Android qui permettent l'échange de ces documents via différents protocoles.

Liens associés :
Sujet attribué
Affecté à : Gens Maxime [M1-INFO]  Ecrire ,  Camille Riquier [M1-INFO]  Ecrire 
28/11/2012 Sujet 51 :  Ajout d'une interaction par suivi oculaire à une application d'aide à la communication
Auteur : Samuel Degrande  Ecrire 
(Responsable Informatique : Samuel Degrande  Ecrire )

Ce projet s'insère dans une collaboration entre l'équipe MINT du LIFL et l'IME Albertine Lelandais, visant à mettre à disposition de l'IME des applications permettant à des enfants handicapés de s'exprimer par l'utilisation d'outils appropriés.

L'IME Lelandais est un établissement médico-social qui accueille des enfants de 6 à 20 ans porteurs de handicaps moteurs et/ou intellectuels. La prise en charge des enfants vise à développer l'autonomie, le bien-être, et à proposer une scolarité, des soins et des rééducations adaptés. L'IME est confronté à une difficulté pour trouver des outils adaptés aux enfants leur permettant l'expression, la communication et l'activité autonome.

L'équipe MINT, dont les domaines de recherche portent sur les Interactions Homme-Machine, dispose d'applications et d'outils logiciels qui peuvent être mis à disposition de l'IME Lelandais, après adaptation aux possibilités d'interaction des enfants accueillis.

Ce projet porte sur l'utilisation du suivi du regard pour piloter une application permettant à l'enfant de communiquer par sélection de pictogrammes. De telles applications existent, ainsi que des dispositifs de suivi du regard adaptés, mais leur coût est trop élevé dans le contexte d'un IME.

L'objectif de ce projet est l'utilisation du Plaphoons pour l'affichage et la sélection de pictogrammes (cf. http://rnt.marcsautelet.com/index_fichiers/Page601.htm) et d'une webcam pour faire l'acquisition du suivi du regard. Quelques projets et librairies open-sources de suivi du regard existent. Il s'agira de les évaluer pour en sélectionner une, puis de l'adapter et/ou de l'étendre pour répondre au besoin de ce projet, et de l'intégrer ou la juxtaposer à Plaphoons.


Le projet se déroulera dans les locaux de l'équipe MINT à l'IRCICA.
Le projet peut être poursuivi par un stage d'été à l'IME.

Encadrants LIFL :
Samuel Degrande (samuel.degrande@lifl.fr)
Patricia Plenacoste (patricia.plenacoste@lifl.fr)

Encadrants IME :
Marie Boucher (ergo.lelandais@papillonsblancs-lille.org)
Marie Demory (mdemory@papillonsblancs-lille.org)

Sites Web : http://www.lifl.fr/mint - http://papillonsblancs-lille.org

Sujet non-attribué
28/11/2012 Sujet 50 :  Interaction Kinect pour une application ludique
Auteur : Samuel Degrande  Ecrire 
(Responsable Informatique : Samuel Degrande  Ecrire )

Ce projet s'insère dans une collaboration entre l'équipe MINT du LIFL et l'IME Albertine Lelandais, visant à mettre à disposition de l'IME des applications permettant à des enfants handicapés de s'exprimer par l'utilisation d'outils appropriés.

L'IME Lelandais est un établissement médico-social qui accueille des enfants de 6 à 20 ans porteurs de handicaps moteurs et/ou intellectuels. La prise en charge des enfants vise à développer l'autonomie, le bien-être, et à proposer une scolarité, des soins et des rééducations adaptés. L'IME est confronté à une difficulté pour trouver des outils adaptés aux enfants leur permettant l'expression, la communication et l'activité autonome.

L'équipe MINT, dont les domaines de recherche portent sur les Interactions Homme-Machine, dispose d'applications et d'outils logiciels qui peuvent être mis à disposition de l'IME Lelandais, après adaptation aux possibilités d'interaction des enfants accueillis.

Ce projet porte sur l'adaptation d'une application ludique existante pour y ajouter une interaction par Kinect, puis son installation dans les locaux de l'IME.

Une librairie logicielle permettant d'acquérir le mouvement des mains par Kinect sera fournie. Si cette librairie filtre les mouvements captés, elle nécessite cependant de la part de l'utilisateur d'avoir un geste stable, ce qui n'est pas le cas des enfants concernés. Une observation des gestes des enfants permettra de déterminer s'il est possible d'utiliser directement les mouvements captés, avec utilisation d'un filtrage particulier, pour contrôler le jeu. Dans le cas contraire, les mouvements captés seront utilisés comme déclencheurs de gestes pré-définis, en fonction du contenu du jeu.

L'application sera écrite en C/C++ sous Windows ou Linux (au choix).

Le projet se déroulera dans les locaux de l'équipe MINT à l'IRCICA.
Le projet peut être poursuivi par un stage d'été à l'IME.

Encadrants LIFL :
Samuel Degrande (samuel.degrande@lifl.fr)
Patricia Plenacoste (patricia.plenacoste@lifl.fr)

Encadrants IME :
Marie Boucher (ergo.lelandais@papillonsblancs-lille.org)
Marie Demory (mdemory@papillonsblancs-lille.org)

Sites Web : http://www.lifl.fr/mint - http://papillonsblancs-lille.org

Sujet attribué
Affecté à : Thomas Crepel [M1-INFO]  Ecrire ,  Rémi Boens [M1-INFO]  Ecrire 
28/11/2012 Sujet 49 :  Visualisateur interactif SVG de dot-plots pour des multi-structures d'ARN
Auteur : Mathieu Giraud  Ecrire Site
(Responsable Informatique : Mathieu Giraud  Ecrire )

L'ARN (acide ribonucléique) joue plusieurs rôles fondamentaux au sein de la cellule: synthèse des protéines (ARN messagers), activité catalytique ou implication dans la régulation (ARN non-codants). Les ARNs peuvent s'étudier par leur "structure secondaire", représentable par une séquence bien parenthésée, par certaines arborescences, ou bien par un ensemble de "tiges" juxtaposées et imbriquées.

La structure secondaire est relativement simple à visualiser lorsqu'on considère un unique ARN. La thèse d'A. Saffarian vient cependant de proposer l'étude des "multi-structures", qui combinent structures réelles ou supposées. Le but de ce projet est donc de proposer, en SVG + Javascript, un outil interactif élégant pour visualiser ces multi-structures. La piste proposée est la réalisation d'un dot-plot (matrice 2D montrant les appariements) couplé à une visualisation des tiges. Les dot-plots sont d'ailleurs couramment utilisés en bioinformatique pour représenter l'alignement de séquences.

Aucune connaissance en bioinformatique n'est nécessaire.

Liens associés :
Sujet non-attribué
28/11/2012 Sujet 48 :  Automatisation de la conception des répertoires d'emploi de l'OFIP
Auteur : Mireille Clerbout  Ecrire 
(Responsable Informatique : Mireille Clerbout  Ecrire )

L'OFIP est l'observatoire des formations et de l'insertion professionnelle.
Une de ses missions est d'évaluer les parcours de formation à Lille 1 par un suivi des étudiants pendant leurs études et lors de leur insertion professionnelle.
Il réalise régulièrement un répertoire d'emploi pour chaque diplôme (DUT, licence pro, master, ...).
Ces répertoires donnent de façon synthétique les informations concernant les métiers exercés par les diplômés d'une formation quelques temps après l'obtention de leur diplôme : l'employeur, le salaire, le lieu de travail, ...
Jusqu'à aujourd'hui, la conception de ces répertoires d'emploi comporte beaucoup d'étapes manuelles, à répéter pour chaque diplôme.
Le but de ce projet est d'automatiser la génération des documents constituant les répertoires d'emploi,  de la façon la plus paramétrable possible.
Les données utilisées sont issues du logiciel d'analyse statistique SPSS et peuvent être exportées dans différents formats (Excel, CSV, ...) afin de permettre la génération d'un document Word.
Les étudiants qui choisiront ce projet devront étudier deux solutions  techniques envisageables pour la génération des répertoires d'emploi : Jasperreport et XQuery/XSL-FO en construisant des prototypes basés sur chacune d'elle  pour analyser leurs points forts et faibles et choisir la solution définitive.
Un critère important du choix définitif sera la possibilité pour  l'utilisateur (non informaticien)   de paramétrer la génération d'un document, en lui offrant par exemple la possibilité de choisir le/les diplômes(s) concernés, les informations à faire figurer dans le répertoire d'emploi, le style du document, …

Sujet non-attribué
27/11/2012 Sujet 47 :  Sequential Face Recognition
Auteur : Michal Valko  Ecrire Site
(Responsable Informatique : Michal Valko  Ecrire )
Sujet recherche

The theme of the project is the recognition of the human faces from the video streams.

The project involves studying online (sequential) semi-supervised (only limited amount of information is provided) learning. Due to this minimal feedback, it is important to use indirect feedback such as the stream of unlabeled data. The target application is online face-recognition.

Several options are possible, details on the following website
http://researchers.lille.inria.fr/~valko/hp/master_project_proposal1

For example, the option 3 involves thorough comparison of the semi-supervised learning method with the state-of-the-art face recognition approaches that are available online.

Liens associés :
Sujet non-attribué
01/12/2012 Sujet 46 :  Intégration de Drone à une plateforme logicielle
Auteur : Gwenael Cattez  Ecrire Site
(Responsable Informatique : Gwenael Cattez  Ecrire )

Le but de ce projet est d'intégrer des AR.Drone à la plate-forme FraSCAti [1]. Les AR.Drones sont des hélicoptères à 4 moteur pouvant être piloté via une liaison Wi-Fi et disposant de deux caméras et de capteurs (accéléromètre, gyroscope, altimètre). La mission consiste donc à étudier les API Java [2] et Scala [3], d’en retenir une afin de réaliser une façade REST permettant d’exposer certaines des fonctionnalités de l’API choisis via le protocole HTTP. Un des aspects majeurs de la mission réside dans la production de code de qualité, il sera donc demandé de fournir des tests unitaires et de la documentation. Cette mission pourra s’effectuera au sein des bâtiments d’Inria, en présence de l’encadrant qui assistera dans les développements.

Pré-requis : Bonne connaissance du langage Java ou Scala. Aucune connaissance annexe n’est nécessaire.

Liens associés :
Sujet attribué
Affecté à : Ali Hedjaz [M1-INFO]  Ecrire ,  Tony Tran [M1-INFO]  Ecrire 
27/11/2012 Sujet 45 :  Analyse automatique de l'historique Git des logiciels
Auteur : Martin Monperrus  Ecrire Site
(Responsable Informatique : Martin Monperrus  Ecrire )

Git est un logiciel de gestion de version. Un répositaire github contient une mine d'information concernant la dynamique des logiciels, leurs bugs, etc. Un grand nombre de travaux de recherche utilisent ces répositaires pour comprendre la nature profonde du développement logiciel. L'objectif de ce projet est de produire un logiciel qui facilite l'accès aux données contenues dans un répositaire Git.


Durant ce projet, vous écrirez une librairie d'analyse de répositaire Git. Cette librairie utilisera la librairie JGIT d'Eclipse. Vous validerez votre implémentation par l'utilisation de la librairie sur des gros projets open-source Java, tel JBoss.

Les technologies utilisées seront Java, JGit et Eclipse JDT. Ce projet pourra donner suite à un stage d'été de M1 ou un stage de M2.


Liens associés :
Sujet attribué
Affecté à : Sylvain Magnier [M1-MIAGE]  Ecrire ,  Maxence Germain De Montauzan [M1-MIAGE]  Ecrire 
27/11/2012 Sujet 44 :  Analyse de l'ADN des logiciels
Auteur : Martin Monperrus  Ecrire Site
(Responsable Informatique : Martin Monperrus  Ecrire )
Sujet recherche

En 1953, James D. Watson et Francis Crick découvrent une définition satisfaisante de l'ADN moléculaire. Les chercheurs travaillaient sur ce sujet depuis des décennies. L'objectif de ce projet est de contribuer à la découverte de l'ADN des logiciels, qui n'est pas encore connu.

Durant ce projet, vous écrirez plusieurs analyseurs de code, chacun implémentant une définition différente de l'ADN logiciel. Vous utiliserez alors ces analyseurs sur des millions de lignes de code open-source, dans le but d'identifier la meilleure définition de l'ADN logiciel.

Les technologies utilisées seront Java et Eclipse JDT. Ce projet pourra donner suite à un stage d'été de M1 ou un stage de M2.


Sujet non-attribué
01/12/2012 Sujet 43 :  Intégration de capteurs Java SunSPOT à une plateforme logicielle
Auteur : Gwenael Cattez  Ecrire Site
(Responsable Informatique : Gwenael Cattez  Ecrire )

Le but de ce projet est d'intégrer la technologie Java SunSPOT [1] à la plate-forme FraSCAti [2]. Les SunSPOT sont des boîtiers sans fil intégrant différents capteurs (accéléromètre, température, luminosité...) tournant sur une machine virtuelle Java. La mission consiste donc à étudier l’API Java [3] de ce matériel et de réaliser une façade REST permettant d’exposer certaines des fonctionnalités de l’API SunSPOT via le protocole HTTP. Un des aspects majeurs de la mission réside dans la production de code Java de qualité, il sera donc demandé de fournir des tests unitaires et de la documentation. Cette mission pourra s’effectuera au sein des bâtiments d’Inria, en présence de l’encadrant qui assistera dans les développements.

Pré-requis : Bonne connaissance du langage Java . Aucune connaissance annexe n’est nécessaire.

Liens associés :
Sujet non-attribué
26/11/2012 Sujet 42 :  Génération de partitions analysées par music21 et Lilypond
Auteur : Mathieu Giraud  Ecrire Site
(Responsable Informatique : Mathieu Giraud  Ecrire )

Une analyse d'une partition peut inclure des éléments bas niveau (identification de motifs, d'accords, de cadences…) tout comme de haut niveau (identification de thèmes, segmentation de morceaux)… L'objectif de ce projet est :
- d'afficher ces analyses sur une partition générée par Lilypond (en particulier, en proposant une méthode d'affichage d'annotations structurelles),
- et de proposer un export direct depuis le framework python music21 (en étendant certains objets de music21 ou en en créant de nouveaux).

Le succès de ce projet permettrait de générer automatiquement un grand nombre de partitions manuellement ou automatiquement annotées.

Développement en Lilypond (Scheme/C++) et music21 (Python).  Des connaissances musicales ainsi qu'une expérience de Lilypond sont souhaitées.

Liens associés :
Sujet non-attribué
26/11/2012 Sujet 41 :  Création de vidéos avec des partitions synchronisées
Auteur : Mathieu Giraud  Ecrire Site
(Responsable Informatique : Mathieu Giraud  Ecrire )

On peut trouver sur le web de nombreuses vidéos (souvent créées à la main) montrant des partitions synchronisées avec de la musique. Ces vidéos sont un excellent outil pédagogique, que cela soit pour montrer la partition à des mélomanes curieux ou pour proposer des éléments d'analyse à des musiciens plus avertis.

Ce projet se place dans le cadre de Lilypond, un éditeur de partitions open-source prenant des fichiers texte en entrée. Le but de projet est de refondre et d'étendre ly2video, qui permet, à partir d'un fichier source Lilypond, de générer, image par image, une vidéo d'une partition synchronisée avec un rendu MIDI. Concrètement, les deux objectifs du projet seront de proposer puis d'implémenter :
- une visualisation fluide (interpolation des points de suivi),
- et un affichage d'annotations structurelles.

En cas de réussite du projet, une extension pourra être de proposer cet export vidéo depuis le framework python music21.

Développement en Python. Ce projet n'exige pas de connaissances musicales particulières.

Liens associés :
Sujet non-attribué
26/11/2012 Sujet 40 :  Structure pour l'indexation de variants génomiques
Auteur : Mathieu Giraud  Ecrire Site
(Responsable Informatique : Mathieu Giraud  Ecrire )
Sujet recherche

Au sein de l'espèce humaine, les génomes sont à plus de 99% identiques. Les différences entre individus sont souvent des mutations sur un seul nucléotide (SNP), et, parfois, des différences un peu plus conséquentes. Grâce à l'évolution des techniques de séquençage, on peut aujourd'hui obtenir le génomes de nombreux individus et étudier l'impact de ces variations dans une population.

Le projet se concentre sur un aspect algorithmique : comment stocker efficacement de nombreux génomes très similaires ? Avec Jan Holub (Univ. Prague), nous avons conçu une nouvelle structure de données particulièrement adaptée à ce problème. Le but de ce projet sera d'implémenter cette structure de données et quelques algorithmes associés (recherche d'une séquence, ajout ou suppression d'un variant, statistiques sur les variants), et de tester l'ensemble sur des séquences réelles.

Programmation en C ou C++. Goût pour l'algorithmique.

Sujet non-attribué
26/11/2012 Sujet 39 :  Expérimentation de DDS en environnement métro
Auteur : Christophe Gransart  Ecrire 
(Responsable Informatique : Christophe Gransart  Ecrire )
Sujet recherche


Le middleware de type DDS (Data Distribution Service) permet d’échanger de nombreuses informations entre différents producteurs et consommateurs en gérant différents niveaux de qualité de service. Il est principalement utilisé sur des architectures filaires pour des applications dans le domaine de la finance ou dans le monde militaire. Dans ce stage, nous souhaitons expérimenter une implémentation de ce middleware DDS pour des applications dans le monde des transports fonctionnant sur un réseau sans fil où des coupures de communications seront des évènements normaux du système.

L’application visée doit permettre des échanges de données entre des rames de métros et les stations de métro lorsque les rames sont à l’arrêt en station. Les rames seront déconnectées du réseau global lors d’un parcours inter stations mais pourront continuer à échanger des données entre les différents producteurs/consommateurs embarqués dans la rame.

Un premier stage de master 1 a permis de :

- définir les structures de données qui seront échangées entre les différents acteurs du système
- développer en langage C les différents producteurs et consommateurs pour illustrer les échanges de données



Le travail demandé cette année consiste à :

- évaluer les performances du système en terme de temps de connexion/déconnexion réseau et applicative, durée de transmission des données. Pour cela une maquette logicielle/matériel et équipement Wi-Fi sera montée durant le projet.
- réaliser la connexion logicielle entre le middleware DDS et les flux vidéos générés par les caméras.


Sujet non-attribué
26/11/2012 Sujet 38 :  Conception et implémentation d'un service Web dédié à la démonstration de QuiXPath.
Auteur : Denis Debarbieux  Ecrire Site
(Responsable Informatique : Denis Debarbieux  Ecrire )

QuiXProc est un projet de transfert entre l'équipe Mostrare d'INRIA et son partenaire industriel Innovimax. L'un des modules développé est QuiXPath, une implémentation efficace de XPath sur les flux XML.  XPath est un langage de requêtes utilisé pour localiser une portion d'un document XML. Sa syntaxe et sa sémantique sont réutilisés dans d'autres technologies telles que XQuery, XSLT ou XProc. Un flux XML permet de représenter un doccument XML sans le stocker intégrallement en mémoire.

Afin d'augmenter le nombre d'utilisateurs, nous souhaitons mettre en place une démonstration interactive de notre outils. L'objectif de ce stage est de concevoir un système client/serveur. Le client permettra d’émettre des requêtes XPath et des documents XML  vers le serveur et de visualiser les réponses obtenues. Le serveur fournira un service Web capable d'évaluer les requêtes pas à pas avec QuiXPath.

QuiXPath est déjà implémenté. Il reste à concevoir le système, à choisir les outils et à les déployer. Par exemple, les questions de l'identification ou de la création de statistiques seront à considérer.

Par ailleurs, l'interface sera en anglais et certains des testeurs seront non francophones.

Compétences souhaitées: Java, XML, technologies du Web, anglais.

Lieu: INRIA - Haute-Borne - Villeneuve d'Ascq

Liens associés :
Sujet non-attribué
24/11/2012 Sujet 37 :  Traitement semi-automatique des feuilles de présence
Auteur : Géry Casiez  Ecrire Site
(Responsable Informatique : Géry Casiez  Ecrire )

L'objectif de ce projet est de traiter semi-automatiquement les feuilles de présence des contrats professionnels, opération qui est aujourd'hui réalisée manuellement.

Les étapes du projet seront:
1) Effectuer un traitement d'image des feuilles scannées pour dans un premier temps repérer les cases destinées à l'émargement et dans un second temps déterminer si la case a été signée (sur la base de l'histogramme par exemple)
2) Ajouter des informations façon "réalité augmentée" sur l'image scannée pour visualiser les case signées des autres: par exemple un rectangle semi-transparent vert pourra être superposé à une case considérée comme signée et un rectangle semi-transparent rouge sur une case considérée comme non signée
3) Permettre d'interagir avec les rectangles précédents pour corriger les erreurs de détection: par exemple cliquer sur un rectangle pour le faire changer de couleur
4) Synchroniser ces informations avec une base de données. La feuille pourra intégrer des QR code par exemple pour faciliter l'identification des étudiants

Le traitement d'image pourra se faire en utilisant OpenCV, les feuilles scannées seront de préférence enregistrées au format PDF de manière à facilement ajouter des informations visuelles. L'interaction avec les rectangles pourra se faire en utilisant le support javascript de PDF.

Il est nécessaire de suivre l'option "Traitement d'image" du second semestre pour faire ce projet. Le suivi de l'option "Reconnaissance de formes" est un plus.

Sujet attribué
Affecté à : Alexis Linke [M1-INFO]  Ecrire ,  Maxence Gaudry [M1-INFO]  Ecrire 
24/11/2012 Sujet 36 :  Extension de libpointing et simulateur TUIO
Auteur : Géry Casiez  Ecrire Site
(Responsable Informatique : Géry Casiez  Ecrire )

Libpointing est une boîte à outils logicielle destinée à faciliter l’acquisition des événements bruts de périphériques de pointage HID et l’application des fonctions de transfert de pointage définies sur les systèmes Windows, OS X et Xorg. La version actuelle est utilisable sur plates-formes Windows, Linux et OS X.


Ce projet a pour objectifs:
1) créer des packages pour Ubuntu et MacPort afin de faciliter son utilisation sous Linux et Mac OS X. L'objectif est que la librairie s'installe simplement en utilisant une commande de ce type: "sudo apt-get install libpointing"

2) créer un simulateur TUIO multiplateformes permettant de contrôler en même temps deux curseurs avec deux souris connectées sur la même machine. L'objectif est d'obtenir une application similaire à "Multi-point TUIO" mais qui fonctionnerait quelque soit la plateforme. Cette application sera développée de préférence en C++ en utilisant la librairie QT.

Liens associés :
Sujet non-attribué
24/11/2012 Sujet 35 :  Amélioration de la qualité des bibliothèques BLAD et BMI
Auteur : François Boulier  Ecrire Site
(Responsable Informatique : François Boulier  Ecrire )

Les bibliothèques BLAD sont des bibliothèques open source, en langage C, dédiées à la simplification des systèmes d'équations différentielles polynomiales. Elles sont développées dans l'équipe calcul formel du LIFL. Elles sont munies d'une documentation technique et d'un ensemble de programmes de test.

Le but du stage consiste à améliorer l'ensemble des programmes de test ainsi que la documentation. Dans le premier cas, il s'agit de rechercher des fonctions non couvertes par les tests et d'écrire les petits programmes correspondants. Dans le second cas, il s'agit de rechercher les fonctions non documentées, mal documentées.

Les bibliothèques BMI sont des bibliothèques qui font l'interface entre BLAD et d'autres logiciels (MAPLE, Sage, ...). Pour des raisons techniques, il est plus difficile d'écrire des tests pour BMI que pour BLAD. Une prolongation naturelle du stage consisterait à étudier la meilleure façon de réaliser des programmes de tests pour cette bibliothèque.

Liens associés :
Sujet non-attribué
30/11/2012 Sujet 34 :  Interface de visualisation de molécules
Auteur : Maude Pupin  Ecrire 
(Responsable Informatique : Laurent Noé  Ecrire )

Depuis plusieurs années, l'équipe Bonsai du LIFL collabore avec des chercheurs du laboratoire de biologie ProBioGEM (Univ Lille 1) sur la conception de logiciels d'analyse de molécules particulières, les peptides non-ribosomiques. Ces peptides sont constitués de composants chimiques, que nous appelons monomères, tels que des acides aminés, des sucres ou des lipides. Il existe plusieurs formats pour représenter ces peptides. Les chimistes et biochimistes utilisent principalement le format SMILE [lien 2] qui représente tous les atomes (oxygène, carbone, ...) composant une molécule à l'aide d'une chaine de caractères. Cette chaine de caractères contient les informations nécessaires à reconstituer le graphe chimique complet de la molécule. Il existe déjà une librairie, OpenBabel [lien 3], permettant de lire un format SMILE et surtout de le représenter sous forme de graphe.
Un autre format pour les peptides non-ribosomiques a été proposé par les chercheurs de Lille 1. Il s'agit du graphe de monomères, c'est-à-dire que les noeuds du graphe ne sont plus les atomes mais les monomères (un groupement d'atomes qui forme un composé chimique). Vous pouvez visualiser un graphe de monomères en suivant le lien : http://bioinfo.lifl.fr/norine/result.jsp?ID=NOR00662 qui aboutit à la page de description d'un peptide dont la structure peut être visualisée en cliquant sur le bouton situé sous "Visualization".

Un premier algorithme a été développé pour localiser les monomères, représentés sous forme de SMILES, dans les structures chimiques des peptides complets, également représentés en SMILES. Le but de ce projet est de développer une interface de visualisation des résultats en ayant d'une part la structure monomérique dans laquelle chaque monomère est représenté par une couleur spécifique et d'autre part la structure chimique avec les atomes appartenant à un monomère colorés avec la couleur utilisée pour ce monomère dans la structure monomérique.
La librairie JAVA JUNG [lien 3] pourra éventuellement être utilisée pour faciliter le tracé de la structure monomérique. OpenBabel offre lui la possibilité de générer la structure chimique en différents formats 'noir et blanc'. Ce sera à vous de les colorer automatiquement à l'aide du résultat obtenu par le programme de localisation des monomères.

Le contexte et les objets manipulés peuvent vous sembler abstraits pour l'instant, mais des connaissances en biologie ou chimie ne sont pas nécessaires. Nous prendrons le temps de vous expliquer en détail les notions dont vous avez besoin.

Maude Pupin / Laurent Noé

Liens associés :
Sujet attribué
Affecté à : Antonia Ludunge [M1-INFO]  Ecrire 
23/11/2012 Sujet 33 :  Intégration du support multitouch dans Pharo
Auteur : Stéphane Ducasse  Ecrire 
(Responsable Informatique : Stéphane Ducasse  Ecrire )

La plupart des systèmes d’exploitation modernes intègrent désormais le support de l'interaction multitouch. Ce support fait cependant défaut à l’environnement Smalltalk Pharo, disponible sur de nombreuses plateformes.

Le projet consiste à
- connecter une librarie gérant le multitouch à Pharo. Utilisation de FFI.
- développer un modèle d’événements permettant une utilisation élégante et adéquate des événements multitouch.
- développer une petite application bougeant des objets entre table graphique pourrait être fun :)

Un point important est de valider le nouveau modèle de collection d’événements systèmes développé en Pharo. Ces points pourront être étendu en intégrant d’autres librairies de capteurs ayant des caractéristiques plus contraignantes.

Liens associés :
Sujet attribué
Affecté à : Francois Lepan [M1-INFO]  Ecrire ,  Benjamin Van-Ryseghem [M1-INFO]  Ecrire 
23/11/2012 Sujet 32 :  Spatial modeling of biochemical systems
Auteur : Kirill Batmanov  Ecrire 
(Responsable Informatique : Cedric Lhoussaine  Ecrire )
Sujet recherche

Contexte
In models of biological systems on chemical level, it is often assumed that the chemical solution in the compartment (e.g.  a cell) is well mixed. The diffusion within compartment is assumed to be fast compared to the speed of chemical reactions. This allows disregarding spatial configuration of the compartment in the model and simplifies it greatly. They are simulated using ordinary differential equations (ODEs).
However, this assumption cannot always be made. For example, within the cell the diffusion can be obstructed and slowed down by large molecular complexes (DNA, cytoskeleton parts), which gives rise to a non-homogeneous distribution of chemicals within the compartment. In this case, a spatial model must be used. One such model is a reaction-diffusion system.
Typically reaction-diffusion systems are formalized as systems of partial differential equations (PDEs). To simulate them, a PDE solver is used, which discretizes the space into small volumes (or triangles in 2D) and makes an ODE system for every volume, which are then simulated together.

Problématique
In BioComputing we have developed a flexible rule-based language for modeling chemical systems, React(C). It allows specifying complex biochemical systems with a concise set of rules. However, it currently lacks the possibility of defining reaction-diffusion systems in the general way, because it only allows writing discrete systems.

Travail à réaliser
Building upon our React(C) code (written in Scala programming language), add the possibility of annotating React(C) models with the spatial (geometry) information. The geometries could be defined by e.g. a vector format image.
Make a tool which, using the spatial annotations, will discretize given React(C) model automatically and write its discrete version as another React(C) model. This step can use the space discretization (triangulation) procedure already implemented in many PDE solvers, e.g. in Matlab.
Make a visualization tool which will show the result of the spatial simulation as a movie.

Bibliographie
1. Johan Hattne, David Fange and Johan Elf (2005). Stochastic reaction-diffusion simulation with MesoRD. Bioinfomatics.
2. Mathias John; Cédric Lhoussaine; Joachim Niehren; Cristian Versari (2011). Biochemical Reaction Rules with Constraints. 20th European Symposium on Programming Languages.
3. Scala programming language: http://www.scala-lang.org/

Liens associés :
Sujet non-attribué
23/11/2012 Sujet 31 :  Robot lego machine de Turing
Auteur : Francesco De Comité  Ecrire 
(Responsable Informatique : Eric Wegrzynowski  Ecrire )

But du projet : réaliser un robot capable de simuler une machine de Turing.
Le robot est fourni, il se programme au choix en C ou en Java.

Sujet attribué
Affecté à : Matthieu Poudroux [M1-INFO]  Ecrire ,  Ronan Dhellemmes [M1-INFO]  Ecrire 
23/11/2012 Sujet 30 :  Robot lego solveur de Sudoku
Auteur : Francesco De Comité  Ecrire 
(Responsable Informatique : Leopold Weinberg  Ecrire )

Le but du projet est de réaliser et programmer un robot Lego Mindstorms pour qu'il soit capable de lire une grille de sudoku incomplète, de la résoudre et de compléter la grille.
Il y a donc plusieurs aspects : lecture et reconnaissance de caractères, robotique, algorithmique.
Idéalement, le robot devra être autonome.
Le robot est fourni. Il se programme en C ou en java.

Sujet attribué
Affecté à : Oulamine Youssef [M1-INFO]  Ecrire ,  El Achiqi Anas [M1-INFO]  Ecrire 
23/11/2012 Sujet 29 :  Refonte de l'architecture d'une application en science des matériaux
Auteur : Didier Mailliet  Ecrire 
(Responsable Informatique : Didier Mailliet  Ecrire )

Mise en ligne sur Internet d’une application en science des matériaux

Ce projet est la suite du projet qui consistait à mettre en service sur Internet (Laboratoire UMET groupe Métallurgie Physique et Génie des Matériaux) une application de science des matériaux permettant (i) la réalisation de calculs (via l’appel de programmes scientifiques déjà disponibles - aucune compétence en sciences physiques n’est requise) et (ii) l’archivage des résultats, en vue de la constitution progressive d’une base de données accessible à l’ensemble de la communauté scientifique. Cette application, interface à développer en Java, pourra acquérir diverses fonctions supplémentaires suivant l’avancement du projet.
le point (ii) n'a pas été réalisé. D'autre part, il conviendrait de remplacer le programme fortran qui assure les calculs par un programme java équivalent, d'effectuer les tests de non régression et de modifier l'interface

Liens associés :
Sujet attribué
Affecté à : Sophie Mantel  [M1-MIAGE]  Ecrire ,   Hadhri Wissem  [M1-MIAGE]  Ecrire 
22/11/2012 Sujet 27 :  Framework de modélisation dans les Tablettes Android
Auteur : Amine El Kouhen  Ecrire 
(Responsable Informatique : Cédric Dumoulin  Ecrire )
Sujet recherche

La mobilité et l’évolution technologique ont engendré de nouveaux besoins informatiques, les téléphones mobiles, assistants personnels (PDA) et autres moyens de communications sont désormais utilisés pour l’ensemble des tâches effectuées par les utilisateurs. Les utilisateurs préfèrent utiliser les services spécifiques liés à cette mobilité ainsi que les applications habituelles de leur travail. Les interfaces utilisateur doivent par conséquent s’adapter aux différents contextes d’interaction de l’utilisateur.
Il serait intéressant pour les concepteurs et architectes de systèmes d'information de retrouver une partie de leurs environnements de travail dans leurs appareils mobiles, les modeleurs UML peuvent être les exemples les plus courants.
Les candidats devront dans un premier temps établir la bibliographie des technologies existantes permettant de développer un prototype d’application (application composée de plusieurs plugins) dans une tablette. Ce travail peut être étendu pour implémenter un/des Framework(s) de modélisation (dans la même vision que le projet EMF de Eclipse). Si le projet avance bien, les candidats devront proposer cette fois, l’architecture d’un Framework de modélisation graphique dans un appareil mobile (tablette de type Android par exemple). On peut envisager le portage de l'éditeur graphique de Papyrus Eclipse comme cas d'étude. Selon l’avancement de ce projet, les contributions peuvent être ajoutées à la distribution Papyrus Eclipse, avec le nom de ses contributeurs.

Liens associés :
Sujet attribué
Affecté à : Malika Rakhaoui ‎ [M1-INFO]  Ecrire ,  Fatou-Laye Mbaye [M1-INFO]  Ecrire 
01/12/2012 Sujet 25 :  Support de Java7 dans l'outil de manipulation de code source Spoon
Auteur : Nicolas Petitprez  Ecrire Site
(Responsable Informatique : Romain Rouvoy  Ecrire )

Spoon est un outils d'analyse et de transformation de programmes qui supporte actuellement Java 5 et 6 [1]. Il fournit notamment un méta-modèle complet où chaque élément du programme peut être accédé en lecture (introspection) et en modification (transformation). La technologie Java a récemment publié une mise à jour du langage, intégrant notamment le support des chaînes de caractères dans les switch, l'interception de plusieurs exceptions, etc.

L'objectif du projet consiste donc à modifier l'outil Spoon pour ajouter le support des nouveautés de Java 7 [2]. Il faudra pour cela prendre en main Spoon, bien comprendre les évolutions du langage, porter Spoon sur la dernière version du compilateur JDT (le compilateur Java d'Eclipse) [3], et mettre à jour le modèle utilisé.

Liens associés :
Sujet non-attribué
21/11/2012 Sujet 23 :  Base de données et données géographiques
Auteur : Francis Bossut  Ecrire 
(Responsable Informatique : Francis Bossut  Ecrire )

Considérons comme contexte géographique une ville.
Soit un ensemble de points de distribution (adresses) dans cette ville Ces points sont éventuellement associés à une information de localisation (coordonnées GPS).

1- replacer ces points de distribution sur un plan (visuel) de la ville
2- à partir du plan, donner à l'utilisateur la possibilité de définir une tournée passant par tous les points de distribution. Éventuellement vérifier que la tournée recouvre l'ensemble des points. Prise en compte des deux côtés de la rue ?
3- trier l'ensemble des points de distribution selon l'ordre induit par la tournée

Sujet attribué
Affecté à : Pierrick Lesage [M1-MIAGE]  Ecrire ,  Alexandre Bienvenu [M1-MIAGE]  Ecrire 
21/11/2012 Sujet 22 :  Évolution de l'application de gestion du personnel de l'IEEA
Auteur : Jean-Christophe Routier  Ecrire 
(Responsable Informatique : Jean-Christophe Routier  Ecrire )

Le secrétariat général de l'UFR d'IEEA dispose actuellement d'une application de gestion de son personnel.

L'application s'appuie sur une base de données (sous postgres) et fonctionne dans un navigateur en s'appuyant sur des servlets

Après quelques années de fonctionnement, une évolution de cette application est souhaitée et nécessaire  afin d'en améliorer les fonctionnalités.
Le travail consistera donc à utiliser une démarche de projet pour faire évoluer cette application. Il sera nécessaire de recenser les besoins des utilisateurs de l'application puis de mettre en oeuvre ces évolutions nécessaires et les faire valider par ces utilisateurs.


Contexte technique:
- postgres
- java JEE (servlets)
- tomcat
- XML
- html/javascript

Sujet attribué
Affecté à : Mélissa Blain [M1-MIAGE]  Ecrire ,  Jérôme Wyckaert [M1-MIAGE]  Ecrire 
20/11/2012 Sujet 21 :  Mise en place d’une plate-forme d’outils informatiques d’analyse de biomolécules. Prédiction des propriétés physico-chimiques et biologiques des peptides
Auteur : Renato Froidevaux  Ecrire 
(Responsable Informatique : Olga Plechakova  Ecrire )
Sujet recherche

Le laboratoire de Procédés Biologiques, Génie Enzymatique et Microbien (ProBioGEM) possède une grande expérience dans l’obtention de peptides possédant des propriétés biologiques provenant soit de l’hydrolyse enzymatique de protéines, soit de micro-organismes (voie de synthèse NRPS de lipopeptides), et la caractérisation de leurs propriétés physico-chimiques. Un programme informatique permettant de calculer ces propriétés pour les peptides a été mis au point au sein d’une même interface. Ce programme permet de déterminer la masse moléculaire, le pHi (et l’évolution de la charge en fonction du pH), l’hydrophobie, le moment hydrophobe, la balance hydrophile/lipophile (HLB) et le coefficient d’extinction molaire.

Attente du projet : Le laboratoire souhaite élargir cette interface et mettre en place des outils informatiques de prédiction des propriétés biologiques de peptides sur la base de la connaissance de la séquence en monomères (appelés acides aminés) constituant les peptides et des propriétés physico-chimiques de ces monomères, dans une approche de type QSAR (Quantitative Structure Activity Relationship).

Travail à réaliser : Il s’agit de reprendre le développement d'un tel outil par un ou deux étudiants en Master 1 d’Informatique puis tester et valider le modèle pour la prédiction de l'activité antimicrobienne de peptides obtenus par le laboratoire. Une base de données pour les peptides utilisés par l’outil et l'interfaçage avec le programme de calcul de propriétés physico-chimiques déjà utilisé dans le laboratoire devront être également modélisés.
Le ou les stagiaires doivent maîtriser les langages informatiques suivants : PHP5, HTML, JavaScript, Python, SQL. Des connaissances en statistiques et en logiciel R seront très appréciées. Aucune compétence en biologie n’est requise.

Sujet non-attribué
20/11/2012 Sujet 20 :  Capture de mouvement 3D avec une caméra Microsoft Kinect
Auteur : Hazem Wannous  Ecrire 
(Responsable Informatique : Hazem Wannous  Ecrire )
Sujet recherche

Contexte et objectifs

La capture de mouvement (motion capture en anglais ou mocap) est une technique permettant de capter les mouvements d'un élément réel afin de les renvoyer dans un univers virtuel. Les mouvements sont enregistrés ou restitués en temps réel vers d'autres systèmes.

La Kinect de Microsoft, périphérique qui embarque un capteur vidéo couleur ainsi qu'un capteur de profondeur, a fait sa place dans la boîte à outils des animateurs 3D. La force de la Kinect est sa capacité à retrouver le squelette de jointures de la personne devant le capteur, en intégrant un système de reconnaissance rapide et ne nécessitant aucun apprentissage à l'utilisation.

L'objectif de ce projet est de générer en temps réel des données complètes de mouvement 3D au format standard Biovision Hierarchy (BVH).

Le binôme aura comme tâches principales de :

   Se familiariser avec la technique d'acquisition d'objet en 3D (logicielles et matérielles) ;
   Comprendre le format de mocap standard BVH ;
   Réaliser des acquisitions de squelettes des personnes en mouvement ;
   Exporter les données de squelettes et d'animations en fichier BVH.

Les étudiants en projet profiteront des codes existants sur l'acquisition des squelettes par Kinect et de l'expertise déjà acquise par l'équipe d'accueil dans le domaine.

Lieu de travail: Laboratoire de l'équipe MIIRE à Telecom Lille 1.

Ressources: Caméra 3D (Kinect Microsoft), PCs; et codes sources et logiciels de manipulation de données 3D.

Sujet attribué
Affecté à : Derek Hendrickx [M1-INFO]  Ecrire ,  Benjamin Makusa [M1-INFO]  Ecrire 
20/11/2012 Sujet 19 :  Finalisation de l'interface web de ProGeSer (PROgramme d'aide à la GEstion des SERres de l'Université de Lille 1)
Auteur : Laurent Amsellem  Ecrire Site
(Responsable Informatique : Patricia Plenacoste  Ecrire )
Sujet recherche

Les 3 différents laboratoires végétalistes de l’Université de Lille 1 (Bâtiment SN2) nécessitent de travailler constamment avec du matériel frais pour leurs activités de recherche et d’enseignement. La production, en grande quantité, de ce matériel s’effectue aux serres de l’Université de Lille 1 (faces au Bâtiment SN1) au sein d’une plateforme commune. La complexité des différentes tâches menées au sein des serres (gestion des espaces de culture, programmes concernés, stades attendus, destination du matériel, impératifs de dates, ...) nécessite donc l’emploi d’un logiciel de gestion de l’espace et du temps au sein de cette structure, également amenée à évoluer régulièrement dans son agencement et son organisation.

Plusieurs stages de M1 "Informatique", MIAGE,  et d’IUP "Génie Mathématiques et Informatique" (GMI) de l'Université de Lille 1, effectués entre 2004 et 2011, ont d’ores et déjà permis d’obtenir un logiciel, ProGeSer ("PROgramme d’aide à la GEstion des SERres") sous forme d'application web. Il est constitué de 3 modules – le premier destiné aux demandeurs, le second aux serristes et le dernier aux administrateurs.
Le premier et le dernier modules sont aujourd'hui terminés. Il reste donc le module serriste à développer. Le travail demandé au sein de ce stage consiste donc à :

(1) Développer les différentes fonctionnalités du module serriste :
– Gestion des serres, gestion des cultures (gestion de l'espace et du temps alloués aux différentes cultures), gestion des cellules
– Visualisation mensuelle et journalière.
(Les premières maquettes ont été rédigées pour ce module)

(2) Éventuellement, améliorer le design de l'application.

Travail souhaité en binôme, par des étudiants sérieux et motivés.
Merci de contacter les responsables du stage, pour entretien préalable avant accord de leur part.

Pré-requis :
- Bonnes connaissances des langages php, javascript, html et css.
- La connaissance du framework symfony 1.4 serait un plus.
- Aisance dans l’emploi de base de données et des outils liés (MCD, MLD, SQL).

Liens associés :
Sujet non-attribué
20/11/2012 Sujet 18 :  Algorithmes de recherche pour l’optimisation combinatoire multi-objectif
Auteur : Arnaud Liefooghe  Ecrire Site
(Responsable Informatique : Bilel Derbel  Ecrire )
Sujet recherche

De nombreux problèmes issus du monde réel peuvent se modéliser comme des problèmes d'optimisation combinatoire multi-objectif. Ces problèmes sont souvent caractérisés par des espaces de recherche vastes et difficiles. Les heuristiques et métaheuristiques, constituant une classe de méthodes approchées, se montrent particulièrement adaptées à leur résolution. Ainsi, l'optimisation multi-objectif vise à optimiser (minimiser ou maximiser) plusieurs fonctions objectif simultanément (typiquement coût vs. qualité). La difficulté réside dans le fait que ces critères sont souvent antagonistes : lorsque l'un d'eux est amélioré, les autres sont généralement dégradés. Il existe donc rarement une solution unique optimisant tous les critères à la fois. En conséquence, les problèmes d'optimisation multi-objectif possèdent un ensemble de solutions de bon compromis entre les différents objectifs. Il s’agit donc d’identifier cet ensemble de solutions, dites Pareto optimales, ou d’en trouver une bonne approximation.

Pour cela, deux types d’approches sont généralement utilisées. D’une part les approches scalaires consistent à réduire le problème original en plusieurs problèmes mono-objectif, et à résoudre chacun de ces problèmes indépendamment. D’autre part, les approches Pareto utilisent directement la notion de dominance pour comparer les différentes solutions, et se basent donc sur des ensembles de solutions. Au cours de ce projet, il s’agira de développer de nouveaux algorithmes, et de comparer leurs performances, en termes de temps de calcul et de qualité des solutions trouvées.

Pour cela, nous nous intéressons à des problèmes d’optimisation combinatoire multi-objectif «classiques» étudiés par les chercheurs, qui sont en quelques sortes leurs «souris de laboratoire». Nous veillerons à prendre en compte le degré de corrélation entre les différents objectifs, qui a un impact considérable sur le nombre de solutions Pareto optimales, et donc sur la performance des algorithmes.

Le travail pourra être effectué en monôme ou en binôme.
Des bases solides en algorithmique sont nécessaires. Par ailleurs, une connaissance et une bonne pratique d’un langage orienté objet sont recommandées.

Liens associés :
Sujet non-attribué
01/12/2012 Sujet 17 :  Développement d'un site collabor'addictif
Auteur : Nicolas Petitprez  Ecrire Site
(Responsable Informatique : Nicolas Petitprez  Ecrire )
Sujet recherche

L'objectif de ce projet est de réaliser un site web collaboratif et interactif permettant d'impliquer un groupe de personnes dans la réalisation d'une tâche commune. Des exemples de telles tâches peuvent être:
- La rédaction d'une histoire sans fin,
- Le développement d'un algorithme ou d'une application

Une fois connecté sur le site, un utilisateur peut suivre la progression de la tâche commune. Le site lui donnera ponctuellement la main durant un certain laps de temps (de l'ordre de quelques secondes) afin qu'il puisse apporter sa contribution à la tâche à réaliser (par exemple, écrire une phrase dans l'histoire). Durant ce laps de temps, les autres personnes connectées sur le site pourront voter pour la contribution en cours d'écriture (un seul vote par tour).

Dans un second temps, nous souhaiterions étendre ce site web pour qu'il ne serve pas uniquement à écrire des histoires mais qu'il permette de développer un algorithme de manière collaborative tout en appliquant les principes de l'histoire sans fin. Pour ce faire, le site devra être étendu avec un module de compilation du code ainsi qu'un module de test unitaire qui permettront de vérifier la qualité du code développé en temps réel.

Le développement de ce site se basera sur une technologie de développement JavaScript asynchrone mise au point par l'équipe-projet ADAM.

Sujet non-attribué
16/11/2012 Sujet 16 :  Apprentissage automatique de l’intérêt d’une solution pour une métaheuristique
Auteur : Clarisse Dhaenens  Ecrire 
(Responsable Informatique : Clarisse Dhaenens  Ecrire )
Sujet recherche

Les recherches locales sont des métaheuristiques qui se déplacent de voisin en voisin pour atteindre un optimum local. Dans la thèse de M-E. Marmion [Phd2011], il a été démontré qu’il était intéressant de s’intéresser aux voisins de même qualité (voisins neutres) afin d’améliorer la recherche locale. Il est alors nécessaire de définir une stratégie pour choisir la solution à explorer parmi toutes ses solutions neutres. Cependant, il est difficile d’évaluer le potentiel d’une solution à avoir de futurs voisins de bonnes qualités.

Nous proposons ici de nous intéresser à qualifier l'intérêt d’une solution voisine en apprenant le potentiel d’une solution à être intéressante (notion d'évolvabilité). Ce potentiel peut être déterminé par des méthodes d’apprentissage sur les solutions déjà visitées [Ejor2012].  Il faudra dans ce travail proposer grâce à des méthodes d’apprentissage un indicateur permettant de juger le potentiel d’une solution. Cette mesure d’intérêt d’une solution sera intégrée dans la métaheuristique VEGAS (Varying Evolvability-Guided Adaptive Search) [Gecco11], un algorithme de recherche locale avancé qui utilise ce type de mesure pour se guider dans l'exploration d'un voisinage. L’algorithme résultant sera testé sur des problèmes classiques de la littérature (flowshop, Nkq, coloration de graphe).

Le projet sera décomposé en différentes étapes:
- Prise en main de la problématique :  relations entre neutralité et recherche locale, notion d'évolvabilité, VEGAS
- Analyse (statistique, apprentissage, datamining) de différentes mesures d'evolvabilité sur des échantillons de solutions complétement explorées
- Choix d'une (ou plusieurs) mesure(s) pertinente(s)
- Implémentation de cette mesure dans VEGAS
- Expérimentations et conclusions

Reférences
[Phd2011] Marie-Eléonore Marmion: Recherche locale et optimisation combinatoire : de l'analyse structurelle d'un problème à la conception d'algorithmes efficaces. These de doctorat de l'Université de Lille I, 2011.

[Gecco11] Marie-Eléonore Marmion, Clarisse Dhaenens, Laetitia Jourdan, Arnaud Liefooghe, Sébastien Vérel: The road to VEGAS: guiding the search over neutral networks. GECCO 2011: 1979-1986

[Ejor2012] David Corne, Clarisse Dhaenens, Laetitia Jourdan: Synergies between operations research and data mining: The emerging use of multi-objective approaches. European Journal of Operational Research 221(3): 469-479 (2012)

Sujet non-attribué
16/11/2012 Sujet 15 :  Recherches locales et neutralité pour la coloration de graphe
Auteur : Laetitia Jourdan  Ecrire Site
(Responsable Informatique : Laetitia Jourdan  Ecrire )
Sujet recherche

La coloration de graphe permet d'attribuer une couleur à chacun des sommets d'un graphe de manière à ce que deux sommets reliés par une arête soient de couleur différente. Dans la majorité des cas on cherche à utiliser un nombre minimal de couleurs, dit nombre chromatique.

Dans la thèse de M-E. Marmion, il a été démontré qu’il était intéressant de s’intéresser aux voisins de même qualité afin d’améliorer la recherche de solutions aux problèmes d'optimisation, ces voisins sont appelés voisins neutres.

Dans de précédents travaux nous avons montré que certaines instances de la coloration de graphe présentaient de la neutralité et que l'utilisation de la neutralité dans les méthodes d'optimisation pouvaient permettre d'améliorer la qualité des résultats obtenus. L'objectif de ce projet est d'incorporer des mécanismes exploitant la neutralité dans des algorithmes déjà performants de la coloration de graphe comme TabuCol et d'étudier leurs comportements avec et sans l'exploitation de la neutralité.

* Le travail se décomposera en différentes tâches :
  - Prise en main de l'existant : problème de coloration de graphe, neutralité, algorithmes de la littérature
  - Sélection d'algorithmes de la littérature et implémentation sous ParadisEO
  - Incorporer la neutralité dans les algorithmes de la tâche 2
  - Test et comparaison des algorithmes sur les benchmarks du challenge DIMACS


* Environnement de travail :
C++, ParadisEO

Sujet non-attribué
16/11/2012 Sujet 14 :  Développement d'un outil de dessin facilitant la création de schémas simples
Auteur : Valérie Leclère  Ecrire 
(Responsable Informatique : Maude Pupin  Ecrire )

Depuis plusieurs années, le laboratoire ProBioGEM travaille en collaboration avec l’équipe Bonsai du LIFL sur des approches bioinformatiques d’analyse de peptides actifs produits par des microorganismes. Cette collaboration s’est par exemple traduite par la mise en ligne de la banque de données Norine qui a acquis une reconnaissance internationale. Dans ce contexte, nous avons aujourd'hui besoin d’un outil de dessin qui nous permettra de schématiser rapidement les protéines d'intérêt, découpées en régions et sous-régions appelées, respectivement, modules et domaines. Elles seront alors représentées sous forme d'assemblages de figures géométriques, à l'image d'un jeu de construction.  L'accent sera mis sur le développement d'une interface conviviale qui permettra de faire varier la forme et la couleur de chaque élément, autorisant le "glisser-déposer" aussi bien que la saisie d'informations textuelles.
L’outil devra pouvoir s’exécuter sur différentes plateformes. Le choix du langage est laissé libre.
Il n'est absolument pas nécessaire d'avoir des connaissances en chimie ou biologie pour réaliser ce projet.

Sujet non-attribué
16/11/2012 Sujet 13 :  Développement d'un outil interactif de contrôle de la qualité de données pour la banque de données Norine
Auteur : Valérie Leclère  Ecrire 
(Responsable Informatique : Maude Pupin  Ecrire )

Le laboratoire ProBioGEM (IFR 147) travaille en collaboration avec l’équipe Bonsai du LIFL depuis plusieurs années, sur des approches bioinformatiques d’analyse de peptides actifs (antibiotiques, anticancéreux etc…) produits par des microorganismes. Cette collaboration s’est traduite par la mise en ligne de la banque de données Norine (http://bioinfo.lifl.fr/norine) qui constitue une référence mondiale dans le domaine. Cette base contient actuellement 1122 composés annotés en fonction de critères structuraux (masse, formule chimique, structure), de leurs activités biologiques, des organismes qui les produisent ou encore des publications de références. Afin de faciliter le peuplement de la base, nous souhaitons développer une (des) interfaces utilisateur qui seront associées à des critères de qualité nous permettant d’évaluer la pertinence et la cohérence des données entrées par les curateurs.
Les compétences informatiques requises : Java, HTML, SGBD, PostgreSQL, STRUTS2.
Il n'est pas nécessaire d'avoir des connaissances en chimie ou biologie pour réaliser ce projet.

Sujet attribué
Affecté à : Houdart Eglantine [M1-INFO]  Ecrire 
16/11/2012 Sujet 11 :  Gestion du temps
Auteur : Jean-Claude Tarby  Ecrire Site
(Responsable Informatique : Jean-Claude Tarby  Ecrire )

En 2011-2012, deux étudiants du M2 e-services ont développé en Adobe AIR l’application « gestion du temps » (vidéo de démo visible à http://www.lifl.fr/~tarby/enseignements.html). A l’époque, ce travail répondait tout à fait à la demande, et après un an d’utilisation, l’application donne de très bons résultats. Cependant, elle mériterait des se voir ajouter des fonctionnalités très intéressantes comme des statistiques plus détaillées et paramétrables par exemple. Le travail demandé consiste donc :
- La mise en place de ces statistiques
- Une amélioration de l’IHM et des fonctionnalités de l’application.

Une connaissance de Flex/AIR/AS3 est un plus pour ce projet. Toutefois, si la programmation en AIR pose problème, une version totalement refaite dans une autre technologie peut être envisagée, mais avec la condition expresse que l’application doit fonctionner sans internet et sans serveur, c'est-à-dire comme un simple exécutable.

Liens associés :
Sujet non-attribué
14/11/2012 Sujet 10 :  IHM HTML5 pour un simulateur de marchés financiers
Auteur : Yann Secq  Ecrire Site
(Responsable Informatique : Philippe Mathieu  Ecrire )

Contexte: ATOM [1] est un simulateur de marché financier dirigé par les ordres. Une interface web (Atom On Web [2]) a été développée pour utiliser ATOM dans un cadre pédagogique. Une autre interfacea été développée en Swing pour générer automatiquement des fichiers d'ordres et de prix.

Objectif: Intégrer un serveur de servlet léger dans ATOM pour fournir uniquement des interfaces web pour les différents types d'usages de la plateforme: contexte pédagogique, génération d'ordres et de prix, relecture de fichiers pré-existants d'ordres et de prix.

Etapes du projet:

1. Etudier twjs [3] ou tout autre serveur de servlet léger intégrable dans une application. Production: une page de documentation technique expliquant l'intégration du serveur dans l'application ainsi qu'un jar exécutable lançant une servlet basique (type HelloWorld).

2. Basculer le war d'Atom On Web dans un jar auto-exécutable équivalente à celui de l'étape 1 qui lors de son exécution ouvre un navigateur et propose une liste d'application, la seule accessible étant Atom On Web.

3. Convertir l'interface Swing générant ordre et prix en servlet et l'intégrer dans l'archive de l'étape 2. Ainsi, lors de son exécution, deux applications sont maintenant proposées.

4. Intégrer l'application permettant de rejouer un flux d'ordre, ce qui constituera la troisième application.

5. En cas de progression rapide, de nouvelles applications pourront être envisagées.

Une attention particulière sera demandée sur la documentation technique ainsi que la javadoc du projet.

Contact(s): {philippe.mathieu, yann.secq}@univ-lille1.fr

Liens associés :
Sujet attribué
Affecté à : Thomas Buisine [M1-INFO]  Ecrire ,  Benbrik Othmane [M1-INFO]  Ecrire 
07/11/2012 Sujet 9 :  Systèmes Multi-Agents et Comportements
Auteur : Maxime Morge  Ecrire Site
(Responsable Informatique : Maxime Morge  Ecrire )
Sujet recherche

Dans l'académie de Lille, les Professeurs des Écoles (PE) stagiaire doivent réaliser au cours de l'année trois stages en école primaire. À cette intention, chaque PE émet trois voeux où il priorise les circonscriptions dans lesquelles il souhaite travailler. Réciproquement, les circonscriptions fournissent de leur côté des encadrants. Chaque encadrant peut suivre 2 stagiaires trois fois dans l'année.

Ainsi, l'attribution des stages se fait en fonction des critères suivants:

- chaque PE doit faire un stage dans les trois cycles.  Le cycle 1 va de la toute petite section à la moyenne section), le cycle 2 va de la grande section au CE1 et le cycle 3 va du CE2 au CM2;

- un encadrant travaille soit au cycle 1, soit au cycle 2, soit au cycle 3;

- on donne la priorité aux PE ayant des enfants, puis aux PE ayant en parallèle un autre emploi et enfin à ceux n'ayant pas de véhicule;

- on donne la priorité aux encadrants disposant du statut d'EMF puis à ceux ayant le CAFIPEMF.

L'objectif de ce projet consiste à proposer et à implémenter un algorithme pour l'affectation des stages aux PE en respectant ces contraintes et en prenant en compte au mieux leurs préférences.  Pour ce faire, les étudiants pourront s'appuyer :
-  sur l'expertise métier du responsable de l'affectation des stages PE à l'académie de Lille;
- sur l'expertise de l'équipe SMAC dans l'algorithmique pour la  résolution des problèmes de mise en correspondance stable.

Liens associés :
Sujet non-attribué
05/11/2012 Sujet 8 :  Intégration des ondes cérébrales dans la vie courante
Auteur : Jean-Claude Tarby  Ecrire Site
(Responsable Informatique : Jean-Claude Tarby  Ecrire )

Le BCI (Brain Computer Interface), ou ICO (Interface Cerveau Ordinateur) en français, est une technologie qui progresse à grands pas depuis quelques années et qui est même déjà utilisée dans les jeux (http://fr.ubergizmo.com/2012/02/focus-pocus-logiciel-apprentissage-exploite-pouvoir-esprit/ ou http://store.neurosky.com/collections/games) ou dans des gadgets (http://www.slate.fr/lien/62331/queue-oreilles-pensee). Une application musicale basées sur les émotions a été réalisée précédemment (cf. URL). Cette application utilise le casque EPOC de la société EMOTIV (cf. URL) ; elle recueille les ondes cérébrales de l’utilisateur afin de jouer la musique la plus adéquate en fonction de son état émotionnel et de son contexte. Cette application n’est qu’une brique d’un projet plus général qui consiste à étudier l’utilisation des ondes cérébrales dans un contexte plus global. On peut en effet penser que les casques BCI vont devenir de plus en plus discrets,  voire disparaîtront de nos têtes pour se réfugier dans nos téléphones, nos voitures, etc. Comment pourrons-nous alors utiliser nos ondes cérébrales dans ce contexte ?

Le travail à réaliser consiste :
- A créer des applications (applis web, applis mobiles, applis workstation…) simples utilisant les ondes cérébrales ; par exemple une application affichant un smiley en fonction de l’état émotionnel de l’utilisateur, une application affichant un message invitant à faire une pause quand on détecte une fatigue trop importante, une application prévenant son conjoint que l’on rentre chez soi énervé, etc. Ces applications seront à discuter avec les étudiants.
- A interconnecter ces applications grâce au bus WSE (cf. URL)
- Si possible à intégrer de « l’intelligence » à ce système ; par exemple le système pourra proposer un programme TV pour le soir en fonction des ondes cérébrales de toute la journée.

Liens associés :
Sujet attribué
Affecté à : Mickaël Duruisseau [M1-INFO]  Ecrire ,  Nicolas Coyard [M1-INFO]  Ecrire 
05/11/2012 Sujet 7 :  Musiques émotionnelles cérébrales
Auteur : Jean-Claude Tarby  Ecrire Site
(Responsable Informatique : Jean-Claude Tarby  Ecrire )

Le BCI (Brain Computer Interface), ou ICO (Interface Cerveau Ordinateur) en français, est une technologie qui progresse à grands pas depuis quelques années et qui est même déjà utilisée dans les jeux (http://fr.ubergizmo.com/2012/02/focus-pocus-logiciel-apprentissage-exploite-pouvoir-esprit/ ou http://store.neurosky.com/collections/games) ou dans des gadgets (cf. URL). Une application musicale basées sur les émotions a été réalisée précédemment (cf. URL). Cette application utilise le casque EPOC de la société EMOTIV (cf. URL) ; elle recueille les ondes cérébrales de l’utilisateur afin de jouer la musique la plus adéquate en fonction de son état émotionnel et de son contexte. Codée en C# et Windev (pour la gestion de la base de données), cette application fonctionnait sur Windows en 32 bits.

Le travail à réaliser consiste :
- A réécrire cette application sans utiliser Windev. Pour cela, le codage sera fait en C# et utilisera un back-office PHP ou une base SQLite (choix à discuter). L’application devra également fonctionner sur 32 et 64 bits (choix de bibliothèque FMOD à rediscuter).
- A améliorer l’application en fournissant des statistiques, des logs, etc.
- Si possible à améliorer l’application en ajoutant de « l’intelligence ». L’application actuelle est basée sur des profils créés par l’utilisateur ; l’idéal serait que l’application crée elle-même ces profils et les adapte si nécessaire.

Liens associés :
Sujet attribué
Affecté à : Giovanni Ismael [M1-INFO]  Ecrire 
12/11/2012 Sujet 6 :  Frameworks PHP et back-offices pour applications mobiles
Auteur : Jean-Claude Tarby  Ecrire Site
(Responsable Informatique : Jean-Claude Tarby  Ecrire )

Beaucoup d’applications mobiles utilisent des données provenant de back offices souvent basés sur PHP. Ceci est du d’une part à l’économie de mémoire de stockage que l’on doit réaliser sur les téléphones mobiles, et d’autre part au besoin de données en temps réel. Pour gérer efficacement ces données en back-office, il existe une pléthore de frameweworks PHP (cf. URL).
Le travail à réaliser s’insère dans la poursuite de l’application BucoLille développée en Master 2 E-services en 2011-2012 (cf. URL). Il permettra aux enseignants/étudiants en Biologie associés à cette application de mettre à jour facilement les données.

Le travail attendu consiste :
- En la mise en place du framework CakePHP 2 sur un serveur PHP 5 (type EasyPHP). Le framework doit fonctionner sur PHP 5, être configuré pour gérer des connexions identifiées (login/password), permettre une gestion des données simple et efficace. Une base de données sera fournie pour les tests.
- En la création de scripts PHP qui fourniront des services tels que l’extraction de données en XML et JSON, la purge de la base de données en fonction de certains critères (par exemple des noms identiques ou des positions GPS proches), la recherche de doublons, des statistiques, etc.
- En la comparaison de ce framework avec d’autres frameworks tels que MKFramework, Zend Framework 2, Symfony 2… Les critères de comparaison sont : facilité d’installation, facilité de paramétrage, facilité de mise à jour (du framework et de la base de données), génération de code, présence d’une communauté active, documentation, etc. Les résultats de cette comparaison devra être justifiés par des exemples concrets.

Liens associés :
Sujet attribué
Affecté à : Omar Chahbouni [M1-INFO]  Ecrire ,  Abderrahime El Idrissi [M1-INFO]  Ecrire 
31/10/2012 Sujet 5 :  A New Trait Implementation
Auteur : Damien Cassou  Ecrire Site
(Responsable Informatique : Damien Cassou  Ecrire )
Sujet recherche

- Research Team:
 RMod

- Team leader (HDR):
 Stéphane Ducasse

- Project leader and contact:
 Damien Cassou

Project Context

Inheritance is well-known and accepted as a mechanism for reuse in object-oriented languages. Unfortunately, due to the coarse granularity of inheritance, it may be difficult to decompose an application into an optimal class hierarchy that maximizes software reuse. Existing schemes based on single inheritance (e.g., in Java), multiple inheritance (e.g., in C++), or mixin (e.g., in Ruby), all pose numerous problems for reuse.

To overcome these problems, we designed a new composition mechanism called Traits [1], now included in programming languages such as PHP, Perl and Pharo/Smalltalk. Traits are pure units of behavior that can be composed to form classes or other traits. The trait composition mechanism is an alternative to multiple or mixin inheritance in which the composer has full control over the trait composition. The result enables more reuse than single inheritance without introducing the drawbacks of multiple or mixin inheritance.

Problem

Pharo is a new open-source Smalltalk-inspired programming language and environment [2]. It provides a platform for innovative development both in industry and research. Traits are integrated in Pharo but barely used due to a lack of support in the development environment. The current implementation of traits in Pharo merges the trait methods into the classes that use the trait. This merging of external methods into classes makes the implementation of
the development tools harder.

Work plan

To solve this problem, the student will have to:

*  evaluate alternative implementations of traits that do not merge methods into classes;
*  implement the best alternative in Pharo;
*  review possible ways to browse, visualise and implement source code with traits;
*  adapt the Pharo development tools so that they become trait aware (e.g., code browser, refactoring  tools, and versioning tools).

Benefits for the Pharo community

*  Simplify writing new code with traits and help understand trait-based existing code;
*  Enable rewriting of non trait-based code with traits to improve its design and reuse;
*  Provide a basis to continue research around traits with a better implementation.

Benefits for the student

*  Integration into a prolific research group, fond of software  development and programming languages;
*  Understanding of how programming languages and IDEs are implemented;
*  Potential integration as a master and/or PhD student either within  the group or within one of its numerous partners around the world  (Switzerland, Chile, Belgium, Argentina, Italy).

Requirements
*  Having a good understanding of object-oriented programming;
*  Being eager to learn a new programming language and environment.

Bibliography

[1] S. Ducasse, O. Nierstrasz, N. Schärli, R. Wuyts, and A. P. Black.  Traits: A Mechanism for fine-grained Reuse. In TOPLAS: ACM  Transactions on Programming Languages and Systems 28(2) p. 331—388,  March 2006. http://scg.unibe.ch/archive/papers/Duca06bTOPLASTraits.pdf

[2] A. Black, S. Ducasse, O. Nierstrasz, D. Pollet, D. Cassou, and M.  Denker. Pharo by Example, Square Bracket Associates, 2009.  http://pharobyexample.org/

[3] D. Cassou, S. Ducasse, and R. Wuyts. Traits at Work: the design of  a new trait-based stream library. In Journal of Computer Languages,  Systems and Structures 35(1) p. 2—20, 2009.  http://scg.unibe.ch/archive/papers/Cass08a-NileNewKernel-ComputerLanguages.pdf

[4] T. Van Cutsem and M.S. Miller. Traits.js: Robust object composition and high-integrity objects for ECMAScript 5. In PLASTIC'11: international workshop on Programming Language And Systems Technologies for Internet Clients, 2011. http://es-lab.googlecode.com/files/traitsJS_PLASTIC2011_final.pdf

Sujet non-attribué
26/10/2012 Sujet 4 :  Alecsia apprend à lire les ODT et PDF
Auteur : Mikaël Salson  Ecrire Site
(Responsable Informatique : Mikaël Salson  Ecrire )

Alecsia, pour aide à l'évaluation et à la correction semi-automatisée, est un outil permettant l'annotation et la correction des TP d'étudiants.  Cette application web a été conçue afin de simplifier la correction des TP et permet également aux étudiants de consulter leurs rendus ainsi que les annotations qui y sont accolées.

Alecsia a été développée durant un PJI l'année dernière et est en cours d'évolution dans le cadre d'un projet de M2.

Le but de ce projet est d'ajouter une fonctionnalité précise à l'application. À l'heure actuelle les TP rendus ne peuvent être que des codes sources. Or, dans certaines matières, les étudiants ont des compte-rendus à rendre au format ODT ou PDF. Il est donc nécessaire de permettre à Alecsia de lire des documents ODT ou PDF tout en conservant la possibilité pour l'enseignant d'y ajouter des annotations.  Il faut bien prendre en compte que les documents peuvent contenir des tableaux ou des images. Bien sûr, l'import de tels documents devra se faire en conservant la mise en forme.

Alecsia a été développée en utilisant, entre autres, les framework Symfony, JQuery, 960.

Liens associés :
Sujet attribué
Affecté à : Anthony Tonglet [M1-INFO]  Ecrire 
26/10/2012 Sujet 3 :  Conception d'un reseau social orienté vidéo
Auteur : Antoine Thomas  Ecrire 
(Responsable Informatique : Antoine Thomas  Ecrire )

Depuis quelques temps youtube tente de se donner une dimension un peu plus axée réseau social. En vain jusqu'à présent.

Une des raisons de cet échec pourrait être le fait que youtube est un site trop généraliste et contient donc une proportion beaucoup trop importante de vidéos qui n'intéressent pas les utilisateurs.

Certains domaines plus spécifiques comme la cardistry ou le penspinning sont très axés partage de vidéos sur internet (vidéos de performance, de collaboration, tournois par vidéos interposées, etc...).

Jusqu'à présent ces communautés utilisaient essentiellement des forums, mais ce format commence à tomber en désuétude au profit de groupes facebook ou de sites organisés un peu plus comme des blogs, malgré les réticences d'un certain nombre d'utilisateurs du fait que certains aspects du système précédent s'y retrouvent difficilement.

On cherche donc à mettre en place un nouveau système qui serait une sorte d'hybride entre un réseau social et un forum/blog.

Aspect réseau social : les gens créeraient un profil, posteraient leurs vidéos sur leurs murs, auraient la possibilité de "tagger" des personnes sur les vidéos, ajouteraient les artistes qu'ils suivent à leurs "circles", etc.

Aspect forum/blog : contrairement à un réseau social, la page principale, le "newsfeed" ne serait pas automatiquement constitué de l'activité de nos amis, mais plutôt d'une séléction de vidéos phares, d'articles d'information, de discussions lancées par l'équipe du site (avec possibilité pour les membres de soumettre des contributions).


Sujet attribué
Affecté à : Emmanuel Pede [M1-INFO]  Ecrire ,  Thomas Besset [M1-INFO]  Ecrire 
26/10/2012 Sujet 2 :  Reconstituer le puzzle : depuis des fragments jusqu'à l'ARN
Auteur : Mikaël Salson  Ecrire Site
(Responsable Informatique : Mikaël Salson  Ecrire )
Sujet recherche

Chez les organismes dits supérieurs, l'ADN est constitué d'exons et d'introns qui sont porteurs de l'information génétique.  Mais cette information est la même dans toutes les cellules de l'organisme, alors que les cellules peuvent jouer des rôles différents (pensons à une cellule de la rétine ou du cœur…).
La fonction des cellules dépend essentiellement des ARN qui s'y trouvent.  Un ARN est constitué d'une combinaison spécifique d'exons consécutifs le long du génome.  L'étude des ARN est non seulement indispensable pour comprendre le fonctionnement cellulaire, mais elle constitue aussi un enjeu important dans l'étude de pathologies telles que les cancers. Des technologies très recentes permettent de séquencer l'ensemble des ARN d'une cellule en utilisant une technique appelée RNA-Sequencing.  Ces séquenceurs génèrent des millions, voire des milliards, de courts fragments provenant de ces ARN : les lectures.  Autrement dit, dans une expérience de RNA-Seq, nous allons générer une énorme quantité de lectures provenant de plusieurs milliers d'ARN différents. Cependant, comment savoir quelles sont les lectures qui appartiennent aux bons ARN ?  Une stratégie possible est de localiser chacune de ces lectures sur un génome de référence afin de retrouver la position d'origine de chacune d'elle puis, et donc, par extrapolation de retrouver la position d'origine de chaque ARN.

Le but de ce projet est d'aller au-delà de la seule position d'origine d'un ARN. Il s'agit, à partir du positionnement des lectures, de reconstituer un ARN complet tel qu'il était présent au sein de la cellule.
             
Une fois les lectures localisées sur le génome, la difficulté est d'associer les lectures les unes avec les autres, pour être capable de reconstituer l'ARN originel. Dans ce cadre, il existe des logiciels, tels que Cufflinks, qui permettent de reconstituer des ARN à partir de lectures positionnées sur le génome.  Dans le cadre de ce projet, il faudra proposer et implanter une méthode permettant de reconstituer, en partie, les ARN.
Un bon point de départ est l'utilisation des Gk-arrays.

Compétences demandées : Bonne maîtrise du C ou du C++, intérêt pour la biologie.

Liens associés :
Sujet attribué
Affecté à : Charles Husquin [M1-INFO]  Ecrire 
26/10/2012 Sujet 1 :  Chat video massivement multiuser
Auteur : Antoine Thomas  Ecrire 
(Responsable Informatique : Antoine Thomas  Ecrire )
Sujet recherche

De nombreux services de chat video existent sur le net.

Tinychat (http://www.tinychat.com) est un exemple.
Cependant, pour plusieurs raisons, il limite le nombre de broadcast simultané à 10 personnes par salon.

Le but de ce projet est de réfléchir à une manière de gérer un nombre de broadcast "simultanés" bien plus elevé (50? 100? 200?).

Cela pose des problèmes à la fois techniques (optimisation de la bande passante) et ergonomiques (l'utilisateur ne pourra pas suivre 50 stream simultanément, donc comment gérer ça (highlight sur moins de stream et "roulement" façon caméras de surveillance?  selection libre pour chacun d'un groupe de 5 stream? comment interfacer ça de manière simple et intuitive)

C'est un sujet recherche dans la mesure ou les réponses à ces problèmes n'existent pas encore et toute suggestion pourra être apportée.


Cette application serait codée en websocket de préférence, ou en flash éventuellement...

Liens associés :
Sujet non-attribué