InfraSStudio dans l'écosystème Dolibarr
🌐 Chapitre 4 — InfraSStudio dans l'écosystème Dolibarr
Pour utiliser InfraSStudio efficacement, il faut comprendre son positionnement par rapport à Dolibarr et au module Website natif. Ce chapitre donne la vue d'ensemble : qui fait quoi, qui dépend de qui, et où s'arrête la responsabilité du module.
🏗️ Le triptyque Dolibarr / Website / InfraSStudio
Trois couches superposées, chacune avec un rôle précis.
Couche | Rôle |
|---|---|
🎨 InfraSStudio | Édition visuelle des slots, médias, traductions, catalogue produit dynamique, blog, SEO. |
🌐 Module Website (natif) | Stockage des pages, génération des wrappers Apache, gestion des virtualhosts, multicompany. |
🏛️ Dolibarr ERP | Tiers, produits, stocks, factures, utilisateurs, permissions, traductions, médias, base de données. |
Chaque couche s'appuie sur celle du dessous, sans la remplacer.
🏛️ Dolibarr ERP : la couche fondamentale
Dolibarr ERP est le socle. Il fournit tout ce dont les couches supérieures ont besoin :
- 🗄️ Une base de données structurée (~300 tables
llx_*). - 👥 Un système d'utilisateurs avec permissions granulaires.
- 🏢 Une gestion multicompany pour faire cohabiter plusieurs entités juridiques sur la même installation.
- ⚙️ Un système de constantes (
llx_const) pour stocker les configurations. - 🧱 Des classes métier réutilisables :
Product,Societe,Contact,User,CMailFile,Translate,DoliDB, etc. - 🌍 Un système de traductions par fichiers
.lang. - 🪝 Un système de hooks et de triggers pour étendre le comportement sans toucher au core.
✅ Bonne pratique — InfraSStudio s'appuie massivement sur ces fondations. Le module n'a presque pas de code « réinventé » : il utilise les classes Dolibarr natives partout où c'est possible.
🌐 Module Website : la couche d'hébergement
Le module Website de Dolibarr (livré nativement) gère les sites publics. Pour chaque site, il :
- 📝 Crée une entrée dans
llx_website(référence, virtualhost, langues, …). - 📄 Stocke les pages dans
llx_website_pageavec leur contenu HTML. - 💾 Génère un fichier
page<N>.tpl.phpsur le disque, dansDOL_DATA_ROOT/<entity>/website/<ref>/. - 🔗 Génère des wrappers Apache
<alias>.phpqui redirigent vers le bon template. - 🌍 Gère la cohabitation multilingue via les pages sœurs.
⚠️ Important — Le module Website est l'hôte d'InfraSStudio. Sans lui, InfraSStudio n'a rien à éditer. La dépendance est inscrite dans le descripteur du module : InfraSStudio ne s'active pas si Website n'est pas activé.
🎨 Module InfraSStudio : la couche d'édition
InfraSStudio ajoute par-dessus le module Website tout ce qui manque pour qu'un utilisateur non technique soit autonome :
- 🔍 Le scanner de slots qui découvre les zones éditables.
- 🖥️ L'éditeur 3 colonnes (Studio).
- 📁 La bibliothèque de médias mutualisée.
- 🌐 Le système de traductions synchronisé avec les .lang Dolibarr.
- 📦 Le catalogue produit dynamique qui transforme
llx_producten pages publiques. - 🚀 Le workflow draft / publish des slots.
- 🗺️ La génération de sitemap et les balises hreflang.
- 📄 Le système de gabarits pour créer de nouvelles pages depuis l'interface.
ℹ️ Ce qu'InfraSStudio ne fait PAS
- Il ne sert pas les pages publiques (Apache + Website s'en chargent).
- Il ne stocke pas les pages elles-mêmes (elles restent dans
llx_website_page). - Il ne gère pas les utilisateurs ni les permissions globales (Dolibarr le fait).
🔄 Comment se fait l'orchestration au rendu ?
Suivons une requête HTTP de bout en bout, pour voir où chaque couche intervient :
- 👤 Le visiteur demande
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 Website) inclutmaster.inc.phplocal et bootstrappe Dolibarr. - 📋 Le wrapper inclut ensuite
page<N>.tpl.phpcorrespondant. - 🔣 Le tpl.php rend le HTML, avec les tokens
{{slot:...}}et{{shortcode:...}}encore en place. - 🎨 InfraSStudio intercepte via le hook
completeHtmlOutputet résout chaque token (lecturellx_infrasstudio_slotfiltrée par locale, données Dolibarr fraîches). - 📤 Apache envoie le HTML final au navigateur.
✅ Résultat — Du point de vue du navigateur, c'est un HTML parfaitement classique. Aucune trace des tokens, aucun traitement JavaScript spécial.
💾 Stockage : où vit chaque chose ?
Pour bien comprendre le module, voici un tableau récapitulatif de où est stockée chaque donnée que vous manipulez.
Donnée | Emplacement |
|---|---|
Le HTML d'une page (avec tokens) | Disque + Base :
|
Métadonnées de page (SEO) |
|
Valeurs des slots (textes, images, couleurs) |
|
Brouillons en attente de publication |
|
Médias uploadés (fichiers physiques) | Disque :
|
Métadonnées des médias |
|
Texte alternatif par locale |
|
Traductions natives produit |
+
|
Traductions extrafields produit |
+
|
Historique des modifications |
|
Configuration du module |
(
) |
🚫 Ce que InfraSStudio ne remplace pas
Pour éviter toute confusion : InfraSStudio ne remplace aucun module Dolibarr existant. Voici ce que vous continuez à faire dans Dolibarr lui-même :
- 📦 Éditer une fiche produit (label, prix, catégories, photos attachées) → fiche produit Dolibarr standard. InfraSStudio édite uniquement les extrafields traduisibles et les libellés locaux, qui se synchronisent automatiquement.
- 👥 Gérer les tiers, contacts, devis, factures → modules natifs Dolibarr.
- 🔐 Gérer les utilisateurs et leurs permissions → admin Dolibarr.
- 🌐 Configurer un nouveau site Website (création, virtualhost, langues) → admin Website. InfraSStudio prend le relais après que le site est déclaré.
- 💾 Sauvegarder la base et les fichiers → procédure de sauvegarde Dolibarr standard.
✅ À retenir — InfraSStudio ne crée aucun outil parallèle. Il s'appuie sur l'existant.
🖼️ Une métaphore pour finir : la galerie d'art
Composant | Rôle dans la métaphore |
|---|---|
🏛️ Dolibarr ERP | Le musée : possède des collections (produits, tiers, médias), des cartels (libellés multilingues), des registres (ventes, factures). |
🌐 Module Website | La galerie où certaines œuvres sont exposées au public : il définit l'espace, les murs, l'éclairage. |
🎨 InfraSStudio | Le commissaire d'exposition : choisit comment les œuvres existantes sont mises en valeur, sans rien repeindre lui-même. Il met les cartels à jour, illumine les bonnes pièces. |
Quand le musée acquiert une nouvelle œuvre (un nouveau produit), elle est automatiquement exposée dans la galerie, dans la mise en page prévue par le commissaire. C'est le rôle du catalogue produit dynamique que nous découvrirons plus tard.