Vous êtes sur la page 1sur 34

Rapport de stage de fin

dtudes
Stagiaire dveloppement dcisionnel au sein de
BIPP Consulting



Responsable BIPP Consulting: Laurent-Xavier Gusse
Tuteur UCBL: Mohand-Said Hacid
Etudiant: Mohamed Rouissi


















27/08/2012
BIPP Consulting
Mohamed Rouissi
Page 2 sur 34


Remerciement :
Ce projet de fin dtudes sest droul au sein de lentreprise BIPP Consulting dirig par Mr Laurent-
Xavier GUSSE.
Je tiens adresser mes remerciements aux membres de la socit que jai pu ctoyer durant la
priode de mon stage et qui ont su rendre mon travail agrable.
Plus particulirement, je tiens remercier Mr Laurent-Xavier GUSSE et Mr Mohand-Said HACID qui
mont co-encadr durant ce stage et qui mont apport leur aide ainsi que des remarques prcieuses
qui ont permis de faire aboutir ce travail.
Jexprime galement mes vifs remerciements mon enseignant Mr Fabien DUCHATEAU, pour
lhonneur quil ma fait en prsidant mon jury de mmoire de fin dtudes.
Rsum :
En tant que stagiaire, jai eu loccasion de participer des projets de grande envergure en
dveloppement spcifique SIAD (Systme dInformation dAide la Dcision) dans diffrents
domaines dactivit tels que la pharmaceutique et le pneumatique.
Ce rapport prsente donc lentreprise daccueil BIPP Consulting en prcisant ses secteurs dactivit
dans sa spcialit qui est le pilotage de la performance. Durant le stage effectu au sein de cette
entreprise, jai travaill sur la phase dintgration de donnes dans les systmes dcisionnels en
utilisant lETL Talend dans sa version gratuite aussi bien que la version entreprise et qui seront
prsentes en dtail dans ce rapport ainsi que dautres outils logiciels tels que SGBD (Oracle 11g,
MySql 5), SAP Business Object, SVN, Mantis, etc. Ces derniers ont permis de bien aboutir le travail
pendant les missions 1 et 2 de ce stage. Un exemple dun traitement Talend de la premire mission
sera prsent tout en indiquant les choix techniques (ex : utilisation de lODS, ELT, routines, etc.)
ainsi que les solutions retenues pour grer les problmes rencontrs.


Page 3 sur 34

Table des matires
I. Introduction: .................................................................................................................................... 5
II. Contexte de stage : .......................................................................................................................... 6
III. Description de la socit daccueil : ............................................................................................ 7
IV. Environnement technique : ......................................................................................................... 8
III.1. Architecture de lenvironnement technique : ......................................................................... 8
III.2.1 SVN : .............................................................................................................................. 10
III.2.3 SGBD .............................................................................................................................. 10
III.3.1 Quest-ce quun ETL ? .................................................................................................... 11
III.3.2 En quoi cela peut-il tre utile pour une entreprise? ..................................................... 12
III.3.3 Pourquoi utiliser un ETL au lieu de coder dans le langage de son choix? ..................... 12
III.3.4 Choix de la solution Talend: .......................................................................................... 13
V. Missions effectues : ..................................................................................................................... 15
IV.1 Mission 1 ............................................................................................................................... 15
V.1.2 Domaine dactivit : ...................................................................................................... 15
V.1.3 Droulement de travail : ............................................................................................... 15
V.1.4 Traitements effectus et volumtrie des donnes : ..................................................... 16
V.1.5 Dveloppement gnrique et conventions pratiques :................................................. 16
V.1.6 Ralisation de la documentation : ................................................................................. 16
V.1.7 Problmes rencontrs : ................................................................................................. 17
V.1.8 Conclusion : ................................................................................................................... 18
IV.2 Mission 2 ............................................................................................................................... 19
IV.2.1 Domaine dactivit : ...................................................................................................... 19
IV.2.2 Droulement de travail : ............................................................................................... 19
IV.2 .3 Optimisation des traitements :...................................................................................... 19
IV.2.4 Outils de travail : ........................................................................................................... 20
IV.2.5 Formation effectue: ..................................................................................................... 20
IV.2.6 Problmes rencontrs : ................................................................................................. 20
IV.2.7 Rdaction de la documentation : ........................................................................................ 21
IV.2.8 Conclusion : ................................................................................................................... 21
IV.3 Exemple dtaill : .................................................................................................................. 22
IV.3.1 Flux en entre : .............................................................................................................. 22
IV.3.2 Les donnes source : ..................................................................................................... 22
IV.3.3 Description du job : ....................................................................................................... 22
Page 4 sur 34

IV.3.4 Gestion des rejets : ........................................................................................................ 24
IV.3.5 Utilisation dune table temporaire (ODS) : .................................................................... 25
IV.3.6 Gestion des annule et remplace : .................................................................................. 28
IV.3.7 Alimentation des tables finales : ................................................................................... 28
IV.3.8 Variables de contexte utilises : .................................................................................... 30
IV.3.9 Utilisation des routines Talend: ..................................................................................... 31
VI. Conclusion : ............................................................................................................................... 32





















Page 5 sur 34

I. Introduction:

Afin de valider mon cursus universitaire et plus prcisment mon master 2 Technologies de
linformation et web parcours professionnel, la ralisation dun travail pratique dau moins 5 mois est
indispensable, et cest dans ce cadre que sintgre mon stage ralis au sein de la socit BIPP
Consulting. Le travail relve essentiellement dune application pratique des notions thoriques et
comptences acquises durant la formation universitaire.
Passionn par linformatique dcisionnelle, jai naturellement orient ma recherche du stage
vers les socits spcialises dans ce domaine. Et cest au sein de la socit BIPP Consulting que jai
eu loccasion de raliser ce stage et de dcouvrir le domaine de BI
1
(Business Intelligence) ainsi que
ses activits dun point de vue professionnel.
Les objectifs de ce stage taient les suivants:
- Dcouvrir le monde professionnel
- Lapplication pratique des connaissances thoriques.
- Avoir une exprience valorisante dans le domaine de BI.
- Apprendre travailler en quipe.
Jai donc intgr une quipe de 6 personnes en tant que dveloppeur, en charge de missions
suivantes :
- Acqurir des comptences en intgration des donnes sous lETL
2
Talend.
- Participation des projets dcisionnels en interne ainsi quen externe (chez les clients).
- Rdaction de la documentation technique sur les activits traites.
Dans ce document nous dcrirons le contexte de stage dans lequel nous prsenterons
linformatique dcisionnelle ainsi que la phase dintgration de donnes. Ensuite, nous donnerons
une description globale de la socit daccueil BIPP Consulting et de ses activits. Puis, nous
dtaillerons lenvironnement technique et logiciel de travail et dans lesquels le dveloppement a t
fait tout le long de stage. Aprs, nous aborderons les missions effectues, et notamment nos
diffrentes ralisations avec les problmes rencontrs et le savoir-faire que nous avons pu acqurir.
De plus, un exemple dune ralisation faite pendant une des missions sera prsent en dtail. Enfin,
nous terminerons par une conclusion dans laquelle nous mettrons en relief les acquis lissue de ce
stage.

1
Dfinition disponible dans le glossaire.
2
Dfinition disponible dans le glossaire.
Page 6 sur 34

II. Contexte de stage :

Dans le cadre de mon stage, je me suis intress linformatique dcisionnelle ou BI (Business
Intelligence) qui est de plus en plus rpandue sur le march et qui reprsente lune des spcialits de
linformatique en forte croissance de nos jours. Ce fait sexplique par les applications importantes du
BI dans de nombreux domaines.
Linformatique dcisionnelle est la science informatique qui permet aux responsables de la stratgie
dune entreprise davoir une vue densemble de leurs activits et de dcider la stratgie dans le
moyen et le long terme. Elle consiste collecter, intgrer et restituer les donnes matrielles ou
immatrielles dune entreprise. Un systme dinformation dcisionnel utilise en rgle gnrale un
entrept de donnes (ou Data Warehouse
3
) pour stocker des donnes transverses provenant de
plusieurs sources htrognes.
Un projet dcisionnel est gnralement compos de 3 phases principales :
La phase de collecte qui consiste chercher et collecter les donnes dans des sources
htrognes sous diffrents formats
La phase dintgration qui son tour permet dextraire les donnes des sources et les insrer
aprs transformation dans lentrept de donnes.
La phase de restitution de donnes qui permet dexploiter les donnes du Data Warehouse
en offrant la possibilit de faire du reporting, des requtes ainsi que de lanalyse
OLAP
4
(Online Analytical Processing) sur les donnes.
Dans le stage ralis, jai travaill sur la phase dintgration des donnes, fonction permise par les
outils dExtraction/Transformation/Loading (ETL). Dans notre cas nous avons utilis loutil Talend.
Lintgration est un prtraitement ayant pour but de faciliter laccs aux donnes centralises, aux
outils d'analyse et de restitution pour la prise de dcision. Ainsi, l'intgration consiste concentrer
les donnes collectes dans un espace unifi, dont le socle informatique essentiel est l'entrept de
donnes. Ce dernier est llment central du dispositif dans le sens o il permet aux applications
daide la dcision (par exemple lanalyse OLAP) de bnficier d'une source d'information homogne,
commune et fiable. Cette centralisation permet surtout de sabstraire de la diversit des sources de
donnes.

3
Dfinition disponible dans le glossaire.
4
Dfinition disponible dans le glossaire.
Page 7 sur 34

III. Description de la socit daccueil :
BIPP Consulting est une socit de conseil et de service, spcialise dans le domaine du pilotage de
la performance. Elle intervient sur l'ensemble des problmatiques mtiers (Contrle gestion, vente,
RH, logistique...) et accompagne ses clients dans la mise en uvre de leur solution de reporting,
pilotage, analyse, simulation et laboration budgtaire.
5



Figure 1 : Pilotage Performance - Elaboration budgtaire - Gestion de la relation Client (CRM) - Organisation Performance
SI
Les services de pilotage de la performance offerts par BIPP Consulting permettent aux entreprises de
piloter leurs activits avec des indicateurs pertinents pour russir la mise en uvre de leur stratgie.

BIPP Consulting est prsente sur Lyon et intervient sur le quart Sud Est de la France. Elle est
partenaire intgrateur des principales solutions dcisionnelles sur le march : QlikView, Cegid,
blueWay





5
http://www.bipp-consulting.fr/index.php?option=com_content&view=article&id=26&Itemid=57
Pilotage Performance &
Elaboration budgtaire
CRM
Organisation Performance
du SI
Page 8 sur 34

BIPP Consulting se positionne comme le partenaire capable d'assister les directions fonctionnelles et
informatiques dans la dfinition, la refonte du processus de gestion oprationnelle et dans la russite
de leur projet de pilotage de la performance.
laide de sa forte expertise fonctionnelle et technologique, BIPP Consulting offre des services en
parfaite adquation avec les attentes et les contraintes des principaux clients reprsents par les
PME et Grands Comptes.
Parmi les attentes des clients assures par BIPP Consulting on peut citer:
- Amlioration du processus dcisionnel de la socit en offrant des systmes performants
qui aident la prise de dcision.
- Gnration des rapports prcis sur les diffrentes activits des socits clientes.
- Amlioration des relations avec les clients
- Augmentation des revenus

Aprs avoir fait une prsentation globale de la socit daccueil BIPP Consulting, je vais parler dans le
chapitre suivant de lenvironnement technique de travail mis en place dans la socit et dans lequel
le travail tait ralis.
IV. Environnement technique :
Dans ce chapitre, on prsente la composition et larchitecture de lenvironnement technique de
travail, ainsi quune description des logiciels utiliss tout le long de mon stage.
III.1. Architecture de lenvironnement technique :

Avant de commencer un projet informatique il est ncessaire de dfinir lenvironnement de travail.
Pour les projets dans lesquels je suis intervenu le long de mon stage, le travail a t ralis sur trois
environnements diffrents savoir, lenvironnement de dveloppement (DEV), de pr production
(PREPROD) et de production (PROD).

Lenvironnement de dveloppement: Cest un serveur Windows, sur lequel sont effectus
les dveloppements et les premiers tests sur une base de test. Il nest accessible que par les
dveloppeurs au sein de lentreprise. Lavantage avec ce type de dveloppement est que le
projet reste localis, sur un endroit unique ce qui permet laccessibilit et la scurit des
donnes dans le cas dune panne matrielle.

Lenvironnement de pr-production: Cest un serveur distant qui stocke les premires
livraisons des versions du projet ainsi quune base de donnes de qualifications.

Lenvironnement de production: Cest un serveur distant dans lequel seront livres les
versions finales des jobs, il est accessible par le client.

La figure suivante prsente larchitecture de lenvironnement de travail :

Page 9 sur 34


Figure 2 : Architecture de l'environnement de travail

Il est possible de dfinir plus denvironnement, suivant les besoins, comme par exemple un
environnement de performance (PERF) o serait test le projet avec un maximum de donnes pour
vrifier la monte en charge.



dveloppeur
dveloppeur
dveloppeur
Serveur de
code
checkIn/
checkOut
commit
Environnement
de dveloppement
Intgration continue ou nocturne
Dploiements
Dveloppement des premires versions et
ralisation des tests
Dploiements
Ralisation des tests sur une base de
qualification dans un environnement le plus
similaire possible celui du client
Mise en production
Livraison des versions finales, cet environnement
est accessible par le client
Environnement
de pr production
Environnement
de production
Client
Testeurs
Testeurs
Testeurs
Livraison
Commit: sauvegarder les changements sur le
projet, tout le monde peut dsormais voir les
modifications ralises
Page 10 sur 34

III.2 Technologies logicielles utilises :
Parmi les logiciels utiliss pendant le stage :
III.2.1 SVN :

Nous avons utilis SVN (SubVersioN) comme systme de gestion de versions (versionning) pour la
gestion de versions centralise. Cela permet de travailler plusieurs sur un mme code sans souci de
perte de code si un mme fichier est modifi par plusieurs personnes en mme temps.
Le dveloppement seffectue dans le dossier trunk .
chaque contribution, les modifications effectues sont rpercutes sur le trunk tout en traant les
modifications effectues par rapport la version prcdente. Il est ainsi possible de revenir tout
moment une version antrieure du programme car chaque contribution sur le serveur centralis
est associ un numro de version SVN.


III.2.2 Mantis

Mantis est un systme de suivi de bug open source sous licence GPL (GNU General Public License). Il
permet denregistrer tout dysfonctionnement de lapplication, quil soit dorigine fonctionnelle ou
technique, que ce soit un problme graphique ou une simple coquille.
Les tickets crs dans Mantis sont par la suite affects des dveloppeurs pour procder la
dtection de lorigine du dysfonctionnement et la mise en uvre de corrections ncessaires. Ltat
du ticket volue alors progressivement dun tat nouveau un tat ferm en passant par
exemple par les tats affect , rsolu et livr.
Mantis permet aussi dobtenir automatiquement un changelog (liste des bugs corrigs par
version du logiciel) ainsi que des statistiques qui peuvent concerner le nombre de bugs soumis ou
corrigs par utilisateur, temps moyen de rsolution des bugs, ou lefficacit de la rsolution des bugs
(les bugs peuvent tre rouverts si la correction est errone).
III.2.3 SGBD

a) Oracle 11g :

Cest lun des deux SGBD utiliss pendant mon stage. Cest un SGBDR trs puissant utilis pour
stocker et grer les donnes de lentrept de donnes dans le systme dinformation dcisionnel. Il
propose aux professionnels de linformatique des outils de base permettant de fournir efficacement
un volume important dinformations avec une meilleure qualit de service.

b) MySQL 5 :

Un SGBD open source utilis pour crer et grer des bases de donnes dans le systme dinformation
dcisionnel.
Page 11 sur 34

Il est devenu lun des SGBD open source le plus populaire en raison de ses performances, de sa
fiabilit et de sa simplicit dutilisation
6
.
III.3 Plateforme ETL :
III.3.1 Quest-ce quun ETL ?

ETL, est lacronyme dExtract, Transform, Load:
Extract : extraire les donnes de multiples sources de donnes qui peuvent tre htrognes (Base
de donnes, CSV, XLS, ERP, web service )
Transform : transformer les donnes provenant des sources (ex : modifier le format de la date).
Load : charger les donnes dans nimporte quel format. (Base de donnes
Oracle/MySQL/PostgreSQL/, Fichier Excel/CSV/)


Figure 3 : Schma dun ETL, et de son fonctionnement

6
http://www.mysql.fr/why-mysql/white-papers/
Page 12 sur 34


III.3.2 En quoi cela peut-il tre utile pour une entreprise?
Lutilisation des traitements ETL dans une entreprise peut savrer importante, en raison mme de la
multitude des besoins. Des exemples dutilisation sont :
Rcupration des donnes sur un site internet de faon automatise et leur insertion dans
une base de donnes.
Centralisation et consolidation des donnes en liminant celles qui sont invalides.
Alimentation dune base de donnes ou dun entrept de donnes dun systme
dinformation dcisionnel par des donnes qui proviennent de sources htrognes.
limination des erreurs provenant des sources de donnes et nettoyage de ces dernires
laide dun systme automatis.
Synchronisation des donnes avec dautres sources.
Alimentation dune base de donnes danalyses OLAP pour une utilisation dcisionnelle.
III.3.3 Pourquoi utiliser un ETL au lieu de coder dans le langage de son choix?
Le codage dans le langage de son choix semble tre une solution intressante, car elle
permet de rester au plus prs des spcificits mtiers des donns traiter, tout en
saffranchissant des contraintes lies lachat et lutilisation dun ETL propritaire.
Malheureusement on se rend vite compte sur un gros projet que les cots de dbogage et
surtout de maintenance sont beaucoup plus importants quun traitement fait sous ETL.
Comme tout bon programmeur le sait, inutile de rinventer la roue! LETL offre une panoplie
de composants remplaant de nombreuses lignes de code.
Exemple de composants Talend:
- Les composants de connexion une base de donnes (tOracleConnection,
tMysqlConnection...)
- Les composants de mappage tMap qui offrent la possibilit de diriger les donnes
dune ou plusieurs sources vers une ou plusieurs sorties. Il permet aussi de raliser
les jointures.
- Les composants de lecture et dcriture dun fichier. Etc.
LETL donne une vision graphique du job (un traitement est appel job sous Talend) et
permet ainsi en un coup dil de comprendre le but du traitement ainsi que de reprer
lendroit o appliquer une modification quelconque si le traitement respecte bien les
conventions de dveloppement ETL. Voici quelques conventions sur les bonnes pratiques de
dveloppement sous lETL Talend:
Quelques conventions :
- Les lignes dun traitement vont de gauche droite (horizontal).
Page 13 sur 34


- Tous les composants doivent tre nomms.

- Les composants dentre ou de sortie dune base de donnes (ex : tOracleInput,
tOracleOutput) prennent le nom de la table correspondante.

- Les liaisons entre les blocs du type OnSubjobOK ou OnComponentOK vont de haut
en bas. Etc.
Lutilisation dun ETL permet davoir un gain de temps norme et cest pour cela que les
grands du march ont adopt ces solutions.

III.3.4 Choix de la solution Talend:

Talend est une plateforme dintgration de donnes puissante offrant de bonnes performances sur le
march des ETL.
Talend propose une suite logicielle crite en Java permettant de bien grer lintgration de donnes.

Les logiciels proposs par Talend:
Talend Open Studio (outil de base)

Talend Integration Suite (fonctionnalits plus avances que TOS, travail collaboratif, etc.)

Talend On Demand (Intgration de donnes en mode Saas)

Talend Open Profiler (fonctionnalits avances pour lanalyse et le profilage de donnes)

Talend Data Quality (facilite le travail de nettoyage des donnes : doublons, suppression de
donnes errones)
Pour les versions utilises au dveloppement pendant le stage sont :
a) TIS (Talend Integration Suite):
Cest la version entreprise de lETL Talend, Studio enrichi fonctionnellement
Gestion des environnements et des dploiements

Rfrentiel partag


Page 14 sur 34

Supervision

Version avance MDx et RTx

Module qualit de donnes

Open Profiler : reprsentation en amont, indicateurs

Data Quality: Correction, nettoyage, enrichissement, rapport

b) TOS (Talend Open Studio):
Cest une version gratuite trs complte qui permet aux entreprises ne ncessitant que trs peu de
traitements de les dvelopper sur la version gratuite.































Page 15 sur 34

V. Missions effectues :
IV.1 Mission 1

Aprs avoir acquis quelques comptences sur lETL Talend chez la socit daccueil, je suis parti en
une mission chez un client qui a dur 2 mois. Dans cette mission jai ralis un projet dintgration de
donnes dans un entrept de donnes MySql au sein dun gros projet dcisionnel.
V.1.2 Domaine dactivit :

La socit cliente travaille pour le compte dun grand producteur des produits pneumatiques.
V.1.3 Droulement de travail :
Jai ralis une premire runion avec le chef de projet, un administrateur systme et dveloppeur
SI, dans laquelle ils mont fait une description gnrale de projet savoir, le type des donnes
intgrer, le projet dans lequel sintgre le travail, les conventions de dveloppement et une vue
globale du modle de donnes (schma conceptuel, contraintes ).
Vu labsence dun document de spcification dtaill ou dun cahier des charges qui aurait pu
faciliter le dveloppement des jobs dintgration, jai t amen rdiger un document de
spcification qui prcise les contrles de chargement ainsi que les actions faire dans chaque cas de
test. Ce document a t transmis au matre douvrage pour quil puisse le valider.
Durant mon intervention dans le projet, jai fait des runions hebdomadaires avec le client (Lundi de
chaque semaine) durant lesquelles on a mis le point sur lavancement de travail et ce quil reste
faire, ainsi que les ventuelles volutions des donnes telles que : la modification de la structure,
lajout dun fichier, lajout dune contrainte sur les donnes etc.
Aprs avoir reu la validation du document de spcification de la part du client, jai entam le
dveloppement des jobs dintgration des flux sources par la cration du job de paramtrage de la
base de donnes. Voici un petit descriptif de ce job :
Flux en entre : Fichier Excel (CONTEXT_ALL_ALL_ALL_20120605.xls)
Description :
Ce job permet dalimenter les tables de paramtrage dans la base de donnes, il est constitu de
plusieurs blocs.
Chaque bloc charge une table partir dune feuille du fichier Excel en entre.
Contrle du chargement :
- Contrle sur le type des donnes (Date valide, type numrique, nom du flux valide)
- Contrle sur les champs nuls.
- Rejet des lignes qui contiennent des champs non nullable qui sont nuls savoir les clefs
primaires ou trangres.
- Alimentation de la table de rejet t_rejected_context dans le cas dun test invalide
Page 16 sur 34


Figure 4 Bloc d'alimentation de la table t_market_zone
Afin de faciliter lanalyse des rejets et en plus des donnes de la ligne, on stocke aussi un code
derreur et un message derreur significatif, qui seront affichs sur des rapports pour lutilisateur final.
Connexion la base de donnes :
Deux connexions la base de donnes sont utilises, une pour la table de rejet et lautre pour les
autres tables. Ce mcanisme nous a permis de dcider le rejet ou non du fichier la fin du
chargement.
V.1.4 Traitements effectus et volumtrie des donnes :
Le projet ralis contient trois grandes parties, savoir :
- Intgration des flux historiques
- Intgration des flux non historique
- Documentation technique du travail
Au total le nombre de jobs Talend ralis est 17, et le nombre de lignes par fichier a atteint des
millions de lignes dans quelques flux historiques qui contiennent des donnes stalant sur 4 ans ou
plus.

V.1.5 Dveloppement gnrique et conventions pratiques :
Afin dassurer la gnricit des jobs et une ventuelle excution sur diffrentes plates-formes
(Windows, Unix, Mac OS), jai eu recours lutilisation des traitements contextuels avec lutilisation
des variables de contexte qui seront charges directement partir des fichiers texte.
Par ailleurs, le respect des conventions et des bonnes pratiques de dveloppement sous lETL Talend
a permis davoir des jobs clairs et lisibles qui offrent la possibilit de comprendre en un coup dil le
but du traitement ainsi de reprer lendroit o appliquer la modification.

V.1.6 Ralisation de la documentation :
Comme dans nimporte quel projet informatique, la documentation est indispensable puisquelle
permet de comprendre le travail ralis avec plus de dtails, et aide aussi les autres intervenants sur
le projet suivre le travail ou lamliorer dans le cas dun besoin particulier.
Page 17 sur 34

En se basant sur des exemples de documentation dj faites, jai livr la fin de mon intervention sur
le projet un document dcrivant les traitements raliss en dtail et en incluant des exemples
dutilisation de chaque job.
V.1.7 Problmes rencontrs :
Parmi les problmes rencontrs durant le travail dans la premire mission :
Lors de dveloppement des jobs, il ny avait pas suffisamment de contrle sur les donnes
source fournies par le client, ce qui a augment normment la charge de contrle ralis
par les jobs, et a donn un taux de rejet norme dans chaque flux.

Rsultats inattendus

Une perte de temps considrable

Les flux en entre ne sont pas structurs et contiennent des donnes htrognes mme sil
sagissait du mme type de flux, et cela d au fait que les fichiers proviennent directement
du client sans tre mis sous le contrle du responsable.
En plus, au dbut de mon intervention je nai pas suivi une bonne mthodologie de travail, c'est--
dire quaprs des jours de travail je nai pas mis au courant le responsable du projet sur ltat de la
base de donnes (Lignes intgres, lignes rejetes, taux dintgration).
Rsultat inattendu au niveau du nombre de lignes intgres.

Travail intensif pour rcuprer le retard.

Remont du problme au responsable.

Export rgulier de la base de donnes la fin de chaque modification pour viter leffet
Tunnel , ce qui a provoqu une pression importante par le client.

Lautre lment qui ma pos quelques problmes est la mise en place tardive des serveurs
de dveloppement. Parce quil faut signaler que jai commenc le travail en local sur ma
machine, chose qui ma empch deffectuer des tests sur des gros volumes de donnes.

Tests insuffisants

Plantage de la machine quelle na pas suffisamment de mmoire vive.

Non-centralisation du projet et le risque de perte des versions.

Modifications importantes sur les donnes source et la structure des flux par le client qui ont
engendr des impacts remarquables sur les jobs dintgration.

Maintenance couteuse
Page 18 sur 34


Perte du temps remarquable
V.1.8 Conclusion :
La premire mission tait un vrai lancement dans lenvironnement professionnel pendant laquelle jai
amlior mes capacits en matire de relationnel avec le client puisque jtais en contact direct avec
lui dans les runions ou par e-mail.
Aprs avoir fini ma mission, je suis rest disposition du client afin de maintenir les ventuels bugs
identifis lors de la phase de test.






















Page 19 sur 34

IV.2 Mission 2

La deuxime mission tait une intervention sur un projet dans la socit daccueil BIPP Consulting.
Ma tche dans le projet tait la ralisation des traitements dintgration des donnes sous lETL
Talend la version entreprise TIS dans un entrept de donnes Oracle 11g.
IV.2.1 Domaine dactivit :

Le projet tait la ralisation dun systme dinformation dcisionnel pour le compte dun client dont
le domaine dactivit est la pharmaceutique.
IV.2.2 Droulement de travail :
Jai ralis une runion avec lquipe de projet, pendant laquelle on ma expliqu le contexte du
projet, en plus jai appris quelques connaissances sur lenvironnement de travail et larchitecture du
systme en cours de construction.
Ensuite, jai lu des documentations sur les traitements ETL dintgration de donnes dj raliss
pour que je puisse comprendre la tche qui ma t accorde afin de laborder correctement.
Il sagit dun projet dont la ralisation est en interne dans une quipe qui contient des experts Talend,
ce qui tait trs bnfique pour moi en termes de support technique. Par ailleurs, le travail se
droulait suivant une mthode Agile.
Travail collaboratif : davantage linteraction avec les personnes que les processus et les
outils.

Runions rgulires avec le client : davantage la collaboration avec le client.

Satisfaction : le client est mis au centre de la dmarche et les personnes impliques sur le
projet visent la satisfaction relle du besoin.

Anticipation : dveloppement souple qui anticipe les ventuels changements des besoins.
En plus, jai fait des runions rgulires avec le chef de projet aprs chaque avancement pour valider
ce qui a t fait, analyser les problmes rencontrs et discuter la prochaine tche raliser.
IV.2 .3 Optimisation des traitements :
Etant donne la grande masse de donnes en entre qui a atteint des centaines de millions de lignes,
loptimisation des traitements tait indispensable pour rduire le temps dexcution.
Parmi les actions ralises dans ce cadre est :
- Utilisation du principe de lODS (Operational Data Store) qui fait office de structure
intermdiaire destine stocker les donnes issues des systmes de production
oprationnelle. Ce sont en quelque sorte des zones de prparation avant lintgration des
Page 20 sur 34

donnes dans lentrept de donnes: donnes qualifies, premier niveau de filtrage et
dagrgat.

- Utilisation du traitement ELT (Extract Load Transform) qui nutilise pas la JVM au moment de
lexcution mais utilise les capacits de traitement des bases de donnes quil exploite.
Autrement dit, les donnes sont traites par la base de donnes et non plus par Talend et
donc Java ce qui peut amliorer les performances lors de gros traitement.

IV.2.4 Outils de travail :

Le dveloppement tait centralis dans un serveur de dveloppement qui avait des bonnes capacits
et qui servait la ralisation des tests sur des gros volumes de donnes. Et en ce qui concerne les
outils de travail, lutilisation de la version entreprise TIS de Talend ma offert plus de fonctionnalits
qui mont permis doptimiser de plus en plus les traitements tels que, lutilisation des Joblets et la
supervision des jobs, chose nest pas offerte dans la version gratuite TOS.
Aussi, lutilisation de la gestion des versions des jobs est gre par le gestionnaire de version SVN qui
nous a permis davoir un historique de versions ainsi quun accs simultan sur un mme traitement
par plusieurs dveloppeurs.

Il faut noter que dans un travail collaboratif, la mise en place dun gestionnaire derreur est
indispensable, dans ce cadre, loutil Mantis Bug Traker a t mis en place dans le projet, il nous a
permis davoir un historique derreurs et de partager les informations sur les bugs rencontrs ainsi
que les membres du groupe impacts par le bug.

IV.2.5 Formation effectue:
Afin de partager les connaissances sur les outils techniques utiliss dans le projet et assurs par
lentreprise, jai assist une formation sur loutil de restitution de donnes SAP Business Objects.


IV.2.6 Problmes rencontrs :
Parmi les problmes rencontrs tout le long de ce projet :
Vu que le projet dans lequel je suis intervenu existe depuis plus dun an, donc il ma fallu se
documenter et analyser les jobs existants pour comprendre la logique et les conventions de
dveloppement.

Temps remarquable avant de commencer le dveloppement de jobs

Premire manipulation de la version entreprise de Talend TIS

Capacit du poste local limit surtout sur les grandes masses de donnes.
Page 21 sur 34

IV.2.7 Rdaction de la documentation :
Afin de rendre les jobs dintgration de donnes comprhensibles et faciliter un ventuel suivi de
dveloppement, jai ralis la documentation de toutes les tches ralises. Cette documentation
effectue la fin de chaque action contient une description dtaille des traitements ainsi que la
logique suivie pendant le dveloppement et le principe de fonctionnement des jobs.
IV.2.8 Conclusion :
Le projet dans la deuxime mission est un projet de type forfait, c'est--dire quil possde un
document de spcification dtaill et un cahier des charges qui fixe les limites du projet. En plus, les
donnes sont de bonne qualit en termes de typage et de taille etc. Par ailleurs, les fichiers source
sont bien structurs et bien formats, ce qui permet davoir un gain norme en termes de temps de
dveloppement puisquil y aura moins de traitements dans les jobs pour contrler la validit des
donnes en entre.
En plus des comptences acquises sur lETL Talend, jai amlior mes connaissances en base de
donnes Oracle en manipulant les transactions diffrentes travers des requtes tout en respectant
les contraintes sur les tables de la base de donnes.


















Page 22 sur 34

IV.3 Exemple dtaill :

Dans cette partie, je vais prsenter un exemple dtaill du traitement (job Talend) fait lors de la
premire mission.
Le job ralis dans cet exemple prend en entre un flux CSV contenant 16 colonnes et un nombre de
lignes qui peut atteindre 10 millions de lignes dans le cas dun flux historique. En appliquant le
traitement, les donnes TSD (Taux de Satisfaction de la Demande) seront stockes dans lentrept de
donnes form dune table de faits et des diffrentes dimensions ncessaire lanalyse dcisionnelle.
IV.3.1 Flux en entre :
TS_FRANCE_TC_SUMMER_20120601_01.csv
IV.3.2 Les donnes source :
Les donnes source se prsentent sous diffrents types tels que : Chane, Date, Numrique (Entier,
Rel, Double), Pourcentage.
Le nom de flux dans cette phase contient plusieurs champs spars par _ :
- Le type de flux (CONTEXT, INIT, CO, TS, MO, SE)
- Le nom du pays
- Le code de la ligne produit
- Le code de la saison
- Une date sous le format yyyyMMdd.
- Identifiant unique du nom de fichier
Do le nom TS_FRANCE_TC_SUMMER_20120601_01.csv
IV.3.3 Description du job :
Ce job se charge de lintgration des donnes TSD et de la cration des dimensions de pneus de type
TS.
Dans le schma qui suit, un diagramme dactivit qui dcrit le processus Talend:
Page 23 sur 34


Figure 5: Diagramme d'activit
Vrification de la validit du
nom de flux
Vrification de la correspondance
entre la date qui figure dans le nom
du flux et celle dans le flux
Identification des lignes rejetes et
alimentation de la table de rejet
Alimentation de la table
temporaire
Gestion des annules et remplaces
Alimentation des tables finales
Validation(Commit)
invalide
valide
Rejet du fichier
Rejet du fichier
invalide
valide
Nbr_lignes_rejetes > 0
Nbr_lignes_rejetes = 0
Rejet du fichier
Vrification
Suppression/Rejet
Alimentation
Validation
Page 24 sur 34

IV.3.4 Gestion des rejets :
Identification des erreurs de chargement et alimentation de la table de rejet t_file_rejected_ts.
Dans le tableau qui suit, quelques contrles de chargement traits dans le job :
Colonne Test Valid Non Valid
dt_trt Format date valide Rejet de la
ligne
pays_lib Existe dans la table t_country Rejet de la
ligne
MRQ_LIB Existe dans la table t_brand(Name_in_TSD) Rejet de la
ligne
CAT_LIB Existe dans t_etrma_category(Name_in_TSD) Rejet de la
ligne
SAI_LIB Existe dans t_market_season(Name_in_TSD) Rejet de la
ligne
IVIT_C Numrique et existe dans t_speed_Index (Code) Rejet de la
ligne
HB_C Numrique et existe dans t_generic_dimension
(geometric_box_ratio)
Rejet de la
ligne
BOUD_C Numrique et existe dans t_generic_dimension
(geometric_box_width)
Rejet de la
ligne
ICH_C Numrique et existe dans t_generic_dimension
(load_index_code)
Rejet de la
ligne
RSEAT_C Numrique et existe dans t_generic_dimension
(geometric_box_diameter)
Rejet de la
ligne
DATE_SOUHAITEE MM/YYYY Rejet de la
ligne
Quantit
demande
retenue(SUM_ATF
_RET_DEM_QT)
Numrique Rejet de la
ligne
Quantit livre
conforme(SUM_AT
F_LIV_CFRM_QT)
Numrique Rejet de la
ligne
Season + Type Existe dans Generic_Segment type TS Rejet de la
ligne
IVIT_C + Rseat_C Existe dans Generic_dimension type TS Cration
(Season + Type) +
(SI + Seat)
Existe dans t_tsd_element Cration
Tableau 1 : Contrles de chargement
Dans la table de rejet on stocke la ligne rejete, le numro de la ligne dans le fichier, un code derreur
et un message derreur qui explique la cause de rejet.
La table de rejet sera utilise par le systme BI comme support de donnes laide de duquel un
rapport dtaill sera gnr pour lutilisateur final sur les ventuelles erreurs provenant de la source.
Le bloc qui assure cette phase de contrle est reprsent par la figure 6 qui suit.
Page 25 sur 34

IV.3.5 Utilisation dune table temporaire (ODS) :
On stocke les donnes provenant du fichier source dans une table temporaire (tmp_file_ts) sans
prendre en compte le typage des donnes et en ralisant toutes les jointures possibles.
Le passage par cette table diminue normment le temps dexcution du job, puisque
lalimentation des tables dfinitives se fera directement partir de la table temporaire (sans
refaire les jointures).
Cette table de donnes temporaires est tronque chaque lancement du job.
Le bloc qui assure lalimentation de la table temporaire est reprsent par la figure 7.

Page 26 sur 34


Figure 6 : Bloc de la gestion des rejets
Vrifie les champs nuls, la taille
des champs
Duplication du schma en
entre
Sauvegarde les
lignes rejetes
Page 27 sur 34


Figure 7 : Bloc d'alimentation de l'ODS
Le fichier en
entre
Dossier contenant
les flux
Commit: Validation de
la transaction
Page 28 sur 34

IV.3.6 Gestion des annule et remplace :
Ce bloc permet de supprimer et remplacer les volumes existant dans la table nomme
t_tsd_volume_by_month par les nouvelles valeurs si le fichier en cours de traitement porte le mme
nom quun flux dj trait.
Le bloc responsable de cette action est reprsent par la figure 8.

Figure 8 : Suppression des volumes existants
IV.3.7 Alimentation des tables finales :
En se basant sur les donnes qui existent dans la table temporaire, on alimente directement les
tables finales.
Le bloc qui permet lalimentation des tables finales est reprsent par la figure 9.

Page 29 sur 34


Figure 9 : Alimentation des tables finales
Page 30 sur 34

IV.3.8 Variables de contexte utilises :

Nom Fonction Type Valeur par dfaut Obligatoire
error_code_field_null Code de rejet dune
ligne dans le cas dun
champ nul.
String nul oui
error_code_join Code de rejet dune
ligne dans le cas dune
jointure choue.
String nul oui
filename_context Nom du flux en entre. String nul oui
pcp_AdditionalParams String noDatetimeString
Sync=true
oui
pcp_Database String [Nom de la base] oui
pcp_login Nom dutilisateur String root oui
pcp_password Mot de passe String oui
pcp_port Le numro de port String 3306 oui
pcp_server Hte String localhost oui
DIR_ARCHIVE Dossier contenant les
fichiers dj traits.
String nul oui
DIR_CONF Dossier contenant les
fichiers de
configuration.

DIR_DATA Dossier contenant le
flux de contexte.
String oui
DIR_FILE_IN Dossier contenant les
flux en entre.
String oui
DIR_FILE_OUT Dossier contenant les
fichiers crs.
String oui
DIR_FILE_REJECTED Dossier contenant les
flux rejets.
String oui
file_country Le nom de pays
rcupr du nom de
flux.
String nul oui
file_date La date qui figure dans
le nom de flux.
String nul oui
year Lanne qui figure dans
le nom du fichier en
entre.
String nul oui
file_market_season La saison qui figure dans
le nom du fichier.
String nul oui
file_product_line La ligne produit
rcupre du nom de
fichier.
String nul oui
filename_init Le nom du fichier INIT String nul oui
filename_in Nom de flux en entre. String nul Oui
Tableau 2 : Liste des variables de contexte

Page 31 sur 34

IV.3.9 Utilisation des routines Talend:

Pour remdier des problmes spcifiques dans la transformation des donnes, jai eu recours
lutilisation des routines Talend.
Une routine est une classe java ayant que des mthodes statiques, do la puissance de lETL Talend
parce quen plus des possibilits normes de transformation offertes par dfaut, on a la possibilit de
crer nos propres traitements (routines), ce qui offre un niveau de flexibilit, de souplesse et de
performance.





















Page 32 sur 34

VI. Conclusion :

Durant ce stage de six mois chez BIPP Consulting, mes attentes en termes dacquisitions de
comptences techniques telles que le dveloppement sur lETL Talend et la manipulation des SGBD
(Oracle 11g, MySql5) ainsi quen termes de dcouverte du monde professionnel en dveloppement
des systmes dinformation dcisionnels ont t satisfaites.
Mon affectation des projets utilisant un panel riche en outils largement demands sur le march de
linformatique dcisionnel (Talend, Oracle, Business Objects, etc.) ma permis davoir une exprience
recherche de nos jours.
En plus des comptences techniques acquises et utilises lors de mes interventions sur les deux
projets durant mon stage, la formation sur loutil Business Objects laquelle jai assist ma permis
de dcouvrir un autre environnement important dans le domaine BI. De plus, le contact direct avec le
client ma servi damliorer mon relationnel avec le matre douvrage.
Par ailleurs, le travail collectif dans une quipe pluridisciplinaire suivant une bonne mthodologie de
travail tait une exprience trs intressante qui ma aid largir mes connaissances en gestion de
projet.













Page 33 sur 34

Rfrences
http://www.bipp-consulting.fr
http://fr.wikipedia.org
http://fr.talend.com/index.php
http://www710.univ-lyon1.fr/~elghazel/BI/
http://www.wtdev.fr
http://www.journaldunet.com/solutions/intranet-extranet/business-intelligence/
http://www.lirmm.fr/~libourel/FMIN206/cours11_BDS-OlapSolap.pdf
Liste des acronymes
BI: Business Intelligence
SI: Systme dinformation
SIAD: Systme dInformation dAide la Dcision
ETL: Extract Transform Load
DW: Data Warehouse
ODS: Operational Data Store
OLAP: Online Analytical Processing
ERP: Enterprise Resource Planning
SAP: Systems, Applications, and Products for data Processing
JVM: Java Virtual Machine
TOS: Talend Open Studio
TIS: Talend Integration Suite
ELT: Extract Load Transform
TSD: Taux de Satisfaction de la Demande
SGBD : Systme de Gestion des Base de Donnes.
Glossaire
[1] BI : La Business Intelligence (BI), galement intelligence d'affaires ou informatique
dcisionnelle , englobe les solutions informatiques apportant une aide la dcision avec, en bout de
chane, rapports et tableaux de bord de suivi la fois analytiques et prospectifs. Le but est de
consolider les informations disponibles au sein des bases de donnes de l'entreprise.
7


7
http://www.journaldunet.com/solutions/intranet-extranet/business-intelligence/
Page 34 sur 34

[2] ETL : Extract-Transform-Load est connu sous le terme ETL (ou parfois : datapumping). Il
s'agit d'une technologie informatique intergicielle permettant d'effectuer des synchronisations
massives d'information d'une banque de donnes vers une autre. Selon le contexte, on traduira
par alimentation , extraction , transformation , constitution ou conversion ,
souvent combins.
8


[3] Data Warehouse : Un entrept de donnes (data warehouse) est une collection de donnes
intgres, non volatiles et historises pour la prise de dcisions (Bill Inmon1990)

[4] OLAP : Il sagit dune catgorie de logiciels axs sur lexploration et lanalyse rapide des
donnes selon une approche multidimensionnelle plusieurs niveaux dagrgation (Caron, 1998)
9

Table des figures
FIGURE 1 : PILOTAGE PERFORMANCE - ELABORATION BUDGETAIRE - GESTION DE LA RELATION CLIENT (CRM) - ORGANISATION
PERFORMANCE SI ................................................................................................................................................ 7
FIGURE 2 : ARCHITECTURE DE L'ENVIRONNEMENT DE TRAVAIL ............................................................................................... 9
FIGURE 3 : SCHEMA DUN ETL, ET DE SON FONCTIONNEMENT ............................................................................................ 11
FIGURE 4 BLOC D'ALIMENTATION DE LA TABLE T_MARKET_ZONE ......................................................................................... 16
FIGURE 5: DIAGRAMME D'ACTIVITE ............................................................................................................................... 23
FIGURE 6 : BLOC DE LA GESTION DES REJETS .................................................................................................................... 26
FIGURE 7 : BLOC D'ALIMENTATION DE L'ODS .................................................................................................................. 27
FIGURE 8 : SUPPRESSION DES VOLUMES EXISTANTS ........................................................................................................... 28
FIGURE 9 : ALIMENTATION DES TABLES FINALES ................................................................................................................ 29

Table de tableaux
TABLEAU 1 : CONTROLES DE CHARGEMENT ..................................................................................................................... 24
TABLEAU 2 : LISTE DES VARIABLES DE CONTEXTE ............................................................................................................... 30


8
http://www.dwfacile.com/Portail_etl.htm
9
http://www.lirmm.fr/~libourel/FMIN206/cours11_BDS-OlapSolap.pdf