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 :
| Environnement | Méthode | Vitesse |
|---|---|---|
| VPS/Dédié (exec disponible) | Commande mysqldump → gzip | Rapide |
| Windows (Laragon/XAMPP) | mysqldump → PHP gzencode | Rapide |
| Hébergement mutualisé (exec désactivé) | Dump PHP/PDO pur → gzencode | Modé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.cnftemporaires supprimés après utilisation - Seuls les superadmins peuvent accéder à la fonctionnalité de sauvegarde
💡 Bonnes pratiques
- Créez des sauvegardes régulières — avant les mises à jour, les changements importants ou périodiquement
- Téléchargez les sauvegardes — ne les conservez pas uniquement sur le serveur
- Testez la restauration — vérifiez périodiquement que les sauvegardes peuvent être restaurées
- 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