Rapport-Pfe-Sep2021 Ahmed Khissal
Rapport-Pfe-Sep2021 Ahmed Khissal
Rapport-Pfe-Sep2021 Ahmed Khissal
Université de la Manouba
École Nationale des Sciences de l’Informatique
D’INGÉNIEUR EN INFORMATIQUE
Par
AHMED Khissal
Tél : +33 4 27 86 82 47
Signature & Stamp
TOURASSE Guillaume
DAVAL Xavier
Dédicaces
À ma famille,
elle qui m’a donné une éducation digne, son amour a fait de moi ce que je
suis aujourd’hui.
ii
Remerciements
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é.
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
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
vi
Liste des tableaux
2.1 Filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
vii
Liste des sigles et acronymes
KWS kiloWattsol
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.
Ce rapport décrit les différentes étapes de notre travail et il est réparti en quatre cha-
pitres :
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 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.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]
— 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".
— 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.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]
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.
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.
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 :
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.
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.
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]
ê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.
19
3.1. Conception architecturale 20
Présentation 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
Présentation de l’architecture
— 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
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.
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
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.
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.
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.
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é.
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.
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.
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]
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 :
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.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.
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.
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.
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
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é.
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
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.
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
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.
الملخص
عىل الرغم من تنوع ر،اليوم
ومع استمرار. يحرص الجميع عىل االستفادة من التطورات يف التكنولوجيا الحديثة،الشكات والقطاعات
ً . فمن الضوري أن تستفيد منه،تزايد أهمية مجال الطاقة الشمسية
فإن ر،نظرا ألن سوق مستشاري الطاقة ف فرنسا ضخم
الشكات ي
فإن الهدف من هذا التدريب هو مراقبة تطور،وبالتال االستشارية ملزمة باالبتكار من أجل الحفاظ عىل مكانة ر
.مشفة يف السوق
ي
مع العلم أن تحليالت ما بعد البناء هذه كانت تستند،الت تنتجها محطة توليد الطاقة الكهروضوئية
سلوك مجموعات اإلشارات ي
ً
.سابقا يعتمد فقط عىل دراسات الطاقة