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.

Faq xul

La foire aux questions

Voici les questions les plus courantes. Merci de poser d'abord vos questions sur la mailing-list ou les forums avant de les reporter ici.

  • *A quoi ressemble le XUL ?**

Le XUL est un langage de description d'interface graphique et ressemble à tous les langages issus du XML :

 <?xml version="1.0" encoding="utf-8"?>
 <window>
  <box align="vertical">
    <image src="majoulieimage.png" />
  </box>
 </window>
  • *Est-ce un language interpreté ou compilé ?**

Le XUL est un langage interprété. Une interface en XUL peut être modifié dynamiquement par le biais de javascript.

  • *Où faut-il mettre le fichier ? dans un répertoire particulier, comment exécute-t-on le programme ?**

Une application XUL se décompose en quatre parties :

  • La description de l'interface (langage XUL),
  • La définition de l'aspect de l'interface (styles CSS),
  • La définition de l'interactivité (langage Javascript)
  • Les locales (pour l'internationalisation de l'application)

Les données affichées, quant à elles, sont le plus souvent stockées dans des fichiers RDF.

Pour tester une feuille XUL en local, rien de plus simple : menu fichier > ouvrir. Au niveau des répertoires en local (tout comme pour une application web en xul), il n'y a pas d'organisation précise à respecter. En revanche, pour une application Mozilla, une arborescence précise doit être respectée, et les fichiers peuvent être regroupés dans un package (package xpi) pour être facilement installables.

Tout cela sera documenté dans un tutorial.

  • *J'ai essayé de faire fonctionner les exemples en les recopiant. Mais Mozilla me renvoie une erreur sur la balise <?xml ?> : XML Parsing Error: xml processing instruction not at start of external entity. Qu'est-ce que cela signifie ?**

Il y a probablement des espaces ou des sauts de lignes avant la balise <?xml ?>. Il faut les enlever (impossible pour le moment de les retirer dans les pages du site, à cause du système wiki pas génial).

  • *Ces questions peuvent vous paraitre bêtes, mais ce sont celles de quelqu'un qui ne connait pas ce language (pourtant j'utilise FireFox)**

Le site est là pour ça :) Regarde l'interface de Mozilla FireFox : les boutons, les menus, les boîtes de dialogue etc. Tout ceci est fait en XUL.

  • *merci d'être DIDACTIQUE, ne pas se contenter de lister les fonctions un peu comme dans le man, c'est pas attirant !**

TristanRivoallan: À ce propos : Je suis bien d'accord, il faudrait des tutoriaux du type « ma première application XUL », des choses bien didactiques. En attendant de recevoir ce genre de contributions (ou d'en écrire un moi-même :S), je veux bien me charger de traduire l'excellent tutorial de Neal Deakin, j'attends juste une réponse de sa part pour savoir si cela ne lui pose pas de problème. Cependant, il reste très important de détailler précisemment toutes les balises, car c'est extrèmement utile au cours du développement ; de plus le fait que cette doc soit sur un Wiki permettra à terme (je l'espère) d'obtenir une documentation hyper-commentée, avec plein d'exemples et de petites recettes, comme on peut en trouver sur php.net.

LaurentJouanneau : patience ! il y aura plein de pages didactiques (j'y tiens) ! laissez-nous le temps de remplir ce wiki qui ne fait que de s'ouvrir :-)

  • *D'après ce que j'ai compris, l'UI (l'Interface Utilisateur) de FireFox est codée en XUL. Qu'est ce que cela veut dire ? implique ? Où se situent ces fameux fichiers XUL si je veux fouiner dans le code de FireFox ?**

Oui, toute l'UI est codée en XUL + XBL + CSS + JS + RDF + DTD… (il en va de même pour Mozilla, Mozilla Mail, Chatzilla, thunderbird et toutes les autres applications reposant sur Mozilla). Pour voir comment c'est fait, il te suffit de regarder dans le répertoire /chrome/ et d'ouvrir les fichiers .jar tu pourras y trouver les éléments (.xul) la facon dont les éléments sont présentés (.css) et la gestion des événements de ces éléments (.js), il y a aussi les fichiers pour la localisation (.rdf ou .properties), etc. tu peux même les modifier (essaye les CSS en premier, c'est moins dangereux ;-)

Note concernant les utilisateurs de Macintosh OS X : pour atteindre le dossier chrome de l'application, il est nécesaire d'ouvrir le paquet Firefox (ou le paquet Mozilla). En effet, sur le bureau, l'application a l'aspect d'un fichier, non d'un dossier.

Pour ce faire :

  • Sélectionnez l'application (qui doit se trouver dans votre dossier « Applications ») EN MAINTENANT APPUYÉE la touche contrôle (Ctrl),
  • Dans le menu contextuel qui s'ouvre, choisissez « Afficher le contenu du paquet »,
  • —> le dossier de l'application s'ouvre,
  • Ouvrez le dossier « Contents »,
  • Ouvrez le dossier « MacOS »
  • —> le dossier « chrome » se trouve à l'intérieur.

Il est également possible d'ouvrir le dossier chrome par le biais du Terminal ($ open 'chemin/d'accès/vers/votre/application/Contents/MacOS/chrome').


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.