Écrit par Neil Deakin.
Traduit par Tristan Rivoallan (25/02/2004), mise à jour par Laurent Jouanneau (17/11/2004) .
Page originale :
http://www.xulplanet.com/tutorials/xultu/intro.html
Ce tutoriel est destiné à vous guider dans l'apprentissage de XUL (XML User-interface Language) qui est un langage multi-plateformes permettant de décrire les interfaces utilisateurs des applications.
Ce tutoriel vous montrera la création d'une simple interface utilisateur de recherche de fichiers, comme celle fournie par l'interface Sherlock du Macintosh, ou la boîte de dialogue de recherche de fichier de Windows. Notez que seule l'interface utilisateur sera créée avec quelques fonctionnalités limitées. La recherche de fichier proprement dite ne sera pas implémentée. Une ligne bleue apparaîtra sur la gauche des paragraphes où la boîte de dialogue de recherche de fichier sera modifiée. Vous pourrez suivre cela à travers les sections.
XUL (prononcez zool, cela rime avec cool) a été créé pour avoir un développement du navigateur Mozilla plus facile et plus rapide. C'est un langage XML donc toutes les caractéristiques disponibles dans XML sont aussi disponibles dans XUL.
La plupart des applications ont besoin d'être développées en utilisant les caractéristiques d'une plateforme spécifique, rendant l'adaptation multi-plateforme consommatrice en temps et coûteuse. Cela peut sembler peu important pour certains, mais des utilisateurs peuvent vouloir utiliser une application sur d'autres périphériques comme les assistants personnels ou les portables.
Un certain nombre de solutions multi-plateformes ont été développées dans le passé. Java, par exemple, a comme principal argument de vente la portabilité. XUL est l'un de ces langages conçus spécialement pour créer des interfaces utilisateurs portables.
Cela prend beaucoup de temps pour bâtir une application, même pour une seule plateforme. Le temps requis pour compiler et débugger peut être long. Avec XUL, une interface peut être implémentée et modifiée rapidement et facilement.
XUL a tous les avantages des autres langages XML. Par exemple, XHTML ou d'autres langages XML comme Math-ML ou SVG peuvent y être insérés. De plus, les textes affichés avec XUL sont aisément localisables, ce qui signifie qu'ils peuvent être traduits dans d'autres langues avec peu d'effort. Les feuilles de styles peuvent être appliquées pour modifier l'apparence de l'interface utilisateur (beaucoup mieux que les systèmes de skins ou thèmes de WinAmp ou de certains gestionnaires de fenêtre).
XUL fournit la possibilité de créer la plupart des éléments que l'on trouve dans les interfaces graphiques modernes. Il est suffisamment générique pour être utilisé pour les besoins particuliers de certains périphériques, et suffisamment puissant pour permettre aux développeurs de créer des interfaces sophistiquées.
Quelques éléments pouvant être créés :
Le contenu affiché peut être créé à partir du contenu d'un fichier XUL ou à partir d'une source de données. Dans Mozilla, de telles sources de données sont utilisées pour les messages des boîtes aux lettres, les signets, et les résultats de recherche. Les contenus des menus, arbres, et autres éléments peuvent être créés avec ces données, ou avec vos propres données fournies dans des fichiers RDF.
Le contenu XUL est habituellement chargé à partir d'un paquetage installé dans Mozilla. Ces paquetages permettent à une application d'avoir des privilèges, comme lire des fichiers locaux ou modifier les préférences de l'utilisateur. Les fichiers XUL, les scripts associés et les images d'une application sont empaquetés dans un seul fichier, et ensuite téléchargés et installés par l'utilisateur. Mozilla fournit un moyen d'avoir ces paquetages installés et référencés sans avoir à écrire des lignes de code complexes. De plus, ces paquetages peuvent modifier le navigateur ou d'autres applications pour ajouter des fonctionnalités. C'est de cette façon que fonctionnent les extensions Firefox.
Il est possible d'ouvrir des fichiers XUL directement du système de fichiers ou à partir d'un site Web distant. Cependant, ils seront restreints dans les types d'opérations qu'ils peuvent faire, et certains aspects de XUL ne fonctionneront pas. Mais si vous voulez charger du contenu XUL à partir d'un site distant, le serveur Web doit être configuré pour envoyer les fichiers XUL avec le type de contenu application/vnd.mozilla.xul+xml. XUL est habituellement stocké dans des fichiers avec l'extension ".xul". Vous pouvez ouvrir un fichier XUL avec Mozilla comme vous le feriez avec d'autres fichiers, en utilisant la commande "ouvrir un fichier" du menu "fichier", ou en tapant l'URL dans la barre d'adresse.
Vous devez connaître HTML et avoir au moins des connaissances de base sur XML et CSS. Voici des indications à garder à l'esprit :
XUL est supporté dans Mozilla et les navigateurs basés sur le moteur Gecko, comme Netscape 6 ou plus, et Mozilla Firefox. À cause des différents changements dans la syntaxe XUL au fil du temps, vous devriez avoir la dernière version pour que les exemples fonctionnent correctement. La plupart des exemples devraient fonctionner dans Mozilla 1.0 et plus. XUL est pratiquement similaire dans Firefox et les autres navigateurs, bien qu'il y ait des différences spécifiques, comme le support des barres de boutons personnalisables.
Ce tutoriel tente de couvrir la plupart des fonctionnalités de XUL. Cependant, toutes les spécificités ne seront pas examinées. Une fois que vous vous serez familiarisés avec XUL, vous pourrez utiliser la référence des éléments XUL pour trouver les autres fonctionnalités supportées par d'autres éléments spécifiques.
Pour commencer, regardons comment les fichiers XUL sont organisés.