Organisation des dossiers et des fichiers

Le dossier projet-MaX

L’application MaX s’organise selon l’arborescence suivante :

graph LR; classDef default color:#274868, fill:#fff, stroke:#274868; max-->A max-->C max-->E max-->F max-->G max-->H max-->J A-->A1 C-->C1 H-->H1 H-->H3 H-->H4 H-->H5 H-->H6 H-->H7 H-->H8 max{"projet-MaX"} A["configuration"] A1("fichiers de configuration
configuration.xml") C["editions"] C1["un dossier par édition"] E["plugins"] F["rxq"] G["tools"] H["ui"] H1["css"] H3["i18n"] H4["images"] H5["js"] H6["lib"] H7["templates"] H8["xsl"] J("max.xq")
  • configuration : contient le(s) fichier(s) de configuration,
  • editions : contient les éditions hébergées par l’instance de MaX. Chaque édition a son propre dossier dans lequel sont stockées ses ressources spécifiques : HTML, XSLT, CSS, Javascript, XQuery, etc. Voir Création d’une edition,
  • plugins : contient les plugins. Chaque plugin dispose de son propre dossier de ressources : fichiers Javascript, XQuery, XSL, ... Voir la partie Plugins,
  • rxq : contient l’ensemble des modules RestXQ,
  • tools : contient les outils de déploiement : édition de démonstration, nouvelle édition, activation et désactivation de plugins,
  • ui :

    • css : feuilles de style natives de MaX,
    • i18n : ressources d’internationalisation,
    • images : images de MaX : logo et icônes de navigation,
    • js : sources Javascript de MaX,
    • lib : librairies externes,
    • templates : templates HTML*,
    • xsl : feuilles de transformations XSL natives de MaX.

      => Le dossier ui d’une édition donnée est divisé en sous-dossiers dont l'organisation est identique à celle-ci. (cf. ci-dessous Le dossier [projet]-editions)

  • max.xq : « contrôleur » RestXQ* de MaX.

Le moteur d’affichage XML est construit pour permettre l’exposition de n’importe quel vocabulaire XML. Néanmoins, deux vocabulaires ont fait l’objet de développements particuliers : EAD et TEI. Dans les dossiers rxq, ui/css, ui/js, ui/templates, ui/xsl, l’utilisateur peut trouver des dossiers ou fichiers spécifiques pour ces deux vocabulaires.

Le dossier [projet]-max constitue le cœur applicatif (core) de MaX. Il est ainsi fortement conseillé de ne modifier que ces deux dossiers :

Le dossier editions de MaX

graph LR; classDef default color:#274868, fill:#fff, stroke:#274868; edition["editions"] A["mon-edition"] edition-->A A-->B A-->C A-->D A-->E A-->F D-->D1 D-->D2 D-->D3 D1-->D4 D2-->D5 E-->E1 E-->E2 E-->E3 E-->E4 E-->E5 E-->E6 E-->E7 E1-->E8 E7-->E9 E7-->E10 E7-->E11 B("mon-edition_config_inc.xml") C("menu.xml") D["fragments"] D1["fr"] D2["en"] D3("footer.frag.html") D4("fichiers .frag.html") D5("fichiers .frag.html") E["ui"] E1["css"] E2["fonts"] E3["i18n"] E4["images"] E5["js"] E6["templates"] E7["xsl"] E8("mon-edition.css") E9["core"] E10["ead"] E11["tei"] F["xq"]
  • mon-edition_config_inc.xml : le fichier de configuration de l’édition qui permet de :
    • préciser le nom de la base de données, le vocabulaire utilisé, le prettyName (titre de l’édition récupéré sous forme de variable et affiché à divers endroits du site),
    • activer les plugins, etc.,
  • fragments : contient les pages statiques,
  • menu.xml : le fichier de configuration du menu,
  • ui : contient les dossiers pour les css, les xsl, le template html, les images, les polices, etc.,
  • xq : contient les fichiers de requêtes spécifiques à l’édition.