Skip to main content

InfraSStudio dans l'écosystème Dolibarr

🌐 Chapitre 4 — InfraSStudio dans l'écosystème Dolibarr

Pour utiliser InfraSStudiole module efficacement, il fautest utile de comprendre son positionnement par rapport à Dolibarr et au module Website natif. Ce chapitre donneprésente la vuerépartition d'ensembledes :rôles, quiles fait quoi, qui dépend de qui,dépendances et les s'arrêtelimites de la responsabilité du module.


Une

🏗️architecture Leen triptyquetrois Dolibarr / Website / InfraSStudiocouches

TroisLe module fonctionne dans un système composé de trois couches superposées, chacune avec un rôle précis.

Couche

Rôle

🎨 InfraSStudio

Édition visuelledes slots et des slots,médias, médias,gestion des traductions, catalogue produit dynamique, fonctionnalités de blog, SEO.outils de référencement.

🌐 Module Website (natif)natif Dolibarr)

Stockage des pages, génération des wrappersfichiers Apache, gestion des virtualhosts, support multicompany.

🏛️ Dolibarr ERP

Tiers, produits, stocks, factures, utilisateurs, permissions, traductions, médias, base de données.données, médias.

Chaque couche s'appuie sur celle duqui se trouve en dessous, sans la remplacer.remplacer ni la dupliquer.


🏛️ Dolibarr ERP :ERP, la couche fondamentale

Dolibarr ERP estconstitue le socle. Il fournit toutl'ensemble cedes services dont les couches supérieures ont besoin :

  • 🗄️ Une base de données structurée (~environ 300 tables préfixées llx_*llx_).
  • 👥 Un système d'utilisateurs avec permissionsgestion granulaires.fine des permissions.
  • 🏢 Une gestion multicompany pourpermettant faire cohabiterà plusieurs entités juridiques de cohabiter sur la même installation.
  • ⚙️ Un système de constantes (llx_const) pour stockerle lesstockage des configurations.
  • 🧱 Des classes métier réutilisables : Product, Societe, Contact, User, CMailFile, Translate, DoliDB, etc.
  • 🌍 Un système de traductions par fichiers .lang.
  • 🪝Des Unmécanismes systèmed'extension depar hooks et de triggers pour étendre le comportement sans toucher au core.triggers.

Recommandé Bonne pratique — InfraSStudio s'appuie massivement sur ces fondations. Le module n'as'appuie presquesystématiquement pas de code « réinventé » : il utilisesur les classes natives de Dolibarr natives partout où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 Module Website :Website, la couche d'hébergement

Le module Website deest Dolibarr (livré nativement)nativement gèreavec les sites publics.Dolibarr. Pour chaque site,site qu'il prend en charge, il assure les fonctions suivantes :

  • 📝Création Crée d'une entrée dans la table llx_website (contenant la référence, virtualhost,le langues,virtualhost …).et les langues.
  • 📄Stockage Stocke lesdes pages dans la table llx_website_page avec leur contenu HTML.
  • 💾Génération Génère d'un fichier page<N>.tpl.php sur le disque, dans disque.DOL_DATA_ROOT/<entity>/website/<ref>/.
  • 🔗 GénèreCréation des wrappers Apache <alias>.php qui redirigent vers le bon template.
  • 🌍Prise Gèreen lacharge cohabitationdu multilingue via lesle mécanisme de pages sœurs.sœurs.

⚠️Important Important — Le module Website est l'hôte d'InfraSStudio. Sans lui, InfraSStudiole module n'a rien à éditer. La dépendance est inscrite dans le descripteur du module : InfraSStudio nerefuse de s'active pasactiver si le module Website n'ne l'est pas activé.pas.


Le

🎨module Module InfraSStudio :InfraSStudio, la couche d'édition

InfraSStudio ajoute par-dessus le module Website toutl'ensemble cedes quifonctionnalités manquenécessaires pourà qu'un utilisateurusage par des utilisateurs non technique soit autonometechniques :

  • 🔍 Le scanner de slots qui découvredétecte automatiquement les zones éditables.
  • 🖥️ L'éditeur 3en trois colonnes (Studio).accessible depuis l'interface Dolibarr.
  • 📁 La bibliothèque de médias mutualisée.
  • 🌐 Le système de traductionstraductions, synchronisé avec les fichiers .lang de Dolibarr.
  • 📦 Le catalogue produit dynamiquedynamique, qui transforme la table llx_product en pages publiques.
  • 🚀 Le workflow draft / publish des slots.
  • 🗺️ La générationmécanisme de sitemapbrouillons et lesde publication.
  • La génération automatique du sitemap et des balises hreflang.
  • 📄 Le système de gabarits pourpermettant aux éditeurs de créer deleurs nouvellespropres pages depuis l'interface.pages.

ℹ️Note — Ce qu'InfraSStudio ne fait PASpas

  • Il ne sert pas les pages publiquespubliques. (Cette fonction est assurée par Apache +et Websitele s'enmodule chargent).Website.
  • Il ne stocke pas les pages elles-mêmesmêmes, (ellesqui 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 fait).rôle


de

🔄chaque Commentcouche, sesuivons faitle l'orchestrationparcours au rendu ?

Suivons d'une requête HTTP de bout en bout, pour voir où chaque couche intervientbout :

  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 Website)le module Website, inclut le fichier master.inc.php local et bootstrappeamorce Dolibarr.
  4. 📋 Le wrapper inclut ensuite le fichier page<N>.tpl.php correspondant.
  5. 🔣 Le tpl.phptemplate rendproduit le HTML, aveccontenant encore les tokens {{slot:...}} et {{shortcode:...}} encore en place..
  6. 🎨 InfraSStudio intercepte le HTML via le hook completeHtmlOutput et résout chaque token (lecture: llx_infrasstudio_slotvaleurs filtréecourantes des slots filtrées par locale,la locale du visiteur, données Dolibarr fraîches).lues en direct.
  7. 📤Apache Apachetransmet envoieau navigateur le HTML finalfinal, audépourvu navigateur.de tout token.

Résultat Résultat — Du point de vue du navigateur, c'la page est un document HTML parfaitementstandard. classique.Aucun Aucunetoken tracen'est desvisible tokens,et aucun traitement JavaScript spécial.spécifique n'est nécessaire.


L'emplacement

💾des Stockage : où vit chaque chose ?données

Pour bien comprendre le module,module voicien unprofondeur, le tableau récapitulatifci-dessous récapitule où chaque type de donnée est stockée chaque donnée que vous manipulez.stocké.

Donnée

Emplacement

Le HTML d'une page (avec tokens)

Disque +(

page<N>.tpl.php

) Baseet :base (

llx_website_page.content

)

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

llx_website_page.title/description/keywords/title

,

description

,

keywords

,

image

Valeurs des slots (textes, images, couleurs)

llx_infrasstudio_slot

Brouillons en attente de publication

llx_infrasstudio_slot.value_draft

Médias uploadés (fichiers physiques)téléversés

Disque :

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_*INFRASSTUDIO_

)


🚫 Ce quequi InfraSStudioreste géré dans Dolibarr lui-même

Le module ne remplace pas

Pour éviter toute confusion : InfraSStudio ne remplace aucun module Dolibarr existant. VoiciLes ceopérations quesuivantes vous continuezcontinuent à se faire dans Dolibarr lui-même :

  • 📦L'édition Éditer d'une fiche produit (label,libellé, prix, catégories, photos attachées)rattachées) reste l'usage standard de la fiche produit DolibarrDolibarr. standard.Le module InfraSStudio n'édite uniquementque les extrafields traduisibles et lesleurs libellésversions locaux,linguistiques, qui se synchronisent automatiquement.automatiquement avec la fiche native.
  • 👥La Gérergestion lesdes tiers, des contacts, devis,des devis et des factures s'effectue via les modules natifs Dolibarr.
  • 🔐L'administration Gérer lesdes utilisateurs et leursdes permissions reste admindans l'interface d'administration Dolibarr.
  • 🌐La Configurercréation d'un nouveau site Website (création,référence, virtualhost, langues)langues principales) adminse fait dans l'administration du module Website. InfraSStudio prend ensuite le relais aprèspour quel'édition ledu site est déclaré.contenu.
  • 💾La Sauvegardersauvegarde de la base et lesdes fichiers suit la procédure standard de sauvegarde Dolibarr standard.Dolibarr.

Recommandé À retenir Le InfraSStudiomodule ne crée aucun outil parallèle. pour ces fonctions. Il s'appuie sur l'existant.existant, ce qui simplifie la formation et limite la duplication d'information.


🖼️ Une métaphoreanalogie pour finirconclure

:

L'écosystème laDolibarr et ses extensions peuvent être comparés à un musée et sa galerie d'artexposition.

Composant

Rôle dans la métaphore

🏛️ Dolibarr ERP

Le

musée

musée. :Il possèdeabrite desles collections (produits, tiers, médias), desles cartelsnotices (libellés multilingues), deset les registres (ventes, factures).

🌐 Module Website

La

galerie

d'exposition. certaines œuvres sont exposées au public : ilElle définit l'espace,espace et l'éclairage où les murs,œuvres l'éclairage.choisies sont présentées au public.

🎨 InfraSStudio

Le

commissaire d'exposition

exposition. :Il choisit commentla mise en valeur des œuvres existantes, sans intervenir sur les œuvres existantes sont mises en valeur, sans rien repeindre lui-même.elles-mêmes. Il metrédige les cartelsnotices àet jour, illumineorganise les bonnes pièces.parcours.

Quand le musée acquiert Lorsqu'une nouvelle œuvre (unrejoint nouveaules produit),collections du musée, elle est automatiquement exposéeprésentée dans la galerie,galerie dansselon la mise en page prévue par le commissaire.prévue. C'est le rôle du catalogue produit dynamique, queprésenté nousen découvrironsdétail plusau tard.Chapitre 15.