ZENCHI-AMMARA Creation Dashboard

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

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université des Sciences et de la Technologie Houari Boumediene

Faculté d’informatique
Département Systèmes informatique

Mémoire de Master
Filière :Informatique
Spécialité : Big Data Analytics

Création d’un Dashboard de gestion des Performances et


Monitoring des liens de Transmission de l’opérateur Djezzy

Sujet proposé et encadré par : Présenté par :


Mme. DRIR Nadia Mme. Sara ZENCHI
Mr. BENADJAOUD Abid Mr. Ayoub AMMARA

Devant le jury composé de :


Mme. MAZOUZ Samia Présidente
Mme.HEDJAZI Badiâa Membre

Binôme : BIG DATA_012/2022-2023


La théorie, c’est quand on sait tout et que rien ne fonctionne.
La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait
pourquoi !".
(Albert Einstein)

1
Remerciements

Tout d’abord, Nous tenons à remercier le tout puissant ALLAH et miséricordieux


qui nous a toujours comblés de ses bienfaits et à qui nous adressons nos remercie-
ments pour sa grâce infinie pour nous avoir éclairés et aidés dans la préparation et
la réalisation de ce modeste travail

En second lieu, nos reconnaissances et nos vifs remerciements vont particulière-


ment à notre encadrante,Mme DRIR Nadia qui nous a orientées et aidées dans notre
travail et qu’elle a été tout le temps disponible et attentif pour nous apporter de
l’aide, ses précieux conseils, son orientation et surtout sa patience. Également à Mr
BENADJAOUD Abid et Mr DJERBOUA Soufiane pour leurs conseils et l’aide qu’ils
nous ont fourni tout au long de notre stage, qui nous a été d’une grande utilité ce
qui nous a permis de venir à bout de ce projet.

Nous remercions DJEZZY de nous avoir donné l’opportunité d’effectuer un stage au


cours de notre dernière année Master, ainsi que tout le personnel qui nous a apporté
aide et assistance et donné toutes les informations dont nous avions besoin pour la
réalisation de ce projet.

Nous présentons notre gratitude aux membres du jury Mme MAZOUZ Samia et
Mme HEDJAZI Badiaa qui ont bien voulu examiner et évaluer ce modeste travail et
qui font l’honneur de participer à la soutenance

Nos remerciements s’adressent aussi à tous les professeurs et les enseignants de


l’université des Sciences et de la Technologie Houari Boumediene qui nous ont for-
més durant notre cursus et qui par leurs compétences nous ont soutenu dans la
poursuite de nos études.

2
Dédicaces
Ce n’ai que grâce à ALLAH que j’ai concrétisé ce travail.

Je dédie cette thèse

À la mémoire de ma chère soeur « Kamélia » qui nous a quitté très tôt je dédie ce
travail a son angélique âme et à mes grands parents, puisse Dieu vous avoir en sa
sainte miséricorde et que ce travail soit une prière pour vos âme.

À mon très cher père, qui a toujours été là pour moi, un exemple du père respec-
tueux, honnête,. Grâce à cet homme, j’ai appris le sens du travail et de la responsa-
bilité,son soutien fut une lumière dans tout mon parcours.

À la plus belle créature que Dieu a créée sur terre. À cette source de tendresse, de
patience et de générosité, ma raison d’être, la lanterne qui éclaire mon chemin et
m’illumine d’affection et d’amour. À ma mère.

Aucun mot, aucune dédicace ne pourrait exprimer mon respect, ma considération,


et mon amour .Ce modeste travail est le fruit de tous les sacrifices qu’ils ont dé-
ployés pour mon éducation et ma formation. Puisse Dieu leur accorder santé, bon-
heur, prospérité et longue vie.

À mes chers frères, Katia, lydia et Yanis, pour leur encouragement permanent et
leur soutien moral, et les bons moments que nous avons passé ensemble. Que Dieu
les protège et leurs offres un avenir radieux plein de réussite.

À mes amies : Amel ,Romaissa,Melila et Faiza Pour leur sincère amitié et confiance,
et à qui je dois ma reconnaissance.

À tous ceux qui sont proches de mon coeur que je n’ai pas pu citer. À tous les gens
qui ont cru et croient en moi, et qui me donnent l’envie d’aller en avant, je vous
remercie tous.

ZENCHI Sara

3
Résumé :La demande croissante de connectivité dans le secteur des télécommunications pousse
DJEZZY à améliorer les performances de ses réseaux de transmission. Les liens de transmission
micro-ondes jouent un rôle crucial en assurant une connectivité sans fil efficace entre les stations
de base et les nœuds du réseau. Avec la croissance du réseau mobile de DJEZZY, la gestion des liens
devient une nécessité. Une plateforme web dédié est donc développée pour optimiser les ressources,
surveiller les performances, détecter les problèmes et faciliter la prise de décision. L’objectif est de
mettre en place une solution intelligente et automatisée pour la gestion des liens de transmission,
avec un tableau de bord de gestion du trafic pour visualiser l’état des liens en temps réel. Cette
solution utilisera des techniques de machine learning pour anticiper les problèmes et maintenir la
qualité de service et l’efficacité des liens de transmission.

Les mots clés : :Transmission ,DJEZZY, Système d’information, Machine learning, KPI,Business
Intelligence .

Abstract :The growing demand for connectivity in the telecommunications industry is driving
DJEZZY to improve the performance of its transmission networks. Microwave transmission links
play a crucial role in ensuring efficient wireless connectivity between base stations and network
nodes. With the expansion of DJEZZY’s mobile network, effective link management has become a
necessity. Therefore, a dedicated web platform is being developed to optimize resources, monitor
performance, detect issues, and facilitate decision-making. The goal is to implement an intelligent
and automated solution for link management, including a traffic management dashboard to visualize
real-time link status. This solution will employ machine learning techniques to anticipate problems
and maintain service quality and link efficiency.

Keywords : Transmission, DJEZZY, Information System, Machine Learning, KPI, Business Intelli-
gence.

4
Table des matières

Introduction générale 12

I ÉTAT DE L’ART 15

1 Les systèmes d’informations décisionnels 16


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1 Informatique décisionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2 Système d’information décisionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.1 Objectifs des SID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.2 Système d’information décisionnel VS systèmes d’information opération-
nels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Architecture d’un système d’information décisionnelle : . . . . . . . . . . . . . . . 18
1.4 Les outils de restitution et d’analyse de données : . . . . . . . . . . . . . . . . . . . 19
1.4.1 Tableau de bord : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4.2 Objectifs d’un tableau de bord : . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4.3 Types de tableau de bord : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.4 Les indicateurs de performances . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.5 Reporting : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5 Les entrepôts de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.1 Objectifs d’un entrepôt de données . . . . . . . . . . . . . . . . . . . . . . 21
1.6 La modélisation dimensionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6.1 Modèles de modélisation conceptuelle . . . . . . . . . . . . . . . . . . . . . 23
1.6.2 Architectures On-Line Analytical Processing . . . . . . . . . . . . . . . . . 25
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2 Apprentissage automatique 26
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1 L’apprentissage automatique (Machine Learning) . . . . . . . . . . . . . . . . . . . 26
2.2 Types de l’apprentissage automatique . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1 Apprentissage supervisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5
2.2.2 L’apprentissage non supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.3 L’apprentissage par renforcement . . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Algorithmes d’apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.1 Arbres de décision (Decision Tree) . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.2 Les forêts aléatoires (Random Forests) . . . . . . . . . . . . . . . . . . . . . 31
2.3.3 XGBoost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4 Comparaison entre les algorithmes d’apprentissage supervisé : . . . . . . . . . . . 33
2.5 Le processus de l’apprentissage automatique . . . . . . . . . . . . . . . . . . . . . . 33
2.6 Les métriques d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6.1 Matrice de confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6.2 Précision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6.3 Rappel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6.4 Taux de succès (exactitude) et taux d’erreur . . . . . . . . . . . . . . . . . . 35
2.6.5 ROC AUC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

II Étude préliminaire 38

3 Étude de l’existant 39
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Fiche d’identité de DJEZZY : . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.2 Historique : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.3 Mission de Djezzy : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.4 Les valeurs de DJEZZY : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.5 Présentation des départements de DJEZZY : . . . . . . . . . . . . . . . . . . 41
3.1.6 Département de Transmission (Département d’accueil : . . . . . . . . . . . 42
3.2 Étude de l’existant métier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.1 Architecture des réseaux mobiles . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.2 Les différents types de support de transmission . . . . . . . . . . . . . . . . 45
3.2.3 Transmission Microwave : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 Étude de l’existant informatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6
4 Étude des besoins : 49
4.1 Présentation des techniques de collecte d’informations : . . . . . . . . . . . . . . . 49
4.1.1 Démarche de collecte des besoins : . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Recueil des besoins : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.1 Les acteurs du système : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.2 Besoins techniques : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Processus explicatif de la solution proposée . . . . . . . . . . . . . . . . . . . . . . . 51
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5 Conception de la solution 54
5.1 Le suivi du trafic des liens Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.2 Les dimensions du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.3 Le modèle en flocon de neige de l’activité « suivi du trafic des liens Port » . 57
5.2 Le suivi du trafic des liens Physical Link Aggregation . . . . . . . . . . . . . . . . . 58
5.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.2 Le modèle en flocon de neige de l’activité « suivi du trafic des liens PLA » . 59
5.3 Le calcule des capacités des liens de transmission . . . . . . . . . . . . . . . . . . . 59
5.3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.2 Le modèle en flocon de neige de l’activité « Le calcul des capacités des liens
de transmission » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4 Algorithmes utilisés dans la recherche du path . . . . . . . . . . . . . . . . . . . . . 62
5.5 Conception du modèle de prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.5.1 Description des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.5.2 Prétraitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6 Réalisation et déploiement de la solution 70


6.1 Les technologies et outils de développement utilisés . . . . . . . . . . . . . . . . . . 70
6.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.1.2 Environnements de développement . . . . . . . . . . . . . . . . . . . . . . . 71
6.1.3 Environnements logiciels : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 Réalisation de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.2.1 Implantation de l’entrepôt de données . . . . . . . . . . . . . . . . . . . . . 74
6.2.2 L’alimentation de l’entrepôt de données . . . . . . . . . . . . . . . . . . . . 75
6.2.3 L’évaluation du modèle de prédiction . . . . . . . . . . . . . . . . . . . . . . 76
6.3 L’interface de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.3.1 La page « Signin » and « Signup » : . . . . . . . . . . . . . . . . . . . . . . . 78
6.3.2 La page principale « Home » : . . . . . . . . . . . . . . . . . . . . . . . . . . 79

7
6.3.3 Page « Dashboard » : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.3.4 La page « Paths » : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3.5 La page "PathResult" : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3.6 La page « Prédiction » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.3.7 La page « Update » : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Conclusion générale et perspectives 92

Bibliographie 95

8
Table des figures

1.1 L’architecture d’un système décisionnel[14] . . . . . . . . . . . . . . . . . . . . . . 18


1.2 Représentation du Modèle en étoile [12] . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3 Représentation du Modèle en flocon [12] . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4 Représentation du Modèle en constellation . . . . . . . . . . . . . . . . . . . . . . . 24

2.1 Représentation du processus du ML supervisée [25] . . . . . . . . . . . . . . . . . . 27


2.2 Représentation du processus du ML non supervisée . . . . . . . . . . . . . . . . . . 28
2.3 Représentation du processus du ML par renforcement . . . . . . . . . . . . . . . . 29
2.4 Processus d’un arbre de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5 Processus Random Forests [21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6 Principe de XGBoost [23] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7 Le processus de l’apprentissage automatique . . . . . . . . . . . . . . . . . . . . . . 33
2.8 Matrice de confusion [28] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.9 Représentation La courbe ROC [30] . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1 Organigramme de Djezzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41


3.2 Architecture des réseaux mobiles[33] . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Représentation d’un câble torsadé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Représentation d’un câble coaxial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5 Représentation d’une fibre optique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6 Représentation transmission par satellite . . . . . . . . . . . . . . . . . . . . . . . . 46
3.7 Représentation transmission par microwave . . . . . . . . . . . . . . . . . . . . . . 47

4.1 Architecture de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.1 Dimension Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55


5.2 Dimension Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3 Dimension Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4 Dimension ListePort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.5 Suivi du trafic des liens port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.6 Dimension PLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.7 Dimension ListePLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

9
5.8 suivi du trafic des liens PLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.9 Dimension Links MicroWave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.10 Dimension Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.11 Le calcule des capacités des liens de transmission . . . . . . . . . . . . . . . . . . . 62
5.12 Application du Label Encoding sur la variable changing type . . . . . . . . . . . . . 68

6.1 l’entrepôt de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74


6.2 Nettoyage de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.3 Remplissage de la table Links microwave . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4 Partition des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.5 La page « Signin » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.6 La page « Sign up » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.7 La page principale « Home » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.8 La page « Links » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.9 Page « Dashboard » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.10 Barre d’informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.11 Diagramme à barres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.12 Graphique en courbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.13 Diagramme circulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.14 Page « Dashboard » de la wilaya Mascara . . . . . . . . . . . . . . . . . . . . . . . 85
6.15 Barre d’informations de la wilaya de « Mascara » . . . . . . . . . . . . . . . . . . . 86
6.16 Diagramme à barres de la wilaya « MASCARA » . . . . . . . . . . . . . . . . . . . 86
6.17 Graphique en courbe de la wilaya « MASCARA » . . . . . . . . . . . . . . . . . . . 87
6.18 Diagramme circulaire de la wilaya « MASCARA » . . . . . . . . . . . . . . . . . . 87
6.19 La page « Paths » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.20 La page "PathResult" option de « GNE » . . . . . . . . . . . . . . . . . . . . . . . . 89
6.21 La page "PathResult" Option « path » . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.22 La page « Prédiction » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.23 Affichage résultat Prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.24 La page « Update » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

10
Liste des tableaux

1.1 Différence entre les SID et les SIO [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1 Tableau comparatif des algorithmes d’apprentissage supervisé . . . . . . . . . . . . 33


2.2 Interprétation des valeurs de l’AUC . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.1 Tableau descriptif de la dimension temps . . . . . . . . . . . . . . . . . . . . . . . . 55


5.2 Tableau descriptif de la dimension Lieu . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3 Tableau descriptif de la Dimension Port . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4 Tableau descriptif de la Dimension ListePort . . . . . . . . . . . . . . . . . . . . . . 57
5.5 Tableau descriptif de la Dimension PLA . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.6 Tableau descriptif de la Dimension ListePLA . . . . . . . . . . . . . . . . . . . . . . 59
5.7 Tableau descriptif de la Dimension Links MicroWave . . . . . . . . . . . . . . . . . 60
5.8 Tableau descriptif de la Dimension Capacity . . . . . . . . . . . . . . . . . . . . . . 61
5.9 Les caractéristiques des machines utilisées pour l’exécution . . . . . . . . . . . . . . 66

6.1 Les caractéristiques des machines utilisées pour l’exécution . . . . . . . . . . . . . . 70


6.2 Le réglage des paramètres pour chaque algorithme . . . . . . . . . . . . . . . . . . . 77
6.3 Comparaison des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

11
Liste des Abréviations

AUC Area Under the Curve


BI Business Intelligence
DW Data Warehouse
ED Entrepôt de données
ETL Extract-Transform-Load
FN False Negative
FP False Positive
GNE Gateway Network Element
HOLAP Hybrid Online Analytical Processing
IA Intelligence Artificielle
KPI Key performance Indicator
ML Machine Learning
MOLAP Multidimensional Online Analytical Processing
NMS Network Management System
OLAP On-Line Analytical Processing
OLTP On-Line Transaction Processing
PLA Physical Link Aggregation
ROC Receiver Operating Characteristic
ROLAP Relational Online Analytical Processing
SIO Système d’information opérationnel
SID Système d’information Décisionnel
TN True Negative
TP True Positive

12
Introduction générale

Dans un monde en constante évolution technologique, la demande croissante de connectivité a un


impact significatif sur les opérateurs de télécommunication, tels que l’opérateur DJEZZY. La com-
munication sans fil est devenue essentielle dans notre ère actuelle, tant sur le plan professionnel
que personnel. Afin de répondre à cette demande croissante et garantir des performances optimales,
DJEZZY doit améliorer les capacités et les performances de leurs réseaux de transmission.

En effet la transmission micro wave revêt une importance capitale au sein des réseaux mobiles, as-
surant une connectivité sans fil efficace et fiable entre les diverses stations de base et les nœuds du
réseau. Les micro-ondes sont utilisées pour transmettre les signaux de communication à haute fré-
quence sur de longues distances, en utilisant des faisceaux directionnels. Cela permet d’établir des
liaisons point à point entre les sites éloignés, assurant ainsi la couverture étendue du réseau mobile.

Avec la croissance continue du réseau mobile de Djezzy, qui comprend désormais les technologies
3G et 4G, ainsi qu’une augmentation significative du nombre de sites (plus de 5600 sites 4G ET 6500
3G), la gestion efficace du réseau et des liens de transmission devient une nécessité incontournable.
Le réseau de transmission actuel compte plus de 8400 liens micro-ondes, ce qui représente une in-
frastructure complexe à gérer. Dans ce contexte, il est impératif de développer un logiciel dédié à
la gestion des liens et à la visualisation du réseau. Ce logiciel permettra d’optimiser l’utilisation des
ressources, de surveiller les performances des liens, d’identifier rapidement les éventuels problèmes
et de prendre des mesures préventives pour assurer la continuité des services. La visualisation du
réseau facilitera la compréhension globale de l’infrastructure, offrant ainsi une meilleure planifica-
tion et prise de décision.

Le principal objectif de ce mémoire de fin d’étude est de mettre en place une solution intelligente et
automatisée pour la gestion et le monitoring des liens de transmission dans le service de transmis-
sion de l’opérateur DJEZZY.

Une des composantes clés de cette solution sera la création d’un tableau de bord de gestion du
trafic des liens de transmission. Ce tableau de bord fournira une vue d’ensemble en temps réel de
l’état des liens de transmission.De plus, il permettra de visualiser le chemin emprunté par les liens
de transmission, permettant aux ingénieurs et aux responsables de prendre des décisions éclairées
pour optimiser les performances du réseau.

Cette solution vise à améliorer les capacités et les performances du réseau en détectant rapidement
les problèmes potentiels et en prédisant les actions d’engineering nécessaires pour atteindre les
objectifs de capacité fixés. Grâce à l’utilisation de techniques avancées de machine learning, cette
solution permettra une prise de décision proactive pour maintenir la qualité de service et l’efficacité
des liens de transmission.

13
Afin de présenter notre travail, le présent mémoire est organisé en trois parties et se présente comme
suit :

Partie 1 : Synthèse bibliographique


Cette partie est divisée en deux chapitres présentés comme suit :
• Chapitre 1 : Les systèmes d’informations décisionnels
Dans ce chapitre, nous présenterons les définitions et les concepts de bases relatifs à Business
Intelligence et à la modélisation dimensionnelle.
• Chapitre 2 : Apprentissage automatique
Dans ce chapitre, nous présentons quelques concepts de base relatifs au Machine Learning
Partie 2 : Étude de l’existant
Cette partie est divisée en deux chapitres présentés comme suit :
• Chapitre 1 : Étude de l’existant
Dans ce chapitre, nous présenterons l’organisme d’accueil, sa structure organisationnelle
ainsi que l’étude de l’existant métier et informatique au sein de l’entreprise.
• Chapitre 2 : Étude des besoins
Dans ce chapitre, nous présentons une synthèse de la collecte des besoins des utilisateurs,
ainsi que son déroulement, la problématique et les objectifs visés ,ainsi que l’architecture de
la solution proposée.
Partie 3 : Conception et réalisation de la solution
Cette partie est divisée en deux chapitres présentés comme suit :
• Chapitre 1 : Conception de la solution
Dans ce chapitre, nous présenterons la conception de la partie d’entreposage de données de
notre solution.
• Chapitre 2 :Réalisation et déploiement de la solution
Dans ce chapitre, nous présenterons la mise en œuvre de la solution en présentant les outils
utilisés et les différentes étapes de mise en œuvre.

14
Première partie

ÉTAT DE L’ART

15
Chapitre 1

Les systèmes d’informations décisionnels

Introduction
Durant les dernières années et avec le développement de la technologie des bases de données, les
informations sont devenues une ressource stratégique pour les entreprises.
Afin de pouvoir faire face à une concurrence intense sur le marché, les entreprises ont donc dû
utiliser des méthodes de récupération pour analyser et traiter ces données. C’est le défi d’un sys-
tème d’information décisionnel, qui doit collecter des données de diverses sources pour fournir des
résultats pertinents qui aident les décideurs à prendre les bonnes décisions au bon moment.
Ce chapitre vise à fournir les informations nécessaires sur la littérature liée à la Business Intelligence
(BI). Il introduira des théories sur l’entrepôt de données et la BI.

1.1 Informatique décisionnelle


L’informatique décisionnelle, également appelée la Business Intelligence (BI), est une technologie qui
consiste à préparer, explorer, gérer et visualiser des données. Son but est de permettre aux utilisateurs
finaux d’extraire des informations pertinentes à partir de données brutes afin de faciliter la prise de
décision on se basant sur les données dans divers secteurs d’activité. Les outils et les processus de la
BI sont spécialement conçus pour aider les entreprises à utiliser leurs données de manière optimale
et à prendre des décisions éclairées.[2]

16
1.2 Système d’information décisionnel
Un Système d’information Décisionnel (SID) est généralement défini comme étant :

« Un ensemble d’outils technologiques, méthodiquement assemblés, et déployés en parfaite cohérence


avec la stratégie d’entreprise préalablement élaborée. Permet de délivrer les informations pertinentes à
chaque manager afin qu’il puisse prendre le plus efficacement possible les meilleures décisions selon son
contexte d’action, ses prérogatives et ses objectifs tactiques et stratégiques. » [3].

Alors, nous pouvons définir un système d’information décisionnel comme un ensemble de moyens,
outils et méthodes qui permettent de collecter et de consolider des données d’entreprise, et de les
orienter vers la production de tableaux de bord et d’outils de gestion. Ces systèmes visent à faciliter
le processus décisionnel et permettent aux managers d’avoir un aperçu de l’activité de l’entreprise.
On peut considérer ce système comme un pilier de la BI

1.2.1 Objectifs des SID


Les systèmes d’informations décisionnel permet principalement de [5] :
— Améliorer la qualité des décisions prises par les décideurs : pour cela il convient de bien
comprendre son environnement, d’ajuster ses interactions avec l’environnement en faisant
les meilleurs choix de cibles et d’actions.

— Optimiser les choix dans des problèmes possédant un grand nombre de détermi-
nants mesurables : il s’agit ici de regrouper les données et les méthodes de traitement dans
des classes, puis restreindre le choix à une catégorie bien définie.

— Aider les décideurs à prendre le contrôle de la situation, peu importe l’évolution du


contexte Probable : Cela est dû à sa capacité à s’adapter à l’environnement entreprises et
disposent des informations nécessaires pour réagir avant leurs concurrents.

1.2.2 Système d’information décisionnel VS systèmes d’information opé-


rationnels
Les systèmes d’information opérationnels OLTP (On-Line Transaction Processing) sont conçus pour
soutenir les opérations de l’entreprise quotidiennes et répétitives, telles que l’insertion, la modifica-
tion et la suppression de données.

Cependant, à mesure que le volume de données augmente, les systèmes opérationnels peuvent ne
plus être en mesure de répondre aux besoins des dirigeants qui cherchent des informations synthéti-
sées pour l’analyse et la prise de décisions. Cela a conduit à l’apparition des systèmes d’information
de type OLAP (On-Line Analytical Processing).

Dans ce qui suit, un tableau comparatif est présenté pour mettre en évidence les différences entre
les systèmes opérationnels et décisionnels.

17
Critère Système opérationnel Système décisionnel
Objectif Exécution de processus métiers Évaluation de la performance
des processus métier
Mode d’interaction entre Insertion,mise à Sélection des données
les utilisateurs et la base jour,suppression et sélec-
de données tion des données
Périmètre d’interaction Transaction unitaires Sélection des données en masse
entre utilisateurs et la
base de données
Type d’utilisation prédéfinie,prévisible Non prédéfinie,imprévisible
Complexité des requêtes Faible Élevée
des utilisateurs
Optimiser pour La performance des transactions La performance des requêtes de
unitaires sélection des données en masse
Fréquence de mise à jour Mise à jour en temps réel, au fur Mise à jour périodique en mode
de la base de données et à mesure de l’exécution des « batch »
processus métiers
Historique des données Données courantes Données courantes mais aussi et
utilisées surtout historique
Degré de normalisation hautement formalisées (3eme Non normalisée
des données forme normale)

Table 1.1 – Différence entre les SID et les SIO [7].

1.3 Architecture d’un système d’information décisionnelle :


Dans la littérature, il existe plusieurs architectures pour les systèmes d’information décisionnels, car
jusqu’à présent les chercheurs n’ont pas défini une architecture standard et idéale, et ceci est dû au
fait que l’architecture doit être adapté aux situations et aux besoins.
Cependant, dans ce qui suit Nous allons présenter un exemple d’architecture pour un système d’in-
formation décisionnelle

Figure 1.1 – L’architecture d’un système décisionnel[14]

18
Comme on peut le voir dans la figure, elle est constituée de quatre couches logicielles, à savoir : l’ETL
(Extract, Transform and Load tool), l’entrepôt de données, le cube OLAP et les outils de visualisation
OLAP.[5]

— Les sources de données : elles sont distribuées, variées, et hétérogènes. Elles peuvent être
internes ou externes à l’organisme, par exemple : bases de productions, rapports, bases des
partenaires. . .etc.
— Le processus ETL : il permet le nettoyage, l’intégration et le chargement périodiques de
toutes les données au sein de l’entrepôt de données (ED) nécessaires pour l’analyse.
— L’entrepôt de données : c’est le lieu de stockage centralisé, il contient les données orientées
métier. Une fois ces données stockées dans le Data Warehouse (DW), on va pouvoir créer des
magasins de données appelés : data marts.
— Les magasins de données (data marts) : ils sont des extraits de l’ED. Les données sont
organisées de manière adéquate pour permettre des analyses rapides à des fins de prise de
décision.
— Le cube OLAP : il permet d’accéder rapidement et interactivement à des données stockées
via une large variété de vues possibles d’informations.
— Les outils de visualisation de données : permettent de visualiser les données selon des axes
d’analyses. L’information est visualisée via des interfaces interactives et fonctionnelles dé-
diées à des décideurs souvent non informaticiens (directeurs, chefs de services, managers. . .).

1.4 Les outils de restitution et d’analyse de données :


Les outils de restitution de données constituent la couche la plus importante pour les décideurs, c’est
à ce niveau qu’un simple utilisateur peut exploiter le système décisionnel mit en place et matérialiser
les résultats. De nos jours, la technologie existante offre des outils d’analyse et de restitution très
puissants et accessibles.

Nous présentons dans ce qui suit les outils les plus importants et les plus utilisés au sein des entre-
prises.

1.4.1 Tableau de bord :


Selon Alain Fernandez, un tableau de bord est un outil de mesure de la performance qui facilite la
gestion proactive d’une ou plusieurs activités dans le cadre d’une démarche d’amélioration conti-
nue,qui permet de réduire l’incertitude et facilite la prise de décision en fournissant des informations
pertinentes.[3]

1.4.2 Objectifs d’un tableau de bord :


Le tableau de bord a pour fonction de fournir au manager les informations nécessaires à la prise de
décision. Lorsqu’il est bien conçu et mis en œuvre, le tableau de bord permet principalement de :

• Suivre en temps réel l’évolution des résultats de l’activité d’une entreprise et d’anticiper sa
situation future.
• Mesurer l’écart entre les résultats obtenus et les objectifs fixés par les décideurs.

19
• Améliorer la communication entre les différents niveaux hiérarchiques de l’entreprise.
• Identifier les nouveaux risques et opportunités pour l’entreprise.

1.4.3 Types de tableau de bord :


Il existe trois principaux types de tableaux de bord :

Tableaux de bord opérationnels :

Représentent le type le plus courant de tableaux de bord, où les métriques sont mises à jour en
temps réel pour montrer les données liées aux opérations quotidiennes. Son objectif principal est
de fournir une vue instantanée et complète des performances, ce qui nécessite l’inclusion d’une
grande quantité de détails sans trop de complexité. L’accent est mis sur la clarté et la concision, en
présentant les informations de manière facilement compréhensible et accessible, afin de soutenir la
prise de décision rapide et efficace .

Tableaux de bord analytiques :

Permet d’utiliser les données du passé pour identifier les tendances qui peuvent influencer les déci-
sions futures. Les utilisateurs devraient être en mesure d’interagir avec les données sur un tableau
de bord analytique, de sorte qu’un grand nombre d’entre eux intègrent des tableaux croisés et des
analyses détaillées. L’auditoire idéal pour visualiser les tableaux de bord analytiques sont les ana-
lystes de bases de données, car ils ont généralement besoin d’un niveau de compréhension qu’un
utilisateur professionnel typique ne possède peut-être pas.

Tableaux de bord stratégiques :

Permet de suivre les performances par rapport aux indicateurs de performance clés, afin de mieux
aligner les actions sur la stratégie. En partageant ces informations avec l’ensemble de l’organisation,
le tableau de bord stratégique favorise la transparence et permet à chacun de comprendre comment
ses actions contribuent aux objectifs stratégiques.

1.4.4 Les indicateurs de performances


L’indicateur de performance, KPI (Key performance Indicator), est parmi les composantes princi-
pales d’un tableau de bord. Il se définit comme étant : Une mesure ou un ensemble de mesures bra-
quées sur un aspect critique de la performance globale de l’organisation. [3]

Il existe trois types de KPI selon Alain Fernandez, classés par type d’information a transmettre et
par l’objectif pour lequel ils ont été utilisés. Ces classes sont :

1. Indicateurs d’alerte : ils signalent la présence d’un dysfonctionnement, ou d’un état anor-
mal du système impliquant une action corrective, en se basant sur un seuil prédéfini.
Exemple : la rupture de stocks d’un article ou produit.
2. Indicateurs d’efficience et d’équilibrage : ils permettent de mesurer la situation actuelle
du système par rapport aux objectifs fixés, ils peuvent induire des ajustements sur les objec-
tifs ou sur les stratégies.
Exemple : comparaison du nombre de clients avec l’objectif fixé.

20
3. Indicateurs d’anticipation : ils fournissent des renseignements sur les besoins futurs, et Ils
permettent d’anticiper et d’envisager les choix et les décisions.

1.4.5 Reporting :
La raison d’être de la Business Intelligence (BI) et des entrepôts de données (datawarehouse) réside
dans la nécessité de présenter les résultats des traitements effectués sur les données, de manière
variée et à l’aide d’outils de restitution. Les résultats peuvent prendre la forme de fichiers excel, de
rapports, de graphiques, de tableaux de bord ou de résultats de requêtes d’interrogation. Ces résul-
tats sont généralement axés sur la gestion et contiennent des informations résumées ou calculées de
différentes manières. Cette partie est particulièrement intéressante pour les décideurs, car c’est à ce
stade qu’ils interviennent. Par conséquent, toutes les données pertinentes doivent être présentes et
mises en corrélation afin de fournir une vision globale et cohérente des informations nécessaires à
la prise de décision.[10]

1.5 Les entrepôts de données


Selon Ralph Kimball : « Le Data Warehouse est un système qui extrait, traite et rend conforme des
données sources vers un espace de stockage multidimensionnel. Il permet ainsi la mise en oeuvre
de l’interrogation et de l’analyse à des fins d’aide à la prise de décision » [7 ]

Une autre définition est donnée par Bill Inmon connu comme le père de l’ED, un entrepôt de données
est : « Une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées
pour le support d’un processus d’aide à la décision ».[4]

D’après B. Inmon, un entrepôt de données possède les caractéristiques suivantes :


• Orienté sujet : les données sont organisées et rassemblées dans l’entrepôt de données par
sujet selon les métiers de l’entreprise pour permettre une vision globale de ses différentes
activités.
• Intégré : les données de l’entrepôt de données provenant de sources multiples et hétérogènes
doivent être intégrées, ce qui consiste à résoudre les problèmes d’hétérogénéité des systèmes
de stockage.
• Non volatile : les données stockées dans l’entrepôt de données sont utilisées en mode de
consultation et ne peuvent pas être modifiées où supprimées. Les données sont statiques, en
lecture seule et conservées pour les prochains rapports.
• Historisé : analyser l’évolution des données dans le temps permet d’avoir une vue historique
de l’entreprise et de ses activités.

1.5.1 Objectifs d’un entrepôt de données


L’objectif principal des entrepôts de données est de supporter la prise de décision en permettant une
meilleure exploitation des informations des systèmes opérationnels des entreprises. Néanmoins, il
existe d’autres objectifs liés aux gestionnaires et aux décideurs des entreprises, citées dans [11] :

Rendre les informations d’une organisation facilement accessibles : le contenu de l’entrepôt


de données doit être compréhensible, intuitif et évident pour l’utilisateur professionnel. Le contenu

21
de l’entrepôt de données doit être étiqueté de manière significative. Les outils qui accèdent à l’entre-
pôt de données doivent être simples et faciles à utiliser. Ils doivent également renvoyer les résultats
de la requête à l’utilisateur avec des temps d’attente minimaux.

Être adaptatif et résilient au changement : nous ne pouvons tout simplement pas éviter le chan-
gement. Les besoins des utilisateurs, les conditions commerciales, les données et la technologie sont
tous soumis aux changements de temps. L’entrepôt de données doit être conçu pour gérer ce chan-
gement inévitable.

Présenter les informations de l’organisation de manière cohérente : une information cohé-


rente signifie une information de haute qualité. Cela signifie que toutes les données sont comptabi-
lisées et complètes. La cohérence implique également que les définitions communes pour le contenu
de l’entrepôt de données sont disponibles pour les utilisateurs.

Servir de base pour une meilleure prise de décision : l’entrepôt de données doit contenir les
bonnes données pour faciliter la prise de décision.

1.6 La modélisation dimensionnelle


D’après Kimball la modélisation dimensionnelle est une méthode de conception logique, qui vise
à présenter les données sous forme standardisée, intuitive et qui permet des accès hautement per-
formants ou chaque modèle dimensionnel se compose d’une table faits et un ensemble de tables
dimensionnelles. [7].

On définit les différents concepts liés à la modélisation dimensionnelle :

Table fait : le fait est le sujet principal de l’analyse, la table se compose de clés étrangères des tables
de dimension et des métriques liées au fait étudié qu’on appelle mesures.

Table dimension : la dimension est l’axe selon lequel on veut étudier le fait, et les diverses carac-
téristiques de la dimension sont les attributs de la table.

Les mesures : Une mesure est un indicateur d’analyse de type numérique et cumulable, qui est
accompagnée d’un ensemble de fonctions d’agrégation qui permettent de l’agréger en fonction des
axes d’analyse [7]

22
1.6.1 Modèles de modélisation conceptuelle
A partir des faits et des dimensions, il est possible d’établir une structure de données simple qui
correspond au besoin de la modélisation dimensionnelle. Nous distinguons trois types de modèles :

1. Modèle en étoile : c’est le paradigme de modélisation simple et commun dans le quel l’en-
trepôt de données comprend une table de faits et plusieurs tables de dimensions. Le schéma
imite une étoile, avec une table de dimension présentée dans un motif étalé entourant la table
de faits centrale. La table des dimensions en fait est connectée à la table de dimension via la
clé primaire et la clé étrangère. (voir Figure 1.2) [15]

Figure 1.2 – Représentation du Modèle en étoile [12]

2. Modèle en flocon : est un type de schéma en étoile qui inclut la forme hiérarchique des
tables dimensionnelles. Dans ce schéma, il existe une table de faits composée de différentes
tables de dimension et de sous-dimension reliées par des clés primaires et étrangères à la table
de faits. Il porte le nom de flocon de neige car sa structure ressemble à un flocon de neige.
(voir Figure 1.3)[15]

23
Figure 1.3 – Représentation du Modèle en flocon [12]

3. Modèle en constellation : est un ensemble de schémas en étoiles et/ou en flocon dans les-
quels les tables de faits se partagent certaines tables de dimensions. C’est de cette accumula-
tion que découle un modèle en constellation. (voir Figure 1.4)[15]

Figure 1.4 – Représentation du Modèle en constellation

24
1.6.2 Architectures On-Line Analytical Processing
Il existe plusieurs architectures d’implémentation d’un modèle multidimensionnel, selon la façon
dont le cube de données est stocké. Ces architectures sont :[16]

OLAP relationnel (ROLAP) : cette architecture utilise une base de données relationnelle pour sto-
cker les données, ce qui permet une plus grande flexibilité dans la modélisation des données. Les
données sont généralement stockées dans des tables de base de données et sont accessibles via des
requêtes SQL.

OLAP multidimensionnel (MOLAP) : dans cette architecture, les données sont stockées sous
forme multidimensionnelle, ce qui permet des analyses rapides et interactives. Les données sont gé-
néralement stockées dans un cube OLAP et sont accessibles via des interfaces graphiques.

Hybrid OLAP (HOLAP) : cette architecture combine les avantages de MOLAP et ROLAP en uti-
lisant à la fois des cubes OLAP et des tables de base de données relationnelles pour stocker les
données. Cette approche permet une meilleure performance pour les données agrégées tout en of-
frant la flexibilité de ROLAP pour les données plus détaillées.

Conclusion
Au cours de ce chapitre nous avons vu l’intérêt de la BI, aborder les notions fondamentales de data-
warehouse et la visualisation de données.
Afin d’exploiter pleinement le potentiel des données de manière plus intelligente, il est essentiel de
se tourner vers les techniques et les algorithmes du Machine Learning (ML),que nous présenterons
dans le chapitre 2.

25
Chapitre 2

Apprentissage automatique

Introduction
L’émergence du concept d’intelligence artificielle (IA) trouve ses origines dans les premiers tra-
vaux d’Alan Turing qui ont soulevé la question de savoir si une machine peut penser. Au cours des
dernières années, l’intelligence artificielle est devenue dominante dans divers domaines et a même
réussi à remplacer les êtres humains par des robots dans certaines tâches. Dans ce chapitre, nous
présenterons l’apprentissage automatique, qui est un sous-domaine de l’intelligence artificielle, ainsi
que ses différents types et problèmes, en abordant en détaille quelques algorithmes.

2.1 L’apprentissage automatique (Machine Learning)


Arthur Samuel l’un des pionniers de l’intelligence artificielle et du domaine du Machine Learning
(ML) a défini le Machine Learning comme suit :

« Le champ d’étude qui donne aux ordinateurs la capacité d’apprendre sans être explicitement program-
més.»

Cette définition met en avant l’idée que le Machine Learning permet aux ordinateurs d’acquérir des
connaissances et de s’améliorer en utilisant des techniques d’apprentissage automatique plutôt que
d’être programmés de manière explicite pour effectuer une tâche spécifique. L’accent est mis sur la
capacité de l’ordinateur à apprendre à partir des données et à adapter son comportement en fonction
de cette expérience.

2.2 Types de l’apprentissage automatique


En général, il y a trois types d’apprentissage automatique : l’apprentissage supervisé, l’apprentissage
non supervisé et l’apprentissage par renforcement. Cependant, les deux principaux types largement
utilisés aujourd’hui sont l’apprentissage supervisé et l’apprentissage non supervisé. Les algorithmes
utilisés dans ces types sont catégorisés en fonction du mode d’apprentissage sur les données. [18]

26
2.2.1 Apprentissage supervisée
L’apprentissage supervisé consiste à entraîner un modèle à partir d’exemples étiquetés afin qu’il
puisse prédire les sorties correctes pour de nouvelles entrées non vues précédemment.

Figure 2.1 – Représentation du processus du ML supervisée [25]

il y deux types d’apprentissage supervisé :

1. La classification : la classification consiste à trouver le lien entre une variable d’entrée (X)
et une variable de sortie discrète (Y).
2. Régression : la régression consiste à prédire une valeur continue pour la variable de sortie.

Plus formellement, étant donné un ensemble de données D, décrit par un ensemble de variables x,

un algorithme d’apprentissage supervisé va trouver une fonction de mappage f en entrée x et la


variable à prédire y

y = f (x) (2.1)

Voici quelques-uns des algorithmes d’apprentissage supervisé les plus importants :

• Régression linéaire.

• K plus proches voisins.

• Régression logistique.

• Machines à vecteurs de support (SVM).

• Arbres de décision et forêts aléatoires.

27
2.2.2 L’apprentissage non supervisé
L’apprentissage non supervisé est une approche où l’algorithme explore les données sans étiquettes
préalables, dans le but de découvrir des structures, des regroupements ou des motifs significatifs
(voir figure 2.2). C’est une méthode exploratoire qui permet de générer des connaissances à partir
des données brutes sans aucune guidance externe.[19]

Figure 2.2 – Représentation du processus du ML non supervisée

On prend comme exemple la reconnaissance d’images. L’algorithme va pouvoir regrouper des images
de voiture dans un cluster et des immeubles dans un autre cluster ainsi de suite, sans la structure ou
le concept de l’objet ne soit prédéfinit qui est dans notre cas une voiture et un immeuble ; il saura
seul que le point en commun entre les images de voitures est la roue, et qu’un bâtiment a des forme
plus droite.

Voici quelques-uns des algorithmes d’apprentissage non supervisé les plus importants :

• Clustering

— K-Means

— Analyse des clusters hiérarchiques (HCA)

• Apprentissage des règles d’association :

— Apriori

28
2.2.3 L’apprentissage par renforcement
L’apprentissage par renforcement est une méthode qui consiste à optimiser de manière itérative un
algorithme uniquement à partir des actions qu’il entreprend et de la réponse associée de l’environ-
nement dans lequel il évolue.(voir la figure 2.3) [26]

Figure 2.3 – Représentation du processus du ML par renforcement

Cette méthode permet aux machines et aux agents de déterminer automatiquement le comporte-
ment idéal dans un contexte spécifique pour maximiser ses performances. Une simple rétroaction
de récompense, connue sous le nom de signal de renforcement, est nécessaire pour que l’agent ap-
prenne quelle action est la meilleure.

2.3 Algorithmes d’apprentissage supervisé


Il existe plusieurs algorithmes d’apprentissage automatique. Dans cette section, nous allons exa-
miner de manière détaillée les différents algorithmes utilisés dans notre sujet qui est la prédiction
d’action d’engineering sur les liens de transmission.

2.3.1 Arbres de décision (Decision Tree)


Une méthode de classification et de régression basée sur les règles de décision si-alors-sinon permet
de regrouper une population d’individus homogènes selon un objectif fixé et de prédire un résultat à
partir des données connues sur le problème. L’arbre de décision est constitué des éléments suivants :
[24]

— La racine :les instances à classer sont insérées dans l’arbre à partir de la racine, qui effectue
la première séparation des données d’entraînement.

— Les nœuds internes :ils portent sur un attribut qui permet de répartir les éléments de ma-
nière homogène entre les différents fils de ce nœud.

29
— Les branches : elles relient un nœud à ses fils et représentent les valeurs de l’attribut du
nœud.

— Les feuilles : elles représentent les prédictions sur les données à classer.

Figure 2.4 – Processus d’un arbre de décision

Pour construire un arbre de décision on peut citer plusieurs algorithmes parmi lesquels l’algorithme
CART , qui est utilisé pour générer à la fois des arbres de décision de classification et de régression.
Nous nous concentrerons ici sur la partie classification.[17]

L’algorithme CART utilise le critère de l’indice de Gini pour diviser un nœud en sous-nœuds. Il com-
mence avec l’ensemble d’apprentissage en tant que nœud racine, puis divise avec succès le nœud
racine en deux. Ensuite, il divise les sous-ensembles en utilisant la même logique et continue de
diviser les sous-sous-ensembles de manière récursive jusqu’à ce qu’il ne puisse plus obtenir de sous-
nœuds purs ou atteigne un nombre maximal de feuilles dans un arbre en croissance.

L’indice de Gini (Gini index) est une mesure de l’impureté d’un ensemble de données. Il est calculé
comme suit :

c
(p2i ) (2.2)
X
Gini(p) = 1 −
i=1

où pi représente la proportion d’échantillons de la classe i avec c nombre total de classe . Plus l’indice
de Gini est proche de zéro, plus l’ensemble de données est pur.

30
2.3.2 Les forêts aléatoires (Random Forests)
Les forêts aléatoires (Random Forests) sont une généralisation des arbres de décision standard. Elles
se basent sur la méthode de Bagging d’arbres de décisions aléatoires non élagués, c’est-à-dire qu’elles
utilisent plusieurs prédicteurs pour atteindre une majorité. [L. Breiman, 2001]

Figure 2.5 – Processus Random Forests [21]

Les étapes suivantes expliquent le fonctionnement de l’algorithme de la forêt aléatoire :[20]


Étape 1 : Soit un ensemble d’apprentissage contenant N exemples, nous procédons à un échan-
tillonnage répété de sous-ensembles de données d’apprentissage de taille n, avec n < N. Cet échan-
tillonnage est effectué de manière aléatoire. Ce processus de sous-échantillonnage d’un ensemble
d’apprentissage est appelé agrégation bootstrap ou bagging.

Étape 2 : Si chaque exemple d’apprentissage contient M caractéristiques, nous sélectionnons un


sous-ensemble de taille m < M de ces caractéristiques pour former chaque estimateur. Ainsi, chaque
estimateur ne voit pas la totalité de l’ensemble d’apprentissage, mais seulement m caractéristiques
provenant de n exemples d’apprentissage.

Étape 3 : Cet algorithme construit un arbre de décision pour chaque ensemble d’entraînement.

Étape 4 : Un vote est effectué en moyennant les décisions prises par les arbres de décision.

Étape 5 : Enfin, la prédiction finale est déterminée en sélectionnant le résultat le plus voté.

31
2.3.3 XGBoost
XGBoost (eXtreme gradient Boosting), est un modèle de machine Learning performant et rapide,
basé sur l’apprentissage d’ensemble séquentiel et les arbres de décision, il est utilisé principalement
pour les problèmes de classification ou de régression. Avant de détailler le modèle XGBoost, nous
allons expliquer l’apprentissage d’ensemble, Bagging, Boosting et Gradient Boosting.[22]

• L’apprentissage d’ensemble : L’apprentissage d’ensemble (ou Ensemble Learning) est une com-
binaison de différents modèles pour créer un modèle plus puissant.
• Bagging : Une méthode ensembliste parallèle, cette méthode sous-échantillonne le dataset d’entraî-
nement en sous-ensembles et applique pour chacun d’eux un algorithme d’apprentissage. Chaque
classifieur prédit une classe pour chaque instance de test puis un vote majoritaire est établi pour
définir la classe finale.
• Boosting : Le Boosting est une méthode ensembliste séquentielle qui combine des algorithmes
de même type, Il produisait des modèles qui sont très dépendants les uns des autres, contrairement
au principe du Bagging. Cette méthode attribue des poids aux instances. Au fur des itérations, ce
poids est augmenté pour les individus mal classés et il est diminué pour ceux correctement classés.
Le nouveau classifieur est construit à partir des nouvelles instances pondérées en se focalisant sur
la bonne classification de ces dernières.
• Gradient Boosting : Le boosting de gradient (Gradient Boosting) est un cas particulier de boos-
ting dans lequel l’algorithme de descente de gradient minimise les erreurs.

Figure 2.6 – Principe de XGBoost [23]

Nous allons détailler le fonctionnement de l’algorithme XGBoost sachant qu’il utilise le boosting de
gradient. Considérons un classifieur faible initial f0 . Suite à l’optimisation, la technique de boosting
vise à introduire un nouveau classificateur faible f1 à partir de f0 en introduisions un terme de résidu
h:

f1 (x) = f0 (x) + h(x) (2.3)

De sorte que f1 soit plus performant que f0 . Nous effectuons l’action plusieurs fois. Nous dévelop-
pons un classificateur final F compliqué qui est une combinaison linéaire de fi , où chacun des fi est
associé à un poids αi :

32
n
(2.4)
X
F (x) = αi fi (x)
i=1

2.4 Comparaison entre les algorithmes d’apprentissage su-


pervisé :

Modèle Avantages Désavantages


Decision Tree Facile à comprendre et à inter- Tendance au surapprentissage si
préte,Prise de décision claire, Ges- l’arbre est trop profond, Sensibilité
tion des données manquantes aux variations des données d’en-
trée
Random Forests Bonne performance prédictive, Ca- Moins facile à interpréter par rap-
pacité à gérer des ensembles de port à un arbre de décision simple,
données complexes, Résistant au Temps de calcul plus long
bruit
XGBoost Haute précision prédictive,Bonne Configuration des hyperpara-
gestion des données bruitées mètres peut être complexe,eemps
d’apprentissage plus long ,Moins
interprétable que certains autres
algorithmes,Temps d’apprentis-
sage plus long

Table 2.1 – Tableau comparatif des algorithmes d’apprentissage supervisé

2.5 Le processus de l’apprentissage automatique


Afin de développer et gérer un modèle d’apprentissage automatique adapté à une mise en produc-
tion, il faut passer par les 5 étapes majeurs :[27]

Figure 2.7 – Le processus de l’apprentissage automatique

33
1. La collecte de données : C’est une étape essentielle dans le processus d’apprentissage au-
tomatique, car la qualité et l’étendue des données ont un impact direct sur les résultats du
modèle. Il est crucial de recueillir des données pertinentes et fiables, en provenance de di-
verses sources telles que des bases de données, des fichiers CSV, des API et des capteurs.
Cette collecte minutieuse permet d’obtenir une vue complète et représentative de l’environ-
nement d’apprentissage, garantissant ainsi la construction d’un modèle précis et performant.

2. Préparation des données :C’est une étape cruciale dans le processus d’apprentissage auto-
matique, visant à nettoyer et à transformer les données brutes en données propres et adaptées
à l’analyse. Cela implique la conversion des données catégorielles en données numériques, la
gestion des valeurs manquantes en les supprimant ou en les remplaçant,la normalisation des
données, la gestion des valeurs aberrantes et la création de nouvelles caractéristiques per-
tinentes. Le pré-traitement des données permet d’obtenir des données de meilleure qualité,
améliorant ainsi la performance et la fiabilité des modèles d’apprentissage automatique.

3. Entraînement du modèle :À cette étape, un algorithme d’apprentissage automatique est


utilisé pour entraîner un modèle en utilisant les données d’entraînement. Le modèle apprend
à partir des données et ajuste ses paramètres pour prédire les valeurs de sortie souhaitées

4. Évaluation du modèle :Une fois le modèle entraîné, il est évalué pour mesurer ses perfor-
mances et sa précision. Cela implique l’utilisation d’un ensemble de données de test indépen-
dant pour évaluer les prédictions du modèle et comparer les résultats avec les valeurs réelles.
Différentes mesures d’évaluation telles que l’exactitude, la précision, le rappel, le F1-score,
etc., peuvent être utilisées pour évaluer la performance du modèle.

5. Utilisation du modèle :Le modèle est appliqué aux données non étiquetées pour obtenir
des prédictions utiles et automatiser des tâches telles que la classification, la prédiction ou la
prise de décision.

2.6 Les métriques d’évaluation


Pour évaluer et optimiser la performance de notre modèle, nous utilisons des mesures et des in-
dicateurs qui nous renseignent sur la qualité de nos prédictions. Une approche courante consiste
à diviser notre ensemble de données en deux ensembles distincts : l’ensemble d’apprentissage, sur
lequel le modèle est entraîné, et l’ensemble de tests, sur lequel nous évaluons la performance du
modèle.

2.6.1 Matrice de confusion


La qualité d’un système de classification est mesurée à l’aide de la matrice de confusion. Les co-
lonnes de cette matrice représentent la répartition des objets dans les classes réelles. Les lignes
quant à elles, représentent la répartition des points dans les classes estimées par un algorithme de
classification[29]

34
Figure 2.8 – Matrice de confusion [28]

• Vrais positifs (TP/VP) : Les cas dans lesquels nous avons prédit OUI et la sortie réelle était
également OUI.

• Vrais négatifs (TN/VN) : Les cas dans lesquels nous avons prédit NON et la sortie réelle
était NON.

• Faux positifs (FP) :Les cas dans lesquels nous avons prédit OUI et la sortie réelle était NON.

• Faux négatifs (FN) :Les cas dans lesquels nous avons prédit NON et la sortie réelle était OUI.

2.6.2 Précision
La précision nous indique combien des cas correctement prédits se sont révélés positifs en réalité.
Cela détermine si notre modèle est fiable ou non.[29]
VP
P recision = (2.5)
V P + FP

2.6.3 Rappel
Le rappel (recall) nous indique combien de cas positifs réels nous avons réussi à prédire correcte-
ment avec notre modèle.[29]

VP
Rappel = (2.6)
V P + FN

2.6.4 Taux de succès (exactitude) et taux d’erreur


Le taux de succès (A) et le taux d’erreur (B) sont deux mesures souvent utilisées par la communauté
de ML. Le taux de succès (accuracy rate) désigne le pourcentage d’exemples bien classés par le clas-
sificateur, tandis que le taux d’erreur (error rate) désigne le pourcentage d’exemples mal classés. Les
deux taux sont estimés comme suit

35
VP +VN
A= (2.7)
V P + V N + FP + FN

FP + FN
B =1−A= (2.8)
V P + V N + FP + FN

2.6.5 ROC AUC


La courbe ROC (Receiver Operating Characteristic) est un graphique qui représente le taux de vrais
positifs par rapport au taux de faux positifs pour un même groupe. Elle permet d’évaluer la perfor-
mance d’un classificateur en traçant la sensibilité en fonction de 1 moins la spécificité pour différents
seuils de classification.[30]

La méthode ROC consiste à relier les points correspondants à tous les seuils possibles, ce qui permet
de visualiser la capacité du modèle à différencier les classes positives et négatives. L’Aire Sous la
Courbe ROC (AUC - Area Under the Curve) résume de manière synthétique la performance glo-
bale du classificateur. Elle permet de comparer les modèles en fonction de leur performance globale,
évitant ainsi les problèmes de comparaison entre différentes courbes ROC, notamment en cas d’in-
tersections.

L’AUC est souvent privilégiée dans l’évaluation des modèles car elle fournit une mesure globale du
rendement, permettant de trier les modèles en fonction de leur performance. Cela en fait un indica-
teur précieux pour évaluer et comparer les classificateurs dans des problèmes de classification.

Figure 2.9 – Représentation La courbe ROC [30]

L’échelle d’interprétation des valeurs de l’AUC (Area Under the Curve) est la suivante :

36
AUC Qualité du modèle
0.5 -0.6 Mauvaise
0.6 –0.7 Acceptable
0.7 –0.8 Bonne
0.8 –0.9 Très bonne
0.9 –1.0 Excellente
Table 2.2 – Interprétation des valeurs de l’AUC

Conclusion
Dans ce deuxième chapitre, nous avons présenté les principaux axes de l’apprentissage automatique,
nous avons introduit quelques algorithmes utilisés en apprentissage supervisé en particulier celle
utilisé dans notre sujet, par la suite nous avons défini la manière de tester, de valider un modèle d’ap-
prentissage automatique. Au cours de la seconde partie de cette étude, nous allons essayer d’utiliser
les concepts présentés dans la synthèse bibliographique, et cela afin de mettre en œuvre notre sys-
tème.

37
Deuxième partie

Étude préliminaire

38
Chapitre 3

Étude de l’existant

Introduction
Notre stage de projet de fin d’étude s’est déroulé chez l’opérateur de téléphonie mobile Djezzy, une
entreprise pionnière dans le domaine des télécommunications en Algérie. Dans ce chapitre, nous
présenterons cette entreprise ainsi que ses différents départements, notamment le département de
transmission où nous avons effectué notre stage. Nous présenterons également l’étude de l’existant
informatique afin de proposer une solution adéquate qui répond aux besoins.

3.1 Présentation de l’organisme d’accueil


OTA (Optimum Telecom Algerie) est la marque commerciale retenue pour représenter le réseau
GSM, 3G et 4G d’Optimum Télécom Algérie spa, ce terme Djezzy vient de la contraction de deux
mots : El Djazaa (le cadeau) et El Djazair (l’Algérie). Grâce à des contrats Roaming avec 458 opé-
rateurs dans 158 pays, l’entreprise compte près de 16 millions d’abonnés joignable partout dans le
monde et qui ont fait d’elle le numéro un en Algérie.[31]

OTA fait preuve de proximité avec ses clients en mettant à leur disposition 136 centres de services,
et un centre d’appels joignable 24H/24, 7J/7, sur tout le territoire national. L’entreprise dispose de
plusieurs sièges à Alger et de deux centres régionaux (Est et ouest).

Outre la qualité de ses services, OTA dispose d’une richesse humaine de plus de 2800 employés, qui
représentent le vrai secret de sa réussite

3.1.1 Fiche d’identité de DJEZZY :


• Raison sociale : Optimum Télécom Algérie SPA

• Type d’entreprise : Opérateur de télécommunications

• Adresse : Route de wilaya, Lot n°37/4, Dar El Beida, Alger, Algérie.

• Site web : www.djezzy.dz

39
• Les principaux concurrents : OOREDOO,MOBILIS

• Capital social : 164 002 000 000,00 DA (2022)

• Année de fondation : 2001

• Principaux actionnaires :FNI - Fonds National d’Investissement - à hauteur de 96,57% et


Cevital pour 3,43%.(2022)

• Effectif : +4 000

3.1.2 Historique :
L’opérateur de télécommunications algérien (OTA) a été fondé en juillet 2001 et est aujourd’hui un
leader dans le domaine de la téléphonie mobile et des technologies de communications numériques.
L’entreprise propose une large gamme de services, tels que le prépayé, le post-payé, le Data, ainsi
que des services à valeur ajoutée et le SUT.

OTA fait partie du groupe VEON, coté à Nasdaq et Euronext, une entreprise internationale de com-
munication et de technologie. Le groupe est guidé par une vision entrepreneuriale et des valeurs
axées sur la satisfaction du client, l’innovation, le partenariat et la transparence.

En janvier 2015, le Fonds National d’Investissement (FNI) a acquis 51% du capital de l’entreprise,
tandis que le partenaire étranger, le Groupe VEON, a conservé la responsabilité de la gestion de
l’entreprise jusqu’en juillet 2022. À cette date, le FNI contrôle plus de 96% de l’opérateur.

OTA offre une couverture à 95% de la population à travers le territoire national et a déployé ses
services 3G dans les 48 wilayas à partir de fin 2016. Les services 4G d’OTA ont été lancés le 1er
octobre 2016 et couvrent 28 wilayas au 31 décembre 2018, avec l’objectif de couvrir plus de 50% de
la population d’ici 2021.

Avec plus de 2,5 milliards de dollars d’investissements depuis sa création en 2001, plus de 2800
employés et plus de 16 millions d’abonnés, OTA reste l’opérateur préféré des Algériens à bien des
égards.[32]

3.1.3 Mission de Djezzy :


La mission d’OTA est de réaliser ses objectifs en suivant les principes suivants :[31]
• Fournir les meilleurs produits de qualité à des prix compétitifs.
• Déployer des infrastructures technologiquement avancées.
• Créer un environnement de travail propice à l’épanouissement de ses employés.
• Contribuer activement au bien-être de la population algérienne.
• Optimiser la création de valeur pour ses actionnaires grâce à une gestion rigoureuse des coûts.
• Appliquer strictement une politique environnementale.
• Améliorer continuellement ses processus internes tout en respectant sa politique de qualité.

40
3.1.4 Les valeurs de DJEZZY :
Engagement : L’entreprise travaille avec passion et dévouement pour proposer une excellente qua-
lité de service à leurs clients. Leur engagement prend racine dans leur satisfaction à travers leurs
expertises et leurs compétences.

Esprit d’équipe : Ils accompagnent tous leurs clients, comme ils travaillent en interne avec un vé-
ritable esprit d’équipe. Leurs objectif commun est de répondre aux besoins de leurs clients à travers
leurs offres et services innovants.

Intégrité : Ils exécutent leurs opérations en interne et en externe avec honnêteté, transparence et
responsabilité. Ils adoptent des pratiques commerciales éthiques dans le respect des lois en vigueur.

Innovation : L’innovation est au centre de leurs stratégie technologique, commerciale et organisa-


tionnelle pour une expérience client exceptionnelle.[32]

3.1.5 Présentation des départements de DJEZZY :


La structure interne de la société Djezzy est la suivante :

Figure 3.1 – Organigramme de Djezzy

41
Département administratif :

Ce département est responsable du recrutement,du paiement des salaires,de l’entretien des bureaux
et de l’équipement des magasins et des centres de services.Il fournit également le soutien physique
nécessaire aux autres départements.

Département commercial :

le département commercial de Djezzy joue un rôle crucial dans la réalisation des gains de l’entre-
prise. Il est chargé de concevoir, produire, promouvoir et commercialiser les produits et services de
l’opérateur afin de répondre aux attentes des consommateurs et de stimuler la croissance de l’entre-
prise.

Département des finances :

le département des finances de Djezzy joue un rôle clé dans la gestion financière de l’entreprise.
Il est responsable de la gestion des revenus, de la fixation des prix, des virements bancaires, du fi-
nancement, de la préparation du bilan et de la comptabilité générale, ainsi que de la conformité aux
exigences comptables et fiscales.

Département de stratégie :

Le département de stratégie d’entreprise de Djezzy est responsable de l’élaboration, de l’évaluation


et de la révision du plan stratégique à long et moyen terme de l’entreprise. Il collabore étroitement
avec la haute direction pour garantir l’alignement de la stratégie avec la vision et les missions de
l’entreprise, et surveille la mise en œuvre des initiatives stratégiques.

Département Digital :

le département Digital de Djezzy est responsable du bon fonctionnement de l’ensemble de l’entre-


prise en fournissant des services clés. Il assure le reporting, l’analyse et les résultats analytiques liés
à la stratégie digitale, développe la nouvelle vision et le plan marketing, gère les outils et les plate-
formes numériques, et conduit la transformation digitale de l’entreprise.

3.1.6 Département de Transmission (Département d’accueil :


Le département d’ingénierie de la transmission de Djezzy joue un rôle essentiel dans la mise en
place et le fonctionnement du réseau de communication de l’opérateur. Ce département est respon-
sable de la planification, de la conception, de la mise en œuvre et de la maintenance des systèmes de
transmission utilisés pour acheminer les communications entre les différentes parties du réseau.[32]

42
Les principales responsabilités du département d’ingénierie de la transmission incluent :

La planification du réseau de transmission, en établissant l’architecture du système en fonction


des besoins de capacité, de couverture et des contraintes techniques spécifiques. Cela implique la sé-
lection des technologies appropriées, telles que les micro-ondes numériques ou les fibres optiques,
ainsi que la conception détaillée des liaisons de transmission.

La conception et la mise en œuvre des systèmes de transmission. Cela comprend le dimen-


sionnement des équipements, la configuration du réseau, l’installation des antennes, des câbles et
des équipements de transmission. Cette phase nécessite une collaboration étroite avec les équipes
sur le terrain pour assurer une installation correcte et une mise en service efficace des équipements.
L’optimisation de la performance du réseau. En surveillant en permanence les performances,
l’équipe analyse les données pour améliorer l’efficacité, la capacité et la qualité de service. Des ajus-
tements de paramètres, des optimisations d’itinéraires et l’application de technologies avancées font
partie des actions entreprises pour maintenir un niveau élevé de performance du réseau.

La maintenance et la gestion du réseau de transmission : L’équipe assure la maintenance régu-


lière des équipements, gère les mises à niveau et les remplacements, et résout rapidement les pannes
et les problèmes liés à la transmission. Cette approche proactive garantit une disponibilité élevée du
réseau et une continuité sans faille des services de communication pour les utilisateurs.

3.2 Étude de l’existant métier


Dans les télécommunications, les informations peuvent être transmises entre deux emplacements à
l’aide d’un signal qui peut être de nature analogique ou numérique. Dans les réseaux de télécommu-
nications d’aujourd’hui, la transmission numérique est utilisée presque exclusivement, dans laquelle
le trafic analogique, tel que les appels vocaux, est converti en signaux numériques (un processus ap-
pelé échantillonnage) pour faciliter la transmission et la commutation à longue distance.

43
3.2.1 Architecture des réseaux mobiles

Figure 3.2 – Architecture des réseaux mobiles[33]

Cette structure illustre les différents équipements utilisés dans différentes technologies (2G, 3G, 4G).
Nous pouvons voir dans cette architecture le chemin emprunté par l’information depuis la station
mobile jusqu’à ce qu’elle atteigne le réseau central en fonction de la technologie à laquelle elle ap-
partient.[13]

1. La technologie sans fil 2G : Elle utilise une architecture de réseau commuté par circuit
qui divise le spectre radio en plusieurs canaux. L’architecture du réseau 2G comprend trois
composants principaux :
— Station mobile (MS) : Cela inclut le téléphone mobile et la carte SIM.
— Sous-système de station de base (BSS) : Cela inclut la station de base (BTS) qui commu-
nique avec le téléphone mobile et le contrôleur de station de base (BSC) qui gère l’allocation
des canaux radio.
— Sous-système de commutation de réseau (NSS) : Cela inclut le centre de commutation
mobile (MSC) qui gère la commutation des appels entre différents réseaux, et le registre
des abonnés domestiques (HLR) qui stocke les données des utilisateurs.
2. La technologie sans fil 3G : Elle utilise une architecture de réseau commuté par paquets
qui permet des taux de transfert de données plus rapides et prend en charge les applications
multimédias. L’architecture du réseau 3G comprend trois composants principaux :
— Équipement utilisateur (UE) : Cela inclut le téléphone mobile ou tout autre appareil qui
accède à Internet.
— Réseau d’accès radio (RAN) : Cela inclut le Node B qui communique avec l’UE et le
contrôleur de réseau radio (RNC) qui gère l’allocation des ressources radio.
— Réseau central (CN) : Cela inclut le serveur de support GPRS en service (SGSN) qui gère
l’acheminement des paquets de données et le nœud de support GPRS de passerelle (GGSN)
qui fait office d’interface entre le réseau mobile et Internet.
3. La technologie sans fil 4G Elle utilise une architecture de réseau tout-IP (protocole Internet)
qui permet des taux de transfert de données plus rapides et prend en charge des applications à
large bande passante telles que la diffusion vidéo et les jeux en ligne. L’architecture du réseau
4G comprend trois composants principaux :

44
— Équipement utilisateur (UE) : Cela inclut le téléphone mobile ou tout autre appareil qui
accède à Internet.
— Noyau de paquets évolué (EPC) : Cela inclut la passerelle de service (SGW) qui gère
le flux de données entre l’UE et le réseau, la passerelle de réseau de données par paquets
(PDN GW) qui offre l’accès à Internet, et l’entité de gestion de la mobilité (MME) qui gère
la signalisation entre l’UE et le réseau.
— Serveur d’abonnés domestiques (HSS) : Celui-ci stocke les données des abonnés et
fournit des services d’authentification et d’autorisation.

3.2.2 Les différents types de support de transmission


Trois types de supports (couches physiques) peuvent être utilisés pour transmettre des informations
dans le domaine des télécommunications :

Lignes en cuivre (câbles torsadés et câbles coaxiaux)

Ils sont utilisés pour des transmissions à faible et moyenne capacité sur de courtes distances. Les
câbles torsadés (voir figure 3.3) sont couramment utilisés pour les connexions téléphoniques et les
réseaux locaux, tandis que les câbles coaxiaux (voir figure 3.4) sont utilisés pour la télévision par
câble et d’autres applications nécessitant une bande passante plus élevée.[34]

Figure 3.3 – Représentation d’un câble Figure 3.4 – Représentation d’un câble
torsadé coaxial

Transmission par fibre optique :

Elle est utilisée pour des transmissions de moyenne et haute capacité sur n’importe quelle distance.
Les câbles à fibres optiques transmettent les signaux sous forme de lumière à travers de minces fils
de verre ou de plastique. Ils offrent une bande passante élevée, une faible atténuation du signal et
une résistance aux interférences électromagnétiques.[34]

45
Figure 3.5 – Représentation d’une fibre optique

Transmission par satellite :

Elle est utilisée pour des transmissions à faible et moyenne capacité sur de longues distances. Les
signaux sont transmis depuis une station terrestre vers un satellite en orbite, puis renvoyés vers une
autre station terrestre. C’est une méthode courante pour les communications internationales et les
réseaux étendus.

Figure 3.6 – Représentation transmission par satellite

3.2.3 Transmission Microwave :


La transmission par micro-ondes (Microwave) est une technologie de communication qui permet de
transmettre des signaux, des données en utilisant des ondes électromagnétiques de fréquence mi-
crométrique, également appelées micro-ondes,qui se situent dans la gamme de fréquence comprise
entre 300 MHz (mégahertz) et 300 GHz (gigahertz)[34]

Les micro-ondes sont largement utilisées pour les communications point à point car leur petite lon-
gueur d’onde permet l’utilisation d’antennes de taille pratique pour les diriger en faisceaux étroits,
pouvant être directement pointés vers l’antenne réceptrice. Cela permet à des équipements de micro-
ondes proches d’utiliser les mêmes fréquences sans interférence mutuelle, contrairement aux ondes
radio de plus basse fréquence. Un autre avantage est que la haute fréquence des micro-ondes confère
à la bande de micro-ondes une très grande capacité de transmission d’informations. Cependant, un
inconvénient est que les micro-ondes sont limitées à une propagation en ligne de mire, elles ne

46
peuvent pas contourner les collines ou les montagnes comme le font les ondes radio de plus basse
fréquence.

Afin d’établir une connexion de communication entre deux emplacements, tout comme tout autre
système de communication, un système de communication par micro-ondes utilise des émetteurs,
des récepteurs et des antennes. À la fois l’émetteur et le récepteur sont composés d’une unité inté-
rieure et d’une unité extérieure comme le montre la figure 3.7.

Figure 3.7 – Représentation transmission par microwave

3.3 Étude de l’existant informatique


Une entreprise équipée d’une bonne solution décisionnelle a un avantage certain, mais comme
nous l’avons constaté , le département de transmission ne dispose d’aucun système d’aide à la
décision automatique ou semi-automatique permettant de faire la gestion des performances des
liens de transmission afin de prendre des décisions éclairées concernant la planification de leur
réseau,l’optimisation des sites en prévoyant les types de changements a effectuer sur les liens .

Nous avons constaté que le service de transmission à pas mal de problèmes, ces problèmes peuvent
être résumés comme suit :

Pour la génération des rapports et le suivi du trafic des liens de transmissions, les ingénieurs trans-
mission exploitent leurs données en utilisant des fichiers Excel,CSV. En effet après extraction de
données à partir du NMS (Network Management System) le traitement des données ce fait d’une
manière manuelle et quotidienne . Cela demande plus de 5h de temps de travail et d’efforts (d’après
l’ingénieur chargé de cette tache ) , en plus d’être propice aux erreurs et aux incohérences.

De plus, on a constaté que afin de suivre le chemin des liens de transmission, les ingénieurs utilisent
le logiciel Pathloss pour obtenir une cartographie théorique du réseau global (qui peut ne pas être à
jour) ainsi que des fichiers Excel pour définir manuellement le cheminement des liens vers leur GNE
(Gateway Network Element ). Cependant, cette approche demande un investissement important en
termes de temps, de ressources humaines et d’efforts de travail. De plus, elle présente un risque accru
d’erreurs.

Pour améliorer les performances du réseau, les ingénieurs effectuent des calculs manuels et intui-
tifs en étudiant des fichiers Excel pour déterminer les capacités des liens à augmenter et le type
de modifications à apporter. Cependant, cette approche demande énormément de temps, mobilise

47
de nombreux membres de l’équipe et nécessite des efforts considérables. De plus, elle présente un
risque accru d’erreurs de calcul.

De ce fait, plusieurs problématiques ont été constatées :

• L’absence d’un tableau de bord avec des indicateurs pertinents pour une bonne prise de dé-
cision.
• Le manque d’un outil de visualisation pour suivre précisément le cheminement des liens de
transmission. Ils font face à l’incohérence des informations fournies par Pathloss, qui offre
une cartographie théorique du réseau global mais qui n’est pas mise à jour en temps réel..
• Le processus actuel d’élaboration des rapports d’analyse est principalement manuel, ce qui
limite la capacité à suivre le trafic des liens et à prendre des décisions pertinentes en temps
réel. De plus, avec seulement 4 à 8 rapports par mois sur lesquels baser les décisions, il devient
difficile de réagir rapidement aux changements et d’optimiser la gestion des liens.
• Impossibilité d’avoir un historique des informations sur une longue durée. Étant donné que
les données ne sont conservées dans le système opérationnel que sur une courte période. Ce
qui empêche le suivi à travers le temps.

Conclusion
Dans ce chapitre, nous avons abordé l’étude de l’existant organisationnel et informatique du service
de transmission . À travers de cette étude, on a pu avoir une vision générale des procédures d’éla-
boration de rapports et de consolidation des données ce qui nous permis de cerner les principales
problématiques liées au système opérationnel actuel .
Dans le chapitre suivant consacré à l’étude des besoins, nous allons présenter notre analyse des
besoins des utilisateurs, en précisant la démarche suivie.

48
Chapitre 4

Étude des besoins :

La phase de collecte des besoins est l’une des phases les plus importante dans la réussite de n’importe
quel projet et notamment des projets décisionnels. En effet après avoir présenté l’organisme, il est
grand temps de recenser les exigences et les besoins des futurs utilisateurs du système.
Dans ce chapitre nous allons présenter les besoins de l’entreprise qui serviront de guide pour l’étape
de conception de la solution adéquate. et satisfaisante pour les parties prenantes.

4.1 Présentation des techniques de collecte d’informations :


L’identification des besoins est l’étape cruciale de tout système d’information, notamment le système
d’information décisionnelle, durant laquelle les besoins analytiques des utilisateurs sont identifiés.
Dans cette partie du chapitre, nous allons commencer par présenter la démarche que nous avons
suivie pour la collecte des besoins. Puis, nous allons identifier les utilisateurs finaux du système,
les besoins fonctionnels et techniques, ainsi que les difficultés rencontrées. Nous conclurons par la
présentation de notre solution .

4.1.1 Démarche de collecte des besoins :


Afin de récolter les informations nécessaires à la bonne compréhension du fonctionnement du dé-
cisionnel de l’organisme et dans le but d’identifier les besoins des utilisateurs finaux, nous avons
procédés à une collecte d’informations en utilisant différentes techniques :

• Entretiens et réunions :

Dans le but d’avoir le maximum d’informations, nous avons effectués périodiquement des
discussions formelles avec toute personne concernée de près ou de loin par notre projet no-
tamment les décideurs.

• Documentation :

Quelques documents et rapport nous ont été livrés afin de comprendre au mieux les diffé-
rentes notions présentes dans les sources de données

49
Etude des sources de données :

L’entreprise nous a procurés un accès limité aux données qui sont :


Des fichiers Excel : il s’agit des Sheets qui contiennent des données de la gestion des liens de trans-
mission ,les configuration des sites, protect type.....

Difficultés rencontrées lors de la collecte des données :


— Problèmes de confidentialité de certaines données nécessaires à la réalisation de notre projet.

— Plusieurs données manquantes et non disponibles ce qui nous a obligés de recourir à la créa-
tion de nouvelles tables de données pour compléter notre ensemble de données.

4.2 Recueil des besoins :


En utilisant les techniques de collecte d’informations citées dans le titre précédant, nous avons pu
identifier les utilisateurs finaux de notre système et recenser les spécifications fonctionnelles et tech-
niques de système.

4.2.1 Les acteurs du système :


Il est nécessaire d’identifier les utilisateurs finaux de la solution à mettre en place qui seront en po-
sition de prendre des décisions et consommer l’information . Les acteurs de notre solution sont :

-le manager du service de transmission


-les ingénieurs de transmission.

4.2.2 Besoins techniques :


Par intermédiaire des échanges avec les futurs utilisateurs du système, nous avons pu identifier
les principales fonctionnalités que doit implémenter la solution à réaliser, que nous résumons ci-
dessous :

• Des besoins relatifs au moyen de développement du système :


— Les outils utilisés pour le développement du système doivent être des outils Open Source.
— Le système doit être totalement gratuit.
• Des besoins relatifs aux fonctionnalités du système :
— Le système doit être capable de consolider les données (regrouper et fusionner les données
provenant de différentes sources).

— Le système doit permettre d’effectuer des analyses dimensionnelles de données.

— Le système doit être capable de calculer automatiquement divers indicateurs de perfor-


mances.

50
— Le système doit enregistrer les résultats dans une base de données afin de conserver l’his-
torique et permettre des analyses temporelles.

— Le système doit afficher les résultats des analyses obtenus sous plusieurs formes (telles
que : Pie charts, Bar charts, tables, tree graph.. . .etc.).

— - Le système doit offrir aux utilisateurs la possibilité de personnaliser les résultats (les ta-
bleaux de bord) en fonction de leurs besoins spécifiques, en leur permettant de filtrer les
indicateurs clés à afficher (les valeurs, la date et le nom du lien).

— Les résultats affichés dans le système doivent être en temps réel, reflétant l’état actuel de
données, et non une étude théorique comme celle réalisée par PATHLOSS (mentionné pré-
cédemment).

— Le système doit offrir aux utilisateurs la possibilité d’exporter les visualisations générées
sous différents formats telles que des images des fichier Excel/CSV, pour faciliter l’inclu-
sion dans les présentations et les rapports quotidiens.

— Le système doit garantir la confidentialité des données en appliquant plusieurs mesures


de sécurité (telles que : comptes personnels, sessions limitées).

— Mettre en place un système de gestion des utilisateurs et des rôles qui permet de définir
les différents niveaux d’accès pour chaque utilisateur, assurant ainsi la sécurité et la confi-
dentialité des données

— Le système doit fournir des résultats précis et corrects, pour le trafic des liens ainsi que
pour les prédictions. Des actions importantes seront prises en fonction de ces résultats.

4.3 Processus explicatif de la solution proposée


Notre solution consiste à la mise en place d’une plateforme web qui facilite la collecte de données
brutes à partir des fichiers Excel et CSV, qui seront ensuite nettoyées et transformées à l’aide de
scripts Python personnalisés. Une fois ces données sont prêtes, elles seront stockées dans un DW
basé sur MongoDB. Enfin, les données seront présentées aux utilisateurs sous forme de graphiques
et de tableaux interactifs. Cette approche complète et professionnelle permet aux utilisateurs d’ac-
céder rapidement à des informations exploitables.Le schéma ci-dessous représente l’architecture de
la solution :

51
Figure 4.1 – Architecture de la solution

1. Collecte de données brutes :


La plateforme web a été développée pour faciliter la collecte de données brutes à partir de
fichiers Excel et CSV. Grâce à une interface conviviale, les utilisateurs peuvent importer ces
fichiers de manière simplifiée, évitant ainsi les erreurs de saisie manuelle. La flexibilité de la
plateforme permet également aux utilisateurs de charger simultanément plusieurs fichiers, y
compris de grandes quantités de données (jusqu’à des dizaines de fichiers à la fois), simplifiant
ainsi la gestion de volumes importants de données.
2. Nettoyage et transformation des données :
Une fois que les données brutes sont importées, elles seront soumises à un processus de net-
toyage et de transformation pour garantir leur qualité et leur cohérence. Contrairement à l’uti-
lisation d’un ETL (Extract, Transform, Load) traditionnel, nous avons développé des scripts
Python personnalisés pour effectuer ces opérations. Ces scripts automatisent le nettoyage
des données en éliminant les valeurs manquantes, les doublons et en appliquant des règles de
validation spécifiques.
3. Stockage de données dans un DW :
Une fois le processus de nettoyage et de transformation terminé, les données seront stockées
dans un datawarehouse alimenté par MongoDB. Ce choix de technologie a été motivé par sa
robustesse, sa fiabilité et sa capacité à gérer de grandes quantités de données. Le dataware-
house offre une structure optimisée pour le stockage de données, facilitant ainsi les opérations
d’interrogation et d’analyse ultérieures.
4. Visualisation des données
Les données stockées dans le datawarehouse sont présentées aux utilisateurs via une inter-
face web ,qui utilise des bibliothèques de visualisation de données avancées pour créer des
graphiques et des tableaux interactifs, offrant ainsi une expérience utilisateur riche et infor-
mative. Les utilisateurs peuvent explorer les données, filtrer les résultats, générer des rapports
personnalisés et exporter les visualisations sous différents formats.

52
5. Prédiction des données :
En plus de la visualisation des résultats, la plateforme intègre également une partie de pré-
diction basée sur des techniques de machine Learning. Les données préparées dans le data-
warehouse sont utilisées pour entraîner des modèles de prédiction qui peuvent générer des
résultats prédictifs. Ces résultats sont ensuite affichés dans l’interface web, permettant aux
utilisateurs de prendre des décisions éclairées basées sur les prédictions générées.

Conclusion
L’étude des besoins est une étape plus que nécessaire dans un projet BI. C’est, en effet, à partir de
cette étude que se décidera la manière de construction de la solution et de son architecture.

À travers ce chapitre, nous avons abordé les besoins fonctionnels du service de transmission ainsi que
les exigences techniques. On a ensuite présenté notre solution , qui consiste à la mise en place d’une
plateforme web qui offre une solution complète et professionnelle pour la collecte, le nettoyage,
le stockage dans un DW, la visualisation et la prédiction des données.Dans le chapitre suivant on
présentera la conception du DW.

53
Chapitre 5

Conception de la solution

L’entrepôt de données (Data Warehouse) est une base de données essentielle au cœur de notre so-
lution de gestion des performances et de monitoring des liens de transmission.

Le Data Warehouse est caractérisé par son modèle dimensionnel. En effet, la réussite d’un projet de
Data Warehouse repose sur un modèle dimensionnel répondant aux besoins de l’entreprise. C’est
pourquoi notre modèle dimensionnel, que nous avons conçu, est basé sur les exigences, les profils
des utilisateurs et les réalités des données de l’entreprise. Ces informations sont collectées lors de la
phase d’étude des besoins.

Dans cette partie, nous abordons la conception de notre Data Warehouse en justifiant tous les choix
que nous avons faits tout au long de cette phase du projet.

5.1 Le suivi du trafic des liens Port

5.1.1 Présentation
L’analyse du trafic des liens Port joue un rôle primordial dans les futures décisions du service, pour
cela les décideurs de transmission ont besoin d’avoir des informations périodiques sur la saturation
des liens port.

5.1.2 Les dimensions du modèle


Les dimensions ont pour objectif de décrire le fait, donc on essaye de recenser les informations qui
décrivent l’activité et qui peuvent intéresser les décideurs

Dimension Temps :

La dimension temps est « la seule dimension qui figure systématiquement dans chaque entrepôt de
données, car en pratique tout entrepôt de données est une série temporelle. Le temps est le plus souvent
la première dimension dans le classement sous-jacent de la base de données » [7].

54
Figure 5.1 – Dimension Temps

Attribut Désignation
TempsID la clé surnaturelle de la
dimension
Jour représente le jour
Mois représente le mois de
l’année
Annee représente l’année
Table 5.1 – Tableau descriptif de la dimension temps

Dimension Lieu :

Cette dernière contient toutes les informations géographiques des différents liens de transmission,
qui est nécessaire pour le suivi du trafic.

Figure 5.2 – Dimension Lieu

Attribut Désignation
LieuID la clé primaire de la di-
mension
Wilaya représente la wilaya
Pays représente le pays
Table 5.2 – Tableau descriptif de la dimension Lieu

55
Dimension Port :

La dimension DimPort décrit le nom du lien port

Figure 5.3 – Dimension Port

Attribut Désignation
PortCode la clé primaire de la di-
mension
PortName représente le nom du
lien port
Table 5.3 – Tableau descriptif de la Dimension Port

Dimension ListePort :

Cette dimension nous donne comme information le pourcentage du trafic entrant et sortant du lien
port.

Figure 5.4 – Dimension ListePort

56
Attribut Désignation
PortCode la clé primaire de la dimension
CollectionTime L’heure
PORT_RX le pourcentage du trafic entrant du
lien port
PORT_TX le pourcentage du trafic sortant du
lien port
Table 5.4 – Tableau descriptif de la Dimension ListePort

Les mesures
• La mesure qui correspond à l’activité du suivi du trafic des liens Port est : ChargeMaxPort qui
correspond au pourcentage de saturation du lien port sur une durée de temps .
ChargeMaxPort= Max{ PORT_RX , PORT_TX }

• La mesure qui correspond au nombre de liens Port est : CountPort

5.1.3 Le modèle en flocon de neige de l’activité « suivi du trafic des liens


Port »

Figure 5.5 – Suivi du trafic des liens port

57
5.2 Le suivi du trafic des liens Physical Link Aggregation
5.2.1 Présentation
L’analyse du trafic pour les liens de Physical Link Aggregation (PLA) est similaire à celle des liens
port. La différence réside dans le fait que le lien Port est une connexion directe entre deux équipe-
ments réseau, généralement établie à l’aide d’un câble ou d’une fibre optique, tandis que le PLA est
une technique utilisée pour regrouper plusieurs liens physiques en un seul lien logique.

Dimension DimPLA :

La dimension DimPLA nous donne le nom du lien PLA

Figure 5.6 – Dimension PLA

Attribut Désignation
PLACode la clé primaire de la dimension
PLAName représente le nom du lien PLA
Table 5.5 – Tableau descriptif de la Dimension PLA

Dimension ListePLA :

Cette dimension nous donne comme information le pourcentage du trafic entrant et sortant du lien
PLA.

Figure 5.7 – Dimension ListePLA

58
Attribut Désignation
PortCode la clé primaire de la dimension
CollectionTime L’heure
PLA_RX le pourcentage du trafic entrant du
lien PLA
PLA_TX le pourcentage du trafic sortant du
lien PLA
Table 5.6 – Tableau descriptif de la Dimension ListePLA

Les mesures
• La mesure qui correspond à l’activité du suivi du trafic des liens PLA est : ChargeMaxPLA qui
correspond au pourcentage de saturation du lien PLA sur une durée de temps .
ChargeMaxPLA = Max{ PLA_RX , PLA_TX }

• La mesure qui correspond au nombre de liens PLA est : CountPLA

5.2.2 Le modèle en flocon de neige de l’activité « suivi du trafic des liens


PLA »

Figure 5.8 – suivi du trafic des liens PLA

5.3 Le calcule des capacités des liens de transmission

5.3.1 Présentation
Afin d’améliorer les performances du réseau en optimisant le cheminement des liens de transmission
jusqu’à leur GNE, il est essentiel de disposer des caractéristiques détaillées des liens, ainsi que de
leurs capacités respectives.

59
Dimension Links MicroWave :

Elle contient toutes les informations sur les lien : sites liés ,le type de protection ainsi que le confi-
guration .

Figure 5.9 – Dimension Links MicroWave

Attribut Désignation
LinkNameID la clé primaire de la dimension
SourceName représente le nom du site de départ
SinkName représente le nom du site d’arriver
Protect_type représente le type de protection
capacityID représente la clé étrangère de la di-
mension capacity
count Link représente le nombre de répétition
du lien dans la dimension
Table 5.7 – Tableau descriptif de la Dimension Links MicroWave

60
Dimension Capacity :

Cette dimension englobe toutes les configurations des liens de transmission, ainsi que les capacités
qui leur sont associées.

Figure 5.10 – Dimension Capacity

Attribut Désignation
capacityID la clé primaire de la dimension
Config représente la configuration
ChannelSpacing représente ChannelSpacing d’un
lien
Modulation représente Modulation d’un lien
Capacity représente Capacity du lien
Table 5.8 – Tableau descriptif de la Dimension Capacity

Channel Spacing : désigne la distance en fréquence entre les canaux utilisés dans une transmis-
sion de signaux.
Modulation : est le processus de modification d’un signal pour le transporter efficacement sur un
support de transmission.

Les mesures

La seule mesure est les capacités finale des liens de transmission notée : CapacityF

CapacityF = Capacity * count Link

61
5.3.2 Le modèle en flocon de neige de l’activité « Le calcul des capacités
des liens de transmission »

Figure 5.11 – Le calcule des capacités des liens de transmission

5.4 Algorithmes utilisés dans la recherche du path


L’algorithme searchGNE :

Cet algorithme utilise une logique de recherche pour extraire des informations pertinentes à par-
tir d’un ensemble de données représentant des nœuds inter-connectés. L’objectif est d’identifier les
nœuds qui sont directement reliés au dernier nœud d’un chemin spécifique.

Pour ce faire, l’algorithme parcourt chaque ligne d’un dataframe et vérifie si le nœud source ou
le nœud destination (sink) d’une relation correspond au dernier nœud du chemin. Si une corres-
pondance est trouvée, les nœuds correspondants sont enregistrés dans une liste. De plus, les tuples
valides (composés du nœud source ou puits et du dernier nœud) sont enregistrés dans une autre liste.

62
Algorithm 1 Fonction SearchGNE (df, path) :
Début
1 nodes <- tableau vide pour stocker les nœuds
2 valid_tuples <- tableau vide pour stocker les tuples valides
3 last_node <- dernier élément du chemin (path[-1])
#Pour chaque ligne dans le dataframe df :
4 source_node <- valeur de la colonne ’Source Name’ de la ligne actuelle
5 sink_node <- valeur de la colonne ’Sink Name’ de la ligne actuelle
6 Si source_node est égal à last_node ou sink_node est égal à last_node :
a Ajouter source_node à nodes
b Ajouter sink_node à nodes
c Ajouter le tuple (source_node, last_node) à valid_tuples
d Ajouter le tuple (sink_node, last_node) à valid_tuples
7 nodes <- convertir nodes en un ensemble pour éliminer les doublons
8 nodes <- convertir nodes en une liste
9 Retourner nodes, valid_tuples
Fin de la fonction

L’algorithme find_all_paths :

L’algorithme "Trouver_tous_les_chemins" a pour objectif de trouver tous les chemins possibles entre
un nœud de départ et un nœud d’arrivée dans un réseau représenté par un dataframe.

L’algorithme utilise une approche récursive pour explorer les relations entre les nœuds du réseau.
Il commence par vérifier si le nœud de départ est présent dans les noms de source et de destination
du dataframe. Si ce n’est pas le cas, cela signifie qu’il n’y a aucun chemin possible, et une liste vide
est retournée.

Ensuite, l’algorithme ajoute le nœud de départ au chemin actuel. S’il s’avère que le nœud actuel est
également le nœud d’arrivée, le chemin actuel est ajouté à la liste des chemins trouvés.

Enfin, l’algorithme explore les voisins du nœud actuel. Pour chaque voisin, il vérifie s’il a déjà été
visité dans le chemin actuel. Si ce n’est pas le cas, l’algorithme effectue une recherche récursive pour
trouver tous les chemins entre ce voisin et le nœud d’arrivée. Les nouveaux chemins trouvés sont
ajoutés à la liste des chemins.

63
Algorithm 2 Trouver_tous_les_chemins (df, start, end, path=[]) : :
Début

1 si start n’est pas présent dans la liste des noms de source et des noms de destination du data-
frame df :
retourner une liste vide
// Ajouter le nœud de départ au chemin actuel
2 path = path + [start]
// Si le nœud actuel est le nœud d’arrivée, ajouter le chemin actuel à la liste des chemins
3 si start est égal à end :
retourner [path]

// Si le nœud actuel n’est pas le nœud d’arrivée, continuer la recherche


4 paths = []
//pour chaque neighbor (site lié au nœud actuel) dans la liste des noms de destination du data-
frame df où le nom de source est égal à start, et la liste des noms de source du dataframe df
où le nom de destination est égal à start :
// Si le voisin n’a pas été visité dans le chemin actuel, chercher les chemins qui le relient à
l’arrivée
5 si neighbor n’est pas présent dans le chemin :
new_paths = trouver_tous_les_chemins (df, neighbor, end, path)
6 pour chaque new_path dans new_paths :
ajouter new_path à paths
retourner paths
Fin de la fonction

64
L’algorithme Recherche chemin :

Pseudo code pour l’algorithme de la recherche en profondeur utilisée :

L’algorithme recherché vise à trouver le chemin le plus court entre un site de départ et un site d’ar-
rivée dans un réseau.

Il commence par vérifier si le site de départ est présent dans une liste spécifique. Si c’est le cas, le site
de départ est ajouté à la liste des chemins et retourné. Sinon, il effectue des opérations de filtrage
sur un dataframe pour obtenir les lignes correspondantes au site de départ.

Ensuite, pour chaque site d’arrivée, il recherche tous les chemins possibles (avec la fonction expliqué
précédemment « Trouver_tous_les_chemins ») entre le départ et l’arrivée dans le dataframe. Si des
chemins sont trouvés, ils sont ajoutés à une liste de chemins. Ensuite, l’algorithme détermine le
chemin le plus court parmi les chemins disponibles. Si aucun chemin n’est trouvé, un chemin vide
est retourné.

Algorithm 3 fonction Recherche chemin (depart, df, dfGNE) :


Début
//Initialiser une liste vide
1 chemins = []
// Vérifier si le départ est présent dans ma liste dfGNE
2 si depart dans dfGNE[’GNE’].unique() :
ajouter départ à chemins
retourner chemins
3 Sinon :
// Extraire les GNE du site pour obtenir les lignes correspondant
(a) dfGNE_filtre = dfGNE.loc[dfGNE[’CodeSite’] == depart]
(b) si dfGNE_filtre n’est pas vide :
pour chaque arrivee dans dfGNE_filtre[’GNE’].unique() :
// Trouver tous les chemins possibles entre le départ et l’arrivée dans df
tous_les_chemins = trouver_tous_les_chemins(df, depart, arrivee)
si tous_les_chemins n’est pas vide :
ajouter tous_les_chemins à chemins
(c) sinon :
afficher "Ya pas de GNE pour le site inseré"
retourner un chemin vide
3 si chemins n’est pas vide :
//retourner chemin_plus_court
chemin_plus_court = trouver_chemin_plus_court(chemins)
4 sinon :
retourner chemins
Fin de la fonction

65
5.5 Conception du modèle de prédiction

5.5.1 Description des données


Nous avons effectué périodiquement des réunions avec les ingénieurs afin de rassembler toutes les
informations nécessaires et de crée un dataset adapter à notre sujet qui est la prédiction des actions
d’engineering à effectuer sur les liens en cas de demande d’extension des sites.

Les actions d’ingénierie comprennent :

Modulation changing : Changement du processus par lequel le signal est transformé de sa forme
originale en une forme adaptée au canal de transmission
ChannelSpacing changing : Changement de la distance en fréquence entre les canaux utilisés
dans le lien
Software changing : changement de Modulation et ChannelSpacing
Hardware changing : Changement de l’équipement

Le tableau suivant décrit les données acquises du service transmission de Djezzy qui serviront pour
la prédiction d’action d’engineering sur les liens de transmission :

Attribut Description TYPE


LinkName Représente le ID du lien microwave qui est la Objet
combinaison des 2 sites reliés
SourceClean Représente le nom (ID) du site de départ Objet
SinkClean Représente le nom (ID) du site de d’arrivée Objet
Source Protect Type si le lien à une protection de type HSB ou pas binaire
Source XPIC Group ID si le lien est de type XPIC ou pas binaire
Wilaya Représente la wilaya du lien Objet
config Représente la configuration spécifique du lien Objet
ChannelSpacing Représente la distance en fréquence entre les Numérique
canaux utilisés dans le lien
Modulation Représente le processus par lequel le signal est Numérique
transformé de sa forme originale en une forme
adaptée au canal de transmission
Actuel capacity Représente la capacité du lien actuel Numérique
Count le nombre de répétition du lien dans le fichier Numérique
Target capacity Représente la capacité du lien fixé à atteindre Numérique
Eband si le lien est un lien 4G ou pas binaire
changing type Représente le type de changement effectuer sur Object
le lien afin d’augmenter sa capacité et atteindre
target capacity

Table 5.9 – Les caractéristiques des machines utilisées pour l’exécution

66
Le mode de protection HSB (Hot Standby) : est utilisé dans les équipements de réseau optique
pour assurer une redondance et une continuité de service. Il fonctionne en ayant deux éléments, tels
que des cartes IF ou ODU, configurés en tant que sources de secours qui se relaient mutuellement.
L’élément actif assure la transmission des signaux et le traitement des données, tandis que l’élément
de secours reste en attente en se synchronisant avec l’élément actif. En cas de défaillance de l’élé-
ment actif, l’élément de secours prend automatiquement le relais pour assurer une transition sans
interruption.

XPIC (Cross Polarization Interference Cancellation) est une technologie qui permet la trans-
mission de plusieurs signaux indépendants sur le même canal en utilisant la double polarisation,qui
fonctionne en transmettant deux ondes électromagnétiques avec des directions de polarisation or-
thogonales de l’émetteur au récepteur.

5.5.2 Prétraitement
Cette étape est dédiée au traitement des données afin d’améliorer les performances de notre modèle
et de réduire le temps d’entraînement. Nous appliquerons diverses techniques d’apprentissage au-
tomatique, telles que la sélection des variables et la mise à l’échelle des données. Il s’agit d’une étape
essentielle de notre processus ML, visant à optimiser les résultats obtenus.

1. Nettoyage des données : La plupart des algorithmes d’apprentissage automatique ne peuvent


pas fonctionner avec les paramètres manquants. Si un attribut à des valeurs manquantes, nous
avons trois options pour remédier à cette situation :
• Option 1 : Supprimer les lignes qui ne contiennent pas de valeurs pour cet attribut.
• Option 2 : Supprimer l’attribut.
• Option 3 : Fixer les valeurs à une certaine valeur (zéro, la moyenne, la médiane, etc.)
Pour notre sujet on a choisit l’option 3, en calculant la moyenne des target capacity , et l’uti-
liser pour remplir les valeurs manquantes de cette attribut .
2. Le traitement des variables quantitatives (Encoding Categorical Features)
Les variables catégorielles ou quantitatives sont des variables non numériques et peuvent
souvent être caractérisées en catégories ou en groupes.

Il existe deux types de variables catégorielles :

Variables ordinales : les catégories ont un ordre inhérent.


Variables nominales : les catégories n’ont pas d’ordre inhérent.

La plupart des modèles d’apprentissage automatique n’acceptent pas les variables catégo-
rielles étant donné qu’ils effectuent des opérations mathématiques qui ont besoin de nombres,
ainsi nous appliquons des techniques d’encodage. Il existe plein de techniques d’encodage dif-
férentes, nous présentons dans ce qui suit les techniques d’encodage utilisés.
(a) One-Hot Encoding : L’encodage one-hot est un processus simple de représentation d’une
colonne de catégories sous forme de matrice binaire contenant les valeurs 0 ou 1. Dans ce
cas 0 représente l’absence, et 1 la présence .

67
(b) Label Encoding : Nous appliquons cette technique sur les variables catégorielles ordi-
nales. Cette méthode consiste a transformer les valeurs chaînes de caractères ou catégo-
rielles en valeurs de type entier exemple Nous utiliserons le Label Encoding sur l’attribut
cible type changing , 0 pour Modulation changing ,1 pour channel spacing changing , 2
pour software changing et 3 Hardware changing.(voir figure 5.12)

Figure 5.12 – Application du Label Encoding sur la variable changing type

3. Mise en échelle des données (Feature Scaling) : est une technique utilisée dans l’appren-
tissage automatique pour normaliser les données en ajustant les valeurs des caractéristiques
dans une échelle spécifique,afin de mettre toutes les caractéristiques sur une plage compa-
rable, ce qui peut améliorer les performances des algorithmes d’apprentissage automatique
et faciliter la convergence.

Dans notre cas , nous allons appliquer la technique de standardisation sur les attributs « Chan-
nelSpacing » , « Modulation »,« Target capacity » et « Actual capacity » également appelée
normalisation standard ou normalisation z-score, afin de mettre toutes les variables sur une
même échelle. Il existe plusieurs façons de réaliser la mise à l’échelle des variables, telles que
la normalisation, la mise à l’échelle robuste (Robust scaling) ou la mise à l’échelle Min-Max
(Min-Max Scaling).

En standardisation, les variables seront mises à l’échelle pour avoir une moyenne de 0 et un
écart-type de 1 similaire à une loi normale centrée réduite et la distribution résultante sera
entre -1 et 1. Les variables sont mises à l’échelle à l’aide de la formule ci-dessous :

z = (x − u)/(s) (5.1)
où ‘x’ est la variable de départ, ‘u’ est sa moyenne et ‘s’ est son écart type.

Méthodes et approches supervisée :

Une fois que nos données ont été prétraitées, nous abordons les algorithmes utilisées dans
notre solution à savoir Decision Tree, Random forest et XGboost (définit précédemment),
leurs choix a été motivé par le fait qu’ils ont donné les meilleurs résultats en termes de pré-
cision, recall et accuracy, ainsi que leurs adaptabilité a notre problème.

Pour la prédiction des actions d’engineering des liens de transmission nous avons choisi le
modèle eXtreme Gradient Boosting(XGBoost) qu’on a intégré dans notre solution.

68
Conclusion
Nous avons présenté à travers ce chapitre notre conception de la solution retenue. Nous avons
commencé par la conception de la zone d’entreposage,en justifiant nos choix tout au long de
cette phase. De plus, Nous avons détaillé la conception du modèle de prédiction des actions
d’engineering des liens de transmission .
Nous allons décrire dans le chapitre suivant les différentes étapes entrepris afin de réaliser la
phase de la mise en œuvre et de déploiement.

69
Chapitre 6

Réalisation et déploiement de la
solution

Après la conception de la solution on arrive maintenant à la phase de réalisation qui est l’étape
de mise en oeuvre de la solution.

Nous commençons par présenter l’environnement de développement matériel et logicielles


utilisé dans notre projet. Nous enchaînons avec le chargement du DW puis l’évaluation du
modèle mise en œuvre. Nous présentons par la suite l’interface réalisée pour illustrer le fonc-
tionnement de notre système ainsi que quelques résultats.

6.1 Les technologies et outils de développement utilisés


6.1.1 Environnement matériel
Pour la réalisation et le développement de l’application nous avons utilise des ordinateurs
dont les caractéristiques sont présente dans le tableau suivant :

Machine 1 Machine 2
Processeur Intel(R) Core(TM) i5-6300U CPU @ Intel(R) Core(TM) i5-7300U CPU @
2.40GHz 2.50 GHz 3.5Ghz
RAM 8,00 Go 8,00 Go
Type de système Système d’exploitation 64 bits Système d’exploitation 64 bits

Table 6.1 – Les caractéristiques des machines utilisées pour l’exécution

70
6.1.2 Environnements de développement
Jupyter : Nous avons utilisé Jupyter pour la création du modèle ML ,C’est un environnement
de développement interactif et polyvalent qui permet de combiner du code, des visualisations
et des explications dans des notebooks. Il facilite l’expérimentation interactive, la documen-
tation et le partage du code, ce qui en fait un outil précieux pour les tâches de développement,
d’analyse de données et de communication des résultats [35].

Visual Studio Code : Nous avons utilisé Visual Studio Code pour le développement de notre
solution.C’est un éditeur de code source polyvalent et largement utilisé. Il offre une interface
utilisateur conviviale, une prise en charge de nombreux langages, des fonctionnalités d’exten-
sion, une intégration Git, des capacités de débogage et de profilage, ainsi qu’une intégration
avec d’autres outils. Cela en fait un choix populaire pour le développement de logiciels dans
divers domaines et langages de programmation.[36]

6.1.3 Environnements logiciels :


Python : est un langage de script de haut niveau, structuré et open source. Il est interprété,
multiplateforme et prend en charge plusieurs paradigmes de programmation, notamment la
programmation orientée objet, impérative structurée et fonctionnelle. Python offre une sim-
plicité d’utilisation, une rapidité de développement et une grande flexibilité grâce à sa syntaxe
claire et à sa bibliothèque standard complète. Il est largement utilisé dans divers domaines tels
que le développement web, l’analyse de données et l’apprentissage automatique.[37]

Pandas : est une bibliothèque Python utilisée pour lire et manipuler des données provenant
de diverses sources,qui permet de créer des dataframes, d’effectuer des analyses agrégées et
de générer des graphiques à partir des données. Elle offre également des fonctionnalités pour

71
la manipulation de tableaux numériques et de séries temporelles , qui facilite ainsi le traite-
ment et l’analyse de données de manière efficace.[38]

Numpy : est une bibliothèque Python dédiée au calcul mathématique, en particulier aux
opérations liées à l’algèbre linéaire, qui offre des fonctionnalités avancées pour la manipula-
tion de matrices et de tableaux multidimensionnels, ainsi que pour l’application de fonctions
mathématiques sur ces tableaux. Elle est largement utilisé pour effectuer des calculs mathé-
matiques complexes de manière efficace en utilisant des structures de données optimisées.[39]

Scikit-Learn : est une bibliothèque libre d’apprentissage automatique pour le langage de


programmation Python. Elle propose divers algorithmes de classification, de régression et de
regroupement, notamment les machines vectorielles de support, Random forest, le gradient
boosting et k-means, et est conçue pour interagir avec les bibliothèques numériques et scien-
tifiques Python NumPy et SciPy.[40]

Matplotlib/Seaborn : Ce sont des bibliothèques écrites en python spécialisé dans la visua-


lisation des données, permettent d’afficher les données en format graphe, histogramme, box
plot,etc. Très utiles pour la compréhension des données.[41]

72
Django : est un framework web open source basé sur Python, conçu pour faciliter le dé-
veloppement rapide et sécurisé d’applications web,qui offre des fonctionnalités prédéfinies
pour les tâches courantes du développement web. Il intègre des outils pour l’authentification
utilisateur, la gestion des formulaires, la manipulation de bases de données, la sécurité et bien
plus encore et favorise les bonnes pratiques de développement. [42]

HTML/CSS : HTML (HyperText Markup Language) et CSS (Cascading Style Sheets)sont deux
langages essentiels pour la création de sites web.
HTML est le langage de balisage utilisé pour structurer le contenu d’une page web ,qui utilise
des balises pour décrire les éléments tels que les titres, les paragraphes, les images, les liens
et les formulaires afin de donner une structure sémantique au contenu, permettant aux navi-
gateurs et aux moteurs de recherche de comprendre et d’afficher les pages correctement.
CSS est un langage de feuilles de style utilisé pour définir l’apparence et la mise en page d’un
document HTML, qui permet de contrôler les couleurs, les polices, les marges, les bordures,
les arrière-plans et d’autres aspects visuels d’une page web. CSS sépare le style du contenu,
ce qui facilite la gestion et la mise à jour de la présentation d’un site web.[43]

bootstrap : est un framework populaire et puissant pour la conception de sites web réactifs.
Avec ses styles prédéfinis, sa grille flexible, ses composants personnalisables et ses fonction-
nalités JavaScript intégrées, Bootstrap permet aux développeurs de créer rapidement des sites
web modernes et attrayants, tout en offrant une excellente expérience utilisateur sur une va-
riété d’appareils.[44]

Chart.js : est une bibliothèque JavaScript utilisée pour créer des graphiques interactifs dans
les navigateurs web,qui offre une interface simple pour la création de graphiques tels que les
graphiques en barres, linéaires, circulaires, à aires, etc. Chart.js permet de personnaliser les
couleurs, les étiquettes et les axes des graphiques. Elle est largement utilisée pour visualiser
des données de manière claire et attrayante sur les pages web.[45]

73
jQuery : est une bibliothèque JavaScript populaire et légère qui simplifie la manipulation du
code HTML, l’interaction avec les événements de la page et la création d’animations ,qui offre
une syntaxe simplifiée et des fonctions puissantes pour sélectionner, modifier et réagir aux
éléments HTML,et ainsi facilite le développement d’applications web interactives et dyna-
miques en simplifiant les tâches courantes.[46]

6.2 Réalisation de la solution


La phase de mise en oeuvre s’est déroulée en plusieurs étapes qui sont :
• Implantation de l’entrepôt de données.
• L’alimentation de l’entrepôt de données ;
• L’évaluation du modèle de prédiction

6.2.1 Implantation de l’entrepôt de données


Pour ce projet, nous avons choisi d’utiliser MongoDB comme base de données. D’abord, on a
créé la base de données et l’a intégrée à mon application Django. Nous avons ensuite défini
les différentes tables, appelées "documents" dans le contexte de MongoDB, nécessaires pour
stocker les informations requises. Cela comprend des tables telles que les capacités, les liens,
les wilayas, les ports, les pla...etc. Cette approche de base de données MongoDB offre une
flexibilité et une évolutivité, et nous permet de stocker et interroger les données de manière
efficace tout en assurant une intégration harmonieuse avec notre application Django.

Figure 6.1 – l’entrepôt de données

74
6.2.2 L’alimentation de l’entrepôt de données
Nettoyage de données

Premièrement, nous avons passé par la phase de nettoyage des données qui vise à traiter les
données importées à partir de fichiers bruts (Excel et CSV). Elle vise à préparer les données
brutes pour une utilisation ultérieure en éliminant les erreurs, les incohérences et les valeurs
indésirables. Voici quelques étapes courantes dans notre processus de nettoyage des données :

• Suppression des valeurs manquantes : Les données peuvent contenir des valeurs man-
quantes ou nulles, ce qui peut affecter nos analyses ultérieures.
• Conversion des formats de données : Les données peuvent être stockées dans des for-
mats incompatibles avec l’analyse, tels que des chaînes de caractères au lieu de nombres.
Dans ces cas, nous avons converti les données dans les formats appropriés.
• Suppression des doublons : Les données peuvent contenir des entrées en double, ce
qui peut fausser les résultats de l’analyse. Il est important de détecter et de supprimer les
doublons, en conservant uniquement une entrée unique pour chaque observation.
• Nettoyage des valeurs incorrectes ou incohérentes : Les données peuvent conte-
nir des valeurs incorrectes ou incohérentes qui doivent être corrigées (généralement les
chaines de caractères). Cela peut impliquer la vérification des plages de valeurs valides,
l’élimination des valeurs impossibles.
• Suppression des colonnes inutiles (ou les parties inutiles des colonnes) et à conserver
uniquement les colonnes nécessaires pour votre analyse. Cela permet de réduire la taille
du jeu de données et de se concentrer sur les variables pertinentes.

Figure 6.2 – Nettoyage de données

75
Remplissage des données
Apres avoir créer les tables et nettoyé les données des fichiers CSV, nous avons utilisant des
script python, pour alimenter notre base de données avec les données nécessaire.

En utilisant ces scripts Python, nous avons pu automatiser le processus de chargement des
données dans notre base de données. Cela nous a permis d’optimiser l’efficacité et la fiabilité
du processus, en réduisant les erreurs potentielles et en assurant la cohérence des données.

Ces scripts ont été développés pour lire les données du fichier CSV, les transformer si néces-
saire et les insérer dans les tables correspondantes de la base de données.

Figure 6.3 – Remplissage de la table Links microwave

6.2.3 L’évaluation du modèle de prédiction


Partition des données
Le jeux de données est divisé en deux ensemble a savoir :
— un ensemble X contient l’ensemble des données des variables predictives.
— un ensemble y contient la variable cible changing type ,qui est l’action a effectuée sur les
liens en cas de demande d’extension de capacité des sites .

Ensuite on définit l’ensemble de l’entraînement et l’ensemble de test en utilisant la fonction


train test split de la librairie sklearn en attribuant 80% de jeu de données a l’ensemble d’en-
traînement (train set) et 20% ‘a l’ensemble de test (test set).

Figure 6.4 – Partition des données

76
Application des algorithmes

Nous avons sélectionné les algorithmes suivants :Decision Tree, Random Forest et XGBoost
qui sont les mieux adapter a notre sujet qui est la prédiction des actions d’engineering des
liens de transmission qui est un problème multiclasse . Les paramètres ajustés pour chaque
algorithme sont résumés dans le tableau ci-dessous :

Algorithme Paramètres
Decision Tree Par défaut
Random forest n_estimators = 40, max_features = sqrt,
max_depth = 20,random_state = 30
XGboost num_class=num_class, booster=gbtree,
max_depth=6 ,subsample=0.8 ,lear-
ning_rate=0.3, n_estimators = 160
,reg_alpha=0.001, seed = 103
Table 6.2 – Le réglage des paramètres pour chaque algorithme

Évaluation

Pour évaluer et interpréter les résultats de nos modèles de prédiction des actions d’engi-
neering des liens de transmission en cas de demande d’extension de capacité des sites , nous
pouvons examiner les différentes métriques : recall (rappel), précision et f1-score pour chaque
classe et accuracy (incertitude) ainsi que le temps d’exécution :

Algorithme Accuracy Rappel Précision Score F1


Decision Tree 98,38 % 98,16 % 98,68 % 98,41 %
Random forest 98,89% 98,85% 98,96% 98,91%
XGboost 99.29% 99.28% 99.41% 99.35%

Table 6.3 – Comparaison des résultats

Nous observons que les trois modèles ont obtenu des performances élevées , mais le modèle
XGboost a donné le meilleur résultat(F1- score,Accuracy,Rappel,Précision ) en comparent aux
autre modèles, cela comme expliqué avant est dû au fait que XGboost est un algorithme de
Boosting à base d’arbres, cet algorithme améliore les arbres de décision avec l’apprentissage
d’ensemble et le bagging, etc. cela convient à notre problème hiérarchique.

77
6.3 L’interface de l’application
6.3.1 La page « Signin » and « Signup » :
Dans le cadre de notre projet, nous avons mis en place un système de connexion (Signin) et
d’inscription (Signup) afin de fournir aux utilisateurs un accès sécurisé à notre plateforme.
Le processus de Signin permet aux utilisateurs existants de se connecter à leur compte en
fournissant leurs informations d’identification (nom d’utilisateur et le mot de passe). Cette
étape d’authentification est essentielle pour garantir que seuls les utilisateurs légitimes (Ser-
vice transmission - Djezzy) ont accès à leurs comptes et aux fonctionnalités de l’application.

Figure 6.5 – La page « Signin »

Quant au processus de Signup, il s’agit de permettre aux nouveaux utilisateurs de créer un


compte sur notre plateforme. Lors de l’inscription, ils doivent fournir des informations de
base (nom d’utilisateur, adresse e-mail et le mot de passe). Cette étape nous permet de re-
cueillir les informations nécessaires pour créer un compte unique pour chaque utilisateur.
Certains critères et conditions doivent être vérifiés pour créer un compte valide. Les condi-
tions d’inscription comprennent :

(a) Longueur du mot de passe : Le mot de passe fourni doit avoir une longueur minimale de
8 caractères. Cela garantit que les utilisateurs choisissent des mots de passe suffisamment
longs et sécurisés pour protéger leur compte.

(b) Email d’un ingénieur Djezzy : L’adresse e-mail fournie lors de l’inscription doit être une
adresse e-mail valide d’un ingénieur de Djezzy. Cette condition peut être vérifiée en s’as-
surant que l’adresse e-mail fournie se termine par "@djezzy.dz". Cela garantit que seuls les
employés autorisés de Djezzy peuvent créer un compte sur la plateforme.

78
(c) Nom d’utilisateur unique : Chaque utilisateur doit choisir un nom d’utilisateur unique
lors de l’inscription. Cela signifie que le nom d’utilisateur sélectionné ne doit pas être déjà
utilisé par un autre utilisateur sur la plateforme. Cette vérification est essentielle pour ga-
rantir l’unicité des comptes et permettre une identification précise des utilisateurs.

Figure 6.6 – La page « Sign up »

6.3.2 La page principale « Home » :


C’est la première page qui s’affiche après la connexion à un compte. Elle offre aux utilisateurs
une description concise du fonctionnement de la plateforme et présente les différentes pages
et fonctionnalités qu’ils peuvent explorer.

79
Figure 6.7 – La page principale « Home »

La page « Links » :

Après avoir cliqué sur le bouton "Link", l’utilisateur est redirigé vers cette page où il est invité
à entrer les chemins absolus des dossiers "Links" et "PLA". Ces dossiers contiennent plusieurs
fichiers (plus de 60) qui nécessitent un processus de nettoyage et de traitement. Pendant cette
étape, des jointures seront effectuées avec d’autres tables stockées dans la base de données
(telle que Wilaya, Capacités, Pla et Port) pour enrichir les données. Une fois ce processus ter-
miné, les données sont prêtes à être visualisées et exploitées dans la suite de l’analyse.

Figure 6.8 – La page « Links »

80
6.3.3 Page « Dashboard » :
Après avoir saisi les liens nécessaires et cliqué sur le bouton "Submit", une page s’affiche avec
un tableau de bord. Ce tableau de bord comprend un graphique à barres (Bar charts),un gra-
phique en courbe (Line Chart), un graphique circulaire (pie charts) et un graphique en forme
de donut, qui présentent des statistiques détaillées sur le trafic des liens tout au long de la
journée (voir figure 6.9).

Figure 6.9 – Page « Dashboard »

81
Les résultats affichés dans cet exemple (voir figure 6.10) sont basés sur les données suivantes :

— La date des données saisies :11-06-2023.


— Le nombre total des liens : 4116.
— Le nombre de liens ayant une saturation entre 0% et 50% :2344.
— Le nombre de liens ayant une saturation entre 50% et 80% :1567.
— Le nombre de liens ayant une saturation entre 80% et 90% :137.
— Le nombre de liens ayant une saturation entre 90% et 100% :68.

Figure 6.10 – Barre d’informations

Diagramme à barres :

Cette représentation permet de comparer les plages de saturation mentionnées précédem-


ment entre déférentes Wilaya, il met en évidence les variations de saturation d’une wilaya
à l’autre, ce qui peut être utile pour identifier les zones ou des mesures d’optimisation ou
d’ajustement de la capacité peuvent être nécessaires.
Cela permet également de mettre en évidence les wilayas présentant des problèmes de satu-
ration plus importants ou, à l’inverse, des wilayas où la saturation est relativement faible. Ces
informations peuvent être précieuses pour la planification et la gestion du réseau de liens.

Figure 6.11 – Diagramme à barres

82
Graphique en courbe (Line Chart) :

Cette représentation permet d’observer les variations du nombre de liens présentant une sa-
turation comprise entre 80% et 90% (Affichés en orange) ainsi que ceux dépassant les 90%
(Affichés en rouge) de saturations tout au long de la semaine. Afin d’identifier les jours de la
semaine ou les liens sont les plus saturés, ainsi que déterminer si un liens atteint la saturation
plusieurs fois par semaine.
Ces intervalles de saturations sont essentiels pour les ingénieurs de Djezzy, car ils indiquent
les liens qui sont surchargés. Cela permet aux ingénieurs de prendre des mesures pour optimi-
ser le réseau et améliorer la qualité de l’expérience utilisateur. La surveillance de ces valeurs
est cruciale pour éviter les problèmes de congestion et planifier les augmentations de capacité
nécessaires.

Dans l’exemple fourni (voir figure 6.12), nous pouvons constater les évolutions suivantes :
— Le nombre des liens présentant une saturation entre 80% et 90% au cours des sept dernières
mesures est le suivant : 97, 69, 107, 150, 137, 116, 122.
— Le nombre des liens dépassant les 90% de saturation au cours des sept dernières mesures
est le suivant : 33, 30, 51, 77, 68, 55, 67.

Figure 6.12 – Graphique en courbe

Diagramme circulaire :

Indique le nombre des sites atteignant leur pic de saturation (Saturation maximale) dans dé-
férentes plages d’horaire. Par exemple dans cet exemple précis, nous avons (voir figure 6.13) :

— Le nombre de liens atteignant leur Pick entre 19h et 20h30 : 637.


— Le nombre de liens s atteignant leur Pick entre20h30 et 22h : 1014 .
— Le nombre de liens atteignant leur Pick entre 22h et 23h30 : 1104.
— Le nombre de liens atteignant leur Pick entre 23h30 et 01h : 1361.

83
Figure 6.13 – Diagramme circulaire

Autres fonctionnalités de cette page :

L’utilisateur a la possibilité de faire des filtres en utilisant divers paramètres tels que le nom
du lien, la Wilaya et la date. De plus, il peut spécifier les intervalles de charge des liens qu’il
souhaite afficher, ce qui lui permet de se concentrer sur les périodes spécifiques qui l’inté-
ressent le plus.

Une fonctionnalité supplémentaire importante, c’est la possibilité de télécharger les résultats


obtenus au format CSV, si nécessaire. Cela permet à l’utilisateur de conserver une copie des
données analysées ou de les partager avec d’autres parties prenantes.

Ce Dashboard offre une visualisation claire et interactive des résultats des analyses effectuées
sur les liens. Elle fournit des tableaux de bord riches en informations, des options de recherche
flexibles et la capacité de télécharger les données analysées, offrant ainsi aux utilisateurs une
plateforme complète pour explorer et comprendre les performances des liens.

Prenons l’exemple de la wilaya de Mascara du jour 04-06-2023 représenté par la figure 6.14

84
Figure 6.14 – Page « Dashboard » de la wilaya Mascara

85
Les résultats de l’analyse sont :

— La date des données saisies :04-06-2023.


— La wilaya sectionnée : MASCARA
— Le nombre total des liens (Dans Mascara) : 157.
— Le nombre des liens ayant une saturation entre 0% et 50% :67.
— Le nombre des liens ayant une saturation entre 50% et 80% :79.
— Le nombre des liens ayant une saturation entre 80% et 90% :06.
— Le nombre des liens ayant une saturation entre 90% et 100% :05.

Figure 6.15 – Barre d’informations de la wilaya de « Mascara »

Diagramme à barres :
Il fournit une visualisation claire du nombre de liens dans chaque plage de saturation spéci-
fique dans la wilaya de « Mascara » le jour 04-06-2023 .

Figure 6.16 – Diagramme à barres de la wilaya « MASCARA »

Graphique en courbe (Line Chart) :


Apres avoir appliquer le filtrage par Wilaya, le graphique affiche cette fois l’évolution de la
wilaya sélectionnée au cours des sept dernières mesures. Dans cet exemple pour la wilaya de
MASCARA nous observons les évolutions suivantes :

— Le nombre des liens dans la wilaya de MASCARA présentant une saturation entre 80% et
90% au cours des sept dernières mesures est le suivant : 13, 7, 6, 6, 6, 7, 9.
— Le nombre des liens dans la wilaya de MASCARA dépassant les 90% de saturation au cours
des sept dernières mesures est le suivant : 3, 2, 5, 5, 7, 6, 7.

86
Ces données spécifiques à la wilaya MASCARA permettent aux ingénieurs de Djezzy de suivre
de près la saturation des liens dans cette zone particulière et de prendre des mesures ciblées
pour optimiser les performances du réseau et garantir une connectivité fiable.

Figure 6.17 – Graphique en courbe de la wilaya « MASCARA »

Diagramme circulaire :
Le nombre des liens atteignant leur pic de saturation (Saturation maximale) dans dé- férentes
plages d’horaire pour la wilaya de MASCARA le jour 04-06-2023.est le suivant :

— Le nombre des liens atteignant leur Pic entre 19h et 20h30 : 32.
— Le nombre des liens atteignant leur Pic entre 20h30 et 22h : 38 .
— Le nombre des liens atteignant leur Pic entre 22h et 23h30 : 59.
— Le nombre des liens atteignant leur Pic entre 23h30 et 01h : 28.

En dessous, on peut trouver aussi une table contenant les noms des liens ayant une saturation
entre 90% et 100%, ainsi que les informations suivantes, : leur saturation exacte, et l’heure a
laquelle ils ont atteint cette saturation.

Figure 6.18 – Diagramme circulaire de la wilaya « MASCARA »

87
6.3.4 La page « Paths » :
La page "Paths" offre à l’utilisateur la possibilité de sélectionner un code spécifique provenant
de n’importe quel site "Huawei" en Algérie. Une fois sélectionné, l’utilisateur peut choisir
l’une des deux options disponibles : "Paths" ou "GNE". Chaque option applique une méthode
de recherche distincte pour obtenir des informations spécifiques, qui seront détaillées ulté-
rieurement dans cette partie du rapport.

Figure 6.19 – La page « Paths »

6.3.5 La page "PathResult" :


Elle est dédiée à l’affichage des résultats après avoir sélectionné un site et une option de re-
cherche. Une fois que l’utilisateur a effectué la recherche, les résultats sont présentés sous
forme d’un graphe, qui représente de manière visuelle les informations pertinentes.

(a) Option « GNE » : Dans cette parie l’utilisateur aura l’accès à l’information relative à
l’option « GNE » en utilisant l’algorithme « Fonction SearchGN » définit précédemment .

Cette méthode de recherche permet d’identifier tous les sites qui sont liés directement au GNE
(mis en rouge )sélectionné, en fournissant aussi des informations détaillées telles que leurs
capacités et les différents paramètres des liens tels que la modulation et le Channel spacing.

88
Figure 6.20 – La page "PathResult" option de « GNE »

Dans cet exemple (figure 6.20), Le GNE "O29T112R" comme référence, nous pouvons consta-
ter qu’il génère un graphique qui affiche tous les sites qui sont directement connectés au
GNE (mis en rouge). Pour chaque lien présent dans le graphique, tous les paramètres men-
tionnés précédemment sont également inclus, Cette visualisation permet de comprendre la
quantité de données que le GNE du site donné reçoit en provenance des autres sites directe-
ment connectés.

(b) Option « path » : Cette fonctionnalité offre une vision d’ensemble de la structure de
connectivité en mettant en évidence les liens entre les différents sites. Nous avons utilisé la
méthode de recherche en profondeur définit précédemment

Figure 6.21 – La page "PathResult" Option « path »

89
Cette méthode de recherche génère un graphe complet (voir figure 6.21) qui représente le
chemin du site entré (mis en vert) jusqu’à son GNE (mis en rouge), ainsi que tout le sous-
graphe qui commence à partir du GNE-1 (c’est-à-dire l’avant-dernier élément du chemin). En
utilisant cette méthode, tous les sites qui sont liés au site entré sont inclus dans le graphe
résultant, avec leurs connexions respectives. Le sous-graphe à partir du GNE-1 représente
tous les sites qui sont connectés directement ou indirectement au GNE-1, les liens bloqués (
liens pointillés en rouge ) et toutes les informations liées à ces liens tels que la modulation et
Channel Spacing.

Cela permet d’obtenir une vue globale de la structure de connectivité, en mettant en évidence
les liens entre les sites, y compris le site entré, le GNE et les autres sites connectés. Cette re-
présentation graphique facilite l’analyse des connexions et permet de visualiser les relations
entre les sites dans le contexte du réseau global, et permet après de passer a la partie prédic-
tion (qui sera détaillé au-dessous).

En se basant sur l’exemple donné( figure 6.21) , voici les informations que nous pouvons ex-
traire pour le site , "029X066" :

— Le GNE du site entré est « O29T112R ».


— Les sites qui sont directement liés au site « 029X066 » sont «029X046»,«029X087» et
«029X156»
— Les sites qui sont indirectement liés au site « 029X066 » sont : «029X164», «029X094»,
«029X112R», «029X062», «029X001» et «O29X105 » .
— En cliquant sur les liens, il est possible consulter les paramètres suivants :nom du lien, la
source, la destination, source protect type, source XPIC, modulation, Channel Spacing et la
capacité du lien. Ces informations fournissent des détails essentiels sur les caractéristiques
des liens.

6.3.6 La page « Prédiction »


Apres avoir généré le graphe avec l’option de « PATH », vous remarquez qu’il y a une table
a gauche de la page comportant deux colonnes, la première colonne est intitulée « Site Name
»et elle contient tous les noms des sites affichés (a l’exception du GNE), et la deuxième co-
lonne « Target capacity » et elle permet à l’utilisateur de remplir les nouvelles capacités qu’il
souhaite appliquer sur les sites.

90
Figure 6.22 – La page « Prédiction »

En gardant toujours le même site « « 029X066», et en remplissant les valeurs de « target ca-
paciy » pour chaque site, nous pouvons cliquer sur le button « submit » afin d’envoyer les
données pour effectuer la prédiction et obtenir les résultats à afficher a l’utilisateur.

Après avoir cliqué sur le button « submit », vous pourrez visualiser les résultats de la prédic-
tion pour chaque site. Ces résultats indiqueront les actions que l’utilisateur doit appliquer a
chaque site afin d’atteindre les target capacities précédemment saisie. Les actions proposées
peuvent inclure des changements de modulation, de Channel Spacing, Software changing ou
Hardware changing.

Figure 6.23 – Affichage résultat Prédiction

Dans l’exemple spécifique (figure 6.23), les actions à entreprendre pour satisfaire la prédiction
comprennent les actions suivantes :
— Channel Spacing changing sur le lien entre "O29X156" et "O29X046" : Pour atteindre la
capacité cible spécifiée pour ce lien, il est suggéré de modifier le Channel Spacing. Cela

91
peut impliquer des ajustements dans la configuration des canaux de transmission pour
optimiser l’utilisation du spectre et améliorer les performances du lien.
— Software changing sur le lien entre « O29X087 » et « O29X046 » :
— Hardware changing sur le lien entre "O29T112R" et "O29X046" : Pour atteindre la capacité
cible spécifiée pour ce lien, il est suggéré d’effectuer un changement de matériel. Cela
peut impliquer le remplacement ou la mise à niveau des équipements matériels utilisés
pour assurer une meilleure performance et une capacité accrue du lien.
— Ces actions de prédiction sont proposées comme des solutions potentielles pour atteindre
les capacités cibles spécifiées. L’utilisateur peut prendre en compte ces suggestions et dé-
cider de les mettre en œuvre ou de les ignorer en fonction des contraintes, des ressources
disponibles et des objectifs spécifiques du réseau de liens Huawei en Algérie.

6.3.7 La page « Update » :


Cette page (voir figure 6.16) offre à l’utilisateur la possibilité de mettre à jour la base de don-
nées lorsqu’il est nécessaire d’ajouter de nouvelles données. Avant d’intégrer ces nouvelles
données, elles sont préalablement nettoyées pour garantir leur qualité et leur intégrité. Le
processus de nettoyage des données comprend des étapes telles que la suppression des va-
leurs vides, la correction des formats incorrects, la normalisation des valeurs et la suppression
des doublons. Cette étape de nettoyage est essentielle pour maintenir la cohérence des infor-
mations stockées dans la base de données et garantir la fiabilité des résultats obtenus lors des
analyses et des visualisations ultérieures.

Une fois les données nettoyées, elles sont intégrées à la base de données existante, ce qui
assure que les informations sont à jour et prêtes à être utilisées dans les différentes fonction-
nalités du système. En permettant aux utilisateurs de télécharger et d’intégrer de nouvelles
données nettoyées, la page "Update" offre un moyen pratique et efficace de maintenir la base
de données à jour, garantissant ainsi la pertinence et l’exactitude des résultats obtenus dans
les différentes fonctionnalités du système.

Figure 6.24 – La page « Update »

92
Conclusion générale

"La théorie, nous montre le but à atteindre.


La pratique, nous montre le terrain à parcourir."
(Albert Einstein)

Ce travail intitulé « Création d’un Dashboard de gestion des Performances et Monitoring des
liens de Transmission de l’opérateur Djezzy» a été mené dans le but de soutenir l’entreprise
Optimum Télécom Algérie SPA à améliorer les capacités et les performances de leurs réseaux
de transmission.

Le défi principal de notre projet était de proposer une solution qui permet d’améliorer les ca-
pacités et les performances du réseau en détectant rapidement les problèmes potentiels et en
prenant les décisions nécessaires pour l’optimiser,Cette solution consistait à créer un tableau
de bord, qui devait fournir une vue d’ensemble en temps réel de l’état du trafic des liens de
transmission. De plus, il devait permettre la visualisation du chemin emprunté par ses liens,
ainsi que la prédiction des actions d’engineering nécessaires pour atteindre les objectifs de
capacité fixés.

La réussite de ce projet nécessitait d’abord une bonne compréhension des concepts des ré-
seaux de télécommunications en particulier les réseaux de transmission ; de plus la transmis-
sion microwave, ainsi que problématique et du besoin de l’entreprise.

Dans la première partie de notre projet nous avons commencé par un état de l’art dans lequel
nous avons étudié les différents aspects théoriques de notre travail, concernant les systèmes
d’information décisionnels et l’apprentissage automatique .

Ensuite, nous avons entamé la phase d’étude de l’existant. Dans laquelle nous avons récolté
les besoins exprimés par les décideurs de l’entreprise, en utilisant les différentes techniques
de collecte de besoins.Par la suite, nous avons entamé la conception de notre solution qui se
composait de deux parties la conception du DW et la conception du modèle de prédiction en
se basant sur les besoins de l’entreprise.

Finalement, nous avons entamé la phase implémentation qui consiste à réaliser notre solution
en utilisant le langage de programmation python pour la création d’une plateforme web qui
permettait aux décideurs d’accéder rapidement à des informations exploitables.

Notre projet de fin d’étude dans l’entreprise Djezzy a été une période d’apprentissage enri-
chissante,qui nous a permis d’élargir nos connaissances et compétences dans le domaine de
la business intelligence et le Machine learning. Nous avons été immergés dans le fonctionne-
ment concret d’une entreprise ou nous avons réussi à leur fournir une solution satisfaisante
pour gestion des réseaux de transmission .
Certaines orientations futures de ce système pour des améliorations envisageables sont citées

93
ci-dessus :

• Accès direct aux données en temps réel : En établissant une connexion directe avec la base
de données de l’entreprise, les utilisateurs de la plateforme pourront accéder aux données
en temps réel, sans avoir à télécharger et à importer manuellement les fichiers CSV. Afin de
faciliter l’utilisation de la plateforme et permettre d’afficher les résultats instantanément,
offrant ainsi une visualisation en temps réel de la performance du réseau.

• Alertes en cas de dépassement des seuils : En mettant en place des alertes, les utilisateurs
seront notifiés lorsque la saturation d’un site dépasse un seuil critique, par exemple 90% ; ce
qui permettra aux équipes d’intervention d’être informées rapidement des problèmes po-
tentiels et de prendre des mesures immédiates pour résoudre les pannes ou les problèmes
de capacité, réduisant ainsi les temps d’arrêt et améliorant la qualité du service.

• Renforcement de la sécurité de la plateforme : En intégrant un administrateur dans chaque


secteur de Djezzy à travers l’Algérie, vous renforcez la sécurité de la plateforme. Ces ad-
ministrateurs locaux seront responsables de la gestion des autorisations d’accès, de la sur-
veillance de l’utilisation de la plateforme et de la prévention des accès non autorisés, ga-
rantissant ainsi la confidentialité et l’intégrité des données.

• Optimisation des chemins vers les GNE : En analysant les sites et les GNE disponibles,
les fonctionnalités pourraient proposer des chemins plus logiques pour les sites afin de se
connecter au GNE le plus proche. Cela permettrait d’améliorer l’efficacité du réseau, de
réduire la latence et d’optimiser les performances globales.

• Enrichir les données d’entraînement du modèle de prédiction avec un dataset plus volumi-
neux, servant de meilleure base pour la prédiction la prédiction des actions d’engineering.

94
Bibliographie

[1] HADJI Souad, Ramdani Nassima. Mise En place d’une solution de business intelligence,
Cas : société de vente de matériel informatique,Mémoire de Master, Université de Tizi-Ouzou
2020.

[2] Ines Dabbebi. Conception Et génération dynamique de tableaux de bord d’apprentissage


contextuels, Article, Le Mans Université, 2019.

[3] Fernandez, A. (2013). Les nouveaux tableaux de bord des managers.

[4] Inmon, W. H. (2005). Building the Data Warehouse : Second Edition.

[5] SOUICI, Ismahane. (2016). Modélisation en Aide à la Décision.

[6] Data Warehouse Systems Design and Implementation (Alejandro Vaisman, Esteban Zimá-
nyi) Springer (2014) p.53 ,p.121, p.123

[7] R. Kimball, M. Ross -The Data Warehouse Toolkit the definitive guide to dimensional mo-
deling, 3rd Edition -Wiley (2013) p.18

[8] Data Warehousing Fundamentals for IT Professionals 2nd edition (Paulraj Ponniah) Wi-
ley(2010)

[9] , F.Z. (). Mise en place d’un Système d’Information Décisionnel pour le Suivi et la Préven-
tion des Epidémies. Thèse, Informatique, l’université lumière lyon 2, France.

[10] Poletto, M. (2012). L’informatique décisionnelle. Thèse professionnelle en Informatique.


France : Ecole Supérieure d’Informatique CESI EXIA

[11]Kimball, R., Margy, R., and Raimond, C. (2003). Entrepôts de données. Guide pratique de
modélisation dimensionnelle, 2eme édition.

[12] (Nazih selmoune) Prof à l’USTHB. Cours Entrepôt de données MIND M1 2020/2021

[13] (Nazih selmoune) Prof à l’USTHB. Cours Entrepôt de données MIND M1 2020/2021

[14] http ://formations.imt-atlantique.fr/bi/bi_architectures.html

[15](Kimball Ross, 2008) The Data Warehouse Toolkit : The Complete Guide to Dimensional
Modeling, 2008).

[16] Vaisman Alejandro, Zimányi Esteban Data Warehouse Systems, Softcover reprint of the

95
original 1st ed. 2014

[17] J. Ross Quinlan. Induction of decision trees. Machine learning, 1(1) :81–106, 1986.

[18] Marref, Nadia (2013) Apprentissage Incremental Machines ‘a Vecteurs Supports. Thèse
de Magister, Université de Batna 2.

[19] Laurent Candillier, 2006. Contextualisation, Visualisation et Evaluation en Apprentis-


sage Non Supervise. Autre [cs.OH]. Universite Charles de Gaulle - Lille III.

[20]https ://www.simplilearn.com/tutorials/machine-learning-tutorial/random-forest-algorithm

[21] https ://www.tibco.com/reference-center/what-is-a-random-forest

[22]https ://machinelearningmastery.com/extreme-gradient-boosting-ensemble-in-python/

[23]https ://www.researchgate.net/figure/Flow-chart-of-XGBoost_fig3_345327934

[24] Ricco RAKOTOMALALA , 2005. Arbres de Decision.Laboratoire ERIC Universite Lu-


miere Lyon 2 5, av. Mendes France .

[25] https ://blent.ai/blog/a/apprentissage-supervise-definition

[26] https ://larevueia.fr/apprentissage-par-renforcement/

[27] H. Mason and C. Wiggins ,2010. A Taxonomy of Data Science.

[28] Cour introduction AI école gomycode.

[29]https ://www.researchgate.net/publication/355096788_Confusion_Matrix

[30] https ://www.datasciencecentral.com/roc-curve-explained-in-one-picture/

[31] https ://www.djezzy.dz/djezzy/nous-connaitre/a-propos-de-djezzy/

[32] Document transmis par djezzy "présentation de djezzy et service de transmission".

[33]https ://www.telecomhall.net/t/general-architecture-and-working-principle-of-2g-3g-4g-
and-5g/23001

[34] Rapport de stage transmission microwave-NEDJARI Houssem Eddine 2015

[35] https ://www.lebigdata.fr/jupyter-notebook

[36] https ://www.educative.io/answers/what-is-visual-studio-code

[37] https ://www.python.org/doc/essays/blurb/

[38] https ://www.educative.io/answers/what-is-describe-in-pandas

96
[39] https ://datascientest.com/numpy

[40] https ://www.activestate.com/resources/quick-reads/what-is-scikit-learn-in-python/


.
[41] https ://builtin.com/data-science/data-visualization-tutorial

[42] https ://python.doctor/page-django-introduction-python

[43] https ://www.futurelearn.com/info/blog/what-are-html-css-basics-of-coding

[44] https ://www.techtarget.com/whatis/definition/bootstrap


[45] https ://www.tutorialspoint.com/chartjs/chartjs_quick_guide.htm

[46] https ://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/1203587-jquery-


definition/

97

Vous aimerez peut-être aussi