OMPG est une extension d'OPENMAP développée depuis plusieurs années au sein
du GREYC. Cette extension tente de séparer les couches de données des couches interfaces d'openmap (application d'un modèle général MVC) et apporte les fonctionnalités nécéssaires pour réaliser des cartes de géographie.
Schéma de classes d'OMPG
La gestion des données est réalisée par une couche d'abstraction (DataStorage) pour différentes sources de données permettant ainsi un changement souple de source d'information lors de la réalisation d'une carte de géographie.
Trois "DataStorage" sont actuellement implémentés, ShapeFileDataStorage, XMLTableDataStorage et PostgisDataStorage. Nous souhaitons rajouter d'autres sources d'informations dont une capable de lire et d'écrire du GML, langage de description d'information géographique promulgué par le consortium OpenGIS et actuellement dans sa version 3.1.1..
Travail à réaliser
Un premier travail a déja eu lieu, cependant seulement quelques fonctionnalités ont été implémentées (notamment la lecture d'un fichier GML). Le projet de cette année aura pour but l'implémentation complète de la norme pour la partie lecture et la mise en place d'une fonction d'écriture de fichier GML ainsi que la sauvegarde de cartes au format KML. Il faudra donc :
Faire un audit du code existant.
Finaliser l'implémentation de GMLDataStorage pour l'importation de fichiers GML.
Implémenter la classe GMLDataStorage pour l'écriture d'information géographique au format GML.
Fournir le détail des implémentation relativement à la norme.
Développer les GUI nécessaires à la configuration et la sauvegarde de fichiers GML.
permettre la sauvegarde d'une carte réalisée avec ompg pour google maps (kml restreint)
permettre la sauvegarde d'une carte au format kml 2.2 (pour google earth)
Connaissances requises
La connaissance de Java est requise pour ce projet. L'utilisation du serveur subversion est obligatoire.
Tout le monde a entendu parler de la RFID, technologie
révolutionnaire qui vise à mettre une puce physique sur un produit
puis à la lire pour obtenir directement les informations du produit
contenant la puce. EPC (Electronic Product Code) est un code unique
associé à tout produit afin de permettre une tracabilité forte d'un
produit tout au long de sa vie. Le réseau EPCGlobal a pour but de
structurer les moyens (matériels et logiciels), les données ainsi que
la façon d'échanger ces informations de façon à ce que 2 entreprises
puissent tirer profit de la technologie et améliorer la logistique (supply chain) au
sein de leur entreprise.
Travail à réaliser
Le projet consiste à étudier et faire une synthèse des problématiques Discovery Services au sein d'un réseau EPCglobal. il faudra :
identifier et étudier différentes technologies susceptibles de répondre à tout ou partie de ces problématiques, par exemple moteur de recherche, XML routing, ...
faire une ou deux propositions d'implémentation en s'appuyant sur les technos identifiées.
NB:
Ce projet peut déboucher sur un stage chez France-Telecom Recherche et Développement de Caen en fonction du travail effectué.
Tout le monde a entendu parler de la RFID, technologie
révolutionnaire qui vise à mettre une puce physique sur un produit
puis à la lire pour obtenir directement les informations du produit
contenant la puce. EPC (Electronic Product Code) est un code unique
associé à tout produit afin de permettre une tracabilité forte d'un
produit tout au long de sa vie. Le réseau EPCGlobal a pour but de
structurer les moyens (matériels et logiciels), les données ainsi que
la façon d'échanger ces informations de façon à ce que 2 entreprises
puissent tirer profit de la technologie et améliorer la logistique (supply chain) au
sein de leur entreprise.
Travail à réaliser
Aujourd'hui les normes EPCglobal ne prennent en compte que la lecture RFID, hors il existe d'autres moyens d'identification d'informations. L'objectif du projet est d'étudier la généralisation de la collecte des informations de traçabilité à d'autres formes de terminaux, en particulier les mobiles avec lecture de databar ou de datamatrix (codes 2D).
NB:
Ce projet peut déboucher sur un stage chez Orange Labs de Caen en fonction du travail effectué.
Dans le cadre des échanges B2B, ebXML se veut le successeur de l'EDI. Basé sur une architecture et un ensemble de composants normalisés par l'OASIS, ebxml propose de fournir des outils pour mieux structurer et échanger l'information entre duex professionnels. RepXML est un projet lancé par EDIFrance dont le but est d'aider à la mise en oeuvre des échanges électroniques entre entreprises. RepXML, projet utilisant le paradigme de web services, a été développé en utilisant le registre de stockage de Freebxml. La nouvelle version de ce registre, disponible depuis un an, implemente l'intégralité des recommandations de l'OASIS ce qui n'était pas le cas lors de la réalisation de la première version de RepXML.
Travail à réaliser
Le but de ce projet est de porter RepXML sur la nouvelle version du registre fourni par FreebXML. Pour cela il faudra :
Faire un état des lieux des fonctionnalités disponibles dans le cahier des charges et vérifier leur implémentation dans la version existante de FreebXML.
Proposer une modelisation UML de la nouvelle implémentation.
Proposer une mise à jour des technologies utilisées pour realiser l'implémentation.
Réaliser l'implémentation.
Connaissances requises
La connaissance de Java est requise pour ce projet. L'utilisation du serveur subversion est obligatoire.
NB:
Ce projet peut déboucher sur un stage chez Orange Labs de Caen en fonction du travail effectué.
Dans le cadre des échanges B2B, ebXML se veut le successeur de l'EDI. Basé sur une architecture et un ensemble de composants normalisés par l'OASIS, ebxml propose de fournir des outils pour mieux structurer et échanger l'information entre duex professionnels. RepXML est un projet lancé par EDIFrance dont le but est d'aider à la mise en oeuvre des échanges électroniques entre entreprises. RepXML, projet utilisant le paradigme de web services, a été développé en utilisant le registre de stockage de Freebxml. La nouvelle version de ce registre, disponible depuis un an, implemente l'intégralité des recommandations de l'OASIS ce qui n'était pas le cas lors de la réalisation de la première version de RepXML.
Travail à réaliser
Le but de ce projet est de fournir un outil qui permette de valider les Core Components stockés dans RepXML. Pour cela, ilfaudra :
Fournir un moyen simple de modéliser les 200 règles de validation existantes.
Réaliser l'implémentation d'un outil prenant un flux textuel en entrée et vérifiant qu'il respecte les règles existantes.
Proposer une version web service de cet outil
Connaissances requises
La connaissance de Java est requise pour ce projet. L'utilisation du serveur subversion est obligatoire.
NB:
Ce projet peut déboucher sur un stage chez Orange Labs de Caen en fonction du travail effectué.
Les spécialistes médicaux font un usage fréquent de l'imagerie
médicale pour évaluer les pathologies, prévoir leurs interventions et
en mesurer les effets. En particulier, les orthopédistes réalisent sur
les radiographies un ensemble de mesures géométriques qui leur servent
à préparer leurs opérations, à évaluer la justesse de la pose des
implants chirurgicaux et contrôler leur évolution dans le temps.
Evamed, jeune entreprise spécialisée dans
l'évaluation médicale, met à disposition de ses clients un outil
facilitant les mesures réalisées sur des images médicales. Elle a
développé un logiciel en java permettant de réaliser des constructions
géométriques sur une image médicale, à partir de points
anatomiques. La photographie numérique des grands clichés
radiologiques (50cm x 70 cm par ex.) pose un problème
méthodologique. En effet les déformations géométriques et les pertes d'informations sont parfois importantes.
Travail à réaliser
L'objectif du projet est d'apporter une méthode de prise de vue photographique assurant le maximum de qualité, et de développer un logiciel accessible en ligne capable de mesurer la déformation et la perte d'information. Les étapes du projet seront :
Recherche documentaire sur les déformations et pertes d'informations classiques liées à la prise de photo numérique, ainsi que sur les méthodes de calibrage et les techniques d'analyse d'image à utiliser.
Rédaction d'un protocole de prise de photo destiné à maximiser la qualité de la numérisation.
Création d'une grille de calibrage et d'un logiciel destiné à valider la qualité de la numérisation en mesurant les déformations géométriques ainsi que les pertes de détails et de contrastes.
Connaissances requises
Le logiciel développé devra être léger et multi-plateforme. Une applet java semble la plus appropriée, la connaissance de java semble donc requise.
Evamed, est une jeune entreprise spécialisée dans la réalisation d'études d'évaluation médicale. Elle a développé un outil informatique accessible en ligne permettant de déployer des études cliniques et de gérer des dossiers patients intégrant des formulaires dynamiques.
Mesure d'un angle sur un radio de patient
Une part importante de l'activité consiste à recueillir via des formulaires HTML des données issues de l'analyse d'imageries médicales ou de l'observation clinique. Des schémas sont présentés en vis à vis des champs de saisie pour expliquer le sens de la mesure à réaliser. On trouve par exemple des mesures angulaires sur la mobilité des articulations, la position des implants, la reproduction anatomique (le patient a-t-il été allongé par la prothèse?).
Exemple d'interface de saisie d'angles
Problématique
La définition de ces mesures géométriques est souvent complexe, et constitue un obstacle à la compréhension des formulaires médicaux. Il est donc souhaitable de rendre les schémas explicatifs interactifs pour en faciliter la lecture et accélérer le processus de saisie de l'information.
Travail à réaliser
L'objectif du projet est de
développer un outil permettant de créer des schémas vectoriels dont
certaines parties présentent des degrés de liberté permettant à l'utilisateur de modifier le schéma pour le faire correspondre à sa
situation. Les degrés de libertés peuvent être des rotations (dans le
cas de mesures d'angles) et des translations simples ou doubles (dans
le cas de mesures de longueurs).
Le schéma dynamique devra renseigner les champ d'un formulaire avec les valeurs des degrés de liberté correspondant au positionnement des pièces mobiles.
Contraintes
La contrainte générale du projet est de générer des schémas « dynamiques » compatibles avec les technologies web (navigateurs standards, javascript et formulaires HTML). Ces schémas devront s'intégrer dans la solution en ligne d'Evamed.
Exemple de schéma : positionnement d'une cupule
Dans le cas de l'étude du positionnement d'une cupule (partie femelle de la rotule d'une prothèse de hanche) on veut pouvoir faire tourner la rotule sur son centre, et déplacer ce centre suivant les axes X et Y. Sur le schéma devront figurer les angles alpha et béta et la mesure CH. Ces mesures seront mises à jour en fonction des déplacements de l'objet libre.
Positionnement graphique d'un angle d'une cupule
Le schéma « dynamique » ainsi créé devra pouvoir transférer le résultat de ces mesures dans les champs d'un formulaire HTML.
Choix technologiques
Le choix des technologies fait partie du travail de l'étudiant. Il devra évaluer les possibilités des différents langages (Java, javascript, SVG, AJAX, XML...) dans le cadre des contraintes de ce projet et mener l'implémentation jusqu'à l'intégration dans l'outil Evamed.
Le problème du voyageur de commerce est un problème connu comme étant un problème np-complet, ie un problème algorithmiquement difficile à résoudre en un temps limité. Par ailleurs, les accès à des services web sont de plus en plus nombreux. Parmi ces derniers, google maps est un service accessible sur le web qui offre des fonctionnalités nombreuses en terme d'interaction pour visualiser de l'information géographique.
Le but du projet va être de réaliser un service offrant à un voyageur de commerce la possibilité d'obtenir une tournée optimale en fonction de critères qu'il sélectionnera.
Travail à réaliser
Mettre en place un service basé sur google maps pour la réalisation d'une tournée. Il sera nécessaire de :
Définir un web service capable de calculer une tournée optimum à partir de l'ensemble des points constituant la tournée ainsi que de contraintes fixées par l'utilisateur.
Interfacer google maps pour la saisie des étapes et le rendu des circuits.
Le langage est laissé au choix de l'étudiant. Le web service implémentant le problème du voyageur de commerce utilisera ROUTE 500 comme fichier de ressource des routes, donnée nécessaire pour la réalisation de l'implémentation de l'algorithme du voyageur de commerce.
Le CERTIC est une structure
d'interface entre les entreprises et les laboratoires d'informatiques
de l'Université de Caen, notamment le GREYC. Disposant d'une salle de
formation, de bureaux d'accueil, d'une plateforme matérielle au 17 rue
Claude Bloch dans les locaux du CIT, le CERTIC doit, de par sa nature,
être à même de configurer et d'administrer facilement sa plateforme
pour l'adapter aux besoins des différents projets qu'il héberge.
Travail à réaliser
Le but de ce projet est de mettre en place les outils nécessaires
pour permettre une administration aisée de la plateforme matérielle et
logicielle du CERTIC. Ainsi, l'étudiant devra :
Mettre en place Nagios, ou sa surcouche centreon, pour surveiller les différentes machines et services disponibles sur la plateforme du CERTIC.
Développer les sondes SNMP pour les services de production du CERTIC (site web, subversion, web services, bases de données, etc...).
Mettre en place un outil d'installation automatique pour les machines de la plateforme. Proposer différents profils (développement, formation, etc...).
Configurer automatiquement les nouvelles machines pour qu'elles apparaissent dans l'outil de management de la plateforme.
Connaissances requises
Des connaissances en réseau et en administration Unix sont requises pour le projet. La version de linux installée sera Debian.
L'OUEN (OFFICE
UNIVERSITAIRE D'ETUDES NORMANDES) est un organisme fédérateur qui
regroupe des chercheurs qui effectuent leur recherche sur la
Normandie. Dans ce cadre, certains de ces chercheurs, linguistes de
leur état, ont lancé une enquête nommée « Patrimoine linguistique et
pratiques langagières et en Normandie ». Le but du projet va être de construire un outil pour partager et valoriser les recherches ainsi que les résultats qui en découlent.
Travail à réaliser
Le système informatique à construire devra permettre :
L'intégration des résultats de l'enquête menée par différentes persones (texte, données audio, fichier excel résultants de l'analyse, etc ...)
Cartographier les pratiques langagières, phonétiques et lexicales. Il faut être capable de définir une zone langagière commune pour un trait langagier particulier.
Permettre l'accès à tous les résultats de l'enquête, par géolocalisation, pratique langagière, question, témoin, etc...
Permettre l'exportation des données sotckées dans le système au format, XML, texte ...
Connaissances requises
Langages utilisés : PHP5 objet pour le back-office, un autre langage pour l'algorithme de création des zones langagières communes.
ULTEO est une jeune entreprise
innovante incubée par Normandie Incubation. Ulteo travaille à
l'élaboration de solutions innovantes autour des systèmes
d'exploitations.
Dans ce cadre, ULTEO utilise Zsync, un outil de transfert
de fichier incrémental sur protocole HTTP. Il permet d'obtenir une
mise à jour d'un fichier depuis un serveur en ne transférant que les
modifications ayant eu lieu sur un fichier, ce qui lui permet d'être
efficace lors de la mise à jour de gros fichiers. Pour optimiser les
transferts, Zsync utilise gzip pour compresser les données ce qui est
important lorsque le débit réseau est faible (comme cela peut être le
cas lorsque l'on utilise l'ADSL).
Le but de ce projet va être
d'étudier une optimisation des flux d'informations entre un client et
un serveur de façon à minimiser les données échangées lors de la mise
à jour d'un fichier.
Travail à réaliser
Le travail à réaliser sera effectué en différentes
étapes :
Etudier le principe de Zsync et les
algorithmes sous-jacents.
Détecter les optimisations
possibles dans les techniques de compressions utilisées (l'utilisation
de bzip2 à la place de gzip est-elle un solution enviseageable
?).
Proposer une implémentation des modifications.
Tester et montrer en quoi la nouvelle version est plus ou moins
performante que Zsync.
Connaissances requises
Des connaissances en algorithmique sont souhaitées pour ce projet.
Eurodemat est une jeune entreprise
innovante incubée par Normandie Incubation. Eurodemat travaille à
l'élaboration d'une plateforme de dématérialisation des factures. Dans
le cadre de cette plateforme, Eurodemat doit intégrer un workflow pour
la signature d'une facture par plusieurs personnes.
Travail à réaliser
Pour ce projet, il faudra :
Indentifier les actions, intervenants et contraintes mis en oeuvre dans le workflow de la signature d'un document.
Modélisation en UML.
Etude des outils de workflow libres disponibles sur le web. Comparer les fonctionnalités par rapport aux besoins.
Implémentation.
Tests et intégration dans la plateforme.
Connaissances requises
Utilisation de subversion obligatoire.
NB:
Ce projet peut déboucher sur un stage chez Eurodemat.
La plupart des systèmes de recherche d'information gagneraient à
produire une vue globale du document, pour permettre à la fois un
point de départ pour une recherche à l'intérieur du document, et la
représentation d'une collection de documents sous forme de
vignettes.
Par exemple, les documents ramenés par un moteur de
recherche seraient ainsi représentés pour indiquer dans quel passage
de texte les mots-clés de la requête ont été trouvés. Les images de
texte peuvent aussi servir comme une sorte de mémoire des documents
parcourus, spécialement quand ceux-ci sont longs.
Objectifs
Le but du projet est de fournir une représentation réduite de
n'importe quel document, quelle que soit sa taille, sur une page
écran. Cette « carte » ou image ou vue plane du document doit
représenter la disposition d'ensemble du document. Elle doit
permettre par exemple de distinguer un document des autres dans
une collection.
La présentation sera faite en SVG, à partir de documents HTML ou PDF.
Nous nous intéressons à la recherche de documents textuels présents
dans des bases de documents de très grande taille. L'échelle visée est
celle d'internet, aussi l'ordre de grandeur est celui de la centaine de
millions de documents.
Nous supposons que l'utilisateur formule une requête sous forme d'un
ensemble de mots clés, et que le système doit retourner, dans un laps de
temps le plus court possible, la liste des documents qui contiennent ces
mots clés.
Compte tenu du nombre de document, il n'est bien entendu pas
envisageable de les parcourir tous à chaque nouvelle requête.
Nous nous intéresserons donc ici aux méthodes permettant une recherche
sous-linéaire par rapport au nombre de documents, et en particulier aux
méthodes basées sur des "fichiers inversés".
Objectifs
Nous implémenterons l'une de ces méthodes et nous la
validerons dans un premier temps sur un corpus de documents
textuels. Dans un second temps nous réaliserons l'indexation
d'un site complet comportant plusieurs dizaines de milliers de
pages. Une interface écrite en PHP permettra l'utilisation du
moteur de recherche via une page web.
Un accent particulier sera mis sur le problème de la complexité des
algorithmes et sur leur capacité à passer à l'échelle.
Nous nous intéressons à la recherche de documents textuels présents
dans des bases de documents de très grande taille. L'échelle visée est
celle d'internet, aussi l'ordre de grandeur est celui de la
centaine de millions de documents.
Nous supposons que l'utilisateur formule une requête sous
forme d'un ensemble de mots clés, et que le système doit
retourner, dans un laps de temps le plus court possible, la
liste des documents qui contiennent ces mots
clés. Nous nous intéresserons donc ici aux méthodes permettant
une recherche sous-linéaire par rapport au nombre de documents,
et en particulier aux méthodes basées sur des « fichiers
inversés ».
Le nombre de fichiers inversés, égal au nombre de mots du
vocabulaire, est généralement très élevé. Cependant tous les
mots du vocabulaire n'ont pas la même importance (les
déterminants par exemple sont porteurs de peu d'information),
et nous allons, pour en limiter le nombre, mettre au point une
méthode de sélection automatique des mots clés les plus
informatifs.
Objectifs
Pour ce faire, nous allons utiliser un petit corpus de documents pour
lesquels les catégories de ces documents sont connues. Nous prendrons
l'exemple des dépêches et définirons 10 classes différentes (sport,
politique, etc.). Nous entraînerons un classifieur Bayésien, capable
de modéliser les différentes classes à partir de la présence/absence
d'un mot particulier du vocabulaire dans le document, et utiliserons
cette modélisation pour dresser la liste des mots clés les plus
informatifs.
libre
16. Explorer l'indexation des documents d'écriture alphabétique par mots et par caractères
Le concept de mot est à la base des moteurs de recherche actuels :
indexer un document consiste à le découper en mots et
enregistrer dans l'index que ces mots sont dans ce document;
et rechercher des documents consiste pour l'internaute
à écrire une requête sous forme de quelques mots, et pour le
moteur à lui renvoyer les URL classées des documents contenant
ces mots.
Le mot est bien inscrit dans l'écriture alphabétique des
langues occidentales (sauf en finnois, et sauf les mots
composés en anglais, en allemand) ; de plus le mot est
variable (nombre, cas), et plusieurs formes correspondent à un
même sens. Par exemple, si on recherche war, on n'obtient pas
les documents contenant wars ou wargame.
Mais en chinois ou en japonais, les mots ne sont pas délimités
dans l'écriture, mais reconstitués par le lecteur. Comment les
documents en chinois sont-ils indexés ? Les documents sont
indexés par des suites de n lettres (on dit n-grammes), n
étant compris entre 1 et 4 pour le chinois.
Travail réalisé l'an dernier
Le sujet de l'an dernier avait un but exploratoire : comment
repenser la problématique des moteurs de recherche sans
utiliser le concept de mot, donc en indexant les documents de
langues à écriture alphabétique comme les langues à
idéogrammes telles que le chinois : par n-grammes.
Ces explorations ont montré que l'indexation par n-grammes
permet de retrouver des documents qui contiennent les mots
demandés et aussi leurs variantes (war demandé -> wars et
wargame aussi obtenus), ou une partie des mots demandés (wars
demandé -> war aussi obtenu), ce qui comble des silences de
l'indexation par mots, mais au prix de beaucoup de bruit (des
documents non pertinents).
Quelques expériences de méthodes hybrides (indexation par
n-grammes et par mots) ont été faites ; cette piste bénéficie
des avantages des 2 méthodes et semble prometteuse.
C'est cette piste que vous allez explorer cette année.
Objectifs
Explorer expérimentalement des méthodes hybrides
d'indexation et de recherche par mot et par n-grammes, pour
des documents de langues d'écriture alphabétique.
Évaluer comparativement la méthode par mot et les
méthodes hybrides par mot et par n-grammes.
Protocole expérimental :
télécharger des documents (100, puis 1000) ;
les indexer par la méthode hybride expérimentée ;
faire des expérimentations de recherche et classement
de documents à partir de différents types de requête ;
faire ces expérimentations sur des langues alphabétiques
variées (français, anglais, allemand, finnois, ...) (si on ne
connait pas la langue, on a besoin d'un locuteur pour écrire
des requêtes, et juger de la pertinence des réponses) ;
mettre en place la méthode classique d'indexation par
mots pour faire des évaluations comparatives sur les mêmes
collections de documents ;
pour chaque requête, pour chaque méthode, évaluer la
pertinence des 10 premiers documents obtenus ;
Le jeu video est en plein développement et on voit apparaître
des joueurs professionnels, sponsorisé par des équipementiers
d'informatique ou des éditeurs de jeux. Les services aanexes
proposés au joeur connaissent le même engouement, Nous
souhaitons proposer des méthodes d'aide à la décision qui
permettent de produire des recommandations stratégiques.
Warcraft III est un jeu de stratégie en temps réel. DotA est
un mode opposant des équipes de héros. Chaque héros possède
des caractéristiques uniques et peut être équipé d'items qui
les améliorent.
Copie d'écran de Warcraft
Objectifs
Pendant la rediffusion d'un match de DotA, vous effectuez
l'acquisition vidéo de la mini-carte, située en bas à gauche de
l'écran. À partir de cette vidéo, vous extrayez la position au cours
du temps de chaque joueur, créature et bâtiment du jeu pour produire
un relevé XML du match.
Agrandissement de la mini carte
Technologies
Vidéo et image, acquisition d'une portion de l'écran,
technologies XML en particulier PMML (Predictive Model Markup
Language). Une motivation et une bonne connaissance du jeu
vidéo ou du sport est un atout pour ce projet.
libre
18. Traitement linguistique des appels à contribution pour les conférences scientifiques
La présentation d'articles lors de conférence est la base de
l'économie du chercheur. Abonné à des listes de diffusion, celui-ci
reçoît quotidiennement plusieurs appels à contribution au format
texte, qui ne le concernent pas toujours.
Il n'existe pas à ce jour de format standard pour un appel à
contribution et l'extraction d'information doit être réalisée
à l'aide de techniques de traitement automatique du
langage. Lorsque cette étape est réalisée, un
site internet rassemblant ces appels est simple à concevoir.
Travail demandé
Ce projet est découpé en plusieurs parties, à moduler suivant la
formation, la motivation et le niveau de l'étudiant :
Proposer une chaîne de traitement linguistique d'un appel
à contribution pour étiqueter le titre de la conférence, les lieux,
dates, mot-clés, membres du comité de programme. Cette chaîne est
élaborée à l'aide de LinguaStream, qui propose une interface graphique
et la conception de traitement à l'aide d'enchaînement de tâches
élémentaires. Les résultats sont indexés dans une base de données XML
eXist.
Réaliser un site internet en XQuery sous eXist ou avec un
système de gestion de contenus comme typo3 qui présente les appels à
contribution.
Évaluer les performances de la chaîne d'extraction
d'information et proposer une structuration du système
d'information et des connaissances potentielles.
Technologies
Expressions régulières, traitement automatique de la langue,
grammaires, technos XML.
Il faut pour la première partie de ce projet un étudiant
motivé par l'extraction d'information dans des corpus de
texte. C'est la tâche préliminaire essentielle à la qualité du
service attendu.
libre
19. Recommandation pour la publication scientifique
La publication d'articles lors de conférence ou dans des revues
est la base de l'économie du chercheur. Il existe cependant de
nombreuses conférences et journaux qu'il est difficile pour le
chercheur de connaître exhaustivement. La recommandation de
soumission pour la publication scientifique soulage ce travail.
Cette information est cependant potentiellement disponible
puisque de nombreux sites internet recensent les publications
(google Scholar,
CiteSeer, DBLP). À partir d'un auteur, on peut
reconstituer les endroits où il publie et les collègues avec
lesquels il publie régulièrement.
Travail demandé
Ce projet est découpé en deux parties, à moduler suivant la formation, la motivation et le niveau de l'étudiant :
En utilisant les ressources d'internet et l'indication de
quelques auteurs phares d'un domaine scientifique, vous
reconstituez le réseau social correspondant et les sources
récurrentes de publication.
Des techniques de fouille de données permettent la
sélection de l'information pertinente.
Créé voici deux ans, cameravideo.net dispose de forums très
actifs (environ 100.000 visiteurs/mois et un million de pages
vues) et aborde les différents thèmes qui tournent autour de
la vidéo numérique (de l'achat de matériel, montage,
realisation de films, post-production) .
On constate ce qui arrive à tous les forums, une masse
d'information tombe dans l'oubli faute de classification et de
structuration.
Site caméra vidéo
Travail demandé
On souhaite structurer l'information contenue dans les forums
afin de proposer à l'utilisateur un accès plus
ergonomique. Pour cela, le corpus des forums subit un
traitement linguistique à l'aide de Linguastream, une
plateforme graphique pour le TAL (les TP de fouille de données
s'appuient également sur Linguastream). À l'issue de ce
traitement, les mots ou groupes de mots émergents sont
capturées et structurent l'information.
Ce projet peut être prolongé en stage.
Technologies
Fondamentaux du traitement automatique des langues,
Linguastream, fouille de données. Pour réaliser ce projet, il
faut être motivé pour la prise en charge de gros corpus de
texte et la réalisation d'une chaîne de fouille de données.
Il s'agit de réaliser entièrement un système de traduction
automatique par l'exemple et par analogie en appliquant les
principes de la conception du logiciel et de la programmation
objet. En plus, il s'agit de réaliser une interface de
traduction en ligne et de traduction de fichiers de quelques
centaines de lignes, avec évaluation automatique de la qualité
de traduction.
Le principe de traduction par l'exemple et par analogie est le suivant. Pour traduire la phrase Il traversait la rivière à la nage. on recherche des phrases similaires ou pas, dont on connaît à l'avance des traductions. Par exemple :
Elle traverse la rivière à la nage. She swims across the river.
Il chantait. He sang.
Elle chante She sings.
De ces trois phrases particulières, on peut dire que « Il
traversait la rivière à la nage. » est à la phrase
« Elle traverse la rivière à la nage. »
comme la phrase « Il chantait. ». est à la
phrase « Elle chante. ».
En transposant en anglais, on peut dire que la phrase
recherchée doit être à la phrase « She swims across
the river. » comme la phrase « He
sang. » est à la phrase « She
sings. »
La seule phrase correspondant à cette définition est :
« He swam across the river. », qui est bien
une traduction de « Il traversait la rivière à la
nage. ».
Spécification complète du système à l'aide de diagrammes UML complets.
Implémentation complète du système en Python (langage imposé).
Spécification et implémentation de l'interface de traduction et de test.
Démonstration avec des jeux de tests de campagnes internationales d'évaluation de la traduction automatique.
Apport attendu
Le système peut être testé sur plusieurs jeux de tests de campagnes
internationales d'évaluation de la traduction automatique. Ces jeux de
tests comprennent des données d'entraînement, des données de
développement et des données de tests avec leur références. On attend
la mise en place d'une interface graphique pour lancer des
démonstrations avec des jeux de tests stocker les résultats et les
comparer automatiquement. Cela implique l'intégration de modules
existants d'évaluation automatique.
Des données nouvelles peuvent être obtenues par
alignement sous-phrastique au moyen de programmes
disponibles sur le web ou mis au point au laboratoire
GREYC. On attend la mise en place d'une interface graphique
pour lancer des démonstrations avec des jeux de tests
incluant ou pas certains des alignements ainsi obtenus afin
de comparer les performances.
Diverses heuristiques sont déjà mises en place dans le
système actuel (écrit en C) pour restreindre l'espace de
recherche. On attend la mise en place d'une interface de
paramétrage pour pouvoir mesurer automatiquement la
contribution des diverses heuristiques.
La synthèse de textures doit permettre de retoucher une image
après suppression ou effacement d'une partie afin de garder une bonne
apparence visuelle.
Objectifs
Il s'agit dans une première phase d'implémenter l'algorithme de synthèse de
texture, et de le tester ensuite sur des images artificielles.
Programmation
C++ sur avec la bibliothèque Pandore, ou Python.
libre
23. Caractérisation d'images de bulles en vue de l'extraction d'une
signature invariante.
Il s'agit de caractériser des images représentant des bulles réparties
géométriquement d'une manière aléatoire.
Pour cela, on envisage d'extraire les bulles, de les représenter par un
graphe, pour envisager par la suite d'extraire une signature de chaque
bulle à partir d'une caractérisation de ce graphe
libre
24. Construction d'une interface visuelle en openLASZLO
Il s'agit de developper une interface pour la visualisation de flux de
données XML .
Des détails seront données plus tard, pour les etudiants intéressés.
Les psychologues de l'université de Caen de l'équipe PALM
(Psychologie des actions langagières et motrices) ont comme
projet l'étude de l'apport de la multimodalité dans
l'apprentissage de l'écriture.
L'apprentissage de la lecture et de l'écriture repose sur une mise
en correspondance systématique entre des lettres ou des groupes de
lettres (les graphèmes) et des unités sonores abstraites (les
phonèmes). Ce système alphabétique s'appuie sur
l'émergence progressive d'une conscience phonologique au cours de
laquelle l'enfant découvre que les mots se scindent en des
phonèmes pouvant être transcris en graphèmes. Dans ce
schéma classique, la composante motrice est exclue de ce double
apprentissage. Or, l'écriture et la lecture constituent aussi des
habiletés motrices complexes acquises par apprentissage. Ainsi,
l'écriture et la lecture nécessitent que l'enfant découvre
une correspondance entre des phonèmes, des graphèmes et la
composante morphocinétique associée à l'écriture ou à
la lecture. La composante morphocinétique concerne la trajectoire
cursive qui développe dans l'espace bidimensionnel de la feuille la
forme caractéristique d'une lettre. Lire ou écrire signifie
alors d'être en mesure de réaliser un appariement entre trois
composantes fondamentales : les composantes phonémique,
graphémique et morphocinétique. Or, cette dernière composante
ne fait pas l'objet d'un apprentissage explicite au cours de
l'acquisition de l'écriture ou de la lecture. Le projet que nous
proposons vise à introduire dans l'apprentissage de l'écriture
et de la lecture la composante morphocinétique. Il s'agit de
créer un système informatisé de reconnaissance vocale d'une
morphocinèse (la trace écrite). Ce système permettrait
d'associer un feed-back auditif en temps réel à la production
morphocinétique de l'enfant. Celui-ci est ainsi amené à une
modification immédiate du geste pour obtenir le phonème
souhaité. Il s'agit, dans un premier temps, de développer un
module d'acquisition des traces graphiques. Un module de
reconnaissance de formes géométriques, de lettres et de mots
doit ensuite être développé. Dans un dernier temps, il s'agit
d'interfacer ce module avec un logiciel de synthèse vocale.
Objectifs
Il s'agit d'un projet exploratoire qui aura comme objectif de
proposer une architecture opérationnelle. Il faudra évaluer
et proposer les briques logicielles existantes ou à
développer.
Le module particulier se chargeant de la reconnaissance de
l'écriture en relation avec les gestes pourra utiliser une
méthode d'apprentissage semi-supervisée. Il s'agira alors
d'implémenter et d'évaluer une approche de classification et
de reconnaissance de lettres (et de mots) . Cela passera par
l'extraction de primitives de bases (formes géométriques)
d'une lettre et leur catégorisation avec une approche à
définir.
Ces propositions seront validées dans une maquette.
protection de la propriété intellectuelle, tatouage, traitement
automatique de la langue
Contexte
Le tatouage numérique ou watermarking est une technique permettant
d'ajouter des informations de copyright ou d'autres messages de
vérification à un document numérique. Il est le plus souvent
appliqué aux données multimédia telles que l'image, le son ou
la vidéo.
La modification du document doit toutefois continuer de permettre son
utilisation ; cette technique se distingue donc des DRM (Digital Right
Management) car un document tatoué doit garder, au maximum, les
mêmes possibilités d'usage qu'un document non tatoué.
Nous avons déjà développé au GREYC, un algorithme de
tatouage que nous avons appliqué aux données géographiques.
Notre méthode de tatouage consiste à introduire un biais
statistique sur une propriété de certaines parties choisies du
document. Nous avons dénommé ces parties des « sites » du documents.
Une clé qui permet d'effectuer le choix des sites à
marquer. Cette clé permet aussi d'effectuer la vérification
permettant de prouver si oui ou non un document est tatoué. Le
marquage d'un site se fait en le modifiant ; cette modification ne
doit pas altérer les qualités d'usages du document qu'il a
été choisi de préserver.
Nous proposons pour ce projet de l'appliquer sur du
texte écrit ; nous proposons également un autre projet
pour travailler sur la tatouage de graphes.
Objectifs
La qualité d'usage du texte qui est à préserver est son sens ;
il faudra donc proposer une définition des sites et de leurs
modifications possibles qui préservent le sens du texte. Les sites
doivent pouvoir être choisis comme étant ou non à marquer ;
ce choix pourra se baser sur des critères syntaxiques de la langue
qui seront aussi à définir.
Ces propositions seront validées par un prototype.
protection de la propriété intellectuelle, tatouage, coloriage de graphes
Contexte
Le tatouage numérique ou watermarking est une technique permettant
d'ajouter des informations de copyright ou d'autres messages de
vérification à un document numérique. Il est le plus souvent
appliqué aux données multimédia telles que l'image, le son ou
la vidéo.
La modification du document doit toutefois continuer de permettre son
utilisation ; cette technique se distingue donc des DRM (Digital Right
Management) car un document tatoué doit garder, au maximum, les
mêmes possibilités d'usage qu'un document non tatoué.
Nous avons déjà développé au GREYC, un algorithme de
tatouage que nous avons appliqué aux données géographiques.
Notre méthode de tatouage consiste à introduire un biais
statistique sur une propriété de certaines parties choisies du
document. Nous avons dénommé ces parties des « sites » du documents.
Une clé qui permet d'effectuer le choix des sites à
marquer. Cette clé permet aussi d'effectuer la vérification
permettant de prouver si oui ou non un document est tatoué. Le
marquage d'un site se fait en le modifiant ; cette modification ne
doit pas altérer les qualités d'usages du document qu'il a
été choisi de préserver.
Nous proposons pour ce projet de transposer ces possibilités
sur des coloriages de graphes ; nous proposons également un autre projet
pour travailler sur la tatouage de textes.
Objectifs
La qualité du document à préserver sera le nombre de couleurs
utilisées par le coloriage. Un site pourra être constitué
d'un sommet et de ces sommets voisins, ainsi que de toutes les
arêtes entre ces sommets. Il s'agira alors de modifier
certains sites afin de contraindre le coloriage produit par le
logiciel de coloriage de façon à ce que le coloriage produit
puisse être identifié comme tatoué.
L'algorithme de tatouage ne devra pas dépendre du logiciel de coloriage
et ne nécessitera pas de connaissance sur celui-ci.
Par contre, il pourra dépendre de la provenance des graphes
(par exemple les graphes modélisant des réseaux sociaux).
Le travail sera validé par un prototype.
libre
28. Plate-forme logicielle modulaire pour le traitement, la structuration et la
classification d'images de cyto-pathologie cancéreuse
architecture logicielle modulaire (add-ons, plug-ins) ;
analyse et traitement d'images ;
structuration et classification de données.
Contexte
Le travail d'un médecin cyto-patologiste consiste en autre à
dépister, à diagnostiquer, et à prévenir la normalité ou
les anomalies des prélèvements qu'il a à sa disposition.
L'essor des systèmes d'acquisitions permet à nos jours d'obtenir
de images numériques (de grandes dimensions) de ces prélèvements.
Le rôle de l'informatique est donc d'offrir une aide au médecin,
grâce à des techniques de traitements d'images et de classification de
données, dans sa prise de décision.
Dans ce contexte, le but de ce projet est de concevoir une plate-forme
logicielle permettant de réaliser le cycle d'analyse suivant
à partir d'une image :
segmenter, extraire les objets d'intérêts dans
l'image;
analyser les objets extraits;
classer ou annoter les résultats ;
visualiser les résultats.
Travail demandé
Il ne s'agit pas pour l'étudiant de concevoir les algorithmes de traitements
d'images ou de classification de données même si des connaissances dans
ces domaines peuvent être utiles. Ces algorithmes lui seront fournis
sous formes de programmes externes.
Le travail consiste d'une part à analyser et à concevoir l'architecture
logicielle, sous forme de plate-forme add-ons, ou de plug-ins
(architecture type mozilla, gimp, eclipse, ...).
Cette plate-forme devra ainsi permettre a posteriori l'intégration
de nouveaux modules et/ou de nouveaux programmes de traitement,
d'analyse et de classification.
D'autre part, la structuration des données dans ce travail est
à réaliser.
L'étudiant sera donc amené à analyser comment les échanges pourront
s'organiser entre les différents modules, comment les données extraites
seront structurées, hiérarchisées pour pouvoir être réutilisé par la suite.
Réalisation
il sera demandé à l'étudiant de réaliser un prototype de la plate-forme.
Les technologies à mettre en œuvre seront de préférence le C/C++ et Qt pour
l'interface utilisateur et le XML pour la structuration des données.
Le projet consiste à installer et mettre en œuvre un outil
d'interaction langagière homme-machine. L'objectif est de définir un
ensemble de primitives de commandes langagières pour la conduite d'un
robot.
Objectifs
Reprendre le travail réalisé dans le cadre d'un projet.
Le projet consiste à mettre en oeuvre des caméras de robots
pour la mise en place d'outils de vision. On se limitera à un
outil d'interprétation par le robot des gestes humains. Le
projet consiste à observer un geste réalisé par l'homme et
l'analyser pour l'interpréter en commandes. Par exemple, si un
homme veut montrer la bonne direction à un robot, il faut par un
geste montrer la bonne direction et le robot s'exécutera. Le
projet consiste à utiliser des techniques d'analyse de scènes.
Objectifs
Recensement d'une base de scènes gestuelles et la mise
en fonction des caméras des robots Koala et/ou Wifibots.
Mise en place d'un algorithme d'analyse d'une scène.
Mise en place d'un algorithme d'interprétation de gestes.
De nombreux utilisateurs possèdent des milliers de photos
numériques de voyages, amis, famille, vie quotidienne, etc.
Typiquement, les photos sont stockées sur ordinateur personnel dans une
structure de répertoire. Les informations dont chacun dispose sur les
photos se résument en général au nom du répertoire et du fichier.
En revanche, on dispose rarement d'une description du contenu. Et moins
encore un ensemble de métadonnées qui seraient directement intégrées
dans la photographie.
Objectifs
Le projet vise à fournir un outil d'aide à l'annotation.
Une description de photographies (individuelle, ou bien en lots)
en RDF serait fournie par ce système. Cette annotation serait
intégrée dans la photo. On pourra ainsi constituer un catalogue
par moissonnage de toutes ces descriptions dans un autre fichier RDF
Un système d'interrogation incluant les éléments de contexte par
usage de SPARQL permettra de retrouver des lots de photos.
L'annotation des images s'appuiera sur les formats XMP (Adobe).
On proposera une exportation des photos dans une page web qui
inclura les métadonnées en RDF-a.
Compression conservative, arbre de contexte, codage arithmétique.
Contexte
La compression peut être vue comme un processus qui cherche à
modéliser une donnée pour en donner une description plus
succincte. L'objet de ce stage est d'étudier une méthode statistique de
compression conservative basée sur les arbres de contextes (appelée
CTW pour « context-tree weighting »).
Pour cette méthode, au fur et à mesure de la lecture d'un texte, on
cherche à prévoir, i.e., à calculer la probabilité, du prochain
symbole en regardant un nombre fini de caractères le précédant, appelé
contexte. L'ensemble des contextes peut être représenté à l'aide d'un
arbre, et si on adjoint à chaque contexte une liste de probabilités des
symboles, on obtient un arbre de contextes.
La difficulté réside dans la construction de cet arbre et sa mise à
jour au cours du processus de compression/décompression. En effet il
existe plusieurs critères qui permettent de construire un tel arbre,
et on en cherche un qui soit à la fois calculable efficacement et
garantissant un bon taux de compression.
Une fois la phase de prédiction d'un symbole effectuée à partir du
modèle, le résultat est transmis par exemple à un codeur
arithmétique pour encodage effectif sous forme d'une chaîne de bits.
Objectifs
Implémentation de l'algorithme de compression basé sur les arbres de
contextes (modélisation par un arbre des contextes et codage
arithmétique).
Étude expérimentale et algorithmique de différents critères de
construction de l'arbre de contextes.
Comparaison avec d'autres méthode de compression (efficacité, taux
de compression).
Les ordinateurs portables - donc souvent nomades - sont de plus
en plus répandus. Ils sont susceptibles de se connecter à
l'Internet dans des endroits variés. Par ailleurs, ils peuvent
supporter des services divers, accessibles de l'extérieur sous
réserve d''autorisation par les coupe-feu du réseau d'accueil.
L'objectif est de proposer à l'utilisateur un moyen commode de
configurer un coupe-feu sur sa machine, en fonction de ce qu'il
souhaite laisser accessible ou/et ce à quoi il souhaite accéder,
selon l'emplacement où il se trouve.
Travail proposé
Il s'agit d'étudier les possibilités des coupe-feu pour au moins
deux systèmes différents (par exemple Linux et FreeBSD ), et de
créer une interface de configuration commode pour ceux-ci, ou
d'adapter une existante. La configuration devra être testée (au
moyen d'un compte ou serveur extérieur) pour indiquer à
l'utilisateur ce qui fonctionne réellement (ce qui revient à
détecter les interdictions dues aux coupe-feux du réseau
d'accueil). Il faudra également tester les ports ouverts sur la
machine pour proposer à l'utilisateur de les protéger ou non.
Contraintes
Pouvoir disposer d'un système sous Linux, et un autre (par
ex. mac, pc avec freebsd. On pourrait envisager sous Windows,
mais on risque d'être rapidement bloqués par des logiciels
"propriétaires"), connectables sur divers réseaux, sur lesquels
on a quelques possibilités d'action sur le coupe-feu (université
par négociation avec les administrateurs systèmes, personnels
avec routeur d'accès facilement configurable, ...). Pouvoir
également disposer d'un compte "extérieur" pour tests (sur ce
point, le compte universitaire doit pouvoir suffire, là encore
sous réserve de quelques négociations avec les
administrateurs).
Les ordinateurs portables - donc souvent nomades - sont de plus
en plus répandus. Ils sont susceptibles de se connecter à
l'Internet dans des endroits variés. Pour pouvoir utiliser un
maximum de services du réseau de l'entreprise du propriétaire,
un accès VPN peut être très utile. Il s'agit de tester de tel(s)
système(s), de proposer des configurations adaptées, d'offrir à
l'utilisateur une commodité de configuration, de tester les
possibilités réellement obtenues.
Travail proposé
Étudier les systèmes de VPN disponibles, et tournant sur les
différents systèmes (y compris bien sûr celui utilisé déjà dans
notre département). Proposer des configurations adaptées aux
différents cas d'utilisation du portable (professionnel,
personnel, mixte, selon les réseaux d'accueil). Les
configurations étant activées, tester les possibilités
réellement obtenues par rapport à une liste d'utilisations
habituelles du propriétaire du portable.
Contraintes
Posséder un appareil nomade pouvant supporter plusieurs systèmes,
utiliser une autre machine en serveur de vpn pouvant être accédée de
l'intérieur comme de l'extérieur. Après une phase de test, envisager
de se concerter avec les administrateurs système pour configurer un
serveur d'accès à l'université ou/et proposer des modifs à l'existant.
libre
36. Fusion de données et Catégorisation de données comportementales
graphe, vidéo, données compotementales, fusion de données
Contexte
Le travail proposé s'inscrit dans le cadre d'un projet COVIMAGE
3D en partenariat avec le pôle Modélisation en Sciences
Cognitives (ModeSCo) de la MRSH. Il s'agit de la reconstitution
par synthèse d'images corporelles 3D des mouvements dansés dans
le contexte de la danse contemporaine. L'objectif est de
concevoir un outil de recherche permettant de constituer un
corpus de gestuelles (mouvements pluriarticulaires) adossé au
répertoire chorégraphique mettant en exergue la sensation (pour
ne pas dire l'émotion) gestuelle, une sorte de vérité analytique
du mouvement.
Objectifs
Le travail consiste à travailler sur un ensemble de données
expérimentales recueillies afin de les transposer sous forme de
registres de corpus virtuel 3D. Une première gamme d'applications
envisagée et l'identification et la catégorisation de corps dansants.
Notre objectif est de proposer un modèle unifié d'analyse et de
catégorisation de données hétérogènes. La méthode proposée se décompose
en deux étapes : une étape d'analyse et de réduction de données
provenant de chaque source et une étape de fusion et d'analyse de
données provenant de sources hétérogènes.
coupes de graphe, optimisation, contour actif, vidéo
Contexte
La vidéo intelligente constitue un développement essentiel pour tout un
éventail de nouvelles applications et rend les systèmes de sécurité
actuels encore plus précis et plus efficaces. En recourant à de
nouvelles fonctionnalités intelligentes telles que le comptage de
personnes ou le « rideau virtuel » permettant de démarquer un endroit
spécifique dans un champ de vision donné. les systèmes de
vidéosurveillance peuvent aller plus loin dans l’analyse à la source.
Grâce à ces systèmes, il est aujourd’hui possible de collecter les
données vidéo répondant à certains critères spécifiques – en fonction
par exemple d’anomalies ou d’irrégularités détectées par rapport aux
mouvements normaux. La vidéo intelligente permet ainsi de fournir des
informations beaucoup plus ciblées et pertinentes.
Objectifs
On souhaite implémenter une méthode de segmentation interactive 3D,
basée sur les graphcuts. En fait, il s'agit d'utiliser les graph cuts
comme minimiseurs d'énérgie, dont l’idée de base est la
suivante :
On plaque sur l’image un graphe dont les sommets sont pixels ou
voxels de l’image, et dont les arêtes relient les pixels voisins
(avec une connectivité choisie).
On place d'une manière automatique un certain nombre de
marqueurs à l’intérieur des objets à segmenter et à
suivre.
On calcule alors une coupe minimale qui est alors une
hypersurface minimale pour notre problème.
Dans ce projet, on propose d'utiliser les algorithmes à base de Graph
Cuts pour trouver des régions «graines» donnant une correspondance fiable
entre 2 images, et extraire ensuite les couches de
mouvement.
graphe, catégorisation, image, texte, structure de document
Contexte
Les méthodes spectrales ont été utilisées récemment avec succès dans
plusieurs domaines pour la classification des données. Il s'agit d'une
formulation du problème de clustering des données sous forme d'un
problème de coupe de graphe normalisée.
Objectif
L’objectif du projet est d'implémenter ici une approche similaire basée
sur les graphes et qui exploitent la similarité structurelle entre les
documents web.
Dans certaines applications de suivi d'objets dans la vidéo, les objets
cibles doivent être segmentés avec précision. Cette tâche est rendue
difficile par le présence d'ombres des cibles.
Objectif
Ce projet a pour but l'implantation et l'évaluation d'un algorithme de
détection et de suppression d'ombres dans des flux vidéo.
Openmango est une jeune
entreprise dont le but est de fournir des infrastructures systèmes
basées sur l'opensource aux petites et moyennes entreprises. Dans ce
cadre, Openmango souhaite mettre en oeuvre la supervision de son
architecture.
L'architecture proposée par Openmango est à deux niveaux :
en local (sur la base d'un LAN) et distante (traversant le réseau étendu)
un réseau d'entreprise desservant les postes de travail des utilisateurs ainsi que les serveurs d'entreprise
un réseau de serveurs autonome desservi par une gateway gérant la passerelle avec le réseau d'entreprise
le réseau de serveurs ainsi que les serveurs eux mêmes sont embarqués dans un contexte de
systèmes virtualisés (ils sont la plupart du temps installés sur une seule machine physique –
le réseau étant alors lui même virtualisé mais peuvent faire l'objet d'une répartition sur
plusieurs serveurs physiques) les composants standards principaux :
le serveur gateway assurant le rôle de serveur dhcp (ip dynamiques) pour le réseau d'entreprise et pour le réseau de serveur (ip statiques)
les serveurs applicatifs (un bâti sur le modèle LAMP et l'autre sur une base bureautique)
les serveurs d'infrastructures, un dédié à l'administration de l'infrastructure (serveurs et postes de travail « Open Mango Systèmes) et l'autre à sa sécurisation(annuaire LDAP et stratégie de
protection des données)
En distant :
une infrastructure répliquant l'installation locale la plus complète (l'hypothèse retenue sera les composants standards principaux)
un serveur des images systèmes installées concernant les infrastructures réparties
un serveur de supervision d'ensemble
Les moyens de communication actuels :
un tunnel compressé crypté avec authentification par clés RSA est aujourd'hui dédié au déport des couches X11
un réseau ADSL / SDSL – IP V4 – IP V6 –
Travail à réaliser
Mettre en place l'architecture de supervision basée sur Nagios ou Cacti. Le réseau de supervision étendu doit transiter par liens VPN sécurisés matériellement. La fonction de supervision doit permettre de remonter et concentrer les informations de supervision et
d'alerte de chacun des sites au site de supervision fédérale.
Les éléments locaux de supervision doivent faire l'objet d'une insertion dans le serveur local
d'administration; un shell d'installation est produit (accompagné des différentes sources de
configuration et d'installation). Les fonctionnalités à gérer sont :
Supervision réseau : vérification de la santé du réseau informatique.
charges et disponibilités (IP V4 / IPV6)
présence / absence voulue (logicielle et matérielle)
intégrité des composants logiciels pour les équipements de hauts niveaux
Supervision serveur : vérification de la santé d'un serveur ou d'une application.
paramètres physiques des machines, grappes raid
charge et disponibilité des machines comme des applications critiques
présence des services critiques et absence des services indésirables
intégrité des images systèmes
Exécution de commandes :
actions/programmes lancés automatiquement
stratégies de contre mesures avec escalades (ex : arrêt serveurs si pb alimentation)
Stratégie d'alertes : émission de message sous forme sonore ou visuelle.
mise en oeuvre des alertes avec escalades (visuelles et sonores)
identification des composants à l'origine de l'alerte
gestion des incidents et de leurs prises en compte
Cartographie : vue d'ensemble de l'architecture informatique.
intégration des équipements de bas niveau (hub / switch)
cartographie fédérale et locale
Rapports d'activité : tableaux de bord et histogrammes.
rapports périodiques
états interactifs
Connaissances requises
Utilisation de subversion obligatoire.
NB:
Ce projet peut déboucher sur un stage chez Openmango.
Pour les dernières élections, des « machines à voter », en
fait des logiciels tournant en boîte noire sur des PC
classiques, ont été utilisées dans certains bureaux de
vote. De nombreuses recherches ont mis à jour des failles de
sécurité dans certaines de ces machines. De plus, elles ne
permettent pas de vérifier le dépouillement.
Plusieurs protocoles de vote électronique basés sur la
cryptographie à clef publique ont été proposés ces dernières
années. Ces protocoles, contrairement aux machines à voter,
permettent d'effectuer un vote en ligne en garantissant
diverses notions telles que le secret et la vérification
universelle du vote. Une construction générique de protocole
de vote électronique utilise des systèmes de chiffrements
cryptographiques dits homomorphiques tels que le cryptosystème d'Elgamal
ou celui de Paillier.
Objectifs
Il s'agira dans un premier temps de développer une application
modélisant un protocole basique de vote électronique en utilisant le
système de Paillier. Lorsque cette première phase sera terminée, on
pourra mettre en place une architecture client-serveur plus complète
en intégrant d'autres mécanismes permettant d'atteindre des propriétés
supplémentaires, telles que la robustesse du système face à des
électeurs voire des autorités malintentionnés.
Date de dernière modification : April 08 2009 14:58:13.