ENQUETE 
 
Laurent Jouanneau
Ingénieur logiciel senior
Xulfr
Laurent Jouanneau
"XUL et Ajax sont totalement complémentaires"
Le projet Open Source XUL reste encore un peu mystérieux dans l'univers des technologies riches. Décryptage avec le responsable du portail français Xulfr.
13/11/2006
 
  Enquête

Clients riches

 Analyse
 Frédéric Massy (Adobe)
 Laurent Jouanneau (XulFr)
 Guillaume Plouin (SQLI)
 Alexis Moussine Pouchkine (Sun)

JDN Solutions. Qu'est-ce que XUL ? Comment coopère-t-il ou interagit-il avec XML, Javascript, HTML ?
Laurent Jouanneau. XUL est un langage XML prévu pour réaliser une interface utilisateur. Conjointement à XUL qui se contente de décrire l'interface et les relations entre les objets, les développeurs utilisent du Javascript pour répondre aux évènements, du CSS et du SVG pour maîtriser le design, et du HTML pour la partie présentation des données. A partir de ces langages, le développeur conçoit l'interface qu'il souhaite. Il existe par exemple des balises pour décrire un bouton, un menu, une arborescence ou des onglets.

Quelles sont les utilisations possibles de XUL ?
La première consiste à l'utiliser comme une simple page Web en remplaçant le HTML par XUL. Grâce à la richesse de l'interface, l'utilisateur a l'impression d'accéder à une application bureautique à distance, même si pour une question de sécurité il n'aura pas accès aux disques du serveur.

La deuxième utilisation que j'y vois porte sur l'utilisation d'applications sous forme d'extensions. A travers XulRunner, il est possible d'ouvrir une fenêtre spécifique affichant son application métier, puis d'interroger des services Web, d'accéder aux disques durs locaux ou des faire des actions comme le glisser-déposer. Typiquement, les extensions Firefox sont des applications Xul.

Qui peut aujourd'hui utiliser Xul ?
Pour l'instant, XUL est exécutable et affichable uniquement sur un navigateur dont le moteur graphique passe par Gecko, c'est-à-dire Mozilla, Firefox, SeaMonkey ou Epiphany. A l'avenir, peut être que d'autres navigateurs supporteront un XUL plus léger, en tout cas le W3C réfléchit à normaliser un langage de description d'interfaces de ce type.

Quels sont les outils disponibles pour créer ses propres interfaces ?
Le W3C réfléchit à normaliser un langage de description d'interfaces comme XUL"
XUL dispose déjà de balises décrivant chaque composant de l'interface. Il est utilisable conjointement avec XBL, un langage de création de composants de manière à définir ses propres balises. Il suffit alors d'indiquer le contenu de la balise, son comportement pour préparer des petits widgets.

Autre chose, pour rajouter un bouton sur une interface existante, il existe des mécanismes, baptisés overlays, qui évitent d'avoir à modifier le code source du fichier original. Il suffit de rajouter un fichier et de le relier à l'existant pour étendre les fonctionnalités d'une interface sans y toucher.

Quelles différences entre XUL et Ajax ?
Ils sont totalement complémentaires. L'appel aux services Web s'effectue par Ajax, tandis que dans XUL certaines fonctions évitent de recourir systématiquement à Ajax, qui reste un peu lourd au niveau de pages Web car basé sur Javascript. Dans Xul figure notamment un système de template afin de réserver un espace qui sera généré et remplit à partir d'une source de données sur sa page Web. Cette fonction est particulièrement utile dans le cas d'une liste d'options par exemple.

L'autre différence vient de la gestion des évènements. Avec XUL, il est possible de faire du glisser déposer de manière plus simple et plus légère qu'avec du Javascript car cela passe uniquement par quelques balises à connaître. A moins d'avoir redéfini le design, l'interface de votre application s'adapte automatiquement à l'environnement graphique utilisé.

Comment Xul travaille-t-il avec d'autres applications métiers ?
Les pages XUL peuvent être générées dynamiquement par l'intermédiaire des langages Ruby, PHP, Java ou Ajax"
Depuis Firefox 2.0, Xul embarque SQLite ou Mozilla Storage. C'est une base de données particulière, sinon il faut passer par des services Web. Il existe une extension pour interroger PostgreSQL ou MySQL. Coté services Web, le moteur Gecko prend en charge SOAP, XML-RPC et d'autres normes mais il faut alors utiliser une fonctions particulière, à savoir XML HTTP Request.

Quels usages ressortent de XUL ?
Pour l'instant, il adresse surtout des applications intranet afin de profiter au maximum des extensions. Comme le navigateur Web Firefox est le seul du marché à prendre en charge XUL, faire une application grand public sur le Web serait suicidaire. En revanche, il peut servir à faire un back office de site.

Qui sont les contributeurs de la communauté XUL ?
Il y a plusieurs grosses sociétés qui se sont associées au projet Gecko de Mozilla comme IBM, Sun ou Red Hat. Ils participent à l'élaboration du code source, mais je ne sais pas s'ils utilisent XUL en interne en revanche.

Comment XUL se combine-t-il avec les autres technologies Web ?
  Enquête

Clients riches

 Analyse
 Frédéric Massy (Adobe)
 Laurent Jouanneau (XulFr)
 Guillaume Plouin (SQLI)
 Alexis Moussine Pouchkine (Sun)

Pour une application Internet pure, les pages XUL peuvent être générées dynamiquement par l'intermédiaire des langages Ruby, PHP, Java ou Ajax. A travers la balise Object, il est possible d'inclure n'importe quel contenu multimédia dans sa page, par exemple un lecteur vidéo ou une animation Flash.

Avec tout ce qui est graphique 2D, XUL peut reprendre du contenu au format SVG. Il supporte enfin les formulaires nouvelles générations XForms.

Qu'apporte XulRunner pour le développement d'applications riches ?
Le système de mise à jour automatique, un outil très simple pour localiser les applications et la possibilité d'utiliser des thèmes graphiques. XulRunner est un outil aujourd'hui très orienté vers les développeurs mais à terme, Mozilla aimerait que ce module soit présent sur toutes les machines, comme la Java Virtual Machine de Sun.

L'idée consiste ensuite à centraliser sur XulRunner les fonctions générales puis de lancer n'importe quelle application XUL à partir de là, ce qui effacerait la nécessité d'avoir Firefox pour bénéficier du moteur Gecko.

 
Propos recueillis par Yves DROTHIER, JDN Solutions

PARCOURS
 
 
Laurent Jouanneau est Senior Software Engineer chez Disruptive Innovations, une société qui développe des logiciels basés sur les technologies Mozilla et qui a réalisé Nvu, un éditeur HTML wysiwyg.

Il travaille sur Etna, un éditeur XML wysiwyg, basé aussi sur Mozilla. Fondateur du site xulfr.org et du site openweb.eu.org sur les standards du Web, il est également développeur principal du framework PHP Jelix.

   
 
  Nouvelles offres d'emploi   sur Emploi Center
Auralog - Tellmemore | Publicis Modem | L'Internaute / Journal du Net / Copainsdavant | Isobar | MEDIASTAY
 
 
 


Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Toutes nos newsletters