PROJETS INDUSTRIELS INDUSTRIAL PROJECTS

Transcription

PROJETS INDUSTRIELS INDUSTRIAL PROJECTS
École
Supérieure
et
Applications
d’Informatique
de
Lorraine
PROJETS
INDUSTRIELS
INDUSTRIAL
PROJECTS
2007 / 2008
UNIVERSITÉ HENRI POINCARÉ - NANCY 1
École Supérieur e d'Informatique
et Applications de Lorraine
Campus Aiguillettes
193, avenue Paul Muller - CS 90172
54602 VILLERS-LÈS-NANCY
Tél : +33.(0)3.83.68.26.00 - Fax : +33.(0)3.83.68.26.09
http://www.esial.uhp-nancy.fr
E-mail : [email protected]
Pour tous renseignements complémentaires contactez :
For any further information, please contact the following people :
Suzanne
André
COLLIN
SCHAFF
Email : [email protected]
Email : [email protected]
LORRAINE
E S IA L
Remerciements
Acknowledgments
Nous tenons à remercier
We would like to thank
les élèves, l’ensemble des encadrants industriels et
universitaires, ainsi que l’équipe technique et administrative de l’ESIAL, sans lesquels le bon déroulement de
ces projets industriels n’aurait été possible.
the students, industrial and academic supervisors,
and ESIAL technical and administrative staff, without
whom satisfactory progress of these industrial projects
would not have been possible.
SOMMAIRE - CONTENTS
Présentation et déroulement ..........................................................................................................
P. 4
Presentation and progression .........................................................................................................
P. 5
Fiche de proposition de projet industriel ...............................................................................
P. 7
Industrial project proposal form ..............................................................................................................
P. 9
Projets
Projects
- 6WIND...................................................................................................................................................
Haute disponibilité des protocoles réseaux
P. 12
High-availability network protocols
- ARTEFACTS STUDIO .....................................................................................................................
Module intelligent d’animation de personnages de jeux vidéo
P. 14
Plug-in for smart video game character animation
- ATOS ORIGIN ....................................................................................................................................
Partage de la vision du suivi d’affectation
P. 16
Web application for employees’ assignments
- COULLOMB INGÉNIERIE .........................................................................................................
Plateforme web pour le suivi de constructions
P. 18
Web platform for construction monitoring
- CTG LUXEMBOURG ......................................................................................................................
PUMA, un outil de gestion de projet
P. 20
PUMA, a project management tool
- DEXIA
Projet 1 - DEXIA ADTS : .........................................................................................................................
Budget manager, une application de gestion de budgets
P. 22
Budget Manager, a budget managing application
Projet 2 - DEXIA BIL : .............................................................................................................................
Création d’un simulateur de prêts à la consommation
P. 24
Consumer loan simulator
- EURO INFORMATION DÉVELOPPEMENTS ....................................................................
Outil de parsing de fichiers sources
P. 26
Source Code Analysis
- FRANCE TELECOM .......................................................................................................................
Recherche de vulnérabilités par fuzzing
Searching vulnerabilities by fuzzing
P. 28
- GOODYEAR ........................................................................................................................................
Mise en œuvre d’une architecture SOA basée sur des outils open source
P. 30
Implementation of a Service Oriented Architecture
- INTERNATIONAL MONETARY FUND .................................................................................. P. 32
Fundelicious, outil intranet de gestion de favoris
Fundelicious, intranet bookmarking tool
- IPELIUM ................................................................................................................................................. P. 34
Conception et intégration d’une plateforme de workflow pour le “business development”
Designing and integrating a workflow platform for “business development”
- KITRY CONSULTING....................................................................................................................... P. 36
Amélioration des processus gestion des contrôles périodiques
Improvement Control Regulation and Equipment Mangement
- NIST
Projet 1 : ........................................................................................................................................................ P. 38
Étude de faisabilité pour l’implémentation de Qt ® afin d’améliorer la portabilité de DIVERSE
Feasability Study of Implementing Qt® to improve DIVERSE’s portability
Projet 2 : ........................................................................................................................................................ P. 40
Fusion de capteurs optimisée
Effective Sensor Data Fusion
Projet 3 : ........................................................................................................................................................ P. 42
Développement d’une librairie multi-plateformes destinée à la collecte d’informations systèmes
Developpement of a multi-platform library to gather system information
- NXP SEMICONDUCTORS ............................................................................................................ P. 44
Étude de faisabilité d’un MTM sur la plateforme mobile 3G de NXP Semiconductors
Is it possible to implement a MTM on 3G mobile phone ?
- ORANGE BUSINESS SERVICES .................................................................................................. P. 46
Mise à disposition d’une bibliothèque graphique fonctionnant sous le système d’exploitation eCos
Graphical user interface for eCos
- PSA PEUGEOT-CITROËN .............................................................................................................. P. 48
Projet RefOutil
Reftool Project
- REUTERS ............................................................................................................................................... P. 50
Project Tracker : amélioration d’un système de virtualisation et de suivi des facturables projet
Project Tracker : improvement of a System for Virtualizing and Tracking Projects
- SCALABLE GRAPHICS .................................................................................................................
Développement d’un logiciel de gestion de bureau distant compatible avec les applications 3D
P. 52
Remote Desktop compatible with 3D applications
- TÉLÉ VIDÉO ESPACE .....................................................................................................................
Outils pour affichage dynamique
Tools for Digital Signage
P. 54
PRÉSENT A TION et DÉROULEMENT
Définition
Calendrier
La finalité du projet de 3ème année ESIAL est de
sensibiliser les étudiants aux problèmes concrets des
entreprises en leur soumettant une étude industrielle
qu'ils devront mener à bien. Cette étude est initiée par
une entreprise partenaire d'ESIAL.
Septembre 2007 :
Étude des propositions de projet.
Les projets portent principalement sur la spécification et la réalisation d'un produit industriel ou
logiciel (du cahier des charges ... aux tests) issu des
domaines d’application de l’informatique, des
réseaux, des télécommunications et de la productique.
Il est ainsi l'occasion de pratiquer sur des cas industriels, les outils, langages, techniques, méthodes,
modèles et concepts enseignés durant les trois années
de la formation.
Début octobre 2007 :
Choix du sujet et début du travail sur le
projet.
Du 17 au 25 septembre 2007 :
Présentation aux élèves.
20 décembre 2007 :
Remise du 1er rapport et 1ère présentation orale
en anglais.
5, 6, 7 mars 2008 :
Audit individuel de chaque projet industriel.
En plus de l’aspect problème complexe à analyser, ce projet comporte également une composante
gestion de projet et de génie logiciel comme la définition d’un cahier des charges et la production des documents spécifiques : spécification, conception, tests,
manuel utilisateur, manuel de maintenance, etc. Il est
aussi l’occasion d’utiliser des méthodes rigoureuses et
des outils informatisés. Certains projets se poursuivent
par un stage, sans que ce soit une règle stricte.
20 mars 2008 :
Rapport et soutenance de fin de projet.
Organisation
Les groupes de projet sont formés de quatre élèves (voire exceptionnellement de 3), issus des spécialisations de
l’ESIAL : Ingénierie du logiciel ; Télécommunications, Réseaux et Services ; Systèmes d’Information d’Entreprise ;
Applications Logicielles pour les Systèmes Industriels et Logiciels Embarqués. Ceci permet de sensibiliser tous les étudiants
aux problèmes de communication, d’organisation et de circulation d’information.
La quantité de travail personnel à fournir par chaque élève est estimée à 250 heures ce qui représente pour une
équipe de quatre personnes l’équivalent de six “mois-hommes”. Chaque projet est suivi côté entreprise par un responsable (maître d’ouvrage) et côté école par un enseignant (consultant). Chaque groupe fait une présentation à miparcours (en anglais) et en fin de projet. Un rapport intermédiaire, un rapport final et un audit font également parties intégrantes du projet industriel.
Les projets industriels ne font l’objet d’aucune clause financière. L’ESIAL met à disposition de chaque groupe de
projet, au moins deux PCs et les logiciels de base. Toutefois, les frais liés aux déplacements des élèves et des encadrants universitaires ainsi que les matériels et logiciels spécifiques au projet sont à la charge des entreprises.
-4-
PRESENT A TION and PROGRESSION
Definition
Schedule
Third year ESIAL projects aim at heightening
students’ awareness of real issues met by companies by
carrying out an industrial project. This project is proposed by an ESIAL partner company.
September 2007 :
Evaluation of project proposals.
From September 17 to September 25, 2007 :
Presentation to students.
Projects mainly deal with the specification and
development of an industrial or software product
(from requirements listing to final testing), in the
fields of computer science applications, networking,
telecommunications and industrial automation. They
provide an opportunity to use the tools, languages,
techniques, methods, models and concepts learned
during the 3-year course in industry.
Beginning of October 2007 :
Subject selection and beginning of the work.
December 20, 2007 :
Publication of the first report and presentation
in English.
March 6, 7, 8, 2008 :
Individual audit of each industrial project.
In addition to analysing a complex issue, these
projects involve project management and software
engineering, for example in defining reguirement lists
and generating specific documents : specification,
design, tests, user and servicing guidebooks. They also
present an opportunity to use rigorous methods and
computer tools. Some projects lead to an internship,
but it is not an absolute requirement.
March 20, 2008 :
Final document and presentation.
Organization
Projects usually team up 3 to 4 ESIAL students majoring in : software engineering ; telecommunications, network and services ; company information systems and software applications for industrial systems. This enables all
students to become aware of communication, organization, and information sharing issues.
Personal work is estimated at 250 hours for each student, equivalent to 6 man-months for a 4 person team.
Each project is supervised by an industrial supervisor and by an academic advisor. Each team gives a presentation
both at mid-term (in English) and at the end of the project. An intermediate report, a final document and audit also
form an integral part of the industrial project.
Industrial placements involve no financial compensation. ESIAL provides each group of students with at least
two PCs along with usual software. However, all expenses linked to the trainee’s travel, supervision and academic involvement, materials and sofware specific to the project are the responsability of the company.
-5-
Si vous souhaitez proposer un projet industriel pour la rentrée universitaire 2008 / 2009,
vous pouvez nous retourner ce document ou le télécharger, dans la “rubrique partenariats”
sur le site de l’école : http://www.esial.uhp-nancy.fr
PROJET INDUSTRIEL 2008 / 2009
- INDUSTRIEL -
PROPOSITION
Document à retourner
au plus tard pour fin
août 2008.
Structure
...........................................................................
Projet suivi par
...........................................................................
Adresse
...........................................................................
...........................................................................
...........................................................................
Tél : ..........................
Fax : ..........................
E-mail : .............................................................
- CONTEXTE DU PROJET - Titre :
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- Sujet :
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- Environnement :
- humain
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- matériel
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- logiciel
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- Aspects Innovants :
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
✂
Les projets industriels ne font l’objet d’aucune clause financière. L’ESIAL met à disposition de chaque groupe de projet au
moins deux PCs et les logiciels de base. Toutefois, les frais liés aux déplacements des élèves et des encadrants universitaires ainsi
que les matériels et logiciels spécifiques au projet sont à la charge des entreprises.
Please return this document before 08/31/2008
to : [email protected] or by fax : 00.33.3.83.68.26.09
INDUSTRIAL PROJECT 2008 / 2009
- ENTERPRISE Name of the structure
PROPOSITION
.....................................................................
Name of the
...........................................................................
responsible for the project
Address
...........................................................................
...........................................................................
...........................................................................
Phone : .......................... Fax : ..........................
E-mail : .............................................................
- PROJECT CONTEXT - Title :
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- Subject :
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- Environments :
- human
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- material
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- software
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
- Innovating aspects :
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
✂
Industrial placements involve no financial compensation. ESIAL provides each group of students with at least two PCs along
with usual software. However, all expenses linked to the trainee’s travel, supervision and academic involvement, materials and
sofware specific to the project are the responsability of the company.
PROJETS
INDUSTRIELS
INDUSTRIAL
PROJECTS
2007 / 2008
E S IA L
6WIND
HAUTE DISPONIBILITÉ
DES PROTOCOLES RÉSEAUX
High-availability network protocols
ABSTRACT
2007 / 2008
This industrial project was proposed by 6WIND company, a specialist in embedded networking
software,based in Montigny-le-Bretonneux and at the initiative of Mr. Vincent Jardin. Students
who worked on this project are Frossini Jeremie, Jerome Desachy and Thibault Lemoine. The
university supervisor is Ms. Moufida Maimour.
Élèves
Jérôme DESACHY
Jérémie FROSSINI
Thibault LEMOINE
Computers are the nervous system of the company, that is why it is common to ask a system to
do a distribution of the workload and, in case of failure, to have high availability behaviour. The
goal is to secure the system by setting up machines that can be relayed.
The purpose of this project is to understand the impact of “high availability”.
In order to do this subject, we started learning how to use OpenAIS and Quagga software.
OpenAIS is a program that rapidly creates applications for clusters and his goal is to maintain
services even in case of hardware or software failure.
Quagga is a routing daemon allowing a computer to do the same functions of a network router,
and more to communicate with another router to exchange information about routing.
The project is composed of several tasks:
1. Come to grip with OpenAIS
2. Writing a first daemon based on OpenAIS
3. Writing a report on OpenAIS /Quagga
4. Creating a game slide about the “evs” functions
5. Making a demon based on Quagga
Partenaire
1, place Charles de Gaulles
78180 MONTIGNY-LEBRETONNEUX
Encadrants
industriel
Vincent JARDIN
To write these programs, we had to use the functions “evs”, Extended Virtual Synchrony, which
allow to send messages. They use UDP/IP, so an issuer can transmit some data, ensuring that
changes in a group should be observed by all members of the group at the same time.
Finally, this project has allowed us to gain knowledge of theoretical and practical issues regarding
the routing protocols,using of daemons and networks in general.
- 12 -
universitaire
Moufida MAIMOUR
E S IA L
6WIND
PRÉSENTATION
Ce projet industriel a été proposé par l’entreprise 6WIND, spécialiste du marché des logiciels réseau IP, situé à Montigny-leBretonneux et à l’initiative de M. Vincent Jardin. Les étudiants ayant travaillé sur ce projet sont Jérémie Frossini, Jérôme Desachy
et Thibault Lemoine sous la tutelle de leur encadrante universitaire Mme Moufida Maimour.
Les ordinateurs composent le système nerveux de l’entreprise, c’est pourquoi il est fréquent de demander à un système de proposer
une répartition de la charge de travail et, en cas de panne, d’avoir un comportement haute disponibilité. Il n’est pas question d’augmenter la puissance de calcul mais de sécuriser le système par la mise en place de machines pouvant se relayer.
Le but de ce projet est de comprendre l’impact de la “haute disponibilité” sur l’ingénierie des protocoles réseaux à partir des modèles
et API qui sont standardisés par le “Service Availability Forum”.
Afin d’appréhender ce sujet, nous avons commencé par prendre en main les logiciels OpenAIS et Quagga.
OpenAIS est un logiciel permettant de créer rapidement des applications pour des clusters. Le but principal d’OpenAIS est de maintenir le service continuellement, indépendamment des pannes systèmes ou matérielles.
Quagga est un démon de routage, c’est donc un logiciel donnant la possibilité à un système de jouer le rôle de routeur réseau, et
surtout de dialoguer avec un autre routeur pour échanger ses informations de routage.
Le cahier des charges est constitué des ces différentes phases :
1.
2.
3.
4.
5.
Prise en main d’OpenAIS.
Écriture d’un premier démon basé sur OpenAIS.
Écriture d’un rapport sur OpenAIS /Quagga.
Création d’un jeu de slides sur les fonctions “evs”.
Réaliser un démon basé sur Quagga.
Afin d'écrire les programmes, nous avons dû utiliser les fonctions “evs”, Extended Virtual Synchrony, qui permettent une gestion de
l'envoi de message. Elles utilisent le standard UDP/IP afin qu'un émetteur puisse transmettre à plusieurs receveurs des données,
garantissant ainsi que les changements qui surviennent dans un groupe soient observés par tous les membres du groupe au même
moment (Virtual Synchrony).
La communication avec les différents intervenants s’est principalement faite par mail ou par MSN. Des conversations téléphoniques
ont également eu lieu toutes les deux semaines afin de faire un bilan sur l’état d’avancement du projet.
De plus, nous avons envoyé des “weekly report” chaque semaine afin de rendre compte des tâches effectuées.
Finalement, ce projet nous a permis d'acquérir des connaissances aussi bien théoriques que pratiques concernant les protocoles de
routages, l’utilisation des démons et des réseaux en général.
En effet, les cours enseignés dans notre spécialisation (Télécommunication, Réseaux et Services) ont pu être mis en pratique dans la
réalisation d'un projet, ce qui nous a semblé particulièrement intéressant malgré la difficulté de s’imprégner des programmes gérant
la haute disponibilité des protocoles réseaux.
- 13 -
E S IA L
A R T E FAC T S
STUDIO
MODULE INTELLIGENT D’ANIMATION DE
PERSONNAGES DE JEUX VIDÉO
Plug-in for smart video game character animation
ABSTRACT
2007 / 2008
This industrial project has been proposed by Artefacts Studio, a video game studio based in
Lyon.
The students who worked on the project are Nicolas Beaufort, Benoît Maurice and Nicolas
Saugnier, supervised by Mrs Annie Besnard on the university side and Mr Benjamin Levy on the
industrial side.
Artefacts Studio is currently altering its game contractor activity into an activity of full game
developer, and to support this change, they are growing their own game engine, AGE, along with
a game level design tool, LevelTool.
The goal of this project was to create a plug-in module for AGE and LevelTool to replace the
former way of playing sequence of animations. They used to script all possible animation sequence. The module is intended to automatically calculate the animation sequence suited to achieve
a given goal.
The project was divided into two main phases: the specification writing and study of the tools
we had to integrate our module in, from October to January, and second, the development itself,
until the end of the project, in March.
During the development phase, we split the work into three tasks, performed in parallel: creating the interface with LevelTool and AGE, managing the animation, and the core algorithm
which determines the animation sequence.
This project was for us an opportunity to have an insight of the gaming industry. Besides, it was
a great way to practice project management skills like time management, planning or specifications writing and in the same time to enhance our skills in fields like C++ programming, artificial intelligence or man-machine interface creation.
- 14 -
Élèves
Nicolas BEAUFORT
Benoît MAURICE
Nicolas SAUGNIER
Partenaire
181, avenue Jean Jaurès
69007 LYON
Encadrants
industriels
Benjamin LEVY
Franck MAESTRE
universitaire
Annie BESNARD
E S IA L
A R T E FAC T S
STUDIO
PRÉSENTATION
Proposé par la société Artefacts Studio située à Lyon, ce projet a été réalisé par les étudiants Nicolas Beaufort, Benoît Maurice et
Nicolas Saugnier. Les encadrants sont Mme Annie Besnard du côté de l’ESIAL et Benjamin Levy du côté de l’entreprise.
Artefacts Studio exécute des contrats de sous-traitance sur tous les aspects de la réalisation de jeux vidéo, et depuis peu réalise aussi
des jeux complets. Dans cette optique, la société a développé son propre moteur de jeu, AGE, ainsi qu’un logiciel d’édition de
niveaux de jeux, LevelTool. Ce dernier, fortement lié au moteur, permet de gérer l’agencement des éléments d’un monde virtuel,
ainsi que leurs interactions.
Auparavant, l'enchaînement des animations des personnages se faisait à l’aide de scripts ou bien de code ad-hoc. Cette approche ne
permettait pas une grande flexibilité ni la réutilisation. De plus, la prise en compte de toutes les animations possibles et de tous les
cas de figure rendait la réalisation d’un système fonctionnel très longue et fastidieuse.
Dans le cadre du Projet Industriel ESIAL, l’objectif était de créer un module générique d’animation pour AGE et d’assurer son intégration dans LevelTool. Le module devait permettre de gérer l’animation des personnages, en calculant automatiquement la suite
d’actions à réaliser pour atteindre un but donné.
Le module se présente sous la forme d’un fichier DLL qui peut être chargé lors de l’exécution de LevelTool. Le langage utilisé est le
même que celui d’AGE et de LevelTool, le C++.
Le projet a été découpé en deux grandes phases :
- la rédaction du cahier des charges et la découverte de l’existant, d’octobre à début janvier,
- la réalisation du module, de janvier à la fin du projet, en mars.
La réalisation a été découpée en trois parties qui ont été effectuées en parallèle :
- une interface avec LevelTool, qui comprend les liens avec l’existant ainsi qu’une interface graphique en wxWidgets pour paramétrer le module et le piloter,
- une gestion et une analyse des animations qui permettent d’extraire les caractéristiques des animations pour que le module puisse les utiliser, et de faire jouer par AGE la suite d’animation calculée,
- le cœur du module, un algorithme d’intelligence artificielle qui détermine la séquence d’animation.
La communication entre le groupe et l’encadrant industriel s’est principalement faite par courrier électronique et messagerie instantanée, ponctuellement. Au niveau de l’encadrement universitaire, ce sont des réunions hebdomadaires qui ont été privilégiées, au
terme desquelles des comptes-rendus ont été rédigés et distribués à tous les encadrants, par courrier électronique et à travers un site
de gestion de projet.
Ce projet a été pour nous l’occasion de découvrir le domaine très intéressant et très particulier du jeu vidéo. Il nous a aussi permis
de nous familiariser avec les méthodes de développement d’un projet réalisé dans le cadre de l’entreprise, avec notamment la rédaction d’un cahier des charges et d’un planning. Il nous a également permis de progresser dans de multiples domaines tels que le langage C++, l’intelligence artificielle ou encore la réalisation d’interface graphique.
- 15 -
E S IA L
ATOS
ORIGIN
PARTAGE DE LA VISION
DU SUIVI D’AFFECTATION
Web application for employees’ assignments
ABSTRACT
2007 / 2008
Atos Origin is one of the major European IT consulting firms. It was set up in October 2000, by the union
between Atos and Origin. Established in 40 countries all over the world, Atos Origin has a turnover of more
than 5,4 billion Euros a year, with a manpower of more than 50 000 employees.
The Metz branch solicited us to deploy a web application for employees' assignments. Currently, the assistant manipulates employees’ data through Excel and Word files. With more than one hundred files to handle daily, this system is obviously obsolete.
Philippe Lambert, our supervisor at Atos Origin, put us in charge of the deployment of a web-based collaboration platform based on Microsoft Sharepoint. The main purpose is to gather all information into one
single database and to limit the rights to the data, depending on the rank of the employee. So we differentiated three actors:
– the assistant, who has access to all pages for edition and consultation,
– the manager, who has access to all pages only for consultation,
– the employee, who has access to his own personal information, only for consultation.
Thereby, the application allows sharing the data’s view within the company, feature that was not possible before.
Sharepoint is a tool made for the creation of intranets, mostly by customizing forms and behaviours. The
user’s request being very specific in our case, we needed to recode some modules to customize pages. We
used C#.NET language for that development. Visual Studio 2005 and SQL Server were also used.
Before starting directly to create the application, an audit was needed. Our team spent time with the future users to understand their work and their way of working. As a result, specifications were written, gathering the functionalities expected. As we chose to use the RAD (Rapid Application Development) method,
four modules were highlighted to be developped iteratively:
1. Employees’ data: a kind of directory which contains employees’ personal information.
2. Vacation management: pages that allow counting vacation's and TOIL's days for each employee.
3. Training management: same as previous module, but for employees’ training.
4. Assignments: module that allows viewing globally the employee’s assignments to projects.
On an organisational aspect, each member of our team had a role and responsibilities. We chose a project
manager, and responsible persons for functional, technical and quality parts. On Atos Origin side, one IT
partner was available to help us with the development. Beyond the communication by phone and e-mail,
meetings were set up almost every Monday in Metz, at Atos Origin office, to evaluate the project advancement, to meet the users or to make demos of finished modules.
- 16 -
Élèves
Dorian LARRIÈRE
Mathieu RAMPANT
Nicolas RINGENBACH
Benjamin SARREY
Partenaire
8, rue Lafayette
57000 METZ
Encadrants
industriel
Philippe LAMBERT
universitaire
Hervé PANETTO
E S IA L
AT O S
ORIGIN
PRÉSENTATION
Atos Origin est une des principales sociétés de services en ingénierie informatique (SSII) françaises. Elle est née en octobre 2000, de
la fusion d’Atos et Origin. Implanté dans 40 pays à travers le monde, Atos Origin réalise un chiffre d’affaires annuel de plus de 5,4
milliards d’euros avec un effectif de plus de 50 000 personnes.
L’agence située à Metz nous a sollicités pour mettre en place une plateforme d’aide à la gestion des ressources humaines.
Actuellement, la gestionnaire gère les données liées à l’activité des collaborateurs aux travers de feuilles Excel et fichiers Word. Avec
plus d’une centaine de fichiers à manipuler au quotidien, il s’avère que ce système a atteint ses limites.
Philippe Lambert, notre encadrant industriel, nous a donc chargés de mettre place une plateforme collaborative avec la technologie
Microsoft Sharepoint. L’objectif est de rassembler toutes les informations au sein d’une seule base de données et d’y autoriser l’accès et la vision selon le grade de l’employé. On distingue alors trois rôles :
- le gestionnaire, ayant les droits de consultation et de modification sur toutes les pages,
- le manager, qui peut consulter toutes les pages sans les modifier,
- le collaborateur, ne pouvant consulter que ses propres données.
Ainsi, l’application permet de partager la vision des données au sein de l’entreprise, facilité qui était impossible auparavant.
Sharepoint est un outil permettant de créer des intranets très rapidement, principalement par configuration. Les besoins du client
étant assez pointus dans notre cas, il a fallu recoder certains modules pour personnaliser les pages. Le langage C#.NET a donc été
utilisé en ce sens. Toujours sur le plan des outils et des technologies, nous avons utilisé Visual Studio 2005 et SQL Server.
Avant de réaliser techniquement l’application, un travail de recensement des besoins a du être effectué. Notre équipe a donc passé
du temps avec les futures utilisatrices pour comprendre leur travail et leur mode de fonctionnement. De cette étape est issu un cahier
des charges fonctionnel faisant le bilan des fonctionnalités attendues. Ayant choisi une méthodologie de développement logiciel
RAD (Rapid Application Development), quatre modules à réaliser itérativement ont été mis en évidence :
1. Base collaborateur : sorte d’annuaire contenant les informations personnelles des employés.
2. Gestion des congés : pages permettant de décompter les congés et les RTT de chaque collaborateur.
3. Gestion des formations : même principe que le module précédent mais pour les formations des employés.
4. Affectations : module Sharepoint ayant pour objectif de visualiser les affectations des collaborateurs aux projets.
Sur un plan organisationnel, chaque membre de l’équipe avait un rôle et des responsabilités. Nous avons désigné un chef de projet,
un pilote fonctionnel, un responsable technique et un responsable qualité. Du côté d’Atos Origin, un référent technique a été mis
à notre disposition pour nous aider dans le développement. Au-delà de la communication par mail et téléphone, des réunions avaient
lieu pratiquement tous les lundis à Metz, à l’agence d’Atos Origin pour faire des mises au point sur l’avancement du projet, faire des
réunions avec les utilisatrices ou encore pour faire des démonstrations des modules terminés.
- 17 -
E S IA L
COULLOMB
INGÉNIERIE
PLATE-FORME WEB
POUR LE SUIVI DE CONSTRUCTIONS
Web platform for construction monitoring
ABSTRACT
2007 / 2008
The main purpose of this project is to provide a web platform for remote construction site monitoring. It was developed by the French company “Coullomb Ingénierie”, a small IT company
based in Avignon (Vaucluse).
The main objective of this project is to enhance information exchanges between individual house
constructors and their customers.
This project is related to Batimanager, another project of “Coullomb Ingénierie”, which is an
ERP dedicated to house building sites. The final goal is to link Batimanager and the website and
to allow Batimanager handling some features of the website, despite the independency between
both databases (no shared information system).
The project can be divided in three main sections:
- The administrator part, where the administrator can manage the website and its users. This
section provides also some statistics about users activities on the site (connections and actions
done).
- The constructor part, where a constructor can handle their different constructions sites and
customers, as well as every information related to construction sites.
- The customer part, where a customer can consult the state of his construction site and information published by the constructor.
We used several tools to manage this project. Every task and document (meeting reports, technical specifications, etc.) was centralized on a project management platform provided by
“Coullomb Ingénierie” and we used a SVN server to assist us in source code sharing.
- 18 -
Élèves
Jonathan BOUZENOT
François CARIOU
Michel KUEHN
Partenaire
6, rue François Mauriac
84000 AVIGNON
Encadrants
industriel
Fabien COULLOMB
universitaire
Gérald OSTER
E S IA L
COULLOMB
INGÉNIERIE
PRÉSENTATION
Le projet industriel Web Plateforme pour le suivi de constructions est issu de la société Coullomb Ingénierie, localisée à Avignon
(Vaucluse). Les étudiants Jonathan Bouzenot, François Cariou et Michel Kuehn ont réalisé ce projet. L'encadrement a été effectué
par M. Gérald Oster au niveau universitaire et par M. Fabien Collomb au niveau industriel.
L'objectif de ce projet est la création d'une plateforme Web afin de faciliter les échanges d'informations entre les maîtres d'œuvre et
les maîtres d'ouvrage dans le cadre de construction de maisons individuelles.
La société Coullomb Ingénierie a développé Batimanager, un ERP destiné aux constructeurs de maisons individuelles. En l'état, ce
progiciel ne propose pas de fonctions permettant au maître d'ouvrage d'accéder facilement à des informations concernant l'avancement de son chantier.
Il s'agit de mettre ligne dans un premier temps une plateforme indépendante de Batimanager, utilisant le langage PHP. Cette plateforme sera documentée à la fois par le maître d'œuvre qui fournira des informations sur le chantier et par le maître d'ouvrage qui
pourra rédiger d'éventuels commentaires en réponse au maître d'œuvre.
Le projet se décompose globalement en trois grands modules :
- La partie administrateur. Cette dernière permet à l'administrateur d'effectuer les tâches de gestion du site et de ses différents utilisateurs tout en lui fournissant des statistiques détaillées sur l'utilisation de la plateforme par les maîtres d'œuvre et les maîtres
d'ouvrage.
- La partie maîtres d'œuvre. Cette partie permet au constructeur de gérer ses chantiers et les clients associés ainsi que la diffusion
d'informations relatives aux chantiers.
- La partie maître d'ouvrage. Cette partie permet au client de consulter les informations publiées par le maître d'œuvre.
Le projet a été divisé en cinq phases :
1 - Rédaction du cahier des charges durant le mois de novembre
2 - Développement de la partie Administrateur durant le mois de décembre
3 - Développement de la partie Maîtrise d'Œuvre durant le mois de janvier
4 - Développement de la partie Maîtrise d'Ouvrage durant le mois de février
5 - Réalisation de l'interface graphique durant les mois de février et mars.
Une méthode de développement itérative a été mise en place. Ainsi, les objectifs d'une itération sont définis et une fois ces objectifs
atteints et testés, l'itération est validée.
À l'issue du projet, la plateforme Web est opérationnelle bien que l'interface graphique du site ne soit pas nécessairement optimale
au niveau visuel et ergonomique. De plus, il reste à faire la liaison avec Batimanager afin d'automatiser une partie de l'alimentation
de la base de données concernant l'avancement des chantiers.
Pour ce qui est de la gestion du projet, cette dernière s'est effectuée par le biais d'une plate-forme de gestion de projet mise à notre
disposition par Coullomb Ingénierie ainsi qu'un serveur SVN afin de gérer le partage des sources du site. La plateforme de gestion
de projet contient toute la documentation issue du projet, notamment les rapports résultants des réunions organisées avec les différents encadrants.
Ce projet nous a permis de nous familiariser avec les contraintes du développement Web ainsi que de nous approprier les mécanismes inhérents à la gestion d'un projet coopératif.
- 19 -
E S IA L
CTG
LUXEMBOURG
PUMA, UN OUTIL DE GESTION DE PROJET
PUMA, a project management tool
ABSTRACT
2007 / 2008
Our industrial project, called PUMA (Project Unit Management and Administration), was submitted by the branch of Luxembourg of CTG, a company which provides information technology services.
PUMA is an existing and internal application developed by CTG. It is intended to help monitoring project and make estimations of future developments. The first version of PUMA is a fat
client application and has limited functionalities.
The objectives of the project are:
- to transform this application into a Rich Internet Application, using Adobe FLEX technology, in order to integrate it into a web portal.
- to improve existing functionalities and bring so new ones.
We divided our project into two main phases: the functional analysis with the writing of the
work specifications, following by the development composed of:
- the realization of the database and data migration,
- the definition of screen shots,
- the development of the server with J2EE technology,
- the development of the client using a MVC architecture.
Élèves
Nathalie BERBEL
Claire JOBARD
Loïc MOLINO
Éric TERRIEN
Partenaire
Rue des Mérovingiens
L-8070 BERTRANGE
LUXEMBOURG
Encadrants
industriel
David RENOUX
To reach our objectives, we worked with short iterations. We had weekly meetings to validate the
work done and to define the next steps of the project.
This project was an opportunity to acquire several skills in the area of web technologies (which
are more and more used). We have also learned project management issues like managing time,
resources and communication with ours industrial supervisors.
- 20 -
universitaire
Vincent BOMBARDIER
E S IA L
CTG
LUXEMBOURG
PRÉSENTATION
Ce projet industriel a été proposé par CTG Luxembourg. C’est une société de services en ingénierie informatique principalement
présente dans le secteur financier. Les étudiants travaillant sur ce projet sont Nathalie Berbel, Claire Jobard, Loïc Molino et Éric
Terrien . L’encadrement au niveau universitaire a été réalisé par Vincent Bombardier et au niveau de l’entreprise, par David Renoux.
CTG a développé une application de gestion de projets : PUMA (Project Unit Management and Administration). Elle permet de
suivre un projet et de pouvoir anticiper les estimations en ressources et en temps de développements futurs en utilisant les estimations passées. Elle possède une interface simpliste. Cette première version de PUMA est une application de type client lourd en Java
avec des fonctionnalités principales de gestion de projets.
Dans le cadre du projet ESIAL, l'objectif principal est de réaliser une refonte de l'application en utilisant Adobe FLEX, afin de pouvoir porter PUMA dans un portail web. Il nous est également demandé d'ajouter de nouvelles fonctionnalités.
Le projet est divisé en deux grandes phases : l’élaboration du cahier des charges, du mois d’octobre à fin décembre, puis le développement, de début janvier à mi mars.
La spécification du cahier des charges a été réalisée en quatre étapes distinctes :
- l’étude fonctionnelle de l’existant,
- la recherche de nouvelles fonctionnalités à intégrer,
- la création du modèle physique de données,
- le contrat d’intégration entre PUMA et un module du portail web développé par CTG.
Par la suite, le développement de l’application a comporté les points suivants :
- la création de la base de données et la reprise des données de l'ancienne application,
- la définition des écrans,
- le développement de la partie serveur en J2EE,
- le développement de la partie client en FLEX, en utilisant une architecture MVC
- la communication entre PUMA et un module de saisie de données développé par CTG.
Pour pouvoir atteindre ces objectifs, le développement de l'application a été réalisé par itérations (Extreme programming). À chaque
itération correspond un groupement de fonctionnalités : hiérarchisation d’un projet, affectation des tâches et des ressources, et reporting (rapports de données et chiffres sur le projet). Une itération est scindée en deux parties. La première définit les écrans à développer soumis à l’industriel, et la seconde consiste au développement de ces écrans. Pour répartir les tâches, celles-ci ont été groupées par domaine de fonctionnalités.
La communication avec les différents intervenants se fait par mail et à l'aide de plateformes collaboratives. Des réunions ont également été organisées à différentes étapes du projet. Les comptes-rendus des réunions hebdomadaires, l'ensemble des documents et
des sources ont été placés sur ces plateformes.
Au terme du projet, la refonte de l'application a été effectuée, elle possède les principales fonctionnalités de gestion de projets. Les
fonctionnalités restant à implémenter sont spécifiées et intégrées au cahier des charges du projet PUMA.
Ce projet a été pour nous l’occasion d’acquérir de nombreuses connaissances dans les domaines des technologies Web, qui sont de plus
en plus utilisées. Ce fut également une bonne opportunité de gérer un projet en étroite collaboration avec un partenaire industriel.
- 21 -
E S IA L
DEXIA ADTS
Projet 1
BUDGET MANAGER, UNE APPLICATION
DE GESTION DE BUDGETS
Budget Manager, a budget managing application
ABSTRACT
2007 / 2008
This industrial project was submitted by Associated Dexia Technology Services (ADTS) based in
Luxembourg. The three students who worked on this project are Sami Boudrai, Ayhan Per and
Adrien Glucker. Our academic supervisor is Francis Alexandre and our industrial supervisor is
Nicolas Remarck.
Budget Manager is a piece of software developped using Java J2EE by ADTS to help them manage their budget. Notably, it provides an understandable view of the commitments, and it communicates with SAP to retrieve financial information on budgets and commitments.
Élèves
Sami BOUDRAI
Adrien GLUCKER
Ayhan PER
Partenaire
Our first work was to develop the interface between SAP and Budget Manager. For this, we
chose to use an Excel spreadsheet as an intermediary file. SAP is able to export its data into an
Excel spreadsheet. All was left to do was to write a tool to import this data and insert it into the
database used by Budget Manager. This tool had to be flexible because it would be reused in
other applications.
Atrium Business Park
23, 2A Bourmicht
L-8070 BERTRANGE
LUXEMBOURG
Our second work was to adapt Budget Manager to EJB 2. It was previously written using Spring
and Hibernate.
Encadrants
Thanks to this project, we were able to improve our skills in project management, communication, and of course web developpement using J2EE, which is really popular within entreprises
nowadays.
industriel
Nicolas REMARCK
universitaire
Francis ALEXANDRE
- 22 -
E S IA L
DEXIA ADTS
Projet 1
PRÉSENTATION
Ce projet industriel a été proposé par Associated Dexia Technology Services (ADTS) situé à Luxembourg. Les étudiants ayant travaillé sur ce projet sont Sami Boudrai, Ayhan Per et Adrien Glucker. L’encadrement au niveau universitaire a été assuré par Francis
Alexandre et au niveau de l’entreprise, par Nicolas Remarck.
Budget Manager est une application interne développée en Java / J2EE par ADTS. Cette application doit permettre d'améliorer la
gestion des budgets en fournissant notamment aux responsables budgétaires une meilleure vue sur leurs engagements.
Budget Manager intervient dans un cycle de traitements budgétaires composé des étapes suivantes :
- Génération d’une demande d’achat par Budget Manager.
- Validation de la demande par l’équipe de Bruxelles.
- Génération d’un bon de commande à partir de SAP.
- Passage de commande.
- Réception de la facture.
- Insertion par la comptabilité des nouvelles données dans SAP.
- Récupération des informations et mise à jour par Budget Manager.
La première partie de notre travail a consisté à travailler sur la communication entre SAP et Budget Manager. Cette communication
se fait par l’intermédiaire d’un fichier Excel, en utilisant les capacités d’exportations de SAP. Nous avons écrit un outil d’importation de fichier Excel dans une base de données. Cet outil que nous avons appelé ExcelImport, devait de plus être très flexible, car il
sera réutilisé dans d'autres applications.
Excel Import se base sur des fichiers de définitions en XML pour savoir comment insérer les données provenant du fichier Excel. Il
permet d'associer chaque colonne de la feuille Excel à une colonne dans une table de la base de données. Il permet aussi d'appliquer
des conversions sur ces colonnes et de créer facilement ses propres convertisseurs en Java. Il est écrit en J2EE et tourne en tâche de
fond dans un serveur d'application. Il convertit automatiquement toutes les feuilles Excel qui sont déposées dans un dossier.
La réalisation du cahier des charges a pris beaucoup de temps à cause de soucis de communication. Une fois le besoin bien exprimé, nous avons eu une phase de conception d'un mois, pendant le mois de novembre. S'en est suivi une période de développement/tests pendant le mois de décembre. La documentation technique a été achevée fin décembre.
La deuxième grande partie a consisté à adapter l'application Budget Manager au standard EJB 2. Elle avait été écrite à l'origine en
utilisant Spring et Hibernate. Pour cela, nous avons d'abord dû comprendre l'application existante, et cela est passé en partie par
une rétro ingénierie. Puis nous avons conçu notre propre modèle en nous inspirant de l'actuel.
Le projet a nécessité une grande part de communication. À cet effet, nous nous entretenions hebdomadairement avec l’encadrant
industriel, lors d'une conférence téléphonique et nous sommes allés le voir à deux reprises à Luxembourg, pour faire un point complet. En ce qui concerne la communication à l'intérieur du groupe, nous communiquions par MSN, par mail, et grâce à un wiki
qui nous permettait de garder les informations importantes comme le planning de la semaine, les comptes-rendus des conférences
etc... De plus, nous avions un serveur SVN qui nous permettait de stocker nos différents documents et notre code source et de gérer
facilement les différentes versions.
Ce projet nous a permis de nous familiariser avec l'environnement J2EE, qui est actuellement une plateforme très demandée par les
entreprises. Ce projet nous a aussi permis de nous familiariser avec la gestion d'un projet, ses différentes phases, de l'établissement
du cahier des charges à la validation, et la communication et l'organisation à l'intérieur d'une équipe.
- 23 -
E S IA L
DEXIA BIL
Projet 2
CRÉATION D’UN SIMULATEUR
DE PRÊTS À LA CONSOMMATION
Consumer loan simulator
ABSTRACT
2007 / 2008
This industrial project was submitted by the luxembourguese bank named DEXIA BIL. Four
students worked on this project, Sébastien Dome (the project manager), Erick Gelhaye,
Stéphane Roos and Jonathan Vatry. The industrial supervisor was Sorin Cristescu and the university one was Isabelle Courbot.
The main goal of this project was to create an attractive and easy to use consumer loan simulator based on the Adobe Flex technology. This simulator is intended for the general public and
not for rich private customers. The first interest of this simulator is to make the user feel like
entering his/her various pieces of information and at the same time decrease the loan rate.
The project was divided into two main parts, the specification studies followed by the Flex development. Alongside those two parts, we decided to make an auto-training on different technologies, like flex for the web development and Scrum for the project management.
In our process of realization of the software, we included the customer. In fact the client is part
of the realization, so he can provide us with some feedback about the work done.
At the end of the project, the main specification and realization have been achieved but the final
software could not be used by the Dexia Bank, because it’s just a prototype of what can be produced to satisfy the public branch of Dexia.
Not only was this project an opportunity to foresee the banking and financial business but it also
allowed us to apply different methods of project management. We also acquired some knowledge about web technologies.
- 24 -
Élèves
Sébastien DOME
Érick GELHAYE
Stéphane ROOS
Jonathan VATRY
Partenaire
69, route d’Esch
L-2953 LUXEMBOURG
LUXEMBOURG
Encadrants
industriel
Sorin CRISTESCU
universitaire
Isabelle COURBOT
E S IA L
DEXIA BIL
Projet 2
PRÉSENTATION
Notre projet industriel de l’année 2007-2008 a été proposé par la banque luxembourgoise DEXIA BIL. Ce projet industriel était
encadré par Mme Courbot Isabelle au niveau universitaire et par M. Sorin Cristescu au niveau entreprise. Quatre étudiants ont travaillé sur ce projet, Sébatien Dome, Érick Gelhaye, Stéphane Roos et Jonathan Vatry.
Le but de ce projet était de créer un simulateur de prêt à la consommation attrayant et simple d’utilisation sur la base de la technologie Adobe Flex. Ce simulateur est destiné au grand public et non à de grands comptes. L’intérêt premier de ce simulateur est
d’attirer de nouveaux clients en diminuant le taux du prêt en fonction des informations saisies par l’utilisateur.
Le projet a été divisé en 4 parties :
- Une partie Back, qui regroupe l’écriture des différents contrats de service et les applications de test.
- Une partie Middle, qui est le cœur du projet avec sa partie développement et mise en œuvre du Java et SQL.
- Une partie Front, qui est la création de l’interface utilisateur en Flex.
- La dernière partie est le Cover, elle regroupe la gestion du projet et la phase de modélisation de ce dernier.
Les technologies utilisées ont été : Adobe Flex, Java/J2EE, SQL, XML, WSDL.
Au début du projet, une réunion avec l’encadrant industriel a été effectuée pour poser les bases du projet et surtout pour qu’il nous
définisse ses attentes sachant que le client principal de ce projet était notre encadrant industriel.
La première phase de ce projet a été la modélisation, avec la création de différents diagrammes nous permettant de visualiser au
mieux l’application dans sa globalité ainsi que les différentes informations qui y circulent. Les diagrammes créés ont été les diagrammes de classe, de séquence, d’implémentations ainsi que des cas d’utilisation.
La seconde partie a été le développement proprement dit. Avant de pouvoir commencer à coder, il a fallu nous auto-former sur le
langage Flex et aussi étudier les différents frameworks fournis par notre encadrant industriel pour avoir une meilleure communication avec les différents logiciels de la banque. De plus une maquette graphique a été dessinée pour validation auprès du client.
Tout au long de ce projet, nous avons utilisé une méthode de gestion de projet, appelée Scrum, basée sur la méthode agile pour le
développement de logiciel incluant le client au cœur du processus de réalisation du logiciel. Cette méthode a pour but de fournir
au client des versions du logiciel de manière régulière, pour ainsi avoir des retours clients régulièrement, afin de modifier le logiciel
en fonction de ses besoins.
La communication entre l’équipe développeur et les différents encadrants s’est effectuée principalement par mail. Quelques réunions
ont été tenues par l’équipe et l’encadrant universitaire.
Au terme de ce projet, les différentes étapes de conception et de réalisation ont pu être validées par le client. Les principales fonctionnalités ont pu être achevées mais le projet n’a pu être mis en production car ce dernier n’était qu’un prototype.
Ce projet a été pour nous une occasion d’entrevoir le milieu bancaire et financier d’une part, mais aussi d’appliquer des techniques
de gestion de projet d’autre part. Ce fut également une bonne opportunité pour appréhender et acquérir de nombreuses connaissances dans le développement web.
- 25 -
E S IA L
EURO
I N F O R M AT I O N
DÉVELOPPEMENTS
OUTIL DE PARSING DE
FICHIERS SOURCES
Source Code Analysis
ABSTRACT
2007 / 2008
This industrial project was submitted by Euro Information Développements (EID), a subsidiary of the “Crédit Mutuel – CIC” based in Laxou (Meurthe et Moselle).
This project is led by the following students Aurélie BOURGEOIS, Fabien DAILLER,
Alexandre GEORGES and Jean-Sébastien HEDDE. Our industrial supervisor is Sébastien
ALLIE and our university supervisor is Zahra IDELMERFAA-RONDEAU.
Currently Euro Information Développements is using a tool based on a finite state automaton
in order to extract all the text in the source code. This tool does not meet the requirements of
strength, performance and scalability. The purpose of our project is to realize a new tool which
reaches these requirements. The initial study has shown the necessity to use a tool based on a
grammar.
Élèves
Aurélie BOURGEOIS
Fabien DAILLER
Alexandre GEORGES
Jean-Sébastien HEDDE
Partenaire
2, rue de la Vologne
54520 LAXOU
The project was divided into three main phases:
- The initial study: in this part, we made an overview of the existing parsers based on grammars in order to choose the best one.
- The specifications: we describe the architecture of the software.
- The development: we made a prototype of the architecture.
At the end of the project, we made a working prototype of the software with the C Sharp support. This project was an opportunity to acquire several skills in .NET technologies and to discover all project management considerations.
Encadrants
industriel
Sébastien ALLIÉ
universitaire
Zahra IDELMERFAA-RONDEAU
- 26 -
E S IA L
PRÉSENTATION
EURO
I N F O R M AT I O N
DÉVELOPPEMENTS
Ce projet industriel a été proposé par l'entreprise Euro Information Developpements (EID) basée à Laxou. Les étudiants ayant travaillé sur ce projet sont : Aurélie Bourgeois, Fabien Dailler, Alexandre Georges et Jean-Sébastien Hedde. L'encadrement au niveau
universitaire a été assuré par Zahra Idelmerfaa-Rondeau et au niveau industriel, par Sébastien Allié.
Dans le cadre des activités d’Euro Information Développements, liées au référencement des objets informatiques, au contrôle de
qualité et à l’internationalisation des applications, il existe le besoin de disposer d’un processus performant et fiable d’analyse des
sources.
Actuellement Euro Information Développements, afin d'extraire les chaînes de caractères pour les traduire ensuite, utilise un outil
basé sur un automate à états finis. Celui-ci ne permet plus de répondre aux exigences de robustesse, de performance et d’évolutivité.
L'objectif du projet est de réaliser un nouvel outil qui répond à ces exigences. L’étude initiale a démontré la nécessité d’utiliser des
techniques d’analyse grammaticale éprouvées, par l’intermédiaire des parsers et des scanners générés à partir d’une grammaire normalisée (EBNF : Extended Backus-Naur Form).
Ce projet a comporté trois grandes phases :
- étude initiale : nous avons évalué la qualité des différents outils existants basés sur des grammaires,
- rédaction des spécifications : nous avons décrit de facon très complète l'architecture du logiciel,
- développement : nous avons réalisé un prototype du logiciel.
Au final, nous sommes parvenus à réaliser un prototype fonctionnel du logiciel. L’analyse des fichiers C Sharp est fonctionnelle. La
phase de développement fut la plus courte du fait de la précision des spécifications réalisées dans la phase précedente.
La communication entre les différents intervenants s'est principalement faite par mail. Des réunions hebdomadaires au début du
projet puis plus espacées par la suite ont été organisées avec notre encadrant industriel. Nous avons également rencontré régulièrement notre encadrante universitaire. Les comptes-rendus de chaque réunion et tous les documents produits ont été déposés sur un
serveur spécialement prévu à cet effet.
Ce projet a été l'occasion pour nous de mettre en place une démarche projet comportant une étude initiale, un dossier de spécifications et la réalisation du programme. Nous avons donc pu observer l'intégralité du déroulement d'un projet. Nous avons aussi été
amenés à travailler avec un environnement Microsoft : Visual Studio, Visual Source Safe et le framework .NET.
- 27 -
E S IA L
FRANCE
TELECOM
RECHERCHE DE VULNÉRABILITÉS
PAR FUZZING
Searching vulnerabilities by fuzzing
ABSTRACT
2007 / 2008
This industrial project was submitted by the France Télécom Division R&D (MAPS/NSS),
based in the Paris metropolitan area.
The three students who worked on this project were Juliette CHAPALAIN, Lei LI et XavierEmmanuel VINCENT. Our academic supervisor was Martin Quinson and our industrial supervisor was Laurent BUTTI.
Fuzz testing or fuzzing is a software technique that provides random data (''fuzzy'') to the inputs
of a program. If the program fails (for exemple, by crashing or by failing buit-in code assertions),
the defects can be noted since it may well denote a potential security issue.
Our main goals were to test several fuzzers, especially Sulley Fuzzing Framework, in order to describe the weak points of these tools. We had also to choose some multimedia file formats and to
fuzz them with the chosen fuzzer modified by us.
The project was divided into five phases:
- Getting documentation on fuzzing.
- Studying of several fuzzers.
- In-depth study of the chosen fuzzer.
- Finding some interesting multimedia file formats and adaptation of the chosen fuzzer to the
project.
- Vulnerabilities reasearch.
Élèves
Juliette CHAPALAIN
Lei LI
Xavier-Emmanuel VINCENT
Partenaire
38-40, rue du Général Leclerc
92130 ISSY-LES-MOULINEAUX
Encadrants
industriel
Laurent BUTTI
At the end of the project, we have developed two fuzzing tools. One is specialized for the PNG
format. The other, based on Sulley, can fuzz several media files format. These two software manage the tests of the target program and check any errors.
This project was an opportunity to acquire several skills in the area of computer code or software vulnerabilities (which is a current major challenge) and to be confronted each other to the
world of R&D. We also discovered project management issues like managing time and communications between people.
- 28 -
universitaire
Martin QUINSON
E S IA L
FRANCE
TELECOM
PRÉSENTATION
Ce projet industriel a été proposé par France Télécom Division R&D (MAPS/NSS) situé en région parisienne. Les élèves ingénieurs
ayant travaillé sur ce projet sont Juliette CHAPALAIN, Lei LI et Xavier-Emmanuel VINCENT. Martin QUINSON fut l'encadrant
universitaire et Laurent BUTTI l'encadrant industriel.
Le fuzzing est une technique pour tester des logiciels et découvrir des vulnérabilités. L'idée est d'injecter des données aléatoires dans
les entrées d'un programme. Si le programme échoue (par exemple en crashant ou en générant une erreur), alors il y a des défauts
à corriger. Les principaux avantages du fuzzing sont l'extrême simplicité lors de l'écriture de ces tests et la découverte d'erreurs de
programmation triviales à éviter.
Les objectifs de ce projet furent d'évaluer les différents fuzzers existants, et plus particulièrement Sulley Fuzzing Framework, afin
d'identifier les points faibles et les manques de ces outils. Puis nous devions mettre en place une architecture de test se basant sur
un des fuzzers afin de tester certains formats de fichiers multimédias.
Le projet a été divisé en cinq phases :
. nous avons commencé par étudier la documentation sur les différentes vulnérabilités,
. nous avons étudié différents fuzzers en gardant comme principal but qu'ils devaient convenir pour du fuzzing sur des fichiers
multimédias,
. nous avons vérifié que le fuzzer choisi correspondait bien à nos besoins,
. nous avons recherché deux/trois formats de fichiers multimédias intéressants et avons adapté le fuzzer à nos besoins,
. nous avons essayé de trouver de nouvelles vulnérabilités.
Au terme de ce projet, nous avons développé deux outils de fuzzing. L'un est spécialisé pour le format PNG et l'autre, basé sur l'outil Sulley Fuzzing Framework, permet de fuzzer plusieurs types de formats multimédias. Ces deux outils assurent les tests auprès du
programme cible et relèvent leurs terminaisons anormales.
Différents moyens de communications ont été mis en place. Outre le classique courriel pour les échanges, nous avions chaque lundi
un entretien téléphonique avec Laurent BUTTI en présence de Martin QUINSON. Nous avons aussi mis en place un blog qui permettait aux élèves ingénieurs d'avoir une trace écrite de leur travail et d'y mettre le contenu des entretiens téléphoniques. Les élèves
ont aussi beaucoup utilisé la messagerie instantannée permettant des échanges rapides et pratiques.
Ce projet a été pour nous l'occasion de découvrir et d'acquérir de nombreuses connaissances dans le domaine du code source et des
vulnérabilités (qui est aujourd'hui un problème majeur de l'informatique). Nous avons été par ailleurs confrontés au monde de la
recherche qui n'exprime pas les mêmes besoins qu'une entreprise. Ce fut également l'opportunité de s'approprier des techniques de
gestion de projet pour faire face aux problèmes de gestion d'un planning et de gestion de communication entre les différentes parties.
- 29 -
E S IA L
GOODYEAR
MISE EN ŒUVRE D’UNE ARCHITECTURE SOA
BASÉE SUR DES OUTILS OPEN SOURCE
Implementation of a Service Oriented Architecture
ABSTRACT
2007 / 2008
This industrial project was submitted by Goodyear Technical Center, based in Luxembourg.
The three students who worked on this project are Emmanuel BOURGAIN, Maxime GEORJON and Nicolas MAISONNEUVE. Our university supervisor is François CHAROY and our
industrial supervisors are Pascal DEVILLE and Stephane ALIE.
The goal of this project was to create a report generator dedicated to developpers of Goodyear
Technical Center. This project allows developpers to create reports and to store them in a database. It also allows them to consult the reports via a web interface.
In the first month of the project, we have made the conception of the application. To do this we
have met several time our supervisors to dicsuss of their needs. The main document we have produced during this step is the specification of the application.
The implementation was divided into three main phases :
. Generation of XML files containing informations about reports (header, report body and
SQL queries).
. Developement an application which uses the previous XML files to create new documents of
different formats (PDF, xsl, ...).
. Creation of a web interface to downlaod or visualize the reports.
At the end of the project, the softwares have reached enough functionalities for being used by
the developpers of Goodyear Technical Center. This project was an opportunity for us to be
confronted to the whole development of an application which means to write the specifications,
to have meeting with the partner, to schedule the objectives and of course to develop the applications.
- 30 -
Élèves
Emmanuel BOURGAIN
Maxime GEORJON
Nicolas MAISONNEUVE
Partenaire
Avenue Gordon Smith
L-7750 COLMAR-BERG
LUXEMBOURG
Encadrants
industriels
Stéphane ALIE
Pascal DEVILLE
universitaire
François CHAROY
E S IA L
G O O DY E A R
PRÉSENTATION
1) Les différents partenaires du projet
Dans le cadre de notre 3ème année à l'ESIAL, il nous a été donné l'occasion de réaliser un projet industriel en partenariat avec
Goodyear Technical Center. Ce projet impliquait :
. L'équipe de projet ESIAL, composée de Emmanuel Bourgain, Maxime Georjon et Nicolas Maisonneuve, tous les trois étudiants
en 3ème année spécialisation TRS.
. Pascal Deville et Stéphane Alie de Goodyear Technical Center.
. François Charoy en tant qu'encadrant universitaire.
2) Les objectifs du projet
L’objectif était de permettre aux développeurs des différents laboratoires de l’entreprise d’être plus efficaces dans la gestion des rapports des différents tests effectués sur les pneumatiques. Pour cela, il nous a fallu réaliser trois applications permettant respectivement de :
. Générer différents rapports au format xml.
. Traiter les divers fichiers générés par l'application précédente et les convertir à différents formats (pdf, xcl, ...).
. Consulter les différents rapports depuis un navigateur.
Le choix de ce projet a été motivé par deux principales raisons. La première concerne l'aspect “étude” : il s'agissait en effet pour nous
de développer entièrement une solution à partir de l'analyse des besoins de l'entreprise et non de continuer une solution déjà existante. Notre seconde motivation résidait dans le fait que ce projet nous offrait l'opportunité de mettre en pratique les nouvelles technologies étudiées en cours notament les EJB et les JSP.
3) Les phases du projet
Le projet a été décomposé en deux grandes phases :
La phase de conception durant laquelle nous avons pris soin de rédiger un document complet regroupant les spécifications fonctionnelles et techniques des applications à réaliser. Durant cette étape, nous nous sommes rendus au sein de l’entreprise au
Luxembourg et nos encadrants sont venus dans les locaux de l'ESIAL à plusieurs reprises afin de définir au mieux les besoins des
futures applications.
La seconde phase est la partie développement. En accord avec les demandes de nos encadrants de Goodyear Technical Center nous
nous sommes principalement concentrés sur la première application, c'est-à-dire celle permettant de générer les rapports au format
xml. Une fois cette dernière fonctionnelle, nous nous sommes intéressés à la réalisation de l'application permettant d'utiliser le xml
précédemment généré afin d'obtenir de véritables rapports au format pdf.
4) Résultats
Ce projet nous a permis d’être confrontés au développement complet d’une application, c'est-à-dire de la rédaction du cahier des
charges jusqu’au déploiement de celle-ci. Ce fut aussi l’occasion de mettre en pratique la gestion de projet en effectuant des réunions,
un planning ainsi qu’une répartition des tâches.
- 31 -
E S IA L
I N T E R N AT I O N A L
M O N E TA R Y F U N D
FUNDELICIOUS, OUTIL INTRANET
DE GESTION DE FAVORIS
Fundelicious, intranet bookmarking tool
ABSTRACT
2007 / 2008
IMF proposed this project in September 2007. Three students are working about this internal
social bookmarking tool.
This project is entitled Fundelicious in reference to del.icio.us. Del.icio.us is a social bookmarking web site. With Fundelicious, you can store your favorites, your bookmarks on your
account. But above all, you can share your bookmarks with your friends, colleagues building your own organic social network through your shared links. Indeed, with this tool, you can
create networks and be linked with people who have the same interests, skills,…like you.
Three iterations are defined for this project:
. Definition of architecture
. Development of web services (n-tier layers)
. Network management
Élèves
Matthieu GAUTHEY
Jean-Baptiste GURY
Émilien MICARD
Partenaire
700 19th St. NW,
Washington, DC 20431
USA
Microsoft technologies are used for this project: .Net (C#), SQL Server, Nhibernate and
Ajax.
With Fundelicious, we discovered a new technology: .Net and how to manage communication
between database, web services and web pages. We learnt to define a timeline and to split the
whole work. Thanks to the use of collaboration tools (skype, Central Desktop), we know
more about communication with clients.
Encadrants
industriel
Hervé TOURPE
universitaire
André SCHAFF
- 32 -
E S IA L
I N T E R N AT I O N A L
M O N E TA R Y F U N D
PRÉSENTATION
Ce projet a été baptisé Fundelicious en allusion au site del.icio.us. Ce dernier est un site interne de gestion de favoris en ligne privé.
Avec Fundelicious, les utilisateurs du FMI pourront sauvegarder leurs liens favoris en utilisant automatiquement leur compte Active
Directory. De plus, ils peuvent aussi partager leurs favoris avec leurs collègues et ainsi construire leur propre réseau social à travers
leurs liens partagés. En effet, avec cet outil, ils peuvent créer des réseaux et établir des liens avec leurs collègues qui ont les mêmes
intérêts, compétences, …
Le projet se décompose en trois phases :
. Définition de l’architecture.
. Développement de services web (architecture n-tier).
. Gestion de l’authentification et des réseaux inter-utilisateurs.
Les technologies suivantes ont été utilisées pour ce projet : .Net(C#), SQL Server, Nhibernate et Ajax.
Tout au long de ce projet, nous avons communiqué avec le FMI en utilisant différents outils. Skype était utilisé pour dialoguer avec
une ou plusieurs personnes du FMI. Un outil de collaboration en ligne, Central Desktop, nous a permis de partager des documents,
organiser les discussions et définir les échéances.
D’autre part, un server open-source " OpenSVN " a été mis en place pour maintenir les différentes versions de test et de production. L’installation sur le serveur du FMI s’est effectuée en utilisant le logiciel gratuit TeamViewer.
Avec Fundelicious, nous avons découvert la technologie .Net quelque peu différente de Java. Ce projet a permis de réunir des compétences multi-niveaux : communication entre base de données, services web et clients riches web. D’autre part, nous avons appris
à définir clairement un planning et à attribuer différents rôles dans une équipe. Pour cela, nous avons utilisé Microsoft Project et
actualisé semaine après semaine un diagramme de Gantt complet. Grâce aux réunions et aux présentations, nous sommes maintenant plus à même de gérer les relations avec un client.
- 33 -
E S IA L
IPELIUM
CONCEPTION ET INTÉGRATION D’UNE PLATEFORME
DE WORKFLOW POUR LE “BUSINESS DEVELOPMENT”
Designing and integrating a workflow platform
for “business development”
ABSTRACT
2007 / 2008
This industrial project was submitted by IPELIUM, one of the French leader firms in the area
of security and mobility.
The team was in charge of providing the society with software allowing the management of a
project from its beginning (Detection of a “lead” by the commercial) till its end (Invoicing).
Therefore, this software should allow a complete follow-up of the various phases of an IPELIUM
project life cycle.
After understanding and modelling the internal functioning of the company, and analysing the
needs expressed by the different co-workers, the project, which includes three sections (CRM,
project management and reporting) was divided into two main phases:
The first stage consisted in studying the existing solutions and choosing the one which best
matches the needs. At the end, the software package that we decided to work on was
“SugarCRM”.
Then we moved to the next phase, which consisted in developing the required functionalities
corresponding to the specifications. Furthermore, it was necessary to render the documentation
associated to the chosen solution.
The communication with our supervisors was mainly made by e-mail or by video conference. We
had weekly technical meetings with the industrial supervisor. And we organized “project management” meetings with our academic supervisor. The reports of each meeting as well as all the
documentation relative to the project were afterwards deposited on a shared platform “javaforge”.
Lastly, this project was an opportunity to acquire several skills in the area of “Customer
Relationship Management” (which is used more and more), to use open source software and to
discover project management issues like managing time, resources and communication between
all the parts.
- 34 -
Élèves
Julien COCHET
Anisse LAHRACH
Omar SABBAGH
Moäd TALHA
Partenaire
5, avenue de Verdun
94204 IVRY-SUR-SEINE
Encadrants
industriel
Olivier HUSSON
universitaire
Marie-Noëlle FLAVENOT
E S IA L
IPELIUM
PRÉSENTATION
Ce projet industriel a été proposé par la société IPELIUM située à Paris. Les étudiants ayant travaillé sur ce projet sont Julien
COCHET, Anisse LAHRACH, Omar SABBAGH et Moâd TALHA. L'encadrement au niveau universitaire a été assuré par Mme
Marie-Noëlle FLAVENOT et au niveau de l'entreprise, par M. Olivier HUSSON.
L'objectif de ce projet était de fournir à la société IPELIUM un logiciel permettant la gestion d'un projet de son début (Détection
d'une piste par un commercial) jusqu'à sa fin (Facturation). De ce fait, ce logiciel doit permettre un suivi facile et collectif des différentes phases du cycle de vie d'un projet IPELIUM.
La première étape a été de modéliser le fonctionnement interne de la société, ce qui nous a permis de recenser les besoins de chaque
collaborateur (commercial, chef de projet, comptable, etc.), et ainsi de diviser le projet en trois principales parties qui sont :
. La partie CRM commercial
. La partie gestion de projet
. La partie Reporting
Ensuite, le projet s’est scindé en deux phases. La première consistait en l’analyse du problème, l'étude et le choix de la solution, c'està-dire comparer (selon certains critères) différents progiciels qui pouvaient répondre aux besoins exprimés, puis d'en choisir un.
Une fois ce choix fait (le progiciel SugarCRM), nous sommes passés à la deuxième phase du projet, qui consistait à développer et/ou
modifier des fonctionnalités de ce progiciel. Ce développement se faisait selon un cahier des charges technique établi à l'avance.
Enfin, il fallait rédiger une documentation pour la solution choisie.
La communication avec les différents intervenants s'est principalement faite par mail ou par vidéo conférence (Skype). Des réunions
techniques et des réunions de gestion de projet ont été organisées régulièrement avec nos deux encadrants (industriel et universitaire). Les comptes-rendus de chaque réunion ainsi que toute la documentation relative au projet étaient déposés par la suite sur la plateforme de partage de fichiers “Javaforge”.
Ce projet a été pour nous l'occasion d'acquérir de nombreuses connaissances dans les domaines de la gestion des relations clients
CRM, qui sont de plus en plus utilisées, mais aussi d'appréhender les possibilités des développements open source. Ce fut également
l'opportunité de s'approprier des techniques de gestion de projet en faisant face à la gestion d'un planning, la gestion de ressources,
le choix des outils de travail, et à la communication entre les différentes parties.
- 35 -
E S IA L
KITRY
CONSULTING
AMÉLIORATION DES PROCESSUS
GESTION DES CONTRÔLES PÉRIODIQUES
Improvement Control
Regulation and Equipment Management
ABSTRACT
2007 / 2008
Kitry is a Luxemburg IT company which has been developing software for more than 20 years.
The goal of our project was to develop a web based application for companies in order to help
them control their equipment. Many companies have a lot of devices that need to be checked
periodically. Thus, our application records all these devices with all their controls in a centralized database. It allows the user to display the information needed in an easy to use
graphical interface. Users can be warned when a control needs to be done by receiving a notification by email.
Élèves
Amine EL FELLAH
Omar MATLAOUI
Youssef ZITOUNI
There are two main parts in this project:
Partenaire
The first one is the conception part in which we developed the specifications. As this project is
a continuation of work begun last year by another group of ESIAL students, we started by reading the available documentation. Then, we established a new architecture which was validated
by making a small program using new technologies (Google Web Toolkit 1.4, JDBC).
10a, rue Henri M. Schnadt
L-2530 LUXEMBOURG
The second part is related to implementation. We implemented both the server and the client
parts, using JDBC for the server and GWT for the client. In order to interact between the client
and the server, we chose a GWT library called RPC (Remote Procedure Calls) instead of XML
which was used last year. The technologies we have chosen guarantee a homogeneous architecture. Thus, all the main parts of our project are independent and can be deployed alone.
Encadrants
industriel
Jérôme BARBÉ
We adopted a weekly iterative development process. During each meeting with our industrial
and university supervisors, we could check the accomplished work and schedule new tasks for
the next week.
This project was an opportunity to learn new technologies such as GWT 1.4, JDBC and develop a project from conception to implementation for an industrial company.
- 36 -
universitaire
Monique GRANDBASTIEN
E S IA L
KITRY
C O N S U LT I N G
PRÉSENTATION
Entreprise
Kitry consulting est une entreprise luxembourgeoise spécialisée dans des domaines tels que Java, Oracle, Lotus Domino et d'autres
technologies issues de l'open source.
Chronologie
Le projet a été décomposé en deux phases principales :
. Une première phase de conception :
Lors de cette phase nous avons réalisé le cahier des charges à partir de fonctionnalités demandées par l'entreprise. Comme ce
projet est la continuation d’un travail amorcé l’année dernière par un groupe d’élèves de l’ESIAL, nous avons d’abord commencé par lire la documentation existante. Ensuite, nous avons établi une nouvelle architecture qui a été validée, après avoir développé un programme utilisant de nouvelles technologies (Google Web Toolkit 1.4, JDBC). Une fois le cahier des charges réalisé, la phase de conception était achevée et le planning prévisionnel pour la phase de réalisation fut mis en place.
. Une seconde phase de réalisation :
Durant cette phase, il a fallu mettre en oeuvre les technologies choisies, tout en respectant les spécificités fonctionnelles que nous
avions écrites lors de la première phase. En plus, une bonne partie était consacrée à la configuration des serveurs d’application
APACHE et TOMCAT, afin de garantir le fonctionnement de l’application.
Objectifs et résultats
Le but de ce projet est de fournir aux entreprises une application web leur permettant de gérer la mise en conformité de leurs équipements. En effet, il y a de nombreux appareils qui nécessitent d'être régulièrement vérifiés, ne serait-ce que pour des normes de
sécurité. Ainsi, ce projet a pour objectifs de gérer tous les contrôles périodiques, les rapports, etc. concernant les appareils de l'entreprise. C'est pourquoi toutes les informations doivent être accessibles rapidement, avec une notification automatique des contrôles
les plus urgents à effectuer.
Une deuxième partie de l’application doit permettre aux entreprises de définir un plan d’actions à réaliser dans le cadre d’un projet,
ce qui facilitera grandement sa gestion.
Démarche suivie
Dans un premier temps, nous avons rencontré notre encadrant industriel afin de définir un planning de travail. Nous avons pu ainsi
appréhender les objectifs et les ressources dont nous disposerions. Ensuite, nous avons adopté un développement itératif à cycle hebdomadaire. Ainsi, nous avions une réunion par semaine avec nos encadrants universitaire et industriel. Au cours de ces réunions,
nous faisions le point sur le travail effectué la semaine passée et nous planifions la semaine à venir. Le tout en nous replaçant dans
le planning global afin de vérifier semaine après semaine l'avancement des flux métiers.
Nos acquis
Ce projet a été l’occasion de découvrir le domaine de la gestion de projet et de rédiger des documents de spécification complets.
Nous avons aussi acquis de nombreuses connaissances dans les domaines des technologies web (Google Web Toolkit, TOMCAT,
JDBC).
- 37 -
E S IA L
NIST
Projet 1
ÉTUDE DE FAISABILITÉ POUR L’IMPLÉMENTATION DE
Qt ® AFIN D’AMÉLIORER LA PORTABILITÉ DE DIVERSE
Feasability Study of Implementing Qt ® to
improve DIVERSE’s portability
ABSTRACT
2007 / 2008
Our industrial project was submitted by the NIST (National Institute of Standards and Technology) and
more precisely by the SAV (Scientific Applications and Visualization) Group. The project is supervised by
Dr. Judith Terrill and Mr. John Kelso (industrial supervisors) and by Mr. Marc Tomczak (Academic
Supervisor).
The aim of this project is to improve the portability of DIVERSE, a software used by the NIST team to
do VR (Virtual Reality) applications. DIVERSE is made up of several software packages namely DGL,
DTK, CoVE and PRODUCER - each of which is used for specific tasks. DIVERSE was initially developed with the aim to be platform independent. All the above-mentioned modules are multi-platform except
PRODUCER, which is actually used for Camera control i.e. it provides a projection, a field of view, a viewport and frame control for 3D applications in the VR systems. It is also used for window creation and keyboard-mouse control and this is actually where the main problem arises. These two functionalities are only
implemented on X11 (UNIX, MacOS) therefore making DIVERSE not totally platform independent. The
solution proposed by the NIST team is to use an “industry-standard” software called QT®, to replace
PRODUCER.
The project was divided into two main phases:
. Preliminary phase: In this phase we gathered all the information needed to start working on this project. This allowed us to better understand our client’s needs and to write the specifications.
. Analysis phase: Our work here was in a first place, to analyze the different functionalities of PRODUCER and how it is used by DIVERSE. Secondly we had to study Qt® to see whether it offers the same
functions as PRODUCER. Finally, once we spotted the differents classes and functions using PRODUCER, we tested small examples in Qt® to see whether it is a viable solution.
This project was an opportunity to acquire several skills in OOP (Object-Oriented Programming) especially in C++, in Open Source software and to discover project management techniques like project planning, writing functional and technical specifications, issue tracking, resources/time management and communication between the stakeholders.
- 38 -
Élèves
Fairouz AZZA
Paul KHOURY SABA
Anas MAROUF
Amreesh Dev PHOKEER
Partenaire
100 bureau drive
Gaithersburg
MD 20899 USA
Encadrants
industriels
John KELSO
Judith TERRILL
universitaire
Marc TOMCZAK
E S IA L
NIST
Projet 1
PRÉSENTATION
Contexte :
Ce projet industriel a été proposé par le NIST (National Institute of Standards and Technology) situé à Gaithersburg, USA. Les étudiants ayant
participé à ce projet sont Fairouz Azza, Amreesh Dev Phokeer, Anas Marouf et Paul Khoury Saba. L’encadrement au niveau universitaire a été réalisé par M. Marc Tomczak et au niveau industriel, par Dr. Judith Terrill et M. John Kelso, respectivement chef et membre du groupe SAV (Scientific
Applications and Visualization Group).
Description du projet :
Le but de ce projet est d'améliorer la portabilité de DIVERSE, un logiciel utilisé par le NIST pour développer des applications dans le domaine
de la réalité virtuelle. DIVERSE est composé de plusieurs modules logiciels notamment DGL, DTK, CoVE, DADS et PRODUCER. Chacun de
ces module est utilisé pour des tâches spécifiques comme par exemple : DGL pour générer des objets 3D et DTK pour contrôler l’échange d’informations entre l’application et les périphériques d’entrée. PRODUCER est quant à lui utilisé pour fournir une projection, un champ de vision
et une zone de visualisation pour les objets graphiques. Il est par ailleurs utilisé pour la création de fenêtres et le contrôle de la souris et du clavier.
Or, le problème rencontré est que, DIVERSE était à la base programmé pour être utilisé sur plusieurs plateformes (Windows, Unix, MacOS) et
les modules qui le composent sont tous “platform independent” sauf PRODUCER. Le problème principal concerne quelques fonctionnalités
(fenêtrage et contrôle souris/clavier) de PRODUCER qui ont été implémentées sur X11 (Linux/Unix, Mac) seulement. D’où l’objectif du projet,
qui est de transformer DIVERSE en une application portable.
Solution exploitée :
La solution que le NIST nous a proposée pour remédier à ce problème est l’utilisation de QT®, une application “multi-plateforme” qui fournit
entre autres, les mêmes fonctionnalités que PRODUCER, c’est-à-dire contrôle de souris/clavier et gestion des fenêtres. Notre travail consistait à
étudier dans quelle mesure on pouvait effectivement remplacer les appels de fonctions de PRODUCER par ceux de QT®. C'est en l'occurrence
l'étude de faisabilité qu'on a entreprise.
Démarche suivie :
Pour mener à bien ce projet nous avons suivi deux phases :
- Phase de documentation : cette phase nous a servi de base pour la suite de notre travail, car elle nous a permis de fixer les objectifs et de bien
comprendre les besoins de notre client. Elle nous a aussi aidés à nous familiariser avec l'environnement de travail i.e. DIVERSE. Les tâches
effectuées dans cette phase sont :
. étude du fonctionnement de DIVERSE et ses différents modules,
. étude des fonctionnalités de PRODUCER (fenêtrage et contrôles des entrées clavier/souris),
. étude des fonctionnalités de QT® pour contrôler les entrées clavier/souris et pour la gestion des fenêtres.
- Phase de recherche : durant cette phase nous avons analysé de façon “très ciblée” le code existant pour modéliser le système afin de comprendre
comment DGL utilise PRODUCER. Les tâches effectuées dans cette phase sont :
. analyses et tests sur des exemples utilisant PRODUCER,
. étude des appels de fonctions sur l'API de PRODUCER par DGL,
. comparaison des fonctionnalités fournies par QT® et celles demandées par DIVERSE,
. ciblage des fichiers, des fonctions ou des classes à modifier dans le cadre de l'implémentation de QT®.
Gestion de Projet :
La communication avec les différents intervenants s’est principalement faite par mail. Des vidéos conférences ont également été organisées avec les
encadrants industriels au NIST tous les mois à l’aide de l’outil de communication “Skype®” et une réunion par semaine avec notre encadrant universitaire M. Marc TOMCZAK. À la suite de chaque réunion, des comptes-rendus ont été rédigés par chaque membre de l’équipe et ils étaient
ensuite classés dans un dossier spécialement prévu pour le projet. D’autres documents comme le rapport, le planning et des feuilles d’investigation
ont été également archivés dans ce dossier. Les feuilles d’investigation servent à laisser une trace des tests et des recherches faits par l’équipe au fur
et à mesure qu’on avançait dans le projet.
Acquis :
Ce projet a été pour nous l’occasion d’acquérir de nombreuses connaissances dans le domaine du langage objet notamment en C++ avec lequel
ce projet a été développé, mais aussi d’appréhender les possibilités des développements “open source”. Ce fut également l’opportunité de s’approprier des techniques de gestion de projet c’est-à-dire l’élaboration d’un planning, la gestion de ressources et à la communication entre les différentes parties.
- 39 -
E S IA L
NIST
Projet 2
FUSION DE CAPTEURS OPTIMISÉE
Effective Sensor Data Fusion
ABSTRACT
2007 / 2008
This industrial project was submitted by National Institute of Standards and Technology (NIST)
based in Gaithersburg in the United States of America.
The students who worked on this project are Julien Amelot, Laurent Barthelemy, Julien Le Guen
and Annie Sananikone. The academic supervisor of the project is Suzanne Collin and the industrial one is Ya-Shian Li.
This project consists in designing and building a multi-sensor embedded system able to gather
sensor data and make a decision very quickly. Indeed, this should be a high frequency process
(100 up to 1000 Hz).
Élèves
Julien AMELOT
Laurent BARTHELÉMY
Julien LE GUEN
Annie SANANIKONE
Partenaire
The project could be divided into three parts :
. Design and build an embedded system integrating numerous sensors capable of providing
high frequency data and near real-time feedback to an outside observer
. Research time-stamping accuracy and data-fusion methods and algorithms
. Apply research to embedded system built to show real-time control using time synchronization methods
100 bureau drive
Gaithersburg
MD 20899 USA
It is a complete project with a research part, a design part and an application part, each of these
parts goes with a documentation phase.
Encadrants
It is an interesting challenge to manage a whole project with some unusual constraints in the fact
that our managers are overseas for example. Thanks to this long distance communication, we have
learned to expose our point of view on the project precisely and clearly in a foreign language.
Besides, this embedded system project has confronted us to several constraints, such as real-time
control, fast and light algorithms for instance, that fit quite well our specialization of embedded
software. But it also has confronted us with some choices to make, for instance the selection of
the embedded card and the sensors, and to study the feasibility of the project.
Finally, this project is a great challenge because it contains both research and industrial aspects.
- 40 -
industriels
Julien BABOUD
Kevin BRADY
Ya-Shian LI
John MESSINA
universitaire
Suzanne COLLIN
E S IA L
NIST
Projet 2
PRÉSENTATION
Ce projet industriel a été proposé par le National Institute of Standards and Technology (NIST) situé à Gaithersburg, près de Washigton DC
(USA).
Les étudiants ayant travaillé sur ce projet sont Julien AMELOT, Laurent BARTHELEMY, Julien LE GUEN, et Annie SANANIKONE, tous en
spécialisation Logiciels Embarqués (LE).
L'encadrant industriel est Ya-Shian LI, membre de l'équipe Infrastructure for Integrated Electronic Design and Manufacturing (IIEDM) du NIST.
L'encadrement universitaire a été réalisé par Suzanne COLLIN.
Le but de ce projet est de concevoir un système embarqué capable de traiter très rapidement une grande quantité d'informations provenant de plusieurs capteurs de type différent.
Ce traitement doit être effectué à haute fréquence (de 100 à 1000 Hz) et doit déboucher sur une prise de décision.
Nous avons donc décidé en collaboration avec nos encadrants industriels de concevoir un robot mobile autonome capable de suivre une source
lumineuse tout en évitant les obstacles sur sa route.
Le système conçu peut être divisé en six phases :
. Acquisition des données des capteurs échantillonnés à au moins 100Hz.
. Collecte et datation des données : dès réception de la donnée, le FPGA la date avant tout autre traitement.
. Échange des données : le FPGA envoie à l’ARM les paquets de données time-stampées via un bus.
. Fusion de données et prise de décision : le processeur traite les données reçues, en tire les plus pertinentes à l’aide de l’algorithme de fusion de
données et prend une décision (commande le robot).
. Réseau : nous pouvons imaginer que le robot n’est qu’un module et qu’à l’avenir celui-ci pourrait communiquer et échanger des données via
un réseau avec d’autres entités, ou qu’un bras robotisé pourrait lui être ajouté par exemple.
. Synchronisation RTC : afin de synchroniser toutes les entités du système global (le robot, le bras, etc.), celles-ci doivent réajuster leur horloge
interne. Pour cela, nous utilisons le Network Time Protocol (NTP) répondant à nos fortes contraintes de temps.
Le projet s'est déroulé en trois parties :
. Des recherches préliminaires afin d’affiner les objectifs du projet, de choisir le matériel (système embarqué, capteurs) et l’étude de la faisabilité du projet, tout cela ayant permis la rédaction du cahier des charges.
. La conception du système embarqué, datation des données reçues des capteurs.
. L’implémentation, l’intégration, les tests et les benchmarking.
Chacune de ces trois parties est liée à une phase de documentation. Le délivrable final inclura le système embarqué ainsi qu’un guide utilisateur
permettant à l’équipe du NIST de reproduire et utiliser le système.
Il s’agit d’un projet très complet incluant une phase de recherches, une de conception et une phase d’application. De plus, gérer un projet entier
comportant des contraintes inhabituelles dans le fait que nos encadrants soient géographiquement distants par exemple est un challenge très intéressant. Grâce à cette communication longue distance, nous avons appris à exposer clairement et précisément notre point de vue sur le projet dans
une langue étrangère.
De plus, ce projet de système embarqué nous a confrontés à plusieurs contraintes telles que l’élaboration d’un control temps réel, d’algorithmes
légers et rapides par exemple, ce qui correspond assez bien à notre spécialisation Logiciels Embarqués. Mais nous avons également étudié la faisabilité du projet dans nos recherches du matériel, telles que la sélection de la carte embarquée et des capteurs, répondant au mieux aux contraintes
du projet.
Ce projet nous a non seulement permis de gérer les ressources mises à notre disposition, les délais et les contraintes induits par un tel projet mais
aussi de gérer les ressources humaines que nous possédions : les quatre étudiants de l’ESIAL, l’équipe du NIST nous supervisant, notre encadrante universitaire mais aussi toute l’aide que nous avons pu avoir parmi les professeurs de notre école.
Pour conclure, ce projet est un challenge intéressant mêlant recherche et industrie et offrant beaucoup de possibilités d’évolution dans le futur.
- 41 -
E S IA L
NIST
Projet 3
DÉVELOPPEMENT D’UNE LIBRAIRIE
MULTI-PLATEFORMES DESTINÉE À LA COLLECTE
D’INFORMATIONS SYSTÈMES
Development of a multi-platform library to gather
system information
ABSTRACT
2007 / 2008
This industrial project has been submitted by the National Institute of Standards and
Technology (NIST), which is located in Gaithersburg, MD in the United States.
The NIST is developing a system called "Data Flow System II" which enables data exchange between different servers and clients. One of its applications is to determine which computer on the
network is the most suitable for running a certain task at a given time (i.e. the one which has the
most compute power available).
The goal of this project was to develop a library providing with information about a computer
at a certain time. The results are then used by "Data Flow System II" in order to distribute the
tasks on the NIST's network.
Our work has been divided into two main phases: first, writing the specifications of the library
and second, implementing them. The functionalities the library had to offer, as well as the technical choices, were agreed on with our supervisors.
One of the main difficulties of the project was to develop the library simultaneously on Linux
(Fedora distribution) and Windows XP. Since we were mostly interested in low-level information, the implementation differs a lot from one OS to another.
Due to obvious geographical reasons, the communication with our supervisors was solely done
via Internet. Thanks to the publication of all conception-related documents (UML diagram,
reports on a particular technology, ...) or management-related (status of each task, weekly
reports, ...) on a Trac-like website and of all code via Subversion, they were able to track our progress anytime they wanted to. A mailing-list, instant messaging and audio conferences were used
for questions, suggestions and feedback.
We have discovered the C++ language, which is widely used in the industry, but is not taught at
ESIAL. We have also used management tools like Trac for the very first time, which was interesting and at the same time very useful.
- 42 -
Élèves
Nicolas CROUZIER
Pierre-Henry HOUCHARD
Sébastien JAHAN
Régis WACK
Partenaire
100 bureau drive
Gaithersburg
MD 20899 USA
Encadrants
industriels
Stéphane DEGRÉ
Antoine FILLINGER
Imad HAMCHI
Vincent STANFORD
universitaire
Olivier FESTOR
E S IA L
NIST
Projet 3
PRÉSENTATION
Ce projet industriel a été proposé par le National Institute of Standards and Technology (NIST), situé à Gaithersburg dans le
Maryland aux États-Unis. Les étudiants de l'ESIAL ayant travaillé sur ce projet sont Nicolas CROUZIER, Pierre-Henry HOUCHARD, Sébastien JAHAN et Régis WACK. L'encadrement au niveau universitaire a été effectué par Olivier FESTOR et au niveau
du NIST par Antoine FILLINGER, Stéphane DEGRÉ et Imad HAMCHI.
Le NIST développe un système appelé “Data Flow System II” qui permet l'échange de données entre divers serveurs et clients. Une
des applications possibles de “Data Flow System II” est de déterminer quelle machine sur le réseau est la plus à même d'effectuer
des calculs à un moment donné, celle qui dispose du plus de puissance de calcul disponible.
L'objectif du projet industriel était de développer une bibliothèque donnant des informations sur une machine à un instant donné.
Ces informations sont ensuite exploitées par “Data Flow System II” pour répartir les calculs sur le réseau du NIST.
La bibliothèque devait être multi-plateformes et offrir un accès aux données suivantes :
. Fréquence, famille, architecture de chaque processeur de la machine.
. Modèle de la carte graphique et extensions OpenGL offertes.
. Liste des connexions réseau avec leur bande passante théorique.
. Liste des processus actifs, l'utilisation du CPU et des différentes connexions réseau pour chacun d'entre eux.
. Quantité de mémoire vive totale et quantité de mémoire vive disponible.
. Nom et version de l'OS installé.
. Taille et espace libre de chaque partition.
. Permissions et accès pour un fichier donné.
. Un score selon plusieurs algorithmes de benchmark donnant des informations sur la rapidité du réseau, du disque dur et du processeur.
Notre travail a donc tout d'abord consisté à établir la spécification de la bibliothèque. En accord avec les encadrants industriels, nous
avons fixé une liste de fonctionnalités que la bibliothèque devrait offrir. Par la suite, nous nous sommes documentés sur les différentes possibilités nous permettant d'accéder aux dites informations et nous avons soumis nos propositions technologiques à nos
encadrants. Une fois leur accord obtenu, nous avons débuté la phase d'implémentation de la bibliothèque en C++ à la demande de
nos encadrants. Enfin, nous avons eu à fournir des outils permettant d'installer la bibliothèque en résolvant les problèmes liés aux
dépendances éventuelles de manière automatique.
Une des difficultés du projet consistait à développer simultanément pour Linux (distribution Fedora) et Windows XP. D'autant que
les informations que nous voulions obtenir étaient très proches du bas niveau et que par conséquent le moyen d'y accéder était, sauf
exception, très différent selon le système d'exploitation sur lequel la bibliothèque était utilisée.
Pour des raisons géographiques évidentes, la communication avec nos encadrants s'est faite uniquement par Internet. La publication de tous les documents liés à la conception (diagramme UML, rapports sur une technologie particulière) ou gestion du projet
(état d'avancement, comptes rendus de réunion, ...) sur un site Internet de type Trac et du code via Subversion leur permettait de
voir nos progrès à tout moment. Une mailing list nous permettait de communiquer de manière formelle avec eux pour des questions éventuelles. Enfin, nous avons utilisé un logiciel de messagerie instantanée pour discuter de manière plus informelle et plus
directe et permettant d'effectuer des audioconférences.
Ce projet industriel a été l'occasion pour nous de découvrir le C++, un langage qui n'est pas enseigné à l'ESIAL bien qu’étant très
répandu dans les entreprises. Nous avons également utilisé pour la première fois des outils de gestion de documents comme Trac, ce
qui s'est avéré être très intéressant. Enfin, en terme de gestion de projet, il nous a fallu nous pencher sur la gestion de notre temps
sur 6 mois pour la première fois et nous assurer que le travail que l'on produisait était en adéquation avec les demandes du client.
- 43 -
E S IA L
NXP
SEMICONDUCTORS
ÉTUDE DE FAISABILITÉ D’UN MTM SUR LA
PLATE-FORME MOBILE 3G DE
NXP SEMICONDUCTORS
Is it possible to implement a MTM
on 3G mobile phone ?
ABSTRACT
2007 / 2008
This industrial project was submitted by NXP Semiconductors, based in Le Mans.
The three students who worked on this project are Norbert Bonnaud, Phouthasone Bouapha
and Michael Heuer. Our university supervisor is Radu State and our industrial supervisor is
Hervé Sibert.
The Mobile Trusted Module (MTM) is a chip based on the Trusted Platform Module (TPM).
The TPM asssures essential security features for computing devices : confidentiality, integrity
and authentication of data. Similar to the TPM, the MTM assures security for small mobile and
embedded devices. This chip has not been implemented yet. Mobile providers are still doing
research to design it.
The aim of our project is to study the faisability of a MTM on a 3rd generation mobile platform.
The project was divided into two main phases :
- two studies : the TPM and the MTM.
- our contribution : a document and an application.
First, we studied the TPM’s architecture and functionality, then, we studied the MTM’s architecture and specifications. During the second phase, we wrote a technical document concerning
the MTM’s architecture and we implemented an application which simulates the behaviour of
the MTM (the storage of data).
We also got two trainnings about security and cryptography. To use the knowledge we learnt on
these realms, we realized a small project : a filter/generator of password. This application allows
us to encrypt data stored in files : it works like the MTM. To make it, we used the langage C++
and the OpenSSL library, which allowed us to make the cryptography’s part.
Thanks to this project, we acquired more knowledge and skills in the area of security and embedded systems, which are directly connected to our fields of specialization. We also run professionel meetings, we learnt and practiced professional project management during this project.
- 44 -
Élèves
Norbert BONNAUD
Phouthasone BOUAPHA
Michaël HEUER
Partenaire
9, rue Maurice Trintignant
72094 LE MANS CEDEX 9
Encadrants
industriel
Hervé SIBERT
universitaire
Radu STATÉ
E S IA L
NXP
SEMICONDUCTORS
PRÉSENTATION
Ce projet industriel a été proposé par NXP Semiconductors situé au Mans. Les étudiants ayant travaillé sur ce projet sont Norbert
Bonnaud, Phouthasone Bouapha et Michaël Heuer. L'encadrement au niveau de l'entreprise a été réalisé par Hervé Sibert et au
niveau universitaire, par Radu Staté.
Notre projet consite en la réalisation d'une étude de faisabilité de l'implémentation d'un MTM (Mobile Trusted Module) sur la plateforme mobile 3ème génération de NXP. Le MTM est une puce permettant de sécuriser les données disponibles dans un téléphone
mobile au cours de son utilisation.
Le projet a été divisé en deux grandes parties :
- une phase d’étude,
- une phase de production.
Nous avons d’abord étudié (d’octobre à décembre) l’architecture et les fonctionalités du TPM (Trusted Platform Module), qui est
une puce permettant de sécuriser un ordinateur, elle assure la confidentialité, l’intégrité et l’authentification des données. Cette étude
préliminaire nous a permis de mieux appréhender le cœur de notre sujet : le MTM. Nous avons donc ensuite étudié l'architecture
ainsi que les spécifications du MTM de janvier à mi février. La seconde phase de notre projet regroupe nos contributions au projet,
à savoir la rédaction d’un document technique (pour l’entreprise) concernant l’architecture et l’utilisation du MTM, et également
la réalisation d’une application simulant le comportement du MTM.
À la demande des étudiants et afin de concrétiser au mieux ce projet et d'utiliser leurs connaissances en cryptographie acquises
durant les formations données par Hervé Sibert, l’entreprise NXP Semiconductors a proposé le développement d’une application
permettant de simuler un coffre-fort de mots de passe. Cette application permet de simuler le fonctionnement d’un MTM (en
implémentant un coffre-fort de mots de passe). Ce coffre-fort est programmé dans le langage C++ (la bibliothèque cryptographique
utilisée est OpenSSL) et présente une interface graphique conviviale. Ce programme permet de crypter un fichier afin de le rendre
illisible pour toute personne ne possédant pas le bon mot de passe, mot de passe lui-même crypté par une fonction de hashage.
La communication avec l'encadrant industriel a été faite par l'intermédiaire d'entretiens téléphoniques hebdomadaires en raison de
la distance entre Le Mans et Nancy, et également par mail. Nous avons pu le rencontrer à deux reprises au Mans le 6 novembre 2007
et le 10 mars 2008 pour passer deux formations (sécurité et cryptographie) et pour lui présenter notre travail de fin de projet devant
une équipe composée de 15 experts en sécurité. Quant à la communication avec l'encadrant universitaire, elle s'est faite régulièrement par réunion au LORIA (Laboratoire Lorrain de Recherche en Informatique et ses Applications) et par mail.
Ce projet a été pour nous l'occasion de nous familiariser avec les grandes notions de la sécurité de l'information (cryptographie et
sécurité matérielle), dans un cadre à la frontière entre logiciel et matériel, nous permettant d'appréhender de manière transverse l'architecture des systèmes embarqués. De plus, l'encadrement par des experts en sécurité nous a fourni toutes les données nécessaires
à la réussite du projet. Nos encadrants nous ont également accompagnés dans la définition des objectifs et le suivi du projet.
Ce fut également l'opportunité de mettre en pratique nos connaissances en gestion de projet, en respectant des contraintes professionnelles comme le planning, l'archivage de tous les documents consultés au cours du projet, l’élaboration d’un plan de back-up
en cas de pertes de nos données, et l'animation de réunions.
- 45 -
E S IA L
ORANGE
BUSINESS SERVICES
MISE À DISPOSITION D’UNE BIBLIOTHÈQUE
GRAPHIQUE FONCTIONNANT SOUS LE SYSTÈME
D’EXPLOITATION eCos
Graphical user interface for eCos
ABSTRACT
2007 / 2008
This industrial project was submitted by Orange-Silicomp, based in Grenoble, France. The three
students who worked on this project are Antoine Amirault, Rémi Lavedrine and Rémi Raffin.
Our industrial supervisors were Emmanuel Dufour and Jean-Marc Saffroy and our university
supervisor was Mr Alexandre Parodi.
eCos (embedded Configurable operating system) is an open source, royalty-free, real-time operating system intended for embedded systems and applications. It can run one process with multiple threads. eCos was designed for devices with memory size in the tens to hundreds of kilobytes[1], or with real-time requirements.
However eCos does not have a graphical user interface (GUI). Therefore, eCos alone cannot display graphics or images on a screen: this requires an additional graphics library.
Élèves
Antoine AMIRAULT
Rémi LAVEDRINE
Rémi RAFFIN
Partenaire
18, rue de la République
54123 VITERNE
The aim of the project was to demonstrate a graphical user interface for eCos.
We had two possibilities:
. Develop a graphics library from scratch.
. Use an existing royalty free graphics library.
Encadrants
We explored the existing open source GUIs that could supposedly work on eCos and decided to
choose one of those to achieve our goal.
industriels
Emmanuel DUFOUR
Jean-Marc SAFFROY
Sylvain KOSTREWA
This project was an opportunity to acquire several skills in the area of real-time operating system
(which are more and more demanded), to use open source software and to discover project
management issues like managing time, resources and communication between people.
universitaire
Alexandre PARODI
- 46 -
E S IA L
ORANGE
BUSINESS SERVICES
PRÉSENTATION
Ce projet industriel a été proposé par le centre Silicomp, travaillant pour Orange Business Services, situé à Grenoble. Les étudiants
ayant travaillé sur ce projet sont Antoine Amirault, Rémi Lavedrine et Rémi Raffin. L’encadrement au niveau universitaire a été réalisé par M. Alexandre Parodi et au niveau de l’entreprise par M. Emmanuel Dufour et par M. Jean-Marc Saffroy.
eCos est un système d’exploitation conçu pour les systèmes embarqués. Il permet de développer des programmes dans lesquels le
temps de réponse et la réactivité sont des contraintes fortes (dit temps réel dur). eCos a initialement été développé par la société
Cygnus, rachetée ensuite par Red Hat, et est désormais un logiciel libre développé de manière communautaire. Un inconvénient
essentiel d’eCos est que celui-ci n’a pas de librairie graphique. Il n’est ainsi pas possible d’afficher des graphiques ou des images sur
un écran.
Notre travail dans le cadre du projet industriel était donc de démontrer des capacités graphiques sous le système d’exploitation eCos,
comme par exemple afficher une courbe, etc.
Pour réaliser ceci, nous avions deux possibilités. La première était de développer ex-nihilo une bibliothèque graphique pour eCos
dans le temps du projet. Et la deuxième était d'utiliser une librairie graphique existante.
Nous avons donc fait ce projet en deux étapes :
. Nous avons estimé que la charge de travail que pouvait représenter le développement ex-nihilo d’une bibliothèque graphique
complète semblait très lourde.
. Nous avons fait une recherche sur les bibliothèques graphiques open-source existantes qui étaient susceptibles de nous convenir
et nous en avons fait une étude comparative afin de déterminer quelle serait la meilleure dans notre cas, au vu des caractéristiques
annoncées publiquement.
Suite à cette étude, nous avons décidé d'utiliser une bibliothèque existante en apparence plus performante, plutôt que de fournir un
effort important pour parvenir à un résultat a priori moindre.
L’étude comparative a principalement porté sur les aspects mémoire, rapidité demandée par le système d’exploitation et sur les
aspects de coûts et de licence nécessaires à l’utilisation des librairies graphiques.
Par la suite, nous avons installé le système d’exploitation eCos selon les spécifications demandées par le client et nous nous sommes
chargés de porter la librairie graphique choisie sur le système d’exploitation eCos.
La communication avec les différents intervenants s’est principalement faite par mail. Nous faisions un point hebdomadaire par mail
tous les vendredis et nous faisions une réunion téléphonique avec les encadrants industriels tous les 15 jours.
Ce projet nous a permis de tester dans le cadre d’un projet professionnel, nos compétences acquises à l'école. Il nous a permis de
découvrir les sources d'un système d’exploitation temps réel.
De plus, nous avons pu travailler avec une entreprise très importante dans le secteur des télécommunications, ce qui a été très enrichissant car nous avons pu découvrir leur méthode de travail industrielle.
En outre, ce projet nous a permis d’appréhender les problèmes inhérents au développement open source et principalement le
manque de support et de documentation pour certains logiciels mais également l’importance d’une unification au niveau linguistique car une partie importante de la documentation qui nous aurait été très utile était uniquement rédigée en chinois. Enfin, ce
projet fut également l’occasion de nous approprier des techniques de gestion de projet, de gestion du temps et des hommes en utilisant des plannings et d’autres nombreux outils mais aussi de gérer la communication entre des équipes distantes.
- 47 -
E S IA L
PSA
P E U G E O T- C I T R O Ë N
PROJET RefOutil
Reftool Project
ABSTRACT
2007 / 2008
The RefTool project has been proposed by Mr. Emmanuel MONZIES, working in the eBusiness department of PSA Peugeot Citroën, a leading European car manufacturer. This project has been developed by Julien CANTAMAGLIA, Christophe MASSON and Philippe
VIENNET, students in their last year of ESIAL's curriculum and under the supervision of Mr.
Jean-François PETIN, our university supervisor.
RefTool is intended to provide PSA's marketing department with indicators pertaining to the
visibility of the group's brands on the web. In other words, RefTool will help determining how
well the different cars and assets of PSA are referenced in major web search engines such as
Google, Yahoo or MSN. This information will help PSA making decisions regarding whether it
is useful to pay for a better referencing for a specific model, in a specific search engine and for a
given country. Thus helping control costs and improving their presence on the web.
The project is articulated around three axises:
. a data gathering module whose role is to send requests related to PSA to search engines and
to store the corresponding results in a database,
. an administration module that allows to control the behavior of the application: the countries to take into accounts, the car models to look for and so on,
. and an analysis and presentation module that will display human readable data in the form
of matrices, diagrams, etc. This module is the main interface of the application and is meant
to display the aforementioned informations.
This project helped us consolidate and develop a plethora of skills: defining specifications, writing technical studies, communicating with the different protagonists and allowed us to put
industry recognized technologies to good use: Java 6, Hibernate, AJAX, PHP, MySQL, Apache...
- 48 -
Élèves
Julien CANTAMAGLIA
Christophe MASSON
Philippe VIENNET
Partenaire
2 à 10, boulevard de l’Europe
Poissy
78092 YVELINES Cedex 9
Encadrants
industriel
Emmanuel MONZIES
universitaire
Jean-François PETIN
E S IA L
PSA
P E U G E O T- C I T R O Ë N
PRÉSENTATION
Le projet RefOutil a été proposé par le groupe PSA Peugeot Citroën, un des premiers fabricants européens de voitures. Le but de ce
projet est de fournir des indicateurs stratégiques quant à l'évolution de la visibilité des marques du groupe dans les principaux
moteurs de recherche web sur internet.
Fort d'une audience et d'une pénétration dans les foyers de plus en plus fortes, le web est désormais devenu un incontournable des
stratégies marketing des grandes entreprises. La maîtrise de la visibilité des marques et produits d'une entreprise sur ce nouveau
média constitue désormais un enjeu de taille. Un des principaux angles d'attaque de cette problématique consiste à jouer sur le référencement des mots clés associés à une entreprise dans les principaux moteur de recherche (Google, Yahoo, MSN, ...) afin qu'ils
mènent aux sites vitrines de cette même entreprise et non pas sur un site tiers.
C'est pourquoi M. Emmanuel MONZIES, du département e-Business de PSA, a fait appel à l'ESIAL afin de concevoir un outil
permettant d'évaluer le référencement des différents modèles de voitures commercialisés par PSA. Cette évaluation doit pouvoir opérer à l'international, dans tous les marchés où sont vendues des voitures du groupe PSA. Ont répondu à cet appel Julien CANTAMAGLIA, Christophe MASSON et Philippe VIENNET, étudiants en dernière année sous la supervision de leur encadrant universitaire M. Jean-François PETIN, enseignant à l'ESIAL.
À terme, le projet RefOutil devra permettre de suivre l'évolution dans le temps, par pays et par moteur de recherche, des différents
modèles commercialisés par le groupe. Ces informations serviront au département marketing afin d'évaluer et, si nécessaire, d'améliorer la présence des différents sites web de PSA dans les principaux moteurs de recherche. Cette amélioration peut notamment se
faire par le recours au référencement payant, un paramètre qui a été pris en compte dans la conception de RefOutil.
Techniquement, le projet est scindé en deux parties distinctes. D'une part, un module de collecte de données en Java 6 dont le rôle
est de soumettre des requêtes spécifiques à différents moteurs de recherche afin d'extraire des informations de référencement des
pages de résultats obtenues en retour. Ces informations sont ensuite mises à la disposition des autres modules dans une base de données grâce à la technologie Hibernate.
D'autre part, le projet repose sur une interface AJAX dispensée par un serveur Apache / MySQL / PHP au service de deux fonctionnalités :
. un module “Administration” à accès restreint qui permet de modifier les paramètres de l'application (en ajoutant, modifiant ou
en effaçant un modèle de voiture, un pays concerné par l'analyse, ...) ;
. et un module “Analyse et visualisation” qui fournit différentes méthodes de présentation des données collectées (diagramme,
matrice, etc.) et qui constitue l'interface utilisateur principale du projet.
Tant sur un plan organisationnel (rédaction d'un cahier des charges, communication avec PSA), conceptuel (mise en place d'un
modèle de données, rédaction d'études techniques) que technique (programmation orientée objet, application web dynamique), ce
projet fut l'occasion de mettre en œuvre les savoir acquis au cours de nos trois années passées à l'ESIAL et de les confronter aux exigences du monde professionnel.
- 49 -
E S IA L
REUTERS
PROJECT TRACKER : AMÉLIORATION D’UN SYSTÈME
DE VIRTUALISATION ET DE SUIVI DES
FACTURABLES PROJET
Project Tracker : Improvement of a System for
Virtualizing and Tracking Projects
ABSTRACT
2007 / 2008
This industrial project was proposed by the global information company Reuters based in
Luxembourg. The three students who worked on this project are Alain Giadin, François Leroy
and Matthieu Trivier. Our industrial supervisor is Marc Weiler and our university supervisor is
Rémi Badonnel.
Project Tracker is a web-based application which was created last year during an industrial project submitted by Reuters. This system is capable of virtualizing and tracking the profit and loss
of Reuters' projects all along their lifecycles: costs (man hours, expenses) and revenues (billable
efforts, fixed price efforts), including the various steps from the creation, to the allocation, to the
closure and invoicing.
Our project consisted in improving and extending this application based on Reuter’s requirements. These improvements can be structured into five main parts:
- Improvement of the speed of the application
- Improvement of the ergonomics
- Design of an audit trail module
- Design of a reporting tool
- Improvement of the PDA application.
This project was a good opportunity to see the organization of a big company such as Reuters.
We had a good view of the requirements of the different people we were working with, engineers
and managers. It was also a great opportunity to discover project management issues like managing time, resources and communication between people.
Élèves
Alain GIADIN
François LEROY
Matthieu TRIVIER
Partenaire
40, avenue Monterey
L-2363 LUXEMBOURG
Encadrants
industriel
Marc WEILER
universitaire
Rémi BADONNEL
- 50 -
E S IA L
REUTEURS
PRÉSENTATION
Ce projet industriel a été proposé par l’agence d’information Reuters dont l’un des sites informatiques est situé à Luxembourg. Les
étudiants ayant travaillé sur ce projet sont Alain Giadin, François Leroy et Matthieu Trivier. L’encadrement au niveau de l’entreprise a été réalisé par Marc Weiler et au niveau universitaire a été réalisé par Rémi Badonnel.
Les travaux de notre projet se placent dans le contexte de l’outil Project Tracker. Cette application a été réalisée l’an dernier lors d’un
précédent projet industriel. Elle permet aux managers via une interface web de suivre l’évolution des différents projets menés par
l’entreprise. Ce suivi porte sur l’ensemble des coûts et profits générés par les différents projets, et permet de déterminer leur état
d’avancement, de la création des projets jusqu'à leur aboutissement. En plus de l’interface web, une application pour PDA a également été développée. Cette application permet aux ingénieurs de créer des fiches de projet pouvant être signées par le client directement sur le PDA. Cela permet de réduire l’utilisation de documents papier, l’information étant directement traitée de manière
électronique.
Après plusieurs mois d’utilisation chez Reuters, le retour d’expérience a permis d’identifier certaines limites de l’application. Nos travaux réalisés lors de ce projet ont consisté en l’amélioration de cette application afin de pallier au maximum les défauts présents et
en son extension afin de fournir des fonctionnalités additionnelles. Ils peuvent être organisés en cinq parties principales qui sont respectivement :
-
Amélioration de la vitesse (incluant notamment l’optimisation de requêtes SQL).
Amélioration de l’ergonomie (modification de la configuration de l’interface).
Création d’un “audit trail” (module permettant une historisation des différentes opérations).
Création d’un outil de “reporting” (module décisionnel pour venir en support aux managers).
Amélioration de l’application du PDA (intégration avec l’outil Project Tracker).
Nous avons organisé notre projet en respectant le planning suivant :
- Phase de rédaction du cahier des charges à partir des différentes demandes de l’entreprise (émanant des principaux utilisateurs
de l’application : les managers et les ingénieurs de Reuters).
- Phase de conception et développement : travaux d’amélioration de l’application sur la vitesse et l’ergonomie, puis travaux d’extension sur l’”audit trail”, le “reporting” et le PDA.
- Phase de test et de mise en production des différentes améliorations et extensions réalisées.
La communication entre les différents intervenants a été catalysée par la création et l’utilisation d’un site web de travail coopératif dédié à notre projet. Des réunions ont été organisées tous les mois chez Reuters à Luxembourg pour présenter l’avancée de notre
travail. Nous avons organisé des réunions toutes les semaines avec notre encadrant universitaire. Les comptes-rendus de chaque
réunion étaient déposés par la suite sur le site du projet avec les autres documents relatifs.
Ce projet a été pour nous une excellente expérience pour nous familiariser avec la conduite de projet dans le contexte d’une grande
entreprise d’information comme Reuters. Il a été l’occasion de travailler à la fois avec les managers de l’entreprise pour les aspects
les plus fonctionnels et avec les ingénieurs pour les aspects plus techniques. Il nous a permis de mettre en pratique des méthodes et
techniques de gestion de projet en nous confrontant aux contraintes de temps et de ressources induites par les différentes phases d’un
projet.
- 51 -
E S IA L
S CA L A B L E
GRAPHICS
DÉVELOPPEMENT D’UN LOGICIEL DE GESTION DE
BUREAU DISTANT COMPATIBLE AVEC LES
APPLICATIONS 3D
Remote Desktop compatible with
3D applications
ABSTRACT
2007 / 2008
Scalable Graphics is a company specializing in fast parallel rendering for 3D visualization applications. Its product line is based on DViZ, a technology tracing its origin in several years of
R&D within INRIA, the French research institute in computer science.
DViz allows aggregating the power of PC cluster and its customers need to access to this power.
A current developing axis is to provide an access between lightweight clients and a powerful server, able to compute huge graphical data.
Existing solutions, such as VNC or HP Remote Graphics, are generic solutions which sorely take
into account the problems connected to 3D. The aim of this project is to propose a solution
which mitigates these weaknesses or at least to find tracks allowing to reach there.
The main interest of this project lies in the use of Windows API to control the events of the system. Its functioning being totally unknown to us, an important research phase was necessary to
grasp better the basic concepts. This led us to approach this project under a new angle, by using
the conception steered by the risk. It was impossible to propose architecture for the application
without fully understand how Windows works.
This project has been an opportunity for us to discover new technologies (the C + + language
and programming with Windows API). We also have had an initial approach to project management on a larger scale than those usually offered by the school.
Élèves
Jonathan BANTSIMBAMALANDA
Cédric COSTA
Romain GROSJEAN
Partenaire
615, rue du Jardin Botanique
BP 101
54602 VILLERS-LÈS-NANCY
Encadrants
industriels
Xavier CAVIN
Christophe MION
universitaire
Laurent WENDLING
- 52 -
E S IA L
S CA L A B L E
GRAPHICS
PRÉSENTATION
La Société Scalable Graphics est une start-up qui offre une expertise dans le domaine de la visualisation graphique par grappes de
PC, afin d'afficher de manière rapide et précise des modèles lourds et complexes en 3D. Elle travaille notamment sur le projet de
recherche et développement DViz, qui permet de visualiser des données numériques très volumineuses de manière fluide en associant la puissance graphique de plusieurs ordinateurs interconnectés par un réseau rapide.
Scalable Graphics commercialise actuellement la technologie DViz qui permet d'agréger la puissance de calcul des cartes graphiques
d’une grappe de PC. Un axe de développement doit permettre à leurs clients d’accéder à cette puissance sur des ordinateurs standards.
Les solutions actuelles (VNC, HP Remote Graphics) sont des solutions génériques qui prennent difficilement en compte les problèmes liés à la 3D. L’objectif de ce projet est de proposer une solution qui pallie ces faiblesses ou au minimum de dégager des pistes
permettant d’y parvenir.
L’intérêt principal de ce projet réside dans l’utilisation de l’API Windows pour contrôler les événements du système. Son fonctionnement nous étant totalement inconnu, une importante phase de recherche nous a été nécessaire afin de mieux appréhender les
concepts de base. Ceci nous a conduit à aborder ce projet sous un angle nouveau, en utilisant la conception dirigée par le risque. Il
était impossible de proposer une architecture pour l’application sans comprendre parfaitement comment fonctionne Windows.
Après avoir pris connaissance en détail du projet avec la société partenaire, nous avons mis en place un planning afin de répartir les
tâches de chaque membre du groupe et ainsi optimiser la gestion du projet.
Le projet a donc été découpé en plusieurs phases :
. Une phase de documentation sur les événements Windows. La principale source d’information a été l’Internet. De nombreux
sites proposent des tutoriels et des exemples de codes afin de mettre en place des gestionnaires d’événements. The Microsoft
Developer Network (MSDN) a également été une des meilleures bases de recherche.
Le principal moyen de communication utilisé par Windows et les applications écrites pour ce système d'exploitation est la file
de messages associée à chaque fenêtre. En effet, chaque fois qu'un événement se produit, Windows le traite en envoyant un message, soit à lui-même, soit à un autre programme. Le programme procède alors au traitement de ce message si celui-ci a un intérêt.
. Une phase d’écriture d’un programme de test et de conception. Afin de mettre en pratique les concepts vus dans les différentes
sources de documentation et ensuite proposer une architecture pour l’application finale, nous avons mis en place un programme de test, fondé sur un modèle client/serveur, capturant les événements liés à une fenêtre grâce au mécanisme des hooks,
envoyant des messages à une autre instance du programme qui rejoue les événements reçus de son côté.
Un ensemble de documents a été rédigé lors de cette phase (diagramme de classes, de séquence).
. Une phase de développement. Une fois l’architecture définie et en accord avec l’entreprise, une partie du programme de test a
été reprise pour commencer à développer une application définitive permettant de gérer des fenêtres contenant des représentations en trois dimensions et demandant de lourds calculs à la machine.
Ce projet aura notamment été l’occasion pour nous de découvrir de nouvelles technologies (le langage C++ et la programmation
avec l’API Windows). Nous avons également pu avoir une première approche de la gestion de projet à plus grande échelle que ceux
proposés habituellement par l’école.
- 53 -
E S IA L
TÉLÉ VIDÉO
E S PAC E
OUTILS POUR L’AFFICHAGE DYNAMIQUE
Tools for Digital Signage
ABSTRACT
2007 / 2008
Télé Vidéo Espace (TVE), based in Reims, France, has submitted this industrial project.
Three students worked on this project, they are Adrien Cretin, Philippe Kuehn and Romain
Muller. Jacques Guyard acted as academic supervisor, while Stéphane Demissy acted as industrial supervisor. Nowadays, there are no dedicated tools for digital signage; that's why TVE
wishes to develop dedicated pieces of software as a replacement for TV tools, which is intended
to TV channel layout. The aim of this project was to create a software bundle composed of three
parts: a composer, a scheduler and a player.
The conduct of this project was divided in three main parts:
- Establishment of the scope statement
- Software development
- Technical and user documentations
Élèves
Adrien CRETIN
Philippe KUEHN
Romain MULLER
Partenaire
Pôle Henri Farman
8, rue Clément Ader
BP 125
51685 REIMS Cedex 2
By the end of the project, most essential features have been implemented; technical documentation has been provided to help further development by third parties. This project was a unique
opportunity to acquire several skills in the area of graphical user interface, to use proprietary
technologies and open sources technologies altogether and to discover project management
issues among which planning issues.
Encadrants
industriel
Stéphane DEMISSY
universitaire
Jacques GUYARD
- 54 -
E S IA L
TÉLÉ VIDÉO
E S PAC E
PRÉSENTATION
Ce projet a été proposé par la société Télé Vidéo Espace (TVE), basée à Reims, Champagne (France). Fondée en 1985, TVE, filiale du Crédit Agricole a son activité répartie sur quatre pôles : Production audiovisuelle, Evènementiel, Multimédia et Affichage dynamique. Le projet se situe dans le domaine de l'affichage dynamique, qui consiste en l'utilisation d'écrans de grande taille, situés dans
des vitrines ou sur des salons par exemple, pour communiquer des informations, commerciales ou non. Activité récente, l'Affichage
dynamique est un domaine en plein essor, avec une demande de plus en plus forte de la part de la clientèle. Toutefois, il n'existe à
l'heure actuelle pas d'outil spécifique à l'Affichage dynamique et TVE détourne de son usage initial une solution logicielle dédiée à
l'habillage de chaînes régionales. Outre le fait de faire dépendre TVE d'une entreprise tierce, cet outil ne dispose pas de fonctionnalités essentielles. Ce constat est à l'origine du sujet de ce projet industriel.
L'étude préliminaire nous a permis de mettre en évidence le fait que, d'un point de vue fonctionnel, les besoins de TVE s'articulent
autour de trois grands axes. Le premier consiste en la phase de composition, où les différents éléments à afficher (texte, vidéo, image,
animation) sont assemblés pour réaliser une émission correspondant à la demande du client. Dans l'étape de planification, à chaque
émission créée est associé un calendrier de diffusion selon les jours, et les émissions sont envoyées par le biais d'une liaison Internet
sur les lecteurs accolés aux écrans situés dans les locaux de la clientèle. Finalement, le boîtier (appelé player pour des raisons de commodité) diffuse sur l'écran l'enchaînement d'émissions prédéfinies.
La première étape de la réalisation de ce projet a été une phase de spécifications fonctionnelles, couplée à la rédaction d'un cahier
des charges. Dans ce cahier des charges figure l'ensemble des spécifications tant fonctionnelles que non fonctionnelles du projet,
ainsi que la structure retenue, c’est-à-dire trois solutions logicielles séparées : un composeur, un planificateur en environnement
Windows, et un lecteur situé sur les player, en environnement Linux pour des raisons d'économies de licence. Une fois la structure
et la répartition des tâches établies, la phase de développement proprement dit a commencé, s'appuyant sur une plateforme de gestion de projet fournissant un historique du code ainsi qu'une feuille de route détaillée.
Tout au long du développement, un contact permanent entre les équipes ESIAL et TVE a été maintenu, par le biais de réunions
régulières. Une documentation exhaustive a également été rédigée, afin de faciliter le suivi du projet par la suite. Ce projet a été une
occasion unique pour nous d'être confrontés à des problématiques inhérentes à la gestion de projet, comme la gestion du temps, de
la communication avec le client, et de la division du travail en équipe. De plus ce projet nous a permis de mieux appréhender les
contraintes de la programmation en environnement Windows, ainsi que de la communication multi plateformes.
- 55 -