Système de notification par SMS des incidents
support de NEDGE PS.

République du Sénégal
Université
Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique de Dakar Département
du Génie Informatique
MEMOIRE DE FIN DE CYCLE
Pour l'obtention du :
DIPLOME SUPERIEUR DE TECHNOLOGIE EN INFORMATIQUE (DSTI)
Sujet :
Lieu de stage : Période
de stage : 09/07/2012 - 15/08/2012
Présenté et soutenu par :
Encadré par : Maitres de stage :
Babacar NGOM M. Ibrahima FALL Ibrahima NDIAYE
Djibril CAMARA
Année Scolaire:
2011/2012
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 1

République du Sénégal
Université
Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique de Dakar Département
du Génie Informatique
MEMOIRE DE FIN DE CYCLE
Pour l'obtention du :
DIPLOME SUPERIEUR DE TECHNOLOGIE EN INFORMATIQUE (DSTI)
Sujet :
Système de notification par SMS des incidents
support de NEDGE PS.
Lieu de stage : Période
de stage : 09/07/2012 - 15/08/2012
Présenté et soutenu par :
Encadré par : Maitres de stage :
Babacar NGOM M. Ibrahima FALL Ibrahima NDIAYE
Djibril CAMARA
Année Scolaire:
2011/2012
Système de notification par SMS des incidents support
de NEDGE PS.

DEDICACES
Je dédie ce mémoire à :
Mes très chers parents Coura NIANG et Papa
Malick, pour tous les efforts et sacrifices pour ma réussite
à tous les niveaux. Sachant que je ne serais jamais assez reconnaissant,
j'espère que ce modeste travail vous prouvera que vos efforts n'ont pas
été en vains et souhaite qu'il soit le signe de ma profonde
gratitude envers vous ; Mon frère jumeau Ibrahima NGOM
pour son amour, conseils et soutien sans faille ; Mon cousin
Mamadou Abdou Razah SAMB (Abdel Carrick) ;
Ma tante Khady NIANG pour son soutien ;
Ma grande mère Oumy Gueye ;
Toute la famille ;
A Moctar Dia, Omar, Baye, Seynabou, Milouda,Madeleine...
Mes ami(e)s
Tous les étudiants de ma classe qui sont mes frères
et soeurs pour ces bons moments passés ensemble ;
Babacar NGOM Mémoire de fin de cycle DST Page 3
Système de notification par SMS des incidents support
de NEDGE PS.

REMERCIEMENTS
Au terme de ce travail, qu'il me soit permis de rendre tout
d'abord grâce à ALLAH, le Tout Puissant,
de QUI je tiens mon souffle de vie.
J'adresse mes sincères remerciements à :
Mes parents pour tout leur soutien matériel et affectueux
;
Mon frère jumeau pour tout l'amour et l'attention qu'il
porte à mon égard ;
Mes remerciements les plus chaleureux vont à :
Ibrahima NDIAYE, Djibril Camara, respectivement
Field Services Engineer et Lead Engineer, mes maîtres de stage, pour
m'avoir donné les moyens et l'assistance necessaire pour la
réalisation et le bon déroulement du stage. Mouhamad
Fall pour sa disponibilité
A toute l'équipe de NEDGE PS pour leur
accueil, je ne me lasserai pas de vous remercier.
M. Ibrahima Fall, pour son encadrement, son aide
et ses conseils
L'ensemble des professeurs du département
Génie Informatique de l'ESP pour tout le savoir qu'ils nous ont
inculqués.
Toutes les personnes qui, de prés ou de loin,
ont contribué à la réalisation de ce travail.
Babacar NGOM Mémoire de fin de cycle DST Page 4
Système de notification par SMS des incidents support
de NEDGE PS.

AVANT-PROPOS
Établissement public à caractère
administratif doté de la personnalité juridique et de l'autonomie
financière, l'École Supérieure Polytechnique fait partie
intégrante de l'université Cheikh Anta DIOP de Dakar. Elle a
été créée par la loi n° 94-78 du 24 novembre
1994.
L'Ecole Supérieure Polytechnique a pour missions de :
1. Former tant sur le plan théorique que pratique
des :
· Techniciens Supérieurs ;
· Ingénieurs Technologues ;
· Ingénieurs de Conception ;
· Managers en Gestion d'Entreprises ;
· Docteurs.
2. Dispenser un enseignement supérieur en vue de
préparer aux fonctions d'encadrement dans:
· la Production ;
· la Recherche Appliquée ;
· les Services.
3. Organiser des enseignements et des activités
de recherche visant :
· au perfectionnement permanent ;
· à l'adaptation et à la participation
· à l'évolution scientifique et technologique
;
· à l'évolution économique et
managériale.
4. Procéder à des expertises à
l'intention des entreprises publiques et privées.
Les dispositions statutaires de l'établissement et plus
particulièrement celles du département génie informatique
prévoient un stage de six (06) semaines pour l'obtention du
Diplôme Supérieur de
Technologie (DST).
Le stage permet en effet aux étudiants :
'7 De renforcer leur savoir et surtout d'acquérir un
savoir-faire, tout en essayant d'adapter
leurs connaissances aux cadres de la vie professionnelle avec un
dynamisme de technicien ;
'7 De travailler sur un Projet de Fin de Cycle et de mener
à bien l'élaboration de celui-ci depuis l'étude
préalable jusqu'à sa mise en exploitation.
C'est dans cette optique que nous avons effectué un stage
à NEDGE Professional Services.
Babacar NGOM Mémoire de fin de cycle DST Page 5
Système de notification par SMS des incidents support
de NEDGE PS.

SOMMAIRE
TABLE DES FIGURES 7
SIGLES ET ABBREVIATIONS 8
Introduction 9
Chapitre 1 : Présentation
Générale 10
I. Présentation de la structure d'accueil 11
II. Présentation du sujet 15
III. Démarche méthodologique 17
Chapitre 2 : Analyse des besoins 21
I. Diagrammes de use case 22
II. Diagramme de classe 28
Chapitre 3 : Conception de la solution 31
I. Architecture globale de la solution 32
II. Outils et technologies utilisés 34
III. Implémentation de la base de données 41
IV. Conception générique de cas d'utilisation
43
Chapitre 4 : Mise en oeuvre de la solution
45
I. Environnement de développement 46
II. Présentation de l'application 48
Conclusion 53
Bibliographie et Webographie 54
Glossaire 55
Babacar NGOM Mémoire de fin de cycle DST Page 6
Système de notification par SMS des incidents support
de NEDGE PS.

TABLE DES FIGURES
Figure 1 : Organigramme général de NEDGE
Professional Service 12
Figure 2 : Tableau récapitulatif du délai
d'intervention suivant la priorité et le type de
contrat 15
Figure 3 : Diagramme de use case de haut niveau 22
Figure 4 : Use case Paramétrage de l'application 23
Figure 5: Use case Gestion d'un agent 24
Figure 6: Use case Monitoring de ticket 26
Figure 7 : Use case Notification d'un incident 27
Figure 8 : Diagramme de classe 29
Figure 9 : Architecture globale de la solution 32
Figure 10 : Envoi de mail via SMTP 35
Figure 11 : Présentation d'une application WEB 37
Figure 12 : Exécution d'un code PHP 39
Figure 13 : Dictionnaire de données de l'application
42
Figure 14 : TrayIcon de WampServer 46
Figure 15 : Editeur Sublim Text 2 47
Figure 16 : Interface d'authentification 49
Figure 17 : Interface Ajouter un agent 50
Figure 18 : Interface Traitement d'un incident 50
Figure 19 : Interface Ouverture de ticket 51
Figure 20 : Interface Fermeture de ticket 52
Babacar NGOM Mémoire de fin de cycle DST Page 7
Système de notification par SMS des incidents support
de NEDGE PS.

SIGLES ET
ABBREVIATIONS
Sigles /Abréviations
|
Définition
|
ASCII
|
American Standard Code for Information Interchange
|
CSS
|
Cascading Style Sheet
|
DNS
|
Domain Name Server
|
GSM
|
Global System for Mobile Communications
|
HTML
|
HyperText Markup Language
|
HTTP
|
HyperText Transfer Protocol
|
IMAP
|
Interactive Mail Access Protocol
|
IP
|
Internet Protocol
|
MIME
|
Multipurpose Internet Mail Extensions
|
NEDGE PS
|
NEDGE Professional Service
|
PHP
|
Hypertext Preprocessor
|
POP
|
Post Office Protocol
|
RFC
|
Request For Comments
|
SMS
|
Short Message Service
|
SMTP
|
Simple Mail Transfer Protocol
|
SQL
|
Structured Query Language
|
TCP
|
Transmission Control Protocol
|
UDP
|
User Datagram Protocol
|
UML
|
Unified Modeling Language
|
WAMP
|
Windows Apache MySQL PHP
|
Babacar NGOM Mémoire de fin de cycle DST Page 8
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page
9
Introduction
Aujourd'hui, la téléphonie mobile connait un
grand essor et joue un rôle primordial dans le monde de la communication.
Désormais, bon nombre de personnes sont habituées au Short
Message Service (SMS) qui leur permet d'envoyer et de recevoir tout type
d'informations à tout moment sur les appareils mobiles. Cette
technologie est de plus en plus répandue dans le grand public et
s'intègre peu à peu dans le milieu professionnel. Grâce
à son coût raisonnable et son accessibilité, il est
maintenant sollicité à des fins d'alertes. C'est le cas des
banques qui l'utilisent pour notifier le client à chaque
dépôt ou retrait.
Le Service des Messages Courts communément
appelé SMS ou encore Short Message Service en anglais est le composant
de service de communication de texte de téléphones ou des
systèmes de communication mobiles qui permet l'échange de message
de texte court entre les téléphones portables et qui utilise des
protocoles de communication standardisés.
NEDGE PS est une entreprise qui évolue dans les
domaines relatifs aux infrastructures informatiques, aux systèmes
d'information et aux télécommunications. Elle est en partenariat
avec d'autres entreprises auxquelles elle assure le support des
équipements informatiques. Ainsi, compte tenu de cette relation, il est
important pour ladite société d'avoir des réactions assez
rapides, de pouvoir accuser les incidents le plus vite possible mais
également de les signaler ; d'où la nécessité
d'établir une plateforme qui permettrait, quel que soit la
disponibilité des agents, de les alerter d'un nouvel incident. Dans
cette optique, il nous a été confié la mission de mettre
en place un système de notification par SMS des incidents
supports de NEDGE PS.
Nous allons d'abord effectuer une présentation
générale de la structure, du sujet et de la
démarche méthodologique. Ensuite nous
procéderons respectivement à l'analyse des besoins, la conception
de la solution et la mise en oeuvre de l'application.
Système de notification par SMS des incidents support
de NEDGE PS.
Chapitre 1 :
Présentation
Générale

Babacar NGOM Mémoire de fin de cycle DST Page 10
Système de notification par SMS des incidents support
de NEDGE PS.
I. Présentation de la structure d'accueil

Babacar NGOM Mémoire de fin de cycle DST Page
11
I.1.Présentation et localisation de NEDGE PS
? Présentation
Créée par une équipe d'ingénieurs
très expérimentés et dynamiques, avec de longues
années
d'expérience diversifiées dans de grandes
entreprises évoluant dans des secteurs différents
(opérateurs de télécoms, sociétés de
service, etc.), NEDGE Professional Service S.A. se
positionne comme une entreprise de services
professionnels.
Le service professionnel s'oriente vers la mise en oeuvre
d'activités à forte valeur ajoutée et de solutions
d'infrastructures informatiques et télécoms, qui partent d'une
parfaite maîtrise des besoins du client.
NEDGE Professional Service est un intégrateur de
solutions informatiques certifié Partenaire CISCO qui ambitionne de
devenir le partenaire privilégié des grandes entreprises dans la
mise en place d'infrastructures de communication fiables.
? Localisation
Complexe Gamma Avenue Bourguiba BP 47300 - Dakar - Liberté
- Sénégal
Tél : +221
|
33
|
869
|
14
|
13
|
Fax : +221
|
33
|
864
|
17
|
24
|
contact@nedgeps.com
www.nedgeps.com
I.2.Organigramme
Système de notification par SMS des incidents support
de NEDGE PS.

Project
Management
Service Delivery
Installation Services
Managing Director
Sales and Marketing
Support Services
Administration
Babacar NGOM Mémoire de fin de cycle DST Page 12
Figure 1 : Organigramme général
de NEDGE Professional Service
I.3.Approche
Des ingénieurs, titulaires de certifications auprès
de la plupart des constructeurs
d'équipements, accompagnent le client, de l'identification
de ces besoins au déploiement de technologies performantes pour
atteindre ces objectifs.
L'exécution de cette mission s'appuie sur une
stratégie qui va du diagnostic des
infrastructures informatiques et de
télécommunications à l'optimisation des systèmes
nouvellement implémentés, en alliant professionnalisme,
disponibilité, pro activité et compétence
.

Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page
13
I.4.Services
NEDGE PS propose une gamme variée de services qui
s'intègrent simplement et efficacement à une stratégie
globale d'entreprise :
Le Business développement de NEDGE PS
traduit des initiatives et objectifs en projets porteurs, définis
clairement et applicables simplement.
Le service d'Audit diagnostique et mesure les
niveaux de vulnérabilité des infrastructures et systèmes
d'information, afin de définir avec pertinence les perspectives
d'évolution et d'amélioration technologiques.
Le service de Design qui conçoit et
optimise tous les projets en évitant des pertes de temps et en
réduisant les coûts.
L'Implémentation déploie des
projets initialement conçus en veillant à leur conformité
avec une stratégie globale.
Le service de Support assure l'assistance pour
des équipes et des infrastructures.
La Formation et le transfert de
compétences de NEDGE PS développe les compétences
d'équipes sur les innovations technologiques à travers des
formations adaptées pour garantir le succès des
implémentations et la pérennisation des solutions.
I.5.Missions et valeurs
Sa mission est d'accompagner le client dans la conception et
la réalisation d'infrastructures de communications fiables et
adaptées aux besoins particuliers.
NEDGE PS offre l'expertise dont les clients ont besoin pour
assurer la réussite des implémentations, à rationaliser
les processus d'affaires et à la saisie de données et
d'informations qui permettent la planification stratégique, la
budgétisation et le suivi au jour le jour des opérations
Ses valeurs :
-Professionnalisme
-Disponibilité -Pro activité -Compétence.
I.6.Objectifs et pôles de compétences
NEDGE PS a pour objectifs :
-D'accroitre la productivité,
-De réduire les coûts,
-De sécuriser l'infrastructure et les transactions, -De
réduire le temps de déploiement,
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 14
-D'accroitre la satisfaction des clients.
Elle intervient dans tous les domaines relatifs aux
infrastructures informatiques, aux systèmes d'information et aux
télécommunications :
? Unified Communications (ToIP, Travail collaboratif entre
autres)
? Sécurité des Systèmes d'Information
? Datacenters (Storage, Virtualisation entre autres)
? Infrastructures et Interconnexion (Wan/Lan/WLAN, Optimisation,
VPN).
Système de notification par SMS des incidents support
de NEDGE PS.
II. Présentation du sujet
Babacar NGOM Mémoire de fin de cycle DST Page
15
II.1.Contexte
NEDGE Professional Service assiste les entreprises dans la
mise en place de solutions de communications fiables, et dans
l'élaboration de leur stratégie informatique. Aussi elle dispose
d'une équipe support chargée d'assister, de traiter, de
résoudre les problèmes des entreprises ayant souscrit à un
contrat de support.
Ce contrat de support offre au client la possibilité de
pouvoir signaler un incident par email au pôle support. La
réception de ces emails par l'équipe support est parfois
problématique, du fait d'une forte mobilité de ses membres.
Cependant, les contrats incluant des délais d'intervention très
précis, l'équipe support a le devoir d'intervenir dans les
délais contractés. D'où le besoin de mettre en place un
système de notification par SMS des incidents support de NEDGE PS qui
permettra de réagir aux éventuels incidents en temps
réel.
II.2.Problématique
NEDGE PS offre des services à diverses entreprises.
Mais malgré la présence de l'équipe support sur le terrain
pendant la quasi-totalité du temps, nous constatons de nombreuses
insuffisances notamment dans la communication du mail du client à
l'équipe support présente sur le terrain. En effet, lorsqu'un
incident survient chez un client, il envoie un mail à l'équipe
technique où il y mentionne la nature de l'incident. Suivant la nature,
l'équipe doit classer l'incident par priorité. Il existe 3 types
de contrat support et chacun est associé à une priorité et
un délai d'intervention. Ce délai d'intervention est tributaire
du type de contrat auquel le client a souscrit.
Priorité
Type de contrat
|
P1
|
P2
|
P3
|
Gold
|
2 heures
|
24 heures
|
48 heures
|
Silver
|
4 heures
|
24 heures
|
48 heures
|
Bronze
|
24 heures
|
48 heures
|
72 heures
|
Figure 2 : Tableau récapitulatif du
délai d'intervention suivant la priorité et le type de
contrat
L'incident doit être accusé dans l'heure qui suit,
au client. Après réception du mail,
l'équipe peut, si nécessaire, faire des
recherches par rapport aux problèmes énumérés par
le client avant d'intervenir. Un ticket est ainsi ouvert et un mécanisme
d'escalade est déployé sur la base
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 16
de la hiérarchie de l'équipe support.
L'équipe support, composée de 3 personnes, est subdivisée
en 3 niveaux :
> Le niveau L1 qui représente le support
d'entrée ; c'est lui qui accuse le courriel du client.
> Le niveau L2 qui constitue le niveau
expérimenté ;
> Le niveau L3 qui est un expert du produit ;
Lors de l'intervention, chaque niveau a un pourcentage sur le
délai de la priorité de l'incident signalé par le client.
Le niveau L1 est d'abord déployé sur le terrain. Lorsque 30% du
délai de la priorité est atteint et que l'incident n'est pas
résolu, le niveau L2 intervient ; à 60% d'épuisement de ce
délai, le niveau L3 prend en charge l'incident. Au-delà de cette
étape, le directeur général est notifié de cet
incident.
Il arrive souvent que toute l'équipe support ne soit
pas disponible à temps réel pour diverses raisons (interventions
en cours, etc.). Dans ce cas, les agents devraient aussi recevoir une
notification leur faisant part du mail afin qu'ils puissent réagir le
plus rapidement possible aux besoins du client.
Cependant l'équipe présente sur le terrain ne
dispose pas d'une connectivité Internet lui permettant de consulter son
mail ; ce qui peut diminuer son temps de réaction et son
efficacité.
II.3.Objectifs
Nous proposons de mettre en place un système de
notification par SMS des incidents support de NEDGE PS. Ce système
apportera deux améliorations majeures au sein de la structure entre
autre l'accusé automatique du mail du client mais également la
notification par escalade des acteurs de ce système.
Concrètement, il permettra de :
'7 Recevoir et envoyer l'information rapidement
quelque que soit la position géographique de l'équipe SUPPORT
;
'7 Réagir rapidement par rapport à un
incident tout en respectant les délais imposés par le type de
contrat auquel le client est souscrit ;
'7 Alerter éventuellement chaque niveau
lorsque le délai d'intervention par rapport à la priorité
est imparti mais également le niveau supérieur qui doit
intervenir ;
'7 Gérer des services (Monitorer les tickets)
;
'7 Faire le suivi des alertes (historiques,
statistiques) ;
'7 Assurer une meilleure qualité du service
offert.
Le système proposé viendra satisfaire les
besoins exprimés afin de résoudre les insuffisances
soulevées.
Système de notification par SMS des incidents support
de NEDGE PS.
III. Démarche
méthodologique
Babacar NGOM Mémoire de fin de cycle DST Page
17
III.1.UML
III.1.1.Présentation
UML est l'Unified Modeling Language standardisé par l'OMG
(Object Management Group :
http://www.omg.org).C'est avant tout un
formalisme graphique issu de notations employées dans différentes
méthodes objets.
UML sert à :
· Décomposer le processus de
développement,
· Mettre en relation les experts métiers et les
analystes,
· Coordonner les équipes d'analyse et de
conception,
· Séparer l'analyse de la réalisation,
· Prendre en compte l'évolution de l'analyse et du
développement,
· Migrer facilement vers une architecture objet d'un point
de vue statique et dynamique.
III.1.2.Concepts
UML se base sur un certain nombre de concepts dont ceux-ci :
V' Objets
On appelle objet un élément matériel ou
immatériel, dans la réalité étudiée, qui
satisfait aux principes de distinction, de permanence et d'activité.
Cela entraine qu'un objet possède une identité, un état et
un comportement. Un objet communique avec ses utilisateurs (ou clients) par le
biais de son interface. L'interface d'un objet est la liste des services qu'il
peut rendre et des ressources qu'il souhaite mettre à la disposition de
ses clients.
V' Classe
Une classe est un ensemble d'objet sur lesquels on peut
reconnaître des similitudes dans le champ d'étude. Ces similitudes
portent sur la façon de les identifier, sur les types d'états
qu'ils peuvent prendre et sur le rôle qu'ils jouent.
V' Acteurs
UML n'emploie pas le terme d'utilisateur mais d'acteur. Les
acteurs d'un système sont les entités externes à ce
système qui interagissent (saisie de données, réception
d'information, ...) avec lui.
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 18
Les acteurs sont donc à l'extérieur du
système et dialoguent avec lui. Ces acteurs permettent de cerner
l'interface que le système va devoir offrir à son environnement.
Oublier des acteurs ou en identifier de faux conduit donc nécessairement
à se tromper sur l'interface et donc la définition du
système à produire.
III.1.3.Les Diagrammes d'UML
UML n'est pas une méthode (une description normative
des étapes de la modélisation) : ses auteurs ont en effet
estimé qu'il n'était pas opportun de définir une
méthode en raison de la diversité des cas particuliers. Ils ont
préféré se borner à définir un langage
graphique qui permet de représenter, de communiquer les divers aspects
d'un système d'information (aux graphiques sont, bien sûr,
associés des textes qui expliquent leur contenu). UML est donc un
métalangage car il fournit les éléments permettant de
construire le modèle qui, lui, sera le langage du projet.
Il est impossible de donner une représentation
graphique complète d'un logiciel, ou de tout autre système
complexe, de même qu'il est impossible de représenter
entièrement une statue (à trois dimensions) par des photographies
(à deux dimensions). Mais il est possible de donner sur un tel
système des vues partielles, analogues chacune à une photographie
d'une statue, et dont la juxtaposition donnera une idée utilisable en
pratique sans risque d'erreur grave.
UML 2.0 propose 13 diagrammes répartis en 2 groupes :
? Diagrammes comportementaux ou diagrammes dynamiques
(UML Behavior)
Exemple : Le diagramme de cas
d'utilisation
Bien souvent, la maîtrise d'ouvrage et les utilisateurs
ne sont pas des informaticiens. Il leur faut donc un moyen simple d'exprimer
leurs besoins. C'est précisément le rôle des diagrammes de
cas d'utilisation qui permettent de recueillir, d'analyser et d'organiser les
besoins, et de recenser les grandes fonctionnalités d'un système.
Il s'agit donc de la première étape UML d'analyse d'un
système.
Un diagramme de cas d'utilisation capture le comportement
d'un système, d'un sous-système, d'une classe ou d'un composant
tel qu'un utilisateur extérieur le voit. Il scinde la
fonctionnalité du système en unités cohérentes, les
cas d'utilisation, ayant un sens pour les acteurs. Les cas d'utilisation
permettent d'exprimer le besoin des utilisateurs d'un système, ils ont
donc une vision orientée utilisateur de ce besoin au contraire d'une
vision informatique. Il ne faut pas négliger cette première
étape pour produire un logiciel conforme aux attentes des utilisateurs.
Pour élaborer les cas d'utilisation, il faut se fonder sur des
entretiens avec les utilisateurs.
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 19
? Diagrammes structurels ou diagrammes statiques
(UML Structure) ; Exemple : Le diagramme de
classe
Le diagramme de classe est considéré comme le
plus important de la modélisation orientée objet, il est le seul
obligatoire lors d'une telle modélisation.
Alors que le diagramme de cas d'utilisation montre un
système du point de vue des acteurs, le diagramme de classes en montre
la structure interne. Il permet de fournir une représentation abstraite
des objets du système qui vont interagir ensemble pour réaliser
les cas d'utilisation.
Il est important de noter qu'un même objet peut
très bien intervenir dans la réalisation de plusieurs cas
d'utilisation. Les cas d'utilisation ne réalisent donc pas une partition
des classes du diagramme de classes. Un diagramme de classes n'est donc pas
adapté (sauf cas particulier) pour détailler, décomposer,
ou illustrer la réalisation d'un cas d'utilisation particulier. Les
principaux éléments de cette vue statique sont les classes et
leurs relations association, généralisation et plusieurs types de
dépendances, telles que la réalisation et l'utilisation.
Tout au long du chapitre 2 intitulé Analyse des
besoins, nous n'utiliserons pas tous les 13 diagrammes d'UML mais uniquement
ces deux diagrammes décrits ci-haut.
III.2.Etapes du projet
Le choix d'une démarche convenable pour entreprendre un
projet est une étape cruciale qui
conditionne sa réussite. Cette démarche
s'effectuera en 3 étapes :
- La première est la phase d'analyse ou explicitation des
besoins du système à construire ;
- La deuxième est la phase de conception ou explicitation
des différentes étapes de la construction
de la solution qu'est le futur système ;
- La troisième est la mise oeuvre ou encore la
réalisation effective de la solution ;
III.2.1Analyse des besoins
L'analyse des besoins de notre système se fera à
travers des diagrammes de cas d'utilisation UML
qui vont représenter les fonctionnalités
attendues. Ces cas d'utilisation seront décrits en mode texte et nous
aurons à présenter quelques cas nominaux. Enfin nous utiliserons
un diagramme de classes pour modéliser toutes les entités ainsi
que les relations existant entre ces entités qui représentent
notre domaine métier.
III.2.2.Conception de la solution
Cette partie s'intéresse à comment le
système est construit. Elle décrit comment chaque
fonctionnalité est construite en utilisant les
technologies choisies. Essentiellement, elle décrit de
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 20
manière complète l'architecture de la solution que
nous adopterons. De plus, elle présente également ces
différentes technologies.
III.2.3.Réalisation de la solution
Dans cette phase de la démarche nous nous pencherons sur
les différentes étapes de l'écriture du
code proprement dit de l'application.
Système de notification par SMS des incidents support
de NEDGE PS.
Chapitre 2 :
Analyse des besoins

Babacar NGOM Mémoire de fin de cycle DST Page 21
Système de notification par SMS des incidents support
de NEDGE PS.
I. Diagrammes de use case
I.1.Cas d'utilisation de haut niveau
Nous avons ci-dessous le diagramme de cas d'utilisation de haut
niveau relatif à l'ensemble du
système de notification par SMS des incidents support de
NEDGE PS.

Figure 3 : Diagramme de use case de haut
niveau
Comme le montre la figure 3, notre système se subdivise
en quatre modules suivants :
? La gestion des authentifications,
? Le paramétrage de l'application,
? Le monitoring de ticket,
? La gestion des signalements d'incidents
Dans la suite, nous allons décrire avec plus de
détails chacun de ces modules à travers des « diagrammes de
cas d'utilisation détaillés ».
Babacar NGOM Mémoire de fin de cycle DST Page 22
I.2.1-La gestion du paramétrage de
l'application
I.2.Cas d'utilisation détaillés

Système de notification par SMS des incidents support
de NEDGE PS.
Figure 4 : Use case Paramétrage de
l'application
Babacar NGOM Mémoire de fin de cycle DST Page 23
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page
24
I.2.1.1.Gestion d'un agent

Figure 5: Use case Gestion d'un
agent
Scénario 1 : Ajouter un agent
Nom du cas : Ajouter un agent
Acteurs :
-Administrateur
Objectifs
Sauvegarde des informations relatives à un agent
Pré-condition
L'administrateur est connecté et il a les informations
relatives à l'agent.
Déroulement
-L'administrateur s'authentifie
-Il saisie le nom, le prénom, le login, le mot de
passe, le numéro de téléphone, l'adresse e-mail et
le niveau de l'agent.
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 25
-Il valide la saisie.
Post-condition
Les informations du nouvel agent ont été
insérées dans la base de données.
Scénario 2 : Modifier un agent
Nom du cas : Modifier un agent
Acteurs :
-Administrateur
Objectifs
Edition des informations relatives à un agent
Pré-condition
L'administrateur est connecté et l'agent qu'il
souhaite modifier existe déjà dans la base de
données.
Déroulement
-L'administrateur s'authentifie
-Il voit, sous forme de tableau, la liste des agents
déjà créés.
-Il choisit l'agent dont il veut modifier ces données
en cliquant sur le bouton « modifier ».
-Il modifie les informations de l'agent.
-Il valide la modification.
Post-condition
Les informations de l'agent choisi ont été
modifiées dans la base de données.
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page
26
I.2.2.Le monitoring de ticket

Figure 6: Use case Monitoring de
ticket
Scénario 1 : Ouverture de ticket
Nom du cas : Ouverture de ticket
Acteurs :
-Agent (préposé chargé du monitoring de
ticket)
Objectifs :
Ouvrir un ticket relatif à un incident
Pré-condition
Un incident est déclaré par un agent et aucun
ticket n'a été ouvert
Déroulement
-Authentification de l'agent
-Il consulte la liste des incidents pas encore
traités
-Il va ouvrir l'incident pas encore traité.
-Il l'affecte à une priorité
-Il ouvre un ticket
Post-conditions
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 27
Le nouveau ticket ouvert est inséré dans la base de
données. Le mécanisme d'escalade est lancé.
I.2.3.La notification d'un incident

Figure 7: Use case Notification d'un
incident
Système de notification par SMS des incidents support
de NEDGE PS.
II. Diagramme de classe
Babacar NGOM Mémoire de fin de cycle DST Page 28
Nous avons ci-dessous le diagramme de classe relatif à
toute l'application:

Système de notification par SMS des incidents support
de NEDGE PS.
Figure 8 : Diagramme de classe
Pour développer une application, la phase d'analyser
est nécessaire. Elle permet de mieux comprendre les besoins des futurs
utilisateurs.
Babacar NGOM Mémoire de fin de cycle DST Page 29
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 30
Cependant, elle n'est pas suffisante pour la réaliser.
Ainsi, au complément de cette dernière, nous
entamons une autre phase intitulée conception de la solution. Dans cette
phase, on définira l'application et les outils utilisés pour la
réaliser.
Système de notification par SMS des incidents support
de NEDGE PS.
Chapitre 3 :
Conception de la solution

Babacar NGOM Mémoire de fin de cycle DST Page 31
Système de notification par SMS des incidents support
de NEDGE PS.
I. Architecture globale de la solution

Babacar NGOM Mémoire de fin de cycle DST Page 32
Figure 9 : Architecture globale de la
solution
L'objectif principal de notre étude repose sur la mise
en place d'un système qui permettra aux agents d'être au courant
des incidents signalés par le(s) contact(s).Ainsi, il y aura un ensemble
de processus qui se dérouleront de la signalisation de l'incident
jusqu'à la fermeture de ticket.
Un contact, victime d'un incident, le signale aux agents de
NEDGE PS avec lesquels il a signé un contrat support. Automatiquement,
le système lui fait un retour le notifiant de la réception du
mail (accusé de réception automatique).Une fois le mail
reçu par le pôle support, il est directement stocké dans
une base de donnée MySQL avec ces différentes parties
(expéditeur, objet, date de réception et corps du message) ; ce
qui permettra aux agents d'avoir toutes les informations nécessaires au
traitement de l'incident. Par la suite, l'agent préalablement
ajouté, s'authentifie à
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 33
l'aide d'un couple login/mot de passe et il accède
alors directement à la liste de tous les incidents (traités ou
non).Il aura alors la possibilité de gérer les incidents pas
encore traités via une ouverture de ticket. Cette ouverture
déclenche des travaux en back-end effectués par le
système. Entre autres, nous pouvons citer :
L'envoi de message SMS via un device. Durant cette phase, le
système envoie automatiquement un message aux agents lorsqu'il y a des
incidents pas encore traités ; rappelons que chaque contrat est
associé à un délai spécifique à la
priorité de l'incident. Lorsque le délai d'intervention
associé à un niveau pour un incident est dépassé,
il passe alors au niveau suivant. Chaque niveau est associé à un
pourcentage par rapport au délai d'intervention d'un incident : C'est la
gestion des niveaux d'escalade.
Système de notification par SMS des incidents support
de NEDGE PS.
II. Outils et technologies utilisés
Babacar NGOM Mémoire de fin de cycle DST Page
34
II.1.La messagerie électronique
Le courrier électronique est aujourd'hui l'une des
applications les plus populaires du réseau. Utilisé pour des
applications très variées - personnelles, professionnelles,
associatives, politiques, etc. -, celui-ci tend à prendre une place de
plus en plus prépondérante par rapport aux moyens de
communication traditionnels. Outre son faible coût, la messagerie
électronique a l'avantage d'optimiser la communication et la diffusion
d'informations.
II.1.1.Les protocoles de communication (de transport)
Le fonctionnement du courrier électronique repose
aussi sur une série de protocoles de communication destinés
à envoyer ses messages, de serveur à serveur, à travers
l'Internet. Les principaux protocoles sont les suivants : SMTP, POP3 ou encore
IMAP4, chacun jouant un rôle bien précis. Ils font partis de la
famille des protocoles TCP/IP et pour cette raison fonctionnent en relation
avec d'autres services IP comme par exemple DNS ou HTTP. Ce sont des protocoles
applicatifs, ils s'appuient donc sur les protocoles de transport UDP ou TCP.
II.1.1.1.Le protocole SMTP (Simple Mail Transfer
Protocol)
Avec HTTP, il est surement le protocole le plus
utilisé sur Internet. Il permet d'envoyer des messages texte ASCII vers
des hôtes disposant de services de courrier. Il utilise le port TCP 25 et
est décrit dans la RFC 821. Les dernières RFC concernant SMTP et
le format des messages sont les RFC 2821 et 2822. La figure suivante montre le
fonctionnement d'une session d'envoi de mail utilisant SMTP :
Système de notification par SMS des incidents support
de NEDGE PS.

Babacar NGOM Mémoire de fin de cycle DST Page 35
Figure 10 : Envoi de mail via
SMTP
Un utilisateur utilise sur son système local un
composant appelé MUA (Mail User Agent). Le courrier est ensuite
déposé dans une boîte aux lettres locale d'envoi. Un
processus d'envoi SMTP parcourt régulièrement cette boîte
aux lettres et établit une connexion TCP avec le destinataire des
messages déposés.
Le processus de réception SMTP du destinataire accepte
la connexion et le courrier est alors envoyé. Le processus de
réception SMTP dépose le courrier dans la boîte aux lettres
de destination. Si la boîte aux lettres n'existe pas, un message est
renvoyé à l'expéditeur du message pour information. Les
processus d'envoi et de réception SMTP s'appellent des MTA (Message
Transfert Agent).
SMTP est prévu à l'origine pour envoyer des
fichiers textes uniquement. Pour envoyer des informations non textuelles comme
des images, des fichiers binaires ou des vidéos, il est donc
nécessaire d'encoder le contenu du message sous forme de texte. La
technique la plus répandue est l'utilisation du format MIME
(Multipurpose Internet Mail Extensions).
? Les formats d'encodage de messagerie : MIME
Décrit dans les RFC 1341, 1896, 2045, 2046 et 2049,
Multipurpose Internet Mail Extensions (MIME) est un standard internet
qui étend le format de données des courriels pour supporter des
textes en différents codage de caractères autres que l'ASCII, des
contenus non textuels, des contenus multiples, et des informations
d'en-tête en d'autres codages que l'ASCII. Les courriels
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 36
étant généralement envoyés via le
protocole SMTP au format MIME, ces courriels sont souvent appelés
courriels SMTP/MIME.
II.1.1.2.Le protocole POP3 (Post Office Protocol
Version 3)
Le protocole POP3 permet d'aller récupérer son
courrier sur un serveur distant (le serveur POP). Ce protocole est
nécessaire pour les personnes qui ne sont pas connectées en
permanence à l'Internet. Ainsi, POP3 permet le traitement hors-ligne de
ses emails. Il suffit de se connecter périodiquement à son
serveur de messagerie, via un logiciel spécifique, pour rapatrier sur sa
machine le courrier en attente. Les messages récupérés
sont ensuite effacés du serveur de messagerie, sauf configuration
contraire du logiciel de messagerie. Il est, en effet, possible de laisser une
copie des messages sur le serveur.
II.1.1.3.Le protocole IMAP4 (Interactive Mail Access
Protocol)
IMAP4 est un protocole client/serveur qui permet
l'accès aux messages directement sur le serveur. Le protocole permet de
manipuler directement les boîtes aux lettres sur le serveur, mais aussi
de les synchroniser avec le client. Ces principales fonctionnalités sont
les suivantes:
· Accéder et manipuler des portions de messages sur
le serveur sans avoir à les télécharger
· Voir les messages et les pièces jointes sans les
télécharger
· Télécharger tous les messages pour les
consulter hors connexion
· Créer, supprimer et renommer une boîte aux
lettres
· Vérifier l'arrivée de nouveaux messages
· Supprimer des messages de la boîte aux lettres
· Reconnaître les en-têtes RFC 822 et
décoder les messages MIME IMAP4 utilise le port TCP 143 et est
décrit dans les RFC 1731, 2060, 2086, 2087, 2088 et 2095.
II.2.Application WEB
En informatique, une application Web est un logiciel
applicatif manipulable grâce à un navigateur Web. De la même
manière que les sites Web, une application Web est
généralement placée sur un serveur et se manipule en
actionnant des composants d'interface graphique à l'aide d'un navigateur
Web, via un réseau informatique (Internet, intranet,
réseau local, etc.).
Système de notification par SMS des incidents support
de NEDGE PS.

Figure 11 : Présentation d'une
application WEB
? Choix des langues
? HTML
(« HyperText Markup Language ») est un
langage dit de « marquage » (de « structuration » ou de
« balisage ») dont le rôle est de formaliser l'écriture
d'un document avec des balises de formatage. Les balises permettent d'indiquer
la façon dont doit être présenté le document et les
liens qu'il établit avec d'autres documents.
Le langage HTML permet notamment la lecture de documents sur
Internet à partir de machines différentes, grâce au
protocole HTTP, permettant d'accéder via le réseau à des
documents repérés par une adresse unique, appelée URL.
? CSS
Le langage CSS (ou feuilles de style en cascade) est le
format utilisé pour décrire la présentation de documents
HTML.
Le CSS est donc un langage de présentation, permettant
de créer un vrai design sur chaque page de votre site. Vous pourrez par
exemple changer la taille, le positionnement, le style et la couleur de chaque
élément de vos pages comme les titres, images, etc. Tout en
étant complémentaire au langage HTML, le CSS devient donc
très vite indispensable si l'on veut réussir un design clair et
personnalisé de ses pages web.
Pour ceux qui veulent créer leur propre site web sur
Internet sans passer par des éditeurs de sites web, il est donc
indispensable de connaître les bases du langage CSS.
Une page CSS est composée de 3 éléments
:
Babacar NGOM Mémoire de fin de cycle DST Page 37
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 38
? Les noms de balises : On pourra ainsi
modifier l'apparence des éléments contenus dans le code HTML
comme le titre, paragraphe... On peut également intégrer un
ensemble d'éléments dans des balises
universelles.
? Les propriétés : Ce sont les
effets que l'on veut appliquer aux balises. Par exemple, si l'on veut changer
la disposition d'un paragraphe on appliquera la propriété
"text-align".
? Les valeurs : Elles indiquent la
manière dont doit se comporter une propriété. En
reprenant l'exemple, si l'on veut un texte centré, on
mettra la valeur "center".
? JAVASCRIPT
Le JavaScript est un langage de script incorporé dans
un document HTML. Historiquement il s'agit même du premier langage de
script pour le Web. Ce langage est un langage de programmation qui permet
d'apporter des améliorations au langage HTML en permettant
d'exécuter des commandes du côté client,
c'est-à-dire au niveau du navigateur et non du serveur web.
Ainsi le langage JavaScript est fortement dépendant du
navigateur appelant la page web
dans laquelle le script est incorporé, mais en
contrepartie il ne nécessite pas de compilateur, contrairement au
langage Java, avec lequel il a longtemps été confondu.
JavaScript a été mis au point par Netscape en
1995. A l'origine, il se nommait Live Script et était destiné
à fournir un langage de script simple au navigateur Netscape Navigator
2.
? PHP
PHP qui signifie Hypertext Preprocessor, est apparu en 1994,
sous forme de petits outils pour faciliter la vie des programmeurs web
notamment grâce à Rasmus Lerdorf. Pour quelle raison utiliser et
développer en PHP alors qu'il existe une multitude (voir plus :-)) de
langages de programmation (PERL, C, java ...) ? PHP est un langage de scripts.
Il est interprété, par conséquent il ne nécessite
pas d'être compilé pour obtenir un objet, un exécutable
avant d'être utilisable (comme en C par exemple). PHP est un module
supporté par le serveur web Apache, le plus répandu dans le monde
(plus de 70% des serveurs web), il est donc développé pour
être facilement utilisable via ce serveur (Il fonctionne
évidemment avec d'autres serveurs web). PHP permet d'interfacer
très facilement de très nombreuses bases de données
notamment MySQL gratuite et performante. On retrouve d'ailleurs l'ensemble
Apache-PHP-MySQL souvent sur les plateformes web. Il offre ainsi des outils et
de nombreuses fonctions facilitant ce travail. Du fait de l'utilisation par un
grand nombre de ce langage vous avez accès sur le net et dans la
littérature à de nombreuses sources d'informations et d'aides
(Tutorial, forum de discussions, ...).
Un des gros avantages de PHP sur d'autres langages comme PERL
est l'intégration dans la même page du code HTML « brut
» et du code PHP. Plus besoin de réaliser une page Html et une
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 39
deuxième dans le langage de programmation
désiré, ou de faire une page dans laquelle le code HTML est
« encapsulé » dans le code du langage de programmation de
manière plus ou moins simple. Vous pouvez avec PHP taper vos lignes de
codes en HTML, puis intégrer ou vous le désirez du code PHP et
ainsi de suite. Travailler de cette manière et sur un seul fichier vous
fait gagner énormément de temps et de clarté dans votre
site. Autre avantage énorme, les scripts PHP n'ont pas besoin
d'être mis dans des répertoires exécutables sur votre site
comme peuvent l'être les programmes PERL, C ... Vous pouvez les inclure
n'importe où. Ceci est terriblement avantageux surtout si vous
n'êtes pas maître de la configuration de votre serveur web (Partie
ScriptAlias dans la configuration de httpd.conf d'Apache). Grâce à
cette facilité, vous pourrez la plupart du temps faire de la
programmation chez votre provider qui généralement ne vous permet
pas de la réaliser à travers des répertoires
exécutables traditionnels. PHP fonctionne si l'hébergeur
possède le moteur PHP. En effet le fonctionnement est le suivant : une
page contenant du code PHP est appelée, il passe alors d'abord par le
Préprocesseur PHP qui transforme le code PHP en code HTML et envoie
ensuite seulement la page à l'utilisateur. A aucun moment le code PHP ne
pourra être vu. Ce qui sécurise vos scripts et vos sources de
programmes.

Figure 12 : Exécution d'un code
PHP
Un dernier élément en faveur de PHP n'est pas
des moindres, sa portabilité. Si vous développez un programme
PHP, vous pourrez le porter sur toutes les machines sans avoir la
nécessité de modifier le code source, il suffit que le serveur
web soit configuré de manière correcte et que PHP soit sur la
machine.
? MySQL
MySQL est un système de gestion de base de données
(SGBD). Selon le type d'application, sa
licence est libre ou propriétaire. Il fait partie des
logiciels de gestion de base de données les plus utilisés au
monde, autant par le grand public (application web principalement) que par les
professionnels, au même titre que ORACLE ou Microsoft SQL Server.
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 40
MySQL est un serveur de base de données relationnelles
SQL développé dans un souci de performances élevées
en lecture, ce qui signifie qu' il est davantage orienté vers le service
de données déjà en place, que vers celui de mises à
jour fréquentes et fortement sécurisées. Il est
multithread et multiutilisateur.
Système de notification par SMS des incidents support
de NEDGE PS.
III. Implémentation de la base de
données
Une base de données est composée de données
stockées dans des mémoires de masse sous une forme
structurée, et accessibles par des applications différentes et
des utilisateurs différents. Une base de données doit pouvoir
être utilisée par plusieurs utilisateurs en même temps.
III.1.Schéma relationnel de la base de
données
· Administrateur (idadministrateur {pk},
idutilisateur {fk}) ;
· Agent (idagent {pk}, telephone, mail,
idutilisateur {fk}, idniveau {fk}) ;
· Compte (idcompte {pk}, username,
password) ;
· Contact (idcontact {pk}, nomcontact,
prenomcontact, mail, telephone, identreprise {fk}) ;
· Contrat (idcontrat {pk}, type,
description) ;
· Delai (iddelai {pk}, duree) ;
· Delai_Priorite_Contrat (iddpc {pk},
iddelai {fk}, idpriorite {fk}, idcontrat {fk}) ;
· Entreprise (identreprise {pk},
nomentreprise, adresse, idcontrat {fk}) ;
· Incident (idincident {pk}, nature,
dateincident, idcontact {fk}) ;
· Modem (idmodem {pk}, port, pin) ;
· Niveau (idniveau {pk}, libelle,
description, pourcentage) ;
· Priorite (idpriorite {pk}, level) ;
· Serveurentrant (idsentrant {pk}, port,
adresse, typeprotocole) ;
· Serveursortant (idssortant {pk}, port,
adresse, typeprotocole) ;
· Ticket (idticket {pk}, numticket,
dateouvertureticket, dateclotureticket, statut, idincident{fk}, idpriorite
{fk},idagent{fk});
· Utilisateur (idutilisateur {pk}, nom,
prenom, login, password, statut) ;
III.2.Dictionnaire de données
Nom_Champ
|
Type_Champ
|
Description_Champ
|
idadministrateur
|
int
|
Identifiant de l'administrateur
|
idagent
|
int
|
Identifiant de l'agent
|
telephone
|
varchar(30)
|
Numéro de téléphone de
l'agent
|
mail
|
varchar(30)
|
Adresse e-mail de l'agent
|
idcompte
|
int
|
Identifiant du compte
|
username
|
varchar(50)
|
Nom d'utilisateur du compte
|
password
|
varchar(50)
|
Mot de passe du compte
|
idcontact
|
int
|
Identifiant du contact
|
nomcontact
|
varchar(30)
|
Nom du contact
|
prenomcontact
|
varchar(50)
|
Prénom du contact
|
mail
|
varchar(50)
|
Adresse e-mail du contact
|
telephone
|
varchar(20)
|
Téléphone du contact
|
idcontrat
|
int
|
Identifiant du contrat
|
type
|
varchar(10)
|
Type de contrat
|
description
|
varchar(60)
|
Description du type contrat
|
|
Babacar NGOM Mémoire de fin de cycle DST Page 41
Système de notification par SMS des incidents support
de NEDGE PS.
iddelai
|
int
|
Identifiant du délai
|
duree
|
int
|
Durée du délai
|
iddpc
|
int
|
Identifiant du délai de la priorité
de l'incident
|
identreprise
|
int
|
Identifiant de l'entreprise
|
nomentreprise
|
varchar(30)
|
Nom de l'entreprise
|
adresse
|
varchar(50)
|
Adresse de l'entreprise
|
idincident
|
int
|
Identifiant de l'incident
|
nature
|
varchar(30)
|
La nature de l'incident
|
dateincident
|
date
|
La date de l'incident
|
idmodem
|
int
|
Identifiant du modem
|
port
|
int
|
Numéro de port
|
pin
|
int
|
Code PIN
|
idniveau
|
int
|
Identifiant du niveau
|
libelle
|
varchar(20)
|
Libellé du niveau
|
description
|
varchar(50)
|
Description du niveau
|
pourcentage
|
int
|
Pourcentage du niveau
|
idpriorite
|
int
|
Identifiant de la priorité
|
level
|
varchar(4)
|
Level de la priorité
|
idsentrant
|
int
|
Identifiant du serveur entrant
|
port
|
int
|
Numéro de port du serveur entrant
|
adresse
|
varchar(30)
|
Adresse du serveur entrant
|
typeprotocole
|
varchar(7)
|
Type de protocole du serveur entrant
|
idssortant
|
int
|
Identifiant du serveur sortant
|
port
|
int
|
Numéro de port du serveur sortant
|
adresse
|
varchar(30)
|
Adresse du serveur sortant
|
typeprotocole
|
varchar(7)
|
Type de protocole du serveur sortant
|
idticket
|
int
|
Identifiant du ticket
|
numticket
|
varchar(30)
|
Matricule du ticket
|
dateouvertureticket
|
date
|
Date d'ouverture du ticket
|
dateclotureticket
|
date
|
Date de clôture du ticket
|
statut
|
varchar(20)
|
Statut du ticket
|
idutilisateur
|
int
|
Identifiant de l'utilisateur
|
nom
|
varchar(30)
|
Nom de l'utilisateur
|
prenom
|
varchar(50)
|
Prénom de l'utilisateur
|
login
|
varchar(50)
|
Nom d'utilisateur (connexion)
|
password
|
varchar(50)
|
Mot de passe de l'utilisateur (connexion)
|
statut
|
enum (`agent','administrateur')
|
Statut de l'utilisateur
|
|
Figure 13 : Dictionnaire de données de
l'application
Babacar NGOM Mémoire de fin de cycle DST Page 42
Système de notification par SMS des incidents support
de NEDGE PS.
IV. Conception générique de cas
d'utilisation
Babacar NGOM Mémoire de fin de cycle DST Page 43
Complètement indépendante des aspects fonctionnels,
elle établit le squelette du système construisant ainsi
l'architecture de ce dernier. On peut diviser son fonctionnement en trois
parties :
IV.1.L'interface avec l'utilisateur
Nous avons un environnement homme-machine qui permet aux
utilisateurs d'interagir avec le système. Elle masque le code de
l'application donc montre une vue plus conviviale.
Rien qu'à partir de l'interface, on peut avoir une
idée du contenu de l'application. Cette interface doit rester
fidèle aux fonctionnements du système de notification SMS mis en
place.
Nous utilisons, à l'aide du langage HTML, des formulaires
pour assurer la restriction des domaines. Ces formulaires permettent aussi la
saisie des enregistrements mais également le paramétrage de
l'application.
Nous aurons aussi des messages de retour dans les pages HTML
après les saisies sur les
formulaires. Les informations saisies dans les formulaires
auront besoin d'être récupérer par un interpréteur
côté serveur pour pouvoir assurer leur enregistrement dans la base
de données.
IV.2.Le travail métier avec PHP
PHP permettra à toutes nos pages d'interagir avec le
serveur. Nous aurons ainsi des scripts PHP établis sous forme de
fichiers pour :
? Paramétrer et configurer l'application
? Afficher les informations relatives aux données saisies
préalablement et éventuellement y affecter des fonctions de
modifications
? Supprimer des données erronées.
Afin que toutes ces fonctions soient effectuées, nous
aurons besoin d'un espace de stockage appelé base de données.
IV.3.L'espace de stockage
MySQL nous permet de stocker des données. Celles-ci
seront dans la base de données et on procédera à des
requêtes pour pouvoir les afficher, modifier, ajouter ou supprimer.
IV.4.Exemple de conception d'un cas d'utilisation
: Monitoring de ticket Le monitoring de ticket
comprend : l'ouverture et la fermeture de ticket.
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page 44
D'abord, l'agent déjà créé se
connecte à l'aide d'un couple login/password et il accède
directement à une interface où est présentée, sous
forme de tableau, la liste de tous les incidents .Il aura ainsi la
possibilité de cliquer sur le bouton « ouvrir un ticket » qui
lui générera un formulaire d'ouverture de ticket. Dans ce
formulaire, il à une génération automatique du
numéro de ticket ainsi que toutes les informations relatives à un
nouveau ticket. Il choisira, suivant la nature de l'incident, la
priorité qu'il va lui affecter et ensuite cliquera sur valider pour
effectuer l'action. Cette action engendre plusieurs mécanismes
effectués par le système en back-end notamment :
'7 Une insertion du nouveau ticket dans les tables ticket,
priorité et incident de la base de données ;
'7 Mais également, un mécanisme d'escalade qui
s'effectuera en fonction de la priorité et du contrat que l'entreprise
à signé avec NEDGE PS. Ce mécanisme implique la
vérification du statut du ticket et l'envoi de SMS.
Une boite d'alerte sera affichée lui notifiant du
succès de la sauvegarde du ticket dans la base de données.
Système de notification par SMS des incidents support
de NEDGE PS.

Chapitre 4 :
Mise en oeuvre de la solution
Babacar NGOM Mémoire de fin de cycle DST Page 45
Système de notification par SMS des incidents support
de NEDGE PS.
I. Environnement de développement
Babacar NGOM Mémoire de fin de cycle DST Page
46
I.1.WAMP Server
WAMP Server est un acronyme informatique signifiant :
? Windows
? Apache
? MySQL
? PHP dans la majorité des cas mais
aussi parfois, « Perl » ou «
Python ».
WampServer est une plate-forme de développement Web
sous Windows. Il permet de développer des applications Web dynamiques
à l'aide du serveur Apache2, du langage de scripts PHP et d'une base de
données MySQL. Il possède également PHPMyAdmin et Sqlite
Manager pour gérer plus facilement des bases de données.
Contrairement aux autres solutions, WampServer permet de reproduire
fidèlement un serveur de production. Une fois la base installée,
nous avons la possibilité d'ajouter autant de versions d'Apache, MySQL
et PHP que nous le souhaitons. WampServer dispose également d'un
"TrayIcon" (icône sur la barre des taches) permettant de gérer et
configurer simplement des serveurs, sans toucher aux fichiers de
configuration.

Figure 14 : TrayIcon de
WampServer
I.2.Sublim Text 2
Babacar NGOM Mémoire de fin de cycle DST Page 47
Système de notification par SMS des incidents support
de NEDGE PS.

Figure 15 : Editeur Sublim Text
2
Système de notification par SMS des incidents support
de NEDGE PS.
II. Présentation de
l'application
II.1.Description de l'application
L'application que nous avons conçue permet d'effectuer
les tâches suivantes :
-Effectuer les fonctions d'ajout, de modification, de
suppression et de recherche sur l'ensemble des tables de la base de
donnée ;
-Monitorer un ticket (ouverture/clôture de ticket) ;
-Vérifier le compte de la messagerie par rapport au statut
des messages ;
-Envoyer un SMS d'alerte aux agents pour les éventuels
incidents ainsi que leur niveau de résolution.
II.2.Quelques interfaces de l'application
II.2.1.Interface d'authentification
Voici l'interface d'accueil qui nous permet de s'authentifier.
Il y a deux sortes d'authentification :
-L'administrateur qui a accès à toutes les parties
de l'application sauf la partie « Traitement d'un incident » ;
-L'agent qui a accès seulement au traitement de
l'incident.
La différence est que celui-ci n'aura pas de liens
cliquables pour les parties réservées à l'administrateur
et inversement.
Babacar NGOM Mémoire de fin de cycle DST Page 48
Système de notification par SMS des incidents support
de NEDGE PS.

Babacar NGOM Mémoire de fin de cycle DST Page 49
Figure 16 : Interface
d'authentification
II.2.2.Interface Ajouter un agent
C'est un formulaire qui nous permet de faire la saisie d'un
nouvel agent. Nous aurons des contrôles de saisies surtout pour l'adresse
e-mail et le numéro de téléphone puisqu'ils seront
réutilisables dans l'application à des fins d'envoi de SMS.A la
fin, nous aurons également une boite d'alerte nous notifiant si l'ajout
a été effectué avec succès ou pas.

Système de notification par
SMS des incidents support de NEDGE PS.
Figure 17 : Interface Ajouter un
agent
II.2.3.Interface Traitement d'un incident
Lorsque l'agent se connecte, il a directement cet interface
« Traitement d'un incident ».Celui-ci lui affiche la liste des
incidents et avant l'ouverture de ticket relative à un incident, il a la
possibilité de cliquer sur le lien « monitoring de ticket »
pour voir le statut d'un ticket.

Figure 18 : Interface Traitement d'un
incident
Babacar NGOM Mémoire de fin de cycle DST Page 50
Système de notification par SMS des incidents support
de NEDGE PS.
Babacar NGOM Mémoire de fin de cycle DST Page
51
II.2.4.Interface Ouverture de ticket
Dès que l'agent repère un incident qui n'a pas
encore été traité, il a la possibilité d'ouvrir un
ticket correspondant. Cette ouverture de ticket se caractérise par
l'apparition d'un formulaire où le numéro du ticket est
généré automatiquement et toutes les informations de
l'incident. L'agent va donc seulement attribuer une priorité à
l'incident et valider cette ouverture ; ce qui va déclencher le
mécanisme d'escalade.

Figure 19 : Interface Ouverture de
ticket
II.2.5.Interface Fermeture de ticket
L'agent a la possibilité de fermer le ticket lorsque deux
cas de figures se présentent :
-Soit quand l'incident, signalé par le client est
résolu ;
-Soit quand l'incident n'est pas résolu après tous
les niveaux d'escalade ;
Dans les deux cas, l'action Fermer ticket est effectuée
manuellement par l'agent et nous voyons une boite de « prompt » pour
confirmer ou pas cette action. Lorsque celle-ci est effectuée, l'agent
est redirigé vers la page monitoring de ticket où il remarquera
que le statut du ticket est passé de « ouvert » à
« clôturé ».Par la suite il a la possibilité de
consulter la liste des 5 derniers tickets ouverts ou fermés.

Babacar NGOM Mémoire de fin de cycle DST Page 52
Système de notification par SMS des incidents support
de NEDGE PS.
Figure 20 : Interface Fermeture de
ticket
Système de notification par SMS des incidents support
de NEDGE PS.
Conclusion
La réalisation de ce projet a été
bénéfique à plus d'un titre. Ce fut pour nous l'occasion
d'une véritable initiation aux réalités de la vie
professionnelle. Le système de notification que nous avons mise en place
a exigé à la fois un minimum de connaissance en réseau
GSM, particulièrement le principe de fonction du SMS et les outils de
développement informatique. Ce système de notification joue un
double rôle :
? Recevoir et envoyer l'information rapidement quelque que soit
la position géographique de l'équipe SUPPORT ;
? Réagir rapidement par rapport à un incident tout
en respectant les délais imposés par le type de contrat auquel le
client est souscrit ;
Le principal problème rencontré se résumait
à la connexion du téléphone mais également à
l'interrogation des commandes AT sous Windows. En effet, ayant des
problèmes de permissions, nous avions décidé de basculer
sous Ubuntu car là-bas tout est fichier et nous avions la
possibilité d'accorder les permissions nécessaires sur le device
afin qu'il soit utilisable.
La phase analyse est restée une phase délicate,
c'est pourquoi nous y avons passé beaucoup plus de temps pour pouvoir
bien cerner le besoin. En ce qui concerne la partie conception, PHP dispose
d'une syntaxe allégée et facile à comprendre. De ce fait
l'application reste bien documenter pour un éventuel ajout de nouveaux
modules et pour une meilleure réutilisation du code.
Néanmoins, force est de reconnaître que les
tendances actuelles encouragent à réaliser des gains en terme de
réactivité par rapport à un incident mais également
en terme de disponibilité par rapport à la communication puisque
le SMS étant accessible par presque tout le monde.
Nous recommandons donc :
? De faire le suivi des alertes afin de pouvoir établir
des statistiques par rapport aux interventions mais également avoir
l'historique des incidents. Ce qui permettra d'offrir aux clients une meilleure
qualité du service.
? De développer un interface à destination des
clients afin qu'il puisse directement signaler les incidents sur la plateforme.
Cela allégera le travail des agents par rapport au traitement des
incidents. Et donc un gain de temps pour ce traitement.
Ces derniers points pourraient faire l'objet d'une vision future
dans la continuation de ce projet.
Babacar NGOM Mémoire de fin de cycle DST Page 53
Système de notification par SMS des incidents support
de NEDGE PS.
Bibliographie et Webographie
Babacar NGOM Mémoire de fin de cycle DST Page 54
V' Webographie
URL pour IMAP :
·
http://tiny.cc/iasfjw
·
http://tiny.cc/8jsfjw
·
http://tiny.cc/5lsfjw
·
http://tiny.cc/cssfjw
·
http://tiny.cc/qxsfjw
URL pour SMTP :
·
http://tiny.cc/fzzfjw URL pour
messagerie électronique :
·
http://tiny.cc/8bsfjw
·
http://tiny.cc/qosfjw
·
http://tiny.cc/6psfjw
URL pour Wamp Server :
·
http://tiny.cc/ifsfjw
V' Bibliographie
· PHP and MySQL Web Development, Fourth edition - Luke
Welling, Laura Thomson
· PHP 5 Cours et exercices, Jean Engels
· PHP 5 La Bible, Laurent GUÉDON, Damien HEUTE,
Thomas HEUTE et Pierre-Emmanuel MULLER
· UML2 par la pratique 5ème édition, Pascal
Roques chez EYROLLES, 2009
Système de notification par SMS des incidents support
de NEDGE PS.
Glossaire
Babacar NGOM Mémoire de fin de cycle DST Page 55
SGBD : Un système de gestion de base
de données est un ensemble de logiciels qui sert à la
manipulation des bases de données. Il sert à effectuer des
opérations ordinaires telles que consulter, modifier, construire,
organiser, transformer, copier, sauvegarder ou restaurer des bases de
données.
MUA (Mail User Agent) : est client de
messagerie. C'est un logiciel qui sert à lire et envoyer des courriers
électroniques (Outlook Express, Eudora, Pegasus etc.).
MTA (Mail Transfer Agent) :
est un logiciel pour serveur de transmission de courriers
électroniques.
MDA (Mail Delivery Agent) : est le logiciel
final du voyage d'un courrier électronique. C'est lui qui dépose
le message dans la boîte aux lettres de l'utilisateur et qui doit donc
gérer des problèmes comme un disque plein ou bien une corruption
de la boîte aux lettres et signaler au MTA toute erreur dans la
distribution.
Commandes AT : Ce sont des commandes que l'on
peut directement envoyer au modem.
Minicom : C'est un outil de contrôle de
modem et d'émulation de terminal en lignes de commandes pour les
systèmes Unix, Windows. Il permet de se connecter à un
matériel (firewall, switch, etc.) via le port série (port COM),
afin de l'administrer.