All posts in Prestashop

Migration Prestashop

Prestashop est aujourd’hui une des solutions phares pour le e-commerce. C’est un progiciel hautement configurable, et toutes les fonctionnalités principales d’un site e-commerce sont intégrées nativement à Prestashop. De plus, c’est bien documenté. Il est donc tout à fait légitime que beaucoup franchissent le pas et basculent vers Prestashop 1.5, que ce soit à partir d’un autre système ou d’une vieille version de Prestashop.

Nativement, Prestashop possède des fonctions d’import de boutiques des anciennes versions de Prestashop (à partir de 1.4) ou d’autres systèmes. Mais attention, rien ne garantit le bon fonctionnement de cet import ! (surtout si vous aviez un thème propriétaire). Si vous voulez un nouveau site, plus design, il faudra vraisemblablement développer un nouveau site… Et ressaisir l’ensemble de vos produits ? C’est malheureusement souvent ce qui est proposé sur le marché…

Nous allons vous présenter ici les méthodes de migration vers Prestashop 1.5

MIGRATION NATIVE DE PRESTASHOP

Si votre boutique est développée en Prestashop 1.4 ou 1.5, essayez avant toute chose la Migration Prestashop proposée en natif. Cette fonction native se proposera d’effectuer une sauvegarde de votre boutique, mais surtout, soyez prudent, et sauvegardez vos données au préalable, et testez la migration sur un serveur de test !

Tout d’abord, installez le module 1-Click Upgrade (Addons)


Puis entrez dans la configuration du module. Si Prestashop vous propose effectivement la migration, alors vous pouvez tenter le coup :


Cela peut prendre un certain temps… Si cela fonctionne, vous avez de la chance, mais empressez-vous de tester votre boutique en long et en large ! Dès l’arrivée du le front-office, vous pourriez avoir des surprises… Sans parler d’anciens modules qui seraient non compatibles…

Si tout fonctionne, c’est parfait, vous pouvez dès à présent profiter des nouvelles fonctionnalités de Prestashop. Si cela ne fonctionne pas, il va falloir faire autrement…

FAIRE UN NOUVEAU SITE PRESTASHOP ET IMPORTER LES DONNEES

Je sais bien que parfois, on demande à l’e-commerçant de ressaisir tous ses produits suite à la livraison du nouveau site, mais cela est-il acceptable ? Quid de sa base client, des anciennes factures etc.

Quand on sait que la saisie d’une fiche produit peut facilement prendre 15 minutes, si votre boutique comporte des dizaines, des centaines de références, vous faîtes comment ? Le site peut être bon marché, mais tout le travail reste pour vous !

Non, vous devez utiliser la fonction d’import de données disponible dans le menu « Paramètres avancés – Import » :


Mais attention, cela n’est pas trivial du tout ! Certes, la solution Prestashop propose quelques exemples, mais c’est très léger pour vous aider à comprendre, et la documentation officielle n’est pas des plus complètes sur le sujet.

C’est pour cela que nous avons développé les « Excel Tools for Prestashop », qui sont un ensemble d’outils proposés au travers de feuilles Excel, pour automatiser une grande partie des tâches d’import de données.

Les fonctionnalités proposées sont :

  • Export des données d’anciennes versions de Prestashop vers des feuilles Excel,
  • Outil de saisie de « masse » du catalogue (utilisation des facilités d’édition d’un logiciel tableur !),
  • Génération des fichiers csv à importer dans Prestashop, à l’image des saisies précédentes ou imports d’anciennes versions de Prestashop,
  • Import dans votre nouvelle version de Prestashop des données non prévues dans les imports csv de Prestashop (par exemple, les factures),
  • etc.

Mais attention cet outil doit être paramétré et adapté en fonction de la solution source (ancienne version de Prestashop, autre CMS d’e-commerce, magasin physique…). Aujourd’hui il ne peut être commercialisé en l’état, dans la mesure où il fait appel à des connaissances avancées en SQL, en Excel et en Excel VBA.

A l’aide de cet outil, nous pouvons garantir :

•    Tout le catalogue (produits et catégories) sont correctement migrés, avec leur image, stock, déclinaisons et description,

•    Tous les clients sont repris, avec leurs adresses,

•    Toutes les commandes déjà effectuées sont bien présentes dans le back office, ainsi que les factures. Les clients peuvent également télécharger d’anciennes.

En plus, les produits conservent la même url : ce qui est référencé par Google (les liens déjà existant) restent fonctionnels.

N’hésitez pas à nous contacter pour toute question sur ce sujet !

Top

Prestashop 1.5 : configurer l’ordre des produits dans une catégorie

Rien de très trivial dans l’interface du back-office de Prestashop 1.5 pour classer les produits dans un ordre bien précis. Il est important de souligner que l’ordre d’apparition (dans une catégorie) des produits sur votre site marchand est d’une importance capitale ! Si vous souhaitez mettre des produits en avant pour booster vos ventes, c’est un excellent moyen de le faire !

Tout d’abord, vous devez vous rendre dans le back-office, menu « Préférences – Produits », sur la partie « Pagination », et configurer le « Tri par défaut » sur « Position dans la catégorie », comme sur la copie d’écran ci-dessous.

Maintenant, affichez votre catalogue produit (menu « Catalogue – Produits »). Par défaut, vous ne voyez rien qui montre la possibilité d’un classement (sachant que c’était assez trivial en Prestashop 1.4).

Il faut en fait bien penser à cocher l’option « Filtrer par catégorie » !

En cliquant sur cette option, vous pouvez sélectionner une catégorie de votre catalogue, et vous voyez apparaître une colonne position :

Afin de pouvoir enfin classer les produits dans la catégorie, il ne faut pas que les positions soient indiquées par un numéro, mais par des petites flèches de déplacement haut et bas. Pour cela, cliquez sur la zone entourée en bleu sur la copié d’écran précédente :

Voilà, vous pouvez enfin classer correctement vos produits dans l’ordre que vous voulez (utilisez la souris et les flèches de déplacement quand vous placez la souris sur la zone en rouge ci-dessus), ils apparaîtront ainsi dans le front-office, la preuve en image :

Top

Installation du module de Paiement ATOS SIPS

Pour tout site e-commerce qui tend à se développer, une solution de paiement sécurisé est absolument nécessaire, mais cela est souvent payant (même s’il existe un module gratuit que je n’ai pas encore pu essayer). La solution proposée par Paypal est gratuite et totalement sécurisée, mais il est de bon ton de proposer également un paiement sécurisé par carte bleue (sans doute un besoin culturel…).

J’ai installé très récemment encore une fois le module ATOS SIPS (qui coute 200€), et encore une fois, cela a viré au cauchemar et ça a duré une grosse journée. Il s’agit d’un module estampillé Prestashop, et pourtant, certains points sont clairement à revoir !

Tout d’abord point important, n’installez JAMAIS ce module en local sous Wampserver par exemple ! En effet, l’installation va écrire une clé de configuration dans la table ps_configuration, avec le chemin absolu dans lequel le module est installé. Lorsque vous allez copier le site sur votre serveur de production, cette clé avec le chemin en dur ne change bien évidemment pas. Et vous aurez beau réinitialiser le module, cette clé n’est jamais modifiée ! Vous obtiendrez sur la page de configuration du module un message d’erreur vous précisant que « C:\WAMP\www/monsite/modules/atos/bin/resquest » n’a pas les droits d’exécution…

A partir de là, il faut reprendre proprement et supprimer toutes les clés de ps_configuration contenant la chaine de caractères « ATOS » :

delete from ps_configuration where name like '%ATOS%';

Vous pouvez alors supprimer le module :

Puis réinstallez le proprement (ne comptez pas sur la documentation associée, obsolète). Vous obtiendrez la configuration initiale correcte :

Saisissez alors votre configuration (ID marchand, votre certificat, le mail et choisissez votre établissement bancaire).

Mais comme vous pouvez le constater, les exécutables request et response n’ont pas les droits d’exécution. A l’aide d’un client FTP tel que FileZilla, vous pouvez accorder les droits d’exécution sur le répertoire /modules/atos.

Quand vous avez donné les droits d’exécution 755 sur ces fichiers, revenez sur la configuration du module pour voir si maintenant, les droits d’exécution sont corrects, ce qui devrait être le cas, mais ce n’est pas pour autant gagné, car quand vous voulez effectuer une commande et la payer avec une CB, vous aurez peut-être droit à une nouvelle erreur :

ERREUR ATOS : IMPOSSIBLE D’EXECUTER LE BINAIRE.

Le répertoire bin contient plusieurs exécutables :

Vous devez les tester jusqu’à que cela fonctionne ! C’est-à-dire que les fichiers request et response n’ont pas fonctionné ? Supprimez-les et renommez les fichiers suffixés par _2.4.18_2.96 en request et response. Et ressayez, encore et encore, jusqu’à trouver une configuration qui fonctionne.

Et là, presque victoire, nous pouvons enfin payer par Carte bleue !

Ceci dit, ce n’est pas fini, vous devez renommer le fichier htaccess.txt en .htaccess (dans le répertoire /modules/atos), cela va rendre invisible votre certificat. Mais que lui… Si vous entrez l’url de votre site suivie de /modules/atos, vous pouvez visualiser le contenu du répertoire !

En effet, le .htaccess proposé par le module ne va cacher que le fichier certificat, ce qui assure sa sécurité. Mais il est plus sérieux de ne pas afficher le contenu de ce répertoire. A minima, éditez le fichier .htaccess du module atos et ajoutez Options –Indexes pour empécher l’affichage du contenu du répertoire de votre site.

 <Files certif.fr.*>
    order deny,allow
    deny from all
</Files>
Options -Indexes

Mais malheureusement, il est possible de rencontrer d’autres problèmes… Par exemple, suite à un paiement carte bleue carte bleue, la transaction bancaire est effectivement réalisée sans être enregistrée en tant que commande : le back-office n’enregistre pas la commande ! Ceci est particulièrement ennuyeux. Personnellement, j’ai perdu une journée entière sur ce problème : 100% des paiements n’étaient pas enregistrés en tant que commandes. Si cela vous arrive, c’est probablement que vous être en mode test, c’est à dire que le mail n’est pas activé par exemple, ou bien, que votre boutique est en mode maintenance, auquel cas en effet, le paiement est possible mais la commande n’est pas enregistrée…

Attention donc, vous pourriez rencontrer ce genre de soucis pendant votre phase de test et déploiement du site ! Mais sur certains forums, d’autres raisons sont évoquées pour ces commandes « fantômes » qui apparaissent de façon aléatoire chez certains (le client n’a pas cliqué sur « retour à la boutique par exemple »…). Vérifiez donc régulièrement que les opérations portées sur le compte recevant les opérations cartes bleues est en phase avec les commandes…

Vous avez maintenant une solution de paiement opérationnelle ! Enfin, espérons…

Top

Prestashop, configurer la gratuité des frais de ports par pays

Dans la mesure où les frais de port sont élevés pour l’étranger, un gestionnaire de boutique Prestashop peut décider de n’offrir la gratuité des frais de port à partir d’un certain montant, que pour la France. Dans notre exemple, ce seuil de gratuité sera de 150€.

Classiquement, la gestion de la gratuité des frais de port s’effectue dans le menu « Transport – Transport », section « Manutention » :

Mais cela ne permet pas d’appliquer la gratuité uniquement en France. Nous devons donc remettre tous les paramètres ci-dessus à 0, et nous allons créer une nouvelle tranche de prix dans le menu « Transport – Tranches de prix ». Nous éditons la tranche de prix existante pour le transporteur « La Poste – So Colissimo » :

Et nous la modifions ainsi : tranche de 0 à 150€ :

Et nous créons une nouvelle tranche de 150€ à 10.000€ (menu « Transport – Tranches de prix – bouton Créer ») :

Nous pouvons désormais appliquer des frais de ports à 0 pour un montant supérieur à 150€ pour assurer la gratuité de la zone « France » créée dans le tutoriel http://www.expert-data.fr/frais-de-ports-differents-par-pays-prestashop/

Top

Configurer des frais de ports différents par pays sous Prestashop

Sous Prestashop (1.4, 1.5) il est aisé d’enregistrer des frais de port par continent. Or, dans la majorité des cas, nous souhaiterons différencier ces frais de ports pour des livraisons en Europe : les frais de ports devront être différents pour la France métropolitaine et pour l’Espagne ! A moins que vous connaissiez un transporteur qui prend le même tarif pour tous les pays…

Dans notre exemple, nous allons paramétrer les frais de la manière suivante : Le transporteur « La Poste – So Colissimo » appliquera des frais de 5€ pour la France, et 9€ pour le reste de l’Europe.

Si nous nous rendons dans le menu « Transport – Transport » de l’administration Prestashop (1.5 dans l’exemple), nous pouvons constater que les frais de ports ne peuvent pas être différenciés au sein des pays Européens :

Pour cela, nous allons créer une nouvelle zone « France », en plus des zones « Europe » et « Europe (out U.E.) ». Nous nous rendons dans le menu « Localisation – Zones », pour créer une nouvelle zone :

Nous saisissons le nom :

La zone « France » apparaît alors dans la liste des zones. Maintenant, nous devons affecter le pays « France » à la zone « France ». Cela se passe dans le menu « Localisation – Pays » :

Nous éditons le pays et nous lui affectons la zone désirée et nous validons en cliquant sur le bouton « Enregistrer » :

Toutefois, quand nous retournons sur la gestion du transport par le menu « Transport – Transport », la zone « France » n’apparaît pas. Il faut affecter au préalable la nouvelle zone au transporteur ! Nous nous rendons donc dans le menu « Transport – Transporteur » et nous éditons le transporteur « La Poste – So Colissimo ». Nous devons cocher la zone « France » et enregistrer la modification :

Désormais, quand nous nous rendons sur la gestion des frais de ports par zone dans le menu « Transport – Transport », nous pouvons appliquer un tarif spécifique à la France, et un autre au reste de l’Europe :

Top

Transférer un site Prestashop 1.5 local vers un site internet distant

Le transfert d’un site internet développé en local (sous WampServer par exemple) requiert trois étapes :

Tout d’abord, la base de données MySQL doit être copiée de l’installation locale, modifiée puis exportée vers l’installation distante.

Ensuite, les fichiers de l’installation sous WampServer doivent être transférés sur le serveur distant par FTP.

Enfin, une configuration est nécessaire.

BASE DE DONNEES SQL

Il faut se rendre sur l’interface PhpMyadmin locale proposée par WampServer : http://localhost/phpmyadmin/

Et sélectionner la base de données de développement dans la partie droite.

Il est nécessaire de choisir un Export, avec une méthode d’exportation « Personnalisée » comme ci-dessus, et diriger la sortie vers un fichier zippé :

Exécuter ensuite l’export (bouton en bas de la page).

Le fichier est alors enregistré, sous la forme Nomfichier.sql.zip. Son contenu doit être modifié avant l’export vers le site distant. Pour cela, dézipper le fichier, et l’éditer avec un logiciel d’édition de texte tel que NotePad++ (gratuit). Les lignes contenant le nom du serveur local doivent être modifiées. Pour les lignes

(231, NULL, NULL, 'PS_SHOP_DOMAIN', 'localhost', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(232, NULL, NULL, 'PS_SHOP_DOMAIN_SSL', 'localhost', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),

Il faut remplacer localhost par le nom de domaine de votre site :

(231, NULL, NULL, 'PS_SHOP_DOMAIN', 'www.monsite.fr', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(232, NULL, NULL, 'PS_SHOP_DOMAIN_SSL', 'www.monsite.fr', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),

Toutefois, attention, ceci est l’étape la plus difficile de l’export du site ! Il faut adapter correctement le remplacement ! Par exemple, pour les lignes :

INSERT INTO `ps_shop_url` (`id_shop_url`, `id_shop`, `domain`, `domain_ssl`, `physical_uri`, `virtual_uri`, `main`, `active`) VALUES
(1, 1, 'localhost', 'localhost', '/monsitelocal/', '', 1, 1),

En effet, lors de la création du site local, sous avons un serveur WampServer (le localhost), et le site est créé sous un répertoire (monsitelocal ici). Quand vous allez transférer votre site, le site ne sera probablement pas sous un répertoire, mais directement à la racine. Les lignes précédentes seront donc remplacées par :

INSERT INTO `ps_shop_url` (`id_shop_url`, `id_shop`, `domain`, `domain_ssl`, `physical_uri`, `virtual_uri`, `main`, `active`) VALUES
(1, 1, 'www.monsite.fr', 'www.monsitelocal.fr', '/', '', 1, 1),

Il faut modifier toutes les références à localhost (mais cela se limite principalement aux exemples ci-dessus).

Une fois les modifications effectuées, il faut enregistrer le fichier et le rezipper , puis le renommer afin qu’il ait l’extension requise par l’import PhpMyadmin « monfichier.sql.zip ».

Nous devons maintenant exporter ce fichier vers la base de données distante. »

Tout d’abord, nous devons créer la base de données distante. L’exemple de ce tutoriel s’appuie sur un serveur mutualisé OVH. Dans le manager OVH, sélectionnons le menu « Hébergement », puis « Gestion SQL » dans la partie « Bases de données SQL ».

A partir de là, nous créons une base, lui affectons un mot de passe, et nous notons son serveur, de la forme mysql5x-xx.pro par exemple.

Quand la création de la base est opérationnelle, nous nous rendons sur l’interface PhpMyadmin proposée par OVH : https://phpmyadmin.ovh.net/

Et nous nous connectons, et cliquons sur le nom de la base de données nouvellement créée, sur la partie gauche de la fenêtre :

Nous cliquons alors sur « Importer », et sur le bouton « Choisissez un fichier », afin de sélectionner le fichier créé lors de l’export de la base locale créée lors du développement du site sous WampServer.

Lorsque l’importation est terminée, les tables apparaissent dans le panneau gauche de la fenêtre :

TRANSFERT FICHIERS PAR FTP

Pour effectuer le transfert des fichiers du site par FTP, nous utilisons le logiciel gratuit Filezilla. Tout d’abord nous créons une connexion (menu « Fichier – Gestionnaire de sites »). Nous saisissons les informations suivantes :

Hôte (nom du serveur FTP) : ex : ftp.monsite.fr

Identifiant

Mot de passe

Une fois connecté (bouton « Connexion » ci-dessus) il suffit de faire TOUS les fichier de l’installation locale vers le site distant. Attention, le transfert peut durer plusieurs heures !

A l’aide de FileZilla, récupérer le fichier settings.inc.php dans le répertoire /CONFIG de l’installation distante, et éditer ce fichier. Les champs suivants doivent être modifiés :

define(‘_DB_SERVER_’, ‘mysqlxx-xx.pro’); localhost est remplacé par le nom de la base distante OVH.

define(‘_DB_NAME_’, ‘mabase’);le nom de la base doit être saisi.

define(‘_DB_USER_’, ‘mabase’);root (le user par défaut de WampServer) est remplacé par le user de la base (le même nom que le nom de la base)

define(‘_DB_PASSWD_’, ‘monpsswd’); le mot de passe est saisi

Une fois les modifications enregistrées, le fichier peut être retransféré sur le site avec FileZilla, au même emplacement.

CONFIGURATION

A ce stade, nous pouvons tester notre site. Si la modification de la base de données est correcte, le site devrait s’afficher, même si l’affichage des images peut poser problème.

Dans tous les cas, nous devrons nous rendre sur l’interface de gestion de prestashop (www.monsite.fr/administration ou administration est le nom que vous avez choisi pour le back-office prestashop), et reconfigurer les URL simplifiées ainsi :

Si c’est déjà fait, alors il faudra cliquer sur non, enregistrer, et recliquer sur oui, et réenregistrer, ceci aura pour effet de recréer un fichier .htaccess correct à la racine du site.

Le site est désormais opérationnel !

Top
1 2 Page 1 of 2

Contactez-nous contact@expert-data.fr

EXPERT data, solutions pour TPE/PME et grands comptes