les Cahiers du Programmeur Jonathan Protzenko Avec la contribution de Benoît Pi
les Cahiers du Programmeur Jonathan Protzenko Avec la contribution de Benoît Picaud Préface de Stéphane Mariel Mozilla XPFE, XPCOM, XBL, XPI, CSS, JavaScript, XML, RDF, DOM, PHP 5 MFT $BIJFST EV 1SPHSBNNFVS 96- +POBUIBO1SPU[FOLP 1SÏGBDFEF4UÏQIBOF.BSJFM "WFDMBDPOUSJCVUJPOEF#FOPÔU1JDBVE EF4UÏQIBOF.BSJFMFUEF+FBO.BSJF5IPNBT ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd’hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2005, ISBN : 2-212-11675-6 Remerciements à Julie Meyer. © Groupe Eyrolles, 2005 Préface Ces dernières années, l’Open Source a démontré sa capacité à conquérir des pans entiers de l’informatique d’entreprise, au point parfois de devenir la référence détrônant les solutions établies. C’est le cas des ser- vices d’infrastructure, comme la messagerie avec les logiciels libres Sendmail ou Postfix, ou la publication web avec Apache. Toutefois, il n’en va pas encore de même pour les applications présentes sur le poste de travail de l’utilisateur. Le plus souvent les logiciels Open Source sont perçus comme des suiveurs, se contentant de copier des fonctionnalités déjà disponibles par ailleurs. D’où un sentiment de déca- lage permanent. Cette vision est cependant dépassée et ce cahier du programmeur con- sacré à XUL en est le meilleur exemple. Ainsi le succès de Firefox repose déjà naturellement plus sur les innovations offertes à l’utilisateur, que sur son aptitude à faire aussi bien que ses concurrents. Mais que dire alors du framework Mozilla dont Firefox et XUL ne sont que des parties émergées ? Ici il n’est donc plus question de suiveurs : le framework Mozilla livre dès aujourd’hui une technologie que Microsoft ne proposera qu’avec son prochain système, au mieux dans un an. En outre, ce framework est, lui, d’ores et déjà multi-plates-formes ! En vous accompagnant dans la création d’une application type, Jonathan vous propose de découvrir les facettes parfois complexes d’un environne- ment novateur qui a fait le choix des standards et d’une réutilisation maximale des langages existants. Les Cahiers du programmeur XUL © Groupe Eyrolles, 2005 VI Car c’est une autre qualité du framework Mozilla que de tirer profit des standards ouverts, sur lesquels nous avons tous, « techniciens » et entre- prises, investi ces dernières années. XML y joue naturellement un rôle clé, mais l’environnement reprend aussi largement CSS, JavaScript et l’incontournable DOM, désormais bien entré dans les mœurs et qui ouvre la voie à la mutualisation des efforts... Aussi, que vous ayez déjà capitalisé une expérience en PHP 5 (et son API DOM désormais conforme) ou en JavaScript côté client (avec Firefox, voire Microsoft Internet Explorer), vous ne serez pas dépaysé à la lecture de cet ouvrage. De même, si vous avez créé des applications AJAX, vous pourrez réutiliser votre savoir-faire pour dynamiser votre application XUL. Mozilla réussit ainsi le tour de force de créer un environnement novateur tout en capitalisant sur l’existant, qualité déterminante face à ses concur- rents. Il est temps pour vous de l’expérimenter ! :-) Stéphane MARIEL Table des matières © Groupe Eyrolles, 2005 VII AVANT-PROPOS...........................................................XI 1. INTRODUCTION À XUL .................................................. 1 Mozilla et XUL • 2 Un point de départ : le code source de Netscape • 2 Des problèmes d’évolution • 3 Un nouveau moteur et une nouvelle architecture • 3 Un projet ambitieux qui a réussi • 4 La place de XUL au sein du XPFE • 6 XUL : un langage qui ne s’utilise pas seul • 7 Les technologies connexes à XUL, CSS et JavaScript • 8 Organisation générale du XPFE • 9 Pourquoi choisir XUL ? • 11 Un langage facile à apprendre • 11 Portable • 12 Sans limite ! • 12 En résumé... • 13 2. L’ÉTUDE DE CAS ......................................................... 15 Introduction • 16 Fonctionnement • 17 Principe de fonctionnement d’un forum • 17 Le fonctionnement de XUL Forum • 18 Les différents modules • 18 L’inscription • 18 L’identification • 18 L’écran principal • 19 La fenêtre d’ajout/modification/lecture d’un sujet • 20 Les différentes parties du XPFE mises en jeu • 21 Les technologies « statiques » • 21 Les technologies « dynamiques » • 22 Quels seront les avantages de XUL dans ce cas ? • 22 Des modules réutilisables • 23 Une approche croissante des difficultés • 23 Une large utilisation des possibilités du XPFE • 23 Un environnement professionnel • 23 Points noirs à l’utilisation de XUL • 24 En résumé... • 25 3. PREMIERS PAS EN XUL................................................27 Un premier fichier XUL • 28 À la découverte des premiers éléments... • 31 Première version de l’écran d’authentification • 32 Corriger les premières erreurs : utilisation de boîtes • 32 Un élément plus adapté : un tableau • 34 La touche finale : spacers • 35 En résumé... • 37 4. UNE VÉRITABLE EXTENSION MOZILLA.............................39 La séparation générale des fichiers • 40 Contents.rdf et dossier content • 41 Modification du fichier chrome.rdf • 43 Intégration d’une DTD et début de l’internationalisation • 45 Dossier locale • 47 Modification du fichier XUL et ajout d’une DTD • 48 Chrome.rdf • 50 En résumé... • 51 5. XUL AVANCÉ : LA FENÊTRE PRINCIPALE..........................53 La structure globale • 54 Découpage avec les principales boîtes • 54 Séparation en overlays • 56 Dans le document principal • 56 Dans les fichiers overlay • 58 Le fichier index-barres-overlay.xul : barres d’outils, de menu et de statut • 61 Les menus • 62 Des menus plus évolués • 64 Éléments communs à toutes les pages • 66 La barre d’outils • 69 La barre de statut • 70 Résumé : les barres • 71 Les overlays : arbre et onglets • 72 L’arbre • 73 La liste des membres • 75 En résumé... • 77 Les Cahiers du programmeur XUL © Groupe Eyrolles, 2005 VIII 6. PERFECTIONNEMENT DU RENDU AVEC CSS..................... 79 Présentation de CSS ; utilisation dans Mozilla • 80 Débuts avec CSS : effets sur du texte • 82 Mise en place de CSS • 82 Premiers effets sur du texte • 84 Retoucher le positionnement avec CSS • 90 CSS spécifique à Mozilla • 91 La barre d’outils • 91 Autres propriétés CSS • 93 Les onglets du panneau de gauche • 93 Couleur des lignes de l’arbre • 94 Images dans les menus • 95 Utilisation d’une propriété propre à Mozilla • 96 En résumé... • 96 7. PREMIÈRE ANIMATION DE L’INTERFACE AVEC JAVASCRIPT 99 Concepts de base du langage • 100 Syntaxe de base • 101 Variables, utilisation de fonctions • 101 Commentaires • 101 Chaînes • 102 Déclarations de fonctions • 102 Méthodes d’objets • 103 Tableaux • 103 Objets : instanciation • 103 Exceptions • 104 Plus... • 104 Intégration à XUL • 105 Application directe à XUL Forum • 106 Une première routine pour l’affichage d’erreurs • 106 Multi-langue avec l’objet stringbundle • 109 Plus de manipulation DOM : options avancées à la connexion • 110 Le code servant à montrer les options avancées • 112 Communication avec l’extérieur : récupération d’un fichier de configuration • 114 L’objet XMLHttpRequest • 114 L’analyse avec DOM • 118 Approche des composants XPCOM : fonction include() • 120 Les composants XPCOM • 120 Notre inclusion • 121 En résumé... • 123 8. AUTOMATISATION AVEC RDF..................................... 125 Le format RDF : explications détaillées • 126 Les nœuds et les arcs • 126 Nœuds et URI • 127 Sérialisation de RDF avec RDF/XML • 128 Listes • 131 Génération de RDF avec PHP • 132 Objectifs • 132 Le fichier PHP • 133 Retour à XUL • 136 Un premier modèle simple • 136 Un modèle plus complexe • 138 Modification côté PHP • 138 Exploitation côté XUL • 139 Amélioration de RDF avec JavaScript • 142 Version synchrone • 143 Version asynchrone • 146 En résumé... • 148 9. UNE INTÉGRATION AU CŒUR DE MOZILLA ....................151 Extension de l’interface du navigateur avec de nouveaux overlays • 152 Modification du fichier contents.rdf • 152 Où trouver les fichiers à modifier ? • 153 Gestion multiple : Firefox, Thunderbird, Mozilla • 155 La suite Mozilla • 156 Le navigateur Firefox • 157 Le client mail Thunderbird • 159 Utilisation des préférences • 160 Présentation • 160 Les fonctions XPCOM essentielles • 161 Le code de XUL Forum • 161 Application à l’identification • 163 Autres techniques utiles • 165 Raccourcis clavier • 165 En résumé... • 167 10. JAVASCRIPT VERSION « PRO » : LDAP......................169 Recherches LDAP avec JavaScript et nos propres composants XPCOM • 170 La structure LDAP de XUL uploads/s3/ xul-9782212116755-pdf.pdf
Documents similaires










-
103
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 04, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 5.8102MB