PARTIE V — Administration et maintenance
- CHAPITRE 27 — Mise à jour du module
- CHAPITRE 26 — Diagnostic et résolution des incidents
- CHAPITRE 25 — Configuration avancée (constantes)
- CHAPITRE 24 — Permissions et rôles utilisateur
CHAPITRE 27 — 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 :
- Sauvegarde complète de la base Dolibarr (mysqldump).
- Sauvegarde du dossier
htdocs/custom/infrasstudio/existant. - Sauvegarde des données :
DOL_DATA_ROOT/<entity>/website/etmedias/. - Lecture du changelog de la nouvelle version pour repérer d'éventuelles modifications majeures.
- Test de la mise à jour sur une instance de pré-production lorsque c'est possible.
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
- Configuration → Modules → bouton « Déployer / installer un module ».
- Sélectionner la nouvelle archive
module_infrasstudio-X.Y.Z.zip. - 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
- Configuration → Modules → InfraSStudio → cliquer sur Activer.
- Le module exécute alors :
- la restauration des constantes
INFRASSTUDIOBKP_versINFRASSTUDIO_, - 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.
- la restauration des constantes
É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 :
- Ouvrir une page existante dans l'éditeur — l'aperçu doit se charger.
- Modifier un slot — l'enregistrement automatique doit fonctionner (indicateur « Enregistré »).
- 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 :
- Dans le module :
htdocs/custom/infrasstudio/docs/changelog.xml. - Dans l'administration : Outils → InfraSStudio → onglet Changelog.
Lire les types de changement
Type | Signification |
|---|---|
| Correction d'une anomalie. |
| Modification d'un comportement existant. |
| 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 :
- Correctif (Z) : à appliquer rapidement, surtout si l'anomalie corrigée vous concerne.
- Mineur (Y) : à appliquer dans les une à deux semaines, après lecture du changelog.
- Majeur (X) : à tester en pré-production, à planifier dans une fenêtre de maintenance, à communiquer à votre équipe.
Retour en arrière
Si une mise à jour pose problème :
- Désactivez le module.
- Restaurez le dossier
infrasstudio.old.<date>/sauvegardé à l'étape 2. - Si une migration SQL a été appliquée, restaurez la base depuis le dump précédent.
- 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 :
- Préparer une mise à jour avec une liste de contrôle (sauvegarde base, fichiers, données).
- Suivre la procédure en cinq étapes (désactiver, remplacer, réactiver, diagnostic, test).
- Lire le changelog et comprendre la numérotation X.Y.Z.
- Appliquer la fréquence appropriée selon le type de version.
- Revenir en arrière en cas d'incident.
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.
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 :
- Versions de Dolibarr et de PHP, présence des extensions PHP requises.
- État du module et de sa dépendance Website.
- Présence des cinq tables SQL du module.
- Permissions d'écriture sur
DOL_DATA_ROOT. - Hooks chargés, présence du trigger, déclaration des tâches planifiées.
- Pour chaque site géré : résolution du docroot, mode média, dossier de données.
À 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
Le menu InfraS n'apparaît pas dans Outils
Cause probable | L'utilisateur ne possède pas la permission
. |
Solution | Onglet Permissions de l'utilisateur, cocher
dans la section InfraSStudio. |
Les modifications ne sont pas visibles publiquement
Cause probable | Modifications restées en brouillon sans être publiées. |
Solution | Cliquer sur « Publier les modifications » dans la barre d'outils. Voir le Chapitre 12. |
L'aperçu affiche une erreur 404
Cause probable | La page possède un type_container
,
ou
, et le filtre du noyau la bloque. |
Solution | 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)
Cause probable | Session Dolibarr expirée, ou avertissement PHP émis avant les en-têtes HTTP. |
Solution | Recharger la page Studio (F5). Si le problème persiste, consultez
pour identifier l'erreur PHP réelle. |
Les images téléversées ne s'affichent pas publiquement
Cause probable | Lien symbolique
manquant ou cassé en mode native. |
Solution | Recréer le lien symbolique avec
, ou basculer le site en mode média
. |
Les wrappers solution-*.php ne se génèrent pas
Cause probable |
ou
non configurées. |
Solution | Configurer ces deux constantes dans Outils → InfraSStudio → Configuration → Wrappers. |
Les slots ne se mettent pas à jour après modification du tpl.php
Cause probable | Le scanner n'a pas été lancé. |
Solution | Outils → InfraSStudio → Contenu → bouton « Rescanner ». Ou en ligne de commande :
. |
Réinitialiser le module
Si le module se trouve dans un état incohérent (utilisation impossible, erreurs SQL persistantes), vous pouvez le réinitialiser :
- Configuration → Modules → InfraSStudio → cliquer sur Désactiver.
- Le module sauvegarde toutes ses constantes sous le préfixe
INFRASSTUDIOBKP_. - 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 :
- Capture d'écran de la page Diagnostic complète.
- Les vingt dernières lignes de
dolibarr.logfiltrées surinfrasstudio. - 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 :
- Lancer la page Diagnostic comme premier réflexe.
- Lire et filtrer les journaux Dolibarr.
- Identifier les sept incidents fréquents et leurs solutions.
- Réinitialiser le module proprement (désactivation et réactivation).
- Préparer un rapport d'incident efficace en trois étapes.
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.
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.
CHAPITRE 24 — 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 |
|---|---|
| Voir l'entrée InfraS dans le menu Outils. Sans cette permission, le module est invisible pour l'utilisateur. |
| Consulter le contenu (pages, slots, médias) en lecture seule. Aucune modification possible. |
| Modifier les valeurs des slots (textes, images, couleurs, etc.) en brouillon. |
| Saisir et modifier les traductions (slots et fiches produit). |
| Téléverser, modifier et supprimer des médias dans la bibliothèque. |
| Publier les brouillons en attente, mettre en ligne ou retirer des pages. |
| 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 applique ensuite aux comptes.
Lecteur
Pour une personne qui consulte le site sans le modifier (commercial, support, juriste relisant la conformité).
| Oui |
| Oui |
Toutes les autres | Non |
Rédacteur
Pour une personne qui modifie les contenus mais ne publie pas seule (mise en place d'un circuit de relecture).
| Oui |
| Oui |
| Oui |
| Oui |
| Non (pas de publication directe) |
Traducteur
Pour une personne qui n'effectue que des traductions (souvent un prestataire externe).
| Oui |
| Oui |
| Oui |
Toutes les autres | Non |
Rédacteur autonome
Pour une personne qui rédige et publie seule (équipe restreinte, indépendant, etc.).
| Oui |
| Oui |
| Oui |
| Oui |
| Oui |
| Oui |
Administrateur du module
Pour le développeur de l'agence ou le responsable technique du site.
Toutes les permissions | Oui |
Attribuer les permissions à un utilisateur
- Rendez-vous dans Accueil → Utilisateurs et Groupes → Liste des utilisateurs.
- Sélectionnez l'utilisateur cible.
- Cliquez sur l'onglet Permissions.
- Faites défiler jusqu'à la section InfraSStudio.
- Cochez les permissions à attribuer.
- 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 |
+
+
| Modifie les slots et prépare les brouillons. |
Relecteur |
| Consulte les brouillons dans l'aperçu, valide ou demande des modifications. |
Publicateur |
+
| Publie les brouillons après validation du relecteur. |
Récapitulatif
Vous savez désormais :
- Identifier les sept permissions du module.
- Définir cinq rôles types (lecteur, rédacteur, traducteur, rédacteur autonome, administrateur).
- Attribuer les permissions à un utilisateur ou à un groupe Dolibarr.
- Mettre en place un circuit de relecture à plusieurs.