Mekerkeb Aberrane Ibtissem Et Zeraimi Meroua

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

République Algérienne Démocratique et

Populaire Université Saad Dahleb-BLIDA

Faculté des Sciences


Département d’Informatique

Mémoire de fin d’études


En vue de l’obtention du diplôme de Master en Informatique

Domaine : Mathématique et Informatique

Filière : Informatique

Spécialité : Sécurité et Systèmes d’information (SSI)

Thème
Conception et Réalisation d’une Application Web de Système de
Remontée de l’information « Reporting »

Réalisé par :
 Zeraimi Meroua
 Mekerkeb Aberrane Ibtissem
Promotrice:
 M Daoud Hayat
Encadreur :
 Mr Moktar Kamel
Président :

 M Boustia Narhimene
Examinateur :

 Hadj Henni Malika


Avant tout nous tenons de remercie

Allah tout puissant pour l’accomplissement de ce travail, car

Sans DIEU Rien N’aura Lieu

Nous tenons à remercier en premier lieu notre encadreur

Moktar Kamel

pour sa patience, ses conseils et ses orientations pour mener à bien notre travail.

Nous remercions Nos Parents

pour leurs soutiens durant notre parcours de formation

Nous tenons à remercier aussi notre encadreur

Daoud Hayat

pour son aide, ses conseils et ses critiques tout au long de ce travail de recherche

Nous tenons à remercier

tous Le corps enseignant administratif de la faculté des sciences de l’université

Saad Dahlab Blida

Nos vifs remerciements vont également aux membres du jury pour

l’intérêt qu’ils ont porté à notre travail. A nos familles et nos amis qui par leurs
encouragements et leur confiance

Enfin, on remercie

tous ce qui ont contribué de près ou de loin à l’élaboration de ce modeste travail

A tous « MERCI »
Je tiens c’est avec grande plaisir que je dédie ce modeste travail
A l’être le plus cher de ma vie « ma mère »
A celui qui m’affait de moi « mon père »
A mon soutien dans la vie « Arbi »
A mes chers Frères et Sœurs
A mon petit chat « bibich »
A toutes mes amies Nesrine, Sarah, Nafissa, Dounia
Atout personne qui occupe une place dans mon cœur
A tous les membres de ma famille et toute personne qui
porte le nom ZERAIMI, je dédie ce travail à tous ceux qui ont
participé à ma réussi

Zeraimi Maroua
Mekerkeb Aberrane Ibtissem
Résumé :
Ce mémoire présente une étude sur une méthode de consolidation des données appelée
« Reporting », qui vise à prévenir la perte d'informations et la vulnérabilité des données.

Dans cette optique, nous avons développé une application web qui consolide les
données de manière virtuelle via une API. L'API collecte les données de chaque école et les
présente dans un tableau appelé "Réalisation physique FPS" qui facilite à la direction centrale
des écoles de formation de voir tout le fonctionnement. Des mesures de sécurité ont
également été mises en place pour protéger ces données.
Mots clés : Consolidation des données, Reporting, Vulnérabilité, API, Sécurié,Base de
données.

Abstract
This thesis presents a study on a data consolidation method called "Reporting", which
aims to prevent the loss of information and the vulnerability of data.
With this in mind, we have developed a web application that consolidates data
virtually via an API. The API collects data from each school and presents it in a table called
"Physical Achievement FPS" which makes it easier for the central management of the training
schools to see all the operation. Security measures have also been put in place to protect this
data.
Keywords : Data consolidation, Reporting, Vulnerability, API, Security, Data base.

:‫ملخص‬
‫ والتي تهدف إلى منع فقدان المعلومات وضعف‬،»‫تقدم هذه األطروحة دراسة حول طريقة توحيد البيانات تسمى «اإلبالغ‬
.‫البيانات‬
‫ البيانات‬API ‫ تجمع‬.‫ قمنا بتطوير تطبيق ويب يدمج البيانات تقريبًا عبر واجهة برمجة التطبيقات‬،‫مع وضع ذلك في االعتبار‬
‫» مما يسهل على اإلدارة المركزية لمدارس التدريب رؤية‬FPS ‫من كل مدرسة وتقديمها في جدول يسمى «اإلنجاز البدني‬
.‫ كما تم اتخاذ تدابير أمنية لحماية هذه البيانات‬.‫جميع العمليات‬
.‫ تدابير امنية‬, ‫ ضعف البيانات‬,‫ اإلبالغ‬,‫كلمات مفتاحية توحيد البيانات‬

Année Universitaire 2022-2023


Table des Matières

Table des matières :


Résumé ...................................................................................................................................... A

Abstract ..................................................................................................................................... A

List de figure ............................................................................................................................. B

Liste des abréviations ................................................................................................................ D

Introduction Générale ................................................................................................................. E

Chapitre I : Traitement de données ............................................................................................ F

1. Introduction ......................................................................................................................... 1

2. Le Reporting ....................................................................................................................... 1

2.1. Définition ..................................................................................................................... 1

2.2. L’avantage du Reporting ............................................................................................. 1

2.3. Le plan de communication........................................................................................... 1

2.4. Le tableau de suivi (ou tableau de bord) ...................................................................... 1

2.5. La gestion de projet ..................................................................................................... 2

3. La communication interne .................................................................................................. 2

4. La circulation de l’information ........................................................................................... 2

4.1. Les types d’information dans l’entreprise ................................................................... 2

4.2. L’adaptation de la communication à la taille de l’entreprise ....................................... 2

4.3. La circulation de l’information au service du management ........................................ 2

4.4. L’améliorer la communication interne ........................................................................ 3

5. La remontée d’informations ................................................................................................ 3

5.1. Définition ..................................................................................................................... 3

5.2. La politique de remontée ............................................................................................. 3

5.3. La remontée d’incident ................................................................................................ 4

Année Universitaire 2022-2023


Table des Matières
5.3.1. Définition ............................................................................................................. 4

5.3.2. La politiques de remontée pour une gestion efficace des incidents ..................... 4

6. La base de données ............................................................................................................. 4

6.1. Définition ..................................................................................................................... 4

6.2. L’utilité d'une base de données .................................................................................... 5

6.3. La gestion des bases des données ................................................................................ 5

6.4. Les bases de données réparties .................................................................................... 5

6.4.1. Définition ............................................................................................................. 5

6.4.2. Le système de gestion de bases de données réparties (SGBDR) ......................... 6

6.4.3. Approche de conception ....................................................................................... 6

6.4.4. Architecture de bases de données réparties .......................................................... 6

6.5. L’architecture Peer To Peer ......................................................................................... 7

6.6. L’hétérogénéité ............................................................................................................ 7

6.6.1. Les concepts de base ............................................................................................ 7

6.7. Les niveaux de représentation des données ................................................................. 7

7. La consolidation des données ............................................................................................. 9

7.1. Définition ..................................................................................................................... 9

7.2. Le but de la consolidation des données ....................................................................... 9

7.3. Les techniques de consolidation des données ............................................................ 10

7.3.1. ETL (Extraire, Transformer, Charger) ............................................................... 10

7.3.2. La virtualisation Des Données ........................................................................... 10

7.3.3. L’entreposage de données .................................................................................. 10

8. Conclusion ........................................................................................................................ 11

1. Introduction ....................................................................................................................... 12

2. Présentation de l’organisme d’accueil .............................................................................. 12

2.1. Historique .................................................................................................................. 12

3. La Société SONELGAZ-SERVICE.................................................................................. 12

Année Universitaire 2022-2023


Table des Matières
4. Présentation de groupe SONELGAZ ................................................................................ 13

5. Les subdivisions existantes dans chaque école ................................................................. 14

6. L’architecture détaillée du système................................................................................... 15

6.1. Le langage UML (langage de mondialisation unifie) ................................................ 15

6.1.1. Le diagramme de classe ..................................................................................... 15

6.1.2. Le diagramme d’entité association ..................................................................... 16

7. Conclusion ........................................................................................................................ 16

1. Introduction ....................................................................................................................... 17

2. Application Web Monopage ............................................................................................. 17

3. Back-End........................................................................................................................... 17

3.1. Langage java .............................................................................................................. 17

3.2. L’environnement Intellij ............................................................................................ 18

3.3. Qu’est-ce qu’une API ? ............................................................................................ 18

3.4. API Rest ..................................................................................................................... 18

3.5. Java Persistence API .................................................................................................. 18

3.6. Hibernate ................................................................................................................... 19

3.7. Spring Boot ................................................................................................................ 19

3.8. Maven ........................................................................................................................ 19

3.9. PostgreSql .................................................................................................................. 20

3.10. Modèle-Vue-Contrôleur (MVC) ............................................................................ 20

3.10.1. Data Access Object ......................................................................................... 21

4. Front-End .......................................................................................................................... 22

4.1. JavaScript................................................................................................................... 23

4.2. HTML (HyperText Mark-up Langage): .................................................................... 23

4.3. CSS ............................................................................................................................ 23

4.4. AngularJS .................................................................................................................. 23

5. Spring Sécurité .................................................................................................................. 25

Année Universitaire 2022-2023


Table des Matières
5.1. Définition ................................................................................................................... 25

5.2. Le fonctionnement de spring sécurité ........................................................................ 25

5.3. L’architecture de Spring Security .............................................................................. 25

5.4. JSON Web Token (JWT)........................................................................................... 27

5.4.1. L’avantage de JWT ............................................................................................ 27

5.4.2. Le fonctionnement de JWT ................................................................................ 27

5.5. La structure de JWT................................................................................................... 27

6. Présentation de L’application ........................................................................................... 28

6.1. La structure de l’application ...................................................................................... 28

6.2. Captures et interfaces ................................................................................................. 28

7. Conclusion ........................................................................................................................ 36

Conclusion Générale ................................................................................................................ 37

Bibliographie ............................................................................................................................ 18

Année Universitaire 2022-2023


Liste de Figure

List de figure :
Figure 1.1 : La relation entre le client, le serveur et la base de données .................................... 4
Figure 1.2 : La gestion des bases des données ........................................................................... 5
Figure 1.3 : L'architecture Peer to Peer ...................................................................................... 7
Figure 1.4 : différent niveau de représentation des données [14]............................................... 8
Figure 1.5:La consolidation des données ................................................................................... 9
Figure 1.6 : L'utilisation de la consolidation des données .......................................................... 9

Figure 2. 1: Le groupe Sonelgaz [18] ....................................................................................... 13


Figure 2. 2:Organigramme de la base de données de la société SONELGAZ ......................... 14
Figure 2. 3: Les formations existant dans SONELGAZ .......................................................... 14
Figure 2. 4 : Diagramme de classe ........................................................................................... 15
Figure 2. 5:Diagramme d’Entité Association ........................................................................... 16

Figure 3. 1: Le fonctionnement d'une Rest API ....................................................................... 18


Figure 3. 2:La relation entre Spring Data et la base de données .............................................. 19
Figure 3. 3:La structure répertoire de notre projet ................................................................... 20
Figure 3. 4:Modèle-Vue-Contrôleur (MVC) [27] ................................................................... 21
Figure 3. 5:DAO-Controller- Service [29] .............................................................................. 22
Figure 3. 6:Un exemple de model MVC dans notre projet ...................................................... 22
Figure 3. 7:les couches des technologies standards du web [30] ............................................ 23
Figure 3. 8:La structure d'architecture d'un projet Angulaire ................................................... 24
Figure 3. 9:Exemple d'une structure d'architecture de notre projet Angulaire ......................... 25
Figure 3. 10:Fonctionnement de JWT ...................................................................................... 28
Figure 3. 11: Fenêtre d’authentification ................................................................................... 29
Figure 3. 12:Fenêtre Principale de l’application ...................................................................... 29
Figure 3. 13: Bouton de l'école de formation BLIDA .............................................................. 30
Figure 3. 14: Réalisation Physique de BLIDA ......................................................................... 30
Figure 3. 15:La requête de la fonction getRealisationPhysiqueFPS qui affiche la colonne
Laboratoire ............................................................................................................................... 31
Figure 3. 16: La requête de fonction getRealisationFPS qui affiche la colonne Effectif ......... 31
Figure 3. 17:La requête de la fonction getPhaseBetweenDates ............................................... 32

Année Universitaire 2022-2023


Liste de Figure

Figure 3. 18:La requête qui calcul la colonne Durée ............................................................... 32


Figure 3. 19: La table Branche de la DCEF ............................................................................. 33
Figure 3. 20: La table des actions de formation de la DCEF ................................................... 33
Figure 3. 21:La fenêtre de l'école technique Ben Aknoun ....................................................... 34
Figure 3. 22:: La table Réalisation Physique FPS de l'école de Ben Aknoun .......................... 34
Figure 3. 23: La fenêtre de l'école technique Ain M'lila .......................................................... 35
Figure 3. 24:La table Réalisation Physique FPS de l'école d’Ain M'lila ................................. 35

Année Universitaire 2022-2023


Liste des abréviations :
BD : Base de données
DBMS : Database management system
BDR : Base de données réparties

SRE : Ingénierie de la fiabilité des sites


SGBDR: Systeme de gestion de bases de données réparties
SQL : Structured query langage
ETL : Extraire , Transformer, charger
EGA : Électricité et gaz d'Algérie
DCEF : La direction centrale des écoles de formation
ETB : Ecole technique de Blida
ETAM : Ecole technique de Ain M'Lila
EFBA : Ecole technique de ben aknoun
IFEG : Institut de Formation en Électricité et Gaz
SEG: Service Enseignement Général
SPA : Single page application
API : Application programming interface
IDE : Integrated Developement Environnement
REST : Representational State Transfer
JPA : Java Persistence AP
ORM : Object Relational Mapping
MVC : Modèle vue contrôleur
HTML :Hypertext Markup Langage
DAO : Data Access Object
CSS : Cascading Style Sheets
IHM : Interface Homme Machine
HTTP: Hyper Text Transfer Protocol
JWT : JSON Web Token

ORM : Object Relational Mapping

UML : langage de mondialisation unifie

Année Universitaire 2022-2023


Introduction Générale :
Depuis les années 90, l'élaboration de reporting à l’aide d’un projet d’informatique de la
remonté de l’information et de la consolidation est devenue pratique courante dans de nombreuses
organisations comme un terme récurrent pour améliorer la consolidation. A l’heure où la
concurrence devient de plus en plus rude entre les entreprises, il est une solution technologique qui
peut les aider à atteindre leurs objectifs et de rivaliser dans leurs secteurs d’activité.

Il permet avec un minimum d’expérience de s’informer sur sa solidité financière, sa


rentabilité, sa croissance. Les entreprises qui sont en mesure d’exploiter efficacement ces grandes
quantités d’informations générées par les systèmes d’informations ont un avantage sur la
concurrence.

La motivation de cette étude provient du fait que dans de nombreuses entreprises, on ne tire
pas le maximum de ses systèmes vu que l’´élaboration des tableaux de bord nécessite énormément
de temps et que la visibilité sur les données est minime. On a ainsi proposé dans ce travail un
système largement plus rapide et fiable.

Alors, cette étude va mettre en place une solution contre la vulnérabilité des données et la
perte d’information et au lieu de la direction centrale des écoles de formation prend beaucoup de
temps pour voir le fonction de ses écoles, elle permettant de minimiser le temps et une utilisation
optimale des données. Ce mémoire est composé de trois chapitres

- Le premier chapitre évoque les différents concepts liés à la consolidation des données et
la remontée de l’information.
- Puis, Le second présentera le système de remonté de l’information (Reporting) à travers
le réseau intranet de SONELGAZ.
- Après, Nous allons voir comment sera conçu le projet dans le troisième chapitre et
d´écrit les méthodes utilisées et les différents outils utilisés lors du développement avant
de de passer à l’implémentation de l’application et enfin la réalisation de nos projets.

Année Universitaire 2022-2023


Chapitre I : Traitement de données

Année Universitaire 2022-2023


CHAPITRE01 Traitement de donnée

1. Introduction :
Ce chapitre présente le contexte de notre mémoire dans lequel plusieurs concepts liées à le
Reporting et les bases de données et comment consolider les données sont brièvement présentés.

Nous introduisons tout d’abord, le Reporting et La remontée d’informations. Ensuite, nous


présentons les bases de données et une définition de système de gestion de bases de données et leurs
objectifs. Enfin, nous détaillons La Consolidation des données et comment elle fonctionne.

2. Le Reporting :

2.1. Définition :
Le Reporting de communication de donnée, permet de mettre en scène des données
récupérées sur une période souhaitée et de les présenter de manière claire afin qu’elles puissent être
analysées et exploitées par une tierce personne. Il permet de rendre compte périodiquement des
indicateurs de performance. [1]

2.2. L’avantage du Reporting :


- Le principal avantage du reporting est la visualisation.
- Il permet de rendre les données compréhensibles de tous afin qu’elles deviennent de bons
indicateurs de performance.
- Il permet essentiellement de matérialiser des données [1].
2.3. Le plan de communication :
Un plan de communication est un outil de gestion de la stratégie de communication d'une
entreprise ou d'une organisation. Il permet d'atteindre des objectifs majeurs, comme une fusion
d'entreprise réussie. Il détaille les actions à déployer en fonction d'une période donnée. C'est
l'approche fondamentale du management qui favorise la cohérence dans le travail de l'équipe
(ventes, administration, qualité, achats, etc.). Une communication régulière avec les parties
prenantes sur l'avancement du projet et les actions commerciales (nombre de contrats signés,
évolution des effectifs, perspectives de développement) est essentielle. [2]

2.4. Le tableau de suivi (ou tableau de bord) :


C’est un outil de management efficace qui facilite la prise de décisions. Il synthétise
les opérations engagées et nécessite des évaluations et mises à jour à chaque étape. [2]

1
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

2.5. La gestion de projet


C’est un ensemble d’actions ou processus pour réaliser une ou plusieurs actions dans un
délai imparti avec des moyens dédiés (outils, techniques, ressources humaines, budget). [2]

3. La communication interne :
La communication interne représente toutes les actions menées au sein d’une entreprise dans
le but d’interagir avec ses collaborateurs. On l’appelle aussi “communication organisationnelle” ou

"Communication corporatif ". Elle est un moteur de succès et d’harmonie au sein de l’entreprise. Et
sans communication interne, l’entreprise ne pourrait pas fonctionner. [3]

4. La circulation de l’information :
Est un enjeu majeur au sein des entreprises et ce, peu importe leur taille. Une information
manquante, erronée ou incomplète peut rapidement avoir des incidences sur vos projets. Il va sans
dire qu’un manque de communication en interne est également néfaste pour les relations entre
managers et collaborateurs. [4]

4.1. Les types d’information dans l’entreprise :


Classifiez les différentes informations qui circulent dans l’entreprise selon, par exemple :

 Leur sensibilité.
 Leur degré d’urgence.
 Leur confidentialité.
 Leur cible : concernent toute l’entreprise, Un service en particulier, Uniquement la direction.
 Leur diffusion : interne ou externe.
Cette classification permet de diffuser la bonne information auprès de la bonne audience. Les
informations confidentielles ne fuitent pas, et à l’inverse, les collaborateurs ont accès à l’ensemble
des données dont ils ont besoin au quotidien. [4]

4.2. L’adaptation de la communication à la taille de l’entreprise :


Les informations diffusées aux 10 collaborateurs d’une start-up ne seront pas les mêmes que
celles partagées auprès des 150 salariés d’une PME. [4]

4.3. La circulation de l’information au service du management :


D’un point de vue des ressources humaines, l’information est cruciale aussi :

2
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

 L’intégration de nouveaux collaborateurs suite à un recrutement.


 L’évaluation professionnelle d’un collaborateur.
 Relations manager-collaborateur. [4]
4.4. L’améliorer la communication interne :
Les outils collaboratifs ne sont pas qu’une source de productivité pour vos projets. Ils
permettent à chacun de contribuer et de s’exprimer les échanges favorisés l’information circule
mieux et les liens sont renforcés au sein des équipes. [4]

5. La remontée d’informations :

5.1. Définition :
L’enjeu de l’information dans l’entreprise représente un point majeur dans les stratégies de
communication interne. Et la circulation de l’information est nécessaire au travail de l’ensemble des
acteurs, la fluidité des échanges témoigne de l’efficacité, de la réactivité et de la vitalité de
l’organisation. Le périmètre dans lequel circule l’information dépend de la structure de l’entreprise
(centralisée-décentralisée, locale-régionale-nationale-internationale).

Plusieurs flux d’information existent : le flux descendant (top-down), le flux ascendant


(bottom-up), le flux transversal ou latéral. Ils se combinent dans le cadre d’une stratégie et d’un plan
de communication. En mettant l’accent sur leur remontée, il s’agira de se pencher sur un écueil
auquel de nombreuses entreprises doivent faire face.

La remontée efficace des informations repose sur la mise en place d’un réseau performant de
correspondants internes. [5]

5.2. La politique de remontée :


Une politique de remontée détermine comment votre organisation traite ces transferts de
tâche. Elle stipule qui doit être averti lorsqu'une alerte d'incident est émise, vers qui l'incident doit
être remonté si le premier intervenant n'est pas disponible, qui doit prendre le relais lorsque le
premier intervenant ne peut pas résoudre le problème, et comment ces transferts doivent être
effectués. [6]

3
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

5.3. La remontée d’incident :

5.3.1. Définition :

Est la procédure à suivre lorsqu'un employé ne peut pas résoudre un incident lui-même et
doit transférer la tâche à un employé plus expérimenté ou spécialisé. [7]

5.3.2. La politiques de remontée pour une gestion efficace des incidents :


Lorsqu'un incident survient, dans le meilleur des cas votre ingénieur d'astreinte ou SRE peut
le résoudre rapidement et seul.

Bien sûr, dans la réalité, ce n'est pas toujours le cas. Parfois, une résolution requiert une
équipe, des connaissances spécialisées ou des compétences plus avancées. C'est pourquoi toute
organisation comptant plus de deux techniciens professionnels doit avoir un plan et une politique de
remontée d'incident. [7]

6. La base de données :

6.1. Définition :
Une base de données est une entité dans laquelle il est possible de stocker des données de
façon structurée et avec le moins de redondance possible et organisé de manière à être facilement
accessible, géré et mis à jour. Elle est utilisée par les organisations comme méthode de stockage, de
gestion et de récupération de l’information. Il existe plusieurs type de BDD comme la BDD
hiérarchique, la BDD relationnelle, la BDD répartie...etc [8]

Figure 1.1 : La relation entre le client, le serveur et la base de données

4
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

6.2. L’utilité d'une base de données :


Une base de données permet de mettre des données à la disposition d'utilisateurs pour une
consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordés à ces derniers.
Cela est d'autant plus utile que les données informatiques sont de plus en plus nombreuses.

Elle peut être locale (utilisable sur une machine par un utilisateur) ou bien répartie, c'est-à-
dire que les informations sont stockées sur des machines distantes et accessibles par réseau. [8]

6.3. La gestion des bases des données :


La gestion de la base de données se fait grâce à un système appelé SGBD (système de gestion
de bases de données) ou en anglais DBMS (Database management system) qui est un ensemble de
services (applications logicielles) permettant de gérer les bases de données, c'est-à-dire :

 Permettre l'accès aux données de façon simple


 Autoriser un accès aux informations à de multiples utilisateurs
 Manipuler les données présentes dans la base de données (insertion, suppression,
modification). [8]

Figure 1.2 : La gestion des bases des données

6.4. Les bases de données réparties :

6.4.1. Définition :
Une base de données répartie (BDR) est un ensemble structuré et cohérent de données,
stocké sur des processeurs différents, généralement distants, mises en relations les unes avec les

5
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

autres à travers un réseau d'ordinateurs, perçues pour l'utilisateur comme une base de données
unique et géré par un système de gestion de bases de données réparties (SGBDR).

Elle permet de rassembler des données plus ou moins hétérogènes, disséminées dans un
réseau sous forme d'une base de données globale, homogène et intégrée. [9]

6.4.2. Le système de gestion de bases de données réparties (SGBDR) :


Le SGBDR repose sur un système informatique réparti qui est constitué d’un ensemble de
processeurs autonomes appelés sites (mini ou micro‐ordinateurs, stations de travail) reliés par un
réseau de communication (local ou public) qui leur permet d’échanger des données. Il suppose en
plus que les données soient stockées sur deux processeurs au moins, ceux‐ci étant dotés de leur
SGBD propre. [9]

6.4.3. Approche de conception :


Il y a deux approches de conception qui sont :

o Conception Ascendante :
- Part de l’existant.
- Intègre bases locales dans schéma global.
o Conception descendante :
- On part du schéma global.
- On le scinde en schéma locaux.
-
6.4.4. Architecture de bases de données réparties :
Une architecture de base de données est répartie ou distribué lorsque les données sont
réparties sur plusieurs sites (ou nœuds). Elle permettre d’améliorer la fiabilité et la disponibilité du
système en cas de panne d’un des sites et améliorer la performance du système en rapprochant les
données des traitements effectués sur ces données.

Un SGBD réparti permet d’effectuer la répartition des données de manière transparente au


programme d’application. [10]

o L'autonomie :
L’autonomie se rapporte au degré avec lequel une des bases locales peut travailler
indépendamment des autres. [10]

6
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

6.5. L’architecture Peer To Peer


C'est un type de communication pour lequel toutes les machines ont une importance
équivalente. Il n'y a pas de machine qui a une importance hiérarchique par rapport aux autres. Dite
aussi, l'architecture totalement répartie. [11]

Figure 1.3 : L'architecture Peer to Peer

6.6. L’hétérogénéité :
L'hétérogénéité peut apparaître à plusieurs niveaux. En effet, les incompatibilités matérielles
ou logicielles au sein d'une entreprise, rendent particulièrement délicate la mise en place d'un
SGBD. Elle peut exister au niveau de la représentation des données, au niveau du langage de
requête ou au niveau du modèle de données des différentes bases. [12]

6.6.1. Les concepts de base :


o Schéma local :
Une base de données locale comporte un schéma géré par le SGBD local. Dans une BD
répartie, chaque base locale rend visible toute ou une partie de la base aux sites clients.

o Schéma global :
Permet de définir l'ensemble des types de données de la base. Il ignore les concepts
d'implémentation. Il n'est pas forcément matérialisé, chaque base locale en implémente une partie.
[12]

6.7. Les niveaux de représentation des données :


L’un des objectifs fondamentaux des SGBD est de séparer les manipulations faites par les
utilisateurs sur la base de données de la description conceptuelle (indépendance logique) ainsi que
l’organisation physique (indépendance physique) de celle-ci.

7
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

Pour assurer cette indépendance, la solution proposée est la notion du schéma à trois niveaux
du groupe ANSI-SPARC (l’architecture ANSI-SPARC) sur laquelle reposent pratiquement tous les
SGBD aujourd’hui (figure 4). L’objectif de cette architecture est de fournir une flexibilité
permettant l’évolution des applications au moindre coût. [13]

Figure 1.4 : différent niveau de représentation des données [14]

Comme toute BD, une BDR est décrite dans un dictionnaire de données sous la forme de
schémas globaux distincts conformément à l'architecture ANSI/SPARC :

o Le schéma externe :
Le niveau externe décrit les données sous forme de vues, chacune d'elles étant adaptée à une
classe particulière d'utilisateurs, un schéma externe, élaboré à partir du schéma conceptuel, peut
naturellement mixer des données stockées dans différentes bases.

o Le schéma conceptuel :
Où les données sont représentées sans prendre en compte les contraintes techniques ou de
mise en forme, toutes les données sont décrites dans ce schéma en utilisant un modèle de données,
indépendamment de leur localisation dans le système réparti.

o Le schéma interne :
Le niveau interne global n'a pas d'existence réelle mais fait place à des schémas internes
locaux, répartis sur différents sites. Ces schémas correspondent à la description de l'organisation

8
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

physique de la base, notamment la spécification de la fragmentation des données et la localisation


de ces fragments.

L'utilisateur accède aux données réparties à travers ces différents schémas en utilisant le
langage SQL. [12]

7. La consolidation des données :

7.1. Définition :
La consolidation des données est le processus consistant à combiner des données provenant
de plusieurs sources, à les nettoyer et à les vérifier en supprimant les erreurs et à les stocker dans un
emplacement unique, tel qu'un entrepôt de données ou une base de données. Les données sont
produites à partir de diverses sources et dans de multiples formats dans chaque entreprise. [15]

Figure 1.5:La consolidation des données

7.2. Le but de la consolidation des données :


Le but de la consolidation est d’obtenir une seule structure de données qui permet de travailler
avec l’information comme si elle arrivait depuis une seule source autoritaire.

Figure 1.6 : L'utilisation de la consolidation des données

9
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

7.3. Les techniques de consolidation des données :


Les techniques suivantes : ETL, La virtualisation et L’entreposage des données sont les
méthodes de consolidation les plus courantes. [15]

7.3.1. ETL (Extraire, Transformer, Charger) :


ETL est le processus d'extraction des données d'un système source, transformant les
informations (par des méthodes de tri, de nettoyage ou d'agrégation) pour ensuite les charger dans
un système cible. [15]

Figure 1.7 : Explique la technique de consolidation ETL

Il y a deux façons principales de procéder :

1. ETL en temps réel : Utilise Change Data Capture (CDC) pour transférer les données dans
le système cible en temps réel.
 Traitement par lots : Pour les jeux de données répétitifs a volume élevé.
7.3.2. La virtualisation Des Données :

La virtualisation des données intègre des données provenant de sources de données


hétérogènes sans les répliquer ni les déplacer. Il offre aux opérateurs de données une vue virtuelle
consolidée des informations.

Contrairement au processus ETL, les données restent à leur place mais peuvent être
récupérées virtuellement par des solutions frontales telles que des applications, des tableaux de bord
et des portails sans connaître son site de stockage spécifique. [15]

7.3.3. L’entreposage de données :

L'entreposage de données est le processus d'intégration de données provenant de sources


disparates et de leur stockage dans un référentiel central. Par conséquent, faciliter la création de
rapports, la veille économique et d'autres requêtes ad hoc. Il fournit une vue large et intégrée de tous
les actifs de données, avec des données pertinentes regroupées.

10
Année Universitaire 2022-2023
CHAPITRE01 Traitement de donnée

Les données rassemblées en un seul endroit à l'aide d'un outil de consolidation des données
facilitent la détermination des tendances et la création de plans d'affaires [16].

8. Conclusion :
Dans ce chapitre, nous avons introduit quelques aspects de la remonter de l'information,
ainsi que les concepts liées à la virtualisation des données. Nous avons aussi détaillé la
consolidation des données.

Dans le chapitre suivant, nous allons présenter la société SONELGAZ.

11
Année Universitaire 2022-2023
Chapitre II : Etude de Cas
CHAPITRE02 Etude De Cas

1. Introduction :
Dans ce chapitre, nous présentons la société SONELGAZ et le groupe de SONELGAZ.
Ensuite, nous exposerons les écoles existant dans cette société et sa base de données. Enfin, nous
présentons l'architecture détaillée du système sous forme un diagramme de classe.

2. Présentation de l’organisme d’accueil :


SONELGAZ acronyme de la Société Nationale de l’Électricité et de Gaz, est
une compagnie chargée de la production, de transport, et de la distribution de
l’électricité et du gaz en Algérie.

2.1. Historique :
SONELGAZ a été créée le 28 juillet 1969, en remplacement de l’entité précédente
Électricité et Gaz d’Algérie (EGA), Elle a été accordée le monopole de la distribution et de la vente
de gaz naturel dans le pays, de même pour la production, la distribution, l’importation, et de
l’exportation d’électricité. En 2002, le décret présidentiel n° 02-195, la convertit en une société par
actions SPA entièrement détenue par l’État. [17]

3. La Société SONELGAZ-SERVICE :
La Société SONELGAZ-SERVICE englobe plusieurs activités parmi l’activité de la
formation gérée par la direction centrale des écoles de formation (DCEF). Cette dernière comporte
3 écoles. L’Ecole Technique de Blida (ETB), l’école de formation de Ben Aknoun (EFBA) et
l’école technique de aine M’Lila(ETAM)

Le système existant est dupliqué (le même système est déployé) dans les trois écoles (des
BD indépendantes), il permet de gérer l’activité de formation et celle de l’hébergement comme il
permet aussi de faire la facturation, la stratégie de sécurité appliquée est une stratégie simple sans
cryptage des données avec une gestion des droits d’accès vu que le système est en locale et le
nombre des utilisateurs est limité.

La DCEF veut mettre en place un système de remonté de l’information (Reporting) à travers


le réseau intranet de SONELGAZ et même l’internet ce qui pose un problème de vulnérabilité des
données.

12
Année Universitaire 2022-2023
CHAPITRE02 Etude De Cas
4. Présentation de groupe SONELGAZ:
Sonelgaz est l'opérateur historique dans le domaine de la fourniture des énergies électrique
et gazière en Algérie. Le groupe Sonelgaz est composé de 14 sociétés filiales, gérées directement
par la holding et de 12 sociétés en participations avec des tiers. [18]

Figure 2. 1: Le groupe Sonelgaz [18]

L’Institut de Formation en Electricité et Gaz (IFEG, par abréviation) est une filiale du
Groupe SONEL, regrouper les trois écoles de formation.

o L’école de formation de Ben Aknoun (EFBA) :


Cette école propose une large gamme de formations en management et techniques de gestion. [18]

o L’école technique d’AIN M’LILA (ETAM) :


Est une école de formation spécialisée. Elle a pour mission de dispenser des formations et
des perfectionnements professionnels dans les domaines de l’électricité et du Gaz. [18]

o L’école Technique de Blida (ETB) :


Est une école de formation spécialisée. Elle a pour mission de dispenser des formations et
des perfectionnements professionnels dans les domaines de l’électricité et du Gaz. [18]

13
Année Universitaire 2022-2023
CHAPITRE02 Etude De Cas

Figure 2. 2:Organigramme de la base de données de la société SONELGAZ

5. Les subdivisions existantes dans chaque école :


La société SONELGAZ offre 5 domaines de formations q ui sont :

GAZ, Production, ENR, Service Enseignement Général (SEG), Courant fort, Courant faible

Figure 2. 3: Les formations existant dans SONELGAZ

14
Année Universitaire 2022-2023
CHAPITRE02 Etude De Cas
6. L’architecture détaillée du système :

6.1. Le langage UML (langage de mondialisation unifie) :


Est un langage graphique de modélisation informatique. Ce langage est désormais la
référence en modélisation objet, ou programmation orientée objet. Cette dernière consiste à
modéliser des éléments du monde réel ou virtuel en un ensemble d'entités informatiques appelées «
objet ».

IL est constitué de diagrammes qui servent à visualiser et décrire la structure et le


comportement des objets qui se trouvent dans un système. Il permet de présenter des systèmes
logiciels complexes de manière plus simple et compréhensible qu'avec du code informatique. [19]

Et parmi ces diagrammes :

6.1.1. Le diagramme de classe :


Le diagramme de classes déterminer la structure statique des données du système sous forme
de classes et relations entre elles

Ci-dessous, nous présentons le diagramme de classes global correspondant au système.

Figure 2. 4 : Diagramme de classe

15
Année Universitaire 2022-2023
CHAPITRE02 Etude De Cas

6.1.2. Le diagramme d’entité association :

Figure 2. 5:Diagramme d’Entité Association

7. Conclusion :

Dans ce chapitre, nous présentons le groupe de SONELGAZ et comment fonctionne leur


système. Ensuite, nous exposerons les écoles existantes dans cette société et comment le DCEF
collecte les informations de ses trois bases de données. Enfin, Nous mentionnons les différentes
formations existantes et l’architecture du système.

Dans le dernier chapitre, nous allons décrire notre application web, expliquer les différents
outils d’implémentation.

16
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Chapitre III : Implémentation


CHAPITRE03 Implémentation

1. Introduction :
Ce dernier chapitre est réservé à la partie implémentation qui consiste à faire une
présentation des différents outils utilisés lors du développement de notre application ainsi que la
description de son fonctionnement par des images explicatifs. Nous avons principalement utilisé le
langage JAVA et l’environnement de développement IntelliJ IDEA Ultimate. Nous avons utilisé
Spring boot qu’il fournit une plate-forme préconfigurée pour créer des applications basées sur
Spring avec une configuration minimale basée sur XML et les annotations.

2. Application Web Monopage :


Notre projet est une application web monopage (en anglais single-page application ou SPA)
qui est accessible via une page web unique. Le but est d'éviter le chargement d'une nouvelle page
à chaque action demandée et de fluidifier ainsi l'expérience utilisateur : la quantité de données
à télécharger est réduite et le navigateur web, au lieu de devoir réinitialiser toute la page. [17]

Pour fonctionner notre application on a besoin de ce que l'on appelle en terme techniques
une " partie back end " (ou back-end) et "une partie front end " (ou front-end).

3. Back-End
Le back-end est la partie d’un logiciel qui se charge tous les éléments invisibles par les
utilisateurs ou avec laquelle ils ne peuvent pas interagir et qui contient toutes les fonctionnalités.

Les quatre principaux langages de programmation back-end du Web sont : Java, Python
Ruby, PHP.

3.1. Langage java :


Java est l’un des langages de programmation les plus populaires. Il est rapide, sécurisé et
fiable. Il fait office de passerelle entre le langage humain et le langage matériel.

Pour utiliser Java, un développeur doit maîtriser deux aspects :

-Le langage de programmation Java et les API

-La machine virtuelle Java [20]

Et pour cela on a utilisé ce langage dans l’environnement Intellij IDEA

17
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
3.2. L’environnement Intellij :
Également appelé « IntelliJ », « IDEA » ou « IDJ » est un environnement de développement
intégré (en anglais Integrated Development Environment - IDE) destiné au développement de
logiciels informatiques reposant sur la technologie Java. Il est développé par JetBrains
(anciennement « IntelliJ ») et disponible en deux versions (Ultimate, Communauté). [21]

3.3. Qu’est-ce qu’une API ?


Une API (application programming interface ou « interface de programmation
d’application ») est une interface logicielle qui permet de « connecter » un logiciel ou un service à
un autre logiciel ou service afin d’échanger des données et des fonctionnalités. [22]

3.4. API Rest :


Une API REST (également appelée API RESTful) est une interface de programmation
d'application (API ou API web) qui respecte les contraintes du style d'architecture REST et permet
d'interagir avec les services web RESTful. L'architecture REST (Representational State Transfer) a
été créée par l'informaticien Roy Fielding.

Figure 3. 1: Le fonctionnement d'une Rest API

3.5. Java Persistence API :


Java Persistence API (abrégée en JPA), est une interface de programmation Java permettant
aux développeurs d'organiser des données relationnelles dans des applications utilisant la
plateforme Java . [23]

18
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
3.6. Hibernate :
Est une solution open source de type ORM (Object Relational Mapping) qui permet de
faciliter le développement de la couche persistance d'une application. Hibernate permet donc de
représenter une base de données en objets Java et vice versa. [24]

3.7. Spring Boot :


Java Spring Boot (Spring Boot) est un outil qui accélère et simplifie le développement
d'applications Web et des micro-services avec Spring Framework grâce à trois fonctionnalités
principales :

- Configuration automatique.
- Approche directive de la configuration.
- Possibilité de créer des applications autonomes.
Ces fonctionnalités fonctionnent ensemble pour fournir un outil qui permet de configurer
une application Spring avec une configuration et une installation minimale. [25]

Figure 3. 2:La relation entre Spring Data et la base de données

3.8. Maven :
Est un outil de construction de projets (build) open source développée par la fondation
Apache, initialement pour les besoins du projet Jakarta Turbine. Il permet de faciliter et
d'automatiser certaines tâches de la gestion d'un projet Java. [26]

Appache Maven offre des valeurs par défaut sensées pour la gestion de construction d’un
projet (project’s build management). Un exemple cela est clairement visible dans la structure d’un
répertoire conventionnelle de notre travail.

19
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 3:La structure répertoire de notre projet

3.9. PostgreSql :
Est un système de gestion de base de données relationnelle
orienté objet puissant et open source qui est capable de prendre en
charge en toute sécurité les charges de travail de données les plus
complexes. Postgres donne la priorité à la conformité et à
l'extensibilité SQL. [27]

3.10. Modèle-Vue-Contrôleur (MVC) :


Modèle-Vue-Contrôleur (MVC) est maintenant très répandu et accepté sans contestation
comme un de ceux menant, notamment pour la réalisation de sites Web dynamiques, à une
organisation satisfaisant le but recherché d’une organisation rigoureuse et logique du code.

Un des objectifs est la séparation des différentes couches constituant une application
interactive, de manière à simplifier la gestion de chacune, par exemple en permettant la remise en
cause indépendante de l’un des composants de l’architecture globale. Il devrait par exemple

20
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
toujours être possible de revoir complètement la présentation d’un site sans toucher au code
applicatif (ou métier) [28]

Figure 3. 4:Modèle-Vue-Contrôleur (MVC) [28]

o Modèle :
Représentant la structure logique sous-jacente des données dans une application logicielle,
ainsi que la classe supérieure qui y est associée. Ce modèle d'objet ne contient aucune information
sur l'interface utilisateur. [28]

o La vue :
La vue est responsable de l’interface, ce qui recouvre essentiellement dans notre cas les
fragments HTML qui sont assemblés pour constituer les pages du site. La vue est également
responsable de la mise en forme des données (pour formater une date par exemple) et doit d’ailleurs
se limiter à cette tâche. Il faut prendre garde à éviter d’y introduire des traitements complexes qui
relève de la logique métier, car ces traitements ne seraient alors pas réutilisables dans un autre
contexte. En principe la vue ne devrait pas accéder au modèle et obtenir ses données uniquement de
l’action (mais il s’agit d’une variante possible du MVC). [28]

o Un contrôleur :
Représentant les classes qui se connectent au modèle et à la vue, et servant à la
communication entre les classes dans le modèle et la vue. [28]

3.10.1. Data Access Object


DAO (Data Access Object) est une responsabilité fréquemment utilisée dans les
applications d'entreprise. Ce suffixe « Dao » indique que la classe est chargée d'accéder au

21
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
système d'information pour lire ou modifier des données. Ainsi, la classe DAO est la classe qui
contient le code permettant d'échanger des informations avec la base de données. [29]

Figure 3. 5:DAO-Controller- Service [30]

Voici un exemple de Model Vue Controller de notre projet :

Figure 3. 6:Un exemple de model MVC dans notre projet

4. Front-End :
Les développeurs front-end sont chargés de programmer tous les éléments d'un site Web
qui sont visibles par les utilisateurs. Il est donc responsable de l'interface graphique et de
22
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
l'ergonomie. Son but est de créer et mettre en place des éléments graphiques afin qu'ils puissent se
retrouver sur l'interface et être facilement pris en main. [31]

Les trois principaux langages de programmation sont HTML, JavaScript, CSS

Figure 3. 7:les couches des technologies standards du web [31]

4.1. JavaScript :
JavaScript est un langage de programmation utilisé par les
développeurs pour concevoir des sites Web interactifs. Les fonctions
JavaScript peuvent aider à améliorer l'expérience utilisateur d'un site Web,
de la mise à jour des flux de médias sociaux à l'affichage d'animations et de
cartes interactives. En tant que langage de script côté client, c'est l'une des
technologies de base du Web. [32]

4.2. HTML (HyperText Mark-up Langage):


L'HTML est ce qui permet à un créateur de sites Web de gérer la manière dont le contenu de
ses pages Web va s'afficher sur un écran, via le navigateur. Il repose sur un système de balises
permettant de modifier du texte et d'introduire des éléments interactifs comme des images..., il est
très facile et utiliser pour rendre les pages plus interactives. [33]

4.3. CSS :
Le CSS est un langage informatique utilisé sur Internet pour la mise en forme de fichiers et de
pages HTML. On le traduit en français par feuilles de style en cascade. [33]

4.4. AngularJS :

23
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
Angulaire est un open-source Framework frontal conçu pour les
applications modernes et des applications Web puissantes. En utilisant HTML
et JavaScript ou TypeScript compilé en JavaScript. Il continue d'affirmer sa
domination en tant que nom le plus établi dans le monde du front-end
Frameworks. Il est facile et simple à utiliser, il simplifie également le processus
de développement. Il prend en charge Architecture MVC, les développeurs
n'ont donc pas besoin de travailler sur les fonctions setter et getter. [34]

Une application Angulaire se compose de plusieurs modules dont un est principal.

Chaque module peut inclure :

o Des composants web : La partie visible de l’application web (IHM).


o Des services pour la logique applicative : Les composants peuvent utiliser les services via
le principe de l’injection des dépendances.
o Les directives : un composant peut utiliser des directives.
o Les pipes : utilisées pour formater l’affichage des données dans les composants.

Figure 3. 8:La structure d'architecture d'un projet Angulaire

Voici un exemple de La structure d’architecture Angulaire de notre application :

24
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 9:Exemple d'une structure d'architecture de notre projet Angulaire

5. Spring Sécurité :

5.1. Définition :
Est un Framework de sécurité léger qui fournit une
authentification et un support d’autorisation afin de sécuriser les
applications Spring. Il est livré avec des implémentations
d’algorithmes de sécurité populaires. [35]

5.2. Le fonctionnement de spring sécurité :


Spring Security sécurise les requêtes HTTP de votre application web en les faisant passer
par trois niveaux :

o Premièrement, le pare-feu HTTP bloque les requêtes suspectes.


o Deuxièmement, le proxy (DelegatingFilterProxy) prend en charge le reste des requêtes
HTTP, et les envoie vers la chaîne de filtres de Spring Security.
o Enfin, les filtres de la chaîne s’assurent que ces requêtes HTTP soient conformes à leurs
critères de sécurité. [36]

5.3. L’architecture de Spring Security :


Le diagramme suivant présente le flux et montre comment les demandes d'authentification sont
traitées : [37]

25
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 10:Architecture de Spring Security [37]

o Chaîne de filtres de Spring Security :

Lorsque vous ajoutez le framework Spring Security à votre application, il enregistre


automatiquement une chaîne de filtres qui intercepte toutes les requêtes entrantes, chaque filtre

gère un cas d'utilisation particulier. [37]

o AuthenticationManager :

Vous pouvez considérer l'AuthenticationManager comme un coordinateur où vous


pouvez enregistrer plusieurs fournisseurs et, en fonction du type de demande, il transmettra une

demande d'authentification au bon fournisseur. [37]

o AuthenticationProvider :

AuthenticationProvider traite des types d'authentification spécifiques. [37]

o UserDetailsService :

UserDetailsService est décrit comme une interface de base qui charge les données
spécifiques à l'utilisateur dans la documentation de Spring. [37]

o LoadUserByUsername :

Accepte le nom d'utilisateur comme paramètre et renvoie l'objet d'identité de l'utilisateur.


Authentification à l'aide de JWT avec Spring Security. [37]
26
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

5.4. JSON Web Token (JWT) :


JWT est un Standard « RFC 7519 » décrivant une méthode d’échange d’informations d’une
manière sécurisée sous la forme d’un objet structuré au format JSON, stocké côté client et qui
supporte les implémentations multi-langages.

JWT est couramment utilisé pour implémenter des mécanismes d’authentification Stateless pour des
SPA (Single Page Application) ou pour des applications mobiles. [38]

Cette méthode est :

o Compacte : c’est-à-dire de petite taille, qui permet d’envoyer les JWT via URL, un
paramètre POST ou dans un en-tête HTTP, et une transmission rapide ;
o Autonome : Le JWT contient toutes les informations requises sur l’utilisateur, ce qui évite
d’interroger la BD à chaque fois pour vérifier l’identité d’un client authentifié. [38]
5.4.1. L’avantage de JWT :
o Réduction de la surcharge du serveur.
o Evolution facile. [38]
5.4.2. Le fonctionnement de JWT :
La génération d’un JWT peut se résumer en 3 étapes assez élémentaires :

1. L’utilisateur se connecte depuis client qui va envoyer une requête http au serveur (via l’API
du serveur)
2. Si les informations de connexion sont correctes, le serveur génère un jeton JWT.
3. Le serveur envoie le JWT généré au client, qui le conservera de son côté pour pouvoir le
communiquer au serveur à chaque nouvelle requête. [39]
5.5. La structure de JWT :
Dans sa forme compacte, les jetons Web JSON se composent de trois parties séparées par des points
qui sont :

1. Entête
2. Charge utile
3. Signature

27
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
Par conséquent, un JWT ressemble généralement à ce qui suit : xxxxx.yyyyy.zzzzz. [40]

Figure 3. 11:Fonctionnement de JWT

6. Présentation de L’application :
Dans cette partie, nous allons exposer quelques interfaces de notre application en essayant de
présenter les fonctionnalités les plus importantes dans notre travail.

6.1. La structure de l’application :


Afin de consolider les informations des trois écoles de la société SONELGAZ et les
remonter au centre de direction des écoles de formation DCEF, nous avons utilisé trois back-ends et
trois bases de données distinctes, tous regroupés sous un seul front-end.

6.2. Captures et interfaces :


L’objectif de cette phase est de présenter les interfaces de l’application sous forme des copies
d’écran. Dans ce qui suit, nous présente les principales interfaces avec une explication pour
chacune.

o La première page qui s’affiche au lancement de l’application c’est la page principale qui va
contenir un espace d’authentification.

28
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 12: Fenêtre d’authentification

o Une fois l’utilisateur connecté, une page d’accueil (approprié selon son type du compte)
s’affiche les trois écoles de formation de la société SONELGAZ. La figure (16) illustre la
page d’accueil d’un administratif qui englobe l’ensemble des fonctionnalités proposées.

Figure 3. 13:Fenêtre Principale de l’application

Pour comprendre le fonctionnement de cette application on a choisi d’expliquer une des trois
écoles. Après l’authentification, l’administrateur choisit l’onglet « BLIDA ».

o Une fois on clique sur le bouton « BLIDA » l’administrateur peut voir la liste suivante :

29
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 14: Bouton de l'école de formation BLIDA

Ce bouton contient les informations de l’école technique de Blida (ETB).

o La réalisation physique FPS :

Figure 3. 15: Réalisation Physique de BLIDA

La table « Réalisation Physique FPS » est considéré comme un tableau de bord qui effectue
le calcul du nombre d’action réalisé, le nombre des stagiaires « Effectif », et la durée de formation
par jour « Durée » pour chaque formation dispensée au sein de l’école « Laboratoire » sur une
période spécifique.

Donc « Réalisation Physique FPS » assuré la consolidation des données au sein de notre
application.

30
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

o Explication de la table « Réalisation Physique FPS » :


La colonne « laboratoire » détermine toutes les formations existant dans la société
SONELGAZ et pour l’obtenir on a exécuté cette requête :

Figure 3. 16:La requête de la fonction getRealisationPhysiqueFPS qui affiche la colonne Laboratoire

La colonne « Nombre d’action » détermine le nombre d’action effectué dans l’ETB de la


société SONELGAZ et pour l’obtenir on a exécuté cette requête :

La colonne « Effectif » permit de calculer le nombre de stagiaires au sein de chaque


laboratoire ETB, la requête suivante explique comment obtenir cette information :

Figure 3. 17: La requête de fonction getRealisationFPS qui affiche la colonne Effectif

La colonne « Durée » affiche le nombre de semaines d’une formation au cours dans une
période spécifique. Cependant, un problème survient lorsque la formation commence avant la date
spécifiée par l’utilisateur et se termine après cette date. Ou bien la formation commence pendant la
date spécifiée et se termine après cette date. Dans de tels cas, il est nécessaire de calculer les
semaines qui englobent la période.

Pour traiter ce problème, nous avons utilisé la méthode « getPhaseBetweenDates (du, au) »,
Cette méthode est implémentée dans une requête SQL qui sélectionne les phases dont la date de fin
est supérieure ou égale à la date de début spécifiée « du » et dont la date de début est inférieure ou
égale à la date de fin spécifiée « au ».

Voici le code de la requête :


31
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 18:La requête de la fonction getPhaseBetweenDates

Figure 3. 19:La requête qui calcul la colonne Durée

La colonne « H/J » calcule la quantité totale de certaine mesure en multipliant la durée d’une
formation par le nombre de participants « Effectif ». Cela utiliser pour évaluer la charge de travail
totale, le nombre total d’heures d’apprentissage…etc.

La colonne « Objectif » définit l’objectif que l’école ETB souhaite atteindre à la fin de
chaque année.

La colonne « Taux » et utiliser comme un indicateur de performance pour évaluer les


progrès réalisés vers l’objectif fixé par la société SONELGAZ.

32
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
La figure affiche la table Branche de la DCEF

Figure 3. 20: La table Branche de la DCEF

La figure affiche les Action de formation de la DCEF

Figure 3. 21: La table des actions de formation de la DCEF

Etant donné que notre application est considérée comme une application de Reporting, elle
est répliquée dans trois bases de données distinctes : « BLIDA », « BEN AKNOUN » et « AIN
M’LILA », toutes en offrant les mêmes fonctionnalités et affichent la consolidation de leurs
données à travers la table « Réalisation Physique FPS ». Puis elles sont remontées à la DCEF.

Voici un exemple des tableaux de bord des autres écoles :

La table « Réalisation Physique FPS » de l’école EFBA :

33
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 22:La fenêtre de l'école technique Ben Aknoun

Figure 3. 23:: La table Réalisation Physique FPS de l'école de Ben Aknoun

La table « Réalisation Physique FPS » de l’école ETAM :

34
Année Universitaire 2022-2023
CHAPITRE03 Implémentation

Figure 3. 24: La fenêtre de l'école technique Ain M'lila

Figure 3. 25:La table Réalisation Physique FPS de l'école d’Ain M'lila

35
Année Universitaire 2022-2023
CHAPITRE03 Implémentation
7. Conclusion :
Dans ce chapitre, nous avons fait une description de notre application de "Reporting" avec
ses différentes parties qui la compose. Elle a servi de plateforme pour regrouper les données des
différentes bases de données implémentées dans notre API et la sécurité avec JWT pour d’éviter la
perte d’information et la vulnérabilité des données. Dans ce sens, nous avons conçu une application
web pour consolider les données de façons virtuelles sous forme d'une API.

D’une part, cet API permet de regrouper les données de chaque école et les afficher dans un
seul tableau "Réalisation Physique FPS".

36
Année Universitaire 2022-2023
Conclusion générale

Conclusion Générale :
En conclusion, ce mémoire a examiné en détail les différents aspects du Reporting, de la
consolidation et de la circulation des informations au sein d'une entreprise, en mettant l'accent sur
les bases de données réparties et l'hétérogénéité.

Dans le premier chapitre, nous avons défini le Reporting et mis en évidence ses avantages,
ainsi que la consolidation et les défis liés à l'hétérogénéité des données. Nous avons souligné
l'importance d'une gestion efficace de l'information pour favoriser la prise de décision éclairée au
sein d'une entreprise.

Le deuxième chapitre s'est concentré sur l'étude de cas de la société SONELGAZ, on définit
les écoles existantes et les formations de cette société. Cela a permis de mettre en lumière les défis
spécifiques rencontrés par cette entreprise et les solutions mises en place pour les surmonter.

Enfin, dans le troisième chapitre, nous avons présenté l'implémentation pratique d'un projet
visant à éviter la vulnérabilité des données et à consolider les informations. Nous avons utilisé des
technologies telles que Spring Boot, Maven, JPA Hibernate et Java, en mettant l'accent sur
l'utilisation d'API pour faciliter l'intégration de systèmes hétérogènes dans la société, ce mémoire a
permis de comprendre l'importance du Reporting, de la consolidation et de la circulation des
informations au sein d'une entreprise, en mettant en évidence les défis et les solutions possibles. Il a
également montré comment des technologies modernes peuvent être utilisées pour améliorer ces
processus et renforcer la sécurité des données. Ce travail contribue à la fois à la théorie et à la
pratique de la gestion de l'information, offrant des perspectives intéressantes pour de futures
recherches et applications dans ce domaine en constante évolution.

37
Année Universitaire 2022-2023
Bibliographie

[1] «cadremploi,» [En ligne]. Available: https://www.cadremploi.fr/editorial/conseils/conseils-


carriere/detail/article/reporting-definition-et-interet.html. [Accès le 06 féverier 2023].

[2] «cairn.info,» [En ligne]. Available: https://www.cairn.info/pro-en-communication--9782311622232-


page-18.htm. [Accès le 31 janvier 2023].

[3] «infonet,» [En ligne]. Available: https://infonet.fr/lexique/definitions/communication-interne/. [Accès


le février 2023].

[4] «appvizer,» [En ligne]. Available: https://www.appvizer.fr/magazine/collaboration/reseau-social-


interne/circulation-information-entreprise. [Accès le 30 janvier 2023].

[5] «cairn.info,» [En ligne]. Available: https://www.cairn.info/pro-en-communication--9782311622232-


page-98.htm.

[6] «atlassian,» [En ligne]. Available: https://www.atlassian.com/fr/incident-management/on-


call/escalation-policies. [Accès le 30 janvier 2023].

[7] «atlassian,» [En ligne]. Available: https://www.atlassian.com/fr/incident-management/on-


call/escalation-policies#what-is-an-escalation-policy.

[8] «Comment Ça Marche - Communauté informatique,» [En ligne]. Available:


https://web.maths.unsw.edu.au/~lafaye/CCM/bdd/bddintro.htm. [Accès le 21 février 2023].

[9] «techniques-ingenieur,» [En ligne]. Available: https://www.techniques-ingenieur.fr/base-


documentaire/archives-th12/archives-technologies-logicielles-et-architecture-des-systemes-tiahb/archive-
1/bases-de-donnees-reparties-h3850/bases-de-donnees-reparties-principes-et-definition-
h3850niv10002.html. [Accès le 19 mars 2023].

[10] «elearning.univ-biskra,» [En ligne]. Available: http://elearning.univ-


biskra.dz/moodle2019/mod/resource/view.php?id=10510. [Accès le Février 2023].

[11] «memoireonline,» [En ligne]. Available:


https://www.memoireonline.com/02/11/4278/m_Conception-et-realisation-dune-base-de-donnees-

Année Universitaire 2022-2023


repartie-sous-oracle--cas-de-lhebergement-d1.html. [Accès le avril 2023].

[12] «memoireonline,» [En ligne]. Available:


https://www.memoireonline.com/02/11/4278/m_Conception-et-realisation-dune-base-de-donnees-
repartie-sous-oracle--cas-de-lhebergement-d1.html.

[13]J. Printz, Architecture des logiciels, 2006.

[14]J. Darmont, Base de données, Cours du Centre associé de Clermont-Ferrand , 1998.

[15] «astera,» [En ligne]. Available: https://www.astera.com/fr/type/blog/data-consolidation/.

[16] «astera,» [En ligne]. Available: https://www.astera.com/fr/type/blog/data-consolidation/. [Accès le 06


février 2023].

[17] «wikipedia,» [En ligne]. Available: https://fr.wikipedia.org/wiki/Sonelgaz. [Accès le 19 avril 2023].

[18] «sonelgaz,» [En ligne]. Available: https://www.sonelgaz.dz/fr/category/nos-ecoles. [Accès le 18 avril


2023].

[19] «futura-sciences,» [En ligne]. Available: https://www.futura-


sciences.com/tech/definitions/informatique-uml-3979/. [Accès le mai 2023].

[20] «amazon,» [En ligne]. Available: https://aws.amazon.com/fr/what-is/java/.

[21] «wikipedia,» [En ligne]. Available: https://fr.wikipedia.org/wiki/IntelliJ_IDEA.

[22] «cnil,» [En ligne]. Available: https://www.cnil.fr/fr/definition/interface-de-programmation-


dapplication-
api#:~:text=Une%20API%20(application%20programming%20interface,des%20donn%C3%A9es%20et
%20des%20fonctionnalit%C3%A9s.. [Accès le 25 avril 2023].

[23] «wikipedia,» [En ligne]. Available:


https://fr.wikipedia.org/wiki/Jakarta_Persistence#:~:text=La%20Java%20Persistence%20API%20(abr%C
3%A9g%C3%A9e,groupe%20d'experts%20JSR%20220..

[24] «jmdoudoux,» [En ligne]. Available: https://www.jmdoudoux.fr/java/dej/chap-hibernate.htm. [Accès


le mai 2023].

[25] «ibm,» [En ligne]. Available: https://www.ibm.com/fr-fr/topics/java-spring-

Année Universitaire 2022-2023


boot#:~:text=Java%20Spring%20Boot%20(Spring%20Boot,de%20cr%C3%A9er%20des%20applications
%20autonomes. [Accès le mai 2023].

[26] «jmdoudoux,» [En ligne]. Available: https://www.jmdoudoux.fr/java/dej/chap-maven.htm. [Accès le


mai 2023].

[27] «oracle,» [En ligne]. Available: https://www.oracle.com/fr/database/definition-postgresql.html.


[Accès le 21 mai 2023].

[28] «orm bdpedia fr,» [En ligne]. Available: http://orm.bdpedia.fr/mvc.html. [Accès le 04 mai 2023].

[29] «gayerie.dev,» [En ligne]. Available: https://gayerie.dev/docs/spring/spring/spring_dao.html. [Accès


le mai 2023].

[30] «medium,» [En ligne]. Available: https://medium.com/javarevisited/rest-api-using-spring-boot-part-


2-adding-model-service-controller-and-dao-implementation-697284b4ff38. [Accès le 07 Mai 2023].

[31] «blog.lesjeudis,» [En ligne]. Available: https://blog.lesjeudis.com/developpement-front-end-et-back-


end-quelles-differences. [Accès le 20 mai 2023].

[32] «amazon,» [En ligne]. Available: https://aws.amazon.com/fr/what-is/javascript/. [Accès le 23 Mai


2023].

[33] «journale du Net,» [En ligne]. Available: https://www.journaldunet.fr/web-tech/dictionnaire-du-


webmastering/1203255-html-hypertext-markup-langage-definition-traduction/. [Accès le mai 2023].

[34] «cynoteck,» [En ligne]. Available: https://cynoteck.com/fr/blog-post/reasons-to-use-angular-for-


your-web-
app/#:~:text=Angulaire%20utilise%20le%20langage%20TypeScript,un%20Framework%20Web%20Ope
n%20Source.. [Accès le 30 mai 2023].

[35] «invivoo,» [En ligne]. Available: https://www.invivoo.com/securiser-application-spring-boot-spring-


security/#:~:text=Spring%20Security%20fournit%20une%20vari%C3%A9t%C3%A9,d'identification%20
compl%C3%A8tes%20est%20renvoy%C3%A9.. [Accès le mai 2023].

[36] «openclassrooms.com,» [En ligne]. Available: https://openclassrooms.com/fr/courses/7137776-


securisez-votre-application-web-avec-spring-security/7275496-utilisez-spring-security-dans-votre-
application-spring-boot. [Accès le 04 juin 2023].

Année Universitaire 2022-2023


[37] «dev.to,» [En ligne]. Available: https://dev.to/tonux_samb/spring-security-avec-jwt-pour-rest-api-
3513. [Accès le 06 13 2023].

[38] «S2IAD,» [En ligne]. Available: https://s2iad.com/jwt-10. [Accès le 04 juin 2023].

[39] «medium,» [En ligne]. Available: https://revolalex.medium.com/djangorest-api-jwt-authentification-


5d610277aa6e. [Accès le 04 juin 2023].

[40] «jwt.io,» [En ligne]. Available: https://jwt.io/introduction. [Accès le Mai 2023].

Année Universitaire 2022-2023

Vous aimerez peut-être aussi