Solution proposée
Dans le domaine de surveillance de parc informatique les niveaux de performance des solutions ci-dessus citées sont assez rapprochés. Toute fois, les logiciels libres ont acquis une notoriété et une stabilité indiscutable.
Pour cette raison, La solution envisagée par Mindware se caractérise sa licence opensource et sa facilité d’installation et d’utilisation. Pour sa première version, elle sera destinée aux petites et moyennes entreprises et proposera dans sa version de base une fonctionnalité Helpdesk avec possibilité d’utilisation d’outil de contrôle à distance Avant de commencer la description détaillée de la solution, un petit aperçu sur la société hôte de mon stage s’impose. Description de MindWare Mon stage de fin d’étude a été effectué au sein de la société MindWarequi a été crée en Avril 2010 par M. Adil ZEAARAOUI en association avec l’université Mohammed 1er, MindWare est la première start-up crée par la dite université. MindWare siège à l’intérieur même du complexe universitaire et plus précisément en plein centre de l’Ecole Nationale des Sciences Appliquées d’ Oujda (ENSAO).
Ce statut confère à MindWare le soutien et le parrainage de l’université Mohammed 1er et lui offre une place privilégiée tout prêt du corps enseignant, des étudiants et des lauréats de l’ENSAO.
Domaines d’intervention
MindWare offre une gamme de services très variés et axés sur deux pôles
Edition des logiciels
MindWare offre à ses clients l’opportunité de créer des applications spécifiques répondant exactement à leurs besoins et à leurs règles de gestion. Aussi, MindWare propose à ses clients la maintenance et la mise à niveau de leurs applications de gestion déjà en production.
Les technologies utilisées par MindWares’étale sur un large spectre de choix : Technologie : OOA/D, JEE et les Framework (Struts2, JPmapper,hebernate…), PHP5 et Framework (Zend FM),Python, XML,Jquery, Ajax SGBD: Oracle, MySQL, Postgresql
Ingénierie réseau et système
MindWare propose à ses clients l’installation et la configuration de leurs réseaux mono site et multi site. Pour cela, MindWare couvre un large spectre de technologies : Réseaux et configuration : routeur, passerelle, firewall, proxy, contrôleur de domaine, monitoring, messagerie, VPN, serveur d’impression Solution VoIP: on travaille sur Asterisk Plateforme: linux/Unix (Debian/FreeBSD), Windows.
Méthodologies du travail
La technique suivie lors de l’élaboration de n’importe quel projet au sein de MindWare est une technique basée le travail en groupe et inspirée de la méthodologie UP (Unified Process) ou itérative incrémentale qui consiste à diviser le projet en parties et pour chaque partie on effectue les étapes suivantes:
– Analyse générale.
– formation sur les technologies.
– Analyse détaillée.
– Conception du projet.
– Réalisation des tests.
– Validation.
Analyse générale
Consiste à comprendre le projet dans l’ensemble en réalisant une étude préliminaire en se focalisant sur les demandes des clients et faire la collecte des informations. Dans cette étape, une analyse du marché avec une comparaissant des différentes solutions existantes est réalisée. A l’issue de cette étape une idée générale prend forme et qui constituera la base de tout le projet.
Analyse détaillée
Cette étape se base sur les exigences du client pour une bonne implémentation du cahier des charges avec génération des cas d’utilisation. Dans cette étape une étude technique des technologies et outils à utiliser est réalisée. Cette étape est très importante pour le bon déroulement des étapes suivante c’est pour cela que MindWare lui alloue le délai et les ressources nécessaires.
A la fin de cette étape, l’équipe de développement est constituée et les taches sont réparties entre ses membres.
Formation sur les technologies
Après la constitution de l’équipe de développement, une formation est réalisée par le chef de projet aux nouveaux membres. Cette formation a comme objet les technologies choisies lors de l’étape précédente et qui seront utilisées dans le développement de la solution.
Le délai imparti à cette étape est proportionnel à la difficulté et la complexité des outils à utiliser et en fonction la nouveauté de ces outils pour les membres de l’équipe de projet.
Conception du projet
En utilisant la méthodologie UML une analyse conceptuelle est réalisée avec la participation de toute l’équipe de projet. En utilisant le logiciel « Entreprise Architect », Dans cette étape les différents scénarios sont catalogués et modélisés sous forme de diagrammes de séquences.
En suite, le diagramme de classes est élaboré et affiné à plusieurs reprises. En fin et après une multitude de réunions le chef de projet valide les différents diagrammes un planning de développement est mis en place.
Développement et tests
Le développement de l’application est réparti par le chef de projet sur l’équipe de développement et suit le planning dressé dans la phase précédente. A la fin de chaque semaine une réunion est faite et chaque membre de l’équipe présente sa réalisation.
A la fin de la réunion les tâches correctement réalisées sont validées par le chef de projet et celles présentant des problèmes reportées à la réunion suivante.
Analyse fonctionnelle détaillée du projet MindWare Remote, Monitoring and control (MRMC)
MRMC est un logiciel client/serveur full web qui est en cours de réalisation au sein de MindWarepour réaliser la surveillance et le control distant d’un réseau.
Cette application sera intégrée en finalité dans un ERP qui englobe un ensemble de module. MindWare espère par le biais de cet ERP de couvrir l’ensemble ou du moins une grande partie des processus de gestion d’une entreprise. Les modules en cours de développement sont :
• Gestion de parc informatique (MRMC).
• Gestion de messagerie électronique.
• Gestion comptable.
• Gestion commerciale.
• Gestion électronique de document.
• Gestion de courrier.
• Gestion de clientèle.
Dans ce chapitre j’essaierai d’expliquer, indépendamment des technologies utilisées, les fonctionnalités que MindWare envisage intégrer dans MRMC. Pour cette version initiale, ces fonctionnalités sont divisées en trois grandes parties.
Gestion d’assistance
La gestion des incidents dans toute entreprise est un composant primordial dans la stratégie des équipes techniques. En effet, plus la taille du parc informatique est grande plus sa gestion est complexe et plus la satisfaction des demandes d’assistance devient difficile. MRMC être capable de générer des demandes assistance automatique basées sur les alertes et erreurs détectées et remontées dans la phase supervision, ainsi que la création des demandes d’assistance par les utilisateurs des machines et destinées à l’équipe technique.
La satisfaction des demande d’assistance pourra être réalisée soit par conférence audio, soit par chat, soit par prise de contrôle à distance ou dans le cas échéant en se déplacement vers le lieu d’incident MindWare envisage dans un premier niveau intégrer une gestion de ticket de demande d’assistance destiné aux techniciens et dont le suivi est automatisé par l’application.
Tableau de bord
Dans une application de gestion de parc informatique dont le nombre d’équipement est assez grand, le suivi des machines, une par une, est très complexe et nécessite des efforts de synthèse pour dresser une vue générale de l’état du réseau, d’où la nécessité d’un tableau de bord.
MRMC devra être capable de dresser un tableau de bord synthétisant l’état global du parc informatique et devra aussi avoir la capacité de filtrer les statistique en fonction d’une machine spécifique du réseau voir une durée ou une date précise.
Modélisation du MRMC
Choix d’UML
Comme le projet sera basé sur l’architecture J2EE, UML a été choisi comme langage de modélisation, car la notation UML est la plus appropriée pour des projets orienté objets. Ce choix peut être justifié également par plusieurs raisons :
• La notation UML facilite la compréhension et la communication d’une modélisation objet.
• UML est aujourd’hui un standard, adopté par les grands constructeurs de logiciel du marché.
Trois acteurs majeurs (GradyBooch, Ivar Jacobson et Jim Rumbaugh) se sont regroupés au sein de la société Rational pour définir le langage unifié UML (UnifiedModeling Language) La notation UML a été conçue pour servir le langage de modélisation objet, indépendamment de la méthode de mise en œuvre. MindWare utilise le logiciel Entreprise Architect pour la création des diagrammes UML. Ce logiciel lui confère une souplesse et un certain niveau de professionnalisme dans cette étape du projet.
Acteur serveur
Cet acteur représente le moteur d’application du système qui supervise la globalité du parc informatique. L’acteur serveur sera en charge des tâches suivantes: identifier les machines du parc, sauvegarder les informations de ces dernières ainsi que la détection des erreurs et des alertes du parc.
Identification des machines (identify machine)
En fonction d’un intervalle paramétrable par l’acteur administrateur, le serveur doit identifier chaque machine supervisée et doit vérifie sont état connecté ou non. Si la machine est connectée, le serveur pourra vérifier plusieurs paramètres comme par exemple la version de l’agent installé.
Sauvegarde dans la base de données (store machine info into DB)
Après que le client installe l’agent, il pourra envoyer ses données techniques au serveur pour que ces informations soient sauvegardées dans la base de données. Ces données constituent l’état de la machine dans un instant donné.
Avant chaque enregistrement de l’état d’une machine, une vérification de son existence préalable est réalisée. Si la machine a envoyé son état pour la première fois un nouveau enregistrement de machine est crée.
Détection des alertes et des erreurs (detect warning and error)
Selon un intervalle défini par l’acteur administrateur, le serveur doit détecter les alertes ainsi que les erreurs existantes dans les différentes machines du réseau. Ces alertes et erreurs sont configurées par l’administrateur et sont en relation avec l’état des composants constituant les machines surveillées.
Ces alertes et erreurs peuvent être détectées aussi lors de l’envoi de l’état des machines supervisées.
Diagrammes de séquences
Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs et le système selon un ordre chronologique dans la formulation « Unified Modeling Language », on y met l’accent sur la chronologie des envois de messages.
La dimension verticale du diagramme représente le temps, permettant de visualiser l’enchaînement des actions dans le temps, et de spécifier la naissance et la mort d’objets. Les périodes d’activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par le biais de messages.
Client
Scénario1
Dans ce scénario le client est sensé télécharger l’application cliente pour faire partie du réseau (pour que ce dernier soit surveillé par le serveur), une fois le téléchargement effectué, le serveur identifiera cette machine et vérifie son adresse MAC et IP, a` ce moment l`a l’extraction des données en local est activée.
|
Table des matières
Contexte général du projet
Chapitre 1
Etude de marché et fonctionnelle
1.1 Etude concurrentielle de marché
1.1.1 Solutions opensource
1.1.2 Solutions commerciales
1.1.3 Critique des solutions
1.1.4 Solution proposée
1.2 Description de MindWare
1.2.1 Domaines d’intervention
a) Edition des logiciels
b) ingénierie réseau et système
1.3 Méthodologies du travail
1.3.1 Analyse générale
1.1.1 Analyse détaillée
1.1.2 Formation sur les technologies
1.1.3 Conception du projet
1.1.4 Développement et tests
1.4 Conclusion
Chapitre 2
Analyse fonctionnelle détaillée du projet MindWare Remote, Monitoring and control (MRMC)
2.1 Première partie : Supervision de parc informatique
2.1.1 Gestion de l’inventaire
2.1.2 Gestion des alertes et erreurs
2.2 Deuxième partie : Gestion d’assistance
2.3 Troisième partie : Tableau de bord
2.4 Conclusion
Chapitre 3
Modélisation du MRMC
3.1 Choix d’UML
3.2 Les cas d’utilisation (Use case)
3.2.1 Acteur client
a) Envoi de l’état de la machine
b) Téléchargement de l’agent client
c) Mise à jour de l’agent client
3.2.2 Acteur serveur
a) identification des machines (identify machine)
b) Sauvegarde dans la base de données (store machine info into DB)
c) Détection des alertes et des erreurs (detect warning and error)
3.2.3 Acteur Administrateur
a) Authentification (log in)
b) Liste des machines (list machines)
c) Etat de la machine cliente (client state)
d) Afficher l’état de la machine cliente (get machine detail info)
e) Extraire les informations de la machine (Extract information)
f) Définir intervalle (Set timer)
g) Télécharger l’agent vers le client (upload new jar) _
h) Liste des alertes et erreurs des machines (list machine warning error)
3.3 Diagrammes de séquences
3.3.1 Client
Scénario1
Scénario2
3.3.2 Serveur
3.3.3 Administrateur
3.4 Diagramme des classes
3.4.1 package « machine»
3.4.2 Package surveillance
3.4.3 Package assistance « helpDesk»
3.5 Conclusion
Chapitre 4
Etude technique du projet
4.1 Outils, langages et technologies utilisés
4.1.1 Plateforme de développement : JEE
4.1.2 Editeur de développement : Eclipse
4.1.3 Le serveur d’application Tomcat
4.1.4 Le langage JAVA
4.1.5 La technologie Java ServerPages (JSP)
4.1.6 Les Servlet
4.1.7 Le Framework Struts2
4.1.8 JPMapper
4.1.9 La bibliothèque SIGAR
4.1.10 Le langage XML
4.1.11 Dom4j
4.1.12 Le langage XPATH
Exemple
4.1.13 Le langage JavaScript
La technologieAJAX
La bibliothèque Jquery
La librairie jqPlot
4.1.14 Bibliothèque bureau à distance (jrDesktop)
4.1.15 Méthodologie ducodage: TechniqueMVC
4.1.16 SVN
4.2 Utilisation des technologies dans MRMC
4.2.1 Le dépôt SVN
4.2.2 Arborescence du projet Agent/JEE/ MVC
4.2.3 Agent MRMC
4.2.4 Console d’administration web
4.3 Développement de la solution MRMC
4.3.1 Développement de l’agent MRMC
4.4 Conclusion
Chapitre 5
Présentation de MRMC
5.1 Présentation de l’agent
5.1.1 Installation
5.1.2 Demande d’assistance
5.2 Présentation de la Console d’administration
5.2.1 Authentification
5.2.2 Supervision du parc
5.2.3 Paramétrage des alertes et erreurs
5.2.4 Gestion de l’assistance aux utilisateurs
5.2.5 Tableau de bord
5.3 Critique et perspective de la solution
5.3.1 Fonctionnalités de l’agent
5.3.2 Fonctionnalités de la console d’administration
5.4 Conclusion
Chapitre 6
Conclusion générale
Références
Annexes
Struts2
Installation et Configuration
Le fichier xml Struts.xml
Les actions
JPMapper
Installation et Configuration
Remarque
Dom4j
Installation et Configuration
MySQL
Enterprise Architect
Pencil
Télécharger le rapport complet