Vous êtes sur la page 1sur 87

Dpartement : STIC

Rfrence :

Licence Applique en Science et


technologies
de linformation et de la
communication
Option RST-C

Application de gestion des


incidents
Ralis par : Chouchene hamza &
Oussama Faidi
Classe : L3 RST C
Encadrs par : M. Marouene Boubakri
M. NizarMontassar
Entreprise dAccueil : Agence Tunisienne
dinternet
Anne Universitaire : 2014-2015

Ddicaces
Nous ddions ce projet de fin dtudes en
tmoignage de notre gratitude et de
tous nos respect :
Nos parents pour toute laffection, tous les
sacrifices et
les encouragements quils nont pas cess
de nous
prodiguer tout au long de nos tudes.

A nos frres et nos surs pour leur amour et


leur
Soutien inconditionnel,
A toute nos familles,
Et A tous nos amis o quils soient.

A tous ceux qui nous ont soutenus tout au


long de ce
projet.

Oussama FAIDI & Hamza CHOUCHEN

Remerciement
Au terme de ce travail, nous saisissons loccasion pour rserver
ces quelques lignes en signe de gratitude tous ceux qui ont
particip la prparation de ce projet.

En premier lieu, nous adressons nos vifs remerciements nos


encadreurs Mr Marwen BOUBAKRI et Mr Nizar MONTASSAR
pour leurs aides apprciables et leurs encadrements fructueux,
pour la confiance quil nous a accorde afin de mener bien ce
projet de fin dtudes. Quils trouvent dans ce travail lexpression
de nos profondes gratitudes.

Nous exprimons galement notre gratitude tous les enseignants


de lISETCOM pour leurs encouragements, leurs conseils ainsi
que leurs confiances.

Nous noublierons pas de remercier tous les membres du jury qui


ont accord un temps au jugement de ce travail et pour lhonneur
quils nous ont fait en acceptant de valider notre projet de fin
dtude.

Rsum
La supervision est avant tout un moyen de rduire la
vulnrabilit du systme dinformation par le biais dune analyse
exhaustive des intrusions possibles, puis de protger
lenvironnement informatique interne et externe de lentreprise de
toute intrusion possible ou surveillance malveillante. Cela se fait
gnralement au moyen de logiciels de scurit performants.
Notre projet consistait crer un outil de supervision rseau
dont les principales fonctionnalits sont la cartographie des
rseaux partir des informations rcuprables en interrogeant les
quipements rseau avec le protocole SNMP, cet outil permet de
collecter les pannes et les anomalies du systme supervis, et les
mettre dans une base de donnes. La solution serait donc la mise
en place d'un systme renvoyant des alertes emails en cas de
problme et qui gre des statistiques. Cela nous permettrait dtre
avertis en cas despace disque faible ou en cas de seuils dpasss.

Abstract
Supervision is primarily a means to reduce the vulnerability of
information systems through a comprehensive analysis of possible
intrusions and protect internal and external IT environment of the
company from any possible intrusion or malicious surveillance.
This is usually done through software performance security.
Our project was to create a monitoring network tool whose
main features are mapping networks from recoverable information
by querying network devices with SNMP, collect failures and
anomalies of supervised systems, and present data graphically.
The solution would be the establishment of a system sending
emails alerts in case of problems. This would allow us to be
notified in case of low disk space or if thresholds exceeded.

Glossaire
-AATI

AgenceTunisiennedInternet

-DISO

International Organization for Standardization

IP

Internet Protocol

ICMP

Internet Control Message Protocol

-M5

MIB
MS

Management Information Base


Management System

-N
NMS

Network Management System

-OOID
OSI

Object Identifier
Open system interconnection

-S SNMP

Simple Network Management Protocol

-TTCP

Transmission Control Protocol

-UUDP

User Datagram Protocol

UML

Unified Modeling Language

Liste des figures


Figure 1: logo ATI...................................................................................... 14
Figure 2: Organigramme de l'ATI............................................................16
Figure 3: Diagramme de Gantt................................................................20
Figure 4 : Exemple d'un arbre MIB.........................................................25
Figure 5: accs au MIB............................................................................. 30
Figure 6 : Diagramme d'utilisation gnral.............................................37
Figure 7: Diagramme de squence d'authentification.............................42
Figure 8: Diagramme de squence "supervision"..................................43
Figure 9: Diagramme de squence grer les alertes .........................44
Figure 10: Diagramme de dploiement...................................................45
Figure 11: Diagramme d'activit.............................................................46

Figure 12: la table Trap dans la base de donnes.....................................52


Figure 13: interface d'authentification.....................................................54
Figure 14: interface de gestion des utilisateurs........................................55
Figure 15: interface de gestion des quipements....................................56
Figure 16 : interface gestion des graphs.............................................56
Figure 17: capture wireshark d'une tamesnmp v3...................................63
Figure 18: interface de fonctionnalit snmp.............................................69
Figure 19: Paramtrage snmp.................................................................70

Table des tableaux


Tableau
Tableau
Tableau
Tableau
Tableau

1: Requtes SNMP.....................................................................26
2: Description de l'authentification............................................38
3:Description.............................................................................. 39
4: Grer parc informatique........................................................40
5: Gner des alertes...................................................................40

Sommaire
Glossaire.................................................................................................... 5
Liste des figures......................................................................................... 6
Table des tableaux..................................................................................... 7
Introduction gnrale............................................................................... 11
Chapitre 1 : Prsentation du projet..........................................................13
1.1

Introduction................................................................................. 13

1.2

Prsentation de lATI....................................................................13

1.2.1

Le Systme Des Tlcommunications En Tunisie..........13

1.2.2

La direction technique de lATI..............................................14

1.2.3

Lorganigramme de lATI.......................................................16

1.3

tude de lexistant.......................................................................16

1.4

Solution propose........................................................................17

1.5

Contribution................................................................................. 17

1.6

Impact du projet..........................................................................18

1.7

Gestion du projet.........................................................................19

1.7.1

Mthodologie du Travail........................................................19

1.7.2

Planification du projet............................................................20

1.8

Conclusion................................................................................... 21

Chapitre 2 : Etat de lart...........................................................................22


2.1

Introduction................................................................................. 22

2.2

Qu'est-ce qu'un superviseur........................................................22

2.3

Le protocole SNMP : Dfinition et

fonctionnement...................23

2.3.1

Fonctionnement gnral de SNMP.........................................23

2.3.2

SMI : Structure of Management Information..........................24

2.3.3

Extension de la MIB...............................................................25

2.3.4

Les diffrents types doprations..........................................25

2.3.5

Format des messages SNMP (Les traps)................................28

2.3.6

Les noms de communauts...................................................30

2.3.7

Les agents SNMP...................................................................31

2.3.8 Les manageurs SNMP...............................................................32


2.4

Conclusion................................................................................... 33

Chapitre 3 : Conception............................................................................34
3.1

Introduction :............................................................................... 34

3.2

Analyse et spcification des besoins :.........................................34

3.2.1

Les besoins fonctionnelles :...................................................34

3.2.2

Les besoins non fonctionnelles..............................................35

3.3

Conception.................................................................................. 36

3.3.1

UML (UnifiedModelingLanguage)...........................................36

3.3.2

Description de lapplication...................................................37

3.3.3

Digramme de Cas dutilisation gnral.........................37

3.3.4

Diagramme de squences.....................................................41

3.3.5

Diagramme de dploiement..................................................45

3.4

Conclusion................................................................................... 47

Chapitre 4 : Ralisation............................................................................ 48
4.1

Introduction................................................................................. 48

4.2

Choix de larchitecture du projet.................................................48

4.2.1

Environnement logistique......................................................48
9

4.2.2

PHP........................................................................................ 49

4.2.3

wamp-server.........................................................................49

4.2.4

Notepad ++..........................................................................49

4.2.5

PHPMyAdmin.........................................................................50

4.3

Dveloppement de lapplication.................................................50

4.3.1

Installation dun agent du protocole SNMP............................51

4.3.2

Dveloppement du module qui gre les alertes....................51

4.3.3

Interface dauthentification...................................................55

4.3.4

Module gestion des utilisateurs.............................................56

4.3.5

Interface gestion des quipements......................................56

4.3.5 Module gestion des graphs..........................................................57


4.4

Test de validation.........................................................................58

4.4.1

Test fonctionnel.....................................................................58

4.4.2

Test unitaire...........................................................................58

4.4.3

Test de charge.......................................................................60

4.4.4

Test de scurit.....................................................................60

4.5

Critique........................................................................................ 65

4.5.1

Les besoins fonctionnelles.....................................................65

4.5.2

Les besoins non fonctionnelles..............................................65

Conclusion............................................................................................. 68
Conclusion gnrale................................................................................. 69
Annexes................................................................................................... 70
1.

Installation dun agent SNMP.......................................................70

2.

Installation et paramtrage du SNMP sous linux.........................71

Bibliographie............................................................................................ 74

10

Introduction gnrale
Actuellement toutes les entreprises sont quipes dun rseau
local au minimum, et de rseaux de longues distances pour les
plus importantes dentre elles. Leurs parcs informatiques
englobent une centaine dquipements, engendrs par des
serveurs de bases de donnes et des serveurs de traitements.
Vu que ces systmes informatiques sont au cur des activits
des entreprises, leur maitrise devient indispensable. Ils doivent
fonctionner pleinement et en permanence pour garantir la fiabilit
et lefficacit exiges, et surtout travailler rduire les problmes
de dfaillances, les pannes, les coupures et les diffrents
problmes techniques qui peuvent causer des pertes
considrables.
De ce fait, les administrateurs rseau font appel des logiciels
de surveillance et de supervision de rseaux afin de vrifier l'tat
11

du rseau en temps rel de l'ensemble du parc informatique sous


leur responsabilit. Et tre aussi informs automatiquement par
email en cas de problmes. Grce un tel systme, les dlais
d'interventions sont fortement rduits et les anomalies peuvent
tre aussitt prises en main avant mme quun utilisateur peut
sen apercevoir.
La ralisation dun tel systme de supervision intervient dans
le cadre du stage du projet de fin dtudes pour lobtention de la
licence applique en tlcommunication qui sest droule au sein
de lAgence Tunisienne dInternet.
Ce prsent rapport est compos de quatre chapitres :
Dans le premier chapitre Prsentation du projet nous
prsentons lentreprise daccueil ainsi nous faisons une tude de
lexistant, la solution propos ainsi que limpact du projet.
Dans le deuxime chapitre nous dfinissons les superviseurs et
le protocole SNMP.
Le troisime chapitre dtaille la conception oriente objet de
l'application en utilisant le langage UML.

Dans le dernier chapitre intitul Ralisation et tests de


validation qui explique la partie ralisation, nous avons dtaills
la ralisation de notre projet ainsi que les tests de validation pour
assurer le bon fonctionnement du systme et une supervision
parfaite.

12

Chapitre 1 : Prsentation du
projet
1.1 Introduction
La supervision est une technique qui permet de surveiller,
analyser, rapporter et d'alerter les fonctionnements anormaux des
13

systmes informatiques. Cette supervision fournit des informations


sur le systme supervis.
Dans ce chapitre, nous allons donner une brve description de
la socit daccueil. Ensuite, nous allons expliquer la solution
propose, la contribution et limpact du projet et finalement la
gestion du projet.

1.2 Prsentation de lATI


Dans cette partie nous allons prsenter lentreprise daccueil
au sein de laquelle nous avons effectu notre stage.

1.2.1

Le

Systme

Des

Tlcommunications

En

Tunisie
Le systme des tlcommunications en Tunisie est compos
essentiellement de :
Ministre des technologies des communications
Les fournisseurs daccs Internet
Les fournisseurs pour rseau communautaires : ATI, CNTE,
CCK, CIMSP, IRESA, Ministre de la jeunesse et du sport et
le Ministre de la Dfense.
Les fournisseurs privs : 3S Global net, Orange Tunisie,
Topnet, Ooredoo ,Hexabyte et Tunisie Tlcom
Les autres organismes des tlcommunications : CERT et
ANF
En plus des organismes officiels et privs, le systme des
tlcommunications en Tunisie comporte des institutions
denseignement tel que linstitut suprieur des tudes
technologiques en communication et lcole suprieure des
tlcommunications.

14

La rpartition des abonnes Internet par secteur est comme


suit :

FSI privs : 52%


Education : 21%
Les universits et la recherche scientifique : 16%
Les administrations publiques : 8%
La sant publique : 2%
Agriculture : 1%

Figure 1: logo ATI

1.2.2 La direction technique de lATI


L'Agence Tunisienne d'Internet (ATI)[1] a t cre en mars
1996 pour jouer le rle d'Oprateur National pour les services
Internet et promouvoir les services Internet en Tunisie et opre
sous la tutelle du Ministre des Technologies de linformation et de
la communication.
Elle est compose, comme toute autre institution, de trois
directions : une direction gnrale, une direction administrative et
financire et une direction technique.
La direction technique et divise en quatre sous directions :

La sous-direction dexploitation des rseaux :

15

Cest la sous-direction cl de lagence, elle reprsente le corps


ATI IXP . En effet, elle a pour mission:
Gestion, suivi, supervision et optimisation du cur du
rseau tunisien.
Interconnecter les fournisseurs de services Internet
privs et les fournisseurs de services Internet pour les
rseaux communautaires entre eux dune part et entre
ces intervenants et ltranger dautre part.
Coordination, suivie et rsolutions des pannes avec les
diffrents intervenants.
Le dveloppement de la stratgie et des nouvelles
applications et services d'Internet en Tunisie.
La contribution la mise en place des rseaux nationaux
(rseau de l'ducation, rseau de la sant, rseau de
l'agriculture...).

La

sous-direction

de

gestion

des

ressources

Internet :
Elle a pour mission :
Maintenir le DNS national.
La gestion et l'enregistrement des noms de domaines sous le
domaine TN.
La gestion des ressources IP.

La sous-direction des services :


Cest la direction au sein de laquelle jai effectu mon stage
.Elle reprsente le corps ATI FSI, elle traite uniquement avec
les organismes caractre gouvernemental (ministre, agence
sous tutelle, office, ). En effet, elle a pour mission:
Fourniture des accs Internet
L'hbergement dapplications web
16

La gestion du courrier lectronique

La sous-direction scurit et veille technologique :


Cest la sous-direction qui est mis jour lactuelle ANSI. Il a
pour mission :
Assurer la scurit des diffrentes composantes de lATI
Suivi et mise en place des maquettes des technologies
innovantes
L'organisation

de

sminaires

et

formations

sur

les

technologies d'Internet.

1.2.3 Lorganigramme de lATI

Figure 2: Organigramme de l'ATI

1.3 tude de lexistant


Ayant un trs grand nombre de serveurs grer,
ladministrateur est incapable de vrifier leurs disponibilit (en
ligne ou pas), de dterminer la qualit des services quils offrent
dune faon optimale, ni dtecter la dfaillance des quipements

17

(charge CPU, tat mmoire, surcharge du disque...), ni les


surcharges des ressources.
Le but de ce projet est de proposer une solution efficace pour
la gestion des serveurs et le monitoring de ses quipements en
premier lieu, offrir la possibilit de devenir pro actif face aux
problmes rencontrs en un second lieu, et finalement et le plus
important, de pouvoir dtecter et interprter les causes et
origines des problmes rencontrs afin de les fixer le plus
rapidement possible.

1.4 Solution propose


La gestion des serveurs distants et le monitoring de ses
quipements tant le plus grand souci de ladministrateur, nous
avons jug ncessaire de mettre en vidence un outil pour
contrler

le fonctionnement du rseau, dtudier les donnes

collectes et de dfinir des seuils dalertes qui peuvent servir pour


le dclenchement des alertes lors de dtection des problmes.
Il sagit donc dune mise en place dun systme de supervision
qui pourra grce aux diffrentes fonctionnalits quil offre,
anticiper les pannes en suivant mticuleusement le
fonctionnement du systme et en surveillant le statut des serveurs,
des divers services rseaux et doffrir des renseignements
supplmentaires voir charge CPU, espace disque, mmoire
disponible, etc. . Lavantage de cette solution libre est la gratuit,
la disponibilit du code source et la libert dtudier et de modifier
le code selon nos besoins et de le diffuser.
Notant que la plupart des logiciels libres de supervision ne
possdent pas une grande capacit pour stocker les informations
reues grce au protocole SNMP. Donc on a recourt une solution

18

qui assure le stockage de ces informations dans une base de


donne, et gnre des Mails en cas de dfaillances de lun des
quipements rseaux et des bilans mensuels, de plus notre outil
prpare des statistiques sur chaque quipement. Lavantage
majeur de cette solution est que notre outil est intgrable avec
nimporte quel logiciel de supervision car il fonctionne dune faon
indpendante, il reoit les traps SNMP, il les analyse puis ils les
stockent dans sa base de donnes.

1.5 Contribution
Cette partie est consacr bien dtailler les phases de notre
application de supervision qui est une application web, accessible
aux administrateurs de lATI, qui les offre les services ci-dessous :
Saisir les informations personnelles (authentification)
Consulter ltat de chaque quipement rseaux
Connaitre les dates pendant lesquelles les quipements sont
en panne
Consulter

des

statistiques

sur

le

fonctionnement

des

quipements
Gnrer des mails en cas dalertes
Gnrer des bilans sur tous les quipements surveills

1.6 Impact du projet


Notre application de supervision est plus simples grer, mieux,
et moins onreux que les superviseurs classiques. Pour lanalyse
nous allons aborder les deux points dune vue diffrente, dune
part celui de lATI, et dautre part celui du lutilisateur.

Point de vue de lentreprise:


19

Nous nous plaons du ct de lATI, en effet

notre application

permet de profiter des avantages suivants :


Un gain de temps considrable: Le fait que les personnelles
sont informs par un mail immdiatement en cas dalertes et que
des bilans mensuels sont gnrs pour analyser ltat de chaque
quipement

conduit un gain de temps consquent pour les

personnels de lATI.
Gain

dargent:

professionnels

Gnralement,

les

logiciels

de

supervision

sont couteux, alors que notre application va

remplacer plusieurs fonctionnalits de ces logiciels gratuitement.

Point de vue utilisateur : Si nous nous plaons maintenant du


ct du personnel de lATI, notre application permet aux clients de
bnficier des atouts suivants :
Gain de temps: Le client peut recevoir automatiquement des
mails en cas de pannes ou de dfaillances sans avoir besoin de
superviser en temps rel , ce qui rend lintervention sur le terrain
plus rapide et donc plus efficace , recevoir des bilans sur le
fonctionnement et le non

fonctionnement des quipements

rseaux sans avoir sans avoir besoin dafficher lhistorique de


chaque quipement.
Haute disponibilit: Disparition des contraintes lies aux heures
et aux jours de travail. Le personnel peut tre inform nimporte
quel moment.

1.7 Gestion du projet


Cette partie introduit la mthodologie utilise lors de
dveloppent de notre projet.

20

1.7.1 Mthodologie du Travail


Les mthodes agiles [2] sont des mthodologies
essentiellement ddies la gestion de projets informatiques.
Elles reposent sur des cycles de dveloppement itratifs et
adaptatifs en fonction des besoins volutifs du client. Elles
permettent notamment d'impliquer l'ensemble des collaborateurs
ainsi que le client dans le dveloppement du projet.
Ces mthodes permettent gnralement de mieux rpondre
aux attentes du client en un temps limit (en partie grce
l'implication de celui-ci) tout en faisant monter les collaborateurs
en comptences. Ces mthodes constituent donc un gain en
productivit ainsi qu'un avantage comptitif tant du ct client
que du ct du fournisseur.
SCRUM est lune des principales mthodes pour grer les
projets agiles. Sa principale caractristique consiste valoriser les
individus et leurs interactions, le fonctionnement du logiciel, la
collaboration avec les clients et constitue une bonne solution aux
changements en tenant compte des processus, de la
documentation complte, de la ngociation des contrats et des
plans rtablis, soutenue par les piliers de la transparence , de la
vrification et de ladaptation, la mthode SCRUM vise rduire
les difficults telles que le manque de planification, lvolution
constante des besoins, une porte mal dfinie, le manque
dinvestissement des clients et le manque de communication
communs la plupart des projets. En outre, SCRUM est bas sur
une livraison rapide, frquente et continue de logiciels
fonctionnels, une coopration continue entre le travail dquipe et
les affaires, lexcellence technique et la simplicit. Toutes ces

21

caractristiques de SCRUM offrent des avantages considrables


pour les chefs de projets ainsi que pour les clients finaux.
Les principaux avantages de la mthode SCRUM :
Personnel engag : lune des caractristiques de SCRUM,
cest que le personnel participe activement la dfinition
des activits et des horaires, de sorte que le degr
dengagement et la motivation sont plus levs.
Meilleure vue densemble du projet : avec SCRUM, les
projets prcdemment vus dans leur globalit et de faon
homogne uniquement par les gestionnaires de projets sont
dsormais accessibles tous les membres de lquipe de
livraison.
Rduction des bugs : la mthode SCRUM privilgie la qualit
et la fonctionnalit des dveloppements. Le nombre de bugs
et de reprises est ainsi rduit.
Mise jour des priorits : au dbut, le client ignore toute la
porte de lapplication, ainsi que la faon dont cela pourrait
changer avec le temps. Grce SCRUM, le client bnficie
dune flexibilit au niveau de la dfinition, de lvolution des
priorits et des squences dactivits.
Qualit du produit mise en avant : la mthode SCRUM se
concentre davantage sur la fourniture dun service de valeur
au client plutt que sur une date limite fixe.

1.7.2 Planification du projet


La planification du projet est une phase indispensable pour
prparer les projets. Pour cette planification on a utilis le

22

diagramme de Gantt pour diviser les diffrentes tches en fonction


de leur priode temporelle.

Diagramme de Gantt :
Figure 3: Diagramme de Gantt

Le diagramme de Gantt, couramment utilis en gestion de


projet, est l'un des outils les plus efficaces pour reprsenter
visuellement l'tat d'avancement des diffrentes activits (tches)
qui constituent notre projet comme nous montre la figure ci-dessus
Nous dtaillons maintenant chaque tche :
Documentation : Lors du

dbut

de chaque projet il est

ncessaire de se documenter sur les proprits et le contenu


du projet, dans notre cas la documentation t de dcouvrir
l'environnement de lATI, les taches qu'on va effectuer dans
lapplication, et les langages qu'on va les utiliser pour le
dveloppement de cette application.
Etude de l'environnement des logiciels : cette partie
consiste linstallation et la familiarisation avec les logiciels
que nous allons les utiliser pour la ralisation de notre
application.
Conception UML: tous projet ne peut tre bien fait
qu'aprs l'tude des diffrents niveaux et la conception des
diffrentes parties du projet, dans la 3eme partie nous avons
23

pu

raliser

les

diffrent

diagrammes

afin

de

bien

comprendre le projet et de s'avoir les diffrentes tches


qu'on devait raliser.
Ralisation: Dans cette partie on a pu raliser notre
application avec ces diffrentes

tache et servies offert

comme, lauthentification, la gnration de*s mails, stockage


des informations, prparations des bilans, etc .
Prparation du rapport: la dernire partie de notre projet
consiste prparer le rapport qui rsume toutes les
fonctionnalits de lapplication et explique le protocole
SNMP sur lequel notre projet est bas.

1.8 Conclusion
Dans Ce chapitre nous avons prsent lentreprise daccueil,
lapplication que nous allons concevoir et dvelopper, ainsi que de
prsenter les objectifs viss. Dans ce qui suit, on a prsent Agile
Scrum qui la mthodologie de conduite de projet.

24

Chapitre 2 : Etat de lart

2.1 Introduction
Depuis le dveloppement de l'informatisation des entreprises, il
y a quelques annes, la question de la scurit et de la robustesse
du systme d'information est au cur des proccupations.
Ces craintes sont l'origine de la cration et du succs des
outils de surveillance : Des logiciels de supervision permettant de
faciliter la gestion des parcs informatiques devenant de plus en
plus complexes.
Leur but principal est la collecte de donnes et la prsentation
de celles-ci pour que l'administrateur puisse consulter aisment
les crans de contrle pour mesurer l'tat du rseau.
Toutefois, ces outils offrent des services d'alertes sur panne ou
premption de pannes, de configuration d'quipements distance
ainsi que de cartographie.
Dans ce chapitre nous prsentons l'tat de l'art relatif au
systme de supervision..

2.2 Qu'est-ce qu'un superviseur


Un superviseur [3] est un logiciel qui permet la surveillance et
la mesure dune activit informatique.

25

Il possde gnralement diffrents outils permettant :


La ralisation dinventaire : cest--dire lobtention dun
descriptif complet du parc de machines, des logiciels qui y
sont installs, de leurs informations matrielles et logicielles
(BIOS, Systme dexploitation, disque dur) ainsi que de leur
localisation
La surveillance en temps rel : cest--dire lobtention
dinformations prcises sur les systmes superviss chaque
instant

au

niveau

(Performance,

systme,

disponibilit,

rseaux
intgrit,

et

applicatif

erreurs)

qui

permettront de raliser des graphes, utiles pour visualiser


les performances et les tendances
La gestion des alertes : cest--dire la possibilit dalerter
l'administrateur ds l'apparition d'un problme par exemple
par mail ou SMS.

2.3 Le protocole SNMP : Dfinition et


fonctionnement
Le protocole SNMP [4] est un protocole indispensable dans la
supervision des rseaux.

2.3.1 Fonctionnement gnral de SNMP


Le protocole SNMP (Simple Network Management Protocol) a
t dvelopp pour permettre ladministrateur dinterroger les
lments de son rseau sans se dplacer. Le principe de SNMP est
trs simple : sur chacune des machines, on installe un petit
programme : lagent SNMP. Cet agent enregistre en permanence
26

des informations relatives la machine. Il stocke ces informations


dans une base de donnes appele MIB (Management Information
Base).
Ainsi, de son ordinateur, ladministrateur peut interroger
chacune de ses machines et obtenir les informations souhaites,
comme par exemple le nombre doctets reus et envoys... Il peut
aussi en modifier certaines.
Le protocole SNMP fonctionne au niveau 7 du modle OSI,
mais se situe directement au-dessus dUDP. Il fonctionne sur
un modle client-serveur, o il ny a quun seul client, la station
dadministration (NMS = Network Management Station) et de
nombreux serveurs (chaque agent SNMP), le client interrogeant
les serveurs pour rcuprer les informations.
Chaque agent est plac sur un nud du rseau
administrable (MN : ManagedNode). Ces nuds peuvent tre
soit des htes (stations de travail ou serveurs), soit des lments
dinterconnexion (switchs, hubs, routeurs), soit des supports
physiques (cbles).

2.3.2 SMI : Structure of Management Information


Pour se retrouver dans la foule dinformations proposes par
chaque agent, on a dfini une structure particulire pour les
informations, appele SMI. Chaque information de la MIB peut
tre retrouve soit partir de son nom de variable, soit partir
dun arbre de classification. Cela revient parcourir des sousdossiers et dossiers dun disque dur
Supposons que vous souhaitiez consulter la
variable System dun hte, vous pouvez soit lui demander la
27

variable System directement, soit lui demander la variable ayant


pour OID (Object IDentification) 1.3.6.1.2.1.1 correspondant
larborescence de la variable (ISO, IdentifiedOrganization, dod,
Internet, Management, MIB2, System).
Cela peut paratre assez contraignant premire vue, mais le
nombre de variables tant important, on ne peut se souvenir de
chaque nom. Par contre, il existe de nombreux logiciels permettant
dexplorer la MIB de faon conviviale, en utilisant cette
classification

Voici ci-dessous un exemple darbre MIB :

28

Figure 4 : Exemple d'un arbre MIB

2.3.3 Extension de la MIB


Au bout dun moment, les variables choisies pour la MIB (puis
la MIB2) se sont avres insuffisantes pour plusieurs applications.
On va donc trouver deux autres types de MIB que sont les Private
MIB et les MIB R-MON (Remote network MONitoring).
Les Private MIB, reprsentes en 1.3.6.1.4 dans la classification
SMI, permettent aux entreprises de rajouter des variables pour
une implmentation particulire des agents SNMP. Cela leur
permet dajouter de nouvelles variables en fonction des
applications quelles veulent dvelopper.
Les MIB R-MON permettent par exemple de placer des agents
SNMP sur le trafic. Ladministrateur pourra linterroger pour avoir
des informations sur les collisions, les dbits un endroit prcis.

2.3.4 Les diffrents types doprations


Deux situations sont possibles pour les changes de donnes.
Soit ladministrateur rseau demande une information un agent
et obtient une rponse, soit lagent envoie de lui-mme une alarme
(trap) ladministrateur lorsquun vnement particulier arrive
sur le rseau. Il est donc possible que lagent prvienne
ladministrateur de son propre chef si un incident survient.
Il existe quatre types de requtes :
GetRequest : permet dobtenir une variable.
GetNextRequest : permet dobtenir la variable suivante (si
existante, sinon retour derreur).

29

GetBulk : "permet la recherche dun ensemble de variables


regroupes"
SetRequest : permet de modifier la valeur dune variable.
Puis, les rponses :
GetResponse : permet lagent de retourner la rponse au
NMS.
NoSuchObject : informe le NMS que la variable nest pas
disponible.

Les

types

derreurs

WrongLenght,

sont

WrongValue,

les

suivants

WeongType,

NoAccess,

WrongEncoding,

NoCreatio, NoWritable et AuthorisationError.


Type de PDU (Protocol Data

Nom

Units)
0

GetRequest

GetNextRequest

SetRequest

GetResponse

Trap
Tableau 1: Requtes SNMP

Le paquet SNMPv1
(La version 1 est la plus utilise)
SNMP est un protocole, comme son nom lindique, pour
effectuer de la gestion de rseau. Il permet de contrler un rseau
distance en interrogeant les stations qui en font partie sur leur
30

tat et modifier leur configuration, faire des tests de scurit et


observer diffrentes informations lies lmission de donnes. Il
peut mme tre utilis pour grer des logiciels et bases de
donnes distance. Depuis quil est devenu un standard TCP/IP,
son utilisation a beaucoup augment. Dailleurs, il est le protocole
le plus utilis pour grer des quipements de rseau (routeurs,
ponts, etc.) et beaucoup de logiciels de gestion de rseau sont
bass sur ce protocole.
Ce qui fait partie de lutilisation du SNMP dans un rseau:

1. Une station de gestion NMS (Network Management Station) :


Cest la station qui excute un programme de gestion SNMP.
Son but principal est de contrler les stations du rseau et de les
interroger sur diffrentes informations. . Sa configuration
matrielle doit possder un processeur relativement rapide,
beaucoup de mmoire (256 Mo minimum) et un espace disque
suffisant (pour archiver les informations).
Des lments de rseaux avec des agents :
Ils sont les lments grer sur le rseau (ex : logiciels,
stations de travail, routeurs, concentrateurs, ponts, etc.). Lagent
est un module rsidant dans chaque nud du rseau qui a pour
fonction daller chercher les informations du systme afin de tenir
sa table MIB jour.
Les tables MIB :
Elles reprsentent une base de donnes maintenue par lagent
qui contient les informations sur les transmissions de donnes et
sur les composantes de la station ou du routeur, etc. (ex : uptime,

31

configuration du routage, tat du disque et du port srie, nombre


de paquets reus et envoyes, combien de paquets errons reus,
etc.). Elles contiennent lensemble des variables TCP/IP de la
station. Ce sont les informations contenues dans ces tables qui
sont demandes par la station de gestion afin deffectuer son
travail.

Principe de fonctionnement
SNMP fonctionne avec des requtes, des rponses et des
alertes. Autrement dit, NMS envoie des requtes lagent sur
chaque lment du rseau et celui-ci doit excuter la requte et
envoyer sa rponse. Il peut aussi rencontrer des alertes
asynchrones venant des agents voulant avertir NMS dun
problme.

2.3.5 Format des messages SNMP (Les traps)


Dans ce qui suit nous allons dcrire le format de message SNMP trap.

2.3.5.1

Dfinition

Les traps SNMP [5] sont des informations envoyes en utilisant


le protocole SNMP depuis un quipement supervis vers un
serveur de supervision. Ces informations contiennent plusieurs
attributs dont :
Adresse de lquipement qui a envoy linformation.
LOID racine (Object Identifier) correspond lidentifiant du
message reu.
Le message envoy au travers du trap SNMP qui correspond
un ensemble de paramtres (1 N).
32

Afin de pouvoir interprter lvnement reu, le serveur de


supervision doit possder dans sa configuration le ncessaire
pour traduire lvnement. Pour cela, il doit disposer dune
base de donnes contenant les OID ainsi que leurs
descriptions, cest ce quon appelle les fichiers MIB. Il existe
deux types de MIB :
Les MIB standards qui utilisent des OID standardiss et qui
sont implments par de nombreux constructeurs sur leurs
quipements.
Les MIB constructeurs qui sont propres chacun et souvent
chaque modle dquipement.
Table 214: SNMP Version 1 (SNMPv1) Trap-PDU Format
Field
Syntax
Size
Description
Name
PDU

Integer

Type

(Enumerated)

(bytes)
4

PDU Type: Une


valeur entire qui
indique le type de PDU,
qui est 4 pour un

Enterpris

Sequence

ofInteger

Varia
ble

message Trap-PDU.
Enterprise: Un
identificateur d'objet
pour un groupe, qui
indique le type d'objet

Agent

Network

Addresse

Address

qui a gnr la Trap.


Agent
Address: L'adresse IP de
l'agent SNMP qui a
gnr le pige. Ceci est
bien sr aussi dans l'entte IP des niveaux

33

infrieurs mais
l'inclusion dans le format
de message SNMP
permet de faciliter
l'enregistrement de la
Trap l'intrieur de
SNMP. En outre, dans le
cas d'un hte multi
rseau, ce spcifie
GenericT
rap

Integer

(Enumerated)

l'adresse prfre.
Gnrique Code
trap : Une valeur de code
spcifiant l'un des un
certain nombre de types
de traps prdfinis

SpecificT

Integer

rap

gnriques.
Spcifique Code Trap
: Une valeur de code
indiquant un type de
Trap spcifique

Time

TimeTicks

Stamp

l'implmentation.
Time Stamp: La
quantit de temps
puisque l'entit SNMP
envoyant ce message
dernire initialis ou
rinitialis. Utilis pour
les Traps d'horodatage
des fins d'exploitation

Variable
Bindings

Variable

Variable

forestire.
Fixations des
variables: Un ensemble
34

de paires nom-valeur
identifiant les objets MIB
dans le PDU.

2.3.6 Les noms de communauts


L'accs aux informations des MIBs est contrl par un
mcanisme simple utilisant des noms de communauts. Un nom de
communaut peut tre assimil un mot de passe connu par
l'agent et utilis par le manageur pour se faire reconnatre. Les
noms de communauts sont configurs sur l'agent et autorisent
trois types d'accs sur les variables de la MIB gre par l'agent :
Pas daccs
Read-only
Read-write

Le nom de communaut circule en clair sur le rseau.


Beaucoup

d'administrateurs

prfrent ainsi

limiter l'accs sur les


MIBs en lecture seule,

et se dplacent sur les

quipements pour modifier certaines valeurs.


Figure 5: accs au MIB

35

2.3.7 Les agents SNMP


L'agent SNMP collecte les informations de la MIB de
l'quipement et rpond aux requtes du manageur. On trouve
maintenant des agents SNMP sur tous les quipements dits
administrable . Les constructeurs fournissent galement des
agents pour les stations du rseau.
Toutefois, certains vieux quipements administrables ne sont
pas conformes SNMP. Dans ce cas, il est possible d'utiliser un
agent proxy sur un quipement SNMP, qui va servir
d'intermdiaire avec celui non SNMP.

Protocole SNMP

Manager
SNMP

Protocole non SNMP

Composant NMP
Agent PROXY

Composont
Non SNMP

36

2.3.8 Les manageurs SNMP


Les manageurs sont chargs de questionner les agents et de
fournir l'administrateur les informations rcupres. Ils doivent
galement grer les traps et prvenir l'administrateur.
Les outils SNMP vont du simple "browser" de MIB qui permet
juste de lire les variables, jusqu' la plate-forme d'administration
qui peut les afficher de faon pertinente sur des cartes du rseau.
Le march des plates-formes d'administration est rparti entre
deux grandes familles:
Les constructeurs de systmes distribus (HP, BULL, IBM):
HP OpenView (pour Unix ou Windows NT)
ISM
Tivoli
Les constructeurs de solutions pour rseaux locaux :
Novell Network Management System

2.4 Conclusion
Dans ce chapitre nous avons prsent les superviseurs et leurs
rles dans les lentreprise, aussi on a dtaill les diffrents
composants du protocole SNMP qui est indispensable dans le
fonctionnement des superviseurs.

37

Chapitre 3 : Conception

38

3.1 Introduction :
La gestion d'un parc dinformatique est un travail temps rel,
ladministrateur rseau doit tre inform tout moment de l'tat
des diffrentes machines et des diffrents services. Pour faciliter
ce processus il utilise un systme de monitoring qui permet davoir
une vue global sur le fonctionnement de tout le rseau.
Le prsent chapitre nous permet didentifier toutes les
fonctionnalits de notre futur systme et ceci en recensant les
besoins fonctionnels.
Ceci se fera par lidentification des acteurs et la dfinition de
tous les besoins qui seront modliss par le diagramme de cas
dutilisation gnrale.
Nous nous intressons aussi la conception des cas
dutilisation que nous analyserons dans ce chapitre.

3.2 Analyse et spcification des besoins :


La russite de toute tude dpend essentiellement de la qualit
de ltude mene lors de la phase analyse et spcification des
besoins. Nous distinguons des besoins fonctionnels qui prsentent
les fonctionnalits attendues de notre application et les besoins
non fonctionnels pour viter le dveloppement dune application
non satisfaisante ainsi de trouver un accord commun entre les
spcialistes et les utilisateurs pour russir le projet.

3.2.1 Les besoins fonctionnelles :


La satisfaction des utilisateurs se manifeste essentiellement
dans la simple manipulation de lapplication ainsi que son
efficacit dans le travail. Aprs une tude dtaille du systme,

39

cette partie est rserve la description des diffrentes


fonctionnalits quoffrira notre projet :
simplicit dutilisation : une interface simple grer.
gnrer des mails : La gnration des mails en cas de panne
ou de dfaillance.
Consulter des graphes: La possibilit de consulter des
graphes qui prsente ltat des quipements.
Gnrer des bilan: lapplication gnre des bilans en format
pdf sur ltat des quipements

3.2.2 Les besoins non fonctionnelles


Les besoins non fonctionnels dcrivent toutes les contraintes
techniques, ergonomiques et esthtiques auxquelles est soumis le
systme pour sa ralisation et pour son bon fonctionnement. Et ce
qui concerne notre application, nous avons dgag le besoins :
La disponibilit: lapplication doit tre disponible pour tre
utiliser nimporte quant
La scurit de laccs aux informations critiques: nous
devons prendre en considration la confidentialit des
donnes

surtout

au

niveau

de

lauthentification

des

utilisateurs, Pour cela nous devons restreindre laccs ces


informations
La fiabilit: Les donnes fournies par lapplication doivent
tre fiables
La convivialit de linterface graphique: lapplication doit
fournir une interface conviviale et simple pour tout type

40

dutilisateur

car

elle

prsente

le

premier

contact

de

lutilisateur avec lapplication et par le biais de celle-ci on


dcouvrira ses fonctionnalits.
Une solution ouverte et volue: lapplication peut tre
amliore par lajout dautres modules pour garantir la
souplesse, lvolutivit et louverture de la solution.

3.3 Conception
Pour dvelopper une application, il ne faut pas se lancer tte
baisse dans l'criture du code, il faut tout dabord organiser ses
ides, les documenter, puis organiser la ralisation en dfinissant
les modules et les tapes de la ralisation. C'est cette dmarche
antrieure l'criture que l'on appelle "modlisation". La
modlisation consiste crer une reprsentation virtuelle dune
ralit de telle faon faire ressortir les points auxquels on
sintresse. Dans le cadre de notre projet loutil de modlisation
que nous avons utilis est power AMC qui est un logiciel de
modlisation UML, il gre la plupart des diagrammes spcifis.
Lobjectif du projet power AMC est de construire un outil de
modlisation des logiciels.

3.3.1 UML (UnifiedModelingLanguage)


LUML [6] est un langage visuel constitu dun ensemble de
schmas, appels des diagrammes, qui donnent chacun une vision
diffrente du projet traiter. UML nous fournit donc des
diagrammes pour reprsenter le logiciel dvelopper: son
fonctionnement, sa mise en route, les actions susceptibles dtre
effectues par le logiciel, etc

41

LUML est utilis aussi pour spcifier, visualiser, modifier et


construire les documents ncessaires au bon dveloppement d'un
logiciel orient objet. Il est caractris aussi par plusieurs
avantages dont on peut citer :
universel.
Adopt par les grandes entreprises.
Notation unifi
Facile comprendre.
Adopt par plusieurs processus de dveloppement
Limite les risques derreur.
Tout comme la construction dune maison ncessite des plans
diffrents niveaux, la ralisation dune application informatique est
base sur plusieurs diagrammes. Comme on vous le disait
prcdemment, le langage UML est constitu des diagrammes.
Dans notre projet on va utiliser le diagramme de cas dutilisation,
diagramme de squence, diagramme de package

3.3.2 Description de lapplication


Dans cette partie nous allons prsenter les diffrents
diagrammes qui dcrivent le fonctionnement de lapplication.

3.3.2.1

Acteurs /utilisateurs
Notre application est dvelopp pour lAgence Tunisienne
dInternet, son utilisateur que nous que nous dsignons par le
terme acteur est un employ de cette entreprise, qualifi pour
pourvoir la supervision des quipements rseaux. il peut tre un

42

administrateur, un ingnieur rseaux, ou un employ ayant suivi


une formation cet effet.

3.3.3

Digramme de Cas dutilisation gnral


Nous prsenterons ici les grandes tapes que lauteur parcourt
lors de lutilisation de loutil.

system

<<include>>
alerter par SMS

cas d'alertes
<<include>>

alerter par mail


<<extend>>

accder la base de donnes

superviser le rseau
utilisateur

<<include>>
<<include>>
s'authentifier

consulter des rapports en


format pdf

<<include>>

Figure 6 : Diagramme d'utilisation gnral

43

3.3.3.1

Cas dutilisation Authentification


Notre application de supervision tant un outil de travail, il est
important didentifier lutilisateur qui sy prsente. Il sagit donc
de la toute premire tape franchir. Laccs lapplication ne
sera donn quaux seuls employs enregistrs au pralable dans
une base de donnes cre cet effet, utilisateurs et gre par
un administrateur exclusif.

Description de lauthentification :

Sommaire didentification
Titre

Sauthentifier

But

Authentification et autorisation daccs

Rsum

Ladministrateur introduit son login et mot de passe

pour accder au systme.


Acteur
Administrateur
Description des enchainements
Pr condition
Scnario
1. Lutilisateur demande laccs au systme
2. Le systme affiche le formulaire dauthentification
3. Lutilisateur saisie son login et son mot de passe
4. Le systme vrifie les champs
5. le systme vrifie lexistence de lutilisateur dans sa base de
donnes
6. Si ladministrateur est authentifi, le systme affiche linterface
daccueil
Exception

44

exception 1 : coordonn fausse


si lidentifiant et/ou mot de passe sont incorrecte alors lutilisateur
ne peut pas accder aux services de lapplication
exception 2 : si lutilisateur nexiste pas dans la base de donnes du
systme, il ne peut pas accder
Tableau 2: Description de l'authentification

3.3.3.2

Cas dutilisation Supervision

Description

Sommaire didentification
Titre
But
Rsum
Acteur

Supervision
Superviser le parc informatique
Utilisateur

Description des enchainements


Pr condition
Scnario
1. Lutilisateur demande linterface de supervision
2. Le systme affiche linterface demande
3. Lutilisateur analyse les statistiques et les rapports de supervision
Tableau 3:Description

45

3.3.3.3

Cas dutilisation Grer parc informatique

3.3.3.4
Sommaire didentification
Titre
But

Grer parc informatique


Assurer la gestion du parc informatique

Rsum
Acteur

Administrateur

Description des enchainements


Pr condition
Scnario
1. Ladministrateur demande linterface daccueil
2. Applique les diffrentes actions telles que superviser un tel
quipement et suivre son historique

Tableau 4: Grer parc informatique

3.3.3.5

Analyse cas dutilisation Gnrer alerte


Sommaire didentification
Titre

Gnrer alerte

But

Gnrer des alertes lors de la prsence dune


vulnrabilit

Rsum
Acteur

Administrateur

Description des enchainements


Pr condition
Scnario

46

1. Ladministrateur demande la connexion au systme


2. Il assure la supervision du parc informatique
3. Le systme dtecte une menace
4. Une alerte sera envoye ladministrateur via mail
Tableau 5: Gner des alertes

3.3.4 Diagramme de squences


Les diagrammes de squences [7] sont la reprsentation
graphique des interactions entre les acteurs et le systme selon un
ordre chronologique dans la formulation UML.
Dans ce qui suit, nous prsentons le diagramme de squence
pour chaque cas dutilisation dans notre systme.
3.3.4.1

Diagramme de squence dauthentification


Lagent de lATI veut accde lapplication de supervision
donc il doit entrer son identifiant et son mot de passe pour
pouvoir accder aux services de lapplication, si lidentifiant et/ou
mot de passe sont incorrecte alors le client ne peut pas accder
aux services de lapplication.
Description du scnario :
Scenario principal (succs) :
Lutilisateur lance lapplication.
Lapplication affiche le formulaire dauthentification.

47

Lutilisateur saisit son login et son mot de passe et clique sur


le bouton connexion pour accder aux services de
supervision.
Le serveur vrifie la validit des champs aprs les avoir
rcuprer de la base de donnes.
Lapplication affiche linterface suivante.
Enchainement derreur (Erreur : Authentification errone) :
Lenchainement derreur dmarre ltape 4 du scnario
principale.
Le systme affiche un message dchec dauthentification.
Lutilisateur peut quitter loutil comme il peut sauthentifier
de nouveau
Le diagramme de squence qui modlise ce scnario est
reprsent par la figure suivante :

48

DiagrammeSequence_1

interface d'authentification

interface d'acceuil

base de donnes

utilisateur
1: demande formulaire d'authentification()

2: interface d'authentification()
3: saisi du login et du mot de passe()
4: validation du champ()
5: parcourir les donnes()
6: envoyer les donnes()

8: rsultat de la vrification()

7: vrification du champs()

9: succs de la connexion()

10: echec de la connexion()

Figure 7: Diagramme de squence d'authentification

49

3.3.4.2

Diagramme de squence supervision


DiagrammeSequence_1

connexion

page d'acceuil

base de donnes

utilisateur
1: demande connexion()
2: connexion valid()

3: choisir l'action du supervision()


4: parcourir les donnes()
5: rcuperer les donnes()
6: afficher les donnes')

Figure 8: Diagramme de squence "supervision"

3.3.4.3

Diagramme de squence grer les alertes

50

DiagrammeSequence_1

systme de supervision

quipements rseaux

utilisateur
1: demander l'tat de fonctionnement()
2: rponse()
3: envoi d'un mail en cas de panne()

Figure 9: Diagramme de squence grer les alertes

3.3.5 Diagramme de dploiement


En UML, un diagramme de dploiement[8] est une vue statique
qui sert reprsenter l'utilisation de l'infrastructure physique par
le systme et la manire dont les composants du systme sont
rpartis ainsi que leurs relations entre eux. Les lments utiliss
par un diagramme de dploiement sont principalement les nuds,
les composants, les associations et les artefacts. Les
caractristiques des ressources matrielles physiques et des
supports de communication peuvent tre prcises par strotype.

51

Web browser

serveur webmail

Database server

serveur web

<<artifact>>
ati.sql

<<artifact>>

<<arti fact>>

snmp.php

<<artifact>>
trap.sql

routeurs

<<artifact>>
users.sql

switchs

authentification.php

<<arti fact>>

<<artificat>>

acceuil.php

supervision.php

parc informatique

serveurs

hubs

Figure 10: Diagramme de dploiement

3.3.6

Diagramme dactivits :
Un diagramme d'activit [9] permet de modliser un processus
interactif, global ou partiel pour un systme donn
(logiciel, systme d'information). Il est recommandable pour
exprimer une dimension temporelle sur une partie du modle,
partir de diagrammes de cas d'utilisation.
Le diagramme d'activit est une reprsentation proche de
l'organigramme ; la description d'un cas d'utilisation par un
diagramme d'activit correspond sa traduction algorithmique.
Une activit est l'excution d'une partie du cas d'utilisation, elle
est reprsente par un rectangle aux bords arrondis.

52

s'authentifier

vrification

dcision 1

message d'erreur

page d'acceuil

supervision par quipement

Decision_2

consulter des bilans

supervision par date

consulter des bilan

Quitter

Figure 11: Diagramme d'activit

3.4 Conclusion
Ce chapitre nous a permis de faire un dcoupage fonctionnel
de notre futur systme par le biais du diagramme de cas
dutilisation et le diagramme de squence. Comme nous pouvons
le constater, ce dcoupage a permis de livrer une spcification
complte des besoins issus du diagramme de cas dutilisation, de

53

les structurer sous une forme qui facilite la comprhension et qui a


bauch.

Chapitre 4 : Ralisation
4.1 Introduction
Au sein de ce dernier chapitre, nous allons prsenter
lenvironnement de travail, les diffrentes tapes de mise en place
de notre systme de supervision, et aprs avoir achev la
conception orient objet de notre application, il est indispensable
de se lancer dans la phase de dveloppement. Nous avons opt les
outils ncessaires tels que le choix du langage de programmation.
Pour cela nous commencions notre chapitre par une
description de loutil de la supervision et une justification du notre
choix concernant le langage de programmation. Puis, nous passons
prsenter les diffrents scnarios dutilisation de notre
superviseur et notre application.

4.2 Choix de larchitecture du projet


Dans cette partie nous allons prsenter larchitecture de
lapplication, ainsi que lenvironnement logiciel.

4.2.1

Environnement logistique
Pour le dveloppement de notre application de supervision
nous avons utilis cette architecture qui est compos de plusieurs
logiciels comme notepad ++, wamp-server .
54

Lorsque notre application s'excute, elle se connectera au


serveur web Apache. Le serveur Apache va rcuprer les donnes
depuis la base de donnes MySQL. Ces donnes sont reues grce
au protocole SNMP. Ensuite, une page web saffichera qui donne la
main aux utilisateurs pour sauthentifier et suivre ltat des
quipements rseaux

4.2.2 PHP
PHP [10] : HyperText Preprocessor3, plus connu sous son
sigle PHP (acronyme rcursif), est un langage de
programmation libre4principalement , utilis pour produire
des pages Web dynamiques via un serveur HTTP3, mais pouvant
galement fonctionner comme n'importe quel langage
interprt de faon locale. PHP est un langage impratif orient
objet comme C++.
PHP a permis de crer un grand nombre de sites web clbres,
comme Facebook, YouTube, Wikipdia, Google,[rf. ncessaire]. Il
est aujourd'hui considr comme la base de la cration des sites
Internet dits dynamiques c'est dire proposant une interface avec
l'utilisateur, avec JavaScript (cot client). Il est ce titre enseign
dans de nombreuses coles dingnieur et universits, ds la
troisime anne.

4.2.3 wamp-server
Wamp-Server [11] (anciennement WAMP5) est une plateforme
de dveloppement Web de type WAMP, permettant de faire
fonctionner localement (sans se connecter un serveur externe)
des scripts PHP. Wamp-Server n'est pas en soi un logiciel, mais un

55

environnement comprenant deux serveurs (Apache et MySQL), un


interprteur de script (PHP), ainsi que phpMyAdmin pour
l'administration Web des bases MySQL.
La grande nouveaut de Wamp-Server 2 rside dans la
possibilit d'y installer et d'utiliser n'importe quelle version de
PHP, Apache ou MySQL en un clic. Ainsi, chaque dveloppeur peut
reproduire fidlement son serveur de production sur sa machine
locale.

4.2.4 Notepad ++
Notepad++ [12] est un diteur de texte gnrique cod en C+
+, qui intgre la coloration syntaxique de code source pour
leslangages et fichiers C, C++, Java, C#, XML, HTML, PHP,
JavaScript, makefile, art ASCII, doxygen, .bat,MS fichier ini, ASP,
Visual Basic/VBScript, SQL, ObjectiveC, CSS, Pascal, Perl, Python,
R, MATLAB, Lua, TCL,
Assembleur, Ruby, Lisp, Scheme,
Properties, Diff, Smalltalk, PostScript et VHDL ainsi que pour tout
autre langage informatique, car ce logiciel propose la possibilit
de crer ses propres colorations syntaxiques pour un langage
quelconque.
Ce logiciel, bas sur la composante Scintilla, a pour but de
fournir un diteur lger (aussi bien au niveau de la taille du code
compil que des ressources occupes durant lexcution) et
efficace. Il est galement une alternative au bloc-notes de
Windows (do le nom). Le projet est sous licence GPL.

56

4.2.5 PHPMyAdmin
PHPMyAdmin (PMA) [13] est une application Web de gestion
pour les systmes de gestion de base de donnes MySQL ralise
en PHP et distribue sous licence GNU GPL.
Il s'agit de l'une des plus clbres interfaces pour grer une
base de donnes MySQL sur un serveur PHP. De nombreux
hbergeurs, qu'ils soient gratuits ou payants, le proposent ce qui
permet l'utilisateur de ne pas avoir l'installer.
Cette interface pratique permet d'excuter, trs facilement et
sans grandes connaissances dans le domaine des bases de
donnes, de nombreuses requtes comme les crations de table de
donnes, les insertions, les mises jour, les suppressions, les
modifications de structure de la base de donnes. Ce systme est
trs pratique pour sauvegarder une base de donnes sous forme
de fichier .sql et ainsi transfrer facilement ses donnes. De plus
celui-ci accepte la formulation de requtes SQL directement en
langage SQL, cela permet de tester ses requtes par exemple lors
de la cration d'un site et ainsi de gagner un temps prcieux.

4.3 Dveloppement de lapplication


Dans cette partie nous allons prsenter les diffrentes tapes
de dveloppement de lapplication.

4.3.1 Installation dun agent du protocole SNMP


Les tapes dinstallation et de configuration du protocole
SNMP seront dtailles dans lannexe.

57

4.3.2 Dveloppement

du

module

qui

gre

les

alertes
La premire phase du dveloppement a pour but de prparer
un script php qui traite les traps reus de la part des agents
SNMP et les stocke par la suite dans une table dans la base de
donnes phpMyadmin,

4.3.2.1

La fonction socket_create.

resource

socket_create ( int $domain , int $type , int $protocol )

socket_create() [14] cre un point de communication (une


socket) et retourne une ressource de socket. Une connexion
typique rseau est compose de deux sockets : une qui joue le rle
de client et l'autre celui du serveur.
Liste des paramtres :
Domain :

Le

paramtre domain spcifie

la

famille

de

protocoles utiliser par le socket.


Dans notre cas on a utilis le domaine AF_INET qui est un
protocole bas sur IPv4. TCP et UDP sont les protocoles communs
de cette famille de protocoles.
Type :

Le

paramtre type slectionne

le

type

de

communication utiliser par le socket.


Dans notre cas on a utilis le type SOCK_DGRAM qui Support
des datagrammes (moins de connexion, message non garanti d'une
longueur maximum fixe). Le protocole UDP est bas sur ce type de
sockets.
Protocol :

Le

paramtre protocole dfinit

spcifique pour le domaine

le

protocole

domain utiliser lors de

58

communications

sur

un

socket

retourn.

La

valeur

approprie peut tre retrouve par son nom en utilisant la


fonction getprotobyname(). Si le protocole dsir est TCP ou
UDP,les constantes correspondantes SOL_TCP et SOL_UDP
peuvent tre utilises.
Dans notre on a utilis Le protocole UDP (User Datagramm
Protocol) qui est un protocole sans connexion, incertain avec les
longueurs d'enregistrements fixes. De ce fait, UDP requiert une
quantit minimum de protocole arienne de. De plus Une requte
SNMP est un datagramme UDP habituellement envoye par le
manager destination du port 161 de lagent.

4.3.2.2

La fonction socket_bind
bool socket_bind ( resource $socket , string $address [, int $port = 0 ] )
socket_bind [15] Lie le nom donn par address l'interface de
connexion dcrite par socket. Ceci doit tre effectu avant qu'une
connexion ne soit tablie
utilisant socket_connect() ou socket_listen().
Liste des paramtres :
Socket : Une ressource de socket valide cre par la
fonction socket_create().
Address :

Si

le

socket

est

de

la

famille AF_INET,

le

paramtre address est une IP numrique


Dans notre cas cette phase ladresse IP utilise est celle du
Localhost 127.0.0.1

59

Port : Le paramtre port est uniquement utilis lors de la


liaison un socket AF_INET et dsigne le port sur lequel
couter pour une connexion. Dans notre ca on a utilis le
port 162, celui utilis par le protocole SNMP
Extrait du script php :
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$bind = socket_bind($sock, "127.0.0.1", 162);

4.3.2.3

Stockages des traps dans la base de donnes


Une fois les traps sont rcuprs par les fonctions
socket_create et socket_bind ils seront renvoys dans une table
dans la base de donnes.

Figure 12: la table Trap dans la base de donnes

Cette table est compose de sept colonnes comme lindique la


figure suivante
Pour faire stocker les traps dans la base de donnes :
60

On annonce tout dabord la base de donnes et la table


comme lindique le script ci-dessous :
try{
$pdo = new PDO('mysql:host=localhost;dbname=ati;charset=utf8',
'root', '');
}
catch(Exception $e)
{
die("Erreur: ".$e->getMessage()."\n");
}

Puis on insre les diffrents variables dans la table, chaque


variable dans la colonne correspondante.

4.3.2.4

La fonction mail
bool mail ( string $to , string $subject , string
$message [, string $additional_headers [, string
$additional_parameters ]] )

Listes des paramtres :


To : Le ou les destinataires du mail [16].
Le formatage de cette chane doit correspondre avec la RFC
2822. Voici quelques exemples :
destinataire@example.com
destinataire@example.com,
autre_destinataire@example.com

61

Destinataire <destinataire@example.com>
Destinataire<destinataire@example.com>,Autre
destinataire <autre_destinataire@example.com>
Message : Message envoyer. Chaque ligne doit tre spare par
un caractre CRLF (\r\n). Les lignes ne doivent pas comporter plus
de 70 caractres.
<?php
$text = str_replace("\n.", "\n..", $text);
?>

additional_headers : Chane insrer la fin des en-ttes du


mail Ce paramtre est typiquement utilis pour ajouter des
en-ttes supplmentaires (From, Cc et Bcc). Les en-ttes
supplmentaires

doivent

tre

spars

par

un

caractre CRLF (\r\n). Si des donnes externes sont utilises


pour composer cet en-tte, elles doivent tre d'abord
nettoyes afin de ne pas injecter des donnes non dsires
dans les en-ttes.
additional_parameters : Le
paramtre additional_parameters peut

tre

utilis

pour

passer des drapeaux additionnels comme options la ligne


de commande configure pour tre utilise pour envoyer les
mails

en

utilisant

le

paramtre

de

configuration sendmail_path. Par exemple, ceci peut tre


utilis pour dfinir l'adresse d'expditeur de l'enveloppe lors
de l'utilisation de sendmail avec l'option -f.

62

4.3.3 Interface dauthentification


Pour accder linterface dauthentification de notre
application, on commence par ouvrir un navigateur web et crire
dans la barre de navigation ladresse suivante http://Addresse du
serveur
Par la suite une page dauthentification saffiche demandant le
nom de lutilisateur ainsi que le mot de passe comme lindique la
figure suivante :

Figure 13: interface d'authentification

Lutilisateur tape son identifiant et son mot de passe, le


systme vrifie ces login et mot de passe ainsi que lexistence de
cet utilisateur dans sa base de donnes.
Une fois lauthentification est termine, lutilisateur est
redirig vers la page daccueil de la page web

4.3.4 Module gestion des utilisateurs


La gestion des utilisateurs est une fonction trs importante
pour toute application qui ncessite lauthentification

63

Comme la montre la figure ci-dessous, ladministrateur a la


possibilit dajouter un nouvel utilisateur en tapant son
Username et son Password, et pour la suppression il suffit quil
tape son Username.
Un simple utilisateur na pas le droit dajouter ou de supprimer
des utilisateurs.

Figure 14: interface de gestion des utilisateurs

4.3.5

Interface gestion des quipements

Ladministrateur rseaux a la possibilit de grer les


quipements par lajout ou la suppression, ainsi que la recherche.
Ces fonctionnalits sont seulement permis pour ladministrateur,
les autres utilisateurs ont seulement la possibilit de chercher un
quipement.

4.3.5 Module gestion des graphs


Suites aux alertes reus sous forme de traps, nous avons pu prsenter
ces alertes sous forme de graphs.
Le premier graph est un Pie qui classe les alertes selon leurs criticits, le
deuxime est
un Column qui rparti les nombres dalertes par
source.

64
Figure 15: interface de gestion des quipements

En outre
graphs en

ladministrateur a la possibilit de tlcharger ces


format (JPEG,PDF,..)

4.4 Test
de

Figure 16 : interface gestion des graphs

validation
Cette partie prsente les diffrents tests de validation de
lapplication.

4.4.1 Test fonctionnel


Les tests fonctionnels vrifient lintgration des diffrents
composants lintrieur de lapplication, tel que le routage, les
contrleurs et les vues. Les tests fonctionnels sont similaires aux
tests manuels quon peut effectuer nous-mme en lanant le
navigateur sur la page daccueil du site, en cliquant sur le lien
dun article et en vrifiant que cest le bon article qui saffiche.
Les tests fonctionnels [17] fournissent la possibilit
dautomatiser ce processus. Xdebug propose plusieurs classes trs
utiles pour les tests fonctionnels, tel quun Client capable
deffectuer des requtes vers les pages et soumettre des
formulaires, et un navigateur de Document Object Model que lon

65

peut utiliser pour analyser la rponse du client. Xdebug est une


extension PHP que l'on ne prsente plus. Dbogueur, profileur
(analyse de performances), analyseur de couverture ainsi que
fonctionnalits avances d'introspection PHP, sont autant de
possibilits offertes par cette extension entirement gratuite sous
une licence compatible avec celle de PHP. Nous recueillons ainsi
des lments prcieux sur la validation de notre dveloppement
mais galement sur la faon de rendre lapplication plus adopt,
plus facile utiliser.

4.4.2 Test unitaire


Le test unitaire [18] est une procdure nous permettons de
vrifier le bon fonctionnement d'une partie prcise du notre
application ou d'une portion du notre programme. A partir de ce
test :
On peut trouver les erreurs rapidement : Les tests sont
excuts durant tout le dveloppement, permettant de visualiser si
le code frachement crit correspond au besoin.
Scurise la maintenance: Lors d'une modification d'un
programme

les

tests

unitaires

signalent

les

ventuelles rgressions
Documente le code : Les tests unitaires peuvent servir de
complment l'API, il est trs utile de lire les tests pour
comprendre comment s'utilise une mthode. De plus il est
possible que la documentation ne soit plus jour, mais les
tests eux correspondent la ralit de l'application.
Nos tests sont supports par PHPUnit dont son but est
d'automatiser les tests. Ceux-ci sont exprims dans des classes
sous la forme de cas de tests avec leurs rsultats

66

attendus, PHPUnit est une librairie de tests trs complte, donc


des rfrences la documentation officielle auront lieu lorsque des
dtails supplmentaires peuvent tre apports.PHPUnit excute
ces tests et les comparent avec ces rsultats.
Cela permet de sparer le code de la classe, du code qui
permet de la tester. Souvent pour tester une classe, il est facile de
crer une mthode main() qui va contenir les traitements de tests.
La rdaction de cas de tests peut avoir un effet immdiat pour
dtecter des bugs mais surtout elle a un effet long terme qui
facilite la dtection d'effets de bords lors de modifications.
Les cas de tests sont regroups dans des classes PHP qui
contiennent une ou plusieurs mthodes de tests. Les cas de tests
peuvent tre excuts individuellement ou sous la forme de suites
de tests. PHPUnit permet le dveloppement incrmental d'une
suite de tests.
PHPUnit nous offre :
Des primitives pour crer un test (assertions)
Des primitives pour grer des suites de tests
Des facilites pour lexcution des tests
Statistiques sur lexcution des tests
Interface graphique pour la couverture des tests

4.4.3 Test de charge


La scalabilit [19] est la capacit de votre application crotre
sans limite, la fois en nombre dutilisateurs pris en charge quen
volume de donnes.

67

La mesure de la scalabilit dune application est un


processus relativement coteux. Cela requiert la mise en place de
plateformes compltes ddies au processus dvaluation de votre
application en fonction de la charge dutilisateurs et de donnes.
Cela ncessite galement les outils et comptences appropris
pour interprter correctement les mesures et tre capable
dvaluer les lments dont vous avez besoin en fonction de la
croissance de votre base dutilisateurs. Ce processus est connu
sous le nom de planification de la capacit.
Le manque de scalabilit peut tre la cause de problmes
commerciaux majeurs. Si lapplication ne peut pas accueillir de
nouveaux utilisateurs et quelle na pas t conue pour, il ny a en
gnral pas de solution court terme.

4.4.4 Test de scurit


SNMP v3 [20] est une nouvelle version du protocole SNMP
vise essentiellement inclure la scurit des transactions. La
scurit comprend l'identification des parties qui communiquent et
l'assurance que la conversation soit prive, mme si elle passe par
un rseau public.
Cette scurit est base sur 2 concepts :
USM (User-based Security Model)
VACM (View- based Access Control Model)

4.4.4.1

User Security Module (USM)

Trois mcanismes sont utiliss. Chacun de ces mcanismes a


pour but d'empcher un type d'attaque.

68

L'authentification : Empche quelqu'un de changer le paquet


SNMPv3 en cours de route et de valider le mot de passe de la
personne qui transmet la requte.
Le chiffrement : Empche quiconque de lire les informations
de gestions contenues dans un paquet SNMPv3.
L'estampillage du temps : Empche la rutilisation d'un
paquet SNMPv3 valide a dj transmis par quelqu'un.
L'authentification : L'authentification a pour rle d'assurer
que le paquet reste inchang pendant la transmission, et que le
mot de passe est valide pour l'usager qui fait la requte.
Pour construire ce mcanisme, on doit avoir connaissance des
fonctions de hachage une seule direction. Des exemples de ces
fonctions sont : MD5 et SHA-1. Ces fonctions prennent en entre
une chane de caractres de longueur indfinie, et gnrent en
sortie une chane d'octets de longueur finie (16 octets pour MD5,
20 octets pour SHA-1).
Pour authentifier l'information qui va tre transmise, on doit
aussi avoir un mot de passe qui est partag . Le mot de passe
ne doit donc tre connu que par les deux entits qui s'envoient les
messages, et prfrablement par personne d'autre.
Les tapes d'authentification sont les suivantes :
Le transmetteur groupe des informations transmettre avec
le mot de passe
On passe ensuite ce groupe dans la fonction de hachage
une direction.

69

Les donnes et le code de hachage sont ensuite transmis sur


le rseau.
Le receveur prend le bloc des donnes, et y ajoute le mot de
passe.
On passe ce groupe dans la fonction de hachage une
direction.
Si le code de hachage est identique celui transmis, le
transmetteur est authentifi.
Avec cette technique, le mot de passe est valid sans qu'il ait
t transmis sur le rseau. Quelqu'un qui saisit les paquets
SNMPv3 passants sur le rseau ne peut pas facilement trouver le
mot de passe.
Pour ce qui est de SNMPv3, l'authentification se fait l'aide de
HMAC-MD5-96 ou de HMAC-SHA- 96, qui est un peu plus
compliqu que ce qui a t dcrit ici. Le rsultat de la fonction de
hachage est plac dans le bloc paramtres de scurit du paquet
SNMPv3.
L'authentification se fait sur tout le paquet.
L'tape d'authentification ne vise pas cacher l'existence du
paquet ou le chiffrement. Si l'on utilise uniquement
l'authentification, les personnes qui saisissent les paquets passants
sur le rseau peuvent encore en voir le contenu. Toutefois, elles ne
peuvent pas changer le contenu sans connatre le mot de passe.
Le chiffrement : Le chiffrement a pour but d'empcher que
quelqu'un n'obtienne les informations de gestion en coutant sur
le rseau les requtes et les rponses de quelqu'un d'autre.

70

Avec SNMPv3, le chiffrement de base se fait sur un mot de


passe partag entre le manager et l'agent. Ce mot de passe ne
doit tre connu par personne d'autre. Pour des raisons de scurit,
SNMPv3 utilise deux mots de passe : un pour l'authentification et
un pour le chiffrement. Ceci permet au systme d'authentification
et au systme de chiffrement d'tre indpendants. Un de ces
systmes ne peut pas compromettre l'autre.
SNMPv3 se base sur DES (Data Encryption Standard) pour
effectuer le chiffrement.
On utilise une cl de 64 bits (8 des 64 bits sont des parits, la
cl relle est donc longue de 56 bits) et DES chiffrement 64 bits
la fois. Comme les informations que l'on doit chiffrer sont plus
longues que 8 octets, on utilise du chanage de blocs DES de 64
bits.
Une combinaison du mot de passe, d'une chane alatoire et
d'autres informations forme le Vecteur d'initialisation . Chacun
des blocs de 64 bits est pass par DES et est chan avec le bloc
prcdent avec un XOR. Le premier bloc est chan par un XOR au
vecteur d'initialisation. Le vecteur d'initialisation est transmis avec
chaque paquet dans les Paramtres de scurit , un champ qui
fait partie du paquet SNMPv3.
Contrairement l'authentification qui est applique tout le
paquet, le chiffrement est seulement appliqu sur le PDU.
La RFC 3826 "The Advanced Encryption Standard (AES)
Cipher Algorithm in the SNMP User-based Security Model" relate
l'intgrationd'AESdans SNMP. Celui renforce le chiffrement en
remplacement du DES. Cependant, pour le moment, cette RFC est
en cours de validation et donc pas encore officialise.

71

L'estampillage de temps : Si une requte est transmise, les


mcanismes d'authentification et de chiffrement n'empchent pas
quelqu'un de saisir un paquet SNMPv3 valide du rseau et de
tenter de le rutiliser plus tard, sans modification.
Par exemple, si l'administrateur effectue l'opration de remise
jours d'un quipement, quelqu'un peut saisir ce paquet et tenter
de le retransmettre l'quipement chaque fois que cette
personne dsire faire une mise jour illicite de l'quipement.
Mme si la personne n'a pas l'autorisation ncessaire, elle envoie
un paquet, authentifi et chiffr correctement pour
l'administration de l'quipement.
On appelle ce type d'attaques le Replay Attack . Pour viter
ceci, le temps est estampill sur chaque paquet. Quand on reoit
un paquet SNMPv3, on compare le temps actuel avec le temps
dans le paquet. Si la diffrence est plus que suprieur 150
secondes, le paquet est ignor.
SNMPv3 n'utilise pas l'heure normale. On utilise plutt une
horloge diffrente dans chaque agent. Ceux-ci gardent en mmoire
le nombre de secondes coules depuis que l'agent a t mis en
circuit. Ils gardent galement un compteur pour connatre le
nombre de fois o l'quipement a t mis en fonctionnement. On
appelle ces compteurs BOOTS (Nombre de fois ou l'quipement a
t allum) et TIME (Nombre de secondes depuis la dernire fois
que l'quipement a t mis en fonctionnement).
La combinaison du BOOTS et du TIME donne une valeur qui
augmente toujours, et qui peut tre utilise pour l'estampillage.
Comme chaque agent a sa propre valeur du BOOTS/TIME, la plateforme de gestion doit garder une horloge qui doit tre
synchronise pour chaque agent qu'elle contacte. Au moment du
72

contact initial, la plateforme obtient la valeur du BOOTS/TIME de


l'agent et synchronise une horloge distincte.

4.4.4.2

VACM (View Access Control Model)

Permet le contrle d'accs au MIB. Ainsi on a la possibilit de


restreindre l'accs en lecture et/ou criture pour un groupe ou par
utilisateur.

Figure 17: capture wireshark d'une tamesnmp v3

On soulignera lassurance de scurit vidente qui subsiste


sur la dernire version de SNMP (v3) et on peut remarquer que les
champs de la trame sont crypts et ne sont pas visible pour tous
les agents. C'est dans ce but qu'a donc t dveloppe la dernire
version (v3) de SNMP. Depuis 2002 celle-ci a t dcrte comme
standard pour ce protocole. Pourtant la version 1 reste encore
beaucoup utilise et peu d'entreprises voluent en passant en sur
la dernire version.
73

4.5 Critique
Dans cette partie nous allons critiquer les besoins fonctionnelle
et non fonctionnelle que nous avions cit dans le 1re chapitre.

4.5.1 Les besoins fonctionnelles


Au cours de notre projet on a pu offrir les services ncessaires
la satisfaction des utilisateurs essentiellement la simplicit de la
manipulation de lapplication ainsi que son efficacit dans le
travail.

4.5.2 Les besoins non fonctionnelles


Cette partie est consacre pour critiquer les besoin non
fonctionnelle pour la ralisation et pour un bon fonctionnement de
notre application. Et ce qui concerne notre application nous avons
dgag ces besoins :
La disponibilit: Notre application assure la disponibilit
dune part pour lutilisateur dans ce cas on a mis lapplication la
disposition des personnels de lATI. Dautre part afin de mettre en
place une application mobile il nous faut un serveur web capable
dexcuter le code et dans notre cas on a utilis le serveur web
Apache qui est conu pour prendre en charge de nombreux
modules lui donnant des fonctionnalits supplmentaires.
Dautre part afin de mettre une telle application il nous faut un
serveur web capable dexcuter le code et dans notre cas on a
utilis le serveur web Apache qui est conu pour prendre en
charge de nombreux modules lui donnant des fonctionnalits
supplmentaires...

74

De plus pour quon puisse garantir une haute disponibilit


dun service du part son bon fonctionnement. Ces dispositions sont
effectues dans le but de prvenir toutes les pannes informatiques
qui peuvent, en fonction de leur gravit, provoquer une perte de
productivit et par consquent une perte de service. Pour prvenir
les dfaillances il est ncessaire de mettre en place des
mcanismes de redondance.
Les entreprises dont les sites Web obtiennent beaucoup de
trafic utilisent gnralement l'quilibrage de charge. Pour
l'quilibrage de charge du trafic Web, on va utiliser deux serveurs
pour quilibrer la charge de travail, un troisime serveur est
ncessaire pour dterminer le serveur pour attribuer les travaux.
Depuis l'quilibrage de charge ncessite plusieurs serveurs, il est
gnralement combin avec basculement et de sauvegarde des
services. Dans certaines approches, les serveurs sont rpartis sur
diffrents sites gographiques.

En outre, dans une telle entreprise le nombre des quipements


superviser est important, donc dans plusieurs cas le nombre des
traps reu sont trs lev ce qui peut engendrer des problmes
dcoute des traps , dans on recourt amliorer la capacit de
charge .
Scurit :
Authentification :
Nous avons pris en considration la confidentialit des donnes
dans notre application surtout au niveau de lauthentification .

75

Le mot de passe semble tre la solution la plus vidente et


la plus simple implanter mais ce qui pose le problme n'est pas
tant le fait de devoir insrer un mot de passe, mais plutt de faire
en sorte que l'acheminement de ce mot de passe au travers du
rseau Internet se fasse de manire scurise pour cela nous
devons restreindre laccs ces informations en implmentant un
firewall qui empche laccs aux rseaux interne .

La scurit du protocole SNMP :


Simple Network Management Protocole (SNMP) est un
protocole utilis pour surveiller et grer les quipements sur un
rseau. Plusieurs failles de scurit lies ce protocole ont t
dcouvertes et annonces par des organismes de scurit
Ce qui rend la situation encore plus grave, c'est qu'il y a des
outils qui se servent de ces failles afin de causer des dommages
sous la forme d'attaques de dni de service, pour causer un
redmarrage de l'quipement ou mme pour gagner l'accs
privilgi.
La plupart des problmes provient d'un dbordement de
tampon mais des instances des erreurs de dcodage des messages
reus et le format des messages reus peuvent avoir des
consquences graves.
Le comportement des quipements affects et la disponibilit
de la vulnrabilit varient beaucoup. Par exemple, les machines
qui fonctionnent avec le systme d'exploitation Windows sont
vulnrables, mais le service n'est pas install par dfaut.

76

Le protocole SNMP, un outil qui est apparu vers 1980, n'est


probablement pas utilis par la plupart des quipements de nos
jours et par consquent, le service peut tre ferm s'il est
actuellement ouvert. Plusieurs machines de type Unix ont ce
service activ par dfaut mais pour la majorit, l'opration de
fermer le service est trs simple.

La fiabilit :
La fiabilit de lapplication est un des points forts de notre
besoin. Compte-tenu du fait que nous assurons lhbergement et
que le logiciel est sous notre contrle, nous pouvons garantir un
niveau et une continuit de ce service.

La convivialit de linterface graphique :


Notre application est caractriser par son interface conviviale
vu que celle-ci est trs facile utiliser par les personnels qui lui
permet un accs rapide tous les informations donc elle est
utilisables, elle est aussi caractriser par une rponse optimale
aux besoins de lutilisateur ce dernier ne perdra pas beaucoup
temps et on peut dire quelle est navigable. En ralit pour la
ralisation de notre application on a essay d'appliquer au
maximum le principe de l'exprience utilisateur qui met
lutilisateur au centre de la conception du logiciel dont le but est
de qualifier le ressenti de lutilisateur lors de son interaction avec
une interface homme-machine afin de lintgrer dans la dfinition
des interfaces.

77

Conclusion
Dans ce dernier chapitre nous avons prsent les diffrentes
tapes suivis pour la ralisation de notre application, par la suite
nous avons cit les diffrents tests pour la validation de
lapplication, et la dernire partie tait consacre pour la critique.

Conclusion gnrale

78

Le domaine de la supervision des rseaux est un domaine


important de ladministration systmes et rseaux qui sont en une
constante volution. De nos jours, la supervision est devenue un
moyen indispensable pour favoriser la croissance de rendement
dune entreprise.
Au terme de ce travail labor dans le cadre de notre projet fin
dtude, nous considrons que ce projet nous a t bnfique vu
quil nous a permis de consolider nos connaissances vers la
conception et mise en place dun systme qui sera utile dans le
domaine de surveillance rseau. Nous avons pu dvelopper des
connaissances sur la supervision rseau ainsi que le monde des
logiciels libres. En effet, lapport de notre projet se rsume surtout
dans la dcouverte dun domaine vaste et innovant et la
familiarisation avec les diffrentes composantes qui nous ont
permis damliorer nos comptences et nos acquis.

79

Annexes
1.

Installation dun agent SNMP

Installation et paramtrage du SNMP sous Windows :


Nous allons dans le panneau de configuration>programmes >
Activer ou dsactiver des fonctionnalits Windows
On coche ensuite la case correspondant au Protocole SNMP,
puis on clique sur ok .

Figure 18: interface de fonctionnalit SNMP

80

Ensuite le paramtrage: Dans Windows, on ouvre le panneau


des services en lanant la commande services.msc
On va dans longlet scurit, ici lon va renseigner la
communaut que possde notre serveur de supervision et lui
accorder les droits en lecture et criture.
Nous allons aussi renseigner lIP de notre serveur de
supervision dans la figure

Figure 19: Paramtrage snmp

81

2.
Installation et paramtrage du
SNMP sous linux
Pour installer un manager SNMP, nous allons dabord installer
les paquets SNMP Snmp et snmpd
sudo apt-get install snmpsnmpd
Ensuite nous allons diter le fichier snmpd.conf avec la
commande :
Sudo nano /etc/snmp/snmpd.conf
Et rentrer les paramtres suivant :
#com2sec paranoid default
#com2sec readonly default

public
public com2sec readwrite

default
Ici on autorise en lecture et criture la communautpublic
Nous allons aussi diter le fichier /etc/default/snmpd
Sudo nano /etc/default/snmpd
On cherche la ligne, et remplace 127.0.0.1 par l'adresse IP de
l'interface rseau utilise pour communiquer avec le serveur de
supervision
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p
/var/run/snmpd.pid
127.0.0.1'
Puis il faut redmarrer le service SNMP :

82

sudo /etc/init.d/snmpd restart


Installation et paramtrage du SNMP sur un routeur
Cisco :
1-Telnet au routeur :
prompt# telnet 192.168.38.1
2-Entrez au mode enable:
Router>enable
Password:
Router#

3-Afficher la configuration courante et rechercher l'information de


SNMP :

Router# show running-config


Building configuration...
....
....
4-Entrer dans le mode de configuration :
Router# configure terminal
Enter configuration commands, one per line. End
with CNTL/Z.
Router(config)#
5-Employer la commande ci-dessous pour activer le Read-only
(RO) community string:
Router(config)# snmp-server community public RO
6-Employer la commande ci-dessous pour activer le Read-write
(RW) community string
83

Router(config)# snmp-server community private RW


7-Sortir hors du mode de configuration et revenir au message de
sollicitation principal :
Router(config)# exit
Router#
8-crire la configuration modifie la RAM non-volatile (NVRAM)
pour sauver la configuration :
Router# write memory
Building configuration...
[OK]
Router#

Bibliographie
[1] : Prsentation de lATI. Fichier word reu de la part de notre encadrant
le avril 2015
[2] : Gnralits sur les mthodes agiles, consult le mars 23,2015, sur
http://ineumann.developpez.com/tutoriels/alm/agile_scrum/
[3] : Les superviseurs, rapport projet fin dtudes de Fahmi ABEDLTIF et
chedin ZRIBI , Conception et mise en place dun systme de surveillance
dun rseau informatique
Eyes Of Network
[4] Le protcole SNMP . (s.d.). Consult le mars 17, 2015, sur
http://d.nouchi.free.fr/SNMP/SNMP.htm
[5] SNMP Version 1 (SNMPv1) Message Format. Consult le mars 18,
2015, sur
http://www.tcpipguide.com/free/t_SNMPVersion1SNMPv1MessageFormat3.htm

84

[6] : UML, consult le avril 22, 2015, sur http://fr.wikipedia.org/wiki/UML_


%28informatique%29
[7] : Diagramme de squence, consult le mais 15, 2015, sur
http://fr.wikipedia.org/wiki/Diagramme_de_s%C3%A9quence
[8] : Diagramme de dploiement, consult le mai 15, 2015, sur
http://fr.wikipedia.org/wiki/Diagramme_de_d%C3%A9ploiement
[9] : Diagramme dactivits, consult le mai 15, 2015, sur
http://fr.wikipedia.org/wiki/Diagramme_d%27activit%C3%A9
[10] : PHP, Consult le avril 9,2015 sur
http://fr.wikipedia.org/wiki/PHP

[11] : wamp-server, consult le avril 22, 2015 sur


http://fr.wikipedia.org/wiki/WampServer
[12] : notepad++, consult le avril 22,2015 sur
http://fr.wikipedia.org/wiki/Notepad%2B%2B
[13] : PhpMyadmin , consult le avril 22,2015 sur
http://fr.wikipedia.org/wiki/PhpMyAdmin
[14] : socket_create , consult le avril 22,2015 sur
http://php.net/manual/fr/function.socket-create.php
[15] :socket_bind , consult le avril 22,2015 sur
http://php.net/manual/fr/function.socket-bind.php
[16] : mail function , consult le avril 24,2015 ,sur
http://php.net/manual/fr/function.mail.php
[17] : le test fonctionnel, consult le mai 24,2015, sur

85

http://keiruaprod.fr/symblog-fr/docs/tests-unitaires-et-fonctionelsphpunit.html
[18] : le test unitaire, consult le mai 24,2015, sur
http://www.infoq.com/fr/articles/Unit-Testing-Complete-Integration-TestingBegins
[19] : la scalabilit, consult le mai 24,2015, sur
https://softfluentfr.wordpress.com/tag/developpement-net/
[20] : test de scurit, consult le mai 28,2015, sur
http://www.frameip.com/snmp/

86

87