Attention : Le contenu de ces pages n'a pas été mis à jour depuis longtemps. Il est probablement obsolète pour Firefox 4.0/Gecko 4.0 et supérieur. Pour du contenu plus récent, allez consulter developer.mozilla.org.

Pour le web

Comme on peut le découvrir dans Mozilla Firefox, XUL et toutes les technologies disponibles dans XPFE sont déstinées à créer des applications locales. On peut installer ces applications d'un simple clic, si leur paquet XPI est disponible via une page web.

Mais on peut aussi réaliser des applications distantes, des applications web, sans rien à avoir à installer sur le poste utilisateur.

Remplacer HTML dans les applications de gestion

Si vous avez l'habitude de faire des applications web traditionnelles, vous savez qu'on utilise pour cela du HTML, CSS et javascript pour les pages web, et un langage quelconque (PHP, ASP, JSP) coté serveur pour les traitements.

Remplacez HTML par du XUL, et vous voilà avec des applications web beaucoup plus conviviales et ergonomiques que ce que peut offrir HTML avec ses balises de formulaires trés simplistes.

Utiliser les services web et Ajax

Vous pouvez en javascript interroger des services web SOAP, XML-RPC ou autre grâce à l'objet xmlHttpRequest. Grâce à cela, mettez à jour une partie de votre interface (une liste déroulante etc...) sans avoir à recharger la page en entier. C'est ce qu'on appelle aujourd'hui faire de l'Ajax.

Lier son application à des sources de données RDF

Certains composants graphiques (tel un tableau, une liste, un arbre..) contiennent des données. Plutôt que de les modifier à la main avec une technique comme Ajax, utilisez les templates XUL associées à une source de données en RDF. Une source de données RDF étant simplement un fichier au format RDF, distant ou local. Gecko génèrera alors automatiquement les balises XUL indiquées dans le template, à partir des données issue du fichier RDF.

Imaginez alors que ces sources de données en RDF stockées sur votre serveur web, ne soient pas que de simples fichiers XML statiques, mais des fichiers XML générés dynamiquement par du PHP ( voir ApplisWeb/GenererUnFichierXul ou ApplisWeb/ExemplePhpRdf ) ou autre langage de script : vous voilà avec une application web riche, légère, dynamique, tout en évitant la complexité des techniques comme Ajax.

Quand utiliser et quand ne pas utiliser XUL

Une chose importante : XUL n'est pas fait pour remplacer partout HTML. Chacun des 2 langages permet de faire 2 choses distinctes :

  • HTML est fait pour afficher de l'information et de naviguer dans cette information (grâce aux liens hypertextes)
  • XUL est fait pour réaliser des interfaces utilisateurs, pour réaliser une tâche précise.

Bref, il convient de distinguer site web (informations) et applications web (gérer quelque chose, réaliser une ou plusieurs tâches ou traitements).

Il faut utiliser la technologie la plus appropriée à ce que l'on veut faire.

Bien que depuis longtemps, on fasse des applications web avec HTML, il arrive bien souvent que HTML nous limite trop et nous empêche de réaliser facilement une interface utilisateur pourtant trivial dans d'autres langages. Exemple : un arbre d'exploration, comme on a dans l'explorateur windows, pour afficher la liste des répertoires et sous répertoires (un tree view). En HTML, c'est particulièrement compliqué, lourd avec des dizaines de lignes de code en javascript, souvent incompatibles entre navigateurs. En XUL, quelques balises suffisent.

N'oubliez pas non plus l'interopérabilité : pour un site internet, qui donc par nature sera visité par une multitude de personne possédant chacune un navigateur différent, on n'utilisera pas XUL.

Par contre, on pourra utiliser XUL sans problème dans les cas suivant :

  • dans une application intranet, où il est envisageable d'équiper tout les postes de travail avec le même navigateur (en l'occurence Firefox)
  • sur les applications internet dont l'accés est limité à quelques personnes (extranet, backend d'un site...) auxquelles on peut imposer l'usage de Firefox.

Pour en savoir plus sur l'utilisation de XUL dans les applications web, lisez le chapitre ApplisWeb.


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.