Aller au contenu principal

Variables d'environnement (.env)

Le fichier .env est au cœur de la configuration de FeedbackPulse. Il est créé automatiquement lors de l'installation, mais vous pouvez le modifier manuellement à tout moment.


📍 Emplacement du fichier

/var/www/feedbackpulse-saas/.env

⚠️ Sécurité : Le fichier .env contient des données sensibles (mots de passe de base de données, clés API). Ne le commitez jamais dans un système de contrôle de version et ne l'exposez pas publiquement. Il devrait avoir les permissions 640.


🔧 Après avoir modifié .env

Après avoir apporté des modifications, videz le cache de configuration :

php artisan config:clear
php artisan config:cache # Optionnel : mettre en cache pour les performances en production

📋 Référence complète des variables

🏠 Paramètres de l'application

VariableValeur par défautDescription
APP_NAMEFeedbackPulseNom de la plateforme (affiché dans les emails, les titres)
APP_ENVproductionEnvironnement : production, local, staging
APP_KEY(auto-généré)Clé de chiffrement. Ne jamais changer après l'installation !
APP_DEBUGfalseAfficher les erreurs détaillées. Doit être false en production !
APP_URLhttps://yourdomain.comURL complète de votre plateforme (avec https)
APP_LOCALEenLangue par défaut
APP_FALLBACK_LOCALEenLangue de secours
BCRYPT_ROUNDS12Niveau de sécurité du hachage des mots de passe (plus élevé = plus lent mais plus sécurisé)

⚠️ APP_DEBUG=true exposera des informations sensibles (identifiants de base de données, clés API) dans les pages d'erreur. Ne jamais activer en production sauf pour de courtes sessions de débogage.

🗄️ Base de données

VariableValeur par défautDescription
DB_CONNECTIONmysqlDriver de base de données : mysql, mariadb, sqlite, pgsql
DB_HOST127.0.0.1Adresse du serveur de base de données
DB_PORT3306Port de la base de données
DB_DATABASEfeedbackpulseNom de la base de données
DB_USERNAMErootNom d'utilisateur de la base de données
DB_PASSWORD(vide)Mot de passe de la base de données

📧 Email / SMTP

VariableValeur par défautDescription
MAIL_MAILERsmtpDriver mail : smtp, ses, postmark, sendmail, log
MAIL_HOSTsmtp.mailgun.orgHôte du serveur SMTP
MAIL_PORT587Port SMTP (587 pour TLS, 465 pour SSL)
MAIL_USERNAME(vide)Nom d'utilisateur SMTP
MAIL_PASSWORD(vide)Mot de passe SMTP
MAIL_ENCRYPTIONtlsChiffrement : tls, ssl ou null
MAIL_FROM_ADDRESS[email protected]Adresse email d'expéditeur
MAIL_FROM_NAMEFeedbackPulseNom de l'expéditeur

💳 Stripe (Optionnel)

VariableValeur par défautDescription
STRIPE_PUBLISHABLE_KEY(vide)Clé publique Stripe (commence par pk_)
STRIPE_SECRET_KEY(vide)Clé secrète Stripe (commence par sk_)
STRIPE_WEBHOOK_SECRET(vide)Secret de signature webhook Stripe (commence par whsec_)

💰 PayPal (Optionnel)

VariableValeur par défautDescription
PAYPAL_CLIENT_ID(vide)ID client de l'API REST PayPal
PAYPAL_CLIENT_SECRET(vide)Secret client de l'API REST PayPal
PAYPAL_WEBHOOK_ID(vide)ID webhook PayPal pour la vérification
PAYPAL_MODEsandboxMode : sandbox (test) ou live (production)

🔑 Connexion sociale (Optionnel)

VariableValeur par défautDescription
GOOGLE_CLIENT_ID(vide)ID client OAuth Google
GOOGLE_CLIENT_SECRET(vide)Secret client OAuth Google
GITHUB_CLIENT_ID(vide)ID client OAuth GitHub
GITHUB_CLIENT_SECRET(vide)Secret client OAuth GitHub

🤖 IA / OpenAI (Optionnel)

VariableValeur par défautDescription
OPENAI_API_KEY(vide)Clé API OpenAI pour l'analyse de sentiment, l'auto-étiquetage, les réponses IA

🤖 reCAPTCHA (Optionnel)

VariableValeur par défautDescription
RECAPTCHA_SITE_KEY(vide)Clé de site Google reCAPTCHA v2/v3
RECAPTCHA_SECRET_KEY(vide)Clé secrète Google reCAPTCHA

🍪 Session et cache

VariableValeur par défautDescription
SESSION_DRIVERfileStockage de session : file, database, redis, cookie
SESSION_LIFETIME120Délai d'expiration de la session en minutes
SESSION_DOMAIN(vide)Domaine du cookie (définir à .yourdomain.com pour les sous-domaines)
SESSION_SECURE_COOKIEtrueExiger HTTPS pour les cookies de session
CACHE_STOREfileDriver de cache : file, database, redis, memcached

📦 File d'attente et tâches

VariableValeur par défautDescription
QUEUE_CONNECTIONsyncDriver de file d'attente : sync, database, redis

⏰ Cron (Hébergement mutualisé)

VariableValeur par défautDescription
CRON_TOKEN(auto-généré)Token secret pour le point de terminaison cron web /cron/run?token=. Auto-généré lors de l'installation. Requis uniquement si vous utilisez un cron basé sur URL plutôt que CLI.

📁 Stockage de fichiers

VariableValeur par défautDescription
FILESYSTEM_DISKlocalDisque de stockage par défaut : local, public, s3

🪵 Journalisation

VariableValeur par défautDescription
LOG_CHANNELstackCanal de journal : stack, single, daily, syslog
LOG_LEVELerrorNiveau min de journal : debug, info, notice, warning, error, critical

💡 Exemple de .env de production

APP_NAME="FeedbackPulse"
APP_ENV=production
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_URL=https://feedback.mycompany.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feedbackpulse
DB_USERNAME=fp_user
DB_PASSWORD=super_secure_password_here

SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN=.feedback.mycompany.com
SESSION_SECURE_COOKIE=true
CACHE_STORE=file

QUEUE_CONNECTION=sync

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mailgun_password_here
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"

STRIPE_PUBLISHABLE_KEY=pk_live_xxxxx
STRIPE_SECRET_KEY=sk_live_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx

OPENAI_API_KEY=sk-xxxxx

LOG_CHANNEL=daily
LOG_LEVEL=error

⏭️ Étapes suivantes