OVH Cloud OVH Cloud

Interface graphique universelle

13 réponses
Avatar
NicolasP
Bonjour,

Je me demande s'il serait possible d'utiliser IE ou FireFox (ou autre) comme interface graphique réellement universelle d'une application (écrite en python bien sûr). Evidemment, il faut intégrer un serveur WEB dans l'appli. Mais est-ce raisonnable de croire que l'on puisse faire ça avec peu de code et sans rendre l'écriture de l'application trop compliquée ? Peut-être quelqu'un a t-il déjà tenté la chose ?

Nicolas

10 réponses

1 2
Avatar
Rakotomandimby (R12y)
On Mon, 28 Aug 2006 16:14:44 +0200, NicolasP wrote:

Bonjour,


Bonjour,

Je me demande s'il serait possible d'utiliser IE ou FireFox (ou autre)
comme interface graphique réellement universelle d'une application


Quelle type d'application?
J'ai un mec (d'ici je crois) qui m'a montré deux liens de quelquechose
fait un XUL et qui visuellement était convaincant.
Essaie celui-ci:

http://www.georgenava.com/applauncher.php
("My Apps" puis clique sur les applis pour voir...)

Ou alors:
http://www.faser.net/mab/chrome/content/mab.xul

Derriere, on peut mettre un truc comme Zope, mais ça dépend vraiment de
ce que tu veux comme type d'application.

Avatar
Bruno Desthuilliers
NicolasP wrote:
Bonjour,

Je me demande s'il serait possible d'utiliser IE ou FireFox (ou autre)
comme interface graphique réellement universelle d'une application
(écrite en python bien sûr). Evidemment, il faut intégrer un serveur WEB
dans l'appli. Mais est-ce raisonnable de croire que l'on puisse faire ça
avec peu de code et sans rendre l'écriture de l'application trop
compliquée ? Peut-être quelqu'un a t-il déjà tenté la chose ?


Ca s'appelle une appli web, et c'est de plus en plus courant. L'avantage
est qu'il n'y a a priori rien à déployer sur les postes clients. Les
inconvénients sont que:
1/ il faut un serveur web
2/ le couple HTTP/HTML n'a pas vraiment été conçu pour ça à l'origine,
et ça se ressent.

Pour ce qui est des solutions Python, tu peux regarder du côté de
Django, Turbogears, Pylons etc.

Nicolas



--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"

Avatar
Méta-MCI
Bonjour !

Oui, c'est possible. Et même amusant.

De plus, le serveur web n'est pas obligatoire. Sous linux, je ne suis pas
sûr, mais avec windows et IE, il est possible de passer par plusieurs voies,
faisant l'économie d'un serveur web.

Attention, ce ne sera portable qu'entre différentes versions de windows.

Parmi les voies possibles (hors serveur web), j'en citerai trois :
- utiliser les .HTA (HTml Application)
- piloter IE depuis Python
- Appeler, depuis des pages HTML, un serveur COM en Python.

Avec cette dernière voie, j'ai mis au point des interfaces riches,
multi-fenêtrées, avec de nombreux liens COM "forts". Par lien COM fort,
j'entends, par exemple une instance d'une classe qui pointe sur un champ
(<input>) dans une page HTML. La propriété ".value" pointe directement sur
le innerHtml, en lecture comme en écriture. Ainsi, un programme Python peut
lire/écrire le contenu d'un champ, indépendamment de l'action de
l'utilisateur (saisie).

De même, dans les pages HTML, quelques fonctions javascript détournent
quelques évènements (onClick, focus, etc.), vers des fonctions Python.

Toutefois, j'ai quelques problèmes, en fonctionnement multithreadé.

Pour info, l'écran le plus chargé contient plus de 700 liens COM, sans
ralentissement notable.


Mais, pour mettre tout ça au point, ça n'a pas été de la tarte. Et,
installer l'ensemble chez des clients nécessite d'avoir un accès assez
complet.


@-salutations

Michel Claveau
Avatar
Rakotomandimby (R12y)
On Mon, 28 Aug 2006 17:17:47 +0200, Rakotomandimby (R12y) wrote:
[...]
Tiens, un truc qui m'a impressionné:
http://www.ajaxlaunch.com/ajaxwrite/internals/ajaxwrite-nojscript.html
Bon maintenant, je pense qu'il ne faut pas abuser de ces trucs là.
Avatar
Jacques Pronchery
Bonjour,

Je me demande s'il serait possible d'utiliser IE ou FireFox (ou autre)
comme interface graphique réellement universelle d'une application
(écrite en python bien sûr). Evidemment, il faut intégrer un serveur WEB
dans l'appli. Mais est-ce raisonnable de croire que l'on puisse faire ça
avec peu de code et sans rendre l'écriture de l'application trop
compliquée ? Peut-être quelqu'un a t-il déjà tenté la chose ?

Nicolas


Bonjour,

Il y a CherryPy qui est parfait pour cela :

http://www.cherrypy.org/

Jacques.

Avatar
MC
Bonsoir !

Ce qui m'a impressionné, c'est que ça ne marche pas avec Opera, et ça
ne marche pas non plus avec Enigma...

--
@-salutations

Michel Claveau
Avatar
Mihamina Rakotomandimby
On Mon, 28 Aug 2006 23:44:36 +0200, MC wrote:

Ce qui m'a impressionné, c'est que ça ne marche pas avec Opera, et ça
ne marche pas non plus avec Enigma...


Oui, mais est-ce la faute aux concepteurs des "applis XUL" sus-citées, ou
des navigateurs qui tardent à (ou ne veulent pas) supporter XUL, ou...?

Avatar
NicolasP
Bonjour,

Je fais une réponse globale.

Ce à quoi je pensais ressemble plus à ce que Michel propose avec COM et IE. Mais en plus universel et plus simple. J'utilise déjà Karrigell comme framework WEB. Ca me convient bien pour du WEB. Mais là, je pensais plus à une appli dont l'interface graphique serait IE, Firefox ou autre. Une sorte de WxPython ou de TKinter qui génèrerait un affichage dans un browser html.
La démarche est différente.
Dans un cas, on lance une appli complètement autonome.
Dans l'autre cas, on lance un serveur WEB qui utilise une appli WEB. Puis on lance un browser qui va se connecter sur le serveur.

Nicolas
Avatar
Eric Masson
NicolasP writes:

'Lut,

Mais là, je pensais plus à une appli dont l'interface graphique serait
IE, Firefox ou autre.


Tu peux regarder du coté de Mozilla Application Framework :
http://developer.mozilla.org/en/docs/Mozilla_Application_Framework_in_Detail

Une sorte de WxPython ou de TKinter qui génèrerait un affichage dans
un browser html.


Ça fonctionnera plutôt dans l'autre sens, code XUL qui appelera la
logique applicative en Python, il faudra donc coder en XUL et en Python.

Vu les facilités de python à manipuler le xml, il devrait être possible
de créer un package qui générerait du code XUL à la volée pour le passer
à un navigateur, mais je n'ai pas trouvé de projet existant qui
corresponde à cette demande.

--
L'énervement ressentie à te lire étant de loin supérieur aux
informations qui pourraient se glisser dans tes contributions, je
t'enkille.
-+- JP in: Guide du Neuneu Usenet - Neuneu se fait mettre à sec -+-

Avatar
Eric Masson
NicolasP writes:

'Lut,

Mais là, je pensais plus à une appli dont l'interface graphique serait
IE, Firefox ou autre.


Tu peux regarder du coté de Mozilla Application Framework :
http://developer.mozilla.org/en/docs/Mozilla_Application_Framework_in_Detail

Une sorte de WxPython ou de TKinter qui génèrerait un affichage dans
un browser html.


Ça fonctionnera plutôt dans l'autre sens, code XUL qui appelera la
logique applicative en Python, il faudra donc coder en XUL et en Python.

Vu les facilités de python à manipuler le xml, il devrait être possible
de créer un package qui générerait du code XUL à la volée pour le passer
à un navigateur, mais je n'ai pas trouvé de projet existant qui
corresponde à cette demande.

[Supersedes]
J'ai causé trop vite, le lien suivant peut donner des idées :
http://developer.mozilla.org/en/docs/My_Chrome_Oven:_Generating_XUL_with_Python

--
L'énervement ressentie à te lire étant de loin supérieur aux
informations qui pourraient se glisser dans tes contributions, je
t'enkille.
-+- JP in: Guide du Neuneu Usenet - Neuneu se fait mettre à sec -+-

1 2