Réinitialiser le mot de passe admin PrestaShop via phpMyAdmin
Guide complet pour récupérer l'accès au back-office PrestaShop quand le mot de passe admin est perdu. Méthode phpMyAdmin, cookie_key et bonnes pratiques.
En bref : Pour récupérer l'accès au back-office PrestaShop, régénérez le mot de passe admin via phpMyAdmin : hash MD5(cookie_key + password) sur PS 1.6, ou bcrypt via password_hash() sur PS 1.7/8.x, puis mettez à jour la colonne passwd de la table ps_employee.
Impossible de se connecter au back-office PrestaShop : que faire ?
Perdre l'accès au back-office PrestaShop est l'une des situations les plus stressantes pour un marchand. Que ce soit après une migration, un changement d'hébergeur ou simplement un mot de passe oublié, le résultat est le même : vous êtes bloqué hors de votre propre boutique.
Avant de paniquer, sachez qu'il existe une méthode fiable pour régénérer manuellement le mot de passe administrateur directement en base de données. Ce guide vous accompagne pas à pas.
Prérequis
Pour appliquer cette procédure, vous aurez besoin de :
- Un accès **phpMyAdmin** (fourni par votre hébergeur : OVH, Infomaniak, o2switch, etc.)
- Un accès **FTP ou SSH** à votre serveur (pour lire un fichier de configuration)
- Les identifiants de connexion à votre base de données (généralement fournis par email lors de la souscription à l'hébergement)
Si vous ne savez pas où trouver phpMyAdmin, connectez-vous à l'interface d'administration de votre hébergeur (cPanel, Plesk, ou panel propriétaire). L'accès à la base de données s'y trouve systématiquement.
Étape 1 : Récupérer le cookie_key dans la configuration
PrestaShop ne stocke pas les mots de passe en clair. Ils sont hachés en combinant votre mot de passe avec une clé secrète propre à votre installation : le cookie_key.
Sur PrestaShop 1.6
Le fichier à consulter est config/settings.inc.php. Cherchez la ligne :
define('_COOKIE_KEY_', 'zbL6STglY83jrhtqBnvD1s0M0gUkxce4MkCkdRuAP89keW39wxVQhg');
Copiez la valeur entre guillemets (la longue chaîne aléatoire).
Sur PrestaShop 1.7 et 8.x
Le fichier est désormais app/config/parameters.php (ou parameters.yml selon la version). Cherchez :
'cookie_key' => 'votre_cookie_key_ici',
Ou dans le format YAML :
cookie_key: 'votre_cookie_key_ici'
Important : Ne partagez jamais votre cookie_key. C'est une clé de sécurité critique de votre installation.
Étape 2 : Générer le hash du nouveau mot de passe
Le mécanisme de hachage varie selon la version de PrestaShop.
PrestaShop 1.6 : hash MD5
Sur PrestaShop 1.6, le mot de passe est haché en MD5 selon cette formule :
MD5(cookie_key + mot_de_passe_souhaité)
Concrètement, vous devez :
- Concaténer votre `cookie_key` avec le mot de passe souhaité (sans espace, sans séparateur)
- Calculer le hash MD5 de cette chaîne complète
- Sélectionnez votre base de données PrestaShop
- Ouvrez la table `ps_employee` (le préfixe `ps_` peut varier selon votre installation)
- Repérez la ligne correspondant à votre compte administrateur (vérifiez la colonne `email`)
- Cliquez sur **Modifier** pour cette ligne
- Dans la colonne `passwd`, remplacez la valeur existante par votre nouveau hash
- **Attention sur PS 1.6 :** ne sélectionnez PAS la fonction MD5 de phpMyAdmin dans le menu déroulant — votre hash est déjà calculé
- Enregistrez
- Vérifiez que vous avez bien concaténé cookie_key + mot de passe (PS 1.6) sans espace
- Vérifiez que le bon algorithme est utilisé pour votre version
- Videz le cache de PrestaShop : supprimez le contenu de `var/cache/` (PS 1.7+) ou `cache/` (PS 1.6)
- Vérifiez que l'email dans `ps_employee` correspond bien à celui que vous utilisez
- Sur la page de connexion du back-office, cliquez sur **"Mot de passe oublié"**
- Saisissez l'email associé à votre compte admin
- Vérifiez votre boîte de réception (et les spams)
- La configuration SMTP de votre boutique est correcte
- L'email renseigné dans `ps_employee` est valide et accessible
- Le serveur d'envoi de mails fonctionne
- Minimum **12 caractères** avec majuscules, minuscules, chiffres et caractères spéciaux
- Ne réutilisez jamais un mot de passe déjà utilisé ailleurs
- Utilisez un gestionnaire de mots de passe (Bitwarden, 1Password, KeePass)
- **Renommez le dossier admin** : PrestaShop le fait automatiquement à l'installation (ex: `admin436xyz`), ne le renommez jamais en `admin`
- **Restreignez par IP** via `.htaccess` si votre IP est fixe :
- **Activez la double authentification** si disponible (modules tiers sur PS 1.7+)
- **Limitez les comptes employés** : chaque personne doit avoir son propre compte avec des permissions adaptées
- Supprimez tout fichier PHP temporaire créé pour générer le hash bcrypt
- Vérifiez l'historique des connexions dans le back-office
- Changez le mot de passe une seconde fois depuis le back-office pour confirmer que tout fonctionne normalement
Par exemple, si votre cookie_key est zbL6STglY83jrhtq et que vous voulez le mot de passe MonNouveauMdp2024, vous calculez le MD5 de :
zbL6STglY83jrhtqMonNouveauMdp2024
Vous pouvez utiliser un outil en ligne de génération MD5, ou en ligne de commande :
echo -n "zbL6STglY83jrhtqMonNouveauMdp2024" | md5sum
PrestaShop 1.7 et 8.x : hash bcrypt
À partir de PrestaShop 1.7, le hachage utilise bcrypt via la fonction password_hash() de PHP, ce qui est nettement plus sécurisé. La méthode MD5 ne fonctionne plus.
Pour générer un hash bcrypt, créez un fichier PHP temporaire sur votre serveur :
<?php
// generate_password.php — À SUPPRIMER après utilisation
$newPassword = 'VotreNouveauMotDePasse2024!';
echo password_hash($newPassword, PASSWORD_BCRYPT);
Accédez-y via votre navigateur, copiez le résultat (qui ressemble à $2y$10$...), puis supprimez immédiatement ce fichier.
Alternativement, en ligne de commande PHP :
php -r "echo password_hash('VotreNouveauMotDePasse2024!', PASSWORD_BCRYPT) . PHP_EOL;"
Étape 3 : Mettre à jour le mot de passe en base de données
Dans phpMyAdmin :
Vous pouvez aussi exécuter directement la requête SQL :
-- Remplacez le hash et l'email par vos valeurs
UPDATE ps_employee
SET passwd = 'votre_hash_ici'
WHERE email = 'votre@email.com';
Étape 4 : Tester la connexion
Rendez-vous sur votre back-office (votre-domaine.com/admin-XXXX) et connectez-vous avec votre email et le nouveau mot de passe que vous avez choisi (le mot de passe en clair, pas le hash).
Si la connexion échoue :
Méthode alternative : le lien de réinitialisation
Avant de passer par la base de données, tentez d'abord la méthode standard :
Cette méthode ne fonctionne que si :
Si vous ne recevez rien, la méthode phpMyAdmin reste votre solution de secours.
Bonnes pratiques de sécurité
Choisir un mot de passe robuste
Sécuriser l'accès au back-office
# Dans le .htaccess du dossier admin
Order Deny,Allow
Deny from all
Allow from 203.0.113.42
Supprimer les traces
Après avoir régénéré votre mot de passe :
Récapitulatif par version
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés
Lire sur le blog

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.