Configuration de l'app

Lecture centralisée de la configuration, nom de l'app, URL publique, cookie de session, flags SEO et devkit.

Toutes les variables LRVO_* sont lues à un seul endroit. Le reste du code appelle ces fonctions plutôt que process.env, ce qui garde les valeurs par défaut à une seule place.

Import

import {
  getAppName, getSessionCookieName, getPublicBaseUrl, getAppConfig,
  getPublicBrand, isDevkitEnabled,
  isSeoEnabled, getSeoSeparator, getSeoTitleTemplate,
} from '@lrvo/core/shared/config';

Module serveur. Les composants client de l'admin reçoivent ces valeurs par le contexte de config, via useLrvoConfig().

API

getAppName()

Nom de l'application. Lit LRVO_NAME.

getSessionCookieName()

Nom du cookie de session. Lit LRVO_AUTH_SESSION_COOKIE_NAME, défaut lrvo_session.

getPublicBaseUrl()

Origine publique du site, depuis NEXT_PUBLIC_URL.

À utiliser pour tout ce qui est vu de l'extérieur : liens dans les courriels, redirections, balises <loc> d'un sitemap, assets d'un PDF, URL absolues des métadonnées SEO.

getPublicBrand()

Marque affichée sur les pages publiques des modules : partage de fichiers, prise de rendez-vous, facture à payer, formulaire.

CléVariableDéfaut
nameLRVO_NAMEvide
logoUrlLRVO_LOGO_URLvide
logoDarkUrlLRVO_LOGO_URL_DARKlogoUrl
siteUrlLRVO_SITE_URLvide

C'est le repli de tous les modules : chacun garde ses propres variables de marque pour les sites qui partagent ou facturent sous une autre enseigne, et retombe ici quand elles sont vides.

Contrairement à getAppName(), le nom ne retombe pas sur LRVO : sur la page publique de quelqu'un d'autre, un nom inventé signerait son site. Sans LRVO_NAME, la ligne de marque du pied de page ne s'affiche pas.

getAppConfig()

Retourne la configuration régionale et monétaire.

CléVariableDéfaut
timezoneLRVO_TIMEZONEAmerica/Toronto
dateFormatLRVO_DATE_FORMATYYYY-MM-DD
defaultCurrencyLRVO_CURRENCYCAD
currencySymbolLRVO_CURRENCY_SYMBOL$

isDevkitEnabled()

true si LRVO_DEVKIT === 'true'. Conditionne les pages du devkit et les tuiles du tableau de bord déclarées avec devkit: true.

isSeoEnabled()

true si LRVO_SEO === 'true'. Active la zone SEO dans les éditeurs et la génération des balises <head>.

getSeoSeparator()

Séparateur des titres SEO, token %sep%. Lit LRVO_SEO_SEPARATOR, défaut -.

getSeoTitleTemplate()

Gabarit appliqué quand un contenu ne définit pas de titre SEO explicite. Lit LRVO_SEO_TITLE_TEMPLATE, défaut %title% %sep% %sitename%.

Notes

Ne jamais lire process.env depuis un composant client. Une variable sans préfixe NEXT_PUBLIC_ n'existe pas dans le bundle navigateur : la lecture retourne undefined sans erreur, et le flag se comporte comme désactivé en silence. La valeur descend par le contexte de config de l'admin.

Ne jamais self-fetcher en HTTP depuis le serveur. getPublicBaseUrl() sert à construire des URL destinées à l'extérieur, pas à s'appeler soi-même. Un composant serveur, un template ou un sitemap qui ferait un fetch vers /lrvo/api/* du même processus paierait une latence inutile et, en production, se ferait bloquer ou réécrire par le reverse proxy. Lire la donnée directement côté serveur, via les helpers ./public que chaque module de contenu expose. Voir Frontières serveur/client.

Sur cette page