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é | Variable | Défaut |
|---|---|---|
name | LRVO_NAME | vide |
logoUrl | LRVO_LOGO_URL | vide |
logoDarkUrl | LRVO_LOGO_URL_DARK | logoUrl |
siteUrl | LRVO_SITE_URL | vide |
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é | Variable | Défaut |
|---|---|---|
timezone | LRVO_TIMEZONE | America/Toronto |
dateFormat | LRVO_DATE_FORMAT | YYYY-MM-DD |
defaultCurrency | LRVO_CURRENCY | CAD |
currencySymbol | LRVO_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.