Entre tes clés API Supabase. Tu les trouves dans ton projet Supabase → Settings → API.
Créer la base de données
Copie ce SQL dans ton Supabase → SQL Editor → New query, exécute-le, puis reviens ici.
-- Copie tout ce bloc dans Supabase SQL Editor
create table if not exists members (
id uuid primary key default gen_random_uuid(),
full_name text not null,
email text unique not null,
phone text,
birth_date date,
level text default 'Débutant',
private_notes text,
health_notes text,
emergency_contact text,
medical_cert boolean default false,
medical_cert_date date,
photo_url text,
total_courses_attended int default 0,
created_at timestamp default now()
);
create table if not exists packs (
id uuid primary key default gen_random_uuid(),
member_id uuid references members(id) on delete cascade,
pack_size int not null check (pack_size in (10,20,40)),
courses_used int default 0,
card_number int default 1,
payment_status text default 'unpaid'
check (payment_status in ('paid','unpaid')),
payment_method text
check (payment_method in ('cash','twint','virement')),
payment_date date,
purchased_at timestamp default now(),
is_active boolean default true
);
create table if not exists sessions (
id uuid primary key default gen_random_uuid(),
session_date date not null,
session_time text not null,
status text default 'scheduled'
check (status in ('scheduled','cancelled','postponed')),
cancellation_reason text,
max_participants int default 20,
created_at timestamp default now()
);
create table if not exists attendances (
id uuid primary key default gen_random_uuid(),
session_id uuid references sessions(id) on delete cascade,
member_id uuid references members(id) on delete cascade,
pack_id uuid references packs(id),
attended boolean default true,
registered_at timestamp default now(),
unique(session_id, member_id)
);
create table if not exists contracts (
id uuid primary key default gen_random_uuid(),
member_id uuid references members(id) on delete cascade,
pack_id uuid references packs(id),
signed_at timestamp,
signature_data text,
terms_version text default 'v1',
created_at timestamp default now()
);
create table if not exists announcements (
id uuid primary key default gen_random_uuid(),
title text not null,
content text not null,
is_active boolean default true,
created_at timestamp default now()
);
create table if not exists email_alerts (
id uuid primary key default gen_random_uuid(),
member_id uuid references members(id) on delete cascade,
pack_id uuid references packs(id),
alert_type text not null,
sent_at timestamp default now()
);
alter table members enable row level security;
alter table packs enable row level security;
alter table sessions enable row level security;
alter table attendances enable row level security;
alter table contracts enable row level security;
alter table announcements enable row level security;
alter table email_alerts enable row level security;
create policy "Allow all" on members for all using (true) with check (true);
create policy "Allow all" on packs for all using (true) with check (true);
create policy "Allow all" on sessions for all using (true) with check (true);
create policy "Allow all" on attendances for all using (true) with check (true);
create policy "Allow all" on contracts for all using (true) with check (true);
create policy "Allow all" on announcements for all using (true) with check (true);
create policy "Allow all" on email_alerts for all using (true) with check (true);
Compte Administrateur
Va dans Supabase → Authentication → Users → Add user. Crée ton compte admin avec cet email et mot de passe, puis entre-les ici pour te connecter.