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-->B max-->C max-->E max-->F max-->G max-->H max-->I 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") B["documentation"] C["editions"] C1["un dossier par édition
lien(s) symbolique(s) vers le dossier projet-editions"] 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/les fichiers de configuration,
  • documentation : contient la documentation de MaX,
  • 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 propres : 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.

      => On retrouve la même organisation (dossier ui) de ces sous-dossiers pour la configuration d’une édition particulière (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. La configuration spécifique de chaque édition se fera donc à l’extérieur du core dans le dossier [projet-]editions.

Il est ainsi fortement conseillé de ne modifier que ces deux dossiers :

Le dossier [projet-]editions

graph LR; classDef default color:#274868, fill:#fff, stroke:#274868; edition["[projet-]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 pour configurer le 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.