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
.
⚙️ 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
- Enregistrer un fournisseur de documents pour une source donnée (par exemple, « famille ») dans
LambiqueGlobal
- Accéder aux documents associés à une source spécifique via la procédure
GetDocument(source, ref_source)
exposée parLambiqueGlobal
- Définir une interface de fournisseur pour les documents locaux, ou à distance comme SharePoint
- 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.
💡 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.