Catalogue & abonnements¶
À quoi ça sert¶
Ce module gère le catalogue commercial de Jigi : les plans d'abonnement vendus aux tenants, les fonctionnalités (features) qui composent ces plans, les add-ons vendables séparément, et les codes promo applicables à la souscription. C'est ici que se construit l'offre commerciale affichée aux futurs clients lors de leur inscription.
Prérequis¶
Prérequis
- Modules sous licence :
PLATFORM(espace opérateur Jigi) - Permissions :
platform.catalog.manage,platform.subscription.admin - Rôles :
JIGI_OPERATOR,JIGI_ADMIN
Comment ça marche¶
Gérer les plans (écran principal, dans le menu)¶
- Ouvrir Catalogue → Plans (
/admin-jigi/catalog/plans), seul écran du catalogue relié à la navigation. - La liste affiche tous les plans existants (actifs et archivés). Cliquer sur Créer un plan ouvre une boîte de dialogue à 4 onglets :
- Identité — nom, description, code interne du plan.
- Tarification — prix mensuel/annuel.
- Quotas — limites incluses (nombre d'utilisateurs, de sociétés, etc. selon le plan).
- Visibilité — si le plan est visible publiquement à l'inscription ou réservé à un usage commercial interne.
- Actions disponibles sur un plan existant : Modifier (rouvre le même formulaire à 4 onglets), Activer/Archiver (bascule sa disponibilité sans le supprimer), Dupliquer (crée une copie à ajuster, pratique pour décliner une offre existante), et Consulter l'historique (journal des modifications du plan).
- Un plan archivé n'est plus proposé aux nouveaux clients mais reste appliqué aux tenants qui l'utilisent déjà.
Gérer les fonctionnalités (accessible par URL directe)¶
- Naviguer directement vers
/admin-jigi/catalog/features— cet écran n'apparaît pas dans le menu latéral. - Chaque fonctionnalité est définie par : un code technique unique, un nom en français (
nameFr) et en anglais (nameEn), un module parent (RH, comptabilité, réservations…), un statut, une icône et un indicateur « visible dans le comparatif » qui contrôle son apparition dans le tableau de comparaison des plans affiché aux prospects. - Ces fonctionnalités sont ensuite rattachées aux plans pour définir précisément ce qu'inclut chaque offre.
Gérer les add-ons (accessible par URL directe)¶
- Naviguer directement vers
/admin-jigi/catalog/add-ons— également absent du menu. - Les add-ons sont présentés sous forme de cartes et se déclinent en trois types : FEATURE (déblocage d'une fonctionnalité à la carte), USER_PACK (pack de sièges utilisateurs supplémentaires) et MODULE (module entier vendu en complément d'un plan de base).
- Un add-on peut être activé ou désactivé indépendamment de sa modification, pour le retirer temporairement de la vente sans perdre sa configuration.
Gérer les codes promo (accessible par URL directe)¶
- Naviguer directement vers
/admin-jigi/promo-codes— non plus relié au menu. - Trois types de remise sont supportés : PCT (pourcentage de réduction), FIXED (montant fixe déduit) et MONTHS_FREE (mois gratuits offerts).
- Créer, modifier ou supprimer un code promo depuis cet écran ; le code peut ensuite être saisi par un prospect lors de son inscription pour bénéficier de la remise.
Qui peut faire quoi¶
| Permission requise | Rôles concernés |
|---|---|
platform.catalog.manage |
JIGI_OPERATOR, JIGI_ADMIN |
platform.subscription.admin |
JIGI_OPERATOR, JIGI_ADMIN |
| Action | JIGI_OPERATOR | JIGI_ADMIN |
|---|---|---|
Gérer les plans, fonctionnalités, add-ons (platform.catalog.manage) |
✅ | ✅ |
Gérer les codes promo (platform.subscription.admin) |
✅ | ⚠️ non attribué dans les migrations actuelles |
Historique de la permission catalogue
platform.catalog.manage était initialement manquante pour JIGI_OPERATOR, ce qui provoquait un « Accès refusé » au chargement de la page tenant (sélecteur de plan). Corrigée par la migration V138__operator_catalog_permission.sql, qui l'a attribuée à la fois à JIGI_OPERATOR et JIGI_ADMIN.
Détails techniques¶
Détails techniques
- Endpoints Plans (
PlanAdminController, base/admin-jigi/catalog/plans), tous enplatform.catalog.manage:GET/POSTracine,GET/PUT/DELETE /{planId},POST /{planId}/activate,/archive,/duplicate,GET /{planId}/audit. - Endpoints Fonctionnalités (
FeatureAdminController, base/admin-jigi/catalog/features), enplatform.catalog.manage:GET/POSTracine,GET /all,GET/PUT /{code}. - Endpoints Add-ons (
AddOnAdminController, base/admin-jigi/catalog/add-ons), enplatform.catalog.manage:GET/POSTracine,GET/PUT/DELETE /{addOnId},POST /{addOnId}/activate. - Endpoints Codes promo (
PromoCodeAdminController, base/admin-jigi/promo-codes), enplatform.subscription.admin:GET/POSTracine,GET/PUT/DELETE /{id}. - Frontend :
frontend/src/app/admin-jigi/catalog/plans/page.tsx,catalog/features/page.tsx,catalog/add-ons/page.tsx,promo-codes/page.tsx— ces trois derniers ne sont pas reliés danslayout.tsx. - Les pages catalogue appellent directement
fetch()plutôt que le client Axios partagé utilisé ailleurs dans admin-jigi — une incohérence technique à connaître si un bug de headers (tenant, auth) apparaît spécifiquement sur ces écrans.
Cas d'erreur et FAQ¶
Comment retirer temporairement un plan de la vente sans le supprimer ? Utilisez le bouton Archiver sur la fiche du plan. Les tenants qui l'utilisent déjà continuent de fonctionner normalement ; seul l'affichage aux nouveaux prospects change.
Comment créer une offre proche d'une offre existante sans repartir de zéro ? Utilisez Dupliquer sur le plan source, puis ajustez le nom, les tarifs ou les quotas de la copie.
Où gère-t-on les modules vendus en supplément d'un plan ?
Dans les add-ons, de type MODULE. Les packs de sièges supplémentaires sont de type USER_PACK, et le déblocage ponctuel d'une fonctionnalité est de type FEATURE.
Un opérateur me dit ne pas trouver l'écran des codes promo, où est-il ?
Il n'est pas dans le menu latéral d'admin-jigi. Il faut naviguer directement vers /admin-jigi/promo-codes.
Une fonctionnalité doit-elle obligatoirement apparaître dans le tableau comparatif public ? Non — l'indicateur « visible dans le comparatif » de l'écran Fonctionnalités permet de créer des fonctionnalités internes ou en test qui n'apparaissent pas aux prospects.