Informatique Décisionnelle : Applications et Limites · Rapport de Stage Troisième Année de...

59
Rapport de Stage Troisième Année de Licence Informatique 2010/2011 Informatique Décisionnelle : Applications et Limites Responsable de Stage : M. Dominique VOIDEY Tuteur de Stage : Mme Françoise Greffier Bruno JUILLARD

Transcript of Informatique Décisionnelle : Applications et Limites · Rapport de Stage Troisième Année de...

Rapport de Stage

Troisième Année de Licence Informatique 2010/2011

Informatique Décisionnelle :

Applications et Limites

Responsable de Stage :

M. Dominique VOIDEY

Tuteur de Stage :

Mme Françoise Greffier

Bruno JUILLARD

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 2

J’aimerai en premier lieu remercier mon responsable de stage Monsieur Dominique VOIDEY

pour m’avoir accompagné, conseillé et supervisé durant ma période de stage.

Je remercierai ensuite Monsieur le Maire Jacques Hélias, ainsi que Monsieur Gilles Parisot,

Directeur du Service Systèmes d’Information de la ville de Montbéliard qui m’ont permis d’effectuer

ce stage au sein de ce service.

Je remercie également Mme. Françoise Greffier pour l’aide qu’elle a pu me fournir quant à la

rédaction de mon rapport.

Enfin, je tiens à remercier l’ensemble du personnel du service Systèmes d’informations pour

son accueil et sa disponibilité.

Remerciements

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 3

Remerciements ........................................................................................................................... 2

Table des matières ...................................................................................................................... 3

Table des figures ........................................................................................................................ 5

1. Introduction ........................................................................................................................ 6

2. Présentation de la ville de Montbéliard et de ses services ................................................. 7

2.1. Historique ............................................................................................................................... 7

2.2. Le service Systèmes d’Informations ....................................................................................... 8

2.3. L’informatique à la ville de Montbéliard .............................................................................. 10

3. Le sujet, les limites et ses aspects .................................................................................... 11

3.1. L’informatique décisionnelle ................................................................................................ 11

3.2. Le système d’information et de pilotage ............................................................................... 14

3.3. Les limites ............................................................................................................................ 17

3.4. Le résumé du sujet et le planning ......................................................................................... 19

4. Première réalisation : Oracle Application Express .......................................................... 21

4.1. Démarche ............................................................................................................................. 21

4.2. Méthode................................................................................................................................ 21

4.3. Développement ..................................................................................................................... 21

4.4. Difficultés rencontrées .......................................................................................................... 29

4.5. Point de vue de l’utilisateur .................................................................................................. 29

4.6. Bilan d’Oracle Application Express ..................................................................................... 29

5. Deuxième réalisation : le développement SQL ................................................................ 30

5.1. Démarche ............................................................................................................................. 30

5.2. Méthode................................................................................................................................ 30

5.3. La prise en main du logiciel.................................................................................................. 30

5.4. Le projet Evaluation ............................................................................................................. 31

5.5. Le projet Plan de Formation ................................................................................................. 35

5.6. Bilan du développement SQL ............................................................................................... 36

6. Troisième réalisation : un nouvel outil pour les tableaux de bord ................................... 37

6.1. Démarche ............................................................................................................................. 37

6.2. Méthode................................................................................................................................ 37

6.3. Développement ..................................................................................................................... 37

6.4. Bilan de l’étude QlikView .................................................................................................... 41

Table des matières

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 4

7. Conclusion ........................................................................................................................ 42

7.1. Apports techniques et pratiques du stage .............................................................................. 42

7.2. Apports méthodologiques et enrichissements personnels ..................................................... 42

8. Annexe ............................................................................................................................. 43

8.1. La virtualisation .................................................................................................................... 43

8.2. Le système d’information et de pilotage ............................................................................... 45

8.3. Les schémas dimensionnels .................................................................................................. 49

8.4. Le tableau de bord ................................................................................................................ 50

8.5. Le fonctionnement d’Apex ................................................................................................... 54

8.6. Définition d’une base de données vectorielle ....................................................................... 56

8.7. Les types de graphiques dans QlikView ............................................................................... 57

Bibliographie / Netographie ..................................................................................................... 58

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 5

Figure 1 : Système d'information de la ville ......................................................................................... 10

Figure 2 : Fonctionnement de l'ETL ..................................................................................................... 11

Figure 3 : Les trois niveaux de pilotage ................................................................................................ 14

Figure 4 : Le fonctionnement du système d'information et de pilotage ................................................ 15

Figure 5 : Création d'une requête dans Business Objects ..................................................................... 18

Figure 6 : Visualisation du code SQL généré ....................................................................................... 18

Figure 7 : Répartition des différents projets en fonction du temps ....................................................... 20

Figure 8 : Diagramme de Gantt ............................................................................................................ 20

Figure 9 : Aperçu de la version 4 d’Apex ............................................................................................. 22

Figure 10 : L'usage d'Apex ................................................................................................................... 24

Figure 11 : Connexion d'Apex à une base de données distante ............................................................ 25

Figure 12 : Les fonctionnalités d'Apex ................................................................................................. 26

Figure 13 : L'administration des espaces de travail d’Apex ................................................................. 27

Figure 14 : Interface de saisies de la première application ................................................................... 28

Figure 15 : Interface de saisies de la deuxième application .................................................................. 28

Figure 16 : Schéma représentant les étapes de la création de l’ancien document ................................. 32

Figure 17 : Ordre des pages dans Business Objects .............................................................................. 34

Figure 18 : Schéma représentant la carrière d’un agent ........................................................................ 35

Figure 19 : La recherche des informations avec QlikView ................................................................... 37

Figure 20 : Les sources de données de QlikView ................................................................................. 39

Figure 22 : Liste de sélection dans QlikView ....................................................................................... 40

Figure 21 : Graphique dans QlikView .................................................................................................. 40

Figure 23 : Virtualisation d’applications sous Windows ...................................................................... 43

Figure 24 : Schéma en étoile ................................................................................................................ 49

Figure 25 : Schéma en flocons de neige ............................................................................................... 49

Figure 26 : Architecture 3-Tiers ........................................................................................................... 54

Figure 27 : Le fonctionnement de l'architecture 3-Tiers ....................................................................... 54

Figure 28 : L'architecture 2-Tiers ......................................................................................................... 54

Figure 29 : Le fonctionnement de l'architecture 2-Tiers ....................................................................... 55

Figure 30 : La base de données vectorielle ........................................................................................... 56

Table des figures

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 6

1. Introduction

Actuellement, le monde dans lequel nous vivons est de plus en plus complexe. Les technologies de

l’information génèrent une multitude de données. Le problème n’est donc plus d’acquérir une masse

de données, mais de la traiter. Pour cela, il est nécessaire d’analyser les informations afin de prendre

les bonnes décisions au bon moment.

Dans ce but, la ville de Montbéliard où j’ai effectué mon stage a mis en place un système

d’information. Il apporte des réponses efficaces aux élus et à la Direction Générale afin d’optimiser la

collectivité. Un outil d’aide à la décision permet de réaliser des rapports, des états de synthèses pour

tous les utilisateurs.

Cependant ce système comporte des limites. En effet, les états de synthèses sont réalisés à l’aide

d’informations se trouvant dans les différentes bases de données. Mais, certaines données sont

manquantes. De plus, les requêtes créées sont parfois incomplètes. Enfin, les tableaux de bord sont

difficiles à concevoir.

Dans un premier temps, la recherche et l’analyse d’un nouvel outil d’interface de saisie est

nécessaire pour saisir les données manquantes. Ensuite, des requêtes SQL seront réalisées pour

compléter les états de synthèses. Enfin, l’analyse d’un nouveau logiciel sera effectuée pour réaliser

des tableaux de bord.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 7

2. Présentation de la ville de Montbéliard et de ses services

2.1. Historique

Montbéliard apparaît pour la première fois dans l'histoire en 985, sous le

nom de Mons Béliardae. A cette époque, l'acropole est déjà fortifiée et

quelques maisons apparaissent sur le rocher. Mais la Ville n'acquiert sa

puissance qu'au XIe siècle. Elle est alors érigée en comté indépendant. Le

commerce et l'artisanat s'y développent. Les habitants descendent du

rocher et prennent possession de sa base.

L'année 1397 marque un véritable tournant dans l'histoire locale. Au

hasard d'un mariage, Montbéliard tombe dans la corbeille des ducs

allemands de Wurtemberg. Le comté se tourne alors vers le Saint-Empire

germanique. Il devient une citadelle protestante enclavée au cœur d'une

région catholique.

La fin du XVIe siècle est un véritable âge d'or pour Montbéliard. L'œuvre du Prince Frédéric 1er et de

son architecte Heinrich Schickhardt métamorphose la ville et la dote de ses plus importants édifices :

Temple Saint-Martin, Hôtel du Bailli, le pont-levis, l’ancien collège. De cette époque date aussi l’Hôtel

de Villars et l’Hôtel de Forstner (actuelle Banque de France).

La ville est depuis 1810, le berceau de la famille Peugeot et accueille sur une partie de son territoire

la principale usine du groupe. Montbéliard est devenue ville universitaire en 1990. Son pôle

universitaire est fréquenté quotidiennement par près de 1 000 étudiants.

La Ville de Montbéliard est située dans le nord du département du Doubs, en Région Franche-Comté,

elle est la ville centre d’une communauté d’agglomération de 120 000 habitants. Elle est aujourd’hui

la première concentration industrielle du Doubs. Les services municipaux emploient environ 960

agents répartis entre la ville et son CCAS1.

Hôtel de Ville de Montbéliard

1 CCAS : Centre Communale d’Action Sociale

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 8

2.2. Le service Systèmes d’Informations

Le service Systèmes d’informations de la ville de Montbéliard a vu le jour en 1989. Avant la création

de ce service, la ville de Montbéliard confiait la gestion et le développement informatique des

services municipaux à une autre collectivité : le District Urbain du Pays de Montbéliard devenu la

Communauté d’agglomération du Pays de Montbéliard en 1999.

Les principales missions du service Systèmes d’information sont réparties au sein de huit unités de

responsabilité :

Méthodes et Organisations :

Cette unité qui traite principalement de contrôle de gestion est celle dans laquelle j’ai effectué mon

stage. Elle a vu le jour en février 2011.

Cette unité a plusieurs objectifs :

Imprimerie - Reprographie :

Cette unité réalise les travaux de conception de documents, d’impressions type

offset, de photocopies et de finitions pour les services municipaux et les

associations de Montbéliard.

Courrier :

Cette unité assure la circulation et la diffusion des courriers internes et externes de la Ville et du

Centre Communale d’Action Social (CCAS) de Montbéliard.

1. Formaliser les attentes de la Direction Générale des Services (DGS) et des élus en matière de

modernisation du fonctionnement des services municipaux

2. Définir les enjeux, les objectifs et les axes de travail (procéder à des études fonctionnelles et

organisationnelles auprès des services municipaux)

3. Apprécier les documents de gestion produits par les organismes extérieurs « satellites ou

associés » à la collectivité, afin de préparer l’évaluation de leurs actions et de l’usage des

fonds publics par ces organismes

4. Mettre en place et automatiser les centres de coûts définis pour la collectivité

5. Définir, réaliser et suivre des états de gestion et d’analyse à destination des services, de la

direction générale, des élus ou d’autres partenaires

6. Maintenir et développer le système informatisé de pilotage (SIP) dans son ensemble Objectifs de l’unité Méthodes et Organisations

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 9

Informatique – Études :

Cette unité permet d’analyser et de mettre en œuvre des projets informatiques transversaux en

relation avec les services utilisateurs.

Informatique – TIC :

Cette unité concerne les technologies de l’information et de la communication (TIC) : Internet,

Intranet, Administration électronique.

Informatique – Gestion Parc :

Cette unité est chargée de renouveler et d’acquérir du matériel informatique

et des périphériques. Elle assiste et forme également les agents en matière de

bureautique.

Informatique – Administration Réseaux :

Cette unité développe et administre le réseau informatique de la Ville. Elle est en relation étroite

avec l’unité de télécommunication.

Télécom :

Cette unité assure l’équipement des services municipaux en téléphonie fixe, mobile et en système

radio. Elle câble et pré-câble les bâtiments municipaux. Elle étudie, met en œuvre et effectue la

maintenance des systèmes de vidéo-protection, d’alarmes anti-intrusion et de contrôle d’accès.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 10

2.3. L’informatique à la ville de Montbéliard

Les services municipaux de la ville de Montbéliard emploient environ 960 employés. De ce fait, le

parc informatique compte environ 450 ordinateurs, 77 copieurs connectés et 120 imprimantes, ce

qui montre la taille de l’infrastructure. Il est très important de mettre en place des solutions

informatiques industrialisées et optimisées afin d’assurer le bon fonctionnement de la collectivité.

Des progiciels sont mis en place dans chaque domaine comme

les ressources humaines, le patrimoine, la gestion financière…

Chaque progiciel doit posséder son propre serveur pour des

raisons techniques. De ce fait, la ville de Montbéliard

possédait 35 serveurs en 2007. Le choix de la virtualisation de

serveurs a donc été fait pour deux raisons essentielles :

diminuer le coût d’achat de nouveaux serveurs et réduire la

consommation électrique de la climatisation. J’ai travaillé sur

des postes de travail et des applications virtualisées, ces technologies apportent de nombreux

avantages. (cf. Annexe 8.1).

La ville de Montbéliard utilise principalement des bases de données Oracle mais également d’autres

bases comme MySQL ou SQL Serveur. L’avantage d’Oracle est sa performance lorsque le nombre de

tables est important dans la base de données. A partir de ces informations, des états de synthèses

sont effectués pour aider les utilisateurs à faire des contrôles. Pour ce faire, la suite SAP Business

Objects est utilisée. Elle comprend Business Objects Desktop Intelligence, Web Intelligence ou encore

Infoview.

La ville de Montbéliard a mis en place le portail Infoview afin de diffuser les états de synthèses aux

utilisateurs. Les utilisateurs peuvent ainsi accéder aux états de synthèses directement dans leurs

répertoires.

1. Le logiciel Business Objects récupère les informations dans les différentes bases de

données

2. A l’aide du logiciel Business Objects, des états de synthèses sont réalisés

3. Le portail Infoview permet de diffuser les rapports sous format Excel ou PDF

4. Les utilisateurs analysent ces états de synthèses et contrôlent les données

5. Les utilisateurs saisissent de nouvelles informations dans les bases de données

Figure 1 : Système d'information de la ville

Description :

450 ordinateurs

Des progiciels mis en place

Virtualisation des serveurs

Base de données Oracle

Création d’états de synthèses

avec Business Objects

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 11

3. Le sujet, les limites et ses aspects

Avant de présenter en détail le sujet de mon stage, une introduction à l’informatique décisionnelle

est nécessaire.

3.1. L’informatique décisionnelle

3.1.1. Définition

L'informatique décisionnelle ou Business Intelligence en anglais correspond à l'ensemble des

moyens, des outils et des méthodes permettant de collecter, consolider, modéliser et restituer les

données [1]. Les environnements d'aide à la décision s'intéressent aux tendances, aux moyennes des

principaux indicateurs de bonne santé de l'entreprise ou de l’organisation à travers les mois ou les

années.

L'aide à la prise de décision est la responsabilité de quelques personnes dans l'entreprise. Ils

s’intéressent à l'ensemble de l'activité et souhaitent avoir une vue globale de la société ou de la

collectivité.

Dans le monde décisionnel, on ne supprime jamais des données, elles sont archivées. Les outils de

l’informatique décisionnelle permettent d’exploiter les données, contrairement à l'informatique de

gestion où l'on produit de l'information grâce aux bases de données relationnelles.

3.1.2. L’architecture

Les outils décisionnels sont basés sur l'exploitation d'un système d'information alimenté grâce à

l'extraction de données diverses.

Un outil appelé ETL2 est ainsi chargé d'extraire les données dans différentes sources, de les nettoyer

et de les charger dans un entrepôt de données [2].

Enfin des outils d'analyses décisionnelles comme SAP Business Objects Desktop Intelligence, Excel, ou

Dashboard sont utilisés afin de créer des états de synthèses ou des tableaux de bord à partir des

bases de données ou de l’entrepôt de données.

Figure 2 : Fonctionnement de l'ETL

2 ETL : Extract Tranform Load

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 12

3.1.3. Les fonctionnalités

Un système décisionnel assure quatre fonctions fondamentales : la collecte, l’intégration, la diffusion

et l’administration des données *3+.

La collecte parfois appelée Datapumping est l’ensemble des tâches consistant à détecter, à

sélectionner, à extraire et à filtrer les données brutes issues des bases de production. Lorsque les

sources de données sont hétérogènes, la collecte des données se fait à l’aide de l’ETL.

L’intégration consiste à concentrer les données collectées dans un

espace unifié : l’entrepôt de données. Il permet aux applications

décisionnelles d’avoir une source d’information commune,

homogène, normalisée et fiable.

La diffusion met les données à la disposition des utilisateurs.

L’administration est la fonction transversale qui supervise la bonne

exécution de toutes les autres. Elle pilote les processus de mises à jour des données, la

documentation sur les données, la sécurité, les sauvegardes et la gestion des incidents.

3.1.4. La modélisation dimensionnelle

L’entrepôt de données contient des bases de données multidimensionnelles afin de pouvoir réaliser

des analyses complexes sur les données. La modélisation dimensionnelle structure les données d’une

façon très différente du modèle relationnel. En effet, le modèle relationnel respecte la structure en

trois formes normales3.

Modèle relationnel :

Formes normales Description

1ère forme normale Une clé unique est stable

2ème forme normale Attribut non clé est totalement dépendant de toute la clé

3ème forme normale Tout attribut doit dépendre directement de la clé

Comparatif le dimensionnel - le relationnel

Le dimensionnel Le relationnel

Ne respecte aucune des 3 formes normales Respecte les 3 formes normales

Redondance des données Aucune redondance des données

Bases archivées Bases de production

La modélisation dimensionnelle produit ce que l’on appelle le modèle dimensionnel ou

communément le schéma en étoile. Cette structure de données est la plus utilisée et la plus

appropriée aux requêtes et analyses des utilisateurs d’entrepôts de données.

Il existe principalement deux types de bases de modèle dimensionnel :

- le schéma en étoile - le schéma en flocons de neige (cf. Annexe 8.3)

Le modèle dimensionnel est la fondation même de la construction des cubes OLAP4.

3 Une forme normale désigne un type de relation entre les entités. Elle permet d’éviter les anomalies de lecture, d’écriture

et de redondance. 4 OLAP : Online Analytical Processing

Fonctionnalités :

Collecte

Intégration

Diffusion

Administration

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 13

3.1.5. Le cube OLAP

Un cube OLAP est une représentation abstraite

d'informations multidimensionnelles exclusivement

numérique utilisé par l'approche OLAP [4]. Les bases de

données OLAP sont des bases de données

multidimensionnelles destinées à des analyses complexes

sur les données.

Exemple : Les ventes des magasins.

Vente d’un magasin toutes catégories confondues pendant l’année

Vente de la catégorie vêtements pour enfants pour tous les magasins pendant l’année

Vente pendant le mois de février toutes catégories confondues et dans tous les magasins

Vente d’un magasin dans la catégorie vêtements pour enfants durant le mois de février

Le choix des dimensions (les différents magasins, les différentes

catégories d’articles, le temps) permet d’obtenir des analyses

différentes comme l’illustre l’exemple suivant :

Caractéristiques :

Organisation des informations selon

les besoins des utilisateurs

Simplicité et rapidité d’accès

Manipulation des données selon

différentes dimensions

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 14

3.2. Le système d’information et de pilotage

La ville de Montbéliard a choisi une démarche d’informatique décisionnelle. L’ensemble des outils

mis en place constitue le système d’information et de pilotage (cf. Annexe 8.2). La fonction principale

de ce projet réside dans son nom, il permet de collecter et d’analyser les données. Ainsi des prises de

décisions peuvent être définies, des actions stratégiques mises en œuvre et les politiques publiques

définies par la collectivité peuvent être évaluées.

3.2.1. Mise en place

Le système d’information et de pilotage a été mis en place

pour des raisons financières et techniques. Il était donc

nécessaire de disposer d’indicateurs précis (comme des

indicateurs de gestion, d’activités…) et d’outils d’analyses

financières.

Auparavant, les informations étaient accumulées, riches

mais n’étaient pas exploitées. Il était très difficile de réaliser des états de synthèses simples,

automatisés et fiables.

3.2.2. Organisation du Système de pilotage

On distingue trois types d’utilisateurs :

- Les élus et la Direction générale consultent généralement des tableaux de bord

- Les agents d’encadrement disposent plutôt d’états de synthèses sous format PDF ou

Excel diffusés à travers le portail Infoview ou directement déposés dans leurs répertoires.

Certains peuvent directement rafraîchir les fichiers contenant les requêtes. De plus, il est

possible de diffuser les états à travers la messagerie électronique

- Les agents qui contrôlent les données

Figure 3 : Les trois niveaux de pilotage

Pourquoi ?

Pour des raisons financières

Pour disposer d’indicateurs

Pour réaliser des états de synthèses

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 15

3.2.3. Le fonctionnement

GIMAAstre GF Astre RH Fluide LOANCCAS

IREC

DWH

Entrepot de données

ETL

.XLS

Codes

Services

.XLS .XLS

REPO

. rep

Programmation

Disque

.rep (1)

Rapport Webi (2)

Infoview (Portail/web)

-> O:\

-> N:\

PDF

EXCEL

HTML

MAIL

[PDF ]

[EXCEL]

Paramétrage

Compte rendu

Univers

Droits

Webi

Trace

1) Synthèse

2) Une seul base

3) Combiner

4) ArchivageSRV-BOXI

SRV-BODI SRV-ORATST

SRV-BUREAUTIQUE

DESKI

BO

1

WEBI

BO

2

( Data Integrator BO)

3

Pilotage de la

Performance

Dashboard

DONNEES

Univers BOUnivers BO

DONNEES

Figure 4 : Le fonctionnement du système d'information et de pilotage

Les informations de la ville de Montbéliard se trouvent dans différentes bases de données comme

Gima pour le patrimoine, Astre RH pour les ressources humaines, Astre GF pour la gestion financière

et Fluides pour le gaz, l’eau, l’électricité etc.

Le logiciel SAP Business Objects Desktop Intelligence permet d’effectuer des requêtes sur les

différentes bases de données et l’entrepôt de données. Ainsi des états de synthèses sont créés

comme le coût d’une opération par secteur d’activité, le respect des délais des interventions. Dans le

domaine des ressources humaines, des états de synthèses sont aussi réalisés sur les effectifs, le suivi

de la masse salariale…

Dans la plupart des cas, les informations sont issues directement des bases de données. Lorsque les

volumes de données sont importants ou que les données à traiter sont complexes, l’ETL collecte et

stocke les informations dans l’entrepôt de données. De ce fait, il est possible de croiser les

informations afin d’obtenir par exemple le coût de fonctionnement de la piscine municipale en ce qui

concerne les bâtiments, l’eau, l’électricité, le gaz, la masse salariale, les véhicules… L’ETL permet ainsi

de réaliser des rapports complets.

Le portail Infoview permet de diffuser les états de synthèses sous le format HTML, PDF ou EXCEL, de

les envoyer par mail ou de les imprimer automatiquement. Les utilisateurs ayant droits peuvent

consulter et actualiser les différentes requêtes. Le portail permet aussi de planifier la diffusion des

états dans les répertoires des utilisateurs. Par exemple, un tableau de bord récapitulatif des

dépenses de la collectivité est diffusé chaque matin dans le répertoire des agents de la Direction

Générale.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 16

3.2.4. Impact du système de pilotage

Grâce au Système d’information et de pilotage, il existe un référentiel commun et une codification

commune (par exemple la liste des services, le découpage en quartiers). De plus, les données sont

fiables. En effet, les erreurs de saisies, les anomalies générées par les progiciels métiers peuvent être

détectées. En outre, les rapports sont automatisés et donc toujours présentés de la même manière. Il

est ainsi possible d’effectuer des comparaisons par rapport aux autres états et faire des statistiques.

Enfin, le système permet de fixer des règles de gestion dans les services qui étaient souvent

implicites. Par exemple, la mise en place d’un planning pour la gestion des congés permet de définir

des règles. Lorsque le planning est mis en place, le système impose que les règles pour la prise des

congés soient respectées. Ainsi, les règles de gestion sont mieux connues de tous et permettent

d’améliorer le fonctionnement de la collectivité.

Conséquences

Référentiel commun

Fiabilité des données

Analyse des états de synthèses

Fixer des règles de gestion

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 17

3.3. Les limites

Le système actuel comporte plusieurs limites : au niveau de la saisie des données, des états de

synthèses réalisés et de l’outil pour créer des tableaux de bord.

3.3.1. Les limites de saisies des données

Actuellement, les différentes bases de données ne contiennent pas assez d’informations pour

réaliser des états de synthèses complets. Contrairement à ce que l’on pourrait penser le nombre

d’habitants de la ville de Montbéliard n’est contenu dans aucune des bases de données. De plus, les

progiciels métiers sont affiliés à des domaines bien définis comme les ressources humaines, la

gestion financière, le patrimoine... C’est pourquoi les bases de données contiennent seulement les

informations nécessaires au domaine concerné. Une solution consisterait à créer de nouveaux

champs dans les bases de données. Mais une question se pose : quelles sont les bases de données

que l’on pourrait utiliser ? Car le nombre de champs libres dans les progiciels est très limité.

Dans le but de réaliser un rapport contenant la dette par habitant par exemple, il n’existe pas

d’interfaces de saisies pour inscrire les informations dans l’entrepôt de données. On est obligé de le

faire en SQL. C’est pourquoi il est important de chercher un outil pour créer des interfaces de saisies.

Il devra permettre de créer une application rapidement afin de stocker de nouvelles informations.

3.3.2. Contournement par les solutions SQL

Le logiciel Business Objects Desktop Intelligence permet de réaliser des requêtes sur les différentes

bases de données ou sur l’entrepôt de données. Les données sélectionnées sont ensuite mises en

forme afin de réaliser des états de synthèses. L’utilisateur est assisté dans la réalisation des

requêtes, pour cela le logiciel utilise la notion d’univers propre à la suite SAP Business Objects.

Un univers est une représentation totale ou partielle de la base de données. Il est constitué d’un

ensemble d’objets métiers. L’univers permet aux utilisateurs d’employer un vocabulaire en rapport

avec leurs métiers et non des champs de bases de données. De ce fait, les requêtes sont plus faciles à

réaliser.

L’univers comporte trois types d’objets :

- Les dimensions : entité élémentaire de l’univers. Globalement, on peut assimiler un objet dimension à un champ de bases de données

- Les informations : ces objets sont rattachés aux objets dimensions, ils constituent des informations supplémentaires. Par exemple le nom et le prénom de l’agent

- Les indicateurs : ils restituent des données numériques qui sont le résultat d’un regroupement (somme, comptage, moyenne…) à partir de la base de données.

Représentation dans Business Objects :

Dimensions

Informations

Indicateurs

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 18

Figure 5 : Création d'une requête dans Business Objects

L’utilisateur sélectionne les objets de l’univers sur la gauche. A l’aide d’un glisser déposer, il place ces

objets dans la zone de sélection. Il est possible d’ajouter des conditions dans la requête. Le code SQL

de la requête peut éventuellement être visualisé :

Figure 6 : Visualisation du code SQL généré

Les univers sont parfois incomplets. Ils ne contiennent pas l’ensemble des informations contenues

dans la base de données. Par exemple, dans l’univers de la formation en ressources humaines le

nombre d’heures de droit à la formation n’est pas présent. De plus, certains univers sont mal

construits. En effet, la jointure ne peut parfois pas être réalisée entre deux objets de l’univers. Par

exemple, entre le matricule d’un agent et le nombre de congés.

Pourquoi ne pas modifier l’univers ?

La création d’un univers est très compliquée à réaliser. En effet, il faut penser à toutes les

configurations qu’il est possible de faire entre les objets. Généralement l’univers est fourni par la

société qui a mis en place le progiciel. Lorsque ce n’est pas le cas, une société extérieure aide parfois

la collectivité pour le créer.

Auparavant, l’univers du progiciel était modifié afin d’obtenir l’ensemble des informations

nécessaires. Mais cette solution n’est pas pérenne. En effet, lorsque la société (qui a mis en place le

progiciel) met à jour l’univers, toutes les modifications effectuées sont alors perdues.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 19

C’est pourquoi l’utilisation de requêtes SQL est envisagée. Cette nouvelle solution n’a pas encore été

testée jusqu’à présent. Il serait donc intéressant de voir comment lier ces deux types de requêtes.

Les requêtes SQL constitueraient alors une solution temporaire pour réaliser des états de synthèses

complets en attendant les modifications des univers.

3.3.3. Les limites de l’outil tableaux de bord

Le logiciel utilisé actuellement pour créer des tableaux de bord SAP Crystal Reports Dashboard

Design est obsolète. De plus, il est très compliqué à utiliser. L’étude d’un nouveau logiciel comme

QlikView permettrait de réaliser des tableaux de bord avec de nombreux axes d’analyses. Ainsi le

développement d’une application de test validerait si ce logiciel est pertinent et plus approprié dans

l’analyse des données en informatique décisionnelle.

3.4. Le résumé du sujet et le planning

Après avoir abordé en premier lieu le concept de l’informatique décisionnelle, nous avons vu que ce

domaine permettait aux utilisateurs d’avoir des indicateurs pour prendre des décisions. Au

paragraphe 3.2, nous avons abordé le fait que la ville de Montbéliard a mis en place un système de

pilotage afin d’optimiser le fonctionnement de la collectivité. Il permet de créer des états de

synthèses, des graphiques, des tableaux de bord.

Pour réaliser des états de synthèses complets comme le coût de fonctionnement de la piscine

municipale (bâtiments, masse salariale, eau, électricité, gaz…), il est nécessaire de croiser les

informations contenues dans les différentes bases de données.

Il arrive que certaines informations ne soient pas présentes dans l’entrepôt de données. C’est

pourquoi il est utile de trouver un outil pour réaliser des interfaces de saisies. De plus, certaines

requêtes ne permettent pas d’avoir l’ensemble des informations nécessaires. Le développement de

nouvelles requêtes SQL complètera ces rapports. Enfin, le logiciel pour créer les tableaux de bord est

obsolète. L’étude d’un nouvel outil permettra de répondre à cette limite.

Le sujet de mon stage est donc découpé en trois parties :

- La limite de saisies de données

- Le développement SQL

- L’étude d’un nouvel outil pour réaliser des tableaux de bord

Afin de mener à terme les différents projets, un planning a été réalisé. De plus, chaque jour, je

remplissais un tableau de bord afin de noter les différentes activités réalisées et les problèmes

rencontrés. (cf. Annexe 8.4).

Dans un premier temps, j’ai consacré mon temps aux problèmes des limites de saisies des données.

J’ai étudié le fonctionnement du logiciel Oracle Application Express en créant une application de test.

Ensuite, j’ai effectué des états de synthèses à l’aide du logiciel Business Objects en développant des

requêtes SQL. Pour finir, j’ai réalisé l’étude d’un nouveau logiciel pour réaliser des tableaux de bord

en créant une application de test.

Pendant le stage, je disposais d’une session virtualisée avec de nombreux logiciels comme la suite

Office. De plus, j’utilisais Outlook pour gérer ma messagerie, mon planning et fixer des rendez-vous.

Un téléphone était à ma disposition pour communiquer avec les différents services. Cette expérience

m’a permis de me trouver dans les conditions du monde réel.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 20

Figure 7 : Répartition des différents projets en fonction du temps

Figure 8 : Diagramme de Gantt

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 21

4. Première réalisation : Oracle Application Express

4.1. Démarche

Dans un premier temps, mon responsable de stage m’a exposé le problème des limites de saisies des

données. Il ma parlé d’un nouvel outil : Oracle Application Express. J’ai commencé par effectuer des

recherches sur ce logiciel afin de le comparer avec d’autres outils. Ensuite, à l’aide d’un exemple

concret, j’ai créé une application afin de valider l’outil. L’objectif de cette application de test était de

créer une interface de saisie pour un chef de projet à la ville de Montbéliard. En effet, il a besoin de

saisir ces différentes activités réalisées au cours des journées.

Mon responsable de stage ma ensuite demandé de créer une interface de saisies pour la piscine

municipale. L’objectif de cette nouvelle application était de savoir se connecter à une base de

données distante avec Oracle Application Express.

Le but de ce projet était de créer une documentation sur Oracle Application Express pour :

- Comparer ce logiciel avec d’autres outils

- Comparer la version utilisée actuellement avec la version 4

- Créer facilement une nouvelle application

4.2. Méthode

J’ai commencé par effectuer différentes recherches sur le site officiel d’Oracle

Application Express afin de connaître le fonctionnement d’Apex. J’ai également consulté différents

tutoriels sur le sujet afin de créer une première application dans le but de me familiariser avec ce

nouvel outil de développement.

Par la suite, j’ai réalisé des recherches approfondies sur le fonctionnement d’Apex afin de trouver

comment se connecter à une base de données distante.

4.3. Développement

4.3.1. Qu’est-ce que Oracle Application Express ?

Oracle Application Express est couramment appelé Apex. C’est un outil de développement rapide

d’applications Web *5+. Il permet ainsi de créer des applications performantes et sécurisées afin

d’accéder directement aux bases de données Oracle. A l’aide d’un navigateur Internet classique, les

utilisateurs peuvent consulter les différentes applications créées.

4.3.2. Description

A l’origine, Oracle utilisait Apex en interne pour créer

rapidement des utilitaires pour les bases de données.

Aujourd’hui, Application Express est livré avec la version

Oracle 10g XE. Il est possible de télécharger Apex pour les

versions antérieures. Cette édition gratuite constitue un

environnement de développement complet avec une base de

données pouvant stocker jusqu’à 4 Go de données.

Oracle Application Express :

Outil de développement rapide

d’applications

Édition gratuite

Stockage de 4 Go de données

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 22

4.3.3. Objectif

Apex permet aux utilisateurs d’accéder simplement aux données et de retrouver rapidement des

informations. Il permet aussi aux développeurs de réaliser des présentations modernes développées

en un minimum de temps.

4.3.4. Historique

4.3.5. Les apports de la version 4 d’Apex

Figure 9 : Aperçu de la version 4 d’Apex

Nouvelles fonctionnalités [6] :

Amélioration de l’interface utilisateur, des

tableaux, des sous-régions

Option de purge automatique des espaces

de travail inactifs

Éditeur de code PL/SQL (Coloration

syntaxique)

Sélection de la langue pour l’application

Jusqu’en 2006,

Apex s’appelait

HTML BD.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 23

4.3.6. Avantages & Inconvénients

Avantages :

Inconvénients :

Apex fonctionne uniquement sur les front-end5 Oracle. De ce fait, la recherche d’un hébergeur est

plus compliqué qu’avec une combinaison classique PHP / MYSQL.

La connexion à une base de données distante pose quelques soucis. Tout d’abord, il faut créer un lien

de bases de données pour que le serveur d’Apex puisse communiquer avec le serveur distant.

Cependant, les assistants d’Apex ne reconnaissent pas les tables de la base de données distante. Il

est donc nécessaire de créer des vues en lecture et en écriture. Mais une erreur se répète

régulièrement lors de l’envoi de formulaire. Une solution consiste à installer Apex sur le serveur

distant.

4.3.7. Comparaison avec d’autres outils

Apex Java EE PHP + Oracle Access + Oracle

Applications pour client web Oui Oui Oui Non

Applications pour client lourd Non Oui Oui Non

Prise en main rapide Facile Difficile Difficile Facile

Développement rapide d’application Oui Non Non Oui

5 Un front-end désigne une machine complète qui effectue des traitements préliminaires ou gère des transactions pour un

ordinateur plus puissant.

Les avantages d’Oracle Apex :

Prise en main facile de l’outil

Maintenance facile

Utilisation en réseau local, internet ou en

mode déconnecté

Outil gratuit, puissant et convivial

Les développements d’application ne nécessitent

pas de réaliser des configurations. Il suffit juste de

vérifier que la base de données est renseignée

dans un fichier.

De plus, le développeur est assisté dans le

développement d’applications. Ainsi, la réalisation

d’interfaces Web s’effectue très rapidement.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 24

Figure 10 : L'usage d'Apex

4.3.8. Les langages

Les langages pouvant être utilisés dans Application Express sont : SQL, PL/SQL, HTML, CSS, JavaScript

et AJAX (Asynchronous JavaScript And XML).

Des propres thèmes peuvent être créés en utilisant HTML et CSS. Ainsi il est possible de modifier

l’apparence et le style d’une application sans en modifier les fonctionnalités.

Le langage SQL permet de réaliser des requêtes pour créer des états.

Le code PL/SQL permet d’afficher des valeurs par défaut dans les formulaires en créant des

conditions. JavaScript est un langage de script client très utilisé dans le développement Web. L’ajout

de JavaScript dans une application Web permet d’enrichir et ajouter des fonctionnalités aux

applications client/serveur.

L’utilisation d’AJAX permet de mettre à jour une portion de page APEX sans avoir à recharger toute la

page.

4.3.9. Fonctionnement

Pour fonctionner, Apex a besoin d’une base Oracle dans laquelle tous ses composants sont stockés.

Pour cela, il crée deux schémas dans la base [7] :

- Un schéma nommé FLOWS_X où X désigne le numéro de version d’Apex. Tous les objets

de la version d’Apex sont stockés dans ce schéma.

- Un schéma nommé FLOWS_FILES qui gère les objets communs aux différentes versions

d’Apex tels que les styles CSS, les thèmes d’applications, les images…

Ces deux schémas stockent les métadonnées composées de 215 tables, 200 objets PL/SQL et environ

300 000 lignes de code qui correspondent à ce que l'on appelle le "moteur" d'Apex.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 25

Le développement d’application nécessite un schéma par application. Les données peuvent être

stockées sur les schémas de la même base de données qu’Apex ou dans une base de données

distincte.

Pour se connecter à une base de données distante, il est nécessaire de créer un lien de bases de

données.

Pour effectuer les requêtes sur le schéma de l’autre base de données, il est nécessaire d’utiliser une

syntaxe particulière :

Code SQL

SELECT * FROM SCHEMA.TABLE @ NOM_DU_LIEN

Il est ainsi possible de réaliser des requêtes sur la base de données distante. Néanmoins, les

assistants ne reconnaissent pas les tables du schéma. Une solution consiste à créer des vues en

mode lecture et écriture pour chaque table. De ce fait, il est possible de créer des formulaires à l’aide

des assistants d’Apex. De plus, un autre problème se pose, l’utilisation d’un lien de bases de données

créé une erreur qui se répète très souvent lorsque l’on valide un formulaire. La solution consisterait

donc à installer Apex sur le serveur distant pour accéder directement au schéma.

4.3.10. Architecture

Apex propose deux architectures différentes :

- une architecture 3-Tiers présente depuis le lancement d’Apex

- une architecture 2-Tiers intégrée avec les bases Oracle 11g (cf. Annexe 8.5)

4.3.11. Les composants

Lors du développement d’une application, Application Express utilise plusieurs composants :

- Les pages : Une application est composée de multiples pages. Elles sont les composants

de base d’une application. Les pages contiennent des régions.

- Les régions sont des conteneurs de contenus. Ces contenus peuvent être des états, des

formulaires, des graphiques, des calendriers…

- Les boutons initient un processus sur une page. Par exemple, les boutons sont utilisés

pour créer, modifier ou supprimer un enregistrement dans une table de la base.

- Les éléments : un élément est une partie d’un formulaire. Cela peut être un champ texte,

un mot de passe, une case à cocher, un bouton radio… Les éléments sont utilisés pour

recueillir les saisies ou afficher des données à l’utilisateur.

L’ajout d’un composant s’effectue à l’aide d’un assistant graphique. Le développeur configure le

composant en paramétrant ses différents attributs. Il est possible de créer des composants partagés

afin qu’ils puissent être utilisées sur n’importe quelle page de l’application.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 26

4.3.12. Les fonctionnalités de développement

Figure 12 : Les fonctionnalités d'Apex

Les panneaux :

Apex fournit différents types de panneaux à intégrer dans une application :

Panneau sur une table Panneau maître/détail Panneau tabulaire

Les panneaux (ou formulaires) permettent aux utilisateurs de mettre à jour un enregistrement

unique dans une table ou plusieurs à la fois.

Les graphiques :

Il existe 18 types de graphiques dans Apex, regroupés parmi les :

Graphiques SVG6

Il est possible de créer des graphiques qui permettent aux utilisateurs de naviguer vers d’autres

graphiques ou états.

6 SVG : Scalable Vector Graphics

Graphique Flash

Graphique HTML

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 27

4.3.13. Administration des espaces de travail

L’espace de travail fonctionne comme une base de données virtuelle. Il permet à plusieurs

développeurs de travailler dans le même environnement. Il existe plusieurs rôles dans Oracle

Application Express :

L’administrateur Application Express :

il gère l’ensemble des espaces de travail d’une

installation Apex.

L’administrateur de l’espace de travail :

il gère les comptes des développeurs et des utilisateurs

de son espace de travail.

Le développeur :

il crée et maintient les applications et leurs objets.

L’utilisateur :

il n’a aucun privilège et aucun accès à l’espace de travail. Il accède aux applications à travers une

URL.

4.3.14. Consolidation & Déploiement

Pour déplacer une application d’une instance Oracle Application Express vers une autre, il est

nécessaire de déplacer les métadonnées et objets de prise en charge :

- Définition d’application (pages, composants partagés)

- Objets de prise en charge comme

Objets de bases de données

Fichiers images et CSS

Autres types de fichiers (JavaScript…)

La migration d’applications est simplifiée en utilisant les objets de prise en charge lors de la création

d’une application consolidée. Plutôt que de générer de nombreuses étapes pour créer les objets,

importer et installer l’application et autres fichiers, il est préférable de définir les objets de prises en

charges afin que tous les composants de l’application puissent être migrés en quelques étapes

simples.

4.3.15. Exemple d’applications

La première application servait d’exemple pour tester le logiciel. Elle permet au chef de projet de

saisir ces activités au cours de la journée. Le chef de projet peut ainsi visualiser le détail des activités

du dernier jour pointé avec un total. Au milieu se trouve un petit formulaire pour saisir la date, le

code de l’activité, le nombre d’heures, le libellé du pointage et le matricule de la personne. La date

du jour est affichée automatiquement ainsi que le matricule de la personne. Une liste déroulante

permet de visualiser les différents codes. Elle est triée par thème et contient le code et le libellé de

l’activité. Des validations ont été ajoutées pour vérifier que les champs saisies sont corrects. Il est

aussi possible de consulter tous les pointages et de les modifier.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 28

Figure 14 : Interface de saisies de la première application

Cette application m’a permis de savoir comment créer un formulaire, un état, afficher des valeurs par

défaut et créer des listes de valeurs dynamiques et statiques.

Au départ, l’application était créée dans le but de tester le logiciel. A l’issue des différentes

modifications, cette application peut maintenant être utilisée pour saisir les pointages des journées

du chef de projet.

Une deuxième application a été créée pour la piscine municipale. Elle permet de saisir des

informations dans l’entrepôt de données afin de réaliser des états de synthèses.

Figure 15 : Interface de saisies de la deuxième application

Elle m’a permis de mieux comprendre le fonctionnement d’Apex. J’ai aussi pu travailler sur

l’administration d’Apex en créant un nouvel utilisateur, un schéma, un lien de bases de données, des

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 29

vues. Cette application a montré qu’Apex comportait des limites au niveau des liens de bases de

données.

4.4. Difficultés rencontrées

Les recherches sur Oracle Application Express ont été difficiles. En effet, il n’est pas évident de

trouver des documentations sur la création d’application sur des bases de données distantes. Malgré

le fait que la plupart des composants d’Apex s’effectue à l’aide d’assistants, il nécessaire de créer des

procédures PL/SQL dans certains cas. Des recherches sur ce langage ont donc été effectuées pour

connaître la syntaxe à utiliser.

4.5. Point de vue de l’utilisateur

Le chef de projet a testé la première application et m’a expliqué les améliorations à réaliser. Voici les

premières modifications effectuées :

- Ajout d’un nouvel état pour afficher les pointages de la dernière journée saisie

- Amélioration de la recherche afin de reconnaître les libellées avec ou sans majuscules et

accents. Les libellés sont maintenant tous en majuscules et sans accent. La recherche

s’effectue maintenant en tapant un mot en majuscule.

- Possibilité de modifier une saisie : ajout d’un nouvel état

Une fois les modifications terminées, le chef de projet a de nouveau testé l’application. De nouvelles

améliorations ont été réalisées :

- Afficher le libellé des activités et le total d’heures saisies dans la visualisation des

pointages de la dernière journée

- Possibilité de changer le libellé d’une activité créée

- Trier la liste déroulante des activités par thèmes

4.6. Bilan d’Oracle Application Express

En conclusion, Oracle Application Express est un outil très performant lorsque les bases de données

se situent sur le même serveur. Il permet de créer des applications d’interfaces de saisies très

rapidement. Mais lorsque les bases de données sont distantes, il est nécessaire d’installer Apex sur le

serveur.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 30

5. Deuxième réalisation : le développement SQL

5.1. Démarche

Dans un premier temps, mon responsable de stage m’a expliqué comment fonctionnait le système

d’information. Il m’a parlé du fonctionnement de l’outil Business Objects pour réaliser des états de

synthèses. J’ai commencé par travailler sur un projet concernant le service de la voirie afin de

découvrir ce logiciel.

Dans un deuxième temps, j’ai consacré mon temps aux limites de ce logiciel à l’aide de deux projets

concernant l’évaluation annuelle et le plan de formation des agents de la ville de Montbéliard.

5.2. Méthode

Afin de maitriser l’usage de ce nouvel outil, j’ai commencé par lire des documentations sur ce

logiciel. Il était aussi important de connaître le domaine du patrimoine de la ville de Montbéliard.

Pour cela, j’ai lu des documentations sur le progiciel GIMA. Enfin, j’ai étudié le fonctionnement des

univers du logiciel Business Objects pour comprendre leurs limites.

Pour mettre au point les requêtes SQL, j’ai tout d’abord utilisé le logiciel Toad. J’ai pu ensuite intégrer

ces requêtes dans le logiciel Business Objects afin de les lier avec les requêtes effectuées avec les

univers. J’ai également étudié les modèles des bases de données pour trouver les champs à utiliser.

5.3. La prise en main du logiciel

5.3.1. Présentation de Business Objects Desktop Intelligence

Business Objects Desktop Intelligence souvent appelé BO est un outil d’aide à la décision accessible à

l’utilisateur final. Il permet d’interroger une base de données très facilement et de manière intuitive

grâce à la notion d’univers.

L’utilisateur n’a pas besoin de connaitre la structure

de la base de données et d’utiliser le langage SQL

pour réaliser des requêtes. Les informations à

collecter sont orientées métiers. De ce fait,

l’utilisateur utilise son vocabulaire métier.

L’accès aux données :

Lors de la création d’un nouveau rapport, il existe principalement deux types d’accès aux données :

- A partir d’un univers

- A partir d’une requête SQL

Dans la suite du rapport, nous verrons comment lier les univers avec une requête SQL.

5.3.2. Première application

Le but de ce rapport est d’obtenir des informations sur chaque opération effectuée par le service

voirie au sein de la Ville de Montbéliard.

Une opération consiste par exemple à changer les réverbères, réparer une fuite d’eau etc. Elle peut

donc dans certaines situations contenir plusieurs interventions.

Champs de base de

données Objets de l’univers

SO.W_CAD_CPT.COD_BUD Budget (Code)

SO.W_CAD_CPT.NUM_ENV Envelope (Code)

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 31

Il est donc intéressant pour le responsable du service de la voirie d’obtenir des informations précises

sur chaque opération comme la cause de l’opération, la durée de travail de chaque agent, la durée

d’utilisation des véhicules et le montant des fournitures.

5.3.3. Première réalisation pour le service de la voirie

Tout d’abord j’ai commencé par sélectionner les objets de l’univers nécessaires : le corps d’état, le

code de l’opération, le nom de l’opération, les dates concernant l’opération, la cause réelle, le code

de l’intervention, le nom de l’intervention, le type de l’intervention, les dates de l’intervention, le

nom des agents, le nombre d’heures des agents, les dates de travail des agents, le nom des véhicules,

les dates d’utilisations des véhicules, les durées d’utilisations des véhicules, et le montant des

fournitures utilisées.

Avec mon responsable de stage, nous avons ensuite vérifié que les informations étaient prises au bon

endroit dans l’univers.

Ensuite, j’ai réalisé la mise en forme de ces données. Le document est trié par corps d’états. Dans les

interventions de chaque opération se trouvent les informations concernant la main d’œuvre, les

véhicule et fournitures utilisées.

5.3.4. Bilan de la première application

Ce premier rapport m’a permis de savoir comment utiliser le logiciel Business Desktop Intelligence et

de comprendre comment fonctionne la notion d’univers afin d’aborder les limites à travers deux

projets concernant l’évaluation annuelle et le plan de formation des agents de la ville de

Montbéliard.

5.4. Le projet Evaluation

5.4.1. Objectif

Chaque année a lieu une évaluation des agents de la ville et du CCAS de Montbéliard. Une fiche

d’aide à l’évaluation des agents est pré remplie. Elle contient de nombreuses informations comme le

nom, le prénom, le grade, la catégorie, le nombre de jours d’absences etc.

Depuis l’année 2011, la législation a changé, les agents ne sont plus notés. La fiche d’entretien

individuelle pré remplie a donc été modifiée. Le service des ressources humaines a donc mis en place

un nouveau modèle de fiche d’évaluation.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 32

Auparavant, le document contenait trois feuilles A3 recto-verso : une feuille pour le bilan, une autre

pour la notation en fonction de la catégorie de l’agent et une dernière pour le plan de formation.

Un script VBS était lancé par l’utilisateur. Ce script remplissait une table de la base de données

contenant les informations nécessaires pour le projet Évaluation. Ensuite un fichier de type CSV était

créé afin d’être importé dans Excel. Enfin à l’aide d’un publipostage sous Word, le document était

imprimé pour environ 700 agents.

Figure 16 : Schéma représentant les étapes de la création de l’ancien document

Le but était donc de créer un nouveau document constitué d’une feuille A3 recto-verso contenant

l’ensemble des informations nécessaires.

5.4.2. Conception

Dans un premier temps, j’ai essayé de supprimer le script VBS en créant différentes vues dans les

bases de données afin de constituer une vue globale contenant les informations nécessaires à la

réalisation du document. Le nombre de vues créées s’élevait à plus de 30. De ce fait, une simple

requête prenait plusieurs minutes. Avec mon responsable de stage, nous avons donc décidé d’utiliser

dans le logiciel Business Objects l’univers du progiciel de gestion des ressources humaines et l’univers

du progiciel de gestion de la formation pour avoir le nombre de jours d’absences des agents de la

collectivité.

Pour réaliser ce rapport, mon responsable de stage m’a expliqué comment les agents évoluaient au

sein de la collectivité.

On distingue deux types d’agents :

- Les agents de catégories A, B et assurant des fonctions d’encadrement

- Les agents de catégories C sauf les agents d’encadrement

Un agent peut avoir plusieurs grades au sein de la collectivité. De plus, il possède des échelons dans

chaque grade. Un agent peut passer d’un échelon à un autre en fonction de deux dates : la date

minimum et la date maximum. Par conséquent, un agent évoluera plus rapidement dans la

collectivité en passant par la date minimum.

La première requête :

La première requête concerne les données administratives de l’agent. Elle permet de récupérer

l’identifiant, le nom, le prénom, la catégorie, la date d’entrée dans l’organisme, la date de naissance,

la fonction, le grade, la date d’entrée dans le grade, l’échelon, la date de nomination dans l’échelon,

la structure hiérarchie, le groupe de régime indemnitaire et les agents de catégorie C assurant des

fonctions d’encadrement et le code de l’organisme (Ville ou CCAS). Cette requête est réalisée sur

l’univers agent astre.

Des conditions sont appliquées à cette requête :

- Les agents doivent appartenir aux codes de gestion 0, 1 et 2

- Le numéro d’affectation de l’agent doit être égal à 1

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 33

La deuxième requête :

La deuxième requête concerne les libellés et dates de promotion des agents. Cette requête est

nécessaire car il existe des agents qui ne possèdent pas de dates de promotion et de types

d’avancement. Par conséquent, si ces informations étaient obtenues à l’aide de la première requête,

ces agents ne possédant pas d’informations sur les promotions et ne seraient donc pas apparus dans

l’état. C’est pourquoi une deuxième requête sur le même univers Agent Astre a été créée.

La réunion de ces deux requêtes, à l’aide d’une jointure sur l’identifiant des agents, permet d’obtenir

tous les agents. Il apparaît donc que certains agents n’ont pas d’informations concernant les

promotions.

A l’aide de cette nouvelle requête, on récupère l’identifiant, le nom, le prénom, le type

d’avancement, les dates de promotions, les grades de promotions et le numéro d’ordre de

promotion.

En fonction du type d’avancement, on obtient donc l’avancement dans le grade et la promotion

interne (chacun pouvant comporter deux libellés et deux dates)

Type d’avancement Libellé correspondant

G Avancement au grade de

I Promotion interne au grade de

Les autres requêtes :

Certains agents ne possèdent pas de jours calendaires d’absences. Afin d’éviter que le tableau de

l’absentéisme ne soit vide une requête par type d’absentéisme a été effectué sur l’univers Absence

Astre. Chaque requête contient l’identifiant de l’agent, le nom, le prénom et la durée de l’arrêt.

De plus, une condition permet de prendre en compte le type de l’absentéisme :

Type arrêt (code) Libellé

MO Maladie ordinaire

ML Maladie Longue durée

MD Longue maladie

MA Maternité

AT Accident du travail

CX Congé exceptionnel

GE Enfant malade

La liaison des requêtes :

Toutes sont requêtes sont liées entre elles au niveau du matricule, du nom et du prénom de chaque

agent afin d’éviter d’avoir des fiches d’évaluations incomplètes ou erronées.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 34

5.4.3. Mise en page

Le document est trié par service et par agent. Il se compose de quatre pages. Afin d’être plié, la

disposition des pages est la suivante :

Figure 17 : Ordre des pages dans Business Objects

On utilise une des propriétés de Business Objects qui permet d’obtenir une page supplémentaire sur

la droite en faisant déborder la structure du document de la page en cours.

Visualisation du guide d’évaluation :

5.4.4. Difficultés rencontrées

Il est nécessaire de se plonger dans le vocabulaire métier pour réaliser les requêtes. J’ai effectué des

recherches sur les modèles des bases de données afin de trouver les champs nécessaires. Il est aussi

important de comprendre le fonctionnement de la collectivité.

5.4.5. Bilan du projet Evaluation

Une documentation pour l’utilisateur a été créée. Il peut ainsi actualiser la requête en sachant quels

paramètres indiqués. Une deuxième documentation a été créée. Elle explique les différentes

requêtes, quels objets ont été utilisés dans l’univers et comment la liaison des requêtes a été

effectuée.

La page 1 :

La page 1 indique les

données administratives

et le nombre de jours

d’absences de chaque

agent.

La page 2 :

La page 2 indique le rappel

des objectifs fixés l’année

précédente et le bilan de

l’année écoulée avec les

points forts et les points

faibles de l’agent.

La page 3 :

La page 3 présente en

fonction de la catégorie de

l’agent (s’il assure des

fonctions d’encadrement ou

pas) les critères à partir

desquels la valeur

professionnelle de l’agent est

appréciée. De plus, une

appréciation générale est

indiquée pour chaque agent.

La page 4 :

La page 4 comprend l’objectif

pour l’année à venir, les

souhaits particuliers et les

commentaires de l’agent et les

différentes signatures.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 35

5.5. Le projet Plan de Formation

5.5.1. Objectif

Dans le cadre de ces évaluations, un plan de formation recensant le besoin de formations des agents

est réalisé. Le but est de créer un document A4 recto-verso contenant des informations

administratives sur l’agent, le nombre d’heures de droit à la formation (DIF) et les différents stages

prévus l’année précédente qui n’ont pas été réalisés.

5.5.2. Conception

Pour effectuer ce rapport, il est nécessaire de connaître l’évolution de la carrière des agents afin de

prendre en compte les cas particuliers.

Figure 18 : Schéma représentant la carrière d’un agent

En conclusion, il existe quelques particularités :

- Un agent peut être « en cdi » sans être titulaire.

- Un agent peut être en période de stage dès le premier jour de son recrutement.

- Un agent peut avoir plusieurs dates de nomination de stage au cours de sa carrière.

Exemple : une infirmière scolaire devient puéricultrice

Les informations administratives comme le nom, le prénom, la date de stagiairisation sont issues de

l’univers Agent Astre. L’univers de la formation des ressources humaines nommé Inser ne contient

pas le nombre d’heures de droit à la formation. Il est donc nécessaire d’utiliser une requête SQL pour

obtenir cette donnée à partir de la base de données Inser. Les différents stages des agents sont

également sélectionnés dans cette base de données afin d’éviter une nouvelle requête dans l’univers

Inser.

La requête SQL :

La requête SQL permet de ramener le nombre d’heures de droit à la formation et les stages

prévisionnelles en attente ou prévu des agents.

Elle possède de nombreuses conditions afin de ramener le même nombre d’agents que la requête

issue de l’univers.

La requête sur l’univers :

Cette requête s’appuie sur le projet Evaluation. Elle utilise les mêmes objets dans l’univers. Des

conditions sont ajoutées pour ne sélectionner que les agents qui ont une évaluation. Par exemple,

certains codes de fonction ont été supprimés et seuls les agents en activité temps plein sont pris.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 36

La liaison des deux requêtes :

Au départ, la collectivité, le matricule, le nom, le prénom, le service étaient liées. Cependant, des

fiches n’apparaissaient et certaines étaient incomplètes. De ce fait, seul le service, le nom et le

prénom des deux requêtes sont liés.

5.5.3. Difficultés rencontrées

La liaison de ces requêtes n’a pas été facile car il n’était pas possible de lier la collectivité et le

matricule des agents. Afin d’éviter que des fiches soient incomplètes, le rapport ne peut contenir

qu’une seule collectivité car certains matricules sont communs au CCAS et à la Ville.

5.5.4. Mise au point avec l’utilisateur

Afin de mettre au point ce rapport et de vérifier que les informations sélectionnées étaient justes, j’ai

travaillé avec la responsable des formations en ressources humaines. En effet, il était important de

vérifier qu’il y ait le même nombre d’agents entre les fiches d’évaluations et celles du plan de

formation. De plus, cela permettait de vérifier les informations contenues dans la base de données

du progiciel de la gestion de la formation et de les modifier dans le cas où elles étaient erronées.

5.5.5. Résultat obtenu pour la requête du plan de formation

Les fiches du projet du plan de formation sont maintenant créées à l’aide du logiciel Business

Objects. Elles permettent aux agents de connaître leurs nombre d’heures de droit à la formation et

leurs stages non réalisés l’année précédente lors de l’évaluation annuelle.

5.6. Bilan du développement SQL

Ces deux projets ont montré que la liaison entre deux univers et que la liaison entre un univers et

une requête SQL étaient possible. La liaison entre univers est généralement facile à concevoir car le

logiciel se charge de lier les objets communs automatiquement. Lorsqu’il y a un problème, il faut

parfois délier certains objets.

La liaison entre univers et requête SQL est plus difficile à mettre en place car on n’a pas la main sur le

logiciel pour réaliser la jointure nécessaire. Une première solution consiste à créer un maximum de

liens par exemple sur la collectivité, le service, le matricule, le nom, le prénom. Il est parfois

nécessaire de ramener d’autres objets dans la requête pour créer des liens supplémentaires. Mais

dans certaines situations comme pour le projet Plan de formation cela ne suffit pas, il faut alors lier

seulement les données nécessaires et adapter la requête SQL pour que les données soient identiques

aux données de l’univers.

Avec une analyse approfondie de la structure des données, on parvient à lier correctement les objets

pour un résultat cohérent au niveau de la requête.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 37

6. Troisième réalisation : un nouvel outil pour les tableaux de bord

6.1. Démarche

La ville de Montbéliard a besoin de tableaux de bord pour analyser les informations. Cependant la

création de tableaux de bord est compliquée, car le logiciel utilisé actuellement est obsolète. Il était

important de trouver un nouvel outil. Nous avons eu une présentation d’une société dont le champ

d’application est lié à cette problématique. De ce fait, j’ai créé une première application pour tester

le logiciel qu’il propose : QlikView. Le but était de valider ce produit et de connaître ses limites.

6.2. Méthode

J’ai commencé par installer ce nouveau logiciel. Ensuite, j’ai effectué des recherches sur le sujet. J’ai

consulté différents tutoriels et le manuel d’utilisation. Afin de réaliser la première application

concernant les dépenses et les recettes de la collectivité, j’ai utilisé le logiciel Toad pour finaliser la

requête SQL. Je l’ai ensuite intégrée dans le logiciel QlikView afin de réaliser différents tableaux de

bord.

6.3. Développement

6.3.1. Objectif

QlikView est un logiciel de business Intelligence. Il facilite l’analyse et l’exploitation des informations

à partir de différentes sources de données. De plus, QlikView permet d’axer la recherche directement

sur les données sans tenir compte de la structure de la base de données [8]. Il travaille par

association d’idées.

Figure 19 : La recherche des informations avec QlikView

Une fois que les informations sont chargées dans le programme, les données sont présentées de

façon à être facilement compréhensibles et manipulables.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 38

6.3.2. Description

L’éditeur de QlikView se nomme QlikTech. Il siège aux Etats-Unis et a été fondé en 1993. Cette

société de Business Intelligence possède près de 700 000 utilisateurs dans 100 pays. Depuis peu,

grâce aux dernières évolutions, la société commence à remporter des parts de marchés et a eu

récemment une croissance importante.

QlikView est un logiciel propriétaire. Actuellement, je travaille sur une version d’évaluation. Il est

nécessaire d’acheter des licences pour déployer les applications créées.

Coût de la mise en place de QlikView :

Une licence locale 960 €

Un serveur

Pour chaque utilisateur

6 000 €

960 €

Ces prix sont inférieurs aux licences de Business Objects.

Positionnement de QlikView par rapport aux autres logiciels de Business Intelligence :

6.3.3. Fonctionnement

QlikView utilise une base vectorielle pour améliorer la recherche des données. Les bases vectorielles

permettent d’éviter de manipuler de gros volumes de données et de stocker deux fois la même

information. (cf. Annexe 8.6).

La base de données de QlikView récupère les données et ne stocke que les valeurs distinctes dans

chaque colonne. Ces bases sont ensuite compressées.

Les liens de base de données sont conservés

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 39

QlikView peut récupérer différentes sources de données comme une base de données relationnelle

ou un fichier texte.

Chargement des données à partir d’un fichier texte :

On crée une requête sur la base de données à l’aide du logiciel Toad. Le résultat est alors exporté

dans un fichier texte.

L’assistant de création de script permet alors de créer facilement la base de données vectorielle. Il

est possible aussi de travailler directement avec un fichier Excel à l’aide de l’assistant de démarrage.

Chargement des données à partir d’une base de données :

Il est nécessaire de créer une connexion ODBC (Open DataBase Connectivity) pour accéder à la

source de données.

Ensuite, la requête SQL peut être générée à l’aide de l’assistant ou tapée directement dans le script.

6.3.4. Les feuilles et les objets

La feuille est le composant de base de QlikView. Un document contient

généralement plusieurs feuilles, ce qui permet de créer un modèle de

conception structuré. Les feuilles sont connectées logiquement, c’est-à-

dire qu’une sélection effectuée sur une feuille modifiera tous les objets

sur toutes les autres feuilles.

Les objets permettent de visualiser le résultat des sélections. Ils peuvent

également servir à sélectionner des données.

La liste de sélection :

C’est l’objet le plus basique. Elle contient une liste de toutes les valeurs d’un champ donné de la base

de données.

Figure 20 : Les sources de données de QlikView

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 40

Les graphiques :

Les graphiques et les tableaux sont des objets qui peuvent afficher des

nombres de manière très concise. Les graphiques, les tableaux croisés

dynamiques et les tableaux simples sont logiquement identiques,

contrairement à leur apparence. Les graphiques peuvent ainsi prendre

la forme d’un histogramme, de secteurs, de nuages de points, de

courbes, de radars, de bulles, de jauges, d’entonnoirs, de graphiques

Mekko, de tableaux simples, de tableaux croisés dynamique ou de

blocs. (cf. Annexe 8.7)

Faire des requêtes dans QlikView :

Le principal moyen de faire des requêtes dans QlikView est de sélectionner des valeurs dans les listes

de sélection.

Figure 22 : Liste de sélection dans QlikView

6.3.5. Exemple de l’application créée

Cette application permet d’afficher les dépenses et les recettes de la collectivité en fonction de

l’année (Exercice), de la collectivité (Ville ou CCAS), de la section (Fonctionnement ou

Investissement), du budget, du chapitre et des différents services. Un tableau détaillé et un tableau

récapitulatif permettent de visualiser les informations en fonction des données sélectionnées.

Un code de couleur simple :

- Vert : question posée

- Blanc : réponse à la question

- Gris : non-réponse à la question

gg

Figure 21 : Graphique dans QlikView

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 41

6.3.6. Difficultés rencontrées

Le script pour générer la base vectorielle n’est pas facile à créer. Il faut s’approprier cette nouvelle

syntaxe. Un autre problème concerne les chapitres. QlikView ne faisait pas la différence entre les

chapitres 020 et 20. Cela posait des soucis car toutes les lignes de crédits appartenant à ces chapitres

étaient mélangées. J’ai donc effectué des recherches afin de trouver la syntaxe appropriée pour

modifier le script.

6.4. Bilan de l’étude QlikView

QlikView est un outil très puissant, il permet d’analyser les données très facilement. Le seul

inconvénient est de créer la base vectorielle. Une solution consisterait à créer la requête dans

Business Objects. De ce fait, la requête serait plus facile à réaliser grâce aux univers. Enfin, le résultat

pourrait être exporté dans un fichier Excel afin d’être intégré dans le logiciel QlikView. Le processus

pourrait ainsi être automatisé. La ville de Montbéliard peut donc envisager de remplacer l’ancien

logiciel.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 42

7. Conclusion

7.1. Apports techniques et pratiques du stage

Ce stage m’a permis de mettre en pratique les connaissances acquises lors de ma formation en

licence. J’ai pu développer plusieurs projets concrets en particulier les évaluations annuelles et le

plan de formation des agents de la ville de Montbéliard. Ce travail m’a fait découvrir de nouvelles

notions comme l’informatique décisionnelle, le contrôle de gestion, la comptabilité analytique, le

fonctionnement d’une collectivité territoriale. Mon responsable m’a apporté également de

nombreuses connaissances notamment dans l’histoire de l’informatique pour comprendre l’existant.

D’un point de vue plus technique, j’ai appris à utiliser de nouveaux logiciels comme SAP Business

Objects, Oracle Application Express et QlikView. De plus, je connais de nouvelles notions dans les

bases de données et je me suis perfectionné dans la réalisation de requêtes SQL. L’analyse des

modèles de données était vaste et complexe.

7.2. Apports méthodologiques et enrichissements personnels

Cette expérience m’a permis d’appréhender les méthodologies en vigueur dans le monde du travail.

J’ai compris l’importance de la gestion du temps et des délais dans la gestion des projets. De plus, il

est important de consacrer du temps et de la qualité aux documentations car c’est elles qui vont faire

vivre l’outil. De nos jours, l’informatique se pratique en équipe. Il est nécessaire d’avoir des relations

étroites avec l’utilisateur.

J’ai travaillé avec un stagiaire en comptabilité analytique. Ses connaissances en contrôle de gestion

ajoutées à mes compétences informatiques ont donné naissance à des états de synthèses complets.

Ce stage m’a conforté dans l’idée de travailler dans le domaine de l’informatique. Il me parait très

intéressant de travailler au sein d’une collectivité dont les domaines d’interventions sont variés.

Néanmoins, il est nécessaire d’avoir des connaissances en technologie réseau, de bonnes qualités

relationnelles pour intégrer des solutions progicielles.

La ville de Montbéliard a mis en place un service de contrôle de gestion pour faire des analyses et

déterminer les axes de réflexions. Les technologies de Business Intelligence deviennent un outil

incontournable pour accomplir cette mission.

Aujourd’hui, les marges de manœuvre financières sont de plus en plus réduites. La collectivité

comme toutes les sociétés cherchent à optimiser leurs fonctionnements, tout en continuant

d’améliorer la qualité du service public.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 43

8. Annexe

8.1. La virtualisation

La ville de Montbéliard a choisi de mettre en place la virtualisation des serveurs. Un serveur virtuel

possède huit processeurs à doubles cœurs. Ainsi il peut-être partagé entre plusieurs applications et

systèmes d’exploitation. De ce fait, des systèmes d’exploitation plus anciens peuvent fonctionner à

coté de systèmes comme Windows Serveur 2000 ou Linux. De plus, les ressources sont plus faciles à

gérer et à optimiser. La virtualisation de serveurs permet également le transfert d’applications d’un

serveur à l’autre *9+. Cela est très utile lorsqu’un serveur est en dysfonctionnement.

Un deuxième niveau de virtualisation concerne les applications. La virtualisation d’application

consiste à encapsuler dans un même package l’application et son environnement système de

manière imperméable au système d’exploitation sur lequel l’application s’exécute. Cette application

peut-être lancée à l’aide d’un fichier exécutable ou fonctionner en streaming. Un des premiers

avantages est que toutes les applications virtualisées possèdent la même configuration. Ainsi lors de

l’installation d’applications, il n’est pas nécessaire de modifier les paramètres des applications sur

chaque poste de travail. Enfin, il est possible de faire tourner plusieurs versions d’une application sur

un même système d’exploitation (exemple : applications Microsoft Office).

Figure 23 : Virtualisation d’applications sous Windows

Une couche de virtualisation est ajoutée entre les programmes virtualisés et le système

d'exploitation qui intercepte les appels systèmes (base de registre, disque, applications).

Le streaming applicatif consiste à n’exporter que la partie interaction de l’application, c’est-à-dire

l’affichage et les interactions clavier/souris. Le programme s’exécute sur un serveur applicatif et un

flux de données transporte les informations d’interaction. Le principal avantage de cette technologie

est l’administration centralisée sur les serveurs d’applications. Ainsi, la maintenance est simplifiée et

les interventions sont plus rapides en cas d’incidents.

La ville de Montbéliard a aussi mis en place la virtualisation des postes de travail. Cela consiste à faire

fonctionner sur une machine plusieurs systèmes d’exploitation, séparément les uns des autres,

comme s’ils fonctionnaient sur des machines physiques distinctes. La gestion est donc centralisée et

les données sont isolées. De plus, la consommation électrique est diminuée de 40%.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 44

Un autre avantage est de pouvoir réutiliser des ordinateurs obsolètes. En effet, ils ne permettent

plus de faire fonctionner les progiciels actuels. Ainsi, ils servent d’écrans pour afficher les

informations du serveur et d’interface de saisies. Cela permet de leurs donner une deuxième vie.

Enfin, il est très facile de configurer les serveurs et chaque session dispose de beaucoup plus de

puissance.

Chaque poste de travail peut-être ouvert à n’importe quel endroit à condition de disposer d’une

connexion internet. Afin d’assurer la sécurité, un système de cryptage RSA a été mis en place. Une clé

RSA permet d’obtenir le code afin de se connecter au serveur. Par exemple, chaque élu peut

retrouver son poste de travail à la maison et signer les arrêtés électroniquement.

En conclusion, ces trois types de virtualisation peuvent indépendamment des autres. Par exemple,

une session de travail virtuel ou une application virtualisée ne sont pas forcément installées sur un

serveur virtuel.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 45

8.2. Le système d’information et de pilotage

La ville de Montbéliard a choisi la société Bull pour mettre en place le système d’information et de

pilotage. Voici la plaquette officielle du projet :

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 46

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 47

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 48

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 49

8.3. Les schémas dimensionnels

Le schéma en étoile :

Le schéma en étoile consiste en une grande table de faits et un cercle d’autres tables qui contient les

éléments descriptifs du fait appelées dimensions [11]. Le modèle ressemble à une étoile comme

l’illustre la figure suivante :

Figure 24 : Schéma en étoile

La table des faits contient les données observables que l'on possède sur un sujet (les faits) et que l'on

veut étudier, selon divers axes d'analyse (les dimensions).

Le schéma en flocons de neige :

Le schéma en flocons de neige est une variante du schéma en étoile. Dans la théorie la différence

réside dans la simple normalisation des tables de dimensions. Il est donc tout simplement question

de mettre les attributs de chaque niveau hiérarchique dans une table de dimension à part.

Figure 25 : Schéma en flocons de neige

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 50

8.4. Le tableau de bord

Semaine 1 Tâches effectuées / Problèmes rencontrés

Lundi 14 mars Découverte de l’environnement de travail, des différents logiciels

Lecture de documentations sur Business Objects, l’ETL, GIMA

Recherche sur l’informatique décisionnelle, la comptabilité analytique

Mardi 15 mars Présentation des différents services

Rencontre avec l’administrateur réseau système, la personne chargée de mission d’informatisation

de la gestion du courrier, le responsable Telecom, le Directeur du parc informatique

Mercredi 16 mars Travailler avec la personne chargée de mission d’informatisation de la gestion du courrier sur un

problème XML concernant le parapheur électronique : les pièces jointes étaient trop volumineuses.

Il était nécessaire de réduire le code XML sans disposer de la structure du code

Découverte du logiciel Apex

Point avec Dominique VOIDEY

Présentation du projet de stage

Jeudi 17 mars Projet Limite de saisies des données

Création d’un exemple d’application avec Apex

Vendredi 18 mars Projet Limite de saisies des données

Commencer la documentation

Semaine 2 Tâches effectuées / Problèmes rencontrés

Lundi 21 mars Terminer l’application Apex

Création d’un formulaire de saisie pour le pointage et les différentes activités

Création d’une liste déroulante statique, dynamique avec le code et le libellé

(Possibilité de saisir des valeurs avec la liste déroulante ou en tapant directement la valeur)

Afficher la valeur par défaut d’un champ

Tester les boutons radio, les cases à cocher

Validation d’un numéro de téléphone, d’une date, d’un mail à l’aide d’expressions régulières

Mettre la date du jour en valeur par défaut

Déclencheur PL/SQL pour le code d’activité lorsqu’il n’existe pas de trigger associé

Bug rencontré avec Google chrome pour naviguer entre les pages (les éléments ne sont pas tous

affichés)

Solution : il faut recharger la page

Mardi 22 mars Nouveau Projet : réalisation d’un rapport pour la voirie pour gérer les différentes opérations par

corps de métiers

Le rapport doit aussi contenir la main d’œuvre : agent avec nom et prénom nombre d’heures

effectuées pour l’intervention

Les véhicules : nom, marque date de sortie, date de retour, kilométrage.

Problème : les kilomètres sont en fait saisie sous forme d’heures dans la base de donnée 1.1 pour

1h15, 1.3 pour une heure 1h30 et 1h4 pour 1h45

Conséquence, une transformation est nécessaire

Recherche des différents objets de l’univers

Logiciel utilisé GIMA (patrimoine)

Mercredi 23 mars Recherche des différents objets de l’univers sur le projet de la voirie, avec l’aide d’impression

écran du logiciel GIMA pour la saisie d’une intervention

Création d’un tableau final avec les différents champs nécessaires

Transformation des kilomètres en heures (cf. mardi 22 mars)

Transformation du type Intervention (I pour interne, E pour Externe)

Commencer la mise en page avec les sections et les ruptures

Jeudi 24 mars Mise en page du tableau final du projet de la voirie

Création des totaux

Problème pour les totaux par métier : la ligne se répète sur chaque tableau

Redondance de l’information

Vendredi 25 mars Nouvelle mise en page du rapport

Réalisation des totaux

Semaine 3 Tâches effectuées / Problèmes rencontrés

Lundi 28 mars Terminer le rapport

Total par métier et général

Problème de taille : réduction des tableaux

Mardi 29 mars Réduction de la taille du fichier

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 51

Finalisation du rapport sur la voirie – liste des opérations par corps d’état

Présentation du nouveau projet sur les évaluations

Mercredi 30 mars Commencer le projet Evaluation

Présentation du projet sur le plan de formation

Problème de connexion pour effectuer la requête : BO n’a pas les droits

Jeudi 31 mars Première mise en page du projet Evaluations

Création de la feuille d’appréciation en fonction de la catégorie de l’agent (A, B : responsable, C

(parfois responsable))

Vendredi 1 avril Essayer de supprimer la procédure VBS pour effectuer les requêtes pour produire la table

nécessaire

Création de vue pour chaque requête update de la procédure, pour être amené à créer une seule vue

correspondant à la table clteval1

Semaine 4 Tâches effectuées / Problèmes rencontrés

Lundi 4 avril Création de vues sur la base de test

Problème plus de 45 vues (lenteur des requêtes sur les vues)

Mardi 5 avril Autres pistes : l’univers Agent Astre dans Business Objects

Recherche des différents champs dans l’univers Agent Astre

Mercredi 6 avril Recherche des différents champs : date de promotion et libellé dans l’univers

Création d’une deuxième requête pour avoir tous les agents

Jeudi 7 avril Commencer la mise en page

Vendredi 8 avril Terminer la mise en page

Requête sur l’absentéisme à partir de l’univers Absence Astre

Nécessité de lier les variables avec le cube bleu pour des requêtes provenant d’univers différents

Problème pour avoir le nombre d’absences par agent (maladie ordinaire, longue maladie …)

Semaine 5 Tâches effectuées / Problèmes rencontrés

Lundi 11 avril Terminer la mise en page

Point avec Dominique VOIDEY

Modification de la mise en page de projet Evaluation

Problème de jointure : les dates de minimum et de maximum d’avancement d’échelon

n’apparaissent pas (idem pour les dates de promotions et les libellés)

Mardi 12 avril Commencer le projet de plan de formation

Recherche des différents objets de l’univers Inser

Commencer une première mise en page

Mercredi 13 avril Problème :Tous les objets ne sont pas présents dans l’univers Inser

Recherche dans la base de données Inser pour faire une connexion SQL dans l’état BO

Recherche dans la base de données RH afin de trouver les informations dans Inser car Inser est

alimenté à partir d’une requête qui sélectionne les données de la base RH

Requête dans Inser pour trouver les formations non réalisées l’année précédente

Jeudi 14 avril Terminer la mise en page du projet Plan de formation

Recherche des informations dans le passage de la base RH à la base Inser

Problème :

- la date d’entrée dans la collectivité : elle ne correspond pas aux exemples

- le poste occupé : il est différents dans l’univers Inser différents

(recherche dans la base de données Inser)

- la date de la dernière stagiairisation

(requête dans l’univers RH à partir de l’historique de la personne)

- la date du grade actuel : non présent dans Inser

(requête dans RH à partir de la date du grade actuel ou de l’historique)

- le nombre d’heures de DIF restant : il n’est pas présent pour tous les agents dans la base de

données Inser

Vendredi 15 avril Terminer le rapport

Commencer à transformer le script VBA sous Excel en BO pour convertir un chiffre en lettre

comme sur un chéquier

Semaine 6 Tâches effectuées / Problèmes rencontrés

Lundi 18 avril Continuer la conversion du VBA convnumberletter sous BO

Problème : il y a trop de variables créées

Solution : utiliser Visual Basic intégré sous BO

Faire des recherches pour créer une fonction personnalisée sous BO

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 52

Point avec Dominique sur le projet Plan de formation

Problème rencontré :

- connexion à l’univers agent astre et inser

- revoir la mise en page : ne pas utiliser d’image bitmap dans l’état mais plutôt le code Ascii

(mémoire insuffisante au niveau de l’imprimante)

Solution :

- faire une requête SQL sur la base de données Inser

- prendre l’univers RH pour le poste occupé, la date d’entrée dans la collectivité, la date de

dernière stagiairisation

- créer une requête à partir de historique dans l’univers RH pour la date du grade actuel

Mardi 19 avril Projet plan de formation : appliquer les modifications

Mercredi 20 avril Problème de la mise en page pour le projet plan de formation :

Solution :

Trouver un carré coché : utilisation de charmap dans démarrer exécuter, puis convertir le code

hexadécimal et faire alt + 0suivi du code décimal

Jeudi 21 avril Terminer mise en page

Commencer la documentation sur le projet Evaluation et Plan de formation

Vendredi 22 avril Continuer les documentations pour les utilisateurs et les informaticiens

Semaine 7 Tâches effectuées / Problèmes rencontrés

Lundi 25 avril Lundi de Pâques

Mardi 26 avril Terminer la documentation sur le plan de formation

Description du service

Mercredi 27 avril Documentation Liste des opérations par corps d’état voirie

Historique de la ville de Montbéliard

Jeudi 28 avril Terminer la documentation sur le projet Evaluation

Description du SIP

Vendredi 29 avril Documentation sur le logiciel Business Objects

Semaine 8 Tâches effectuées / Problèmes rencontrés

Lundi 2 mai Terminer Documentation sur Apex

Mardi 3 mai Modifier la requête sur le projet Evaluation et plan de formation pour réduire le nombre d’agent :

des positions statutaires sont à exclure

Mercredi 4 mai Aider un stagiaire à réaliser une requête SQL sur le compte épargne temps

Problème : l’univers n’arrive pas à faire de simples jointures

Solution : faire une requête SQL pour récupérer les infos dans la base de données RH

Jeudi 5 mai Problème plan de formation : le nombre heure de DIF et le nom des stages ne sont pas présents

dans le rapport.

Solution : modification de la requête pour tout afficher : stage prévisionnel prévu ou en attente et

non stage réalisé non annulé par l’agent

Vendredi 6 mai Terminer le projet plan de formation

Problème pour lier la requête SQL à l’univers RH.

Il faut prendre structure hiérarchique code et non structure gestionnaire dans l’univers pour lier les

codes services. La liaison entre les matricules de chaque requête ne marche pas, les heures de DIF

ne sont plus présentes pour certains agents. De plus, un problème se pose également pour les

personnes ayant le même nom, la liaison ne se fait pas.

Solution : lier sur le code service, le nom et le prénom.

Changer la section en nom&prénom au lieu de matricule&nom&prenom

Il faut faire un filtre sur l’état pour les stages en prenant « prévu » et « en attente » (stage

prévisionnel de 2011)

Semaine 9 Tâches effectuées / Problèmes rencontrés

Lundi 9 mai Continuer le projet limites de saisies des données

Mardi 10 mai Terminer l’application pour saisir des activités en améliorant la requête sur la liste de valeurs des

codes de la collectivité pour la recherche, suppression des accents, tout est mis en majuscule

Nouvelle page pour saisir les activités et pour le dernier jour saisi

Commencer le projet des tableaux de bord

Télécharger QlikView

Commencer la requête pour alimenter la base vectorielle

Mercredi 11 mai Modifier la requête pour obtenir les champs nécessaires

Trouver les noms des champs correspondants

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 53

Création d’un document dans QlikView

Jeudi 12 mai Continuer le projet QlikView

Entretien avec Mme Greffier

Revoir le rapport de stage

Vendredi 13 mai Continuer Projet Tableau de bord

Problème pour afficher les montants

Solution : il faut remplir les expressions en faisant la somme des montants

Semaine 10 Tâches effectuées / Problèmes rencontrés

Lundi 16 mai Projet QlikView :

- Chargement d’un fichier Excel à l’aide de l’assistant

- Chargement des données à l’aide d’un fichier type csv ou tabulations

- Connexion ODBC réalisation de la requête dans le script

- Problème pour afficher les numéros de chapitre la distinction entre 020 et 20 n’est pas faite

Solutions :

- Mettre to_char devant (cela ne marche pas),

- Mettre ‘- ‘|| CODE || ‘ -‘ pour faire la distinction

- Mettre ‘- ‘ || code || ‘ –‘ pour les code commençant par 0,

sinon ‘# ‘ || code || ‘ #‘

Mardi 17 mai Trouver la solution pour QlikView : modifier le script en utilisant des fonctions prédéfinies

Problème trouver la syntaxe appropriée

Projet plan de formation

Problème concernant de liaison des deux requêtes

Modification de la requête SQL

Les DIF n’apparaissent pas pour certaines personnes

Ajouter des conditions dans la requête pour avoir le même nombre d’agents

Créer un compteur dans la requête SQL pour le nombre de stage

Les DIF sont multipliés par ce nombre de stage (divisé par le compteur)

Problème : des fiches d’évaluations sont incomplètes et non remplies car les agents n’ont pas les

mêmes positions statutaires dans la base de données Astre et Inser.

Solution : corriger les informations dans Inser car Astre est juste.

Mercredi 18 mai Continuer le projet plan de formation pour corriger le problème des DIF, des stages. Essayer

d’avoir le nombre d’agents exact des deux cotés requête SQL sur Inser et requête sur l’univers

Astre.

Contact avec la responsable des ressources humaines pour vérifier les données.

Problème : en corrigeant le problème des DIF, certaines personnes ne possédaient plus de stage.

Jeudi 19 mai Projet Apex Piscine :

Recherche sur apex pour créer une application à partir d’une application distante.

Recherche dans les tutoriels, articles, livres

Création d’un développeur dans le logiciel Apex.

Création d’un lien de bases de données, différents tests ont été réalisés

Problème : les assistants d’Apex ne détectent pas les tables de la base distante

Solution : création d’une vue en lecture et en écriture

Vendredi 20 mai Projet Apex piscine

Création des vues

Aider la comptable à créer une requête sous BO

Semaine 11 Tâches effectuées / Problèmes rencontrés

Lundi 23 mai Modifier l’application de saisies des activités

Mardi 24 mai Continuer le projet de la piscine

Problème : une erreur se produit lors de l’envoi d’un formulaire

(cause : le lien de bases de données)

Solution :

- création de procédure PL/SQL

- installer Apex sur le serveur distant

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 54

8.5. Le fonctionnement d’Apex

L’architecture 3-Tiers :

Elle est composée de trois éléments :

- le navigateur Web

- un serveur http Apache muni d’un plug-in

nommé « mod_plsql »

- une base de données Oracle avec Apex

Le plug-in « mod_plsql » joue le rôle de relayeur d’informations entre les requêtes du navigateur et

les métadonnées d’Apex.

Le fonctionnement d’Apex avec cette

architecture :

Le client effectue à l’aide du navigateur

une action, par exemple presser un

bouton ou déclencher une recherche

dans une table :

1. Une requête HTTP est envoyée au serveur Apache

2. Le serveur Apache relaye cette requête, via une connexion SQL*Net, vers les procédures stockées

du moteur Apex grâce au plug-in « mod_sql »

3. Les procédures appellent alors des fonctions du PL/SQL Web Toolkit pour traiter la requête du

navigateur.

Le PL/SQL Web Toolkit est une API réalisée en PL/SQL qui permet d’analyser la requête http et de

dialoguer avec la base de données pour récupérer, ajouter, supprimer ou mettre à jours les données.

Il génère ensuite une page composée de code HTML qui correspond au résultat de la demande de

l’utilisateur. Cette page est alors renvoyé aux procédures stockées d’Apex.

4. Le trajet s’effectue dans le sens inverse. Apex envoie la page HTML générée au serveur Apache via

la connexion SQL*Net du plug-in « mod_plsql ».

5. Le plug-in relaye l’information au

navigateur Internet afin qu’il affiche la

générée.

L’architecture 2-Tiers :

Elle est composée de deux éléments :

- un navigateur Internet

Figure 27 : Le fonctionnement de l'architecture 3-Tiers

Figure 28 : L'architecture 2-Tiers

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 55

- un serveur dans lequel se trouve :

la base de données Contenant Apex

un Listener HTTP : Oracle XDB

La différence par rapport l’architecture 3-Tiers est que le XML DB HTTP Listener fournit à peu près

les mêmes fonctionnalités que le plug-in « mod_plsql », mais il ne nécessite pas de serveur HTTP et

n’est pas intégré directement à la base de données contenant Apex.

Le fonctionnement d’Apex avec cette

architecture :

Le client effectue la même action à l’aide du

navigateur :

Comparaison de ces deux architectures :

Pourquoi choisir une architecture 3-Tiers ?

L’architecture 3-Tiers peut-être couplée à un Firewall ce qui permet d’améliorer la sécurité. Dans

certains cas, le serveur http est placé dans la DMZ le serveur de bases de données dans la partie

réseau interne (LAN).

De plus, le plug-in « mod_plsql » couplé au serveur Apache possède plus de fonctionnalités que XML

DB Listener. Il permet notamment de faire du System Monitoring ou d’avoir un cache HTML

dynamique.

Pourquoi choisir une architecture 2-Tiers ?

L’installation, la configuration, l’administration et la maintenabilité d’Apex sont simplifiées car on ne

s’occupe plus d’un serveur http.

De plus, XML DB Listener peut-être utilisé pour d’autres applications de types « PL/SQL Web

Applications ». De ce fait, il est possible de s’appuyer sur le Listener XDB si l’on souhaite recoder le

moteur d’Apex.

En conclusion, le choix de l’architecture dépend de ce que l’on souhaite mettre en place.

1. Le XDB Listener reçoit la requête du navigateur du client

2. Il route cette requête vers la passerelle PL/SQL intégrée (PL/SQL Gateway)

3. La passerelle analyse les informations contenues dans la requête http et appelle les

procédures stockées correspondantes du moteur Apex

4. Le moteur Apex utilise l’API PL/SQL Web Toolkit afin d’accéder aux informations de la

base de données (pour réaliser la consultation, l’ajout, la mise à jour ou la suppression

de données) et générer la page HTML pour le client

5. La page est récupérée par le moteur Apex et envoyée à la passerelle intégrée

6. La passerelle envoie la page au XML DB Listener

7. Le navigateur affiche la page générée

Figure 29 : Le fonctionnement de l'architecture 2-Tiers

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 56

8.6. Définition d’une base de données vectorielle

Une base vectorielle extrait les données d’une table, les dé-doublonne et les numérote. Les tables

obtenues ne contiennent plus les données mais leurs numéros [10].

L’avantage de ce système est qu’il permet d’éviter de stocker deux fois la même valeur.

Exemple :

Le médecin généraliste est stocké trois dans la base de données relationnelle et une seule fois dans la

base vectorielle

Un autre avantage est que lorsque l’on trie les données comme dans l’exemple, on manipule

maintenant des nombres à la place des valeurs.

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 57

8.7. Les types de graphiques dans QlikView

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 58

[WK12011] 1 Wikipédia. Informatique décisionnelle. [Internet]. [cited 13 mai 2011].

Available from : http://wikipedia.org/wiki/informatique_d%C3%A9cisionnelle

[WN2010] 2 Web~ntic. ETL domaine décisionnel. [Internet]. [cited 8 février 2010].

Available from : http://phortail.org/webntic/ETL-domaine-decisionnel.html

[AL2011] 3 Alain Fernandez. Les progiciels de la business intelligence. [Internet].

[cited 2011]. Available from :

http://piloter.org/business-intelligence/business-intelligence.html

[WK22011] 4 Wikipédia. Hypercube OLAP. [Internet]. [cited 12 mars 2011].

Available from : http://fr.wikipedia.org/wiki/Hypercube_OLAP

[AB2009] 5 Ahcène Bourouis. Oracle Application Express Développement rapide

d’applications web pour Oracle. *Livre+. *décembre 2009+. *Edition ENI+.

[OR2011] 6 Oracle. Oracle Application Express. [Internet]. [cited 2011]. Available from :

http://www.oracle.com/technetwork/developer-

tools/apex/overview/index.html

[CM2007] 7 Cédric Mylle. Apex : Application Express d’Oracle. [Internet]. [cited 2007].

Available from :

http://www-igm.univ-mlv.fr/~dr/XPOSE2007/cmylle_apex/index.php

[QTI2010] 8 QlikTech International. QlikView Manuel. [Internet]. [cited juin 2010].

Available from : http://www.qlikview.com

[DT2008] 9 David Teneau. Virtualisation et streaming d’application. *Internet+.

[cited 2008]. Available from :

http://wwwigm.univmlv/~dr/XPOSE2008/virtualisation_et_streaming

_d_applications/index.html

[YD2011] 10 Yves Ducourneau. QlikView : Principe de la base vectorielle. [Internet].

[cited 17 avril 2011]. Available from :

http://yves.ducourneau.perso.sfr.fr/qlikview-vectoriel.html

[KS2009] 11 Karim Slaimi. Informatique décisionnelle (BI) : OLAP et la modélisation

dimensionnelle. [Internet]. [cited 2009]. Available from :

http://igm.univ-mlv.fr/~dr/XPOSE2009/informatique_decisionnelle_

olap/index.html

Bibliographie / Netographie

Informatique décisionnelle : Applications et Limites

Université de Franche-Comté 2010/2011 Page 59

Résumé :

Le stage de fin de troisième année clôture la formation de la licence informatique au sein de

l’université de Franche-Comté.

J’ai pu effectuer ce stage au sein de la ville de Montbéliard, où j’ai travaillé dans le domaine

de l’informatique décisionnelle. J’ai effectué des recherches afin de trouver un logiciel pour créer des

interfaces de saisies, développer des requêtes SQL et étudier un nouveau logiciel pour créer des

tableaux de bord.

Ce rapport relate mon travail au sein de la collectivité et tous les enseignements dont j’ai pu

bénéficier, tant d’un point de vue technique que d’un point de vue humain.

Mots clés : Informatique décisionnel, États de synthèses, Développement SQL, Système

d’information

Summary :

The third-year end placement closing the training at the University of Franche-Comté.

I could be an intern in the town of Montbéliard, where I worked in Business Intelligence. I had

to find a program to create input interfaces, to develop SQL queries and to study a new software to

create dashboards.

This report describes my work within the community and I could draw as many lessons, both

from a technical point of view as a human point of view.

Keywords : Business Intelligence, Summary statements, SQL queries, Information system