Aller au contenu principal

Sauvegardes de base de données

FeedbackPulse inclut un système de sauvegarde intégré (Admin → Sauvegardes) qui vous permet de créer, télécharger et gérer les sauvegardes de base de données directement depuis le panneau d'administration.


🔧 Fonctionnement

FeedbackPulse détecte intelligemment votre environnement d'hébergement et choisit la meilleure méthode de sauvegarde :

EnvironnementMéthodeVitesse
VPS/Dédié (exec disponible)Commande mysqldump → gzipRapide
Windows (Laragon/XAMPP)mysqldump → PHP gzencodeRapide
Hébergement mutualisé (exec désactivé)Dump PHP/PDO pur → gzencodeModérée

Le système bascule automatiquement vers la méthode PHP si exec() est désactivé ou si mysqldump est introuvable. Cela signifie que les sauvegardes fonctionnent sur tous les types d'hébergement, y compris les hébergements mutualisés où les commandes shell sont restreintes.


📋 Fonctionnalités

Créer une sauvegarde

Cliquez sur Créer une sauvegarde pour générer un nouveau dump de base de données. Le fichier est enregistré dans storage/app/backups/ avec un nom de fichier horodaté.

Télécharger une sauvegarde

Cliquez sur l'icône de téléchargement à côté d'une sauvegarde pour télécharger le fichier .sql.gz.

Supprimer une sauvegarde

Cliquez sur l'icône de suppression pour effacer un fichier de sauvegarde. Cela ne supprime que le fichier de sauvegarde — votre base de données en production n'est pas affectée.

Liste des sauvegardes

Affiche toutes les sauvegardes existantes avec :

  • Nom du fichier
  • Taille du fichier
  • Date de création
  • Actions de téléchargement/suppression

🔐 Sécurité

  • Les sauvegardes sont stockées dans storage/app/backups/ (non accessible publiquement)
  • Les mots de passe de base de données sont gérés via des fichiers .my.cnf temporaires supprimés après utilisation
  • Seuls les superadmins peuvent accéder à la fonctionnalité de sauvegarde

💡 Bonnes pratiques

  1. Créez des sauvegardes régulières — avant les mises à jour, les changements importants ou périodiquement
  2. Téléchargez les sauvegardes — ne les conservez pas uniquement sur le serveur
  3. Testez la restauration — vérifiez périodiquement que les sauvegardes peuvent être restaurées
  4. Automatisez — configurez une tâche cron pour des sauvegardes quotidiennes automatiques si nécessaire

Sauvegarde manuelle via la ligne de commande

cd /var/www/feedbackpulse-saas
mysqldump -u feedbackpulse -p feedbackpulse | gzip > storage/app/backups/manual_$(date +%Y%m%d).sql.gz

Restaurer une sauvegarde

gunzip < storage/app/backups/backup_file.sql.gz | mysql -u feedbackpulse -p feedbackpulse

⏭️ Étapes suivantes