LambiqueFiles

Documentation – LambiqueFiles

Composant : LambiqueFiles

🎯 Description

LambiqueFiles est un module de gestion documentaire flexible qui permet de centraliser l’accès aux documents métier, qu’ils soient stockés localement ou dans des systèmes distants tels que SharePoint. Il fournit une interface uniforme pour accéder aux fichiers en fonction de leur source, facilitant l’intégration avec d’autres modules comme LambiqueCatalogue ou LambiqueCommerce.

🧩 Interopérabilité : LambiqueFiles permet d’ajouter facilement de nouveaux fournisseurs de documents (locaux ou distants) sans modifier les autres modules de l’application.

⚙️ Fonctionnalités clés

  • Gestion des documents via une abstraction de source (ex : famille, article, etc.)
  • Enregistrement dynamique de fournisseurs de documents (local, SharePoint, etc.)
  • Accès uniforme aux documents à partir de différents modules (Catalogue, Commerce, etc.)
  • Possibilité de gérer des systèmes de stockage multiples pendant une phase de transition (local vers distant)

🛠️ Utilisation

  1. Enregistrer un fournisseur de documents pour une source donnée (par exemple, « famille ») dans LambiqueGlobal
  2. Accéder aux documents associés à une source spécifique via la procédure GetDocument(source, ref_source) exposée par LambiqueGlobal
  3. Définir une interface de fournisseur pour les documents locaux, ou à distance comme SharePoint
  4. Interroger la source appropriée en fonction des besoins du module consommateur (ex : LambiqueCommerce)

🗂️ Exemple d’utilisation

// Exemple d'enregistrement d'un fournisseur de documents locaux
Enregistrer_GetDocument("famille", GetDocumentFamille)

// Exemple d'appel pour obtenir les documents d'une famille donnée
documents = GetDocument("famille", ref_famille)

🔄 Extension vers d’autres systèmes

Le module LambiqueFiles est conçu pour être extensible. Il est possible d’intégrer facilement des systèmes externes de gestion documentaire comme SharePoint en créant un fournisseur distinct pour ce système. L’idée est de respecter une interface commune, afin que les modules consommateurs puissent continuer à utiliser la même procédure GetDocument, indépendamment du backend.

⚙️ Exemple d’extension vers SharePoint : Il suffit de créer une procédure dédiée pour interroger SharePoint et la lier à la source « famille », tout en conservant la même interface pour l’appelant.

💡 Gestion de la transition entre différents backends

Si vous devez faire coexister plusieurs types de systèmes de stockage (local et distant), LambiqueFiles permet de configurer dynamiquement le backend utilisé pour chaque source, tout en conservant la transparence pour les modules appelants.

// Exemple de sélection du backend pour une source donnée
SI (backend = "SharePoint") ALORS
    Enregistrer_GetDocument("famille", GetDocumentFromSharePoint)
SINON
    Enregistrer_GetDocument("famille", GetDocumentFamille)
FIN

🔐 Sécurisation et Accès

Chaque fournisseur de documents, qu’il soit local ou distant, doit implémenter une gestion des permissions pour sécuriser l’accès aux fichiers. Cela peut inclure des contrôles d’accès au niveau du système de fichiers local ou des tokens d’authentification pour les systèmes distants comme SharePoint.

⚙️ Détails Techniques

LambiqueFiles repose sur LambiqueGlobal pour la gestion des fournisseurs de documents. La procédure GetDocument permet de récupérer dynamiquement des documents à partir d’une source donnée, en fonction de la référence fournie.

PROCÉDURE GetDocument(source est une chaîne, ref_source est une chaîne) : Tableau d’objets
    SI Existe(arrProc_GetDocument[source]) ALORS
        RETOURNE arrProc_GetDocument[source](ref_source)
    SINON
        RETOURNE []
    FIN

📅 Future évolution

Le module LambiqueFiles pourra évoluer pour inclure de nouveaux fournisseurs de documents (par exemple, des services de stockage cloud comme AWS S3 ou Google Drive), tout en préservant l’interface uniforme pour les modules consommateurs.