Configurateur — Configuration du site

Le configurateur permet de modifier les fichiers de configuration du site directement depuis l'interface du Configurateur, sans éditer manuellement les fichiers.

Sommaire de cette page
  1. Organisation en 2 onglets — Site et Blog
  2. Intégration dans le Configurateur — chargement, styles, scripts
  3. Fichiers configurables — config-site.js, .env
  4. SITE_CONFIG — nom du site, favicon, domaines
  5. COOKIES_CONFIG — IDs analytics et tracking
  6. LEGAL_CONFIG — mentions légales et RGPD
  7. Variables d'environnement (.env) — token Baserow, CORS origin
  8. BLOG_CONFIG — table Baserow, affichage
  9. Sauvegarde — API backend, sécurité

Organisation en 2 onglets

Le panel Configuration est organisé en 2 onglets :

OngletContenu
SiteIdentité du site (SITE_CONFIG), mentions légales (LEGAL_CONFIG), analytics et tracking (COOKIES_CONFIG), CORS origin
BlogConnexion Baserow (token + table ID) et options d'affichage (BLOG_CONFIG)

L'onglet Site regroupe toute la configuration générale (identité, mentions légales, analytics, CORS). L'onglet Blog est dédié à la connexion Baserow et aux options d'affichage. La configuration SSH se trouve dans la modale Publish.

Intégration dans le Configurateur

Le configurateur est intégré nativement dans le Configurateur — il ne s'agit pas d'un iframe séparé. Le fichier configurator.html est chargé et injecté dans le DOM du Configurateur au moment où l'utilisateur accède au panel de configuration.

  • Les styles sont scopés pour éviter les conflits avec le reste du Configurateur
  • Les scripts sont exécutés dans le contexte du Configurateur (accès au DOM principal)
  • Module JS : configurateur-config.js

Fichiers configurables

Le configurateur permet de modifier trois fichiers de configuration distincts :

Fichier Description Visibilité
config-site.js Configuration principale du site Public (côté client)
.env Variables d'environnement sensibles (token Baserow, CORS origin) Privé (serveur uniquement)
.deploy.env Configuration SSH pour le déploiement Privé (serveur uniquement)

SITE_CONFIG (config-site.js)

Configuration générale du site, définie dans l'objet window.SITE_CONFIG.

Configuration du site — identité et favicon
Propriété Description Exemple
name Nom du site "Mon Site"
favicon Chemin vers le favicon. Le bouton Uploader dans le panneau Site permet d'envoyer un favicon (.ico, .png, .svg — max 512×512px, 100 Ko) directement à la racine du projet. "/favicon.ico"
domains.prod URL de production "https://monsite.fr"
domains.preprod URL de pré-production "https://preprod.monsite.fr"
window.SITE_CONFIG = {
  name: 'Mon Site',
  favicon: '/favicon.ico',
  domains: {
    prod: 'https://monsite.fr',
    preprod: 'https://preprod.monsite.fr'
  }
};

COOKIES_CONFIG (config-site.js)

Identifiants des services de tracking et analytics, injectés uniquement après consentement RGPD.

Configuration des cookies et analytics
Propriété Description Format
ga4 ID Google Analytics (GA4) G-XXXXXXXXXX
gtm ID Google Tag Manager GTM-XXXXXXX
clarity ID Microsoft Clarity xxxxxxxxxx
fbPixel ID Facebook Pixel 123456789012345
hotjar ID Hotjar 1234567
linkedin ID LinkedIn Insight Tag 123456
tiktok ID TikTok Pixel XXXXXXXXXX

BLOG_CONFIG (config-site.js)

Configuration du blog dynamique connecté à Baserow (headless CMS). Le token API et le tableId se configurent dans l’onglet Blog du configurateur. config-site.js ne contient que le tableId et les options d’affichage — le token est stocké dans .env côté serveur.

Connexion Baserow

Propriété Description
baserow.tableId ID de la table Baserow contenant les articles

Le proxy /api/baserow.php est utilisé automatiquement — pas de configuration nécessaire. Le token API est lu depuis .env côté serveur.

Options d’affichage

Propriété Description Défaut
perPage Nombre d’articles par page 9
dateFormat Locale des dates fr-FR
defaultImage Image par défaut si pas de featured_img /assets/images/blog-default.jpg
articlePage Chemin vers la page article blog/article
blogPage Chemin vers le listing blog
window.BLOG_CONFIG = {
  baserow: {
    tableId: '67890',
  },
  perPage: 9,
  dateFormat: 'fr-FR',
  defaultImage: '/assets/images/blog-default.jpg',
  articlePage: 'blog/article',
  blogPage: 'blog',
};

Informations légales utilisées pour générer automatiquement les pages mentions-legales.html et confidentialite.html.

Propriété Description
companyName Raison sociale de l'entreprise
companyType Forme juridique (SAS, SARL, auto-entrepreneur…)
address Adresse du siège social
email Email de contact
phone Numéro de téléphone
siret Numéro SIRET
tvaNumber Numéro de TVA intracommunautaire
capitalSocial Capital social
hostingProvider Nom de l'hébergeur
hostingAddress Adresse de l'hébergeur
dpoEmail Email du délégué à la protection des données (DPO)
window.LEGAL_CONFIG = {
  companyName: 'Ma Société',
  companyType: 'SAS',
  address: '123 rue de Paris, 75001 Paris',
  email: 'contact@monsite.fr',
  phone: '+33 1 23 45 67 89',
  siret: '123 456 789 00010',
  tvaNumber: 'FR12345678901',
  capitalSocial: '10 000 €',
  hostingProvider: 'Hostinger',
  hostingAddress: 'Kaunas, Lituanie',
  dpoEmail: 'dpo@monsite.fr'
};

Variables d'environnement (.env)

Fichier .env à la racine du projet. Contient les tokens et credentials sensibles. Ce fichier est déployé sur le serveur (nécessaire pour les API PHP) et protégé par le .htaccess (inaccessible depuis le web). Concernant Git : .env est tracké par Git dans les repos privés (backup complet). Pour les projets clients, c'est un choix de sécurité — le repo doit être privé.

Variable Description
BASEROW_TOKEN Token API Baserow (lecture seule) — utilisé par api/baserow.php
SITE_ORIGIN Domaine autorisé pour les requêtes CORS — utilisé par tous les proxies PHP
# .env — fichier sensible (repo privé uniquement)
BASEROW_TOKEN=votre-token-baserow
SITE_ORIGIN=https://monsite.fr

Sauvegarde

Le configurateur utilise l'API backend du Configurateur pour lire et écrire les fichiers de configuration.

  • Chaque section dispose d'un bouton « Sauvegarder » indépendant
  • Les fichiers sont écrits via l'API backend : BuilderAPI.cfgSave
  • La lecture se fait via BuilderAPI.cfgRead
  • Les fichiers sensibles (.env, .deploy.env) ne sont jamais exposés côté client en dehors du Configurateur local
// Lecture d'un fichier de configuration
const config = await BuilderAPI.cfgRead('config-site.js');

// Sauvegarde après modification
await BuilderAPI.cfgSave('config-site.js', newContent);
Sécurité
Les fichiers .env et .deploy.env sont uniquement accessibles via le serveur Python local (port dynamique 5555-5599).
  • .env : déployé sur le serveur (nécessaire pour les API PHP : token Baserow, CORS origin), protégé par .htaccess (403). Tracké par Git dans les repos privés (backup complet). Pour les projets clients, c'est un choix de sécurité — le repo doit être privé.
  • .deploy.env : jamais déployé (configuration SSH locale uniquement), exclu via .rsync-exclude.

Voir aussi