Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Nouveau protocol et application signée

Envoyé par : papy

Date : 22/08/2006 10:56

Bonjour,

pour mon application j'ai crée un nouveau protocole (myapp://), ceci est fait via un script se trouvant de le répertoire components de mon extension. Je voulais savoir si il était possible d'une manière ou d'une autre d'enregistrer ce protocol autrement qu'en passant par ce répertoire. Plus précisément je souhaiterais pouvoir faire de même mais à partir d'une application remote signée.

# Re: Nouveau protocol et application signée

Envoyé par : Paul Rouget

Date : 23/08/2006 09:39

Non. Ce n'est pas possible. Tu as en effet besoin de coder un composant XPCom pour ajouter un protocole, et ce n'est pas possible de faire ça à travers une application signée.

# Re: Nouveau protocol et application signée

Envoyé par : papy

Date : 23/08/2006 10:30

Ok, tant pis alors :(

En revanche je n'ai pas eu besoin de coder un composant en C++ ou en python, tout est fait en javascript : c'est un protocol très simple, il bind juste l'url vers un serveur web. Exemple :

myapp://test.xul => http://localhost/monapplicationxul/test.xul

Est ce que même dans ce cas la la manipulation reste impossible ?

# Re: Nouveau protocol et application signée

Envoyé par : laurentj

Date : 25/08/2006 16:58

oui.impossible.

Car pourqu'un XPCOM soit utilisable, il faut qu'il soit enregistré dans la registry de Gecko. Or cette registry ne peut se mettre à jour qu'au lancement de Gecko/Firefox.

# Re: Nouveau protocol et application signée

Envoyé par : papy

Date : 27/08/2006 20:25

Bon, il ne me reste plus qu'a trouver une autre solution à mon problème...

On voit partout que XUL est un language permettant de faire des clients légers riche, le seul problème c'est qu'il y a trop de fonctionnalités qui sont désactivées en application remote, sauf si on fait une archive jar signée.

Je n'ai pas pu m'orienter directement vers cette solution car mon application est hautement modulable et cela ne correspond pas du tout à une archive qui est figée...

Pour l'instant j'ai donc une petite extension installée dans le chrome qui me permet de charger les différents plugins depuis un serveur Web. Pour pouvoir m'abstraire de l'adresse du serveur, j'ai déclaré un nouveau protocol qui bind sur l'url du serveur : ca me permet d'utiliser des fichiers xml, js et css natifs (non généré en php)

Ce qui me gêne dans ce projet c'est la petite extension qu'il est nécessaire d'installer, j'utiliserais bien une application signée pour la remplacer, mais je dois pouvoir trouver le même mécanisme pour m'abstraire de l'url du serveur, et la je ne vois plus quoi utiliser si je ne peux pas redéclarer de protocole dynamiquement... Il y a bien les entités XML mais je ne suis pas sur de pouvoir les utiliser dans ce but.

Est-ce que vous avez une idée pour orienter mes recherches car j'aimerais vraiment pouvoir supprimer la contrainte de l'extension.

# Re: Nouveau protocol et application signée

Envoyé par : laurentj

Date : 29/08/2006 11:44

le seul problème c'est qu'il y a trop de fonctionnalités qui sont désactivées en application remote

D'un autre coté, ces limitations sont dans leur grande majorité, normales, pour des raisons de sécurité. On ne peut pas avoir le beurre et l'argent du beurre ;-). D'ailleurs, si tu fais par exemple une applet java, tu auras le même genre de contrainte.

Donc à toi de peser le pour et le contre.

Pour l'histoire de ton appli hautement modulable, tu peux avoir un noyau dans une extension, qui charge des overlays distants (overlays qui seraient donc "dynamique". Cela te permet également d'embarquer dans ton extension des DTD et fichiers properties et donc de localiser toutes ton appli, même les overlays distants.

Il y a bien les entités XML mais je ne suis pas sur de pouvoir les utiliser dans ce but.

À tenter effectivement, mettre l'url du serveur dans une entite, et par exemple :

<iframe src="&url.serveur;/foo/bar" />

à tester.

Sinon, si tu veux vraiment que du remote, faut passer par du php.. (et utiliser au maximum des urls relatives)

# Re: Nouveau protocol et application signée

Envoyé par : papy

Date : 29/08/2006 12:37

D'un autre coté, ces limitations sont dans leur grande majorité, normales, pour des raisons de sécurité. On ne peut pas avoir le beurre et l'argent du beurre ;-). D'ailleurs, si tu fais par exemple une applet java, tu auras le même genre de contrainte.

Donc à toi de peser le pour et le contre.

J'en suis tout à fait conscient, et tant mieux d'ailleurs pour l'utilisateur final de FF, ca lui permet d'éviter les désagréments style IE ou la c'est l'inverse, tout est ouvert au développeur et vive les sites qui attaque les PC ;) Je réagissais juste au fait qu'on peut lire partout que XUL c'est super pour faire du remote, ce qui n'est plus tout à fait vrai à cause de ces restrictions.

Pour l'histoire de ton appli hautement modulable, tu peux avoir un noyau dans une extension, qui charge des overlays distants (overlays qui seraient donc "dynamique". Cela te permet également d'embarquer dans ton extension des DTD et fichiers properties et donc de localiser toutes ton appli, même les overlays distants.

C'est exactement ce que je fais, mais je préfèrerais (et nos clients aussi) pouvoir me passer d'installer une extension, même si la procédure est très simple.

>Il y a bien les entités XML mais je ne suis pas sur de pouvoir les utiliser dans ce but.

À tenter effectivement, mettre l'url du serveur dans une entite, et par exemple :

<iframe src="&url.serveur;/foo/bar" />

Je pense que c'est ce que je vais finir par faire, c'est la solution qui nécessite le moins de modifications. Il reste un dernier problème à ce niveau : comment faire passer l'url du serveur à la petite application signée chargée de loader le reste ? Un fichier temporaire ?

Sinon, si tu veux vraiment que du remote, faut passer par du php.. (et utiliser au maximum des urls relatives)

A ce niveau la je préfère aussi éviter, c'est tellement plus simple de poser des fichiers xul sur le serveur au lieu de les générer. Reste encore le parser qui remplace des constantes par l'url, mais ca n'est pas très propre non plus par rapport à l'envoi du fichier seul.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.