Skip to main content

CHAPITRE 17 — Préparer un site Dolibarr Website

Avant de pouvoir éditer un site via le module, ce site doit exister côté Dolibarr Website. Ce chapitre s'adresse au développeur qui démarre un nouveau projet : créer le site, le câbler proprement, et préparer le terrain pour le Studio.

Étape 1 — Créer le site dans Dolibarr Website

  1. Connectez-vous à Dolibarr en tant qu'administrateur.
  2. Rendez-vous dans Accueil → Sites web.
  3. Cliquez sur Nouveau site.
  4. Renseignez les informations suivantes :
    • Référence : identifiant court sans espace, par exemple monsite ou keaticweb. C'est l'identifiant interne, utilisé partout (URLs des wrappers, dossiers de données, constantes de configuration).
    • Description : libellé facultatif.
    • Virtualhost principal : URL publique, par exemple https://monsite.com.
    • Langue principale : code de la locale, par exemple fr_FR.
    • Autres langues : valeurs séparées par des virgules, par exemple en_US,de_DE,es_ES.
  5. Enregistrez.

Convention de référence — Privilégiez un identifiant court et stable. Cette référence apparaîtra dans les chemins de fichiers, les URLs internes et les constantes de configuration. La modifier ultérieurement nécessite plusieurs ajustements.

Étape 2 — Configurer le virtualhost Apache

Le module Website ne configure pas Apache pour vous. Vous devez créer un VirtualHost qui pointe sur le docroot du site.

Arborescence type
/var/www/monsite/                           # docroot Apache du site
├── index.php                                # wrapper page d'accueil
├── <alias>.php                              # autres wrappers générés
├── master.inc.php                           # bootstrap (inclut DOL_DOCUMENT_ROOT)
├── medias  -> lien symbolique vers DOL_DATA_ROOT/<entity>/medias/
└── ...

DOL_DATA_ROOT/<entity>/website/monsite/      # dossier de données du site
├── page1.tpl.php                            # gabarits des pages
├── page2.tpl.php
├── ...
└── htmlheader.html                          # en-tête commun éventuel
Exemple de VirtualHost minimal
<VirtualHost *:443>
    ServerName monsite.com
    DocumentRoot /var/www/monsite

    SSLEngine on
    SSLCertificateFile      /etc/letsencrypt/live/monsite.com/fullchain.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/monsite.com/privkey.pem

    <Directory /var/www/monsite>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>

    # PHP-FPM dédié recommandé
    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php8.2-fpm.monsite.sock|fcgi://localhost"
    </FilesMatch>
</VirtualHost>

Note — Un pool PHP-FPM dédié est recommandé pour isoler les performances et les variables d'environnement par site. Le pool peut tourner sous un utilisateur spécifique pour faciliter la gestion des permissions.

Étape 3 — Le lien symbolique medias

Pour que les images téléversées soient servies directement par Apache (mode média « native »), il faut un lien symbolique :

cd /var/www/monsite
ln -sfn /mnt/data/dolibarr/<entity>/medias medias
ls -la medias  # doit pointer sur le dossier de données Dolibarr

Conseil — Si vous ne pouvez pas créer ce lien symbolique, basculez le site en mode média module dans la configuration du module. Les images seront servies via document.php, avec un coût de performance modéré.

Étape 4 — Le master.inc.php multicompany

Si votre installation Dolibarr fonctionne en multicompany, le fichier master.inc.php du site doit définir DOLENTITY avant le chargement :

<?php
// /var/www/monsite/master.inc.php
define('DOLENTITY', 2);   // l'entity correspondant au client
require_once '/var/www/dolibarr/htdocs/master.inc.php';

Avertissement — Sur une instance multicompany sans DOLENTITY, le site renverra une erreur 503 ou affichera les données de la mauvaise entity. C'est l'erreur la plus fréquemment rencontrée lors de la mise en service.

Étape 5 — Créer la page d'accueil

Toujours dans le module Website Dolibarr :

  1. Sélectionnez votre site.
  2. Cliquez sur Nouvelle page.
  3. Renseignez :
    • Page URL : home, index ou autre.
    • Title : Accueil.
    • Type container : page.
    • Lang : fr_FR.
    • Status : Brouillon (le passage à Publié interviendra plus tard).
  4. Enregistrez.
  5. Dolibarr crée automatiquement les fichiers /var/www/monsite/home.php et page<N>.tpl.php.

Étape 6 — Activer le site dans le module

La procédure complète est détaillée au Chapitre 7. En résumé :

  1. Outils → InfraSStudio → Configuration.
  2. Cochez votre site dans la liste.
  3. Choisissez le mode média (native recommandé).
  4. Enregistrez.

Étape 7 — Annoter les premières pages avec des slots

Cette étape fait l'objet du Chapitre 18. En quelques mots : modifiez le fichier page<N>.tpl.php pour ajouter des tokens {{slot:nom|type=...}} aux endroits que vous souhaitez rendre éditables.

Étape 8 — Vérifier avec la page Diagnostic

Avant de livrer le site au client, lancez le diagnostic (Outils → InfraSStudio → Diagnostic) :

  • Tous les voyants verts dans Environnement, Schéma SQL, Stockage et Intégration Dolibarr.
  • Le site géré apparaît dans la section Sites avec docroot résolu, mode média correct et dossier de données accessible en écriture.

Récapitulatif

Votre site est prêt si :

  • Le site est créé dans Dolibarr Website (référence, virtualhost, langues).
  • Le VirtualHost Apache pointe sur le bon docroot.
  • Le lien symbolique medias est en place (mode native), ou la constante INFRASSTUDIO_SITE_<id>_MEDIA_MODE=module est définie.
  • Le fichier master.inc.php définit DOLENTITY en multicompany.
  • Au moins une page existe (l'accueil).
  • Le site est coché dans la configuration du module.
  • La page Diagnostic est entièrement verte.

Le chapitre suivant aborde l'annotation des templates avec des slots.