Vous êtes sur la page 1sur 70

Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Gestion des réquisitions juridiques à partir du Big Data


1
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Gestion des réquisitions juridiques à partir du Big Data


2
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Dédicaces
Je rends grâce à Allah le Tout Miséricordieux, le Très Miséricordieux.
Je prie sur le Prophète Mohammad (Paix et Salut sur Lui), la plus parfaite des créatures, ainsi
que sur sa famille et ses compagnons.
Je dédie ce mémoire :
❖ À ma très chère mère, Soukeyna Kane pour les efforts et sacrifices consentis durant
tant d’années afin que je puisse être dans les meilleurs conditions; ce travail n’aurait pas pu
être possible sans elle
❖ À mon très cher père, El Hadji Amadou Cissé qui n’a cessé de me conseiller et de
prier pour moi durant toutes ces années
❖ À tous mes oncles, tantes, cousins, cousines, grand-mères et grand-pères de la famille
CISSÉ, KANE, SALL, SECK, et DIEYE; Que ce modeste travail, soit l’expression
des vœux que vous n’avez cessé de formuler dans vos prières. Que Dieu vous
préserve santé et longue vie.
❖ Au personnel de l’ESP et à tous les acteurs qui ont participé à la bonne réalisation des
cours et à la gestion en général du département Génie Informatique, plus précisément
les directeurs,chefs de départements, professeurs, et surveillants.
❖ À tous mes promotionnaires de la DIC3 2014/2019.

Gestion des réquisitions juridiques à partir du Big Data


3
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Remerciements

Ma gratitude va d’abord à mon professeur encadreur Monsieur Ahmath Bamba Mbacké, pour
sa confiance, ses conseils, sa disponibilité et ses orientations avant et durant le stage.

Mes remerciements à la Sonatel et à la Direction des Systèmes d’Information. Plus


particulièrement à:
❖ Monsieur Sandene NDAO, mon maı̂tre de stage
❖ Monsieur Ahmed SÈYE, Monsieur Arona NIANG et Monsieur Abdoulaye LY pour
leur aide précieuse tout au long de mon stage.

Je remercie très chaleureusement :


❖ Professeur Alassane BAH, Chef de Département Génie Informatique.
❖ L’ensemble des professeurs du département Génie informatique particulièrement,
Professeur Ibrahima FALL, et Docteur Mandicou BA pour leur aide et leur soutien.
❖ Tous mes amis sans exception.
❖ Toute la promotion DIC 2016/2019 de l’ESP, belle carrière à vous.
❖ Toute la famille polytechnicienne, je ne vous oublierais jamais.

Gestion des réquisitions juridiques à partir du Big Data


4
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Avant Propos
Depuis sa création, l’Ecole Supérieure Polytechnique de Dakar a toujours constitué un
véritable pôle d’excellence pour la formation des étudiants du Sénégal, de la sous-région et
d’ailleurs. L’ESP est un établissement public qui a fêté ses 50 ans en 2014, après plusieurs
mutations. Voici quelques dates importantes pour tracer son historique depuis sa création :
❖ 20 mai 1964 : création de l’Institut Polytechnique (IP), établissement technique
supérieure dépendant de l’université Cheikh Anta DIOP de Dakar (UCAD) et
rattachée à la direction de l’enseignement supérieur ;
❖ 15 novembre 1967 : les décrets présidentiels numéros 67-12-30 et 67-12-31 créent
l’Institut Universitaire de Technologie (IUT) à la place de l’IP ;
❖ 30 avril 1973, la promulgation de la loi 73-17 et le décret 73-387 permettent à l’IUT
d’être un établissement public doté de la personnalité juridique et de l’autonomie
financière au sein de l’université ;
❖ 1973-1974, des réformes ont permis à l’IUT de dispenser des enseignements en
commerce et administration des entreprises. C’est ainsi que ces formations
complémentaires ont entraîné la délivrance de Diplôme d’Ingénieur en Technologie
(DIT) et de Diplôme d’Etude Supérieure de Commerce et d’Administration de
Gestion des Entreprises (DESCAE). Ce qui entraîne par conséquent une nouvelle
appellation de l’institut, et devient alors l'École Nationale Supérieure Universitaire de
Technologie (ENSUT) ;
❖ 24 novembre 1994, la loi 94-78 créé un établissement public dénommé Ecole
Supérieure Polytechnique (ESP), qui est composé de l’EPT et l’ENSETP ;
❖ En 2005 l’ENSETP a été reconstituée en reprenant sa partie industrielle qui était dans
l’ESP et en 2007 l'ex centre de Thiès de l’école supérieure polytechnique ex EPT est
redevenu l’Ecole Polytechnique de Thiès rattachée à l’université de Thiès et ensuite
rattachée directement au ministère chargé de l’enseignement supérieur.
L’école supérieure polytechnique de Dakar est un véritable levier de développement qui est
constituée de 06 départements : 05 départements industriels et 01 département de gestion.
Parmi ses départements on distingue :

Gestion des réquisitions juridiques à partir du Big Data


5
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

❖ Le département Génie Chimique et Analyse Biologique (GCBA) ;


❖ Le département Génie Civil ;
❖ Le département Génie Electrique ;
❖ Le département de Gestion ;
❖ Le département Génie Informatique ;
❖ Le département Génie Mécanique.
L’ESP forme des techniciens à l’issue d’une formation de 02 ans et des ingénieurs de
conception à l’issue d’une formation de 05 ans. Le département Génie Informatique est piloté
par un Chef de département en la personne du Pr Alassane BAH, assisté par des responsables
pédagogiques pour chaque classe. Les responsables pédagogiques sont chargés de surveiller
le déroulement normal des enseignements en effectuant les emplois du temps, et en contrôlant
en accord avec les enseignants l’organisation des contrôles et devoirs surveillés (DS ou
examens semestriels).
Les enseignements s’organisent autour des cours théoriques et pratiques. L’obtention du
diplôme d’ingénieur de conception est conditionnée par un stage de fin d’études, d’une durée
de cinq mois au sein d’une entreprise à la suite duquel se tient une soutenance devant un jury.
L’objectif visé est de faciliter l’intégration des étudiants dans le milieu professionnel. Il
permettra donc à l’étudiant de mettre en pratique les nombreuses connaissances théoriques
acquises au cours de ses années de formation.
C’est dans ce cadre que nous effectuons un stage de fin d’études au sein de la Sonatel pour
une durée de 05 mois (05 Février 2019 au 04 Juin 2019).

Gestion des réquisitions juridiques à partir du Big Data


6
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Table des Matières


Dédicaces 3

Remerciements 4

Avant Propos 5

Table des Matières 7

Sigles et Abréviations 9

Table des Figures 10

Liste des Tableaux 11

Introduction 12

Chapitre 1 : Présentation Générale 13


1.1 Présentation de la structure d’accueil 14
1.1.1 Présentation du groupe SONATEL 14
1.1.2 Services et solutions 16
1.2 Présentation du cadre d’application du projet 17
1.2.1 Contexte du projet 18
1.2.2 Description de l’existant 18
1.2.3 Problématique 19
1.2.4 Objectifs 19
1.3 Méthode de travail 20
1.3.1 Pourquoi une Méthodologie de Développement Logiciel? 20
1.3.2 Motivations du Choix de notre Méthodologie 21
1.3.3 Présentation du Cycle en V 21
1.4 UML 22
1.4.1 Présentation 23
1.4.2 Les Diagrammes d’UML 24
1.5 Concepts Généraux du Big Data 26
1.5.1 Définition du Big Data 26
1.5.2 Les 3V du Big Data 26
1.5.3 Quelques cas d’usage du Big Data 28
1.5.4 Avantages par rapport aux architectures communes 29

Chapitre 2 : Spécification et Analyse des Besoins 31


2.1 Spécification du système 32

Gestion des réquisitions juridiques à partir du Big Data


7
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

2.1.1 Spécifications Fonctionnelles 32


2.1.2 Spécifications Non Fonctionnelles 33
2.2 Architecture Fonctionnelle 33
2.3 Analyse 34
2.3.1 Le sous-système Gestion des Réquisitions 35
2.3.2 Le sous-système Gestion des Types d’Extractions 41
2.3.3 Le sous-système Gestion des Notifications 46
2.3.4 Le sous-système Gestion Paramètres 47

Chapitre 3 : Conception de la Solution 51


3.1 Conception Générale 52
3.2 Conception Détaillée 55
3.2.1 Éléments du système relatifs au module 56
3.2.2 Architecture Logique 57

Chapitre 4 : Présentations Choix Technologiques et Résultats Obtenus 58


4.1 Environnement de Développement 59
4.2 Choix Technologiques 59
4.2.1 Apache Hadoop 59
4.2.2 Apache Spark 60
4.2.3 Apache Hive 61
4.2.4 Apache HBase 61
4.2.5 Apache Livy 61
4.2.6 Scala 61
4.2.7 Jhipster 62
4.3 Architecture Technique 64
4.4 Présentation des Résultats Obtenus 65
4.1.1 Partie Applicative 65
4.1.2 Partie Service 66

Conclusion et Perspectives 68

Bibliographie 69

Gestion des réquisitions juridiques à partir du Big Data


8
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Sigles et Abréviations

Abréviations Définitions

API Application Programming Interface

CSV Comma-Separated Values

DESCAE Diplôme d’Etude Supérieure de Commerce et


d’Administration de Gestion des Entreprises

DIC Diplôme d’Ingénieur de Conception

DRJ Direction des Réglementations et des Affaires Juridiques

DSI Direction des Systèmes d’Information

ESP École Supérieure Polytechnique de Dakar

FTP File Transfer Protocol

HDFS Hadoop Distributed File System

HTTP Hypertext Transfer Protocol

IDG International Data Group

PDF Portable Document Format

PV Procès Verbal

REST Representational State Transfer

SDF Smart Data Factory

SGBD Système de Gestion de Base de Données

SGBDR Système de Gestion de Base de Données Relationnelles

SIM Subscriber Identity Module

SMS Short Message Service

SONATEL Société Nationale de Télécommunication

SQL Structured Query Language

UML Unified Modeling Language

Gestion des réquisitions juridiques à partir du Big Data


9
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Table des Figures


Figure 1.1​ : Organigramme de la Sonatel
Figure 1.2​ : Le groupe Sonatel en chiffres
Figure 1.3​ : Le Cycle en V
Figure 1.4​ : Historique de UML
Figure 1.5​ : La hiérarchie des diagrammes UML 2.0 sous forme d'un diagramme de classes
Figure 2.1​ : Représentation Globale du Système
Figure 2.2 : Description des modules et sous-modules regroupant l’ensemble des
fonctionnalités de notre système
Figure 2.3​ : Fonctionnalités du module “Gestion des Réquisitions”
Figure 2.4​ : Description Séquentielle du cas d’utilisation “Saisir une réquisition”
Figure 2.5​ : Fonctionnalités du module “Gestion des Résultats”
Figure 2.6​ : Fonctionnalités du module “Gestion des Notifications”
Figure 3.1 : Répartition des composants de notre système à l’aide du diagramme de
composants UML selon l’architecture microservice
Figure 3.2 : Structure détaillée du cas d’utilisation “Saisir Réquisition” à travers le
diagramme de classe de conception UML
Figure 3.3​ : Répartition des composants du système
Figure 3.4​ : Architecture des microservices
Figure 4.1​ : Architecture Technique de la solution
Figure 4.2​ : Configuration App Jhipster
Figure 4.3 : Configuration Microservice Gateway
Figure 4.4​ : Interface d’Authentification
Figure 4.5​ : Interface de Saisie de Réquisition

Gestion des réquisitions juridiques à partir du Big Data


10
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Liste des Tableaux


Tableau 3.1​ : Description Textuelle de la fonctionnalité “Saisir une réquisition”
Tableau 3.2​ : Description Textuelle de la fonctionnalité “Charger un fichier de réquisitions”
Tableau 3.3​ : Description Textuelle de la fonctionnalité “Lister les bases“
Tableau 3.4​ : Description Textuelle de la fonctionnalité “Ajouter une Base”
Tableau 3.5​ : Description Textuelle de la fonctionnalité “Consulter une Base”
Tableau 3.6​ : Description Textuelle de la fonctionnalité “Modifier une Base”
Tableau 3.7​ : Description Textuelle de la fonctionnalité “Supprimer une Base”
Tableau 3.8​ : Description Textuelle de la fonctionnalité “Rechercher une Base”

Gestion des réquisitions juridiques à partir du Big Data


11
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Introduction
Ce présent document est un mémoire de fin de cycle en vue de l’obtention du ​diplôme
d’ingénieur de conception en ​informatique​. Il présente la réalisation d’un projet dans le
cadre d’un stage effectué à la Sonatel portant sur la gestion des réquisitions juridiques à partir
du Big Data.
Dans un premier temps nous présentons le contexte de ce projet, les problématiques qu’on
rencontre avant de donner nos objectifs. Afin d’atteindre ces objectifs nous utilisons la
méthode du cycle en V en l’appliquant à notre projet.
Une analyse des besoins est ensuite présentée en mettant l’accent sur les spécifications
fonctionnelles et voir ainsi les différentes fonctionnalités que notre système devra disposer.
Dans cette partie, UML nous aide à mieux comprendre le système avec des descriptions à
l’aide de diagrammes de classe, d’activité, de séquence, de cas d’utilisation, etc.
Suite à cette analyse, nous présentons la conception de notre solution. Cette partie est
composée de trois sous-parties :
❖ Conception Générale : où nous avons parlé de l’architecture de la solution
❖ Implémentation de l’architecture : où nous avons présenté les différents outils
technologiques que nous avons utilisé pour mettre en place notre système.
❖ Conception Détaillée : où, pour bien expliciter les réquisitions, nous avons montré, les
détails du module “Gestion des Réquisitions” avec la fonctionnalité saisie d’une
réquisition et son processus de traitement. Nous avons ensuite présenté le modèle de
conception de cette fonctionnalité.
La dernière partie de ce document présente la mise en oeuvre de la solution des résultats à
travers la présentation de l’environnement et la présentation des résultats illustrée par l’aspect
visuel de quelques interfaces de l’application.

Gestion des réquisitions juridiques à partir du Big Data


12
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Chapitre 1 : Présentation Générale

Résumé : Dans ce chapitre nous présentons la structure au sein de laquelle nous avons
effectué notre projet de fin de cycle : la SONATEL. Ensuite, nous dégageons le contexte, la
problématique et les objectifs du sujet. Et pour terminer nous allons présenter notre méthode
de travail ainsi que quelques généralités sur le Big Data.

Gestion des réquisitions juridiques à partir du Big Data


13
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

1.1 Présentation de la structure d’accueil


Il s’agit, dans cette section, de présenter la structure qui a servi de cadre à notre stage.
Nous allons d’abord faire une présentation de l’entreprise, ensuite nous parlerons de ses
services et réalisations.

1.1.1 Présentation du groupe SONATEL

1.1.1.1 Historique

Le groupe Sonatel est fondé en 1985 par la fusion de l'Office des Postes et
Télécommunications et de Télé Sénégal. En 1997, Sonatel est privatisé et il entre dans le
capital de France Télécom à hauteur de 42,33%.
❖ 1998 : Entrée dans le capital de près de 10 000 actionnaires et entrée en bourse de
Sonatel à la BRVM
❖ 1999​ : Création de la filiale Sonatel mobiles avec la marque Alizé
❖ 2001 : Création de la filiale Sonatel Multimédia chargée du développement de
l’activité Internet sous la marque Sentoo
❖ 2002 : Création de la Fondation d’Entreprise Sonatel - Inauguration du câble
sous-marin SAT3/WASC/ SAFE - Création de la filiale Ikatel au Mali
❖ Novembre 2006​ : Sonatel adopte la marque commerciale Orange
❖ 2007​ : Création de la filiale Orange en Guinée.
❖ 2016 : L'État du Sénégal vend une licence 4G à Sonatel pour 32 milliards Francs
CFA.
❖ 2016​ : Rachat de Airtel Sierra Leone.
❖ 2018​ : Sékou Drame devient directeur général du groupe Sonatel.

Gestion des réquisitions juridiques à partir du Big Data


14
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure 1.1 montre l’organigramme de la Sonatel.

Figure 1.1 : Organigramme de la Sonatel

1.1.1.2 SONATEL en chiffre

La Sonatel compte actuellement:


❖ 29.7 Millions de clients
❖ 5.6 Millions d’abonnés actifs Orange Money
❖ 1022 Milliards de Chiffre d ‘affaires
❖ 5 Pays de présence
❖ 4500 Salariés

Gestion des réquisitions juridiques à partir du Big Data


15
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure 1.2 montre les chiffres du groupe Sonatel dans la dernière année, c’est-à-dire en 2018.

Figure 1.2 : Le groupe Sonatel en chiffres

1.1.1.3 Domaine d’activité et partenaires

Le Groupe Sonatel est l’opérateur de référence en Afrique de l’Ouest qui offre des solutions
globales de télécommunications dans les domaines du fixe, du mobile, de l’Internet, de la
télévision, du mobile money et des données au service des particuliers et des entreprises.
Leader dans tous ses pays de présence, le Groupe Sonatel a démarré sa croissance externe au
Mali en 2002, puis s’est successivement installé en Guinée et en Guinée Bissau en 2007 et
tout dernièrement en Sierra Léone (2016). Il ambitionne de poursuivre son développement
externe dans la Sous-Région et plus largement en Afrique.

1.1.2 Services et solutions


Le groupe Sonatel offre plusieurs services et solutions à ses clients:
❖ Offres mobiles
➢ Pass Internet
➢ Illimix
➢ Jamono School
➢ Roaming et Tarifs vers l’international
➢ etc.
❖ Internet / Fixe / TV
➢ Fibre Optique
➢ Home / Home +

Gestion des réquisitions juridiques à partir du Big Data


16
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

➢ Offre Keurgui / Keurgui Box


➢ La TV d’Orange
➢ etc.
❖ Divertissement
➢ Youscribe
➢ CinéDays
➢ Gameloft
➢ etc.
❖ Mobile Finance: Orange Money
➢ Transfert d’argent
➢ Rechargement Téléphonique
➢ Paiement de factures (téléphone, électricité, eau, etc.)
➢ Achat de biens et services dans certains commerces
De plus, il met à la disposition de ses clients plusieurs applications pour profiter plus
facilement de ses services:
❖ Orange Money
❖ Orange Téléphone
❖ Orange Football Club
❖ Orange Radio
❖ Orange Détente
❖ SenMap
❖ SenKiosk

1.2 Présentation du cadre d’application du projet


Dans cette section, nous commençons par contextualiser notre projet d’étude afin de bien
ressortir la problématique à traiter. Ensuite, nous identifions un certain nombre d’objectifs à
atteindre. Et pour terminer nous allons décrire notre méthode de travail.

Gestion des réquisitions juridiques à partir du Big Data


17
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

1.2.1 Contexte du projet


La Sonatel compte en son sein un département nommé DRJ (Direction des Réglementations
et des Affaires Juridiques) qui s’occupe des Réquisitions Juridiques. Une réquisition est
principalement un « ordre que donne l’autorité publique de mettre à sa disposition des
personnes ou des choses ». En procédure, une réquisition est une « demande en justice ». Ces
réquisitions peuvent provenir de la Police, de la Gendarmerie, des Tribunaux ou de toute
autre Instance Juridique.
Dans le cadre de sa mission, le groupe Sonatel se met à la disposition des Instances
Juridiques pour leur faciliter la tâche dans le traitement d'affaires juridiques, tout ceci dans le
cadre légal et le respect des lois en vigueur. C’est en ce sens que la Sonatel, par
l'intermédiaire de la DRJ, a mis en place un système des traitement des réquisitions juridiques
à travers l’application « GR Réquisition » suivant plusieurs cas d’utilisation:
❖ Les relevés téléphoniques (Appels / SMS) d’un utilisateur
❖ L’identification d’une personne par le numéro de sa carte SIM
❖ La détection de changement de SIM pour notamment pallier aux cas de vols, qui
constituent la majorité écrasante des réquisitions soumises
Cette application mise à la disposition de la DRJ permettait ainsi de répondre aux besoins
émis jusque là par les instances juridiques.

1.2.2 Description de l’existant


L’application « GR Réquisition » était utilisée de manière très facile, mais le processus de
traitement de ces réquisitions était très fastidieux. De plus, la DRJ traite toutes les réquisitions
venant de tout le pays.
D’abord, les réquisitions, sous la forme de procès verbal, étaient scannées puis envoyées par
email à une adresse conçue pour l’occasion. Une fois la réquisitions reçue, elle était tirée en
papier, puis saisie dans un document pour préparer sa future soumission à l'application.
Ensuite, à la fin de la journée, après que toutes les réquisitions aient été saisies dans le même
document, elle sont soumises à l’application pour le traitement en masse. À noter que les
réquisitions peuvent aussi être saisies directement dans l’application une par une mais le

Gestion des réquisitions juridiques à partir du Big Data


18
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

processus serait encore plus long et fastidieux, vu que la DRJ reçoit en moyenne plus d’une
centaine de réquisitions par jour.
De plus, vu la quantité importante d’informations à traiter et le temps que cela pourrait
prendre pour traiter toutes ces réquisitions, l’application ne les traite qu’à partir d’une
certaine heure (le plus souvent à la fin de la journée, à dix-sept heures trente 17h30) pour ne
pas impacter sur les autres applications utilisées.
Enfin, une fois les réquisitions traitées, les résultats sont enregistrées dans l'application. Le
lendemain, les utilisateurs peuvent donc poursuivre le processus. Il récupèrent tous les
résultats en vrac, dans un seul document, puis sont chargés de les traiter manuellement, un
par un, afin de les trier et d’envoyer les résultats aux instances juridiques qui avaient émises
la demande. Et dans le cas de demandes plus complexes, le processus pouvait même prendre
deux jours du fait que les résultats sont utilisées pour la suite de la réquisition.

1.2.3 Problématique
D’après l’étude de l’existant, nous pouvons dégager les problématiques suivantes:
❖ Le traitement des réquisition prend énormément de temps vu le volume important de
données à traiter.
❖ Le système n’était pas extensible dynamiquement, c’est-à-dire qu’il nécessitait d'être
modifier par des développeurs pour ajouter un nouveau type d’extraction.
❖ Le système existant ne permet pas de collecter des statistiques par rapport aux
traitement des réquisitions.
❖ Le système ne permet pas de convertir et envoyer les résultats automatiquement aux
instances juridiques.
❖ Il n’est pas possible de rajouter la localisation des appels dans les résultats
Notre problématique consiste donc à une meilleure prise en charge des réquisitions
juridiques.

1.2.4 Objectifs
Tenant compte des problématiques que nous venons de soulever dans la section précédente,
l’objectif principal de notre travail est de mettre en place une application pour nous permettre
de traiter plus facilement le grand nombre de réquisitions reçues et de résoudre les problèmes

Gestion des réquisitions juridiques à partir du Big Data


19
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

manuels que peuvent rencontrer les utilisateurs finaux. Nous avons ainsi plusieurs objectifs
spécifiques:
❖ Faciliter la saisie d’une réquisition et toutes ses informations.
❖ Permettre, grâce aux technologies du Big Data, de traiter ces énormes volumes de
données non pas en plusieurs heures, mais en quelques minutes.
❖ Rendre possible le rajout des cas d’utilisation à la demande directement dans
l’application comme certaines déjà émises à savoir les recharges téléphoniques, les
transactions Orange Money, la localisation grâce à la carte SIM, etc.
❖ Permettre la collecte des statistiques : nombre de réquisitions reçues, nombre de
réquisitions traitées, réquisitions criminelles, vols de téléphone, vols de cartes,
transactions Orange Money, nombre de réquisitions reçues par structure…
❖ Permettre de générer directement les résultats par PV saisi.
❖ Permettre l’envoi automatique des résultats aux structures de provenance des
réquisitions ou à l’auteur de la requête selon l’option choisie.
❖ Permettre de suivre en temps réel, un numéro de téléphone.
❖ Permettre d’intégrer les coordonnées des appels dans les résultats.

1.3 Méthode de travail

1.3.1 Pourquoi une Méthodologie de Développement Logiciel?


Un processus de développement logiciel est un ensemble structuré de manière logique, de
principes, de règles, d’étapes et d’activités nécessaires pour la mise en place d’un projet
informatique. (Bibliographie: [19]) Un modèle de développement est une représentation
abstraite d’un processus.
Plusieurs études ont été menées sur la réussite des projets informatiques, et la plupart
s'accordent sur le fait qu'une bonne partie (parfois la majorité) des projets informatiques se
soldent par un échec. Précisons que la notion d'échec ici signifie que soit le projet n'est jamais
lancé ; soit il est lancé, mais n'est jamais terminé ; soit il est terminé, mais ne répond pas aux
besoins exprimés par les utilisateurs. C'est cette définition d'échec qui a été utilisée dans une
étude menée par IDG (International Data Group) pour la plateforme de développement
low-code Appian.

Gestion des réquisitions juridiques à partir du Big Data


20
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La principale raison de ces échecs est une absence de méthodologie de travail d’où son
importance.

1.3.2 Motivations du Choix de notre Méthodologie


La Smart Data Factory (SDF) qui est le service porteur du projet, dans le cadre de sa mission,
travaille en étroite collaboration avec la Direction des Réglementations et des Affaires
Juridiques (DRJ). Dans l’optique de livrer un logiciel qui réponde exactement aux besoins
des clients, de minimiser les erreurs, de mettre en place une phase de validation après chaque
phase de spécification et de promouvoir l’épanouissement au travail et la motivation, nous
avons décidé d’utiliser le cycle en V pour la réalisation de ce projet informatique en
particulier.

1.3.3 Présentation du Cycle en V

1.3.3.1 Définition

Le cycle en V est une approche de gestion de la vie d’un projet informatique conçue tout
d’abord pour l’industrie puis adaptée à l’informatique en 1980 (Bibliographie: [20]). Il est
une évolution du cycle en cascade qui manquait de réactivité. Il évite les retours en cas
d’anomalie rencontrées. Il est composé d’une phase descendante puis montante, la phase
montante envoie des informations vis-à-vis de la phase descendante.

La figure 1.3 montre le modèle du cycle en V.

Gestion des réquisitions juridiques à partir du Big Data


21
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Figure 1.3 : Le Cycle en V

1.3.3.2 La Phase de Conception

Le client recherche un produit et il exprime ses besoins à travers ce produit. Il définit un délai
final de rendu. Le prestataire effectue une étude de faisabilité afin de savoir si la solution peut
être conçue et rentable.
Le client et le prestataire définissent un cahier des charges détaillant toutes les fonctionnalités
recherchées dans le produit final avant la conception du produit final. Le cahier des charges
est un document indispensable dans un projet car il lie le client et le prestataire sous un
contrat.
Le prestataire détermine les spécifications techniques de la solution dans la technologie
choisie, il effectue une estimation de délai pour chaque fonctionnalité à développer.

1.3.3.3 La Phase de Réalisation

L’équipe du projet se lance dans le développement du produit sur la base des spécifications
techniques. Cette phase du projet consiste à concevoir les différentes fonctionnalités du
produit final dans les délais attendus. A chaque fois qu’un composant logiciel est développé,
il est testé afin de déterminer s’il fonctionne correctement.

1.3.3.4 La Phase de Validation

Les composants logiciels sont intégrés dans la solution finale pour vérifier que l’intégration
ne provoque pas d’anomalies. Le produit est ensuite testé au regard des spécifications
fonctionnelles.
Une dernière validation du produit est effectuée avant la mise en production. Suite à la mise
en production, le client vérifie, dans le cadre de la recette, que le produit correspond bien à
ses attentes.

1.4 UML
Pour modéliser l’application de gestion des réquisitions juridiques, nous avons choisi le
langage de modélisation UML.

Gestion des réquisitions juridiques à partir du Big Data


22
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

1.4.1 Présentation
Adopté et standardisé par l’Object Management Group depuis 1997, UML (Unified Modeling
Language ou Langage de Modélisation Unifié en français) est aujourd’hui un outil de
communication incontournable, utilisé sur des centaines de projets de par le monde.
UML, représente l'état de l'art des langages de modélisation objet. Il fournit les fondements
pour spécifier, construire, visualiser et décrire les artifices d'un système logiciel. Pour cela,
UML se base sur une sémantique précise et sur une notation graphique expressive. Il définit
des concepts de base et offre également des mécanismes d'extension de ces concepts. UML
est un langage de modélisation objet. En tant que tel, il facilite l’expression et la
communication de modèles en fournissant un ensemble de symboles et de règles qui régissent
l'assemblage de ces symboles.
UML permet de modéliser de manière claire et précise la structure et le comportement d'un
système indépendamment de toute méthode ou de tout langage de programmation. Les
créateurs d'UML insistent tout particulièrement sur le fait que UML est un langage de
modélisation et non une méthode.
UML est la fusion des langages Booch, OMT et OOSE il s'est rapidement imposé à la fois
auprès des utilisateurs et sur le terrain de la normalisation.

Gestion des réquisitions juridiques à partir du Big Data


23
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure 1.4 montre l'historique d’UML.

Figure 1.4: Historique de UML

1.4.2 Les Diagrammes d’UML


Les diagrammes sont dépendants hiérarchiquement et se complètent de façon à permettre la
modélisation d’un projet tout au long de son cycle de vie. Il en existe quatorze (14) depuis
UML 2.3.

Gestion des réquisitions juridiques à partir du Big Data


24
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure 1.5 montre la hiérarchie des diagrammes UML 2.0 sous forme d'un diagramme de
classes.

Figure 1.5 : La hiérarchie des diagrammes UML 2.0 sous forme d'un diagramme
de classes

1.4.2.1 Les Diagrammes Structurels ou Diagrammes Statiques

❖ diagramme de classes : permet de représenter les classes et leurs relations


❖ diagramme de composants : permet de décrire l’architecture statique d’une application
en terme de modules (fichiers sources, fichiers compilés, etc.) ;
❖ diagramme des paquets : permet de regrouper des éléments (classes, cas d’utilisation,
interfaces, diagrammes, paquetages, etc.) dans des ensembles fortement cohérents;

1.4.2.2 Les Diagrammes Comportementaux

❖ diagramme de cas d’utilisation : permet de modéliser les interactions entre des acteurs
et un système ;
❖ diagramme d’activité : permet de visualiser un graphe d'activités qui modélise le
comportement interne d'une méthode, d'un cas d'utilisation ou plus généralement d'un
processus impliquant un ou plusieurs classificateurs (classes, cas d'utilisation,
paquetages etc.).

Gestion des réquisitions juridiques à partir du Big Data


25
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

1.4.2.3 Les Diagrammes d’Interaction ou Diagrammes Dynamiques

❖ diagramme de séquence : permet de représenter des collaborations entre objets selon


un point de vue temporel, on y met l'accent sur la chronologie des envois de messages
;
❖ diagramme de communication : permet une représentation simplifiée d'un diagramme
de séquence se concentrant sur les échanges de messages entre les objets.

1.5 Concepts Généraux du Big Data


Les aspects de ​Volume et de ​Vitesse représentent la plus value de notre système par rapport à
l’existant. En effet, le système actuel qui fournit ce service ne prend pas en compte l’aspect
volumineux des données, ce qui fait qu’il prend autant de temps (environ une journée après le
lancement de la requête) et perd en performances. Pour résoudre ces problèmes, nous avons
exploré plusieurs solutions et nous avons finalement choisi de considérer ce problème comme
pouvant être résolu par le Big Data. Ce qui suit en fait une brève présentation.

1.5.1 Définition du Big Data


Le Big Data, littéralement « Grosses Données », ou mégadonnées (recommandé), parfois
appelées Données Massives, désigne des ensembles de données devenus si volumineux qu'ils
dépassent l'intuition et les capacités humaines d'analyse et même celles des outils
informatiques classiques de gestion de base de données ou de l'information. (Bibliographie:
[18])

1.5.2 Les 3V du Big Data


Les pré requis fondamentaux pour travailler avec des Big Data sont les mêmes que ceux
nécessaires pour travailler avec des bases de données classiques. Néanmoins, l’échelle
massive des données à traiter, la vitesse d’ingestion et de processing, les caractéristiques des
données qui doivent être traitées à chaque étape de traitement font émerger de nouveaux
challenges technologiques.

Gestion des réquisitions juridiques à partir du Big Data


26
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

L’objectif principal du Big Data est de réussir à faire apparaître des connexions entre de gros
volumes de données de nature hétérogène qui seraient impossible à obtenir avec les méthodes
classiques d’analyse des données.
En 2001, Doug Laney, un analyste de chez Gartner, a donné une définition intéressante du
Big Data. Pour expliquer ce qu’est le Big Data, il a présenté la théorie des 3 V. Selon lui, le
Big Data peut se comprendre à partir de trois notions ayant tous la particularité de
commencer par la lettre « V » :
❖ Volume​. Un système Big Data se caractérise d’abord par le volume de données en
jeu. Un système Big Data traite un volume de données largement supérieur à ce que
traitent les bases de données traditionnelles. Ce qui pose un défi technologique : les
volumes de données en jeu excèdent les capacités d’un simple ordinateur, nécessitent
des mises en réseau, l’utilisation du Cloud Computing…
❖ Vélocité​. Depuis le début, nous insistons sur la problématique du volume. Dans Big
Data, il y a évidemment « Big ». Mais dans le Big Data, le volume n’est pas le seul
sujet. Un système Big Data, c’est aussi un système dans lequel la donnée circule vite
entre les outils, les bases, les applicatifs, les sources. Les données arrivent dans le
système en provenance de sources multiples et sont processées souvent en temps réel
pour générer des insights et mettre à jour le système. Dans le Big Data, l’approche
orientée « batch » tend progressivement à céder sa place au streaming de données en
temps réel. De plus en plus, la donnée est ajoutée, traitée, processée et analysée en
temps réel.
❖ Variété​. Les données sont en grand nombre et circulent vite dans le système. Mais ce
n’est pas tout. Le Big Data se caractérise aussi par l’immense variété des données
traitées. Les bases de données relationnelles ont affaire à des données structurées et de
même type. Dans le Big Data, les données sont dans leur majorité non-structurées ou
semi-structurées. Et pour cette raison, elles doivent être travaillées, longuement
préparées. Un texte, un fichier audio ou un fichier vidéo doivent faire l’objet d’un
traitement avant de pouvoir produire du sens et supporter des métadonnées.
En résumé, le Big Data est l’art de gérer de gros volumes de données, complexes et
hétérogènes, pour la plupart non structurées, qui circulent vite dans un système donné. Ce qui
n’est pas à la portée des logiciels classiques de gestion de bases de données.

Gestion des réquisitions juridiques à partir du Big Data


27
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Certains auteurs ou éditeurs de logiciels ont voulu ajouter d’autres « V » aux trois proposés
par Gartner, pour mettre en avant d’autres défis posés par le Big Data :
❖ Véracité​. La variété des sources et la complexité des traitements peuvent poser des
problèmes en ce qui concerne l’évaluation de la qualité des données (et, in fine, la
qualité des analyses faites à partir d’elles). La problématique de la Data Quality est
structurante dans n’importe quel projet Big Data.
❖ Variabilité​. La variabilité des données entraîne une variation de leur qualité. Le fait
que les données évoluent dans le temps peut entraîner une dégradation de leur qualité.
Dans un système Big Data, il est important d’avoir à disposition des outils permettant
d’identifier, de traiter et de filtrer les données de faible qualité pour en optimiser
l’utilisabilité.
❖ Valeur​. Le défi ultime du Big Data est de créer de la valeur. Or, parfois, les systèmes
et les procédures en place sont si complexes qu’il devient difficile d’extraire de la
valeur des données à disposition (d’en dégager des insights). La valeur rappelle la
finalité business de tout projet Big Data.

1.5.3 Quelques cas d’usage du Big Data


Le Big Data est utilisé dans un grand nombre de secteurs ou domaines d’activité. Nous en
avons sélectionné quelques-uns pour mettre en avant la grande variété des cas d’usage du Big
Data.
❖ La recommandation de produits : Une entreprise comme Netflix utilise le Big Data
pour anticiper la demande de ses clients. Les équipes de Netflix ont construit des
modèles prédictifs afin de proposer aux clients des nouveaux produits et services
basés sur les attributs des produits et services consommés par le passé. Netflix utilise
le Big Data pour créer des modèles de recommandation très élaborés.
❖ Anticiper la maintenance : Les facteurs qui permettent de prédire les problèmes
mécaniques sont souvent dissimulés dans des ensembles de données structurées :
l’année d’équipement, l’année de fabrication, le modèle du produit ou bien dans des
données non-structurées : messages d’erreur, connexions, données de capteur,
température… Analyser toutes ces données, qui constituent autant d’indicateurs,
permet d’anticiper les pannes et la survenue de problèmes. Le Big Data peut être

Gestion des réquisitions juridiques à partir du Big Data


28
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

utilisé pour réduire le coût de la maintenance et allonger la durée de vie en bon état
des produits.
❖ Améliorer l’expérience client : L’expérience client est la résultante des sentiments et
émotions ressentis par le client dans sa relation avec une marque, au sens large. Elle
s’évalue et mesure par l’analyse de toutes les interactions entre le client et la marque.
Le Big Data permet de collecter les données en provenance de tous les canaux, de
tous les points de contact (réseaux sociaux, visites web, appels, etc.) et de qualifier de
manière relativement précise l’expérience vécue par chaque client. La qualité de cette
mesure permet d’améliorer la pertinence/ personnalisation des offres, de réduire le
churn et de résoudre les problèmes de manière proactive.
❖ Créer des modèles de Machine Learning : Le machine learning est un autre sujet
brûlant, irrésistiblement associé au Big Data. Ce n’est pas un hasard. C’est le Big
Data qui permet le Machine Learning. La donnée massive est la matière première du
machine learning. Le machine learning mériterait un article à lui tout seul. Il consiste
à instaurer un nouveau rapport à la machine, à passer d’un rapport de programmation
(l’homme programme une machine) à un rapport d’enseignement, de learning. Le
machine learning est indubitablement une des applications les plus prometteuses du
Big Data.
❖ Améliorer l’efficacité opérationnelle : L’efficacité opérationnelle fait moins parler
d’elle que le machine learning, pourtant c’est l’un des domaines où le Big Data a /
aura le plus d’impact. Le Big Data permet d’analyser et d’évaluer tout type de
production humaine et les feedbacks clients. Le Big Data peut être utilisé pour
améliorer la prise de décision, pour l’ajuster au mieux à la demande du marché.

1.5.4 Avantages par rapport aux architectures communes


Les technologies Big Data aident à développer des stratégies qui favorisent des
environnements de travail agiles, accroissent la productivité, aident à réduire les coûts… et
enrichissent la démarche commerciale de l’entreprise.
❖ Ré-étalonner les stratégies business : En plus de favoriser la prise de décision, les
technologies Big Data apportent les outils pour analyser et valider les résultats de ces

Gestion des réquisitions juridiques à partir du Big Data


29
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

mêmes décisions. Les organisations peuvent ainsi recalibrer leurs stratégies en


fonction d’exigences nouvelles et en utilisant des stratégies commerciales éprouvées.
❖ Réduire les coûts d’organisation : En parallèle à l’automatisation et à l’usage de
l’Intelligence Artificielle, les solutions Big Data permettent la mise en place de
processus de fabrication efficaces, avec une production tournée vers la demande, et
une utilisation optimale des matières premières. Ce qui contribue à réduire les coûts
de production et d’exploitation.
❖ Augmenter la productivité : Pour augmenter la productivité et l’efficacité de la main
d’œuvre, il faut renforcer la confiance et accompagner la prise de décision axée sur la
donnée. Ce qui aura pour effet d’augmenter l’efficacité de l’organisation dans son
ensemble.
❖ Mettre en place des prix compétitifs : Créer des stratégies de prix différenciées aide
à développer des prix compétitifs et à générer plus de revenus.
❖ Des données pour les stratégies de vente : L’analyse des données Big Data aide à
affiner la classification des clients à l’aide de données démographiques qui vont
accompagner les commerciaux dans leurs démarches.
❖ Fidéliser la marque : La connaissance préalable des attentes et des besoins des
clients est une démarche qui enrichit la relation commerciale en permettant de
proposer des services pertinents. De quoi favoriser une relation à long terme entre le
client et la marque, et augmenter la répétition des commandes.

Dans ce chapitre, nous avons commencé par présenter le groupe Sonatel, la structure
d’accueil, où nous avons effectué notre stage de fin de formation portant sur l’expression des
besoins pour l’amélioration du traitement des réquisitions. Nous avons ensuite procédé à la
présentation de notre sujet en donnant le contexte. Ensuite, fait la description de l’existant,
dégagé la problématique ainsi que les objectifs à atteindre. De plus, nous avons procédé à la
présentation de la démarche à suivre pour mettre en place la solution et à la présentation des
outils de modélisation. Et pour terminer, nous avons présenté quelques généralités sur le Big
Data. L’objet du prochain chapitre sera la spécification et analyse des besoins.

Gestion des réquisitions juridiques à partir du Big Data


30
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Chapitre 2 : Spécification et Analyse des Besoins


Résumé : Ce chapitre porte sur l’analyse des besoins. Il consiste d’abord à ressortir la
spécification du système, ensuite présenter l’architecture fonctionnelle, et enfin décrire
l’analyse de notre système.

Gestion des réquisitions juridiques à partir du Big Data


31
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

2.1 Spécification du système

2.1.1 Spécifications Fonctionnelles


En vue de la réalisation de notre système, un ensemble de fonctionnalités doit être défini. La
spécification fonctionnelle correspond à la description de l’ensemble des fonctionnalités de
notre logiciel. Cette description doit permettre aux différents acteurs de réaliser toutes les
opérations qui les concernent.

2.1.1.1 Les Acteurs

Ils sont des entités externes qui interagissent avec le système, comme une personne humaine
ou un robot. Une même personne (ou robot) peut être plusieurs acteurs pour un système, c'est
pourquoi les acteurs doivent surtout être décrits par leur rôle, ce rôle décrit les besoins et les
capacités de l'acteur. Un acteur agit sur le système. L'activité du système a pour objectif de
satisfaire les besoins de l'acteur. Les acteurs sont représentés par un pictogramme humanoïde
(stickman) sous-titré par le nom de l’acteur.
Les différents acteurs qui interviennent dans notre système sont :
❖ L’administrateur général : chargé de gérer tous les paramètres de l’application, en
plus de mettre à jour les différentes entités qui peuvent changer dans le métier (dans
notre autre application Big Data).
❖ Les administrateurs de profils​: chargés de gérer les différents profils des
utilisateurs, ainsi que leurs droits d’accès à certaines fonctionnalités de l’application.
❖ Les utilisateurs simples​: les utilisateurs faisant partie de la Direction des
Réglementations et des Affaires Juridiques et qui peuvent avoir accès à la plateforme.

2.1.1.2 Les Fonctionnalités Générales

Le logiciel offre un certain nombre de fonctionnalités permettant aux acteurs cités


précédemment d’effectuer les tâches qui les concernent :
❖ La gestion des réquisitions : permet de gérer les réquisitions, leurs résultats, les
fichier et envoie de résultats.

Gestion des réquisitions juridiques à partir du Big Data


32
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

❖ La gestion des types d’extraction : permet de gérer les bases de données, les flux,
les colonnes et les types d’extraction.
❖ La gestion des notifications : permet de gérer les notifications des utilisateurs du
système.
❖ La gestion des paramètres : permet de gérer les paramètres relatifs à l’application,
c’est-à-dire les structures, etc.

2.1.2 Spécifications Non Fonctionnelles


Les besoins non fonctionnels décrivent toutes les contraintes auxquelles est soumis le
système pour sa réalisation et son bon fonctionnement.
❖ Fiabilité​, ​ l’application doit fonctionner de façon cohérente sans erreurs et se baser
sur des données en temps réel.
❖ Ergonomie​, ​ souplesse et confort d’utilisation. Pour faciliter son utilisation,
l’application doit fournir une interface unifiée, conviviale, et ergonomique améliorant
l’expérience utilisateur.
❖ Gain de temps​, ​ l’application doit optimiser les traitements pour avoir un temps de
réponse minimal en se basant sur les données acquises en temps réel via l'entrepôt Big
Data.
❖ Maintenabilité​, ​ le code source doit être lisible, commenté et compréhensible afin
d’assurer son état évolutif et extensible par rapport aux besoins du marché.

2.2 Architecture Fonctionnelle


Dans cette partie, nous allons présenter l’architecture fonctionnelle de notre système pour
répondre aux besoin relatifs aux demandes de la DRJ.

Gestion des réquisitions juridiques à partir du Big Data


33
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure 2.1 montre la représentation des modules du système.

Figure 2.1 : Représentation Globale des modules du Système


Ici, nous avons quatre (04) modules.
❖ Le module Gestion des Réquisitions où l’on pourra traiter les réquisitions, les résultats
de ces réquisitions, les différents fichiers résultant des résultats ainsi que leurs envoi.
❖ Le module Gestion des Types d’Extraction où l’on pourra gérer les Bases, Flux,
Colonnes ainsi que les Types d’extraction qui vont les exploiter.
❖ Le module Gestion des Notifications où l’on pourra gérer les notifications relatives au
différentes fonctionnalités concernées comme la réception de résultats, etc.
❖ Le module Gestion des Paramètres où l’on pourra gérer les paramètres relatifs à la
gestion de l’application, par exemple les utilisateurs, les structures, etc.

2.3 Analyse
Pour mieux faciliter l’analyse, les différentes fonctionnalités du système sont regroupées en
quatre (04) modules fonctionnels. Suite à une analyse plus détaillée, ces différents modules
ont pu être décomposés en des sous-ensembles appelés sous-modules. Ces sous-modules
auront des dépendances entre elles représentées grâce au schéma suivant. De elles seront

Gestion des réquisitions juridiques à partir du Big Data


34
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

détaillées grâce à quelques diagrammes de cas d’utilisation, de séquence et quelques fiches de


description textuelle. Se référer aux références bibliographiques 1, 2, 3, 4 et 5.

La figure 2.2 montre la description des modules et sous-modules regroupant l’ensemble des
fonctionnalités de notre système.

Figure 2.2 : Description des modules et sous-modules regroupant l’ensemble des


fonctionnalités de notre système
Le module Gestion des Réquisitions contient les sous-modules Gestion des Résultats pour
gérer les résultats des réquisitions, Gestion des Réquisitions pour gérer les réquisitions en tant
que tel.
Le module Gestion des Notifications lui permet juste de gérer les notifications en rapport aux
réquisitions et aux résultats.
Le module Gestion des Types d’Extraction permet au système de savoir comment traiter
efficacement les réquisitions.
Le module Gestion des paramètres lui est utilisé dans tous les autres modules notamment
pour la vérification de l’authentification, des utilisateurs, etc.

2.3.1 Le sous-système Gestion des Réquisitions


Ce sous système permet de Gérer les Réquisitions et leurs résultats.

Gestion des réquisitions juridiques à partir du Big Data


35
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

2.3.1.1 Le module Gestion des Réquisitions

La figure 2.3 montre les fonctionnalités du module “Gestion des Réquisitions”.

Figure 2.3 : Fonctionnalités du module “Gestion des Réquisitions”


Le module Gestion des Réquisitions comprend 7 fonctionnalités :

❖ Saisir une réquisition : permet de saisir une nouvelle réquisition.

Gestion des réquisitions juridiques à partir du Big Data


36
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Tableau 3.1 : Description Textuelle de la fonctionnalité “Saisir une réquisition”

Titre Saisir une réquisition

Résumé Ce cas d’utilisation permet de saisir une


nouvelle réquisition juridique

Acteurs Utilisateur (utilisateur simple de la DRJ)

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’Utilisateur

Scénario Nominal 1. L’utilisateur demande la page de


saisie d’une nouvelle réquisition
2. Le système lui renvoie le formulaire
avec les différentes listes.
3. L’utilisateur remplit les différentes
cases requises
4. Le système vérifie que le formulaire
est conforme aux règles de
validation des réquisitions
5. Le système sauvegarde la réquisition

Scénario Alternatif 4.a Le formulaire ne respecte pas les règles


de validation des réquisitions:
1. Le système renvoie à l’utilisateur le
formulaire avec des messages
d’erreur dans les champs concernés

Post-Conditions Le système lance la requête côté Big Data


pour démarrer le traitement de la
réquisition.

Gestion des réquisitions juridiques à partir du Big Data


37
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure 2.4 montre la description Séquentielle du cas d’utilisation “Saisir une réquisition”.

Figure 2.4 : Description Séquentielle du cas d’utilisation “Saisir une réquisition”

❖ Charger un fichier de réquisitions : permet de charger un fichier contenant une liste


de réquisitions à traiter. Cette liste doit suivre un format bien défini pour
l’uniformisation des requêtes.
Tableau 3.2 : Description Textuelle de la fonctionnalité “Charger un fichier de
réquisitions”

Titre Charger un fichier de réquisitions

Gestion des réquisitions juridiques à partir du Big Data


38
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Résumé Ce cas d’utilisation permet de charger un


fichier contenant une liste de réquisitions à
traiter

Acteurs Utilisateur (utilisateur simple de la DRJ)

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’utilisateur

Scénario Nominal 1. L’utilisateur demande la page de


chargement de fichier de réquisitions
2. Le système lui renvoie un formulaire
avec la possibilité de charger un
fichier
3. L’utilisateur charge un fichier de
réquisitions
4. Le système valide la sémantique du
fichier
5. Le système enregistre le fichier de
réquisitions

Scénario Alternatif 4.a Le fichier n’est pas sémantiquement


correcte
1. Le système renvoie un message
d’erreur à l’utilisateur pour lui
signifier de bien vérifier la validité
du fichier

Post-Conditions Le système lance la requête côté Big Data


pour démarrer le traitement de la
réquisition.

❖ Lister les réquisitions : permet de lister l’ensemble des réquisitions saisie sur la
plateforme.
❖ Consulter une réquisition : permet de consulter les détails d’une réquisition.
❖ Rechercher une réquisition : permet de rechercher une réquisition.
❖ Reprendre une réquisition : permet de reprendre une réquisition, c-a-d la relancer
s’il y a une erreur ou au cas où l’on voudrait la réutiliser.

Gestion des réquisitions juridiques à partir du Big Data


39
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

❖ Aide réquisition : permet d’afficher une page d’aide où l’on spécifie toutes les
questions et réponses relatifs à l’utilisation de l’application Gestion des Réquisitions.

2.3.1.2 Le module Gestion des Résultats

La figure 2.5 montre les fonctionnalités du module “Gestion des Résultats”

Figure 2.5 : Fonctionnalités du module “Gestion des Résultats”


Le module Gestion des Résultats comprend 4 fonctionnalités :
❖ Lister les résultats : permet de lister l’ensemble des résultats de toutes les réquisitions
saisies dans l’application.
❖ Consulter les résultats d’une réquisition : permet de voir le ou les résultats reçus
concernant une réquisition bien précise.

Gestion des réquisitions juridiques à partir du Big Data


40
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

❖ Envoyer un fichier de résultats : permet d’envoyer les résultats d’une réquisition à


l’instance juridique qui en avait faite la demande, ou à une autre adresse mail.
❖ Télécharger un fichier de résultats : permet de télécharger les résultats d’une
réquisition pour une consultation. Elle peut être téléchargée sous plusieurs formats :
CSV (Comma-Separated Values), PDF (Portable Document Format), etc.

2.3.2 Le sous-système Gestion des Types d’Extractions

2.3.2.1 Le module Gestion des Bases

Le module Gestion des Bases comprend 6 fonctionnalités :


❖ Lister les bases : permet de lister les bases de données saisies dans l’application.
Tableau 3.3 : Description Textuelle de la fonctionnalité “Lister les bases“

Titre Lister les bases

Résumé Ce cas d’utilisation permet de lister les


bases de données saisies dans l’application

Acteurs Administrateur Général

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’Administrateur Général

Scénario Nominal 1. L’Administrateur demande la page


contenant la liste des bases de
données
2. Le système lui charge la liste des
bases de données

Scénario Alternatif Néant

Post-Conditions La liste des bases de données est chargée et


affichée à l’utilisateur

❖ Ajouter une Base : permet de créer une nouvelle base de données.


Tableau 3.4 : Description Textuelle de la fonctionnalité “Ajouter une Base”

Titre Ajouter une Base

Gestion des réquisitions juridiques à partir du Big Data


41
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Résumé Ce cas d’utilisation permet de créer une


nouvelle base de données

Acteurs Administrateur Général

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’Administrateur Général

Scénario Nominal 1. L’utilisateur demande la page de


création de base de données
2. Le système lui affiche cette page
3. L’utilisateur saisit le libellé et la
description de la base
4. Le système fait une validation et
vérifie si cette base est unique
5. Le système crée la nouvelle base de
donnée

Scénario Alternatif 4.a S’il y a une erreur de validation et que


cette base existe déjà
1. le système notifie l’utilisateur avec
un message d’erreur de création

Post-Conditions La base a été créée avec succès

❖ Consulter une Base : permet de voir les détails d’une base de données.
Tableau 3.5 : Description Textuelle de la fonctionnalité “Consulter une Base”

Titre Consulter une base

Résumé Ce cas d’utilisation permet de consulter une


base de données

Acteurs Administrateur Général

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’Administrateur Général

Scénario Nominal 1. L’utilisateur demande la liste des


bases

Gestion des réquisitions juridiques à partir du Big Data


42
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

2. Le système lui affiche cette liste


3. L’utilisateur clique sur le bouton
“Voir détails” de la base qu’il désire
consulter
4. Le système lui affiche la page
détaillant les informations de cette
base de données

Scénario Alternatif Néant

Post-Conditions Détails de la base chargés avec succès

❖ Modifier une Base : permet de modifier une base de données.


Tableau 3.6 : Description Textuelle de la fonctionnalité “Modifier une Base”

Titre Modifier une Base

Résumé Ce cas d’utilisation permet de modifier une


base de données

Acteurs Administrateur Général

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’Administrateur Général

Scénario Nominal 1. L’utilisateur demande la liste des


bases
2. Le système lui affiche cette liste
3. L’utilisateur clique sur le bouton
“Modifier” de la base qu’il désire
consulter
4. Le système lui affiche la page de
modification des informations de
cette base de données
5. L’utilisateur renseigne les nouvelle
informations et soumet le formulaire
6. Le système valide les information et
vérifie qu’il n’y a pas d’erreurs
7. Le système enregistre les
modifications apportées à la base

Scénario Alternatif 6.a Si il y a une erreur et que la base existait


déjà

Gestion des réquisitions juridiques à partir du Big Data


43
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

1. Le système notifie l’utilisateur d’un


message d’erreur en lui signalant les
champs concernés

Post-Conditions Base modifiée avec succès

❖ 2.3.2.1.5 Supprimer une Base : permet de supprimer une base de données.


Tableau 3.7 : Description Textuelle de la fonctionnalité “Supprimer une Base”

Titre Supprimer une base

Résumé Ce cas d’utilisation permet de supprimer


une base de données

Acteurs Administrateur Général

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’Administrateur Général

Scénario Nominal 1. L’utilisateur demande la liste des


bases
2. Le système lui affiche cette liste
3. L’utilisateur clique sur le bouton
“Supprimer” de la base qu’il désire
consulter
4. Le système supprime cette base

Scénario Alternatif Néant

Post-Conditions Base supprimée avec succès

❖ Rechercher une Base: permet de rechercher une base de données en fonction de


certains critères comme son nom, etc.
Tableau 3.8 : Description Textuelle de la fonctionnalité “Rechercher une Base”

Titre Rechercher une Base

Résumé Ce cas d’utilisation permet de rechercher


une base de données

Acteurs Administrateur Général

Gestion des réquisitions juridiques à partir du Big Data


44
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Date de Création 11 Mars 2019

Date de mise à jours 09 Avril 2019

Pré-Conditions L’utilisateur doit être authentifié et doit


disposer du rôle d’Administrateur Général

Scénario Nominal 1. L’utilisateur demande la liste des


bases
2. Le système lui affiche cette liste
3. L’utilisateur rempli le formulaire de
recherche et clique sur le bouton
“Rechercher”
4. Le système affiche la ou les bases
correspondant à la recherche cette
base

Scénario Alternatif Néant

Post-Conditions Base trouvée avec succès

2.3.2.2 Le module Gestion des Flux

Le module Gestion des Flux comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des flux des bases de données de l’application.
❖ Ajouter : permet d’ajouter un nouveau flux.
❖ Voir : permet de voir les détails d’un flux.
❖ Modifier : permet de modifier un flux.
❖ Supprimer : permet de supprimer un flux.
❖ Rechercher : permet de rechercher un flux en fonction de certains critères comme son
libellé, sa description, etc.

2.3.2.3 Le module Gestion des Colonnes

Le module Gestion des Colonnes comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des colonnes de chaque flux de l’application.
❖ Ajouter : permet d’ajouter une nouvelle colonne.
❖ Voir : permet de voir les détails d’une colonne.
❖ Modifier : permet de modifier une colonne.

Gestion des réquisitions juridiques à partir du Big Data


45
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

❖ Supprimer : permet de supprimer une colonne.


❖ Rechercher : permet de rechercher une colonne en fonction de certains critères comme
son libellé, sa description, etc.

2.3.2.4 Le module Gestion des Types d’Extraction

Le module Gestion des Types d’Extraction comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des types d’extraction de l’application.
❖ Ajouter : permet d’ajouter un nouveau type d’extraction.
❖ Voir : permet de voir les détails d’un type d’extraction.
❖ Modifier : permet de modifier un type d’extraction.
❖ Supprimer : permet de supprimer un type d’extraction.
❖ Rechercher : permet de rechercher un en fonction de certains critères comme son, etc.

2.3.3 Le sous-système Gestion des Notifications

La figure 2.6 montre les fonctionnalités du module “Gestion des Notifications”

Gestion des réquisitions juridiques à partir du Big Data


46
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Figure 2.6 : Fonctionnalités du module “Gestion des Notifications”


Le module Gestion des Réquisitions comprend 3 fonctionnalités :
❖ Lister les Notifications : permet de lister l'ensemble des notifications reçues par un
utilisateur.
❖ Consulter une Notification : permet de consulter plus en détail une notification.
❖ Supprimer une notification : permet de supprimer définitivement une notification.

2.3.4 Le sous-système Gestion Paramètres

2.3.4.1 Le module Gestion des Filiales

Le module Gestion des Filiales comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des filiales de l’application.
❖ Ajouter : permet d’ajouter une nouvelle filiale.
❖ Voir : permet de voir les détails d’une filiale.
❖ Modifier : permet de modifier une filiale.
❖ Supprimer : permet de supprimer une filiale.
❖ Rechercher : permet de rechercher une filiale en fonction de certains critères comme
son code, son libellé, etc.

2.3.4.2 Le module Gestion des Structures

Le module Gestion des Structures comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble structures qui existent dans les filiales de
l’application.
❖ Ajouter : permet d’ajouter une nouvelle structure.
❖ Voir : permet de voir les détails d’une structure.
❖ Modifier : permet de modifier une structure.
❖ Supprimer : permet de supprimer une structure.
❖ Rechercher : permet de rechercher un en fonction de certains critères comme son
code, son libellé, etc.

Gestion des réquisitions juridiques à partir du Big Data


47
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

2.3.4.3 Le module Gestion des Environnements

Le module Gestion des Environnements comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des environnement qui appartiennent à une filiale
de l’application.
❖ Ajouter : permet d’ajouter un nouvel environnement.
❖ Voir : permet de voir les détails d’un environnement.
❖ Modifier : permet de modifier un environnement.
❖ Supprimer : permet de supprimer un environnement.
❖ Rechercher : permet de rechercher un environnement en fonction de certains critères
comme son code, son libellé, etc.

2.3.4.4 Le module Gestion des Provenances

Le module Gestion des Provenances comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble provenances des réquisitions de l’application.
❖ Ajouter : permet d’ajouter une nouvelle provenance.
❖ Voir : permet de voir les détails d’une provenance.
❖ Modifier : permet de modifier une provenance.
❖ Supprimer : permet de supprimer une provenance.
❖ Rechercher : permet de rechercher une provenance en fonction de certains critères
comme son code, son libellé, etc.

2.3.4.5 Le module Gestion des Profils

Le module Gestion des Profils comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des profils des utilisateurs de l’application
❖ Ajouter : permet d’ajouter un nouveau profil.
❖ Voir : permet de voir les détails d’un profil.
❖ Modifier : permet de modifier un profil.
❖ Supprimer : permet de supprimer un profil.
❖ Rechercher : permet de rechercher un profil en fonction de certains critères comme
son libellé, sa description, etc.

Gestion des réquisitions juridiques à partir du Big Data


48
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

2.3.4.6 Le module Gestion des Droits d’Accès

Le module Gestion des Droits d’Accès comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des droits d’accès des utilisateurs de l’application.
❖ Ajouter : permet d’ajouter un nouveau droit d’accès.
❖ Voir : permet de voir les détails d’un droit d’accès.
❖ Modifier : permet de modifier un droit d’accès.
❖ Supprimer : permet de supprimer un droit d’accès.
❖ Rechercher : permet de rechercher un droit d’accès en fonction de certains critères
comme son libellé, etc.

2.3.4.7 Le module Gestion des Utilisateurs

Le module Gestion des Utilisateurs comprend 7 fonctionnalités :


❖ S’authentifier : permet de se connecter à l’application Gestion des Réquisitions avec
son login/mail et son mot de passe.
❖ Lister : permet de lister l’ensemble des utilisateurs de l’application.
❖ Ajouter : permet à l’administrateur d’ajouter un nouvel utilisateur à l’application, tout
en définissant ses rôles et droits d’accès.
❖ Voir : permet de voir les détails d’un utilisateur.
❖ Modifier : permet de modifier un utilisateur.
❖ Supprimer : permet de supprimer un utilisateur.
❖ Rechercher : permet de rechercher un utilisateur en fonction de certains critères
comme son prénom, son nom, son adresse mail, etc.

2.3.4.8 Le module Gestion des Serveurs

Le module Gestion des Serveurs comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des serveurs de l’application
❖ Ajouter : permet d’ajouter un nouveau serveur.
❖ Voir : permet de voir les détails d’un serveur.
❖ Modifier : permet de modifier un serveur.
❖ Supprimer : permet de supprimer un serveur.

Gestion des réquisitions juridiques à partir du Big Data


49
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

❖ Rechercher : permet de rechercher un serveur en fonction de certains critères comme


son nom, etc.

2.3.4.9 Le module Gestion des Typologies

Le module Gestion des Typologie comprend 6 fonctionnalités :


❖ Lister : permet de lister l’ensemble des typologies de l’application
❖ Ajouter : permet d’ajouter une nouvelle typologie.
❖ Voir : permet de voir les détails d’une typologie.
❖ Modifier : permet de modifier une typologie.
❖ Supprimer : permet de supprimer une typologie.
❖ Rechercher : permet de rechercher une typologie en fonction de certains critères
comme son code, son libellé, etc.

2.3.4.10 Le module Gestion des Paramètres d’Application

Le module Gestion des Paramètres d’Application comprend 1 fonctionnalité :


❖ Envoi des fichiers de paramètres: Cette fonctionnalité consiste à envoyer des fichiers
de paramètres dans le serveur décisionnel.
Dans ce chapitre, nous avons fait l’analyse des besoins.Nous avons d’abord ressorti la
spécification du système, puis présenté l’architecture fonctionnelle, ensuite décrit l’analyse de
notre système et enfin dégaér les concepts généraux du Big Data.

Dans ce chapitre , nous avons fait l’analyse des besoins. D’abord, nous avons ressorti la
spécification du système. En suite nous avons présenté l’architecture fonctionnelle du
système. Et enfin, nous avons pu décrire l’analyse de notre système.
L’objet du chapitre suivant sera donc de présenter la conception de la solution.

Gestion des réquisitions juridiques à partir du Big Data


50
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Chapitre 3 : Conception de la Solution

Résumé : Dans cette partie nous présenterons la solution que nous avons adoptée pour gérer
l’aspect Big Data de notre système puis nous montrerons la manière dont il est structuré et
agencé avec l’application web. Ensuite, nous présenterons sa conception détaillée à travers un
cas d’utilisation et la répartition des composants du système.

Gestion des réquisitions juridiques à partir du Big Data


51
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

3.1 Conception Générale

Architecture de la Solution

Les microservices

Les microservices désignent à la fois une architecture et une approche de développement


logiciel. qui consiste à décomposer les applications en éléments les plus simples,
indépendants les uns des autres. Contrairement à une approche monolithique classique, selon
laquelle tous les composants forment une entité indissociable, les microservices fonctionnent
en synergie pour accomplir les mêmes tâches, tout en étant séparés. Chacun de ces
composants ou processus est un microservice. Granulaire et léger, ce type de développement
logiciel permet d'utiliser un processus similaire dans plusieurs applications. Il s'agit d'un
élément essentiel pour optimiser le développement des applications en vue de l'adoption d'un
modèle natif pour le cloud. Notre choix est donc justifié par le fait que les microservices sont
faciles à créer, tester, déployer et mettre à jour. Ils permettent à la DSI de réagir plus
rapidement aux nouvelles demandes et d'éviter un processus de développement interminable
sur plusieurs années. Les différentes tâches de développement peuvent être réalisées
simultanément et de façon agile pour apporter immédiatement de la valeur aux clients. Les
microservices assurent donc l’agilité et l’évolutivité des application et permettent le
déploiement continu.

Gestion des réquisitions juridiques à partir du Big Data


52
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure Figure 3.4 décrit l’architecture des microservices.

Figure 3.4 : Architecture des microservices

Pour réaliser notre système, nous avons opté pour l’architecture microservices déjà adoptée
dans la plupart des projets de la Direction des Systèmes d’Information(DSI). Cependant, pour
que notre architecture microservices fonctionne comme une application fonctionnelle, nous
avons fait en sorte que chaque service communique et échange des données avec les autres
services de l’application grâce à un système de messagerie.
Aussi nous avons assuré une interdépendance entre les différents services grâce à un système
de conteneurs. Chaque service a donc son propre environnement d’exécution et il est alors
plus simple de tirer parti du matériel et d'orchestrer les services, notamment les services de
stockage, de réseau et de sécurité. Cela assure également la scalabilité de l’application car
avec la technologie des conteneurs, il est très facile, en fonction du besoin, d’adopter le
nombre de conteneurs par service à la hausse ou à la baisse.
Cette architecture permet également de mieux répartir les tâches de développement entre
différentes équipes, dans le cas où le projet devait continuer à avoir des évolutions. Cette
autonomie garantit alors à chaque équipe la liberté des choix techniques en fonction de ses
propres besoins.

Gestion des réquisitions juridiques à partir du Big Data


53
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

La figure 3.5 représente, à l’aide d’un diagramme de composants UML, la répartition des
composants du système qui existait.

Figure 3.5 : Répartition des composants du système qui existait avant stème à l’aide du
diagramme de composants UML

La figure 3.1 représente, à l’aide d’un diagramme de composants UML, la répartition des
composants de notre système selon cette architecture.

Gestion des réquisitions juridiques à partir du Big Data


54
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Figure 3.1 : Répartition des composants de notre système à l’aide du diagramme de


composants UML selon l’architecture microservice

3.2 Conception Détaillée


Dans cette partie, pour bien expliciter les réquisitions, nous allons montrer les détails du
module “Gestion des Réquisitions”. Nous présentons par la suite le modèle de conception de
cette fonctionnalité.

Gestion des réquisitions juridiques à partir du Big Data


55
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

3.2.1 Éléments du système relatifs au module

Éléments du système relatifs au module “Gestion des Réquisitions”

La figure 3.2 qui représente la structure détaillée et les interactions des différents éléments du
système qui interviennent dans le module “Gestion des Réquisitions”, à travers un diagramme
de classe de conception UML.

Gestion des réquisitions juridiques à partir du Big Data


56
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Figure 3.2 : Structure détaillée du module “Gestion des Réquisitions” à travers le


diagramme de classe de conception UML

3.2.2 Architecture Logique

La figure 3.3 qui présente la répartition physique des composants de notre système à travers un
diagramme de déploiement UML.

Figure 3.3 : Répartition des composants du système


Ici, nous avons d’abord serveur où nous pourrons déployer nos microservices. Nous nous
baserons sur un environnement Docker qui est un outil permettant facilement de lancer des
applications dans des conteneurs logiciels. Cet environnement d'exécution pourra
communiquer avec notre serveur Mysql qui contiendra notre base de donnée. Il pourra aussi
communiquer avec notre environnement Apache Spark et le client Web par lequel les
utilisateurs pourront accéder à nos services.

Gestion des réquisitions juridiques à partir du Big Data


57
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Chapitre 4 : Présentations Choix Technologiques et


Résultats Obtenus

Résumé : Dans cette partie, nous présenterons l’environnement de développement, les choix
techniques des solutions utilisées, l’architecture technique ainsi que quelques interfaces.

Gestion des réquisitions juridiques à partir du Big Data


58
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

4.1 Environnement de Développement


IntelliJ IDEA

IntelliJ IDEA également appelé « IntelliJ », « IDEA » ou « IDJ » est un environnement de


développement intégré (en anglais Integrated Development Environment - IDE) de
technologie Java destiné au développement de logiciels informatiques. Il est développé par
JetBrains (anciennement « IntelliJ ») et disponible en deux versions, l'une communautaire,
open source, sous licence Apache 2 et l'autre propriétaire, protégée par une licence
commerciale. Tous deux supportent les langages de programmation Java, Kotlin, Groovy et
Scala.

4.2 Choix Technologiques


Ici, nous allons présenter les technologies que nous avons utilisé dans le cadre de notre projet.

4.2.1 Apache Hadoop

Hadoop est un framework open-source qui permet de stocker et de


traiter des données volumineuses dans un environnement distribué sur des clusters
d’ordinateurs à l’aide de modèles de programmation simples. Il est conçu pour passer de
serveurs uniques à des milliers de machines, chacune offrant un calcul et un stockage locaux.
(Bibliographie: [6])

Gestion des réquisitions juridiques à partir du Big Data


59
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

4.2.1.1 Hadoop Distributed File System (HDFS)

Hadoop Distributed File System a été développé à l'aide d'une


conception de système de fichiers distribuée. Il est exécuté sur du matériel de base.
Contrairement aux autres systèmes distribués, HDFS est hautement tolérant aux pannes et
conçu avec du matériel à faible coût.
HDFS contient une très grande quantité de données et offre un accès plus facile. Pour stocker
des données aussi volumineuses, les fichiers sont stockés sur plusieurs ordinateurs. Ces
fichiers sont stockés de manière redondante pour éviter au système des pertes de données en
cas de défaillance. HDFS rend également les applications disponibles pour le traitement en

parallèle. ​(Bibliographie: [6])

4.2.1.2 Yarn

YARN est l’un des principaux composants de Apache Hadoop. Il


permet de gérer les ressources du système et de planifier les tâches. ​(Bibliographie: [7])

4.2.1.3 MapReduce

MapReduce est un framework avec lequel nous pouvons écrire des


applications pour traiter d’énormes quantités de données, en parallèle, sur de larges clusters

(ensemble de machines informatiques) de base de manière fiable. ​(Bibliographie: [7])

4.2.2 Apache Spark

Apache Spark est un cluster de calcul ultra-rapide conçu pour un calcul


rapide. Il a été construit sur Hadoop MapReduce et étend le modèle MapReduce pour utiliser
efficacement davantage de types de calcul, notamment les requêtes interactives et le

traitement de flux. ​(Bibliographie: [8])

Gestion des réquisitions juridiques à partir du Big Data


60
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Apache Spark SQL

Spark introduit un module de programmation pour le traitement de


données structurées appelé Spark SQL. Il fournit une abstraction de programmation appelée

DataFrame et peut agir en tant que moteur de requête SQL distribué. ​(Bibliographie: [8])

4.2.3 Apache Hive

Hive est un outil d'infrastructure d'entrepôt de données permettant de


traiter des données structurées dans Hadoop. Il se trouve au-dessus de Hadoop pour résumer

le Big Data et facilite les requêtes et les analyses. ​(Bibliographie: [9])

4.2.4 Apache HBase

HBase est un modèle de données similaire à la grande table de Google,


conçu pour fournir un accès aléatoire rapide à d’énormes quantités de données structurées.

(Bibliographie: [10])

4.2.5 Apache Livy

Apache Livy est un service qui permet une interaction facile avec un
cluster Spark via une interface REST. Il facilite la soumission de tâches Spark ou d'extraits de
code Spark, de récupération de résultats synchrone ou asynchrone, ainsi que la gestion de
SparkContext, le tout via une simple interface REST ou une bibliothèque client RPC. Apache
Livy simplifie également l'interaction entre Spark et les serveurs d'applications, permettant

ainsi d'utiliser Spark pour des applications Web / mobiles interactives. ​(Bibliographie:

[11])

Gestion des réquisitions juridiques à partir du Big Data


61
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

4.2.6 Scala

Scala est un langage de programmation multi-paradigmes moderne conçu


pour exprimer les modèles de programmation courants de manière concise, élégante et
respectueuse des caractères. Scala intègre en douceur les fonctionnalités des langages orientés

objet et fonctionnels. ​(Bibliographie: [8])

4.2.7 Jhipster

JHipster est une plate-forme de développement permettant de générer,


développer et déployer des applications Web Spring Boot + Angular / React / Vue et des

microservices Spring. ​(Bibliographie: [14])

4.2.7.1 Angular

Angular 4 est un framework JavaScript permettant de créer des applications


Web et des applications en JavaScript, HTML et TypeScript, qui est un sur-ensemble de
JavaScript. Angular fournit des fonctionnalités intégrées pour l'animation, le service http et
les matériaux, qui comportent à leur tour des fonctionnalités telles que l'auto-complétion, la
navigation, la barre d'outils, les menus, etc. Le code est écrit en TypeScript, qui est compilé

en JavaScript et affiché de la même manière. navigateur. ​(Bibliographie: [12])

4.2.7.2 Spring Boot

Spring Boot est un framework Java open source utilisé pour créer un
Micro Service. Il est développé par l'équipe pivot. Il est facile de créer des applications
autonomes et prêtes à la production avec Spring Boot. Spring Boot contient une prise en
charge complète de l’infrastructure pour le développement d’un micro-service et vous permet

Gestion des réquisitions juridiques à partir du Big Data


62
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

de développer des applications adaptées à l’entreprise que vous pouvez «simplement

exécuter». ​(Bibliographie: [13])

4.2.7.3 Keycloak

Keycloak est une solution open source de gestion des identités et des
accès destinée aux applications et aux services modernes. ​(Bibliographie: [15])

4.2.7.4 ElasticSearch

Elasticsearch est un moteur de recherche et d'analyse en texte intégral


distribué en temps réel et open source. Il est utilisé dans les projets Single Page Application
(SPA). Elasticsearch est un logiciel open source développé en Java et utilisé par de
nombreuses grandes organisations du monde entier. ​(Bibliographie: [14])

4.2.7.5 Mysql

MySQL est le système de gestion de base de données SQL relationnel Open Source le plus
populaire. MySQL est l’un des meilleurs SGBDR utilisé pour le développement de diverses
applications logicielles Web. MySQL est développé, commercialisé et supporté par MySQL
AB, une société suédoise. Ce tutoriel vous permettra de démarrer rapidement avec MySQL et

de vous familiariser avec la programmation MySQL. ​(Bibliographie: [16])

Gestion des réquisitions juridiques à partir du Big Data


63
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

4.3 Architecture Technique

La figure 4.1 montre l’architecture technique de notre solution.

Figure 4.1 : Architecture Technique de la solution


Ici, nous pouvons voir que l’on dispose d’une application composée de deux (2) grands
groupe que nous allons nommer le groupe Big Data et le groupe Front.
❖ Le groupe Big Data est constitué des technologies qui tournent autour du Big Data à
savoir Hadoop, HDFS, Apache Hive, Hbase, Apache Spark (SQL), Apache Livy. Ce
groupe sera en charge de l’exploitation et du traitement des données massive pour de
meilleures performances. Se référer aux références bibliographiques 6, 7, 8, 9, 10 et
11.
❖ Le groupe Front est constitué des outils qui peuvent nous permettre d’exploiter le Big
Data de manière efficace avec les technologies Angular qui va gérer notre interface, et
qui communiquera avec Spring qui nous servira de traitement des informations qui
proviennent aussi bien de l’interface Angular que de les parties Base de donnée

Gestion des réquisitions juridiques à partir du Big Data


64
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

(MySQL) et Big Data. Se référer aux références bibliographiques 12, 13, 14, 15 et 16.
Spring lui même sera composé de nos trois (3) microservices:
➢ Le microservice Gateway qui sera le point d’entrée de notre application
➢ Le microservice Traitement qui sera en charge du traitement des données
➢ Le microservice Proxy qui sera en charge de faire la liaison entre le groupe
Big Data et le groupe Front.

4.4 Présentation des Résultats Obtenus


Dans cette partie, nous présenterons quelques interfaces suite à la réalisation de notre
solution.

4.1.1 Partie Applicative


Par soucis de confidentialité, certaines configurations concernant les technologies déjà en
place à la Sonatel ne peuvent pas être décrites. Nous allons donc montrer certaines
configurations relatives à notre application.

La figure 4.2 montre la configuration du microservice Gateway

Gestion des réquisitions juridiques à partir du Big Data


65
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Figure 4.2 : Configuration Microservice Gateway

La figure 4.3 montre la configuration que va embarquer Jhipster pour démarrer

Figure 4.3 : Configuration App Jhipster

4.1.2 Partie Service

4.1.2.1 Authentification

La figure 4.4 montre l’interface d’Authentification d’un utilisateur de notre système.

Gestion des réquisitions juridiques à partir du Big Data


66
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Figure 4.4 : Interface d’Authentification


Ici, l’utilisateur doit saisir son nom d’utilisateur/email et son mot de passe pour accéder aux
interfaces de Gestion des Réquisitions.

4.2.1.2 Saisie Réquisition

La figure 4.5 montre l’interface de saisie d’une nouvelle réquisition.

Figure 4.5 : Interface de Saisie de Réquisition


Ici, pour saisir une réquisition, l’utilisateur donne le numéro du Procès Verbal, la date de
saisie de cette dernière, sa provenance et coche s’il veut envoyer automatiquement le résultat
aux instances juridiques qui ont fait la demande ou pas.
Ensuite, il saisit les champs de recherche qu’il soit soumettre. Pour chacun d’eux, il donne le
champs à rechercher, le type d’extraction, la colonne qu’il souhaite comparer au champs de
recherche, la fenêtre de recherche c’est-à-dire les dates de début et de fin d’extraction.
Enfin, il soumet la réquisition et patiente le temps que le système la traite pour lui renvoyer
les résultats.

Gestion des réquisitions juridiques à partir du Big Data


67
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Conclusion et Perspectives
Durant les cinq (05) mois de stage effectués au sein de la Sonatel, notre travail a porté sur la
mise en place d’une application de gestion des réquisitions juridiques. L’objectif de ce projet
a été de mettre en place un système basé sur les technologies du Big Data permettant à la
Sonatel de répondre plus efficacement aux nombreuses réquisitions reçues quotidiennement
et venant de tout le Sénégal.
Pour atteindre cet objectif, nous avons adopté la méthodologie basée sur le cycle en V utilisé.
Le langage UML nous a permis de représenter le système de gestion des réquisitions sous
formes de diagrammes d’analyse. Certains des diagrammes UML ont également été utilisés
pour présenter la conception de notre solution dans laquelle nous avons adopté l’architecture
microservices utilisée dans de nombreuses application de la Sonatel. Différents outils et
technologies nous ont permis de réaliser ce système. Nous pouvons citer Angular qui nous a
permis de développer l’interface de notre application, Spring qui nous a permis de développer
les microservices permettant la gestion de bout en bout de notre système, MySQL qui nous a
permis de mettre en place une base de données et les technologie du Big Data notamment
Apache Spark pour le traitement des données massives, Apache Livy qui nous a permis de
démarrer les jobs Spark à partir de notre interface, Apache Hive où nous avons pu puiser nos
données pour les traiter et ainsi répondre aux différents cas d’utilisation.
L’application est cependant toujours en cours de développement. La partie Big Data est sur le
point d'être finalisé, ainsi que l’interface de l’application.
Nous n’avons pas rencontré de problèmes majeurs durant le développement de l’application
Big Data, vu que les données étaient déjà présentes, accessibles et exploitables.

Afin d’améliorer le système, nous projetons de mettre en place une interface où l’instance
juridique pourra directement soumettre sa réquisition, qui nécessitera une validation interne
avant le lancement du traitement. De plus, un modèle de machine learning permettant
d’extraire les données directement depuis le Procès Verbal tiré au niveau de l’instance
juridique.

Gestion des réquisitions juridiques à partir du Big Data


68
Mémoire de Fin de Cycle d’Ingénieur de Conception en Informatique| El Hadj Babacar Cissé

Bibliographie
1. https://fr.wikipedia.org/wiki/UML_(informatique)​ [Dernière consultation : Mars
2019]
2. https://fr.wikipedia.org/wiki/Diagramme_des_cas_d%27utilisation​ [Dernière
consultation : Mars 2019]
3. https://fr.wikipedia.org/wiki/Diagramme_de_classes​ [Dernière consultation : Mars
2019]
4. https://fr.wikipedia.org/wiki/Diagramme_de_s%C3%A9quence​ [Dernière
consultation : Mars 2019]
5. https://openclassrooms.com/fr/courses/2035826-debutez-lanalyse-logicielle-avec-uml
[Dernière consultation : Mars 2019]
6. https://hadoop.apache.org/​ [Dernière consultation : Mai 2019]
7. https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html​ [Dernière consultation : Mai
2019]
8. https://spark.apache.org/​ [Dernière consultation : Mai 2019]
9. https://hive.apache.org/​ [Dernière consultation : Mai 2019]
10. https://hbase.apache.org/​ [Dernière consultation : Mai 2019]
11. https://livy.incubator.apache.org/​ [Dernière consultation : Juin 2019]
12. https://angular.io/​ [Dernière consultation : Juin 2019]
13. https://spring.io/​ [Dernière consultation : Juin 2019]
14. https://www.jhipster.tech/​ [Dernière consultation : Juin 2019]
15. https://www.keycloak.org/​ [Dernière consultation : Juin 2019]
16. https://www.mysql.com/fr/​ [Dernière consultation : Juin 2019]
17. https://github.com/johnpapa/angular-styleguide/blob/master/a2/README.md
[Dernière consultation : Mai 2019]
18. https://fr.wikipedia.org/wiki/Big_data​ [Dernière consultation : Juin 2019]
19. https://fr.wikipedia.org/wiki/Architectures_logicielle​ [Dernière consultation : Juin
2019]
20. https://fr.wikipedia.org/wiki/Cycle_en_V​ [Dernière consultation : Juin 2019]

Gestion des réquisitions juridiques à partir du Big Data


69

Vous aimerez peut-être aussi