Cloner un site Prestashop en local peut être un vrai défi. Entre les URLs, les images et le cache, il y a toujours des erreurs. Nous avons recensé les principales erreurs auxquelles nous pouvons être confrontés lors de la copie.
Vous devez déjà avoir des notions de base de données et de code. Nous allons brièvement reprendre chacune des étapes.
Dans un premier temps, copier votre base de données ainsi que l’ensemble des fichiers.
Accédez à la base de données de votre site Prestashop via phpMyAdmin.
Vous pouvez télécharger les fichiers avec FileZilla par exemple. Cela peut prendre du temps si votre site est conséquent.
Vos fichiers copiés, ouvrez MAMP puis rendez-vous dans le dossier htdocs
de l’application MAMP.
Applications/
├─ MAMP/
│ ├─ htdocs/
Ici, collez l’intégralité des dossiers et fichiers que vous avez téléchargés à l’étape précédente.
Ouvrez MAMP puis cliquez sur Démarrer les serveurs. Une page s’ouvre automatiquement dans votre navigateur.
Pour créer votre base de données, allez dans l’onglet Tools puis cliquez sur phpMyAdmin.
Cliquez sur le premier onglet Base de données puis dans la zone de saisie nommez votre base de données (ici
prestashop
). Cliquez sur Créer.
Votre site est maintenant intégralement copié.
Pour voir votre site, revenez sur l’onglet MAMP qui s’est ouvert dans votre navigateur puis cliquez sur My Website. Si ça ne fonctionne pas, c’est tout à fait normal. Nous allons maintenant configurer votre Prestashop pour qu’il fonctionne sur votre poste.
Une fois votre site copié, ouvrez le fichier parameters.php
dans le dossier suivant :
Applications/
├─ MAMP/
│ ├─ htdocs/
│ │ ├─ app/
│ │ │ ├─ config/
│ │ │ │ ├─ parameters.php
Trouvez et modifiez les lignes database_host, database_port, database_name, database_user et database_password.
'database_host' => 'localhost',
'database_port' => '8889', //voir image ci-dessus dans phpMyAdmin
'database_name' => 'prestashop', //nom choisi à l'étape 3
'database_user' => 'root',
'database_password' => 'root',
Dans phpMyAdmin, cliquez sur votre base de données prestashop puis cherchez la table ps_configuration
(cliquez sur entrée pour rechercher).
Ouvrez la table puis cliquez sur le premier onglet Parcourir.
Remplacez PS_SHOP_DOMAIN
et PS_SHOP_DOMAIN_SSL
par localhost.
Dans la table ps_shop_url
, modifiez les champs domaine
et domain_ssl
par localhost suivi du port (voir URL dans votre navigateur). Ici : localhost:8888
Remplacez physical_uri
par le chemin de votre dossier. Si vous avez copié les fichiers dans le dossier racine, le chemin sera simplement /
.
La dernière étape consiste à désactiver le SSL.
Toujours dans phpMyAdmin, dans la table ps_configuration
, cherchez la ligne PS_SSL_ENABLED
, remplacer 1 par 0.
Accédez à votre site en revenant sur l’onglet MAMP qui s’est ouvert dans votre navigateur puis cliquez sur My Website. Accédez à votre back-office via l’URL habituelle.
Ex : http://localhost:8888/admin7809
Pour régénérer le .htaccess
, allez dans Paramètres de la boutique puis Trafic et SEO. Enregistrez sans faire de modification particulière, le fichier sera régénéré automatiquement.
Dernière étape. Toujours dans le back-office de votre site Prestashop, allez dans Paramètres avancés puis Performances. Cliquez sur le bouton Vider le cache en haut à droite.
Si votre site est complexe, avec beaucoup de modules par exemple, vous pouvez avoir des erreurs de cache. Dans ce cas, supprimer le contenu du répertoire var/cache
.
Applications/
├─ MAMP/
│ ├─ htdocs/
│ │ ├─ var/
│ │ │ ├─ cache/
│ │ │ │ ├─ prod
Vous pouvez maintenant accéder à votre site en local via l’URL localhost:8888.