Guide d'Installation
Voici le guide d'installation complet et étape par étape pour FeedbackPulse SaaS. Suivez chaque étape avec soin.
Liste de vérification pré-installation
Avant de commencer, assurez-vous d'avoir :
- Un serveur répondant à toutes les exigences
- Un nom de domaine pointant vers l'adresse IP de votre serveur
- Un accès SSH à votre serveur (ou FTP pour le téléversement de fichiers)
- Une base de données MySQL/MariaDB et les identifiants associés
- Un compte e-mail SMTP (Gmail, Mailgun, Amazon SES, etc.)
- Votre code d'achat Envato (depuis votre commande CodeCanyon)
Étape 1 : Téléverser les fichiers sur votre serveur
Option A : Via SSH (recommandé)
# Se connecter au serveur
ssh user@your-server-ip
# Naviguer vers le répertoire web
cd /var/www
# Téléverser et extraire le fichier ZIP
# (Téléversez le zip via SCP, SFTP ou wget depuis un lien temporaire)
unzip feedbackpulse-saas.zip -d feedbackpulse-saas
cd feedbackpulse-saas
Option B : Via FTP/SFTP
- Connectez-vous à votre serveur avec FileZilla, WinSCP ou un outil similaire
- Naviguez vers votre répertoire web (généralement
/var/www/ou/home/user/public_html/) - Téléversez le dossier extrait
feedbackpulse-saasen entier - Assurez-vous que le sous-répertoire
public/est accessible
Option C : Via le gestionnaire de fichiers cPanel
- Connectez-vous à cPanel
- Ouvrez le Gestionnaire de fichiers → naviguez vers
public_html(ou un sous-répertoire) - Téléversez le fichier ZIP
- Extrayez-le sur place
- Important : Vous devrez définir la racine du document sur le dossier
public/(voir Configuration Apache)
Étape 2 : Définir les permissions des fichiers
cd /var/www/feedbackpulse-saas
# Définir le propriétaire (remplacez www-data par l'utilisateur de votre serveur web)
# Apache : www-data | Nginx : www-data ou nginx
sudo chown -R www-data:www-data .
# Définir les permissions des répertoires
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
# Rendre le stockage et le cache accessibles en écriture
sudo chmod -R 775 storage bootstrap/cache
Étape 3 : Configurer votre serveur web
Votre serveur web doit pointer vers le répertoire public/ à l'intérieur du projet — PAS vers la racine du projet. C'est une exigence de sécurité critique.
Choisissez votre serveur web :
- Configuration Apache
- Configuration Nginx
- Hébergement partagé (cPanel, Plesk, DirectAdmin) — si vous êtes sur un hébergement partagé, suivez plutôt ce guide !
Version rapide :
Apache :
DocumentRoot /var/www/feedbackpulse-saas/public
Nginx :
root /var/www/feedbackpulse-saas/public;
Après la configuration, redémarrez votre serveur web :
# Apache
sudo systemctl restart apache2
# Nginx
sudo systemctl restart nginx
Étape 4 : Lien symbolique de stockage (automatique)
L'installateur web tente automatiquement de créer le lien symbolique de stockage lors de l'étape finale. Vous n'avez pas besoin d'exécuter de commandes.
- VPS/Dédié : Le lien symbolique est créé automatiquement. Aucune action requise.
- Hébergement partagé : Si les liens symboliques sont désactivés sur votre hébergeur, FeedbackPulse utilise un fallback PHP intégré pour servir les fichiers téléversés (logos, images). Tout fonctionne — aucune action requise.
La page de finalisation de l'installateur vous indiquera si le lien symbolique a été créé ou si le fallback est actif.
Étape 5 : Lancer l'installateur web
Ouvrez votre navigateur et accédez à :
https://yourdomain.com/install
L'installateur vous guidera à travers 5 étapes. Consultez Présentation de l'installateur web pour des captures d'écran et explications détaillées.
Résumé rapide :
Étape 1 : Vérification de la licence
- Saisissez votre code d'achat Envato/CodeCanyon
- Cela valide votre licence auprès de l'API Envato
- Si vous n'utilisez pas Envato, une option de saut peut être disponible
Étape 2 : Vérification des prérequis
- L'installateur vérifie automatiquement :
- Les dépendances Vendor (
vendor/autoload.phpexiste) - La version PHP (8.2+)
- Les extensions PHP requises
- Les permissions des répertoires (storage, bootstrap/cache)
- L'environnement d'hébergement (détecte l'hébergement partagé, affiche les informations de compatibilité)
- Les dépendances Vendor (
- Corrigez les éléments en échec avant de continuer
Étape 3 : Configuration de la base de données
- Saisissez vos identifiants de base de données :
- Hôte :
127.0.0.1(oulocalhost) - Port :
3306 - Nom de la base de données :
feedbackpulse(créez-la d'abord !) - Nom d'utilisateur : votre nom d'utilisateur de base de données
- Mot de passe : votre mot de passe de base de données
- Hôte :
- L'installateur exécutera toutes les migrations et insérera les données par défaut
Créez la base de données d'abord :
CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Étape 4 : Compte administrateur
- Créez votre compte super-administrateur :
- Nom : Votre nom
- E-mail : [email protected]
- Mot de passe : Un mot de passe robuste (min. 8 caractères)
- C'est le compte que vous utiliserez pour gérer l'ensemble de la plateforme
Étape 5 : Configuration des e-mails
- Saisissez vos informations SMTP :
- Hôte : ex. :
smtp.gmail.com - Port :
587(TLS) ou465(SSL) - Nom d'utilisateur : votre nom d'utilisateur SMTP
- Mot de passe : votre mot de passe SMTP ou mot de passe d'application
- Chiffrement : TLS (recommandé)
- Adresse d'expéditeur :
[email protected]
- Hôte : ex. :
- Vous pouvez ignorer cette étape et la configurer ultérieurement dans Admin → Paramètres
Finalisation
- Bascule les drivers de session et de cache vers
databasepour la production - Génère un
CRON_TOKENpour l'endpoint cron web - Crée un fichier
storage/installed.lock(empêche de relancer l'installateur) - Affiche une page de succès avec les instructions de configuration de la tâche cron (options CLI et URL) et les prochaines étapes
Étape 6 : Configurer la tâche cron
FeedbackPulse a besoin d'une tâche cron pour exécuter les tâches planifiées. C'est indispensable pour :
- L'envoi des résumés par e-mail (quotidiens/hebdomadaires)
- Le traitement des expirations de période d'essai
- L'application des politiques de conservation des données
- L'envoi des alertes d'utilisation
- L'exécution de la détection d'anomalies par IA
- L'envoi des rapports planifiés
Option 1 — Commande CLI (VPS / Dédié) :
crontab -e
Ajoutez cette ligne :
* * * * * cd /var/www/feedbackpulse-saas && php artisan schedule:run >> /dev/null 2>&1
Option 2 — URL/wget (Hébergement partagé) :
Si votre panneau d'hébergement ne supporte que les crons basés sur des URL, utilisez l'endpoint cron web (le CRON_TOKEN est généré automatiquement lors de l'installation et affiché sur la page de finalisation) :
wget -q -O /dev/null "https://yourdomain.com/cron/run?token=YOUR_CRON_TOKEN"
Astuce : La page de finalisation de l'installateur affiche les deux options avec votre chemin de serveur et votre jeton pré-remplis. Copiez-les depuis là !
Pour plus de détails, consultez Tâches cron et workers de file d'attente.
Étape 7 : Configurer SSL (HTTPS)
HTTPS est vivement recommandé pour la sécurité, surtout puisque FeedbackPulse gère les données d'authentification et de paiement.
Utiliser Let's Encrypt (gratuit)
# Installer Certbot
sudo apt install certbot python3-certbot-nginx # pour Nginx
# OU
sudo apt install certbot python3-certbot-apache # pour Apache
# Obtenir le certificat
sudo certbot --nginx -d yourdomain.com # pour Nginx
# OU
sudo certbot --apache -d yourdomain.com # pour Apache
Certbot configurera automatiquement votre serveur web pour HTTPS et mettra en place le renouvellement automatique.
Pour plus de détails, consultez Certificats SSL.
Étape 8 : Vérifier l'installation
Parcourez cette liste de vérification :
| Vérification | Comment | Résultat attendu |
|---|---|---|
| La page d'accueil se charge | Visitez https://yourdomain.com | Voir la page d'accueil |
| La connexion fonctionne | Visitez https://yourdomain.com/login | Se connecter avec les identifiants super-administrateur |
| Panneau d'administration | Visitez https://yourdomain.com/admin/dashboard | Voir le tableau de bord admin |
| Lien de stockage | Visitez https://yourdomain.com/storage/ | Pas d'erreur 404 |
| Vérification de santé | Visitez https://yourdomain.com/up | Voir le texte "OK" |
| Cron actif | Vérifiez Admin → Paramètres | Aucun avertissement cron |
| E-mail fonctionne | Admin → Paramètres → E-mail → Envoyer un test | Recevoir l'e-mail de test |
Étapes post-installation
Une fois l'installation terminée :
- Examinez les plans d'abonnement —
Admin → Plans(modifiez les tarifs, limites, fonctionnalités) - Configurez les passerelles de paiement —
Admin → Paramètres → Paiements(clés API Stripe/PayPal) - Personnalisez la page d'accueil —
Admin → Page d'accueil - Testez la livraison des e-mails —
Admin → Paramètres → E-mail → Envoyer un e-mail de test - Configurez le DNS générique (optionnel) — pour les sous-domaines locataires. Voir Configuration DNS Wildcard.
- Créez votre premier locataire — Inscrivez-vous à
/registerdans une fenêtre de navigation privée
Dépannage de l'installation
| Problème | Solution |
|---|---|
| Page blanche | Consultez storage/logs/laravel.log pour les erreurs. Généralement un problème de permissions. |
| Erreur 500 du serveur | Activez temporairement le mode débogage : définissez APP_DEBUG=true dans .env, puis consultez l'erreur. |
| "Class not found" | Assurez-vous que le répertoire vendor/ est présent et intact. Re-téléversez-le depuis le package téléchargé si nécessaire. |
| Connexion à la base de données refusée | Vérifiez les identifiants, assurez-vous que MySQL fonctionne, vérifiez si localhost vs 127.0.0.1 fait une différence. |
| L'installateur ne se charge pas | Assurez-vous que la racine web pointe vers le répertoire public/. |
| CSS/JS ne se charge pas | Videz le cache du navigateur. Si les images manquent, le fallback de stockage les gère automatiquement sur l'hébergement partagé. Sur VPS, visitez /update en tant que super-administrateur pour re-créer le lien symbolique. |
| Permission refusée | Relancez les commandes chown et chmod de l'étape 2. |
Pour plus d'informations, consultez Dépannage.
Étapes suivantes
- Présentation de l'installateur web — captures d'écran détaillées de l'installateur
- Configuration Apache — configuration de l'hôte virtuel Apache
- Configuration Nginx — configuration du bloc serveur Nginx
- Configuration — affiner votre
.env