Rapport-Pfe-Sep2021 Ahmed Khissal

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 54

Réf : 2021/ II3 Soutenu à la session de Septembre 2021

Université de la Manouba
École Nationale des Sciences de l’Informatique

Rapport de Mémoire de Fin d’Etudes

Présenté en vue de l’obtention du titre

D’INGÉNIEUR EN INFORMATIQUE

Par
AHMED Khissal

Sujet : Conception et développement d’une application de suivi


automatique de l’évolution des clusters des signaux produits par
les centrales photovoltaïques

Organisme d’accueil : KiloWattsol

Nom du Responsable : Mr. Xavier DAVAL

Encadré par : Mr. Guillaume TOURASSE

Supervisé par : Mr. Amor OUESLETI

Adresse : 14 Rue Rhin et Danube, 69009 Lyon, France

Tél : +33 4 27 86 82 47
Signature & Stamp

TOURASSE Guillaume

DAVAL Xavier
Dédicaces

Je dédie ce modeste travail

À ma famille,
elle qui m’a donné une éducation digne, son amour a fait de moi ce que je
suis aujourd’hui.

À ma chère soeur Mariem,


pour son appui indéfectible dans tous les moments de la vie, et pour son
amour indicible.

À vous, mes chères parents,


je tiens à exprimer ma plus profonde gratitude pour votre amour éternel, que
ce rapport soit le meilleur cadeau que je puisse vous offrir.

À vous, ma soeur khaoula et mon frére Mohamed Ali


qui avez toujours su me soutenir et m’encourager pendant mes années
d’études.

ii
Remerciements

Avant de procéder à la présentation de mon travail, je tiens à exprimer ma gratitude


aux personnes qui, de près ou de loin, m’ont apporté leur soutien.

Je tiens à remercier mon superviseur, Mr. Guillaume TOURASSE, qui a dirigé mon projet
de fin d’études, pour la coopération et la confiance qu’il m’a accordée et pour m’avoir
donné cette opportunité.

Mes sincères remerciements à l’équipe du KiloWattsol, en particulier à Mme. Laure DE-


MOUSTIER, pour avoir partagé son temps et son énergie afin de m’aider à développer ce
travail.

Ma sincère gratitude à mon enseignant et à mon superviseur, Mr.Amor OUESLETI, pour


le temps qu’il a consacré à m’encadrer et à assurer le suivi de mon travail.

Je voudrais également adresser mes remerciements à tous mes enseignants à l’ENSI qui
m’ont formé et qui ont continué à enrichir mon cursus scientifique pendant mes années
d’études universitaires.

Je suis très reconnaissante aux membres du jury pour l’honneur qu’ils m’ont fait en accep-
tant d’évaluer mon modeste travail.

iii
Table des matières

Introduction générale 1

1 Étude préalable 3
1.1 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 KiloWattsol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Secteurs d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Contexte général du projet . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Étude et critique de l’existant . . . . . . . . . . . . . . . . . . . . . 7
1.2.3 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Concepts théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 L’intelligence artificielle et ses sous ensembles . . . . . . . . . . . . 8
1.3.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.3 DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.4 Série temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.5 Réduction des dimensions . . . . . . . . . . . . . . . . . . . . . . . 11

2 Analyse et spécification 13
2.1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Les acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Les besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Les besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Développement d’un diagramme de cas d’utilisation du système . . 15
2.2.2 Description des scénarios . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Conception 19
3.1 Conception architecturale . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1 Architecture globale du projet . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 Architecture physique . . . . . . . . . . . . . . . . . . . . . . . . . 20

iv
Table des matières v

3.1.3 Architecture logique . . . . . . . . . . . . . . . . . . . . . . . . . . 22


3.2 Conception détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Diagramme d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Étapes du suivi du changement de comportement des clusters . . . 25

4 Réalisation 28
4.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.3 Choix techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Aperçu sur le travail réalisé . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Chargement de données . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.2 Filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.3 Moyenne glissante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.4 Normalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.5 Réduction des dimensions . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.6 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.7 Propagation automatique des labels . . . . . . . . . . . . . . . . . . 36

Conclusion générale 38

Limites et Perspectives 40

Bibliographie 42

Netographie 44
Table des figures

1.1 Fonctionnement d’une centrale photovoltaique . . . . . . . . . . . . . . . . 6


1.2 L’intelligence artificielle et ses sous ensembles . . . . . . . . . . . . . . . . 9
1.3 Signal électrique produit par une centrale photovoltaique . . . . . . . . . . 11
1.4 Projection de données dans un plan bidimensionnel . . . . . . . . . . . . . 12

2.1 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . 15


2.2 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1 Architecture globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


3.2 Architecture client-serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 Architecture trois tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Model-View-Controller (MVC) . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Diagramme d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Données brutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1 Architecture du Cookiecutter . . . . . . . . . . . . . . . . . . . . . . . . . 29


4.2 Vue d’ensemble de Scikit-learn . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Outils de visualisation en Python . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Interactions entre les fichiers d’un tableau de bord réalisé par Dash . . . . 32
4.5 Loading des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6 Filtrage des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.7 Moyenne glissante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.8 Données normalisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.9 Données réduites dans un plan 2D . . . . . . . . . . . . . . . . . . . . . . . 35
4.10 Données réduites dans un plan 3D . . . . . . . . . . . . . . . . . . . . . . . 35
4.11 Données regroupées dans un plan 2D . . . . . . . . . . . . . . . . . . . . . 36
4.12 Données regroupées dans un plan 3D . . . . . . . . . . . . . . . . . . . . . 36
4.13 Propagation automatique des labels . . . . . . . . . . . . . . . . . . . . . . 37

vi
Liste des tableaux

2.1 Filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

vii
Liste des sigles et acronymes

KWS kiloWattsol

PFA Post Flash Analysis

PCYA Post Construction Yield Analysis

DBSCAN Density-Based Spatial Clustering of Applications with Noise

ACP Analyse en Composantes Principales

MVC Modèle-Vue-Contrôleur

viii
Introduction générale

De toute évidence, l’énergie est primordiale pour toute vie et tout organisme vivant.
En fait, le soleil, directement ou indirectement, est la principale source d’énergie disponible
sur terre. À notre époque, les choix et les décisions énergétiques ont des répercussions sur
les systèmes naturels de la planète dont nous ne soupçonnons peut-être pas l’existence.

Par conséquent, il est impératif de choisir judicieusement les sources d’énergie dispo-
nibles et de veiller à ce que l’énergie ne soit pas dilapidée. En outre, l’énergie joue un
rôle essentiel dans le développement des pays. Pour être compétitifs au niveau mondial
et assurer un développement durable, les pays doivent utiliser l’énergie efficacement. En
effet, les pays qui exploitent leur énergie à bon escient réalisent de bonnes performances
économiques et dominent la concurrence.

Étant donné que la population humaine est en croissance perpétuelle et que le climat
change fréquemment dans le monde entier, la consommation d’énergie sous toutes formes
existantes, notamment l’énergie électrique, est systématiquement intensifiée. En fait, pour
éclairer, chauffer, transmettre des signaux ou même faire de l’imagerie médicale, l’électri-
cité est utilisée pour tout dispositif domestique ou industriel.
En effet, aujourd’hui, la vie quotidienne est impensable sans électricité. Afin de combler sa
consommation croissante, il a fallu inventer et construire des centrales électriques capables
de produire de l’électricité en grande quantité. Dès que le courant est acquis, il doit être
acheminé jusqu’au consommateur en subissant le minimum de pertes possibles.

Des solutions sont mises au point pour pallier ses carences en tirant parti notamment
de toutes les évolutions technologiques qui ne cessent de marquer notre vie.

En effet, la production d’énergie électrique est assurée par conversion d’une autre forme
d’énergie. En fait, les centrales hydroélectriques convertissent l’énergie hydraulique en éner-
gie mécanique au moyen d’une turbine de distribution actionnant un générateur électrique
qui la transforme en énergie électrique.
De même, les centrales solaires photovoltaïques transforment une partie de l’énergie du
rayonnement solaire en courant continu au moyen d’un capteur. Après, ce courant peut
être stocké dans des batteries ou transformé en tension alternative par le biais d’un ondu-

1
Introduction générale 2

leur.

Actuellement, toutes les entreprises, et notamment KiloWattsol, ont une exigence crois-
sante visant à intégrer dans leurs activités des technologies d’intelligence artificielle.

Entièrement consciente des défis de la transition numérique du secteur de l’énergie,


KiloWattsol vise à acquérir des outils techniques hautement valorisés permettant de faire
face aux profondes évolutions actuelles du marché photovoltaïque.

Dans ce contexte, ce projet de fin d’études a notamment contribué à mettre en évidence


le besoin de mise en place un outil informatique performant basé sur des méthodes de clus-
tering. En effet, tout en se basant sur les données de production fournies par les centrales
photovoltaïques, l’objectif de l’application développée est de caractériser leur fonctionne-
ment.

Ce rapport décrit les différentes étapes de notre travail et il est réparti en quatre cha-
pitres :

Le premier chapitre est destiné à la présentation de l’organisme d’accueil, en le définis-


sant et en précisant ses secteurs d’activité. Ensuite, une présentation du projet, détaillant
la situation existante et proposant une solution adéquate, aura lieu. Finalement, des no-
tions théoriques seront présentées afin de favoriser la perception du projet.

Le deuxième chapitre débute par une analyse exhaustive des exigences fonctionnelles et
non fonctionnelles de notre application. Ensuite, un diagramme de cas d’utilisation sera
réalisé afin d’exprimer les modalités du système, et finalement, un diagramme de séquence
sera mis en place pour exprimer l’interaction utilisateur-application, accompagné d’une
description textuelle.

Le troisième chapitre aborde l’approche conceptuelle adoptée pour la mise en œuvre de


notre application de suivi de l’évolution du comportement des clusters.

Le quatrième chapitre souligne l’environnement de travail ainsi que les technologies utili-
sées, puis les résultats obtenus par notre système seront présentés par des captures.

Nous clôturons par une conclusion générale qui synthétise le travail réalisé et une ex-
position des perspectives.
Chapitre 1

Étude préalable

Introduction
Ce premier chapitre est structuré en trois principales sections, la première consacrée
à la présentation de l’organisme d’accueil, la seconde visant à préciser le cadre du projet
ainsi que l’étude de la situation existante et de la solution préconisée. Enfin, une dernière
partie est dédiée à la définition des concepts théoriques en vue de clarifier les notions
fondamentales dans la réalisation du projet.

1.1 Présentation de l’organisme d’accueil


Cette première section est destinée à la présentation de l’organisme d’accueil, en pré-
cisant sa localisation, son fondateur et sa position par rapport au marché ainsi que ses
secteurs d’activité.

1.1.1 KiloWattsol
KiloWattsol (KWS) a été fondée en 2007 par Xavier DAVAL, précédemment directeur
commercial d’OK International et désormais directeur de SER Solar et GSL, et Dominique
DUMORTIER, un spécialiste dans le domaine de la caractérisation et modélisation du
spectre solaire. [URL1]
KiloWattsol, basée à Lyon en France, est l’un des principaux consultants techniques in-
dépendants en Europe, spécialisé dans le secteur de l’énergie solaire et du stockage. Sa
vocation est de créer un support informatique, appelé "Satellight", permettant la resti-
tution du potentiel énergétique des installations photovoltaïques. Actuellement, la société
est composée d’ingénieurs et de docteurs spécialisés dans l’énergie photovoltaïque pouvant
réaliser des simulations de la productibilité de toute installation, partout dans le monde.

3
1.1. Présentation de l’organisme d’accueil 4

L’entreprise a acquis une expertise dans tous les types de technologies photovoltaïques
(panneaux mono ou polycristallins, à couches minces, bi-faciaux, etc), tant pour les toitures
que pour les ombrières, voire les centrales ou les portefeuilles.
Actuellement, la société a évalué plus de 1800 projets dans le monde. En outre, KiloWattsol
est le leader en France dans le domaine de l’analyse de la prestation des systèmes photo-
voltaïques, avec une part de marché de plus de trente pour cent, ainsi que le conseiller de
grandes banques, de fonds d’investissement en Europe et de banques de développement
internationales pour le financement de projets.[URL2]

1.1.2 Secteurs d’activité


Comme conseiller technique, la mission de KiloWattsol n’est pas de concevoir et déve-
lopper des centrales photovoltaïques, mais de les évaluer et les contrôler.
La société est susceptible d’être sollicitée par des clients pour la réalisation de différents
types d’études. En effet, elle procède notamment à des audits de capacité, des évaluations
de risques, des études de faisabilité, des études de rendement, des analyses climatiques et
des diligences techniques. KiloWattsol intervient ainsi à toutes les phases du cycle de vie
d’un projet photovoltaïque, en amont et en aval de la construction de la centrale.

— Étude de productible / Audit de capacité

Le calcul de productible photovoltaïque, un productible est une quantité d’énergie


susceptible d’être générée exprimée par unité de temps (MWh/an) ou par unité
de puissance et de temps (kWh/kW/an), permet la détermination de la puissance
fournie par une installation photovoltaïque pendant une année.
Ainsi, une étude de productible doit être menée pour permettre la détermination
du potentiel d’un projet photovoltaïque et l’évaluation de sa rentabilité prévue.
— Pré-construction
KiloWattsol est susceptible de mesurer le rendement d’une future centrale élec-
trique en estimant toutes les pertes d’énergie survenant dans la chaîne de pro-
duction de l’électricité. Ces pertes concernent les panneaux, les onduleurs, les
différentes longueurs des câbles, etc.
— Post-construction
Pour une centrale existante, l’étude de productibilité se penche sur sa production
passée : c’est ce qu’on appelle un audit de capacité. Dans ce cas, l’entreprise tente
de prévoir cette production en effectuant des estimations et en atténuant les
incertitudes sur la base des données collectées et enregistrées depuis la création de
la centrale. Pour cela, il faut également incorporer le climat constaté et anticiper
le prochain. De plus, lorsque les données sont insuffisantes, des simulations sont
ajoutées afin d’évaluer les performances et les dégradations.
1.1. Présentation de l’organisme d’accueil 5

— Évaluation des risques / Due diligence


— Premier acquéreur
Durant la phase de financement d’un projet, le futur acheteur de la centrale peut
demander à KiloWattsol une évaluation des risques tant techniques que finan-
ciers. Un exemple est présenté ci-dessous.
Compte tenu de l’intermittence des énergies renouvelables et de leur spécificité
de production, la législation exige qu’elles ne dépassent pas une certaine propor-
tion de la production totale. En effet, au-delà d’un seuil donné, il est difficile de
procéder à une intégration complète des énergies renouvelables parmi les diffé-
rentes sources d’énergie et leur exploitation peut être restreinte et/ou onéreuse.
Par conséquent, l’objectif poursuivi par l’entreprise est de vérifier qu’une cen-
trale ne franchira pas la limite législative applicable dans la région pour échapper
à la déconnexion du réseau.
— Due diligence
KWS peut être chargée de réaliser une évaluation du potentiel d’un portefeuille
de centrales électriques existantes pour une revente future.
Compte tenu des performances passées, l’entreprise évalue le risque pour le nou-
vel acheteur d’acquérir l’actif souhaité. Le contrôle préalable englobe ainsi tous
les éléments relatifs à l’examen des contrats, aux analyses de risque et aux taux
d’achat.
— Étude de faisabilité
KiloWattsol ne conçoit pas de centrales pour son propre compte mais peut effectuer
occasionnellement des études de faisabilité. Le principal objectif est de concevoir
une centrale capable de produire suffisamment d’énergie pour satisfaire les besoins
du client sans dépasser le budget disponible.
— Conseil technique
De manière générale, KWS peut être amenée à comparer les technologies et à re-
commander la solution la plus adéquate à installer dans une région donnée ou à
prodiguer des conseils sur l’optimisation de la conception. Elle constitue également
un appui pour les financiers qui ne possèdent pas nécessairement des connaissances
techniques suffisantes pour réaliser leur projet.
— Analyse climatique
Finalement, KWS est susceptible d’être sollicité pour mener des analyses climatiques
sur des sites non dotés de stations météorologiques fiables. En effet, par exemple,
dans la Cordillère des Andes, où la topographie du terrain, composé principalement
de montagnes, est extrêmement complexe.[Patriarche, 2014]
1.2. Présentation du projet 6

1.2 Présentation du projet


Dans cette partie, nous présentons tout d’abord le contexte général du projet, puis
nous abordons la situation existante, les différentes méthodes appliquées et pour finir nous
exposons la solution envisagée ainsi que le travail requis.

1.2.1 Contexte général du projet


Centrale photovoltaïque
Une centrale solaire photovoltaïque est un équipement technique permettant de pro-
duire de l’électricité, son principe de fonctionnement est relativement simple. En effet, sous
l’effet de la lumière du soleil, des modules solaires photovoltaïques branchés les uns aux
autres, génèrent un courant électrique continu.[URL3]

Figure 1.1 – Fonctionnement d’une centrale photovoltaique

Les études post-construction


Conformément à la présentation des secteurs opérationnels de l’entreprise, KWS mène
des études de performance post-construction, c’est-à-dire des études sur des centrales ayant
déjà un historique de production. Ces études visent à atteindre les objectifs suivants :
— Redéfinition du business plan de la centrale dans la perspective d’un achat/vente,
d’un préfinancement, ou d’une action corrective (centrale présentant un écart de
production par rapport aux prévisions).

— Modification, dans le cas des anciennes centrales, de leur configuration et/ou sub-
stitution de certains composants pour améliorer leur production. Ce processus est
appelé "repowering".

Pour parvenir à atteindre ces objectifs, toute étude est constituée de deux volets : "indis-
ponibilité" et "dégradation".

— Les indisponibilités correspondent à des périodes de non production totale ou par-


tielle. Leurs analyses servent à apprécier le manque à gagner, passé et futur de la
1.2. Présentation du projet 7

centrale mais aussi à déterminer leurs causes et donc les responsables.

— La dégradation fait référence à la détérioration progressive de l’équipement. Elle


aboutit à une diminution graduelle des performances et elle est observable à travers
le profil de production à long terme. [Ayang, 2020]

1.2.2 Étude et critique de l’existant


Les études post-construction sont divisées en études PFA (Post Flash Analysis) et
PCYA (Post Construction Yield Analysis).
Les études PFA sont des analyses de "haut niveau" et ne permettent par conséquent que
de quantifier globalement la perte liée à l’indisponibilité. Leur intérêt est de plus en plus
réduit en raison de leur facilité à être réalisées sans outils spécifiques. En effet, une simple
analyse reposant sur l’historique de la production mensuelle (ou quotidienne) comptabi-
lisée procure une réponse approximative aux deux problématiques d’indisponibilité et de
dégradation. Ces études sont basées sur le volume (plus de 100 études/jour) plutôt que sur
la profondeur de l’analyse.
Pour achever cette approche de "haut niveau", il est nécessaire de procéder à des analyses
approfondies visant à identifier avec exactitude le groupe défaut-causes-coût-responsable.
Ce sont les études PCYA. Les outils KWS pour ce type d’analyse doivent être améliorés,
c’est l’objet du stage.
KiloWatssol applique trois méthodologies, séparément ou de manière complémentaire, pour
les études post-construction.
- Méthode 1 : comparaison des signaux de production à une norme de référence.
Cette référence correspond souvent à la quantité d’irradiation reçue par la centrale (GTI :
Global Tilted Irradiance), ou idéalement à une production théorique élaborée à partir d’une
prise de mesure du GTI au sol. Cette production théorique est susceptible d’être précisée
par régression lorsque les indisponibilités sont éliminées du profil sain. [BELFEDHAL et al., 2014]
— Avantages : méthode de haut niveau, performante en première intention. En effet,
elle permet de détecter les défaillances générales et elle a l’avantage de toujours être
accessible.
— Inconvénients : le rendement propre de la centrale est approximativement estimé.
- Méthode 2 : comparaison des signaux entre eux.
— Avantages : méthode privilégiée pour une analyse détaillée des comportements et
donc une identification pointue des causes.
— Inconvénients : il est nécessaire de disposer d’un nombre suffisant de signaux en
parallèle (>10) ; la distinction entre les erreurs de communication et l’indisponibi-
lité est extrêmement difficile à faire ; elle ne permet pas de différencier les pannes
générales.[Mambrini, 2014]
- Méthode 3 : Comparaison de signaux issus de différents « étages » de production.
1.3. Concepts théoriques 8

— Avantages : le procédé permet, en fonction des écarts de production sur les dif-
férentes étapes, de discerner les défauts de communication des détecteurs et/ou
l’indisponibilité de la production.
— Inconvénients : cette approche exige un monitoring intensif et une résolution adé-
quate. Le temps requis pour contrôler la qualité des données est tout à fait propor-
tionnel au nombre des étapes de monitoring.[Mambrini, 2014]

1.2.3 Solution proposée


L’objectif du stage est de mettre au point un outil d’aide aux ingénieurs en vue de la
réalisation de les PCYA (Post Construction Yield Analysis) mentionnées dans la section
précédente. En effet, l’outil élaboré vise à pouvoir caractériser le fonctionnement d’une
centrale photovoltaïque à travers ses données de production de manière à quantifier les
éventuelles pertes d’énergie dues aux dysfonctionnements.
Pour satisfaire à cette exigence, l’outil en question doit être en mesure de :
• Distinction des différents comportements à chaque heure des panneaux solaires.
• Accompagnement à l’identification de ces comportements : labélisation manuelle des
groupes formés.
• Mise en place d’une méthode de reconnaissance des comportements dans un contexte
non supervisé : «propagation automatique» des labels dans le temps.

1.3 Concepts théoriques


Dans cette section, nous réalisons une étude théorique pour définir et expliquer certains
concepts afin de faciliter la compréhension du reste de ce rapport.

1.3.1 L’intelligence artificielle et ses sous ensembles


L’intelligence artificielle est une discipline visant à donner des capacités de perception
à une machine basée sur l’intelligence humaine.
Depuis le début de la décennie passée, cette notion a connu un développement important,
donnant naissance à l’apprentissage automatique, scindé en apprentissage supervisé et non
supervisé. La figure 1.2 ci-dessous illustre les différents sous-ensembles de l’intelligence
artificielle.[URL4]
1.3. Concepts théoriques 9

Figure 1.2 – L’intelligence artificielle et ses sous ensembles

1.3.2 Clustering
Définition
La mission du clustering est de diviser les points de données en plusieurs groupes de
sorte que ceux appartenant à un groupe soient plus homogènes que ceux des autres groupes.
En d’autres termes, l’objectif est de distinguer les ensembles ayant des caractéristiques
communes et de les diviser en clusters.[URL5]

Types des algorithmes de clustering


Comme la vocation du clustering est subjective, il existe de nombreux procédés pour y
parvenir. En fait, chaque méthodologie obéit à un ensemble de règles différentes visant à
cerner la similarité entre les points de données.
De fait, il existe plusieurs algorithmes de clustering répertoriés. Cependant, certains de ces
algorithmes sont utilisés de manière populaire, examinons-les en détail :
— Modèles de connectivité :
Comme son nom l’indique, ce type de modèle repose sur le principe que les points
de données les plus étroits dans l’espace de données ont davantage de similitudes
entre eux que ceux plus distants. En fait, deux approches sont envisageables pour
ces modèles. En première approximation, ils entament la classification de tous les
1.3. Concepts théoriques 10

points de données dans des clusters distincts, puis les fusionnent au fur et à mesure
que la distance décroît. Toutefois, dans la deuxième approche, les points de données
sont répartis en un seul groupe, puis répartis à mesure que la distance croît. En
outre, la fonction de distance est définie de manière subjective. Bien que faciles à
interpréter, ces modèles manquent de modularité pour traiter des jeux de données
volumineux.
— Modèles centroïdes :
Des algorithmes de clustering itératifs où le concept de ressemblance résulte du
degré de voisinage d’un point de données par rapport au centroïde des clusters.
L’algorithme de clustering K-Means est un algorithme très répandu appartenant à
cette catégorie. Ces modèles requièrent que le nombre de clusters voulu au final soit
spécifié préalablement, ce qui impose une connaissance antérieure du jeu de données.
— Modèles de densité :
Ce type de modèle explore l’espace de données en recherchant des zones de den-
sité inégale de points de données dans celui-ci. Ils distinguent plusieurs régions de
densité distincte et regroupent les points de données situés dans ces zones dans le
même cluster. Citons comme exemples courants de modèles de densité DBSCAN et
OPTICS. [URL6]

1.3.3 DBSCAN
DBSCAN est l’acronyme de "density-based spatial clustering of applications with noise"
(regroupement spatial des applications avec bruit basé sur la densité). Il permet de repérer
des clusters de forme irrégulière et des clusters avec du bruit. En effet, le concept principal
de DBSCAN est qu’un point adhère à un cluster lorsqu’il est étroitement lié à certains
points de celui-ci. [URL7]
Deux paramètres fondamentaux de DBSCAN :
— Epsilon (eps) : la distance spécifiant les voisinages ; deux points sont considérés
comme voisins si la distance entre eux est inférieure ou égale à eps.
— Minimum de points (minPts) : le nombre minimum de points de données pour définir
un cluster.

1.3.4 Série temporelle


Une série temporelle est une suite finie de valeurs numériques représentant l’évolution
d’une quantité spécifique au cours du temps, généralement pour comprendre son évolution
passée ou pour en prévoir son comportement futur.[URL8]
1.3. Concepts théoriques 11

La figure 1.3 ci-dessous présente les valeurs acquises du signal électrique produit par une
centrale photovoltaïque toutes les heures pendant un mois ; il s’agit donc d’une série tem-
porelle.

Figure 1.3 – Signal électrique produit par une centrale photovoltaique

1.3.5 Réduction des dimensions


La réduction de la dimension est un procédé visant à réduire la taille de l’ensemble des
caractéristiques. En fait, dès que la dimensionnalité est supérieure à trois, la visualisation
des données brutes est absurde. Ainsi, cette technique peut servir à pallier ce problème en
projetant les données dans un espace de faible dimensions, le plus souvent un espace 2D
ou un espace 3D.[Carreira-Perpinán, 1997]

Analyse en composantes principales


L’analyse en composantes principales (ACP) est une procédure statistique faisant interve-
nir une transformation orthogonale pour convertir un ensemble de variables corrélées en
un ensemble de variables non corrélées. L’ACP est l’outil le plus largement utilisé dans
l’analyse exploratoire des données et dans l’apprentissage automatique pour les modèles
prédictifs. En outre, l’ACP est une technique non supervisée servant à examiner les inter-
relations entre un ensemble de variables. [Josse et al., 2009]
1.3. Concepts théoriques 12

La figure 4.9 ci-dessous illustre une projection des données dans un plan à deux dimensions
en appliquant l’algorithme d’analyse en composantes principales :

Figure 1.4 – Projection de données dans un plan bidimensionnel

Conclusion
Dans ce chapitre, nous avons présenté l’organisme d’accueil et ses secteurs d’activité.
Ensuite, nous avons abordé la problématique du projet en étudiant l’existant et en précisant
la solution proposée. Enfin, une étude théorique est réalisée afin de définir les termes
essentiels du sujet et de décrire des techniques adaptées. Dans le chapitre suivant, nous
allons détailler les exigences du système en nous appuyant sur des diagrammes appropriés.
Chapitre 2

Analyse et spécification

Introduction
Ce chapitre est dédié à la compréhension du concept du système. En effet, nous allons
identifier les fonctionnalités et les acteurs pertinents, en nous basant sur un diagramme de
cas d’utilisation accompagné d’une explication de certains scénarios. En plus, une deuxième
partie contient un diagramme de séquence avec une description approfondie.

2.1 Spécification des besoins


Dans cette partie, nous présentons les acteurs et les besoins fonctionnels et non fonc-
tionnels à satisfaire par le système.

2.1.1 Les acteurs


Un acteur est la représentation schématique d’un rôle joué par une personne, un pro-
cessus ou un élément externe interagissant avec un système.[URL9]
En effet, ce projet est conçu pour que kiloWattsol, également consultant en énergie pho-
tovoltaïque, renforce les études menées pour ses clients, ainsi l’acteur est le dirigeant du
secteur informatique de kiloWattsol.
— Administrateur : ingénieur responsable de l’analyse du rendement après construction
(PCYA).

2.1.2 Les besoins fonctionnels


Le besoin se traduit par un aspect fonctionnel soulignant :
— les fonctions de service (à quoi ça sert ?)
— les fonctions techniques (comment ça peut fonctionner ?). [Roques and Vallée, 2004]

13
2.2. Diagramme de cas d’utilisation 14

Dans notre cas, l’outil de suivi de l’évolution du comportement des clusters des séries
temporelles générées par les centrales photovoltaïques permet à l’administration de :
— charger les données brutes
— filtrer les données parasites
— normaliser les données filtrées
— réduire les dimensions de l’analyse des données
— appliquer l’algorithme de clustering sur les séries temporelles
— suivre la propagation automatique des labels de clusters.

2.1.3 Les besoins non fonctionnels

Les exigences non fonctionnelles sont les prescriptions caractérisant le système. En fait,
ce sont notamment des exigences relatives aux prestations, au type de matériel ou au
type de conception. De même, elles peuvent concerner des contraintes d’implémentation
(langage de programmation, type de SGBD, système d’exploitation, etc).
Pour notre cas, le système de surveillance de l’évolution des clusters, les exigences non
fonctionnelles sont :
— la performance : le système doit se caractériser par un temps de traitement restreint
au niveau des fonctions, des calculs et de l’importation et l’exportation des données,
indépendamment de leur volume.
— l’intuition : le système doit être convivial, étant donné que les membres de kilo-
Wattsol ne sont pas entièrement des data scientists, afin de faciliter l’analyse et
l’interprétation des résultats.
— la maintenabilité : il convient que le système facilite la maintenance, tout en veillant
à ce que le code soit clair pour les non-spécialistes et qu’il accepte constamment les
modifications et les optimisations.[Khaldi, 2017]

2.2 Diagramme de cas d’utilisation

Afin de modéliser le comportement du système et de capturer ses exigences et ses in-


teractions avec les acteurs. En effet, cette section est vouée à la création d’un diagramme
de cas d’utilisation et à la description textuelle de certains scénarios.
2.2. Diagramme de cas d’utilisation 15

2.2.1 Développement d’un diagramme de cas d’utilisation du sys-


tème
La figure 4.1 illustre le comportement fonctionnel du système de clustering par le biais
d’un diagramme de cas d’utilisation.

Figure 2.1 – Diagramme de cas d’utilisation

2.2.2 Description des scénarios


Dans le but de renforcer la pertinence du diagramme de cas d’utilisation, cette partie
est conçue pour illustrer les scénarios de cas d’utilisation en vue de décrire leur enchaîne-
ment logique.
Dans ce cadre, nous présentons les scénarios correspondant aux cas d’utilisation : filtrage
des données et regroupement des séries chronologiques.
2.2. Diagramme de cas d’utilisation 16

Cas d’utilisation : filtrage de données.


Résumé : ce cas d’utilisation permet aux administrateurs de se débarrasser de bruit.
Acteur : administrateur
Pré-condition :
-le système fonctionne.
-les connexions entre le système de filtrage et le système de gestion de données sont
fonctionnelles.
Scénario nominal :
01 - le système invite l’utilisateur à entrer la valeur de filtrage.
02 - l’utilisateur saisie la valeur choisie.
03 - le système filtre les données selon la valeur saisie.
04 - le système affiche la visualisation des données filtrées.
05 - l’utilisateur confirme la valeur de filtrage.
Scénario alternatif :
la valeur choisie peut ne pas correspondre à la situation : ce scénario commence au
point 03 du scénario nominatif.

Table 2.1 – Filtrage

Cas d’utilisation : clustering des séries temporelles.


Résumé : ce cas d’utilisation permet aux acteurs de regrouper les données.
Acteur : administrateur
Scénario nominal :
01 - le système invite l’utilisateur à entrer les paramètres de l’algorithme de clustering.
02 - l’utilisateur saisie les paramètres.
03 - le système applique DBSCAN .
04 - le système affiche la visualisation des données regroupées.
05 - l’utilisateur confirme les paramètres.
Scénario alternatif :
les paramètres choisissent ont donné des résultats qui ne correspond pas à la situation :
ce scénario commence au point 03 du scénario nominatif

Table 2.2 – Clustering


2.3. Diagramme de séquence 17

2.3 Diagramme de séquence


Dans cette partie, un diagramme de séquence est présenté par la figure 2.2, de manière
à illustrer les interactions entre les différents éléments d’un scénario dans un diagramme
de cas d’utilisation.

Figure 2.2 – Diagramme de séquence

En effet, comme indiqué dans le diagramme de séquence, l’utilisateur de l’application,


soit les administrateurs de KiloWattsol, sélectionne la période de temps à traiter, qui va
2.3. Diagramme de séquence 18

être chargée à partir de la base de données et affichée à l’utilisateur avec une possibilité de
les visualiser sous forme graphique.
Ensuite, le système requiert de l’utilisateur qu’il choisisse une valeur spécifique pour le
filtrage, puis le système lui fournit un graphe contenant les données brutes filtrées. À ce
stade, l’utilisateur a deux possibilités : soit il peut constater, en visualisant les données,
que le filtrage est convenable, alors il valide la valeur choisie et les données sont mémorisées
dans la base de données, soit il peut opter pour une autre valeur pour assurer un filtrage
optimal.
En effet, lorsque la valeur du filtrage est entérinée, la phase de normalisation se déclenche,
puis le système fait apparaître les données normalisées qui ont été stockées dans la base de
données.

Conclusion
Dans ce chapitre, nous avons spécifié l’objectif à atteindre avec le système à réaliser
en recourant aux exigences fonctionnelles et non fonctionnelles et à un diagramme de cas
d’utilisation. En outre, un diagramme de séquence est établi pour illustrer l’interaction
utilisateur-système. Dans le chapitre suivant, nous allons exposer la conception architectu-
rale adoptée et nous allons la développer en éclaircissant la conception détaillée.
Chapitre 3

Conception

Introduction
Ce chapitre de conception est consacré à la clarification de l’architecture servant à
créer un système conforme aux besoins, en tenant compte des contraintes spécifiées dans le
chapitre précédent. En fait, ce chapitre est divisé en deux parties principales, la première
concerne la conception globale, physique et logique du système, et la seconde porte sur la
conception détaillée ; au cours de cette partie, un diagramme d’activité est présenté ainsi
qu’une description détaillée des étapes du projet.

3.1 Conception architecturale


La notion de l’architecture désigne, en informatique, la structure générale intrinsèque
d’un système informatique, la disposition de ses différents éléments (logiciels, matériels ou
humains) ainsi que leurs interactions.[URL10]

3.1.1 Architecture globale du projet


Dans notre cas, l’ensemble du projet est composé de trois parties principales comme le
montre la figure 3.1. En effet, la première est dédiée à la transformation de l’énergie radia-
tive du soleil en énergie électrique. Concrètement, suite à la captation des rayons solaires et
à leur transformation, une énergie électrique développée par les modules photovoltaïques
est transformée en courant alternatif par l’onduleur puis comptée par un compteur de pro-
duction électrique.[Celia and Karima, 2017]
Puis une deuxième partie résultant notamment de l’objectif du stage, en fait le pipeline
débute par la collection des données prélevées par la centrale est présentée par le commandi-
taire qui requiert l’étude post-construction et se termine par une analyse du comportement.

19
3.1. Conception architecturale 20

Figure 3.1 – Architecture globale

3.1.2 Architecture physique


Dans cette partie, nous allons présenter l’architecture choisie dans notre projet et ar-
gumenter ce choix. En effet, il est important au préalable de préciser que la notion d’ar-
chitecture physique caractérise, dans le domaine informatique, l’ensemble des composants
matériels composant l’application.

Présentation de l’architecture

L’architecture à trois niveaux est un modèle logique d’architecture d’application permet-


tant de différencier clairement trois parties logicielles dans une même application, et de
concevoir et exposer l’application comme un empilement de trois niveaux comme le prouve
la figure L’architecture à trois niveaux présentée par la figure 3.2.[URL11]

Figure 3.2 – Architecture client-serveur

En fait, étant donné le contexte et la philosophie qui sous-tendent le développement de


cette architecture, il est judicieux de parler de trois couches fonctionnelles présenté par la
3.1. Conception architecturale 21

figure 3.3, où chaque couche est associée à un élément/une entité logique.


Couche de présentation : l’interface utilisateur, soit une couche de communication par
laquelle l’utilisateur peut interagir avec l’application. En outre, elle est essentiellement
conçue pour diffuser des informations à un utilisateur et pour en recueillir en retour. De
même, Cette couche supérieure peut opérer sur un navigateur web, comme une application
desktop.
Couche d’application : le noyau du système, à ce stade, les informations obtenues à la
couche de présentation sont analysées, éventuellement en relation avec d’autres informa-
tions, au niveau des données. De même, à ce niveau le système est en mesure d’ajouter, de
modifier ou de supprimer les informations de la couche des données.
Couche de données : également appelé niveau de la base de données, volet d’accès au ba-
ckend, constitue la partie où sont enregistrées et administrées les informations manipulées
par l’application.

Figure 3.3 – Architecture trois tiers

Justification du choix de l’architecture

En effet, il est évident d’en déduire que le passage à une architecture à 3 niveaux im-
plique impérativement un objectif à atteindre et un vice à occulter. Ainsi, nous avons opté
pour cette architecture pour diverses motivations :
En fait, les serveurs d’applications peuvent être déployés sur plusieurs postes de travail,
garantissant ainsi une meilleure évolutivité ; c’est l’un des principaux avantages de cette
architecture.
En outre, l’intégrité des données est accrue. En fait, toutes les informations mises à jour
sont transmises au deuxième niveau, ce qui permet de s’assurer que seules les informations
pertinentes sont susceptibles d’être incluses dans la base de données.
De plus, la sécurité est également assurée puisque l’utilisateur ne dispose pas d’un accès
direct à la base de données ; il est donc difficile de se procurer des données illicites.[URL12]
3.1. Conception architecturale 22

3.1.3 Architecture logique


L’architecture logique détermine les éléments logiciels nécessaires à la mise en œuvre
d’une solution et décrit les relations entre ces éléments.

Présentation de l’architecture

Le Modèle-Vue-Contrôleur (MVC), illustré par la figure 3.4, est un modèle architectu-


ral distinguant les différents éléments d’une application en trois composants logiques : le
modèle, la vue et le contrôleur. En effet, chacun de ces constituants est conçu pour traiter
des aspects spécifiques du développement.

Figure 3.4 – Model-View-Controller (MVC)

Les composants du modèle MVC sont :

— Modèle : présente le mécanique lié aux données manipulées par l’utilisateur. Il peut
notamment contenir les données transmises entre les composants Vue et Contrôleur
ou toute autre donnée liée au logique métier.
— Vue : sert à toute la logique de l’interface utilisateur de l’application.
— Controller : constitue un intermédiaire entre les composants Model et View pour
gérer toute la logique métier et les requêtes entrantes, traiter les données à l’aide du
composant Modèle et communiquer avec la Vue pour restituer le résultat définitif.[URL13]
3.2. Conception détaillée 23

Justification du choix de l’architecture

En fait, nous avons déjà eu recours à cette architecture MVC car elle limite la complexité
de l’application et favorise sa maintenance ; ainsi, le programmeur a la possibilité de mo-
difier l’interface utilisateur sans avoir besoin de réviser le backend.
Par ailleurs, cette structure favorise une conception simple et claire due à la séparation des
données de la vue et du contrôleur.

3.2 Conception détaillée

Pour concrétiser un complément à la conception architecturale illustrée dans la section


précédente, nous allons exposer dans cette partie la conception détaillée en réalisant un
diagramme d’activité accompagné d’une explication textuelle des différentes étapes ayant
mené à la réalisation d’une application destinée à suivre l’évolution du comportement des
clusters.

3.2.1 Diagramme d’activité

Un diagramme d’activité est présenté par la figure 3.5 pour accentuer le traitement et
modéliser le flux de données.
3.2. Conception détaillée 24

Figure 3.5 – Diagramme d’activité


3.2. Conception détaillée 25

3.2.2 Étapes du suivi du changement de comportement des clus-


ters
La présente partie est destinée à éclaircir les différentes étapes présentées par le dia-
gramme d’activité.

Données brutes
Les données initiales se présentent toujours sous la forme standard ,présentée par la figure
3.6 dont chaque ligne représente les données de production de tous les signaux pour un
pas de temps donné. En revanche, chaque colonne représente les données relatives à un
seul signal pour la totalité des pas de temps existants. En d’autres termes, chaque colonne
constitue une série temporelle et constitue par conséquent, dans la perspective de la science
des données, un individu.

Figure 3.6 – Données brutes

Étude des données


Tout d’abord, il est indispensable de structurer les données conformément à une représen-
tation vectorielle classique adaptée à l’apprentissage automatique, en mettant les individus
(= signaux) en lignes et les variables descriptives (= données temporelles) en colonnes.

Filtrage de données
Dans une première approche, il a fallu récupérer le nombre d’observations sur l’ensemble
de la période disponible à traiter. Ensuite, un calcul du 90ème quantile de la dataframe de
données, puis le filtrage est appliqué. En effet, généralement le but du filtrage est de sup-
primer une partie de l’information, afin de reconstituer un signal plus intelligible.[URL14]
Dans notre cas, le filtre est réalisé sur le quantile percentile, de façon à éliminer les obser-
vations dont la valeur du 90ème quantile est inférieure à une valeur choisie par l’utilisateur.
3.2. Conception détaillée 26

Moyenne glissante
Généralement la moyenne glissante est destinée à lisser une série temporelle. En effet, elle
néglige les fluctuations les moins importantes.[URL15]
Dans notre cas, après un filtrage de 90ème percentile, la moyenne mobile est calculée par
rapport à la quantité d’énergie.

Répartition des données


Dans cette étape, les résultats obtenus dans la phase précédente correspondent à des paires
d’indices.
De fait, à ce stade, chaque paire est exploitée pour créer une séquence temporelle à partir
des données brutes.

Normalisation
Le principe de fonctionnement de l’outil consiste à effectuer des opérations de clustering
sur des signaux ayant une amplitude pouvant varier d’une heure à l’autre. Dans le but
d’optimiser les classifications quotidiennes des signaux, les données filtrées sont normalisés
(heure par heure) par une norme euclidienne de référence, identifiée comme le 95ème per-
centile des normes de chaque heure.
En effet, normaliser les données de cette manière équivaut à normaliser les individus, et
non les variables.

Réduction des dimensions


La réduction des dimensions réduit le temps et l’espace de stockage nécessaires, élimine
la multicolinéarité et optimise l’interprétation des paramètres du modèle d’apprentissage
automatique. Par ailleurs, il devient plus facile de visualiser les données lorsqu’elles sont
réduites à de très faibles dimensions.

Clustering
En fait, à ce stade, le clustering est appliqué pour chaque pas de temps après sa réduction
de dimension.
Pour ce faire, l’algorithme DBSCAN, présenté dan la troisième partie du premier chapitre,
est appliqué.

Suivi de la propagation automatique des labels


Bien que l’automatisation du clustering ne représente pas de contraintes particulières, le
processus de labélisation automatique dans un contexte d’apprentissage non supervisé pose
le véritable enjeu de l’application.
Pour atteindre cet objectif de labélisation automatique, une méthode visant à propager les
labels des clusters dans le temps a été implémentée.
3.2. Conception détaillée 27

Le clustering se fait en effet heure par heure, de même que les labels sont ensuite transmis
d’une heure à l’autre.
En effet, il est essentiel de savoir si un cluster est en mesure de diffuser son label et, le cas
échéant, de savoir à quels clusters il peut le transmettre. Plus précisément, il est néces-
saire de cerner la propension d’un label à être transmis aux clusters durant l’heure suivante.

Conclusion
Dans ce chapitre, nous avons spécifié l’architecture du système respectivement au niveau
global logique et physique. Ensuite, nous avons développé un diagramme d’activité et
détaillé les phases accomplies pour atteindre l’objectif du projet. Dans le chapitre suivant,
nous allons présenter l’environnement de travail, les techniques adoptées et des captures
faites de l’application présentant les différentes phases.
Chapitre 4

Réalisation

Introduction
Dans ce dernier chapitre et après l’explication de la conception adoptée, nous allons
illustrer l’environnement de travail utilisé tant au niveau matériel que logiciel. Ensuite, nous
allons révéler les choix techniques et leurs motivations. Enfin, des captures de l’application
permettant de visualiser tous les services offerts, décrits dans les autres chapitres, vont être
exposées.

4.1 Environnement de travail


Dans cette partie, nous allons détailler l’environnement de travail matériel ainsi que
logiciel.

4.1.1 Environnement matériel


En vue de concrétionner notre application, nous avons recouru à l’environnement ma-
tériel suivant :
1. système d’exploitation : Microsoft Windows 10 Professionnel
2. CPU : Processeur Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz, 1801 MHz, 4
coeur(s), 8 processeur(s) logique(s)
3. mémoire : 16go

4.1.2 Environnement logiciel


Compte tenu de la sensibilité des données énergétiques et de leurs particularités, elles
ont subi un traitement approprié. Par ailleurs, étant donné ses besoins informatiques
concrets et récurrents, KiloWattsol a standardisé l’architecture de son environnement de

28
4.1. Environnement de travail 29

développement pour une meilleure coordination entre toutes les étapes du projet.
Dans cette section, nous allons présenter l’environnement logiciel adopté dans le cadre de
la réalisation de notre application.

Cookiecutter
Afin d’assurer la compréhension et la rigueur du projet, KWS a fait appel à Cookie-
cutter pour structurer le travail, notamment pour soutenir la troisième partie consécutive
à ce stage et portant sur la prédiction de la production de la centrale à partir des résultats
de travail actuel.

Le modèle Cookiecutter est principalement composé de cinq dossiers :


— src : regroupe les données brutes intangibles tout au long du projet.
— test : rassemble les données brutes destinées à être modifiées pendant le stage, quant
à lui, il est composé de 3 sous-dossiers.
— preparation : les données brutes, comme l’extraction d’une base de données re-
lationnelle ou d’un fichier CSV.
— preprocessing : les données qui ont subi un traitement (remplissage des données
manquantes, moyenne glissante, filtrage).
— modeling : les données finales avant l’application d’un modèle d’apprentissage
automatique.
— model : contient une documentation détaillée sur l’algorithme ou le modèle utilisé,
en précisant le choix des paramètres utilisés.
— data : contient des fichiers, en fait après chaque manipulation de données, les résul-
tats sont sauvegardés sous forme de fichiers Excel.
— notebook : comporte deux fichiers, un pour le code, un autre est généré automati-
quement, contenant les commentaires existants dans le premier.[URL16]

Figure 4.1 – Architecture du Cookiecutter


4.1. Environnement de travail 30

Jupyter
Jupyter Notebook fait partie des applications web open-source permettant la création
et le partage de documents intégrant du code, des équations, des visualisations et du texte.
En fait, il est dédié au nettoyage des données, à leur transformation et à la simulation
numérique, ainsi qu’à la modélisation statistique, à la visualisation des données et à l’ap-
prentissage automatique.
De plus, Jupyter est compatible avec plus de 40 langages de programmation différents, y
compris Python. [URL17]

4.1.3 Choix techniques


Langage de programmation :
Python :
Langage versatile par excellence, Python dispose de multiples atouts qui en font actuel-
lement l’un des langages les plus utilisés dans le monde, particulièrement dans le secteur
du machine learning. Par conséquent, et tout naturellement, KiloWattsol s’est orienté vers
Python pour élaborer l’outil évoqué dans ce rapport.
En revanche, Python est un langage de programmation interprété, multiplateforme et mul-
tiparadigme. Élaboré par Guido Van Rossum et édité pour la première fois en 1991, ce
langage autorise la programmation structurée, orientée objet et fonctionnelle.
De même, il s’agit d’un langage polyvalent regroupant des bibliothèques standard pouvant
être exploitées pour toute une série d’applications allant du simple calcul à l’analyse de
données.
En outre, sa convivialité, la clarté de sa syntaxe, sa portabilité, son extensibilité et la pos-
session de plusieurs bibliothèques et frameworks spécifiquement utiles pour l’intelligence
artificielle et l’apprentissage automatique justifient sa vaste utilisation auprès des dévelop-
peurs expérimentés.[URL18]

Les bibliothèques Python :


Scikit-Learn (sklearn) :
Scikit-learn est une bibliothèque fondamentale pour le langage de programmation Python,
couramment adoptée pour les projets d’apprentissage automatique.
En effet, elle porte sur le développement des outils d’apprentissage automatique, particuliè-
rement les algorithmes mathématiques et statistiques. Étant un outil gratuit, Scikit-learn
est extrêmement pertinent dans de nombreux types de développement des algorithmes
comme le justifie la figure 4.2.[URL19]
4.1. Environnement de travail 31

Figure 4.2 – Vue d’ensemble de Scikit-learn

Concrètement, nous avons recouru à cette bibliothèque pour la réduction des dimensions
et pour le clustering en important respectivement PCA et DBSCAN.

Plotly :

Comme le montre la figure 4.3 ci-dessous, il existe plusieurs bibliothèques de visualisa-


tion en Python.

Figure 4.3 – Outils de visualisation en Python


4.1. Environnement de travail 32

En effet, nous avons opté pour la bibliothèque Plotly, à savoir un outil interactif open
source. Elle constitue un excellent moyen pour visualiser et appréhender des données de
manière aisée et simple.
En fait, grâce à cette bibliothèque, il est tout à fait possible de concevoir différents types
de graphiques et de diagrammes, tels que des diagrammes de dispersion, des diagrammes
linéaires, des diagrammes à barres, des diagrammes en boîte, des histogrammes, des dia-
grammes circulaires, etc.
En outre, Plotly dispose d’un outil permettant de détecter les éventuelles valeurs aber-
rantes ou anomalies au sein d’un grand nombre de points de données, ce qui est visuelle-
ment attrayant.[URL20]

Cadre de développement

Dash :
Dash est un framework Python pour la construction d’applications web. Il est développé
à partir de Flask, Plotly.js, React et ReactJs. De même, il permet la création de tableaux
de bord en utilisant le langage Python uniquement.
De plus, il est conçu à partir de deux éléments de base : les layouts et les callbacks.
En effet, le layout définit les aspects visuels de l’application. Il est composé de plusieurs
bibliothèques telles que dash-html-components,dash-core-components, Dash DataTable,
dash-boostrap-component. De plus, il est de toute évidence envisageable de construire des
composants personnalisés, si toutefois les composants existants sont amplement suffisants.
De plus, les callbacks servent à créer des applications interactives. En effet, il s’agit de
fonctions Python automatiquement appelées dès que la propriété d’un composant d’entrée
est modifiée.[URL21]
Le schéma ci-dessous récapitule l’approche suivie par le tableau de bord créé par le frame-
work Dash :

Figure 4.4 – Interactions entre les fichiers d’un tableau de bord réalisé par Dash
4.2. Aperçu sur le travail réalisé 33

4.2 Aperçu sur le travail réalisé


En cohérence avec les parties précédentes, cette section est consacrée à la visualisation
des étapes ayant présidé à la réalisation de notre application.

4.2.1 Chargement de données


La première étape correspond au chargement des données, comme illustré dans la figure
4.5 ci-dessous.

Figure 4.5 – Loading des données

4.2.2 Filtrage
La figure 4.6 montre le 90ème percentile des données brutes, filtré par une valeur seuil
Epsilon entrée par l’utilisateur.

Figure 4.6 – Filtrage des données


4.2. Aperçu sur le travail réalisé 34

4.2.3 Moyenne glissante


Après avoir filtré le 90ème percentile, nous avons procédé au calcul de la moyenne
glissante, comme illustré dans la figure 4.7, basée sur une quantité d’énergie, qui est figée
dans le code.

Figure 4.7 – Moyenne glissante

4.2.4 Normalisation
La figure 4.8 représente les données brutes normalisées par une norme euclidienne dé-
taillée dans la deuxième partie du troisième chapitre.

Figure 4.8 – Données normalisées


4.2. Aperçu sur le travail réalisé 35

4.2.5 Réduction des dimensions


Après la normalisation des données, une réduction des dimensions est établie comme
le montrent les deux figures ci-dessous dans des plans respectivement bidimensionnels et
tridimensionnels.

Figure 4.9 – Données réduites dans un plan 2D

Figure 4.10 – Données réduites dans un plan 3D


4.2. Aperçu sur le travail réalisé 36

4.2.6 Clustering
Après une réduction des dimensions, nous avons appliqué DBSCAN pour réaliser le
clustering. Ainsi, l’utilisateur de l’application peut consulter les données classifiées dans
un plan 2d comme montré dans la figure 4.11 ou dans un plan 3d illustré par la figure 4.12.

Figure 4.11 – Données regroupées dans un plan 2D

Figure 4.12 – Données regroupées dans un plan 3D

4.2.7 Propagation automatique des labels


Après avoir donné des labels aux clusters initiaux, un mécanisme appliqué assure la
propagation des labels aux autres clusters des pas de temps suivants comme l’indique la
figure 4.13.
4.2. Aperçu sur le travail réalisé 37

Figure 4.13 – Propagation automatique des labels

Conclusion
Ce chapitre a été consacré, dans une première partie, à indiquer le matériel et les
logiciels ayant été retenus pour concrétiser notre système. Ensuite, les choix techniques
adoptés pour ce projet sont mis en place. Enfin, nous avons mis un aperçu sur le travail
effectué à partir des captures.
Conclusion générale

Aujourd’hui, indépendamment de leur spécialité ou de leur secteur d’activité, de nom-


breuses entreprises sont constamment à la recherche de moyens pour améliorer leurs services
ou en innover de nouveaux. En dépit de la diversification du marché, toutes les sociétés
tiennent à profiter de la véritable révolution informatique en intégrant à leurs pratiques de
nouveaux outils basés sur l’intelligence artificielle.

C’est dans ce contexte que se situe le présent projet de fin d’étude : le développement
d’un système de suivi de l’évolution du comportement des clusters de signaux produits par
les centrales photovoltaïques. En effet, cette application tend à fluidifier l’analyse post-
construction des centrales déjà en place en exploitant les technologies actuelles. Ainsi, la
réalisation de ce système est une opportunité pour KiloWattsol de mieux se positionner
sur le marché et de consolider sa compétitivité.

En outre, le développement du système de surveillance du fonctionnement des clus-


ters est prévu pour simplifier et faciliter la détection des anomalies de manière globale,
favorisant ainsi les clients ayant besoin d’analyses pour réparer efficacement les dysfonc-
tionnements des centrales.

En outre, le rapport décrit les étapes de conception et de développement de l’applica-


tion proposée. En effet, la concrétisation de ce travail a requis au préalable une étude de
la situation actuelle en vue de trouver une solution appropriée. De plus, une présentation
des concepts théoriques a été indispensable pour favoriser la perception des autres parties.
Ensuite, afin de compléter cette étude, une analyse des besoins fonctionnels et non fonc-
tionnels est instaurée. A ce niveau, nous avons pu entamer la conception de notre système
en précisant son architecture. Enfin, nous avons évoqué la phase de réalisation, qui consiste
à illustrer les environnements utilisés, suivie de captures présentant le fonctionnement de
l’application.

De plus, ce stage est une étape intermédiaire dans un projet plus vaste de kiloWattsol.
En effet, une étape qui suit ce travail est de réaliser des modèles de prédiction pour les-
quels la sortie de notre stage constituera les données d’entraînement, c’est-à-dire que ces
dernières agiront comme étant des données étiquetées.

38
Conclusion 39

Notre stage chez KiloWattsol a été une expérience féconde et motivante. Il a été avanta-
geux dans la mesure où j’ai été en contact, tout au long de mon stage, avec des spécialistes
très motivés et actifs. De plus, j’ai acquis des connaissances en profitant de l’expertise des
membres de l’équipe et de leurs diverses expériences. En toute crédibilité, cette expérience
a été formative et j’ai eu l’honneur de collaborer avec une équipe hautement compétente
et au sein d’une entreprise de bonne réputation.
Limites et Perspectives

L’application possède quelques limites directement dues à sa logique et en particulier à


la volonté supposée de privilégier les méthodes non supervisées.
Dans le cas du photovoltaïque, les difficultés à cerner le comportement des signaux dé-
coulent de la particularité des données analysées.En effet, le profil de production d’un
panneau photovoltaïque ne dépend pas uniquement de ses caractéristiques techniques in-
hérentes mais également de multiples facteurs externes et notamment des conditions cli-
matiques ,d’où la complexité de mettre en place des méthodes supervisées pertinentes.
Pour considérer une telle approche, il serait néanmoins indispensable de compléter la des-
cription des individus par des variables explicatives complémentaires adaptées et proba-
blement de réaliser différents modèles prédictifs répondant à la diversité des cas étudiés.
De même, une telle démarche exigerait de disposer de volumes très importants de données
labellisées et par conséquent d’un travail humain préalable considérable.

Pour ces diverses considérations, il a été décidé de nous tourner vers une approche non
supervisée, bien qu’elle soit moins appropriée aux problématiques de classification auto-
matique.

En ce qui concerne le filtrage, cette étape consiste en fait à éliminer les observations
qui ne disposent pas de suffisamment d’informations.
La perspective recommandée est de calculer cette valeur sur la base de calculs et de données
spécifiques ; d’automatiser la détermination de cette variable filtre, afin qu’elle ne doive pas
être saisie par l’utilisateur après une simple visualisation graphique.

Pour la phase de clustering, ce sont les paramètres de DBSCAN qui sont au centre de
notre travail. En effet, pour epsilon, au lieu d’être saisis par l’utilisateur, l’idée est d’utiliser
l’algorithme supervisé KNearestNeighbors.
De fait, il est possible de calculer la distance entre chaque point et son plus proche voisin
en utilisant la fonction NearestNeighbors. Ainsi, cette fonction renvoie deux tableaux, l’un
contenant la distance aux points les plus proches de n-voisins et l’autre contenant l’indice
de chacun de ces points.
Ensuite, il faut trier et tracer les résultats.Par conséquent, la valeur optimale d’epsilon se
situe au point de courbure maximale. Désormais, lorsque la valeur d’Epsilon est fixée, il est

40
Perspectives 41

alors possible de compter les voisins de chaque point à une distance donnée, qui correspond
dans notre cas au rayon d’Epsilon, de manière à trouver la valeur adéquate.

Finalement, pour l’étape de labélisation qui correspond à l’attribution des étiquettes


aux groupes initiaux de signaux dans le code source, puis à l’automatisation de leur pro-
pagation pour les autres clusters.La limite présentée est que ces étiquettes n’ont aucune
signification physique (le clustering est un type d’apprentissage non supervisé).
L’idée est de prendre le résultat de l’apprentissage non supervisé et de l’étiqueter, c’est-à-
dire que les clusters initiaux doivent être étiquetés de manière appropriée. De cette façon,
il est plus facile d’interpréter les résultats obtenus et leur analyse apportera plus d’infor-
mations.

KiloWattsol est très attentive à souligner les limites du stage et à suggérer des pistes
d’amélioration. Cela témoigne de l’importance qu’elle accorde à l’amélioration des outils
développés et de son esprit évolutif et novateur.
Bibliographie

[Ayang, 2020] Ayang, A. (2020). Diagnostic d’un système photovoltaïque à stockage par
estimation paramétrique et commandes ADRC, intégré à une centrale autonome de co-
génération d’énergie. PhD thesis, Université du Québec à Chicoutimi.
[BELFEDHAL et al., 2014] BELFEDHAL, A., BENATIALLAH, A., et al. (2014). Etude
et Simulation d’une centrale photovoltaïque connectée au réseau à la région d’Adrar.
PhD thesis, Université Ahmed Draïa-Adrar.
[Carreira-Perpinán, 1997] Carreira-Perpinán, M. A. (1997). A review of dimension reduc-
tion techniques. Department of Computer Science. University of Sheffield. Tech. Rep.
CS-96-09, 9 :1–69.
[Celia and Karima, 2017] Celia, D. and Karima, F. (2017). Etude d’impact d’une centrale
photovoltaïque sur un réseau électrique. PhD thesis, Université Mouloud Mammeri.
[Josse et al., 2009] Josse, J., Husson, F., et al. (2009). Gestion des données manquantes
en analyse en composantes principales. Journal de la Société Française de Statistique,
150(2) :28–51.
[Khaldi, 2017] Khaldi, H. (2017). Stratégie d’implantation d’un système de gestion de la
maintenance pour les entrepreneurs forestiers de récolte.
[Mambrini, 2014] Mambrini, T. (2014). Caractérisation de panneaux solaires photovol-
taïques en conditions réelles d’implantation et en fonction des différentes technologies.
PhD thesis, Paris 11.
[Patriarche, 2014] Patriarche, M. (2014). Mesure et modélisation de la lumière naturelle
dans les canyons urbains. PhD thesis, École Nationale des Travaux Publics de l’État
[ENTPE].
[Roques and Vallée, 2004] Roques, P. and Vallée, F. (2004). Uml 2 en action. De l’analyse
des besoins à la conception J2EE, 3ème édition Eyrolles.

42
Netographie

[URL1] http://www.plein-soleil.info/actualites/xavier-daval-president,
consulté le 18/04/2021.
[URL2] https://www.kilowattsol.com/, consulté le 18/04/2021.
[URL3] https://fr.wikipedia.org/wiki/Centrale_solaire_photovoltaïque,
consulté le 20/04/2021.
[URL4] https://medium.com/@guillaumeandre/machine-learning-et-intelligence,
consulté le 20/04/2021.
[URL5] https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists,cons
le 22/04/2021.
[URL6] https://www.intechopen.com/chapters/65772, consulté le 22/04/2021.
[URL7] https://fr.wikipedia.org/wiki/DBSCAN, consulté le 22/04/2021.
[URL8] https://fr.wikipedia.org/wiki/Série_temporelle, consulté le 25/04/2021.
[URL9] https://t2informatik.de/en/smartpedia/actor/, consulté le 25/04/2021.
[URL10] https://fr.wikipedia.org/wiki/Architecture_(informatique), consulté le
12/05/2021.
[URL11] https://www.geonovge.fr//architecture-client-serveur//, consulté le
12/05/2021.
[URL12] https://www.ibm.com/cloud/learn/three-tier-architecture, consulté le
12/05/2021.
[URL13] https://adventy.org/fr/mvc,consulté le 12/05/2021.
[URL14] https://www.techniques-ingenieur.fr/base-documentaire/
electronique-photonique-th13, consulté le 19/06/2021.
[URL15] https://www.investopedia.com/terms/m/movingaverage.asp, consulté le
29/06/2021.
[URL16] https://drivendata.github.io/cookiecutter-data-science, consulté le
01/08/2021.
[URL17] https://jupyter.org/, consulté le 02/08/2021.
[URL18] https://fr.wikipedia.org/wiki/Python_(langage), consulté le 02/08/2021.

43
Netographie 44

[URL19] https://scikit-learn.org/stable/, consulté le 02/08/2021.


[URL20] https://plotly.com/python/, consulté le 02/08/2021.
[URL21] https://dash.plotly.com/, consulté le 09/08/2021.
Résumé
Actuellement, malgré la diversité des entreprises et des secteurs, tous tiennent à tirer parti des
progrès des technologies modernes. Et comme l'importance du domaine de l'énergie solaire ne cesse
de croître, il est indispensable qu'il en bénéficie. Comme le marché des consultants en énergie en
France est énorme, les sociétés de conseil sont obligées d'être innovantes pour maintenir une
position honorable sur le marché. Ainsi, l'objectif de ce stage est d'automatiser le suivi de l'évolution
du comportement des clusters de signaux produits par une centrale photovoltaïque, sachant que ces
analyses post-construction sont auparavant basées uniquement sur des études énergétiques.

Abstract
Today, despite the diversity of companies and sectors, all are keen to take advantage of the advances
in modern technology. And as the importance of the solar energy field continues to grow, it is
essential that it benefits. As the market for energy consultants in France is huge, consulting
companies are obliged to be innovative in order to maintain an honorable position in the market.
Thus, the objective of this internship is to automate the monitoring of the evolution of the behavior
of the signal clusters produced by a photovoltaic power plant, knowing that these post-construction
analyses are previously based solely on energy studies.

‫الملخص‬
‫ عىل الرغم من تنوع ر‬،‫اليوم‬
‫ ومع استمرار‬.‫ يحرص الجميع عىل االستفادة من التطورات يف التكنولوجيا الحديثة‬،‫الشكات والقطاعات‬
ً .‫ فمن الضوري أن تستفيد منه‬،‫تزايد أهمية مجال الطاقة الشمسية‬
‫ فإن ر‬،‫نظرا ألن سوق مستشاري الطاقة ف فرنسا ضخم‬
‫الشكات‬ ‫ي‬
‫ فإن الهدف من هذا التدريب هو مراقبة تطور‬،‫وبالتال‬ ‫االستشارية ملزمة باالبتكار من أجل الحفاظ عىل مكانة ر‬
.‫مشفة يف السوق‬
‫ي‬
‫ مع العلم أن تحليالت ما بعد البناء هذه كانت تستند‬،‫الت تنتجها محطة توليد الطاقة الكهروضوئية‬
‫سلوك مجموعات اإلشارات ي‬
ً
.‫سابقا يعتمد فقط عىل دراسات الطاقة‬

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy