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).
|