Aurelien Mazurie:
>     - peux-t'on injecter dans cet interpréteur un script python ? 
> (fichier apporté par l'utilisateur)

Bien sur ;-)

>     - peux-t'on limiter les classes accessibles par ce script ? 
> (j'aimerai que seuls les classes pseudo-API soient accessibles;

Pas a ma connaissance. Mais si tu te crees ton propre classloader, tu 
dois pouvoir filtrer ce que tu veux.

> je peux 
> peut-être intercepter les directives "import" du script et les virer ?

Bof. Peu sur. Fais tu confiance a l'utilisateur ?

 > A moins qu'il faille "obfusquer" les autres classes de mon programme ?)

Meme reponse.

>     - d'un autre côté, il est peux être intéressant de laisser la 
> possibilité à l'utilisateur d'appeller des modules externes à mon 
> programme à partir de son script, est-ce faisable ?

Oui. Soit c'est dans le classpath, soit ton classloader est extensible.
(voir archive de la liste).

>     Je précise tout de suite que je n'ai jamais développé en Python, je 
> n'utilise jusqu'à présent que le Perl (que je ne souhaite pas intégrer 
> comme langage de script, d'ailleurs; trop illisible pour des 
> utilisateurs non-spécialistes).
>     De manière générale, je cherche avant tout quelqu'un qui ait une 
> expérience du scripting sous Java. Si d'ailleurs, quelqu'un a 
> connaissance d'une meilleure solution que Jython (bien que tous les 
> comparatifs que j'ai pu voir soient en sa faveur)...

Pour mes applis, l'utilisateur est libre d'utiliser l'interpreteur qu'il 
veut (interface generique). Mais Jython est un des mieux et des plus 
faciles a integrer.

Il y a beaucoup d'autres interpreteurs interessants (JRuby, Rhino, 
DynamicJava, ...). A mon avis essaye d'eviter de dependre d'un seul
http://www.memoire.com/guillaume-desnoix/alma/modules.html

Je trouve dommage d'en imposer un (comme le fait jEdit avec beanshell) 
mais ca peut se discuter (du point de vue maintenance/relation avec les 
utilisateurs).

Guillaume

Répondre à