Arborescence Capsis sur disque
F. de Coligny - jib 18.1.2006
Les répertoires Capsis sont disposés sous un répertoire racine d'installation, désigné ci-après sous le nom de capsisRoot
(ex : c:/capsis4/
ou /home/coligny/capsis4/
).
Les classes sont réparties dans des paquetages java. Le noyau de l'application est dans le paquetage capsis.kernel
. Les classes utilitaires sont dans capsis.util
. Tous les paquetages de l'application sont situés dans le répertoire capsisRoot/bin/
.
capsisRoot/ bin/ data/ doc/ etc/ ext/ var/ tmp/
Par exemple, le chemin complet de la classe Engine est le suivant :
capsisRoot/bin/capsis/kernel/Engine.class
Note : il n'est pas nécessaire de positionner la variable classpath du système pour lancer Capsis. Le script de démarrage (capsis.bat | capsis.sh) positionne cette variable au moment du lancement. En revanche, la variable classpath doit être positionnée correctement pour développer sous capsis. En effet, le compilateur javac utilise cette variable pour résoudre les noms de classes rencontrés dans les sources (notamment les import). Cette variable se positionne sur capsisRoot/bin/
qui est le répertoire qui contient toutes les classes de Capsis (base des packages).
L'arborescence Capsis est décrite ci dessous.
capsisRoot/bin/
Ce répertoire contient les exécutables (scripts et classes). Chaque script existe en plusieurs versions correspondant à divers systèmes d'exploitation. C'est leur extension qui permet de différencier la plate-forme cible (ex : .bat (Win32), .sh (Linux/ bash)). Les scripts principaux sont makescript (pour construire le script de démarrage de Capsis4) et capsis (le script de démarrage en question).
Les classes java de Capsis4 sont toutes positionnées dans bin/. Soit directement (rare), soit parce que leur package est situé dans bin/. Ainsi, la classe capsis.kernel.Engine.class (classe Engine, package capsis.kernel) se trouve dans un répertoire capsis/kernel/, lui même situé dans bin/. Donc, si l'on fait l'hypothèse que capsis est installé dans /home/coligny/java/capsis4/ (capsisRoot), le chemin d'accès absolu de la classe Engine est le suivant :
/home/coligny/java/capsis4/bin/capsis/kernel/Engine.class
Note : Le source des classes (.java) et le pseudo-code (.class : résultat de la compilation par javac) sont situés dans le même répertoire par convention (ex : Engine.java et Engine.class).
En ce qui concerne les modules, ils sont également disposés dans des packages (dont le nom suit des conventions strictes) qui sont situés dans bin/. On peut trouver un module sous l'une des deux formes suivantes :
- Compacté dans une archive java (fichier .jar). Dans ce cas, l'archive contient toutes les classes et ressources du module (fichiers langue) et porte le nom du module. Ce nom (en minuscules) est déterminé par le modélisateur au moment de la décision de l'intégration du module. Il est utilisé pour déterminer le nom de la classe carte d'identité du module au moment de la détection.
Par exemple, le module mountain peut être compacté dans une archive nommée mountain.jar. La détection de l'archive permettra de construire le nom de la carte d'identité du modèle en s'appuyant sur des conventions : mountain.model.IdCard. Cette classe fournit les informations nécessaires au chargement du module.
- Non compacté. Les packages du module sont disposés directement dans bin/. C'est le cas pendant le développement du module. Dans ce cas, une archive vide (fichier .jar) portant le nom du module doit être disposée dans bin/ pour permettre la détection du module par Capsis4. Pour le cas du module mountain, bin/ contient un fichier mountain.jar vide et une arborescence de répertoires mountain/model, mountain/gui (pour un relai de pilote interactif)…
Le répertoire bin/
peut également contenir d'autres scripts (jib : recompilation de projets), des archives contenant des extensions Capsis4 compactées pour faciliter leur diffusion, des fichiers licence d'utilisation, etc…
capsisRoot/etc/
Ce répertoire contient les fichiers paramètres de Capsis4. Ces fichiers sont la plupart du temps constitués de lignes contenant chacune un paramètre à mot clé (ex : variableName = value).
- capsis.properties contient les paramètres modifiables par l'utilisateur.
- capsis.options est un fichier paramètres géré par le pilote interactif gui. Il enregistre les préférences de l'utilisateur sous forme de variables système et les resitue au démarrage suivant. Il écrase les variables éventuellement spécifiées dans capsis.properties. Pour éviter cela, il est possible de supprimer ce fichier de etc/ Il sera recréé automatiquement en fin de session de travail.
- capsis.extensions est la description des extensions utilisables par capsis. Les extensions ne sont pas détectées automatiquement comme les modules. Le gestionnaire d'extensions lit ce fichier pour déterminer la classe principale de chaque extension, ainsi que son type et d'éventuels paramètres à lui transmettre à l'instanciation.
- capsis.groups est le fichier dans lequel Capsis4 sauvegarde les groupes qui ont été créés pendant la session de travail. C'est un fichier au format binaire, résultat de la sérialisation des groupes en fin de session de travail. Il est rechargé par le gestionnaire de groupes au démarrage.
- extensions.settings enregistre le dernier paramétrage des extensions. C'est par ce moyen que les extensions peuvent garder leur paramétrage d'une session de travail à l'autre.
capsisRoot/var
Ce répertoire contient les fichiers de longueur variable (qui grossissent au cours du temps), soit typiquement les fichiers log.
- capsis.log est le fichier ou Capsis4 décrit les évènements notables qui surviennent au cours de son fonctionnement. On distingue des messages normaux (version du logiciel, témoin de démarrage correct, valeurs des variables système), d'information (précédés de INFO), d'avertissement (WARNING) ou d'erreur (ERROR). En cas de dysfonctionnement de Capsis4, il arrive que l'étude de “la log” permette de comprendre les causes du problème.
capsisRoot/ext
Dans ce répertoire, on peut placer des archives java (.jar) contenant des extensions pour la plate-forme.
On y trouve par exemple le fichier jlfgr-1_0.jar (“java look & feel graphic repository”) qui contient les icônes utilisées par les composants du pilote interactif gui (menus…).
C'est également ici qu'est disposée l'archive jib.jar utilisée par le script jib(.bat / .sh) du répertoire bin/.
capsisRoot/tmp
Contient des fichiers temporaires dont la pérennité n'est pas nécessaire (et par conséquent non garantie). Ce répertoire peut être vidé sans préavis.
capsisRoot/doc
On peut générer la documentation (spécifiations détaillées) de Capsis4 (ou d'un module…) dans ce répertoire à l'aide de jib ou en utilisant directement javadoc. Comme la documentation est générable automatiquement, elle est souvent absente car volumineuse.
capsisRoot/data
On peut disposer dans ce répertoire des fichiers inventaires ou paramètres exemples permettant l'utilisation des modules. Ces fichiers sont disposés dans des sous-répertoires portant le nom du module considéré (ex : capsisRoot/data/mountain/exemple.inv). Autres répertoires
D'autres répertoires annexes peuvent faire partie de l'arborescence Capsis4 :
session/, project/ : pour sauvegarder des session et projets Capsis4 (on peut bien sur les sauvegarder ailleurs).
form/ : contient des supports pour la formation des modélisateurs au développement de modules sous Capsis4.
images/ : contient des images pour le pilote graphique.
Note : Les noms de ces répertoires sont reconnaissables par Capsis4 au moyen de variables système.
Exemple :
System.getProperty ("capsis.root") System.getProperty ("capsis.bin")