Utilisateur:Delhovlyn/Brouillons/Structure d'une extension

Un article de Wikipédia, l'encyclopédie libre.





  • [extension].xpi : ZIP renommé
    • Firefox installe l'extension à partir de ce fichier (dépaquette tout seul, etc.)
  • install.rdf : RDF : fichier de type XML
    • Informations d'installation diverses : nom, auteur, date, version, image, site, adresse de mise à jour... (faire un liste plus complète)
  • dossier chrome/ : contenu de l'extension
    • Contient un fichier .jar (ZIP renommé), lequel contient :
      • dossier content/ : fichiers XUL et JavaScript
      • dossier locale/ : fichers de langue
      • dossier skin/ : fichiers d'apparence (CSS et images)
      • fichier content.rdf : « configuration de l'extension (nom de l'auteur, version, URL de mise à jour) » → à vérifier : doublonne avec install.rdf

  ╔════════════════════════════════════╗
  ║                                    ║
  ║   Explication de la construction   ║
  ║        d'une extension XPI         ║
  ║            pour Firefox            ║
  ║                                    ║
  ╚════════════════════════════════════╝


[Exemple avec "helloworld".]

_____________________________________________________


► "helloworld.xpi" (zip déguisé - fichier central)
    │
    ├→ "install.rdf" (xml pour l'installation) ┐
    │                                          ├→ deux fichiers pour assurer la compatibilité selon la version du logiciel (je crois).
    ├→ "install.js" (pour l'installation)      ┘
    │
    └→ dossier "chrome"
        │
        └→ "helloworld.jar" (zip déguisé)
             │
             ├→ dossier "skin" (apparence, design)
             │   │
             │   └→ dossier "classic" ─→ dossier "helloworld"
             │                                     │
             │                                     ├→ images (dont icônes)
             │                                     │
             │                                     └→ "contents.rdf" (... - xml à garder mais je sais pas trop à quoi il sert)
             │
             └→ dossier "content" ─→ dossier "helloworld"
                 │
                 ├→ "helloworldOverlay.xul" (xml appelant le javascript ci-dessous selon les actions effectués (clic droit, menus, etc.)
                 │
                 ├→ "helloworldOverlay.js" (javascript contenant les fonctions appelées par le xml ci-dessus)
                 │
                 ├→ "contents.rdf" (description, petits trucs obscurs)
                 │
                 └→ "about.xul" (boîte de dialogue "À propos", contenant nom, mail et site du créateur, plus images, infos, etc.)

► Conclusion :
  - Les fichiers "helloworldOverlay.*" (dans "chrome", puis "content") sont ceux qui contiennent
    la programmation de l'extension au sens propre. C'est donc là qu'il faut se plonger (surtout).