Sécurité SSL / HTTPS pour Prestashop

Mettre le HTTPS / SSL sur des vieux Prestashop

Si vous n’avez pas trop suivi l’actualité e-commerce, sachez qu’actuellement si vous n’avez pas le petit cadenas HTTPS sur votre site, il se pourrait bien que vous perdiez des commandes.

Baisse des ventes

Est-ce que vous avez remarqué une baisse de vos ventes depuis le début de l’année ? Si oui pensez à vérifier que vous avez bien le HTTPS sur votre boutique Prestashop. Pourquoi ? Parce que les navigateurs, alertent vos clients et ceux-ci quittent la page.

Du coup, j’ai des demandes de marchands qui veulent que je mette du HTTPS sur des vieilles boutiques Prestashop, ex. avec les versions 1.4… car ils n’ont pas le temps d’attendre une refonte de leur boutique pour basculer sur le mode HTTPS.

Seulement le problème… c’est que Prestashop 1.4 c’est quand même vieux et que même si à l’époque ils avaient déjà mis l’option pour l’activation du SSL… il y’a des chances pour que ça ne fonctionne pas du premier coup chez vous et que le début de la galère commence.

SSL Prestashop 1.4
L’option est là, mais fonctionne rarement… en tout cas dans les cas clients que j’ai traité à chaque fois j’ai eu des problèmes.

Le HTTPS / SSL sur Prestashop 1.4

A chaque fois qu’un client me demande de mettre le SSL sur une vieille boutique Prestashop, j’ai envie de soupirer car je vois déjà les problèmes survenir à l’horizon, mais bon il faut bien leur trouver une solution.

Du coup j’ai essayé de définir quelques règles pour faire fonctionner le SSL sous Prestashop 1.4, certes ça reste brouillon et c’est jamais exactement la même chose d’une boutique e-commerce à l’autre mais voici en résumé le processus.

  • Il faut toujours faire une copie du site et travailler sur une copie du shop, parce que parfois c’est tellement hardu… que si vous le faites sur l’environnement de production, peut-être que vous n’arrivez pas à trouver une solution immédiate.
  • Désactivez tous les caches de Prestashop.
  • Exportez la base de données et faites un remplacement massif, comme montré dans ce tutoriel pour l’intégration du HTTPS / SSL.
  • Laissez désactivé l’option SSL dans le back-office Prestashop.
  • Dans le back-office sous « Préférences -> SEO & URLS » enlevez le préfixe « www » si celui-ci est présent sous la rubrique domaine. Cela semble en principe mieux fonctionner sans le « www », ne me demandez pas pourquoi…
  • Dans cette même page désactivez aussi l’option « 

Bon à cette étape on dira que le plus facile est fait… ensuite il faut :

Modifier le fichier .htaccess à la racine pour forcer l’url en SSL pour cela on peut ajouter quelques règles comme :

# Webbax forcer le SSL
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://monsite.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.monsite\.com [NC]
RewriteRule ^(.*)$ https://monsite.com/$1 [L,R=301]

Et enfin, il va falloir bidouiller quelques fichiers de classes de Prestashop, ici par exemple j’ai retouché les fichiers « FrontController.php » et « Tools.php », mais dans certains cas, il peut y avoir la nécessité de retoucher aussi « Link.php ». Quel est le but ? En fait on va forcer les comportements en « https » par défaut au lieu de « http » afin que tous les liens générés par le site débutent par « https ».

C’est vrai que dit comme ça, cela semble un peu du chinois… mais je vais vous mettre à disposition mes fichiers d’exemple qui pourront peut-être vous servir de base d’inspiration.

Télécharger

Ici dans le fichier FrontController.php de Prestashop, je commente les lignes avec mention http et je force avec le https à la place.
Toutes ces corrections ont été appliquées pour corriger le problème « ERR_TOO_MANY_REDIRECTS » qui survient lors de l’activation du SSL sous certaines versions de Prestashop. A l’heure actuelle je n’ai pas trouvé une manière 100% propre pour corriger le problème lorsque l’option SSL en back-office ne fonctionne pas correctement.

Bilan

C’est dans ce genre de moment qu’on se rend compte que lorsqu’une boutique e-commerce n’est plus à jour… que l’on est assez vite coincé. Même au niveau des ressources, on trouve moins d’informations sur les bugs, on doit tourner en rond… remonter sur des billets de 6/7 ans en arrière pour trouver des bribes d’informations.

Si vous avez déjà fait l’expérience de greffer du HTTPS sur des vieilles boutiques Prestashop, pensez à faire un retour d’expérience dans les commentaires. Si vous n’avez pas encore le HTTPS, pensez à mettre cela au programme durant l’année 2017 !

Notez mon billet, Google va adorer :
1 étoiles - J'aime pas !2 étoiles - Bof !3 étoiles - Bien !4 étoiles - Très bien !5 étoiles - Génial ! (4 votes, moyenne : 5,00 sur 5)
Loading...

13 commentaires sur “Mettre le HTTPS / SSL sur des vieux Prestashop”

    1. Bonjour,

      Bonne nouvelle si cela a fonctionné sans retoucher le « .htaccess ». Oui il y’a des variantes selon les configurations ce n’est pas toujours une science exacte.

      A bientôt !

  1. Cher ami, un énorme merci pour ton billet.
    Vu que Paypal réclame du SSL / TLS avant le 30 juin 2018;
    Nous avons été pris de panique pour un client ayant un Prestashop 1.4.. Qui date de 2011. Et en effet rien ne fonctionnait au niveau SSL. Encore merci, problème solutionné en 1 heure à peine. THANKS A LOT:)

    1. Bonjour,

      Merci pour le retour positif, actuellement de mon côté je ne fais plus de migration HTTPS / SSL sur des Prestashop 1.4, car cela implique trop de contraintes (+patch incertains). C’est le top si cela a fonctionné pour votre client.

      A bientôt !

  2. Bonjour,
    Je n’ai pas réussi 🙁 pouvez vous m’aider svp?
    J’ai bien suivi à la lettre sur vos écris mais rien à faire
    Sans activer « ssl » dans back office ça me fait : ERR_TOO_MANY_REDIRECTS
    Quand « ssl » activé j’ai bien le cadenas sécurisé mais tous les configues et présentations de mon site sont complètement dérègler et rien ne fonctionnent
    pouvez vous m’aider svp
    Merci par avance
    khundo

      1. Bonjour,
        Merci beaucoup pour lien sur erreurs frequentes…
        Problème résolu pour moi sur ps 1.4.11 chez 1&1 avec www. et sans www.
        A noter (chez 1&1 & ps1.4.11) avec « option cloud, CDN » provoque complètement Erreur many avec https//www.
        mais fonctionne correctement avec https://sans www. par contre si vous avez le malheur d’avoir les anciens liens enregistrés en www dans le moteur de google ne seront pas redirigés correctement..

        Pour que cela fonctionne correctement, (chez 1&1 pour mon cas)
        il faut désactiver l’option « Cloud, CDN » et dans SEO votre site en www ou sans
        Vérifier et transformer aussi dans css tous les liens htpp en https…
        Et par miracle tout fonctionne pour mon cas en www et sans www. ainsi tous les anciens liens en htpp dans le moteur google redirige directement en https (sans rajouter redirection dans htaccess)
        Voilà cela pourrait peut-être aider certains, même avec versions prestashop supérieurs 1.5, 1.6 ou 1.7

        Cordialement
        Khundo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *