Procédure de migration SQL pour Prestashop 1.6 vers 1.7

Procédure de migration SQL pour Prestashop 1.6 vers 1.7

Cette procédure sera utile pour tout e-commerçant utilisant Prestashop et souhaitant mettre son site au propre de manière radicale. Elle peut être utiliser lors d’une mise à niveau importante (de 1.4 à 1.6 par exemple), suite à un hack de votre site et une altération de vos fichiers sources ou bien suite à de mauvaises manipulations.

Il est à noter que cette procédure demeure quasiment entièrement d’actualité lorsque vous souhaitez effectuer une mise à jour de Prestashop 1.6 vers 1.7.

Pré-requis :

  • Effectuer un back-up du FTP et de la base de données,
  • Mettre le site en maintenance,
  • Avoir les accès au serveur FTP et à phpMyAdmin à porté de doigts.
  • Copier et garder à disposition la COOKIE_KEY (présente dans le fichier /config/settings.inc.php)

 

1. Mettre la base de données à jour

Pour commencer, sur le site original, il faut mettre la base de données à jour si elle n’est pas déjà adaptée pour la version 1.6 de PrestaShop. Pour cela, il suffit d’utiliser OneClickUpgrade et de suivre les instructions.

 

2. Exporter les tables suivantes :

A l’aide de PhpMyAdmin, nous allons exporter les tables contenant les données qui nous intéressent.Une fois de plus, vous êtes responsable de votre base de données.

Les tables Customers :

  • ps_address
  • ps_customer
  • ps_customer_group
  • ps_customer_message
  • ps_customer_thread
  • ps_message
  • ps_message_readed

Les tables CMS

  • ps_cms
  • ps_cms_block
  • ps_cms_block_lang
  • ps_cms_block_page
  • ps_cms_block_shop
  • ps_cms_category
  • ps_cms_category_lang
  • ps_cms_category_shop
  • ps_cms_lang
  • ps_cms_role
  • ps_cms_role_lang
  • ps_cms_shop

Les tables Product attibut

  • ps_attribute
  • ps_attribute_group
  • ps_attribute_group_lang
  • ps_attribute_group_shop
  • ps_attribute_impact
  • ps_attribute_lang
  • ps_attribute_shop

Les tables Category

  • ps_category
  • ps_category_group
  • ps_category_lang
  • ps_category_product
  • ps_category_shop

Les tables Products

  • ps_product
  • ps_product_attachment
  • ps_product_attribute
  • ps_product_attribute_combination
  • ps_product_attribute_image
  • ps_product_attribute_shop
  • ps_product_carrier
  • ps_product_country_tax
  • ps_product_download
  • ps_product_group_reduction_cache
  • ps_product_lang
  • ps_product_sale
  • ps_product_shop
  • ps_product_supplier
  • ps_product_tag

Les tables Stock

  • ps_stock
  • ps_stock_available
  • ps_stock_mvt
  • ps_stock_mvt_reason
  • ps_stock_mvt_reason_lang

Les tables Cart (Panier)

  • ps_cart
  • ps_cart_cart_rule
  • ps_cart_product
  • ps_cart_rule
  • ps_cart_rule_country
  • ps_cart_rule_lang

Les tables Order (Commandes)

  • ps_orders
  • ps_order_carrier
  • ps_order_cart_rule
  • ps_order_detail
  • ps_order_detail_tax
  • ps_order_history
  • ps_order_invoice
  • ps_order_invoice_payment
  • ps_order_invoice_tax
  • ps_order_payment

Les tables Carrier (Transporteurs)

  • ps_carrier
  • ps_carrier_group
  • ps_carrier_lang
  • ps_carrier_shop
  • ps_carrier_tax_rules_group_shop
  • ps_carrier_zone
  • ps_range_price
  • ps_range_weight

Les tables Tax (Taxes)

  • ps_tax
  • ps_tax_lang
  • ps_tax_rule
  • ps_tax_rules_group
  • ps_tax_rules_group_shop

 

3. Faire une nouvelle installation de Prestashop (1.6 ou 1.7)

Après avoir exporté nos tables, il nous faut une nouvelle base de données pour la réception. Pour cela, nous allons installer un Prestashop tout propre après avoir supprimé l’ancien de notre serveur FTP ainsi que l’ancienne base de données (/!\ d’avoir effectué une sauvegarde au préalable). Après avoir installé la nouvelle version de PrestaShop, pensez à :

  • Mettre le site en maintenance,
  • Activer le mode « debug »,
  • Désactiver le cache,
  • Forcer la compilation Smarty.

4. Supprimer les tables correspondantes aux tables à importer dans la nouvelle base de données

Dans cette nouvelle base de données, nous reprenons la liste des tables que nous avons exportées et nous les supprimons. Cela nous permet ensuite de pouvoir importer nos tables originales tranquillement.

Voici donc la requête SQL à envoyer (attention, celle-ci est irréversible)

Attention : toute suppression est définitive !

5. Importer les nouvelles tables

Effectuer l’import des tables d’origine dans la nouvelle base de données. Si vous avez changé le préfixe des tables, vous pouvez utiliser ces requêtes SQL :

6. Transférer la COOKIE_KEY sur le nouveau site

Dans le fichier config/settings.inc.php de notre site original se trouve une constante appelée COOKIE_KEY. Nous allons copier celle-ci et l’insérer dans le fichier config/settings.inc.php à la place de la nouvelle clé.

Cela permet à Prestashop de comparer correctement les mots de passe des clients qui ont été cryptés en MD5 avec la COOKIE_KEY de notre site original.

NB : Cette manipulation rend notre compte administrateur inutilisable car ayant été crypté avec une nouvelle clé (celle de la nouvelle installation), notre mot de passe est maintenant en erreur. Pour corriger cela, il suffit de nous rendre sur la table ps_employee via phpMyAdmin, d’éditer l’entrée de notre compte, de copier la COOKIE_KEY dans le champ « password » et de la faire suivre directement avec notre nouveau mot de passe. On enregistre et nous avons de nouveau accès à l’administration de notre site.

7. Importer le dossier img/

Pour pouvoir afficher les images que nous avions sur notre site d’origine, il nous suffit de copier la totalité du dossier img/ sur la nouvelle installation. Il y a déjà un dossier de ce nom. Nous pouvons le renommer ou bien le compresser afin de l’avoir à disposition (ça peut servir).

8. Vérification du bon fonctionnement

Nous pouvons maintenant tester si le site fonctionne correctement. Nous allons essayer de créer un compte, de passer une commande, de nous connecter avec un ancien compte pour vérifier que la COOKIE_KEY est bien en place. Nous allons aussi vérifier le bon fonctionnement du Back-Office. Est-ce que nous voyons bien les anciennes commandes et tout les produits ?

Un problème que j’ai rencontré lors de cette procédure est un décalage entre l’ID de la catégorie principale (home) et l’ID de cette même catégorie sur la nouvelle installation. Le message d’erreur était « Root category must be an integer value ». La solution était alors de corriger l’ID de la catégorie principale dans la table « ps_shop ». Elle est à « 2 » sur les nouvelles installations de Prestashop mais dans notre cas (nous sommes passé de PS 1.6 à PS 1.7) l’ID de la catégorie « home » était égale à « 1 ».

9 Terminé !!

Il ne reste plus qu’à désactiver le mode maintenance ainsi que le mode « debug » et à reprendre la production là où elle avait été laissée.

J’espère que ce tutoriel vous aura été utile. Si vous souhaitez que nous nous occupions de votre mise à jour, contactez-nous !

 

Halte aux inscriptions fantômes

Halte aux inscriptions fantômes

Depuis quelques jours, les boutiques sous PrestaShop 1.3 à 1.7 subissent des attaques depuis le formulaire de création de compte clients.

Comme le captcha de Google ne suffit pas, je vous donne une solution qui fonctionne.

Voici la procédure :

Crée un fichier que vous nommerez Validate.php que vous mettrez dans /overide/class/…

Dans ce fichier vous mettrez :

Ensuite

Crée un fichier que vous nommerez Costumer.php que vous mettrez dans /overide/class/…

Dans ce fichier vous mettrez :

Pour finir, allez dans /cache/… et supprimez le fichier cache_index.php

Et voila, normalement, vous n’aurez plus ses inscriptions fantômes.

Vous êtes pressé? Téléchargez directement les fichier en cliquant sur leur nom : validate.php – Costumer.php

!! Vous trouverez un autre fichier nommé ContactController.php dans le dossier overide/controllers/front/. Ce fichier est un complément qui bloque d’office les adresses email en .ru, .vn, .etc….

Vous trouverez une solution pour la version PrestaShop 1.7 sur le blog de mon ami Webbax

Si vous avez des questions ou simplement envie d’une aide pour l’installation de ses fichiers, n’hésitez pas à nous contacter.

A bientôt pour de prochaines aventures

Nouveau module : LOGIK CONTEST PLAY

Nouveau module : LOGIK CONTEST PLAY

Découvrez notre dernière création pour vos boutiques sous PrestaShop ou ThirtyBees.

Améliorez votre trafic, donnez de la vie à votre site et boostez votre fichier clientèle en créant des jeux concours.

Programmez des offres commerciales avec une date de début et de fin, permettant de mettre en avant une opération marketing :
  • Personnalisation des champs du formulaire
  • Tirage au sort du / des gagnant(s)
  • Construction d’une base client par rapport aux offres
  • Ajoutez de l’interaction à votre boutique
  • Fidélisez la clientèle
  • Formulaire sécurisé avec le Recaptcha de Google
  • Possibilité d’exporter l’ensemble des participations au format CSV.
  • Afficher une bannière dans le jeu concours.
  • Afficher les conditions pour le jeu concours dans le formulaire à l’aide des pages CMS.
  • Vérification des personnes déjà inscrites par rapport à l’adresse mail et le numéro de téléphone.

 

Vous pouvez trouver plus d’informations sur notre site de développements.

 

 

Optimisation des performances de PrestaShop

Est-il nécessaire d’améliorer la vitesse de chargement de une boutique PrestaShop ? On va répondre à cette question dans l’article qui suit.

La rapidité de chargement d’une boutique en ligne est primordiale même si ce n’est pas le seul élément à prendre en compte pour augmenter le nombre de ventes. Au-delà de 3 secondes de chargement, la moitié des utilisateurs sont susceptibles de quitter la boutique. Ça fait réfléchir… Il est compliqué sans un bagage technique minimum de déterminer l’impact de la vitesse de chargement sur les ventes et surtout d’optimiser le site web.

Voici un guide complet pour optimiser le chargement de PrestaShop, en compilant toutes les informations que j’ai pu lire et mettre en pratique.

 

Quelle est la vitesse de chargement de mon site PrestaShop ?

J’utilise au quotidien plusieurs outils pour mesurer la vitesse des sites web. Je partage avec vous quelques outils efficaces pour tester la vitesse de votre site :

  • Page Speed Insight : analyse du contenu et recommandations
  • GTmetrix : performant car il combine 2 outils à savoir Page Speed et Yslow
  • Wichloadfaster : parfait pour se comparer au concurrent
  • Loadimpact : test et optimisation avec simulations
  • Pingdom : détails sur les éléments, fichiers et temps de chargement

 

La vitesse de chargement bloque-t-elle mes ventes ?

À partir du moment où vous connaissez la vitesse de chargement de votre site, lisez quelques conséquences directes du temps de chargement sur les ventes d’une boutique.

Voici une réponse en quelques chiffres dans cette infographie :

  • Au-delà de 1,5 secondes, votre boutique est lente et donc converti moins
  • Si votre site génère 100€ par jour, avec 1 seconde de temps de chargement en moins, vous pouvez prétendre gagner 7€ de plus par jour, soit 2555€ par an !
  • 1 seconde de plus pour Amazon, c’est 1% de revenus perdus !
  • Walmart gagne 2% sur son taux de conversion à chaque seconde gagnée sur le temps de chargement !
  • Mozilla a augmenté de 15% son taux de téléchargement avec 2,2 secondes économisées !

En somme, il est impossible de savoir combien exactement vous allez pouvoir gagner en augmentant les performances de votre boutique en ligne. En revanche, il est tout à fait possible d’avoir une prévision sur la tendance liée à l’augmentation des performances de votre site.

 

Comment optimiser la vitesse de chargement de PrestaShop ?

Une fois que vous avez pris connaissance de l’impact de la vitesse de chargement sur vos ventes, il vous reste à mettre en pratique ce que vous avez vu. Je vais vous montrer dans la suite de cet article comment mettre en place diverses optimisations assez simples pour améliorer la vitesse d’affichage de PrestaShop.

Pour information, j’ai travaillé sur la version 1.6.1.15 de PrestaShop mais si vous êtes sur une version différente, les recommandations peuvent aussi s’appliquer dans la majorité des cas.

PrestaShop utilise Smarty comme moteur pour interpréter les fichiers de votre thème pour les afficher. Lorsque vous êtes en développement, il est nécessaire de compiler les données et vider le cache pour voir les modifications effectuées. En production, les réglages précédents sont inutiles et car ils obligent PrestaShop à charger votre site entièrement à nouveau à chaque chargement de page et c’est long !

Réglages en production (voir capture d’écran) :

  • Dans l’admin > Paramètres avancées > Performances > Smarty
  • Cochez « Ne jamais recompiler les fichiers de templates »
  • Cochez oui pour « Cache »

 

Fonctionnalités de base

PrestaShop par défaut propose un large éventail de fonctionnalités. Toutes ces fonctionnalités mettent du temps à s’afficher donc si vous n’en n’utilisez pas une, désactivez-la.

 

CCC

Toujours dans la section « Performances » de PrestaShop, la partie « CCC » qui signifie « Combiner, Concaténer et Cache » permet de réunir en un seul fichier css ou javascript l’ensemble des fichiers utilisés sur votre PrestaShop. La réduction du code supprime les espaces inutiles tandis que l’optimisation Apacje joue sur la compression gzip et l’amélioration du cache.

Réglages en production (voir capture d’écran) :

  • Dans l’admin > Paramètres avancées > Performances > CCC
  • Cochez oui pour « Smart cache pour les feuilles de style »
  • Cochez oui pour « Smart cache pour le code JavaScript »
  • Cochez oui pour « Réduction du code HTML »
  • Cochez oui pour « Compression du JavaScript dans le code HTML »
  • Cochez oui pour « Déplacer le code JavaScript à la fin »
  • Cochez oui pour « Optimisation Apache«

Pour de multiples raisons, votre thème peut ne pas être compatible avec un ou plusieurs paramètres évoqués ci-dessus. Dans ce cas, il est possible de n’activer qu’une ou plusieurs de ces options. Egalement, je vous invite à vous rapprocher de votre intégrateur pour solutionner les points concernés.

 

Serveur de média ou CDN

Les serveurs de média ou CDN (Content Delivery Network) permettent de charger les fichiers images, css, javascript, polices…depuis plusieurs serveurs.

Vous avez 3 domaines différents : indiquez-les dans les champs prévus et vos contenus seront chargés en simultanée depuis 3 serveurs différents, donc une utilisation de bande passante répartie.

Vous avez 3 sous-domaines : indiquez-les dans les champs prévus et vos contenus seront chargés en simultané depuis 3 sous-domaines différents. Vous n’offrirez pas plus de bande passante mais plus de téléchargements en simultanée.

Réglages en production :

  • Dans l’admin > Paramètres avancées > Performances > Serveur de média
  • Remplissez les 3 champs avec vos domaines ou sous-domaines

[edit du 03/10/2017]

On m’a posé une question à juste titre : « Doit-on avec les CDN dupliquer les fichiers de sa boutique PrestaShop ? » La réponse est non. PrestaShop va simplement répartir le chargement des fichiers via 3 sous-domaines ou domaines selon les cas. Le chargement des fichiers se fait alors de front et non en parallèle.

 

Chiffrement

Cette section de « Performances » invite à choisir a méthode chiffrement des cookies entre la bibliothèque mcrypt et la classe BlowFish locale.

Réglages en production :

  • Dans l’admin > Paramètres avancées > Performances > Chiffrement
  • Cochez « Utiliser Rijndael avec la bibliothèque mcrypt »

 

Cache

 

On détermine dans cette partie comment est géré le cache de votre serveur. Je vous conseille d’utiliser Memcached : si Memcached n’est pas installé sur votre serveur, je vous conseille le l’installer.

Réglages en production :

  • Dans l’admin > Paramètres avancées > Performances > Chiffrement
  • Cochez oui pour « Utiliser le cache »
  • Cochez pour « Système de cache » : « Memcached par PHP::Memcache »

 

Poids des images

Optimiser la tailles des images de PrestaShop permet de réduire la taille du site à charger. Il est donc primordial de réduire la taille des images. Pour ce faire, vous pouvez utiliser des outils gratuits en ligne comme :

  • PunyPNG : il permet de compresser les images JPG, GIF ou PNG et donne de très bons résultats
  • Tinypng : l’outil compresse les images notamment en PNG
  • Caesium Image Compressor : compression jusqu’à 90% sans perte de qualité

 

Dimensions des images

Votre navigateur au chargement d’une page parcourt tout le code de votre page et affiche le contenu en fonction des informations fournies. Indiquer les dimensions des images permet de donner directement l’information de taille de chaque image pour la placer dans la page au lieu de pré-charger les images pour les replacer ensuite.

 

Arche ou image de fond

Les images de fond ou background en anglais sont nécessaires à l’animation d’une boutique mais elles sont souvent grandes et lourdes à charger.

La technique du Lazy Loading est particulièrement utile si vous avez beaucoup d’image ou une image de fond également. Voici un article intéressant sur le sujet : https://bulledev.com/chargement-image-progressif-lazy-load/

 

Sprites css

Un sprite css est un regroupement d’images dans un seul fichier. Voici un sprite css utilisé par Google par exemple. Quand un visiteur affiche votre site, il ne charge alors qu’un seul fichier. Il n’y a donc qu’une seule requête effectuée sur le serveur ce qui est plus rapide. AlsaCréations explique très bien les sprites css dans cet article : https://www.alsacreations.com/tuto/lire/1068-sprites-css-background-position.html

En bref, pour 15 images, vous ne chargez qu’une seule image regroupant vos 15 images et c’est plus rapide !

Voici quelques outils gratuits pour générer des sprites css en ligne :

  • Stitches : assez simple avec du drag & drop
  • Toptal : simple et efficace
  • CSSSprites : upload et génération automatique

 

Compression gzip

En plus des différents points vus, vous pouvez activer la compression gzip qui va compresser les fichiers de votre site web pour réduire leur taille et donc le temps nécessaire pour les afficher dans le navigateur.

Pour activer la compression gzip, indiquer les lignes ci-dessous dans le fichier .htaccess situé à la racine de votre hébergement web :

« Defer parsing of JavaScript » ou placer judicieusement vos javascripts

Les balises <scripts> présents dans vos pages bloquent le chargement de celles-ci tant que les scripts ne sont pas chargés totalement. Il est donc important au choix de :

  • placer les scripts en fin de code, généralement avant la balise </body>
  • charger les scripts en asynchrone

Consultez cet article concernant l’optimisation des performances d’un site web et notamment du javascript : https://www.lije-creative.com/javascript-accelerer-chargement-site-internet/

 

Éviter d’appeler deux fois le même fichier

C’est évident car si on charge deux fois le même fichier, c’est plus long. Et c’est pourtant ce qui se produit si on charge ce fichier ainsi :

Chargez seulement les éléments visibles à l’écran

Votre client arrive sur une liste de 100 produits ou sur une fiche produit très longue mais veut-il forcément voir les 10 derniers produits ou les recommandations produits en bas de page ?

Il est conseillé de ne charger que les éléments visibles à l’écran en premier, puis les autres éléments au fur et à mesure si ils deviennent visibles.

Des modules permettent de faire cela et sont disponibles sur la plateforme Addons. Il est aussi possible de déterminer les éléments à charger seulement si ils sont visibles via ce tuto par exemple : https://bulledev.com/chargement-image-progressif-lazy-load/

 

Quels modules PrestaShop pour améliorer la vitesse de chargement ?

Je ne suis pas partisan d’installer une multitude de modules dans PrestaShop car ils vont certes améliorer la vitesse du site, mais ils vont aussi alourdir le site en parallèle.

Je peux citer un module d’optimisation pour PrestaShop que j’ai eu l’occasion de tester sur le site ayianna.ch : il s’agit de Page Cache. Voici les résultats GTmetrix avant et après installation avec la configuration par défaut :

  • avant installation : 58% et 77%
  • après installation : 62% et 81%

Constat : sans connaissance particulière en code, on peut tout à fait améliorer les performances avec certains modules efficaces. Attention car le module cité ne traite pas les points évoqués précédemment dans cet article.

 

Quel est l’impact de l’hébergement sur la vitesse de votre site web ?

Après avoir constaté que l’on peut optimiser via des points techniques ou des modules les performances de PrestaShop, on va parler d’un élément phare pour toute boutique en ligne : l’hébergement web.

Je vais parler de l’hébergement via mon témoignage en tant qu’utilisateur et client.

J’ai débuté en tant que freelance spécialisé PrestaShop & WordPress en 2009. A ce moment là, j’ai fait comme tout bon freelance qui débute : j’ai créé un portfolio et je l’ai hébergé chez OVH sur un hébergement mutualisé perso à 30€ HT / an. Autant dire que l’offre était imbattable pour être présent sur le web. J’ai bien dit présent, pas visible.

Aujourd’hui, mon site est toujours en place mais sur un autre hébergement : une offre de type dédié chez un hébergeur particulier qui offre du service en plus des performances. Le coût est d’environ 60€ HT / mois…pour le même service diront certains. Et bien non, pour ce prix, mon site web sous WordPress qui affichait des temps de chargement de 10s environ se charge à présent en moins de 1,5s avec une vraie infogérance en plus !

Résultats :

  • mon utilisation en tant que rédacteur et administrateur est plus agréable et plus fluide
  • votre utilisation en tant que lecteur est elle aussi plus agréable car les pages se chargent plus rapidement, et vous consultez plus de contenu sur mon site, plus de réalisations / articles…
  • Google qui prend en compte la vitesse de chargement me place plus généralement devant un concurrent qui propose un site web plus lent, donc j’ai potentiellement plus de visibilité et donc de clients

Je prend souvent cette image pour illustrer la situation : « Le web, c’est comme une course : si vous avez le meilleur pilote sans la voiture la plus rapide, vos concurrents plus rapides risquent gagner à tous les coûts ! »

Comprenez qu’avec les meilleures optimisations possibles sur votre boutique, un hébergement de qualité reste le plus grand levier pour disposer d’un site rapide à charger. Une question réside : comment bien choisir son hébergement ? Voici des éléments de réponse pour bien choisir :

  • les performances : quelles sont les performances affichées pour un PrestaShop sur telle ou telle offre ?
  • l’assistance technique ou infogérance : est-elle gratuite ou payante ? que comprend-elle ?
  • la sécurité : comment est-elle garantie ? les sauvegardes sont-elles comprises ?
  • le trafic et l’espace disque : ais-je une bande passante / espace disque illimité ?
  • le prix : il faut comparer mais pour moi ce n’est pas le critère à regarder en amont

Pour ma part, je travaille avec infomaniak, un hébergeur qui propose des offres performantes avec un vrai support, avec un vrai contact humain qui vous écoute et vous propose une solution sur-mesure.

 

Comment optimiser PrestaShop sur-mesure ?

Dans la partie précédente de l’article, vous venez de voir comment optimiser de manière générale PrestaShop, ce que vous pouvez faire. Il est également possible et c’est d’ailleurs un sujet que je traite assez souvent : l’optimisation sur-mesure des performances de PrestaShop.

Voici le déroulement du travail :

1. Audit du site web

Avant d’utiliser un outil, je consulte le site et je me place en tant que client cible de la boutique en question. J’étudie avec soin les différents éléments et stratégies mis en place pour vendre.

Ensuite, je consulte des outils pour faire ressortir les différents éléments techniques que l’on peut améliorer.

2. Recommandations concrètes

Je rédige un rapport complet et détaillé affichant les points positifs et les points clés sur lesquels il faut appuyer pour un gain maximum en temps de chargement. En effet, certaines optimisations auront un impact moindre sur la vitesse du site tandis que d’autres actions seront radicales sur un projet donné.

3. Mise en place des préconisations

On peut s’arrêter à l’étape 2, mais je peux aussi mettre en place les préconisations précédemment hiérarchisées. Tout le travail est chiffré en amont : tout est limpide sur le temps et le budget nécessaires pour la mise en place.

4. Bilan des optimisations

J’effectue un retour complet sur le travail effectué sur PrestaShop avec un comparatif avant / après généralement avec GTmetrix. Vous vendez de plus en plus !

Je suis déjà intervenu sur de nombreux projets pour améliorer les performances, voici des exemples :

 

Si vous n’avez pas le temps ou les compétences pour optimiser votre boutique PrestaShop, je peux m’en charger !

 

Conclusion

Vous pouvez améliorer les performances de PrestaShop via de nombreux leviers dont certains sont évoqués dans cet article. Ceci étant, il est conseillé d’optimiser au cas par cas pour éviter de dépenser du temps sur des points futiles sur certains sites web.

Cet article devrait en aider plus d’un, je l’espère, pour réduire le temps de chargement de PrestaShop. Je vous invite également à poster vos commentaires, questions, avis et autres astuces pour constituer une bonne base de travail ?

A bientôt !

 

 

Procédure de migration PrestaShop de Local>Serveur

La migration d’un Prestashop est une étape essentielle à la fois pour mettre en ligne son site, mais également pour le rapatrier vers un ordinateur ou un autre serveur. Il est donc important de réaliser ce genre de manipulations, entre autres pour tester une mise à jour avant de l’effectuer en production.

Prestashop est très malléable pour les migrations, cela se déroule en six étapes très simples, les deux premières devant impérativement être effectuées systématiquement avant de faire quoi que ce soit en production.

Votre hébergeur vous fournira systématiquement les codes d’accès relatifs à une mise en ligne.

1. Sauvegarde de la base de données

Tout comme WordPress, vous pouvez récupérer la base de données sur votre ordinateur en saisissant l’URL locale (en règle générale, 127.0.0.1 fonctionne très bien).

Selon votre ordinateur, vous aurez une page de présentation de votre logiciel (MAMP pour Mac, WAMP pour Windows, XAMPP pour Linux)

Rendons-nous dans PhpMyAdmin, pour récupérer notre base de données.

Cliquez dans le menu sur “Base de données” et cliquez ensuite sur le nom de votre base de données. Ou alors vous pouvez directement cliquer sur son nom dans la barre latérale à gauche de l’interface.

Voici donc le cœur de votre site. Tout ce que vous enregistrez (hors médias) se trouve ici. Cliquez à présent dans le menu sur “Exporter”. Voici deux réglages tout simples qui pourront vous être utiles. Choisissez un export personnalisé.

Vérifiez bien que toutes les tables soient bien sélectionnées ! En-dessous de ce champ, pensez à compresser votre base de données :

Et enfin, tout en bas de la page, cliquez sur “Exécuter”

Votre base de données se télécharge, prête à être réexpédiée où vous le souhaitez.

 

2. Sauvegarde des fichiers

La méthode la plus simple : sur votre ordinateur ils se trouvent dans /htdocs sur MAMP, /www sur WAMP., etc. Nous allons mettre en ligne ces fichiers. Conservez bien vos fichiers sur votre ordinateur ceci dit, il faut toujours multiplier les précautions.

Supposons donc que vous disposez de tous les accès, passons à présent à la migration.

 

3. Envoi des fichiers sur serveur distant

Grâce au logiciel FileZilla (mais il en existe bien d’autres), vous allez pouvoir glisser-déposer vos fichiers.

4. Edition du fichier settings.inc.php

Dans le dossier /config de votre Prestashop, éditez le fichier settings.inc.php pour renseigner les informations de connexion à votre base de données :

Puis enregistrez la modification.

Si vous êtes sur Prestashop 1.7, les données de configuration ont changé et se trouvent désormais dans  /app/config/parameters.yml. Rien ne change particulièrement dans la procédure sinon.

 

5. Import de la base de données

Dans le PhpMyAdmin qu’a mis en place votre hébergeur, vous allez pour finir importer votre base de données. Tout comme dans le menu se trouvait un bouton “Exporter”, vous allez à présent cliquer sur “Importer”

Dans le cadre d’erreur d’import, essayez d’exporter à nouveau votre base de données mais sans la compresser cette fois-ci. Les formats de compression peuvent poser parfois des soucis entre les versions de PhpMyAdmin, MAMP, WAMP, etc.

Votre import est à présent terminé !

Voyons le site à présent, il va falloir corriger l’adresse de la boutique.

 

6. Modification des liens

Rendez-vous directement dans votre base de données à la ligne ps_shop_url, ou via l’administration (plus long à réaliser).

Modifions directement l’adresse :


Rendez-vous à présent sur votre site :

Migration terminée ! Admirez au passage l’intelligence de Prestashop qui ne réalise pas de liens en “dur”, ce qui permet de migrer très facilement des sites

Vous avez du mal à mettre à jour Prestashop, ou à le mettre en ligne ? Demandez-nous depuis notre formulaire de contact !

 

 

GRATUIT : Template des emails PrestaShop 1.5

Je vous propose une nouvelle mise en page plus minimaliste pour les mails. Le fichier comprend la version anglaise et française. Vous pouvez télécharger les templates gratuitement.

Cette astuce Prestashop est valable pour la version 1.6 et 1.5

1. Exemple de mails

A noter :

  • Il est possible de modifier le contenu des mails. Pour cela il faut aller dans Localisation > Traductions. Dans Type de Traductions > Traductions des modèles d’emails.  Puis choisir le thème et la langue.

 

  • Pour insérer votre logo sur votre template. Il faut aller dans Préférences > Thèmes et choisir l’onglet « Logos pour les factures et les emails ».

Instruction :

  • Télécharger le zip
  • Décompresser le zip

2 possibilités :

  1. vous remplacez le dossier mails qui se situe  à la racine de votre site par le nouveau.
  2. Vous placez le dossier dans themes>votretheme (le dossier mails ne sera pas modifié en cas d’update de PrestaShop.)
  • Il vous sera peut-être nécessaire de vider le cache de Prestashop (Paramètres Avancés > Performances > En Haut à Droite « Videz le cache »)

Attention au cas où, n’oubliez pas de faire une sauvegarde de vos fichiers.

 

Pour télécharger le template : cliquez-ici

 

 

error: Site protégé contre les copieurs !!