Outils pour utilisateurs

Outils du site


Panneau latéral

documentation:architecture

Ceci est une ancienne révision du document !


Architecture de base

  1. /engines (moteurs d'applications basés sur Zord)
    1. /library (pour les portails de textes)
      1. Zord-Core
        1. components/
          1. Zord-store
          2. Zord-library
    2. /shop (pour les boutiques)
      1. Zord-Core
        1. components/
          1. Zord-store
          2. Zord-shop
  2. /store (entrepôt de fichiers “produits” qui seront exploités par les “engines”)

Les différents composants

zord-core

= composant générique pour développer des applications Zord

Ce composant comprend des fonctions transverses sur lesquelles on peut s'appuyer pour développer n'importe quelle application

zord-store

= composant générique servant à ranger des ouvrages, au sens large (contenu et/ou métadonnées)

Ce composant comprend la fonction générique d'import : extraction de métadonnées, indexation de contenu/métadonnées, organisation des ressources associés (images, par exemple)

C'est sur la base de ces fonctions génériques que sont ensuite ajoutées les fonctions spécifiques à zord-library et au shop

zord-library

= composant générique pour des portails de publication d'ouvrage

Ce composant comprend la fonction générique d'import des fichiers XML-TEI qui fait le découpage en fragments et leur rendus en XTML/CSS/JavaScript

C'est sur la base de ce composant que l'on construit des portails spécifiques à tel ou tel éditeur (Untel1-library et Untel2-library)

Untel-library = composant des différentes instances des portails de Untel et dans chacune d'entre elles des options propres à chaque contexte : fonctionnalités et les rendus spécifiques.

Untel-common = composant d'accès aux applications/base de données spécifiques à Untel en lien avec Zord (catalogue produit, autres site de publication, etc)

Untel-shop = composant propres à Untel pour sa boutique

Zord déployé

/home/user/zord
  /counters
  /engines  <!-- c'est là que l'on rangera les différentes instances de Zord -->
  /scripts
  /stores <!-- ce sont les fichiers exploités par les différentes instances de Zord -->
../engines
    /library <!-- répertoire des instances pour les portails. Ci-dessous, les différentes instances de Zord déployées -->
      /dev
      /ivvq
      /prod
    /shop <!-- répertoire des instances de boutiques -->
      /dev
      /prod
../library/prod
    /.git <!-- remote = https://github.com/DrozNumerique/zord-core.git -->
    /classes
    /components
    /config
    /install
    /locales
    /templates
    /web
    .gitignore
    README.md
    boot.php
    invoke.php
    process.php
    zord

Dans le répertoire /components de Zord_Core, on va déployer (cloner) les composants Zord_library et Zord_shop et leur attribuer un numéro d'ordre bas car ce sont la base de nos fonctionnalités, styles, etc.

/zord/engines/library/prod/components/10-zord-library
    /.git <!-- remote = https://github.com/DrozNumerique/zord-library.git -->
    /build
    /classes
    /config
    /locales
    /logs
    /templates
    /web
    /xml
    .gitignore
    README.md
/home/user/zord/engines/library/prod/components/05-zord-store
    /.git <!-- remote = https://github.com/DrozNumerique/zord-store.git -->
    /classes
    /config
    /locales
    /templates
    /web
    .gitignore
    README.md

Si on veut surcharger ces deux composants avec des éléments propres à un contexte (une entreprise donnée, etc.) alors on clone une seconde fois l'un, l'autre ou ces deux composants en leur attribuant un numéro d'ordre plus élevé (20, 30, 40…) et un nom signifiant du type : 20-untel-store, 30-untel-libray, etc.

documentation/architecture.1634650680.txt.gz · Dernière modification: 2021/10/19 15:38 de chloe