Vous êtes sur la page 1sur 71

Table des Matières:

REMERCIEMENTS .................................................................................................................................... 5
INTRODUCTION GENERALE ..................................................................................................................... 6
CHAPITRE 1: CADRE DU PROJET ........................................................................................................ 8
Introduction :....................................................................................................................................... 8
1 Présentation de l’organisme d’accueil : ...................................................................................... 9
2. Présentation du projet : ............................................................................................................ 11
2.1 Problèmes à traiter : .......................................................................................................... 11
2.2 Solution proposée : ........................................................................................................... 13
2.3 Méthodologies :....................................................................................................................... 14
Conclusion ......................................................................................................................................... 18
CHAPITRE 2 : ETAT DE L’ART......................................................................................................... 19
Introduction :..................................................................................................................................... 19
1 Etude de l’existant : ................................................................................................................... 20
2 Notions de bases : ..................................................................................................................... 20
2.1 La Smart Energie : .................................................................................................................... 20
2.3 L’Efficacité́ énergétique de bâtiments :............................................................................. 21
2.4 Le Système décisionnel : ......................................................................................................... 21
2.5 Le Big Data : ............................................................................................................................. 22
2.6 Système de gestion de base de données NoSQL :................................................................... 22
2.7 Les Solutions Big Data Open source: ....................................................................................... 22
2.8 L’Application SaaS :.................................................................................................................. 23
Conclusion : ................................................................................................................................... 23
CHAPITRE 3: ANALYSE ET SPECIFICATIONS DES BESOINS .................................................................... 24
Introduction :..................................................................................................................................... 24
1 Identification des acteurs : ........................................................................................................ 25
2 Les besoins fonctionnels :.......................................................................................................... 25
3 Les besoins non fonctionnels : ................................................................................................. 26
4 Identification des cas d'utilisation : ........................................................................................... 28
4.1 Diagramme de cas d’utilisation général : ................................................................................ 28

1
4.2 Diagramme de raffinement du cas d’utilisation : .................................................................... 29
5 Diagramme d’activité : .............................................................................................................. 32
5.1 Diagramme d’activité de Deepki Ready : ................................................................................ 32
5.2 Diagramme d’activité de DDK : ............................................................................................... 33
6 Diagramme de séquence système : .......................................................................................... 34
7 Diagramme de déploiement :.................................................................................................... 35
Conclusion : ....................................................................................................................................... 35
CHAPITRE 4 : MODELISATION................................................................................................................ 36
Introduction :..................................................................................................................................... 36
1 Architecture du projet : ............................................................................................................. 37
2 Modélisation non relationnelle : ............................................................................................... 38
Conclusion ......................................................................................................................................... 40
CHAPITRE 5: REALISATION..................................................................................................................... 41
Introduction :..................................................................................................................................... 41
1 Environnement matériel : ......................................................................................................... 42
2 Choix technologiques : .............................................................................................................. 42
2.1 Langages de programmation : ................................................................................................. 42
2.2Outils de programmation : ........................................................................................................... 43
3 Choix de la base de données : ............................................................................................... 46
4 Phase d’implémentation : ......................................................................................................... 48
4.1 Le processus ETL : ........................................................................................................................ 48
4.2 Stockage de données : ............................................................................................................. 51
4.3 Reporting et tableaux de bord : .............................................................................................. 52
5 Gestion de projet : ..................................................................................................................... 64
5.1 Outils organisationnels : .......................................................................................................... 64
5.2 Planification des Sprints : .................................................................................................. 66
5.3 Déroulement du projet :.................................................................................................... 68
Conclusion : ....................................................................................................................................... 68
CONCLUSION ......................................................................................................................................... 69
GLOSSAIRE ............................................................................................................................................. 70
WEBOGRAPHIE : .................................................................................................................................... 71

2
Table des figures :
Figure 1:logo Deepki................................................................................................................................ 9
Figure 2: activités de Deepki ................................................................................................................. 10
Figure 3:données énergétiques mis à disposition ................................................................................. 12
Figure 4:processus de la méthodologie Scrum ..................................................................................... 15
Figure 5:processus de la méthodologie Lean Startup ........................................................................... 17
Figure 6: diagramme de cas d'utilisation général pour Deepki Ready .................................................. 28
Figure 7: diagramme de cas d'utilisation générale pour DDK ............................................................... 29
Figure 8: diagramme raffinement du use case générer des rapports ................................................... 30
Figure 9:diagramme raffinement du use case consulter des rapports ................................................. 30
Figure 10: diagramme d'activité de la consultation des rapports......................................................... 32
Figure 11: diagramme d'activité de la capitalisation de données ......................................................... 33
Figure 12:diagramme de séquence système ......................................................................................... 34
Figure 13: diagramme de déploiement ................................................................................................. 35
Figure 14:architecture technique de l'application ................................................................................ 37
Figure 15:RDBMS: schéma en étoile ..................................................................................................... 39
Figure 16: modélisation d'une collection MongoDB ............................................................................. 39
Figure 17:représentation d’un document Json correspondant à un client........................................... 40
Figure 18:Organisation du projet shiny de Deepki ready ...................................................................... 45
Figure 19: Listes des fichiers sources en entrée .................................................................................... 48
Figure 20:Exécution de script pour l’ajout des métadonnées............................................................... 49
Figure 21: Exécution du script pour analyser la nomenclature............................................................. 49
Figure 22: Exécution du script pour consolider les données................................................................. 50
Figure 23 : Suivie des documents Json rajouté à la collection de mongodb ......................................... 50
Figure 24: Exportation de la collection de Mongodb ............................................................................ 51
Figure 25: Aperçu de la collection sous format Json ............................................................................. 51
Figure 26: Stockage dans Amazon web service S3 ................................................................................ 52
Figure 27: Boite à moustache de la consommation totale par année de construction ........................ 53
Figure 28: Boite à moustache de la consommation totale par type de chauffage ............................... 53
Figure 29: Boite à moustache de la consommation énergétique par banque ...................................... 54
Figure 30: Nuage de points de la consommation d'électricité par tarif et par banque ........................ 54
Figure 31: boite à moustache de la consommation d'énergie par tarif ............................................... 55
Figure 32:interface d'authentification client......................................................................................... 56
Figure 33:interface du tableau de bord principale (partie1)................................................................. 57
Figure 34:interfacedu tableau de bord principale (partie2).................................................................. 58
Figure 35:interface de la série temporelle d'un site selon les indicateurs elec et gaz.......................... 59
Figure 36:interface fiche site immobilier .............................................................................................. 60

3
Figure 37:interface de suivi du de la facture du site par année ............................................................ 60
Figure 38:interface de la cartographie selon le mode de chauffage et la facture d'elec...................... 61
Figure 39:interface de la cartographie montrant le pourcentage de l'évolution de la facture d'elec .. 62
Figure 40:interface de la cartographie de la surface de vente par facture de gaz ............................... 62
Figure 41:interface de comparaison de parc immobilier selon le mode de chauffage ........................ 63
Figure 42:interface de comparaison des parcs immobiliers par facture d'électricité et mode de
chauffage ............................................................................................................................................... 63
Figure 43:Les commits du projet DDK sur bitbucket ............................................................................. 64
Figure 44:Tableau blanc organisationnel de suivi des tâches sur Trello ............................................... 65
Figure 45: Diagramme de Gantt ............................................................................................................ 68

4
REMERCIEMENTS

C’est avec un immense plaisir que je dédie ces quelques lignes de remerciements à
tous ceux qui ont contribué, directement ou indirectement à la réalisation et l’aboutissement
de ce travail :

J’exprime ma profonde reconnaissance à M. Emmanuel Blanchet et M. Vincent Bryant pour


la confiance qu’ils m’ont accordée.

J’exprime ma gratitude à M. Matthieu Caule, mon tuteur du projet qui m’a proposé ce travail
et encouragé à le réaliser.

Je voudrais également remercier M. Mohamed Heny Selmi pour son encadrement, son soutien
et son aide précieux dans la rédaction de ce rapport.

Je tiens à remercier toute l’équipe de développement de Deepki pour l’environnement de


travail chaleureux et adéquat pour réussir et exceller.

Je dois beaucoup aussi à mes enseignants à ESPRIT pour la formation de qualité qu’ils m’ont
prodiguée tout au long de mon cursus universitaire au sein de cette prestigieuse école.

Je ne saurai en quelques termes exprimer ma gratitude à ma famille pour les sacrifices


pendant toutes ces années d’études et tous ceux qui ont contribué de près ou de loin à la
réalisation de ce travail, pour leurs conseils, leurs encouragements et leurs soutiens.

5
INTRODUCTION
GENERALE
Le monde dans lequel nous vivons est de plus en plus complexe. Les technologies de
l’information nous génèrent une multitude de données comme jamais auparavant. Le
problème n’est donc plus tant d’acquérir une masse de données, mais de les exploiter. Pour
cela il faut collecter de l’information de qualité́ , la normaliser, la classer, l’agréger et
l’analyser pour l’exploiter afin d’en extraire la substantifique moelle et donc prendre la bonne
décision au bon moment. Dans ce but, il est nécessaire de mettre en place un système
d’information particulier, appelé́ système d’aide à la décision.

Un système d’aide à la décision ne remplace pas les systèmes opérationnels qui font
fonctionner l’entreprise, mais il vient s’y intégrer, en y extrayant des données, afin d’en
diffuser la connaissance, de la manière la plus facilement exploitable par les personnes
concernées.

En effet aujourd’hui l’informatique décisionnelle tient une place prépondérante dans les
systèmes d’information des grandes entreprises. L’informatique décisionnelle sert à analyser
des données souvent complexes (enregistrées en base de données), afin d’aider à la prise de
décision. Cela peut paraitre un peu complexe mais c’est en fait très simple. Le but est de
permettre aux responsables de la stratégie d'une entreprise d’avoir une vue d’ensemble de
l’activité́ traitée.
Dans le contexte actuel de crise d'hyper-concurrence, les entreprises sont de plus en plus
obligées de consolider et d’analyser des informations diverses et volumineuses. Ceci
permettra aux dirigeants de tracer les grandes lignes directrices des stratégies de leurs
entreprises, développer leurs compétences tout en surveillant l'évolution du marché.

6
Dans le cadre de mon projet de fin d’études que j’ai effectué à Paris du 04/01/2016 au
05/07/2016 et dont l’intitulé « développement d’application de capitalisation de données et
d’aide à la décision au service de l’efficacité énergétique », je mettrai en avant dans ce rapport
les différentes étapes de la réalisation et pour éclaircir davantage ce projet, je présenterai cinq
chapitres:

➢ Le premier chapitre est consacré à la présentation de l’entreprise d’accueil, la solution


développée et la méthodologie adoptée.
➢ Le deuxième chapitre présente l’étude et la critique des outils existants.
➢ Le troisième chapitre analyse et spécifie les besoins.
➢ Le quatrième chapitre a pour but de concevoir la solution et son architecture.
➢ Le dernier chapitre décrit la phase de réalisation et la mise en place de la solution.

Finalement je conclurai en passant en revue les différentes phases de mon travail, et l’apport
en conséquent.

7
CHAPITRE 1:
CADRE DU PROJET

Introduction :
Ce chapitre qui introduit notre rapport, met en valeur tout d’abord les concepts
nécessaires à la compréhension de ce projet, ensuite il détaille les problèmes qui ont amené à
la réalisation de ce projet ainsi que la solution trouvée, enfin il explique la méthodologie de
développement ainsi que les raisons qui nous ont amené à l’adopter.

8
1 Présentation de l’organisme d’accueil :

Figure 1:logo Deepki

Deepki est une jeune entreprise innovante positionnée sur le marché de la Transition
Énergétique à Paris qui utilise la puissance des statistiques et de l'informatique pour
transformer les données existantes de ses clients en plan d'actions Efficacité Énergétique,
en effet Deepki développe et commercialise une application Saas nommée Deepki Ready,
capable d’identifier à distance les économies d’énergie et de charges sur des parcs d’actifs
immobiliers à moindre coût, sans compteur et sans audit.

En France la diminution de consommation énergétiques fait grand débat, toute entreprise doit
impérativement faire un audit énergétique et doit respecter les normes de consommation, en
cas de dépassement, de non-conformité ou n’ayant pas passé un audit par an l’entreprise est
sanctionnée, c’est ici que Deepki intervient !

D’abord Deepki collecte auprès de ses clients des factures d’électricités/gaz auprès de Engie
ou GDF (fournisseurs d’électricité et de gaz ) ,fait l’intégration des données, le traitement, la
transformation, fournit des modèles de consommation et des modèles prédictifs, puis conseille
ses clients en leur donnant les démarches à faire pour diminuer leur consommation.

Les enjeux des clients Les attentes des clients

 Réduction de la facture énergétique  Des variantes techniques et financières.


et carbone.  Des offres courageuses et engageantes.
 Respect des textes réglementaires.  Des solutions innovantes.
 Image vertueuse de leur activité.  Des partenaires de proximité et de force
de proposition.

9
Les activités de DEEPKI :

Deepki s’adresse à deux types de clients : les gestionnaires de grands parcs de bâtiments et
les fournisseurs de services énergétiques et d’énergie.

Figure 2: activités de Deepki

Nous pouvons voir un schéma représentant ce moteur sur la figure suivante. Le cycle présenté
ici montre un large panel des possibilités d’utilisation des données dans le secteur de
l’efficacité énergétique.

En premier lieu, il y a l’étape de collecte et d’intégration des données qui nécessite un


important travail. En effet, les données des bâtiments sont souvent réparties au sein de
différents services (technique pour les données des équipements, énergétique pour les factures
de consommation, etc.). Les sources sont donc variées et les données ne sont pas «
standardisées ». Il est donc nécessaire de nettoyer et préparer les données.

Viens ensuite l’étape d’analyse des données à partir de cette base « propre ». Celle-ci consiste
à réaliser différentes visualisations permettant de montrer différents motifs que nous avons pu
repérer dans les données. Cela passe aussi par une étude exploratoire et souvent une
classification non-supervisée des bâtiments afin d’obtenir des segments (classes) de bâtiments
homogènes. A l’aide de cette étude préliminaire, nous pouvons construire des modèles

10
prédictifs permettant de prédire les consommations d’énergie et ainsi détecter des potentiels
d’économie d’énergie.

Pour finir, il y a l’étape du développement d’une interface utilisateur. Cette phase est
essentielle afin de rendre un résultat tangible au client. Cela s’effectue souvent par le
développement d’une application web interactive permettant la visualisation des données
(visualisation, cartographie, prédictions) mais aussi des préconisations de rénovation afin
d’économiser de l’énergie au sein des différents bâtiments.

2.Présentation du projet :
2.1 Problèmes à traiter :

Jusqu’à présent les entreprises utilisent essentiellement des tableurs Excel pour stocker les
données et extraire des statistiques concernant l’évolution de leur consommation énergétique
au sein de l’entreprise, ces tableurs sont adaptés pour un nombre limité d'informations.
Lorsque le tableau prend des proportions importantes, les limites d'Excel apparaissent: risque
d'erreur entre les fichiers, risque de bug, difficulté́ d'analyse de l'information, temps de
traitement de l'information...

Actuellement, les gestionnaires de parcs immobiliers (bureaux, entrepôts, magasins) ne savent


pas mesurer les performances individuelles de leur parc. La détermination du profil d’un
bâtiment nécessite un audit énergétique. C’est un processus long et couteux, qu’il est
financièrement impossible de répliquer à l’ensemble des bâtiments du parc.

Certains clients se trouvent contraint d’identifier les plus gros gisements économies d’énergie
sur le patrimoine avec des compteurs et allant même recruter des experts en audit énergétique.
Peu de moyens sont mis à disposition des gestionnaires pour identifier les actions les plus
efficaces pour réduire charges et consommations, les gains et le retour sur investissement
attendus.

De plus il y’a le facteur environnemental, l’énergie est responsable de presque 80% des
émissions de gaz à effet de serre c’est ainsi que la transition énergétique et le changement
climatique sont des enjeux majeurs que la société traverse actuellement.

11
De nombreux pays ont mis en place des réglementations incitatives et coercitives pour amener
les acteurs de l’économie à consommer moins et
consommer mieux les ressources énergétiques d’où l’apparition d’une obligation
réglementaire en France et en Europe oblige par ailleurs toutes les entreprises de plus de 250
salariés à réaliser des audits énergétiques.

Le besoin de disposer d’outils de ciblage efficaces et peu chers est donc primordiale.

Figure 3:données énergétiques mis à disposition

12
2.2 Solution proposée :
Afin d’améliorer le système actuel et l’enrichir davantage, Deepki propose une solution
d’aide à la décision qui va permettre l’intégration des données brutes de grandes tailles à
l’aide de scripts, l’analyse des données et leur restitution sous forme de rapport.

La première partie correspond à l’application DDK (Deepki Data Kapitalisation) :


Du fait que nous avons plusieurs données hétérogènes de nos clients, DKK intervient pour les
regrouper, enchainant avec une phase d’analyse de données de clients du même secteur pour
capitaliser les données sous la forme d’un Proof of Concept (POC), qui permettra d’intégrer
des fichiers plats stocké sur Amazon web service, de les transformer en fichier Json d’une
manière automatique via la reconnaissance de métadonnées et les stocker ensuite dans la base
de donnée Mongodb et ainsi pouvoir faire des requêtes permettant aux décideurs (chefs
d’entreprises de Deepki ) d’avoir une vue globale sur la consommations énergetique des
clients appartenant à un même secteur d’activité .

La deuxième partie se concentre sur l’implémentation de la solution Saas de Deepki, nommée


Deepki Ready, pour un client :
Dont l’objectif est de faire des statistiques sur cette masse de données consolidées, ainsi les
données existantes de notre client sont intégrées au logiciel pour être nettoyées et agrégées en
base de données cohérente. Sur cette base de données, les algorithmes permettent de
segmenter le parc immobilier en catégories d’actifs aux comportements énergétiques
homogènes, et exploiter également les données d’activité des bâtiments du parc immobilier.
Ceci met à disposition du client un audit afin d'obtenir une vision plus éclairée sur son parc et
améliore la connaissance du patrimoine ainsi et enfin optimise les charges d’exploitation.

Les deux parties se croisent en ces fonctions livrées :

 Récupérer et compléter les données en complétant le jeu de donnée.


 Nettoyer les données en détectant les aberrations et contrôler la cohérence des
données.
 Intégrer les données sous différents sources.
 Consolider les données dans le format souhaité sous une base données.
 Echantillonnage en optimisant le nombre des audits réalisés.
 Segmenter les bâtiments et choisir les plus représentatifs sous forme d’un rapport
d’analyse.

13
2.3 Méthodologies :
Un processus de développement définit une séquence d'étapes, en partie ordonnée, en
vue de l'obtention d'un système ou à l'évolution d'un système existant pour produire des
logiciels de qualité qui répondent aux besoins des utilisateurs finaux dans des coûts et délais
prévisible.

Chacune de ces méthodes présente des avantages et inconvénients. Le tableau, ci-dessous


compare les principales caractéristiques à prendre en compte afin de bien choisir notre
méthodologie de travail.

Description Méthode Scrum Méthode 2TUP

Clarté de la présentation X

Modification en cas de besoin X

Expérience demandé X

Présence de documentation X

Respect des dates X X

Présence de Communication X

Simplicité de la réalisation X

Augmentation de la Productivité X X

14
Principes de la méthodologie Agile Scrum :
Vu les contraintes fonctionnelles, opérationnelles, techniques et matérielles exigées
dans le projet Deepki Ready, nous avons mis en œuvre, pour sa gestion, une méthode agile
appelée Scrum qui repose sur des cycles de développement itératifs et adaptatifs en fonction
des besoins évolutifs du client.
Elle s'appuie sur le découpage des projets en itérations nommées « sprints », qui peuvent avoir
une durée qui varie généralement entre deux semaines et un mois.

Figure 4:processus de la méthodologie Scrum

Pour ce faire, notre démarche de gestion de projets décisionnels en mode agile s’appuie sur 5
grands principes :

 L'itération et l’incrémentation : expliquent le fait que notre projet soit conçu et


construit par des petits morceaux successifs vus comme des points de synchronisation
et de feedback entre les acteurs du projet.
 La planification des tâches (fonctionnalités) qui sont priorisées par leurs importances
métier.
 L'auto ajustement du client peut moduler ses exigences, en connaissance de cause.
 La mise en évidence de la communication car tous les acteurs collaborent en continu
sur le projet.
 La gestion de la conception et les plannings par toutes l'équipe de façon collective à
travers des réunions (Réunion de planification de sprint, réunion de révision sprint,
réunion de rétrospective ...).
15
-Les échanges « face à face » avec le client qui transmet à l’équipe de
développeurs sa vision du produit et par conséquent on limite au
maximum le volume de travail sans intérêt.

-Réduit l’effet tunnel en donnant davantage de visibilité, en impliquant


le client du début à la fin du projet
-La forte implication des utilisateurs tout au long du cycle du projet.

Avantages -La capacité́ à livrer tôt et régulièrement (cycles itératifs et


incrémentaux) des applications BI opérationnelles sur des données
réelles.

- La capacité́ d’introduire des changements en cours du projet pour


satisfaire les besoins du client.

-La simplicité́ et sa richesse comparée aux problèmes d’interactivité́ du


modèle en cascade et loin de la complexité́ du modèle en spirale.

-Peu de documentation écrite.


-La pratique qui consiste à isoler l'équipe de l'extérieur pendant les
Sprints.
-Risque que l'équipe ne se prête pas au Scrum, car l’agilité fonctionne
Inconvénients
sur la motivation des ressources humaines.
-La survenue de conflits risquant de paralyser et de désagréger
l’équipe.

16
Principes de la méthodologie Lean Start up :

Figure 5:processus de la méthodologie Lean Startup

Pour le projet DDK la startup Deepki suit la méthodologie « Lean Start up » pour la
gestion de ce projet POC en tant que démarche du développement du produit DDK.

L’objectif de Lean Startup est de réduire le cycle de développement d’un produit afin de
réduire les risques d’échec et de répondre aux besoins de ses clients le plus tôt possible.

Afin de progresser vers un produit final, le cycle de vie de ce dernier se résume dans « build,
measure, learn », l’entreprise doit savoir ce qu’elle a besoin d’apprendre et comprendre ce
qu’il doit être mesuré :

 L’étape Construire (expérimenter) :


Consiste à construire une sorte de prototype que nous appelons « produit minimum viable »
MVP et l’expérimenter le plus rapidement possible sur le marché́ .

 L’étape mesurer (et analyser) :

Consiste à analyser le produit obtenu lors de premiers retours et à le tester dans le but
d’effectuer des nouvelles améliorations.
 L’étape apprendre (pivoter/continuer) :

La prise de décision se fait après chaque tour de boucle. On décide de continuer sur la même
voie ou bien d’entrainer des modifications d’une partie, ou la totalité́ de produit si on constate
que ce dernier ne répond pas à un besoin particulier satisfaisant notre cible.

17
-Validation au plus tôt la pertinence d’un projet et le faire pivoter dans
la bonne direction.
-Minimisation des risques d’échecs.

Avantages -Concentration avant tout sur le problème.

-Efficacité à alimenter et modifier le backlog au fur et à mesure des


sprints.
-Itération rapide autour de petit produit (minimum value product).

-Ciblage des startup et non pas les entreprises traditionnelle car tester
son MVP (minimum value product) puis d’itérer peu prendre beaucoup
Inconvénients de temps.
-Pas de vision avec une approche long-terme.
-Complexe à expliquer l’approche aux clients.

Conclusion :
A travers ce chapitre introductif, nous avons mis le projet dans son contexte et
présenté le cadre d’accueil de Deepki. Nous avons aussi exploré la problématique ainsi que
l’objectif de notre projet.

18
CHAPITRE 2 :
ETAT DE L’ART

Introduction :

Avant de spécifier les besoins il est nécessaire de réaliser une étude de l’existant. Cette
étude est une étape clé dans la réalisation de n’importe quelle application informatique,
quelque soit le domaine concerné. Il s’agit d’une étude permettant de comprendre la
problématique du projet et de détecter les avantages et inconvénients des solutions proposées
actuellement sur le marché afin d’en profiter pour réalisation de notre projet. Et avant
d’entamer ce projet, il est nécessaire de se familiariser au domaine de l’énergie, de
l’informatique décisionnelle ainsi qu’à des notions que nous allons travailler avec tout au long
du projet.

19
1 Etude de l’existant :
Tenant en compte que la critique constitue une étape nécessaire, porter un jugement
objectif afin de déceler les insuffisances rencontrées lors de l'étude du système actuel est un
mécanisme de survie des entreprises dans un environnement fortement concurrentiel.

Parmi les produits existants sur le marché, nous retrouvons Energiency :


Une entreprise qui cible les industries, similaire à Deepki, elle fournit aussi une technologie
d’analyse, et de performance. En effet celle-ci, analyse les données venant de tout type de
capteurs issus de l’Internet des objets à l’intérieur des usines en possédant un logiciel aligné
sur les exigences techniques de la norme ISO 50001, permettant d’économiser seulement la
consommation d’électricité. Sans compter qu’il se limite à l’analyse d’un seul site ou
patrimoine séparément, en perdant la possibilité́ d’analyser plusieurs sites en même temps et
l’opportunité́ de comparer des sites et d’extraire d’autres informations valorisantes.

2 Notions de bases :
2.1 La Smart Energie :
En France, le bâtiment est le secteur le plus énergivore avec 46% des consommations
d’énergie et 23% des émissions de gaz à effet de serre .Dans le monde, il tient la 2ème place
après l’industrie c’est ainsi que la donnée énergétique occupe par essence une place centrale
dans le secteur électrique. Avec le développement des technologies smart et l’augmentation
croissante du volume de données collectées, les acteurs prennent le virage de la data, avec à
l’horizon, de nouvelles opportunités économiques d’où l’effervescence de la notion de smart
énergie.

20
2.3 L’Efficacité́ énergétique de bâtiments :
Les principaux consommateurs d’énergie sont les bâtiments, or un bâtiment justifiant
d’une bonne efficacité́ énergétique est un bâtiment qui vise l’équilibre entre la production et la
consommation d’énergie.

En matière d’efficacité́ énergétique, on fait recours à trois solutions pour aboutir à une
performance énergétique globale :
– L’efficacité́ énergétique passive : elle concerne l’enveloppe du bâtiment. Elle renforce
la performance technique du bâtiment en utilisant l’isolation, les parois vitrées afin
d’éviter les déperditions.
– L’efficacité́ énergétique active : Elle assure une optimisation des flux énergétiques via
des appareils performants et de systèmes intelligents de mesure, de contrôle et de
régulation.
– Le comportement de l’utilisateur : une prise de conscience individuelle et collective tel
qu’éteindre les appareils électriques en veille aide à réduire la consommation
énergétique.

2.4 Le Système décisionnel :


Un système information décisionnel assure quatre fonctions fondamentales : la
collecte des données, l’intégration, la diffusion et la présentation et enfin l’administration.

 La collecte : Cette phase fait intervenir des processus ETL(extract-transform-load) qui


se chargeront de récupérer toutes les données nécessaires depuis les différentes
sources de stockage.

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


espace unifié.

 La Diffusion et présentation : C’est dans cette phase que les différents outils de
restitution vont intervenir. Nous trouverons des outils de visualisation, des portails
d’accès à des tableaux de bord ou des outils de statistiques.

 L’administration : C’est la fonction transversale qui supervise la bonne exécution de


toutes les autres. Elle pilote le processus de mise à jour des données, la documentation sur les
données, la sécurité, les sauvegardes et la gestion des incidents.

21
2.5 Le Big Data :
Le Big Data est un terme générique pour désigner des données massives
reconnaissables par leurs caractéristiques :
– Volume : données ayant de très gros volumes.
– Variété : données structurées mais aussi non structurées (données hétérogènes).
– Vélocité : données qui demandent des traitements rapides (voire du temps réel).
On leur ajoute souvent les 2 caractéristiques suivantes :
– Véracité : données vérifiées et fiables.
– Valeur : données réputées pour leur qualité.

2.6 Système de gestion de base de données NoSQL :


Le NoSQL, pour "not only SQL", désigne les bases de données qui ne sont pas
fondées sur l'architecture classique des bases de données relationnelles.
Il existe plusieurs catégories de SGBD NoSQL :
● Clé/Valeur : SGBD les plus simples, exemples : Riak, Redis, Voldemort
● Orienté Document : SGBD clé/valeur avec un document en valeur. On associe à une
clé un document qui contient plusieurs valeurs. Exemples : MongoDB, CouchDB
● Orienté Colonnes : SGBD proche d’un SGBD relationnel mais qui autorise les valeurs
manquantes. Exemples : Cassandra, HBase, BigTable
● Graph : L’information est représentée par des nœuds reliés entre eux par des arcs.
Nœud et arcs peuvent avoir des propriétés ou attributs. Exemples : Neo4j, FlockDB

2.7 Les Solutions Big Data Open source:


Apache Hadoop est un framework, open source pour les applications de données
distribuées. Dont l’objectif est de répondre aux exigences de traitement de multi machines, un
MapReduce et un système de fichiers distribué qui ensemble, devenu Hadoop qui est figure
maintenant parmi les technologies les plus populaires pour stocker les données structurées,
semi-structurées et non structurées.

Big Data intégration de Talend est une solution qui offre une alternative complète, capable
de relier Apache Hadoop au reste des applications de l’entreprise. Elle bénéficie du renom de
Talend pour ses distributions d’outils ETL, cette fois ci se distinguant par la facilité d’accès et
l’analyse de volumes massifs de données.

22
ElasticSearch est un moteur de recherche libre d’architecture REST. Il permet l’indexation
de données sous forme de documents, leur recherche puis une analyse de ces données en
temps réel. Sans oublier de mentionner qu’il est associé à deux autres produits
libres, Kibana et Logstash, qui sont respectivement un visualiseur de données et
un ETL(initialement destiné aux logs).

2.8 L’Application SaaS :


Software as a service (SaaS) est un modèle d’exploitation commerciale des logiciels
dans lequel ceux-ci sont installés sur des serveurs distants plutôt que sur la machine de
l’utilisateur. Les clients ne paient pas de licence d’utilisation pour une version, mais utilisent
librement le service en ligne ou le plus généralement payent un abonnement. Les principales
applications actuelles de ce modèle sont : le gestionnaire de relation client (CRM), la
visioconférence, la gestion des ressources humaines, la messagerie et les logiciels
collaboratifs.

Conclusion :
Après avoir mis le projet dans son cadre, et définit les différentes technologies et
concepts que nous allons adopter tout au long du projet, nous avons maintenant une vision
assez claire pour pouvoir entamer la prochaine étape qui est d’analyser les besoins
fonctionnels et non fonctionnels.

23
CHAPITRE 3:
ANALYSE ET
SPECIFICATIONS DES
BESOINS

Introduction :
Les parties précédentes ont fait le sujet du cadre théorique du notre projet, dans cette
partie nous présenterons les acteurs ensuite nous aborderons la spécification des différents
besoins fonctionnels, non fonctionnels, tout en ayant recours à un support UML, sur cette base
nous avons pu effectuer différents diagrammes.

24
1 Identification des acteurs :
 Le Responsable d’audit énergétique (ingénieur) :
Un expert ayant des connaissances approfondies dans le domaine de la gestion de bâtiments,
qui accède aux données et aux fonctionnalités du système. Il s’occupe d’interpréter les
résultats sur les différents modules constituant le système.

 Les Administrateurs :
Il s’agit de développeurs qui gèrent les différents modules de l’application y compris la
gestion des droits d’accès, de l’implémentation des fonctionnalités et des interfaces et la
gestion de la base de données.

 Les Utilisateurs (clients):


Il s’agit des utilisateurs finaux de la solution : les propriétaires et gestionnaires d’actifs
immobiliers publics ou privés : les enseignes commerciales, les grandes distributions, les
sociétés de service et les collectivités locales. Chaque utilisateur a un accès aux différents
modules du système. Il pourrait analyser aisément ses données énergétiques et interpréter sa
consommation.

2 Les besoins fonctionnels :


L'analyse des besoins de l'entreprise nous a permis de tracer le panorama des fonctions
que les deux futures solutions devront remplir.
Le décideur (client):

– Consulter les rapports : Le décideur aura la possibilité de consulter les rapports


prédéfinis, contenant les schémas graphiques de consommation.
– Consulter les indicateurs spécifiques à son bâtiment.
– Gérer un tableau de bord qui comporte les différents rapports et analyses générées.
– Permet l’extraction des différentes rubriques.

L’administrateur :

25
– Gérer les connexions et les habilitations : l’administrateur pourra gérer les droits
d’accès aux rapports.
– Transformation des données brutes en données pré-calculées.
– Synthétiser et traiter les données existantes (factures, équipement, météo).
– Générer des rapports d’audit énergétique et personnaliser l’interface.

3 Les besoins non fonctionnels :


Les exigences de l’entreprise concernent l’apparence de l’application, contraintes
d’implémentation (langage de programmation, type de système de gestion de base de
données) et la perception par ses utilisateurs potentiels.

Nous avons veillé́ ainsi à satisfaire les besoins suivants tout au long le cycle de réalisation de
notre projet :

 Ergonomie de l’Interface : L’un des objectifs du notre application est de faire en sorte
que nos visiteurs s’y sentent à l’aise et ont l’envie de rester et d’y revenir, avec une
visualisation interactive et dynamique.

 Guidage : L’application doit mettre en place des indices permettant de diriger,


orienter, informer et conduire l’utilisateur lors de ses interactions tout en lui laissant
suffisamment de liberté́ . Nous avons disposé d’un design clair et facile avec une
documentation sur l’usage des différents composants de l’outil par nos clients.

 Performance :
A ce niveau, il est indispensable d’utiliser un langage permettant le


gain en performance de l’application, qui évite une programmation itérative «
bloquante » limitant les chargements, qui sont les critères majeurs qui amènent notre
équipe à avoir un choix précis sur les technologies à utiliser (Python/R) permettent un
développement plus rapides.

26
 Maintenabilité́ :L’outil à développer doit être maintenable par toute l’équipe, il est
nécessaire de préserver un code simple, bien documenté, propre et respectant les
standards de qualité́ ainsi que les standards architecturaux et conceptuels d’un logiciel.

 L’extensibilité́ :notre outil est incrémental ce qui permettra l’ajout de nouvelles


fonctionnalités (comme pour détecter des anomalies, rajout d’api).

 La fiabilité: le système doit être disponible à tout moment pour l'utilisateur (les
réplications assuré par Amazon web service).

 L’Aspect Sécurité :

L’hébergement des applications de Deepki et des données sur AWS (Amazon web
service).
L’utilisation de SSH pour administration le serveur (avec des clés RSA individuelles).
Le stockage de fichiers plats sous Mongodb sont hachés en sha256 .

27
4 Identification des cas d'utilisation :
4.1 Diagramme de cas d’utilisation général :
Dans ce qui suit, nous présenterons le diagramme de cas d’utilisation général afin de
vous présenter une vision globale du comportement fonctionnel de notre système.

Figure 6: diagramme de cas d'utilisation général pour Deepki Ready

28
Figure 7: diagramme de cas d'utilisation générale pour DDK

4.2 Diagramme de raffinement du cas d’utilisation :


Nous allons, dans cette partie, détailler chaque cas d’utilisation afin d’expliquer
l’aspect fonctionnel et mieux détailler l’interaction entre le client et notre système dans le but
d’acquérir nos besoins.

29
Figure 8: diagramme raffinement du use case générer des rapports

Figure 9:diagramme raffinement du use case consulter des rapports

30
Description textuelle du use case « consulter un rapport » :

Titre Consultation de rapport

Résumé Description des phases de consultation de rapport

Acteur principal Client

Date de création 18/02/2016

Responsable Développeur

Pré condition Afin de consulter le rapport, le client doit d'authentifier auprès du


système (l’application).

Scénario nominal

Scénario alternatif A1:Indicateur inexistant.


A11:Donner la main au client pour choisir un autre indicateur.
A2:Données affichées du site précèdent.
A21: Rafraîchir la page.
A3:Données manquantes dans le dashboard.
A31: Les cases non rempli restent vides.

Post condition Visualiser et explorer un dashboard complet (avec plusieurs


composants).

31
5 Diagramme d’activité :
5.1 Diagramme d’activité de Deepki Ready :

Figure 10: diagramme d'activité de la consultation des rapports

32
5.2 Diagramme d’activité de DDK :

Figure 11: diagramme d'activité de la capitalisation de données

33
6 Diagramme de séquence système :
Pour mieux décrire le comportement du système Deepki Ready , le diagramme de séquence
système représente le cas d’utilisation « consulter un rapport » qui
est décrit sous la forme d’une séquence de messages échangés entre notre client et le système.

Figure 12:diagramme de séquence système

34
7 Diagramme de déploiement :
Le diagramme de déploiement est utilisé pour représenter l’architecture physique du
système. Il montre la distribution des composants logiciels sur la base d’unités d’exécution
(les nœuds).

La figure suivante montre le diagramme de déploiement de notre système à Deepki :

Figure 13: diagramme de déploiement

Conclusion :
La spécification des besoins nous a permis d’avoir une vision plus claire du sujet et
une compréhension plus profonde des tâches à réaliser. Nous avons essayé tout au long de ce
chapitre de bien présenter les différents besoins car ils vont être la base sur laquelle nous
allons réaliser la conception du système, cette conception est l’objet du chapitre suivant.

35
CHAPITRE 4 :
MODELISATION

Introduction :
La modélisation est un outil majeur de communication entre les différents intervenants
au sein du projet, depuis les utilisateurs jusqu’aux développeurs. Son but est de faciliter la
compréhension, l’étude et la maîtrise du système à étudier. Elle permet aussi de faciliter la
traçabilité du système, à savoir de partir d’un de ses éléments et de suivre ses interactions et
ses liens avec d’autres parties du modèle.

36
1 Architecture du projet :
Nous avons choisi une architecture 3 tiers présentent une structure informatique de type «
client/serveur » à trois niveaux :
 Le niveau « Présentation » : il constitue l'interface utilisateur sous du Web : cette
partie est responsable d’afficher tous ce que le serveur rend au navigateur : Elle peut
contenir du code HTML, CSS comme elle peut contenir d’autres technologies web
pour assurer des interactions avec les interfaces.

 Le niveau « Applications » : il correspond aux fonctions de traitement de l'information


à travers les technologies Rshiny et Python, renvoyé d’abord sur Amazon S3 pour le
stockage de données ensuite sur le serveur Amazon EC2 pour héberger l’application
en ligne.

 Le niveau « Base de données » : il gère les grands volumes de données que l'entreprise
Conserve sous le serveur de la base NoSQL MongoDB : qui est un gestionnaire de base de
données orienté document et qui ne nécessite pas des schémas prédéfinies.

Figure 14:architecture technique de l'application

37
2 Modélisation non relationnelle :
A l'inverse des tables SQL, aucune structure n'est imposée par MongoDB, ainsi la
structure de chaque document est différente, on manipule donc des objets semi structurés au
format Json, où les données prennent la forme de documents enregistrés eux-mêmes dans des
collections.

L’intérêt qu’il représente pour le stockage dans une base de données par rapport à de simples
tables est que leur structure hiérarchique leur permet de représenter les relations one-to-one et
one-to-many. Ainsi un document pourra être sauvegardé et chargé sans aucun traitement de
jointure.

Parmi les spécificités d’une telle modélisation, l’action d’ajout, modification, lecture ou
suppression peut-être effectué sur un ou certains champs dans un document et l’indexation de
champs de document permet ainsi un accès rapide sans avoir recours uniquement à la clé.

Or la modélisation dimensionnelle produit ce que l'on appelle le modèle dimensionnel ou plus


communément le schéma en étoile. C’est un schéma relationnel dans lequel une table centrale
contenant les faits à analyser, référence les tables de dimensions par des clefs étrangères.
Chaque dimension est décrite par une seule table dont les attributs représentent les diverses
granularités possibles.

Dans la représentation qui suite nous avons comparé le modèle dimensionnelle à notre base de
donnée non relationnelle sans schémas prédéfinis.

38
Figure 15:RDBMS: schéma en étoile

MongoDB

Figure 16: modélisation d'une collection MongoDB


39
Figure 17:représentation d’un document Json correspondant à un client

Dans notre cas la collection ddk-collection correspond à une table et les documents
représentent chacun de nos clients équivalant à un enregistrement de base de données
relationnelle.

Conclusion :
La concrétisation de cette solution doit alors tenir compte de l’architecture
conceptuelle retenue. Le prochain chapitre sera consacré à la représentation des technologies
d’implémentation utilisées et à la réalisation de notre application.

40
CHAPITRE 5:
REALISATION

Introduction :
Après avoir schématisé l’architecture de notre application ainsi que la conception des
différents modules, nous abordons à présent la partie réalisation. Nous justifierons d’abord
nos choix portés sur les technologies de développement utilisées, puis nous décrierons
l’environnement du travail aussi bien matériel que logiciel, et enfin nous exposerons quelques
imprimes écrans de notre projet.

41
1 Environnement matériel :
Afin de réaliser nos applications chez Deepki nous avons opté pour un ordinateur Mac dont
les particularités sont citées dans ce tableau :

Système d’exploitation OS X El Capitan (version 10.11)


Processeur 1,6 GHz Intel Core i5
Mémoire 4 Go 1600 MHz

2 Choix technologiques :
2.1 Langages de programmation :

Le langage Python :

Python est un Langage de programmation orienté objet,


multiparadigme et multiplateformes. Il favorise la programmation structurée et fonctionnelle.
Il est conçu pour optimiser la productivité des programmeurs en offrant une syntaxe simple à
utiliser et il permet aussi de s'adapter à tout type d'utilisation grâce à des bibliothèques
spécialisées.
Les principales caractéristiques du langage Python sont:
 Portable: il est supporté par les différents systèmes d’exploitation.
 Gratuit.
 Simple : il possède une syntaxe très simple tout en combinant des types de données
évolués (listes, dictionnaires…).
 Absence des pointeurs.
 Extensible.

42
Le langage R :
R est un langage de programmation complet, il est considéré́ comme la référence de
l’analyse des données et des statistiques. Ses principales caractéristiques sont :

 La réactivité de sa communauté.
 La variété́ de packages qui couvrent un nombre très important de fonctionnalités dans
des divers domaines (tels que l’économétrie, biométrie, série temporelle....).
 La disponibilité́ de la documentation et la facilité de leur accessibilité́ .

2.2Outils de programmation :

2.2.1 Phase de modélisation :

StarUML :

L’outil que nous avons utilisé en tant que logiciel open source de modélisation UML est
StarUml 5.02, disponible sur Mac et qui gère la plupart des diagrammes spécifiés, dans la
norme UML 2.0, facile à prendre en main et à manipuler et dont l'export peut se faire dans les
formats JPEG, SVG et PNG.

2.2.2 Phase d’Extraction-Transformation-Chargement :

Sublime Text 2 :
Editeur de texte générique, disponible sur Mac, à part le faite qu’il prend en charge
44 langages de programmation, il se distingue par la coloration syntaxique personnalisable,
l’auto complétion et son système de plugin.
L'éditeur propose cependant des fonctions plus avancées, dont :
● Minimap : prévisualisation de tout le fichier dans une barre latérale.

● Sélection et édition dans plusieurs sections de code en parallèle et marque-page au sein


même des fichiers.

● Support des macros et de plugins en Python.


43
Jupyter Notebook IPython :

Nous avons eu recours à ce Terminal interactif, pour le langage de programmation Python qui
propose des fonctionnalités telles la syntaxe additionnelle, la complétion et un historique
riche. La communauté de développement décide de scinder le projet en deux:

 La partie spécifique au langage Python reste dans le projet IPython.


 La partie indépendante du langage passe dans un nouveau projet
nommé Jupyter (pour Julia, Python, R).

RStudio :

Nous avons choisie de développer sous RStudio qui est un logiciel libre de traitement de
données et d’analyse statistiques mettant en œuvre le langage de programmation R.
Nous offrons la possibilité de crée un projet Shiny qui se caractérise par :

 Une interface web disponible pour tous les projets R.


 La création des tableaux de bord dynamiques.
 La combinaison de la puissance d’analyse et de visualisation de R à d’autres langages
web, comme le HTML ou encore JavaScript.
 L’Installation de Shiny en local

44
Figure 18:Organisation du projet shiny de Deepki ready

2.2.3 Phase d’hébergement :

Dans le tableau ci-dessous nous avons comparé quelques services d’hébergements sur le
cloud selon des caractéristiques déterminantes.

Hébergement Tps de Vitesse RAM(Go) Pourcentage Réseau


réponse transfert en du marché du cloud
en ms Mo/s cloud (2015) partagé

Amazon web 67 1 306 262 27.2 oui


service

Google Compute 48 1 680 208 3.6 non

Engine

Microsoft Azure 62 716 448 16.2 non

45
Amazon web service EC2 :

Nos projets chez Deepki se sont appuyés sur un hébergement chez Amazon web
service EC2 (Elastic Compute Cloud) qui représente un service proposé par Amazon nous
permettant de louer des serveurs sur lesquels exécuter nos propres applications web
(RShiny).
En effet, il nous a permis un déploiement extensible des applications en fournissant une
interface web par laquelle nous pouvons créer des machines virtuelles, c'est-à-dire des
instances du serveur, sur lesquelles nous pouvant charger n'importe quel logiciel de notre
choix. Parmi les privilèges que nous possède en tant que client, on peut créer, lancer, et
arrêter des instances de serveurs en fonction de nos besoins, et payer en fonction du temps
d'usage des serveurs.

3 Choix de la base de données :


Comparatif des bases de données Nosql :

Moteur Nosql Type de Distinction


données

Hbase Colonnes -Conception pour fonctionner au - dessus de


File system Hadoop Distributed.
-Accès rapide à de grandes quantités de
données éparpillé.
-Excellentes performances sur des grands
volumes de données.

Apache Cassandra Colonnes -Montée en charge linéaire sur des grands


volumes de données.
-Traitement de services de streaming.

MongoDB Documents -Base de données hiérarchique.


Json -Traitement de données semi structuré.
-Réplication.

Apache CouchDB Documents -Développement web sans besoins de grande


Json performance.

46
Base de donnés MongoDB :

Après avoir comparé les différentes bases, nous avons opté pour MongoDB la plus adapté à
nos besoins, en tant que base de données orientées document.
Un document dans Mongodb est une structure de données qui a un nombre variable de
propriétés. Chaque propriété a une valeur qui peut être scalaire (nombre, chaîne, etc.) ou un
vecteur (tableaux ou des objets).
La distinction par rapport à un modèle relationnel, nous imaginons bien le nombre substantiel
de tables impliquées pour normaliser ces données et l’effort à produire pour les restituer
(requête avec jointures), notre choix s’est donc basé sur ces principes :

● Stockage des données semi-structurées: c’est-à-dire dont la structure n’est pas


contrainte par un schéma mais dont le contenu est néanmoins formaté.
● L’unité de stockage est un document, généralement au format JSON ou XML.
● La structure d'un document est très simple et se compose de paires clef/valeur pouvant
être du texte, nombre, image (sous données binaire).

Pour le projet DDK, nous avons eu recours au stockage des données sous format Json, sous
des documents regroupées dans une collection, nous avons pu en tirer des avantages et des
inconvénients :

Avantages + Détention la première place pour les systèmes de gestion de


bases de données NoSQL (février 2015).
+ Ne nécessitant pas de schéma prédéfini des données.
+ Les clés peuvent être ajoutées à tout moment "à la volée", sans
reconfiguration de la base.
+ Indexation des propriétés des documents afin d’optimiser une
recherche.
+ Réplication pour assurer la haute disponibilité et la répartition
de la charge d’où la tolérance aux pannes.
+ Installation du serveur facile

Inconvénients - Ne permet pas les requêtes très complexes standardisées.


- Ne permet pas les jointures.
- Les opérations de bases peuvent être effectuées à partir d’un
Shell.

47
4 Phase d’implémentation :
4.1 Le processus ETL :
Pour nos applications nous nous basons sur des données venant de différents sources
(données patrimoniales, de l’entreprise, météorologique, des factures d’électricité et de gaz) et
de différents formats (xls ,pdf,csv …).

Figure 19: Listes des fichiers sources en entrée

Collecter les données consiste à récupérer auprès du client toutes ses données patrimoniales,
techniques et énergétiques intéressantes pour l'analyse de la consommation de ses bâtiments:
• Liste des bâtiments.
• Nombre d’agences par bâtiment.
• Nom ou référence de l’agence.
• Adresse ou coordonnées GPS.
• Surfaces.
• Nombre de DAB par agence.
• Description sommaire des bâtiments (nombre de niveaux, année de construction, heures
d'ouverture, présence de salle de réunion, nombre de postes et de bureaux fermés ...).
• S’il y a lieu, nature et date des derniers travaux de rénovation et d’économies d'énergie.
• Fichier descriptif des équipements techniques (nature, puissance, nombre d’année
d’installation pour CTA, chaudières, éclairage, groupes froids, ventilo-convecteurs, etc.).
• Principales utilités sur site (éclairage, ventilation, climatisation, chauffage, bureautique,
contrôle d’accès, etc.).

48
Pour la partie extraction et transformation et chargement des données nous avons eu recours à
des scripts python conçus pour l’exploitation des données.

Figure 20:Exécution de script pour l’ajout des métadonnées

Figure 21: Exécution du script pour analyser la nomenclature

49
Figure 22: Exécution du script pour consolider les données

Figure 23 : Suivie des documents Json rajouté à la collection de mongodb

50
4.2 Stockage de données :

Pour la phase de stockage de données, nos documents Json sont stockés dans une
collection dans Mongodb et ceci grâce à la librairie Pymongo sous python.

Figure 24: Exportation de la collection de Mongodb

La collection de DDK reçoit divers documents, un document par projet client.

Figure 25: Aperçu de la collection sous format Json

Vient ensuite l’intervention de Amazon S3 (Amazon Simple Storage Service) qui nous offre
un espace de stockage de gros fichiers binaires ou d’autres données importantes dans le cloud
sécurisé, durable et hautement évolutif, doté d'une interface de services web simple pour
stocker et récupérer toute quantité de données depuis n'importe où sur le web, avec cet outils

51
nous payons que le stockage que nous avons à utiliser réellement ,aussi il se distingue par ses
réplication dans 3 régions dans le monde.

Figure 26: Stockage dans Amazon web service S3

4.3 Reporting et tableaux de bord :

Dans cette partie du rapport nous allons exposer en premier lieu quelques graphiques
généré à travers l’application DDK dont l’objectif et d’analyser la consommation énergétique
de différents clients afin de dégager les facteurs responsables de près ou de loin à
l’augmentation de la facture d’électricité et de gaz, en deuxième lieu nous présenterons des
interfaces de l’application Deepki Ready faisant office de tableaux de bord destiné aux clients
pour mieux gérer leur patrimoine.

Dans le projet DDK nous avons eu recours à deux librairies du langage Python, la première
librairie utilisé est Seaborn pour faire des graphiques statistiques intéressantes et instructives,
nous citerons parmi les caractéristiques offertes :

● Plusieurs thèmes intégrés qui améliorent l'esthétique.


● Des Outils pour le choix des palettes de couleurs pour faire de belles parcelles qui
révèlent des modèles dans vos données.
● Des fonctions de visualisation de distributions permettant la comparaison entre des
sous - ensembles de données.
● Une fonction pour tracer des séries temporelles statistiques avec estimation flexible.
● Possibilité d’invoquer directement des fonctions de matplotlib.

52
Figure 27: Boite à moustache de la consommation totale par année de construction

Figure 28: Boite à moustache de la consommation totale par type de chauffage


53
Figure 29: Boite à moustache de la consommation énergétique par banque

Figure 30: Nuage de points de la consommation d'électricité par tarif et par banque
54
Comme deuxième librairie utilisée sous Python nous citerons Plotly, connu pour son
interactivité, pour la diversité de ces graphiques visant essentiellement l'exportation de
données, et le choix de conserver les graphiques en mode privé ou les rendre publics.

Figure 31: boite à moustache de la consommation d'énergie par tarif

Ci-dessous l'interface d'authentification de l'application Deepki Ready. Si l'utilisateur saisie


un nom d'utilisateur et un mot de passe existants dans la base de données de l'application il
sera redirigé vers son espace, sinon l'accès est refusé et un message d'erreur sera affiché.

55
Figure 32:interface d'authentification client

Pour déployer efficacement la stratégie et placer l'entreprise dans une dynamique de progrès
continu, il est essentiel de disposer d'un système de tableaux de bord. Or, dans un
environnement où les mutations ne font que s’accélérer, conduire sans tableau de bord devient
chaque jour plus dangereux. Il est donc vital pour les entreprises de développer leur capacité à
identifier les changements et les leviers à actionner. Il ne s'agit pas d'agir à l'aveugle mais
d'utiliser des outils fiables délivrant des indicateurs pertinents.

La première interface ci-dessous représente l’une des fonctionnalités principales dans les
Deepki ready. Cette fonctionnalité permet au client d’avoir une vision globale de ses
patrimoines en tant que consommation, cout et sites.

56
Figure 33:interface du tableau de bord principale (partie1)

Le tableau de bord contient des données quantitatives et qualitatives fournies par les systèmes
d’information internes de l’entreprise (comptabilités générale et analytique, statistiques
commerciales, production, qualité, gestion des ressources humaines,...) mais également issues
de l’analyse de l’environnement (évolution des factures, ...). A ce titre, il doit donc être
considéré comme un outil de management transversal favorisant la prise de décision.

57
Figure 34:interfacedu tableau de bord principale (partie2)

Chez Deepki les variables temporelles à analyser sont les données de consommations (elec et
gaz), les données d'activité (nombre de visites du bâtiment) et aussi des données
météorologiques.

Toutefois nous avons eu recours à la théorie des séries temporelles (chronologiques) qui
s’intéresse à étudier l’évolution au cours du temps du phénomène « consommation
énergétique en euro » dans le but de décrire, expliquer puis prévoir ce phénomène dans le
futur. L’objectif de l’analyse des séries temporelles est de s’intéresser au « dynamisme » de
cette variable.
Les principaux objectifs d’application de l’analyse des séries temporelles :

Prévoir : consiste à observer l’historique d’une variable et viser à en découvrir certaines


régularités afin de pouvoir établir une prévision. Il s’agit ici de supposer que les mêmes
causes produisent les mêmes effets.

58
Relier les variables : il s’agit de créer des liens entre des variables, afin d’établir des
comparaisons et des corrélations. Ainsi, on va pouvoir écarter certaines relations qui ne
présentent aucun sens avec la série, ou au contraire associer d’autres relations qui
interagissent avec la série observée.
Déterminer la causalité́ : il s’agit d’établir une liaison entre deux évènements qui se succèdent
(l’utilisation de retards d’une variable, va permettre à partir des valeurs aux périodes
précédentes de deviner la durée de transmission entre une source et son effet).

Figure 35:interface de la série temporelle d'un site selon les indicateurs elec et gaz

Cependant, pour mettre en œuvre une stratégie en un contexte tourmenté, ce n'est pas d'un
tableau de bord de constat dont nous avons besoin mais bien d'un tableau de bord de pilotage.
Il faut alors s'intéresser à une nouvelle génération de tableaux de bord proactifs, orientés
pilotage d’un patrimoine et prise de décision pour un site immobilier précis , d’où le
développement de l’interface ci-dessous .

59
Figure 36:interface fiche site immobilier

Figure 37:interface de suivi du de la facture du site par année


60
La partie Visualiser de l’application permet à son client de visualiser les différents sites
(magasins, agences…), plus en détail tout en s’appuyant sur des outils comme la cartographie,
les histogrammes et les box plots. Ceci nous permet d'évaluer le prévu et le réalisé ou de
délivrer de précieux indicateurs sur l'activité de l'entreprise mais aussi d'anticiper et de
corriger des situations dangereuses, signaler les alertes et assister le décideur dans ses prises
de décisions.

Figure 38:interface de la cartographie selon le mode de chauffage et la facture d'elec

61
Figure 39:interface de la cartographie montrant le pourcentage de l'évolution de la facture d'elec

Figure 40:interface de la cartographie de la surface de vente par facture de gaz

62
Figure 41:interface de comparaison de parc immobilier selon le mode de chauffage

Figure 42:interface de comparaison des parcs immobiliers par facture d'électricité et mode de chauffage
63
5 Gestion de projet :
5.1 Outils organisationnels :

5.1.1 Bitbucket :
Avant d’entamer le choix de l’hébergement de notre code source, nous avons voulu
comparer les deux outils Bitbucket et Github, qui reposent sur le concept de gestion de
versions Git mais qui se distinguent par quelques caractéristiques décrites ci-dessous.

Bitbucket Github
Solution économique (pour des budgets Prix mensuel plus cher.
limité, d’où prix mensuel très compétitif).
Fournit des repositories privés illimités. Ne fournit pas de référentiels privés gratuits.

Cible les projets freelances. Cible les projets open sources.

Plus avantageux quand il s’agit d’une petite Ouvert au grand public.


équipe (limite le nombre de collaborateurs : 5
gratuit et au-delàs il devient payant).
Pas de limitation sur la taille des fichiers. Limitation sur la taille des fichiers.

Nous avons finalement opté pour Bitbucket qui est un service web d'hébergement et de
gestion de développement logiciel , qui innove avec la possibilité de donner certains droits
sur une branche spécifique et permet de faire la gestion de versions collaborative , utile dans
le cas où nous avons beaucoup de repositories privés, une petite équipe et budget limité .

Figure 43:Les commits du projet DDK sur bitbucket


64
5.1.2 Trello :
Durant le stage nous avons eu recours à l’outil de gestion de projet en ligne agile
Trello, basé sur une organisation des projets en planches listant des cartes, chacune
représentant des tâches. Les cartes sont assignables à des utilisateurs et sont mobiles d'une
planche à l'autre, traduisant leur avancement sous forme plateforme collaborative, en effet il
reprend le principe du tableau blanc couvert de post-it pour matérialiser le workflow d’un
projet, le rendant plus intuitif et efficace sur le web.

 Moins de mails.
 Plus d’efficacité.
Avantages  Gestion de projets à distance facile.
 Des projets disponibles partout dans le monde.
 Consultables sur Ios, Android, Web.

 Manque de visibilité sur la progression d’un projet.


 Outil propriétaire.
Inconvénients
 Données stockées chez Trello.
 Risque de fausses manipulations / pertes de données.

Figure 44:Tableau blanc organisationnel de suivi des tâches sur Trello


65
5.2 Planification des Sprints :

La conduite d’un tel projet est relativement complexe si on ne suit pas une démarche
et une méthodologie et un planning bien défini à l’avance. Ainsi, le projet a été décomposé en
plusieurs phases, à la fin de chaque phase des livrables sont réalisées pour indiquer l’état
d’avancement du projet, dans notre cas nous avons deux releases.

La représentation du cycle de vie de l’application de Deepki avec la méthodologie Agile


Scrum est représenté sous forme d’un backlog produit, appelé aussi carnet du produit qui est
une liste ordonnée de tout ce qui pourrait être requis dans le produit.

Ci-dessous le Product Backlog qui illustre les trois sprints du projet. Pour le traitement de nos
user stories, nous choisirons de commencer avec les cas d'utilisation les plus prioritaires. En
plus du rang, chaque user story possède un effort (vélocité) qui est l'estimation initiale de la
quantité de travail nécessaire pour implémenter ce besoin.

66
De
ID Id gré
Sp St de
Nom Sprint User Stories Semaine Release
rin or diff
t y icu
lté

11 Prise de connaissance des données


énergétiques M 1-3
12 Formation Python M 3-4
Traitement de 13 Collecte de données énergétiques M 5
1
données
14 Nettoyage de données D 6-7
15 Préparation de Script D 8-11
16 Formation MongoDB M 12-13
21 Implémentation des scripts pour la
D 14-15
Récupération récupération des métadonnées
des
2 22 Modification des nomenclatures F 16
métadonnées
23 Stockage et requêtage dans la base de données M 17-18
(DDK)
24 Exécution d'un test F 19 Release 1
31 Formation RShiny M 20-24
Implémentation
d’un tableau de 32 Intégration et paramétrage D 25
3 bord
33 Conception de tableau de bord D 26-29
(Deepki Ready)
34 Exécution d'un test F 30 Release 2

67
5.3 Déroulement du projet :

Pour la présentation de l'organisation de notre travail, nous avons utilisé le diagramme


de Gantt qui est un outil pour modeler les tâches de planification nécessaires pour la
réalisation de notre projet, mais c'est aussi un bon moyen de communication entre nous en
tant que data scientiste participants au projet.

Figure 45: Diagramme de Gantt

Conclusion :
Dans ce chapitre nous avons présenté les outils technologiques dont nous avons eu
recours, ensuite les différentes phases de l’implémentation dont la principale est l’élaboration
de tableaux de bord représenté ici à travers des interfaces de notre application, permettent aux
clients de comprendre la cause de l’écart et de prendre les bonnes décisions. Les
fonctionnalités de filtre et de présentation graphique aident à faciliter l’analyse de la situation.
Nous avons finalement abordé notre stratégie de gestion de projet.

68
CONCLUSION
Le fait de travailler dans le domaine du « Big data » a été passionnant. En effet, c’est un
domaine dans lequel l’innovation se fait activement en ce moment, et la pratique n’est jamais
loin de la recherche. Il est également intéressant de comprendre comment l’augmentation du
nombre de données augmente la valeur unitaire de celle-ci.

Ce stage m’a beaucoup apporté personnellement, tant sur le plan technique, que professionnel,
car j’ai eu l’opportunité de travailler au sein d’une startup parisienne tout en ayant un
environnement stimulant et collaboratif vu que les locaux se situaient dans deux incubateurs
publique : d’abord à Agoranov et puis à Prine (Paris Région Nord Express).

En outre, l'interaction avec les membres de l'équipe Data Scientist de Deepki et bien
évidement les autres équipes, m'a permis de mieux comprendre les spécificités du projet et il
m'a aussi permis d'assimiler les différents outils et les connaissances acquises au cours de mes
années d'études et avoir la chance de me familiariser avec de nouvelles technologies. Il
faudrait souligner aussi la symbiose et la complémentarité entre la formation académique reçu
à Esprit et le cadre professionnel.

69
GLOSSAIRE

DDK: Deepki Data Kapitalisation, nom de l’application dédié à l’administrateur.

DEEPKI READY: nom de l’application dédié au client.

AWS: Amazon Web Service.

EC2: Elastic Compute Cloud.

ENGIE: Anciennement GDF Suez, c’est un groupe industriel énergétique français.

EDF: Électricité De France est le premier producteur et fournisseur d'électricité en France.

GDF: Gaz De France était un groupe énergétique français, spécialisé dans le transport et la
distribution de gaz naturel.

MVP: Minimum Viable Product.

ETL: Extraction Transformation Load.

NOSQL: Not Only Sql.

SAAS: Software As a Service.

GPS: Global Positioning System.

DAB: Distributeur Automatique de Billets.

CTA: Centrale de Traitement d'Air.

70
WEBOGRAPHIE :

Liens : Date de consultation :

http://www.deepki.com/fr/ 04/01/2016

https://www.python.org/ 05/01/2016

https://bitbucket.org/ 06/02/2016

https://aws.amazon.com/fr/ 10/02/216

https://trello.com/ 18/02/2016

http://www.bigdataparis.com/ 20/05/2016

http://www.telecom-paristech.fr/recherche/bigdata.html 26/05/2016

http://www.agiliste.fr 02/06/2016
https://www.rstudio.com/ 14/06/2016
https://www.mongodb.com/fr 18/06/2016

71