WATERLOO OPS
{{ envLabel }}
config {{ configVersion }} {{ backendLabel }} empreinte {{ simFingerprint }} {{ chargeLe }}
{{ moiInitiales }}
{{ moiNom }}
{{ moiRole }}

Santé du jeu

{{ dashSubtitle }}

{{ k.label }}
{{ k.value }} {{ k.delta }}
{{ k.sub }}

14 jours · max {{ serieMax }}

Ont joué Nouveaux
{{ j.label }}

Rétention cohortes

{{ r.day }}
{{ r.pct }} {{ r.delta }}
{{ churnLabel }}{{ churnValeur }}

Activité récente

{{ a.text }}
{{ a.meta }}
{{ a.time }}
Le journal est vide : aucune action d’administration sur cette base.

Anomalies à traiter

{{ an.sev }}
{{ an.text }}
Aucune anomalie détectée — soldes, coffres et achats sont cohérents.

Répartition des modes · 24 h

{{ m.name }}
{{ m.pct }}
Aucun match dans les 24 dernières heures.

Joueurs

418 902 comptes · {{ envLabel }}

{{ resultCount }}
JoueurIDNiv.StatutPrismesPigmentsDépenséDernière connexion
{{ p.initials }} {{ p.name }} {{ p.flag }}
{{ p.id }} {{ p.level }} {{ p.status }} {{ p.prismes }} {{ p.pigments }} {{ p.spent }} {{ p.last }}
{{ playersVideTexte }}

Économie

30 derniers jours · {{ envLabel }}

{{ k.label }}
{{ k.value }}
{{ k.delta }}

Monnaies en circulation

{{ c.label }} {{ c.value }}
Aucun mouvement : le grand livre est vide.

Produits App Store / Google Play

ProduitTxRevenuRefund
{{ pr.name }} {{ pr.tx }} {{ pr.rev }} {{ pr.refund }}
Aucun achat enregistré. Les montants en euros, eux, n’existeront qu’avec RevenueCat.

Anomalies économiques

{{ a.sev }} {{ a.text }} {{ a.player }}
Aucune anomalie économique.

Coffres & loot tables

{{ chestSubtitle }}

LECTURE SEULE Les taux PROD ne se modifient pas ici. Éditez en PREPROD puis promouvez.
{{ c.name }} {{ c.version }}
{{ c.opens }} ouvertures · rareté moy. {{ c.avgRarity }}
{{ chestsVideTexte }}

{{ chest.name }}

{{ chest.id }} · publiée {{ chest.published }}
{{ chest.opens }} ouvertures / 7 j
RécompensePoidsProba conf.Proba réelleÉcart
{{ l.name }}
{{ l.weight }} {{ l.conf }} {{ l.real }} {{ l.drift }}
Pas de table de butin à afficher.

Contenu & LiveOps

{{ contentSubtitle }}

VersionCréée leAuteurStatutNote
{{ it.version }} {{ it.date }} {{ it.auteur }} {{ it.statut }} {{ it.note }}

{{ contentDetail.name }}

{{ contentDetail.id }}
{{ f.k }} {{ f.v }}
Note de version
Contenu (JSON) {{ editeurEtat }}
{{ actionsVideTexte }}

Équilibrage

{{ balanceSubtitle }}

ArmeDégâtsCadencePortéePick rateWin rate
{{ w.name }} MODIFIÉ
{{ w.dmg }} {{ w.rate }} {{ w.range }} {{ w.pick }} {{ w.win }}
{{ weaponsVideTexte }}

{{ weapon.name }}

{{ weapon.id }}
{{ p.label }} {{ p.value }} ← {{ p.prod }}
Ces valeurs se modifient dans Contenu & LiveOps → Armes : c’est là que vit le JSON publié. Le jeu le relit au démarrage et retombe sur les valeurs du build si la publication est invalide.

Centre de promotion PREPROD → PROD

Ce que la préprod publierait vers la production.

{{ promoIndispoTexte }}
PREPROD État source
{{ s.k }}{{ s.v }}
PROD État cible
{{ s.k }}{{ s.v }}

Diff exhaustif

versions validées, prêtes à promouvoir
{{ d.sign }}
{{ d.label }}
{{ d.path }}
{{ d.change }}
{{ d.impact }}
{{ diffVideTexte }}
Une promotion écrit une nouvelle version en production et reste réversible : la base ne garde qu’une seule ligne publiée par type, et republier une version antérieure est une opération normale.

Matchs & statistiques

{{ matchSubtitle }}

{{ k.label }}
{{ k.value }}
{{ k.delta }}

Armes · pick rate vs win rate

ArmePickWinK/DPeinture
{{ w.name }} {{ w.pick }} {{ w.win }} {{ w.kd }} {{ w.paint }}

Maps

{{ m.name }} {{ m.duration }} {{ m.bias }} abandon {{ m.quit }}
{{ mapsVideTexte }}

{{ heatmapTitre }}

Télémétrie positionnelle à brancher — placeholder de cadrage.

heatmap (morts / déplacements / peinture / gadgets)

Acquisition & population

Entrants, sortants et rétention par cohorte

{{ acqSansSourceTexte }}
{{ k.label }}
{{ k.value }}
{{ k.delta }}

Entonnoir premier jour

{{ f.label }} {{ f.value }} · {{ f.pct }}

Départs · dernier écran vu

{{ c.label }}
{{ c.pct }}
Aucun écran n’est tracé : le jeu n’envoie pas d’événement.

Cohortes hebdomadaires

CohorteJ1J3J7J14J30ARPU
{{ c.week }} {{ cell.v }}
Les cohortes se calculent depuis une table « sessions » qui n’existe pas encore.

Modération

Signalements, sanctions et privilèges

{{ k.label }}
{{ k.value }}

File de signalements

triée par gravité
JoueurMotifSignalementsStatutActions
{{ r.player }} {{ r.reason }} {{ r.count }} {{ r.status }}
{{ reportsVideTexte }}

Bans actifs

{{ b.player }} {{ b.reason }} {{ b.until }}
Aucun ban actif.

Privilèges & rôles

{{ pv.player }} {{ pv.role }} {{ pv.granted }} membre
Aucun membre déclaré dans le back-office.

Ce sont les rôles du back-office, pas des privilèges de jeu. Ils s’ajoutent et se retirent dans la table membres — pas depuis cette page : retirer le dernier administrateur fermerait la porte à tout le monde.

Audit

Journal immuable · qui a fait quoi, où, quand et pourquoi

{{ a.date }}
{{ a.time }}
{{ a.type }} {{ a.title }} par {{ a.admin }}
{{ a.detail }}
Motif : {{ a.motive }}
{{ a.env }}
{{ auditVideTexte }}

Système

Comparaison PREPROD / PROD et santé backend

ÉlémentPREPRODPRODÉtat
{{ s.label }} {{ s.pre }} {{ s.prod }} {{ s.state }}

Crashs du jeu · Sentry

{{ f.name }} {{ f.p95 }} {{ f.errors }}
{{ functionsVideTexte }}

Erreurs récentes

{{ e.code }} {{ e.time }}
{{ e.msg }}
{{ errorsVideTexte }}

Progression & simulation d'économie

Vitesse de déblocage des items selon la façon de jouer · Éclats (gagnés) et Rubis (achetés)

source · barème {{ configVersion }}
{{ k.label }}
{{ k.value }}
{{ k.sub }}

Façon de jouer

Parties par jour {{ simMatchesLabel }}
Winrate {{ simWRLabel }}
Éclats / victoire
Éclats / défaite
Missions / jour
Missions / semaine
Dépense en Rubis
Horizon de simulation {{ simHorizonLabel }}

Valeur débloquée (équivalent Éclats)

ton profil · {{ myOwned }} items
{{ a.label }}
{{ c.label }} {{ c.owned }} · complet {{ c.full }}

Catalogue & temps de déblocage

CatégorieVolumePrix ÉclatsPrix RubisPar itemTout
{{ c.name }}
{{ c.count }} {{ c.eclats }} {{ c.rubis }} {{ c.unit }} {{ c.all }}

Jalons du profil simulé

{{ m.label }} {{ m.value }}

Lecture

{{ w.sev }} {{ w.text }}
Lecture de la base…

La base est injoignable

{{ panne }}

Compte sans rôle

{{ sansRoleTexte }}

WATERLOO OPS

{{ logTitre }}

{{ logSoustitre }}

Adresse
Mot de passe
{{ logErr }}
{{ logCible }}
URL du projet Supabase
Clé publishable (jamais la clé secrète)

Une clé sb_secret_… est refusée : elle ignore toutes les règles de sécurité, et cette page est téléchargée par le navigateur.

{{ player.initials }}

{{ player.name }}

{{ player.statusLabel }} {{ player.role }}
{{ player.id }} · {{ player.platform }} · client {{ player.client }} · créé {{ player.created }} · vu {{ player.last }}
{{ c.label }}
{{ c.value }}

Compte

{{ f.k }} {{ f.v }}

Signaux

{{ s.text }} {{ s.time }}

Progression

{{ p.k }} {{ p.v }}

Armes les plus jouées

{{ w.name }}
{{ w.pct }}
{{ b.label }}
{{ b.value }}

Ledger

append-only
{{ l.amount }} {{ l.label }} {{ l.source }} {{ l.date }}
{{ i.name }}
{{ i.type }}
provenance · {{ i.origin }}
TransactionProduitMontantValidationDate
{{ p.tx }} {{ p.product }} {{ p.amount }} {{ p.state }} {{ p.date }}
MapModeRésultatKAPeintureDuréeConfig
{{ m.map }} {{ m.mode }} {{ m.result }} {{ m.k }} {{ m.a }} {{ m.paint }} {{ m.dur }} {{ m.config }}

Historique des sanctions

{{ s.type }} {{ s.date }}
{{ s.reason }}
par {{ s.admin }}

Notes internes

{{ n.text }}
{{ n.admin }} · {{ n.date }}

Créditer ou corriger un solde

{{ giftStepLabel }}
Monnaie
Sens du mouvement
{{ c.name }}
{{ c.id }}
Montant
Motif (obligatoire, tracé dans l'audit)
Joueur     : {{ player.name }}
Mouvement : {{ giftItemName }}
Montant   : {{ giftQty }}
Environnement : {{ envLabel }}
Motif      : {{ giftReasonDisplay }}

Le mouvement passe par corriger_solde : c’est la base qui décide, inscrit la ligne au grand livre avec ton identité et recalcule le solde. Le back-office n’écrit jamais dans soldes — il n’en a pas le droit, et c’est vérifié.

Bannir un joueur

Action immédiate en {{ envLabel }}, réversible et tracée
Joueur
{{ player.name }} {{ player.id }}
Durée
Motif (visible dans l'audit)

Confirmer la promotion vers PROD

indisponible
release  : —
source   : {{ envLabel }} · {{ simFingerprint }}
cible    : PROD · projet inexistant
critique : —
Retapez le nom de la release pour confirmer
{{ promoHint }}
{{ toast }} écrit dans l'audit