Espace membre

AFUP - Association française des utilisateurs de PHP

Rejoignez la communauté
et faites grandir le PHP avec nous.

Résumé de la conférence "Clients riches avec XUL"

Le livre XUL aux éditions Eyrolles dans la collection des cahiers du programmeur vous fera découvrir, à travers la création d'un forum écrit en XUL, une plate-forme de développement novatrice : le framework Mozilla. >>> Télécharger la conférence de Laurent Jouanneau en mp3 Merci à Michel Lefranc pour son intervention.
C'est dans l'espace très international du FIAP Jean Monet à Paris que s'est déroulé le jeudi 2 mars 2006 le rendez-vous de l'AFUP sur les clients riches avec XUL. Suite logique de la présentation d'Olivier Grange-Labat lors du Forum PHP de novembre 2005, la soirée a commencé par une introduction plus détaillée de XUL faite par Laurent Jouanneau. Initiateur de xulfr.org et ingénieur de Disruptive Innovations, c'est lui qui a formé et accompagné l'équipe technique du site LeMonde.fr.

Introduction à XUL

Après un rapide historique de l'évolution du poste client web, de Netscape à Mozilla, nous sommes entrés dans le vif du sujet : XUL (prononcez zul ou zoul selon affinité) est un langage de description en XML de l'interface utilisateur (XML based User Interface Language). Couplé avec un client capable de l'interpréter, tel que FireFox, il permet le déploiement d'applications web. Chaque page est décrite à l'aide de balises (boutons, menu, zones de saisie, table etc.). Le modèle d'emboîtement des contrôles est de type Motif X11, donc différent du CSS, mais offre les mêmes possibilités. XUL est ouvert sur les autres technologies de développement Web : javascript (en CDATA), DOM, Webservices, Xpath, XPCOM, E4X (simple_xml d'EcmaScript). XUL a son propre système de template. D'autres standards XML interviennent : RDF (Resource Description Framework) permet de stocker sous forme XML des données relationnelles et remplace avantageusement Ajax dans le cas où l'on travaille sur un ensemble de données. Après saisie en local, les données sont envoyées au serveur et l'arbre des données RDF est mis à jour sans avoir à réafficher la page entière. XBL (XML Binding Language) (prononcez zibeul) permet de réaliser son propre balisage. On peut personnalisez les widgets par héritage. Il suffit donc à l'aide d'un éditeur de décrire sa page en langage XUL pour que celle-ci soit affichée sur le poste client par une interprétation directe faite par le navigateur FireFox. La contrainte de FireFox n'est pas un problème dans le cas d'un Intranet. D'autant que ce navigateur offre de nombreuses fonctionnalités complémentaires, telle la gestion de l'installation de l'application en tant qu'extension et sa mise à jour automatique lors de la connexion. XULRunner permet même de faire tourner une application purement en local. La présentation a été suivie de questions / réponses qui ont permis de préciser les points suivants : S'il n'y a pas d'environnement de développement (IDE), en revanche, l'organisation des fichiers constitutifs de l'application est suffisamment structurée pour permettre un développement efficace. Gecko 1.9 (moteur de FireFox 3) début 2007 intègrera SQLite ce qui permettra d'utiliser d'autres sources de données que RDF.

Cas d'utilisation de XUL : LeMonde.fr

Après la théorie, la pratique : Olivier Grange-Labat, accompagné de Edouard Andrieu, nous ont présenté le site LeMonde.fr. Plus de 80 000 abonnés soit 80 millions de pages vues / mois et plus de 200 nouveaux articles / jour. Il s'agit du premier site généraliste français. Copyright Le Monde interactif Olivier nous a rappelé l'historique : une solution à l'origine, propriétaire, coûteuse, une réflexion, une validation des use cases avec Daniel Glazman (Dirigeant - Fondateur de Disruptive Innovations), et la mise en place progressive accompagnée par Laurent ont permis d'avoir un superbe outil : le SEPT (Système Editorial de Production et de Trafic). Ecrit en XUL, il s'appuie sur FireFox pour son exécution sur le poste client, mais se présente pour l'utilisateur (le rédacteur) comme une application autonome. La zone d'édition remplit la partie principale de l'écran : elle permet de rédiger les articles, de faire du copier-coller et du glisser-déposer, de travailler le format des photos. En dessous, la ZEN (Zone d'Enrichissement et de Navigation) permet de se déplacer dans les ressources en suivant de riches arborescences et de compléter facilement l'article. Enfin divers champs entourent l'article : Titre, sur-titre, sous-titr, etc... Le développement avec XUL a permis d'utiliser de nombreux contrôles qu'il suffisait d'assembler : par exemple, la présentation des ressources en tables avec tri sur toutes les colonnes n'a pas nécessité d'écriture. L'ensemble est très convivial. Le rafraîchissement du serveur est fait de manière transparente toutes les minutes. Ce délai sera réduit à la seconde dans la prochaine version. Les utilisateurs sont satisfaits, aussi bien sous PC que sous MAC. Les points forts de la technologie vus par l'équipe de développement sont la puissance, le structuration, la documentation, l'accès aux sources, la richesse des extensions, et le fun. Les points faibles sont l'absence de Best practises et un débuggage parfois laborieux. Si la courbe d'apprentissage est longue, elle reste très progressive : on peut démarrer un projet sans avoir tout vu. Cette démonstration en live a convaincu un auditoire visiblement très impressionné. Alors : XUL nouveau standard du client riche ? L'avenir, en tout cas, semble prometteur. La présentation de la technologie suivie d'une magistrale application professionnelle ont fait de cette soirée un fort moment du calendrier de l'AFUP.