PARTIE V — Administration et maintenance

CHAPITRE 25 — Configuration avancée (constantes)

Le module expose une vingtaine de constantes Dolibarr qui permettent d'ajuster son comportement. Ce chapitre les classe par catégorie d'usage avec les valeurs typiques.

Sites gérés

Constante

Description

INFRASSTUDIO_MANAGED_SITES

CSV des identifiants de sites gérés. Exemple :

1,2,5

.

INFRASSTUDIO_SITE_<id>_MEDIA_MODE

Mode média par site.

native

(par défaut) ou

module

.

INFRASSTUDIO_SITE_<id>_BLOG_INDEX_PAGE

Identifiant de la page d'index du blog (active l'assistant « + Nouvel article »).

INFRASSTUDIO_SITE_<id>_DOCROOT

Surcharge du docroot Apache pour ce site spécifique.

Portabilité du système de fichiers

Pour les hébergements aux configurations non standards :

Constante

Description

INFRASSTUDIO_DOCROOT_PATTERN

Modèle de chemin partagé utilisant le marqueur

{ref}

. Exemple :

/srv/sites/{ref}

.

INFRASSTUDIO_TEMPLATE_EXTRA_DIR

Dossier supplémentaire à scanner pour les gabarits de page.

Note — Cascade de résolution — Pour le docroot d'un site, l'ordre de recherche est : INFRASSTUDIO_SITE_<id>_DOCROOT, puis INFRASSTUDIO_DOCROOT_PATTERN, puis le repli sur /var/www/<ref>.

Catalogue produit

Constante

Description

INFRASSTUDIO_WEBSITE_KEY

Référence du site cible des wrappers solution.

INFRASSTUDIO_PUBLIC_DOCROOT

Docroot Apache absolu où écrire les wrappers.

INFRASSTUDIO_PRODUCT_UNIVERS_MAP

Surcharge JSON de la cartographie catégorie vers univers.

INFRASSTUDIO_TRANSLATABLE_PRODUCT_FIELDS

CSV de slugs de champs personnalisés à déclarer comme traduisibles, en complément du registre par défaut.

INFRASSTUDIO_TRANSLATABLE_PRODUCT_FIELDS_JSON

Surcharge JSON complète du registre.

INFRASSTUDIO_SITE_<id>_WRAPPER_PREFIX

Préfixe des wrappers (par défaut

solution-

).

INFRASSTUDIO_SITE_<id>_WRAPPER_TEMPLATE_PAGEURL

Slug du gabarit (par défaut

solution-detail

).

Apparence du Studio

Constante

Valeurs

Par défaut

INFRASSTUDIO_UI_THEME

light

,

dark

light

INFRASSTUDIO_UI_ACCENT

indigo

,

ochre

,

plum

,

forest

indigo

Multilingue côté gabarits

Constante

Description

INFRASSTUDIO_LANG_ISO

Force la langue active. Définie dynamiquement par les gabarits.

INFRASSTUDIO_LANG_COOKIE

Nom du cookie de persistance de la langue (par défaut

infras_lang

).

INFRASSTUDIO_LANG_MAP_JSON

Surcharge de la cartographie ISO2 vers locale (exemple :

{"en":"en_GB"}

).

INFRASSTUDIO_BLOG_FALLBACK_IMAGE

Image par défaut affichée lorsqu'un article ne possède pas d'image principale.

Compatibilité et débogage

Constante

Description

INFRASSTUDIO_DOL_VERSION

Version de Dolibarr lors de l'activation du module. Géré automatiquement.

INFRASSTUDIO_MAIN_VERSION

Version du module. Géré automatiquement.

INFRASSTUDIO_DISABLE_CHECK_VERSION_MIN

À régler sur

1

pour contourner la vérification de version Dolibarr minimale (usage avancé).

Définir une constante

Méthode A — Via l'administration du module

La majorité des constantes sont accessibles dans Outils → InfraSStudio → Configuration, dans la section dépliable « Réglages avancés ». Le formulaire valide les saisies et affiche des avertissements non bloquants en cas d'incohérence.

Méthode B — Via SQL
INSERT INTO llx_const (name, value, type, visible, entity)
VALUES ('INFRASSTUDIO_DOCROOT_PATTERN', '/srv/sites/{ref}', 'chaine', 0, 2);
Méthode C — Via PHP en ligne de commande
php -r "
require 'htdocs/master.inc.php';
\$conf->entity = 2;
dolibarr_set_const(\$db, 'INFRASSTUDIO_DOCROOT_PATTERN', '/srv/sites/{ref}',
    'chaine', 0, '', 2);
"

Vérifier la configuration

Après chaque modification de constante, lancez la page Diagnostic du module. Elle valide en direct l'existence des chemins, la cohérence des modèles, etc.

Onglet Sites — administration centralisée

L'onglet Outils → InfraS → InfraSStudio → Configuration → Sites est le point d'entrée canonique pour piloter chaque site Dolibarr Website pris en charge par le module. Il consolide en une seule page la liste des sites détectés, leur statut (géré / non géré), le nombre de pages et de slots qu'ils contiennent, la date de dernière édition et les actions disponibles pour chacun : configurer, voir le site public, exporter en ZIP, restaurer depuis un ZIP, nettoyer.

Le tableau s'alimente à la volée à partir de llx_website, llx_website_page et llx_infrasstudio_slot. Aucune configuration préalable n'est nécessaire : tout site Dolibarr Website existant apparaît automatiquement dans la liste, qu'il soit déjà géré par InfraSStudio ou non.

Configurer automatiquement un site

Pour un site qui n'est pas encore géré par le module (par exemple un site Dolibarr Website existant créé avant l'activation d'InfraSStudio), le bouton « Configurer automatiquement » exécute en un clic la cascade d'opérations habituellement éparpillées dans plusieurs pages d'administration :

  1. Détection du docroot Apache effectif en suivant la cascade de résolution en cinq niveaux : INFRASSTUDIO_SITE_<id>_DOCROOTINFRASSTUDIO_DOCROOT_PATTERN → entrée dans /etc/apache2/sites-enabled/ → réutilisation d'un docroot voisin → repli /var/www/<ref>.
  2. Pose des constantes INFRASSTUDIO_WEBSITE_KEY et INFRASSTUDIO_PUBLIC_DOCROOT.
  3. Ajout du site à INFRASSTUDIO_MANAGED_SITES pour qu'il apparaisse dans le Studio.
  4. Patch des pageN.tpl.php pour invoquer le moteur de slots.
  5. Scan initial des tokens {{slot:...}} présents dans le HTML et peuplement de llx_infrasstudio_slot.

L'opération est idempotente — un site déjà configuré ne sera pas écrasé, et un re-clic ne pose aucun problème. Pratique pour aligner d'un coup une instance qui contient déjà plusieurs sites Dolibarr Website.

Voir mon site public

Le bouton « Voir mon site public » ouvre dans un nouvel onglet l'URL publique réelle du site, telle qu'un visiteur la verrait. L'URL est résolue dynamiquement à partir du docroot configuré et du virtual host Apache associé, ce qui évite d'avoir à mémoriser ou retaper l'adresse. Le même bouton est également présent dans la barre supérieure de l'éditeur Studio pour basculer en un clic entre l'édition et le rendu live.

Sitemap automatique

Chaque site géré dispose d'un fichier sitemap.xml régénéré automatiquement à chaque modification de page. Pas de cron à configurer, pas de bouton à cliquer : la classe StudioSitemap est appelée à la volée chaque fois qu'un slot est publié, qu'une page passe de brouillon à publié ou inversement, ou qu'une page est dupliquée ou supprimée. Le sitemap respecte les bonnes pratiques SEO : les pages en brouillon sont exclues, les pages sœurs (canon + traductions) sont regroupées avec leurs <xhtml:link rel="alternate">.

Exporter un site en ZIP

Le bouton « Exporter en ZIP » télécharge une archive complète des données InfraSStudio du site sélectionné, indépendamment du dump SQL global de Dolibarr. L'archive contient :

Cette archive sert principalement à :

Restaurer un site depuis un ZIP

Le bouton « Restaurer depuis un ZIP » applique un export précédemment téléchargé sur le site sélectionné. La restauration est idempotente et préserve par défaut les éditions utilisateur déjà présentes :

Note — Cleanup automatique — Quand un site Dolibarr Website est supprimé via l'interface native (Module Site Internet → Supprimer), un hook InfraSStudio déclenche automatiquement le nettoyage en cascade des données associées : slots, médias, configurations de formulaire scopées au site, wrappers solution-*.php, retrait de INFRASSTUDIO_MANAGED_SITES. Aucune donnée orpheline ne reste en base. Le helper infrasstudio_cleanup_after_website_delete() est également exposé pour les scripts CLI de migration ou de réinitialisation d'instance.

Récapitulatif

Vous savez désormais :

CHAPITRE 26 — Diagnostic et résolution des incidents

Lorsqu'un comportement inattendu apparaît, ce chapitre vous guide dans la résolution. Le réflexe à adopter est simple : commencer par la page Diagnostic, lire les journaux, et n'envisager une action plus radicale qu'en dernier recours.

Toujours commencer par la page Diagnostic

Outils → InfraSStudio → onglet Diagnostic. Le contrôle visuel (vert, orange, rouge) couvre :

À retenir — 80 % des incidents signalés sont en réalité une ligne rouge ou orange du Diagnostic ignorée. Demandez systématiquement à toute personne qui rapporte un dysfonctionnement de joindre d'abord cette capture.

Lire les journaux Dolibarr

Le module utilise dol_syslog() pour tracer les opérations sensibles, avec le préfixe infrasstudio.

Emplacement
htdocs/documents/dolibarr.log
Filtrer les entrées du module
# Toutes les entrées du module
grep "infrasstudio" htdocs/documents/dolibarr.log

# Uniquement les erreurs
grep "infrasstudio.*LOG_ERR" htdocs/documents/dolibarr.log

# Suivi en temps réel pendant qu'un utilisateur reproduit le problème
tail -f htdocs/documents/dolibarr.log | grep infrasstudio

Conseil — Activer le niveau DEBUG — Pour traquer un incident subtil, augmentez temporairement le niveau de journalisation Dolibarr (Configuration → Sécurité → Système) à LOG_DEBUG. Pensez à le rabaisser une fois le diagnostic terminé.

Incidents fréquents et solutions

Incident

Cause probable

Solution

Le menu InfraS n'apparaît pas dans Outils

L'utilisateur ne possède pas la permission paramMenu.

Onglet Permissions de l'utilisateur, cocher paramMenu dans la section InfraSStudio.

Les modifications ne sont pas visibles publiquement

Modifications restées en brouillon sans être publiées.

Cliquer sur « Publier les modifications » dans la barre d'outils. Voir le Chapitre 12.

L'aperçu affiche une erreur 404

La page possède un type_container other, menu ou setup, et le filtre du noyau la bloque.

Le module corrige automatiquement ce comportement depuis la version 1.8.7. Vérifiez que vous êtes en version 1.8.7 ou supérieure.

Erreur réseau dans l'éditeur (erreur AJAX)

Session Dolibarr expirée, ou avertissement PHP émis avant les en-têtes HTTP.

Recharger la page Studio (F5). Si le problème persiste, consultez dolibarr.log pour identifier l'erreur PHP réelle.

Les images téléversées ne s'affichent pas publiquement

Lien symbolique medias manquant ou cassé en mode native.

Recréer le lien symbolique avec ln -sfn ..., ou basculer le site en mode média module.

Les wrappers solution-*.php ne se génèrent pas

INFRASSTUDIO_WEBSITE_KEY ou INFRASSTUDIO_PUBLIC_DOCROOT non configurées.

Configurer ces deux constantes dans Outils → InfraSStudio → Configuration → Wrappers.

Les slots ne se mettent pas à jour après modification du tpl.php

Le scanner n'a pas été lancé.

Outils → InfraSStudio → Contenu → bouton « Rescanner ». Ou en ligne de commande : php scripts/rescan_slots.php <ref-site>.

Réinitialiser le module

Si le module se trouve dans un état incohérent (utilisation impossible, erreurs SQL persistantes), vous pouvez le réinitialiser :

  1. Configuration → Modules → InfraSStudio → cliquer sur Désactiver.
    • Le module sauvegarde toutes ses constantes sous le préfixe INFRASSTUDIOBKP_.
  2. Cliquer à nouveau sur Activer.
    • Le module restaure ses constantes, recrée les tables manquantes et réenregistre les hooks.

Aucune perte de données — Les valeurs de slot, les médias et les traductions sont conservés dans leurs tables respectives. La désactivation puis réactivation ne touche qu'au descripteur et aux hooks.

Demander de l'aide

Si rien ne fonctionne, préparez ces trois informations avant toute demande d'aide :

  1. Capture d'écran de la page Diagnostic complète.
  2. Les vingt dernières lignes de dolibarr.log filtrées sur infrasstudio.
  3. La version exacte du module et de Dolibarr (visibles en haut de la page Diagnostic).

Avec ces trois éléments, n'importe quel développeur connaissant le module peut établir un diagnostic en quelques minutes.

Récapitulatif

Vous savez désormais :

CHAPITRE 27 — Permissions et rôles utilisateur

Le module expose sept permissions distinctes, attribuables finement aux utilisateurs Dolibarr. Ce chapitre vous indique les attributions à privilégier en fonction des rôles, dans l'esprit du principe de moindre privilège.

Les sept permissions du module

Permission

Ce qu'elle autorise

paramMenu

Voir l'entrée InfraS dans le menu Outils. Sans cette permission, le module est invisible pour l'utilisateur.

readContent

Consulter le contenu (pages, slots, médias) en lecture seule. Aucune modification possible.

editContent

Modifier les valeurs des slots (textes, images, couleurs, etc.) en brouillon.

editTranslations

Saisir et modifier les traductions (slots et fiches produit).

editMedias

Téléverser, modifier et supprimer des médias dans la bibliothèque.

publish

Publier les brouillons en attente, mettre en ligne ou retirer des pages.

admin

Configurer le module (sites gérés, constantes), supprimer des pages, accéder au Diagnostic.

Note — Un utilisateur portant le drapeau Dolibarr « Super-administrateur » contourne toutes les permissions du module. Ce comportement est volontaire pour rester cohérent avec la philosophie de Dolibarr. Pour tester finement les permissions, utilisez un compte non administrateur.

Les rôles types

Plutôt que d'attribuer les permissions une à une à chaque utilisateur, il est préférable de définir des profils que vous appliquerez ensuite aux comptes. Cinq profils types couvrent la grande majorité des cas :

Rôle / Profil

Types de permission

Autorisation

Lecteur

Personne qui consulte le site sans le modifier (commercial, support, juriste relisant la conformité).

paramMenu

Oui

readContent

Oui

Toutes les autres

Non

Rédacteur

Personne qui modifie les contenus mais ne publie pas seule (mise en place d'un circuit de relecture).

paramMenu

Oui

readContent

Oui

editContent

Oui

editMedias

Oui

publish

Non (pas de publication directe)

Traducteur

Personne qui n'effectue que des traductions (souvent un prestataire externe).

paramMenu

Oui

readContent

Oui

editTranslations

Oui

Toutes les autres

Non

Rédacteur autonome

Personne qui rédige et publie seule (équipe restreinte, indépendant, etc.).

paramMenu

Oui

readContent

Oui

editContent

Oui

editMedias

Oui

editTranslations

Oui

publish

Oui

Administrateur du module

Développeur de l'agence ou responsable technique du site.

Toutes les permissions

Oui

Attribuer les permissions à un utilisateur

  1. Rendez-vous dans Accueil → Utilisateurs et Groupes → Liste des utilisateurs.
  2. Sélectionnez l'utilisateur cible.
  3. Cliquez sur l'onglet Permissions.
  4. Faites défiler jusqu'à la section InfraSStudio.
  5. Cochez les permissions à attribuer.
  6. Enregistrez.

Conseil — Utilisez les groupes — Si vous administrez plusieurs rédacteurs, créez un groupe Dolibarr (par exemple « InfraS Rédacteurs ») et attribuez-lui les permissions. Les utilisateurs ajoutés au groupe en héritent automatiquement.

Mettre en place un circuit de relecture

Voici comment exploiter les permissions pour un circuit de relecture propre :

Acteur

Permissions

Tâche

Rédacteur

readContent + editContent + editMedias

Modifie les slots et prépare les brouillons.

Relecteur

readContent

Consulte les brouillons dans l'aperçu, valide ou demande des modifications.

Publicateur

readContent + publish

Publie les brouillons après validation du relecteur.

Récapitulatif

Vous savez désormais :

CHAPITRE 28 — Mise à jour du module

Les mises à jour du module s'effectuent sans interruption visible côté visiteurs. Ce chapitre présente la procédure standard et les précautions à observer.

Avant la mise à jour — liste de contrôle

Sur une instance de production, ne sautez jamais ces étapes :

Procédure standard

Étape 1 — Désactiver le module

Configuration → Modules → InfraSStudio → cliquer sur Désactiver.

Effet de la désactivation — Les constantes du module sont sauvegardées sous le préfixe INFRASSTUDIOBKP_. Les tables et leurs données restent intactes. L'entrée Outils → InfraS disparaît.

Étape 2 — Remplacer les fichiers

Trois méthodes selon votre environnement :

Via l'interface Dolibarr

  1. Configuration → Modules → bouton « Déployer / installer un module ».
  2. Sélectionner la nouvelle archive module_infrasstudio-X.Y.Z.zip.
  3. Confirmer le remplacement.

Via SSH ou FTP

cd /var/www/dolibarr/htdocs/custom/
mv infrasstudio infrasstudio.old.20260504
unzip /tmp/module_infrasstudio-1.9.0.zip
chown -R www-data:www-data infrasstudio/

Via Git

cd /var/www/dolibarr/htdocs/custom/infrasstudio
git fetch --tags
git checkout v1.9.0
Étape 3 — Réactiver le module
  1. Configuration → Modules → InfraSStudio → cliquer sur Activer.
  2. Le module exécute alors :
    • la restauration des constantes INFRASSTUDIOBKP_ vers INFRASSTUDIO_,
    • l'application des migrations SQL nécessaires (fichiers sql/update_X.Y.Z_*.sql),
    • le réenregistrement des hooks et triggers,
    • la mise à jour de la constante INFRASSTUDIO_MAIN_VERSION.
Étape 4 — Vérifier avec la page Diagnostic

Outils → InfraSStudio → Diagnostic. L'ensemble des contrôles doit être au vert. La section Schéma SQL confirme en particulier que toutes les tables sont à jour.

Étape 5 — Test fonctionnel

Reproduisez trois actions courantes :

  1. Ouvrir une page existante dans l'éditeur — l'aperçu doit se charger.
  2. Modifier un slot — l'enregistrement automatique doit fonctionner (indicateur « Enregistré »).
  3. Publier les modifications — vérifier que la version publique reflète bien la modification.

Lire le changelog avant chaque mise à jour

Le changelog est accessible :

Lire les types de changement

Type

Signification

fix

Correction d'une anomalie.

chg

Modification d'un comportement existant.

add

Nouvelle fonctionnalité ou option.

Numérotation X.Y.Z

Composant

Cas de modification

X (majeur)

La version Dolibarr minimale prise en charge change.

Y (mineur)

Une nouvelle fonctionnalité ou option utilisateur est ajoutée.

Z (correctif)

Corrections et modifications internes uniquement.

Fréquence des mises à jour

Recommandations :

Retour en arrière

Si une mise à jour pose problème :

  1. Désactivez le module.
  2. Restaurez le dossier infrasstudio.old.<date>/ sauvegardé à l'étape 2.
  3. Si une migration SQL a été appliquée, restaurez la base depuis le dump précédent.
  4. Réactivez le module.

Avertissement — Restauration SQL — Une migration ajoute parfois des colonnes ou des tables. Si vous restaurez le dump pré-migration sans restaurer également les fichiers, le module détectera des structures manquantes et s'interrompra. Synchronisez toujours fichiers et base de données ensemble.

Récapitulatif

Vous savez désormais :

Fin de la Partie V — Vous savez gérer le module en tant qu'administrateur : permissions, configuration avancée, résolution des incidents, mises à jour. Le module est désormais entre des mains compétentes.

La Partie VI propose la référence pure du module : tableaux exhaustifs des constantes, des shortcodes, des hooks, des tables SQL et des scripts en ligne de commande. À garder à portée pour une consultation rapide.

Templates de sites préfabriqué

Les templates de sites préfabriqués transforment InfraSStudio en kit complet de mise en route. En quelques minutes, un site Dolibarr Website vide devient un site corporate ou éditorial opérationnel, avec catalogue produits, blog, formulaire de contact et neuf pages cousues sur un design moderne. Aucun code à toucher, aucune ligne de configuration à éditer : Dolibarr crée le site, et InfraSStudio applique le reste en arrière-plan dès le prochain chargement d'une page admin.

Deux univers de design

Le module livre deux templates aux esthétiques opposées, conçus pour deux types de positionnement : Vibrant pour une présence corporate énergique, Editorial pour un ton de revue ou de cabinet de conseil. Chaque template embarque le même socle fonctionnel — neuf pages, un catalogue produit, un blog dynamique, un formulaire de contact branché sur le pipeline InfraSStudio — mais sa charte typographique et sa palette diffèrent radicalement.

Template

Design

Cible

Vibrantwebsite_infrasstudio-vibrant.zip

Dégradés violet → orange, typographie Inter avec touches manuscrites Caveat, hero plein écran, CTA en pilule, cartes avec ombre douce.

B2C, agences, lancements produit, communication énergique.

Editorialwebsite_infrasstudio-editorial.zip

Fond sombre charcoal, typographie Playfair Display serif, layouts asymétriques, accents orange minimalistes.

Cabinet de conseil, publication éditoriale, contenu premium, signature graphique forte.

Les neuf pages livrées

Chaque template fournit un site complet et cohérent, prêt à être rempli avec votre propre contenu. Les pages sont déjà reliées entre elles par la navigation, et le catalogue ainsi que le blog sont dynamiques : ils s'alimentent automatiquement depuis les produits Dolibarr et les articles publiés, sans aucune édition de gabarit.

Page

Rôle

menu

Navigation principale (logo, cinq liens, CTA).

footer

Pied de page en quatre colonnes avec réseaux sociaux.

index

Page d'accueil : hero, trois services mis en avant, extrait dynamique du catalogue.

about

Page « À propos » : histoire de l'entreprise et trois valeurs.

catalog

Catalogue produit dynamique, alimenté depuis

llx_product

avec filtres par univers et type.

product-detail

Fiche produit unique servie automatiquement par les wrappers

solution-<ref>.php

.

blog

Index blog : liste dynamique des articles publiés.

blog-welcome

Article de démonstration prêt à éditer, sert d'exemple pour le rédacteur.

contact

Page contact avec un formulaire branché sur le pipeline complet (tiers + ticket + notifications).

Chaque template comporte une soixantaine de slots éditables, fournis avec leur valeur par défaut en français et leur traduction anglaise pré-remplie via l'attribut default_en=.... Un rédacteur peut écraser n'importe quelle valeur sans toucher au HTML.

Importer un template

Les templates apparaissent dans la liste native des modèles de site de Dolibarr — aucun outil tiers n'est nécessaire. La procédure est identique à celle d'un template officiel Dolibarr :

  1. Ouvrir Module Site Internet → Nouveau site → Choisir un modèle.
  2. Sélectionner website_infrasstudio-vibrant ou website_infrasstudio-editorial dans la galerie.
  3. Donner un identifiant au site (par exemple monsite) et valider.

Dolibarr décompresse le ZIP, crée le site dans llx_website, dépose les neuf pages dans llx_website_page et copie les SVG placeholders dans les médias du site. À ce stade, le site existe mais n'est pas encore exploitable : il faut que la pipeline d'auto-configuration tourne pour que tout soit aligné.

Note — Modèles non visibles — Si vous ne voyez pas les templates InfraSStudio dans la galerie, ouvrez Outils → InfraS → InfraSStudio → Configuration et cliquez sur « Rafraîchir les modèles ». Le module recompresse alors les dossiers doctemplates/websites/ et les place dans DOL_DATA_ROOT/doctemplates/websites/ où Dolibarr les scanne pour la galerie. Utile après une mise à jour du module ou un déplacement de fichiers.

Auto-configuration plug-and-play

Au prochain chargement d'une page d'administration Dolibarr (par exemple l'éditeur du site qui s'ouvre juste après l'import), un hook InfraSStudio détecte que le site embarque un manifest de seed encore non appliqué. La pipeline d'auto-configuration se déclenche alors automatiquement et exécute sept étapes consécutives en quelques secondes :

Étape

Effet

Catégories

Crée les catégories produit nécessaires si elles n'existent pas (lookup idempotent sur le label).

Produits démo

Crée six produits factices catégorisés, avec traductions FR/EN, badges, extrafields. Permet au catalogue d'être immédiatement peuplé.

Médias

Enregistre les SVG placeholders dans

llx_infrasstudio_media

avec leur alt par locale.

Constantes

Pose

INFRASSTUDIO_WEBSITE_KEY

et

INFRASSTUDIO_PUBLIC_DOCROOT

avec auto-détection du docroot Apache (cascade en cinq niveaux, voir le chapitre Constantes).

Site géré

Ajoute le site à

INFRASSTUDIO_MANAGED_SITES

pour qu'il apparaisse dans le Studio.

Patch des gabarits

Insère dans chaque

pageN.tpl.php

l'invocation du moteur de slots, avant le rendu final de Dolibarr.

Scan des slots + wrappers

Détecte les tokens

{{slot:...}}

dans le HTML, peuple

llx_infrasstudio_slot

, génère les wrappers

solution-<ref>.php

.

Un message setEventMessages de Dolibarr confirme la fin de l'opération : « InfraSStudio : site auto-configuré ». Le site est désormais consultable en public, avec ses slots résolus en valeurs par défaut, son catalogue alimenté, son formulaire de contact opérationnel et ses informations de société automatiquement injectées (nom, email, adresse) à la place des données génériques du template.

Note — Filet de sécurité — Si l'import a été fait via la ligne de commande ou l'API REST (cas où le hook doActions ne se déclenche pas), un cron horaire scanne INFRASSTUDIO_MANAGED_SITES et applique le seed sur tout site dont le manifest n'a pas encore été appliqué. La pipeline se déclenche également à chaque connexion d'un administrateur, ce qui couvre les imports réalisés sans interaction admin immédiate.

Personnaliser après import

Une fois le site auto-configuré, deux interfaces se complètent pour la personnalisation.

Éditeur Studio

L'éditeur Studio (Outils → InfraS → InfraSStudio → Éditeur) ouvre le site dans une interface trois colonnes : arborescence des pages à gauche, aperçu live au centre, inspector de slot à droite. Le rédacteur clique sur n'importe quel élément du site dans l'aperçu pour ouvrir l'éditeur du slot correspondant — titre, paragraphe, image, icône, couleur. Aucun HTML à toucher, aucune connaissance technique requise.

Supprimer les produits de démonstration

Les six produits démo créés par le seed sont utiles pour visualiser le catalogue tout de suite, mais ils n'ont pas vocation à rester en production. L'éditeur Produits du Studio affiche un bandeau qui propose deux actions en un clic :

Le bandeau disparaît automatiquement dès qu'aucun produit démo n'est détecté dans l'entité. Aucun risque d'effacer des produits réels — le filtre se base sur les références demo-* posées par le seed.

Re-patch automatique des gabarits

Dolibarr régénère les fichiers pageN.tpl.php à chaque enregistrement dans son éditeur de pages — ce qui écrase notre invocation du moteur de slots. Le hook InfraSStudio intercepte ces sauvegardes (action=updatesource ou overwritesite) et re-patche le fichier immédiatement après. Plus aucune manipulation manuelle n'est nécessaire : vous pouvez éditer librement vos pages dans Dolibarr, les slots InfraSStudio continueront de fonctionner.

Récapitulatif

Vous savez désormais :