Telesphore KANGA
Ingénieur en Informatique Spécialiste en ingénierie logicielle et
en gestion des Bases de données telesphore.kanga@gmail.com
+225 08 217 089 Juin 2020
PROJET DE MISE EN PLACE DE LA BASE DE DONNÉES DE L’INCLUSION FINANCIÈRE
RAPPORT FINAL
Guide d’utilisation du système de suivis de l’inclusion financière de l’APIF
Public Disclosure AuthorizedPublic Disclosure AuthorizedPublic Disclosure AuthorizedPublic Disclosure Authorized
Table of Contents
Liste des illustrations ... 3
1 Introduction ... 4
2 Méthodologie de conduite de la mission ... 4
3 Analyse de l’existant ... 5
3.1 Acteurs intervenants dans le processus collecte des données ... 5
3.2 Dispositif opérationnel existant ... 5
3.3 Infrastructure matériel et logicielle existante ... 6
3.4 Synthèse de l’existant ... 6
4 Analyse et spécification des besoins ... 7
4.1 Définition des besoins ... 7
4.1.1 Besoins des acteurs du système ... 7
4.1.2 Analyse des besoins ... 8
4.2 Spécification des besoins ... 9
4.2.1 Diagramme de cas d’utilisation relatif aux fournisseurs (structures) ... 9
4.2.2 Diagramme de cas d’utilisation relatif à l’APIF (acteur interne) ... 10
5 Conception de la solution ... 10
5.1 Architecture de la solution ... 10
5.1.1 Architecture physique ... 10
5.1.2 Architecture logique ... 10
5.2 Conception détaillée ... 11
5.2.1 Modèle conceptuel des données ... 11
5.2.2 Description de quelques scenarii ... 13
6 Réalisation du système ... 16
6.1 Environnement de développement logiciel ... 16
6.1.1 Framework Laravel ... 16
6.1.2 Bootstrap, HTML5 et CSS3 ... 17
6.1.3 FusionCharts ... 17
6.1.4 PostgreSQL ... 18
6.2 Interfaces Homme-Machine ... 18
6.2.1 Interface de connexion ... 18
6.2.2 Interface importation des fournisseurs ... 19
6.2.3 Interface d’historique des importations ... 19
6.2.4 Interface du tableau de bord des administrateurs ... 19
7 Conclusion ... 20
8 Annexes ... 21
Annexe 1 - Base des indicateurs de la SNIF ... 21
Annexe2 : Dictionnaire des données ... 22
Liste des illustrations
Tableau 1 : Forces et faiblesses du système existant ... 7
Tableau 2 : Principales tables de la base de données ... 12
Figure 1: Diagramme de cas d'utilisation des fournisseurs de données ... 9
Figure 2 : Diagramme de cas d'utilisation des administrateurs ... 10
Figure 3 : Architecture 3-tiers ... 10
Figure 4 : Architecture MVC ... 11
Figure 5 : Modèle conceptuel des données ... 12
Figure 6 : Interface de connexion ... 18
Figure 7 : Interface d'importation de données ... 19
Figure 8 : Interface des historiques des importations ... 19
Figure 9 : Interface du tableau de bord ... 20
1 Introduction
L’amélioration du taux d’inclusion financière reste depuis longtemps un défi à relever pour la Côte d’Ivoire en raison de la faiblesse de l’accès des populations aux services financiers.
Aussi, la Côte d’Ivoire a-t-elle élaboré une Stratégie Nationale d’Inclusion Financière (SNIF) qui couvrait la période 2013-2017. Cependant, la mise en œuvre de cette stratégie avait révélé une insuffisance au niveau du cadre institutionnel, notamment l’inexistence d’une structure de coordination des activités et initiatives de l’ensemble des parties prenantes nationales et internationales de l’inclusion financière.
Pour pallier cette insuffisance, le Gouvernement ivoirien a créé depuis le 30 mai 2018 l’Agence de Promotion de l’Inclusion Financière (APIF). Au nombre de ses missions, cette agence aura en charge d’effectuer le suivi-évaluation des activités d’inclusion financière, notamment celles contenues dans la SNIF 2019-2024.
À cet égard, dans le cadre de l’opérationnalisation de l’APIF, il est prévu la réalisation d’un projet visant à doter l’APIF d’un système pour le suivi et l’évaluation des plans d’actions à partir d’une base de données sur l’inclusion financière en Côte d’Ivoire. Ce projet, qui bénéficie de l’appui financier de la Banque Mondiale pour sa mise en œuvre, se décline en deux composantes :
(i) Renforcement des capacités du personnel de l’APIF en suivi-évaluation (ii) Modélisation de la base de données de l’inclusion financière.
Le présent rapport décrit les différentes étapes de mise en œuvre de la deuxième composante du projet à savoir la modélisation de la base de données de l’inclusion financière.
2 Méthodologie de conduite de la mission
Le mise en œuvre de la base de données de l’inclusion financière s’est déroulée en quatre (4) phases :
• Phase de conception de la solution
• Phase de réalisation et de déploiement de l’outil
3 Analyse de l’existant
Première étape dans le processus de mise en place d’un système d’information, l’analyse de l’existant permet de faire un état des lieux du système en place dans l’organisation (en termes d’informations, de dispositif opérationnel de gestion de l’information, l’infrastructure matérielle utilisée dans la gestion de l’information, etc.) et d’en identifier les limites.
Cette activité a nécessité la tenue de plusieurs séances de travail avec les membres de l’équipe projet de l’APIF dans leurs locaux. Ces rencontres ont permis d’améliorer notre connaissance du domaine et une meilleure compréhension du besoin.
3.1 Acteurs intervenants dans le processus collecte des données
Plusieurs acteurs sont impliqués dans le processus de collecte de données sur l’inclusion financière. Ce sont :
• Les régulateurs, autorités de contrôle et de supervision ;
• Les associations professionnelles ;
• Les prestataires de services financiers ;
• L’Observatoire de la Qualité des Services Financiers ;
• Le Bureau d’Information sur le Crédit (BIC)
3.2 Dispositif opérationnel existant
Le cadre des résultats utilisés par l’APIF, résulte des recommandations de la mission d’assistance technique réalisée par l’ONG Positive Planet International pour le compte de l’APIF. Cette mission a permis de définir les principaux indicateurs de la SNIF à savoir : 10 indicateurs principaux et 38 sous-indicateurs. Ces indicateurs sont consignés dans un fichier Excel qui fait office de base de données (cf. annexe 1).
La collecte des données se fait manuellement selon deux modes :
• Par analyse documentaire des données issues des publications provenant notamment des régulateurs (BCEAO, ARTCI, Trésor, etc.)
• Par courrier (Physique et électronique) provenant périodiquement des autres acteurs notamment les EME (Orange, MTN, etc…).
Les données collectées sont ensuite consignées dans un fichier Excel pour analyse et production de rapports statistiques sur l’activité de suivi de l’inclusion financière
3.3 Infrastructure matériel et logicielle existante
Sur le plan de l’infrastructure, l’essentiel de l’activité de suivi de l’inclusion financière est centralisé au niveau du responsable de gestion de la base de données de l’APIF qui dispose d’un ordinateur de travail. Cet ordinateur a accès à internet mais fonctionne de manière autonome du fait de l’absence d’un réseau local au sein de l’APIF.
Aussi, les données de l’inclusion financière sont stockées uniquement dans des fichiers Excel.
3.4 Synthèse de l’existant
L’activité de découverte et d’analyse de l’existant a permis de faire l’état des lieux du système. Au terme de notre analyse, le tableau ci-après synthétise les forces et les faiblesses du système existant.
Ce diagnostic servira de base pour les prochaines activités du processus de mise en place de la base de données.
Tableau 1 : Forces et faiblesses du système existant
Forces Faiblesses
Acteurs du système
• Les acteurs externes qui fournissent les données sont tous identifiés
• A part les EME, absence de dispositions légales pour contraindre les autres acteurs à transmettre leurs données à l’APIF
Dispositif opérationnel
• Un cadre de référence existe pour le suivi de l’inclusion financière
• Le mode de collecte documentaire ou par courrier est fastidieux
• La présence de structures d’intermédiaires (ex : BCEAO, etc.) entre l’APIF et les fournisseurs impose la contrainte de disponibilité des données à jour
• Limite dans l’exploitation des données du fait que les données sont déjà agrégées
Infrastructures
• · Le responsable de l’activité dispose d’un poste et de l’internet pour la collecte manuelle des données
• Pas de serveur et de réseau local pour faciliter l’accès aux données au sein de l’APIF (Centralisation)
• Utilisation de Excel comme base de données peut poser un problème de sécurité et d’intégrité de l’information
4 Analyse et spécification des besoins
Le système à mettre en place doit tenir compte des exigences des différents utilisateurs.
Une étude des besoins de ces acteurs est alors nécessaire.
4.1 Définition des besoins
L’étape de l’analyse des besoins est très importante puisque la réussite de toute l’application dépend de la qualité de son étude. Il faut donc bien déterminer les fonctions attendues par le système.
4.1.1 Besoins des acteurs du système
Les acteurs du système peuvent être classés en deux groupes : les administrateurs du système (acteurs internes) et les fournisseurs (acteurs externes).
• Les fournisseurs : Ce sont toutes les structures détentrices des données de l’inclusion financière. Elles fournissent les informations qui permettent de suivre l’évolution des actions entreprises pour améliorer l’inclusion financière en Côte d’Ivoire.
• Les administrateurs : Ce sont les services internes de l’APIF qui compilent, analysent et publient les indicateurs de suivi de l’inclusion financière.
4.1.2 Analyse des besoins
Les besoins peuvent être subdivisés en deux catégories à savoir les besoins fonctionnels et les besoins non fonctionnels.
4.1.2.1 Les besoins fonctionnels
Ce sont les actions et réactions que le système doit faire suite à une demande d’un acteur.
Tenant compte de la nature de l’application, on distingue les besoins par acteurs. Ainsi :
• En ce qui concerne les fournisseurs : ils doivent pouvoir réaliser les actions suivantes :
Ö Se connecter au système
Ö Importer des fichiers de données
Ö Consulter l’historique des importations
• Pour ce qui est des administrateurs, ils doivent être capables de :
Ö Se connecter au système
Ö Gérer les paramètres de l’application ainsi que les utilisateurs
Ö Valider les importations
Ö Saisir les données
Ö Extraire les données
Ö Analyser les données
Ö Réinitialiser les mots de passe 4.1.2.2 Les besoins non fonctionnels
Les besoins non fonctionnels correspondent à la manipulation de l’application et précisent l’environnement de l’application. Ainsi, l’application doit répondre aux exigences suivantes :
• Web-Based : L’application devra être accessible via le web et être compatible avec la plupart des navigateurs web
• L’extensibilité : L’architecture de l’application permettra l’évolution et la maintenance (ajout ou suppression ou mise à jour) au niveau de ses différents modules d’une manière flexible.
• La sécurité : L'accès aux informations n’est possible qu'après vérification des privilèges et des droits d'accès. Ainsi, tout utilisateur passera par une phase d’authentification pour pouvoir consulter les services offerts par l’application.
• L’ergonomie et la convivialité : L’application fournira une interface conviviale et simple à utiliser qui ne requiert aucun prérequis. Ainsi elle pourra être utilisée par tout type d’utilisateur.
4.2 Spécification des besoins
Pour la spécification du besoin, nous utiliserons le diagramme de cas d’utilisation (use case) pour spécifier les besoins des utilisateurs.
4.2.1 Diagramme de cas d’utilisation relatif aux fournisseurs (structures)
Figure 1: Diagramme de cas d'utilisation des fournisseurs de données
Ce diagramme présente les différentes fonctionnalités accessibles aux fournisseurs de données dans l’application.
4.2.2 Diagramme de cas d’utilisation relatif à l’APIF (acteur interne)
Ce diagramme présente les différentes fonctionnalités accessibles aux administrateurs (APIF) dans l’application
Figure 2 : Diagramme de cas d'utilisation des administrateurs
5 Conception de la solution
5.1 Architecture de la solution 5.1.1 Architecture physique
L’architecture physique retenu est une architecture 3-tiers.
Figure 3 : Architecture 3-tiers
la vue et le contrôleur ayant chacun un rôle précis dans l’interface. Dans cette architecture, les rôles des trois (3) entités sont les suivantes :
• Modèle : données (accès et mise à jour)
• Vue : interface utilisateur (entrées-sorties)
• Contrôleur : gestion des évènements et synchronisation
Figure 4 : Architecture MVC
5.2 Conception détaillée
5.2.1 Modèle conceptuel des données
La figure 5 présente le modèle conceptuel des données obtenu sur la base de l’analyse faite en amont.
Figure 5 : Modèle conceptuel des données
Tableau 2 : Principales tables de la base de données
Table Description
CompanyGroups Groupe de structure
Companies Regroupe les structures fournisseurs de données (Advans, Microcred, etc…) Users Regroupe les utilisateurs du système
AppModules Définit les modules de l’application
UserAccess Gère les autorisations des utilisateurs aux fonctionnalités de l’application IndicatorDimensions Regroupe les dimensions de l’inclusion financière
Indicators Regroupe l’ensemble des indicateurs du système
IndicatorGroups Matérialise le lien existant entre les indicateurs et les type de structure ImportationHistories Regroupe les données sur les historiques des importations
IndicatorValues Regroupe les valeurs des indicateurs Quarters Regroupe les trimestres
GeographicAreas Représente les régions du découpage administratif ivoirien IndicatorTypes Représente les différents types d’indicateur
Years Représente les années
5.2.2 Description de quelques scenarii
• Connexion
Fonctionnalité Se connecter
Acteur principal Utilisateur de l’APIF ou d’une structure
Acteur secondaire Le système
Résumé : L’utilisateur se connecte via la plateforme pour se connecter afin d’avoir accès aux autres fonctionnalités selon son profil.
Opérations
1/Il entre son adresse email 2/Il entre son mot de passe 3/Il soumet ses identifiants
4/ Le système vérifie les informations saisies
5/ Le système redirige l’utilisateur sur son tableau de bord Extensions
Point 4. Informations incorrectes Reprise à partir du point 1
• Réinitialisation de son mot de passe
Fonctionnalité Réinitialiser son mot de passe
Acteur principal Utilisateur de l’APIF ou d’une structure
Acteur secondaire Le système
Résumé : Lorsque l’utilisateur oublie son mot de passe lors d’une connexion, il peut décider de le réinitialiser en renseignant son adresse email.
Opérations
1/ L’utilisateur choisit l’option du mot de
passe oublié sur l’écran de connexion 3/ Le système le redirige vers la page de de demande de réinitialisation du mot de passe
2/ L’utilisateur renseigne son adresse email
associé à son compte 4/ Le système vérifie l’existence du mail dans la base de données
5/ Le système envoie un message de réinitialisation du mot de passe à l’adresse email indiquée.
6/ L’utilisateur ferme la fenêtre de réinitialisation
Extensions
Point 4. Le mail renseigné n’existe pas dans la
base de données Reprise à partir du point 3.
• Gestion des données paramètres
Fonctionnalité Gérer les paramètres
Acteur principal Utilisateur de l’APIF
Acteur secondaire Système
Résumé : l’utilisateur ayant un profil permettant de gérer (ajouter, modifier, désactiver) les Paramètres du système se connecte dans le but de gérer les différents éléments de bases tels que les utilisateurs, les indicateurs, les structures, etc.
Opérations
1/ L’utilisateur se connecte 2/ Le système le redirige vers son tableau de bord
3/ Il choisit le sous-menu concerné sous le menu
« Paramètres »
4/Le système redirige vers la vue concernée par le paramètre choisit
5/ Il fait une opération d’ajout ou de modification ou
de désactivation 6/ Le système notifie de la bonne exécution de
l’opération Extensions
Point 6. Il veut gérer un autre élément Reprise à partir du point 3.
• Validation des importations
Fonctionnalité Validation des importations
Acteur principal Utilisateur de l’APIF
Acteur secondaire Système, utilisateur d’une structure
Résumé : l’utilisateur ayant un profil permettant de valider les importations soumises par une structure se connecte en vue de valider les importations en attentes
Opérations
1/ L’utilisateur se connecte 2/ Le système le redirige vers son tableau de bord 3/ Il choisit le menu lié à la validation des
importations
4/ Le système affiche la vue concernée 5/ L’utilisateur valide une importation
qu’il aura sélectionnée 6/ Le système notifie à la structure qui a soumis les données le nouvel état de ses données
Extensions
Point 6. En cas de rejet un commentaire est
associé au rejet La structure reçoit la raison du rejet de son importation.
• Analyse des données
Fonctionnalité Analyser les données
Acteur principal Utilisateur de l’APIF
Acteur secondaire Système
Résumé : l’utilisateur ayant un profil permettant de faire des analyses sur les données disponibles dans la base du système se connecte dans le but de faire des analyses sur les données
Opérations
1/L’utilisateur se connecte 2/ Le système le redirige vers son tableau de bord
3/ Il choisit le menu lié à l’analyse des données 4/ Le système affiche la vue concernée 5/ Il renseigne les critères d’analyse : indicateur,
année, périodicité, etc. 6/ Le système fournit les résultats selon les informations saisies
Extensions
Point 6. Après analyse des données selon les
informations saisies Reprise possible à partir du point 5.
• Saisie des données
Fonctionnalité Saisir les données
Acteur principal Utilisateur de l’APIF
Acteur secondaire Système
Résumé : l’utilisateur ayant un profil permettant de faire des saisies de données se connecte dans le but de faire des saisies de données
5/ Il renseigne les paramètres de la saisie : indicateur, année, périodicité, etc.
6/L’utilisateur saisie la valeur 7/Le système vérifie la validité des valeurs
8/ Le système notifie la fin de l’opération
Extensions
Point 6. Valeur renseignée refusée Reprise à partir du point 6.
• Extraction des données
Fonctionnalité Extraire les données
Acteur principal Utilisateur de l’APIF
Acteur secondaire Système
Résumé : l’utilisateur ayant un profil permettant d’extraire les données du système se connecte dans le but de faire des extractions de données
Opérations
1/ L’utilisateur se connecte 1/Le système le redirige vers son tableau de bord 2/ Il choisit le menu lié à l’extraction des données 3/ Le système affiche la vue concernée
4/ Il renseigne les paramètres de l’extraction : indicateur, année, périodicité, le format souhaité pour l’extraction, etc.
6/ Le système recherche les données et les met à disposition de l’utilisateur sous le format demandé
5/ L’utilisateur télécharge le document générer Extensions
Point 6. Aucune donnée trouvée pour les
paramètres renseignés Reprise à partir du point 5.
• Importation de données
Fonctionnalité Importation de données
Acteur principal Utilisateur d’une structure Acteurs secondaires Système, utilisateur de l’APIF
Résumé : l’utilisateur ayant un profil permettant d’importer des données dans le système se connecte dans le but d’ajouter ses données dans le système
Opérations
1/L’utilisateur se connecte 2/ Le système le redirige vers son tableau de bord. Le menu d’importation est sélectionné par défaut
3/ Il renseigne les paramètres liés à l’importation : année, périodicité, etc.
4/ Il sélectionne le fichier depuis son ordinateur
5/ Il valide son importation et soumet à
l’APIF 6/ Le système notifie à l’APIF une nouvelle importation
à valider Extensions
Point 6. L’importation n’est pas validée par
l’APIF La structure reçoit la raison du rejet de son importation.
Reprise à partir du point 3.
• Consulter l’historique des importations
Fonctionnalité Importation de données
Acteur principal Utilisateur d’une structure Acteurs secondaires Système, utilisateur de l’APIF
Résumé : l’utilisateur ayant un profil permettant d’importer des données dans le système se connecte dans le but d’ajouter ses données dans le système
Opérations
1/ L’utilisateur se connecte 2/ Le système le redirige vers son tableau de bord.
3/ Il choisit le menu pour consulter son
historique d’importations 4/Le système met à disposition de l’utilisateur toutes les informations trouvées selon ses paramètres renseignés
6 Réalisation du système
6.1 Environnement de développement logiciel
Dans cette section, nous nous intéressons aux langages, aux bibliothèques et aux techniques de programmation utilisées tout au long de la réalisation de notre application en justifiant notre choix.
6.1.1 Framework Laravel
Laravel est un framework PHP basé sur Symphony. Selon Wikipédia « Laravel est un framework web open-source écrit en PHP respectant le principe modèle-vue-contrôleur et entièrement développé en programmation orientée objet. Laravel est distribué sous licence MIT, avec ses sources hébergées sur GitHub. »
Les avantages de Laravel sont nombreux, on pourra énumérer ceux qui suivent :
• Sécurité et performance : Laravel protège le site contre les Injections SQL involontaires et cachées. Il utilise généralement des jetons CSRF (Cross Site Request Forgery) pour s'assurer que des tiers externes ne pourraient pas générer de fausses demandes et ne devraient pas violer les failles de sécurité de Laravel.
Laravel offre un support natif qui protège le code des attaques XSS (Cross Site Scripting). La fonctionnalité intervient automatiquement et protège la base de données dans le processus.
l’amélioration de la performance, permet une meilleure documentation et a de multiples fonctionnalités pré-développées.
• Migration de la base de données : Cette fonctionnalité lui permet de prendre en charge l’évolution de la base de données. Aussi, elle permet la connexion à plusieurs systèmes de gestion de base de données.
Laravel offre d’autres avantages tels que : la programmation orientée objet, un système d’authentification, un système de validation, de gestion des sessions, de gestion du cache, etc.
6.1.2 Bootstrap, HTML5 et CSS3
Bootstrap est un framework CSS, mais pas seulement, puisqu'il embarque également des composants HTML et JavaScript. Il comporte un système de grille simple et efficace pour mettre en ordre l'aspect visuel d'une page web. Il apporte du style pour les boutons, les formulaires, la navigation. Il permet ainsi de concevoir un site web rapidement et avec peu de lignes de code ajoutées. Ses intérêts sont nombreux, on peut noter :
• Le gain en temps lors du développement ;
• Offre d’éléments complémentaires : boutons esthétiques, barres de navigation, etc. ;
• La grande diffusion de nouveaux moyens de visualisation du web (smartphones, tablettes…) impose désormais la prise en compte de tailles d'écran très variées ; les frameworks CSS prennent généralement en compte cette contrainte.
6.1.3 FusionCharts
FusionCharts est une bibliothèque de graphiques JavaScript qui vous permet de créer des graphiques, des jauges, des cartes et des tableaux de bord interactifs en JavaScript. Il permet de récupérer les données depuis les serveurs SQL et créez directement des graphiques réactifs, interactifs et prenant en charge le zoom, le panoramique, les API, l'animation, les analyses, les mises à jour en temps réel, avec une exportation complète des graphiques et des tableaux de bord, le tout sur un serveur.
6.1.4 PostgreSQL
PostgreSQL est un Système de Gestion de Base de Données Relationnel (SGBDR) robuste et puissant, aux fonctionnalités riches et avancées, capable de manipuler en toute fiabilité de gros volumes de données, mêmes dans des situations critiques. PostgreSQL est une solution logicielle gratuite, open-source. Faire le choix d’un logiciel libre, c’est un avantage économique mais aussi l’assurance de bénéficier d’une communauté active, pleine de ressources et capable de faire avancer une technologie souple au rythme des besoins des utilisateurs. Les avantages de ce SGBDR sont nombreux, à savoir :
• Possibilité de requêtes complexes ;
• Déclencheurs (triggers) lancés automatiquement lors de la saisie et du contrôle, de la confirmation, de la modification, de la suppression ou de l'utilisation facultative de données de référence ;
• Vues actualisables ;
• Concept de transaction complet ;
• Contrôle de simultanéité multi version (MVCC) pour une exécution efficace des accès simultanés aux bases de données ;
• La capacité de gérer un grand volume de données 13 teras (~ 13 000 gigas !) existent et tournent parfaitement sous PostgreSQL).
6.2 Interfaces Homme-Machine 6.2.1 Interface de connexion
L’écran de connexion permet aux utilisateurs du système d’avoir accès à la plateforme au moyen d’une adresse e-mail et d’un mot de passe.
6.2.2 Interface importation des fournisseurs
Une fois connectés, les acteur fournisseurs de données (EME. SFD, Banques, etc..) peuvent informer leurs données via cette interface.
Figure 7 : Interface d'importation de données
6.2.3 Interface d’historique des importations
Les fournisseurs ont la possibilité de consulter l’historique de leurs importations
Figure 8 : Interface des historiques des importations
6.2.4 Interface du tableau de bord des administrateurs
Cette interface permet la création de rapport sur la base de plusieurs critères.
Figure 9 : Interface du tableau de bord
7 Conclusion
La mise en œuvre de la méthodologie proposé nous a permis de mettre en place un système robuste qui répond aux besoins de l’APIF en matière de suivi de l’inclusion financière. L’analyse de l’existant a cependant révélé des limites du dispositif mise en œuvre quant a l’absence d’un cadre légal régissant la transmission des données entre le fournisseur de donnée et l’APIF. Cette situation constitue un risque majeur qui peut mettre à mal la pérennité du projet. Ainsi, pour palier à cet état de fait, notre recommandation serait que l’APIF mene des actions pour fédérer les fournisseurs de données autour de sa plateforme, seul gage garantissant l’atteinte de ses objectifs sur le long terme.
8 Annexes
Annexe 1 - Base des indicateurs de la SNIF
https://drive.google.com/file/d/1Z1W3GEifobSvTsryS6A3PMwwvIycjdg7/view?usp
=sharing
Annexe2 : Dictionnaire des données
Table Name Fields Data Type
Null / Not
Null Keys Comments CompanyGroups
GroupID Int PK Identifiant unique de la structure
CreationDate DateTime Not Null Date de création de la structure GroupLabel Varchar(75) Not Null Libellé (désignation) de la structure
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) Companies
CompagnyID Int PK Identifiant unique de la donnée
CreationDate DateTime Not Null Date de création de la donnée CompagnyName Varchar(75) Not Null Libellé de la structure
GroupID Int Not Null FK Référence du groupe de structure auquel appartient la structure IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) Users
UserID Int PK Identifiant unique de la donnée
CreationDate DateTime Not Null Date de création de la donnée
LastName Varchar(32) Not Null Nom
FirstName Varchar(64) Not Null Prénoms
Email Varchar(64) Not Null Adresse email
Password Varchar(64) Not Null Mot de passe
FistConnection Bit Not Null
Défini si l'utilisateur est à sa première connexion en vue de modification de son mot de passe
UserCompanyID Int Null FK Les agents de l'APIF ne sont associé à aucune compagnie IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1)
ModuleName Varchar(64) Not Null Libellé du module
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) UserAccess
UserID Int PK L'unicité de la table est validée par le couple des clés (UserID, ModuleID)
ModuleID Int PK
CreationDate DateTime Not Null Date de création de la donnée
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) IndicatorDimensions
DimensionID Int PK Identifiant unique de la donnée
CreationDate DateTime Not Null Date de création de la donnée DimensionLabel Varchar(64) Not Null Libellé de la dimension
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1)
Indicators
IndicatorID Int PK Identifiant unique de la donnée
CreationDate DateTime Not Null Date de création de la donnée
IndicatorLabel Varchar(128) Not Null Libellé (ou désignation) de l'indicateur
HasSubIndicator Bit Not Null Booléen désignant si l'indicateur à un sous indicateur (une désagrégation) ParentIndicatorID Int Null FK Un indicateur peut être une decomposition d'un autre indicateur (son parent) IndicatorDimensionID Int Not Null FK Dimension de l'indicateur
UnitID Int Not Null FK Unité de mesure d'un indicateur
Description Varchar(64) Not Null Description de l'indicateur Source Varchar(64) Not Null Source de l'indicateur
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1)
Code Varchar(8) Not Null Code utilisé pour faire correspondre les indicateurs lors de l'importation des fichiers par les strcutures
IndicatorGroups
GroupID Int PK L'unicité de la table est validée par le couple des clés (GroupID, IndicatorID)
IndicatorID Int PK
IndicatorLabel Varchar(64) Not Null Libellé de l'indicateur associé à un groupe de structure
IsCalculated Bit Not Null Défini si la valeur de l'indicateur est un champ calculé CalculationDescription Varchar(64) Not Null Décrit la formule de calcul de l'indicateur
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) ImportationHistories
HistoryID Int PK Identifiant unique de la donnée
CreationDate DateTime Not Null Date de création de la donnée
FileName Varchar(128) Not Null Nom du fichier (servira à la sauvegarde) CompanyID Int Not Null FK Référence de la compagnie liée à l'importation
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) Status Bit Not Null Etat de l'importation (validé:1 ou non validé:0)
GeographicAreaID Int Null Un historique d'importation peut concerner tout le territoire national Comments Varchar(128) Null Commentaire associé à l'indicateur lors de la validatation de l'administrateur IndicatorValues
IndicatorValueID Int PK Identifiant unique de la donnée CreationDate DateTime Not Null Date de création de la donnée
Value Double Not Null Valeur de l'indicateur
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1)
YearID Int Not Null Année d'évaluation de l'indicateur
QuaterID Int Null Trimestre d'évaluation de l'indicateur. Un indicateur peut être évalué annuellement HistoryID Int Null La valeur d'un indicateur peut être renseignée par le formulaire de saisie
GeographicAreaID Int Null Zone d'évaluation de l'indicateur. Un indicateur peut être évalué sur le territoire national
IndicatorID Int Not Null FK Référence de l'indicateur évalué Quarters
QuaterID Int PK Identifiant unique de la donnée
QuaterLabel Varchar(64) Not Null Libellé du trimestre
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) IndicatorTypes
TypeID Int PK Identifiant unique de la donnée
TypeLabel Varchar(64) Not Null Libellé du type de l'indicateur
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1) Years
YearID Int PK Identifiant unique de la donnée
YearLabel Varchar(64) Not Null Libellé de l'année
IsDisabled Bit Not Null Etat de la donnée (isDisabled=0 si la donnée est active, sinon 1)