Un tutoriel XUL en français

Posté par (page perso) . Modéré par Pascal Terjan.
0
29
nov.
2004
Mozilla
Il y a un an, le site xulfr.org lançait le projet de traduction du tutoriel XUL du site XULPlanet.com, avec l'accord de son auteur, Neil Deakin.

Nous avons le plaisir de vous annoncer, qu'enfin, la traduction est terminée ! Les 80 articles du tutoriel sont dorénavant disponibles en français. Ils sont même disponibles en téléchargement pour une consultation hors-ligne.

XUL est la technologie embarquée dans Mozilla/Firefox permettant de réaliser facilement des interfaces graphiques par le biais de fichiers XML. Avec l'utilisation conjointe d'autres technologies (CSS, RDF, JavaScript, XBL ...) disponibles également dans Mozilla, XUL permet de développer des applications desktops mais aussi des applications web avec interface "riche".

Le tutoriel vous permet donc de découvrir pas à pas l'utilisation de toutes ces technologies.

Bonne lecture ! Nous remercions les 26 traducteurs du projet, dont beaucoup de 'linuxfriens' qui nous ont rejoints suite à l'appel que j'avais lancé l'été dernier dans un journal.


Aller plus loin

  • # Génial!!!!

    Posté par . Évalué à 3.

    Je me précipite...
    Merci pour ce travail !
    • [^] # Re: Génial!!!!

      Posté par . Évalué à 4.

      Merci aussi, j'ai découvert XUL grace à ce tuto il y à quelque temps. Simple, didactique, clair et ... en francais. Profitez-en, Xulez !
  • # Partage d'expérience?

    Posté par . Évalué à 6.

    Y-a-t-il quelqu'un qui a déja utilisé XUL? Je me pose pas mal de questions là-dessus. Par exemple, j'imagine qu'il est possible de l'utiliser pour créer des interfaces graphiques à des programmes simples (ça manque beaucoup sous Linux, je trouve). Maintenant, est-ce que la lourdeur du "machin" n'est pas un handicap? S'il faut 15s pour afficher une boîte de dialogue, alors ça ne peut servir que pour des grosses applications, et finalement, on retombe sur les mêmes problèmes qu'avec Java...
    • [^] # Re: Partage d'expérience?

      Posté par . Évalué à 5.

      Essayes les exemple fournis dans le tuto ca te donnera une idée ... (recherche de fichiers il me semble, ca fait longtemps que j'ai fais mes traductions :)
      chez moi c'etait assez rapide ... (pour les capture d'ecran par exemple)

      Dam
    • [^] # Re: Partage d'expérience?

      Posté par (page perso) . Évalué à 5.

      Dans le même ordre d'idée : la portabilité.

      Si j'ai bien tout compris, il faut s'appuyer sur XPCOM pour effectuer les traitements "derrière" l'interface utilisateur.
      Y a-t'il des librairies de modules prêtes à l'emploi riches en fonctions?

      En gros, si je veux générer, par exemple, une interface à un programme d'analyse de données numériques, et réaliser des calculs "complexes" (mathématiquement parlant) sur les données transmises/affichées par l'interface, il faut que je fasse mon composant XPCOM dans mon coin en partant de la libc et croisant les doigts pour que cela fonctionne autre part?
      • [^] # Re: Partage d'expérience?

        Posté par . Évalué à 4.

        Oui. Les composants XPCOM existants (et qui constituent donc l'API Moz) sont limités à des choses très en relations avec le réseau, et le XML, le RDF, qq trucs pour le Zip. Rien sur les maths, rien sur la BdD par défaut.

        Ceci étant dit, selon la nature des traitement que tu as à faire, Javascript (qui est le langage derriere XUL) suffit dans la majorité des cas. Et en terme de modèle de données, RDF fait parfaitement l'affaire pour la plupart des modèles, moyennant un peu plus de code peut-etre.
      • [^] # Re: Partage d'expérience?

        Posté par (page perso) . Évalué à 9.

        il faut que je fasse mon composant XPCOM dans mon coin en partant de la libc et croisant les doigts pour que cela fonctionne autre part?

        faire ton composant XPCOM dans ton coin, oui, car Mozilla ne fournit pas de composant de math ;-)
        Par contre, pour ce qui est du portage, il y a des conventions de codage à respecter. XPCOM et les conventions de codages ont été établis dans le but principal du portage multi-plateforme. Le sdk de mozilla fournit tes classes de bases (string, array....), des systèmes de reference de pointeur (nsCOMPtr) ce qui permet de ne pas (moins en toutcas) t'occuper des problèmes de pointeur (plus besoin de faire des delete/new en c++) et plein d'autres trucs.
        Tout ceci t'affranchi de l'utilisation directe de la libc (c'est caché).
        Tu peux aussi bien sûr faire appel à des bibliotheques externes non xpcom. Le portage de ton composant dépendra alors du portage de ces libs.

        Bien sûr, suivant avec quel libc tu compiles, il peut y avoir des disfonctionnements sur d'autres distrib..
        En tout cas, tu n'auras rien à faire de spécifique dans ton code pour qu'il soit compilé pour linux ou pour windows ou mac os (sauf dans le .mozconfig/makefile evidement)
    • [^] # Re: Partage d'expérience?

      Posté par (page perso) . Évalué à 6.

      S'il faut 15s pour afficher une boîte de dialogue, alors ça ne peut servir que pour des grosses applications

      Le seul truc lourd, c'est le premier lancement de l'application. Le reste, l'affichage de la boite de dialogue, c'est quasi instannée (quand le fichier xul est en local bien évidement), à mois qu'il faille executer un script javascript de 15000 lignes pour initialiser les données qu'affiche la boite de dialogue.

      Pour te faire une idée de la rapidite : lance firefox. Toute l'interface est en XUL/Js/XBL/CSS (menu, boite de dialogue, tout) ;-)
      • [^] # Re: Partage d'expérience?

        Posté par (page perso) . Évalué à 9.

        Et bien justement, ce n'est pas vraiment un example probant, car par exemple sur ma machine qui n'est pas dernier cri, je peux voir très clairement une différence dans la vitesse d'affichage des dialogues de firefox, et de ceux de, disons, Skipstone (qui est un navigateur basé sur gecko et avec une interface native gtk2) ... C'est de l'ordre de l'instantané avec Skipstone, alors qu'avec Firefox, bien que cela soit tout à fait utilisable, ce n'est pas très agréable de voir les dialogues se dessiner sous ses yeux ... Donc sa question est tout à fait légitime, car si à cela on ajoute le fait que c'est bien long a charger au début, et bien on se rend compte que pour réaliser un petit utilitaire ce n'est pas forcément la panacée, sauf à se restreindre aux bêtes de course (ie. les machines de deux ans ou moins).
      • [^] # Re: Partage d'expérience?

        Posté par (page perso) . Évalué à 8.

        Firefox n'est pas complètement représentatif.

        Essaye Nvu ... Ou plutôt tente d'essayer, c'est d'une lourdeur qui va te faire regretter les dev en python/perl/ocaml avec gtk/qt ou alors qui va te faite acheter le dernier AMD.

        Xul a le même problème que Java, Flash, ..., une certaine idée de la portabilité. A utiliser uniquement pour des toutes petites choses style applet complémentaire à un site, pas plus.

        Je sais bien que mon commentaire ne vas pas faire plaisir, qu'il ne correspond pas à un certain cathéchisme (malheuresement trop fréquent ici). Je crois que XUL est une réelle innovation technique, mais il faut aussi reconnaître que cette techno présente _aussi_ des inconvénients.
        • [^] # Re: Partage d'expérience?

          Posté par . Évalué à 3.

          haheum ... Nvu est en développement ...

          comme je l'ai dit plus haut essaye betement les exemples du tuto ... il sont tres simples (les fichiers sont fournis, copié, collé).

          et chez moi c'est tres réactif ... (j'ai fait certaine captures d'ecran)

          Dam
          • [^] # Re: Partage d'expérience?

            Posté par (page perso) . Évalué à 2.

            Nvu a l'avantage d'être ue vrai application et est donc beaucoup plus représentatif que des tutos qui sont comme tu dis très "simples".
  • # Ca m'a l'air hyper bien !

    Posté par . Évalué à 5.

    J'ai regardé rapidement, je vais le lire de ce pas, mais bon la lecture sur ecran n'est pas la plus agréable, est il possible d'avoir un gros fichier html (pas multipage) pour une impression d'un coup d'un seul ?


    Bon je connais pas du tout le xul mais ca serait sympa d'essayer de faire un xulcoincoin... ;-)

    Hey ! Je suis pas le premier : http://xulfr.org/wiki/DamienHardy(...)
    http://linuxfr.org/comments/396483.html#396483(...)

    Cool !
  • # .

    Posté par . Évalué à 4.

    J'avais déjà essayé un tutoriel XUL (du temps de Mozilla 1.0), mais j'avais rencotré beaucoup de petits soucis :

    Le tutoriel n'expliquait pas comment faire une appli "standalone" comme firefox, mais un composant pur la suite mozilla, qui était lancé par l'exécutable mozilla.
    Et pour l'intégration à Mozilla (enregistrement des composant), c'était très flou, ça marchait en bidouillant, en googlant partout, les indications semblaient être obsolètes.
    Mais je pense que ces problèmes étaient dus à un manque de maturité de l'architecture de composants, et que ça a du être vachement amélioré depuis.

    Donc j'ai bien envie de regarder ça à nouveau !
    • [^] # Re: .

      Posté par . Évalué à 5.

      Bon j'ai parcouru en vitesse, et ça à l'air vraiment très complet et très bien ficelé !

      Par contre, sans le dire clairement, ça apprend à faire une extension pour mozilla et/ou firefox, et non une application à part entière, non ?

      Est-ce qu'il existe un endroit qui explique comment faire quelque chose comme Firefox/Thunderbird/Sunbird/Le-cédérom-du-monde-diplomatique/L'encyclopédie-Hachette ?
      • [^] # Re: .

        Posté par . Évalué à 3.

        Dans les toutes premières pages (je n'ai lu que ça), ils disent que pour l'instant, c'est possible mais très chiant (de faire une application stand-alone), et que les développeurs sont en train d'arranger ça. Donc, je suppose qu'il faudra attendre un peu avant d'avoir un tutorial sur La Bonne Manière de Faire.
      • [^] # Re: .

        Posté par (page perso) . Évalué à 2.

        ça apprend à faire une extension pour mozilla et/ou firefox, et non une application à part entière, non ?

        le tuto est pour les deux en fait (dans les 2 cas, on utilise du xul etc...). Mais c'est vrai que c'est plus orienté extensions/paquetages.

        Est-ce qu'il existe un endroit qui explique comment faire quelque chose comme Firefox/Thunderbird/Sunbird/Le-cédérom-du-monde-diplomatique/L'encyclopédie-Hachette ?

        Non. En gros, faut prendre les sources de mozilla, changer des trucs, supprimer des trucs etc... c'est super lourdingue pour le moment à faire, donc long à expliquer, donc c'est pour ça qu'il n'y a rien sur le sujet.

        Mais il y a xulrunner qui est en developpement et qui promet de rendre les choses beaaaaauuuuucoup plus facile
        http://xulfr.org/news/2004/08/21/46-LePointSurXulrunner(...)
        • [^] # Re: .

          Posté par . Évalué à 8.

          Il faudrait surtout que Mozilla sorte enfin une GRE independante, sur laquelle Firefox et Thunderbird se baseraient. Les developpeurs d'application Mozilla demandent ca depuis Mozilla 1.0, il suffit de lire la liste de diffusion project-owner de mozdev pour le voir.

          Mais ca la fondation Mozilla s'en fout, tout ce qui les interesse c'est de sortir un navigateur web, un client email et compagnie... Bref, ils ont une plate-forme de developpement multiplate-forme en or entre les mains et il vont la laisser se faire depasser par les concurrents avant de la rendre facilement exploitable par les developpeurs. C'est dommage.
          • [^] # Re: .

            Posté par (page perso) . Évalué à 3.

            Il faudrait surtout que Mozilla sorte enfin une GRE independante

            C'est le but du projet xulrunner il me semble... non ?
            • [^] # Re: .

              Posté par . Évalué à 1.

              Si j'ai bien compris XulRunner est une autre application basee sur Gecko. Je ne pense pas qu'il soit prevu que Firefox ou Thunderbird se base dessus.
        • [^] # 21 aout... :(

          Posté par . Évalué à 2.

          La news pointer date du 21 aout, y'a rien de plus neuf sur l'actualité de xulrunner ?

          "La première sécurité est la liberté"

  • # Petite note et petite remarque...

    Posté par (page perso) . Évalué à 3.

    Est-ce qu'un truc comme un plugin pourrait faire "marcher" le XUL sur IE ? pour les derniers réfractaires ? Genre un PHB qu'on peut pas convaincre de force :))) Parce pour certains truc en intranet, je trouve que c'est du pur bonheur .... J'ai commencé à écrire des trucs en PHP qui font du XUL (completement inutile et redondant, donc INDISPENSABLE :))) et je m'amuse beaucoup...

    Notes aux traducteurs : "Tricky" est ..."Tricky" à traduire, vous trouvez pas ? (voir http://xulfr.org/xulplanet/xultu/packaging.html(...) , tout en bas)

    Comment rendre le sens H2G2 ? genre :
    Big Tought - Mh... Tricky.

    Je pensais à "tordu" ou "tarabiscoté"...

    Comme j'ai déjà eu le problème (de temps je traduit des truc, moi aussi) je voudrais bien savoir si quelqu'un a une meilleure idée. J'enverrai un mail aux traducteurs si j'ai vraiment un truc satisfaisant (mais je crois bien que Laurent Jouanneau, par exemple, lit ce site...)
    • [^] # Re: Petite note et petite remarque...

      Posté par (page perso) . Évalué à 2.

      Est-ce qu'un truc comme un plugin pourrait faire "marcher" le XUL sur IE ?

      je crois qu'il existe un truc, fait avec des HTC pour interpreter du XUL dans une page web. M'enfin c'est trés limité dans la mesure où on ne peut pas profiter des xbl, des overlays etc...

      Notes aux traducteurs : "Tricky"

      Oups ! J'ai oublié de traduire ce truc ! Sur le moment, je n'avais pas de dico sous la main et j'avais mis ça entre *** pour me le rappeler lors de la relecture.... Visiblement, j'ai mal relu...

      Ça sera corrigé prochainement ! merci !
    • [^] # Re: Petite note et petite remarque...

      Posté par (page perso) . Évalué à 2.

      > "Tricky" est ..."Tricky" à traduire

      Je propose « délicat ». Sinon avec un peu d'argot « c'est pas de la tarte » ou une expression équivalente (« c'est coton », etc.)

      Envoyé depuis mon PDP 11/70

    • [^] # Re: Petite note et petite remarque...

      Posté par (page perso) . Évalué à 3.

      une nouvelle édition est sortie, corrigeant bon nombre de faute de grammaire et d'orthographe sur les premiers articles, et bien sûr, avec ces oublis de traduction en moins :-)

      Merci encore à toi.
  • # Lire "RAD with Mozilla" est aussi très utile !

    Posté par . Évalué à 4.

    Ce livre détaille tout ce qui est derrière XUL (et ça en fait !). Je trouve personnellement que XUL en lui même n'est pas beaucoup plus difficile à apprendre que HTML. Par contre XPCOM, XPI, l'internationnalisation des applications, leur packaging, c'est une autre paire de manches !

    A mon niveau (rookie :), ce livre m'a permis de comprendre une plus grande part du framework Mozilla.

    http://mozillazine-fr.org/archive.phtml?article=4600(...)

    Cela dit, mon point d'entrée a également été xulfr.org ^__^

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.