Historique des navigateurs may 1992 : Viola, premier navigateur graphique février 1993 : NSCA Mosaic décembre 1994 : Netscape Aout 1995 : IE 1997 : début du déclin de Netscape 1998 : ouverture du code de Netscape 4 = Mozilla 5 juin 2002 : version 1.0 de la suite Mozilla Naissance de XUL 1998 : réécriture de Gecko. Besoin de minimiser les temps de développement tout en fournissant le navigateur sur un maximum de plateforme -> un maximum de code indépendant de l'environnement -> profiter du moteur d'affichage HTML/XML/CSS pour afficher l'interface graphique -> interface déclarée en XML = naissance de XUL Mozilla framework de développement d'application des technologies différentes pour chaque besoin des technologies pour la plupart standards pour une meilleure capitalisation des compétences schema archi appli mozilla XUL : définir une interface utilisateur XML-based User interface Language Permet de décrire une interface utilisateur Ensemble de balises correspondant à des composants graphiques courants boutons, case à cocher, champs de saisie boîte de liste, liste en arbre, grilles barres de menus, menu déroulant, menu popups barres d'outils, barre de statut, onglets etc.. zones d'edition avancée, afficheur de page web.. etc... modele de boite type motif (pas de positionnement absolu) boite.xul table periodique des elements Exemple de fichier xul Design avec CSS Langage permettant de spécifier le rendu d'un fichier XML à l'écran Connu pour son utilisation dans les sites HTML Utilisé dans Mozilla pour "décorer" l'interface Utilisé notamment pour les thèmes graphique Respecte en grande partie la spécification CSS 2 éditée par le W3C Implémente quelques styles du futur CSS 3 et des styles propriétaires Définir le comportement : javascript Ajouter du dynamisme, interactivité Javascript 1.6, implémentation de l'EcmaScript Langage de script orienté objet Attributs pour répondre aux évènements (onclick, ondragdrop, onkeypress, onoverflow ...) De nombreux objets sont fournis de base : objets DOM web service Xml, Xsl, Xpath objets représentant les composants HTML, XUL et styles CSS Appel des objets XPCOM via XPConnect E4X = le simple_xml du javascript Template Génère des balises XUL à partir d'une source de donnée RDF Comment : attribut "datasource" + balises