Vous êtes sur la page 1sur 54

REPUBLIQUE TUNISIENNE

*****
MINISTERE DE L'ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
*****
UNIVERSITE VIRTUELLE DE TUNIS
*****

RAPPORT DE PROJET DU FIN DETUDES

Sujet :

Dveloppement dun outil de


supervision dun systme
dexploitation (Tunisie Tlcom)
Elabor par

Makrem Mannai
Boutheina Khabouchi
Youssef Hammami
Encadr par :
Mourad Zouari & Kamel Khediri

Socit d'accueil : Tunisie Telecom

Anne Universitaire 2010/2011

Remerciements

Nous voudrions remercier nos encadreurs,

Mr Mourad Zouari et Mr Kamel Khdhiri


pour leur soutien et ses recommandations judicieuses. Aussi, remercions-nous tout personnel
de Tunisie Telecom ayant contribu de prs ou de loin dans le bon droulement du projet.

Nous devons chaque bribe de notre connaissance nos enseignants lUniversit


Virtuelle du Tunis qui ont si bien men leur noble qute denseigner tous ce quil faut. Nous
les remercions non seulement pour le savoir quils nous ont transmis, mais aussi pour la fiert
et lambition que leurs personnes nous aspirent.

on loin de tout projet ambitieux, il existe des gens qui partagent sans jamais se
lasser ses meilleurs et ses pires moments. Ce sont des personnes qui nous ont soutenus dans
chacun de nos instants de faiblesse, et qui, sans leurs extrme attention et gentillesse, nous ne
serions pas ce que nous sommes devenu aujourdhui. En tte de liste de ces gens nous
placerons nos familles bien aimes qui nont jamais hsit nous offrir le meilleur quelles
pouvaient. Viennent alors tous nos camarades de promotion ainsi que tous nos amis qui nous
ont aids de faon directe ou tout simplement par leur prsence et leur soutien moral.

Sommaire
Introduction gnrale...1

Chapitre I : Cadre gnral Du projet.............2


I.

Introduction .....................................................................................................................3

II. Prsentation de lorganisme daccueil ..............................................................................3


A. Historique de Tunisie Telecom.....................................................................................3
B. Organigramme de lorganisme .....................................................................................4
III.

Prsentation du sujet .....................................................................................................6

A. Intitul .........................................................................................................................6
Dfinition du projet : .......................................................................................................6
B. Intrts du projet ..........................................................................................................6
C. Conclusion ...................................................................................................................6

Chapitre II : tude de lexcisant ..........7


I.

Introduction : ...................................................................................................................8

II. Etude de lexistant : .........................................................................................................8


A. Critique de lexistant ....................................................................................................8
1.

Critique ....................................................................................................................8

2.

Solution propose : ...................................................................................................9

III.

Conclusion ...................................................................................................................9

Chapitre III : Analyse et Spcification des besoins ......10


I.

Introduction ...................................................................................................................11

II. Spcification des besoins fonctionnels et non fonctionnels ............................................11


A. Spcification des besoins fonctionnels .......................................................................11
B. Spcification des besoins non fonctionnels .................................................................12
III.

Spcification semi-formelle des besoins .....................................................................13

A. . Mthode de conception ............................................................................................13


1.

UML ......................................................................................................................13

IV.

Diagrammes de cas dutilisation.................................................................................14

A. Diagramme des cas dutilisation de ladministrateur ..................................................14


B. Diagramme des cas dutilisation du superviseur .........................................................14
C. Diagramme des cas dutilisation global de systme ....................................................16
V. Conclusion ....................................................................................................................16

Chapitre IV : Conception.....17
I.

Introduction ...................................................................................................................18

II. Conception de lapplication ...........................................................................................18


III.

Modlisation conceptuelle..........................................................................................18

A. Conception de la base de donnes en se basant sur le langage UML ...........................18


1.

Le diagramme de classe global de systme ............................................................19

2.

Le diagramme de squence .....................................................................................20

IV.

Conclusion .................................................................................................................24

Chapitre V : Application graphique de la supervision......25


I.

Prsentation gnrale du lapplication :..........................................................................26

II. Principe de Fonctionnement de lapplication de la supervision : ...................................26


A. Description de la partie A : ........................................................................................26
B. Description de la partie B : .........................................................................................27
III.

Description de lapplication de la supervision : ..........................................................27

IV.

description de la premire partie ................................................................................28

A. notion sur java : ........................................................................................................28


1.

Quest-ce que la technologie java ...........................................................................28

2.

Pourquoi ai-je besoin de Java ? ...............................................................................28

3.

Java est-il disponible gratuitement au tlchargement ? ..........................................28

4.

Pourquoi devrais-je passer la dernire version de Java ? .......................................28

B. Concept de socket ......................................................................................................28


C. Adresses IP ................................................................................................................29
1.

La classe InetAddress .............................................................................................30

D. Sockets TCP ..............................................................................................................30


1.

Le modle client/serveur ........................................................................................30

2.

La classe Socket .....................................................................................................32

3.

La classe ServerSocket ...........................................................................................33

4.

Options des sockets serveurs ..................................................................................34

V. Description de la deuxime partie ..................................................................................36


A. Prsentation : .............................................................................................................36
B. Caractristiques .........................................................................................................36
C. Systmes d'exploitation supports ..............................................................................36
D. Utilisation ..................................................................................................................36
E. Dnomination ............................................................................................................37
F.

Historique ..................................................................................................................37

G. Quelque nation sur MySQL .......................................................................................38


VI.

Description de la troixime partie...............................................................................39

A. notion sur PHP : ........................................................................................................39

VII.

1.

Qu'est-ce que PHP? ................................................................................................39

2.

Origines de PHP .....................................................................................................39

3.

SGBD supports par PHP .......................................................................................40

4.

Implantation du code Php .......................................................................................40


Ralisation de Projet : ..............................................................................................43

Conclusion gnrale .................................................................................48

Introduction gnrale

Introduction gnrale
La supervision est la "surveillance du bon fonctionnement dun systme ou dune activit".
Elle permet de surveiller, rapporter et alerter les fonctionnements normaux et anormaux des
systmes informatiques.
Elle rpond aux proccupations suivantes :

Technique : surveillance du rseau, de linfrastructure et des machines,


Applicative : surveillance des applications et des processus mtiers,
Contrat de service : surveillance respect des indicateurs,
Mtier : surveillance des processus mtiers de lentreprise.

En cas de dysfonctionnement, le systme de supervision permet d'envoyer des messages sur la


console de supervision, ou bien d'envoyer un courriel l'oprateur. Mais si le
dysfonctionnement se produit en dehors des heures de bureau, et en l'absence de systme
appropri, l'alerte n'est pas reue par l'oprateur, et les utilisateurs des applications ne sont pas
prvenus du dysfonctionnement. Cest pourquoi il peut tre utile de complter le superviseur
par un logiciel de gestion des alertes, qui envoie automatiquement un courriel, un SMS, ou un
appel tlphonique un oprateur sous astreinte.

Do lintrt du notre projet du fin dtudes qui consiste dvelopper une application de la
supervision performante et facile a utiliser.
Notre rapport est compos en 5 chapitres :
Le premier Chapitre prsente le cadre gnrale du notre projet.
Le deuxime Chapitre cest une tude de lexistant qui prsente les diffrentes
problmatiques.
Le troisime chapitre prsente une analyse et spcification des besoins
Le quatrime chapitre prsente une conception du notre application
Le cinquime chapitre prsente la partie ralisation du lapplication de la supervision

Chapitre 1 : Cadre gnral du projet

Chapitre I :
Cadre gnral du projet

Chapitre 1 : Cadre gnral du projet

I.

Introduction
Dans ce chapitre, nous allons donner une brve description de la socit daccueil et

prsenter son organigramme. Ensuite, nous allons expliquer le sujet de notre projet et ses
objectifs. Enfin, nous allons poser la problmatique et les solutions envisages.

II.

Prsentation de lorganisme daccueil


A.

Historique de Tunisie Telecom

logo de Tunisie Telecom

Tunisie Tlcom ( ) est le nom commercial de l'oprateur historique


de tlcommunications en Tunisie.
La loi portant cration de l'Office national des tlcommunications, dont le nom
commercial est Tunisie Tlcom, est promulgue le 17 avril 1995 et entre en vigueur
le1er janvier 1996. Devenu socit anonyme de droit public fin 2002, il change de statut
juridique, par un dcret du 5 avril 2004, pour devenir une socit anonyme dnomme
Tunisie Tlcom . Elle connat une privatisation partielle en juillet 2006 avec l'entre dans
son capital, hauteur de 35 %, de l'mirati Tec om-DIG.
Tunisie Tlcom propose des services dans le domaine des tlcommunications fixes et
mobiles. En juin 2006, il est fort de 1 259 000 abonns au rseau fixe (RTCP), dont il dtient

Chapitre 1 : Cadre gnral du projet

le monopole, et de 3 265 000 abonns au rseau GSM (la premire ligne est inaugure le 20
mars 1998, faisant de lui le leader sur ce march devant l'oprateur priv Tunisiana.
Depuis 2008, Tunisie Tlcom offre la possibilit aux dtenteurs de cartes bancaires
nationales d'alimenter le solde de leurs lignes prpayes via les distributeurs automatiques de
billets de l'Arab Tunisien Bank (service Mobilink).
Le 21 mars 2009, Tunisie Tlcom lance une nouvelle marque, Elissa, avec des offres
spcifiquement conues pour les jeunes de moins de 25 ans. Il est galement un fournisseur
d'accs Internet (Frame Relay, ADSL, X.25, LS, RNIS et WLL pour la tlphonie rurale).
Tunisie Tlcom met en place, exploite et commercialise le premier rseau GSM
en Mauritanie (Mattel) partir de mai 2000. Elle conclut galement une convention de
coopration technique avec Djibouti Tlcom pour le dveloppement de ses rseaux de
tlcommunications.
Tunisie Telecom El Kasbah est organis en plusieurs directions, comme exemple le
centre de service valeur ajoute o nous avons ralis ce projet. Le centre de service
valeur ajoute prsente plusieurs travailleurs occupants les postes des Techniciens et des
ingnieurs comptents. Aussi, il comprend plusieurs types de serveurs norms, des serveurs
de type SUN (SPARC, NITRA.) installer par des systmes dexploitation Solaris(UNIX),
Redhat (LUNIX) et Windows Server, et de type IBM installer par Windows Server (2003,
2008), AIX (UNIX) et Ubuntu, en plus le type Siemens.

B.

Organigramme de lorganisme

Pour concrtiser la mise en place de lONT, le conseil dadministration sest runi en


vue dtablir un organigramme transitoire modlisant la structure interne de loffice.
Cet organigramme fait lobjet de plusieurs reformes et restructurations afin de sadapter
aux nouvelles exigences defficience et defficacit. En fait, lorganigramme de Tunisie
Telecom se prsente comme suit :

Chapitre 1 : Cadre gnral du projet

Lorganisation Fonctionnelle de Tunisie Telecom

Chapitre 1 : Cadre gnral du projet

III.

Prsentation du sujet
A.

Intitul

Le sujet consiste concevoir et dvelopper une application de supervision permettant aider les
administrateurs intervenir en mode proactive afin de minimiser lindisponibilit des systmes. En
effet lenregistrement de lhistorique des vnements de lactivit sur le systme informatique et leur
analyse sont des points importants dans ladministration des systmes dinformation. Cela permet la
construction d'indicateurs pour avoir une vue densemble sur diffrentes informations (Occupation
CPU, Occupation mmoire, etc.) et la dtection d'activits suspectes, d'anomalies ou d'erreurs afin
d'agir plus rapidement en cas de besoin.

B.

Intrts du projet

Afin de dvelopper un outil de supervision du systme dinformation de lentreprise, il a t demand


de chercher des outils ou de dvelopper des scripts permettant danalyser les diffrents comportements
des systmes.
Ce travail ncessite comme pr requis de :
-

Prendre connaissance de larchitecture des systmes existants,

Etudier les interactions entre les diffrents composants,

Etudier aussi les performances des systmes

A titre dexemple : dans une mme plateforme, on peut trouver trois serveurs (Web, Applicatif et
Base de donnes) donc la panne dun seul peut affecter le reste.

C.

Conclusion

Dans ce chapitre, nous avons tudi le contexte gnral de notre projet, ainsi que
lensemble des tches raliser. Pour les accomplir, quelques notions relatives ce travail
doivent tre dfinies. Nous avons consacr le chapitre suivant pour illustrer les notions de
base ncessaires llaboration de notre projet.

Chapitre II : Etude de Lexistant

Chapitre II :
tude de lexistant

Chapitre II : Etude de Lexistant

I.

Introduction :
Dans cette partie, nous allons dtailler les limites de la solution actuelle. Ensuite, nous

allons prsenter les meilleures solutions de travail et de scurit proposes.

II.

Etude de lexistant :
Tunisie Telecom est une socit qui comporte un nombre important de directions et de

services dploys sur lensemble du territoire Tunisien.


Tunisie Telecom a comme but de grer les rseaux et les services publics de
Tlcommunications. Le DATA CENTER est un centre dhbergement des serveurs des
applications de lentreprise (AD, exchange, ERP, BSCS ...), servant abriter des systmes
informatiques et les composants associs, comme les tlcommunications et les systmes de
stockage.
Tous les serveurs sont interconnects

par un rseau local ddi qui leur permet de

communiquer de manire rapide et sure. Dans ce centre, il y a un quipe qui partage


ladministration des serveurs, qui contrle et fait le suivi de ltat des serveurs et de la
maintenance prventive. On doit noter que au sein de la direction des oprations IT, il ya un
centre de supervision qui assure le suivi des dfrentes couches (system, application mtier,
rseau, Base de donnes, ).

A.
1.

Critique de lexistant
Critique

Au sein de lquipe infrastructure, ladministrateur assure une vrification manuelle


quotidiennement. Cette vrification est ncessite beaucoup et considre insuffisante pour des
systmes trs critique.
Le but du projet est de dvelopper une application permettant dassurer la supervision
de ces machines, le suivi doccupation RAM, CPU, SWA et disque en temps rel.
Ce projet est n dans lobjectif de faciliter la tche des administrateurs systme. Avec
cet outil on peut assurer ce check par exemple toutes les 5 minutes (paramtre fix par
lutilisateur) et on peut dtecter les problmes qui se produisent instantanment.

Chapitre II : Etude de Lexistant

2.

Solution propose :

Lvolution du nombre de serveurs chez la Tunisie Telecom et lobligation de la


scurit dans nos jours a certainement prsent quelques obligations de ragir pour tre dans
les normes de cette volution socitaire. En effet, malgr tous les points forts des quipements
logiciels et matriels chez la Tunisie Telecom lutilisation de certains serveurs ne satisfait pas
la scurit.
Do vient la ncessite de la mise en place dun outil de supervision du systme qui
permet de suivre l'tat des systmes. Cet outil de supervision sadapte au domaine
d'application, il permet aux administrateurs systme de recevoir des mails dalertes.

III.

Conclusion

Ltude de lexistant permet de mieux prsenter les diffrents problmes au sein de la


socit Tunisie Telecom ainsi ltude de la solution propose.

Chapitre III : Analyse et spcification des besoins

Chapitre III :
Analyse et Spcification
des besoins

10

Chapitre III : Analyse et spcification des besoins

I.

Introduction
Ce chapitre prsente lanalyse du systme dinformation dvelopper. Nous allons

prsenter les besoins fonctionnels et non fonctionnels de lapplication. Enfin, on trouve la


reprsentation de la spcification formelle des besoins travers des diagrammes de cas
dutilisation qui seront dune grande utilit dans le processus de dveloppement de
lapplication.

II.

Spcification des besoins fonctionnels et non fonctionnels


Lanalyse du sujet nous a permis de dgager les fonctionnalits qui seront mise la

disposition de lutilisateur. Dans cette partie, nous allons recenser les fonctionnalits que
lapplication doit offrir ses diffrents utilisateurs.
Notre application doit fournir la fois des fonctionnalits aussi bien pour ladministrateur
que pour le superviseur.

A.

Spcification des besoins fonctionnels

Ct administrateur
Ladministrateur est un technicien ou ingnieur responsable du bon fonctionnement de
lapplication.
Le logiciel doit permettre :
Laccs et lidentification

Ladministrateur aura comme rle :


Grer les plateformes.
Editer les serveurs.
Grer les comptes utilisateurs.
Gestion des privilges :
Ajout, suppression et modification des privilges des groupes enregistrs.
Rgler les Seuils dalertes

11

Chapitre III : Analyse et spcification des besoins

Ct superviseur

Cest un agent qui assure la supervision des systmes et la rsolution des alertes.
Le logiciel doit permettre :
Laccs et identification
Le superviseur a comme rle :
La vrification de ltat des serveurs.
La consultation des historiques.
Llaboration des rapports.
La comparaison des alertes existantes et les nouvelles.

B.

Spcification des besoins non fonctionnels

Les besoins non fonctionnels prsentent les exigences internes pour le systme et caches
vis vis les utilisateurs, notre application doit tre facile utiliser, avec une bonne ergonomie.
Il doit garantir un temps de rponse court.
Lergonomie

Le systme doit prsenter des interfaces graphiques conviviales bien structures du point
de vue contenu informationnel.
La scurit des donnes

Scuriser les donnes revient appliquer une stratgie didentification, dauthentification,


lautorisation et contrler chaque tentative daccs ces donnes. Dans notre systme laccs
aux informations personnelles nest autoris quaux personnes propritaires et selon un
privilge qui dtermine les droits daccs.

12

Chapitre III : Analyse et spcification des besoins

III.

Spcification semi-formelle des besoins


A.
1.

. Mthode de conception
UML
a)

Dfinition

UML nest pas une mthode (Cest une description normative des tapes de la
modlisation) : ses auteurs ont en effet estim quil ntait pas opportun de dfinir une
mthode en raison de la diversit des cas particuliers. Ils ont prfr se borner dfinir un
langage graphique qui permet de reprsenter et de communiquer les divers aspects dun
systme dinformation aux graphiques qui sont bien sr associs des textes qui expliquent leur
contenu. UML est donc un mtalangage car il fournit les lments permettant de construire le
modle qui, lui, sera le langage du projet.
Pierre-Alain Muller ajoute :
UML est dans le domaine public, soutenue par le march : Microsoft, HP, IBM, Oracle...
Successeur naturel des mthodes de Booch, OMT et OOSE, UML est le fruit de lexprience
et des besoins de la communaut des utilisateurs.
b)

Les avantages de lUML

UML est un langage formel et normalis. Il permet ainsi : Un gain de prcision, un gage de
stabilit et l'utilisation d'outils.
UML est un support de communication performant : Il cadre l'analyse et facilite la
comprhension de reprsentations abstraites complexes. Son caractre polyvalent et sa
souplesse lui font un langage universel.
Objectif :
Construire des modles de systmes,
Organiser le travail,

Grer le cycle de vie de A Z,


Grer le risque,
Obtenir de manire rptitive des produits de qualit constante.
13

Chapitre III : Analyse et spcification des besoins

En conclusion, nous avons choisi de travailler avec UML parce quil exprime mieux la vue
statique et dynamique du systme d'information et pour notre application web, il est
ncessaire de faire une analyse trs approfondie pour pouvoir dgager les ncessits de
dveloppement ainsi que quelques scnarios d'excution.
Maintenant dans une conception dune application web, les diagrammes de classes obtenus
doivent tre encore modifis selon la technologie (.net, java/j2ee) ou langage (PHP) utilise ce
qui rend le passage la gnration de code moins vidente...

IV.

Diagrammes de cas dutilisation


A.

Diagramme des cas dutilisation de ladministrateur

Ce diagramme donne ladministrateur la possibilit de crer des plateformes et des


serveurs. En plus, il gre les comptes utilisateurs ainsi que la gestion des privilges. Enfin, il
gre les seuils dalertes. Chaque administrateur doit sauthentifier avant daccder
lapplication.

Diagramme des cas dutilisation de ladministrateur


14

Chapitre III : Analyse et spcification des besoins

B.

Diagramme des cas dutilisation du superviseur

Ce diagramme donne chaque employ la possibilit de vrifier ltat des serveurs. En


plus, il a la possibilit dlaborer des rapports. Chaque employ doit sauthentifier avant
daccder son groupe.

Diagramme des cas dutilisation du superviseur

15

Chapitre III : Analyse et spcification des besoins

C.

Diagramme des cas dutilisation global de systme

Un cas dutilisation est une manire spcifique dutiliser un systme. Cest limage
dune fonctionnalit du systme, dclenche en rponse la stimulation dun acteur externe.
Les cas dutilisation apportent une solution au problme de la dtermination et de la
comprhension des besoins.

Diagramme des cas dutilisation global


Dans ce diagramme, nous avons dcrit les diffrentes fonctions effectues par
ladministrateur et le superviseur.

V.

Conclusion
Ce chapitre prcise les besoins fonctionnels que lapplication dveloppe doit offrir aux

utilisateurs et les besoins non fonctionnels aprs lidentification des acteurs ainsi que les cas
d'utilisations de chaque acteur.
16

Chapitre IV : Conception

Chapitre IV :
Conception

17

Chapitre IV : Conception

I.

Introduction
Ce chapitre prsente la partie conception de notre projet. Vu que notre application se

prsente la fois comme un systme grant des fonctionnalits complexes dune part, et
comme un produit multimdia dautre part, nous prsentons la conception en suivant trois
grandes parties savoir : conception gnrale, conception graphique et la conception dtaille
de lapplication.

II.

Conception de lapplication
La conception est un processus cratif, cest la phase la plus importante dans le cycle de

dveloppement dun projet. Le support de cette phase par des techniques et des outils
appropris est important pour produire une application de haute qualit et pour minimiser
leffort de dveloppement.

III.

Modlisation conceptuelle

Dans cette partie, nous allons prsenter le rsultat de ltude que nous avons faite. On va
tudier les besoins de notre application qui sont dj prciss dans le chapitre prcdent en se
basant sur les diagrammes dUML : Nous allons prsenter en premier lieu la conception de la
base de donnes sous forme dun diagramme de classes et en deuxime lieu la conception des
traitements sous forme des diagrammes de squence.

A.

UML

Conception de la base de donnes en se basant sur le langage

Dans cette partie, nous allons modliser la base de donnes sous forme dun diagramme de
classe.

18

Chapitre IV : Conception

1.

Le diagramme de classe global de systme

Le diagramme de classes constitue un lment trs important de la modlisation : il


permet de dfinir les composantes du systme final. Nanmoins, on constate souvent quun
diagramme de classes proprement ralis permet de structurer le travail de dveloppement de
manire trs efficace; il permet aussi, dans le cas des travaux raliss en groupe (ce qui est
pratiquement toujours le cas dans les milieux industriels), de sparer les composantes de
manire pouvoir rpartir le travail de dveloppement entre les membres du groupe
Le passage du diagramme de classe la base de donnes ncessite le suivi de ces rgles :
1. classe A <-> classe B avec cardinalit 1, 1 de deux cot
Dans ce cas, a priori, il vaut mieux regrouper le contenu de A et B dans une mme table
2. classe A <-> classe B avec cardinalit 1, n de deux cot
Cest--dire qu'une entit 'a' peut avoir plusieurs entits 'b' qui lui sont attaches. Dans ce cas,
vous allez crer 2 tables --> table A et table B. Dans la table B, tu prvois un attribut
supplmentaire contenant l'ID de l'lment A auquel il est rattach...
3. classe A <-> classe B avec cardinalit n, n de deux cot
Dans ce cas, il faut crer 3 tables :
Une table A, une table B, et une troisime table qui donne les "liens" entre les lments a et
les lments b : cette table est constitue de 2 colonnes : l'une prsente l'ID de la table A, et
l'autre l'ID de la table B.
Tout ceci est trs global, il y a des nuances en pratique.
Aprs la suivie des rgles de passage du diagramme de classe vers le modle relationnel,
nous avons obtenu ce diagramme de classe :

19

Chapitre IV : Conception

Diagramme de classe

2.

Le diagramme de squence

Un diagramme de squence est une forme de diagramme comportemental qui nous permet
de spcifier les interactions qui existent entre un groupe d'objets. Mme si d'autres
diagrammes comportement aux peuvent convenir, les diagrammes de squence sont les plus
utiliss, principalement parce qu'ils permettent de voir comment les objets s'utilisent
mutuellement. Grce ces informations, vous pouvez dterminer plus prcisment pourquoi
deux objets sont lis.Comme les diagrammes de squence sont toujours lus du haut vers le
bas, ils illustrent l'ordre dans lequel les messages sont envoys entre les objets.Il est tout fait
possible de supprimer certains messages qui participent au prsent flux d'vnements, si ces
messages ne sont pas pertinents dans le contexte du diagramme de squence. Bien que les
diagrammes complexes puissent impressionner, ils apportent peu en matire de
communication. Les diagrammes de squence doivent rester aussi simples que possible et
seuls les messages pertinents doivent tre reprsents.

20

Chapitre IV : Conception

Diagramme de squence de ladministrateur

21

Chapitre IV : Conception

Diagramme de squence de lemploy

22

Chapitre IV : Conception

Diagramme de squence global

23

Chapitre IV : Conception

IV.

Conclusion

Aprs avoir accomplir la conception de notre application, nous allons entamer la partie
"Ralisation". Dans le chapitre suivant, nous allons prsenter lenvironnement de travail, les
outils de dveloppement utiliss, ainsi que quelques imprimes cran des tests faits pour
vrifier que notre systme rpond bien au cahier des charges.

24

Chapitre V : Ralisation

Chapitre V :
Ralisation

25

Chapitre V : Ralisation

I.

Prsentation gnrale de lapplication :

Notre application consiste assurer la disponibilit et le suivi de la performance qui permet a


une entreprise d'assurer la haute disponibilit et de la haute performance pour ces serveurs.
La capacit de gestion des performances comprend la surveillance des serveurs qui aideront
les administrateurs informatiques grer convenablement leurs ressources.

II.

Principe de Fonctionnement de lapplication de la supervision :

Le schma suivant montre le principe de fonctionnement de notre application de la


supervision en mettant en valeur les principales connexions et relation entre les diffrant
composant.

Schma du principe de fonctionnement de lapplication de la supervision

26

Chapitre V : Ralisation

A.

Description de la partie A :

1. Le client Socket-java demande qui est le client dont le serveur cens faire sa collecte
2. La rponse de la base de donne la requte 1
3. Le client Socket-java contacte le serveur Socket java du client en question pour la
collecte dinformation
4. Envoi des rsultats des informations collects du serveur Socket au client Socket
5. Insertion des informations collectes dans la base de donnes MySQL

B.

Description de la partie B :

a) Le client web se connecte au serveur web et demande de linformation collect au


niveau de la base
b) Recherche de linformation en question dans la base de donnes MySQL
c) Envoi du rsultat de la recherche
d) Affichage et traitement des rsultats de la recherche des informations

III. Description de lapplication de la supervision :


Notre application est compose de trois parties :
1. la premire partie consiste crer des programmes en langage java en utilisant les
sockets-java permettant dexcuter des scripts pour lexcution des commandes bien
spcifique et aussi pour la collecte dinformation au niveau des machines clientes.

2.

la deuxime partie consiste crer des tables au niveau de la base de donnes


MySQL. Ces tables permettent lenregistrement des donnes collectes au niveau des
clients.

3. La troisime partie consiste crer linterface web du notre application de la


supervision avec le langage PHP et dinterprter graphiquement les donnes
collectes.

27

Chapitre V : Ralisation

IV. Description de la premire partie


La premire partie consiste crer des programmes en langage java en utilisant les
sockets-java permettant dexcuter des scripts pour lexcution des commandes bien
spcifique et aussi pour la collecte dinformation au niveau des machines clientes.

A.
1.

notion sur java :


Quest-ce que la technologie java

Java est un langage de programmation et une plate-forme informatique cre par Sun
Microsystems en 1995. Il s'agit de la technologie sous-jacente qui permet l'excution de
programmes dernier cri, notamment des utilitaires, des jeux et des applications
professionnelles. Le langage Java est utilis sur plus de 850 millions d'ordinateurs de bureau
et un milliard de priphriques dans le monde, dont des priphriques mobiles et des systmes
de diffusion tlvisuelle.
2.

Pourquoi ai-je besoin de Java ?

Beaucoup d'applications et de sites Web ne fonctionnent pas si Java n'est pas install, et leur
nombre grandit chaque jour. Java est rapide, scuris et fiable. Des ordinateurs portables aux
centres de donnes, des consoles de jeux aux superordinateurs scientifiques, des tlphones
portables Internet, la technologie Java est prsente sur tous les fronts !
3.

Java est-il disponible gratuitement au tlchargement ?

Oui, vous pouvez tlcharger Java gratuitement. Pour obtenir la dernire version, rendez-vous
sur la page http://java.com.
4.

Pourquoi devrais-je passer la dernire version de Java ?

La dernire version de Java comprend d'importantes amliorations en termes de performance,


de stabilit et de scurit pour les applications Java excutes sur votre ordinateur.
L'installation de cette mise jour gratuite vous permet de profiter pleinement d'applications
Java toujours plus scurises et efficaces.

B.

Concept de socket

Les Sockets forment une API (Application Program Interface): ils offrent aux programmeurs
une interface entre le programme d'application et les protocoles de communication. En aucun
cas, les sockets ne forment une norme de communication ou une couche de protocole l'instar
de TCP/IP.
Les sockets (prises de raccordement) forment un mcanisme de communication bidirectionnel
interprocessus dans un environnement distribu ce qui n'est pas le cas des autres outils tels

28

Chapitre V : Ralisation

que les pipes. Ils permettent videmment la communication interprocess l'intrieur d'un
mme systme.
L'interface des "sockets" n'est pas lie une pile de protocoles spcifique. Dans ce cours,
nous nous intresserons, l'utilisation des sockets dans le monde TCP/IP.
La notion de socket en tant que prise de raccordement vient dune analogie avec le rseau
lectrique et le rseau tlphonique :

La mtaphore des prises


Les sockets reprsentent donc d'une part une API c'est dire un ensemble de primitives de
programmation et d'autre part les extrmits de la communication (notion de prise). Les
extrmits de communication sont identifies dans le monde TCP/IP par trois informations :
une adresse IP, le protocole utilis (TCP ou UDP) et un numro de port (entier sur 16 bits
donc de 0 65535. En fonction du protocole transport utilis les sockets vont fonctionner
diffremment. Nous prsenterons dans notre rapport seulement les sockets utilisant le
protocole TCP qui fonctionnent en utilisant le modle client/serveur et offrent une
communication par flux

C.

Adresses IP

Une machine (appele aussi hte ou host) est identifie dans lInternet par son adresse.
Ladresse IP dune machine correspond un numro qui est unique dans le monde.
Il existe actuellement cinq classes dadresses IP. Les trois premires permettent de grer des
rseaux de tailles diverses. La classe D permet de grer une communication multipoint (un
message est envoy plusieurs machines la fois). La classe E est rserve et ne sera
probablement jamais utilise puisquon devrait bientt migrer vers la nouvelle version dIP
IPv6 qui stockera les adresses IP dans 16 octets.

29

Chapitre V : Ralisation

Les classes dadresses IP


1.

La classe InetAddress

La classe java.net.InetAddress permet de reprsenter les adresses IP. Chaque objet de cette
classe possde deux champs hostName et address contenant respectivement une chane de
caractre et un tableau doctets. Le champ hostName stocke le plus souvent le nom de lhote
et le champ address ladresse IP.
Cette classe ne possde pas de constructeur publics. Pour crer un objet de type InetAddress
il faut donc utiliser lune des mthodes suivantes :
public static InetAddress getByName (String nom_hote)
public static InetAddress [ ] getAllByName (String nom_hote)
public static InetAddress getLocalHost ()

D.
1.

Sockets TCP
Le modle client/serveur

Le protocole TCP offre un service en mode connect et fiable. Les donnes sont dlivres
dans lordre de leur mission. La procdure dtablissement de connexion est dissymtrique.
Un processus, appel serveur, attends des demandes de connexion quun processus, appel
client, lui envoie. Une fois ltape dtablissement de connexion effectue le fonctionnement
redeviens symtrique.
Les deux schmas suivants prsentent les algorithmes de fonctionnement des clients et
serveurs. Il est noter que ct serveur on utilise deux sockets : lun, appel socket dcoute,
reoit les demandes de connexion et lautre, appel socket de service, sert pour la
communication. En effet, un serveur peut tre connect simultanment avec plusieurs clients
et dans ce cas on utilisera autant de sockets de service que de clients.

30

Chapitre V : Ralisation

Fonctionnement du serveur

Fonctionnement du client

31

Chapitre V : Ralisation

2.

La classe Socket

La classe Socket reprsente en Java les sockets utiliss cts client ou les sockets de service.
a)

Constructeurs

public Socket (String hote, int port) throws UnknownHostException, IOException


Ce constructeur cre un socket TCP et tente de se connecter sur le port indiqu de lhte vis.
Le premier paramtre de ce constructeur reprsente le nom de la machine serveur. Si lhte
est inconnu ou que le serveur de noms de domaine est inoprant, le constructeur gnrera une
UnknownHostException. Les autres causes dchec, qui dclenchent lenvoi dune
IOException sont multiples : machine cible refusant la connexion sur le port prcis ou sur
tous les ports, problme li la connexion Internet, erreur de routage des paquets
Voici un exemple dutilisation de ce constructeur :
Socket leSocket = new Socket("www.irit.fr", 80);
public Socket (InetAddress addresse, int port) throws IOException
Ce constructeur fonctionne comme le premier, mais prends comme premier paramtre une
instance de la classe InetAddress. Ce constructeur provoque une IOException lorsque la
tentative de connexion choue mais il ne renvoie pas dUnknownHostException puisque cette
information est connue lors de la cration de lobjet InetAddress. public Socket(String hote,
int port, InetAddress addresseLocale, int portLocal) throws IOException
b)

Mthodes informatives

public InetAddress getInetAddress ()


public int getPort ()
Ces mthodes renvoient l'adresse Internet et le port distants auquel le socket est connect.
public InetAddress getLocalAddress ()
public int getLocalPort ()
Ces mthodes renvoient l'adresse Internet et le port locaux que le socket utilise.
c)

Communication avec un socket

public InputStream getInputStream () throws IOException

32

Chapitre V : Ralisation

Cette mthode renvoie un flux dentres brutes grce auquel un programme peut lire des
informations partir dun socket. Il est dusage de lier cet InputStream un autre flux offrant
davantage de fonctionnalits (un DataInputStream par exemple) avant dacqurir les entres.
Voici un exemple dutilisation de cette mthode :
DataInputStream

fluxEnEntree = new DataInputStream(leSocket.getInputStream());

public OutputStream getOutputStream () throws IOException


Cette mthode renvoie un flux de sortie brutes grce auquel un programme peut crire des
informations sur un socket. Il est dusage de lier cet OutputStream un autre flux offrant
davantage de fonctionnalits (un DataOutputStream par exemple) avant dmettre des
donnes.
Voici un exemple dutilisation de cette mthode :
DataOutputStream fluxEnSortie = new
DataOutputStream(leSocket.getOutputStream());
d)

Fermeture dun socket

public void close() throws IOException


Bien que Java ferme tous les sockets ouverts lorsquun programme se termine ou bien lors
dun garbage collect , il est fortement conseill de fermer explicitement les sockets dont on
na plus besoin laide de la mthode close.
Une fois un socket ferm on peut toujours utiliser les mthodes informatives, par contre toute
tentative de lecture ou criture sur les input/output streams provoque une IOException.
e)

Options des sockets

Java permet laccs un certain nombre doptions qui modifient le comportement par dfaut
des sockets. Ces options correspondent celles que lon manipule en C via ioctl (ou
ioctlsocket avec Windows).
public boolean getTcpNoDelay() throws SocketException
public void setTcpNoDelay(boolean valide) throws SocketException
Si lon programme une application trs interactive on pourra valider loption
TCP_NODELAY.
public int getSoLinger() throws SocketException

33

Chapitre V : Ralisation

public void setSoLinger(boolean valide, int secondes) throws SocketException

3.

La classe ServerSocket

Cette classe permet de crer des sockets qui attendent des connections sur un port spcifi et
lors dune connexion retournent un Socket qui permet de communiquer avec lappelant.
a)

Constructeurs

public ServerSocket (int port) throws IOException


Ce constructeur cre un socket serveur qui attendra les connexions sur le port spcifi.
Lorsque lentier port vaut 0, le port est slectionn par le systme. Ces ports anonymes sont
peu utiliss car le client doit connatre lavance le numro du port de destination. Il faut
donc un mcanisme, comme le portmapper des RPC, qui permet dobtenir ce numro de port
partir dune autre information.

b)

Accepter et clore une connexion

public Socket accept () throws IOException


Cette mthode bloque lexcution du programme serveur dans lattente dune demande de
connexion dun client. Elle renvoie un objet Socket une fois la connexion tablie. Si vous ne
voulez pas bloquer lexcution du programme il suffit de placer lappel accept dans un
thread spcifique.
public void close () throws IOException
Cette mthode ferme le socket serveur en librant le port. Les sockets serveurs sont eux aussi
ferms automatiquement par le systme la fermeture de lapplication.

c)

Mthodes informatives

public InetAddress getInetAddress ()


public int getLocalPort ()
Ces mthodes renvoient l'adresse Internet et le port locaux sur lequel le socket attend les
connexions.
4.

Options des sockets serveurs

Seule loption SO_TIMEOUT est disponible pour les sockets serveurs.


public int getSoTimeout() throws SocketException

34

Chapitre V : Ralisation

public void setSoTimeout(int ms) throws SocketException


Par dfaut, lappel accept() se bloque jusqu la rception dune demande de connexion.
Lorsque SO_TIMEOUT est initialise, cette attente ne dpasse pas le temps imparti, exprim
en millisecondes. Tout dpassement de temps se solde par une InterruptedException. Le
socket reste malgr tout connect.
La valeur par dfaut est 0 qui signifie, ici, un laps de temps infini ce qui convient la plupart
des serveurs, conus en gnral pour sexcuter indfiniment. Loption doit tre valide avant
lappel accept() pour tre prise en compte.
Le paramtre doit tre >= 0 sans quoi une exception SocketException est gnre.

35

Chapitre V : Ralisation

V.

Description de la deuxime partie


La deuxime partie consiste crer des tables au niveau de la base de donnes MySQL. Ces
tables permettent lenregistrement des donnes collectes au niveau des clients.

A.

Prsentation :

MySQL est un systme de gestion de base de donnes (SGBD). Selon le type d'application, sa
licence est libre ou propritaire. Il fait partie des logiciels de gestion de base de donnes les
plus utiliss au monde, autant par le grand public (applications web principalement) que par
des professionnels, en concurrence avec Oracle et Microsoft SQL Server.
MySQL AB a t achet le 16 janvier 2008 par Sun Microsystems pour un milliard de dollars
amricains1. En 2009, Sun Microsystems a t acquis par Oracle Corporation, mettant entre
les mains d'une mme socit les deux produits concurrents que sont Oracle Database et
MySQL. Ce rachat a t autoris par la Commission europenne le 21 janvier 20102,3.
Depuis mai 2009, son crateur Michael Widenius a cr MariaDB pour continuer son
dveloppement en tant que projet Open Source.

B.

Caractristiques

MySQL est un serveur de bases de donnes relationnelles SQL dvelopp dans un souci de
performances leves en lecture, ce qui signifie qu'il est davantage orient vers le service de
donnes dj en place que vers celui de mises jour frquentes et fortement scurises. Il est
multithread et multiutilisateurs.
C'est un logiciel libre dvelopp sous double licence en fonction de l'utilisation qui en est
faite : dans un produit libre ou dans un produit propritaire. Dans ce dernier cas, la licence est
payante, sinon c'est la licence publique gnrale GNU (GPL) qui s'applique. Ce type de
licence double est utilis par d'autres produits comme le Framework de dveloppement de
logiciels Qt (pour les versions antrieures la 4.5).

C.

Systmes d'exploitation supports

MySQL fonctionne sur de nombreux systmes d'exploitation diffrents, incluant AIX, IBM i5, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetWare, NetBSD, OpenBSD, OS/2 Warp,
SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64 Unix, Windows (2000,
XP, Vista et 7).

36

Chapitre V : Ralisation

Les bases de donnes sont accessibles en utilisant les langages de programmation C, C++,
VB, VB .NET, C#, Delphi/Kylix, Eiffel, Java, Perl, PHP, Python, Ruby et Tcl ; une API
spcifique est disponible pour chacun d'entre eux. Une interface ODBC appele MyODBC est
aussi disponible. En Java, MySQL peut tre utilis de faon transparente avec le standard
JDO.
Depuis le rachat de MySQL AB par Sun Microsystems, MySQL est devenu officieusement la
base de donnes utiliser conjointement avec le langage de programmation Java, ce qui
donne une notorit supplmentaire au SGBD auprs des entreprises utilisant Java.

D.

Utilisation

MySQL fait partie du quatuor LAMP : Linux, Apache, MySQL, PHP. Il appartient galement
ses variantes WAMP (Windows) et MAMP (Mac).
Le couple PHP/MySQL est trs utilis par les sites Web et propos par la majorit des
hbergeurs Web. Plus de la moiti des sites Web fonctionnent sous Apache, qui est le plus
souvent utilis conjointement avec PHP et MySQL.
Wikipdia utilise MySQL, ainsi que de nombreuses entreprises, dont Google, Yahoo!,
YouTube, Adobe, Airbus, Alstom, Crdit agricole, AFP, Reuters, BBC News, Ernst &
Young, Alcatel-Lucent. Cependant certaines de ces entreprises ont prfr dvelopper ou
utiliser des systmes de bases de donnes diffrents et plus efficaces grande chelle, comme
par exemple BigTable pour Google.
Depuis la version 5, il est possible d'utiliser le PL/SQL originellement dvelopp par Oracle
Corporation afin d'utiliser des procdures et fonctions stockes ainsi que des dclencheurs.
Par ailleurs, MySQL supporte la norme SQL2 (utilisation des JOIN), ce qui fait de lui un
SGBD sr puisque la conformit cette norme garantira sa compatibilit avec les requtes
normalises.
Son absence par dfaut de support des transactions et de l'intgrit automatique des tables
(sauf en utilisant certains moteurs comme InnoDB) rendent son adoption plus complique par
exemple dans les socits bancaires, cependant, ses performances gnralement meilleures
que la majorit des autres systmes concurrents, et son prix d'implantation nettement
infrieur, lui permettent d'obtenir un certain succs auprs des entreprises ayant besoin d'une
base de donnes ayant un bon ratio performance prix.
L'intrt d'utiliser les outils du www en remplacement du client serveur 2 ou 3 tiers, a pouss
certaines banques telles que le Crdit mutuel, le Crdit agricole, le LCL, la Banque de
dveloppement du Canada proposer MySQL au catalogue de leurs produits informatiques
internes.

E.

Dnomination

MySQL est l'uvre d'une socit sudoise, MySQL AB, fonde par David Axmark, Allan
Larsson et Michael "Monty" Widenius.
Le nom MySQL vient de la combinaison de My, fille du co-fondateur Michael "Monty"
Widenius, avec l'acronyme SQL (selon la documentation de la dernire version en anglais).
37

Chapitre V : Ralisation

D'autre part, le dossier base et une grande partie des bibliothques utilises par les
dveloppeurs utilisent le prfixe My.
Le nom du logo de MySQL (le dauphin) Sakila, a t choisi par les crateurs de MySQL sur
la base d'un concours. Il a t propos par Ambrose Twebaze, dveloppeur du Swaziland.
D'aprs Ambrose, le nom Sakila puise ses origines du siswati, la langue locale du Swaziland.

F.

Historique

La premire version de MySQL est apparue le 23 mai 1995.Il a d'abord t cr pour un


usage personnel partir de mSQL en s'appuyant sur le langage de bas niveau ISAM qu'ils
trouvaient trop lent et trop rigide. Ils ont cr une nouvelle interface SQL en gardant la mme
API que mSQL.
MySQL est pass en licence GPL partir de la version 3.23.19 (juin 2000)

Version 4.0 : premire version en octobre 2001, stable depuis mars 2003
Version 4.1 : premire version en avril 2003, stable depuis octobre 2004
Version 5.0 : premire version en dcembre 2003, stable depuis octobre 2005
Version 5.1 : premire version en novembre 2005, Release Candidate distribue
depuis septembre 2007
Version 5.2 : distribue en avant-premire (ajout du nouveau moteur de stockage
Falcon) en fvrier 2007, cette ligne a ensuite t renomme 6.0
Version 5.4 :
Version 6.0 : premire version alpha en avril 2007

En 2003, MySQL AB et SAP AG concluent un accord. Le rsultat sappellera MaxDB. Il est


issu de l'intgration du systme de SAP (SAP DB) dans MySQL.
Le 20 avril 2009, Oracle Corporation annonce racheter Sun Microsystems pour 7,4 milliards
de dollars7, crant la crainte de voir MySQL disparatre ou du moins ne plus tre dvelopp
au profit d'Oracle, le SGBD d'Oracle Corporation. MySQL est cependant loin d'avoir toutes
les fonctionnalits d'Oracle, et pourrait donc tre vu au contraire par la socit comme un
produit gratuit d'appel banalisant l'usage de SQL et prparant donc ses futures ventes.

G.

Quelque nation sur MySQL

MySQL drive directement de SQL (Structured Query Language) qui est un langage de
requte vers les bases de donnes exploitant le modle relationnel.
Il en reprend la syntaxe mais nen conserve pas toute la puissance puisque de nombreuses
fonctionnalits de SQL napparaissent pas dans MySQL (slections imbriques, cls
trangres)
Le serveur de base de donnes MySQL est trs souvent utilis avec le langage de cration de
pages web dynamiques : PHP.

38

Chapitre V : Ralisation

Schma explicatif du fonctionnement du MySQL

VI. Description de la troixime partie


La troisime partie consiste crer linterface web du notre application de la
supervision avec le langage PHP et dinterprter graphiquement les donnes
collectes.

A.
1.

notion sur PHP :


Qu'est-ce que PHP?

PHP est un langage interprt (un langage de script) excut du ct serveur (comme les
scripts CGI, ASP, ...) et non du ct client (un script crit en Javascript ou une applet Java
s'excute sur votre ordinateur...). La syntaxe du langage provient de celles du langage C, du
Perl et de Java. Ses principaux atouts sont :

Une grande communaut de dveloppeurs partageant des centaines de milliers


d'exemples de script PHP ;
La gratuit et la disponibilit du code source (PHP est distribu sous licence GNU
GPL) ;
La simplicit d'criture de scripts ;
La possibilit d'inclure le script PHP au sein d'une page HTML (contrairement aux
scripts CGi, pour lesquels il faut crire des lignes de code pour afficher chaque ligne
en langage HTML) ;
La simplicit d'interfaage avec des bases de donnes (de nombreux SGBD sont
supports, mais le plus utilis avec ce langage est MySQL, un SGBD gratuit
disponible sur de nombreuses plateformes : Unix, Linux, Windows, MacOs X, Solaris,
etc...) ;
L'intgration au sein de nombreux serveurs web (Apache, Microsoft IIS, etc.).

39

Chapitre V : Ralisation

2.

Origines de PHP

Le langage PHP a t mis au point au dbut d'automne 1994 par Rasmus Lerdorf. Ce langage
de script lui permettait de conserver la trace des utilisateurs venant consulter son CV sur son
site, grce l'accs une base de donnes par l'intermdiaire de requtes SQL. Ainsi, tant
donn que de nombreux internautes lui demandrent ce programme, Rasmus Lerdorf mit en
ligne en 1995 la premire version de ce programme qu'il baptisa Personal Sommaire Page
Tools, puis Personal Home Page v1.0 (traduisez page personnelle version 1.0).
Etant donn le succs de PHP 1.0, Rasmus Lerdorf dcida d'amliorer ce langage en y
intgrant des structures plus avances telles que des boucles, des structures conditionnelles, et
y intgra un package permettant d'interprter les formulaires qu'il avait dvelopp (FI, Form
Interpreter) ainsi que le support de mSQL. C'est de cette faon que la version 2 du langage,
baptise pour l'occasion PHP/FI version 2, vit le jour durant l't 1995. Il fut rapidement
utilis sur de nombreux sites (15000 fin 1996, puis 50000 en milieu d'anne 1997).
A partir de 1997, Zeev Suraski et Andi Gurmans rejoignirent Rasmus pour former une quipe
de programmeurs afin de mettre au point PHP 3 (Stig Bakken, Shane Caraveo et Jim
Winstead les rejoignirent par la suite). C'est ainsi que la version 3.0 de PHP fut disponible le 6
juin 1998.
A la fin de l'anne 1999 la version 4.0 de PHP, baptise PHP4, est apparue. PHP en est
aujourd'hui sa cinquime version.
3.

SGBD supports par PHP

PHP permet un interfaage simple avec de nombreux systmes de gestion de bases de


donnes (SGBD), parmi lesquels :

Adabas D
dBase
Empress
FilePro
Informix
Interbase
mSQL
MySQL
Oracle
PostgreSQL
Solid
Sybase
Velocis
Unix dbm
4.

Implantation du code Php


a)

L'interprtation du code par le serveur

Un script PHP est un simple fichier texte contenant des instructions crites l'aide de
caractres ASCII 7 bits (des caractres non accentus) incluses dans un code HTML l'aide

40

Chapitre V : Ralisation

de balises spciales et stock sur le serveur. Ce fichier doit avoir l'extension .php pour
pouvoir
tre
interprt
par
le
serveur.
Ainsi, lorsqu'un navigateur (le client) dsire accder une page dynamique ralis en PHP :

le serveur reconnait l'extension d'un fichier PHP et le transmet l'interprteur PHP


Ds que l'interprteur rencontre une balise indiquant que les lignes suivantes sont du
code PHP, il ne lit plus les instructions: il les excute!
L'interprteur excute l'instruction puis envoie les sorties ventuelles au serveur
A la fin du script, le serveur transmet le rsultat au client (le navigateur).

Un script PHP est interprt par le serveur, les utilisateurs ne peuvent donc pas voir le code
source!
Le code PHP stock sur le serveur n'est donc jamais visible directement par le client puisque
ds
qu'il
en
demande
l'accs,
le
serveur
l'interprte!
De cette faon aucune modification n'est apporter sur les navigateurs.
b)

Implantation au sein du code HTML

Pour que le script soit interprt par le serveur deux conditions sont ncessaires :

Le fichier contenant le code doit avoir l'extension telle que .php et non .html
Le code PHP contenu dans le code HTML doit tre dlimit par des balises du type <?
et ?>

Un script PHP doit :

comporter l'extension .php


tre imbriqu entre les dlimiteurs <? et ?>

Pour des raisons de conformit avec certaines normes (XML et ASP par exemple), plusieurs
balises peuvent tre utilises pour dlimiter un code PHP :
<ol>
<li><? et ?></li>
<li><?php et ?></li>
<li><script language="php"> et </script></li>
<li><%php et %></li>
</ol>
c)

Un exemple de script simple

Voici ci-dessous l'exemple classique de script PHP :


<html>
<head><title>Exemple</title></head>
<body>
<?php
echo "Hello world";
?>
</body>
</html>

41

Chapitre V : Ralisation

On notera bien videmment que la fonction echo permet d'afficher sur le navigateur la chaine
dlimite par les guillemets.
d)

Caractristiques du langage Php

L'interprtation du code
Un code PHP (celui compris entre les dlimiteurs <?php et ?>) est un ensemble d'instructions
se terminant chacune par un point-virgule (comme en langage C). Lorsque le code est
interprt, les espaces, retours chariot et tabulation ne sont pas pris en compte par le serveur.
Il est tout de mme conseill d'en mettre (ce n'est pas parce qu'ils ne sont pas interprts que
l'on ne peut pas les utiliser) afin de rendre le code plus lisible (pour vous, puisque les
utilisateurs ne peuvent lire le code source: il est interprt).
Les commentaires
Une autre faon de rendre le code plus comprhensible consiste insrer des commentaires,
des lignes qui seront tout simplement ignores par le serveur lors de l'interprtation. Pour ce
faire, il est possible, comme en langage C, d'utiliser des balises qui vont permettre de
dlimiter les explications afin que l'interprteur les ignore et passe directement la suite du
fichier.
Ces dlimiteurs sont /* et */. Un commentaire sera donc not de la faon suivante :
/* Voici un commentaire! */

Il y a toutefois quelques rgles respecter :

Les commentaires peuvent tre placs n'importe o l'intrieur des dlimiteurs de


script PHP
Les commentaires ne peuvent contenir le dlimiteur de fin de commentaire (*/)
Les commentaires ne peuvent tre imbriqus
Les commentaires peuvent tre crits sur plusieurs lignes
Les commentaires ne peuvent pas couper un mot du code en deux

Il est possible aussi d'utiliser un type de commentaire permettant de mettre toute la fin d'une
ligne en commentaire en utilisant le double slash (//). Tout ce qui se situe droite de ce
symbole sera mis en commentaire.
Typologie
La manire d'crire les choses en langage PHP a son importance. Le langage PHP est par
exemple sensible la casse (en anglais case sensitive), cela signifie qu'un nom contenant des
majuscules est diffrent du mme nom crit en minuscules. Toutefois, cette rgle ne
s'applique pas aux fonctions, les spcifications du langage PHP prcisent que la fonction print
peut tre appele print(), Print() ou RINT().
Enfin, toute instruction se termine par un point-virgule.

42

Chapitre V : Ralisation

VII. Ralisation de Projet :


Comme prsent prcdemment, notre application consiste collecter et interprter les
donnes des machines clientes pour assurer la supervision et par la suite la haute disponibilit.
Pour accder notre application de la supervision, il suffit douvrir le navigateur web avec
ladresse suivante :

http://172.16.100.206/supervision/platforme.php

43

Chapitre V : Ralisation

Aprs la connexion notre application, on aura la liste des toutes les

plateformes

superviser. Dans notre exemple on a utilis la plateforme qui sappelle test avec un seul
serveur Sun Solaris 10.
Pour accder la plateforme en question, il suffit du cliquer sur son nom. Ensuite, on aura la
page web suivante :

44

Chapitre V : Ralisation

Cette deuxime page contient la liste des serveurs de la plateforme test avec les dtails
suivants :
Moniteur : le nom du serveur
IP : ladresse IP du serveur
RAM : la quantit totale de la RAM physique sur le serveur
SWAP : la quantit du mmoire virtuelle disponible au systme
La mmoire swap est un mcanisme de mmoire virtuelle. Le but de ce mcanisme
est de permettre des applications d'utiliser plus de mmoire vive en cas de besoin.
Disponibilit : Permet dindiquer si le serveur est online lorsquelle contient le
nombre 1 et offline si le nombre est 0
Pour avoir plus du dtail sur notre serveur, il suffit de cliquer sur le nom du serveur en
question. Dans notre exemple on clique sur solaris2. On aura alors la page web suivante :

45

Chapitre V : Ralisation

Cette page contient en haut le mon du MONITEUR qui est le nom du serveur superviser qui
est dans notre exemple solaris2
Le dtail de la machine solaris2 est comme suit :
Moniteur : c'est le mon du serveur superviser
IP: c'est l'adresse IP du serveur
RAM: c'est la quantit totale du la mmoire physique du serveur
SWAP: c'est la quantit de la mmoire virtuelle sur le serveur
Disponibilit: c'est l'tat du serveur si c'est 1 alors il est online et si la disponible est 0 alors
le serveur est offline
%RAM : c'est le pourcentage d'utilisation de la RAM linstant de collecte
%SWAP : cest le pourcentage dutilisation de la mmoire virtuelle SWAP linstant de
collecte
%CPU: c'est le pourcentage d'utilisation de la CPU linstant de collecte
UPTIME: c'est la dure du temps pendant la quel le serveur a t opration (online) depuis le
dernier redmarrage
Etat: c'est la disponible du serveur ; si Etat est 1 alors le serveur est online et 0 c'est offline
Information : c'est la date du dernier collecte des informations
Disk : c'est le nom de la partition disponible sur le client
Device: c'est le mon physique partition dans le systme Solaris
Totale: c'est la capacit du partition
Utilis: c'est la capacit en Go du disk utilis actuellement
Libre: c'est la capacit en Go du disk non utiliser
Utilis%: c'est le pourcentage d'utilisation de la partition linstant de collecte

46

Chapitre V : Ralisation

Le graphe de la disponibilit : permet d'affiche graphiquement les donner collecter


concernant la dur de la disponibilit du ce serveur pour les 30 derniers minutes
Le graphe de la ram: permet d'affiche graphiquement les donner collecter concernant le
pourcentage de mmoire utiliser par ce serveur pour les 30 derniers minutes
Le graphe du swap: permet d'affiche graphiquement les donner collecter concernant le
pourcentage de mmoire swap utiliser par ce serveur pour les 30 derniers minutes
Le graphe de la cpu: permet d'affiche graphiquement les donner collecter concernant le
pourcentage du cpu utiliser par ce serveur pour les 30 derniers minutes

47

Conclusion Gnrale

Conclusion Gnrale
Ce projet de fin d'tudes dans la socit du Tunisie Telecom, nous a permis de pratiquer tous
ce que nous avons tudis l'universit virtuelle de point du vue pratique. Nous avons pu
crer une application trs puissante et aussi trs stable qui

permet la supervision des

diffrents serveurs et plateformes.

Ce projet nous a permis de connaitre des nouveaux langages de programmation

qui taient

compltement inconnu pour nous par exemple le PHP, MySQL. Il nous a permis aussi
d'apprendre utiliser divers logiciels et systmes d'exploitation.

Nous sommes pleinement satisfait de ce projet


a permis de manipuler des nouveaux

qui nous a enrichi nos connaissances et nous

concepts. Nous avons pu acqurir des nouvelles

techniques de conception et de dveloppement des applications.

Enfin ce projet peut tre enrichi dans le futur par dautres fonctionnalits, par exemple :
-

la supervision des applications spcifique,

la supervision du cluster,

la supervision d'un script bien prcis.

48

Rsum :
Le prsent travail, effectu au sien de lUniversit Virtuelle de Tunis UVT , sinscrit dans
le cadre du projet de fin dtude pour lobtention du diplme Licence Applique en Sciences
de Technique et de lInformation et de Communication.
Lobjectif de ce projet est de dvelopper une solution de la supervision en temps rel des
serveurs et plateforme.
Les langages de programmation utilise dans notre projet sont : Java, MySQL et PHP. Nous
avons recours, le long de ce projet au Model conceptuelle UML. Lenvironnement du travail
est Sun Solaris 10

Mots Cls :
Java, MySQL, PHP, Supervision, Sun Solaris10.

-----------------------------------------------------------------------------------------------------------------

Abstract :
This work , conducted within the Virtual University of Tunis (UVT), is part of final project
study for the diploma in Degree in Applied Science Technology and Information and
Communication.
The objective of this project is to develop a solution for real-time monitoring of servers and
platform.
Programming languages used in our project are: Java, MySQL and PHP. We use along the
project conceptual model UML. The working environment is Sun Solaris 10.

Key Word:
Java, MySQL, PHP, Monitoring, Sun Solaris 10.