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 |
|---|---|
| CSV des identifiants de sites gérés. Exemple :
. |
| Mode média par site.
(par défaut) ou
. |
| Identifiant de la page d'index du blog (active l'assistant « + Nouvel article »). |
| 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 |
|---|---|
| Modèle de chemin partagé utilisant le marqueur
. Exemple :
. |
| 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 |
|---|---|
| Référence du site cible des wrappers solution. |
| Docroot Apache absolu où écrire les wrappers. |
| Surcharge JSON de la cartographie catégorie vers univers. |
| CSV de slugs de champs personnalisés à déclarer comme traduisibles, en complément du registre par défaut. |
| Surcharge JSON complète du registre. |
| Préfixe des wrappers (par défaut
). |
| Slug du gabarit (par défaut
). |
Apparence du Studio
Constante | Valeurs | Par défaut |
|---|---|---|
|
,
|
|
|
,
,
,
|
|
Multilingue côté gabarits
Constante | Description |
|---|---|
| Force la langue active. Définie dynamiquement par les gabarits. |
| Nom du cookie de persistance de la langue (par défaut
). |
| Surcharge de la cartographie ISO2 vers locale (exemple :
). |
| Image par défaut affichée lorsqu'un article ne possède pas d'image principale. |
Compatibilité et débogage
Constante | Description |
|---|---|
| Version de Dolibarr lors de l'activation du module. Géré automatiquement. |
| Version du module. Géré automatiquement. |
| À régler sur
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 :
- Détection du docroot Apache effectif en suivant la cascade de résolution en cinq niveaux :
INFRASSTUDIO_SITE_<id>_DOCROOT→INFRASSTUDIO_DOCROOT_PATTERN→ entrée dans/etc/apache2/sites-enabled/→ réutilisation d'un docroot voisin → repli/var/www/<ref>. - Pose des constantes
INFRASSTUDIO_WEBSITE_KEYetINFRASSTUDIO_PUBLIC_DOCROOT. - Ajout du site à
INFRASSTUDIO_MANAGED_SITESpour qu'il apparaisse dans le Studio. - Patch des
pageN.tpl.phppour invoquer le moteur de slots. - Scan initial des tokens
{{slot:...}}présents dans le HTML et peuplement dellx_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 :
- Tous les slots du site (canonique + overrides de locale) au format SQL idempotent.
- Toutes les configurations de formulaire scopées au site (
fk_website=<id>), avec leur descripteur JSON complet. - Les médias InfraSStudio rattachés au site, fichiers binaires inclus, avec leurs alts par locale.
- Un manifest qui décrit le contenu de l'archive et la version du module qui l'a produite.
Cette archive sert principalement à :
- Cloner un site d'une instance Dolibarr vers une autre (recette → production, démo → client).
- Sauvegarder ponctuellement un état stable avant une refonte risquée.
- Archiver un site en fin de vie sans perdre la trace de sa configuration.
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 :
- Les slots déjà saisis ne sont pas écrasés, sauf si l'option Forcer le remplacement est cochée.
- Les médias dont la
refexiste déjà sont conservés, sauf en mode force. - Les configurations de formulaire en conflit (même
name) sont signalées et l'admin choisit explicitement de les fusionner ou de les remplacer.
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 :
- Identifier les vingt constantes du module classées par usage.
- Comprendre la cascade de résolution du docroot.
- Configurer le catalogue produit (référence du site, docroot, préfixe, gabarit).
- Personnaliser l'apparence (thème, couleur d'accent).
- Définir une constante via l'administration, SQL ou ligne de commande.
- Valider une configuration via la page Diagnostic.