OVH Cloud OVH Cloud

Python Virtual Machine for browser...

33 réponses
Avatar
Sébastien Ramage
Bonjour =E0 tous,

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

Qu'en pensez-vous?

Seb

10 réponses

1 2 3 4
Avatar
Guillaume Bouchard
bruno modulix wrote:
"Au hasard" ?
Mon oeil !-)


Si si parfaitemant :)

<mode="perl">
Bin quoi, c'est clair et lisible, pourtant... Non ?-)
</mode>


Perl c'est pas la langage où on fait tout en une ligne ?

Tout à fait, mais certains encouragent plus ou moins ce genre de
pratiques. Concernant l'exemple ci-dessus, c'est une traduction depuis
Ruby. Le but du jeu était d'une part de faire tenir le tout dans un
one-liner, et d'autre part de faire un peu de provo... La version
originale Ruby (cf ci-dessous) est quelque peu plus lisible, mais bon.


Oui, j'ai d'ailleur hesité quelques minutes entre le Python et le Ruby
quand j'ai vu ce qui était faisable en une ligne (j'aime les one-liner,
mais juste pour le fun)

Il est évident que jamais je n'utiliserais ce genre de construction dans
du code en production, et le fait est que je n'ai jamais vu ce genre de
cochonnerie dans du code Python en prod.


Oki.

C'est un des avantages enormes du Python, et je t'avoue que je me refuse
à jeter un oeil a ses possibilitées en matière de web au risque d'en
tomber amoureux et de laisser le Php de coté



Ce ne serait pas un peu affectif, ça ?-)


Totalement.

--
Guillaume.


Avatar
Gilles Lenfant
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).


Intéressant pour des intranets (on contrôle le parc installé), mais y
a-t-il moyen de n'accepter le code python que depuis un liste maîtrisée
de hosts (comme les popup dans Firefox par exemple) ? Sinon gare à
l'énorme trou de sécu...

--
Gilles

Avatar
Gilles Lenfant
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...

J'adore développé 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ée ni l'envi de
créer une telle extension

Qu'en pensez-vous?

Seb



C'est un projet à l'étude chez Mozilla. Il sera possible d'ajouter
Python et Perl au classique Ecmascript. Le point à résoudre est la
sécurité, mais ça devrait pas être très très compliqué vu que chez Zope,
ils savent placer un Python restreint côté serveur.

--
Gilles

Avatar
F. Petitjean

Intéressant pour des intranets (on contrôle le parc installé), mais y
a-t-il moyen de n'accepter le code python que depuis un liste maîtrisée
de hosts (comme les popup dans Firefox par exemple) ? Sinon gare à
l'énorme trou de sécu...


Mon enfant, que vient faire la « sécu » là-dedans ? :-)

Vous n'êtes pas sans savoir que sous Windows il y a une diversité des
droits (d'accès, de contrôle ...) et une granularité tellement fine que
même le spécialiste le plus chevronné ne peut saisir les subtiles
différences entre « contrôle total » d'un répertoire (racine) et droit
d'administration sur la partition. J'attends toujours la thèse de
doctorat qui m'explique en Français les tenants et les aboutissants du
pauvre développeur en entreprise qui veut tout simplement ne pas
partager certains dossiers personnels (ainsi que les répertoires système
pour être sûr qu'il n'y aura pas de problèmes de copyright (1)) mais
veut donner accès à des sources Python par exemple.

--
Gilles


Note:
(1) Je me pose la question de la légalité des systèmes de sauvegarde
automatisé qui se permettent sans discrimination des répertoires entiers
ne comprenant que des informations sous copyright (du genre c:windows
ou c:winntsystem32 si vous voyez où je veux en venir)

PS:
Le but réel de ce message est d'avoir l'IP que mon FAI m'a attribué.

Avatar
Do Re Mi chel La Si Do
Salutations


Pour avoir l'IP "externe" d'une machine/d'un réseau :

import urllib, string

url='http://www.showmyip.com/xml'
page = urllib.urlopen(url).read()
i = string.find(page, '<ip>')+4
j = string.find(page, '</ip>', i)
ip = page[i:j]
print ip


Bonne journée.

Michel Claveau
Avatar
Do Re Mi chel La Si Do
Bonjour !


Via le parefeu intégré à Windows, on peut classer les sites, via leurs
URL/UNC ; et, donc, maîtriser l'accès.
Je ne connais pas Linux, mais j'ai ouïe dire qu'IPtables permettrait la même
chose.

Sinon, il y a une autre mécanique utile, dans Windows, c'est le blocage des
éléments extérieurs au domaine d'exécution. En clair, une page ne peut
utiliser que des éléments provenant du répertoire d'origine, et des
sous-répertoires, mais bloque tout ce qui viendrait d'une autre URL. La
syndication en prend alors un coup, mais, particulièrement pour un Intranet,
cela peut être utile.


@-salutations

Michel Claveau
Avatar
Alexis ROBERT
Plus facile :
ip = urllib.urlopen("http://alexissoft.free.fr/").read()

Le script PHP à l'autre bout c'est ça :
<?
echo $REMOTE_ADDR;
?>

:)

Do Re Mi chel La Si Do wrote:

Salutations


Pour avoir l'IP "externe" d'une machine/d'un réseau :

import urllib, string

url='http://www.showmyip.com/xml'
page = urllib.urlopen(url).read()
i = string.find(page, '<ip>')+4
j = string.find(page, '</ip>', i)
ip = page[i:j]
print ip


Bonne journée.

Michel Claveau


Avatar
Guillaume Bouchard
Alexis ROBERT wrote:
<?
echo $REMOTE_ADDR;
?>


<?php
echo $_SERVER['REMOTE_ADDR'];
?>

Merci de ne pas enseigner de mauvaises méthodes, deux erreurs :

1) l'utilisation des short open tags, qui sont quelque chose de non portable
2) l'utilisation de la variable $REMOTE_ADDR qui n'existe qu'en fonction
d'une option bien particulière et désactivée par defaut maitenant.

--
Guillaume.

Avatar
Sébastien Ramage
on s'écarte du sujet là non?
ça serait sympa de poster ailleurs
enfin c'est mon avis...
Avatar
Guillaume Bouchard
Sébastien Ramage wrote:
on s'écarte du sujet là non?


Du thread originel, oui, vu que l'on à rebondi sur un trais d'humour de
quelqu'un.

Maitenant la technique 'Comment récuperé son ip via Python' me semble
avoir sa place ici.

Le fait que la solution utilise 3 lignes de code php (qui auraient il
est vrai pu être codés en python) n'empeche pas de dire que le code PHP
est de mauvaise qualité ? Non ?

Lorsque quelqu'un écrit du HTML degeulasse dans son code source python,
on ne se gene pas pour lui dire, je ne vois pas où est la difference ?

ça serait sympa de poster ailleurs


Où ?

enfin c'est mon avis...


Avis discutable, discutons le ?

--
Guillaume.

1 2 3 4