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 destinées à créer des applications locales. On peut installer ces applications d'un simple clic, si leur paquet XPI est disponible sur 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 du HTML, CSS et javascript côté client (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 simplistes.

Utiliser les services web et Ajax

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

Lier son application à des sources de données RDF

Certains composants graphiques (tels que les tableaux, les listes, les arbres…) contiennent des données. Plutôt que de les modifier « à la main » avec une technique comme Ajax, utilisez les modèles XUL (templates) associés à 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 automatiquement les balises XUL insérées dans le modèle (le template), à partir des données extraites du fichier — ou même des fichiers — 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 de ces langages permet de faire des choses distinctes :

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

Bref, il convient de distinguer site web (informations) et applications web (gérer quelque chose, accomplir 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 triviale 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'inter-opérabilité : pour un site internet, qui par nature sera visité par une multitude de personne possédant chacune un navigateur différent, on n'utilisera pas XUL.

En revanche, on pourra utiliser XUL sans problème dans les cas suivant :

  • dans une application intranet, où il est envisageable d'équiper tous 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.