CHAPITRE 4 — InfraSStudio dans l'écosystème Dolibarr
Pour utiliser le module efficacement, il est utile de comprendre son positionnement par rapport à Dolibarr et au module Website natif. Ce chapitre présente la répartition des rôles, les dépendances et les limites de la responsabilité du module.
Une architecture en trois couches
Le module fonctionne dans un système composé de trois couches superposées, chacune avec un rôle précis.
Couche | Rôle |
|---|---|
InfraSStudio | Édition des slots et des médias, gestion des traductions, catalogue produit dynamique, fonctionnalités de blog, outils de référencement. |
Module Website (natif Dolibarr) | Stockage des pages, génération des fichiers Apache, gestion des virtualhosts, support multicompany. |
Dolibarr ERP | Tiers, produits, factures, utilisateurs, permissions, traductions, base de données, médias. |
Chaque couche s'appuie sur celle qui se trouve en dessous, sans la remplacer ni la dupliquer.
Dolibarr ERP, la couche fondamentale
Dolibarr ERP constitue le socle. Il fournit l'ensemble des services dont les couches supérieures ont besoin :
- Une base de données structurée (environ 300 tables préfixées
llx_). - Un système d'utilisateurs avec gestion fine des permissions.
- Une gestion multicompany permettant à plusieurs entités juridiques de cohabiter sur la même installation.
- Un système de constantes pour le stockage des configurations.
- Des classes métier réutilisables :
Product,Societe,Contact,User,CMailFile,Translate, etc. - Un système de traductions par fichiers
.lang. - Des mécanismes d'extension par hooks et triggers.
Recommandé — Le module s'appuie systématiquement sur les classes natives de Dolibarr lorsque c'est possible. Cette approche garantit la cohérence avec le reste de l'instance et limite les divergences en cas de mise à jour de Dolibarr.
Le module Website, la couche d'hébergement
Le module Website est livré nativement avec Dolibarr. Pour chaque site qu'il prend en charge, il assure les fonctions suivantes :
- Création d'une entrée dans la table
llx_websitecontenant la référence, le virtualhost et les langues. - Stockage des pages dans la table
llx_website_pageavec leur contenu HTML. - Génération d'un fichier
page<N>.tpl.phpsur le disque. - Création des wrappers Apache
<alias>.phpqui redirigent vers le bon template. - Prise en charge du multilingue via le mécanisme de pages sœurs.
Important — Le module Website est l'hôte d'InfraSStudio. Sans lui, le module n'a rien à éditer. La dépendance est inscrite dans le descripteur : InfraSStudio refuse de s'activer si le module Website ne l'est pas.
Le module InfraSStudio, la couche d'édition
InfraSStudio ajoute par-dessus le module Website l'ensemble des fonctionnalités nécessaires à un usage par des utilisateurs non techniques :
- Le scanner de slots qui détecte automatiquement les zones éditables.
- L'éditeur en trois colonnes accessible depuis l'interface Dolibarr.
- La bibliothèque de médias mutualisée.
- Le système de traductions, synchronisé avec les fichiers
.langde Dolibarr. - Le catalogue produit dynamique, qui transforme la table
llx_producten pages publiques. - Le mécanisme de brouillons et de publication.
- La génération automatique du sitemap et des balises hreflang.
- Le système de gabarits permettant aux éditeurs de créer leurs propres pages.
Note — Ce qu'InfraSStudio ne fait pas
- Il ne sert pas les pages publiques. Cette fonction est assurée par Apache et le module Website.
- Il ne stocke pas les pages elles-mêmes, qui restent dans
llx_website_pageet leurs templates correspondants. - Il ne gère pas les utilisateurs ni les permissions globales : ce sont les utilisateurs Dolibarr qui sont autorisés via les permissions du module.
Le déroulement d'une requête publique
Pour clarifier le rôle de chaque couche, suivons le parcours d'une requête HTTP de bout en bout :
- Le visiteur demande une URL, par exemple
https://exemple.com/page1.php. - Apache reçoit la requête. Le virtualhost pointe vers le docroot du site.
- Le wrapper
page1.php, généré par le module Website, inclut le fichiermaster.inc.phplocal et amorce Dolibarr. - Le wrapper inclut ensuite le fichier
page<N>.tpl.phpcorrespondant. - Le template produit le HTML, contenant encore les tokens
{{slot:...}}et{{shortcode:...}}. - InfraSStudio intercepte le HTML via le hook
completeHtmlOutputet résout chaque token : valeurs courantes des slots filtrées par la locale du visiteur, données Dolibarr lues en direct. - Apache transmet au navigateur le HTML final, dépourvu de tout token.
Résultat — Du point de vue du navigateur, la page est un document HTML standard. Aucun token n'est visible et aucun traitement JavaScript spécifique n'est nécessaire.
L'emplacement des données
Pour comprendre le module en profondeur, le tableau ci-dessous récapitule où chaque type de donnée est stocké.
Donnée | Emplacement |
|---|---|
HTML d'une page (avec tokens) | Disque (
) et base (
) |
Métadonnées de page (titre SEO, description) |
,
,
,
|
Valeurs des slots |
|
Brouillons en attente de publication |
|
Médias téléversés |
|
Métadonnées des médias |
|
Texte alternatif par locale |
|
Traductions natives produit |
(FR) et
(autres locales) |
Traductions des extrafields produit |
et
|
Historique des modifications |
|
Configuration du module |
(constantes préfixées
) |
Ce qui reste géré dans Dolibarr lui-même
Le module ne remplace aucun module Dolibarr existant. Les opérations suivantes continuent à se faire dans Dolibarr :
- L'édition d'une fiche produit (libellé, prix, catégories, photos rattachées) reste l'usage standard de la fiche produit Dolibarr. Le module InfraSStudio n'édite que les extrafields traduisibles et leurs versions linguistiques, qui se synchronisent automatiquement avec la fiche native.
- La gestion des tiers, des contacts, des devis et des factures s'effectue via les modules natifs Dolibarr.
- L'administration des utilisateurs et des permissions reste dans l'interface d'administration Dolibarr.
- La création d'un nouveau site Website (référence, virtualhost, langues principales) se fait dans l'administration du module Website. InfraSStudio prend ensuite le relais pour l'édition du contenu.
- La sauvegarde de la base et des fichiers suit la procédure standard de Dolibarr.
Recommandé — Le module ne crée aucun outil parallèle pour ces fonctions. Il s'appuie sur l'existant, ce qui simplifie la formation et limite la duplication d'information.
Une analogie pour conclure
L'écosystème Dolibarr et ses extensions peuvent être comparés à un musée et sa galerie d'exposition.
Composant | Rôle |
|---|---|
Dolibarr ERP | Le musée. Il abrite les collections (produits, tiers, médias), les notices (libellés multilingues) et les registres (ventes, factures). |
Module Website | La galerie d'exposition. Elle définit l'espace et l'éclairage où les œuvres choisies sont présentées au public. |
InfraSStudio | Le commissaire d'exposition. Il choisit la mise en valeur des œuvres existantes, sans intervenir sur les œuvres elles-mêmes. Il rédige les notices et organise les parcours. |
Lorsqu'une nouvelle œuvre rejoint les collections du musée, elle est automatiquement présentée dans la galerie selon la mise en page prévue. C'est le rôle du catalogue produit dynamique, présenté en détail au Chapitre 15.