Académique Documents
Professionnel Documents
Culture Documents
Fatima ESSAADI
Promotion 2013
Elve ingnieure en 3me anne STI
Option A2S
1
Projet RANPOINT 2013
Fatima
2
Projet RANPOINT 2013
RESUME
Dans le cadre de ma formation de double diplme LENSIB, jai t amene effectuer un stage de
fin dtude de six mois lagence orlanaise dAtos.
Lquipe que jai intgre en tant que dveloppeur Java, prend en charge le projet RANPOINT, cest
un grand projet command par le client La Poste qui cherche implmenter un rfrentiel des adresses
postales normalises. Cest un systme permettant une gestion moderne et optimise des adresses dans le
but de faciliter lopration de distribution du courrier.
Le projet date de 2007 et intgre un nombre norme de fonctionnalits. Au cours de mon stage, jai
contribu la ralisation de plusieurs tches, savoir :
3
Projet RANPOINT 2013
SUMMARY
As part of my training of double diplomas at ENSIB, I carried out a six-month internship in the Orleans
agency of Atos.
As a Java developer, i joined the team responsible of the project RANPOINT, it is a big project ordered
by the company La Poste which search to implement a repository of standardized postal addresses.
this system will allow a modern and optimized management of addresses, also it will facilitates mail
delivery.
The project started in 2007 and includes a huge number of functionalities. During my internship, I have
contributed to achieve several tasks:
This internship was a rewarding experience, which allowed me to discover new technologies and
concepts in the domain of development and work with a creative and perceptive team.
4
Projet RANPOINT 2013
REMERCIEMENT
Je tiens tout d'abord adresser mes plus vifs remerciements Mr Fabrice Marino, mon chef de projet
et mon encadrant, et Mr Gregory Vacher, Ressource Manager, pour leurs confiances et pour m'avoir
accueilli au sein de lagence orlanaise dAtos.
Je remercie galement Mon tuteur YACINE ZEMALLI pour son suivi tout au long du stage.
Mes profonds remerciements vont Mr Baptiste Meynier pour son aide prcieuse, sa collaboration et
sa disponibilit.
- Mon chef de filire STI au sein de lENSIB, Mr Pascal BERTHOME, pour le temps quil ma
toujours accord, pour son coute, pour ses conseils prcieux et pour sa patience impressionnante.
5
Projet RANPOINT 2013
SOMMAIRE
DEDICACE ............................................................................................................................................... 2
RESUME.................................................................................................................................................... 3
SUMMARY ............................................................................................................................................... 4
REMERCIEMENT ................................................................................................................................... 5
SOMMAIRE .............................................................................................................................................. 6
INTRODUCTION ..................................................................................................................................... 8
1. ATOS ...................................................................................................................................................... 9
1.1 Atos ................................................................................................................................................. 10
1.2 Atos Technology Services (ATS) .................................................................................................. 11
1.3 Lquipe RANPOINT ................................................................................................................... 12
2. PROJET RANPOINT......................................................................................................................... 14
Introduction ......................................................................................................................................... 15
2.1 Concepts gnraux......................................................................................................................... 15
2.2 Historique et acteurs du projet .................................................................................................... 16
2.3 Les phases du projet ...................................................................................................................... 18
Conclusion ............................................................................................................................................ 19
3. ASPECT TECHNIQUE ..................................................................................................................... 20
Introduction ......................................................................................................................................... 21
3.1 Architecture RANPOINT ............................................................................................................. 21
3.2 Les techniques utilises ................................................................................................................. 23
Conclusion ............................................................................................................................................ 27
4. ASPECT IHM ..................................................................................................................................... 28
Introduction ......................................................................................................................................... 29
4.1 Prennisation.................................................................................................................................. 29
4.2 Gestion des numros...................................................................................................................... 33
4.3 Gestion des demandes voies .......................................................................................................... 35
4.4 Les tests unitaires .......................................................................................................................... 39
6
Projet RANPOINT 2013
Conclusion ............................................................................................................................................ 40
5. ASPECT METIER.............................................................................................................................. 41
Introduction ......................................................................................................................................... 42
5.1 Motif de suppression ..................................................................................................................... 42
5.2 Extension de la voie ....................................................................................................................... 43
5.3 Recherche des numros ................................................................................................................. 45
Conclusion ............................................................................................................................................ 48
CONCLUSION........................................................................................................................................ 49
BILAN ...................................................................................................................................................... 50
BIBLIOGRAPHIE/WEBOGRAPHIE.................................................................................................. 51
LISTE DES FIGURES ........................................................................................................................... 52
ANNEXES................................................................................................................................................ 53
7
Projet RANPOINT 2013
INTRODUCTION
La modernisation du processus informatique dune entreprise devient une ncessit cruciale pour la
grer efficacement et pour assurer une meilleure qualit des services offerts permettant ainsi dattirer des
nouveaux clients et fidliser les anciens.
Cest dans cette perspective que La poste, lancien monopole du service distribution du courrier, essaye
dadopter une stratgie damlioration progressive de son systme informatique pour faire face la
concurrence connue par le secteur depuis 2010. Le projet RANPOINT prsente une approche de cette
stratgie, cest un projet, au forfait, command par La poste Courrier, qui souhaitait disposer dun outil
de gestion de son nouveau rfrentiel dadresse normalis. Cet outil permet denregistrer les demandes
(de cration, de modification, de dsactivation ou de ractivation) des adresses postales, Ces demandes
sont ensuite traites afin dtre ventuellement intgres au systme. Linterface graphique de cet outil
sappelle NeoAdresse, il sagit dune application web quintgre toutes les fonctionnalits demandes par
La Poste.
Mon stage concide avec la quatrime partie de ce projet et exactement avec la fonctionnalit
Prennisation des voies . Lobjectif du stage est dintgrer cette fonctionnalit au niveau du projet
RANPOINT et dimplmenter linterface correspondante au niveau de NeoAdresse, jai particip
raliser plusieurs autres tches que je vais lucider dans mon rapport.
Aprs une prsentation de lentreprise daccueil o jai effectu mon stage, jintroduirai dune manire
gnrale le projet RANPOINT / NeoAdresse, son historique, ses acteurs et quelques notions ncessaires
pour mieux comprendre le sujet. Le troisime chapitre entamera la partie technique du projet et clarifiera
les technologies et les concepts que jai utiliss pour mener terme mes tches. Les deux derniers chapitres
prsenteront mon travail personnel, le premier englobera tout ce qui concerne laspect graphique alors que
le deuxime sera consacr aux services mtiers.
8
Projet RANPOINT 2013
1. ATOS
9
Projet RANPOINT 2013
1.1 Atos:
Atos est une socit europenne et l'un des principaux spcialistes internationaux des services
informatiques avec un chiffre daffaires annuel de 8,844 milliards deuros et 76.400 collaborateurs dans
47 pays. La socit fournit ses clients du monde entier des services diversifis :
- Les services transactionnels de haute technologie qui prsentent 22% du Chiffre daffaire du
groupe ;
- Les solutions de conseil et de services technologiques ;
- Lintgration de systmes ;
- Linfogrance qui constitue la plus grande part du chiffre daffaires.
Grce son expertise technologique et sa connaissance industrielle, il sert ses clients dans plusieurs
secteurs. AtoS est le partenaire informatique mondial des Jeux Olympiques depuis 2010. Le Groupe
exerce ses activits sous plusieurs noms : Atos, Atos Consulting & Technology Services, Atos Worldline
et Atos Worldgrid. Chaque entit est spcialise dans un domaine :
10
Projet RANPOINT 2013
Historique :
1972 : Naissance de Sligos par la fusion de Cegos et Sliga (filiale du Crdit Lyonnais ). Sligos
devient alors une socit de Services en Ingnierie Informatique spcialise dans les solutions de
paiements.
1991 : Naissance d'Axime.
1997 : Naissance d'Atos par la fusion d'Axime et Sligos.
2000 : Fusion entre Atos et Origin.
2002 : Acquisition des divisions de KPMG Consulting au Royaume-Uni et aux Pays-Bas.
2004 : Acquisition du Groupe Sema Schlumberger.
2011 : Naissance du Groupe Atos le 1er juillet 2011, la suite de la fusion entre Atos et Siemens
IT Solutions and Services.
ATS fournit essentiellement des services de proximit tout en proposant deux types de prestations :
- Rgie ou engagement de moyens : ce mode permet aux clients de disposer, dans le cadre d'un
projet prcis, dun certain nombre des collaborateurs Atos pour une dure bien prcise.
- Forfait ou engagement de rsultats : cest lengagement contractuel dAtos sur un rsultat attendu.
Ainsi, lors de la signature dun accord avec un client, Atos sengage fournir une prestation et des
livrables (application, documentation, manuels dexploitation, dossier de recettes, tests techniques, etc.).
Et cest dans ce type dengagement quon classe le projet RANPOINT.
Ces prestations peuvent porter sur tous types de domaines de comptences IT, en assistance en matrise
duvre ou douvrage, en sappuyant sur les comptences le cas chant des fonctions supports, des
divisions de march.
11
Projet RANPOINT 2013
La proximit de services, qui constitue la cl de russite dATS, lui permet de bien grer ses interactions
avec ses clients tout en se basant sur les principes suivants :
Il existe, en France, 17 sites ATS quassurent ce genre des services avec un nombre de collaborateurs
quatteint 3000 en plus de 500 experts techniques.
La direction du projet RANPOINT a t pilote depuis le dbut par le chef de projet Fabrice Marino.
Etant donn lanciennet de RANPOINT, les collaborateurs ayant contribu sa ralisation volue tout
au long du projet. Pendant la priode du stage, on a t quatre personnes : Jrme Thibault comme rfrent
technique, Elise BRISSARD en tant que rfrent fonctionnel et enfin Meynier Baptiste et moi-mme pour
la partie dveloppement.
12
Projet RANPOINT 2013
Chef du projet
Fabrice Marino
Rfrent technique
Jrme Thibault
13
Projet RANPOINT 2013
2. PROJET RANPOINT
14
Projet RANPOINT 2013
Introduction :
RAN (Rfrentiel dAdresses Normalis) est un systme de gestion des adresses normalises, cest un
projet command par La poste en 2007. La mise en place de ce systme est dcoup en projets
correspondant chacun la gestion dun type de point gographique. Le but de ce chapitre est de prsenter
les concepts et lhistorique du systme RAN tout en focalisant sur le projet RANPOINT Etape 4 et
lapplication web NeoAdresse.
a- Adresse normalise :
Avant dentamer le projet, des notions sont ncessaires pour assimiler les bases de lapplication et
surtout la notion dadresse normalise, cest la cl du projet.
Chaque adresse postale est organise selon un ordre et une logique conformes la norme Afnor.
On distingue dans chaque adresse, six lignes diffrentes, chaque ligne est dcoupe en un ensemble des
objets simples prsentants des informations dacheminement.
La premire ligne contient lidentit prive dune personne physique ou morale alors que la deuxime
ligne prsente un complment d'identification du destinataire ( N dappartement , Boite aux lettres),
toutes ces informations ne sont pas prises en compte par le rferentiel dadresse RAN.
La troisime ligne identifie le point de remise ou ce quon appelle dune manire gnrale Ligne 3. La
gestion des lignes 3, au niveau de RAN, a t commande pendant la phase RanPoint Etape 2, cette
15
Projet RANPOINT 2013
notion est compose de trois groupes, chaque groupe a un type. Dans notre exemple, Entre A Btiment
B Rsidence Florence :
La quatrime ligne contient toutes les informations associes la voie ( numro, type et libell). La
gestion des voies, a t commande par La Poste pendant le premier projet RANVOIE.
La cinquime et la sixime lignes, renseignent des informations dacheminement ( Lieu dit, Code Postal
et Localit ), ces informations sont gres pendant la troisime tape du projet RANPOINT.
b- Notion de la demande :
* Le contrle automatique est une stratgie mise en place pour bien grer les demandes, par exemple, il
interdit un utilisateur de crer une voie quexiste dj dans la base.
Comme dit auparavant, RANPOINT est un projet au forfait command par La Poste Courrier depuis
2007. Jusqu aujourdhui, ce projet est pass par quatre tapes, chaque tape prsente la gestion dun
type gographique (Ligne 3, commune, voie, etc.) et parfois la migration dune technologie utilise au
niveau de ltape prcdente (migration de jdk1.4 jdk1.5). Voil, en rsum, les quatre tapes du projet :
Etape 1 : Dveloppement de l'application RANVOIE permettant la gestion des voies, des communes, des
workflow et des demandes. Cette tape consiste aussi la ralisation dun site web NeoVoie constituant
linterface de communication entre lutilisateur et lapplication RANVOIE.
16
Projet RANPOINT 2013
Etape 2 : Restructuration du projet RANVOIE afin dintgrer la gestion des demandes Lignes 3 et
renommer le projet pour sadapter avec les nouvelles fonctionnalits introduites : Naissance du projet
RANPOINT. Ct interface graphique, le site NeoVoie a t remplac par le site NeoAdresse.
Etape 3 : Evolution du systme afin de grer les Zones d'adresse compltes (ZAC) en intgrant les
informations complmentaires dune adresse savoir les lignes 5 et 6.
Etape 4 : Ouverture du systme aux autres applications du SI de La Poste via la cration de Web service
de publication de donnes et de cration d'lments.
Il existe quatre types dacteurs pour ce projet, chacun deux a des droits diffrents. Lacteur le plus
privilgi est ladministrateur, il peut tout faire et reprsente en quelque sorte le root de lapplication.
Le gestionnaire rseau saisit les demandes qui manent des centres rseaux (bureau distributeur, centre de
traitement du courrier, direction oprationnelle territoriale du courrier).
Le gestionnaire des demandes est bas au Service Nationale des Adresses et prend en charge le traitement
des demandes. Il est galement linitiative de demandes venant essentiellement des mairies.
Le superviseur gre les synonymes, valide les nouveaux noms et pilote les demandes.
Ladministrateur gre la liste des demandeurs et administre lapplication (message daccueil des
utilisateurs, voir les demandes lignes 3 bloques).
Lorsquon accde au site NeoAdresse, la premire page affiche prsente une liste des acteurs,
lorsquon clique sur un profil, on se dirige vers la page daccueil correspondante qui contient un menu
avec les fonctionnalits accessibles par lutilisateur.
17
Projet RANPOINT 2013
18
Projet RANPOINT 2013
- 2me axe : Cette partie concerne la cration des interfaces graphiques et tests unitaires pour les
fonctionnalits : Prenniser ligne 3 , Traiter un numro , Traiter une demande voie et
Prenniser une voie .
- 3me axe : Ds lors que le client a confirm la demande de la fonctionnalit Prenniser une voie , il
est question dadapter linterface avec les exigences du client et dimplmenter les services mtiers
ncessaires.
Comme voqu dans la figure ci-dessus, il y a une phase intitule Projet log . En fait, cest un autre
projet nayant aucune relation directe avec RANPOINT. Il consiste enregistrer des logs (type
dapplication, nom du site visit, le type dutilisateur et la date de visite) lorsquun utilisateur visite un
site et de les stocker dans une table de base de donnes PostgreSql. Son utilit est de gnrer des
statistiques sur les sites les plus visites dune application quelconque. Au niveau de ce projet, jtais
amene crer un service web de lecture avec Rest et qui permet de rcuprer sous format XML
lensemble des logs.
Conclusion :
Dans ce chapitre, on a expos quelques notions ncessaires pour mieux comprendre le projet
RANPOINT, puis on a prsent son historique et ses acteurs. Dans le chapitre suivant, on va aborder les
technologies et larchitecture mises en place pour la ralisation de RANPOINT.
19
Projet RANPOINT 2013
3. ASPECT TECHNIQUE
20
Projet RANPOINT 2013
Introduction :
Pour mettre en place le projet RANPOINT et afin de rpondre la demande de La Poste, Atos a suivi
une architecture 3-Tiers JEE qui implique lutilisation de plusieurs technologies. Le but de ce chapitre
est de prsenter larchitecture et lenvironnement technique de cette application.
- La couche prsentation :
Correspond au site web NeoAdresse, cette interface web intgre les fonctionnalits dfinies pour
RANVOIE et celles ajoutes par RANPOINT et permet aux utilisateurs de saisir et traiter les demandes.
Laccs au site se fait via Internet Explorer 8 (exig par La Poste).
- La couche mtier :
Elle reflte la partie fonctionnelle de lapplication qui implmente la logique applicative et les rgles
de gestion.
21
Projet RANPOINT 2013
Cette couche consiste la gestion daccs aux donnes conserves dans une base de donnes. Atos a
opt pour le choix dOracle pour stocker les informations de RANPOINT.
Au niveau de la base de donnes, cinq tables ont t cres pour stocker les diffrentes composantes
dune adresse : la table Demande pour stocker toutes les informations dune demande (historique, tat,
etc.), alors que les tables Commune et Voie reprsentent respectivement les entits Ligne 6 et Ligne
4 de ladresse. Quant la table Point, elle regroupe en quelque sorte toutes les informations dune adresse
et stocke les donnes de prennisation (On va aborder cette notion au niveau de la quatrime partie de ce
rapport). Et finalement la table Workflow est charge de conserver lhistorique du processus de traitement
des demandes.
22
Projet RANPOINT 2013
La couche prsentation est gre au niveau du projet ra_u3, et communique avec les autres couches via
des services Web Apache CXF en cas de lecture et via des EJB en cas dcriture. Cette couche se divise
en deux projets :
* Projet ra_neoadresse : cest un projet GWT, il inclue les nouveaux crans crs tel que Prenniser
une voie . Le framework GWT a t choisi pour remplacer Struts afin de moderniser les crans crs.
Au cours du stage, la grande partie de mon travail sest focalise sur les sous projets de gestion des
points de ra_u2 et ceux de prsentation IHM de ra_u3.
La mise en place de l'application RANPOINT a ncessit de faire appel plusieurs technologies quon
va prsenter dans cette partie. On dtaillera celles utilises tout au long du stage.
23
Projet RANPOINT 2013
Cette interface est utilise comme solution pour rsoudre la voluminosit de la table Workflow. Elle
permet denvoyer des messages asynchrones entre lapplication NeoAdresse et les ejb Workflow.
SqlDevelopper : Client Oracle.
SoapUI : Soap est une application qui permet de faire des tests unitaires.
Gwt est un framework open source de dveloppement d'applications web, il permet de crer des crans
en HTML5/Javascript et apporte des nombreuses fonctionnalits :
Lcriture du code Javascript nest pas ncessaire sauf pour des besoins trs spcifiques comme
l'intgration d'une bibliothque JavaScript existante ;
LUtilisation de CSS pour personnaliser l'apparence ;
Une API riche : composants graphiques pour IHM, appels RPC vers un serveur, gestion de
lhistorique et tests unitaires avec JUnitetc ;
Internationalisation avec lAPI i18n ;
Un systme de gestion de l'historique sur le navigateur ;
Compilation de la partie cliente du code en Javascript et non pas en Bytecode ;
Support multi navigateurs.
Au cours du projet, on a opt pour le model RPC, ce mcanisme assure la srialisation des objets qui
sont changs entre la partie cliente en JavaScript et la partie serveur crite en Java. Les appels raliss
par l'application sont de type asynchrone. La cration d'un service RPC ncessite plusieurs tapes comme
indiqu par la figure ci-dessous :
24
Projet RANPOINT 2013
Pour crer les nouveaux crans, on a eu recourt au design pattern MVP contrairement aux anciens
crans qui sont bass sur MVC. Ainsi chaque cran suit le principe suivant :
La couche View permet de dcrire linterface (widgets, panels . etc.) et capturer les actions des
utilisateurs.
La couche Presenter gre laspect mtier de lcran, cest--dire, elle possde une rfrence sur la
vue, elle binde les actions de la vue avec les mthodes correspondantes et elle communique avec la
couche Model.
25
Projet RANPOINT 2013
Et pour une meilleure organisation, Atos a opt pour un systme de nommage qui facilite la cration et
la gestion des classes java. Chaque couche du model est prsente par un package ou plusieurs. Le package
View rassemble trois types dlments : classe, interface java et lment Uibinder.
Les tests unitaires sont une phase importante du processus de dveloppement dune application. Elle
permet de dtecter et de corriger dventuelles erreurs dans le code. Lorsque ce code fait appel un service
mtier distant, dans ce cas, on doit isoler le code et simuler le comportement des services. De l apparait
limportance des objets Mock .
Les Mock sont des objets permettant de simuler le comportement des composants invoqus de
faon distante (exemple : EJB, services web, services RPC, ...) et de sassurer que lchec dun test unitaire
nest pas li un de ces composants.
Pour chaque cran cr, on doit effectuer des tests unitaires afin de vrifier ltat des champs, le bon
fonctionnement des widgets et linteraction (Vue Presenter). Etant donn le choix de GWT pour la
cration des interfaces, alors le choix dAtos a t port sur les frameworks gwt-test-utils et sur JUnit
4 pour la ralisation des tests.
26
Projet RANPOINT 2013
Conclusion :
Dans ce chapitre, on a dtaill laspect technique du projet RANPOINT, son architecture et les
technologies utilises. Les deux chapitres suivants porteront laccent sur les tches ralises au cours de
ce stage.
27
Projet RANPOINT 2013
4. ASPECT IHM
28
Projet RANPOINT 2013
Introduction :
Au niveau du rfrentiel des adresses, chaque donne gographique est identifie dune manire unique
par un CEA (Code Etendu Adresse). Il peut dsigner une voie, une ligne 3 ou un numro. Ce code, pendant
les trois premires tapes du projet, se gnre via un batch, mais au cours de la quatrime tape, le batch
a t remplac par un service web. La notion de CEA est primordiale pour comprendre la notion de
prennisation.
La premire phase du stage consiste crer des interfaces web pour quelques fonctionnalits de
RANPOINT.
4.1 Prennisation :
Lopration de suppression dune adresse se fait via une demande, la validation de cette demande ne
supprime pas ladresse de la base de donnes, elle reste toujours sauvegarde mais avec un changement
au niveau dune variable conue pour prsenter ltat de ladresse, elle prend la valeur 1 si ladresse est
active et 0 sinon. Et de cette manire, on garde toujours la possibilit de ractiver ladresse.
Selon la dfinition de La Poste, Lopration de prennit dune Adresse (Voie, Numro ou Ligne 3)
consiste in fine :
Dsactiver ladresse,
Mettre jour les donnes de prennit en crant autant de couples de CEA quil existe dadresses
(actives) assurant la prennit. Ces couples sont forms dune part par le CEA de ladresse dsactive et
dautre part par chacun des CEA des adresses actives.
29
Projet RANPOINT 2013
La premire tche effectuer au cours du stage est la cration de linterface Prenniser une Ligne 3
sachant que la prennisation de voie a t dj cre.
Avant de choisir les adresses avec lesquelles on doit assurer la prennit dune adresse dsactive, on
doit choisir le motif de suppression, si ladresse est de niveau ligne 3, le seul motif dans ce cas-l est La
suppression de Ligne 3 .
La figure 12 reprsente lcran de prennisation des lignes 3. Cet cran suit une structure commune
avec la plupart des crans et est impose par La Poste, on y trouve une zone de recherche compose de
critres voies et critres lignes 3, un bouton effacer pour vider les champs, un bouton de recherche, un
lien valider permettant dafficher un message de confirmation de prennisation, et enfin le rsultat de la
recherche sous forme dun tableau dont la premire colonne contient une case cocher permettant de
30
Projet RANPOINT 2013
slectionner les lignes 3 prennes. Pendant la cration de cette interface, le lien Annuler nest pas
implment en attendant les consignes du client.
* Un ou plusieurs Numros
Dans le premier cas, lutilisateur doit choisir obligatoirement un motif de suppression et dans les deux
autres cas, le motif Correction dadresse est slectionn par dfaut.
Lancien cran de prennisation des voies ne permet la prennisation quavec les adresses voies (Voir
Annexe B), donc on ma demand de ladapter avec les nouvelles exigences.
La nouvelle interface se dcompose en trois onglets, chaque onglet reflte un type gographique
(Voies, Lignes 3 ou Numros). Le premier permet la prennisation des voies avec des adresses niveaux
voies, lutilisateur saisit les critres de recherche et clique sur le bouton rechercher, deux tableaux
saffichent, le premier contient la liste des voies rsultats et le deuxime, la liste des voies prennes, les
deux tables sont associes un vnement double clic.
* Lorsquon double clique sur une ligne du premier tableau, cette ligne apparait dans le tableau des voies
prennes.
* Lorsquon double clique sur une ligne du deuxime tableau, cette ligne disparait.
Les deux autres onglets permettant de prenniser une voie avec des numros ou des lignes 3 ont le
mme principe. Lutilisateur ne peut pas prenniser une voie avec des adresses de niveaux diffrents sinon
un message davertissement saffiche.
- Avec adresse voie : on doit choisir un motif de suppression (sinon un message davertissement saffiche)
et la table des voies prennes ne doit pas tre vide.
- Avec adresse ligne 3 / numro : on doit juste choisir les adresses prennes.
31
Projet RANPOINT 2013
Les figures ci-dessus prsentent les diffrents onglets de lcran Prenniser une voie :
32
Projet RANPOINT 2013
Linterface, comme illustr au niveau de la figure 16, contient une zone de recherche avec deux
fonctionnalits daide la saisie prsentes par limage suivante , lutilisateur doit saisir en premier
lieu les critres commune , soit le code INSEE et laide de saisi complte le reste, soit le N de
dpartement avec la commune et laide trouve lENSEE correspondant. Aprs lutilisateur doit prciser
les critres de recherche des voies et faire appel laide de saisi en cas de besoin.
33
Projet RANPOINT 2013
34
Projet RANPOINT 2013
- Pour la modification, la suppression ou la ractivation, un numro doit tre slectionn dans la table.
Lorsquon clique sur le lien Modifier, un dialogBox similaire celui de cration du numro saffiche.
Cette fonctionnalit permet de grer les demandes des voies et des synonymes voies (suppression,
cration, modification). Elle a t dj implmente en Struts :
35
Projet RANPOINT 2013
Pour amliorer lapparence de cette interface, je me suis base sur les composants GWT et sur la
richesse de CSS 3. Etant donn que lapplication doit tre dploye sur Internet Explorer 8 et que ce
navigateur nest pas compatible avec CSS 3, jai utilis CSS Pie pour adapter quelques spcifications.
Pour utiliser CSS Pie, jai ajout le fichier PIE.htc dans le package contenant le fichier HTML et jai
ajout le code behavior dans les styles ncessaires. Par exemple le style de la figure 22 est destin
pour les composants ListBox, mais il y a les lments border-raduis et box-shadow qui ne sont pas
compatibles avec IE8. Cest pour cela, jai ajout la ligne de behavior quindique le chemin du fichier
PIE.htc par rapport au fichier HTML.
36
Projet RANPOINT 2013
Comme dit auparavant, cette fonctionnalit englobe toutes les types des demandes voie, mais je vais
me focaliser sur la demande de suppression de voie tant donne sa relation avec la prennisation (voir
Annexes C, D, E et F pour les crans des autres demandes). Le diagramme dactivit suivant explique
lacheminement du processus de suppression :
37
Projet RANPOINT 2013
Lorsquon clique sur une demande de suppression, un DialogBox saffiche, il contient des informations
sur la demande et son historique.
- Mise en attente : si lutilisateur choisit cette option, la demande de suppression disparait de la liste des
demandes et pour la traiter, lutilisateur doit solliciter la fonctionnalit Mes demandes de voie en
attente .
38
Projet RANPOINT 2013
Pour chaque Controller cr, je suis amene crer le test unitaire correspondant. En gnral, jai
d tester ltat initial des critres de recherche, le fonctionnement des boutons et des liens et laction
gnre lorsquun utilisateur dclenche un vnement.
Le framework GWT fournit plusieurs outils qui sintgrent avec Junit pour effectuer des tests unitaires
de manire intgre :
- La classe GwtTestWithMockito pour tester les classes contenant des objets mocks.
Au niveau du test de la fonctionnalit Prenniser une ligne 3 , jai eu recourt un objet Mock
pour simuler le comportement dun service mtier. Le service sappelle PointService et contient une
mthode rechercherDemandePerennisationLigne3 qui permet de rcuprer la liste des Lignes 3
recherches en fonction de critres de recherche saisis par lutilisateur.
39
Projet RANPOINT 2013
Cette partie du code permet de retourner une liste des lignes 3 list , dclare dans le test, si on fait
appel ce service.
Conclusion :
Aprs la cration des interfaces graphiques, il a t question dimplmenter tous les services mtiers
de la fonctionnalit Prenniser une voie . Quelques services existent dj et il faut juste les implmenter
au niveau de linterface mais dautres services doivent tre crs.
40
Projet RANPOINT 2013
5. ASPECT METIER
41
Projet RANPOINT 2013
Introduction :
Comme dit auparavant, pour crer des services mtiers, Atos a opt pour le choix des services web
Apache CXF en cas de lecture et les EJB en cas dcriture. Au cours de mon stage, jai contribu crer
des services web que je vais dvelopper dans ce chapitre.
Daprs les dernires consignes de La Poste, la prennisation des lignes 3 et des numros se fait
automatiquement avec la demande de suppression, et ce nest pas la peine de passer par une interface
graphique. Cette opration de suppression attribue au motif la valeur Suppression de ligne 3 si une
ligne 3 fait lobjet de cette opration et la valeur Suppression de numro pour un objet numro. Ces
deux motifs nexistent pas dans la liste ancienne, du coup il faut les ajouter mais ils ne doivent pas
apparaitre dans la liste droulante de linterface graphique. La Poste a demand dans ce cas dajouter une
nouvelle variable FL_AFFICHAGE dans la table correspondant au motif de suppression :
* La valeur de FL_AFFICHAGE doit tre gale 0 pour les deux motifs Suppression de ligne 3 et
Suppression de numro .
Le service web qui permet de rcuprer la liste des motifs existe dj mais il me faut ladapter avec les
nouvelles exigences, il doit rcuprer la liste des motifs ayant la variable FL_AFFICHAGE situe
1. Pour raliser cette tche, jai suivi les tapes suivantes :
42
Projet RANPOINT 2013
3- Au niveau du fichier DAO, changer la requte Sql pour quelle retourne juste les motifs dont la
valeur de FL_AFFICHAGE est gale 1.
43
Projet RANPOINT 2013
Pour appeler le service partir de linterface graphique, on passe par un service RPC. En premier lieu,
jai fait appel au service dans la classe DAO correspondante :
* referentielPointWS est un lment gnr par Apache CXF et contient la liste des services mtiers
pour la gestion des points.
* rechercherListeExtensionsVoie est une fonction qui permet de rcuprer la liste des extensions.
44
Projet RANPOINT 2013
En effet, pour lappel des services mtiers, Atos a dvelopp une stratgie qui consiste :
Si un utilisateur fait appel un service, et que celui-ci retourne le mme rsultat chaque sollicitation,
on conserve ce rsultat dans une classe utilise en tant que cache cacheDAO , ainsi on vite des temps
inutiles dans les appels du service.
Et en fin de compte, jai appell le service dans le Presenter de Prenniser une voie :
Le bouton rechercher situ au niveau de lcran Prenniser une voie - onglet Numro, permet
de rechercher la liste des numros qui rpond aux critres slectionns par lutilisateur. Cet lment doit
tre connect un service web. Au cours de cette partie, jai t amene crer ce service.
45
Projet RANPOINT 2013
* Ra_ref_pnt_ent
Chaque voie est identifie dune manire unique soit par le code CEA soit par le matricule et
lidentifiant ZAC (zone dadresse complte).
Au niveau du fichier DAOImpl, jai implment la fonction qui permet de rcuprer la liste des numros
dune voie partir de deux arguments obligatoires : le matricule de la voie et son identifiant ZAC, et deux
arguments facultatifs : lextension et le numro de la voie.
* Ra_ref_pnt_app
Ce sous projet contient laspect mtier de la gestion des numros. Dans le fichier ServiceImpl, jai
dclar une mthode qui permet de :
1- Trouver la liste des voies qui correspond aux critres saisis par lutilisateur (Code Insee, Nom de
la voie et son filtre de recherche).
Remarque :
Le filtre de recherche est une ListBox qui contient quatre lments : Contient , Commence
par , Egale et Finit par . Elle dfinit la relation entre les noms des voies recherches et le nom
saisi par lutilisateur.
46
Projet RANPOINT 2013
2- Retourner la liste des numros pour chaque voie en utilisant la mthode cre dans le fichier
DAOImpl.
* Ra_neoadresse_app
* Ra_neoadresse_ihm
Dans le Presenter de la prennisation, jai appel la mthode de recherche via la procdure RPC.
47
Projet RANPOINT 2013
Conclusion :
Ce chapitre contient la liste des services web sur lesquels jai travaill, comme ci-dessus, ce sont des
services de lecture. Je nai pas pu participer la cration des services dcriture cause de la contrainte
du temps.
48
Projet RANPOINT 2013
CONCLUSION
Au cours de ce rapport de fin dtude, Jai essay de prsenter les axes du projet
RANPOINT que jtais amen travailler avec tout au long de la priode du stage, soit en
aspect mtier soit en aspect graphique.
Au cours de ce stage, jai eu loccasion de mettre en uvre ce que jai acquis pendant
ma formation de double diplme INPT-ENSIB. Jai pu aussi dvelopper mes comptences
que a soit au niveau technique ou bien au niveau de la communication. En effet, la richesse
du projet ma permis dapprhender plusieurs nouvelles technologies : Maven, Gwt, Junit,
les services web etc.
49
Projet RANPOINT 2013
BILAN
Ce stage ma permis de dcouvrir le mtier dingnieur en dveloppement informatique
et les enjeux qui viennent avec. Grce cette exprience, jai pu avoir une approche du
monde du travail dans une importante entreprise de service.
Sur le plan personnel, Jai pu apprendre travailler en quipe dans une ambiance
chaleureuse et conviviale. Je suis vraiment satisfaite de lagrable atmosphre qui rgne au
sein de lentreprise.
Pour rsumer, ce stage ma permis de me familiariser avec un autre milieu que la vie
scolaire et de me conforter dans le choix que jai fait en morientant vers le dveloppement
informatique.
50
Projet RANPOINT 2013
BIBLIOGRAPHIE/WEBOGRAPHIE
Bibliographie
- Olivier Grardin, GWT - Crer des applications web interactives avec Google Web
Toolkit (versions 1.7 et 2.0.
Webographie
* http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCookies
* https://aresu.dsi.cnrs.fr/spip.php?article95
* http://jmdoudoux.developpez.com/cours/developpons/java/chap-gwt.php
* http://www.slideshare.net/baronm/dvelopper-des-services-web-rest-avec-java-jaxrs
51
Projet RANPOINT 2013
52
Projet RANPOINT 2013
ANNEXES
Annexe A :
Ce cas dutilisation est invoqu lorsquon dtecte quune voie est reprsente par plusieurs adresses
distinctes au sein du rfrentiel, chacune de ces adresses comportant le nom de la voie mal orthographi.
53
Projet RANPOINT 2013
Annexe B :
54
Projet RANPOINT 2013
Annexe C :
55
Projet RANPOINT 2013
Annexe D :
56
Projet RANPOINT 2013
Annexe E :
57
Projet RANPOINT 2013
Annexe F :
58