PREMIER MINISTRE Secrétariat général de la défense nationale Paris, le N° /SGDN/DCSSI/SDO/BCS Direction centrale de la sécurité des systèmes d’information Affaire suivie par : Matthieu GRALL Téléphone : 01 71 75 84 33 PROCÉDURE de compilation du logiciel EBIOS Cette procédure a été testée sous Windows 2000 Pro SP 3 et sous Linux Mandrake 9.1. Les étapes suivantes doivent être réalisées successivement. 1. Pré-requis a. Particularités sous Linux Il faut veiller à décompresser les sources sur une partition qui supporte les liens symboliques (exemple : efs). Il faut donner les droits suffisants aux répertoires de travail. Il faut installer le package libstc++2.10-devel-2.96-0.82mdk.i586.rpm. b. Installation de JDK Machines virtuelles JAVA (JDKs) : la machine virtuelle Java est indispensable pour compiler les fichiers sources JAVA. Des versions pour chaque plate-forme sont disponibles dans les sous-répertoires du répertoire "EBIOS - Logiciel v2.2\Misc\ JDKs" de l’arborescence principale. i. Sous Windows o Lancer l’exécutable contenu dans le répertoire "EBIOS - Logiciel v2.2\Misc\JDKs\win32". ii. Sous Linux plate-forme Intel Le JDK se trouve déjà sur le cédérom, sous forme d'une archive autodécompactable : o Monter le CD-ROM en tapant "#> mount /mnt/cdrom". o Copier le fichier "j2sdk-1_4_1_03-linux-i586-rpm.bin" du cédérom vers le répertoire choisi. o Dans la console, taper "./ j2sdk-1_4_1_03-linux-i586-rpm.bin" pour décompresser le fichier sous format "rpm". o Taper "rpm –hiv j2sdk-1_4_1_03-fcs-linux-i586.rpm". o Le package s’installe dans"/usr/java/j2sdk1.4.1_03". iii. Sous Linux sur plate-forme PowerPC Le JDK se trouve déjà sur le cédérom, sous forme d'une archive autodécompactable : 51 boulevard de La Tour-Maubourg - 75700 PARIS 07 SP - Tél 01 71 75 84 15 - Fax 01 71 75 84 00 o o o c. Monter le CD-ROM en tapant "#> mount /mnt/cdrom". Copier le fichier "j2sdk-1.3.0beta-b02-linux-ppc.tar.bz2" du cédérom vers le répertoire choisi, par exemple dans "/opt/jdk1.3/". Décompacter le JDK en tapant "#> ./ j2sdk-1.3.0beta-b02-linuxppc.tar.bz2" (compressé au format TAR bzip2). Définition du CLASSPATH et modification du PATH Lors des procédures de compilation, la machine virtuelle JAVA a besoin de connaître les chemins où sont stockées d'une part l'arborescence des fichiers sources JAVA, et d'autre part les librairies JAR externes. De plus, il faut ajouter dans le PATH le chemin d’accès au compilateur JAVA (JAVAC). Pour cela, vous devez définir la variable d'environnement CLASSPATH et modifier le PATH de la façon suivante : i. Sous Windows o Ouvrir le "Panneau de configuration" et double-cliquer sur l’icône "Système" : 2/8 o Dans l’onglet "Avancé", cliquer sur le bouton "Variables d’environnement" : o Dans la partie "Variables système", Cliquer sur "Nouveau" pour créer une variable CLASSPATH de la manière suivante : [répertoireBin];[répertoireTravail]/Sources/lib; [répertoireTravail]/Sources/lib/jaxp.jar; [répertoireTravail]/Sources/lib/parser.jar où [répertoireBin] correspond au CLASSPATH spécifique à la machine virtuelle JAVA et [répertoireTravail] le répertoire où se situe l'arborescence de développement. 3/8 o Par exemple, si la machine virtuelle JAVA est installée dans le répertoire "C:\j2sdk1.4.1_02\jre\bin" et les sources EBIOS dans le répertoire "D:\Ebios", il faut déclarer la chaîne suivante : C:\j2sdk1.4.1_02\jre\bin;D:\Ebios\Sources\lib\ ;D:\Ebios\Sources \lib\jaxp.jar ; D:\Ebios\Sources\lib\parser.jar Ajouter à la variable PATH le chemin d’accès au compilateur (par exemple "C:\j2sdk1.4.1_02\bin"). ii. Sous Linux plate-forme Intel o Dans le fichier "bashrc" situé dans le répertoire "etc" il faut rajouter les deux lignes suivantes (en adaptant les noms de répertoire) : PATH= "/usr/java/j2sdk1.4.1_03/bin :$PATH" Export CLASSPATH="/usr/java/j2sdk1.4.1_03/bin:/home/utilisat eur/source/lib:/home/utilisateur/source/lib/jaxp.jar:/home/utilisate ur/source/lib/parser.jar" La ligne PATH correspond à l’endroit où a été installé le kit java La deuxième ligne correspond à l’endroit où a été installé le kit java (machine virtuelle) et également à l’endroit ou a été décompressées les sources. iii. Sous Linux sur plate-forme PowerPC o Dans le fichier "bashrc" situé dans le répertoire "etc" il faut rajouter les deux lignes suivantes (en adaptant les noms de répertoire) : PATH= »/usr/java/j2sdk1.4.1_03/bin :$PATH » Export CLASSPATH=“/usr/java/j2sdk1.4.1_03/bin:/home/utilisat eur/source/lib:/home/utilisateur/source/lib/jaxp.jar:/home/utilisate ur/source/lib/parser.jar” La ligne PATH correspond à l’endroit où a été installé le kit java La deuxième ligne correspond à l’endroit où a été installé le kit java (machine virtuelle) et également à l’endroit ou a été décompressé les sources. 4/8 2. Compilation du projet Il existe deux possibilités de compilation : - la compilation générale qui lance la procédure sur tous les fichiers sources JAVA situés dans le sous-répertoire ‘lib’, - la compilation partielle compile uniquement une partie de l’arborescence soit les fichiers présents dans le répertoire courant, soit les fichiers présents dans les sous-répertoires du répertoire courant en incluant ce dernier. a. Lancement de la compilation i. Sous Windows 1 o Lancer CYGWIN1. o Accéder au répertoire où se trouvent les sources par la commande "cd /cygdrive" (par exemple "cd /cygdrive/d/Ebios/source"). o Compilation générale : taper "make all" Cette commande enchaîne un "clean" des fichiers "class" et de "ebios.jar", puis compile le projet et finit par créer "ebios.jar". Vous pouvez effectuer ces trois processus séparément en tapant "make clean", "make compil" ou "make jar". o Compilation partielle Exemple pour compiler les sources du package "scssi.ebios.xml.editors" : $ cd /cygdrive/d/ebios/sources/lib/scssi/ebios/xml/editors $ make Exemple pour compiler les sources des packages "scssi.ebios.synthesis", "scssi.ebios.synthesis.translators" et "scssi.ebios.synthesis.translators.html" : $ cd /cygdrive/d/ebios/sources/lib/scssi/ebios/synthesis $ make all Voir "Procédure d'installation de CYGWIN" 5/8 ii. Sous Linux plate-forme Intel o Accéder au répertoire où se trouvent les sources. o Compilation générale : taper "make all" Cette commande enchaîne un "clean" des fichiers "class" et de "ebios.jar", puis compile le projet et finit par créer "ebios.jar". Vous pouvez effectuer ces trois processus séparément en tapant "make clean", "make compil" ou "make jar". o Compilation partielle Exemple pour compiler les sources du package "scssi.ebios.xml.editors" : #~>cd lib/scssi/ebios/xml/editors #editors>make Exemple pour compiler les sources des packages "scssi.ebios.synthesis", "scssi.ebios.synthesis.translators" et "scssi.ebios.synthesis.translators.html" : #~>cd lib/scssi/ebios/synthesis #synthesis>make all Exemple pour compiler le projet dans son intégralité : #~>cd lib #lib>make all iii. Sous Linux sur plate-forme PowerPC o Accéder au répertoire où se trouvent les sources. o Compilation générale : taper "make all" Cette commande enchaîne un "clean" des fichiers "class" et de "ebios.jar", puis compile le projet et finit par créer "ebios.jar". Vous pouvez effectuer ces trois processus séparément en tapant "make clean", "make compil" ou "make jar". o Compilation partielle Exemple pour compiler les sources du package "scssi.ebios.xml.editors" : #~>cd lib/scssi/ebios/xml/editors #editors>make Exemple pour compiler les sources des packages "scssi.ebios.synthesis", "scssi.ebios.synthesis.translators" et "scssi.ebios.synthesis.translators.html" : #~>cd lib/scssi/ebios/synthesis #synthesis>make all Exemple pour compiler le projet dans son intégralité : #~>cd lib #lib>make all 6/8 3. Debug de l’application Une fois le projet compilé, il est possible de le tester directement sans avoir à créer de livrable en tapant : make debug.[plateforme] où [plateforme] doit être remplacé par la plate-forme sur laquelle est installé le projet : "Win32", "Linux-i386", "linux-ppc" ou "solaris". L’ensemble des informations de debug (tells System.out.println…) est affiché directement au niveau de la sortie standard, permettant ainsi de debugger l’application. L’environnement JAVA utilisé pour lancer le logiciel est celui se trouvant dans le sous-répertoire de "arch" correspondant à la plateforme courante. Les fichiers externes utilisés par l’application se trouvent quant à ceux dans le répertoire "data". 4. Documentation JAVADOC Il est possible de générer la documentation au format HTML (JAVADOC) de l’ensemble des sources du projet. Sous Windows (et CYGWIN), se placer dans le répertoire JAVADOC et taper : $ make javadoc.win32 Sous Linux, se placer dans le répertoire JAVADOC et taper : #make javadoc.unx 7/8 Annexe Arborescence du projet EBIOS Pour réaliser une compilation du projet il faut avoir respecté l’arborescence suivante : - La branche "arch" Chacun des 4 sous-répertoires contient 3 répertoires : - "bin" et "lib" : le JRE (Java Runtime Environment) pour la plate-forme. Cet outil fournit les binaires et librairies nécessaires à l’exécution d’applications JAVA. - "releases" : contient les fichiers sources utilisés pour créer le fichier binaire ou script utilisé pour lancé l’application. Les plate-formes supportées sont les suivantes : - linux-i386 : Linux pour plate-forme Intel x86 - linux-ppc : Linux pour plate-forme PowerPC - solaris : Solaris SPARC/x86 - win32 : Windows 95, 98, NT4, 2000 - La branche "data" : ce répertoire contient l’ensemble des fichiers externes utilisés par le logiciel ; la totalité de ce répertoire est inséré dans les livrables du logiciel. - La branche "images" : ce répertoire contient l’ensemble des images utilisés par le logiciel. - La branche "javadoc" : ce répertoire contient les différents fichiers permettant de générer la documentation au format HTML pour chacune des plate-formes. - La branche "lib" L'ensemble des fichiers sources JAVA est contenu dans ce répertoire. Conformément au développement JAVA, chaque répertoire correspond à un package défini dans le logiciel. Le répertoire "lib" contient de plus la librairie externe JAXP, développée par SUN, et utilisée pour la gestion des fichiers XML. La librairie JAXP consiste en deux fichiers : - jaxp.jar - parser.jar Pour de plus amples informations sur l'API JAXP, veuillez consulter le site http://java.sun.com/xml. - La branche "misc" : ce répertoire contient les fichiers textes donnant des informations technique et légale sur le logiciel. 8/8