Remise à niveau d un programme JAVA du domaine public



Documents pareils
Environnements de développement (intégrés)

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

TP1. Outils Java Eléments de correction

Guide d installation de MySQL

Installation et prise en main

wxwidgets dans un environnement Microsoft Windows

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

Mode d emploi pour lire des livres numériques

NAVIGATION SUR INTERNET EXPLORER

Programmeur Java 1.4 et 5.0

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

Dragon Naturally Speaking 13

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

TP1 : Initiation à Java et Eclipse

Clé USB Wi-Fi D-Link DWA-140

Leçon N 5 PICASA Généralités

et de suivi de la corpulence des enfants

Tutoriel Création d une source Cydia et compilation des packages sous Linux

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Eclipse atelier Java

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Les logiciels indispensables à installer sur votre ordinateur

Parallels Transporter Lisez-moi

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

TP1 - Prise en main de l environnement Unix.

INSTALLATION CONFIGURATION D OWNCLOUD. La réponse informatique

0.1 Mail & News : Thunderbird

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

Manuel de System Monitor

Module : Informatique Générale 1. Les commandes MS-DOS

Consignes générales :

Guide de configuration. Logiciel de courriel

Le langage C. Séance n 4

Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux. Certains sont gratuits.

TD/TP 1 Introduction au SDK d Android

Introduction au logiciel de gestion bibliographique Zotero

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

RECUPEREZ DES FICHIERS SUPPRIMES AVEC RECUVA

Retrouver de vieux programmes et jouer sur VirtualBox

Chapitre I Notions de base et outils de travail

Réaliser des achats en ligne

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Permis de conduire info

1. Présentation du TP

Logiciel interne (firmware) du DiMAGE X1 Ver.1.10

Office 365/WIFI/Courrier. Guide pour les étudiants

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Installation des outils OCS et GLPI

Guide d installation de SugarCRM Open Source version 4.5.1

1 Démarrage de Marionnet

MO-Call pour les Ordinateurs. Guide de l utilisateur

FICHIERS ET DOSSIERS

HAYLEM Technologies Inc.

Mes documents Sauvegardés

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Premiers Pas avec OneNote 2013

PLAN. Connexion Mac vers PC. mercredi 15 juillet 2009

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Effectuer un triple boot sur un Mac

A. Structurer le catalogue. v Dans le menu Catalogue, sélectionnez Catégories. 1. Les catégories. Chapitre 6 : Construire le catalogue ...

The Grid 2: Manuel d utilisation

Maintenance régulière de son ordinateur sous Windows

Tutoriels ACDSee 12 > ACDSee 12 pour les utilisateurs existants

Organiser le disque dur Dossiers Fichiers

Piratrax 2012 Danger - Effacer vos traces

Emporter Windows XP sur une clé USB

Introduction au développement SharePoint. Version 1.0

Tutoriel Drupal version 7 :

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Éléments de programmation et introduction à Java

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

CONDITIONS D UTILISATION VERSION NOMADE

Warren PAULUS. Android SDK et Android x86

Partage de fichiers entre MacOS X et Windows. Partager des fichiers, avec un PC, en travaillant sous MacOSX.

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

Livret 1 Poste de travail de l utilisateur :

Date : juin 2009 AIDE SUR LES CERTIFICATS. Comment sauvegarder et installer son certificat

Tutoriel BlueJ. Michael Kölling Mærsk Institute University of Southern Denmark. Version 1.4 fr-2 par le groupe Sigma 1 pour BlueJ Version 1.2.

L accès à distance du serveur

Ceci est un Chromebook, ton ordinateur!

Manuel d installation de Business Objects Web Intelligence Rich Client.

EXCEL TUTORIEL 2012/2013

1 Introduction et installation

Fiery E100 Color Server. Impression

Prise en main d une Cyberclasse

Accès aux ressources informatiques de l ENSEEIHT à distance

Vous avez reçu une pièce jointe VOTRE SITE.RAR, qu en faire?

Installation d OpenVPN

Créer un rapport pour Reporting Services

Il est courant de souhaiter conserver à

Transcription:

Jean-Baptiste VIGUIER 12 septembre 2002 DCEM 2 jb.viguier@free.fr Remise à niveau d un programme JAVA du domaine public Dossier réalisé pour le laboratoire d oncogénétique Docteur P.GORRY MCU-PH institut bergonié Dossier effectué sous MacOS X v10.1.5. Transposable sur les autres plates-formes.

Notions préliminaires sur Java2 Java2 (1.4 aujourd hui) et un langage orienté objet : c est à dire qu il manipule de façon symbolique en associant un objet à une action. Ce langage et à la fois interprété (comme le basic) et compilé (comme l objective C et le C++); cela signifie qu il faut le transformer en langage machine (compilation) et également une machine virtuelle (JVM) pour faire fonctionner le code. Le principal défaut de cette architecture est qu un machine virtuelle doit fonctionner pour que Java marche : ce n est donc pas un langage pour des programmes de calculs intensifs (on préférera le C++ et objective C). En revanche, il est trans-platforme. Une JVM sera développée pour chaque type de machine et ces programmes fonctionneront sur toutes les machines qui ont une JVM. Celle ci est gratuite et disponible sur le site : http://java.sun.com, (sauf pour Apple). Les fichiers java sont tapés dans un éditeur de texte ou Project Builder d Apple (d autre sont disponibles chez Sun ou Borland par exemple). Pour compiler, intervenir sur des projets ou exécuter certains fichiers, vous avez besoin du SDK :software developpement toolkit (fournit avec Project Builder). Les fichiers écris sont nommés par un.java. Pour les compiler on utilise la fonction javac suivie du nom de fichier.java. On obtient un fichier.class. Pour l exécuter, on tape dans une ligne de commande : java nom du fichier-compilé sans son extension (.class ) Pour être exécuté, ce fichier doit contenir une main classe. Attention, Java ne doit pas être confondu avec Visual Java de Microsoft qui n est pas transplateforme. Spécificités de chaque plate-forme Mac OS X De part sa conception, Java y est naturellement intergré. De ce fait, vous n avez pas de JVM à aller chercher sur internet. En revanche, de part le jeune âge de ce système d exploitation, de nombreux bogues subsistent et une surveillance des mises à jour s impose (La version 10.2 devrait apporter son lot de nouvautés et d optimisation). Le SDK est fournit avec le Project Builder d Apple mais peut être téléchargé gratuitement à l adresse :

http://www.apple.com/fr/support (18 Mo). Il s agit de la plate-forme la plus agréable et aboutie pour développer en Java. De plus son terminal ouvre la voie des logiciels GNU concus pour fonctionner dans cet environnement. Vous avez les capacités d unix tout en ayant une interface graphique des plus agréables. Mac OS 8.x et 9.x Ces systèmes ont la même base, et d un point de vue Java, accusent le poid des ans. Pour futiliser correctement Java, vous devez télécharger le SDK : http://developer.apple.com/java/download.html (6,5 Mo). Il s agit dans ce cas de nombreuses applications qui pourront permettre l exécution et la compilation des données. Il est à noter qu on ne trouve pas de ligne de commande. Elle est remplacée par de petites applications indépendantes. Microsoft Windows Les systèmes Windows sont d honnorables plate-formes de developpement Java. Ceci grâce à leur fenêtre MS-DOS que l on pourra utiliser comme un pseudo terminal. En effet, la syntaxe y est différente et les posibiltés bien moindres. Microsoft et Sun sont des sociétés en perpetuel procés, il ne faut donc pas perdre de vue que le Windows fraîchement installé n a quasiment aucune possibilité en Java. Il faudra donc vous rendre sur le site http://java.sun.com afin de rapatrier une JVM et un SDK. Beaucoup de sites internet réclamant Java, une Mise à jour vous sera surement proposée pendant la navigation. Sur le site de Sun, lors de l installation du SDK, choisissez installation automatique, sinon il faudra passer par la ligne de commande. Linux C est un environnement de choix pour le developpement. Les JVM et SDK sont disponibles chez Sun. Le terminal est des plus pratiques. Le seul problème est qu il s agit de plate-forme demandant une certaine habitude et un apprentissage plus long pour les non experts. Unix A l heure actuelle, le seul Unix possédant une JVM et un SDK est MacOS X (dérivé de FreeBSD).

Préparatifs Après avoir rapatrié le dossier à étudier, en faire d office 3 copies pour les trois installations que nous pouvons tenter : simple nettoyage recompilation makeinstall Nous allons prendre l exemple du fichier Artemis. Commencer par tout décompresser avec Stuffit Expander (http://www.aladdin.com) quelque soit le format. Puis il faudra vérifier que les noms ne soient pas tronqués. En effet, ces programmes circulent de machine Unix à Linux puis Windows, sans compter les divers MacOS puis X. Chacun de ces système gère les noms à sa façon. Pour cela, utilisez la présentation en liste : elle est plus pratique. Vous devez ouvrir tous les fichiers, pour avoir sous les yeux tous les dossiers et fichiers. A ce moment, vous devez choisir la stratégie à adopter. soit vous avez des fichiers.class, auquel cas une compilation a déjà été effectuée. Vous pouvez décider de lui faire confiance (c est un pari à faire), ou vous préférez recompiler pour votre machine et donc bénéficier d une compilation de meilleure qualité car plus récente. Donc 2 cas: soit il n y a pas de fichiers.class, et vous serez obligés de recompiler. sans recompilation avec compilation (nous verrons qu il y a deux cas ici aussi) Partie 1 : Sans recompilation Étape 1 : nettoyage

Il faut que les noms des fichiers.class soient complets. Sur Artemis, voilà ce que vous pouvez trouver : Comme vous pouvez le remarquer, les deux fichiers soulignés ont un nom incomplet :.cl au lieu de.class et.ja au lieu de.java. Comme on part du principe que la compilation est bonne, on délaisse les.java. Vous devez donc compléter le nom du fichier pour obtenir.class. Dans Artemis, il y a de nombreux fichiers qui ont le nom tronqué. Astuce : pour les repérer rapidement, remarquez que les fichiers.class et.java ont une icône propre et les noms tronqués une icône blanche. Attention cependant, d autres types de fichier ont une icône blanche : si vous ne distinguez pas.c ou. à la fin du mot, abstenez

vous, et recompilez. Étape 2 : localisation du fichier main C est l étape fastidieuse. Utilisez Sherlock ou son équivalent (programme de recherche). Il se peut que sa localisation soit indiquée dans un fichier du type Lisez-moi!. Faites glisser le dossier Artemis dans la zone de recherche, et cocher la case oui pour effectuer la recherche dans ce volume. Nous allons maintenant personnaliser la recherche : il faut trouver la fonction main. Celle ci étant suivie d une parenthèse, on fait une recherche par contenu de main(. Les résultats sont nombreux et pas toujours cohérents : des fichiers GIF peuvent apparaitre!

Vous devez trouver celui qui contient la fonction en question. Cela doit être un fichier.java. Éliminez les documents autres et ouvrez les fichiers à essayer (avec Project Builder ou BBedit) et cherchez la fonction main. Utilisez la logique pour choisir les premiers à essayer. Le nom doit être explicite et vous aider. Dès que vous l avez trouvé, vous pouvez tenter de faire fonctionner le logiciel. Étape 3 : Fonctionnement. Utilisez le terminal ou XDarwin. Mettez vous dans le dossier contenant la fonction ayant le dossier main : donc ici

artemis. (avec la fonction cd ) Vous avez localisé le main dans Diana.java. Nous allons donc lancer ce fichier sous sa forme compilée : Diana.class Tapez : java Diana Attention aux majuscules et n écrivez pas Diana.class! Partie 2 : Recompilation manuelle Dans le cas ou vous voulez optimiser ou si le programme ne fonctionne pas et vous ne notez pas de fichier make ou Makefile. Reprenez l étape 1. La différence est que cette fois vous renommez les fichiers.java mais pas les.class. Étape 2 Nous allons nous débarrasser des fichiers déjà compilés. Prenez Sherlock, et tapez.class et nom de fichier.

Grâce a cette recherche vous localisez tous les fichiers compilés. Sélectionnez le premier en maintenant la touche SHIFT enfoncée puis déroulez pour cliquer sur le dernier. Tous les fichiers sont sélectionnés. Il faut tous les envoyer à la corbeille (fonction du menu fichier). Il se peut qu à cause des doublons l opération ne s effectue pas pour tous. Vous devrez un par un les faire glisser dans la corbeille. Re-éffectuez une recherche pour être sur qu aucun.class ne reste. Étape 3 : Compilation C est l étape critique et redoutée. La moindre erreur bloquera la compilation. Dans le terminal ou XDarwin, placez vous dans le fichier contenant tous les dossiers.java : donc ici, artemis. Prenez soin de faire une copie du dossier. Tapez : javac *.java Cela signifie : compilation java des fichiers contenant.java dans leur nom. Lorsque la compilation sera achevée et qu aucne erreur ne soit signalée, vous recompilerez depuis la copie en tapant : javac -O *.java Il s agit d une optimisation améliorant l exécution du programme mais au prix d une compilation un peu plus lente. Trois conseils : la compilation pouvant être longue (plusieurs minutes) fermez tous les autres programmes mais mettez dans un coin CPU Monitor pour vous prouvez que la machine mouline, car pendant ce temps, rien ne se passe. si vous possédez une machine rapide, utilisez le mode verbose qui indique ce que le compilateur fait: javac -verbose *.java il semble étonnant que la compilation fonctionne du premier coup. Donc gardez espoir. avec la jonction javac vous écrirez le nom du fichier.java, mais avec la fonction d exécution java vous n écrirez pas.class. NB : il existe un autre compilateur nommé Jikes, crée par IBM et fourni dans le SDK. Il présente l avantage d être plus rapide mais son code est moins optimisé, et le fichier compilé

s exécute moins rapidement qu avec Javac. Pour l essayer, tapez : jikes. Les options de javac sont accessibles par la commande man javac. Résolution des erreurs de compilation Le compilateur ne se lance même pas Possédez vous le SDK? Sous MacOS X, il est disponible par la mise à jour logicielle ou sur le site d Apple. Pour les autres machines (Windows et Linux), il est sur le site : http://java.sun.com. Choisissez la dernière version. Ne confondez pas SDK (software developpement toolkit qui peut compiler et exécuter) à la Java Virtual Machine (qui ne peut qu exécuter). Retapez correctement la ligne de code. Erreur : javac : no match Vous n êtes pas placés sur le dossier contenant les fichiers java. Erreurs pendant la compilation. Le nombre d erreur est indiqué. Elle sont (ésoteriquement) expliquées et séparée par un ^. Notez la localisation du fichier.

Allez dans artemis > uk > sanger >pathogens >embl >CorbaEntry Vérifiez qu il y est bien.java à ce fichier (problème le plus fréquent). Sinon, ouvrez le et tentez de trouver l erreur. Message Note: Some input files use or override a deprecated API. Certaines API génèrent des warning. La commande javac -deprecation *.java en donne les détails. Ceci a peu d importance dans la mesure ou ces logiciels sont théoriquement testés et donc doivent fonctionner correctement. Après un moment, rien ne se passe puis une ligne de commande classique apparaît. C est la compilation qui a réussie. Étape 4 : fonction Voir étape 2 et 3 de la partie 1. Partie 3 : compilation automatique Faites la même chose que pour la seconde partie. La seule différence et que vous n utiliserez pas la fonction javac mais make. Pour que make fonctionne, vous devez avoir un fichier Makefile dans votre programme. Il s agit d un fichier contenant les instructions que le terminal va exécuter. Vous pouvez l ouvrir avec un éditeur de texte. Certains fichiers peuvent s exécuter avec du code pour un type particulier de machine. Si vous notez l existence d un fichier configure, alors vous devez préparer le programme à fonctionner sur votre machine. Pour cela, placer vous dans ce dossier et tapez:./configure

Comme javac, quittez les autres programmes et lancez CPU monitor du menu Utilities. Positionnez vous dans le fichier contenant Makefile et tapez dans le terminal ou XDarwin : make Des lignes vont apparaitre : lors d une erreur, localisez le fichier et vérifiez si le nom est complet. Sinon, allez au numéro de ligne indiqué et...cherchez l erreur. Dans artemis, cette fonction signalait une erreur dans un fichier qu il a fallu corriger un peu à l aveugle. Cela est peut être dû à l ancienneté des API utilisées ou peut être à la syntaxe de make qui n est pas 100% compatible avec la version du compilateur.

La ligne 897 était défaillante. Il suffisait d éffacer le final de la ligne final String qualifier_value;. Transformation en application indépendante (paquet) Elle se fera par Project builder. Les applications étant disparates, il n y a pas de méthode classique ; cela se fera en fonction des possibilités. par Jean-Baptiste VIGUIER jb.viguier@free.fr 12 septembre 2002 photos faites sous MacOS X 10.1.5 Apple Java SDK 1.3.1 AppleWorks 6.2.4 Ambrosia Software Snapz Pro vx Apple Project Builder 1.1.1