🏀

Configuration initiale

CTQG Basket — À faire une seule fois

1

Créer un projet Supabase gratuit

Allez sur supabase.com → créez un compte → New Project. Choisissez un nom (ex: ctqg-basket) et un mot de passe de base de données.

2

Exécuter le script SQL

Dans Supabase → SQL Editor → copiez-collez ce script et cliquez Run :

CREATE TABLE IF NOT EXISTS salaries ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, nom TEXT NOT NULL, prenom TEXT NOT NULL, email TEXT UNIQUE NOT NULL, role TEXT NOT NULL, heures_annuelles INTEGER NOT NULL DEFAULT 1645, actif BOOLEAN DEFAULT true, en_formation BOOLEAN DEFAULT false, created_at TIMESTAMPTZ DEFAULT NOW() ); CREATE TABLE IF NOT EXISTS categories_missions ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, salarie_id UUID REFERENCES salaries(id) ON DELETE CASCADE, nom TEXT NOT NULL, ordre INTEGER DEFAULT 0 ); CREATE TABLE IF NOT EXISTS missions ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, categorie_id UUID REFERENCES categories_missions(id) ON DELETE CASCADE, nom TEXT NOT NULL, ordre INTEGER DEFAULT 0 ); CREATE TABLE IF NOT EXISTS declarations ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, salarie_id UUID REFERENCES salaries(id) ON DELETE CASCADE, semaine INTEGER NOT NULL, annee INTEGER NOT NULL, mission_id UUID REFERENCES missions(id) ON DELETE CASCADE, heures DECIMAL(5,2) DEFAULT 0, commentaire TEXT DEFAULT '', detail_jours JSONB DEFAULT '{}'::jsonb, updated_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(salarie_id, semaine, annee, mission_id) ); -- Migration pour les bases existantes : ajoute la colonne si absente ALTER TABLE declarations ADD COLUMN IF NOT EXISTS detail_jours JSONB DEFAULT '{}'::jsonb; CREATE TABLE IF NOT EXISTS semaines_meta ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, salarie_id UUID REFERENCES salaries(id) ON DELETE CASCADE, semaine INTEGER NOT NULL, annee INTEGER NOT NULL, realisee BOOLEAN DEFAULT false, commentaire_global TEXT DEFAULT '', UNIQUE(salarie_id, semaine, annee) ); CREATE TABLE IF NOT EXISTS config ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, cle TEXT UNIQUE NOT NULL, valeur TEXT NOT NULL ); INSERT INTO config (cle, valeur) VALUES ('admin_password','ctqg2025admin') ON CONFLICT (cle) DO NOTHING; ALTER TABLE salaries ENABLE ROW LEVEL SECURITY; ALTER TABLE categories_missions ENABLE ROW LEVEL SECURITY; ALTER TABLE missions ENABLE ROW LEVEL SECURITY; ALTER TABLE declarations ENABLE ROW LEVEL SECURITY; ALTER TABLE semaines_meta ENABLE ROW LEVEL SECURITY; ALTER TABLE config ENABLE ROW LEVEL SECURITY; CREATE POLICY "all_sal" ON salaries FOR ALL USING (true) WITH CHECK (true); CREATE POLICY "all_cat" ON categories_missions FOR ALL USING (true) WITH CHECK (true); CREATE POLICY "all_mis" ON missions FOR ALL USING (true) WITH CHECK (true); CREATE POLICY "all_dec" ON declarations FOR ALL USING (true) WITH CHECK (true); CREATE POLICY "all_met" ON semaines_meta FOR ALL USING (true) WITH CHECK (true); CREATE POLICY "all_cfg" ON config FOR ALL USING (true) WITH CHECK (true); -- Table prévisionnel journalier CREATE TABLE IF NOT EXISTS previsionnel ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, salarie_id UUID REFERENCES salaries(id) ON DELETE CASCADE, date DATE NOT NULL, mission_id UUID REFERENCES missions(id) ON DELETE SET NULL, creneau TEXT NOT NULL DEFAULT 'A', debut TIME, fin TIME, updated_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(salarie_id, date, creneau) ); ALTER TABLE previsionnel ENABLE ROW LEVEL SECURITY; CREATE POLICY "all_prev" ON previsionnel FOR ALL USING (true) WITH CHECK (true);
3

Entrer vos clés Supabase

Dans Supabase → Project Settings → API, copiez l'URL et la clé anon/public :

Comité Territorial
Quercy Garonne Basketball

Gestion des missions & heures

CTQG Basket
Vue globale
Saisie
Administration
Mon compte
Lecture seule
Mes heures
Mes missions
Vue d'ensemble
Saison
📋 Déclarations récentes
Suivi par semaine
Heures déclarées par salarié pour une semaine donnée
Suivi par salarié
Avancement des missions d'un salarié sur une saison donnée
Évolution sur la saison
Heures cumulées semaine par semaine, par salarié
📅 Saisie par semaine
Saisissez vos heures ou celles d'un collaborateur
Gestion des salariés
Paramétrez les salariés, contrats et mots de passe
👥 Liste des salariés
➕ Ajouter / modifier
Configuration des missions
Ajoutez ou modifiez les catégories et missions de chaque salarié
Mes missions
Consultez et modifiez vos propres catégories et missions
Semaines "Type"
Configurez les modèles de semaine pour chaque salarié
🔑 Mots de passe
Gérez les mots de passe de tous les comptes
Compte Directeur
Salariés
Compte Dirigeant

Mot de passe par défaut : dirigeant2025

Accès Dirigeant — Suivi du Directeur

Cochez cette option pour permettre au compte Dirigeant de voir les heures et le suivi du Directeur dans le tableau de bord.

Mes semaines "Type"
Configurez vos 2 modèles de semaine habituels
Export des données
Téléchargez les données en PDF ou Excel pour la saison sélectionnée
📊 Export global — tous les salariés

Un seul fichier Excel avec tous les salariés, prévisionnel vs réalisé, pour la saison sélectionnée.

Mon tableau de bord
📋 Mes dernières déclarations
Saisie par semaine
Déclarez toutes vos heures d'une semaine en une fois
Mon historique
Toutes mes déclarations, saison par saison
🗓️ Prévisionnel saisonnier
Construisez le planning détaillé journalier de chaque salarié
📋 Importer une semaine type sur une plage de semaines
🗓️ Prévisionnels saisonniers
Consultez les plannings détaillés de tous les salariés
🗓️ Mon prévisionnel
Consultez votre planning saisonnier détaillé