clone-prestashop.png
03 janv. 2022

Cloner un site Prestashop en local en 3 étapes

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.

Étape 1 : Copier votre site

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.

Étape 2 : Coller vos fichiers avec MAMP

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.

Étape 3 : Créer une nouvelle base de données

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.

Étape 4 : Modifier le fichier parameters.php

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_namedatabase_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',

Étape 5 : Remplacer votre nom de domaine

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 /.

Étape 6 : Désactivez le SSL

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.

Étape 7 : Régénéré le .htaccess

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.

Étape 8 : Vider le cache

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.