WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Stage Erasme: Visualisation de Réseaux


par Cédric TEMPLE
UNIVERSITE DE VALENCIENNES ET DU HAINAUT CAMBRESIS - Master Informatique Première Année 2003
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre 4

Présentation de l'environnement

4.1 Base de données

L'environnement de départ repose sur une base de données existante. En effet, la base de données a été développée avant même l'idée de création de cet outil de visualisation. C'est d'ailleurs à la vue de la difficulté de visualisation des données contenues dans la base que l'idée de développer un outil de visualisation s'est faite sentir. Ensuite, l'extension vers tout l'Internet est venue naturellement. Ainsi, lors par exemple de vérification des fichiers journaux de serveurs, si une alerte apparaît avec l'adresse IP d'une machine ayant essayer de pénétrer de manière non autorisée, on peut visualiser les informations renvoyées par une requête whois . Le serveur est MySQL dans sa version 3.23.x.

4.2 Langage de développement

L'outil devant être le plus accessible, quel que soit le Système d'Exploitation, le responsable de stage a demandé à ce que l'outil soit une applet, donc une application écrite en langage Java et pouvant être utilisée depuis un navigateur Web compatible avec le langage Java. En effet, l'utilisateur final de l'outil sera peut être amené à intervenir sur des sites distants et il devra avoir accès à cette application, les applets sont donc l'outil idéal pour ce genre d'utilisation.

4.3 Système d'exploitation

Le Système d'Exploitation de la station sur laquelle a été écrite le logiciel est laissé libre au choix du stagiaire. Il a été choisi une distribution Linux, environnement utilisé le plus par le stagiaire lors de ses études. Tous les outils sont laissés libres. Ce libre choix est un point très positif, notamment cela permet de s'intégrer très rapidement car l'on s'habitue beaucoup plus rapidement à son environnement de travail.

4.4 Outils de développement

Différents outils de développement ont été utilisés. Pour la modélisation en UML du logiciel, deux outils ont participé, argoUML (voir [arg]) dans sa version 0.12 et Poséidon for UML ([gen]) dans la version Community Edition 1.6.1. Un éditeur de texte pour taper le code source : emacs([ema]). Différents navigateurs Web pour les tests de l'applet : Mozilla ([moz]), Netscape([net]) et Galeon([gal]). Ces navigateurs ont aussi servi à consulter la documentation disponible sur Internet.

4.4.1 argoUML

argoUML est un outil de modélisation UML. C'est un Logiciel Libre, sous licence BSD ([bsd]). Ce logiciel a été pour la première fois utilisé pour les travaux pratiques dans le cadre du cours de Génie Logiciel de M Kolski, travaux pratiques encadrés par M Adam. Lors de ces premières utilisations en TP, de nombreux problèmes sont apparus au niveau graphique comme par exemple les onglets qui grandissaient lorsque l'on ajoutait des paramètres aux fonctions ou qu'on modifiait leur type et un redémarrage de argoUML était nécessaire. Ce problème était peut être dû au langage Java lui même (voir paragraphe sur Poseidon for UML). Cependant lors du stage, après avoir téléchargé sur le site et installé la dernière version du logiciel, ses problèmes ne se sont pas présentés.

Mais d'autres sont apparus. Un onglet permet de documenter chaque méthode, chaque attribut et l'intégrer directement au code source lors de la génération du code. Lors de la sauvegarde et de la restauration du fichier cette documentation avait tendance à disparaître, ce qui est gênant voir frustrant. Lors de la génération de code, si le fichier était déjà présent sur le disque, le logiciel tentait de «corriger» ce fichier en y ajoutant ou supprimant ce qu'il fallait. Cependant, ce fichier n'était alors pas syntaxiquement correct (la compilation ne réussissait pas). Ce problème ne se posait pas lorsque le répertoire de destination était vide. De même de temps à autre, lors d'une tentative de chargement le fichier de sauvegarde se retrouvait corrompu, il fallait alors importer depuis les sources. Ce n'était pas un gros problème lorsque l'on pensait à générer le code source dans un répertoire vide après avoir sauvegardé. Ces problèmes devenant vite difficiles à gérer lors du développement, il a été décidé de se tourner vers un autre outil.

4.4.2 Poséidon for UML

Poséidon for UML est un outil de modélisation UML comme argoUML. Poséidon est en fait basé sur la version 0.9.4 d'argoUML, mais il faut noter que les architectures diffèrent et les modifications apportées sur argoUML ne sont pas directement intégrables dans Poséidon. La version utilisée est la version gratuite, la «Community Edition». Les différences avec argoUML se situent au niveau de la stabilité principalement et des fonctionnalités. Cependant, les fonctionnalités uti-

lisées lors du stage sont aussi disponibles sur argoUML. La grande stabilité de Poséidon lui a donc permis d'être utilisé plutôt que argoUML.

A noter que Poseidon réclame au minimum la version 1.4.1 du JDK, malgré cela, son utilisation avec la version 1.4.2 pose quelques problèmes graphiques de dimensionnement, comme pour argoUML, mais ici c'est directement dans la fenêtre principale, lors de la sélection des classes, la taille du composant diminue et les noms des méthodes ne sont plus lisibles (pour ne pas dire qu'elles deviennent illisibles). Ce problème ne se pose pas avec le JDK 1.4.1. Poséidon connaît quelques problèmes d'import (lecture de code source) notamment sur les gros fichiers où, après avoir modifier le code de plusieurs fichiers, un import a été réalisé mais le logiciel a «perdu» des variables de classes et le code de certaines méthodes (les constructeurs d'objets).

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry