- Admin: création/suppression de comptes + rôles via Edge Function sécurisée - Config Supabase intégrée au build (.env), écran Setup supprimé - Page Planning (vue mois/semaine) - Tags "jobs" sur les tâches + filtres (membre / tag) - Suivi du temps par tâche, total par jalon - Toasts + confirmations in-app (fini alert/confirm natifs) - Thème Notion clair + mode sombre (accent monochrome, bascule persistée) - .env suivi par git (public uniquement) pour synchro multi-machines Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.1 KiB
Guide de mise en place — Comptes & Panel Admin
Ce guide explique, étape par étape, comment activer le panel d'administration (création / suppression de comptes, gestion des rôles) pour ton équipe.
Tu ne fais ça qu'une seule fois. Ensuite, tout se gère depuis l'appli.
Vue d'ensemble
| Qui | Voit quoi |
|---|---|
| Toi (admin) | Tout + un menu « Administration » pour gérer les comptes |
| Tes collègues | L'appli normale, juste un écran « Se connecter » |
Les clés Supabase sont déjà intégrées dans l'appli (fichier .env) : tes
collègues n'ont rien à configurer.
Étape 1 — Vérifier le fichier .env
Le fichier .env (à la racine du projet) contient déjà ton URL et ta clé :
VITE_SUPABASE_URL=https://cesjrlfqeqftayhnqjkb.supabase.co
VITE_SUPABASE_ANON_KEY=eyJhbGci...
✅ Rien à faire si c'est correct. (L'URL ne doit PAS contenir /rest/v1/.)
Étape 2 — Mettre à jour la base de données
- Va sur supabase.com → ton projet.
- Menu SQL Editor → New query.
- Copie tout le contenu du fichier
supabase/schema.sqlet colle-le. - Clique Run.
C'est sans danger même si tu l'as déjà exécuté : tout est « ré-exécutable ». Ça ajoute le champ
is_adminet les sécurités du panel admin.
Étape 3 — Créer TON compte administrateur
Comme l'inscription publique est désactivée, on crée le tout premier compte (le tien) à la main :
- Dans Supabase → menu Authentication → Users → bouton Add user.
- Mets ton email + un mot de passe, et coche Auto Confirm User.
- Clique Create user.
Puis on te donne les droits admin :
- Retourne dans SQL Editor → New query, colle ceci en remplaçant l'email :
update public.profiles set is_admin = true
where id = (select id from auth.users where email = 'TON_EMAIL@exemple.com');
- Clique Run.
🎉 Tu es maintenant administrateur.
Étape 4 — Déployer l'Edge Function (le « serveur de confiance »)
C'est elle qui crée/supprime les comptes en sécurité. Deux méthodes au choix.
Méthode A — En ligne de commande (recommandée)
Dans un terminal, à la racine du projet :
# 1. Se connecter à Supabase (ouvre le navigateur)
npx supabase login
# 2. Déployer la fonction
npx supabase functions deploy admin-users ^
--project-ref cesjrlfqeqftayhnqjkb --no-verify-jwt
--no-verify-jwtest normal ici : la fonction vérifie elle-même que l'appelant est bien un admin connecté (voir le code). La cléservice_roleest fournie automatiquement par Supabase, tu n'as rien à copier.
Méthode B — Par le tableau de bord (sans terminal)
- Supabase → menu Edge Functions → Create a new function.
- Nom :
admin-users. - Colle le contenu de
supabase/functions/admin-users/index.ts. - Déploie.
- Dans les réglages de la fonction, désactive « Enforce JWT Verification ».
Étape 5 — Construire et distribuer l'appli
npm run tauri:build
L'installateur se trouve ensuite dans :
src-tauri/target/release/bundle/
Envoie ce fichier à tes collègues. Les clés sont dedans : ils n'ont rien à régler.
Au quotidien — Gérer les comptes
- Ouvre l'appli, connecte-toi avec ton compte admin.
- Menu Administration (visible uniquement pour les admins).
- Tu peux :
- Créer un compte : nom, email, mot de passe provisoire, rôle, (admin ?)
- Changer le rôle d'un membre
- Promouvoir / rétrograder un admin
- Supprimer un compte
Communique l'email + le mot de passe provisoire à chaque membre. Il se connecte, c'est tout. ✅
Notes de sécurité
- La clé
anondans l'appli est publique par nature : aucun risque. - La clé
service_role(toute-puissante) n'est jamais dans l'appli : elle reste cachée dans l'Edge Function, côté serveur. - Un membre normal ne peut pas se promouvoir admin lui-même (bloqué côté base).
- Tu ne peux pas supprimer ni rétrograder ton propre compte admin (anti-blocage).