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 :
- Suppression de l’ensemble des tables de la base de données Galilée
- 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 (datamart) :
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 (datamart).
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).
3.2 Les tables
Le schéma de la base de données Galilée (datamart) 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 :
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 ».
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 |
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 |
Dimension 1 à 30 | Description des hiérarchies. IMPORTANT : Galilée est limité à 30 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
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 |
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 |
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 |
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 |
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…) |
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…) |
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.
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é
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 |
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 » :
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.
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.
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 » :
4.7 Les attributs
Voici ci-dessous la vue générale des interactions avec la table de fait « attributs » :
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).
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 »
5. INFORMATIONS QUI NE SONT PAS DÉVERSÉES DANS GALILÉE
La sécurité est implémentée par la table « Droit »
Certaines informations disponibles au sein de Project Monitor ne sont pas déversées dans le Datamart Galilée.
Il s’agit d’informations qui sont soit nécessaires au fonctionnement de Project Monitor, soit métier mais qui ne présentent pas d’intérêt pour un usage décisionnel de l’outil de la part des clients
La liste des entités Techniques absentes de Galilée est :
Table Project Monitor | |
SFRIM | Table Technique |
Favori | Table Technique |
Liste Favori | Table Technique |
Document | Table Technique |
Plateforme | Table Technique |
Liste | Table Technique |
Valeur Liste | Table Technique |
Vue | Table Technique |
Calendrier | Table Technique |
CalendrierAnnee | Table Technique |
RegleCalendrier | Table Technique |
Bibliothèque | Table Technique |
PérimètreInstantané | Table Technique |
ConfigAccueilBloc | Table Technique |
WebHook | Table Technique |
Representation | Table Technique |
ThemeFilActualite | Table Technique |
Datatalk | Table Technique |
Contrainte | Table Technique |
PlatformLanguage | Table Technique |
Abonnement | Table Technique |
Workflow | Table Technique |
AddOn | Table Technique |
Intervalle | Table Technique |
Statut_Module_Periode | Table Technique |
StatutSaisieActivite | Table Technique |
Taux | Table Technique |
ModèleDiaporama | Table Technique |
La liste des entités absentes de Galilée Métier ne présentant pas d’intérêt pour un usage décisionnel est :
Table Project Monitor | |
Facture | Liste des Factures |
Devis | Liste des Devis |
VersionBudget | Version d’un budget |
Portefeuille | Liste des portefeuilles |
RevuePortefeuille | Liste des Revues de Portefeuilles |
CommentaireEchange | Liste des commentaires contenus dans les Échanges |
CommentaireTache | Liste des commentaires contenus dans les Tâches |
CommentaireSaisieActivite | Liste des commentaires contenus dans la saisie d’activité |
Les scenarios de portefeuille seront intégrés dans Galilée en version 7.4
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