Académique Documents
Professionnel Documents
Culture Documents
Abdrahmane AW Master II
Abdrahmane AW Master II
Abdrahmane AW Master II
DEPARTEMENT INFORMATIQUE
MEMOIRE DE FIN DE CYCLE
et Podor.
1
Avant- Propos
parti de la ligne des écoles supérieures de formation professionnelle qui ont pour ambition
de former de jeunes cadres africains pour l’excellence dans le domaine des technologies et
Management, l’ESTM est dans une posture de se démarquer de ses concurrents pour
La fin d’une formation est toujours validée par la soutenance d’un mémoire de fin de cycle.
Ainsi, chaque étudiant devient apte à recevoir un diplôme reconnu par le ministère
l’enseignement supérieur(CAMES).
2
Résumé
Un entrepôt de données est une collection de données intégrées et historiées qui sont utilisées
pour la prise de décisions stratégiques au moyen de techniques de traitement analytiques.
Dans ce mémoire, nous nous proposons d’adapter notre savoir-faire au problème de la gestion
de données médicales qui constituent un cadre applicatif particulièrement intéressant. En effet,
le service médical des étudiants du Centre des Œuvres universitaires de Dakar (C.O.U.D) a la
mission d’accompagner tous les étudiants orientés durant leur cursus scolaire.
L’objectif de la construction d’un entrepôt revient à faire d’abord, la mise en place d’une
application web va permettre d’alimenter l’Entrepôt (Base de données), ensuite la création du
datamart, et en fin, on va proposer la conception d’un schéma multidimensionnel qui permet de
répondre aux besoins des utilisateurs.
3
Summary
A data warehouse is a collection of integrated and historiated data which are used for the
strategic decision-making by means of analytical processing techniques.
In this dissertation, we lay emphasis on our know-how to the problem medical management
data which constitute a particularly interesting application frame. Indeed, the medical service
of the students of Centre des Oeuvres Universitaires de Dakar ( C.O.U.D) aims to support all
the students during their school curriculum.
The objective of the construction of a data warehouse means making at first, the implementation
of a Web application which is going to allow to feed the Database, then the creation of the
DataMart, and at the end, we are going to propose the conception of a multidimensional plan
which allows to meet the needs of users.
4
Contents
Introduction .............................................................................................................................. 7
Chapitre 1 Analyse et Conception .......................................................................................... 8
1.1. Le cycle de développement....................................................................................... 8
1.1. Méthodes d’analyses .................................................................................................. 9
1.1.1. MERISE .............................................................................................................. 9
1.1.2. l'UML ................................................................................................................ 10
1.3. Diagrammes de cas d'utilisation ............................................................................. 11
1.3.1. Diagrammes de Séquence Système ..................................................................... 12
1.3.2. Diagrammes de classe ........................................................................................... 18
1.4. Architecture Logicielle ............................................................................................... 19
Chapitre II Les outils et environnements de développements .......................................... 22
2.1. Les systèmes de gestion de base de données ............................................................. 22
2.1.1. Oracle ..................................................................................................................... 22
2.1.2. PostgreSQL ........................................................................................................... 23
2.1.3. SQLite ................................................................................................................... 24
2.1.4. Mysql ..................................................................................................................... 25
2.2. Les FrameWorks MVC: ............................................................................................ 26
2.2.1. Struts ..................................................................................................................... 26
2.2.2. Hibernate .............................................................................................................. 26
2.2.3. JSF .......................................................................................................................... 27
2.3. Les Bibliothèques ........................................................................................................ 27
2.3.1. Richfaces ............................................................................................................... 27
2.3.2. Icefaces ................................................................................................................... 28
2.3.3. Primefaces .............................................................................................................. 29
2.4. Les Serveurs d’applications ....................................................................................... 30
2.4.1. Le serveur Jboss .................................................................................................... 30
2.4.2. Le serveur Glassfish .............................................................................................. 31
2.4.3. Le serveur Jrun ..................................................................................................... 31
2.4.4. Le serveur Tomcat ................................................................................................ 32
Chapitre III Implémentation de l’application ..................................................................... 34
Chapitre IV l’Analyse de données ........................................................................................ 38
4.1. Etat de l’art sur les systèmes décisionnels ................................................................ 39
4.1.1. Processus ETL ...................................................................................................... 39
4.1.2. Définition d'un outil ETL ..................................................................................... 39
5
4.1.3. La phase d’alimentation ....................................................................................... 39
4.2. Différence entre Entrepôts et les bases de données .................................................. 40
4.3. Modélisation multidimensionnelle ............................................................................. 41
4.3.1. Niveaux Conceptuels ............................................................................................. 41
4.3.1.1. Table de faits ...................................................................................................... 42
4.3.1.2. Table de Dimensions .......................................................................................... 42
4.3.1.3. Hiérarchie ........................................................................................................... 43
4.1.3.4. Granularité ......................................................................................................... 43
4.2.1. Niveaux Logiques .................................................................................................. 44
4.2.2. Schéma en étoile ................................................................................................... 44
4.2.3. Le schéma en flocon de neige (Snowflake) .......................................................... 45
4.2.4. Le schéma en constellation ................................................................................... 46
4.3. ServeursOLAP (On-Line Analytical Processing) ..................................................... 47
4.3.1. ROLAP (Relational OLAP) ................................................................................. 48
4.3.2. MOLAP (Multidimensional OLAP) .................................................................... 48
4.3.3. HOLAP (Hybrid OLAP) ...................................................................................... 49
Chapitre V Conception et mise en place de notre entrepôt de données ........................... 51
5.1 Conception ..................................................................................................................... 51
5.2 Etude de quelques solutions décisionnelles ................................................................ 52
5.2.1. Spago BI ................................................................................................................. 52
5.2.2. Pentaho ................................................................................................................... 53
5.2.3. Birt .......................................................................................................................... 53
5.2.4. Talend Master Management (TMDM) .............................................................. 54
5.2.5. Le serveur Mondrian ........................................................................................... 54
5.3 Intégration des données avec Pentaho Data Integration .......................................... 54
5.4. Alimentation du Datamart .......................................................................................... 62
5.5. Protection des données à caractère personnel .......................................................... 69
5.6. Analyse des données .................................................................................................... 70
Conclusion ............................................................................................................................... 76
ANNEXE ................................................................................................................................. 77
Table des Figures et Tableaux ........................................................................................... 77
BIOBLIOGRAPHIE .............................................................................................................. 79
6
Introduction
L'utilisation des systèmes de gestion de base de données (SGBD) relationnel est très
majoritairement répandue pour la gestion des données. Si son usage avait été initialement conçu
pour organiser, stocker et exploiter de manière optimale des données. Il n'avait pas été pensé
pour les grandes quantités de donnée accumulées actuellement.
L'exemple de YouTube en est très révélateur, chaque minute l'équivalent de vingt-quatre heures
de vidéo est ajouté, c'est dans le contexte d'une incapacité à gérer leurs données qu'ils se sont
fait racheté par Google en 2006.
Par ailleurs, l’informatique décisionnelle (en anglais : DSS pour Decision Support System ou
encore BI pour Business Intelligence) désigne les moyens, les outils et les méthodes qui
permettent de collecter, consolider, modéliser et restituer les données, matérielles ou
immatérielles, d'une entreprise en vue d'offrir une aide à la décision et de permettre aux
responsables de la stratégie d’entreprise d’avoir une vue d’ensemble de l’activité traitée.
L’objectif ainsi que le contenu de ce mémoire vise à résoudre les problèmes liés à
l’implémentation du Data Warehouse pour le service radiologie qui servira à alimenter
l’entrepôt de données, expliquer et montrer les apports fonctionnels et techniques de
l’informatique décisionnelle, plus communément connue sous le nom de business intelligence,
aux analystes pour une meilleure visibilité des informations et une qualité de service accrue.
La construction d’un entrepôt revient à faire d’abord, la mise en place d’une application web
va permettre d’alimenter l’Entrepôt (Base de données), ensuite la création du datamart, et enfin,
on va proposer la conception d’un schéma multidimensionnel qui permet de répondre aux
besoins des utilisateurs.
7
Chapitre 1 Analyse et Conception
En effet, la difficulté liée aux données (qualité, homogénéité, disponibilité, etc.) et le lien entre
systèmes d’aide à la décision et systèmes opérationnels constituent une problématique majeure
pour la mise en place de l’entrepôt de données.
De plus, l’enregistrement manuel des informations sur des supports en papier engendrait
beaucoup de problèmes tels que la perte de temps ou la dégradation de ces dernières justifie la
création de l’application web au sein du service.
La conduite d’un projet informatique, tel que le développement d’un système d’informations,
fait appel à des méthodes formalisées dont les principales sont : Les méthodes séquentielles
dites en cascade et les méthodes itératives (évolutive, objet).
Depuis des décennies, les projets sont gérés avec une approche classique, le plus fréquemment
« en cascade » ou son adaptation « en V », basée sur des activités séquentielles : on recueille
les besoins, on définit le produit, puis on le développe, ensuite on le test avant de le livrer au
client.
Vu que les besoins évoluent en permanence pour répondre aux changements du marché, ces
approches prédictives se sont révélées trop « rigides »parfois, sont alors apparues, dans les
années 1990, des méthodes moins prédictives ; ce sont les méthodes dites « agiles».
Après une étude exploratoire des méthodes de conduite de projet et pour répondre aux objectifs
fixés en début, le cycle de développement en « V » s’est révélé le plus approprié pour ce travail.
8
Les phases de la partie montantes doivent renvoyer de l’information sur les phases en vis –à-
vis lorsque des défauts apparaissent afin d’améliorer le logiciel.
1.1.1. MERISE
MERISE le plus connu d'entre eux étant Merise (créé en 1978, sous l'impulsion du ministère de
l'industrie, par un groupement de 6 sociétés de services et un centre de recherche informatique)
qui propose une méthode de conception et de développement de Systèmes d'Information
complète, détaillée, en grande partie formalisée, qui garantit (en principe) une informatisation
réussie.
9
Cycle de vie : phases de conception, de réalisation, de maintenance puis nouveau cycle
de projet.
Cycle de décision : des grands choix (GO-NO GO : Étude préalable), la définition du
projet (étude détaillée) jusqu'aux petites décisions des détails de la réalisation et de la
mise en œuvre du système d'information. Chaque étape est documentée et marquée par
une prise de décision.
Cycle d'abstraction : niveaux conceptuels, d’organisation, logique et
physique/opérationnel (du plus abstrait au plus concret) L'objectif du cycle
d'abstraction est de prendre d'abord les grandes décisions métier, pour les principales
activités (Conceptuel) sans rentrer dans le détail de questions d'ordre, d’organisation ou
technique.
1.1.2. l'UML
10
composants : rassemblements de classes ou de composants tels que vus par l’équipe de
développement pour décomposer le système en parties de logiciel gérables (du point de
vue développement en gestion de projet) ;
paquetages : rassemblement d’éléments de modélisation par exemple pour les distribuer
entre membres de l’équipe de développement.
déploiement : unités d’installation, de configuration et de déploiement du produit fini
sur un parc de machines.
Un diagramme de cas d'utilisation est un diagramme UML qui fournit une représentation
graphique des exigences de votre système, et aide à identifier la façon dont les utilisateurs
interagissent avec ce dernier.
Un diagramme de cas d'utilisation est particulièrement approprié pour décrire toutes les tâches
pouvant être réalisées à l'aide d'un système de base de données par toutes les personnes
susceptibles de l'utiliser.
11
GSMC
Enrigistrer un
resultat Supprimer un resultat
<<include>>
Authentification
<<include>>
gérer etudiant
Secrétaire
supprimer etudiant
ajouter
etudiant Modifier
etudiant afficher liste etudiant
Un cas d'utilisation est une interaction entre un utilisateur et un système (ou une partie
d'un système). Il définit un but particulier que l'utilisateur souhaite atteindre dans le
système, sans révéler la structure interne du système.
Un acteur personnifie un utilisateur ou un groupe d'utilisateurs extérieur qui interagit
avec le système. Les acteurs peuvent être des humains ou d'autres systèmes externes.
Par exemple, les acteurs d'un réseau informatique peuvent inclure l'administrateur
système, un administrateur de base de données et des utilisateurs. Les acteurs sont les
entités dont le comportement ne peut pas être contrôlé ou modifié car ils ne font pas
partie du système que vous décrivez.
Une association est une relation unidirectionnelle qui décrit un lien entre des objets.
12
Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs
et le système selon un ordre chronologique dans la formulation Unified Modeling Language.
Le diagramme de séquences permet de cacher les interactions d'objets dans le cadre d'un
scénario d'un Diagramme des cas d'utilisation. Dans un souci de simplification, on représente
l'acteur principal à gauche du diagramme, et les acteurs secondaires éventuels à droite du
système. Le but étant de décrire comment se déroulent les actions entre les acteurs ou objets.
DiagrammeSequence Authentification
Demande d'authentification()
[echec]
Demande d'autentification()
13
DiagrammeSequence_1
ref
DiagrammeSequence Authentification()
présentation du formulaire()
valider ()
verifier la validiter()
[echec]
afficher formulaire d'enrigistrement()
14
Di agrammeSequence Li ste etudi ant
ref
ref
DiagrammeSequence Authentification()
verification identification()
alt [OK]
Réafichage de la liste des etudiants()
15
DiagrammeSequence Modifier etudiant
ref
DiagrammeSequence Authentification()
verification identification()
alt [OK]
Affichage formulaire de modification()
[echec]
Réafiicher formulaire de modification()
16
Di agrammeSequence aj outer resul tat
ref
al t [OK]
affiche enrigstrement reussi()
[echec]
affiche eche de l'enrigistrement()
ref
17
Di agrammeSequence modi fi er resul tat
ref
Di agrammeSequence Authenti fi cati on()
verification identification()
al t [OK]
Affichage formulaire de modification()
[echec]
Réafiicher formulaire de modification()
Un diagramme de classe est un diagramme UML qui fournit une représentation graphique des
classes, interfaces, et packages qui composent un système, ainsi que des relations entre eux.
18
etudi ant
- i d_etudi ant : Stri ng
- nom : Stri ng
- prenom : Stri ng
1..*
- date_nai sse : Date
Uti l i sateur - sexe : Stri ng
- i d_user : i nt - facul te : Stri ng
- nom : Stri ng 1..1 Enri gi strer
- prenom : Stri ng
- l ogi n : Stri ng
1..1
- password : Stri ng
fai re obj et
1..*
resul tat
- i d_consul tati on : i nt
- date_consul tati on : Date
- type_de radi o : Stri ng
Il existe différentes manières de structurer le code des applications interactives (celles qui
comportent une interface utilisateur).
Une des architectures, communément utilisée, et qui comporte de nombreuses variantes, est
connue sous l'acronyme MVC qui signifie Model - View - Controller.
Le principe de base de l'architecture MVC est relativement simple, on divise le code du système
interactif en trois parties distinctes :
Le ou les modèles (Models) qui se chargent de la gestion des données (accès,
transformations, calculs, etc.). Le modèle enregistre (directement ou indirectement)
l'état du système et le tient à jour.
Les vues (Views) qui comprennent tout ce qui touche à l'interface utilisateur
(composants, fenêtres, boîtes de dialogue) et qui a pour tâche de présenter les
informations (visualisation). Les vues participent aussi à la détection de certaines
actions de l'utilisateur (clic sur un bouton, déplacement d'un curseur, geste swipe, saisie
d'un texte, …).
19
Les contrôleurs (Controllers) qui sont chargés de réagir aux actions de l'utilisateur
(clavier, souris, gestes) et à d'autres événements internes (activités en tâches de fond,
timer) ou externes (réseau, serveur).
La couche Vue est la couche en contact avec l'utilisateur de l'application web. Celui-ci interagit
avec l'application web a travers de pages web visualisées par un navigateur. C'est dans cette
couche que se situe JSF et uniquement dans cette couche.
JDBC : cette couche gère la connexion avec la (ou les) base(s) de données. Ici on utilisera la
notion de pool de connexion. Un pool de connexion est un ensemble de connexions avec la base
de données déjà instanciées. Cela permet aux requêtes de s’exécuter plus rapidement. On peut
venir connecter plusieurs couches JPA sur la couche JDBC si nécessaire.
JPA : la couche JPA (Java Persistence Annotation) est une couche d’abstraction de la couche
20
des liens entre les tables,…). Généralement la couche JPA contient une classe (entité) par table,
des contrôleurs (fonctions de base implémentées) et des gestionnaires d’exceptions.
DAO : Cette couche représente l’intelligence de l’application. Elle est composée d’un ensemble
d’interfaces locales (local) et distantes (remote). Les DAO (Data Access Object) permettent
d’accéder aux objets et proposent des méthodes de CRUD (Create, Read, Update, Delete).
21
Chapitre II Les outils et environnements de développements
Dans le monde aujourd'hui il existe plusieurs logiciels de gestion de base de données (Oracle,
PostgreSQL, MySQL,) utilisés autant par le grand public (applications web principalement)
que par des professionnels.
2.1.1. Oracle
Oracle est un système de gestion de base de données relationnel (SGBDR) qui depuis
l'introduction du support du modèle objet dans sa version 8 peut être aussi qualifié de système
de gestion de base de données relationnel-objet (SGBDRO). Oracle est écrit en langage C.
La base de données Oracle 11g Standard Edition One propose un outil simple et puissant de
développement d’applications Web permettant de consolider les données provenant de bases
de données Access et de feuilles de calcul Excel en offrant aux utilisateurs la possibilité de
consulter et de mettre à jour les données partagées à partir d'un navigateur Web.
Au fil des versions successives d'Oracle Database, Oracle continue à aider ses clients à
normaliser, consolider et automatiser les services de base de données sur le cloud.
Oracle Database 12c Enterprise Edition propose des fonctionnalités complètes pour la gestion
des traitements de transactions les plus exigeants, des Big Data et des charges de travail
d’entreposage de données tout en supportant :
22
Prix élevé, tant au point de vue des licences que des composants matériels (RAM, CPU)
à fournir pour de bonnes performances
Administration complexe... liée à la richesse fonctionnelle
Fort demandeur de ressources, ce qui n'arrange à rien au point précité, Oracle est bien
plus gourmand en ressource mémoire que ses concurrents, ce qui implique un
investissement matériel non négligeable.
2.1.2. PostgreSQL
23
Il n’existe pas de services Web
Il n’existe pas d'ordonnanceur intégré
Il n’existe pas de fonctions d'agrégat OLAP
Il n’existe pas de requêtes récursives
2.1.3. SQLite
Avec sa dernière Version actuelle : 3.18, SQLite est un moteur de base de données SQL
autonome, à haute fiabilité.
Avantages
OpenSource et gratuit
Le plus petit moteur SGBDR du marché (en faite, une simple librairie C)
Porté sur C# (sous le nom de SQLite-C#)
Simple d'utilisation et d'administration
Aisément installable
Recommandé pour micro-base couplée à un programme C
Inconvénients
Fonctionnalités mimimales
Pas d'intégrité référentielle
DDL très limité (à part ajouter une colonne, mutations quasi impossibles)
Ne supporte pas les jointures externes
Pas d'ordonnanceur intégré
Volumétrie (une base = un fichier)
Pas de vue matérialisée
Pas de partitionnement
Pas de notion de rôles, pas de hiérarchisation de groupes, gestion de la sécurité
minimalist
24
2.1.4. Mysql
MySQL est désigné comme le candidat pour remplir le rôle de gestionnaire de base de données
parce que son architecture logicielle le rend extrêmement rapide et facile à personnaliser.
Les principaux avantages de MySQL sont sa rapidité, sa robustesse et sa facilité d'utilisation et
d'administration. Un autre avantage majeur de MySQL est sa documentation très complète et
bien construite. Et pour terminer, c’est un logiciel gratuit.
Avec quatre millions de bases déployées, MySQL est le premier SGBD open source dans le
monde. Son succès tient en deux mots : simplicité et performances.
MySQL exploite aussi une cache de requêtes SQL qui améliore les performances pour les
lectures récurrentes. La montée en charge est assurée par un mécanisme de réplication maître
esclave.
Simplicité et rapidité : MySQL est connu dans le monde des logiciels open source comme
étant le plus rapide de sa catégorie. A l'origine MySQL était destiné aux applications web et
conçu pour tourner sur des serveurs web. Les critères essentiels de ces applications sont la
rapidité et la performance du serveur de bases de données.
Le serveur de bases de données MySQL : le serveur de bases de données MySQL est très
rapide, fiable et facile à utiliser. Il dispose aussi de fonctionnalités pratiques, développées en
coopération avec les utilisateurs.
Fonctionnalités générales : MySQL fonctionne sur de nombreuses plate-formes.
Dispose d'API pour C, C++, Eiffel, Java, Perl, PHP, Python et Ruby
Complètement multi-threadé, grâce aux threads du noyau. Cela signifie qu'on peut
l'utiliser facilement sur un serveur avec plusieurs processeurs.
Système l'allocation mémoire très rapide, exploitant les threads
Tables en mémoire, pour réaliser des tables temporaires
Les fonctions SQL sont implémentées grâce à une librairie de classes optimisées, qui
sont aussi rapides que possible.
25
2.2. Les FrameWorks MVC:
Un Framework est un espace de travail modulaire. C'est un ensemble de bibliothèques et de
conventions permettant le développement rapide d'applications. Il fournit suffisamment de
briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application
aboutie et facile à maintenir.
2.2.1. Struts
Créer par C. Mc Clanahan puis devenu le projet Jakartad'Apache en 2000 Basé sur le modèle
MVC2 qui contient un contrôleur principal redirigeant les requêtes vers des contrôleurs
secondaires.
Le cœur du framework Struts est une couche contrôleur basée sur les technologies les
plus acceptées Servlet/JSP, JavaBeans, ResourceBundles, XML. Struts fournit son
propre composant contrôleur
Struts intègre d'autres technologies pour offrir le Modèle et la Vue.
Pour le Modèle, Struts peut interagir avec toutes les techniques d'accès aux données
comme JDBC, EJB (Entreprise JavaBeans), Hibernate…
Pour la Vue, Struts n'est pas limité aux JSP, il peut fonctionner aussi avec les
Velocity Templates, le XSLT et d'autres systèmes de présentation.
2.2.2. Hibernate
C’est un logiciel, écrit en java, qui permet de faire le mapping entre Objets Java et Objets
stockés en base relationnelle en assurant la persistance. Il S’occupe du transfert des classes Java
dans les tables de la base de données et des types de données dans les types de données SQL
tout en réduisant le temps de développement de l'application en éliminant une grande partie du
code SQL à écrire pour interagir avec la base de données et en encapsulant le code SQL résiduel.
Les développeurs manipulent les classes dont les données doivent être persistantes comme des
classes Java normales.
Seule une initialisation correcte d‘Hibernate doit être effectuée, et quelques règles respectées
lors de l'écriture et de la manipulation des classes persistantes.
26
2.2.3. JSF
Framework MVC qui reprend le modèle des interfaces utilisateurs locales (comme Swing)
Le modèle est représenté par des classes Java, les Java beans, sur le serveur
Les vues sont représentées par des composants Java sur le serveur, transformées en
pages HTML sur le client
Le contrôleur est un servlet qui intercepte les requêtes HTTP liées aux applications JSF
et qui organise les traitements JSF (implicite)
Les services rendus par JSF sont :
Architecture MVC pour séparer l’interface utilisateur, la couche de persistance et les
processus métier, utilisant la notion d’événement
Conversion des données (tout est texte dans l’interface utilisateur)
Validation des données (par exemple, des champs de formulaires requis)
Automatisation de l’affichage des messages d’erreur en cas de problèmes de conversion
ou de validation
Internationalisation
Support d’Ajax sans programmation (communication en arrière-plan et mise à jour
partielle de l’interface utilisateur)
Fournit des composants standards simples pour l’interface utilisateur
Possible d’ajouter ses propres composants
Adaptable à d’autres langages de balise que HTML (WML par exemple pour les
téléphones portables).
A la lumière de ces Frameworks JSF sera privilégié dans ce mémoire
2.3.1. Richfaces
Sur les compléments les plus intéressants fournis par Richfaces est Ajax Push,
nommé RichFaces Push. Cela vous permet d'effectuer des mises à jour côté client en temps réel
27
déclenchées via des événements du côté serveur. Sur le serveur, les événements sont gérés en
intégrant Java Messaging Service (JMS). Cela fournit une intégration de messagerie à niveau
d'entreprise jusqu'au navigateur! Un autre excellent ajout fourni par RF est un mécanisme de
mise en file d'attente avancé JSF 2 fournit un mécanisme de mise en file d'attente hors de la
boîte afin de séquencer les événements côté client avec l'implémentation Ajax intégrée
Malgré ces avantages de RichFaces et IceFaces utilisent tous JIRA pour suivre leurs problèmes
afin qu'ils soient sensiblement comparables. Bien que la quantité d'enjeux ouverts soit un peu
plus grande dans Richfaces, si nous les pondons par priorité, environ 93% des problèmes
Icefaces sont qualifiés de «majeur», tandis que Richfaces affiche «juste» 64% des problèmes
majeurs.
2.3.2. Icefaces
Dans les coulisses, ICEfaces emploie une technique appelée « Direct-2-DOM » rendu, ou D2D
pour faire court, pour obtenir des mises à jour incrémentielles douces de page au
navigateur. ICEfaces stocke une copie du DOM, qui représente l'état de présentation du
navigateur dans une arborescence, sur le serveur. Lorsque l'utilisateur interagit avec la page, un
appel Ajax peut être effectué sur le serveur, ce qui entraîne une modification de l'état de
l'application, ce qui entraînera à son tour la restitution de la page sur le serveur. Une fois que la
page est retournée sur le serveur, et avant que la réponse ne soit renvoyée au navigateur,
Icefaces diffère les anciens et nouveaux arbres DOM pour créer une mise à jour DOM, qui
comprend les modifications essentielles à la page qui doivent être renvoyées Au navigateur.
Enfin, Icefaces dispose également d'une fonction Ajax Push intégrée (appelée ICEpush ) qui
ajoute la possibilité d'envoyer des mises à jour ajax à des groupes de clients en fonction
d'un événement serveur, sans que les clients n'aient à demander la mise à jour.
28
2.3.3. Primefaces
Primefaces dispose d'un riche ensemble de 117 composants (composants de base plus
variantes http://www.primefaces.org/showcase/ui/home.jsf qui incluent, en plus de l'ensemble
standard de composants aussi de nombreux goodies comme HtmlEditors, Charts, Date et un
exportateur de données Excel à côté des autres.
Cette suite utilise en coulisse, jQuery avec ses widgets étonnants, plugins, thèmes et
interactions Ajax. Il est évité à propos d'autres frameworks JS / UI afin d'avoir une compatibilité
élevée entre les composants. Primefaces est plus facile à peau car il est basé sur themeroller. Il
a également plus de thèmes intégrés (environ 25) que celui qui est disponible dans Richfaces et
IceFaces.
Primefaces contient une page de démarrage. Tout ce que vous avez à faire est de naviguer sur
le téléchargement de PrimeFaces, d'ajouter le primefaces- {version} .jar à votre classpath et
d'importer l'espace de noms pour commencer. (Certaines dépendances sont nécessaires pour
traiter Excel / pdf et Fileupload).
Bien que l’atout majeur de PrimeFaces soit le jeu de composants, il comporte également divers
modules complémentaires simplifiant le développement Web et en particulier JSF. Depuis
Primefaces a dans son jQuery ADN, la plupart de ces ajouts sont basés comme des méthodes
de rappel JavaScript.
Les problèmes de primefaces sont suivis avec le code google et ils ont sensiblement moins
d’impacts que les deux autres concurrents (environ 128 questions ouvertes), bien que, ayant un
lifecyle différent et le nombre de communiqués, il est difficile de les comparer d'une manière
efficace.
29
Figure 13: Evolution des frameworks en vogue
Un serveur http, c’est un serveur qui gère exclusivement des requêtes HTTP. Il a pour rôle
d’intercepter les requêtes Http, sur un port qui est par défaut 80, pour les traiter et générer
ensuite des réponses Http. Tous les serveurs web embarquent un daemon Http (httpd) ou
équivalent qui s’occupe de cette fonctionnalité. Ainsi l’extension d’un serveur web va
permettre d’avoir la possibilité d’exécuter des programmes écrits avec des langages de
programmation (java, php, C# ou autres).
Jboss est un serveur d'application J2EE développé à partir de 1999 par un français Marc
FLEURY. Ce serveur est écrit en Java et distirbué sous licence LGPL. IL fournit un certains
nombres de modules :
JBossServer qui comporte une infrastructure constituée des conteneurs EJB, ainsi que
du Java Management Extension (JMX).
JBossMQ pour la gestion des messages JMS (Java Messaging service).
30
JBossTX pour la gestion des transactions avec les API JTA(Java Transaction API ) et
JTS(Java Transaction Service).
JBossCMP pour la persistance CMP.
JBossSX pour la sécurité basée sur JAAS (Java Authentication and Authorization
Service).
JBossCX pour la gestion des connecteurs avec JCA (J2EE Connector Architecture).
Tomcat ou Jetty pour le support des servlets et des pages JSP.
Jboss permet grâce au JMX de chargé les différents modules, conteneurs ou plugin en
fonction des besoins. Bien entendu, Jboss permet d'implémenter ses propres services.
GlassFish est un serveur d’applications Java EE dont le développement a été initié et est
aujourd’hui encore dirigé par SUN. Il faut tout d’abord noter que GlassFish est bel et bien un
serveur d’application Java EE complet. Il surpasse donc les capacités de Tomcat par exemple
qui ne propose qu’un conteneur de JSP /servlet sans le support des EJB entre autres. GlassFish
joue donc directement dans la cour des Websphere et autres mais surtout dans celle
de JBoss avec lequel il partage son ouverture de code. Une des plus spectaculaire est sans doute
son temps de démarrage qui est de l’ordre des 3 secondes alors qu’il avoisine les 30 secondes
pour JBoss voir beaucoup plus pour certains de ses concurrents.
JRun est un serveur d’application de Macromedia, basé sur Microsystem Java 2 Platform,
Entreprise Edition (J2EE). Macromedia a été récemment racheté par Adobe.
JRun consiste en Java Server Page (JSP), Servlets Java, Enterprise JavaBeans (EJB), de Java
Transaction Service (JST), et de Java Message Service (JMS).
JRun fonctionne avec la plupart des serveurs Web, comme Apache, IIS, et de manière générale,
tout webserver supportant Internet Server Application Program Interface (ISAPI) ou les
Common Gateway Interface (CGI).
31
Il existe 4 versions de JRUN : Développeur, Professionnelle, Avancée et Entreprise.Donnant
chacune des prestations différentes.
Apache Tomcat est un conteneur libre de Servlet JavaEE. Issu du projet Jakarta,Tomcat est
désormais un projet principal de la fondation Apache. Tomcat implémente les spécifications
des Servlets et des JSP de Sun Microsystems. Il inclut des outils pour la configuration et la
gestion, mais peut également être configuré en éditant des fichiers de configuration XML.
Comme Tomcat inclut un serveur HTTP interne, il est aussi considéré comme un serveur
HTTP (web).
Tomcat peut être utilisé en autonomie avec son propre serveur web, ou en collaboration avec
d’autres comme.
Catalina est le container Servlets, et implémente les spécifications de Sun pour les
Servlets et les JSP;
Coyote est le connecteur HTTP: il écoute le trafic entrant, dirige les requêtes au
moteur de Tomcat, processe la requête et renvoie la réponse au client
Jasper est le moteur JSP. Il parse les fichiers JSP pour les compiler en tant que
Servlets (gérable par Catalina).
Il est capable de détecter les modifications des fichiers et de les recompiler à la volée.
Avantages de Tomcat :
32
Tomcat est simple, beaucoup plus que les serveurs d’application Open Source «
complets »
Il est donc plus simple d’administrer une instance Tomcat qu’un serveur
d’applications complet.
Il n’occupe que 2 ports sur la machine (8080 et 8009), alors que les autres en prennent
une dizaine.
Le choix du serveur d’application sera apache tomcat du fait de sa simple utilisation et des
nombres d’utilisateurs.
33
Chapitre III Implémentation de l’application
34
Figure 16: Page d’ajout d’un nouvel étudiant
35
Figure 18: Page de modification d’informations
36
Figure 19: Page de suppression d’informations
37
Chapitre IV l’Analyse de données
Les entrepôts de données ont été conçus pour l’aide à la décision. Ils intègrent les informations
en provenance des différents systèmes transactionnels de l’entreprise. L’ensemble des données,
y compris leur historique, est utilisé pour faire des calculs prévisionnels, des statistiques ou
pour établir des stratégies de développement et d’analyses des tendances.
Dans ce mémoire, nous nous proposons d’adapter notre savoir-faire au problème de la gestion
de données médicales qui constituent un cadre applicatif particulièrement intéressant. En effet,
ces données se trouvent reparties dans une source qu’il faudra, dans un premier temps, fédérer
pour constituer un entrepôt de données pertinentes pour l’application visée. Cette étape est
importante car elle doit non seulement identifier la source, mais aussi déterminer comment
extraire de celle-ci les données désirées. En plus, nous devons établir un mécanisme pour la
gestion de l’évolution. Dans ce cas, il faudra déterminer l’adaptation au niveau : de l’application
d’extraction, des agrégats.
38
4.1. Etat de l’art sur les systèmes décisionnels
Les entrepôts de données sont apparus vers les années 1990 en réponse à la nécessité de
rassembler toutes les informations de l’entreprise en une base de données unique destinée aux
analystes et aux gestionnaires.
Notons que la plupart des ETL disposent d'une interface graphique permettant l'élaboration des
différents scénarios d'intégration.
Le travail des développeurs en est ainsi grandement facilité, tant au niveau de la conception
que de la maintenance des traitements de données.
L’entrepôt de données est composé de différentes tables qu’il va falloir remplir avec des
données provenant souvent de sources diverses et hétérogènes.
39
Pour alimenter l’entrepôt de données, on utilise un ETL. Cet outil peut être conçu
manuellement. Il peut aussi s’agir de logiciels propriétaires ou open source (code source ouvert
et sans licence) conçus spécialement à cet effet.
Il extrait les données à partir de leur source, procède aux transformations nécessaires et effectue
le chargement de celles-ci dans l’entrepôt de données. Ainsi il permet de manière cohérente
d’agréger, de classifier, de normaliser, de qualifier, de nettoyer et de consolider les données
extraites.
Dans l’environnement des entrepôts de données, les opérations, l’organisation des données, les
critères de performance, la gestion des métadonnées, la gestion des transactions et le processus
de requetés sont très différents des systèmes de bases de données opérationnels. Par conséquent,
les SGBD relationnels orientés vers l’environnement opérationnel, ne peuvent pas être
directement transplantés dans un système d’entrepôt de données.
Les SGBD ont été créés pour les applications de gestion de systèmes transactionnels.
Par contre, les entrepôts de données ont été conçus pour l’aide à la prise de décision. Ils intègrent
les informations qui ont pour objectif de fournir une vue globale de l’information aux analystes
et aux décideurs.
40
Tableau 1: différences entre entrepôts et les bases de données
Un Data Warehouse (DW) est basé sur une modélisation multidimensionnelle qui représente
les données dans un cube.
41
4.3.1.1. Table de faits
Une table de faits représente l’objet de l’analyse. Elle contient principalement des mesures
sous forme d’attributs représentant les éléments d’analyse. Les faits les plus utilisables sont les
numériques, les valeurs continues et additives. Une mesure est un élément de donnée sur lequel
porte les analyses, en fonction des différentes dimensions. Ces valeurs sont le résultat
d’opérations d’agrégation sur les données.
Les mesures peuvent être par exemple, nombres de personnes atteintes, nombres de villes
touchées qui sont résumées ou représentées par une moyenne. Ces mesures sont reliées
chacune à une table de dimension avec des clés étrangères.
La granularité des tables de faits est une caractéristique importante expliquée par le niveau de
détail des mesures représentées.
NB : La table de fait contient les valeurs des mesures et les clés vers les tables de dimensions.
Une table de dimension est un objet qui inclut un ensemble d’attributs permettant à l’utilisateur
d’avoir des mesures suivant différentes perspectives d’analyse. Les attributs sont des
indicateurs pour les différentes vues d’analyses possibles. Par exemple, les ventes de produits
médicaux peuvent être analysées suivant différentes régions d’un pays, suivant des catégories
de produits ou suivant la combinaison de plusieurs de ces dimensions. Ces dimensions sont
connectées à la table de faits par des clés étrangères. Les attributs (tels que ville, pays) d’une
table de dimension sont appelés des attributs de dimensions. Les attributs d’une dimension
peuvent former entre eux une hiérarchie (ville/région/pays) permettant à l’utilisateur de voir les
données détaillées ou résumées suivant l’attribut en question. Une dimension peut avoir aussi
des attributs descriptifs qui ne sont pas utilisés pour l’analyse tels que le numéro de téléphone,
le nom d’un client, l’adresse d’un client. Les attributs descriptifs sont orthogonaux aux attributs
dimensions et ils les complètent.
42
4.3.1.3. Hiérarchie
Il est important d’avoir des hiérarchies bien définies dans un SID. L’importance provient du
fait que la prise de décision commence par des vues générales puis les informations se détaillent
de plus en plus. En plus, si des outils OLAP sont utilisés pour l’analyse des données, il est ainsi
possible de réaliser des agrégations automatiques des données en s’appuyant sur les hiérarchies
définies.
Exemple
4.1.3.4. Granularité
La granularité est le niveau de détail des données dans un entrepôt de données. La granularité
détermine le volume des données ainsi que le type des requêtes que l’utilisateur peut poser.
Pour arriver à construire un modèle approprie pour un entrepôt de données, nous pouvons
choisir, soit un schéma multidimensionnel (cube), soit un schéma relationnel (le schéma en
étoile, en flocon de neige ou en constellation).
43
Figure 23: Représentation de la granularité de temps de lieu et produit
Dans les schémas relationnels ou Niveaux Logiques nous trouvons deux types de schémas. Les
premiers sont des schémas qui répondent fort bien aux processus de type OLTP qui ont été
décrits précédemment, alors que les deuxièmes, que nous appelons des schémas pour le
décisionnel, ont pour but de proposer des schémas adaptés pour des applications de type OLAP.
Nous décrivons les déférents types des schémas relationnels pour le décisionnel.
Il se compose du fait central et de leurs dimensions. Dans ce schéma il existe une relation pour
les faits et plusieurs pour les déférentes dimensions autour de la relation centrale. La relation
de faits contient les déférentes mesures et une clé étrangère pour faire référence à chacune de
leurs dimensions.
Avantage:
Facilité de navigation
Nombre de jointures limité
Inconvénients :
44
Figure 24: Modélisation en étoile
Il dérive du schéma précédent avec une relation centrale et autour d’elle les déférentes
dimensions, qui sont éclatées ou décomposées en sous hiérarchies. L’avantage du schéma en
flocon de neige est de formaliser une hiérarchie au sein d’une dimension, ce qui peut faciliter
l’analyse. Un autre avantage est représenté par la normalisation des dimensions, car nous
réduisons leur taille. Cependant, ce type de schéma augmente le nombre de jointures à réaliser
dans l’exécution d’une requête réduisant ainsi la navigation.
45
Figure 25: Modélisation en flocon
Le schéma en constellation représente plusieurs relations de faits qui partagent des dimensions
communes. Ces différentes relations de faits composent une famille qui partage les dimensions
mais où chaque relation de faits a ses propres dimensions.
46
Figure 26: Modélisation en constellation
Fast : Le temps de réponse aux demandes des utilisateurs oscille entre 1 et 20 secondes. Les
constructeurs utilisent des pré-calculs pour réduire les durées des requêtes.
47
Analysis : Le système doit pouvoir faire face à toutes les logiques d’affaires et de statistiques,
ainsi que fournir la possibilité aux utilisateurs de construire leurs calculs et leurs analyses sans
avoir à programmer. Pour cela, il y a des outils qui seront fournis par le constructeur.
Shared : Le système doit créer un contexte où la confidentialité est préservée et doit gérer les
cas où plusieurs utilisateurs ont des droits en écritures. Ce point constitue la plus grosse
faiblesse des produits actuels.
Multidimensional : C’est la caractéristique clé. Le système doit fournir des vues conceptuelles
multidimensionnelles des données. Il doit supporter aussi les hiérarchies.
Informations : L’ensemble des données et les informations nécessaires pour un produit OLAP.
Nous exposons dans la suite les divers types de stockage des informations dans les systèmes
décisionnels.
Dans les systèmes relationnels OLAP, l’entrepôt de données utilise une base de données
relationnelle. Le moteur ROLAP traduit dynamiquement le modèle logique de données
multidimensionnel M en modèle de stockage relationnel R (la plupart des outils requièrent que
la donnée soit structurée en utilisant un schéma en étoile ou un schéma en flocon de neige).
Le désavantage est que le langage de requêtes tel qu’il existe, n’est pas assez puisant ou n’est
pas assez flexible pour supporter de vraies capacités d’OLAP.
48
conformes au modèle multidimensionnel dans toutes les dimensions, les différentes
agrégations sont pré-calculées pour des raisons de performance.
Les avantages des systèmes MOLAP sont basés sur les désavantages des systèmes ROLAP et
elles représentent la raison de leur création. D’un côté, les requêtes MOLAP sont très puissantes
et flexible en termes du processus OLAP, tandis que, d’un autre côté, le modèle physique
correspond plus étroitement au modèle multidimensionnel.
Néanmoins, il existe des désavantages au modèle physique MOLAP. Le plus important, à notre
avis, c’est qu’il n’existe pas de standard du modèle physique.
Un système HOLAP est un système qui supporte et intègre un stockage des données
multidimensionnel et relationnel d’une manière équivalente pour profiter des caractéristiques
de correspondance et des techniques d’optimisation.
Ci-dessous, nous traitons une liste des caractéristiques principales qu’un systèmeHOLAP doit
fournir :
La transparence du système : Pour la localisation et l’accès aux données, sans connaître si elles
sont stockées dans un SGBD relationnel ou dimensionnel. Pour la transparence de la
fragmentation,...
Pour aboutir à la transparence du premier point, tant le modèle de données général que le
langage de requête uniforme doivent être fournis. Etant donné qu’il n’existe pas un modèle
standard, cette condition est difficile à réaliser.
Le système HOLAP doit bénéficier des stratégies d’allocation qui existent dans les systèmes
distribués tels que : le profil de requêtes, le temps d’accès, l’équilibrage de chargement,...
49
Toutes les caractéristiques traitées ci-dessus changent dans le temps. Ces changements peuvent
provoquer la réorganisation de la distribution des données dans le système de stockage
multidimensionnel et relationnel, pour assurer des performances optimales.
Cette approche permet de manipuler des informations de l’entrepôt de données avec un moteur
ROLAP, tandis que pour la gestion des datamarts, ils utilisent l’approche multidimensionnelle.
50
Chapitre V Conception et mise en place de notre entrepôt de données
5.1 Conception
Il s’agira des clés primaires de chaque table de dimension et des mesures (nombre de
consultation qui sera analysé en fonction de chaque dimension).
51
5.2 Etude de quelques solutions décisionnelles
Avant de s’orienter vers la création de solutions décisionnelles complètes, les projets open
source se concentraient chacun sur un point bien précis du décisionnel.
Ainsi, les projets BIRT ou Jasper Reports permettent de composer et générer des rapports, et
les projets Mondrian et JPivot permettent de présenter des données sous forme
multidimensionnelle. Ces projets étaient et sont encore destinés à être intégrés en tant que «
composants » dans des développements spécifiques. Certaines plateformes décisionnelles open
source se basent sur ces composants déjà bien rodés et les intègrent de façon à constituer une
solution homogène, dans laquelle toutes les fonctionnalités sont disponibles dans un cadre
unique et rendues interopérables.
Dans cette partie, nous allons présenter les principaux composants décisionnels disponibles en
open source, que l’on peut regrouper dans les catégories suivantes :
5.2.1. Spago BI
52
capacité d’intégration, ce qui permet de travailler indépendamment par briques séparées et une
meilleure répartition du travail. Son inconvénient principal est que c’est une solution jeune dans
un secteur en pleine évolution, il faut donc se tenir régulièrement au courant quant à l’ajout de
nouveaux composants et de fonctionnalités.
5.2.2. Pentaho
Pentaho est un projet ambitieux visant à créer une plateforme décisionnelle complète. Son but
n’est pas de proposer une alternative open source en matière de décisionnel, mais bien
concurrencer les leaders du marché BI. Pentaho se fonde sur des briques logiciels open sources
confirmées pour monter une plateforme robuste. Le projet Pentaho est dirigé par André
Boisvert, un des meilleurs visionnaires du monde décisionnel, qui a dirigé les principales
entreprises de ce secteur depuis 25 ans. A ses côtés, James Dixon, ancien pilier de Hyperion, et
plusieurs autres « pointures » du décisionnel. Elle seule, cette équipe crédibilise le projet
Pentaho.
5.2.3. Birt
53
5.2.4. Talend Master Management (TMDM)
Talend Master Data Management est une composante de la suite d'intégration de données open
source Talend. Elle fournit une plateforme permettant d'intégrer, nettoyer, surveiller et publier
les données référentielles d'une entreprise.
En s'intégrant dans la suite ETL de Talend, Talend MDM permet de faire de l'échange en temps
réel entre un référentiel de données et des bases d'application hétérogène.
D'un point de vue technique, les données référentielles sont stockées dans une base de données
XML eXist-db.
Le serveur MDM Talend est une application JEE déployée dans un serveur JBoss donnant accès
à de nombreux services Web. Du point de vue utilisateur, on dispose d'une application Web
permettant d'interagir avec la base de données référentielle.
Le serveur Mondrian fait partie de la catégorie des serveurs « R-OLAP », c'est à dire qu'il
accède à des données contenues dans une base relationnelle .Mondrian exécute des requêtes
utilisant le langage MDX, également utilisé par d’autres moteurs OLAP, tel que celui de
Microsoft SQL Server. Ce langage permet de créer des requêtes dont l’équivalent en langue
SQL nécessiterait un grand nombre de requêtes et des temps d’exécution beaucoup plus longs.
Mondrian est particulièrement puissant et permet d’optimiser les temps de réponse en utilisant
des tables d'agrégats, créées au préalable, mais permet également de réaliser des calculs
complexes, en comparant des éléments sur la dimension temps ou en gérant des hiérarchies
récursives dissymétriques.
L’intégration des données constitue une étape très importante car étant le point de départ de
tout système décisionnel. Cette phase commence par le choix des sources de données. Dans
notre cas la source de données provient d’un fichier Excel.
54
Nous allons lancer Wamp Server afin de pouvoir créer nos bases de données MySQL qui
servira de L’ODS. L’ODS, c'est une structure intermédiaire de gestion de données. Elle permet
de stocker des données issues d'un système de production opérationnelle de manière temporaire,
permettant un traitement ultérieur par des outils spécifiques.
Des données sont récupérées et intégrées en étant filtrées pour obtenir une autre base de
données. Cette base peut alors subir un traitement supplémentaire, permettant d'avoir d'autres
informations. Nous avons alors un accès plus rapide, car les données redondantes sont
éradiquées.
Lançons à présent l’outil Pentaho Data Integration et au niveau de la page d’accueil qui
s’affiche,
Cliquer sur le menu Fichier, pointer sur nouveau, une nouvelle transformation pour créer une
transformation.
Cliquer sur l’onglet Navigateur puis pointer sur Connexion et cliquer sur nouveau voici la
fenêtre Database Connexion qui s’affiche. Dans cette fenêtre on définit le nom de la connexion
(connexion2), le type de base de données (MYSQL), le type de serveur (localhost) et le type
d’utilisateur (root).
55
Figure 28: lancement Pentaho Data Integration (PDI)
56
Figure 29: Création de la connexion à la base de données source
A côté de navigateur se trouve l’onglet palette de création. Nous allons nous placer sur
Extraction qui contient les étapes pour récupérer différents formats de données source.
On ouvre l’étape « Extraction des donnés de puis excel » pour récupérer notre source de
données en cliquant sur parcourir puis sur ajoute.
57
Figure 30: Extraction des donnés de puis Excel
Le menu Feuilles permet d’ajouter une référence à chaque source ainsi, on clique sur
« Récupérer le nom des feuilles »
58
Figure 31: Récupération de la feuille
Dans le menu Champs pour récupérer les champs et leurs types grâce à « Récupérer les champs
depuis la ligne d’en tète
59
Figure 33: Transformation des données
Nous ferons de même dans le sous menu Transformation en choisissant «Altération structure
flux» après avoir établis la liaison entre les deux étapes.
Maintenant nous allons cliquer sur Altération structure flux, sélectionner pour récupérer les
champs. Mais aussi métadonnées toujours pour récupérer les champs et valider pour finir.
La même chose sera pour l’étape Insertion et mise à jour où on définit le nom de la table cible
dans Mysql, puis la clé de recherche
60
Figure 34: Insertion et mise à jour des données
Nous allons maintenant exécuter la transformation afin que les données soient chargées dans
l’Opérational Data Store (l’ODS).
61
Figure 35: Processus ETL
L’alimentation du datamart consiste à importer des données à partir d’une table (table
consultation) de l’ODS, à manipuler l’information s’y trouvant et à créer une nouvelle structure
en bout de ligne qui n’est rien d’autre qu’un magasin de données (Datamart )
62
Figure 36: Représentation du Model Multidimensionnel
On clique sur Extraction depuis table pour renseigner le champ « Connexion » en y mettant le
nom de la connexion à la base de données source et la requête SQL qui permettra de récupérer
les champs qui seront extraient depuis la table concernée.
63
Figure 37: Récupération des champs pour les analyses
De la même façon que précédemment pour l’étape « Altération structure flux », il est important
de récupérer les champs. Mais aussi métadonnées toujours pour récupérer les champs et valider
pour finir.
64
Figure 38: Dimension date
65
Figure 39: Dimension sexe
66
Figure 40: Dimension faculté
67
Figure 41: Table de fait
68
Figure 42: Représentation du Model Multidimensionnel
Selon l’Article 4-6, une donnée à caractère personnel c’est: « toute information relative à une
personne physique identifiée ou identifiable directement ou indirectement, par référence à un
numéro d'identification ou à un ou plusieurs éléments, propres à son identité physique,
physiologique, génétique, psychique, culturelle, sociale ou économique ».
Principe d’exactitude (Art. 36) : les données à caractère personnel collectées doivent
être exactes et, si nécessaire, mises à jour.
Principe de légitimité (art. 33) : Les données à caractère personnel doivent être :
69
Principe de finalité (article 35) : les données doivent être collectées pour des finalités
déterminées et ne peuvent pas être traitées ultérieurement de manière incompatible avec
ces finalités.
La conception d’un rapport se fait graphiquement en utilisant l’éditeur proposé par BIRT.
BIRT propose plusieurs types de composants graphiques à insérer dans un rapport, la vue
‘Palette’ affiche la liste des types de composants.
70
Figure 44: Le Nombre de consultation suivant la Dimension faculté
71
Figure 46: Le Nombre de consultation suivant la Dimension sexe
Les tableaux croisés affichent les données dans une matrice semblable à une feuille de calcul et
Bi-Lite-il Zero est un constructeur OLAP Cube disponible dans un certain nombre d’édition,
qui permet créer des cubes à la portée de quiconque qui est familier avec MS Access ou SQL
Serveur.
En tant qu’utilisateur Bi-Lite Cube offre une méthode rapide et efficace de produire des
prototypes entièrement fonctionnels
Cependant, Bi-Lite-il Zero n’interagit qu’avec une base Access ; ce qui entraine la
transformation du datamanig mysql.
72
Figure 48: Concevoir la requête de rapport à l'aide du concepteur visuel de requêtes
73
Figure 49: Définir le contenu du cube
74
Figure 50: Analyse multidimensionnelle (faculte, sexe, annee)
75
Conclusion
Pour la réalisation et l’atteinte des objectifs, une application web basée sur le framework
primefaces et le serveur d’application apache tomcat est créée pour assurer la conformité et la
collecte des données.
Quant à l'intégration, la diffusion et la présentation des données, notre choix s’est porté sur la
plate forme Pentaho et eclipse birt qui sont des outils Open source de Business Intelligence.
En fin BI-Lite CUBE a permis La réalisation de cube pour une analyse multidimensionnelle.
76
ANNEXE
77
Figure 31: Récupération de la feuille ................................................................................................. 59
Figure 32: Récupération des champs depuis la ligne d’en tète........................................................ 59
Figure 33: Transformation des données .............................................................................................. 60
Figure 34: Insertion et mise à jour des données ............................................................................... 61
Figure 35: Processus ETL ....................................................................................................................... 62
Figure 36: Représentation du Model Multidimensionnel ................................................................ 63
Figure 37: Récupération des champs pour les analyses ................................................................... 64
Figure 38: Dimension date .................................................................................................................. 65
Figure 39: Dimension sexe .................................................................................................................. 66
Figure 40: Dimension faculté.............................................................................................................. 67
Figure 41: Table de fait ....................................................................................................................... 68
Figure 42: Représentation du Model Multidimensionnel ................................................................ 69
Figure 43: Connexion au Datamart ...................................................................................................... 70
Figure 44: Le Nombre de consultation suivant la Dimension faculté ............................................. 71
Figure 45: Le Nombre de consultation suivant la Dimension année .............................................. 71
Figure 46: Le Nombre de consultation suivant la Dimension sexe ..................................................... 72
Figure 47: Connexion à notre base de données Access ....................................................................... 72
Figure 48: Concevoir la requête de rapport à l'aide du concepteur visuel de requêtes .................... 73
Figure 49: Définir le contenu du cube ............................................................................................... 74
Figure 50: Analyse multidimensionnelle (faculte, sexe, annee) ....................................................... 75
Figure 51: Analyse multidimensionnelle (faculte, annee, trimestre sexe) ...................................... 75
78
BIOBLIOGRAPHIE
Sites internet
http://www.jboss.org/richfaces
http://www.icesoft.org
http://www.primefaces.org/showcase/ui/home.jsf
http://www.smiler.fr/
http://support.pentaho.com
http://www.pentaho.com/
79