Pages et opérations de la console d’administration
Découvrez chaque page d’administration livrée et les protections entourant la facturation, la modération et les écritures.
Synchronisé avec le commit
7d452a6du starter.
La console est un espace d’opérations, pas un substitut aux analyses produit. Son aperçu met en avant les situations qui déterminent la prochaine action : inscriptions récentes, abonnements actifs ou en retard, comptes suspendus et événements Stripe en attente d’une décision. Le chiffre d’affaires, la conversion et l’attrition restent dans Stripe ou dans votre outil d’analyse.
Espace de travail
/affiche les métriques opérationnelles, les comptes et commandes récents, les files à traiter et les outils d’attribution manuelle de forfaits et de crédits. Une attribution ciblant un utilisateur s’applique à son organisation personnelle./usersrecherche une adresse e-mail, un UUID ou un pseudonyme et identifie le compte exact associé à son fournisseur. Une même adresse peut correspondre à plusieurs comptes ; elle ne constitue donc pas une clé d’autorisation./organizationsrecherche un nom, un slug, un UUID ou un identifiant client Stripe. L’organisation est le tenant qui possède les crédits mutualisés, les forfaits, les abonnements et le client Stripe. Sa fiche présente l’identité, les membres, le forfait résolu, l’historique des abonnements, le registre de crédits, les commandes et les limites de sièges personnalisées.
Cette distinction compte pour le support : utilisez /users pour identifier une personne, puis /organizations pour examiner l’espace où résident la facturation et les droits.
Revenus
/ordersfiltre et recherche les commandes par numéro, abonnement, organisation, UUID utilisateur ou e-mail. La colonne d’exécution compare les crédits promis par une commande payée aux écritures du registre, ce qui rend visible une attribution absente ou dupliquée./stripe-eventsaffiche les livraisons webhook enregistrées et leur état, sans exposer la charge utile Stripe brute. Pour un événement mis en attente, corrigez la cause puis utilisez Resend dans Stripe afin de le relancer avec l’état actuel du fournisseur. Resolve indique au contraire qu’un opérateur l’a traité hors du système et exige une note ; cette résolution est définitive et ne relance rien./reconciliationexécute la moitié locale du rapprochement sur une fenêtre de 7, 30 ou 90 jours. Elle détecte les commandes payées sans crédits, les dérives de solde du registre et les webhooks bloqués. Elle ne peut pas découvrir un débit Stripe jamais reçu par l’application ; utilisezpnpm reconcile:stripepour la comparaison côté fournisseur.
Opérations produit
/reservationsliste le numéro de réservation, le service, l’utilisateur, l’heure, le fuseau et le statut. Lorsque les réservations sont désactivées dans la configuration, la page l’indique sans interroger une fonctionnalité inactive./feedbacksliste la note, le contenu, le statut, l’identité et la date des retours clients./affiliatesaffiche l’utilisateur parrainé, le parrain, l’état, la commande admissible, le montant payé et la récompense.
Il s’agit de surfaces de consultation de la version livrée. Elles n’inventent ni états de workflow ni contrôles d’édition absents des services produit.
Confiance et sécurité
/moderationsuspend ou rétablit des comptes et gère les règles de blocage d’inscription par adresse exacte ou domaine. La suspension révoque les sessions actives et bloque la connexion, mais conserve l’utilisateur, le registre, les fichiers et les organisations. Ce n’est pas un effacement de compte./auditest l’historique paginé des écritures administratives, avec l’acteur, le rôle, l’action, la cible, l’état, la note, le contexte réseau et les métadonnées.
Par défaut, une suspension couvre tous les comptes partageant l’adresse et ajoute une règle de blocage, empêchant la création d’un nouveau compte OAuth pour contourner la restriction. La comparaison normalise les suffixes après + et les points Gmail ; les règles de domaine servent lors des vagues d’adresses jetables.
Protections des écritures
Les outils d’écriture livrés se limitent à l’attribution manuelle de crédits, l’attribution et la révocation de forfaits offerts, la personnalisation et la réinitialisation des limites de sièges, la suspension et le rétablissement de comptes, la modification du blocage et la résolution définitive d’événements Stripe.
Toutes les routes d’écriture livrées exigent admin_rw, valident les requêtes de même origine et appellent le journal d’audit. Une attribution de crédits exige une clé d’idempotence et produit un numéro de transaction unique et déterministe : la nouvelle tentative d’une même opération ne crédite pas deux fois. Les forfaits et crédits manuels n’expirent pas par défaut ; les échéances facultatives à 7, 30 ou 90 jours, ou personnalisées, doivent être futures.
La console n’offre volontairement aucun bouton pour rejouer une charge webhook Stripe enregistrée. Corrigez la cause, puis utilisez Resend dans Stripe. Elle ne transforme pas non plus une suspension en suppression : l’export et l’effacement demandés par un utilisateur suivent le cycle de vie distinct des données du compte.
Consultez Configuration et accès à la console avant d’exposer cette application hors du développement local.
Configuration et accès à la console d’administration
Exécutez et déployez l’application d’administration séparée, attribuez les rôles, imposez la MFA et configurez son origine dédiée.
Démarrage rapide
Lancez localement les applications web et admin Sushi SaaS avec les versions prises en charge de Node, pnpm, PostgreSQL et Redis.