Aller au contenu
Documentation / Configuration / Variables d'environnement
Configuration

Variables d'environnement

Configuration complète des variables d'environnement pour Luneo en développement et production.

Variables Frontend (Next.js)

Créez un fichier .env.local à la racine de apps/frontend/

 # ============================================
# FRONTEND ENVIRONMENT VARIABLES
# ============================================ # Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://obrijgptqztacolemsbk.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key_here
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key_here # Stripe Configuration
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_live_xxxxxxxxxxxxx # Stripe Price IDs
STRIPE_PRICE_PRO=price_xxxxxxxxxxxxx
STRIPE_PRICE_BUSINESS=price_xxxxxxxxxxxxx
STRIPE_PRICE_ENTERPRISE=price_xxxxxxxxxxxxx # Google OAuth
NEXT_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_google_client_secret # Application URLs
NEXT_PUBLIC_APP_URL=https://app.luneo.app
NEXT_PUBLIC_API_URL=https://api.luneo.app # OpenAI (for AI features)
OPENAI_API_KEY=sk-xxxxxxxxxxxxx # SendGrid (for emails)
SENDGRID_API_KEY=SG.xxxxxxxxxxxxx
SENDGRID_FROM_EMAIL=noreply@luneo.app # Vercel Analytics (optional)
NEXT_PUBLIC_VERCEL_ANALYTICS_ID=your_analytics_id 

NEXT_PUBLIC_SUPABASE_URL

Obligatoire: Oui
Type: URL publique
Description: URL de votre projet Supabase

Trouvez cette valeur dans : Supabase Dashboard → Settings → API → Project URL

NEXT_PUBLIC_SUPABASE_ANON_KEY

Obligatoire: Oui
Type: Clé publique
Description: Clé anonyme Supabase (safe pour le frontend)

Trouvez cette valeur dans : Supabase Dashboard → Settings → API → anon public

SUPABASE_SERVICE_ROLE_KEY

Obligatoire: Oui
Type: Clé secrète
Description: Clé service role (accès admin, backend only)

⚠️ Ne JAMAIS exposer cette clé côté client !

NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY

Obligatoire: Oui (si Stripe activé)
Type: Clé publique
Description: Clé publique Stripe pour le frontend

Trouvez cette valeur dans : Stripe Dashboard → Developers → API keys → Publishable key

STRIPE_SECRET_KEY

Obligatoire: Oui (si Stripe activé)
Type: Clé secrète
Description: Clé secrète Stripe (backend only)

⚠️ Production: Utilisez sk_live_ pas sk_test_

Configuration Production (Vercel)

Étapes de configuration

  1. 1. Allez sur Vercel Dashboard → Votre projet → Settings → Environment Variables
  2. 2. Cliquez sur "Add New"
  3. 3. Pour chaque variable, sélectionnez l'environnement : Production
  4. 4. Collez la valeur et cliquez "Save"
  5. 5. Redéployez votre application pour appliquer les changements

Sécurité et bonnes pratiques

✅ À FAIRE

  • • Utilisez des clés différentes pour dev et production
  • • Ne commitez JAMAIS les fichiers .env dans Git
  • • Ajoutez .env* dans votre .gitignore
  • • Rotez vos clés API régulièrement (tous les 3 mois minimum)
  • • Utilisez des secrets managers pour la production (Vercel, AWS Secrets Manager)

❌ À NE JAMAIS FAIRE

  • • Ne partagez jamais vos clés secrètes publiquement
  • • Ne hardcodez pas les clés dans le code
  • • N'exposez pas les clés backend (service_role, secret_key) côté client
  • • N'utilisez pas les mêmes clés en dev et prod
  • • Ne commitez pas les .env dans GitHub

Problèmes courants

❌"Environment variable not defined"

Cause: Variable manquante ou mal nommée

Solution:

  1. Vérifiez l'orthographe exacte dans .env.local
  2. Redémarrez le serveur dev : npm run dev
  3. Les variables NEXT_PUBLIC_ sont accessibles côté client

❌"Invalid Supabase credentials"

Solution:

  1. Vérifiez que l'URL Supabase est correcte (format: https://xxxxx.supabase.co)
  2. Vérifiez que la clé anon correspond au bon projet
  3. Allez dans Supabase Dashboard → Settings → API pour copier les bonnes valeurs