Herve AGNOUX wrote:
>Le Mercredi 10 Mai 2006 11:54, Stéphane Bonhomme a écrit :
>
>
>>MMM je pense que tu dis quelques contres-vérités la, permets moi de te
>>rectifier
>>
>>
>>
>
>Aholà.
>
>
>
>
>>>Sous linux il est possible d'écrire des scripts shell directement en java.
>>>
>>>
>>Je ne pense pas non, il faudrait qu'il existe un interpréteur de code
>>source java !
>>Ou alors compiler et produire le bytecode just-in-time (à la python),
>>mais de toutes façon, il n'y a pas de jvm installée de base sur beaucoup
>>de distributions linux.
>>
>>
>>
>
>Effectivement il faut une JVM d'installée. Mais une fois qu'elle est
>installée, tu peux choisir coté interpréteurs.
>
>J'utilise le beanshell (http://www.beanshell.org), et il est très pratique.
>
>
Ah ok, je connaissais pas... très pratique pour qui a l'habitude de java
>Voici, par exemple, un script shell qui se lance en ligne de commande, et qui
>te donne l'IP de ton poste :
>
>==>
>#! /home/herve/java/jdk1.5.0_06/bin/java bsh.Interpreter
>
>import java.net.*;
>
>soc = new Socket("www.google.com", 80);
>System.out.println(soc.getLocalAddress().getHostAddress());
>soc.close();
>
><==
>
>Si ce script s'appelle monip, alors tu le places en fichier exécutable, tu
>écris au prompt "monip", et il t'affiche ton ip. (bon, la mode WEB 2 serait
>de le nommer "myip"...)
>
>
>
Ha la toile2.0 est anti-francophone ? ;)
>Tu vois que c'est un code java un peu détendu par rapport à la norme, mais, si
>tu veux, tu peux être tout à fait strict.
>
>
>
oui, mais c'est un peu verbeux par rapport à un
tail -1 /proc/net/arp | cut -f 1 -d ' '
>
>
>>>C'est tout de même mieux qu'avec bash, enfin, il me semble.
>>>
>>>
>>Chacun ses goûts, quitte à utiliser un langage de script un peu plus
>>évolué que *sh, je me tournarais plutot vers du python ou, au pire du
>>perl (la libxml2 a des wrapper pour tous ces langages de toutes façons...)
>>
>>
>>
>
>Exact. Moi je me tourne souvent vers Rhino, mais malheureusement je n'ai
>encore réussi à trouver le moyen de le placer dans un script shell.
>
>Si je ne fais pas python, c'est juste parce que je me sers de ces scripts
>juste pour des bouts de code, et que le beanshell autorise une syntaxe
>simplifiée par rapport au java.
>
>Sur mon exemple, par exemple, j'aurais pu écrire :
>
>print(soc.localAddress.hostAddress);
>
>... mais, par fainéantise, j'ai pris la syntaxe compliquée. Cela venait d'un
>de mes copié/collé d'une classe java orthodoxe, sans doute.
>
>Avec python, c'est vrai, il est possible d'actionner java par jython, et donc
>de se faire un parseur validant. Jamais essayé, mais théoriquement cela doit
>marcher. Pour quelqu'un qui connait le python, c'est mieux.
>
>
>
...ou d'utiliser le binding python libxml2 qui est quand meme plus
efficace qui de mettre en eouvre l'usine à gaz jython (et puis jython
c'est pour produire du pseudo-code java à partir de code python, pas le
contraire).
>
>
>>>Donc il n'y a pas besoin de xerces, puisque le support de XML schema est
>>>inclus dans jdk5.
>>>
>>>
>>xerces est inclus dans les jdk (relativement récents)...
>>
>>
>>
>>>Bien sûr, il faut connaître le java, et bien sûr, avec xerces, les lignes
>>>de commande sont déjà toutes prêtes... Je ne sais pas ce qui est le mieux
>>>pour vous.
>>>
>>>
>>Xerces ne peut pas être *directement* appelé en ligne de commande, mais
>>il existe un wrapper (assez simple à développer, enfin ça dépend des
>>options...).
>>
>>
>
>Bon, là j'admets : impossible de retrouver la référence de l'interface de
>xerces; j'ai dû confondre avec Xalan, pour la 100.000ème fois.
>
>D'autres contre-vérités ?
>
>
>
>
--
Stéphane Bonhomme -- Exselt Services
Formations, Conseil et Réalisations en Ingénierie Documentaire,
Technologies Web et Logiciels Libres
s.bonhomme@wanadoo.fr - http://www.exselt.com
04 76 17 09 40 / 06 88 57 27 08
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Wed May 10 17:44:10 2006