TUTORIEL OUTILS 
Mise en place d'une application XUL Runner
Environnement multiplate-forme de développement et future fondation de Firefox 3.0, XUL Runner autorise les développeurs d'extensions ou de programmes XUL à exécuter leurs créations indépendamment du navigateur. Installation et configuration d'un projet. (21/03/2006)
Présentation
XUL Runner est l'un des nombreux projets qui gravitent autour de Mozilla. Il répond de manière définitive à la question de la portabilité des applications XUL. Au lieu de se reposer sur Firefox pour afficher leurs programmes XUL, les développeurs peuvent faire appel à XUL Runner, un environnement d'exécution pour application XUL+XPCOM. A terme, XUL Runner devrait pouvoir être le socle de lancement des autres applications Mozilla.

Cet environnement ajoute à XPCOM (la méthode de liaison entre XUL et le système d'exploitation) des capacités d'installation/désinstallation et de mise à jour. Par ailleurs, au travers d'un composant nommé libxul, il offre la possibilité d'embarquer le moteur Gecko au sein d'applications tierces. Ce projet, très prometteur dès son lancement, est arrivé à un stade stable à partir de sa version 1.8.0.1, sortie en février 2006 et tirée du code source de Firefox 1.5.0.1.

Les versions 1.8.0.x de XUL Runner n'implémentent cependant pas encore toutes les fonctionnalités attendues, comme l'installation ou la mise à jour. XUL Runner devrait être complet lors de sa version 1.8.1, prévue en même temps que Firefox 2 (à l'heure actuelle en phase Alpha), tandis que XUL Runner 1.9 est attendu en soutient de Firefox 3, début 2007.

En l'état, XUL Runner est un programme à lancer en ligne de commande, qui crée une instance Gecko et y exécute le code qui lui est fournit - qui peut être du XUL ou n'importe quel langage reconnu par Mozilla, par exemple HTML ou SVG. Cette instance de Gecko est totalement indépendante de toute autre instance déjà en place, par exemple une fenêtre Firefox déjà ouverte.

Ainsi, la seule manière pour l'heure d'utiliser la portabilité de XUL Runner est de l'implanter directement dans le code de l'application - comme l'a fait SongBird, par exemple. L'application devra alors être mise en place en suivant une hiérarchie de fichiers précise - à la manière d'une extension Firefox, par exemple (lire notre article du 19/09/05).

En pratique
Cette hiérarchie place XUL Runner au cœur de l'application créée. Une fois décompressée, l'archive de l'application doit présenter, sous Windows, les répertoires suivantes :

Dossier principal de l'application/
  components/
  chrome/
  xulrunner/
  nomDeLApplication.exe
  [autres fichiers de l'application]


Les version Mac OS X et Linux présentent une hiérarchie différente : XUL Runner a beau être stable, il n'est pas encore possible d'en tirer des applications totalement multiplates-formes en un seul jet, il faudra fournir une archive ou un installateur pour chaque plate-forme, même si l'application reste la même.

Les répertoires components/ et chrome/ font partie de l'application XUL même. Par contre, le répertoire xulrunner contient la copie exacte du contenu de l'archive de XUL Runner. Ceci fait, il vous faudra l'enregistrer auprès du système, avec la ligne de commande suivante (pour Windows et Linux) :

xulrunner --register-global (ou --register-user pour limiter l'usage au seul compte courant)

Mac OS X dispose d'un installateur interne qui vous guidera tout du long du processus.

Les applications XUL sont le plus souvent packagées avec l'extension .xulapp, ou .xpi. Il faut installer chaque application à l'aide de la ligne suivante, pour pouvoir ensuite la lancer avec XUL Runner :

xulrunner --install-app "C:\mesApps\monApplication.xulapp"

L'application sera alors placée dans le dossier des applications (sur Windows, Program Files), sous la hiérarchive Editeur/NomDeLApplication, ces deux entrées étant telles que définies dans le fichier application.ini de l'application.

Lors des prochaines versions de XUL Runner, tout le processus d'installation sera pris en charge par un outil adéquat. Pour l'heure, il faut tout faire à la main.

Le fichier application.ini est donc primordial à la bonne prise en charge de l'application par le système. Ce fichier, à placer à la racine du répertoire de l'application, prend typiquement la forme suivante :

[App]
Vendor=société
Name=nomDeLApplication
Version=0.1
BuildID=20060321

[Gecko]
MinVersion=1.8
MaxVersion=1.8


Touts les champs sont triviaux. La première section permet à XUL Runner d'installer le programme dans les bons répertoires, tandis que la seconde précise les versions du moteur Gecko pour lesquelles l'application pourra fonctionner.

  Forum

Réagissez dans les forums de JDN Développeurs

Avant de pouvoir lancer votre application, il faudra ajouter un fichier prefs.js dans le répertoire default/preferences/. Ce fichier préciser les réglages de démarrage pour Gecko ou l'application. En l'occurrence, il est possible de préciser la page XUL de démarrage, en mettant dans ce fichier la ligne suivante :

pref("toolkit.defaultChromeURI", "chrome:// nomDeLApplication /content/accueil.xul");

La liaison entre chrome et votre application devra se faire dans le manifest de l'application, le fichier chrome/chrome.manifest, comme suit :

content nomDeLApplication file: nomDeLApplication/

Enfin, vous pouvez lancer votre application :

xulrunner application.ini
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages