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.
- Organisation en 2 onglets — Site et Blog
- Intégration dans le Configurateur — chargement, styles, scripts
- Fichiers configurables — config-site.js, .env
- SITE_CONFIG — nom du site, favicon, domaines
- COOKIES_CONFIG — IDs analytics et tracking
- LEGAL_CONFIG — mentions légales et RGPD
- Variables d'environnement (.env) — token Baserow, CORS origin
- BLOG_CONFIG — table Baserow, affichage
- Sauvegarde — API backend, sécurité
Organisation en 2 onglets
Le panel Configuration est organisé en 2 onglets :
| Onglet | Contenu |
|---|---|
| Site | Identité du site (SITE_CONFIG), mentions légales (LEGAL_CONFIG), analytics et tracking (COOKIES_CONFIG), CORS origin |
| Blog | Connexion 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.
| 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.
| 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',
};
LEGAL_CONFIG (config-site.js)
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);
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.