🔄 MigrationIntermédiaire PS 1.6 PS 1.7 PS 8.x

Transférer PrestaShop vers un nouvel hébergeur sans perdre de données

Guide complet pour migrer votre boutique PrestaShop vers un nouvel hébergeur : fichiers, base de données, settings.inc.php et pièges à éviter.

En bref : Pour migrer PrestaShop vers un nouvel hébergeur, sauvegardez fichiers et base de données, transférez le tout, adaptez les identifiants BDD dans settings.inc.php (et parameters.php en 8.x) mais conservez impérativement les clés de chiffrement (_COOKIE_KEY_, _RIJNDAEL_KEY_) sous peine de rendre tous les mots de passe clients inutilisables.

Publié le 21 mars 2026 7 min de lecture Alexandre Carette

Pourquoi la migration d'hébergeur PrestaShop est une opération sensible

Transférer une boutique PrestaShop vers un nouvel hébergeur ne se résume pas à copier des fichiers et importer une base de données. Plusieurs éléments critiques — notamment le fichier settings.inc.php et les clés de chiffrement qu'il contient — conditionnent le bon fonctionnement de votre boutique après migration. Une erreur sur ce fichier peut rendre tous les mots de passe clients inutilisables ou provoquer des dysfonctionnements silencieux.

Après plus de dix ans d'interventions sur des migrations PrestaShop, voici la méthode complète et les pièges à connaître.

Étape 1 : Sauvegarder l'intégralité de votre boutique actuelle

Avant toute manipulation, réalisez une sauvegarde complète :

Sauvegarde des fichiers (FTP/SFTP)

Téléchargez l'intégralité du répertoire de votre boutique via un client FTP (FileZilla, WinSCP) ou en SSH :


# Connexion SSH puis archivage complet
tar -czf backup_prestashop_$(date +%Y%m%d).tar.gz /var/www/html/prestashop/

Fichiers critiques à ne surtout pas oublier :

  • `/app/config/parameters.php` (PrestaShop 1.7 / 8.x)
  • `/config/settings.inc.php` (PrestaShop 1.6, toujours présent en 1.7/8.x)
  • Le fichier `.htaccess` à la racine
  • Le dossier `/img/` (images produits, catégories, CMS)
  • Le dossier `/modules/` (modules tiers et personnalisés)
  • Le dossier `/themes/` (votre thème actif et ses modifications)
  • Le dossier `/override/` (surcharges personnalisées)

Sauvegarde de la base de données


mysqldump -u utilisateur -p nom_de_la_base > backup_bdd_$(date +%Y%m%d).sql

Sur PrestaShop 8.x, vous pouvez aussi exporter depuis le back-office via Paramètres avancés > Import/Export de la base de données, mais l'export en ligne de commande reste plus fiable pour les bases volumineuses.

Règle d'or : ne supprimez jamais les fichiers de l'ancien hébergeur tant que la migration n'est pas validée et fonctionnelle sur le nouveau.

Étape 2 : Comprendre le fichier settings.inc.php

C'est le fichier le plus critique de votre installation. Il contient les paramètres de connexion à la base de données mais aussi les clés de chiffrement utilisées par PrestaShop.

Voici sa structure type :


<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nom_base_de_donnees');
define('_DB_USER_', 'utilisateur_bdd');
define('_DB_PASSWD_', 'mot_de_passe_bdd');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '0');
define('_COOKIE_KEY_', 'VotreCleUniqueGenereeALinstallation');
define('_COOKIE_IV_', 'VecteurIV');
define('_PS_CREATION_DATE_', '2024-01-15');
define('_PS_VERSION_', '8.1.0');
define('_RIJNDAEL_KEY_', 'CleRijndaelUnique32Caracteres');
define('_RIJNDAEL_IV_', 'VecteurInitialisationBase64==');
define('_PS_DIRECTORY_', '/');

Les paramètres à modifier sur le nouvel hébergeur

ParamètreActionExplication `_DB_SERVER_`**Modifier**Adresse du serveur MySQL du nouvel hébergeur (souvent `localhost`) `_DB_NAME_`**Modifier**Nom de la nouvelle base de données créée `_DB_USER_`**Modifier**Utilisateur MySQL du nouvel hébergeur `_DB_PASSWD_`**Modifier**Mot de passe de cet utilisateur `_DB_PREFIX_`**Conserver**Doit correspondre au préfixe utilisé dans votre dump SQL `_COOKIE_KEY_`**⚠️ Conserver impérativement**Clé de hachage des mots de passe `_COOKIE_IV_`**⚠️ Conserver impérativement**Vecteur d'initialisation des cookies `_RIJNDAEL_KEY_`**⚠️ Conserver impérativement**Clé de chiffrement Rijndael `_RIJNDAEL_IV_`**⚠️ Conserver impérativement**Vecteur Rijndael `_PS_DIRECTORY_`**Vérifier**Adapter si le chemin d'installation change

Étape 3 : Le piège des clés de chiffrement (COOKIE_KEY et RIJNDAEL_KEY)

C'est l'erreur la plus fréquente et la plus grave lors d'une migration. Les constantes _COOKIE_KEY_, _COOKIE_IV_, _RIJNDAEL_KEY_ et _RIJNDAEL_IV_ sont générées une seule fois, lors de l'installation de PrestaShop. Elles servent à :

  • **Hacher les mots de passe** des clients et des employés
  • **Chiffrer les cookies de session**
  • **Sécuriser les tokens** internes

Ce qui se passe si vous perdez ces clés

Si vous régénérez un settings.inc.php depuis une nouvelle installation (ou si vous le recréez manuellement avec de nouvelles clés), tous les mots de passe existants deviennent invalides. Concrètement :

  • Aucun client ne pourra se connecter à son compte
  • Aucun employé ne pourra accéder au back-office
  • Les tokens de sécurité des formulaires seront invalidés

La seule solution dans ce cas serait de forcer la réinitialisation de mot de passe pour chaque utilisateur — une expérience catastrophique pour vos clients.

Sur PrestaShop 8.x : parameters.php

Depuis PrestaShop 1.7, les paramètres de base de données ont migré vers /app/config/parameters.php, mais le fichier settings.inc.php existe toujours et contient les clés de chiffrement. Les deux fichiers doivent être conservés et adaptés.


// app/config/parameters.php (PrestaShop 8.x)
return [
    'parameters' => [
        'database_host' => 'localhost',
        'database_port' => '',
        'database_name' => 'nom_base_de_donnees',
        'database_user' => 'utilisateur_bdd',
        'database_password' => 'mot_de_passe_bdd',
        'database_prefix' => 'ps_',
        'database_engine' => 'InnoDB',
        // ...
    ],
];

Étape 4 : Importer la base de données et transférer les fichiers

Créer la base de données sur le nouvel hébergeur


# En SSH sur le nouveau serveur
mysql -u root -p -e "CREATE DATABASE prestashop_prod CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON prestashop_prod.* TO 'ps_user'@'localhost' IDENTIFIED BY 'mot_de_passe_securise';"
mysql -u root -p -e "FLUSH PRIVILEGES;"

Importer le dump SQL


mysql -u ps_user -p prestashop_prod < backup_bdd_20240115.sql

Mettre à jour les URL dans la base de données

C'est une étape souvent oubliée. PrestaShop stocke les URL du shop en base :


UPDATE ps_shop_url
SET domain = 'www.nouveau-domaine.com',
    domain_ssl = 'www.nouveau-domaine.com',
    physical_uri = '/'
WHERE id_shop = 1;

UPDATE ps_configuration
SET value = 'https://www.nouveau-domaine.com/'
WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');

Transférer les fichiers

Privilégiez le transfert par archive plutôt que fichier par fichier :


# Sur l'ancien serveur
tar -czf prestashop_complet.tar.gz /var/www/html/prestashop/
scp prestashop_complet.tar.gz user@nouveau-serveur:/var/www/html/

# Sur le nouveau serveur
cd /var/www/html/
tar -xzf prestashop_complet.tar.gz

Étape 5 : Vérifications post-migration

Permissions des fichiers


# Droits standards PrestaShop
find /var/www/html/prestashop/ -type d -exec chmod 755 {} \;
find /var/www/html/prestashop/ -type f -exec chmod 644 {} \;

# Dossiers nécessitant l'écriture
chmod -R 775 /var/www/html/prestashop/var/
chmod -R 775 /var/www/html/prestashop/img/
chmod -R 775 /var/www/html/prestashop/upload/
chmod -R 775 /var/www/html/prestashop/download/
chmod -R 775 /var/www/html/prestashop/app/config/
chmod -R 775 /var/www/html/prestashop/app/logs/
chmod -R 775 /var/www/html/prestashop/cache/

Vider les caches


# Supprimer les caches Smarty et Symfony
rm -rf var/cache/*
rm -rf app/cache/* 2>/dev/null

# En PrestaShop 8.x, reconstruire le cache
php bin/console cache:clear --env=prod

Checklist de validation

  • [ ] Le front-office s'affiche correctement
  • [ ] La connexion au back-office fonctionne
  • [ ] Un client existant peut se connecter (preuve que les COOKIE_KEY sont correctes)
  • [ ] Les images produits s'affichent
  • [ ] Le processus de commande fonctionne jusqu'au paiement
  • [ ] Les modules de paiement sont actifs et configurés
  • [ ] Les emails transactionnels partent correctement
  • [ ] Le SSL est actif (HTTPS)
  • [ ] Les tâches cron sont reconfigurées sur le nouvel hébergeur

Erreurs fréquentes et solutions

Page blanche après migration

Activez le mode debug pour voir l'erreur réelle :


// config/defines.inc.php
define('_PS_MODE_DEV_', true);

Les causes les plus fréquentes : mauvais identifiants BDD dans settings.inc.php, version PHP incompatible, ou extensions PHP manquantes (intl, gd, curl, zip, mbstring).

Erreur 500 sur le back-office uniquement

Vérifiez que le fichier .htaccess a bien été transféré (fichier caché souvent ignoré par les clients FTP) et que le module mod_rewrite est activé sur le nouveau serveur Apache.

Images manquantes

Contrôlez que le dossier /img/ a été transféré intégralement et que les permissions sont correctes. Sur PrestaShop 8.x, régénérez les miniatures depuis Paramètres > Images.

Bonnes pratiques pour les futures migrations

  1. **Automatisez vos sauvegardes** : mettez en place un cron quotidien pour les fichiers et la base de données
  2. **Documentez votre configuration** : conservez une copie chiffrée de votre `settings.inc.php` et `parameters.php` dans un gestionnaire de mots de passe
  3. **Testez sur un sous-domaine** : avant de basculer le DNS, déployez sur `test.nouveau-domaine.com` pour valider
  4. **Planifiez la migration en heures creuses** : minimisez l'impact sur vos ventes
  5. **Prévoyez un rollback** : gardez l'ancien hébergeur actif quelques jours après la migration
#migration prestashop #transfert hébergeur #settings.inc.php #sauvegarde prestashop #cookie key

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

Alexandre Carette

Expert PrestaShop & Architecture E-commerce

Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.