Suggestions : .env.example complet, page /consultations, fix set-domain.sh
- .env.example : variables à jour (Mistral, SECRET_KEY, ADMIN_SECRET, Redis, hCaptcha, anti-abus) — l'ancienne version référençait encore OpenAI uniquement - Nouveau set-domain.sh : supprime la référence à vite.config.selfhost.ts supprimé - Nouvelle page /consultations : index public des consultations actives/clôturées, toggle "afficher les clôturées", lien dans le footer - App.tsx : route /consultations + lien footer Consultations Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+36
-12
@@ -1,22 +1,46 @@
|
||||
# La Voix du Peuple — Variables d'environnement
|
||||
# Copiez ce fichier en .env et remplissez les valeurs.
|
||||
# Sécurisez le fichier : chmod 600 .env
|
||||
|
||||
# ─── Base de données PostgreSQL ──────────────────────────────────────────────
|
||||
# Format : postgresql://utilisateur:motdepasse@hote:port/nomdb
|
||||
DATABASE_URL=postgresql://voixdupeuple:CHANGEME@localhost:5432/voixdupeuple
|
||||
|
||||
# ─── Clé API OpenAI ──────────────────────────────────────────────────────────
|
||||
# Obtenez votre clé sur https://platform.openai.com/api-keys
|
||||
OPENAI_API_KEY=sk-...
|
||||
# ─── IA — Mistral (recommandé — souveraineté européenne) ─────────────────────
|
||||
# Obtenez votre clé sur https://console.mistral.ai
|
||||
MISTRAL_API_KEY=sk-...
|
||||
|
||||
# ─── (Optionnel) Proxy OpenAI compatible ─────────────────────────────────────
|
||||
# Décommentez si vous utilisez un proxy (Ollama avec OpenAI compat, Azure, etc.)
|
||||
# OPENAI_BASE_URL=https://votre-proxy.example.com/v1
|
||||
# ─── IA — Alternative OpenAI-compatible (si Mistral non disponible) ──────────
|
||||
# OPENAI_API_KEY=sk-...
|
||||
# OPENAI_BASE_URL=https://votre-proxy.example.com/v1 # Optionnel : proxy/Ollama
|
||||
|
||||
# ─── Modèles IA (optionnel — valeurs par défaut recommandées) ────────────────
|
||||
# OPENAI_FILTER_MODEL=gpt-4o-mini # Modèle de filtrage (rapide, économique)
|
||||
# OPENAI_SYNTHESIS_MODEL=gpt-4o # Modèle de synthèse (haute qualité)
|
||||
# ─── Modèles IA (optionnel — valeurs par défaut ci-dessous) ──────────────────
|
||||
# FILTER_MODEL=mistral-small-latest # Modèle de filtrage (rapide, économique)
|
||||
# SYNTHESIS_MODEL=mistral-large-latest # Modèle de synthèse (haute qualité)
|
||||
|
||||
# ─── Sécurité Flask ───────────────────────────────────────────────────────────
|
||||
# Générez avec : python3 -c "import secrets; print(secrets.token_hex(32))"
|
||||
SECRET_KEY=CHANGEZ_CE_SECRET_AVEC_UNE_VALEUR_ALEATOIRE_LONGUE
|
||||
|
||||
# ─── Panel d'administration ───────────────────────────────────────────────────
|
||||
# Mot de passe pour accéder à /admin
|
||||
ADMIN_SECRET=CHANGEZ_CE_MOT_DE_PASSE_ADMIN
|
||||
|
||||
# ─── Flask ────────────────────────────────────────────────────────────────────
|
||||
FLASK_ENV=production
|
||||
PORT=8000
|
||||
PORT=8080
|
||||
|
||||
# ─── Session (générez avec: python3 -c "import secrets; print(secrets.token_hex(32))") ───
|
||||
SESSION_SECRET=CHANGEZ_CE_SECRET_AVEC_UNE_VALEUR_ALEATOIRE_LONGUE
|
||||
# ─── Anti-abus (optionnel — valeurs par défaut raisonnables) ─────────────────
|
||||
# REDIS_URL=redis://localhost:6379/0 # Rate limiting persistant (recommandé en prod)
|
||||
# RATE_LIMIT_CONTRIBUTIONS=5 per minute;3 per hour # Limite de soumissions
|
||||
# CONTRIBUTION_COOLDOWN_SECONDS=3600 # Délai entre deux soumissions (même session)
|
||||
# FLOOD_THRESHOLD=10 # Alerte flood : nb soumissions / 5 min / IP
|
||||
|
||||
# ─── hCaptcha (optionnel — recommandé en production) ─────────────────────────
|
||||
# Créez un compte sur https://www.hcaptcha.com (RGPD-friendly)
|
||||
# HCAPTCHA_SECRET_KEY=votre-cle-secrete-hcaptcha
|
||||
# VITE_HCAPTCHA_SITE_KEY=votre-cle-de-site-hcaptcha # Nécessite rebuild frontend
|
||||
|
||||
# ─── Frontend ─────────────────────────────────────────────────────────────────
|
||||
# URL publique du site (utilisée par le QR code et les exports)
|
||||
VITE_APP_URL=https://votredomaine.fr
|
||||
|
||||
Reference in New Issue
Block a user