Gestion des tenants¶
À quoi ça sert¶
Cet écran donne à l'équipe Jigi une vue complète sur chaque société cliente (tenant) : identité, plan souscrit, statut d'abonnement, historique de paiements, et permet d'intervenir directement en cas de problème (prolongation d'essai, suspension, réactivation, changement de plan forcé).
Prérequis¶
Prérequis
- Modules sous licence :
PLATFORM(espace opérateur Jigi) - Permissions :
platform.tenants.read,platform.subscription.manage,platform.subscription.admin,platform.analytics.read - Rôles :
JIGI_OPERATOR,JIGI_ADMIN
Comment ça marche¶
Consulter la liste des tenants¶
- Depuis le menu latéral, ouvrir Tenants (
/admin-jigi/tenants). - La liste est paginée et filtrable par statut (essai, actif, suspendu, résilié…) et par plan.
- Chaque ligne affiche le nom de la société, le statut d'abonnement et le plan en cours ; cliquer sur une ligne ouvre la fiche détaillée du tenant.
Consulter la fiche d'un tenant¶
- Ouvrir
/admin-jigi/tenants/{id}. La fiche présente les informations générales du tenant, ses actions forcées disponibles, l'application manuelle d'un plan, un éditeur de code de convention collective et le tableau des paiements récents. - Les actions forcées disponibles depuis cette fiche sont :
- Prolonger l'essai de 7 jours — repousse la date de fin d'essai sans repasser par un paiement.
- Suspendre — bascule le tenant en statut suspendu (les utilisateurs du tenant perdent l'accès).
- Réactiver — lève la suspension.
- Forcer le provisioning — relance la mise en place technique du tenant si un provisioning automatique a échoué ou est resté bloqué.
- Appliquer un plan — force manuellement le plan d'abonnement du tenant, en dehors du flux de paiement normal (utile pour un accord commercial spécifique ou une correction).
- Le tableau des paiements récents en bas de fiche permet de vérifier rapidement l'historique de facturation du tenant sans changer d'écran.
Onglet de gestion avancée de l'abonnement¶
Pour un pilotage plus fin, /admin-jigi/tenants/{id}/subscription propose une vue à 6 onglets :
- Abonnement — état courant, prolongation manuelle de la date d'expiration.
- Deal — création ou suppression d'un accord commercial personnalisé (« custom deal ») pour ce tenant, en dehors des plans catalogue standards.
- Paiements — historique complet des paiements du tenant, avec possibilité d'enregistrer un paiement manuel (virement reçu hors plateforme, par exemple).
- Historique des plans — traçabilité des changements de plan successifs.
- Licence — informations de licence lorsque le tenant est déployé en on-premise, avec un bouton pour vider le cache de licence côté serveur (
flush-cache) après une modification. - Notes — notes internes libres sur le tenant, visibles uniquement par les opérateurs.
Un seul verrou de permission pour les 6 onglets
Tous les onglets de cette page (lecture et écriture) sont protégés par la même permission platform.subscription.admin — voir la section Permissions ci-dessous pour savoir qui y a accès.
Qui peut faire quoi¶
| Permission requise | Rôles concernés |
|---|---|
platform.tenants.read |
JIGI_OPERATOR, JIGI_ADMIN |
platform.subscription.manage |
JIGI_OPERATOR, JIGI_ADMIN |
platform.subscription.admin |
JIGI_OPERATOR, JIGI_ADMIN |
platform.analytics.read |
JIGI_OPERATOR, JIGI_ADMIN |
| Action | JIGI_OPERATOR | JIGI_ADMIN |
|---|---|---|
Lister / consulter un tenant (platform.tenants.read) |
✅ | ✅ |
Modifier les paramètres généraux d'un tenant (platform.tenants.read) |
✅ | ✅ |
Prolonger l'essai, suspendre, réactiver, forcer le provisioning, appliquer un plan (platform.subscription.manage) |
✅ | ✅ |
Onglets Abonnement/Deal/Paiements/Historique/Licence/Notes (platform.subscription.admin) |
✅ | ⚠️ non attribué dans les migrations actuelles |
Nuance sur platform.subscription.admin
Cette permission a été créée et attribuée à JIGI_OPERATOR par la migration V129__subscription_management.sql. À ce jour, aucune migration ultérieure ne l'attribue explicitement à JIGI_ADMIN — un compte JIGI_ADMIN qui n'a pas reçu cette permission par un autre moyen (attribution manuelle, rôle additionnel) n'aura donc pas accès à la page /admin-jigi/tenants/{id}/subscription, malgré ses autres droits étendus. À vérifier/corriger côté migrations si ce n'est pas le comportement voulu.
Détails techniques¶
Détails techniques
- Endpoints principaux (
TenantAdminController, base/admin-jigi/tenants) :GET /admin-jigi/tenantsetGET /admin-jigi/tenants/{tenantId}—platform.tenants.readPOST /admin-jigi/tenants/{tenantId}/extend-trial,/suspend,/reactivate,/force-provision,/apply-plan—platform.subscription.managePATCH /admin-jigi/tenants/{tenantId}/settings—platform.tenants.read
- Endpoints avancés (
TenantSubscriptionAdminController, base/admin-jigi/tenants/{tenantId}), tous protégés parplatform.subscription.admin:GET/PUT /subscription,/subscription/extend,/subscription/suspend,/subscription/reactivatePOST /subscription/custom-deal,DELETE /subscription/custom-dealGET /payments,POST /payments/manualGET /subscription/plan-historyGET /license,POST /license/flush-cacheGET /notes,POST /notes
- Métriques :
GET /admin-jigi/dashboard/metrics(platform.analytics.read,DashboardAdminController) alimente les compteurs du tableau de bord admin-jigi (MRR, tenants actifs, etc.). - Frontend :
frontend/src/app/admin-jigi/tenants/page.tsx(liste),tenants/[id]/page.tsx(fiche + actions forcées),tenants/[id]/subscription/page.tsx(6 onglets).
Cas d'erreur et FAQ¶
Un client me signale qu'il n'a plus accès à son espace — comment vérifier son statut ?
Ouvrez sa fiche tenant (/admin-jigi/tenants/{id}) : le statut d'abonnement est affiché en tête de page. S'il est « suspendu », utilisez le bouton Réactiver après avoir confirmé que la situation (paiement, litige) est résolue.
Comment prolonger un essai gratuit qui arrive à échéance ? Depuis la fiche tenant, cliquez sur Prolonger l'essai de 7 jours. Cette action ne nécessite pas de paiement et peut être répétée si besoin.
Le provisioning technique d'un nouveau tenant semble bloqué, que faire ? Utilisez le bouton Forcer le provisioning sur la fiche tenant pour relancer la mise en place automatique.
Un client a négocié un tarif spécifique, comment l'appliquer ?
Passez par l'onglet Deal de la page /admin-jigi/tenants/{id}/subscription pour créer un accord commercial personnalisé, plutôt que d'utiliser le bouton "Appliquer un plan" qui applique un plan catalogue standard.
Un paiement a été reçu hors plateforme (virement), comment le refléter dans Jigi ? Depuis l'onglet Paiements de la vue abonnement avancée, utilisez l'action d'enregistrement manuel de paiement.