Accueil > Java > Un Rendez-vous avec Java

Un Rendez-vous avec Java

Par Michael Brewer le 31/08/2004

Traduit par Olivier, le 25/09/2004

Durant la WWDC de cette année, Apple a livré la source de Rendezvous pour Java. Vous pouvez maintenant écrire des applications Java qui peuvent faire appel à un service de découverte de Rendezvous sur Mac OS X, Windows et tout système POSIX utilisant le code fournit par Apple. Apple inclut les bibliothèques Java dans Rendezvous pour Windows Technology Preview. Autrement, vous devez récupérer les sources chez Apple pour construire vos bibliothèques Java.

Pour obtenir la source, vous devez vous connecter au serveur CVS Darwin d’Apple. Le how-to d’Apple a été écrit pour TCSH et doit être mis à jour, alors n’y prêtez pas attention. Mais je vais vous guide pas à pas, ne vous inquiétez pas. La première chose à faire est d’accepter la licence d’Apple (Apple Public Source License) quand vous êtes connecté avec votre ID Apple. Après avoir pris connaissance le blabla juridique, lancez Terminal et tapez les commandes suivantes :

export CVS_RSH=ssh
export CVSROOT=:ext:apsl@anoncvs.opensource.apple.com:/cvs/apsl

Ouvrez une nouvelle fenêtre TextEdit (ou un autre éditeur de texte de votre choix) et collez ce qui suit dans le document :

checkout -P

update -P -d

diff -u -d -b -w

rdiff -u

cvs -z3


Sauvegarde de .cvsrc

Si vous utilisez TextEdit, assurez-vous que le document est au format texte brut (par opposition à l’option RTF).
Maintenant, sauvegardez le fichier en ~/.cvsrc comme vous pouvez le voir dans la capture d’écran.
Sélectionnez le bouton Utiliser “.” de la boîte de dialogue.
L’éditeur va peut-être sauvegarder le fichier en utilisant l’extension .txt — ce que vous pouvez vérifier en tapant ls -a dans le Terminal.
Si c’est le cas, mv .cvsrc.txt .cvsrc y remédiera.
Tapez man cvs dans le Terminal pour afficher toutes les informations dont vous avez besoin sur les commandes — je vous laisse faire un peu de recherche pour rester bref.

Le Finder vous protège de vous même -- cette fois, c'est bon
Le Finder vous protège de vous même — cette fois, c’est bon.

Vous êtes maintenant prêt à récupérer le code source.
Tapez cvs co mDNSResponder dans le Terminal. Il est possible que vous obteniez un message indiquant que l’authenticité de “anoncvs.opensource.apple.com” ne peut être établie et vous demandant si vous souhaitez continuer.

Je ne trouve aucune documentation de la part d’Apple indiquant à quoi devrait correspondre l’empreinte de leur clé RSA, alors je dois supposer que je ne suis pas victime d’une attaque d’un imposteur et je réponds yes sur la ligne de commande.
Vous ne verrez ce prompt que lors de la première connexion.
Au prompt pour votre mot de passe, entrez votre identifiant Apple et votre mot de passe séparé par deux points (exemple steve@mac.com:insanelygreat).
Si vous avez tapé le bon mot de passe, votre Terminal affichera une liste de toutes les ressources en cours de téléchargement, qui seront copiées dans ~/mDNSResponder/.

Compilation des bibliothèques Java dans Xcode
Compilation des bibliothèques Java dans Xcode.

De retour dans le Finder, ouvrez le dossier mDNSResponder et le sous-dossier mDNSMacOSX.
Ouvrez le fichier mDNSResponder.pbproj pour lancer Xcode.
Ouvrez la section Targets en cliquant sur le triangle et sélectionnez les targets dns_sd.jar et libjdns_sd.jnilib, puis choisissez Build depuis le menu Build de Xcode.
Ceci commencera la compilation dans un dossier build dans mDNSMacOSX, ouvrira dns_sd.jar dans /Library/Java/Extensions/, et placera libjdns_sd.jnilib dans /usr/lib/java/.

sudo cp dns_sd.jar /Library/Java/Extensions/

sudo cp libjdns_sd.jnilib /usr/lib/java/

Toujours dans le Terminal, allez dans le dossier ~/mDNSResponder/Clients/Java/ et tapez javac SimpleChat.java.
Ceci créera le fichier SimpleChat.class avec TargetListModel.class, TargetListElem.class, SwingQueryListener.class, SwingBrowseListener.class, SimpleChat$1.class, and ListenerThread.class.
Une fois que ces fichiers sont compilés, vous pouvez double-cliquer sur SimpleChat.class pour lancer l’application.

Super, ça fonctionne !
Mais chatter avec soi-même n’est pas ce qu’il y a de plus marrant.
Vous devez exécuter SimpleChat sur une autre machine avant que Rendezvous ne puisse entrer en action.
Si vous n’avez pas un autre ordinateur pour tester le programme, vous pouvez toujours changer de session.
C’est peut-être mieux d’utiliser le changement de contexte, parce que si vous utiliser un autre ordinateur, vous devez vous assurer d’y avoir les fichiers dns_sd.jar et libjdns_sd.jnilib en place.
Assurez vous que les deux utilisateurs disposent de l’application.
J’utilise mon dossier ~/Public.
Connectez-vous sur un autre compte utilisateur et naviguez vers le dossier Public de l’utilisateur et lancez SimpleChat.class.

Il y a eu un problème
Il y a eu un problème ?

Quelle est cette erreur ?
En lisant cet article et en suivant les étapes, on peut oublier quelques détails.
Si vous avez eu la même erreur, vous avez oublié de copier tous les autres fichiers class avec SimpleChat.class.
Maintenant vous devez retourner sur l’autre ordinateur ou revenir au premier utilisateur et copier les autres fichiers.
Quand tous les autres fichiers sont là, SimpleChat fonctionne et vous pouvez chatter avec vous-même.

La première transmission
La première transmission.

Mais il doit y avoir une meilleure façon de distribuer une application n’est-ce pas ? En effet. Apple fournit Jar Bundler.
Jar Bundler prend toutes les resources de votre application Java et les assemble en un paquet Macintosh.
Cela signifie que l’application Java ne pourra s’exécuter que dans l’environnement Macintosh, mais c’est également une bonne façon d’organiser la distribution d’un code Java cross-platforme, dans un style Mac.

Ouvrez Jar Bundler se trouvant dans /Developer/Applications/Java Tools/
Choisissez SimpleChat.class comme la classe Main (principale) de votre paquet.
Cochez les cases “Use Macintosh Menu Bar” / “Utiliser la barre de menu Macintosh” et “Disable .app Package Navigation” / “Désactiver la navigation au niveau du paquet .app”.
J’utilise également l’icône Fire trouvée dans l’ensemble des icônes de chat de Brandon.
Vous pourriez utiliser l’icône par défaut pour les applications Java, mais cela donne à SimpleChat un peu de style.

Création du paquet de l'application Java
Création du paquet de l’application Java.

Cliquez sur l’onglet Classpath et Files, et ajoutez tous les autres fichiers class — malheureusement, vous devez les ajouter un par un.
Il me semble qu’il est plus facile de chercher les fichiers class quand ils sont triés par date de modification en ordre décroissant.

Cliquez sur l’onglet Properties et entrez le numéro de version 1.0, Identificateur à com.apple.SimpleChat, Get-Info String à SimpleChat 1.0, et Bundle Name à SimpleChat.
Vous êtes finalement prêts à distribuer SimpleChat, en supposant que les bibliothèques Java de Rendezvous sont déjà installées sur le Mac de destination.

Conclusion

Félicitations !
Vous venez de créer votre bibliothèque Java de Rendezvous et de créer votre client de chat compatible Rendezvous depuis le code source libre, tout en apprenant comment déployer ce code — ce qui est généralement pour les geeks (les petit génies de l’informatique) — de façon élégante.

Avec ce cadeau d’Apple à la communauté sous la forme de bibliothèques Java, je suis impatient de voir venir des applications portables compatibles Rendezvous. Ce sera passionant de pouvoir se connecter sans aucune configuration à un réseau de tout un ensemble de personnes utilisant d’autres systèmes que le Mac.

Textes originaux en anglais sur O’Reilly : A Rendezvous with Java par Michael Brewer

opoppon Java , , ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire