Mémo Galilée

Mémo Galilée

www.viragegroup.com

contact@viragegroup.com

Table des matières
Historique des modifications

1. Introduction

1.1 Objet du document

Ce document a pour but de présenter le fonctionnement du module Galilée, avec notamment le schéma de l’entrepôt de données et les principaux éléments des tables.

1.2 Principes généraux

Galilée est le module « Business Intelligence » de Project Monitor. Il comporte un dispositif d’alimentation d’un entrepôt de données.

L’entrepôt de données va contenir des données exportées depuis la base de production sur une fréquence à établir (en général, rafraîchissement chaque jour ouvré). Son schéma est organisé pour facilement être exploitable et interrogeable sans avoir besoin de connaissances approfondies sur le modèle Project Monitor.

La synchronisation s’effectue en deux temps :

  1. Suppression de l’ensemble des tables de la base de données Galilée
  2. Création des tables et l’insertion des données de Project Monitor vers la base de données Galilée

Les données de l’entrepôt couvrent l’essentiel des données de Project Monitor.

2. Architecture Logique

Ce schéma représente l'architecture logique générale de l’offre « Business Intelligence » (BI) intégré à la solution Galilée :

Figure 0 : Schéma Galilée
Figure 0 : Schéma Galilée

3. Les tables de Galilée

3.1 La synchronisation

Depuis Project Monitor / Perf Monitor, l’administrateur peut choisir, dans la carte Galilée du thème admin, la liste des attributs (indépendamment des thèmes sélectionnés) et des thèmes à descendre dans Galilée.

Fonctionnement :

  • Cliquer sur le menu principal, puis Administration avancée
  • Cliquer sur la carte « Galilée » :

Dans la section « Paramétrage Galilée » vous avez le choix entre :

  • Attributs : liste les attributs à synchroniser dans Galilée.
  • Thèmes : liste les thématiques à synchroniser dans Galilée.
    • Droit
    • Planning
    • Budget
    • Ressource
    • Risque
    • Indicateur
    • Tâche
    • Echange

La synchronisation peut s’effectuer manuellement depuis l’IHM de PM (voir ci-dessus, en cliquant sur le bouton « exécuter ») ou automatiquement via un paramétrage depuis le fichier de configuration de PM (voir Dossier d’Exploitation).

Figure 1 : Carte Galilée
Figure 1 : Carte Galilée

3.2 Les tables

Le schéma de la base de données Galilée est architecturé pour facilement être exploitable et interrogeable sans avoir besoin de connaissances approfondies sur le modèle Project Monitor. Vous trouverez ci-dessous une vue générale de la base de données Galilée :

Figure 2 : Vue générale de la BDD Galilée
Figure 2 : Vue générale de la BDD Galilée

3.2.1 Le thème budget

Les tables qui concentrent les informations du budget sont les suivantes :

Description de chacune des tables :

Table
Description
Budget
Liste des mesures de type budget
Enveloppe
Données descriptives et de reporting des enveloppes (ex : statut, montant, libellé, …)
FaitBudget
Données de reporting sur les budgets (ex : montant cible, planifié, …)
PieceFinanciere
Données descriptives des pièces financières (ex : engagement, mandat, …)
Phase
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
RattachementEnveloppe
Données de rattachement des enveloppes aux hiérarchies
Période
Description des périodes

Remarques :

La notion de dérive correspond à « Projet - Cible ».

Figure 3 : MCD thème budget
Figure 3 : MCD thème budget

3.2.2 Le thème demandebudget

Les tables qui concentrent les informations du « demandebudget » sont :

Description de chacune des tables :

Tables
Descriptions
Budget
Liste des mesures de type budget
FaitDemandeBudget
Valeurs des demandes de budget dans les projets, associés aux hypothèses faites
DemandeBudget
Suivi des versions et des statuts des demandes de budget des projets
Phase
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
RattachementEnveloppe
Données de rattachement des enveloppes aux hiérarchies
Figure 4 : MCD thème demandebudget
Figure 4 : MCD thème demandebudget

3.2.3 Le thème hiérarchie

Les tables qui concentrent les informations sur les hiérarchies sont :

Description de chacune des tables :

Tables
Descriptions
Dimension1 à 301
Description des hiérarchies. IMPORTANT : Galilée est limité à 3 hiérarchies ainsi qu’à 10 niveaux au sein de chaque hiérarchie
RattachementEnveloppe
Données de rattachement des enveloppes aux hiérarchies
RattachementProjet
Données de rattachement du projet
RattachementRessource
Données de rattachement des ressources

Voici la règle de synchronisation :

Les hiérarchies sont synchronisées si et seulement si dans la fiche hiérarchie les options « optionnelles » ou « obligatoires » sont actives sur un des champs de la fiche hiérarchie.

Si un des 2 champs est actif alors la synchronisation de la hiérarchie sera réalisée.

L’ordonnancement d’inscription dans les tables de « dimension » sera le suivant :

Numéro d’ordre (dans l’ordre plus petit au plus grand) puis le libellé (dans l’ordre alphabétique)

Pour avoir des informations complémentaires sur ces tables, veuillez vous référer au chapitre Les hiérarchies projet

Figure 5 : MCD thème hiérarchie
Figure 5 : MCD thème hiérarchie

3.2.4 Le thème projet

Les tables qui concentrent les informations projet sont :

Description de chacune des tables :

Tables
Descriptions
FaitDureeProjet
Données précalculées sur la durée des projets
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
RattachementProjet
Données de rattachement du projet
Periode
Description des périodes
Figure 6 : MDC thème projet
Figure 6 : MDC thème projet

3.2.5 Le thème ressource

Les tables qui concentrent les informations ressources sont :

Description de chacune des tables :

Tables
Descriptions
FaitRessource
Données de reporting sur les ressources (ex : temps passé, planifié, …)
FaitRessourceJour
Données de reporting sur les ressources détaillé au niveau journée
FaitRessourcePlateforme
Données descriptives des ressources
Profil
Liste des profils
RattachementRessource
Données de rattachement des ressources
Ressource
Liste et caractéristiques des ressources
Phases
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Periode
Description des périodes
Instantane
Journal pour l'historisation de l'évolution des ressources
Figure 7 : MCD thème ressource
Figure 7 : MCD thème ressource

3.2.6 Le thème indicateur

Les tables qui concentrent les informations du thème indicateur sont :

Description de chacune des tables :

Tables
Descriptions
FaitIndicateur
Données de reporting des indicateurs (ex : référence, réalisé, planifié, …)
Indicateur
Données descriptives des indicateurs
Phases
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Periode
Description des périodes
Figure 8 : MCD thème indicateur
Figure 8 : MCD thème indicateur

3.2.7 Le thème risque

Les tables qui concentrent les informations du risque sont :

Description de chacune des tables :

Tables
Descriptions
CategorieRisque
Liste et caractéristiques des risques
FaitRisque
Données de reporting des risques (ex : probabilité, sévérité, …)
Phases
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Periode
Description des périodes
Risque
Liste des Risques
Figure 9 : MCD thème risque
Figure 9 : MCD thème risque

3.2.8 Le thème tâche

La table qui concentre les informations des tâches est :

Description de chacune des tables :

Tables
Descriptions
Tache
Données descriptives et de reporting des tâches (ex : libellés, assigné, statut, …)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Figure 10 : MCD thème tache
Figure 10 : MCD thème tache

3.2.9 Le thème échange

La table qui concentre les informations des échanges est :

Description de chacune des tables :

Tables
Descriptions
Echange
Données descriptives des échanges (ex : libellés, message, genre, …)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Figure 11 : MCD thème échange
Figure 11 : MCD thème échange

3.2.10 Le thème attribut

La table qui concentre les informations des attributs est :

Description de chacune des tables :

Tables
Descriptions
Attribut
Données descriptives des attributs (ex : code, libellés, type …)
FaitAttributProjet
Données de reporting des attributs projets (ex : valeur de l’attribut, date de création de l’attribut)
FaitAttributEchange
Données de reporting des attributs échanges (ex : valeur de l’attribut, …)
FaitAttributPhase
Données de reporting des attributs phases (ex : valeur de l’attribut, …)
FaitAttributTache
Données de reporting des attributs tâches (ex : valeur de l’attribut, …)
Periode
Description des périodes
Formulaire
Description des formulaires
AttributFormulaire
Relation de rattachement d’un attribut à un formulaire

Remarques :

  • Pour les attributs historisés, nous sauvegardons les historiques des valeurs dans ces tables.
  • Pour les attributs riches, les champs HTML sont synchronisables dans Galilée sous une forme traduite non-HTML (affichage avec les balises), notamment pour simplifier le contenu du champ et pour enlever les images des champs message des taches.
Figure 12 : MCD thème attributs
Figure 12 : MCD thème attributs

3.2.11 Le thème droit

Les tables qui concentrent les informations du droit sont :

Description de chacune des tables :

Tables
Descriptions
Droit
Données reprenant les éléments permettant d’établir les droits de consultation par utilisateur, ainsi que le nom et le prénom de chaque user
Utilisateur
Données descriptives de l’utilisateur (ex : nom, prénom, langue, mail…)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
FaitRole
Données de reporting des rôles (rôle projet, rôle généraux, rôles hiérarchiques…)
Dimensions
Description des hiérarchies. IMPORTANT : Galilée est limité à 20 hiérarchies ainsi qu’à 10 niveaux au sein de chaque hiérarchie

Pour avoir des informations complémentaires sur ces tables, veuillez vous référer au chapitre Gestion de la sécurité

Figure 13 : MCD thème droit
Figure 13 : MCD thème droit

3.2.12 Le thème technique

Les tables qui concentrent les informations techniques sont :

Description de chacune des tables :

Tables
Descriptions
Libelle
Liste de l’ensemble des libellés
MiseAJour
Description des éléments de mise à jour de Galilée
ScriptsBdD
Description des éléments de passage des scripts de base de données
Figure 14 : MCD thème technique
Figure 14 : MCD thème technique

4. Les tables de fait

4.1 Descriptions

Les tables de fait font le lien entre les différents thèmes vu précédemment et contiennent les valeurs de ces thèmes.

Voici la liste de l’ensemble des tables de fait :

  • FaitDemandeBudget
  • FaitBudget,
  • FaitRessource,
  • FaitRessourcePlateforme,
  • FaitAttributProjet
  • FaitDureeProjet,
  • FaitAttributPhase
  • FaitAttributEchange
  • FaitAttributTache,
  • FaitIndicateur
  • FaitRole

Dans chaque table de fait, nous retrouvons :

  • l'id objet correspondant
  • l'id de l'attribut
  • l'id de la période s'il s'agit d'un attribut périodique
  • 3 colonnes selon la valeur :
    • valeurChaine
    • valeurNumerique
    • valeurDate

La « valeurChaine » contient les valeurs chaines, booléennes, riches et de liste.

La table période est accessible pour requêter les tables de fait correspondant à des mesures.

Cette table est architecturée sur trois niveaux :

  • Niveau 1 : le mois
  • Niveau 2 : le trimestre
  • Niveau 3 : l’année
  • codeNiveau : récupère les niveaux « mois », « trimestre », « année » et « exercice » de chaque période avec :
    • NIV_MOIS : correspond à la période de niveau mois
    • NIV_TRIMESTRE : correspond à la période de niveau trimestre
    • NIV_EXERCICE : correspond à la période de niveau exercice (si les exercices existent sur l’UP)

4.2 Les budgets

Voici les vues générales des interactions avec la table de fait « FaitBudget » et « Budget » :

Figure 15 : Vue générale table "FaitBudget"
Figure 15 : Vue générale table "FaitBudget"

4.3 Les ressources

Voici ci-dessous la vue générale des interactions avec la table de fait « ressource » :

Les ressources fonctionnent comme les budgets. Elles ont en plus la notion de « profil ».

Les données des ressources inactives sont présentes dans Galilée, afin de ne pas tronquer les analyses. Il a été rajouté une colonne « actif » dans la table Ressource, afin d’indiquer si la ressource est active ou non.

Figure 16 : vue générale de la table ressource
Figure 16 : vue générale de la table ressource

4.4 Les projets

4.4.1 Vue générale

La table « Projet » regroupe tous les projets pour l’UP lié à l’entrepôt de données.

Figure 17 : vue générale de la table projet
Figure 17 : vue générale de la table projet

4.4.2 Les hiérarchies projet

Cette table est aussi liée à un certain nombre de tables génériques (30 dans le schéma : Dimension1, …Dimension30). S’il y a plus de 30 hiérarchies alors le datamart récupère les 30 premières hiérarchies en fonction de leurs ordres et de leurs libellés.

Pour qu’une hiérarchie soit synchronisée dans Galilée, il faut qu’il y ait au moins un rattachement d’activé (optionnel ou obligatoire) ; sinon elle ne sera pas synchronisée.

Cependant, chaque dimension générique possède un nombre de niveau fixé à 10. On ne pourra pas importer dans Galilée une dimension de plus de 10 niveaux de profondeur.

Depuis la version 6.2, le lien entre projet père et fils est intégré dans Galilée. Cette information se trouve dans la colonne « idProjetPere » de cette table. Cette colonne fournit l’identifiant du projet père d’un projet fils (idProjet).

Depuis la version 6.3.3, les liens projets sont intégrés dans Galilée dans la table « DependancePlanning ».

4.5 Les phases

Depuis la version 5.3, les jalons sont techniquement des phases.

Les tables « jalons » ont donc disparu, leurs données ayant été intégrées dans les tables « phases ».

Afin de distinguer les phases des jalons, un champ « estPhase» a été ajouté à la table « Phase ». La valeur est vraie s’il s’agît d’une phase, fausse s’il s’agît d’un jalon.

4.6 Les risques

Voici ci-dessous la vue générale des interactions avec la table de fait « risque » :

Figure 18 : vue générale de la table de fait "FaitRisque"
Figure 18 : vue générale de la table de fait "FaitRisque"

4.7 Les attributs

Voici ci-dessous la vue générale des interactions avec la table de fait « attributs » :

Figure 19 : vue générale de la table de fait "FaitAttribut"
Figure 19 : vue générale de la table de fait "FaitAttribut"

4.8 Les indicateurs

Voici ci-dessous la vue générale des interactions avec la table de fait « indicateur » :

Remarques :

L’avancement moyen correspond à (cible – réalisé) / (cible – référence).

Figure 20 : vue générale de la table de fait "FaitIndicateur"
Figure 20 : vue générale de la table de fait "FaitIndicateur"

5. Gestion de la sécurité

La sécurité est implémentée par la table « Droit » :

Elle est alimentée à partir des données du schéma de production à partir des droits suivants :

  • Module Budget / Gestion des budgets / Consultation d'un budget
  • Module Jalon / Gestion des jalons / Consultation d'un jalon
  • Module Risque / Gestion des risques / Consultation d'un risque
  • Module Indicateur / Gestion des indicateurs / Consultation d'un indicateur

Chaque requête à l’entrepôt de données pourra filtrer les projets en fonction de l’utilisateur connecté.

Exemple : filtre sur les projets avec le droit en consultation des budgets

projet.idProjet in (select idpropjet from Droit where login = %loginUtilisateurConnecté% and consultationBudget = 1)

Les requêtes créées dans les rapports devront gérer manuellement la sécurité. Dans le cas d'un outil ROLAP, si ce dernier intègre une notion de sécurité, son paramétrage pourra être déduit des tables de Rôles de Galilée.

La table « FaitRole » permet de connaître le rôle de chaque utilisateur :

  • Si le rôle de l'utilisateur est de type PROJET alors le code « TYPE_PROJET » est inscrit dans la colonne « codeTypeRole »
  • Si le rôle de l'utilisateur est de type HIERARCHIE alors le code « TYPE_HIERARCHIE » est inscrit dans la colonne « codeTypeRole »
    • La colonne « idVn » est rempli par l’id de la valeur de niveau sur laquelle il est rattaché.
  • Si le rôle de l'utilisateur est de type GENERAL alors le code « TYPE_GENERAL » est inscrit dans la colonne « codeTypeRole »
Figure 21 : MCD de la table "Droit"
Figure 21 : MCD de la table "Droit"

6. Annexes

6.1 Mindmap Galilée

L’ensemble des schémas ont été réalisés avec le logiciel XMIND (logiciel avec version gratuite).

6.2 MCD Galilée

Le MCD complet de la base de données Galilée est disponible au format Microsoft Access.

6.3 Configuration sous Oracle

Dans le cas où l’import de données tombe en erreur avec le code suivant ORA-1000 : Trop de curseurs ouvert.

Vérifier les clés suivantes dans le fichier [CodeUP].galilee.properties :

persistence._defaut_.hibernate.dbcp.poolPreparedStatements=false
persistence._defaut_.hibernate.dbcp.maxOpenPreparedStatements=100