ScaleRocket/Web

Variables d'environnement

Référence complète de toutes les variables d'environnement, leur visibilité et la configuration par application.

Vue d'ensemble

ScaleRocket utilise des variables d'environnement pour configurer chaque application et le backend. Cette page liste chaque variable, si elle est sûre à exposer publiquement, et où elle est utilisée.

Configuration par application

apps/web (.env.local)

Le site marketing Next.js. Les variables préfixées par NEXT_PUBLIC_ sont incluses dans le bundle client et peuvent être exposées en toute sécurité.

VariableRequisePubliqueDescription
NEXT_PUBLIC_WEB_URLOuiOuiURL du site marketing (ex. https://scalerocket.dev)
NEXT_PUBLIC_APP_URLOuiOuiURL du dashboard pour les liens "Aller au Dashboard"
NEXT_PUBLIC_PLAUSIBLE_DOMAINNonOuiDomaine pour Plausible analytics
NEXT_PUBLIC_GA_IDNonOuiID de mesure Google Analytics
NEXT_PUBLIC_POSTHOG_KEYNonOuiClé API du projet PostHog
# apps/web/.env.local
NEXT_PUBLIC_WEB_URL=https://scalerocket.dev
NEXT_PUBLIC_APP_URL=https://app.scalerocket.dev

# Analytics (optional)
NEXT_PUBLIC_PLAUSIBLE_DOMAIN=scalerocket.dev
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX
NEXT_PUBLIC_POSTHOG_KEY=phc_xxx

apps/app (.env.local)

Le tableau de bord utilisateur Vite. Les variables préfixées par VITE_ sont incluses dans le bundle client.

VariableRequisePubliqueDescription
VITE_WEB_URLOuiOuiURL du site marketing pour les liens retour
VITE_APP_URLOuiOuiURL du dashboard (auto-référence pour les redirections)
VITE_SUPABASE_URLOuiOuiURL du projet Supabase (https://xxx.supabase.co)
VITE_SUPABASE_ANON_KEYOuiOuiClé anonyme/publique Supabase (sûre à exposer)
VITE_STRIPE_PUBLISHABLE_KEYOuiOuiClé publiable Stripe (pk_test_ ou pk_live_)
# apps/app/.env.local
VITE_WEB_URL=https://scalerocket.dev
VITE_APP_URL=https://app.scalerocket.dev
VITE_SUPABASE_URL=https://xxx.supabase.co
VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
VITE_STRIPE_PUBLISHABLE_KEY=pk_test_xxx
VariableRequisePubliqueDescription
VITE_WEB_URLOuiOuiURL du site marketing pour les liens retour
VITE_APP_URLOuiOuiURL du dashboard (auto-référence pour les redirections)
VITE_CONVEX_URLOuiOuiURL du déploiement Convex (https://xxx.convex.cloud)
VITE_STRIPE_PUBLISHABLE_KEYOuiOuiClé publiable Stripe (pk_test_ ou pk_live_)
# apps/app/.env.local
VITE_WEB_URL=https://scalerocket.dev
VITE_APP_URL=https://app.scalerocket.dev
VITE_CONVEX_URL=https://xxx.convex.cloud
VITE_STRIPE_PUBLISHABLE_KEY=pk_test_xxx

apps/ops (.env.local)

Le panneau d'administration Vite.

Nécessite la clé service role pour un accès non restreint à la base de données.

VariableRequisePubliqueDescription
VITE_SUPABASE_URLOuiOuiURL du projet Supabase
VITE_SUPABASE_ANON_KEYOuiOuiClé anonyme/publique Supabase
VITE_SUPABASE_SERVICE_KEYOuiNonClé service role Supabase -- contourne le RLS
# apps/ops/.env.local
VITE_SUPABASE_URL=https://xxx.supabase.co
VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
VITE_SUPABASE_SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Attention : La clé service role accorde un accès complet à la base de données, contournant toutes les politiques RLS. Ne l'ajoutez jamais à apps/web ou apps/app.

VariableRequisePubliqueDescription
VITE_CONVEX_URLOuiOuiURL du déploiement Convex
# apps/ops/.env.local
VITE_CONVEX_URL=https://xxx.convex.cloud

Le contrôle d'accès admin est géré côté serveur par les fonctions Convex en utilisant la variable d'environnement ADMIN_EMAILS.

Secrets backend

Les Edge Functions ont automatiquement accès à SUPABASE_URL, SUPABASE_ANON_KEY et SUPABASE_SERVICE_ROLE_KEY sans aucune configuration.

Les secrets suivants doivent être définis manuellement :

VariableRequiseDescription
STRIPE_SECRET_KEYOuiClé secrète API Stripe (sk_test_ ou sk_live_)
STRIPE_WEBHOOK_SECRETOuiSecret de signature webhook Stripe (whsec_...)
APP_URLOuiURL du dashboard pour les redirections dans les Edge Functions
RESEND_API_KEYOuiClé API Resend pour les e-mails (re_...)
RESEND_FROM_EMAILOuiAdresse e-mail d'expédition (ex. noreply@scalerocket.dev)
ADMIN_EMAILSOuiListe d'adresses e-mail admin séparées par des virgules
GOOGLE_API_KEYNonClé API Google (uniquement si vous utilisez des fonctionnalités IA)

Pour le développement local, créez supabase/.env :

STRIPE_SECRET_KEY=sk_test_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
APP_URL=http://localhost:5173
RESEND_API_KEY=re_xxx
RESEND_FROM_EMAIL=noreply@yourdomain.com
ADMIN_EMAILS=admin@example.com
GOOGLE_API_KEY=xxx  # optional

Pour la production, définissez les secrets via CLI :

pnpm supabase secrets set STRIPE_SECRET_KEY=sk_live_xxx
pnpm supabase secrets set STRIPE_WEBHOOK_SECRET=whsec_xxx
pnpm supabase secrets set APP_URL=https://app.scalerocket.dev
pnpm supabase secrets set RESEND_API_KEY=re_xxx
pnpm supabase secrets set RESEND_FROM_EMAIL=noreply@yourdomain.com
pnpm supabase secrets set ADMIN_EMAILS=admin@example.com
pnpm supabase secrets set GOOGLE_API_KEY=xxx  # optional

Les variables d'environnement suivantes doivent être définies pour les fonctions Convex :

VariableRequiseDescription
STRIPE_SECRET_KEYOuiClé secrète API Stripe (sk_test_ ou sk_live_)
STRIPE_WEBHOOK_SECRETOuiSecret de signature webhook Stripe (whsec_...)
APP_URLOuiURL du dashboard pour les redirections
RESEND_API_KEYOuiClé API Resend pour les e-mails (re_...)
RESEND_FROM_EMAILOuiAdresse e-mail d'expédition (ex. noreply@scalerocket.dev)
ADMIN_EMAILSOuiListe d'adresses e-mail admin séparées par des virgules
GOOGLE_API_KEYNonClé API Google (uniquement si vous utilisez des fonctionnalités IA)

Pour le développement local, définissez les variables sur le déploiement dev :

npx convex env set STRIPE_SECRET_KEY sk_test_xxx
npx convex env set STRIPE_WEBHOOK_SECRET whsec_xxx
npx convex env set APP_URL http://localhost:5173
npx convex env set RESEND_API_KEY re_xxx
npx convex env set RESEND_FROM_EMAIL noreply@yourdomain.com
npx convex env set ADMIN_EMAILS admin@example.com

Pour la production, définissez les variables sur le déploiement prod :

npx convex env set STRIPE_SECRET_KEY sk_live_xxx --prod
npx convex env set STRIPE_WEBHOOK_SECRET whsec_xxx --prod
npx convex env set APP_URL https://app.scalerocket.dev --prod
npx convex env set RESEND_API_KEY re_xxx --prod
npx convex env set RESEND_FROM_EMAIL noreply@yourdomain.com --prod
npx convex env set ADMIN_EMAILS admin@example.com --prod

Valeurs de développement local

Lorsque vous exécutez Supabase localement avec pnpm supabase start, les identifiants locaux sont affichés :

API URL: http://localhost:54321
anon key: eyJhbGci...
service_role key: eyJhbGci...

Utilisez-les dans vos fichiers .env.local pendant le développement.

Lorsque vous exécutez Convex localement avec npx convex dev, il se connecte à votre déploiement dev. L'URL Convex est affichée dans le terminal et stockée dans .env.local :

VITE_CONVEX_URL=https://YOUR_DEV_DEPLOYMENT.convex.cloud

Règles de sécurité

  1. Ne jamais committer les fichiers .env.local. Ils sont dans .gitignore par défaut.
  2. Ne jamais exposer les clés secrètes dans le code côté client. Seules les variables préfixées par NEXT_PUBLIC_* et VITE_* sont incluses dans le bundle client.
  3. Utilisez des clés différentes pour le test et la production. Clés test Stripe (sk_test_) pour le développement, clés live (sk_live_) pour la production.
  4. Renouvelez les clés si elles sont compromises. Régénérez-les dans le dashboard correspondant (Supabase, Stripe, Resend) et mettez à jour partout.
  5. Définissez les variables d'environnement Vercel pour chaque application déployée séparément. Chaque projet Vercel a ses propres variables d'environnement.

Fini ? Marquez cette page comme terminée.

On this page