⚙️ Configuration Supabase

À faire une seule fois par navigateur

Trouvables dans ton projet Supabase → Settings → API.
La clé "anon" est publique par conception (protégée par les règles RLS côté base) — pas la clé "service_role", qui ne doit jamais être utilisée ici.

🏦 Benchmark

Authentification Supabase

Nouveau compte : rôle "Utilisateur" par défaut. Un administrateur doit ensuite te promouvoir (Paramètres → Gestion des utilisateurs, ou via SQL pour le tout premier compte).

🔑 Changer mon mot de passe

🏦 Benchmark — Bilan & CPC Consolidés

Extraction PDF via Gemini AI, KPI automatiques et benchmark inter-banques

Rapports PDF (un par banque)

📁 Glisse-dépose tes PDF ici, ou clique pour choisir (plusieurs fichiers possibles)

Résultats extraits (vérifiables / éditables)

Vérifie les montants avant export — corrige n'importe quelle cellule directement. Les modifications se répercutent automatiquement dans le Dashboard.

Export Excel

Clé API & modèle Gemini (partagée avec l'équipe)

Stockée dans Supabase (table app_settings), lisible par tous les utilisateurs connectés (nécessaire pour l'extraction côté navigateur), modifiable uniquement par un administrateur.

Créer un utilisateur

Crée directement un compte (email + mot de passe déjà confirmé), sans passer par l'auto-inscription.

⚠️ Nécessite la clé "service_role" de ton projet Supabase (Settings → API) — jamais la clé "anon". Elle n'est stockée que dans ton navigateur (jamais partagée via l'app) et sert uniquement à cet écran. Ne la communique à personne et ne l'utilise que sur un poste de confiance.

Gestion des utilisateurs

Réservé aux administrateurs. Pour supprimer complètement un compte, utilise le Dashboard Supabase → Authentication → Users.

EmailRôleInscrit le

Historique des imports (semestres enregistrés)

Chaque import "Enregistré" (onglet Résultats détaillés) est sauvegardé dans Supabase afin d'alimenter les tableaux KPI banques × semestres du Dashboard, même après avoir vidé la session. Crée cette table une seule fois via Supabase → SQL Editor :

Voir le SQL à exécuter une seule fois create table if not exists bank_period_imports ( id bigint generated always as identity primary key, bank_name text not null, semester_key text not null, periode_arrete text, unite text, data jsonb not null, kpi_map jsonb, updated_by uuid references auth.users(id), updated_at timestamptz default now(), unique (bank_name, semester_key) ); alter table bank_period_imports enable row level security; create policy "Lecture équipe" on bank_period_imports for select using (auth.role() = 'authenticated'); create policy "Ecriture équipe" on bank_period_imports for insert with check (auth.role() = 'authenticated'); create policy "Mise à jour équipe" on bank_period_imports for update using (auth.role() = 'authenticated'); create policy "Suppression équipe" on bank_period_imports for delete using (auth.role() = 'authenticated');

⚠ Si la table existait déjà avant l'ajout de la suppression, exécute uniquement cette ligne dans Supabase → SQL Editor (sinon les suppressions échoueront silencieusement, bloquées par la sécurité RLS) :

create policy "Suppression équipe" on bank_period_imports for delete using (auth.role() = 'authenticated');

Après une mise à jour des règles d'extraction (ex. correction d'un KPI), les imports déjà enregistrés gardent leur ancien mapping tant qu'il n'est pas recalculé.

BanqueSemestrePériode arrêtéeUnitéEnregistré le
Aucun import enregistré ne correspond aux filtres.

Données locales

Les fichiers PDF en cours de traitement restent en mémoire du navigateur pour la session — pense à "Enregistrer" chaque import dans l'historique avant de fermer l'onglet, sinon seuls les exports Excel manuels conservent les données.