Fabian Piau
Spcifications projet CORS
Outils de gestion de projet
Plateforme dIntgration Continue
Rapport de stage
23 Mars 2009 au 28 Aot 2009
Branko Grouitch
Vincent Le Squere
Encadrants entreprise
Christophe Suaudeau
Tuteur enseignant
Diffusion contrle
Utilisation soumise autorisation.
Fabian Piau | Master 2 MIAGe
2 | 63
Rapport de stage - 2009
APPROBATION
La signature des reprsentants des deux parties signifie que le signataire a lu et approuv le
contenu de ce document.
Nom Reprsentant de Signature
Client VSCT
Capgemini
DOCUMENTS LIS
Annexes_FPiau_Capgemini_2009.pdf Document contenant les annexes de ce rapport
SUIVI DES VERSIONS
- Mi-juillet 2009 Version non finalise 1.0 Mi-aot 2009 1re version 1.1 20 aot 2009 Prise en compte des remarques de V. Le Squere et B.
Grouitch 1.2 22 aot 2009 Prise en compte des remarques dA. Barraud
Version finale
Fabian Piau | Master 2 MIAGe
3 | 63
Rapport de stage - 2009
MENTION DE CONFIDENTIALIT
Les informations contenues dans ce rapport de stage, et notamment sur le projet CORS
doivent rester internes Capgemini et ne doivent pas tre diffuses.
Niveau de confidentialit : interne Capgemini .
Fabian Piau | Master 2 MIAGe
4 | 63
Rapport de stage - 2009
REMERCIEMENTS
Je tiens remercier la MIAGe de Nantes et toute son quipe pdagogique pour avoir
assur ma formation dingnieur en informatique, et ainsi me permettre deffectuer ce stage.
Je remercie tout dabord David Guillonneau pour la confiance quil ma accorde lors de
lentretien en me donnant lopportunit de faire mon stage au sein de Capgemini.
Je remercie plus particulirement Branko Grouitch et Vincent Le Squere, mes encadrants de
stage, respectivement sur mon premier et second sujet de stage. Merci de mavoir form et
accompagn tout au long de cette exprience professionnelle, de mavoir intgr rapidement au
sein de lentreprise, de mavoir accord toute votre confiance et davoir rpondu toutes mes
interrogations.
Je tiens galement remercier Christophe Suaudeau, mon tuteur de stage la MIAGe de Nantes.
Enfin, je voudrais exprimer ma reconnaissance auprs de toute lquipe VSCT pour tous les
conseils et lexprience professionnelle quelle a pu mapporter.
Fabian Piau | Master 2 MIAGe
5 | 63
Rapport de stage - 2009
TABLE DES MATIRES
1. INTRODUCTION ....................................................................... 9
1.1 Contexte .................................................................................................................. 9
1.2 Objectifs et sujets de stage ..................................................................................... 9
1.3 Prsentation du plan ............................................................................................. 10
2. CAPGEMINI .......................................................................... 11
2.1 Un peu dhistoire ................................................................................................ 11
2.2 Les mtiers du groupe .......................................................................................... 12
2.3 Les activits ........................................................................................................... 14
2.4 Les chiffres cls ..................................................................................................... 15
2.5 Capgemini en France ............................................................................................ 16
2.6 Capgemini lOuest .............................................................................................. 17
2.7 Le centre de services VSCT ................................................................................... 18
2.7.1 Introduction.............................................................................................................. 18
2.7.2 Le client : VSC Technologies ..................................................................................... 19
2.7.3 Organisation du centre ............................................................................................. 20
3. PRSENTATION DU STAGE ........................................................ 21
3.1 Planification .......................................................................................................... 21
3.1.1 Les dates cls ............................................................................................................ 21
3.1.2 Calendrier ................................................................................................................. 21
3.1.3 Les phases et tapes ................................................................................................ 22
3.2 Prsentation succincte des projets ....................................................................... 24
3.2.1 Le projet CORS .......................................................................................................... 24
3.2.2 Dveloppement dutilitaires pour automatiser la gestion de projet ....................... 24
3.2.3 Mise en place dune plateforme dintgration continue ......................................... 25
4. PRSENTATION DU TRAVAIL RALIS ........................................... 27
4.1 Le projet CORS ...................................................................................................... 27
4.1.1 Contexte ................................................................................................................... 27
4.1.2 Les utilisateurs .......................................................................................................... 27
4.1.3 Existant VSCT ............................................................................................................ 28
Fabian Piau | Master 2 MIAGe
6 | 63
Rapport de stage - 2009
4.1.3.1 Le rfrentiel de proprits .............................................................................................. 28
4.1.3.2 Le rfrentiel de configurations........................................................................................ 29
4.1.3.3 Mcanismes de gnration des fichiers de proprits et de configuration ..................... 29
4.1.4 Les besoins du client ................................................................................................ 30
4.1.5 Conception et analyse .............................................................................................. 32
4.1.6 Dveloppement ........................................................................................................ 40
4.1.7 Le devenir du projet CORS ....................................................................................... 41
4.2 Dveloppement dutilitaires de gestion de projet ............................................... 42
4.2.1 Chiffrage et facturation des projets [2 macros] ....................................................... 42
4.2.1.1 Macro de chiffrage ............................................................................................................ 42
4.2.1.2 Macro de facturation ........................................................................................................ 44
4.2.1.3 Technologies utilises ....................................................................................................... 44
4.2.2 Suivi des tickets ClearQuest [1 utilitaire, 1 macro] .................................................. 45
4.2.2.1 Explications sur ClearQuest et les tickets ......................................................................... 45
4.2.2.2 Utilitaire de rcupration des tickets ............................................................................... 46
4.2.2.3 Macro de comparaison ..................................................................................................... 48
4.2.2.4 Technologies utilises ....................................................................................................... 48
4.3 Mise en place dune Plateforme dIntgration Continue ..................................... 52
4.3.1 Le projet B2B ............................................................................................................ 52
4.3.2 Mise en conformit du dpt SVN de B2B ............................................................... 53
4.3.3 Mise jour et configuration dHudson .................................................................... 53
5. PROBLMES RENCONTRS ........................................................ 56
5.1 Organisationnels ................................................................................................... 56
5.2 Techniques ............................................................................................................ 56
6. BILAN ................................................................................. 58
6.1 Bilan professionnel ............................................................................................... 58
6.2 Bilan personnel ..................................................................................................... 58
6.3 Conclusion du stage .............................................................................................. 59
7. RFRENCES ......................................................................... 60
8. GLOSSAIRE ........................................................................... 61
Fabian Piau | Master 2 MIAGe
7 | 63
Rapport de stage - 2009
LISTE DES FIGURES
Figure 1 : Historique de Capgemini .................................................................................................. 11
Figure 2 : Les mtiers de Capgemini ................................................................................................ 13
Figure 3 : Rpartition du chiffre daffaires 2007 par mtiers........................................................... 13
Figure 4 : Rpartition du chiffre daffaires 2007 par pays ou rgions .............................................. 14
Figure 5 : Rpartition de l'effectif de Capgemini dans le monde ..................................................... 15
Figure 6 : Rpartition des effectifs au 31/12/2007 .......................................................................... 15
Figure 7 : Chiffre daffaires entre 1995 et 2007 en millions deuros ............................................... 16
Figure 8 : Capgemini France ............................................................................................................. 16
Figure 9 : Capgemini Ouest .............................................................................................................. 17
Figure 10 : Quelques rfrences de Capgemini Ouest ..................................................................... 18
Figure 11 : Page daccueil du site voyages-sncf.com ....................................................................... 19
Figure 12 : Structure hirarchique du centre de services VSCT ...................................................... 20
Figure 13 : Calendrier simplifi ....................................................................................................... 21
Figure 14 : Avant et aprs la mise en place de lIntgration Continue ............................................ 25
Figure 15 : Gestion actuelle des proprits et des configurations ................................................. 30
Figure 16 : Gestion des proprits et des configurations avec CORS ............................................. 31
Figure 17 : Interface diPlotz ........................................................................................................... 33
Figure 18 : Une maquette fonctionnelle de CORS .......................................................................... 34
Figure 19 : Une maquette visuelle de CORS .................................................................................... 34
Figure 20 : Maquette de cration dune version *version 1 15/04/2009] ................................... 35
Figure 21 : Maquette de cration dune version *version 2 21/04/2009] ................................... 35
Figure 22 : Maquette de cration dune version *version 3 24/04/2009] ................................... 36
Figure 23 : Maquette de cration dune version *version 4 28/04/2009] ................................... 36
Figure 24 : Diagramme de classes de lapplication *version 4 13/05/2009] ................................ 37
Figure 25 : Modle de donnes de lapplication *version 2 13/05/2009] .................................... 38
Figure 26 : Modle de navigation [version 2 30/04/2009] .......................................................... 39
Figure 27 : Chiffrage automatis dun projet .................................................................................. 42
Figure 28 : Le processus ClearQuest pour une correction danomalie ........................................... 45
Figure 29 : Fonctionnement gnral de la rcupration des tickets ClearQuest ........................... 46
Figure 30 : Comparaison des tickets ClearQuest ............................................................................. 48
Figure 31 : Authentification automatise avec WatiN .................................................................... 51
Figure 32 : Ecran daccueil de B2B .................................................................................................. 52
Figure 33 : Ecran daccueil dHudson .............................................................................................. 54
Figure 34 : Des indicateurs parlants (la mto) .............................................................................. 54
Fabian Piau | Master 2 MIAGe
8 | 63
Rapport de stage - 2009
LISTE DES TABLES
Table 1 : Historique du logo Capgemini ........................................................................................... 12
Table 2 : Calendrier dtaill ............................................................................................................. 23
Table 3 : Utilisateurs de lapplication CORS ..................................................................................... 28
Table 4 : Comparaison doutils pour la cration de maquettes ....................................................... 32
LISTE DES CODES
Code 1 : Exemple de fichier de proprits ....................................................................................... 28
Code 2 : Exemple de fichier de configuration .................................................................................. 29
Code 3 : Exemple de fichier de log de la macro de chiffrage .......................................................... 43
Code 4 : Extrait dun fichier dexport de ticket ClearQuest ............................................................. 47
Code 5 : Exemple de fichier de log de lutilitaire dexport des tickets ............................................. 47
Code 6 : Code WatiN pour tester ..................................................................................................... 49
Code 7 : Code de la page web tester ............................................................................................. 50
Fabian Piau | Master 2 MIAGe
9 | 63
Rapport de stage - 2009
1. INTRODUCTION
Ce premier chapitre introduit les diffrents lments pour bien comprendre mon stage.
Ainsi, ce chapitre dcrit le contexte dans lequel sinscrit le stage, prsente brivement les acteurs
impliqus, et nonce les principales missions qui mont t confies.
1.1 Contexte
Dans le cadre de la validation de mon diplme dingnieur en informatique de gestion par
lcole MIAGe de lUniversit de Nantes, jai effectu mon stage de fin danne chez Capgemini,
une SSII de renomme internationale. Ce stage sest droul du 23 mars 2009 au 28 aot 2009,
soit une priode de 23 semaines (environ 5 mois). Jai intgr Capgemini Ouest, et plus
exactement le site Paul Bellamy situ Nantes.
Ce stage sintgre parfaitement dans ma formation continue en MIAGe dont la vocation est de
former des ingnieurs avec la double comptence informatique et gestion.
Plusieurs raisons mont amen choisir lentreprise Capgemini pour mon stage de fin danne.
Ayant dj effectu un stage chez Sylis, une SSII informatique taille humaine, jai dcid de me
tourner vers une plus grande entreprise de type multinationale pour faire ce stage. Mon
objectif tait de me faire ma propre ide sur des tailles dentreprise diffrentes, pour voir celle
qui me correspondrait le mieux. En outre, les possibilits de carrire sont plus vastes au sein dun
grand groupe, plus de mtiers et projets diffrents tant accessibles. Enfin, tant trs mobile, les
possibilits dvolution de ma carrire linternationale seront facilites en intgrant un groupe
reconnu mondialement.
1.2 Objectifs et sujets de stage
A mon arrive Capgemini, le sujet de stage ntait pas encore bien dfini. Cest souvent
le cas dans les grands groupes o les sujets de stage peuvent difficilement tre dfinis plusieurs
mois lavance.
Nanmoins, le primtre de certains aspects du stage tait bien dlimit. Par exemple, je savais
que mon stage allait tre orient nouvelles technologies (java/J2EE) et que jallais intgrer le
centre de services dont le client est la VSCT.
Peu aprs mon arrive et mon intgration lquipe, les responsables Capgemini mont propos
un sujet trs intressant. Il sagissait dun nouveau projet informatique qui venait tout juste de
dmarrer et dont la premire version devrait tre livre quelques semaines avant la fin de mon
stage. Sans rentrer dans les dtails, jallais donc participer aux spcifications et au dveloppement
de cette nouvelle application. Malheureusement, aprs deux mois de travail sur le projet et le
dveloppement ayant tout juste commenc, le projet a t suspendu par le client.
Fabian Piau | Master 2 MIAGe
10 | 63
Rapport de stage - 2009
Quoi quil en soit, en attendant mon second sujet, les responsables mont donn plusieurs
dveloppements dutilitaires et de macros sous Excel raliser. Les macros taient assez
complexes avec notamment un lien vers un fichier Word ou une connexion une base de
donnes Oracle. De plus, le sujet principal de ces macros concernait la gestion de projet et la
facturation des projets du centre. Ces dveloppements taient donc en accord avec la formation
MIAGe. Cette phase de transition a dur environ un mois et a permis damliorer la productivit
du centre.
Ensuite, on ma propos mon deuxime sujet de stage. Contrairement au premier, ce sujet tait
beaucoup moins orient dveloppement. En fait, il sagissait de contribuer la mise en place
dune plateforme dintgration continue au sein du centre de services. A cette fin, javais plusieurs
objectifs, dont linstallation et la configuration des outils dintgration continue, mais galement
la rdaction de documentations visant sensibiliser les quipes.
1.3 Prsentation du plan
Ce rapport a pour objectif de vous prsenter tout le droulement de mon stage. En vue de
rendre compte, de manire fidle, les cinq mois passs au sein de la socit Capgemini, il
apparat logique de prsenter, titre pralable, lenvironnement du stage, savoir le secteur du
conseil et des services informatiques avec une prsentation de lentreprise.
Ensuite, nous aborderons le cadre de travail, lorganisation et le planning de mon stage. Cette
partie prsentera galement, de faon simple, les diffrents projets auxquels jai particip. Jai eu
plusieurs sujets sur des environnements bien diffrents au cours de mon stage. Ayant ainsi
contribu plusieurs projets, une prsentation chronologique me semble la plus approprie, et
cest donc celle que jai retenue.
La troisime partie prsentera le travail ralis, nous reviendrons sur chacun des projets abords
dans la partie prcdente, mais de manire beaucoup plus dtaille. Ainsi, laspect technique,
laspect fonctionnel et les impacts seront expliqus et dtaills. Cette partie est vritablement le
cur de ce rapport et demandera quelques notions en informatique.
Enfin, dans les deux derniers chapitres, jvoquerais les problmes organisationnels et techniques
que jai pu rencontrer. Je ferais une synthse de ce rapport et japporterais un bilan ces cinq
mois de stages. Jexpliquerais galement ce quils mont apport.
A titre indicatif, un glossaire est fourni la fin de ce rapport. Il regroupe les abrviations et les
termes techniques de mes sujets de stage. Comme ils sont trs utiliss Capgemini, je vous
conseille dy prter une attention particulire avant de continuer la lecture de ce rapport.
Fabian Piau | Master 2 MIAGe
11 | 63
Rapport de stage - 2009
2. CAPGEMINI
Ce second chapitre prsente le groupe Capgemini. Je prsenterais le groupe dans sa
globalit, au niveau mondial puis, je zoomerais progressivement sur Capgemini Ouest et plus
particulirement sur lentit que jai intgre. Jai choisi darticuler cette description en plusieurs
points importants et significatifs, savoir lhistorique de Capgemini, ses mtiers, les marchs sur
lesquels lentreprise est prsente et sa structure hirarchique.
2.1 Un peu dhistoire
Capgemini est lun des leaders mondiaux de lindustrie du conseil et des services
informatiques, conduisant une stratgie de dveloppement et de diversification qui a combin
croissance interne et externe. La socit a t cre par Serge Kampf le 1er octobre 1967
Grenoble, en France, sous le nom de Sogeti (Socit pour la gestion de l'entreprise et
traitement de l'information). Le groupe, comme beaucoup de ses concurrents, s'est constitu
travers de multiples acquisitions dans tous les secteurs d'activits lis aux services informatiques :
consulting, intgration de systmes, outsourcing.
Ainsi, prs de 40 acquisitions (petites ou grandes entreprises) ont t ralises en 40 ans.
Figure 1 : Historique de Capgemini
Cration de Sogeti (Socit pour la Gestion de l Entreprise et le Traitement de
l Information), par Serge Kampf, socit spcialise dans les prestations de services
lies au dveloppement et la mise en uvre dapplications informatiques.
Cration de Cap Gemini Sogeti, socit issue de la fusion de Sogeti, Gemini
Computer Systems et Cap (Centre d Analyse et de Programmation).
Cap Sesa nat de la fusion de Cap Sogeti et Sesa.
Une nouvelle organisation est mise en place au niveau mondial et toutes les
socits se rassemblent sous le nom de Cap Gemini.
Cration du nouveau groupe Cap Gemini Ernst & Young, n du rapprochement de
Cap Gemini, Gemini Consulting et Ernst & Young Consulting.
Au mois davril, Cap Gemini Ernst & Young devient Capgemini.
Acquisition de Kanbay. Cette acquisition porte le nombre de collaborateurs en Inde
environ 12 000. Ce qui fait de l'Inde le deuxime pays aprs la France en matire
d'effectifs.
1967
1975
1989
1997
2000
2004
2007
Fabian Piau | Master 2 MIAGe
12 | 63
Rapport de stage - 2009
A titre indicatif, voici les diffrents logos de la socit au fil du temps (table 1). Pour lanecdote,
las de pique est prsent dans le logo du groupe depuis sa cration. Il sagit dune rfrence au
bridge, activit que le fondateur du groupe Serge Kampf, pratiquait assidment.
1967-1970 Sogeti
1970-1975 Sogeti
1975-1996 Cap Gemini Sogeti
1991-2001 Gemini Consulting
1996-2000 Cap Gemini
2000-2004 Cap Gemini Ernst & Young
Depuis 2004 Capgemini
Table 1 : Historique du logo Capgemini
A ce jour, Capgemini est la premire socit europenne de conseil et de services informatiques
et le quatrime acteur mondial. Implant dans plus dune trentaine de pays, Capgemini aide ses
clients innover, se transformer et devenir plus performants. En coopration avec ses clients,
Capgemini contribue llaboration de leur orientation stratgique, sa mise en uvre et les
aide tirer le meilleur parti de la technologie.
2.2 Les mtiers du groupe
Capgemini est lun des leaders mondiaux dans les domaines du conseil, des services
informatiques, de linfogrance et de loutsourcing. Voici une brve description de chacun de ces
mtiers (figure 2) ainsi que deux diagrammes reprsentant la rpartition du chiffre daffaires en
fonction des mtiers (figure 3) et des pays (figure 4).
Fabian Piau | Master 2 MIAGe
13 | 63
Rapport de stage - 2009
Figure 2 : Les mtiers de Capgemini
Figure 3 : Rpartition du chiffre daffaires 2007 par mtiers
Le Conseil
(ou Consulting Services ou CS) :
Aider les clients identifier, structurer et excuter leschantiers detransformationqui amliorerontdurablement leur croissance et leur comptitivit.
Lintgration desystmes et le dveloppementdapplicationsinformatiques
(ou Integration ou Technology services ou TS) :
Concevoir, dvelopper etmettre en oeuve tous les projetstechniques, du plus petit au plus grand.
Linfogrance
(ou Outsourcing Services ou OS) :
Accompagner les clients dans l'externalisationtotale ou partielle de leurs systmes d'information etde leurs autres activits s'y prtant.
Les servicesInformatiques de proximit
(ou Local Professional Services ou LPS, Sogeti) :
Proposer une offre de services informatiquesadapte des besoins locaux en matire d'infrastructures,d'applications etd'ingnierie.
Services informatiques de proximit
16,2%
Consulting8,7%
Intgration de systmes
38,5%
Infogrance36,6%
Fabian Piau | Master 2 MIAGe
14 | 63
Rapport de stage - 2009
Figure 4 : Rpartition du chiffre daffaires 2007 par pays ou rgions
2.3 Les activits
Grce ses quatre mtiers, Capgemini tend son activit aux principaux secteurs de
lconomie.
Dans le secteur public, les administrations se transforment pour devenir des fournisseurs de
services plus efficaces et cots mieux matriss. Capgemini a pour ambition dtre leur
partenaire de choix. En consquence, la part du secteur public dans lactivit du groupe sest
dveloppe ces dernires annes pour reprsenter plus de 25 % en 2006. Le secteur de
lindustrie, du commerce et de la distribution reprsente environ un tiers des activits du groupe.
2004 a t une anne phare pour le groupe dans les secteurs de lnergie, utilities et chimie.
Lentreprise amricaine TXU sest engage dans un partenariat denvergure avec Capgemini.
Ajout aux prcdents contrats dinfogrance canadiens, ce partenariat constitue une solide
plateforme de comptences pour les acteurs du secteur de lnergie en Amrique du Nord.
Dans le secteur des services financiers, les clients ont renou avec une profitabilit solide et
durable et se concentrent nouveau sur la croissance de leur chiffre daffaires. Ils acclrent le
lancement de nouveaux produits et services et poursuivent leurs acquisitions, tout en investissant
dans des solutions de relation client.
Dans les secteurs des tlcommunications, Media & Entertainment , les principaux acteurs
concentrent leurs efforts sur la croissance, dans un march en pleine effervescence et riche en
opportunits pour Capgemini.
Les secteurs clefs du groupe Capgemini sont donc trs varis : Finance & Assurance, Secteur
Public, Industrie & Distribution, Tlcom / Multimdia / Loisirs, Aronautique & Arospatial,
Energie & Services Publics.
Europe centrale6,4%
Espagne/Portugal3,3%Italie
1,2%
France22,6%
Asie pacifique1,5%
Amrique du Nord19,8%
Royaume Uni et Irlande25,6%
Pays nordiques6,2%
Benelux13,4%
Fabian Piau | Master 2 MIAGe
15 | 63
Rapport de stage - 2009
0 5 000 10 000 15 000 20 000 25 000
Amrique du Nord
Royaume-Uni et Irlande
Pays nordiques
Benelux
France
Europe du Sud
Europe centrale
Inde
Asie-Pacifique hors Inde
2.4 Les chiffres cls
Capgemini compte un effectif denviron 90 000 personnes en 2008, dont un peu plus de
21 000 en France. Lentreprise est prsente dans plus de 30 pays et possde un rseau de plus de
100 centres de production industriels. La figure 5 ci-dessous prsente les lieux dimplantation de
la socit et la rpartition de leffectif du groupe dans le monde. La figure 6 montre galement la
rpartition des effectifs, mais dune manire plus prcise.
Figure 5 : Rpartition de l'effectif de Capgemini dans le monde
Figure 6 : Rpartition des effectifs au 31/12/2007
Fabian Piau | Master 2 MIAGe
16 | 63
Rapport de stage - 2009
Capgemini a ralis un chiffre daffaires de 8,710 milliards deuros en 2007, observant une hausse
de plus de 13% de celui-ci entre cette anne et la prcdente. La trsorerie nette du groupe
stablissait 774 millions deuros au 31 dcembre 2008. A titre illustratif, la figure 7 montre
lvolution du chiffre daffaires entre 1995 et 2007.
Figure 7 : Chiffre daffaires entre 1995 et 2007 en millions deuros
2.5 Capgemini en France
Un chiffre daffaires de 800 millions deuros.
9 000 collaborateurs dans les technology services .
Une croissance de plus de 10% depuis 2005.
23 villes.
Figure 8 : Capgemini France
0
1 000
2 000
3 000
4 000
5 000
6 000
7 000
8 000
9 000
1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007
Fabian Piau | Master 2 MIAGe
17 | 63
Rapport de stage - 2009
2.6 Capgemini lOuest
Capgemini Ouest est lune des huit filiales de Capgemini France. Sappuyant sur de fortes
expertises sectorielles, en particulier dans les secteurs de la Finance, lAssurance et le Service
Public, lambition de Capgemini Ouest est daider ses clients identifier, structurer et excuter les
projets de transformation, qui impactent leur croissance ou leur comptitivit en leur conseillant
les technologies les plus adaptes.
Capgemini sengage ainsi favoriser la libert daction de ses clients et accrotre leurs rsultats,
en sappuyant sur une mthode de travail unique - la Collaborative Business Experience - et
sur un modle de production mondialis baptis Rightshore , qui vise offrir les meilleures
ressources au meilleur endroit et au meilleur prix.
L'unit Ouest a t cre il y a 30 ans, elle est aujourdhui prsente dans 8 villes du grand Ouest :
Nantes, Rennes, Bordeaux, Tours, Orlans, Brest, Rouen et Caen.
Un effectif de 1 450 collaborateurs ;
Croissance des effectifs de 63% en cinq ans ;
Un chiffre daffaires de 106 millions deuros en 2006.
Figure 9 : Capgemini Ouest
Capgemini Ouest est prsente auprs de lensemble des grands comptes rgionaux et des entits
rgionales de structures nationales, voire internationales. Environ 70% de son activit est ralise
dans les secteurs de la Finance et des Services, 30% dans lIndustrie et la distribution.
Fabian Piau | Master 2 MIAGe
18 | 63
Rapport de stage - 2009
Lentreprise est organise autour dunits de dveloppements industriels spcialises sur des
comptes (BNP, SNCF), des technologies (Business Intelligence, Mainframe, nouvelles
technologies), ou des secteurs (banque, assurance, services).
A titre dexemple, voici des logos de plusieurs de ses clients, classs par secteurs.
Figure 10 : Quelques rfrences de Capgemini Ouest
2.7 Le centre de services VSCT
Voici maintenant la prsentation du centre de services que jai intgr au cours des cinq
mois de mon stage.
2.7.1 Introduction
Dans le cadre de projets importants, Capgemini cre des centres de services ddis un
client, qui sappuient sur un ou plusieurs centres de production.
Le centre de services (CDS) Voyages-sncf.com Technologies (VSCT) que jai intgr, fait partie de la
filiale Capgemini Ouest et est bas Nantes. Ce dernier, qui est trs rcent (lancement au dbut
de lanne 2008), est lui-mme intgr lUnit de Delivery Industriel (UDI) dans la branche
Services, bnficiant des communauts et expertise de lUDI et des autres centres de services. Il a
t cr la demande du client VSCT afin de rpondre aux objectifs suivants :
Augmenter la capacit de production du client ;
Diminuer le time-to-market ;
Offrir souplesse, ractivit, efficacit ;
Utiliser des mthodes industrielles prouves ;
Proposer un plan de progrs performant, des units de facturation comptitives.
Fabian Piau | Master 2 MIAGe
19 | 63
Rapport de stage - 2009
2.7.2 Le client : VSC Technologies
VSC Technologies est une filiale 100% du groupe SNCF. Cest une entreprise rcente
(anne 2000) et dynamique (environ 200 personnes), avec un volume d'affaires de 1,86 milliard
deuros en 2007.
En effet, celle-ci gre loffre commerciale de la SNCF sur le canal internet, dont le principal site est
le premier site marchand franais avec plus de neuf millions de visiteurs uniques par mois, en
moyenne.
Lentreprise fournit galement des prestations de services et des solutions informatiques en
matire de distribution ferroviaire en France et linternational travers de nombreuses
applications.
Figure 11 : Page daccueil du site voyages-sncf.com
Fabian Piau | Master 2 MIAGe
20 | 63
Rapport de stage - 2009
P. BonninSkill Center
Manager UDDI
L. KergoatSkill Group
Manager UDI
D. GuillonneauEM du Centre de
Services
Chef de projet WDI
Chef de projet VSC
Chef de projet VFE-EF
Intgration / Validation
A. Barraud
Codir Projet
Equipes
2.7.3 Organisation du centre
Le centre de services VSCT est compos dune quarantaine de personnes rparties sur des
projets diffrents, savoir :
Les projets WDI ;
Les projets VSC ;
Les projets VFE - EF.
Par ailleurs, voici un schma reprsentant la hirarchie du centre de services.
Figure 12 : Structure hirarchique du centre de services VSCT
Parmi les personnes que jai ctoyes durant mon stage, David Guillonneau est le directeur de
projet du centre (EM Entity Manager), Aldo Barraud est son adjoint. Ensuite, nous avons les
chefs de projet sur chacun des projets cits prcdemment puis les quipes de dveloppeurs
(concepteurs-analystes, architectes, administrateurs de base de donnes, etc.).
Pour mon premier sujet, lapplication CORS tant nouvelle, une nouvelle quipe a t mise en
place avec B. Grouitch comme chef de projet.
Concernant les dveloppements des macros et utilitaires, jai travaill avec D. Guillonneau, A.
Barraud et B. Grouitch, les principaux utilisateurs.
Pour mon second sujet, je ntais pas dans une quipe particulire, lintgration continue tant
transverse tous les projets et concernant le centre dans sa globalit. Nanmoins, jai
principalement collabor avec V. Le Squere, responsable de lintgration continue du centre de
services.
Fabian Piau | Master 2 MIAGe
21 | 63
Rapport de stage - 2009
3. PRSENTATION DU STAGE
Ce troisime chapitre aborde mon stage du point de vue organisationnel. Il montre
quelles sont les diffrentes missions et tches qui mont t confies et comment elles se sont
agences au cours des cinq mois.
3.1 Planification
3.1.1 Les dates cls
Le stage a dbut le 23 mars 2009 par la dcouverte de lentreprise, et plus
particulirement le centre de services VSCT, o jai t intgr rapidement lquipe ; il sest
achev le 28 aot 2009. La soutenance orale du stage a t programme pour le 25 aot 2009,
durant la dernire semaine de stage. Les participants taient mes responsables chez Capgemini et
mes responsables universitaires.
3.1.2 Calendrier
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Mars Arrive dans l'quipe, Intgration,
Lecture des documents
Avril Projet CORS [sujet 1]
Mai Projet CORS [sujet 1]
Juin Ralisation de macros et dutilitaires [priode transitoire]
Juillet Mise en place dune Plateforme dIntgration Continue [sujet 2]
Aot Mise en place dune Plateforme dIntgration Continue [sujet 2]
Figure 13 : Calendrier simplifi
Ce calendrier est un document trs simple comprendre, mais la notion de dure ny est pas
explicitement reprsente. Grce au jeu de couleurs utilis, on distingue nettement les quatre
grandes phases de mon stage.
Fabian Piau | Master 2 MIAGe
22 | 63
Rapport de stage - 2009
3.1.3 Les phases et tapes
Je vous propose un calendrier beaucoup plus prcis que le prcdent. Les diffrentes
tches y sont beaucoup plus dtailles. Jai pris soin de noter ce que je faisais jour aprs jour. Le
diagramme ci-dessous fait une synthse de ce travail rgulier, il reflte donc parfaitement la
ralit. Le jeu de couleur du calendrier simplifi a t repris.
Tche Priode Nombre de jours ouvrs
Mars
Arrive dans l'quipe, Intgration, Lecture des documents Du mardi 25 au vendredi 27 mars 5
Ralisation Macro EID (Excel/Word) pour calculer automatiquement le nombre d'UF Du lundi 30 au mardi 31 mars 2
Avril
Prise de connaissance du projet CORS: Lecture cahier des charges Mercredi 1 avril 1
Monte en comptences sur Hibernate (petits exercices) Du jeudi 2 au vendredi 3 avril 2
Monte en comptences sur AppFuse (application blanche open source) Du lundi 6 au jeudi 9 avril 4
Comparaison de diffrents outils pour la cration de maquettes Vendredi 10 avril 1
Cration des maquettes CORS (version 1) Du mardi 14 au mercredi 15 avril 2
Confrence tlphonique avec le client Jeudi 16 avril 1
Participation la rdaction des spcifications CORS (version 1) Vendredi 17 avril 1
Rvision des maquettes (version 2) Lundi 20 avril 1
Atelier 1 avec le client Mardi 21 avril 1
Rvision des maquettes (version 3) + Diagramme de classes (version 1) Du mercredi 22 au jeudi 23 avril 2
Monte en comptences sur l'application blanche interne Capgemini Du vendredi 24 au lundi 27 avril 2
Atelier 2 avec le client Mardi 28 avril 1
Rvision des maquettes (version 4) + Diagramme de classes (version 2) Du mercredi 29 au jeudi 30 avril 2
Mai
Choix technologique sur l'application blanche (interne Capgemini), connexion de l'appli. blanche avec MySQL Lundi 4 mai 1
Lecture documentation dtaille et technique appli. blanche interne Capgemini, Gnration de code partir d'un modle Du mardi 5 au jeudi 7 mai 3
Test du bouchon CAS pour l'authentification et liaison avec l'appli. blanche Du lundi 11 au mercredi 13 mai 3
Diagramme de classes (version 3) + Cration du MCD (version 1) Jeudi 14 mai 1
Monte en comptences sur Displaytag (pagination, tri des tableaux) et liaison avec l'appli. blanche Vendredi 15 mai 2
Monte en comptences Struts 2 Lundi 18 mai 1
Cration prsentation PowerPoint pour prsenter le projet CORS Mardi 19 mai 1
Monte en comptences sur JQuery Du mercredi 20 au lundi 25 mai 1
Monte en comptences sur DisplayTag coupl AJAX Mardi 26 mai 1
Liaison des tableaux l'appli. blanche Du mercredi 27 au jeudi 28 mai 2
Appel client - Projet suspendu Vendredi 29 mai
Fabian Piau | Master 2 MIAGe
23 | 63
Rapport de stage - 2009
Juin Ralisation d'un programme d'automatisation de ClearQuest avec WatiN Du mardi 2 au lundi 8 juin 5
Documentation du programme d'automatisation Mardi 9 juin 1
Macro Excel pour automatiser la comparaison des tats (version 1) Du mercredi 10 au vendredi 12 juin 3
Macro Excel pour automatiser la comparaison des tats (version 2) Du lundi 15 au mercredi 17 juin 3
Documentation de la macro de comparaison Jeudi 18 juin 1
Amlioration Macro Excel de facturation Du vendredi 19 au mardi 23 juin 3
Rdaction du rapport de stage Du mercredi 24 au jeudi 25 juin 2
Macro Excel pour automatiser la comparaison des tats (version 3) Du vendredi 26 au lundi 29 juin 2
Mise jour de la documentation de la macro de comparaison Mardi 30 juin 1
Juillet
Runion 2me
sujet de stage Mercredi 1 juillet 1
Monte en comptences sur l'intgration continue Du jeudi 2 au lundi 6 juillet 3
Rdaction documentation sur l'intgration continue (version 1) Du mardi 7 au jeudi 16 juillet 6
Rdaction du rapport de stage Vendredi 17 juillet 1
Installation du projet B2B sur mon poste Du lundi 20 au vendredi 24 juillet 5
Rvision documentation sur l'intgration continue (version 2) Du lundi 27 au mercredi 29 juillet 3
Rdaction de la procdure mise en conformit du dpt B2B (version 1) Du jeudi 30 au vendredi 31 juillet 2
Aot
Rvision de la procdure mise en conformit du dpt B2B (version 2) Mardi 4 aot 1
Monte en comptences sur Maven et plug-ins Du mercredi 5 au lundi 10 aot 4
Rvision de la procdure mise en conformit du dpt B2B (version 3) Du mardi 11 au jeudi 13 aot 3
Monte en comptence sur Hudson Vendredi 14 aot 1
Configuration dHudson sur B2B Du lundi 17 au jeudi 27 aot 8
Fin du stage Vendredi 28 aot
Table 2 : Calendrier dtaill
On peut distinguer les deux principaux projets que lon ma donns faire. Notamment, le
premier qui a t suspendu aprs deux mois et le second qui est venu plus tard, un mois aprs
quelques petits dveloppements et une avance dans la rdaction de ce rapport.
On peut galement observer les itrations, avec des montes de version, dues des nouveaux
besoins du client ou des utilisateurs. Cest, par exemple, le cas des maquettes et des diagrammes
pour le projet CORS qui ont t rviss plusieurs fois, le cas des macros avec lajout de nouvelles
fonctionnalits et le cas de nombreux documents.
Fabian Piau | Master 2 MIAGe
24 | 63
Rapport de stage - 2009
3.2 Prsentation succincte des projets
Ce chapitre introduit chacun des projets auxquels jai particip et prsente brivement le
travail accompli. Dans un premier temps, nous aborderons laspect fonctionnel uniquement. Cest
le chapitre suivant qui prsentera laspect technique.
3.2.1 Le projet CORS
Les applications informatiques actuelles utilisent de nombreux fichiers de configuration
pour pouvoir fonctionner. Cela peut tre, par exemple, un fichier contenant lURL et le login/mot
de passe pour se connecter une base de donnes.
Lobjectif du projet CORS (COnfiguration Repository System) est de fournir un rfrentiel de
toutes ces proprits et configurations et de pouvoir les grer dans une base de donnes avec des
mcanismes permettant de les utiliser au sein des applicatifs dj existant de VSCT.
Le projet se concrtisera par une application Web Intranet qui permettra aux utilisateurs
Dveloppeurs , Intgrateurs , Exploitants de configurer et paramtrer les proprits des
applications en fonction des versions et des environnements.
Le projet CORS tant un nouveau projet, le client VSCT a donc fait parvenir le cahier des charges
au centre de services. Aprs lecture de ce cahier des charges, qui contient toutes les exigences
fonctionnelles et techniques du client, jai assist le chef de projet dans sa tche de rdaction des
spcifications. Jai notamment cr les maquettes de lapplication, modlis des diagrammes,
aid dfinir les rgles de gestion de la future application et particip aux runions avec le client
pour bien dfinir et comprendre ses besoins.
3.2.2 Dveloppement dutilitaires pour automatiser la
gestion de projet
Aprs la suspension du projet CORS, plusieurs dveloppements mont t donns. Ce fut
une priode transitoire en attendant mon second sujet, mais qui a t intressante. Jai ainsi
ralis trois macros sous Excel et un utilitaire utilisant lautomatisation de tests.
Les sujets concerns par ces outils taient le chiffrage, la facturation des projets et la gestion des
tickets. Le sujet commun est donc la gestion de projet. Nous reviendrons sur ces notions dans le
chapitre suivant.
Jai accompagn ces dveloppements par des rdactions de documents (disponible dans le
rapport des annexes). Ce fut, en quelque sorte, des mini-projets rpondant aux besoins des
utilisateurs. Les macros ne sont, en gnral, pas considres comme des dveloppements trs
volus , mais ils mont permis de mieux apprhender la gestion de projet, en particulier le
processus de facturation.
Fabian Piau | Master 2 MIAGe
25 | 63
Rapport de stage - 2009
3.2.3 Mise en place dune plateforme dintgration continue
Dans le cadre de mon second sujet, jai contribu la mise en place dune plateforme
dintgration continue au sein du centre de services. Il est difficile de dfinir lintgration continue
(IC) dans son ensemble, en seulement quelques lignes. Je vous invite donc consulter le dossier
complet sur lintgration continue disponible dans le rapport des annexes.
Nanmoins, tchons de donner, dans ce rapport, une dfinition pragmatique en vitant de
tomber dans laspect trop technique. Avec les mthodes de dveloppement traditionnelles, la
cration dun logiciel se fait en cinq tapes principales, suivant un ordre bien dfini : spcification,
dveloppement, intgration, recette puis livraison. On parle de cycle de vie dun projet.
Lintgration continue est une mthode de dveloppement assez rcente qui permet dacclrer
le processus de livraison dune application un client.
Concrtement, lintgration est ltape o on va intgrer le travail de tous les dveloppeurs sous
un seul produit. En ralit, cette intgration est faite de manire continue avec les gestionnaires
de versions (voir dfinition prcise dans le glossaire). Dailleurs, le gestionnaire de versions est un
pr-requis lintgration continue. Lintgration continue va beaucoup plus loin quun simple
gestionnaire de versions, en testant ces intgrations tous les jours trs rgulirement. On va donc
vrifier chaque modification de code source que le rsultat des modifications ne produit pas de
rgression de l'application en cours de dveloppement. Dans le cas dun projet fonctionnant sur le
mode IC, il ny a plus une seule phase dintgration la fin du dveloppement, mais des petites
phases dintgration tout au long du dveloppement.
Pour mieux comprendre, voici un schma (extrait du dossier) qui compare lavant et laprs
intgration continue.
Figure 14 : Avant et aprs la mise en place de lIntgration Continue
Fabian Piau | Master 2 MIAGe
26 | 63
Rapport de stage - 2009
Mon travail sest organis en plusieurs tches, toutes autour de lIC. Le but ntait pas de mettre
en place lintgration continue sur tous les projets du centre du jour au lendemain. Cela aurait t
tout simplement impossible.
Mon objectif a t dintroduire lintgration continue lensemble des collaborateurs du centre.
Cette introduction sest concrtise avec la mise en place de lIC sur un des projets du centre : le
projet B2B . Cest un des projets les plus avancs du centre en matire dIC, loutil Maven ,
par exemple, a dj t install. Maven est un outil de gestion de dpendances et de compilation,
grce a l'ajout de plug-in, il permet aussi de gnrer de la documentation (javadoc, mtriques),
grer le dploiement ainsi que les versions d'un projet.
Fabian Piau | Master 2 MIAGe
27 | 63
Rapport de stage - 2009
4. PRSENTATION DU TRAVAIL RALIS
Dans ce chapitre, nous allons voir prcisment ce qui a t ralis durant le stage. Pour
obtenir encore plus dinformation sur les sujets abords, je vous invite lire le second rapport
contenant toutes les annexes.
4.1 Le projet CORS
4.1.1 Contexte
Lors du dveloppement dune application, les dveloppeurs ont besoin de dfinir et
ensuite utiliser des proprits dans leur code. Le principe de lutilisation des proprits est de
permettre le changement de leur valeur par simple modification dans les fichiers de proprits
concerns. Dun environnement un autre, ces proprits changent, par exemple le port sur
lequel est dmarr un service.
A chaque fois, ce sont les personnes en charge de lenvironnement qui doivent modifier ces
valeurs. On peut facilement voir que devant un grand nombre de proprits et un certain nombre
denvironnements, cette tche de modification des proprits peut devenir rapidement
fastidieuse et prompte des erreurs occasionnant des problmes de dmarrage et souvent des
dysfonctionnements applicatifs.
4.1.2 Les utilisateurs
Ce tableau dcrit succinctement les diffrents futurs utilisateurs de lapplication.
Fonction
Rle Description
fonctionnelle
Responsabilits
Dveloppeurs
En charge de la fourniture des composants applicatifs. Les dveloppeurs de VSCT sont bass Levallois.
Gre les proprits sur lenvironnement de dveloppement
- Codage et tests unitaires des composants applicatifs - Assemblage, paramtrage et livraison des composants applicatifs
Intgrateurs En charge du dploiement des diffrents composants applicatifs dans les environnements dintgration. Les intgrateurs de VSCT sont bass Nantes.
Gre les proprits sur lenvironnement de test
- Paramtrage des composants applicatifs en fonction des environnements cibles - Prparation des donnes applicatives - Livraison - Dploiement
Fabian Piau | Master 2 MIAGe
28 | 63
Rapport de stage - 2009
Exploitants En charge du dploiement des diffrents composants applicatifs dans les environnements de recette, pr- production, MAB et de production. Les exploitants de VSCT sont bass Lilles.
Gre les proprits sur lenvironnement de pr-production et de production
- Paramtrage des composants applicatifs en fonction des environnements cibles - Migration des donnes applicatives - Dploiement des versions en production
Table 3 : Utilisateurs de lapplication CORS
4.1.3 Existant VSCT
Actuellement, cest le dveloppeur qui initialise le rfrentiel de proprits, par la suite
lintgrateur et les exploitants se chargent de valoriser ces proprits en fonction de leur
environnement. Il peut arriver, actuellement quun intgrateur et/ou un exploitant ait rajouter
des proprits dans le rfrentiel. Ensuite, ces acteurs utilisent des mcanismes pour gnrer les
proprits dans les bons fichiers.
Nous allons maintenant voir le rfrentiel de proprits, le rfrentiel de configurations et les
mcanismes de gnration des fichiers.
4.1.3.1 Le rfrentiel de proprits
Il y a un rfrentiel de proprits par version dapplication. Ce rfrentiel contient un
certain nombre dinformations comme le nom de lapplication, sa version, les cls des proprits
ainsi que leurs valeurs pour tous les environnements.
Cl1=Valeur1
Cl2=Valeur2
Cl3=Valeur3
Cl4=Valeur4
Cl5=Valeur5
Cl6=Valeur6
Code 1 : Exemple de fichier de proprits
Le fichier de proprits est un fichier texte contenant des proprits, c'est--dire des couples
(cl=valeur), et auquel on ajoute lextension .properties . A une cl correspond toujours une
unique valeur. On lappelle galement fichier properties .
Fabian Piau | Master 2 MIAGe
29 | 63
Rapport de stage - 2009
4.1.3.2 Le rfrentiel de configurations
Actuellement les fichiers de configuration qui sont pris en charge dans le rfrentiel sont :
Le MANIFEST.MF ;
Les fichiers de configuration de log4j (Appenders et Logger) ;
Les fichiers de configuration de ehCache ;
Les fichiers de configuration de jBossCache ;
Les fichiers de configuration spcifiques VSCT (tpfnet.xml, etc.).
Le principe du rfrentiel de configurations est le mme que celui du rfrentiel de proprits. A
savoir des cls, avec une valeur, dfinie en fonction du nom de lapplication, de la version et de
lenvironnement.
Voici un exemple de fichier de configuration.
n/a
n/a
2
1
horizontal
33
166
16
45
Code 2 : Exemple de fichier de configuration
Le fichier de configuration est un fichier XML, il est plus compliqu et plus structur que le fichier
de proprits. Il est en effet moins vident de relier une cl sa valeur. Par exemple, la valeur
33 aurait comme cl osd.meterPosition.x (dans le cas dun fichier de proprits
quivalent).
4.1.3.3 Mcanismes de gnration des fichiers de proprits et de
configuration
Une fois que les deux rfrentiels sont bien initialiss dans Excel, des scripts sont utiliss
pour gnrer les fichiers correspondants. La figure 15 montre un exemple dutilisation des
Fabian Piau | Master 2 MIAGe
30 | 63
Rapport de stage - 2009
mcanismes de gnration. Les fichiers de configuration et de proprits sont ensuite copis dans
le bon rpertoire de lapplication.
Figure 15 : Gestion actuelle des proprits et des configurations
Comme le montre ce schma, la gestion des rfrentiels se fait par lintermdiaire dun fichier
Excel conserv sous Subversion (cf. gestionnaire de versions dans le glossaire). Ce classeur
Excel sert donc de rfrence pour la gnration des fichiers de configuration dans les diffrents
environnements.
4.1.4 Les besoins du client
Avant la mise en place de ce fichier Excel versionn, la gestion des proprits et des
configurations se faisait directement dans les fichiers *.properties et *.xml. Ce processus manuel
rendait lourd le paramtrage et le suivi du nombre croissant de proprits.
Fabian Piau | Master 2 MIAGe
31 | 63
Rapport de stage - 2009
La consquence tait une charge lie ces proprits qui ne facilitait pas le dploiement des
applications. La mise en place de loutil Excel de gestion des proprits a permis de rduire la
charge et damliorer la qualit des oprations de dploiement en les automatisant dans une
moindre mesure, mais ce nest pas encore la solution la plus fiable long terme.
Les besoins clients sont de :
Grer les proprits et les configurations dans une base de donnes, lobjectif est de
remplacer le fichier Excel par une base de donnes ;
Avoir une interface web qui permet dadministrer cette base de donnes ;
Avoir des mcanismes permettant de rcuprer les proprits et les configurations
depuis la base de donnes et de crer les fichiers (script, plug-in Maven).
Figure 16 : Gestion des proprits et des configurations avec CORS
Fabian Piau | Master 2 MIAGe
32 | 63
Rapport de stage - 2009
La future architecture (figure 16) est beaucoup plus centralise. CORS est mise jour via son
interface Web par les diffrents acteurs. La base de donnes est mise jour en consquence.
CORS est une application scurise qui utilisera lauthentification SSO (Single Sign On), c'est--dire
on se connecte une seule fois pour lensemble des applications web de VSCT.
Ensuite, pour gnrer les fichiers de proprits et de configuration, lapplication CORS utilisera
loutil Maven. Cette gnration sera, soit dclenche directement depuis lapplication (plug-in
CORS pour Maven), soit dclenche distance en interrogeant un WebService (cf. glossaire).
4.1.5 Conception et analyse
Le projet CORS est un nouveau projet, je suis arriv dans le centre de services peu aprs
que le client ait envoy le cahier des charges. Jai donc intgr la nouvelle quipe trs tt et
participer la premire phase danalyse et de spcifications.
Durant cette phase, jai principalement travaill sur la ralisation des maquettes de lapplication
et sur la cration des modles (donnes, classes, etc.). Durant toute cette phase, jai travaill
conjointement avec B. Grouitch, le chef de projet, et particip aux runions clients.
Il ny avait pas doutils spcifiques de maquettage au centre de services. Jai donc fait des
recherches sur internet et essay diffrentes solutions. Le tableau ci-dessous recense lensemble
des outils que jai pu tester. Ces outils sorganisent en deux catgories, la premire o lon ne cre
que des maquettes visuelles, c'est--dire statiques, des images ; et la deuxime o lon cre des
maquettes fonctionnelles, c'est--dire que lutilisateur peut interagir avec elles (clic sur un
bouton), il y a un aspect dynamique.
Cration de maquettes visuelle Cration de maquettes fonctionnelles Photoshop (version d'valuation) NVU (gratuit)
Ms Paint (intgr dans Windows) Dreamweaver (version d'valuation)
The Gimp (gratuit) Axure RP (version d'valuation)
iPlotz (gratuit, outil en ligne) Editeurs web divers...
SmartDraw (version d'valuation)
Visio, PowerPoint (payant -> inclus dans la suite Microsoft Office)
Table 4 : Comparaison doutils pour la cration de maquettes
Sachant que les maquettes devaient tre ralises rapidement et quelles allaient srement tre
modifies au fil du temps, mon choix sest rapidement tourn vers la cration visuelle .
Nanmoins, javais commenc avec des maquettes fonctionnelles, mais je me suis vite aperu que
cela demandait beaucoup trop de temps faire, mme sil est vrai que ce travail ntait pas inutile
et quil allait tre repris pour le dveloppement.
Fabian Piau | Master 2 MIAGe
33 | 63
Rapport de stage - 2009
Ct logiciel, mon choix sest port sur loutil iPlotz que je ne connaissais pas, mais qui a tout de
suite retenu mon attention.
Cest une application web gratuite utilisant la technologie flash. Il ny a donc pas besoin
dinstallation, un simple navigateur suffit.
On y trouve une bibliothque dlments graphiques qui est trs complte. Un simple glisser-
dposer suffit pour ajouter des lments une maquette. Il est possible den crer plusieurs sous
un seul projet et de les enregistrer.
Enfin, cest un outil gratuit, cependant il est ncessaire de senregistrer pour pouvoir enregistrer
ses crations.
Le rsultat final donne un aspect brouillon ou dessin ralise la main , mais qui reste
finalement professionnel. La nouvelle version diPlotz permet davoir des styles supplmentaires
tels que les styles Windows et Mac, mais cette option ntait pas encore disponible dans la
version que jai utilise.
La copie dcran ci-dessous montre lcran principal de lapplication. Jai volontairement mis des
objets divers (graphiques, nuages de tags, barre de volume, carte, pop-up, etc.) pour montrer la
richesse de la bibliothque propose.
Figure 17 : Interface diPlotz
Fabian Piau | Master 2 MIAGe
34 | 63
Rapport de stage - 2009
Voici un exemple de maquette fonctionnelle ralise au dbut. Elle a t cre sous Eclipse.
Mme si le rsultat en valait la peine, cela prenait trop de temps et la date de la runion avec le
client approchait grands pas
Figure 18 : Une maquette fonctionnelle de CORS
En voici une autre, mais ralise sous iPlotz. Javouerais quelle est moins jolie que la
premire, mais elle a t beaucoup plus rapide raliser.
Figure 19 : Une maquette visuelle de CORS
Laspect visuel tant toujours plus attrayant et facile comprendre quun long texte, les
maquettes ont t le principal support durant les runions avec le client. Jai notamment ajout
des commentaires pour dtailler laspect fonctionnel manquant ces images statiques. Ainsi, on
peut apercevoir quelques commentaires sur la figure 19 ci-dessus.
Fabian Piau | Master 2 MIAGe
35 | 63
Rapport de stage - 2009
Durant les runions avec le client, nous nous arrtions sur chacune des maquettes, et discutions
dessus. Les jours suivants, je moccupais de les mettre jour, den crer de nouvelles dans le cas
dun nouveau besoin client, etc. Une fois rvises, elles taient ensuite remontres au client.
Ainsi, le processus tait itratif en vue datteindre un consensus et, surtout, pour quelles
rpondent parfaitement aux attentes du client.
Voici un autre exemple, la cration dune version. Il y a eu en tout quatre itrations et cette
maquette a t rvise quatre fois (cest le cas le pire, certaines nayant pas eu besoin dtre
rvises).
Figure 20 : Maquette de cration dune version [version 1 15/04/2009]
Figure 21 : Maquette de cration dune version [version 2 21/04/2009]
Fabian Piau | Master 2 MIAGe
36 | 63
Rapport de stage - 2009
Figure 22 : Maquette de cration dune version [version 3 24/04/2009]
Figure 23 : Maquette de cration dune version [version 4 28/04/2009]
Nous avons pris un seul exemple ici, mais les rvisions concernaient en gnral la majorit des
maquettes. Vous les trouverez toutes en version finale dans le rapport des annexes.
Fabian Piau | Master 2 MIAGe
37 | 63
Rapport de stage - 2009
Il a t difficile darriver un consensus pour deux raisons principales :
Lapplication CORS va tre utilise par diffrents types dutilisateur (dveloppeur,
intgrateur, exploitant). Ces utilisateurs ne sont pas forcment habitus travailler de la
mme faon. Certains avaient leur point de vue et voulaient que lapplication fonctionne
ainsi, dautres prfraient un mode de fonctionnement diffrent.
Lapplication est complexe dun point de vue fonctionnel, il y beaucoup de rgles de
gestion mettre en place. La frontire entre environnement, version et application ntait
pas trs claire.
Une fois les maquettes termines et valides par le client, mon travail a t la cration des
diagrammes de lapplication. Ces diagrammes ont, eux aussi, d tre rviss plusieurs reprises.
Les voici dans leurs dernires versions.
Figure 24 : Diagramme de classes de lapplication [version 4 13/05/2009]
Fabian Piau | Master 2 MIAGe
38 | 63
Rapport de stage - 2009
Figure 25 : Modle de donnes de lapplication [version 2 13/05/2009]
Ce modle montre lorganisation des donnes de lapplication dans la base de donnes (lien entre
les tables, composition des tables, identifiants, etc.).
Fabian Piau | Master 2 MIAGe
39 | 63
Rapport de stage - 2009
Figure 26 : Modle de navigation [version 2 30/04/2009]
Mon travail ne sest pas limit la cration des maquettes et des diagrammes, jai galement
particip la rdaction des spcifications avec un travail de relecture et jai apport mon aide
dans la dfinition des rgles de gestion.
Fabian Piau | Master 2 MIAGe
40 | 63
Rapport de stage - 2009
4.1.6 Dveloppement
La majorit de mon travail sur CORS sest focalise sur lanalyse et la conception.
Nanmoins, jai pu avancer sur le dveloppement.
Voici mes ralisations principales :
Dfinition de lenvironnement de dveloppement : la liste prcise des logiciels
installer sur son poste pour pouvoir commencer dvelopper sur CORS.
Comparaison dapplications blanches. Comparaison de 3 applications blanches :
AppFuse (projet open source) et deux solutions dapplication blanche internes au
groupe.
Capgemini sest engag depuis fin 2003 dans un processus dindustrialisation des
projets Nouvelles Technologies et a intgr les frameworks Open Source les plus
utiliss pour concevoir lApplication Blanche.
LApplication Blanche est issue de ces travaux dindustrialisation et permet de
matriser et de rduire les risques techniques en termes :
- dintgration technologique ;
- dinteroprabilit ;
- de performances.
LApplication Blanche constitue le socle applicatif et technique utilis par
Capgemini et disponible pour ses clients pour le dveloppement des applications
Java EE et des applications utilisant des composants Open Source.
Connexion de lapplication blanche ITC interne (application blanche retenue) avec
le SGBD MySQL. Par dfaut, cette application blanche est relie au SGBD HSQLB
et plus exactement une base de donnes en mmoire.
Authentification CAS (Central Authentication Service). Le projet CAS est un projet
open source dauthentification qui va se greffer lapplication blanche et lui
ajouter une fonctionnalit dauthentification scurise de type SSO.
Tableaux dynamiques. Lapplication CORS devra utiliser des tableaux assez
complexes, combinant diffrentes fonctionnalits telles que la pagination, le tri,
la possibilit dafficher ou de masquer une colonne, un traitement Ajax, etc. Jai
donc avanc sur le sujet en testant et comparant des technologies existantes.
Je ne vais pas dcrire chacun de ces points dans ce rapport, tout le dtail est disponible dans les
notes de projet dans le rapport des annexes.
Fabian Piau | Master 2 MIAGe
41 | 63
Rapport de stage - 2009
4.1.7 Le devenir du projet CORS
Comme je lai dj signal, suite appel du client, le projet a t suspendu. Cette dcision
est lie des contraintes budgtaires et des changements de priorits en interne. Mon sujet de
stage sest donc termin de faon inattendue aprs deux mois.
Quoi quil en soit, la phase danalyse et de conception est acheve, le projet ayant t suspendu
quelques jours seulement avant le dbut de la phase de dveloppement.
Jai rdig les notes de projet sur CORS afin que le centre de services ait une trace crite de tout
ce que jai dj fait en dveloppement. Ces notes aideront la future quipe de dveloppement
lors de la reprise du projet.
Le projet CORS attend dsormais le feu vert du client pour continuer.
Fabian Piau | Master 2 MIAGe
42 | 63
Rapport de stage - 2009
4.2 Dveloppement dutilitaires de gestion de
projet
Voici une description de chacun des quatre utilitaires que jai raliss, destination des
directeurs et chefs de projet. Cette priode de dveloppement, que lon peut qualifier de
transitoire en attendant mon second sujet, a dur un mois.
4.2.1 Chiffrage et facturation des projets [2 macros]
4.2.1.1 Macro de chiffrage
Jai ralis une macro permettant le chiffrage des projets. Concrtement, pour chaque
nouveau projet, le centre de services ralise une tude dimpact macroscopique (EIM) puis une
Etude dImpact Dtaill (EID). Ces deux tudes prliminaires vont permettre au centre destimer
les charges du nouveau projet.
La mthode destimation de charges utilise est la dcomposition par cran. Pour chacun des
futurs crans de lapplication, on va valuer son niveau de complexit et son type. Plus lcran est
complexe, plus la charge sera importante. On parle dUO (unit uvre) pour un type dcran.
La charge est calcule en Units de Facturation (UF). Le chiffrage en UF est tout compris, il
comprend la conception technique dtaille, le dveloppement et les tests unitaires, lintgration,
la qualification interne, la livraison, lassistance recette, les corrections aprs recette, le pilotage,
la qualit Support et Architecture ainsi que la garantie.
Fonctionnellement, la macro parcourt lEID qui est un document Word. Au fur et mesure de la
lecture de lEID, la macro va alimenter le tableau Excel qui va calculer la charge par type
dcran et la charge totale.
Figure 27 : Chiffrage automatis dun projet
Pour que la macro puisse reconnaitre les donnes traiter, lEID Word doit rpondre
certaines exigences. Les donnes doivent tre saisies dans des tableaux dont les enttes sont
normaliss, les valeurs saisies dans ces tableaux doivent respecter une syntaxe particulire.
Lannexe 3.1 Macro de chiffrage contient le document test que jai rdig pour cette macro.
Vous y trouverez des exemples de tableaux normaliss.
Macro de
chiffrage Excel
EID
dun projet
Parcourt Met jour
Fichier Excel de
chiffrage
Fabian Piau | Master 2 MIAGe
43 | 63
Rapport de stage - 2009
A la fin de son traitement, cette macro produit un fichier de log (historique dvnements ou
journal) comme celui-ci :
Rpertoire courant: D:\Mes Documents\Work\Macro\
Nombre de tableaux dans le word: 58
** Tableau numro 8 traiter -> 4 ligne(s)
Ligne 3, composant: Ecran client lger
Ligne 3, nombre: 1
Ligne 3, complexit: Simple
Ligne 3, type: Cration
Ligne 4, composant: Service applicatif
Ligne 4, nombre: 1
Ligne 4, complexit: Moyen
Ligne 4, type: Cration
** Tableau numro 50 traiter -> 5 ligne(s)
Ligne 3, composant: Ecran client lger
Ligne 3, nombre: 1
Ligne 3, complexit: Simple
Ligne 3, type: Duplication
Ligne 4, composant: Service applicatif
Ligne 4, nombre: 1
Ligne 4, complexit: Complexe
Ligne 4, type: Cration
Ligne 5, composant: Service applicatif
Ligne 5, nombre: 1
Ligne 5, complexit: Simple
Ligne 5, type: Cration
Traitement termin...
Code 3 : Exemple de fichier de log de la macro de chiffrage
Il permet lutilisateur de vrifier si toutes les donnes de chiffrage dans lEID ont t traites.
Avant la mise en place de cette macro, une dmarche manuelle tait ralise. Le fichier Word
tait parcouru manuellement, le chef de projet additionnant la main tous les UF. Bien sr, le
risque derreur tait trs important, mme aprs relecture.
Pour lanecdote, ma macro de chiffrage a t utilise pour le chiffrage du projet CORS.
Fabian Piau | Master 2 MIAGe
44 | 63
Rapport de stage - 2009
4.2.1.2 Macro de facturation
Le centre de services utilise une macro Excel pour grer la facturation de ses projets. A
partir de diffrents fichiers de suivi Excel, la macro additionne tous les montants des lments
facturs pour un mois choisi. Certaines fonctionnalits taient manquantes, jai donc repris le
dveloppement de cette macro.
Les fichiers de suivi Excel sont utiliss par les chefs de projet, ils servent faire le suivi de la
consommation, du reste faire, du r-estim, des dates d'affectation et de livraison, etc. et bien
sr, ils sont utiliss dans le processus de facturation. Ces fichiers sont donc trs importants au sein
du centre.
Les fichiers de suivi Excel contiennent lensemble des tickets (une ligne par ticket) dun mme
type. Les tickets pouvant tre des anomalies, des demandes de ralisation ou dvolution, des
demandes dEID, dEIM, etc. Tous ces tickets sont crs au fur et mesure de la vie du centre. Par
exemple, un chef de projet cre un ticket de type anomalie suite un bogue report par le client
VSCT. Ce ticket est ensuite affect un dveloppeur qui corrige le code. Une fois lanomalie
corrige et valide par le client, le ticket est ferm et peut tre factur.
Concrtement, la macro de facturation fonctionne ainsi : elle parcourt tous les fichiers de suivi
Excel et regarde lensemble des tickets qui ont t ferm au cours du mois. Bien sr, le traitement
est un peu plus compliqu, mais cest le fonctionnement gnral.
Le processus de facturation tant confidentiel, il ny aura pas de copie dcran ou davantage
dexplications.
Ce travail ma amen comprendre le ct fonctionnel de la macro et ma donc permis davoir
une meilleure comprhension du processus de facturation.
4.2.1.3 Technologies utilises
Pour faire les macros sous Excel, jai utilis le langage Visual Basic for Applications (VBA),
une implmentation de Microsoft Visual Basic qui est intgre dans toutes les applications de
Microsoft Office.
Ayant dj eu loccasion de dvelopper des macros durant un de mes prcdents stages, jtais
donc laise avec ces technologies.
Une chose nouvelle concernait la macro de chiffrage qui regarde dans un fichier Word. Jusqu
maintenant, jtais habitu raliser des macros qui ne concernaient quun seul fichier, le fichier
en cours contenant la macro.
Fabian Piau | Master 2 MIAGe
45 | 63
Rapport de stage - 2009
4.2.2 Suivi des tickets ClearQuest [1 utilitaire, 1 macro]
4.2.2.1 Explications sur ClearQuest et les tickets
Pour grer lensemble des services (anomalies, volutions...) demands par VSCT, il est
ncessaire davoir un outil de gestion avec une interface Web pour faciliter le travail collaboratif.
Celui-ci, choisi par le client, car dj maitris par leurs services, est le logiciel ClearQuest.
Rational ClearQuest est un logiciel commercial du fabricant IBM, cest un outil souple et puissant
permettant d'effectuer le suivi des tches au cours du droulement dun projet. Plus
particulirement, et cest ce qui va nous intresser, il permet de contrler en permanence ltat
des diffrents services demands par VSCT. Par exemple, VSCT peut ouvrir une demande de
correction danomalie (cest le fameux ticket dont nous avons parl pour prsenter la macro
de facturation) suite un problme rencontr sur une des applications. Grce cet outil, il nous
est possible de suivre le moindre changement dtat, la date de ce dernier ainsi que la personne
ayant excut cette modification depuis son tat initial dans ClearQuest. Lexemple ci-dessous
dtaille ce processus.
Figure 28 : Le processus ClearQuest pour une correction danomalie
Sur cette figure, nous pouvons voir plusieurs transitions portant un nom (Assigned,
Submitted, Rejected, Resolved, Integrated, Closed). Chaque fois quun ticket va changer
dtat, cela sera d une action sur celui-ci, correspondant auxdits noms.
Nous avons vu un exemple danomalie, mais il y a galement diffrents types de tickets tels que
les tickets de type CC (catgorisation de charge), EID (Etude dImpact Dtaille), EIM (Etude
dImpact Macroscopique), les demandes de support (DS), et les demandes de ralisation.
Chacun de ces types de tickets est enregistr dans un fichier de suivi Excel (les mmes que ceux
utiliss par la macro de facturation). Ces fichiers de suivi sont remplis, manuellement,
paralllement ClearQuest et au fur et mesure par les chefs de projet. Il arrive donc que le
contenu des fichiers de suivi ne reflte pas le contenu de la base de donnes ClearQuest. Cest
tout lenjeu des outils que jai crs.
Traitement des correctifs sur anomalie de production
Ca
pg
em
ini
VS
CT Rception dune
demande de
correction
danomalie
Validation
demande
(Enregistrement
dans CQ)
Submit
Reenter
Reject
Validation
compltude
package et
fermeture tickets
Analyse et
diagnostic
Instruction de la
demande de
correction
danomalie
Resolve
Rework
Correction de
lanomalie
Campagne de
tests
Prparation des
packages
Assign
Recette et
fermeture tickets
Fabian Piau | Master 2 MIAGe
46 | 63
Rapport de stage - 2009
4.2.2.2 Utilitaire de rcupration des tickets
Lapplication ClearQuest utilise des bases de donnes appartenant IBM pour enregistrer
tous les tickets et leurs paramtres. IBM ne fournit pas un accs direct ses bases de donnes,
direct dans le sens o il serait possible dexcuter des requtes SQL sur la base. En effet,
lutilisateur doit obligatoirement passer par le logiciel ClearQuest pour y accder. Cest un aspect
trs contraignant de ClearQuest.
Lutilitaire que jai dvelopp permet de contourner cette difficult en lautomatisant. Lutilisateur
pourra exporter les donnes de faon automatise, c'est--dire quil naura plus besoin dutiliser
ClearQuest directement, mais lutilitaire le fera sa place. La cinmatique daccs manuelle
lexportation des donnes sera reproduite, c'est--dire que ClearQuest sera toujours utilis, mais
la dmarche sera transparente pour lutilisateur qui naura plus qu configurer (si besoin) et
lancer un excutable. De plus, il aura une vision pas pas des avancements de lexportation. Jai
utilis des technologies dautomatisation de test pour raliser cet utilitaire.
Les donnes exportes, sous forme de fichiers texte, par mon utilitaire seront ensuite importes
dans une base de donnes appartenant Capgemini (la base de donnes des indicateurs) par
lintermdiaire dune application web existante sur le centre. La description tant peut-tre un
peu difficile comprendre, voici un schma pour clarifier les choses. Il montre tout le mcanisme
qui permet de contourner, de faon artisanale (et lgale), la protection de la base IBM.
Figure 29 : Fonctionnement gnral de la rcupration des tickets ClearQuest
Le code ci-dessous est un extrait de ces fichiers texte gnrs. Chaque champ est spar par le
caractre pipe | . La premire ligne du fichier rappelle les diffrents noms des champs dans la
Base protge IBM
IBM ClearQuest Utilitaire Tickets
(fichiers texte)
Base des indicateurs
Capgemini
Application du
centre
Automatise actions sur
Accde
Gnre
Importe
Cre/met jour
Fabian Piau | Master 2 MIAGe
47 | 63
Rapport de stage - 2009
base protge IBM. Lextrait contient trois tickets (un par ligne), par confidentialit, des champs
ont t remplac par des astrisques.
id|headline|DS_Type|State|Whished_Date|Submit_Date|Real_Date|Owner|Close_Date|Chiffrage|history.action_name|history.action_timestamp
cq1700001013|*********** *********|4-REAL|Resolved||2009-02-02 13:22:27|2009-02-12 16:44:52|**************||15,24|Resolve|2009-02-12 16:45:10
cq1700001035|**** ******* *******|1-CC|Submitted||2009-02-18 08:34:14||**************|||Submit|2009-02-18 08:38:33
cq1700001013|************ *********|4-REAL|Resolved||2009-02-02 13:22:27|2009-02-12 16:44:52|**************||15,24|Assign|2009-02-12 16:25:00
Code 4 : Extrait dun fichier dexport de ticket ClearQuest
Sur mon utilitaire, jai implment la fonction de log. Ci-dessous, un extrait dun export russi.
Connexion en cours
Connexion russie
Rpertoire de destination: C:\temp\repertoireIndicateur\
Base cq01 en cours de traitement
Requte All_DS_VSC_simple en cours de traitement
Traitement termin
Requte All_WR_VSC_simple en cours de traitement
Traitement termin
Traitement termin
Base cq02 en cours de traitement
Requte All_WR_EST_simple en cours de traitement
Traitement termin
Traitement termin
Base cq02s en cours de traitement
Requte All_DS_EST_simple en cours de traitement
Traitement termin
Traitement termin
Base cq92 en cours de traitement
Requte All_ds_opeam_simple en cours de traitement
Traitement termin
Requte All_wr_opeam_simple en cours de traitement
Traitement termin
Traitement termin
Dconnexion en cours
Dconnexion russie
Code 5 : Exemple de fichier de log de lutilitaire dexport des tickets
Il permet lutilisateur de vrifier si toutes les requtes, excutes sous ClearQuest et ramenant
les tickets ClearQuest, ont bien t excutes.
Fabian Piau | Master 2 MIAGe
48 | 63
Rapport de stage - 2009
4.2.2.3 Macro de comparaison
Une fois les tickets enregistrs dans la base de donnes des indicateurs, on peut utiliser la
macro de comparaison. Cette macro compare le contenu des fichiers de suivi Excel avec le
contenu de la base de donnes. Concrtement, elle va indiquer les tickets manquants, les tats
errons, etc. L encore, cette comparaison tait manuelle par les chefs de projet qui regardaient
sous ClearQuest et mettaient jour les fichiers de suivi Excel en fonction. Il faut noter que les
fichiers de suivi ne seront pas mis jour par la macro automatiquement, les impacts pouvant tre
trop lourds grer. La macro indiquera lutilisateur les modifications quil doit apporter pour les
mettre jour.
Voici un schma, qui aurait pu se greffer la figure 29.
Figure 30 : Comparaison des tickets ClearQuest
Veuillez noter que la macro de comparaison est efficace si la base des indicateurs est jour, c'est-
-dire quelle reflte le mieux possible les donnes de ClearQuest. Ainsi, il faut que le processus
de rcupration et dimportation des tickets (figure 29) soit excut rgulirement.
4.2.2.4 Technologies utilises
Pour la macro de comparaison, il sagit des mmes technologies que pour les macros de
chiffrage et de facturation (VBA). La nouveaut venant du fait quon accde une base de
donnes au lieu dun fichier, il a donc t ncessaire dintgrer du SQL dans le code de la macro.
L encore, une nouveaut pour moi.
Pour lutilitaire de rcupration des tickets, ce sont des technologies compltement diffrentes
qui ont t utilises, savoir la plateforme de dveloppement .NET, le framework
dautomatisation WatiN (prononcez what-in) et le langage C#.
Base des indicateurs
Capgemini
Macro de
comparaison Excel
Fichiers de
suivi Excel
Compare Rapport de
comparaison
Gnre
Fabian Piau | Master 2 MIAGe
49 | 63
Rapport de stage - 2009
Ce framework reproduit, action aprs action, le scnario que vous avez programm. Les actions
pouvant tre automatises sont varies: un clic sur un bouton, la slection dune valeur dans une
liste, la prise dune copie dcran de la page web en cours, lenregistrement de la page, etc.
Je lai donc utilis pour automatiser toutes les actions sous IBM ClearQuest afin dexporter les
tickets.
Le langage de programmation utilis est le C#. Etant familier avec la programmation Java, C# na
pas t trop difficile prendre en main. On y retrouve les notions de la programmation-objet et
un langage similaire (notion de classe, etc.).
Lenvironnement de dveloppement est Microsoft Visual Studio. Etant un utilisateur dEclipse
(programmation oriente Java), Microsoft Visual Studio est un trs bon produit facile prendre en
main. Aprs quelques jours, crer des scnarios WatiN devient assez simple.
Techniquement, pour trouver les boutons, listes et autres lments HTML, WatiN navigue
dans la structure HTML de la page web (les balises). WatiN peut interagir avec beaucoup
dlments HTML. Il peut identifier ces lments par leur id, nom, classe, texte, URL, valeur,
style cela dpend du code de la page tester.
Pour bien comprendre, voici un exemple simple:
public void login()
{
// Ouvrir une nouvelle fentre Internet Explorer
// et aller sur un site scuris
ie = new IE("http://www.my-secured-website.com/login.php");
// Trouver le champ texte username et saisir "toto"
ie.TextField(Find.ByName("username")).TypeText("toto");
// Trouver le champ texte password et saisir "titi"
ie.TextField(Find.ByName("password")).TypeText("titi");
// Selectionner la base de donnes
ie.SelectList(Find.ByName("userDb")).SelectByValue("db2");
// Cliquer sur le bouton de login pour se connecter
ie.Button("loginId").Click();
}
Code 6 : Code WatiN pour tester
Cette fonction automatise la connexion une application web comme ClearQuest.
Fabian Piau | Master 2 MIAGe
50 | 63
Rapport de stage - 2009
Voici maintenant le code HTML de la page web teste (la page login.php ):
User Name
Password
Database
Select a database
DataBase 1
DataBase 2
DataBase 3
DataBase 4
Code 7 : Code de la page web tester
Au moment dexcuter la portion de code (code 6), WatiN ouvre Internet Explorer, va lURL
spcifie, cherche le champ texte nomm username et y saisit la chane toto . Il fait de
mme pour le champ contenant le mot de passe.
Ensuite, il slectionne une base de donnes dans la liste nomme userDb . Finalement, il
soumet le formulaire en cliquant sur le bouton identifi par loginId .
Fabian Piau | Master 2 MIAGe
51 | 63
Rapport de stage - 2009
Figure 31 : Authentification automatise avec WatiN
A cette tape, WatiN va slectionner la base de donnes et connecter lutilisateur.
WatiN applique une couleur jaune sur les lments avec lesquels il est en train dinteragir (effet
de clignotement).
Dans lexemple, on utilise Internet Explorer (ie) mais WatiN supporte aussi le navigateur Firefox.
Fabian Piau | Master 2 MIAGe
52 | 63
Rapport de stage - 2009
4.3 Mise en place dune Plateforme dIntgration
Continue
Voici les diffrentes tches que jai pu raliser durant cette troisime priode :
La rdaction dun dossier sur lintgration continue (IC) pour sensibiliser les
dveloppeurs et les dirigeants cette pratique ;
La mise en conformit du dpt SVN (Subversion) du projet B2B, ainsi que la
rdaction de la procdure pour lappliquer ;
La mise jour et la configuration des logiciels dintgration continue en relation avec
B2B.
Nous allons expliquer plus en dtail chacune de ces tches. Mais dabord, quelques mots sur B2B,
le projet que jai utilis pour mettre en uvre lIC.
4.3.1 Le projet B2B
B2