Le blog de fuzyConceptWeb

Ce blog vous propose quelques articles sur les techniques du web, ainsi que des informations à caractère général. Leur lecture peut vous apporter un complément d'informations si vous possédez déjà un site web ou si vous avez un projet.

Prestashop, déconnexion client impossible...

prestashop logo

"Mes clients ne peuvent pas se déconnecter de leur compte après leurs achats sur ma boutique en ligne !..."

Voilà un sujet récurrent et pour lequel on ne trouve pas facilement une réponse claire et précise. C'est la raison pour laquelle j'ai écrit cet article en espérant qu'il sera utile au plus grand nombre.


Sous Prestashop lorsqu'un client créé un compte pour effectuer un achat, ou lorsqu'il possède déjà un compte et qu'il a terminé ses achats, il semble logique qu'il puisse se déconnecter ne serait-ce que pour des raisons de sécurité.

Certains clients pourraient penser que s'ils ne peuvent pas se déconnecter de la boutique en ligne leurs identifiants pourraient être piratés ou tomber entre de mauvaises mains.

Cette réaction est parfaitement compréhensible et ce défaut pourrait constituer une mauvaise publicité pour votre boutique en ligne et vous risquez de ne jamais voir revenir vos clients.


Que se passe-t-il dans les faits ?

Lorsqu'un client se connecte pour effectuer des achats, il y a deux cas de figure :

1- Il possède déjà un compte et va utiliser ses identifiants pour se connecter

2- Il ne possède pas de compte et va en créer un.

Dans les deux cas, une fois connecté, il fait ses achats, paie, et se déconnecte. En principe, la déconnexion se passe bien sauf dans un cas précis :

- Si le client a déjà un compte et qu'il s'est connecté sur votre boutique en ligne alors que ses cookies d'identification n'ont pas été effacés. La durée de vie des cookies (backend et frontend) sont paramétrables dans l'administration de la boutique, elles sont fixées par défaut à 480 heures, soit 20 jours.

Si le client qui possède déjà un compte revient sur votre boutique dans cette période de 20 jours, ses identifiants sont toujours en cache dans le navigateur, et lorsqu'il voudra se déconnecter cela ne fonctionnera pas !

Pourquoi ? 

Lorsque que l'on clique sur "Déconnexion", le lien  (lien qui appelle la méthode php mylogout()) est mis en cache pour une raison que j'ignore, et c'est cette mise en cache qui provoque ce dysfonctionnement !...

Vous pouvez le vérifier très facilement :

Lorsque le problème se produit sur votre boutique, ouvrez la console debug du navigateur (ici c'est Chrome) dans la section Network, cochez la case "Disable cache", de cette façon, vous désactivez tout le cache du navigateur.

 

 

prestashop 1

Cliquez à nouveau sur "Déconnexion" et là, miracle !!!

 

Si vous êtes l'administrateur d'une boutique en ligne vous constaterez que le client sera automatiquement déconnecté lorsque les cookies spécifiques au compte client seront automatiquement effacés par le navigateur en fonction de la durée de vie qui leur a été définie.

Ce paramètre qui, par défaut a la valeur 480 heures (soit 20jours) peut se modifier dans l'administration de la boutique. Cela signifie que le client qui s'est connecté, chaque fois qu'il reviendra sur votre site pendant 20 jours se verra connecté. Passé cette période, le cookie client sera automatiquement effacé et le client déconnecté.

L'autre moyen pour le client de se déconnecter est de vider le cache du navigateur, ou d'effacer les cookies à la main !

Vous imaginez demander au client - sous forme d'un popup ou autre - de faire cette manipulation pour se déconnecter et ainsi le rassurer ? Ca n'est pas très sérieux, n'est ce pas ?!

 

Sécurisez votre site web avec Let’s Encrypt.
Google My Business, modifiez la photo "extérieur"

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies.

En savoir plus...

J'accepte

Un cookie est un fichier de petite taille, qui est stocké sur votre ordinateur lorsque vous visitez un site web.

Il ne permet pas l’identification de l’utilisateur, mais il enregistre des informations relatives à la navigation d’un ordinateur sur un site. Les données ainsi obtenues visent à faciliter la navigation ultérieure sur le site, et ont également vocation à permettre diverses mesures de fréquentation.

http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/