Depuis pas mal de temps je me pose une question et je n'ai encore
jamais trouv=E9 la r=E9ponse:
Pourquoi n'existe-t-il pas une "Python Virtual Machine" pour les
navigateurs web
=E0 l'image de Java...
J'adore d=E9velopp=E9 en python, et pouvoir ouvrir un applet python
visible dans firefox (ou IE...) serait magnifique!
biensur il existe Jython mais il est lent et plus lourd que cpython et
je ne comprends pas pourquoi personne n'a eu l'id=E9e ni l'envi de
cr=E9er une telle extension
Il existe une possibilité, en utilisant l'active-scripting d'Internet-Explorer. Il faut (il suffit ?) de l'activer dans Windows.
Yaka chercher "axscript" dans win32comext.
Mais il faut que Python et PyWin32 soit installés sur le poste client.
Cette solution est un peu la même (quoiqu'inversée) que le "ScriptControl", qui permet de jouer des scripts en javascript, ou en VBscript, depuis un script Python (avec appel de fonctions et passage de paramètres).
@-salutations
Michel Claveau
Bonjour !
Il existe une possibilité, en utilisant l'active-scripting
d'Internet-Explorer. Il faut (il suffit ?) de l'activer dans Windows.
Yaka chercher "axscript" dans win32comext.
Mais il faut que Python et PyWin32 soit installés sur le poste client.
Cette solution est un peu la même (quoiqu'inversée) que le "ScriptControl",
qui permet de jouer des scripts en javascript, ou en VBscript, depuis un
script Python (avec appel de fonctions et passage de paramètres).
Il existe une possibilité, en utilisant l'active-scripting d'Internet-Explorer. Il faut (il suffit ?) de l'activer dans Windows.
Yaka chercher "axscript" dans win32comext.
Mais il faut que Python et PyWin32 soit installés sur le poste client.
Cette solution est un peu la même (quoiqu'inversée) que le "ScriptControl", qui permet de jouer des scripts en javascript, ou en VBscript, depuis un script Python (avec appel de fonctions et passage de paramètres).
@-salutations
Michel Claveau
Yermat
Sébastien Ramage wrote:
[...] je ne comprends pas pourquoi personne n'a eu l'idée ni l'envi de créer une telle extension
Cela a eu existé mais n'a pas eu de suite à ma connaissance...
De toute façon, quel est l'intérêt si cela se cantonne à un seul browser ?
-- Yermat
Amaury
Bonjour à tous,
Depuis pas mal de temps je me pose une question et je n'ai encore jamais trouvé la réponse: Pourquoi n'existe-t-il pas une "Python Virtual Machine" pour les navigateurs web à l'image de Java...
Une raison est que la machine virtuelle Python ne propose aucun mécanisme de sécurité. Quand j'exécute une applet, je suis au moins sûr qu'elle ne peut pas modifier mon disque dur, lire la base de registres et faire d'autres virusseries. Il y a bien eu un projet "restricted execution" (rexec je crois), mais qui ne fonctionne pas, en partie parce qu'il est possible de le contourner en utilisant l'introspection du langage Python.
Bref, même s'il y a un plug-in pour faire du javascript en python (c'est donc du pythonscript ;-) ), gare à ne pas l'activer sur n'importe quel site...
Amaury.
Bonjour à tous,
Depuis pas mal de temps je me pose une question et je n'ai encore
jamais trouvé la réponse:
Pourquoi n'existe-t-il pas une "Python Virtual Machine" pour les
navigateurs web
à l'image de Java...
Une raison est que la machine virtuelle Python ne propose aucun
mécanisme de sécurité.
Quand j'exécute une applet, je suis au moins sûr qu'elle ne peut pas
modifier mon disque dur, lire la base de registres et faire d'autres
virusseries.
Il y a bien eu un projet "restricted execution" (rexec je crois), mais
qui ne fonctionne pas, en partie parce qu'il est possible de le
contourner en utilisant l'introspection du langage Python.
Bref, même s'il y a un plug-in pour faire du javascript en python (c'est
donc du pythonscript ;-) ), gare à ne pas l'activer sur n'importe quel
site...
Depuis pas mal de temps je me pose une question et je n'ai encore jamais trouvé la réponse: Pourquoi n'existe-t-il pas une "Python Virtual Machine" pour les navigateurs web à l'image de Java...
Une raison est que la machine virtuelle Python ne propose aucun mécanisme de sécurité. Quand j'exécute une applet, je suis au moins sûr qu'elle ne peut pas modifier mon disque dur, lire la base de registres et faire d'autres virusseries. Il y a bien eu un projet "restricted execution" (rexec je crois), mais qui ne fonctionne pas, en partie parce qu'il est possible de le contourner en utilisant l'introspection du langage Python.
Bref, même s'il y a un plug-in pour faire du javascript en python (c'est donc du pythonscript ;-) ), gare à ne pas l'activer sur n'importe quel site...
Amaury.
Do Re Mi chel La Si Do
Bonsoir !
Effectivement, au niveau sécurité, c'est une méga-porte qui s'ouvrirait... Bien que, en théorie, l'active-scripting ait ses propres mécanismes de sécurité, c'est facile de les contourner.
Quand aux modules de "bac à sable", bastion et autres rexec, je n'ai jamais regardé ; mais je retient l'information sur les limites. Merci.
@-salutations
Michel Claveau
Bonsoir !
Effectivement, au niveau sécurité, c'est une méga-porte qui s'ouvrirait...
Bien que, en théorie, l'active-scripting ait ses propres mécanismes de
sécurité, c'est facile de les contourner.
Quand aux modules de "bac à sable", bastion et autres rexec, je n'ai jamais
regardé ; mais je retient l'information sur les limites. Merci.
Effectivement, au niveau sécurité, c'est une méga-porte qui s'ouvrirait... Bien que, en théorie, l'active-scripting ait ses propres mécanismes de sécurité, c'est facile de les contourner.
Quand aux modules de "bac à sable", bastion et autres rexec, je n'ai jamais regardé ; mais je retient l'information sur les limites. Merci.
@-salutations
Michel Claveau
Sébastien Ramage
ok... c'est surtout une question de sécurité si je comprends bien... mais il est possible d'écrire sur le disque avec java du moment que l'applet est signé. peut-être qu'un jour mon rêve sera réalité
merci à vous, je suis quand même déçu je vais être obligé d'apprendre le java...
ok... c'est surtout une question de sécurité si je comprends bien...
mais il est possible d'écrire sur le disque avec java du moment que
l'applet est signé.
peut-être qu'un jour mon rêve sera réalité
merci à vous,
je suis quand même déçu je vais être obligé d'apprendre le java...
ok... c'est surtout une question de sécurité si je comprends bien... mais il est possible d'écrire sur le disque avec java du moment que l'applet est signé. peut-être qu'un jour mon rêve sera réalité
merci à vous, je suis quand même déçu je vais être obligé d'apprendre le java...
Bruno Desthuilliers
Bonjour !
Il existe une possibilité, en utilisant l'active-scripting d'Internet-Explorer. Il faut (il suffit ?) de l'activer dans Windows.
Ouais, super... Très portable... Et puis point de vue sécurité, c'est 'achement au point !-)
Bonjour !
Il existe une possibilité, en utilisant l'active-scripting
d'Internet-Explorer. Il faut (il suffit ?) de l'activer dans Windows.
Ouais, super... Très portable... Et puis point de vue sécurité, c'est
'achement au point !-)
Il existe une possibilité, en utilisant l'active-scripting d'Internet-Explorer. Il faut (il suffit ?) de l'activer dans Windows.
Ouais, super... Très portable... Et puis point de vue sécurité, c'est 'achement au point !-)
Do Re Mi chel La Si Do
Bonsoir !
L'étendue de la portabilité est inversement proportionnelle à l'étendue des fonctionnalités. AMHA, c'est à chacun de choisir son point d'équilibre.
Conclusion : je ne critique pas les solutions pour Mac, BSD, ou QNX parce qu'elles ne sont pas portables sous Windows. Alors, pourquoi critiquer l'inverse ? Si ça convient, on regarde, sinon, on laisse.
@-salutations
Michel Claveau
Bonsoir !
L'étendue de la portabilité est inversement proportionnelle à l'étendue des
fonctionnalités.
AMHA, c'est à chacun de choisir son point d'équilibre.
Conclusion : je ne critique pas les solutions pour Mac, BSD, ou QNX parce
qu'elles ne sont pas portables sous Windows. Alors, pourquoi critiquer
l'inverse ? Si ça convient, on regarde, sinon, on laisse.
L'étendue de la portabilité est inversement proportionnelle à l'étendue des fonctionnalités. AMHA, c'est à chacun de choisir son point d'équilibre.
Conclusion : je ne critique pas les solutions pour Mac, BSD, ou QNX parce qu'elles ne sont pas portables sous Windows. Alors, pourquoi critiquer l'inverse ? Si ça convient, on regarde, sinon, on laisse.
@-salutations
Michel Claveau
Laurent Pointal
Sébastien Ramage wrote:
ok... c'est surtout une question de sécurité si je comprends bien... mais il est possible d'écrire sur le disque avec java du moment que l'applet est signé. peut-être qu'un jour mon rêve sera réalité
merci à vous, je suis quand même déçu je vais être obligé d'apprendre le java...
Tu l'as déjà cité, Jython...
La sécurité légendaire de Java, la facilité de développement mondialement reconnue de Python.
Pour de l'interface graphique, ça devrais le faire (pour du calcul intensif ça risque d'être plus dur).
Quelqu'un a déjà fait des applet Java qui tournent avec Jython du côté client (pb de config & Co ?).
Sébastien Ramage wrote:
ok... c'est surtout une question de sécurité si je comprends bien...
mais il est possible d'écrire sur le disque avec java du moment que
l'applet est signé.
peut-être qu'un jour mon rêve sera réalité
merci à vous,
je suis quand même déçu je vais être obligé d'apprendre le java...
Tu l'as déjà cité, Jython...
La sécurité légendaire de Java, la facilité de développement
mondialement reconnue de Python.
Pour de l'interface graphique, ça devrais le faire (pour du calcul
intensif ça risque d'être plus dur).
Quelqu'un a déjà fait des applet Java qui tournent avec Jython du côté
client (pb de config & Co ?).
ok... c'est surtout une question de sécurité si je comprends bien... mais il est possible d'écrire sur le disque avec java du moment que l'applet est signé. peut-être qu'un jour mon rêve sera réalité
merci à vous, je suis quand même déçu je vais être obligé d'apprendre le java...
Tu l'as déjà cité, Jython...
La sécurité légendaire de Java, la facilité de développement mondialement reconnue de Python.
Pour de l'interface graphique, ça devrais le faire (pour du calcul intensif ça risque d'être plus dur).
Quelqu'un a déjà fait des applet Java qui tournent avec Jython du côté client (pb de config & Co ?).
bruno modulix
Do Re Mi chel La Si Do wrote:
Bonsoir !
Bonjour...
L'étendue de la portabilité est inversement proportionnelle à l'étendue des fonctionnalités. AMHA, c'est à chacun de choisir son point d'équilibre.
En l'occurrence, la question de l'OP portait sur un équivalent Python aux applets Java.
Un des intérêt des applets Java est leur portabilité - relative, certes, mais de loin supérieure à une solution IE-only.
Un autre intérêt des applets Java est leur sécurité - relative là aussi, mais également bien supérieure à celle des technos ActiveX, dont on a vu à quel point elles faisaient le bonheur des petits malins de tous poils.
Enfin, un des objectifs des applications web est de s'affranchir autant que possible de la plateforme client.
Je suis tout à fait d'accord avec toi sur le fait qu'il convient de choisir son point d'équilibre entre fonctionnalité et portabilité, mais AMHA, une solution spécifique à *un* navigateur tournant sur *une seule* plateforme, ça restreint quand même pas mal l'intérêt du développement web. Dans ce cas, autant faire du client lourd !-)
Conclusion : je ne critique pas les solutions pour Mac, BSD, ou QNX parce qu'elles ne sont pas portables sous Windows. Alors, pourquoi critiquer l'inverse ?
Ma critique ne portait pas sur l'existence ou l'utilisation de solutions spécifiques à une plateforme en tant que telles, mais sur la préconisation d'une solution - spécifique à une plateforme (et plus, à un navigateur précis) - connue pour ses failles de sécurité dans un cadre où on recherche avant tout à s'affranchir de la plateforme client et où la sécurité est généralement un réel problème.
Pour le reste, loin de critiquer, je suis au contraire très content de ce que notre langage préféré s'intègre aussi bien à des plateformes très différentes. Je n'ai pas encore eu besoin personnellement des extensions Win32 (ou Carbon, ou autres...) de Python, mais ça me rassure de savoir qu'elles existent...
Cordialement, -- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Do Re Mi chel La Si Do wrote:
Bonsoir !
Bonjour...
L'étendue de la portabilité est inversement proportionnelle à l'étendue des
fonctionnalités.
AMHA, c'est à chacun de choisir son point d'équilibre.
En l'occurrence, la question de l'OP portait sur un équivalent Python
aux applets Java.
Un des intérêt des applets Java est leur portabilité - relative, certes,
mais de loin supérieure à une solution IE-only.
Un autre intérêt des applets Java est leur sécurité - relative là aussi,
mais également bien supérieure à celle des technos ActiveX, dont on a vu
à quel point elles faisaient le bonheur des petits malins de tous poils.
Enfin, un des objectifs des applications web est de s'affranchir autant
que possible de la plateforme client.
Je suis tout à fait d'accord avec toi sur le fait qu'il convient de
choisir son point d'équilibre entre fonctionnalité et portabilité, mais
AMHA, une solution spécifique à *un* navigateur tournant sur *une seule*
plateforme, ça restreint quand même pas mal l'intérêt du développement
web. Dans ce cas, autant faire du client lourd !-)
Conclusion : je ne critique pas les solutions pour Mac, BSD, ou QNX parce
qu'elles ne sont pas portables sous Windows. Alors, pourquoi critiquer
l'inverse ?
Ma critique ne portait pas sur l'existence ou l'utilisation de solutions
spécifiques à une plateforme en tant que telles, mais sur la
préconisation d'une solution
- spécifique à une plateforme (et plus, à un navigateur précis)
- connue pour ses failles de sécurité
dans un cadre où on recherche avant tout à s'affranchir de la plateforme
client et où la sécurité est généralement un réel problème.
Pour le reste, loin de critiquer, je suis au contraire très content de
ce que notre langage préféré s'intègre aussi bien à des plateformes très
différentes. Je n'ai pas encore eu besoin personnellement des
extensions Win32 (ou Carbon, ou autres...) de Python, mais ça me rassure
de savoir qu'elles existent...
Cordialement,
--
bruno desthuilliers
ruby -e "print 'onurb@xiludom.gro'.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
L'étendue de la portabilité est inversement proportionnelle à l'étendue des fonctionnalités. AMHA, c'est à chacun de choisir son point d'équilibre.
En l'occurrence, la question de l'OP portait sur un équivalent Python aux applets Java.
Un des intérêt des applets Java est leur portabilité - relative, certes, mais de loin supérieure à une solution IE-only.
Un autre intérêt des applets Java est leur sécurité - relative là aussi, mais également bien supérieure à celle des technos ActiveX, dont on a vu à quel point elles faisaient le bonheur des petits malins de tous poils.
Enfin, un des objectifs des applications web est de s'affranchir autant que possible de la plateforme client.
Je suis tout à fait d'accord avec toi sur le fait qu'il convient de choisir son point d'équilibre entre fonctionnalité et portabilité, mais AMHA, une solution spécifique à *un* navigateur tournant sur *une seule* plateforme, ça restreint quand même pas mal l'intérêt du développement web. Dans ce cas, autant faire du client lourd !-)
Conclusion : je ne critique pas les solutions pour Mac, BSD, ou QNX parce qu'elles ne sont pas portables sous Windows. Alors, pourquoi critiquer l'inverse ?
Ma critique ne portait pas sur l'existence ou l'utilisation de solutions spécifiques à une plateforme en tant que telles, mais sur la préconisation d'une solution - spécifique à une plateforme (et plus, à un navigateur précis) - connue pour ses failles de sécurité dans un cadre où on recherche avant tout à s'affranchir de la plateforme client et où la sécurité est généralement un réel problème.
Pour le reste, loin de critiquer, je suis au contraire très content de ce que notre langage préféré s'intègre aussi bien à des plateformes très différentes. Je n'ai pas encore eu besoin personnellement des extensions Win32 (ou Carbon, ou autres...) de Python, mais ça me rassure de savoir qu'elles existent...
Cordialement, -- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Do Re Mi chel La Si Do
Bonsoir !
Juste pour te rassurer un peu plus, les problèmes de sécurité de windows, et notamment des Active-X (en fait de la technologie COM), c'est de l'histoire ancienne.
Et je suis convaincu que les systèmes ou applis qui occupent actuellement les premières places dans les statistiques des alertes de sécurité (Apache, PHP, Linux) vont aussi évoluer, et revenir au même niveau que Windows.
On appréciera alors encore plus la variété des librairies disponibles sous Python.
@-salutations
Michel Claveau
Bonsoir !
Juste pour te rassurer un peu plus, les problèmes de sécurité de windows, et
notamment des Active-X (en fait de la technologie COM), c'est de l'histoire
ancienne.
Et je suis convaincu que les systèmes ou applis qui occupent actuellement
les premières places dans les statistiques des alertes de sécurité (Apache,
PHP, Linux) vont aussi évoluer, et revenir au même niveau que Windows.
On appréciera alors encore plus la variété des librairies disponibles sous
Python.
Juste pour te rassurer un peu plus, les problèmes de sécurité de windows, et notamment des Active-X (en fait de la technologie COM), c'est de l'histoire ancienne.
Et je suis convaincu que les systèmes ou applis qui occupent actuellement les premières places dans les statistiques des alertes de sécurité (Apache, PHP, Linux) vont aussi évoluer, et revenir au même niveau que Windows.
On appréciera alors encore plus la variété des librairies disponibles sous Python.