Presentation/Technologies Mozilla

La plateforme de Mozilla/Firefox incorpore un certain nombre de technologies, notamment en XML, dont la majorité est issue des standards recommandés par le W3C. En voici la liste (non exhaustive).

Technologies XML

XUL

C'est le langage XML pour décrire une interface graphique. Toute l'interface graphique de Mozilla et produits dérivés sont en XUL (prononcez « zool »).

 <window title="hello world">
   <toolbar>
       <menubar>
            <menu label="Fichier">
                <menupopup>
                   <menuitem label="quitter" oncommand="quit()" />
                </menupopup>
            </menu>
        </menubar>
    </toolbar>
  <description>Hello World !</description>
 </window>

XBL

Même si XUL possède un nombre satisfaisant de balises permettant d'inclure des composants graphiques de toutes sortes, nous avons souvent besoin d'avoir des composants ayant des comportements un peu plus spécifiques, ou regroupant divers composants de bases en un seul, et que l'on veut pouvoir ré-utiliser sans ré-inventer la roue. XBL est un langage XML permettant de réaliser de tels composants. XBL est une note du W3C.

RDF

RDF est un format XML permettant de stocker des données, sous forme de graphe (arbre etc.). Les composants graphiques XUL tels que les listes, arborescences (treeview), menu etc., peuvent être remplis automatiquement à partir de sources de données en RDF, locales ou distantes. RDF est une recommandation du W3C.

XHTML

Bien sûr, XHTML, la version XML de HTML est implementée dans Gecko (le cœur de Mozilla), permettant d'afficher des pages web. De même Gecko supporte HTML 4.

XHTML est une recommandation du W3C.

XML et DOM

Avec Mozilla, vous pouvez manipuler, via des objets implémentant les interfaces DOM, n'importe quel fichier XML. DOM et XML sont des recommandations du W3C.

XSLT

La plateforme Mozilla propose une API permettant d'utiliser des fichiers XSLT, et ainsi de transformer des fichiers XML en d'autres fichiers XML. D'ailleurs, dans le navigateur, vous pouvez ouvrir un fichier XML lié à une feuille XSLT.

MATHML

C'est un langage XML pour écrire des formules mathématiques. Gecko sait donc afficher des formules mathématiques à partir d'un contenu en MathML (recommandation du W3C).

SOAP, WSDL, XML-RPC...

Les services web sont aussi à l'honneur dans Mozilla puisqu'il est possible de faire appel à des services web en SOAP, WSDL ou XML-RPC. Grâce à l'objet XMLHttpRequest, il est possible de faire appel à d'autres types de services web.

SVG

SVG, pour Scalable Vector Graphics, est un langage XML pour faire des dessins vectoriels en 2D. C'est une recommandation du W3C. SVG est disponible à partir de Firefox 1.5.

Voir la page dédiée, sur le wiki : SVG

Canvas

Canvas est une balise HTML non standardisée, qui permet de dessiner en javascript.

Voir la page dédiée : canvas

XFORMS

XFORMS est le langage XML du W3C dont l'optique est de remplacer à terme les formulaires HTML. XForms comble les limitations des formulaires HTML : séparation des données et des contrôles dans les formulaires, validation coté client, validation des types des données, interdépendance entre les contrôles de saisie, prise en charge d'événements, envoi des données sous forme xml etc. Tout ceci sans une seule ligne de code Javascript.

L'implémentation de XFORMS n'est pas totalement terminée mais le principal est fait et il est possible de l'utiliser en installant l'extension Xforms dans Mozilla Firefox 1.5.

Lire

SMIL

C'est un dialect XML qui permet de faire des animations, des présentations multimédia. C'est une recommandation du W3C.

Autres technologies incluses

CSS

Les composants graphiques XUL/XBL ont un habillage par défaut (celui en général imposé par le système d'exploitation ou par le navigateur). CSS, le langage utilisé dans les pages web, permet de personnaliser cet habillage (ainsi que celui de n'importe quel autre type de fichier XML). CSS est une recommandation du W3C.

Javascript

Ce langage de script, orienté objet, est utilisé pour programmer le comportement de l'interface graphique, effectuer les traitements en réponse aux actions sur les composants graphiques (suite à un clic de souris sur un bouton par exemple). Ne vous méprenez pas, ce langage est bien plus riche qu'on pourrait le croire au vu de son utilisation limitée dans les pages web.

De base, vous avez à disposition tout un ensemble d'objet pour agir sur les composants graphiques, pour communiquer sur le réseau, pour manipuler des fichiers, appeler des services web (SOAP…) etc. Sa richesse suffit à réaliser bon nombre de logiciels. Mais il est possible d'étendre l'API Javascript grâce à XPCOM.

La version Javascript dans Mozilla est basée sur ?EcmaScript, le javascript standardisé.

Pour programmer le comportement des interfaces, il sera certainement possible, dans les futures versions de Mozilla, d'utiliser Python ou perl.

Voir la page dédiée sur le wiki : Javascript

E4X

E4X est une api qui a le même but que simplexml pour PHP : apporter une alternative à DOM pour manipuler facilement les fichiers XML. C'est normalisé par l'ECMA (qui a normalisé l'Ecmascript). E4X étend donc la syntaxe de javascript pour accéder naturellement aux éléments d'un fichier XML.

E4X est en cours d'implémentation depuis Mozilla 1.8 beta. Elle sera incluse dans Firefox 1.1.

Voir la page dédiée sur le wiki : E4X

XPCOM

XPCOM est semblable à la technologie COM de Microsoft. XPCOM permet de développer des composants réutilisables, et installables facilement, tout en limitant les dépendances binaires (cela permet d'ajouter de nouvelles fonctionnalités en C++ à Mozilla sans avoir à recompiler l'application).

Voir la page XpCom.

XPI

XPI est le format de fichier d'installation d'une application Mozilla. Cela se présente sous forme de paquet XPI qui est en fait un fichier zip renommé. Mozilla est capable d'installer et d'intégrer automatiquement une application construite sous ce format. Un paquet XPI peut être protégé par une clé de cryptage.

SQL

La plateforme Mozilla propose une API générique pour accéder à une base de données. Elle est livrée sous forme d'extension et prend en charge pour le moment PostgreSQL, ?MySql, SQLlite. Il est nécessaire de récupérer les sources de Mozilla/Firefox et de compiler les sources de cette extension. Elle sera certainement disponible en version directement installable courant 2006. Gecko 1.9 contiendra aussi l'extension httpMozStorage, utilisant SQLlite pour stocker des données en local. Il est possible d'utiliser dès maintenant cette extension dans Firefox 1.5.

Voir la page dédiée BaseDeDonnées

POP, SMTP, IMAP, NNTP

De par l'application de courrier Mozilla Mail ou Thunderbird, le support des protocoles d'accès aux systèmes de messagerie et de groupe de discussion (newsgroup) les plus communs sont implémentés dans la plateforme Mozilla.

XTF

XTF est un framework permettant d'ajouter facilement un langage XML dans le moteur Gecko, et ainsi programmer l'affichage d'un type de fichier XML particulier sans toucher au moteur. Cela permet d'installer via une extension la prise en charge d'un dialecte XML nativement inconnu de Gecko. L'extension Xforms utilise XTF pour permettre à Gecko de prendre en charge Xforms.

Voir la page dédiée XTF

Quelques liens

Sur le site de Mozilla.org, vous pouvez lire les pages conçernant chacune de ces technologies, avoir ainsi des précisions sur leur implémentation dans la plateforme Mozilla : httphttp://www.mozilla.org/projects/

Dernière modification le juillet 13, 2006 2:51 .


Le contenu de cette page est disponible selon certaines conditions de réutilisation. Lire aussi la page des 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.