Aller au contenu principal

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

  1. Connectez-vous à votre serveur avec FileZilla, WinSCP ou un outil similaire
  2. Naviguez vers votre répertoire web (généralement /var/www/ ou /home/user/public_html/)
  3. Téléversez le dossier extrait feedbackpulse-saas en entier
  4. Assurez-vous que le sous-répertoire public/ est accessible

Option C : Via le gestionnaire de fichiers cPanel

  1. Connectez-vous à cPanel
  2. Ouvrez le Gestionnaire de fichiers → naviguez vers public_html (ou un sous-répertoire)
  3. Téléversez le fichier ZIP
  4. Extrayez-le sur place
  5. 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 :

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.php existe)
    • 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é)
  • 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 (ou localhost)
    • 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
  • 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) ou 465 (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]
  • Vous pouvez ignorer cette étape et la configurer ultérieurement dans Admin → Paramètres

Finalisation

  • Bascule les drivers de session et de cache vers database pour la production
  • Génère un CRON_TOKEN pour 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érificationCommentRésultat attendu
La page d'accueil se chargeVisitez https://yourdomain.comVoir la page d'accueil
La connexion fonctionneVisitez https://yourdomain.com/loginSe connecter avec les identifiants super-administrateur
Panneau d'administrationVisitez https://yourdomain.com/admin/dashboardVoir le tableau de bord admin
Lien de stockageVisitez https://yourdomain.com/storage/Pas d'erreur 404
Vérification de santéVisitez https://yourdomain.com/upVoir le texte "OK"
Cron actifVérifiez Admin → ParamètresAucun avertissement cron
E-mail fonctionneAdmin → Paramètres → E-mail → Envoyer un testRecevoir l'e-mail de test

Étapes post-installation

Une fois l'installation terminée :

  1. Examinez les plans d'abonnementAdmin → Plans (modifiez les tarifs, limites, fonctionnalités)
  2. Configurez les passerelles de paiementAdmin → Paramètres → Paiements (clés API Stripe/PayPal)
  3. Personnalisez la page d'accueilAdmin → Page d'accueil
  4. Testez la livraison des e-mailsAdmin → Paramètres → E-mail → Envoyer un e-mail de test
  5. Configurez le DNS générique (optionnel) — pour les sous-domaines locataires. Voir Configuration DNS Wildcard.
  6. Créez votre premier locataire — Inscrivez-vous à /register dans une fenêtre de navigation privée

Dépannage de l'installation

ProblèmeSolution
Page blancheConsultez storage/logs/laravel.log pour les erreurs. Généralement un problème de permissions.
Erreur 500 du serveurActivez 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éeVé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 pasAssurez-vous que la racine web pointe vers le répertoire public/.
CSS/JS ne se charge pasVidez 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éeRelancez les commandes chown et chmod de l'étape 2.

Pour plus d'informations, consultez Dépannage.


Étapes suivantes