Nous avons vu dans le précédent article http://www.expert-data.fr/copie-prestashop-local/ comment recopier la structure de notre site, réimporter la base de données sur le MySQL local. Maintenant, nous allons nous attacher à faire fonctionner le site.
MODIFICATION DES FICHIERS
Tout d’abord, il faut supprimer le fichier .htaccess (« C:\wamp\www\Monsite\.htaccess »), car ce fichier, qui gère la sécurité d’accès au site, ne convient pas pour le site local. Nous le régénèrerons plus tard à l’aide du back-office Prestashop.
Ensuite, nous devons modifier le fichier de configuration de Prestashop, présent à l’emplacement : « C:\wamp\www\Monsite\config\settings.inc.php ». Il faut modifier le contenu du fichier de manière à avoir un fichier ressemblant à ceci :
<?php
define(‘__PS_BASE_URI__’, ‘/monsite/‘);
define(‘_MEDIA_SERVER_1_’, »);
define(‘_MEDIA_SERVER_2_’, »);
define(‘_MEDIA_SERVER_3_’, »);
define(‘_PS_CACHING_SYSTEM_’, ‘CacheFS’);
define(‘_PS_CACHE_ENABLED_’, ‘0’);
define(‘_THEME_NAME_’, ‘prestashop‘);
define(‘_DB_NAME_’, ‘MaBase‘);
define(‘_MYSQL_ENGINE_’, ‘InnoDB’);
define(‘_DB_SERVER_’, ‘localhost‘);
define(‘_DB_USER_’, ‘root‘);
define(‘_DB_PREFIX_’, ‘ps_’);
define(‘_DB_PASSWD_’, »);
define(‘_DB_TYPE_’, ‘MySQL’);
etc…
PS_BASE_URI : sur le site distant, cette valeur est le plus souvent renseignée à ‘/’, car Prestashop est majoritairement installé à la racine du domaine de votre boutique. Dans notre cas, pour le site local, la racine du site « géré » par WampServer est « localhost ». L’url de base du site Prestashop est donc la racine WampServer + ce paramètre, qu’on renseigne à ‘/monsite/’ (on accèdera au site par localhost/monsite, à l’image du répertoire « C:\wamp\www\monsite\ »)
THEME_NAME : pour connaitre le nom exact du thème à utiliser, rendez-vous sur la back-office Prestashop dans le menu « Modules – Thèmes », sous le premier groupe Apparence (Prestashop version 1.4.5). Dans l’exemple ci-dessus, nous avons laissé, prestashop, mettez le nom exact de votre thème.

DB_NAME : saisir le nom de la base de données créée précédemment. Dans notre exemple, MaBase.
DB_SERVER : mettre localhost, le serveur de base de données MySQL installé par WampServer.
DB_USER : mettre le user créé par défaut par WampServer, le user root.
DB_PASSWD : mettre le mot de passe créé par défaut par WampServer : blanc. Il n’y a pas de mot de passe créé par l’installation de WampServer.
Enregistrez votre fichier. Maintenant, si vous vous rendez sur la page de votre site local (localhost/MonSite), votre site devrait s’afficher mais attention, il est immédiatement redirigé vers l’url distante du site.
MODIFICATION DE LA BASE DE DONNEES
Se rendre sur le PhpMyAdmin local (« http://localhost/phpmyadmin/ ») et sélectionner la base de données MaBase dans la fenêtre de gauche, et dans l’onglet SQL, exécutez la requête SQL suivante (attention aux simples côtes !) :
SELECT *
FROM `ps_configuration`
WHERE name LIKE ‘PS_SHOP_DOMAIN%’;
(Attention à encadrer PS_SHOP_DOMAIN% par des simples côtes, la caractère sous le 4)

Quand on clique sur le bouton « Exécuter » le résultat est affiché (2 lignes) :

Si vous exécutez la requête, vous n’aurez pas nécessairement les mêmes lignes, les id-configuration peuvent être différents. Vous devez modifier les résultats de la colonne « value ». Cliquez directement dans le résultat qui affiche le domaine de votre site (exemple MonSite.fr) et remplacez par « localhost », sur les deux lignes. Pour s’assurer que les modifications sont bien enregistrées dans la base de données, exécutez obligatoirement cette nouvelle requête SQL :
COMMIT ;
Ainsi, la base de données est désormais correctement configurée. Votre site local localhost/monsite peut s’afficher, mais il reste certainement des problèmes !
MODIFICATIONS DANS LE BACK-OFFICE PRESTASHOP
Rendez-vous sur votre back-office local « localhost/monsite/administration » (attention, saisir la bonne adresse, pour l’exemple c’est administration, mais cela dépend de votre boutique, voir l’url que vous entrez d’habitude monsite.fr/administration).
Les modifications décrites ci-dessous dépendent essentiellement de votre configuration initiale du back-office Prestashop. Les exemples suivant sont valables pour un site avec l’url rewriting activé (permet d’avoir des url avec des noms en clair, utile pour le référencement !). Il faut pour cela vérifier que dans les options de WampServer, pour les Apache module, le rewrite_module doit être coché :

Menu « Panneau d’administration > Préférences > SEO & URLs » : a priori, rien à modifier, les paramètres ont été modifiés par le fichier de configuration vu précédemment et par les modifications apportées à la base MySQL.

Pour finir, nous devons régénérer le fichier .htaccess que nous avions supprimé précédemment. Pour cela, se rendre sur le menu : « Panneau d’administration > Outils > Générateurs ».

Dans certains cas, il sera obligatoire d’enlever la mise en cache pendant 7 jours (le code a été enlevé). Le site doit en principe s’afficher correctement.
DESACTIVATION DE MODULES
Avoir une version locale de son site est plutôt indispensable, mais tout ne fonctionnera pas. Il ne faut pas espérer réaliser une commande jusqu’au bout, et la payer en carte bleue… Le paiement CB va en effet utiliser un module qui a besoin d’une signature numérique disponible uniquement au travers de votre site référencé sur le web, pas avec votre site localhost.
Par contre, certains modules empêchent le bon fonctionnement local du site, et ce n’est vraiment pas évident à trouver. Dans un cas, le module « EnvoiMoinsCher » (qui fonctionne parfaitement en ligne !) empêchait les commandes de fonctionner correctement : un bug d’affichage se produisait en localhost à l’étape du choix du transporteur.
Mais tout ceci est fonction de votre configuration. Nous espérons toutefois que ce long tutoriel vous aura aidé à mettre en place une version locale de votre site. Si tel n’est pas le cas, n’hésitez pas à nous contacter.