⚙️ ConfigurationIntermédiaire PS 1.6 PS 1.7 PS 8.x

Reprendre un site PrestaShop : accès admin et base de données

Guide complet pour reprendre un site PrestaShop existant : résoudre les erreurs de connexion BDD, réinitialiser le mot de passe admin via phpMyAdmin et sécuriser l'accès.

En bref : Pour reprendre un site PrestaShop, corrigez d'abord la configuration de la base de données dans settings.inc.php (ou parameters.php), puis réinitialisez le mot de passe admin via phpMyAdmin en utilisant le bon mécanisme de hachage selon votre version (MD5 + cookie_key pour PS 1.6, bcrypt pour PS 1.7/8.x). Sécurisez ensuite tous les accès.

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

Introduction

Reprendre un site PrestaShop existant — que ce soit après un rachat, un changement de prestataire ou une récupération de projet — est une opération courante mais semée d'embûches. Les deux problèmes les plus fréquents sont l'impossibilité de se connecter à la base de données et la perte des identifiants d'accès au back-office.

Ce guide détaille les étapes méthodiques pour reprendre le contrôle complet d'une boutique PrestaShop, de la configuration de la base de données à la réinitialisation sécurisée du mot de passe administrateur.

Étape 1 : Récupérer les accès hébergement

Avant toute intervention technique, rassemblez les informations essentielles fournies par votre hébergeur :

  • **Accès FTP/SFTP** : hôte, identifiant, mot de passe, port (généralement 21 ou 22)
  • **Accès phpMyAdmin** : URL de connexion, identifiant et mot de passe de la base de données
  • **Accès SSH** (si disponible) : indispensable pour les interventions avancées

Chez OVH par exemple, ces informations sont envoyées par e-mail lors de la souscription de l'hébergement. Consultez votre espace client ou recherchez l'e-mail de bienvenue contenant ces identifiants.

Conseil : Sur un hébergement mutualisé OVH, l'accès phpMyAdmin se fait depuis l'espace client > Hébergements > Bases de données > Accéder à phpMyAdmin.

Étape 2 : Résoudre l'erreur de connexion à la base de données

Diagnostic de l'erreur SQLSTATE[28000] [1045]

L'erreur suivante est extrêmement courante lors d'une reprise de site :


Link to database cannot be established: SQLSTATE[28000] [1045]
Access denied for user 'utilisateur'@'adresse_ip' (using password: YES)

Cette erreur signifie que PrestaShop ne parvient pas à s'authentifier auprès du serveur MySQL/MariaDB. Les causes sont presque toujours liées à une incohérence entre la configuration du site et les paramètres réels de la base de données.

Corriger la configuration dans settings.inc.php

Le fichier de configuration de la base de données se trouve à la racine de votre installation PrestaShop :

PrestaShop 1.6 : /config/settings.inc.php


// Paramètres à vérifier dans settings.inc.php (PS 1.6)
define('_DB_SERVER_', 'localhost');      // ou l'IP/hôte fourni par l'hébergeur
define('_DB_NAME_', 'nom_base');         // nom exact de la base de données
define('_DB_USER_', 'utilisateur_bdd');  // utilisateur MySQL
define('_DB_PASSWD_', 'mot_de_passe');   // mot de passe MySQL
define('_DB_PREFIX_', 'ps_');            // préfixe des tables

PrestaShop 1.7 et 8.x : /app/config/parameters.php


// Paramètres à vérifier dans parameters.php (PS 1.7 / 8.x)
return array(
    'parameters' => array(
        'database_host' => '127.0.0.1',
        'database_port' => '',
        'database_name' => 'nom_base',
        'database_user' => 'utilisateur_bdd',
        'database_password' => 'mot_de_passe',
        'database_prefix' => 'ps_',
        'database_engine' => 'InnoDB',
    ),
);

Causes fréquentes et solutions

CauseSolution Adresse du serveur BDD incorrecteRemplacer par l'hôte fourni par l'hébergeur (souvent `localhost` ou un nom d'hôte spécifique comme `mysql-xxx.ovh.net`) Nom d'utilisateur ou mot de passe erronéVérifier dans le panel hébergeur ou réinitialiser le mot de passe BDD Base de données inexistanteVérifier le nom exact dans phpMyAdmin Restrictions d'IP sur l'accès MySQLConfigurer les accès distants dans le panel hébergeur Préfixe de table incorrectVérifier les tables existantes dans phpMyAdmin

Important : Après un transfert de site, l'adresse du serveur de base de données change presque systématiquement. C'est la première chose à vérifier.

Étape 3 : Réinitialiser le mot de passe administrateur

Une fois l'accès à la base de données rétabli, il faut souvent réinitialiser le mot de passe du compte administrateur, surtout si l'ancien prestataire ne vous l'a pas transmis.

Comprendre le mécanisme de hachage PrestaShop

PrestaShop ne stocke jamais les mots de passe en clair. Le mécanisme varie selon les versions :

  • **PrestaShop 1.6** : hachage MD5 avec le `cookie_key` comme sel (*salt*)
  • **PrestaShop 1.7+** : utilise `password_hash()` avec l'algorithme bcrypt (plus sécurisé)
  • **PrestaShop 8.x** : même mécanisme bcrypt, via le composant Symfony Security

Méthode pour PrestaShop 1.6

Dans PrestaShop 1.6, le mot de passe est stocké sous forme de hash MD5 combiné avec la cookie_key du site.

1. Récupérer la cookie_key

Ouvrez le fichier /config/settings.inc.php et repérez la ligne :


define('_COOKIE_KEY_', 'zbL6STglY83jrhtqBnvD1s0M0gUkxce4MkCkdRuAP89keW39wxVQhgiedwYRbDcd');

2. Générer le hash MD5

Le hash à insérer en base est le MD5 de la concaténation cookie_key + mot_de_passe_souhaité.

Par exemple, pour le mot de passe MonNouveauPass2024 :


# En ligne de commande (Linux/Mac)
echo -n "zbL6STglY83jrhtqBnvD1s0M0gUkxce4MkCkdRuAP89keW39wxVQhgiedwYRbDcdMonNouveauPass2024" | md5sum

Ou via PHP :


<?php
$cookie_key = 'zbL6STglY83jrhtqBnvD1s0M0gUkxce4MkCkdRuAP89keW39wxVQhgiedwYRbDcd';
$nouveau_mdp = 'MonNouveauPass2024';
echo md5($cookie_key . $nouveau_mdp);
// Résultat : un hash de 32 caractères hexadécimaux

3. Mettre à jour en base de données

Dans phpMyAdmin, exécutez la requête suivante :


UPDATE ps_employee
SET passwd = 'votre_hash_md5_ici',
    email = 'votre-email@domaine.com'
WHERE id_employee = 1;

Note : Adaptez le préfixe ps_ si votre installation utilise un préfixe personnalisé.

Méthode pour PrestaShop 1.7 et 8.x

À partir de PrestaShop 1.7, le processus est plus simple grâce à l'utilisation de bcrypt :


-- Méthode directe via SQL (PS 1.7 / 8.x)
UPDATE ps_employee
SET passwd = '$2y$10$' || '... hash bcrypt ...',
    email = 'votre-email@domaine.com'
WHERE id_employee = 1;

La méthode la plus fiable est d'utiliser un petit script PHP temporaire :


<?php
// reset-admin.php — À SUPPRIMER IMMÉDIATEMENT APRÈS UTILISATION
require_once __DIR__ . '/config/config.inc.php';

$new_password = 'VotreMotDePasse2024!';
$email = 'admin@votredomaine.com';

$hashed = password_hash($new_password, PASSWORD_BCRYPT);

Db::getInstance()->execute(
    "UPDATE `" . _DB_PREFIX_ . "employee`
     SET `passwd` = '" . pSQL($hashed) . "',
         `email` = '" . pSQL($email) . "'
     WHERE `id_employee` = 1"
);

echo 'Mot de passe réinitialisé avec succès. SUPPRIMEZ CE FICHIER MAINTENANT.';

Sécurité critique : Supprimez immédiatement ce script après utilisation. Un fichier de réinitialisation laissé sur le serveur est une faille de sécurité majeure.

Méthode alternative via la CLI Symfony (PS 8.x)

PrestaShop 8.x étant basé sur Symfony, vous pouvez également utiliser la console :


php bin/console prestashop:user:change-password admin@votredomaine.com

Cette commande vous demandera le nouveau mot de passe de manière interactive.

Étape 4 : Vérifications post-reprise

Une fois l'accès rétabli, effectuez ces contrôles essentiels :

Sécurisation immédiate

  1. **Changez tous les mots de passe** : admin, FTP, base de données, hébergeur
  2. **Vérifiez les comptes employés** : supprimez tout compte inconnu dans le back-office
  3. **Régénérez la cookie_key** (PS 1.6) ou les secrets Symfony (PS 1.7/8.x)
  4. **Vérifiez les modules installés** : désactivez tout module suspect ou inconnu
  5. **Mettez à jour le fichier `.htaccess`** : regénérez-le depuis le back-office
  6. Contrôle de l'intégrité

    
    # Vérifier les fichiers modifiés récemment (potentiellement compromis)
    find /var/www/prestashop -name '*.php' -mtime -30 -type f
    
    # Rechercher des fichiers suspects
    grep -rl 'eval(base64_decode' /var/www/prestashop/
    grep -rl 'shell_exec\|passthru\|system(' /var/www/prestashop/modules/
    

    Configuration des URLs

    Après un transfert, les URLs doivent être mises à jour :

    
    -- Mettre à jour le domaine dans la base de données
    UPDATE ps_shop_url
    SET domain = 'www.nouveau-domaine.com',
        domain_ssl = 'www.nouveau-domaine.com'
    WHERE id_shop = 1;
    
    -- Vider le cache de configuration
    TRUNCATE TABLE ps_configuration_kpi_lang;
    DELETE FROM ps_configuration WHERE name LIKE '%CACHE%';
    

    Étape 5 : Bonnes pratiques pour une reprise sereine

    • **Faites un backup complet** (fichiers + base de données) avant toute modification
    • **Documentez chaque accès** dans un gestionnaire de mots de passe
    • **Testez en environnement de staging** avant d'intervenir sur la production
    • **Mettez à jour PrestaShop** vers la dernière version stable dès que la reprise est stabilisée
    • **Auditez les modules** : vérifiez les licences, les mises à jour disponibles et la compatibilité

    Conclusion

    La reprise d'un site PrestaShop existant nécessite de la méthode et de la rigueur. En suivant ces étapes — récupération des accès hébergement, correction de la configuration BDD, réinitialisation du mot de passe admin et vérifications de sécurité — vous reprendrez le contrôle de la boutique en toute sécurité. L'erreur la plus courante est de négliger l'étape de sécurisation post-reprise : changez systématiquement tous les mots de passe et auditez les modules installés.

#reprise-site #mot-de-passe-admin #phpmyadmin #migration #base-de-donnees #settings-inc-php

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.