Modules
Documentation d'usage des modules officiels @lrvo/module-*, installation, configuration, modèle de données et API.
Un module est un paquet npm auto-découvert qui apporte ses tables, ses permissions, ses écrans d'admin et ses routes. Si le terme est neuf, Les concepts le situe parmi les autres.
Cette section documente l'usage des modules officiels. Pour écrire son propre module, voir Créer un module ; pour comprendre comment un module est découvert et activé, voir Cycle de vie d'un module.
La documentation de chaque module vit ici, dans @lrvo/core, et non dans le dépôt du module. Un projet qui installe le core dispose donc de la documentation de tout l'écosystème au même endroit, hors ligne, sous node_modules/@lrvo/core/dist/docs/06-modules/.
Les modules se rangent en trois familles, selon qui l'instance sert : les visiteurs du site public, l'entreprise qui l'exploite, ou soi-même sur une installation locale.
Site public
Ce que le visiteur voit, et ce qui l'alimente depuis l'admin.
| Module | Paquet | Contenu |
|---|---|---|
| Pages | @lrvo/module-pages | Pages CMS hiérarchiques rendues à la racine du site, avec BlockEditor et templates extensibles. |
| Posts | @lrvo/module-posts | Types de contenu déclarés en variables d'environnement, avec taxonomies, relations et hiérarchie. |
| Médias | @lrvo/module-medias | Médiathèque, téléversement, sélecteur d'image et suivi des références de contenu. |
| Formulaires | @lrvo/module-forms | Constructeur de formulaires, collecte des soumissions et notifications par courriel. |
Entreprise
L'exploitation quotidienne. L'interface reste réservée à l'administration, même quand le module ouvre une page publique : lien de partage, page de paiement.
| Module | Paquet | Contenu |
|---|---|---|
| Facturation | @lrvo/module-billing | Clients, factures avec taxes TPS et TVQ, paiement Stripe et Interac, récurrences et rappels. |
| Fichiers | @lrvo/module-drive | Envoi et réception de fichiers : navigateur de dossiers, partages par lien, dépôts externes, corbeille et historique. |
| Rendez-vous | @lrvo/module-booking | Agenda et calendrier, types de rendez-vous, intervenants, horaires, prise de rendez-vous en ligne et rappels. |
Usage personnel
Monter une instance locale pour soi plutôt que pour une organisation : agenda, courriel, assistant. Aucun module de cette famille n'est publié à ce jour.
Choisir entre Pages et Posts
Les deux modules de contenu se ressemblent et ne servent pas au même usage.
| Pages | Posts | |
|---|---|---|
| Structure | Fixe : titre, slug, blocs, template. | Déclarée par le projet, champ par champ. |
| URL publique | À la racine du site. | Toujours préfixée par la clé du type. |
| Priorité de résolution | 0, sert de repli. | 10, réserve son préfixe. |
| Nombre de types | Un seul. | Autant que déclaré. |
Ils sont indépendants et cohabitent sans conflit. Une page nommée blogue et un type de post nommé blogue coexistent : /blogue rend la page, /blogue/mon-article rend le post.
Version documentée
Chaque module suit son propre cycle de publication, indépendant de celui du core. La page d'accueil d'un module indique donc la version qu'elle documente.
Si la version installée est plus récente, ses notes de version sont livrées avec elle, dans node_modules/<module>/CHANGELOG.md. Elles sont donc consultables hors ligne, sans accès au dépôt. npx lrvo-update les affiche automatiquement après une mise à jour.
Ce qui reste dans le dépôt du module
Le dépôt d'un module ne porte plus que son code, son README.md de présentation et ses règles d'agent. Les conventions de code, de rédaction, de commit et de publication sont communes à tout l'écosystème et vivent dans Contribution.