# Configuration des environnements - Veza Platform
# Copiez ce fichier vers .env et configurez vos valeurs

# =============================================================================
# ENVIRONNEMENT GÉNÉRAL
# =============================================================================

# Environnement de déploiement
NODE_ENV=development
ENVIRONMENT=development

# Configuration du projet
PROJECT_NAME=Veza Platform
PROJECT_VERSION=1.0.0
PROJECT_DESCRIPTION=Plateforme de création musicale collaborative

# =============================================================================
# BASE DE DONNÉES
# =============================================================================

# PostgreSQL
DATABASE_URL=postgres://postgres:postgres@localhost:5432/veza_platform?sslmode=disable
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=veza_platform
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_SSL_MODE=disable

# Redis
REDIS_URL=redis://localhost:6379
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0

# =============================================================================
# AUTHENTIFICATION
# =============================================================================

# JWT
JWT_SECRET=your-super-secret-jwt-key-here
JWT_EXPIRES_IN=24h
JWT_REFRESH_EXPIRES_IN=7d

# OAuth2 - Google
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/google/callback

# OAuth2 - GitHub
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
GITHUB_REDIRECT_URI=http://localhost:3000/auth/github/callback

# OAuth2 - Discord
DISCORD_CLIENT_ID=your-discord-client-id
DISCORD_CLIENT_SECRET=your-discord-client-secret
DISCORD_REDIRECT_URI=http://localhost:3000/auth/discord/callback

# =============================================================================
# SERVICES
# =============================================================================

# Backend API
API_HOST=localhost
API_PORT=8080
API_BASE_URL=http://localhost:8080
API_CORS_ORIGINS=http://localhost:3000,http://localhost:5173

# Chat Server
CHAT_HOST=localhost
CHAT_PORT=8081
CHAT_WS_URL=ws://localhost:8081/ws

# Stream Server
STREAM_HOST=localhost
STREAM_PORT=8082
STREAM_BASE_URL=http://localhost:8082

# Frontend
FRONTEND_HOST=localhost
FRONTEND_PORT=3000
FRONTEND_URL=http://localhost:3000

# Desktop App
DESKTOP_PORT=3001
DESKTOP_URL=http://localhost:3001

# =============================================================================
# STOCKAGE ET FICHIERS
# =============================================================================

# Stockage local
UPLOAD_DIR=./uploads
MAX_FILE_SIZE=100MB
ALLOWED_FILE_TYPES=audio/mpeg,audio/wav,audio/flac,audio/ogg

# Stockage cloud (optionnel)
AWS_ACCESS_KEY_ID=your-aws-access-key
AWS_SECRET_ACCESS_KEY=your-aws-secret-key
AWS_REGION=us-east-1
AWS_S3_BUCKET=veza-platform-uploads

# =============================================================================
# MONITORING ET LOGS
# =============================================================================

# Logs
LOG_LEVEL=info
LOG_FORMAT=json
LOG_FILE=logs/app.log

# Prometheus
PROMETHEUS_HOST=localhost
PROMETHEUS_PORT=9090
PROMETHEUS_PATH=/metrics

# Grafana
GRAFANA_HOST=localhost
GRAFANA_PORT=3000
GRAFANA_USER=admin
GRAFANA_PASSWORD=admin

# Elasticsearch
ELASTICSEARCH_URL=http://localhost:9200
ELASTICSEARCH_INDEX=veza-platform

# Kibana
KIBANA_URL=http://localhost:5601

# =============================================================================
# SÉCURITÉ
# =============================================================================

# CORS
CORS_ORIGINS=http://localhost:3000,http://localhost:5173
CORS_METHODS=GET,POST,PUT,DELETE,OPTIONS
CORS_HEADERS=Content-Type,Authorization

# Rate Limiting
RATE_LIMIT_WINDOW=15m
RATE_LIMIT_MAX_REQUESTS=100

# Security Headers
SECURITY_HEADERS=true
CONTENT_SECURITY_POLICY=default-src 'self'
X_FRAME_OPTIONS=DENY
X_CONTENT_TYPE_OPTIONS=nosniff

# =============================================================================
# NOTIFICATIONS
# =============================================================================

# Email
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=notifications@veza-platform.com
SMTP_PASSWORD=your-smtp-password
SMTP_FROM=Veza Platform <notifications@veza-platform.com>

# Slack
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/your/slack/webhook
SLACK_CHANNEL=#veza-platform

# Discord
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your/discord/webhook

# =============================================================================
# PAYEMENTS (OPTIONNEL)
# =============================================================================

# Stripe
STRIPE_PUBLISHABLE_KEY=pk_test_your-stripe-publishable-key
STRIPE_SECRET_KEY=sk_test_your-stripe-secret-key
STRIPE_WEBHOOK_SECRET=whsec_your-stripe-webhook-secret

# PayPal
PAYPAL_CLIENT_ID=your-paypal-client-id
PAYPAL_CLIENT_SECRET=your-paypal-client-secret
PAYPAL_MODE=sandbox

# =============================================================================
# INTÉGRATIONS EXTERNES
# =============================================================================

# Spotify (optionnel)
SPOTIFY_CLIENT_ID=your-spotify-client-id
SPOTIFY_CLIENT_SECRET=your-spotify-client-secret
SPOTIFY_REDIRECT_URI=http://localhost:3000/auth/spotify/callback

# SoundCloud (optionnel)
SOUNDCLOUD_CLIENT_ID=your-soundcloud-client-id
SOUNDCLOUD_CLIENT_SECRET=your-soundcloud-client-secret

# YouTube (optionnel)
YOUTUBE_API_KEY=your-youtube-api-key

# =============================================================================
# DÉVELOPPEMENT
# =============================================================================

# Debug
DEBUG=true
VERBOSE_LOGGING=true
HOT_RELOAD=true

# Tests
TEST_DATABASE_URL=postgres://postgres:postgres@localhost:5432/veza_platform_test?sslmode=disable
TEST_REDIS_URL=redis://localhost:6379/1

# =============================================================================
# PRODUCTION
# =============================================================================

# SSL/TLS
SSL_CERT_PATH=/path/to/ssl/cert.pem
SSL_KEY_PATH=/path/to/ssl/key.pem
FORCE_HTTPS=false

# Load Balancer
LOAD_BALANCER_HOST=localhost
LOAD_BALANCER_PORT=80

# CDN
CDN_URL=https://cdn.veza-platform.com
CDN_CACHE_TTL=3600

# =============================================================================
# AGENTS IA
# =============================================================================

# Configuration des agents
AGENTS_ENABLED=true
AGENTS_LOG_LEVEL=info
AGENTS_CONFIG_PATH=.cursor/agents/config.yaml

# Notifications des agents
AGENTS_EMAIL_NOTIFICATIONS=false
AGENTS_SLACK_NOTIFICATIONS=false
AGENTS_GITHUB_NOTIFICATIONS=true

# =============================================================================
# MÉTRIQUES ET RAPPORTS
# =============================================================================

# Rapports automatiques
WEEKLY_REPORTS_ENABLED=true
MONTHLY_REPORTS_ENABLED=true
QUARTERLY_REPORTS_ENABLED=true

# Métriques
METRICS_ENABLED=true
METRICS_INTERVAL=60s
METRICS_RETENTION=30d

# =============================================================================
# BACKUP ET SÉCURITÉ
# =============================================================================

# Sauvegardes
BACKUP_ENABLED=true
BACKUP_SCHEDULE=0 3 * * *
BACKUP_RETENTION_DAYS=30
BACKUP_S3_BUCKET=veza-platform-backups

# Chiffrement
ENCRYPTION_KEY=your-32-character-encryption-key
ENCRYPTION_ALGORITHM=aes-256-gcm

# =============================================================================
# NOTES IMPORTANTES
# =============================================================================

# 1. Ne jamais commiter le fichier .env en production
# 2. Utiliser des secrets forts et uniques
# 3. Roter régulièrement les clés et tokens
# 4. Utiliser des variables d'environnement pour les secrets sensibles
# 5. Tester la configuration avant le déploiement
