Configuration
Variables d'environnement, permissions et intégration à l'admin du module @lrvo/module-posts.
Le module inverse la répartition habituelle : la structure du contenu vit dans les variables d'environnement, le contenu vit en base. Cette page couvre les variables globales, les permissions et l'admin. La syntaxe de déclaration des types est traitée à part, dans Types et champs.
Variables d'environnement
| Variable | Requise | Effet |
|---|---|---|
LRVO_MODULE_POSTS | oui | true active le module. Absente ou fausse, le module est ignoré : aucune table, aucune route, aucune entrée d'admin. |
LRVO_MODULE_POSTS_TYPES | non | Liste des types de contenu. Absente, le module est actif mais ne déclare rien. |
LRVO_MODULE_POSTS_TYPE_<CLÉ> | non | Champs d'un type. Voir Types et champs. |
LRVO_MODULE_POSTS_TYPE_<CLÉ>_PRIVATE | non | Champs retirés des réponses publiques. |
LRVO_MODULE_POSTS_TYPE_<CLÉ>_LIST | non | Colonnes du tableau d'admin. |
LRVO_MODULE_POSTS_TYPE_<CLÉ>_ORDERABLE | non | true active le réordonnancement manuel. |
LRVO_SEO | non | Active la zone SEO de l'éditeur et la génération des balises <head> au rendu public. Drapeau global partagé par tous les modules de contenu. |
LRVO_MODULE_POSTS est déclarée required: true dans le manifeste du module. Son absence produit un avertissement au boot sans faire tomber le serveur.
LRVO_SEO appartient au core, pas au module. Sa documentation de référence est dans Variables d'environnement.
Mise en cache de la configuration
La configuration est analysée une seule fois puis gardée en mémoire pour la durée du processus. Modifier une variable en développement demande donc de redémarrer le serveur, pas seulement de recharger la page.
Effet de LRVO_SEO
Quand le drapeau est actif :
- L'éditeur de post affiche la zone SEO sous la zone de contenu, via le composant
SeoFieldsdu core. - Les valeurs sont stockées sous la clé
seodes données du post. - Le rendu public transforme cet objet en métadonnées Next.js avec
buildSeoMetadata, enogType: 'article'. - Le jeton
seodevient utilisable comme colonne dans_LIST, affichant une pastille de score. - Les champs laissés vides retombent sur le contenu du post : la méta description est dérivée d'un champ
textoueditor, l'image de partage d'un champthumbnailouimage. Voir Repli SEO automatique.
Drapeau inactif, la page publique n'expose que son titre comme métadonnée, et aucun repli n'est calculé.
Voir SEO et métadonnées pour le détail du calcul.
Permissions
| Clé | Nom | Portée |
|---|---|---|
posts.view | Voir les posts | Accès en lecture aux posts et taxonomies dans l'admin, et tuile du tableau de bord. |
posts.manage | Gérer les posts | Création, modification et suppression de posts et de termes de taxonomie. |
Les deux sont groupées sous Posts dans /admin/roles. Elles sont attribuées au rôle admin au moment du lrvo-db init, et distribuables ensuite à d'autres rôles.
Les permissions ne sont pas découpées par type. Un rôle qui détient posts.manage peut gérer tous les types déclarés. Réserver un type à un rôle particulier n'est pas possible avec ce module.
La vérification est appliquée par le routeur du core, avant d'atteindre le handler. Voir Permissions et rôles.
Entrées d'admin
Le module enregistre une section de navigation par type déclaré, et non une section unique. Chaque section contient un item Posts menant à la liste, puis un item par taxonomie du type.
| Propriété | Valeur |
|---|---|
| Titre de section | Libellé du type, ou clé capitalisée si aucun libellé n'est donné. |
| Icône | Troisième segment de la déclaration du type, Book02Icon par défaut. |
| Ordre | 300 pour le premier type, puis 301, 302, dans l'ordre de déclaration. |
| Chemin de la liste | /admin/posts/<clé>/list |
| Chemin d'une taxonomie | /admin/posts/<clé>/taxonomies/<clé de taxonomie> |
| Permission | posts.view sur tous les items. |
Les écrans desservis par ces entrées sont décrits dans Administration.
L'ordre des sections suit donc l'ordre de LRVO_MODULE_POSTS_TYPES, et les types occupent une plage continue à partir de 300. Un autre module ne peut pas s'intercaler entre deux types : il se place avant en prenant un ordre inférieur à 300, ou après en prenant un ordre supérieur à la plage occupée. Voir Étendre l'admin.
Notes
- Aucune variable du module ne contient de secret. Toutes sont lisibles côté serveur uniquement, comme le reste des
LRVO_*. - Un module désactivé n'enregistre rien du tout :
lrvo-modules syncne le liste pas dans le manifeste généré, et sonregistern'est jamais appelé. Un module activé sans type déclaré enregistre en revanche ses routes, qui répondent alors en erreur sur tout type. - Changer
LRVO_MODULE_POSTSàfalsedésactive le module mais laisse les tables et leurs données en place.