Skip to main content

InfraSStudio dans l'écosystème Dolibarr

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_website contenant la référence, le virtualhost et les langues.
  • Stockage des pages dans la table llx_website_page avec leur contenu HTML.
  • Génération d'un fichier page<N>.tpl.php sur le disque.
  • Création des wrappers Apache <alias>.php qui 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 .lang de Dolibarr.
  • Le catalogue produit dynamique, qui transforme la table llx_product en 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_page et 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 :

  1. Le visiteur demande une URL, par exemple https://exemple.com/page1.php.
  2. Apache reçoit la requête. Le virtualhost pointe vers le docroot du site.
  3. Le wrapper page1.php, généré par le module Website, inclut le fichier master.inc.php local et amorce Dolibarr.
  4. Le wrapper inclut ensuite le fichier page<N>.tpl.php correspondant.
  5. Le template produit le HTML, contenant encore les tokens {{slot:...}} et {{shortcode:...}}.
  6. InfraSStudio intercepte le HTML via le hook completeHtmlOutput et résout chaque token : valeurs courantes des slots filtrées par la locale du visiteur, données Dolibarr lues en direct.
  7. 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 (

page<N>.tpl.php

) et base (

llx_website_page.content

)

Métadonnées de page (titre SEO, description)

llx_website_page.title

,

description

,

keywords

,

image

Valeurs des slots

llx_infrasstudio_slot

Brouillons en attente de publication

llx_infrasstudio_slot.value_draft

Médias téléversés

DOL_DATA_ROOT/<entity>/medias/<type>/<site>/

Métadonnées des médias

llx_infrasstudio_media

Texte alternatif par locale

llx_infrasstudio_media_alt

Traductions natives produit

llx_product

(FR) et

llx_product_lang

(autres locales)

Traductions des extrafields produit

llx_product_extrafields

et

llx_infrasstudio_product_translation

Historique des modifications

llx_infrasstudio_revision

Configuration du module

llx_const

(constantes préfixées

INFRASSTUDIO_

)

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.