Shopware Extensions Shopware

Plugin Sauvegarde Shopware 6 — DfBackup SW : BDD + Fichiers, Chiffrement AES-256, S3/FTP/Dropbox, Restauration 1-Clic

Sauvegarde planifiée BDD et fichiers pour Shopware 6.5–6.7, chiffrement AES-256, stockage S3/FTP/Dropbox, restauration 1-clic, réplication staging.

DfBackup SW vous donne un système de sauvegarde production-grade pour Shopware 6.5, 6.6 et 6.7 sans dépendance externe — pas de mysqldump, pas de shell_exec, pas de SDK Amazon. Dump BDD pur PHP chunké (colonnes générées exclues, UUID binaires en littéraux hex), archive ZIP des fichiers avec exclusions glob, chiffrement AES-256-CBC plus HMAC-SHA-256, vérification SHA-256, upload multipart vers Local plus S3 plus FTP plus Dropbox, restauration 1-clic avec snapshot automatique préalable, exécution en arrière-plan via Symfony Messenger avec progression temps réel, et réplication push vers un Shopware staging pour synchroniser une copie nightly. Un seul codebase compatible 6.5 à 6.7, PHP 8.1+, code source non chiffré.

Shopware 6.5–6.7 AES-256 + HMAC S3 SigV4 natif Multipart > 100 Mo 1-clic restore Réplication staging Symfony Messenger FR/EN/ES/DE/IT
  • Remboursement 30 jours
  • 12 mois de mises à jour
  • Support 24h
www.datafirefly.com/
Plugin Sauvegarde Shopware 6 — DfBackup SW : BDD + Fichiers, Chiffrement AES-256, S3/FTP/Dropbox, Restauration 1-Clic
v1.0.0 · mis à jour 2026-06-11
Ce que ça fait

La version courte.

01

BDD + fichiers en pur PHP, pensé pour les spécificités Shopware

Dump BDD chunké via DBAL (500 lignes, sans mysqldump), avec un traitement correct des particularités Shopware : colonnes générées exclues du dump, colonnes binaires (UUID BINARY 16) émises en littéraux hexadécimaux, pagination keyset sur clé primaire entière, vues dumpées en dernier. Archive fichiers via ZipArchive avec exclusions glob (var/cache, var/log, node_modules, miniatures). Aucun appel à shell_exec, exec ou passthru.

02

Chiffrement AES-256 authentifié avec passphrase utilisateur

Chiffrement AES-256-CBC plus HMAC-SHA-256 pattern encrypt-then-MAC, dérivation de clé PBKDF2 SHA-256 avec 120000 itérations, traitement en streaming par blocs de 1 Mio — les archives de plusieurs Go passent avec une mémoire constante. Le HMAC est vérifié avant tout déchiffrement (protection padding oracle et bit-flip), et le SHA-256 indépendant garantit l'intégrité du fichier brut.

03

Quatre backends de stockage natifs avec multipart S3

Local sous var/df-backup avec protection anti-listing, S3 et compatibles (MinIO, Wasabi, Cloudflare R2, OVH, Scaleway, Backblaze B2) avec signature AWS V4 native et multipart upload au-dessus de 100 Mo, FTP et FTPS avec mode passif, Dropbox v2 REST avec upload_session pour les archives au-dessus de 150 Mo. Sélection multiple — chaque sauvegarde peut être uploadée vers plusieurs backends en parallèle pour la règle 3-2-1.

04

Réplication push vers un Shopware staging

Pousse automatiquement chaque sauvegarde vers une seconde installation Shopware équipée de DfBackup SW. Upload chunké de 8 Mo avec signatures HMAC-SHA-256 par chunk, anti-rejeu via timestamp avec tolérance de 5 minutes. Option de restauration automatique sur la cible après réception pour obtenir un miroir staging nightly à jour. Idéal pour les agences qui maintiennent un environnement de pré-prod synchronisé.

05

Restauration 1-clic avec snapshot de sécurité automatique

Avant toute restauration, un snapshot BDD protégé est créé automatiquement — filet de sécurité si la restauration tourne mal. Choix du périmètre : tout, BDD seule, ou fichiers seuls. Mode migration de domaine : réécriture des sales channel domains et des URL connues (translations, seo_url) pour restaurer la prod sur un staging. Les tables du plugin sont préservées pendant la restauration pour conserver l'historique.

06

Arrière-plan via Symfony Messenger avec progression temps réel

Le clic sur Sauvegarder maintenant pré-alloue une ligne, dispatche un message asynchrone et retourne l'ID en moins de 500 ms. Le module d'administration affiche une barre de progression pollée en direct avec 15 jalons mappés (démarrage, dump BDD, archivage, chiffrement, checksum, upload par backend, rotation). La sauvegarde tourne dans le worker Messenger, complètement décorrélée de la requête admin.

La version longue

Tout ce que vous voudriez savoir avant d'installer.

Un regard détaillé sur le fonctionnement de Plugin Sauvegarde Shopware 6 — DfBackup SW : BDD + Fichiers, Chiffrement AES-256, S3/FTP/Dropbox, Restauration 1-Clic, pourquoi nous l'avons conçu ainsi, et la réflexion derrière les fonctionnalités ci-dessus.

§ 01

Une vraie sauvegarde Shopware, pas un script bricolé

La plupart des solutions de sauvegarde Shopware se contentent d'appeler mysqldump puis de tarer le dossier, ce qui pose trois problèmes en production : mysqldump n'est pas disponible sur beaucoup d'hébergements mutualisés, shell_exec est souvent désactivé, et les archives non chiffrées qui traînent sur le disque sont une bombe à retardement en cas de compromission. DfBackup SW résout ces trois points : dump BDD en pur PHP via DBAL, archivage via ZipArchive, et chiffrement AES-256 authentifié optionnel avec passphrase utilisateur. Le tout fonctionne sans configuration sysadmin particulière, sur mutualisé comme sur VPS.

§ 02

Un dump qui comprend le schéma Shopware

Un dump SQL naïf casse sur Shopware : les clés primaires sont des UUID en BINARY 16 qui doivent être émis en littéraux hexadécimaux, certaines colonnes sont générées (STORED ou VIRTUAL) et ne doivent jamais apparaître dans les INSERT, et les vues doivent être recréées après les tables. DfBackup SW gère tout cela nativement : inspection SHOW FULL COLUMNS par table, exclusion des colonnes générées, encodage hex des colonnes binaires, pagination keyset sur les clés primaires entières pour les grosses tables (order, log_entry), et dump des vues en dernier. Le fichier produit se réimporte proprement, instruction par instruction, avec FOREIGN_KEY_CHECKS désactivé pendant l'import.

§ 03

Chiffrement AES-256 avec HMAC : encrypt-then-MAC fait correctement

Le pattern encrypt-then-MAC est le standard recommandé pour les schémas symétriques : on chiffre d'abord, puis on calcule un HMAC sur le ciphertext. À la lecture, on vérifie le HMAC avant de déchiffrer — protection contre les bit-flip attacks et les padding oracle attacks. La passphrase utilisateur passe par PBKDF2-SHA256 avec 120000 itérations pour dériver des clés de chiffrement et HMAC séparées. Le chiffrement est réalisé en streaming par blocs de 1 Mio avec chaînage CBC manuel : une archive de 5 Go se chiffre avec la même empreinte mémoire qu'une archive de 50 Mo. Le format binaire (en-tête magic, sel, IV, HMAC, ciphertext) est documenté et auditable.

§ 04

S3 SigV4 natif : multipart, MinIO, R2, OVH, Scaleway, Wasabi, B2

Au lieu d'embarquer le SDK AWS officiel, DfBackup SW implémente directement AWS Signature V4 en cURL. Zéro dépendance Composer supplémentaire, signature canonique compatible avec tous les services qui parlent S3. Vous pouvez pointer le plugin vers Amazon S3, MinIO sur votre propre VPS, Cloudflare R2 (10 Go gratuits, zéro coût de sortie — idéal pour les sauvegardes), OVH Object Storage, Scaleway, Wasabi ou Backblaze B2 — en changeant juste l'endpoint et la région. Au-delà de 100 Mo, l'upload bascule automatiquement en multipart avec des parts de 10 Mo, ce qui permet de transférer plusieurs gigaoctets sans saturer la mémoire.

§ 05

Réplication push : un staging nightly sans configuration sysadmin

C'est la feature qui distingue DfBackup SW : pousser chaque sauvegarde vers une seconde installation Shopware. Vous installez le plugin sur votre prod et sur votre staging, vous partagez un secret commun, vous activez Réplication comme destination. À chaque sauvegarde — manuelle ou planifiée — l'archive est uploadée par chunks de 8 Mo signés HMAC-SHA-256 vers des endpoints dédiés sur la cible, avec horodatage anti-rejeu à tolérance de 5 minutes. Si l'option auto-restore est activée côté cible, la sauvegarde est appliquée automatiquement — votre staging reflète la prod de la veille dès le lendemain matin. Combiné à la migration de domaine, le clone est immédiatement navigable sur son propre domaine. Plus besoin de rsync ni de scripts cron sysadmin.

§ 06

Restauration 1-clic avec filet de sécurité

Une restauration est l'opération la plus risquée du cycle de vie d'une boutique : on écrase la BDD vivante, on remplace les fichiers, et si quelque chose dérape, le retour arrière est complexe. DfBackup SW ajoute un filet de sécurité automatique : avant chaque restauration, un snapshot BDD protégé est créé silencieusement. Si la restauration échoue à mi-chemin, vous restaurez ce snapshot et revenez à l'état initial en quelques minutes. Les tables du plugin ne sont jamais écrasées pendant une restauration — votre historique de sauvegardes est préservé même quand vous restaurez une version d'il y a six mois. La confirmation explicite (taper RESTORE) évite les fausses manipulations.

§ 07

Messenger, ScheduledTask et web-cron : l'arrière-plan à la Shopware

DfBackup SW s'appuie sur l'infrastructure native de Shopware : les sauvegardes sont dispatchées comme messages asynchrones Symfony Messenger et exécutées par le worker, sans bloquer ni l'admin ni le storefront. Une ScheduledTask native vérifie toutes les 10 minutes si une sauvegarde planifiée doit partir (daily, weekly ou monthly, heure cible, fenêtre de 30 minutes, déduplication 60 minutes). Pour les hébergements sans cron système ni worker permanent, un web-cron par URL signée token prend le relais : appelez l'URL toutes les 10 à 15 minutes depuis cron-job.org ou votre monitoring, la porte de planification interne fait le reste. Le module d'administration affiche la progression en direct avec 15 jalons pollés.

§ 08

Audit log, alertes et notifications : la défense en profondeur

Trois mécanismes complémentaires pour qu'aucun backup ne se perde sans qu'on s'en rende compte. Le journal d'audit trace chaque action sensible (lancement, restauration, suppression, vérification, téléchargement) avec utilisateur admin, IP et horodatage. L'alerte dans le module signale si la dernière sauvegarde réussie date de plus de N jours. Les notifications partent par email (Symfony Mailer, succès ou échec au choix) et par webhook avec auto-détection du format : Slack, Discord, Microsoft Teams ou JSON générique pour vos intégrations sur mesure.