Vous êtes sur la page 1sur 32

Listes sujets

Sujet 1 : Améliorer les retours sur vos TP avec Alecsia


Auteur : Mikaël Salson
Responsable : MIkael Salson
Alecsia est une application web de correction de TP réalisée en 2012 dans le cadre d’un PJI. L’application
repose sur le frameork PHP Symfony2. Cette application est maintenant utilisée en routine au FIL dans
certaines matières.
L’objet du projet est d’ajouter un certain nombre de fonctionnalités dans Alecsia, parmi lesquelles on
pourra citer :
Permettre le formattage des annotations (PHP) Détecter les annotations qui ont déjà été mises pour
des rendus précédents (PHP) Produire des statistiques sur les annotations les plus mises (JS/Twig/PHP)
Pour un enseignant : afficher les rendus et notes d’un seul étudiant (Twig) Test automatique du code
des étudiants (PHP) Améliorer la gestion des barèmes (barème incrémental, décrémental, barème à base
de lettres. . . ) (PHP/Twig) Détecter le plagiat (PHP) Imprimer des TP (CSS) Exporter/Importer des
données (PHP)
Le but du projet n’est pas de réaliser l’ensemble de ces fonctionnalités. Les fonctionnalités à intégrer
à l’application seront déterminées en fonction des préférences des étudiant(e)s.
Liens en rapport :
• Git du projet https://git.framasoft.org/mikaels/alecsia
• Symfony http://symfony.com/six-technical-reasons
• Twig http://twig.sensiolabs.org/

Sujet 2 : Intégration continue d’Alecsia


Auteur : Mikaël Salson
Responsable : Mikaël Salson
Alecsia est une application web de correction de TP réalisée en 2012 dans le cadre d’un PJI. L’application
repose sur le frameork PHP Symfony2. Cette application est maintenant utilisée en routine au FIL dans
certaines matières.
Le but du projet est de faire entrer Alecsia dans une démarche d’intégration continue. Pour cela il
sera nécessaire d’utiliser un serveur d’intégration continue Jenkins avec divers outils.
Notamment il faudra : ajouter des tests navgigateurs (vérifier, sur la base de scénarios, que l’ap-
plication fonctionne comme attendu) avec CasperJS ou Watir ouă; calculer des métriques sur le code
(Sonar)ă; vérifier la résistance de l’application à la charge (Gatling)ă; tester automatiquement sous
différents natvigateurs.
Ce projet permet d’explorer et utiliser un serveur d’intégration continue ainsi que différents outils qui
y sont liés. Les étudiants pourront être amenés à effectuer des améliorations dans le code (PHP) afin
d’augmenter sa qualité.
Liens en rapport :
• Git de Alecsia https://git.framasoft.org/mikaels/alecsia
• Serveur d’intégration continue de Alecsia https://ci.inria.fr/alecsia/

Sujet 3 : 2014 applet animée avec interaction avec processing


Auteur : Walter Nuninger
Responsable : Walter Nuninger
Besoin : solutions TIC compatibles multisupport de manière transparente pour les utilisateurs (android

1
ou via un accès par navigateur WEB) de manière à illustrer simplement des fonctionnements attendus
de machines (API) avec action/rétroaction de l’homme.
Contexte : cours de Grafcet s’appuyant sur un LMS (Moodle) ou un site web.
Contraintes : - accessibilité - pas d’installation complexe pour l’utilisateur (sinon un navigateur à jour
ou un simple téléchargement). - la solution permet une réaction dynamique sur action de l’utilisateur
(saisie, sélection, clic de souris, ou mouvement de souris) - multisupport (accessible ou lisible sur android
ou exécutable sur une simple pc (tout OS)
Enjeu : faire comprendre un fonctionnement habituellement décrit en texte et sans machine réelle
pour aider à la conception de GRAFCETs simples et la compréhension des E/S.
Fonctionnalité du produit : modification du monde virtuel à partir d’information monde réel (clic de
bouton maintenu ou pas, valeur de paramètre éventuellement, mouvement) avec déplacement de figures
symboliques ou photos (en x,y voire z) pour montrer le fonctionnement attendu. Les sorties sont donc
visuelles à partir de calcul simple (translation, rotation), avec simulation de chute ou versement. Le
contrôle est fait par l’application selon les valeurs d’E/S au départ et en cours de fonctionnement.
Exemple 1 : un objet percé et fraisé sur ordre, visualisation virtuelle des perçage et fraisage de
durée différente avec avance/retrait outils etc. de manière à voir la séquentialité et les actions parallèle.
Symbolisme : rectangle, couleur, tige. . .
Exemple 2 : fonctionnement vérins monostable ou bistable (translation tige etc), représentation de
bouton, interrupteur
L’idée serait la traduction de mes énoncés pour illustrer par du visuel de manière simple (sans chercher
à faire un outil de simulation) un comportement souhaité.
Résultats attendus (négociables) : produit fini correspondant à un fonctionnement directement ex-
ploitable produit plus générique modifiable ou adaptable éléments fonctionnels basiques faciles à relier
pour créer de nouveaux fonctionnements (mouvement, organisation, veille d’événements/actions) . . . (voir
enjeu)
Extension : visualiser le grafcet solution (sans passer par des outils type automgen compliqué), dans
les cas simples : déplacement jeton sur un graphe donné en fond d’écran
Enjeu : transposable à d’autres cas applications exemples ce qui requiert des mouvement de base
(translation, rotation) et des formes de bases (cube, cercle, tige, verin actionneur capteurs), le codage
doit alors être sur un système connu de moi ou facilement utilisable d’un point de vue fonctionnel
(assemblage).
Codes envisagés : Processing, java, html, code pour android autre
Si vous êtes intéressés par ce projet, n’hésitez pas à poser vos questions pour plus de précisions et à
me contacter pour un rendez-vous.

Sujet 5 : Développement dune interface graphique accessible de-


puis le site dun laboratoire de luniversité
Auteur : Rémy Besson
Responsable : MIkael Salson
Il sagit dans ce projet de participer au développement en langage Java dune interface accessible depuis
le site internet de lUnité Matériaux Et Transformations (UMET). Lobjectif de cette application est
de permettre la réalisation ń à distance ż de calculs en science des matériaux, via des programmes
scientifiques disponibles (aucune compétence en sciences physiques nétant requise, aucun développement
nest demandé à ce niveau). Le cur du projet est constitué par le développement organique de linterface
permettant lexécution de ces programmes scientifiques. Suivant lavancement du projet, la mise en place
dun système darchivage des résultats pourra être abordée, en vue de la constitution dune base de données
accessible à lensemble des chercheurs du domaine.

Sujet 7 : Etude et extraction d’un système de composants logiciels


Auteur : Charles Bouillaguet
Responsable : Charles Bouillaguet
La librairie OpenMPI est une des principales librairies utilisée dans le calcul parallèle. Elle comporte
de multiples algorithmes pour résoudre des problèmes de communication de manière efficace, en tirant
avantage du matériel présent (cartes réseau spéciales, etc.).

2
Pour gérer cette variété de situations (choix d’algorithmes, de matériel à utiliser, etc.), la librairie est
conçue de manière modulaire : des composants logiciels fournissent des fonctionnalité, et le système choisit
un des composants possibles en fonction de la situation. Ce choix se fait au moment de la compilation (est-
ce que le composant compile ?) et au moment de l’exécution (est-ce que les ressources dont le composant
a besoin sont disponible ? Quelle est l’adéquation du composant à la situation ?).
Les composants sont développés séparément, et peuvent être ajoutés en option. Ce système fonctionne
bien, la librairie est largement utilisée.
Le but de ce projet consiste 1) à étudier le fonctionnement de ce système de composant, à le décrire
précisément (en langage naturel) et 2) à l’extraire (ou à le reproduire) pour qu’il puisse servir dans le
cadre de nos propres projets de développement logiciel.
Le code de la librairie est écrit en C. Mais se frotter avec le système configure/make de la librairie
nécessite(ra) de naviguer dans des scripts shell, dans Autoconf/Automake/libtool, dans des macros m4,
et éventuellement des scripts perl.
Liens en rapport :
• http://www.open-mpi.org
• http://www.open-mpi.org/papers/workshop-2006/mon_06_mca_part_1.pdf

Sujet 9 : Interface Cerveau Ordinateur, humeur, musiques et in-


telligence artificielle (sujet 1 : perfectionnement de lapplication)
Auteur : Jean-Claude Tarby
Responsable : Jean-Claude Tarby
Le BCI (Brain Computer Interface), ou ICO (Interface Cerveau Ordinateur) en français, est une tech-
nologie qui utilise les ondes cérébrales pour piloter un système informatique. Cette technologie progresse à
grands pas depuis quelques années et 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).
Depuis quelques années, nous avons développé une application, basée sur les ondes cérébrales (cf.
http ://www.lifl.fr/˜tarby/recherche.html et vidéo à http ://youtu.be/BzoSQIoad7E). Cette application
permet de jouer de la musique ou de choisir une chaine de télévision en fonction des émotions et de
lhumeur de lutilisateur (heureux, triste, en colère. . . ). Elle est codée en C#, utilise le casque Epoc
de la société EMOTIV (http ://www.emotiv.com/) et le brassard Bodywave de la société FreerLogic
(http ://www.freerlogic.com/). Lapplication repose sur un réseau neuronal pour le calcul des émotions
et de lhumeur.
Le travail à réaliser pour ce sujet 1 consiste à perfectionner cette application en ajoutant des fonction-
nalités importantes telles que laffichage graphique dinformations (par exemple lhistorique des émotions),
des statistiques, et des logs.
Etant donné que ce sujet est en lien avec les deux autres sujets, il est vital que le binôme travaille en
étroite collaboration avec les binômes des autres sujets, tout au moins dans la première étape du travail.
Liens en rapport :
• Application de l’an passé http://youtu.be/BzoSQIoad7E
• casque EPOC http://www.emotiv.com
• brassard BodyWave http://www.freerlogic.com

Sujet 10 : Interface Cerveau Ordinateur, humeur, musiques et in-


telligence artificielle (sujet 2 : connexion à Deezer/Spotify)
Auteur : Jean-Claude Tarby
Responsable : Jean-Claude Tarby
Le BCI (Brain Computer Interface), ou ICO (Interface Cerveau Ordinateur) en français, est une tech-
nologie qui utilise les ondes cérébrales pour piloter un système informatique. Cette technologie progresse à
grands pas depuis quelques années et 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).
Depuis quelques années, nous avons développé une application, basée sur les ondes cérébrales (cf.
http ://www.lifl.fr/˜tarby/recherche.html et vidéo à http ://youtu.be/BzoSQIoad7E). Cette application

3
permet de jouer de la musique ou de choisir une chaine de télévision en fonction des émotions et de
lhumeur de lutilisateur (heureux, triste, en colère. . . ). Elle est codée en C#, utilise le casque Epoc
de la société EMOTIV (http ://www.emotiv.com/) et le brassard Bodywave de la société FreerLogic
(http ://www.freerlogic.com/). Lapplication repose sur un réseau neuronal pour le calcul des émotions
et de lhumeur.
Le travail à réaliser pour ce sujet 2 consiste à permettre lécoute soit des ses propres musiques (comme
cela est le cas actuellement), soit de se connecter à Deezer ou Spotify pour disposer dune bibliothèque
infinie de musiques (toujours choisies en fonction de ses émotions et de son humeur). Cela implique dune
part de créer le code associé à cette fonctionnalisé, mais également de rester ń connecté ż avec lapplication
actuelle pour permettre les deux usages.
Etant donné que ce sujet est en lien avec les deux autres sujets, il est vital que le binôme travaille en
étroite collaboration avec les binômes des autres sujets, tout au moins dans la première étape du travail.
Liens en rapport :
• Application de l’an passé http://youtu.be/BzoSQIoad7E
• casque EPOC http://www.emotiv.com
• brassard BodyWave http://www.freerlogic.com

Sujet 11 : Interface Cerveau Ordinateur, humeur, musiques et in-


telligence artificielle (sujet 3 : perfectionnement de lintelligence
artificielle)
Auteur : Jean-Claude Tarby
Responsable : Jean-Claude Tarby
Le BCI (Brain Computer Interface), ou ICO (Interface Cerveau Ordinateur) en français, est une tech-
nologie qui utilise les ondes cérébrales pour piloter un système informatique. Cette technologie progresse à
grands pas depuis quelques années et 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).
Depuis quelques années, nous avons développé une application, basée sur les ondes cérébrales (cf.
http ://www.lifl.fr/˜tarby/recherche.html et vidéo à http ://youtu.be/BzoSQIoad7E). Cette application
permet de jouer de la musique ou de choisir une chaine de télévision en fonction des émotions et de
lhumeur de lutilisateur (heureux, triste, en colère. . . ). Elle est codée en C#, utilise le casque Epoc
de la société EMOTIV (http ://www.emotiv.com/) et le brassard Bodywave de la société FreerLogic
(http ://www.freerlogic.com/). Lapplication repose sur un réseau neuronal pour le calcul des émotions
et de lhumeur.
Le travail à réaliser pour ce sujet 3 consiste à ajouter de ń lintelligence ż. Lapplication actuelle calcule
le choix de musique de façon classique ; lidéal serait dutiliser également un réseau neuronal pour ce choix.
De plus, le réseau neuronal actuel (et peut-être aussi celui de la musique) est à perfectionner, voire à
remplacer par une technologie plus efficace.
Etant donné que ce sujet est en lien avec les deux autres sujets, il est vital que le binôme travaille en
étroite collaboration avec les binômes des autres sujets, tout au moins dans la première étape du travail.
Liens en rapport :
• Application de l’an passé http://youtu.be/BzoSQIoad7E
• casque EPOC http://www.emotiv.com
• brassard BodyWave http://www.freerlogic.com

Sujet 14 : Gestion améliorée dune base de données dapplication


mobile
Auteur : Jean-Claude Tarby
Responsable : Jean-Claude Tarby
Une application mobile utilise une base de données stockée dans un back office avec Cake PHP. Mal-
heureusement cette base contient plusieurs centaines de données dont la véracité na pas pu être vérifiée
lors de leurs ajouts. Le travail demandé pour ce projet est décrire des scripts PHP connectés à Cake
PHP permettant entre autres : - Une recherche de doublons, - Lajout de données avec vérification des

4
données, - La recherche de données suivant certains critères tels que la proximité par exemple (les données
contiennent des coordonnées GPS), - Laffichage des données sur une carte Google. . .
Ces scripts seront associées à des pages web permettant la saisie des informations, ainsi que leur
affichage, tri, sélection, etc.
Liens en rapport :
• Cake PHP http://cakephp.org/
• Cake PHP, France http://www.cakephp-fr.org/

Sujet 16 : Diagramme UML et code Java connectés par une page


web
Auteur : Jean-Claude Tarby
Responsable : Jean-Claude Tarby
Lan passé, nous avons réalisé un plugin Eclipse permettant dafficher dans une page web le diagramme de
classes correspondant au code Java affiché dans Eclipse. Ce diagramme est interactif puisque la sélection
dune classe, dune méthode ou dune propriété dans le diagramme UML affiche le code correspondant
dans Eclipse. La vidéo https ://www.youtube.com/watch ?v=uTAu0Txy7Ok montre un aperçu du travail
réalisé.
Le travail demandé cette année consiste à améliorer cette application. La liste détaillée des améliora-
tions sera fournie lors du projet. Il est à noter que lapplication web a été réalisée en Javascript avec la
bibliothèque JointJS, et que le plugin Eclipse a été écrit en Java. Le projet de cette année devra reprendre
ces technologies.
Liens en rapport :
• projet de l’an passé https://www.youtube.com/watch?v=uTAu0Txy7Ok
• JointJS http://www.jointjs.com/

Sujet 21 : Application d’aide au tutorat des étudiants novices en


programmation
Auteur : Yvan Peter
Responsable : Yvan Peter
Les enseignants d’algorithmique et programmation de l’IUT ont développé un outil qui permet, à partir
du code source de programmes, d’extraire un squelette de programme ainsi que les tests unitaires qui
seront fournis aux étudiants de première année comme point de départ pour les exercices en TP. Ils
disposent ainsi d’un point de départ pour programmer et peuvent vérifier grâce aux tests unitaires qu’ils
ont réussi l’exercice.
L’objectif du projet est d’étendre cet outil pour, dans un premier temps, rendre l’intervention des
enseignants en TP plus ciblée et pertinente en leur signalant les étudiants en retard dans le TP ou qui
sont bloqués sur un exercice. Pour cela, il sera nécessaire de collecter des traces de l’activité des étudiants
(typiquement, la compilation ou le résultat des tests) et de fournir à l’enseignant une interface de suivi.
Dans le cadre du projet, il sera nécessaire de réaliser les tâches suivantesă: - prendre en main l’outil
développé par les enseignants de l’IUT afin de vous familiariser avec ; - développer des tâches et des scripts
pour l’outil d’automatisation du développement Apache Ant. Les scripts permettront d’automatiser les
phases de développement, test. . . Les tâches sont des classes permettant d’étendre Ant. Celles-ci servi-
ront à remonter des traces vers un serveur ; - développer une application Web permettant de visualiser
l’avancement global du TP, les étudiants bloqués, etc. (en Java ou node.js).
Langages : XML, Java, node.js
Encadrement : Yann Secq, Eric Leprêtre, Yvan Peter
Liens en rapport :
• Apache Ant http://ant.apache.org

Sujet 28 : Réparation automatique de bugs Java


Auteur : Martin Monperrus
Responsable : Martin Monperrus

5
Contexte : Un outil de réparation automatique des logiciels résout des bugs automatiquement. Par
exemple, lon peut générer un patch quand un test passe au rouge [Weimer2009]. Il est aussi possible
déviter des crashes en production. La réparation automatique peut donc se passer à tous les moments du
cycle de vie : du développement à la maintenance et la production.
Problématique : La réparation automatique manipule soit du code (source ou binaire) soit des données
(létat à lexécution, comme la pile ou le tas). La réparation automatique utilise aussi bien des algorithmes
aléatoires (par exemple des algorithmes génétiques) que des solveurs (par exemple avec SAT ou SMT).
Létat actuel de la recherche ne permet pas comparer lefficacité de ces deux types dapproche.
Contributions attendues : Vous participerez au développement des outils de réparation automatique
de bug de léquipe Spirals [DeMarco2014]. Si le projet/stage est une réussite, ce travail donnera lieu à une
possible suite en stage de M2, puis thèse.
Compétences requises : Développement Java.
Bibliographie :
[Weimer2009] W. Weimer, T. Nguyen, C. L. Goues, and S. Forrest. Automatically finding patches
using genetic programming. In Proceedings of the International Conference on Software Engineering,
2009.
[qin2005rx] F. Qin, J. Tucek, J. Sundaresan, and Y. Zhou. Rx : treating bugs as allergies a safe
method to survive software failures. In ACM SIGOPS Operating Systems Review, volume 39, pages
235248. ACM, 2005.
[DeMarco2014] Favio DeMarco, Jifeng Xuan, Daniel Le Berre, Martin Monperrus. Automatic Repair
of Buggy If Conditions and Missing Preconditions with SMT, In Proceedings of the 6th International
Workshop on Constraints in Software Testing, Verification, and Analysis (CSTVA 2014)
[Monperrus14] Martin Monperrus. A Critical Review of Automatic Patch Generation Learned from
Human-Written Patches : Essay on the Problem Statement and the Evaluation of Automatic Software
Repair, In Proceedings of the International Conference on Software Engineering, 2014.

Sujet 29 : Serious Game basé sur la simulation multi-agents des


ressources halieutiques
Auteur : Sébastien Picault
Responsable : Sébastien Picault
Mots-clefs simulation multi-agents, modélisation d’écosystèmes, serious game
Objectifs et moyens L’objectif de ce projet est de concevoir et réaliser un Serious Game (jeu à vo-
cation pédagogique) destiné à simuler l’évolution de populations de poissons dans un écosystème, en
tenant compte à la fois des dynamiques propres aux relations de prédation entre espèces, des facteurs
environnementaux (réchauffement, cyclones. . . ) et de l’effet des activités humaines (pression de pêche
notamment). Cette simulation a vocation à illustrer les interdépendances entre ces divers facteurs, en
permettant d’examiner divers scénarios d’évolution de l’écosystème en fonction des stratégies d’exploita-
tion et des paramètres en entrée.
Pour ce faire, l’outil de simulation fera appel aux systèmes multi-agents, qui permettent de représenter
explicitement le caractère spatial des phénomènes étudiés (migrations, campagnes de pêche, courants,
impact climatique. . . ). Pour faciliter en outre la comparaison de scénarios en autorisant une conception
incrémentale et modulaire des modèles à simuler, la réalisation de ce simulateur fera appel à l’approche
orientée interactions (IODA) développée dans l’équipe SMAC de Lille, et l’implémentation se fera au sein
de la plateforme de simulation NetLogo.
Étapes du travail Après une phase de formation à la simulation multi-agents et de prise en main
de la plateforme, l’étudiant devra introduire les agents et leurs comportements de façon graduelle afin
de proposer des scénarios de complexité croissante : 1. Modélisation et simulation de l’écosystème seul.
L’espace est discrétisé en patches. Dans chaque patch, les agents représentent chacun une espèce caracté-
risée par son abondance et évoluent selon les relations de prédation. 2. Mise en place d’une visualisation
qualitative (selon des niveaux d’abondance discrets) pour suivre l’évolution des populations de chaque
espèce et générer des alertes en cas de menace d’extinction. 3. Prise en compte des effets de migration :
- déplacements liés au suivi des ressources - migration saisonnière 4. Prise en compte d’effets environ-
nementaux : - tempêtes, cyclones - température, saison, profondeur, habitat, courants. . . 5. Introduction
de l’activité humaine : - pêche : la diversité des bateaux de pêche quant à la ressource visée et à leur
taille devra être prise en compte - caractère spatial de la pêche (à travers les ports notamment) 6. Étude
comparative de stratégies de pêche : par exemple maximiser le prélèvement des ressources vs. réduire la

6
pêche lorsque le niveau des ressources diminue trop. À terme : prise en compte d’éléments économiques
dans la prise de décision (demande sur une espèce, coût de l’énergie. . . )
Hébergement et encadrement : Ce projet se déroulera au sein de l’équipe SMAC du LIFL/CRISTAL
(Lille 1), qui est spécialisée dans la modélisation de comportements d’agents et de phénomènes collectifs.
Il sera co-encadré par S. Picault (LIFL, Lille 1) pour l’expertise multi-agents et C. Largouët (IRISA,
Agrocampus Rennes) pour l’expertise écosystèmes et la scénarisation.
Liens en rapport :
• sujet complet PDF http://www.lifl.fr/~picault/stages/2015-projet-M1-SMAC-peche.pdf
• plateforme NetLogo http://ccl.northwestern.edu/netlogo
• extension IODA pour NetLogo http://www.lifl.fr/SMAC/projects/ioda/ioda_for_netlogo/

Sujet 30 : Développement des langages spécifiques au domaine


pour la manipulation de modèles
Auteur : Filip Krikava
Responsable : Romain Rouvoy
LIEU Spirals Research Group Inria Lille - Nord Europe Parc Scientifique de la Haute Borne 40, avenue
Halley - Bat. B, Park Plaza 59650 Villeneuve d’Ascq - FRANCE
CONTEXTE Langages et outils de manipulation de modèls jouent un rôle essentiel dans l’ingénierie
dirigée par les modèles (MDE pour Model Driven Engineering) en fournissant un soutien pour lautoma-
tisation des opérations telles que la vérification et la transformation de modèles.
Il y a eu de nombreuses approches différentes proposées pour faciliter ces tâches, en particulier au
sein de l’Eclipse Modeling Framework (EMF). Parmi ceux-ci, Epsilon [2] fournit une vaste famille de
langages spécifiques au domaine de la gestion de modèle et, avec son intégration avec Eclipse IDE, il
est actuellement l’un de langue les plus complets pour les manipulations de modèle. Il existe toutefois
plusieurs problèmes avec les langages dEpsilon : (1) ils sont à typage dynamique et par conséquent peu de
vérifications lors de la compilation sont fournies, (2) ils sont interprétés et manquent donc de performance,
(3) les apports de l’IDE (complétion de code, vérifications statiques, refactoring) sont plutôt limitées et
(4) le manque des constructions plus avancées limite la polyvalence et l’expressivité de ces languages.
PROJET Avec les récents progrès dans les outils de développement établis, il est possible d’atténuer
les inconvénients ci-dessus. Le but de ce projet est donc d’utiliser Xtext [3] pour la refonte des DSLs
Epsilon de manipulation de modèles (concrètement EOL, ETL et / ou ECL) avec le typage statique et
l’inférence de type, la génération de code Java, le support riche des IDE et un ensemble de constructions
de programmation avancées (e.g., pattern matching, closures).
Le projet donnera l’occasion d’acquérir une expertise dans les technologies et les outils de MDE. En
particulier, la conception de langages dédiés, en travaillant avec le modèle de contrôle de cohérence et de
transformations de modèles, ainsi que l’apprentissage de la plate-forme Eclipse. Il sagit donc principale-
ment dun projet de génie logiciel, qui fournira un candidat avec une expérience très utile et demandée
dans différentes technologies et concepts architecturaux. Le résultat du projet pourrait être un candidat
pour un incubateur de projet Eclipse.
Liens en rapport :
• 1 - Eclipse EMF https://www.eclipse.org/emf
• 2 - Eclipse Epsilon https://www.eclipse.org/epsilon
• 3 - Eclipse Xtext https://www.eclipse.org/Xtext

Sujet 34 : Recommandation et cartographie darticles scientifiques


Auteur : Filip Krikava
Responsable : Romain Rouvoy
LIEU Spirals Research Group Inria Lille - Nord Europe Parc Scientifique de la Haute Borne 40, avenue
Halley - Bat. B, Park Plaza 59650 Villeneuve d’Ascq - FRANCE
CONTEXTE Dans le domaine de la recherche et de linnovation, un grand nombre de résultats sont
publiés dans des revues scientifiques de manière à pouvoir être consultés a posteriori par dautres cher-
cheurs. Cependant, il est parfois difficile de trouver tous les articles en lien avec un sujet de recherche
particulier. Certes, des moteurs de recherche comme DBLP [1] ou Google Scholar permettent de trouver
des articles similaires par recherche de mots clés dans le titre ou le contenu, cependant des mots clés

7
trop généraux tendent à retourner de longues listes darticles tandis que des mots clés trop précis peuvent
donner lieu à lomission de nombreux résultats pertinents.
Dans de nombreux cas, les chercheurs travaillent à partir dun petit nombre darticles quils jugent très
pertinents au regard des travaux quils mènent. Ce sont ces articles qui leurs servent notamment de point
de départ pour trouver dautres articles connexes au sujet quils traitent. À limage de la recommandation
de livres proposée par Amazon sur son site en ligne, nous souhaitons donc mettre en place un service
capable de recommander des publications scientifiques à partir dun jeu darticle.
PROJET Dans le cadre de ce projet technique, lobjectif est de mettre en uvre dans un premier
temps un service de recommendation darticles scientifiques qui est capable dextraire les principaux sujets
abordés par un jeu darticles sélectionnés par un utilisateur en utilisant lalgorithme LDA (Latent Dirichlet
Allocation) mis à disposition par la librairie Mahout [2] ou MLlib [3]. Ces sujets sont extraits sous la
forme dune séquence de mots clés qui pourront être ensuite soumis à des moteurs comme Google Scholar
pour trouver dautres articles pertinents sur le sujet.
Dans un deuxième temps, ce service pourra aussi être utilisé pour produire automatiquement une
cartographie des articles collectés (e.g., sous la forme dun graphe) et ainsi mieux comprendre la nature
de leurs liens (mots clés en commun, auteurs en commun, article référençant un autre, etc.).
Liens en rapport :
• 1 - DBLP http://www.dblp.org
• 2 - Apache Mahout https://mahout.apache.org
• 3 - Spark MLlib https://spark.apache.org/docs/latest/mllib-guide.html

Sujet 36 : Mise en place de mécanismes de gamification dans une


application mobile de crowd-sensing
Auteur : Christophe Ribeiro
Responsable : Romain Rouvoy
LIEU Spirals Research Group Inria Lille - Nord Europe Parc Scientifique de la Haute Borne 40, avenue
Halley - Bat. B, Park Plaza 59650 Villeneuve d’Ascq - FRANCE
CONTEXTE APISENSEő [1] est une plate-forme logicielle permettant de fédérer les téléphones du-
tilisateurs volontaires pour collecter des jeux de données significatifs dans la nature en interagissant avec
ces utilisateurs (questionnaires) ou en partageant les données produites à partir de leurs capteurs. Cette
plate-forme est notamment utilisée dans le domaine des telecoms pour mesurer la qualité de laccès à
Internet, ou dans le domaine du développement durable pour estimer lempreinte carbone des usagers en
fonction de leurs déplacements.
Pour parvenir à fédérer des grandes communautés dutilisateurs, il est cependant important dimpliquer
ces derniers dans le processus de collecte des données. Une des modalités envisageables pour encourager
les utilisateurs à partager leurs données consiste donc à introduire des mécanismes de gamification [2] au
sein même de lapplication mobile comme peuvent le faire des applications comme Foursquare, Prixing
ou Waze. Ces différents mécanismes permettent de modifier lexpérience utilisateur pour favoriser son
implication.
PROJET Dans le cadre de ce projet technique, lobjectif est détudier les différents mécanismes de
gamification existants [2,3] et de proposer une mise en uvre de ces mécanismes dans lapplication de
collecte de données dAPISENSEő. En proposant des analogies avec lunivers créé par cette plate-forme
(celui des abeilles), vous considérerez la mise en uvre de votre proposition en utilisant lAPI Google Play
Game Services [3] et en visant la plate-forme Android en premier lieu.
Liens en rapport :
• 1 - APISENSEő http://www.apisense.com
• 2 - Game mechanics http://badgeville.com/wiki/Game_Mechanics
• 3 - Google Play Game Services https://developer.android.com/google/play-services/games.
html

Sujet 39 : Intégration de capteurs Arduino dans une plate-forme


de mobile crowdsourcing
Auteur : Clive Ferret-Canape
Responsable : Romain Rouvoy

8
LIEU Spirals Research Group Inria Lille - Nord Europe Parc Scientifique de la Haute Borne 40, avenue
Halley - Bat. B, Park Plaza 59650 Villeneuve d’Ascq - FRANCE
CONTEXTE APISENSEő [1] est une plate-forme logicielle permettant de fédérer les téléphones du-
tilisateurs volontaires pour collecter des jeux de données significatifs dans la nature en interagissant avec
ces utilisateurs (questionnaires) ou en partageant les données produites à partir de leurs capteurs. Cette
plate-forme est notamment utilisée dans le domaine des telecoms pour mesurer la qualité de laccès à
Internet, ou dans le domaine du développement durable pour estimer lempreinte carbone des usagers en
fonction de leurs déplacements.
Avec lémergence de lInternet des Objets, de nombreux équipements ńconnectésż ont vu le jour (brace-
lets, capteurs domotiques [2], etc.) et peuvent se connecter aux téléphones des usagers pour synchroniser
leurs données. Le téléphone ne joue plus uniquement le rôle de capteur mais aussi de relais de linformation.
Nous souhaiterions donc permettre aux utilisateurs dAPISENSEő de collecter non seulement des données
issues des téléphones mais aussi des données provenant déquipements tierces connectés à ce téléphone.
PROJET Dans le cadre de ce projet technique, lobjectif est détudier le cas de la technologie Arduino
qui permet de concevoir ses propres objets connectés. En particulier, nous souhaitons offrir à la com-
munauté Arduino la possibilité de publier les données issus de nimporte quel capteur (gaz, lumière, son,
etc.) sur lInternet via une connexion Internet qui serait mise à disposition par le téléphone (e.g., via son
interface Bluetooth). Lobjectif est donc de développer un kit de développement (SDK) pour Arduino qui
permette de publier des données de manière passive (à la demande du téléphone) ou réactive (à linitiative
du capteur Arduino). Ce kit de développement sera illustré sur le cas dune application de surveillance de
la qualité de lair qui pourra être déployée à léchelle de luniversité.
Liens en rapport :
• 1 - APISENSEő http://www.apisense.com
• 2 - Air.Air ! http://www.airair.info
• 3 - Arduino http://arduino.cc

Sujet 40 : Développement du serious game Geok’H pour le Hub-


House
Auteur : Olivier Lanselle
Responsable : Romain Rouvoy
LIEU Hubhouse Lille 1 Cité Scientifique Bâtiment SUP/SUAIO- 1er étage 59650 Villeneuve d’Ascq -
FRANCE
CONTEXTE Dans le cadre de la promotion de ses activités, le HubHouse de l’Université Lille 1 sou-
haite développer une application mobile innovante à destination des étudiants du campus. Le HuHouse
est notamment intéressé par le développement d’un ńserious gameż inspiré des principes du jeu ńgeoca-
chingż [1]. La spécification et la mise en scénario du jeu ont été réalisés dans un premier temps par les
étudiants du Master Ingénierie Pédagogique Multimédia (IPM) [2] de l’Université Lille 1 sur commande
du HubHouse.
PROJET À partir de la spécification détaillée réalisée par les étudiants du Master IPM, vous pour-
suivre le développement dune application mobile multi-plateformes utilisant le framework PhoneGap [3],
dont une preuve de concept a été développée en PJI. Vous devrez être force de proposition pour exploiter
les capacités des téléphones modernes (GPS, QR-Code, appareil photo, etc.). Votre processus de déve-
loppement appliquera les principes des méthodologies agiles afin de pouvoir rendre compte régulièrement
de votre travail auprès du HubHouse et ainsi progresser régulièrement. Une séance de test en grandeur
nature sera notamment organisée mi-novembre pour vérifier l’engouement suscité par le jeu et permettre
d’intégrer le feedback des utilisateurs avant de livrer la version finale de l’application.
Liens en rapport :
• 1 - GeoCaching http://www.geocaching.com
• 2 - Master Ingénierie Pédagogique Multimédia http://cueep.univ-lille1.fr/master-ipm
• 3 - PhoneGap Framework http://phonegap.com

Sujet 44 : Générateur web de formulaire


Auteur : Olivier Caron
Responsable : Olivier Caron

9
Le contexte du projet est l’équipe de développement logiciel du système d’information de Polytech Lille.
Cette équipe développe des applications webs (PC et mobiles) pour la gestion de scolarité, et différents ser-
vices de l’école. Les technologies employées sont : HTML5, CSS, Javascript, Jquery, PHP Objet, Postgres.
Une activité récurrente du développeur consiste à écrire un formulaire web avec des fonctions d’aide de sai-
sie et vérification javascript (datepicker, vérification champ mail, etc) puis à stocker les informations saisies
dans une base de données. L’objectif du projet est de proposer une architecture (PHP/CSS/javascript) qui
va offrir au développeur une API PHP qui va générer automatiquement l’éditeur ainsi que la sauvegarde
des données saisies dans une table. Le code PHP pourrait ressembler à ceci : ———————————-
$gen=new GenerateurFormulaire() ; $gen->setBD(serveur,nomBase, user, password) ; // connexion base
$gen->seTable(nomTable) ; // définition de la table de la base $gen->addChamp(nom, Nom :) ; //param
1 : nom de colonne,param2 : label $gen->addChamp(prenom,Prenom :) ; $gen->addChamp(datenaissance,
Date de Naissance : ) ; $gen->addChampSpecifique(email, Email : ,EMAIL) ; $gen->show() ; —————
——————- Le programme consultera dans la base le type de la colonne de chaque champ à éditer et
générera l’éditeur HTML approprié (textfield, checkbox, date, etc) Cet outil permettra aussi de générer
des composants HTML <select>lors de clés étrangères.
Ce projet pourra devenir un projet Open Source car il peut être appliqué dans beaucoup de systèmes
d’information

Sujet 47 : Application web pour la gestion de suivis de recherche


de stage
Auteur : Patricia Plénacoste
Responsable : Maude Pupin
Les étudiants en licence informatique doivent effectuer un stage à la fin de leur année scolaire. Une
application web de suivi de recherche de stage, jusqu’à l’obtention du stage, a été développée lors de PJI,
mais n’est pas fonctionnelle. Cette application 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 actuelle fournit un accès étudiant via un login personnalisé pour saisir les informa-
tions 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.
Un certain nombre de problème d’usage a été constaté. Un travail de refonte ergonomique de l’IHM est
demandé. La conception des nouvelles fonctionnalités permettant, par exemple, le transfert de données
vers une autre application est à effectuer
Contexte Technique : la version actuelle est sous PHP, avec une base MySQL

Sujet 49 : Système de localisation de robots


Auteur : Noury Bouraqadi
Responsable :
Il sagit de faire un système de localisation de robots avec une caméra au plafond. La caméra repère les
robots à laide de tags de couleurs quils portent. Lidée est de partir de lexistant et éventuellement de
ladapter. Le point de départ est la solution qui est utilisée dans la robocup : SSL Vision http ://robo-
cupssl.cpe.ku.ac.th/sslvision
Il faut dabord faire marcher le code déjà disponible avec une webcam.
La deuxième étape serait de rendre les positions des robots accessibles à des robots via ROS. Pour
cela, il faudra développer un noeud PhaROS (cf. http ://car.mines-douai.fr/software/).
La solution sera ensuite testée avec des robots de type Turtlebot.
Ensuite, on essayera de rendre les robots libres on mettant les caméras sur les robots. Chaque robot
devra reconnaître les autres robots ou des lieux (tags de couleur sur les robots et les plafonds).

Sujet 50 : Apprentissage automatique pour la prédiction d’activité


de molécules
Auteur : Laurent Noé
Responsable : Maude Pupin

10
L’équipe de recherche en bioinformatique Bonsai est spécialisée dans la conception d’algorithmes efficaces
pour l’analyse de données biologiques. En collaboration avec des microbiologistes du laboratoire ProBio-
GEM, des membres de l’équipe ont conçu Norine (http ://bioinfo.lifl.fr/norine/), une base de données
de molécules particulières appelées peptides nonribosomiques. Ces peptides ont des activités variées et
certains sont déjà utilisés comme médicaments tels que la pénicilline qui est un antibiotique ou l’acti-
nomycine D qui est un anticancéreux. Lors de la découverte d’un nouveau peptide, il est intéressant de
pouvoir prédire son activité par analyse informatique et, ainsi, limiter les expérimentations. Les données
contenues dans Norine sont exploitables par des techniques classiques d’apprentissage automatique afin
de prédire l’activité d’un peptide inconnu. Des membres de l’équipe Bonsai ont déjà mis au point une re-
présentation des peptides nonribosomiques pertinente pour la prédiction de leur activité (voir article [1]).
Mais, il reste encore à finaliser le protocole de prédiction en affinant les jeux d’apprentissage à utiliser, en
choisissant la méthode d’apprentissage la plus adaptée et en déterminant ses paramètres optimaux. L’uti-
lisation de la bibliothèque Weka est préconisée. Il faut également développer l’interface d’interrogation
via Internet qui prendra en entrée un peptide inconnu et affichera ses activités potentielles.
Proposition de planning : - prise en main de la Bibliothète Weka, - extraction des caractéristiques des
peptidiques depuis la base Norine - apprentissage/validation croisées selon les modèles proposés dans [1]
- mise en place d’une interface de prédiction sur le serveur Norine
[1] A new fingerprint to predict nonribosomal peptides activity. Abdo A, Caboche S, Leclere V, Jacques
P, Pupin M. J Comput Aided Mol Des. 2012 Oct ;26(10) :1187-94
Liens en rapport :
• Base de données Norine http://bioinfo.lifl.fr/norine

Sujet 51 : Ordres de missions


Auteur : Juliette Magnies
Responsable : Juliette Magnies
Un dossier de spécification et une petite partie de l’application a déjà été réalisée par un étudiant de
Polytech en Web 2.0 (PHP, Javascript, Ajax) avec une base de données Postgres (l’édition d’un nouvel
ordre de mission)
Le projet : Le but du projet est d’affiner/corriger/compléter le dossier de spécification puis de réaliser
la partie backoffice de cette future application.
Cette application doit être le point d’entrée pour toutes les demandes de mission des personnels de
l’école, comprenant un outil de réservation de véhicules et des interactions avec les commandes de billets
de train ou d’avion.
Plusieurs intervenants seront amenés à utiliser cette application via le backoffice : - les simples utili-
sateurs qui déposent un ordre de mission - les responsables hiérarchiques des utilisateurs qui valident ou
pas cette mission - le responsable comptable qui valide ou pas les frais de missions - le responsable des
véhicules qui valide ou pas les prêts de véhicule pour la mission.
Les technologies utilisées sont HTML 5/Javascript/Jquery/PHP Objet/Postgres et le développement
se fait sous Eclipse.

Sujet 54 : Mais que font les députés ? Une sociologie informatique


du travail parlementaire
Auteur : Étienne Ollion Et Samuel Hym
Responsable : Étienne Ollion Et Samuel Hym
Dans le cadre dun projet collectif mené à lENS et à lUniversité de Strasbourg, et qui réunit des chercheurs
de plusieurs disciplines (histoire, science politique, droit, sociologie, économie), les sujets proposés visent
à mieux connaître le fonctionnement des deux assemblées législatives françaises, lAssemblée nationale et
le Sénat. Les sujets proposés sont indicatifs, et peuvent être mélangés ou évoluer en fonction des centres
dintérêts des étudiant.e.s.
## Le travail parlementaire
Que font les parlementaires à lAssembléeă? Dans la lignée des travaux de léquipe de [Regards Ci-
toyens](http ://www.regardscitoyens.org/), ce projet consiste à collecter les informations disponibles sur
la participation parlementaire. On cherchera en particulier à mesurer la fréquence des interventions (en
commission, dans lhémicycle), leur format (interjection, tirade), leur longueur (nombre de mots), les ré-
actions suscitées (ńăapplaudissements à gaucheăż, ńăprotestations à droiteăż), mais aussi à comptabiliser

11
les questions orales ou écrites posées aux ministres. On pourra aussi chercher, quand elle nexiste pas, à
constituer une base de données avec ces informations afin de la mettre à disposition du public.
Si, pour la législature actuelle et la précédente, ces données sont disponibles directement et dans un for-
mat facilement accessible, cest moins vrai quand on remonte dans le temps (voir [ici](http ://archives.assemblee-
nationale.fr/1/cri/1-1961-1962-ordinaire1.asp) pour les débuts de la cinquième République), ou même
[là](http ://archives.assemblee-nationale.fr/10/cri/10-1995-1996-ordinaire1.asp) plus récemment, car la
plupart des textes sont stockés sous forme de pdf. Il faudra donc mettre en place un protocole dextrac-
tion en fonction de la qualité de ceux-ci, comme des changements de format (peu fréquents heureusement)
du journal officiel.
## Les usages des réseaux sociaux
Comment communiquent les élusăà lère du numériqueă? Ce projet consiste à créer un système qui
permettrait de collecter quotidiennement des informations depuis Twitter et/ou Facebook (nombre de
personnes qui suivent ou amis, nombre de ńăretweetsăż ou ńălikesăż, nombre de personnes suivies, vo-
lume et contenu des dinformation partagées en fonction des plateformes, etc.). Ces informations seraient
stockées dans une base de données mise à jour automatiquement. On pourrait par la suite explorer ces
résultats via une interface simple qui donnerait à voir les principales tendances et leurs évolutions dans
le temps.
## Lindiscipline de vote
Si le mouvement des ńăfrondeursăż du Parti Socialiste a reçu ces derniers temps une attention mé-
diatique importante, lindiscipline de vote est elle relativement régulière à lAssemblée comme au Sé-
nat. Lobjectif de ce projet est de partir des comptes-rendus des scrutins publics publiés sur les sites
de ces deux institutions pour mesurer, [hier](http ://www.assemblee-nationale.fr/12/scrutins/table-2006-
2007.asp) comme [aujourdhui](http ://www2.assemblee-nationale.fr/scrutins/liste/%28legislature%29/14),
lintensité et les formes du vote ńăcontre son partiăż. In fine, ce projet permettra daboutir à une meilleure
caractérisation de lindiscipline (entre partis, dans le temps, et de ses formes).
Liens en rapport :
• Version html du projet, avec les liens fonctionnels http://www.lifl.fr/~hym/s/parlementaires.
html

Sujet 55 : Manipulation de données pour la sociologie : des citations


scientifiques à la sociologie des sciences
Auteur : Étienne Ollion Et Samuel Hym
Responsable : Étienne Ollion Et Samuel Hym
Contexte : La bibliométrie, ou mesure des citations, est aujourdhui très largement utilisée pour mesurer la
supposée ńăproductivitéăż des chercheurs. Mais ces données peuvent aussi être utilisées dans une optique
de meilleure connaissance de fonctionnement du monde scientifique. En exploitant les grandes masses
de données disponibles, cest tout un aspect de la sociologie des sciences qui connaît ainsi de profonds
renouvellements.
Les compétences informatiques sont toutefois nécessaires. Dabord parce que les données, disponibles
sous forme numérique, doivent être nettoyées et requalifiées pour être utiles. Ensuite parce que les données
nécessitent le recours à des outils de détection de régularités pour être exploitables.
Ce projet se propose ainsi détudier le monde scientifique et ses évolutions en partant dun indicateur
commună: les citations. Présentes dans chaque article de recherche, elles fournissent une indication sur les
dettes et les collaborations entre chercheurs, sur les débats qui les animent, sur les modes qui traversent la
science. Elles permettent donc de saisir de manière très concrète les réseaux intellectuels présents comme
leurs évolutions dans le temps.
Travail à réaliser : La disponibilité dinformations ne suffit pas à permettre leur analyse. On peut voir
plusieurs pistes pour contribuer à rendre les données plus lisibles.
Nettoyage : Les grandes quantités de données contiennent toujours beaucoup dincohérences. Dans le
cas pratique qui sert de fil rouge à ce projet, les données sont issues de services de recensions bibliomé-
triques mais les conventions bibliographiques sont très variables. Ainsi, un même journal pourra être cité
parfois comme ńăInternal Journal of ăż et parfois ńăInt. J. ăż, les variations sont nombreuses.
Le projet consistera à proposer et à mettre en uvre des outils pour le nettoyage et le recodage en
sappuyant sur lexemple des données de citations (distance entre deux phrases, techniques dapprentissage
automatique, etc.). On pourra aussi proposer un outil interactif, pour les cas où lautomatisation complète
serait trop sujette à erreur, et ce afin quun non-informaticien puisse lui-même réaliser ce travail.

12
Visualisation des structures et de leurs évolutions, détection de propriétés : Pour apporter un éclai-
rageănouveau à des questions classiques de sociologie des sciences, on pourrait aussi proposer des tech-
niques de recherche de régularités dans les données. Un outil de visualisation pourrait être mis en place
afin de permettre une phase dexploration plus aisée, ou de réaliser des sorties graphiques de certains
résultats. Il serait aussi intéressant de proposer un logiciel qui rende plus accessibles les requêtes sur les
données notamment pour y détecter des propriétés.
Le code produit sera diffusé sous licence libre [CeCILL].
Liens en rapport :
• Version html du projet, avec les liens fonctionnels http://www.lifl.fr/~hym/s/socio%20citations.
html

Sujet 56 : Identification des doigts à partir d’empreintes digitales


Auteur : Alix Goguey Et Géry Casiez
Responsable : Alix Goguey Et Géry Casiez
Grâce à leurs caractéristiques, les empreintes digitales permettent lidentification dindividus. Constituées
de creux et de bosses, elles forment des dessins uniques pour chaque personne.
La reconnaissance dempreintes digitales est un processus de traitement dimages mettant en exergue
les points caractéristiques de ces dessins : les minuties. Une fois ces minuties extraites, lattribution dune
identité à une empreinte se fait par comparaison. La reconnaissance dempreinte digitale est donc un
calcul dun taux de similarité. Si ce taux est au-delà dun certain seuil, les deux empreintes comparées sont
assimilées au même individu, en deçà, les deux empreintes sont considérées comme différentes. Le taux
de similarité dépend fortement de la surface couverte par lempreinte digitale. Plus la surface est grande
plus le nombre potentiel de minuties en correspondance sera élevé. Lidentification dindividus requiert un
taux élevé afin déviter les faux positifs.
Dans un tout autre but, la reconnaissance dempreintes digitales pourrait être utilisée pour identifier
quel doigt est utilisé lors dune interaction multitouch, augmentant ainsi lexpressivité du vocabulaire de
linteraction tactile.
Moins critique que la reconnaissance dindividus, le but de ce projet est détudier si cette technique
permet une discrimination robuste des doigts dun ou plusieurs utilisateurs (les faux positifs étant plus
acceptables dans ce domaine dapplication). Un autre aspect de ce projet est détudier si les différentes
parties de lempreinte (pulpe, partie latérale, médiale et distale de la pulpe - cf Figure 2) peuvent être
utilisées pour une identification robuste.
Ojectifs : (1) Création dun jeu de donné à laide du matériel mis à disposition. (2) Mise en place, à
laide dun framework open source de reconnaissance dempreintes digitales (SourceAFIS, Biometric SDK,
. . . ) au choix, dune interface permettant la comparaison dune empreinte digitale à une base de donnée.
Cette interface sera utilisable à grande échelle (importation de plusieurs empreintes à reconnaître à la
fois). (3) Eventuellement : mise en place dun protocole expérimental. (4) Eventuellement : réalisation de
lexpérience et analyse des résultats.

Sujet 57 : Navigateur de trace d’exécution


Auteur : Giuseppe Lipari
Responsable : Giuseppe Lipari
RTSim est un simulateur de systèmes temps réel open source (https ://github.com/glipari/rtlib2.0). Il
s’agit d’une bibliothèque en C++ qui modélise : - des processeurs, - le noyau d’un système d’exploitation,
- des algorithmes d’ordonnancement temps réel, - des tâches qui contiennent des listes d’instructions. Le
simulateur produit une trace textuelle de l’évolution temporelle du système.
Le projet consiste à écrire un logiciel graphique (en Java, Python, C++ ou un autre langage bien
connu) pour visualiser la trace produite par une simulation. Le programme dois permettre de naviguer
dans la trace et d’en visualiser un morceau.
But : apprendre à concevoir une interface utilisateur complexe.
Compétences : connaissance de C++ (pour comprendre le fonctionnement du simulateur). La connais-
sance de l’ordonnancement temps réel n’est pas requis.
Liens en rapport :
• Le simulateur https://github.com/glipari/rtlib2.0

13
Sujet 58 : Produire de la musique en temps réel
Auteur : Giuseppe Lipari
Responsable : Giuseppe Lipari
Pour produire de la musique de qualité professionnelle avec un ordinateur (MAO, Musique Assistée
par Ordinateur), il est nécessaire d’utiliser des outils logiciels spécifiques. Par exemple, l’outil JACK
(http ://jackaudio.org/) permet de manipuler des flux (streams) audio en temps réel de manière très
simple. Il est ainsi possible de faire de l’enregistrement audio multipiste et du MIDI simultanément.
Le traitement temps réel des flux audio est très sensible à la latence. Pour utiliser JACK de manière
optimale, il est donc nécessaire de configurer le noyau pour une utilisation temps réel.
Même en utilisant un noyau configuré pour le temps réel et un ordonnancement à priorités fixées, il
n’est pas simple d’obtenir de bons résultats.
Un premier problème est que l’ordonnanceur temps réel requiert les droits d’administration du système
(root). Par conséquent, si des processus avec des priorités temps réel s’exécutent sans jamais s’interrompre,
les autres processus ne s’exécutent jamais : ils souffrent de famine (starvation). Un deuxième problème
est qu’il n’est pas simple de choisir la priorité à affecter aux différentes tâches concurrentes temps réel.
Pour permettre à un utilisateur sans les droits d’administrateur d’utiliser les fonctionnalités temps
réel, il faut empêcher qu’un processus obtienne le contrôle exclusif du processeur. Le nouvel ordonnanceur
SCHED_DEADLINE, disponible dans le noyau Linux à partir de la version 3.14, à été conçu pour
répondre en partie à ce problème. Avec SCHED_DEADLINE, il est possible de contraindre le temps
d’exécution d’une tâche à respecter un quota correspondant à une fraction du temps d’exécution total du
processeur. De plus, avec SCHED_DEADLINE l’utilisateur n’a pas besoin de spécifier les priorités des
tâches (elles sont calculées par l’ordonnanceur).
L’objective est donc de concevoir et réaliser un architecture logiciel pour gérer la qualité du service
des applications multimedia sur Linux, basée sur le nouveau ordonnancer SCHED_DEADLINE.
Cet objectif final ambitieux dépasse vraissemblablement le cadre de ce projet. On propose donc de
concevoir un ensemble de petits outils, chacun simple et extensible.
- Un outil pour mesurer les temps d’exécution des taches gérés par SCHED_DEADLINE. On peut
utiliser le module https ://github.com/balsini/sched-deadline-spy comme point de départ.
- Un outil pour contrôler l’admission de nouvelles tâches temps réel. L’outil est un processus daemon
qui s’exécute avec des droits root et s’interface avec les tâches. Si une tâche demande à être gérée par
l’ordonnancer SCHED_DEADLINE, elle envoie une requête au processus daemon qui vérifie qu’il reste
suffisament de quota processeur pour accepter la requête. Si la réponse est positive, la tâche est acceptée ;
sinon, la tâche est rejetée.
Les outils développés pendant le projet seront validé sur l’application JACK.
Compétences : Une connaissance dun ou plusieurs des concepts suivants serait un plus : bon niveau
de programmation en C/C++, programmation système, programmation concurrent et parallèle, configu-
ration et compilation du noyaux Linux.
Liens en rapport :
• L’outil JACK http://jackaudio.org/
• Kernel module pour mesurer le temps d’execution https://github.com/balsini/sched-deadline-spy

Sujet 59 : Méthodes de détection de chimères pour le séquençage


de génomes
Auteur : Jean-Stéphane Varre
Responsable : Rayan Chikhi
Depuis quelques années, le séquençage de lADN a été révolutionné par plusieurs technologies permettant
de réaliser du séquençage à haut débit, cest-à-dire dobtenir la suite de lettres dun génome de manière
très rapide et peu coûteuse.
Cependant, les technologies viennent avec les défauts de leurs avantages. Dans la technologie PacBio
qui nous intéresse dans ce sujet, le séquenceur est capable de produire de très grandes lectures (cest-à-dire
des portions du texte du génome, reads en anglais). Ces lectures sont ensuite assemblées à la manière
dun puzzle pour retrouver le génome. Cest formidable de disposer de grandes lectures car alors on a à
résoudre un puzzle avec de grande pièces : cest plus facile !
Malheureusement, parmi ces grandes lectures il en existe quon qualifie de chimères : elles ne re-
présentent pas vraiment une portion du génome mais plutôt une concaténation de deux portions. Ces
chimères compliquent grandement lassemblage. Pour reprendre la métaphore du puzzle, imaginer une

14
pièce qui créerait faussement un lien entre deux zones très éloignées. Il est souhaitable, et conceptuel-
lement possible, de détecter et supprimer de telles lectures. Comme les séquenceurs PacBio sont très
récents, la détection des chimères est un aspect encore peu étudié.
Lobjectif du projet est de comprendre, tester et éventuellement produire des méthodes pour la détec-
tion de chimères. Le projet commencera par lanalyse de la méthode non documentée implantée dans le
pipeline HGAP de PacBio puis se poursuivra par limplémentation dautres techniques en comparant les
performances. On pourra aboutir à un nouveau protocole plus efficace de détection de chimères.
Profil souhaité : Motivation pour lanalyse de données bioinformatiques. Programmation en Python
(langage dans lequel HGAP est implémenté). Aucune connaissance en biologie nest requise pour aborder
ce sujet.
Liens en rapport :
• Principe du séquençage ADN PacBio https://www.youtube.com/watch?v=v8p4ph2MAvI
• Papier HGAP (nous contacter pour obtenir un PDF) http://www.nature.com/nmeth/journal/
v10/n6/full/nmeth.2474.html
• Article évoquant la détection de chimères PacBio http://www.biomedcentral.com/1471-2164/
15/720

Sujet 60 : Simultaneous Optimistic Optimization (SOO)


Auteur : Bilel Derbel
Responsable : Philippe Preux
Contexte et Objectif ================================== SOO est un algorithme
déterministe pour loptimisation de fonctions sur un domaine continue [1]. SOO peut être considéré comme
un algorithme de type diviser-pour-régner impliquant un processus de décision séquentiel. Il présente
lavantage de sappuyer sur des principes simples qui permettent dobtenir des garanties théoriques quant
à la convergence vers la solution optimale. Cependant, SOO peut savérer coûteux en terme de temps de
calcul ainsi que en terme despace mémoire lorsquil est effectivement implémenté.
Le but général de ce sujet est détudier différentes possibilités visant à améliorer les performances
de SOO. Selon la motivation et les centres dintérêts de létudiant, lun de ces différents axes pourra être
exploré de façon approfondie : 1 Utilisation de structures de données efficaces permettant un gain en
mémoire et/ou en temps CPU. 2 Utilisation du parallélisme pour accélérer lexécution de lalgorithme.
3 Mise en place de nouvelles stratégies pour améliorer la prise de décision lors du parcours de larbre
représentant lespace de recherche et éventuellement le temps de convergence.
Références ================================== Philippe Preux, Remi Mu-
nos, Michal Valko. Bandits attack function optimization. CEC2014.

Sujet 63 : Affinités végétales et combinatoire au potager


Auteur : Samuel Blanquart
Responsable : Samuel Blanquart
Les relations écologiques entre les entités d’un écosystème sont extrêmement complexes et largement
incomprises. L’agronomie dite conventionnelle contourne les difficultés liées à la maîtrise de cette com-
plexité par l’usage intense de la mécanisation, d’intrant et de biocide permettant de diminuer la diversité
écologique d’un espace de culture, jusqu’au stade de mono-culture. Il apparaît cependant en ce début
d’anthropocène (environ 30% de la biodiversité mondiale a été détruite ces deux derniers siècles) que
cette stratégie agronomique est plus que suicidaire : érosion et appauvrissement des sols, pollution des
sols et des nappes phréatiques, destructions aveugles à la fois des ravageurs (attaquant les cultures) et
auxiliaires (attaquant les ravageurs, ou profitant aux cultures), destruction des espèces régulatrices, des-
truction des habitats, déséquilibres écologiques favorisant les espèces invasives, bilan énergétique négatif
(il a fallu plus d’énergie pour produire un légume que le légume n’en contient lui même), etc.
Conscients de ces problèmes vitaux pour les décennies à venir, beaucoup de gens tentent actuellement
de (re)développer une agronomie compatible avec une richesse écologique des environnements. Selon cette
approche, on va chercher à maximiser le nombre d’espèce d’un espace de culture de manière à ce que ces
espèces s’entraident et soient compatibles avec la culture souhaitée. On ne parle plus de mono-culture,
mais de culture d’espèces compagnes, d’agro-écologie ou encore de permaculture. L’informatique peut
contribuer à relever ce défis.

15
Nous proposons dans ce sujet de développer des modèles et interfaces graphiques permettant aux
jardinier amateurs de concevoir leur potager en respectant cette notion de compagnonnage des plantes.
On s’appuiera par exemple sur les données fournies en [1], qui résument les affinités entre plantes en
terme de voisinages propices ou néfastes.
Les objectifs méthodologiques du PJI sont les suivants :
Développement de formats de fichiers, structures de données et interfaces graphiques définissant : -
Le choix des espèces à cultiver dans un potager, - La forme du potager et des espaces non cultivables
(chemins, mares, arbres, locaux, etc.), - Les voisinages propices ou néfastes entre couples de plantes, - La
représentation graphique d’un potager.
Développement d’algorithmes de résolution du problème : - les étudiants modéliseront le problème
sous la forme d’un problème d’optimisation, par exemple inspiré des problèmes du sac à dos, problèmes
de bin packing, problèmes de coloration de graphe, etc., où il s’agira de placer les plantes de manière à
maximiser les affinités de chacune avec leurs voisines immédiates. - Les étudiants implémenteront enfin des
algorithmes d’optimisation (algorithme glouton, recherche locale itérative, etc.) permettant de calculer
les répartitions optimales d’un ensemble de plantes dans un potager donné.
Encadrants : Samuel Blanquart et Bilel Derbel
Liens en rapport :
• associations de plantes http://www.homejardin.com/coup_de_pouce_compagnonnage/aide_conseil_
assistance_explications.html

Sujet 64 : Application temps réel de tendances boursières


Auteur : François Lemaire
Responsable : François Lemaire
Ce PJI se place dans le cadre d’une collaboration avec l’entreprise Wordline (filiale d’Atos) sur l’analyse
de cours d’actions. Un des objectifs consiste à étudier les tendances générales des actions afin de grouper
les actions ayant un comportement similaire.
La vidéo du site http ://www.lifl.fr/˜lemaire/CS/ présente en 2D l’évolution dans le temps des actions
du CAC40 (plus les actions sont proches, plus leurs variations sont proches). Cette vidéo n’est pas
satisfaisante en pratique notamment car elle n’est pas calculée en temps réel, et que l’utilisateur ne peut
pas agir sur les paramètres.
Nous souhaitons écrire une application temps réel et interactive qui produira un rendu équivalent à la
vidéo. Cette application devra comporter plusieurs curseurs de défilements (slider en anglais) qui agiront
sur le rendu 2D des actions.
L’objectif du PJI est de concevoir une architecture logicielle flexible ainsi qu’un prototype répon-
dant au problème. Idéalement, l’application graphique pilotera une autre application de calcul (par un
lancement de thread, ou par socket, . . . ) afin d’afficher en temps réel les résultats des calculs. Le choix
des langages, des outils d’interfaces graphiques, le mode de communication entre les applications seront
laissé aux étudiants. Pour l’instant, seule l’application de calcul (basé sur des routines standard de calcul
numérique dans BLAS et LAPACK) est écrite. Si les étudiants le souhaitent, le projet pourra être orienté
plus génie logiciel, ou plus calcul numérique.
Liens en rapport :
• Vidéo présentant les tendances boursières du CAC 40 http://www.lifl.fr/~lemaire/CS/

Sujet 65 : Environnement de simulation d’un accélérateur neuro-


morphique
Auteur : Pierre Boulet
Responsable : Pierre Boulet
Nous développons un simulateur de réseaux de neurones impulsionnels à base de memristors. Nous avons
besoin d’étendre ce simulateur dans deux directions pour un faire un environnement d’exploration d’ar-
chitecture.
1. Créer un langage dédié à la description d’architectures de réseaux de neurones. 2. Créer un langage
de description d’un ensemble de simulations. (3. Si le temps le permet, proposer un outil d’analyse des
résultats de simulation.)

16
Les technologies utilisées sont principalement le langage de programmation scala (fonctionnel et objet
tournant sur la JVM) et la bibliothèque d’acteurs Akka. L’analyse des résultats pourra se faire avec
python ou scala.
Liens en rapport :
• Site de l’équipe Émeraude http://www.lifl.fr/emeraude
• Langage Scala http://www.scala-lang.org/

Sujet 66 : Gestion de corpus


Auteur : Fanny Chevalier
Responsable : Fanny Chevalier
Le but de ce projet est de développer des solutions efficaces à la constitution, gestion et partage de corpus.
Imaginons par exemple que je m’intéresse à l’histoire de la souris informatique, et que j’ai collecté,
de sources variées, des informations sur tous les types de souris ayant vu le jour avant les années 2000.
Je souhaite organiser ma collection et la partager sur internet, via une interface simple, permettant aux
internautes de faire des recherches par catégories que j’aurai moi-même définies, voire leur permettre de
contribuer eux-même à la liste en ajoutant une nouvelle entrée.
Des exemples de telles intefaces de navigation de corpus peuvent être consultés à ces addresses : - liste
des visualisations spatio-temporelles http ://spacetimecakes.saclay.inria.fr/WebContent/index.php - liste
de visualisations physiques http ://dataphys.org/list/
Le but de ce projet est de développer une solution permettant de mettre en place un tel système de
gestion de corpus, comprenant : - la création et gestion de la base de données sous-jacente - la gestion
d’ajout d’entrées dans la base de données - la page web qui affiche les éléments du corpus - les mécanismes
de requêtes (filtres, etc. . . ) sur cette page
On s’inspirera largement des exemples fournis. Plusieurs corpus structurés seront fournis pour les
tests.
Liens en rapport :
• Collection de http://spacetimecakes.saclay.inria.fr/WebContent/index.php
• Liste de visualisations physiques http://dataphys.org/list/

Sujet 69 : Plateforme de jeux tour par tour : Classification des


jeux
Auteur : Yoann Dufresne Et Fabien Delecroix
Responsable : Yoann Dufresne Et Fabien Delecroix
L’an passé nous avions soumis en PJI la création d’un modèle de jeux tour par tour (voir les liens). Ce PJI
ayant très bien fonctionné, nous disposons a présent d’un programme de base (voir le lien sourceforge)
permettant d’implémenter un jeu tour par tour quelconque. Ce modèle est accompagné de toute la
documentation permettant de réaliser le jeu en partant de la conception du modèle par dessus le méta-
modèle jusqu’à l’implémentation des échanges réseaux nécessaires.
Cette année, nous décidons de proposer l’approfondissement de ce méta-modèle en lui ajoutant des
spécifications que nous pourrons apporter en classifiant les jeux. Par exemple nous pouvons séparer les
jeux symétriques (tous les joueurs peuvent effectuer les même coups) des jeux asymétriques (où les joueurs
n’ont pas le même rôle). Lors d’une partie d’un jeu à n joueurs, le modèle actuel impose la création d’un
automate comprenant les tours des n joueurs. Si ce jeu est symétrique on pourrait penser à factoriser
cette partie de la conception pour ne plus ’avoir que l’automate d’un joueur à concevoir. Ceci n’est qu’un
exemple de simplification que peut apporter l’ajout de classifications.
Ce projet sera développé sous licence libre (gpl) et demandera absolument la contribution d’un binôme.
Liens en rapport :
• Sujet initial de l’an passé http://www.lifl.fr/~salson/pji-sdl/listeprojetsPJI2013-2014.
pdf(Sujet39)
• Forge du projet actuel https://sourceforge.net/projects/pftpt/

17
Sujet 70 : Serveur de jeux tour par tour
Auteur : Yoann Dufresne Et Gauvain Marquet
Responsable : Yoann Dufresne Et Gauvain Marquet
L’an passé nous avions soumis en PJI la création d’un modèle de jeux tour par tour (voir les liens). Ce PJI
ayant très bien fonctionné, nous disposons à présent d’un programme de base (voir le lien sourceforge)
permettant d’implémenter un jeu tour par tour quelconque. Ce modèle est accompagné de toute la
documentation permettant de réaliser le jeu en partant de la conception du modèle par dessus le méta-
modèle jusqu’à l’implémentation des échanges réseaux nécessaires.
Dans l’état actuel, le méta modèle peut facilement être utilisé pour la conception de jeux et les jeux
implémentés peuvent facilement héberger chacun une partie. Une partie lancée est un modèle indépendant
qui écoute sur un port les commandes qui lui sont passées via n’importe quel moyen par un protocole
défini durant la conception du jeu. Une fois la partie terminée, le programme quitte.
L’idée ici est de faire un autre composant logiciel (un service) capable de repérer les différents jeux im-
plémentés et de proposer d’instancier des parties. On pourra également imaginer un troisième composant
logiciel permettant d’interagir avec avec le serveur via une interface web.
Ce projet sera développé sous licence libre (gpl) et demandera absolument la contribution d’un binôme.
Liens en rapport :
• Sujet du travail de l’année passé (sujet 39) http://www.lifl.fr/~salson/pji-sdl/listeprojetsPJI2013-2014.
pdf
• Sourceforge du projet https://sourceforge.net/projects/pftpt/

Sujet 72 : ElasticSearch pour audit wifi


Auteur : Julien Iguchi-Cartigny
Responsable : Julien Iguchi-Cartigny
Aujourd’hui la grande majorité des outils d’audit wifi sont monolithiques : ils servent à découvrir les
cibles environnantes et cibler certains clients par des attaques MITM ou des algorithmes de cassage de
clés. Ces approches ne sont pas suffisantes pour auditer un grand nombre de points wifi sur une surface
importante.
Le but de ce projet est de valider une preuve de concept sur l’utilisation d’une base de données
ElasticSearch pour la capture de trame wifi afin d’exploiter la puissance de l’interface de recherche kibana
et d’obtenir des informations sur les points wifi, leurs positions géographiques et le type de sécurité
supporté.
langages : python
Liens en rapport :
• Kibana http://www.elasticsearch.org/overview/kibana/
• ElasticSearch http://www.elasticsearch.org/overview/elasticsearch/

Sujet 73 : Architecture TOR sur navigateur web


Auteur : Julien Iguchi-Cartigny
Responsable : Julien Iguchi-Cartigny
Tor est un projet pour le support de l’anonymat en dissimulant les communications entre un client web
et un serveur. Le mécanisme s’appuie sur un ensemble de relais de confiance disposés sur des serveurs.
Le nombre limité de relais (moins de 5000) et la confiance dans leur non-compromission peut être
considéré comme une limitation de l’approche de Tor. Un moyen d’outrepasser cette limitation serait de
limiter le rôle du serveur a un simple relais et de laisser les clients gérer l’anonymat dans le système. Afin
de rendre le système le plus pratique et adoptable pour multiplier les chemins possibles, une idée serait de
ne s’appuyer que sur des technologies webs (http, javascript) pour que chaque navigateur puisse devenir
un client.
Le but de ce projet est d’étudier la faisabilité de l’approche à l’aide de technologie comme websocket.
Le cas d’étude sera limité à un simple chat (saisie limitée à 140 caractères).
Technologies étudiées : websocket, javascript, web crypto api, algorithmes P2P.
Liens en rapport :
• The Tor project https://www.torproject.org/

18
Sujet 74 : Modification de l’hyperviseur Xtratum
Auteur : Julien Iguchi-Cartigny
Responsable : Julien Iguchi-Cartigny
Xtratum est un hyperviseur (pour permettre la virtualisation) conçu pour les architectures LEON3 (pour
les satellites). Il est minimaliste, dans le sens où de nombreuses structures sont statiques après le démar-
rage (nombre de machines virtuelles, allocation mémoire, ordonnanceur).
Nous développons dans notre équipe un dispositif physique permettant de détecter un nombre impor-
tant de lecture et d’écriture de la part d’une machine virtuelle. Si un tel événement se déclenche, alors
une interruption est produite à destination de l’hyperviseur.
Le but de ce projet est d’écrire la partie du code dans Xtratum gérant l’interception de cet interruption
et la prise de mesure associé (arrêt de la machine virtuelle fautive).
langages : c et un petit peu d’assembleur sur architecture SparcV8. Si vous aimez la programmation
système, ce sujet est pour vous.
Liens en rapport :
• XtratuM http://www.fentiss.com/en/products/xtratum.html
• Leon3 http://www.gaisler.com/index.php/products/processors/leon3

Sujet 75 : Étude et adaptation du micro-noyau seL4 écrit en Has-


kell
Auteur : Julien Iguchi-Cartigny
Responsable : Julien Iguchi-Cartigny
== Contexte ==
Un ordinateur vient avec un syste ?me d’exploitation qui a pour charge de ge ?rer les composants
mate ?riels (clavier, me ?moire, disque dur, carte re ?seau. . . ) et d’en fournir une interface abstraite aux ap-
plications. C’est un logiciel critique qui doit a ? la fois satisfaire des proprie ?te ?s fonctionnelles (re ?pondre
aux besoins des applications) et des proprie ?te ?s de se ?curite ? (re ?guler les acce ?s des applications).
Pour pouvoir ve ?rifier formellement ces proprie ?te ?s, il est ne ?cessaire de re ?duire autant que possible
la taille du code critique. C’est ce que permet l’approche par micro-noyau : le micro-noyau est seul a ?
avoir un acce ?s direct au mate ?riel, garantit la se ?curite ?, et fournit une abstraction minimaliste des
composants mate ?riels pour les besoins des applications. Des abstractions plus avance ?es sont fournies
par les services qui tournent en mode utilisateur comme les applications. SeL4
seL4 est un exemple de micro-noyau dont certaines propriétés de sécurité ont été prouvées formelle-
ment. Au cur de la preuve se trouve une implémentation de seL4 dans le langage Haskell. Ce langage de
programmation a l’avantage de se prêter facilement à la vérification formelle.
== Problématique ==
Les sources de seL4 sont disponibles depuis Juillet 2014. Le premier but de ce projet est de compléter
les interfaces natives de seL4 afin de faire tourner le noyau en haskell au dessus d’un Linux. C’est-à-dire :
- Comment compiler, démarrer, puis utiliser un programme haskell avec des interfaces natives ? Le second
but est d’étudier le fonctionnement du micro-noyau, c’est-à-dire : - Comment se code un micro-noyau en
Haskell ? - En quoi une telle implémentation se prête-t-elle bien à la vérification formelle ?
== Travail demandé ==
Le premier objectif de ce projet est de compiler le code source en Haskell de seL4, puis de le démarrer
sous QEMU, et de faire tourner des petits programmes par dessus pour en comprendre les fonctionnalités.
Le second objectif est d’étudier le code source de seL4. L’étudiant pourra par exemple regarder comment
le contrôle d’accès à base de capacités est implémenté.
Liens en rapport :
• SeL4 http://sel4.systems/

Sujet 77 : Implémentation des méthodes HEAD, OPTIONS, PUT


et DELETE dans Smews
Auteur : Michaël Hauspie
Responsable : Michaël Hauspie

19
Smews est un serveur web embarqué développé par l’équipe 2XS. Sa particularité est d’être conçu pour
fonctionner sur des équipements aussi petits que des cartes à puces.
A l’heure actuelle, Smews permet de développer des applications web qui utilisent les méthodes GET
et POST. Pour permettre aux utilisateurs de concevoir des application REST, il lui manque de pouvoir
supporter les autres méthodes du protocole HTTP que sont HEAD, OPTIONS, PUT et DELETE.
Le but du projet et donc d’implémenter, au sein de smews, la gestion de ces méthodes.
Le développement sera effectué en C et en Python. Si le temps le permet, une application web de
démonstration utilisant une API REST pourra être développée (par exemple en utilisant Angular.js)
Liens en rapport :
• Site web de Smews http://www.lifl.fr/2XS/smews
• Dépôt Smews sur github http://github.com/2xs/smews

Sujet 81 : Portail collaboratif de géolocalisation de problèmes (et


de solutions !)
Auteur : Philippe Marquet
Responsable : Philippe Marquet
L’objectif est la mise en place d’un portail permettant de signaler les problèmes rencontrés dans lespace
public en les géolocalisant sur une carte, permettant de pouvoir procéder au suivi de ces problèmes, mais
aussi d’indiquer d’éventuelles propositions.
Deux déploiements d’un tel portail sont envisagées, le premier au niveau d’une commune, Saint-André-
lez-Lille pour ne pas la nommer, le second au niveau du campus de Lille 1.
Il s’agira, en fonction du cahier des charges qui est le nôtre, et qui restera à affiner ensemble 1-
d’évaluer, d’étudier les propositions existantes (en particulier en terme de fonctionnalité, d’ergonomie,
de paramétrisation) 2- développer (éventuellement à partir de codes existants) une première version
fonctionnelle d’un portail 3- en collaboration avec un second PJI, intégrer l’usage via une application
mobile pouvant profiter de la géolocalisation
On s’attachera à une démarche agile pour assurer une prise en charge incrémentale et progressive
des fonctionnalisés, des besoins. On fournira aussi le résultat de notre travail sous licence libre, gage de
qualité et de pérennité des développements.
Liens en rapport :
• Exemple de portail de ce type à Mérignac http://leon.merignac.com/
• Le projet emblématique du domaine (Grande-Bretagne principalement) http://fixmystreet.org
• Une autre proposition http://www.leproblemedemarue.fr/

Sujet 82 : Application mobile de géolocalisation de problèmes (et


de solutions !)
Auteur : Philippe Marquet
Responsable : Philippe Marquet
L’objectif est la mise en place d’un portail permettant de signaler les problèmes rencontrés dans lespace
public en les géolocalisant sur une carte, permettant de pouvoir procéder au suivi de ces problèmes, mais
aussi d’indiquer d’éventuelles propositions.
Deux déploiements d’un tel portail sont envisagées, le premier au niveau d’une commune, Saint-André-
lez-Lille pour ne pas la nommer, le second au niveau du campus de Lille 1.
On s’attachera dans ce projet aux aspects mobiles, un autre PJI assurant le développement du portail
proprement dit.
Il s’agira, en fonction du cahier des charges qui est le nôtre, et qui restera à affiner ensemble 1-
d’évaluer, d’étudier les propositions existantes (en particulier en terme de fonctionnalité, d’ergonomie,
de paramétrisation) 2- développer (éventuellement à partir de codes existants) une première version
fonctionnelle d’une application mobile de remontée de problème 3- faire lien avec le portail dévellopé sans
cadre dun autre PJI
On s’attachera à une démarche agile pour assurer une prise en charge incrémentale et progressive
des fonctionnalisés, des besoins. On fournira aussi le résultat de notre travail sous licence libre, gage de
qualité et de pérennité des développements.
Une expérience préalable de développement mobile serait bienvenue.

20
Liens en rapport :
• Exemple de portail à Mérignac http://leon.merignac.com
• Le projet emblématique du domaine (Grande-Bretagne principalement) http://fixmystreet.org/
• Une autre proposition http://www.leproblemedemarue.fr/

Sujet 84 : Par où passe mon train ?


Auteur : Mathieu Giraud
Responsable : Mathieu Giraud
L’objectif est de programmer une application mobile présentant ń au bon moment ż des points dintérêt
(POI) figurant dans OpenStreetMap, afin que l’utilisateur découvre le paysage et prenne conscience des
endroits par lequels passe son train.
Cette présentation se fera sur la base des données GPS du téléphone ou de la tablette et tiendra
compte du côté où est assis l’utilisateur, de la vitesse du train et de la topographie des lieux traversés.
L’information du début et de la fin de la ń visibilité ż de chaque POI sera à rajouter dans OpenStreetMap
ou bien dans une base de données externe.
Lapplication pourra charger en un seul moment une collection de POIs sur un trajet donné afin de
ne pas dépendre dune connexion durant le trajet, et contiendra des outils collaboratifs permettant de
soumettre, dannoter et d’éditer des POI ou des collections de POI. Le choix des technologies est ouvert.
La validation se fera sur des trajets courts en TER. Il serait préférable qu’au moins un des étudiants
prenant ce projet ait un abonnement de train. Pour mémoire, les abonnements Viva et Rythmo de
Transpole permettent une libre circulation sur le réseau TER de la métropole liilloise (Armentières,
Comines, Tourcoing, Biaisieux, Bouvines, Fretin, Seclin, La Bassée).
Liens en rapport :
• Les applis OSM pour Android http://wiki.openstreetmap.org/wiki/Android
• Les applis OSM pour iOS http://wiki.openstreetmap.org/wiki/IOS
• Vu du train, les paysages traversés par votre TGV http://www.vu-du-train.com/vues-du-tgv.
html

Sujet 86 : Portage de la bibliothèque libpfm sur processeurs NVI-


DIA Tegra K1
Auteur : Loïc Huertas
Responsable : Romain Rouvoy
LIEU Spirals Research Group Inria Lille - Nord Europe Parc Scientifique de la Haute Borne 40, avenue
Halley - Bat. B, Park Plaza 59650 Villeneuve d’Ascq - FRANCE
CONTEXTE Le processeur Tegra K1 est basé sur larchitecture NVIDIA Kepler à hautes performances
et à basse consommation, qui accélère également les meilleurs systèmes de jeu et le supercalculateur le
plus puissant des États-Unis. Tegra K1 est notamment le premier processeur mobile capable de faire
tourner lUnreal Engine 4. Tegra K1 embarque le seul GPU mobile entièrement compatible avec NVIDIA
CUDAő, le langage de calcul par GPU le plus innovant de lindustrie. Le processeur Tegra K1 intègre
également quatre coeurs de CPU ARM Cortex A15 à hautes performances, ainsi qu’un cinquième cur
de troisième génération à économie d’énergie, afin de délivrer un maximum de performances et une
meilleure autonomie. Larchitecture variable SMP (multitraitement symétrique) développée par NVIDIA
permet dutiliser les quatre curs principaux pour un maximum de performances quand vous en avez besoin.
Chaque cur est géré indépendamment et automatiquement en fonction des ressources requises.
PROJET En collaboration avec NVIDIA, l’objectif de ce projet est de porter la bibliothèque logicielle
libpfm développée dans le cadre du projet perfmon2 [1] sur les processeurs Tegra K1 de la marques
NVIDIA [2]. L’objectif consiste donc à intégrer les événements matériels et logiciels (CPU, GPU, etc.)
disponibles sur cette architecture dans le code de libpfm [1] de manière à ce qu’il soit possible de surveiller
différents compteurs d’exécution pour des applications qui s’exécuteront dans un environnement Linux
déployées sur une carte Carte Jetson Tegra K1 [2] qui sera mise à disposition des étudiants.
L’objectif à terme est de permettre d’estimer et de comparer la consommation énergétique d’applica-
tions s’exécutant sur ces processeurs Tegra K1 en utilisant la bibliothèque PowerAPI [3].
Liens en rapport :
• Projet Perfmon2 http://perfmon2.sourceforge.net

21
• Carte Jetson Tegra K1 https://developer.nvidia.com/jetson-tk1
• Projet PowerAPI http://powerapi.org

Sujet 88 : Passerelle Android pour l’Internet des Objets


Auteur : Romain Rouvoy
Responsable : Romain Rouvoy
LIEU Spirals Research Group Inria Lille - Nord Europe Parc Scientifique de la Haute Borne 40, avenue
Halley - Bat. B, Park Plaza 59650 Villeneuve d’Ascq - FRANCE
PROJET Le but de ce projet est de développer une passerelle logicielle ????flexible pour connecter des
objets domotiques (capteurs, actuateurs) à Internet en exploitant des boitiers de type Set-top box (STB)
[1] fonctionnant sous le système d’exploitation Android [2]. Forts de notre expérience dans la conception
de la plateforme logicielle APISENSE (http ://www.apisense.fr), pour la collecte de données à partir
de téléphones, nous tenons à développer un nouveau type de passerelle qui peut soutenir le chargement
dynamique des tâches et des services. En particulier, nous nous intéressons à l’intégration des connecteurs
de communication pour les bibliothèques Z-Wave [3], mais la solution développée devrait également être en
mesure d’accueillir d’autres protocoles et technologies de l’Internet, tels que UPnP, CoAP ou DPWS. En
plus de ces connecteurs de communication, la passerelle comprendra également un support pour divers
moteurs de traitement, y compris JavaScript (par exemple, Rhino - https ://www.mozilla.org/rhino)
ou BPM (par exemple , Activiti - http :// www.activiti.org), o ????ffrant ainsi la capacité de déployer
dynamiquement du code dans la passerelle, au-delà de la composition traditionnelle de services logiciels.
Ce support modulaire pour les technologies standards sera ensuite enrichi avec des mécanismes de sécurité
(authenti ????cation, chi ????rement) pour contrôler l’ accès aux données exposées par la passerelle.
CONTEXTE La solution développée sera appliquée sur des études de cas portant sur des mesures de
la qualité de l’expérience pour les accès haut débit résidentiels, ainsi que des scénarios de surveillance à
domicile couverts dans le cadre de notre collaboration continue avec le groupe de recherche de ND de
l’Université d’Oslo (Norvège) dans le cadre du SOCS Inria Lab nord-européen .
COMPÉTENCES REQUISES - Curiosité, ouverture d’esprit, persévérance, organisation - Bonne
connaissance de Java (SDK Android) - Connaissance éventuelle de JavaScript
APPORTS - Prise en main d’Android (son architecture, son SDK) - Formation aux bonnes pratiques
de développement (design patterns, IOC) - Découverte des protocoles de communication en réseau local
Liens en rapport :
• STB Minix http://www.minix.com.hk
• SDK Android http://www.android.com
• Technologie Z-Wave http://www.z-wave.com

Sujet 89 : Plateforme communautaire de suggestions et d’informa-


tions cinématographiques
Auteur : Guillaume Dufrêne
Responsable : Guillaume Dufrêne
(Sujet proposé par les étudiants)
Il s’agit de développer une plateforme sur laquelle des personnes pourraient s’inscrire et accéder aux
informations des films actuellement au cinéma. Elle rendrait également accessible les horaires des séances
de la métropole lilloise, permettant aux membres du site d’organiser des événements avec leurs amis ou
camarades cinéphiles sur l’application, ou sur un autre réseau social.
Cette plateforme différerait d’un site comme IMDB ou Allociné par l’aspect communautaire ainsi que
par des propositions régulières de films à voir, en fonction des sorties et des séances. Ces suggestions
pourront d’abord être manuelles (par l’équipe) ou, par la suite, en fonction des préférences de chacun des
membres.
Concernant l’aspect technique, un développement JavaScript sera couplé à des API comme celle
d’IMDB. Les caractéristiques techniques seront définies clairement dans le cadre du projet.

22
Sujet 90 : Un bugtracker pour geeks et non-geeks
Auteur : Mathieu Giraud
Responsable : Mathieu Giraud
Un bugtracker permet de créer et éditer des tâches, avec des priorités, des mots-clé, des dates limites
éventuelles, des commentaires, des références croisées à des tâches ou à des commits dun gestionnaire de
version. C’est un outil qui peut servir à la fois en suivi de code mais aussi en gestion de projet d’équipe.
Faire cohabiter sur une même application des utilisateurs avec des expertises très différentes est toujours
un défi. On souhaiterait réaliser un bugtracker dont les fonctionnalités seraient accessibles :
- dun côté, pour des utilisateurs normaux, par une interface web élégante,
- de lautre, pour des utilisateurs préférant le terminal, vi, emacs ou d’autres éditeurs, par un fichier
texte, brut, par exemple encodé en org-mode, éditable hors connexion.
Certains bugtrackers proposent déjà une API avec laquelle on pourrait extraire ce type de fichier
texte, mais cela reste délicat davoir un accès correct à toutes les fonctionnalités, et encore plus de pouvoir
modifier des tâches sans être connecté. Le but de ce projet est donc de réaliser un prototype de bugtracker
an ayant une approche radicalement différente, où le fichier texte, directement éditable par lutilisateur
non-web, constitue le format principal de stockage. La synchronisation avec le serveur pourrait se faire
par des commits / push sur un serveur git. Le serveur web interprète ce fichier (ou les commits) et gère,
si besoin, une base de données locale.
Technologies : git, python, framework web à déterminer, bootstrap.js
Liens en rapport :
• MantisBT, un bugtracker libre http://www.mantisbt.org
• Producteev, un bugtracker pas libre http://www.producteev.com
• org-mode http://orgmode.org

Sujet 91 : Conception et implémentation d’un minimax sur un jeu


de plateau
Auteur : Olivier Perriquet
Responsable : Philippe Mathieu
Alpha est un jeu de plateau créé il y a quelques années. Le principe général du jeu est similaire à
celui des échecs : deux camps s’affrontent et il s’agit de capturer une pièce maitresse chez l’adversaire.
Les déplacements et la géométrie du plateau sont en revanche assez originaux par rapport aux jeux
combinatoires traditionnels.
Le jeu a été primé en 2008 au concours international de Boulogne et sera lancé sur le marché l’année
prochaine tandis qu’en parallèle, une version libre sera diffusée sur internet et sous forme d’application
sur tablettes mobiles.
La version dématérialisée du jeu sera munie d’une intelligence artificielle qui permette à un nouveau
joueur de se familiariser avec les règles en jouant contre la machine. Le travail du stage consiste à
concevoir et implémenter un tel algorithme, sur la base d’un minimax. C’est un projet qui comporte une
large part de recherche et d’expérimentations, notamment sur la définition de la fonction à optimiser, le
poids des pièces, et la conception des heuristiques, tout en laissant une grande place à l’inventivité car
en comparaison aux échecs, il n’existe encore aucun travaux sur le sujet.
Liens en rapport :
• http://gaaln.ovh.org/alpha/offline
• http://gallery.bridgesmathart.org/exhibitions/2010-bridges-conference/paul-mcguire
• http://fr.wikipedia.org/wiki/Concours_de_cr%C3%A9ateurs_de_jeux_de_Boulogne-Billancourt#
2008_-_27e_Concours

Sujet 94 : Détection d’état affectif dans un contexte dynamique


Auteur : Marius Bilasco
Responsable : Marius Bilasco
Le but de ce travail est détudier limpact de la dynamique du visage et des gestes sur lextraction des
émotions à partir des flux vidéo. Actuellement, il y a un vrai engouement autour des technologies permet-
tant de reconnaître les actions réalisées par les humains à laide des systèmes avancées des caméras et/ou

23
capteurs. Nous nous intéressons à une classe spécifique dactions qui correspondent à la manifestation des
émotions telles que la joie, la tristesse, lénervement. La reconnaissance démotion peut servir dans diffé-
rents domaines impliquant de linteraction homme-machine tels que dans lindustrie du commerce (tables
de vente interactives), dans laide des personnes à domicile, etc.
Léquipe FOX sintéresse de manière générale à lextraction des informations de la vidéo et à des
applications au comportement humain. Dans nos travaux passés, nous avons déjà exploré lextraction des
émotions de base (telle que la joie, cf. image ci-dessous) à partir des images en utilisant uniquement des
informations statiques telles que les distances entre les régions significatives du visage (sourcils, yeux,
nez, bouche, etc.). Si ces informations sont suffisante pour caractériser des émotions simples et plutôt
statiques telle que la joie. En effet, dès que lon aperçoit le visage dune personne nous pouvons de rendre
compte si la personne exprime la joie. Cependant, elles ne suffisent plus lorsque lon étudie des émotions
plus complexes telles ques lintérêt. Nous croyons que lapport informationnel issu de létude du mouvement
de la personne dans sa globalité peut augmenter de manière importante la détection des émotions et la
quantification de leur intensité.

Sujet 95 : Comment j’ai aimé la dernière video sur youtube. . .


Auteur : Marius Bilasco
Responsable : Marius Bilasco
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 utilisa-
teurs 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. Nous disposons également d’un plugin Firefox permettant de suivre l’utilisateur
lorsqu’il consulte des vidéos sur Youtube.
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 96 : Les yeux nous trahissent ?


Auteur : Marius Bilasco
Responsable : Marius Bilasco
Le but de ce travail est détudier limpact des mouvements à proximité des yeux sur lextraction de l’état
affectifà partir des flux vidéo. Actuellement, il y a un vrai engouement autour des technologies permettant
de reconnaître les actions réalisées par les humains à laide des systèmes avancées des caméras et/ou
capteurs. Nous nous intéressons à une classe spécifique dactions qui correspondent à la manifestation des
états tels que l’intérêt, lénervement, l’attention, la concentration. La reconnaissance dun tel état peut
servir dans différents domaines impliquant de linteraction homme-machine tels que dans lindustrie du
commerce (tables de vente interactives), dans laide des personnes à domicile, etc.
Léquipe FOX sintéresse de manière générale à lextraction des informations de la vidéo et à des
applications au comportement humain. Dans nos travaux passés, nous avons exploré lextraction des
émotions de base (telle que la joie) à partir des images ou vidéos. Si ces informations sont suffisante
pour caractériser des émotions simples et plutôt statiques telle que la joie, il est difficile de les utiliser
afin d’identifier des états tels l’intérêt, lénervement, l’attention, la concentration. Lors des essais que nous
avons réalisés en filmant des personnes regardant des cours en lignes, ou des séries TV, nous nous sommes
aperçu que généralement les expressions faciales ne permettent pas de distinguer entre les états cognitifs
de la personne. Cependant, nous avons observé que le mouvement des yeux, accompagné des mouvements
de la tête, permettent de désambiguïser l’interpretation de certaines situations.
Actuellement, nous disposons des outils performants mais intrussifs permettant d’estimer la posi-
tion précise des yeux et le point de regard (EyeTracker), mais également des prototypes qui pemettent
d’extraire des modèles de mouvement pour caractériser la zone des yeux et de la tête.

24
La mission principale consiste en la réalisation d’un état de l’art sur la manière dont les mouvements
occulaires et les mouvements présents dans la zone peri-occulaire peuvent être interprétés afin d’inférer
l’état d’une personne. Un travail d’adaptation d’un prototype existant est également envisagé pour tester
la validité des métriques proposées.

Sujet 97 : Detection de l’endormissement à l’aide des cameras dy-


namiques
Auteur : Marius Bilasco
Responsable : Marius Bilasco
Des nouvelles types de caméras fournissant n’ont pas des images, mais signalant (de manière événe-
mentielle) des changements dans les scènes observées font leur essor. Ainsi, une image n’est plus une
matrice représentant les valeurs RGB des pixels, mais plutôt une suite dévénements correspondant aux
coordonnées des pixels changeant d’apparence.
Systèmes de vision dynamique : - aperçu : http ://www.inilabs.com/products/dynamic-vision-sensors/overview
- exemples de vidéos : http ://www.ini.uzh.ch/˜tobi/dvs/ - API : http ://sourceforge.net/p/jaer/wiki/Home/
Au sein de l’équipe FOX, nous commençons à étudier l’utilisation de ces nouvelles caméras afin
d’étudier le mouvement apparent d’une scène d’une façon innovante. Nous étudierons les clignements des
yeux car il donne lieu à des mouvements clairement identifiées des paupières. La fréquence des clignements
peut être directement associée à l’état de fatigue de la personne.
En relation avec ces caméras nous étudierons conjointement l’utilisation des nouveaux réseaux neuro-
naux à base flux d’impulsion qui offre également des perspectives nouvelles en termes d’algorithmes en
permettant de simuler le fonctionnement biologique du système de vision humain.
Simulateur : http ://briansimulator.org/

Sujet 99 : Gestion de Collections sous Android


Auteur : Cedric Dumoulin
Responsable : Cedric Dumoulin
A force d’acheter des livres et des bandes dessinées, de les emprunter chez l’un ou chez l’autre et d’en
prêter, on ne sait plus ce que l’on possède, ce que l’on a déjà lu, à qui on a emprunté ou prêté un livre.
L’objectif de cette application est de pouvoir gérer des collections de type livres, bandes dessinées ou
CD sur une tablette ou téléphone Androïd. L’application permet de multiples fonctionalités : ajouter
un élement en scannant son code barre ; recherche des données sur un élément à partir de son code
EAN (code barre) ; recherche d’un élément ; import/export entre tablettes ou ordinateur ; spécification
de données tel que emprunteur, propriétaire, commentaires . . . De tel applications existent déjà pour
Android, mais elles ne sont pas open-source. Les candidats devront affiner le cahier des charges ; étudier
comment et où chercher des données à partir de l’EAN ; proposer une architectures ; implémenter une
partie de l’application. Un autre objectif de ce projet est de servir de base au PJE de M1 des prochaines
années.

Sujet 101 : Création programmatique de diagrammes Papyrus


Auteur : Cedric Dumoulin
Responsable : Cedric Dumoulin
Papyrus est un modeleur UML permettant de créer des diagrammes à l’aide d’une interface graphique.
Nous voulons fournir une interface API permettant de créer programmatiquement des diagrammes Pa-
pyrus. Cela nous permettra de créer des diagrammes à partir de scripts, à travers le web, à partir de
smartphones . . . Les candidats devront proposer une définition des interfaces de création, et une implé-
mentation. Dans le cadre de ce projet, on pourra se limiter à une sous-partie des diagrammes. Pour
l’implémentation, les candidats pourront se baser sur les commandes actuelles déclenchées par les in-
teractions de l’utilisateur. Une implémentation possible consiste à appeler ces commandes. Une autre
implémentation peut se faire en analysant les commandes existantes et en reprenant le code.
Mots clés : Papyrus, Java, Eclipse
Liens en rapport :
• Papyrus http://www.eclipse.org/papyrus/

25
Sujet 103 : Extraction de données contextuelles dans tweeter
Auteur : Luigi Lancieri
Responsable : Luigi Lancieri
Un des thèmes de recherche de l’équipe Noce du LFL est la mesure du facteur humain dans les réseaux
sociaux tels que tweeter.
L’objectif du projet est d’explorer les moyens de récupérer de manière indirecte des informations liées
aux tweets. Citons par exemple la tranche d’age de l’usager, sa catégorie socio-professionnelle ou ses
centres dintérêts. Ces informations ne sont pas présentes explicitement dans tweeter mais il est possible
de trouver des indices avec le contexte de chaque tweet. Par exemple, un usager utilisant souvent du
vocabulaire lié au sport est probablement intéressé par le sport.
Travail à réaliser Réaliser un état de l’art sur les modes d’extractions de données contextuelles sur le
web et plus spécifiquement sur tweeter. Réaliser un petit démonstrateur permettant de montrer lintérêt
de la collecte d’indices contextuels.

Sujet 104 : Visualisation de l’évolution temporelle du sentiment


dans une video
Auteur : Luigi Lancieri
Responsable : Luigi Lancieri
L’objectif du projet est de réaliser un démonstrateur en HTML5 / Javascript permettant dafficher une
courbe dynamique et une vidéo sur une page HTML. La courbe représenté l’évolution du sentiment
(plutôt positif ou negatif) issu du discours de la vidéo. L’indicateur de sentiment représente par la courbe
est calculé à partir des mots clés exprimé dans la video.

Sujet 105 : Reconnaissance automatique d’objets dans une image


Auteur : François Cabestaing
Responsable : François Cabestaing
La reconnaissance automatique d’un ou plusieurs objets contenus dans une image est un problème com-
plexe, auquel il n’existe pas de solution générale, et sur lequel de nombreuses équipes de recherche foca-
lisent encore leurs efforts. Les domaines d’application sont variés : indexation automatique d’images par
une description sémantique de leur contenu, robotique mobile (ex : google car), réalité augmentée, etc.
Dans ce projet, il s’agira de créer une bibliothèque de reconnaissance automatique d’objets, ainsi
qu’une interface utilisateur permettant d’exploiter cette bibliothèque. L’utilisateur pourra charger une
image dans le logiciel et sélectionner grâce à la souris un pixel de cette image. Le système devra dans
un premier temps segmenter l’objet auquel appartient le pixel, c’est-à-dire définir la région connexe de
l’image qui lui correspond. Puis il devra reconnaître l’objet parmi un nombre limité d’objets connus.
Afin de permettre la segmentation automatique, les objets visibles dans l’image seront placés sur un
fond uniforme facilement identifiable. L’apprentissage des objets connus sera réalisé de façon supervisée,
en faisant intervenir des attributs géométriques et photométriques. Les mêmes attributs seront calculés
sur l’objet segmenté dans l’image, afin de permettre une catégorisation automatique. Il faudra également
introduire une catégorie de rejet, correspondant à la détection d’un objet ne faisant pas partie de la liste
des objets connus.
Au début du projet, il conviendra de réaliser une étude bibliographique détaillée des différentes ap-
proches de segmentation, afin de sélectionner une technique existante (pour ne pas réinventer le fil à couper
le beurre !) Ensuite, différentes approches d’apprentissage et de catégorisation pourront être implantées
et comparées en termes de performances.

Sujet 106 : Etude de l’impact électromagnétique d’un système


cryptographique
Auteur : Gilles Grimaud
Responsable : Gilles Grimaud
LIEU
équipe 2XS IRCICA - CNRS 50 Avenue du Halley 59650 Villeneuve-d’Ascq - France

26
CONTEXTE
L’équipe 2XS est hébergé par lInstitut de Recherche en Composants logiciel et matériel pour lInfor-
mation et la Communication Avancée (IRCICA, une Unité de Service et de Recherche : USR-3380) qui
associe le CNRS et lUniversité Lille 1. Au sein de ce laboratoire des équipes de recherche de domaines
différents collaborent sur des travaux pluridisciplinaires. Dans ce cadre, l’équipe 2XS (informatique) tra-
vaille avec l’équipe CSAM (électronique). Nous nous intéressons notamment aux liens qui existent entre
l’énergie que dissipent les microcontrôleurs et les programmes qu’ils exécutent.
PROJET
Dans le cadre de ses travaux, l’équipe CSAM a développer une maquette lui permettant de mesurer
la différence entre un signal radio reçu, et celui qui a été émis. Il a été démontré que l’environnement
à un fort impact sur cette mesure. Nous souhaitons maintenant reprendre cette démarche et étudié très
précisément l’impact de l’exécution d’un programme cryptographique sur le signal radio reçu. Il a déjà
été démontré dans des articles scientifique que l’écoute passive du son produit par un microprocesseur,
avec un simple microphone, pouvait constituer une fuite d’information, et compromettre la sécurité du
chiffrement. Nous envisageons de faire de même avec la maquette conçu par l’équipe CSAM.
L’objet de ce projet technique est donc (1) la prise en main de la maquette de mesure réalisée par
l’équipe CSAM ; puis (2) la prise en main de l’implémentation du chiffrement RSA dans un microcon-
trôleur MBed ; et enfin (3) l’observation statistique et la corrélation des résultats issus des mesures de la
maquette, lorsque le système cryptographique est opérant.
Liens en rapport :
• équipe CSAM http://www.ircica.univ-lille1.fr/spip.php?rubrique12
• équipe 2XS http://www.lifl.fr/2XS/Team/Members
• Article d’attaque de RSA à l’aide d’un micro. http://www.tau.ac.il/~tromer/papers/acoustic-20131218.
pdf

Sujet 108 : Paramétrisation et déploiement de portail collaboratif


de géolocalisation de problèmes (et de solutions !)
Auteur : Philippe Marquet
Responsable : Philippe Marquet
L’objectif est la paramétrisation et le déploiement de portail permettant de signaler les problèmes ren-
contrés dans lespace public en les géolocalisant sur une carte (cf sujet 81).
De tels portails pouvant être déployer sur des territoires différents, il s’agira, en fonction du cahier des
charges qui est le nôtre, et qui restera à affiner ensemble 1- d’évaluer, d’étudier les propositions de portails
existantes (en particulier en terme de fonctionnalité, et de paramétrisation) 2- de réaliser une application
de déploiement permettant de définir un territoire géographique, ses caractéristiques (hiérarchie éventuelle
par exemple), et les différents paramètres attachés à une instance du portail On travaillera bien entendu
en collaboration avec un second PJI en charge du développement du portail lui-même.
On s’attachera à une démarche agile pour assurer une prise en charge incrémentale et progressive
des fonctionnalités, des besoins. On fournira aussi le résultat de notre travail sous licence libre, gage de
qualité et de pérennité des développements.
Liens en rapport :
• Portail collaboratif de géolocalisation de problèmes (et de solutions !) http://www.lifl.fr/~salson/
pji-sdl/projet.php?id=81

Sujet 109 : Application Android de géolocalisation de problèmes


(et de solutions !)
Auteur : Philippe Marquet
Responsable : Philippe Marquet
L’objectif est la mise en place d’un portail permettant de signaler les problèmes rencontrés dans lespace
public en les géolocalisant sur une carte, permettant de pouvoir procéder au suivi de ces problèmes, mais
aussi d’indiquer d’éventuelles propositions.
Deux déploiements d’un tel portail sont envisagées, le premier au niveau d’une commune, Saint-André-
lez-Lille pour ne pas la nommer, le second au niveau du campus de Lille 1.

27
On s’attachera dans ce projet aux aspects mobiles, un autre PJI assurant le développement du portail
proprement dit.
Il s’agira, en fonction du cahier des charges qui est le nôtre, et qui restera à affiner ensemble 1-
d’évaluer, d’étudier les propositions existantes (en particulier en terme de fonctionnalité, d’ergonomie,
de paramétrisation) 2- développer (éventuellement à partir de codes existants) une première version
fonctionnelle d’une application mobile de remontée de problème 3- faire lien avec le portail développé
sans cadre dun autre PJI
On s’attachera à une démarche agile pour assurer une prise en charge incrémentale et progressive
des fonctionnalités, des besoins. On fournira aussi le résultat de notre travail sous licence libre, gage de
qualité et de pérennité des développements.
Ce projet est un clone Android du PJI 82 qui lui sattachera au développement iOS. On travaillera
bien entendu en collaboration dans un esprit de mutualisation.
Une expérience préalable de développement Android serait bienvenue.
Liens en rapport :
• Application mobile de géolocalisation de problèmes (et de solutions !) http://www.lifl.fr/~salson/
pji-sdl/projet.php?id=82

Sujet 110 : Modification de Kismet pour audit wifi


Auteur : Julien Iguchi-Cartigny
Responsable : Julien Iguchi-Cartigny
Aujourd’hui la grande majorité des outils d’audit wifi sont monolithiques : ils servent à découvrir les
cibles environnantes et cibler certains clients par des attaques MITM ou des algorithmes de cassage de
clés. Ces approches ne sont pas suffisantes pour auditer un grand nombre de points wifi sur une surface
importante. 1 Le but de ce projet est de valider une preuve de concept sur l’utilisation d’une base de
données ElasticSearch pour la capture de trame wifi afin d’exploiter la puissance de l’interface de recherche
kibana et d’obtenir des informations sur les points wifi, leurs positions géographiques et le type de sécurité
supporté.
Plus spécifiquement, les candidats devront s’intéresser à l’implémentation d’une extension de Kismet
pour pouvoir sérialiser les informations dans une base de données de type ElasticSearch.

Sujet 111 : Conversion de donnés de PCAP à ElasticSearch pour


audit wifi
Auteur : Julien Iguchi-Cartigny
Responsable : Julien Iguchi-Cartigny
Aujourd’hui la grande majorité des outils d’audit wifi sont monolithiques : ils servent à découvrir les
cibles environnantes et cibler certains clients par des attaques MITM ou des algorithmes de cassage de
clés. Ces approches ne sont pas suffisantes pour auditer un grand nombre de points wifi sur une surface
importante.
Le but de ce projet est de valider une preuve de concept sur l’utilisation d’une base de données
ElasticSearch pour la capture de trame wifi afin d’exploiter la puissance de l’interface de recherche kibana
et d’obtenir des informations sur les points wifi, leurs positions géographiques et le type de sécurité
supporté.
Une fois les données capturées avec Kismet, il est nécessaire de les sauvegarder dans un format standard
de capture (PCAP) avec les méta-informations wifi (puissance, trame d’annonce, etc.) avec la position,
puis de les convertir afin de les sauvegarder dans le format ElasticSearch

Sujet 112 : Where are you ? - Une application de localisation


Auteur : Dylan Forest
Responsable : Marius Bilasco
CONTEXTE
Dans le cadre de ce projet, nous souhaitons développer une application à destination de tous, per-
mettant à ses usagers de se retrouver facilement dans un espace plus ou moins restreint via un minimum
dinteractions. Lapplication se veut donc simple et épurée afin de privilégier son utilisation lorsque lon
veut retrouver un ami, dans une foule, une place, ou même une ville de façon précise et surtout rapide.

28
PROJET
Il sagira donc de débuter ce projet par un état de lart des possibilités existantes afin de positionner
celui-ci et de définir précisément les attentes des usagers quant à son utilisation. Dans un second temps
et à partir d ! es spécifications, il sagira de développer lapplication dans une optique multi-plateformes,
en utilisant le framework PhoneGap notamment. Les fonctionnalités principales engloberont la gestion
dune liste de contacts, les demandes de localisation et la génération ditinéraires.

Sujet 113 : 54.1 : 54 à la découpe


Auteur : Étienne Ollion Et Samuel Hym
Responsable : Étienne Ollion Et Samuel Hym
Voir le sujet 54 et la version complète (lien ci-dessous).
Liens en rapport :
• Sujet complet http://www.lifl.fr/~hym/s/parlementaires.html

Sujet 114 : 54.2 : 54 à la découpe


Auteur : Étienne Ollion Et Samuel Hym
Responsable : Étienne Ollion Et Samuel Hym
Voir le sujet 54 et la version complète (lien ci-dessous).
Liens en rapport :
• Sujet complet http://www.lifl.fr/~hym/s/parlementaires.html

Sujet 115 : 54.3 : 54 à la découpe


Auteur : Étienne Ollion Et Samuel Hym
Responsable : Étienne Ollion Et Samuel Hym
Voir le sujet 54 et la version complète (lien ci-dessous).
Liens en rapport :
• Sujet complet http://www.lifl.fr/~hym/s/parlementaires.html

Sujet 116 : Applet JAVA animée et avec intéraction pour intégra-


tion WEB
Auteur : Walter Nuninger
Responsable : Walter Nuninger
Développement d’un applet java pour visualisation d’animations (avec interaction) pour être intégré dans
un site web (html)
Besoin : solutions TIC compatibles multisupport de manière transparente pour les utilisateurs (via
un accès par navigateur WEB ou via un mobile sous android) de manière à illustrer simplement des
fonctionnements attendus de machines (API) avec action/rétroaction de l’homme.
Contexte : cours de Grafcet s’appuyant sur un LMS (Moodle) ou un site web.
Contraintes : - accessibilité - pas d’installation complexe pour l’utilisateur (sinon un navigateur à jour
ou un simple téléchargement). - la solution permet une réaction dynamique sur action de l’utilisateur
(saisie, sélection, clic de souris, ou mouvement de souris) - multisupport (accessible ou lisible sur android
ou exécutable sur une simple pc (tout OS)
Enjeu : faire comprendre un fonctionnement habituellement décrit en texte et sans machine réelle
pour aider à la conception de GRAFCETs simples et la compréhension des E/S.
Fonctionnalité du produit : modification du monde virtuel à partir d’information monde réel (clic de
bouton maintenu ou pas, valeur de paramètre éventuellement, mouvement) avec déplacement de figures
symboliques ou photos (en x,y voire z) pour montrer le fonctionnement attendu. Les sorties sont donc
visuelles à partir de calcul simple (translation, rotation), avec simulation de chute ou versement. Le
contrôle est fait par l’application selon les valeurs d’E/S au départ et en cours de fonctionnement.
Exemple 1 : fonctionnement vérins monostable ou bistable (translation tige etc), représentation de
bouton, interrupteur

29
Exemple 2 : plateau ou tapis indexé
Exemple 3 : un objet percé et fraisé sur ordre, visualisation virtuelle des perçage et fraisage de
durée différente avec avance/retrait outils etc. de manière à voir la séquentialité et les actions parallèle.
Symbolisme : rectangle, couleur, tige. . .
L’idée serait la traduction de mes énoncés pour illustrer par du visuel de manière simple (sans chercher
à faire un outil de simulation) un comportement souhaité.
Résultats attendus (négociables) : produit fini correspondant à un fonctionnement directement ex-
ploitable produit plus générique modifiable ou adaptable (java dans ce cas) éléments fonctionnels ba-
siques faciles à relier pour créer de nouveaux fonctionnements (mouvement, organisation, veille d’événe-
ments/actions) . . . (voir enjeu)
Extension : visualiser le grafcet solution (sans passer par des outils type automgen compliqué), dans
les cas simples : déplacement jeton sur un graphe donné en fond d’écran
La solution technique imposée est : javascript, java pour intégration html (transparente pour l’utili-
sateur), code pour android encapsulé avec tutoriel se réalisable.
Si vous êtes intéressés par ce projet, n’hésitez pas à poser vos questions pour plus de précisions et à
me contacter pour un rendez-vous.

Sujet 117 : Implémentation d’algorithmes de DHT anonymes


Auteur : Julien Iguchi-Cartigny
Responsable : Julien Iguchi-Cartigny
Le but de ce projet est d’écrire une implémentation d’algorithme de P2P anonyme en l’intégrant dans le
framework gnunet.

Sujet 119 : [ALTERNANT] étudiant :Abdelrhamane Benhammou


& entreprise :Erdf Madeleine
Auteur : Laurent Nieloud
Responsable : Mikaël Salson

Sujet 120 : [ALTERNANT] étudiant :Timothee Buquet & entre-


prise :__Sans Entreprise__
Auteur : Referent__ __Sans
Responsable : Philippe Marquet

Sujet 121 : [ALTERNANT] étudiant :Thomas Chambon & entre-


prise :Icréo - Lille
Auteur : Referent__ __Sans
Responsable : Philippe Marquet

Sujet 122 : [ALTERNANT] étudiant :Maxime Clement & entre-


prise :Unis
Auteur : Michaël Macquart
Responsable : Maude Pupin
Maxime travaille avec 7 autres alternants sur GIGA (Gestion Interne du Groupe Astrea), le projet de
refonte du SI de Astrea. Le développement des différentes fonctionnalités est collectif. Maxime présentera
donc une vision globale du projet avec les apports du nouveau SI par rapport aux actuels (il y en a un
par entreprise du groupe).

30
Sujet 123 : [ALTERNANT] étudiant :Arthur-Guilhem De Bus-
schere & entreprise :Payplug
Auteur : Stephane Planquart
Responsable : Philippe Marquet

Sujet 124 : [ALTERNANT] étudiant :Jean-Benoit Delbrouck &


entreprise :Kiabi
Auteur : Matthieu Deglin
Responsable : Laetitia Jourdan

Sujet 125 : [ALTERNANT] étudiant :Pauline Dessingué & entre-


prise :Norsys
Auteur : Gautier Gaspard
Responsable : Jean-Claude Tarby

Sujet 126 : [ALTERNANT] étudiant :Salla Diagne & entreprise :Ve-


kia
Auteur : Hanh-Missi Tran
Responsable : Romain Rouvoy

Sujet 127 : [ALTERNANT] étudiant :Jean-Vital Durieu & entre-


prise :Kiabi
Auteur : Pruvost Dominique
Responsable : Laetitia Jourdan

Sujet 128 : [ALTERNANT] étudiant :Mickael Flament & entre-


prise :Hello Gurus
Auteur : Remi Grumeau
Responsable : Patricia Plenacoste
CPU-Z validator : site web responsive. Description : le site web CPU-Z validator regroupe les informations
extraites à partir du logiciel CPU-Z. Ce logiciel permet à lutilisateur dextraire des informations de son
système (fréquence cpu, type de dam, etc) et de les sauvegarder (voire publier) sur le site CPU-Z validator.
Ce site propose donc une gestion dutilisateur (et de ses validations), divers classements (le processeur
intel le plus rapide enregistré par exemple) et informations.

Sujet 129 : [ALTERNANT] étudiant :Etienne Mercier & entre-


prise :Contexeo
Auteur : Médéric Morel
Responsable : Angela Bonifati

31
Sujet 130 : [ALTERNANT] étudiant :Antonin Noel & entreprise :Ge-
nesio
Auteur : Benjamin Envent
Responsable : Philippe Marquet

Sujet 131 : [ALTERNANT] étudiant :Anis Shurbaji Tello & entre-


prise :Decathlon
Auteur : Antoine Legendre
Responsable : Yves Roos

Sujet 132 : [ALTERNANT] étudiant :Etienne Wattebled & entre-


prise :Ubik Ingenierie
Auteur : Anthony Langeron
Responsable : Céline Kuttler
L’entreprise contribue des plugins pour Apache JMeter, un outil pour les tests de performance. Le premier
plugin sur lequel Etienne travaille, et qu’il presentera en soutenance, permet d’effectuer des test de
workload sur des serveurs de video (protocole HTTP Live Streaming, HLS). Avec ceci Etienne monte en
comptetences sur le Java, sur l’unit testing, ainsi que sur le fonctionnel.

32

Vous aimerez peut-être aussi