Jump to content

[Tuto] Tutoriel Pour Importer Les Clients Avec Mots De Passes Fonctionnels


Recommended Posts

EDIT du post d'origine : Je mets les 2 tutoriels en début de post, afin que vous n'ayez pas à chercher sur le fil. C'est plus rapide :) (du coup bien sur les conversations de début sont obsolètes lol)

 

allez c'est parti :

 

Alors grace au renseignement de Oron, j'ai réussi a faire une procédure pour importer non seulement les clients mais aussi pour valider tous les mots de passe de maniere FONCTIONNELLE ! Mais oui !

 

Attention, c'est une procedure pas commune mais qui fonctionne a 100% !

 

Comme toute modif de ce style, faire une sauvegarde préalable de la base de données, (allez, on est jamais trop prudent, faire en plus une sauvegarde totale du site), en cas de fausse manip.

 

TUTORIEL 1 :

 

1 / Tout d'abord il faut se loguer sur son backoffice du nouveau site, et se mettre dans la gestion des employes. Impératif de se mettre ici, car le codage du mot de passe de l'admin va être changé, il faut donc se préparer a le remettre en étant déja logué. une fois logué et la page au bon endroit, on la laisse en attente, car on va y revenir. Ne pas refermer cette fenetre !

 

2 / Ensuite, avec un gestionnaire de fichier, il faut aller dans l'ancien site et ouvrir le fichier config/settings.inc.php

Noter les codes de COOKIE_KEY, a la ligne 13, de COOKIE_IV à la ligne 14, de RIJNDAEL_KEY à la ligne 17, et _RIJNDAEL_IV à la ligne 18.

Aller avec le gestionnaire de fichier dans le nouveau site et ouvrir le même fichier config/settings.inc.php et recopier tous les codes des lignes données ci dessus, il faut donc ecraser les valeurs déja marquées.

 

3 / Immediatement après, reprendre sa fenetre ou le backoffice est en attente sur la page des employes et faire un changement du mot de passe de l'admin (meme si on remet le meme, c'est juste pour réencoder le mot de passe avec la clé de l'ancien site). valider.

 

4 / Après, faire l'importation du CSV des clients (préalablement créé avec la requette SQL du début du post)

 

5 / Avec un gestionnaire de base de donnée (phpmyadim ou navicat), ouvrir l'ancienne base de données de l'ancien site, aller a la table customer (ps_customer par défaut). Faire un copier de toute la colonne 'passwd', puis avec ce même gestionnaire, ouvrir la base de donnée du nouveau site, et ouvrir la même table. Coller toute la colonne passwd et remplacez les valeurs déja existantes).

 

6/ Faire de même avec la colonne secure_key

 

Refermez tout.

 

Les client sont réimportés et les mots de passes fonctionnels. L'admin est fonctionnel car son mot de passe est encodé de mnière identiques aux fichiers client importé.

 

Enjoy !

 

-------------------------------------------------------------------------

 

TUTORIEL 2 (au cas ou le tuto 1 ne suffirait pas = Impossible de ne pas fonctionner avec celui la):

 

Ce tuto est pour les personnes qui se retrouveraient avec une importations avec des clients qui seraient manquants (notamment en passant dela version 1.4 à la 1.5) et donc avec des lignes melangées.. Mais attention, la on va directement dans le cambouis. Toutefois, cela resout absoluement toute erreur possible et importe les données vraiment comme il faut..

 

REQUETE SQL (modifiée) A LANCER SUR PHPMYADMIN DE L'ANCIEN SITE :

 

SELECT

ps_customer.id_customer,

ps_customer.active,

ps_customer.id_gender,

ps_customer.email,

ps_customer.passwd,

ps_customer.birthday,

ps_customer.lastname,

ps_customer.firstname,

ps_customer.newsletter,

ps_customer.secure_key,

ps_customer.optin

FROM

ps_customer

 

 

 

Le début reste le même, la fin va changer..

1 / Tout d'abord il faut se loguer sur son backoffice du nouveau site, et se mettre dans la gestion des employes. Impératif de se mettre ici, car le codage du mot de passe de l'admin va être changé, il faut donc se préparer a le remettre en étant déja logué. une fois logué et la page au bon endroit, on la laisse en attente, car on va y revenir. Ne pas refermer cette fenetre !

 

2 / Ensuite, avec un gestionnaire de fichier, il faut aller dans l'ancien site et ouvrir le fichier config/settings.inc.php

Noter les codes de COOKIE_KEY, a la ligne 13, de COOKIE_IV à la ligne 14, de RIJNDAEL_KEY à la ligne 17, et _RIJNDAEL_IV à la ligne 18.

Aller avec le gestionnaire de fichier dans le nouveau site et ouvrir le même fichier config/settings.inc.php et recopier tous les codes des lignes données ci dessus, il faut donc ecraser les valeurs déja marquées.

 

3 / Immediatement après, reprendre sa fenetre ou le backoffice est en attente sur la page des employes et faire un changement du mot de passe de l'admin (meme si on remet le meme, c'est juste pour réencoder le mot de passe avec la clé de l'ancien site). valider.

 

4 / Après, faire l'importation du CSV des clients (préalablement créé avec la requette SQL du début du post), mais dans la colonne prévue pour le secure_key, mettre "ignorer" (car l'importation ne le connait pas). en gros, verifier que toutes les colonnes sont ok, et que me secure_key est ignoré. Lancer l'importation.

 

5 / Avec Excel, ouvrir le fichier CSV géneré precedemment. Avec phpmyadmin, ou navicat (conseillé) allez dans la base de données du NOUVEAU site et ouvrez la table ps_customer. Ensuite faites un copier collé de chaque colonne complète du CSV dans les colonnes correspondantes de la base de données, en n'oubliant pas cette fois ci d'ecraser la colonne secure_key, avec celle de la csv. Refermez tout.

 

Les client sont réimportés et les mots de passes fonctionnels.

 

Cette procedure est très lourde, très contraignante, mais au moins elle fonctionne. Je l'ai faite 2 fois, de A a Z pour être sure.

 

n'hesitez pas a demander si qque chose vous pose problème.

======================================================

======================================================

 

Et voila, à partir d'ici on reprend maintenant le fil tel qu'il était à l'origine, si vous voulez comprendre comment tout cela s'est passé :) : ==>

 

 

 

 

Post d'origine :

-------------------------------------------------------------------------------------

 

J'ai fait ma requete SQL suivante pour exporter ma base client sur Presta 1.4 pour la réimporter ensuite sur presta 1.5. Elle fonctionne mais me pose un problème de mot de passe.

 

la voici :

 

SELECT

ps_customer.id_customer,

ps_customer.active,

ps_customer.id_gender,

ps_customer.email,

ps_customer.passwd,

ps_customer.birthday,

ps_customer.lastname,

ps_customer.firstname,

ps_customer.newsletter,

ps_customer.optin

FROM

ps_customer

 

Une requete toute simple en sommes. L'exportation est paramétrée avec séparateur en " ; ", et elle se fait impeccable avec mon 1.4.

Lorsque je réimporte sous 1.5, j'ai bien tous mes clients qui apparaissent, mais malheureusement aucun mot de passe ne fonctionne, tous les clients doivent faire une demande de reinitialisation du mdp par mail.. ca craint.. (j'ai essayé en creant 3 clients sous 1.4 et en les retestant sous 1.5 et le mot de passe me marque que ce n'est pas le bon).

 

Du coup l'importation ne me convient pas puisque je voudrais que mes clients n'aient aucune manip a faire, vous le comprenez bien.

 

Quelqu'un pour m'aider a completer cette requete SQL, j'ai oublié une ou des lignes ?

 

Ou alors , ce que je ne sais pas, c'est y at'il une procedure spéciale pour réimporter (si la base n'est pas la meme, peut etre que de 1.4 a 1.5 ce n'est pas possible ? si ?)

Edited by Jean Francois G (see edit history)
  • Like 2
Link to comment
Share on other sites

Ce qui est etonnant c'est que je ne dois pas être le seul a vouloir réimporter mes clients, et si donc je n'ai vu aucun topic a ce propos, c'est que d'autres ont sans doute réussis. Et pourtant pour l'instant personne n'a amené de solution.. Je ne comprends pas.

 

Le soucis c'est que je ne peux pas mettre en production mon nouveau site tant que le fichier client de l'ancien presta n'a pas été importé de manière correcte dans le nouveau..

 

La galère..

 

Je vais peut etre essyayé en renommant le topic pour que ce soit plus clair

Edited by Jean Francois G (see edit history)
Link to comment
Share on other sites

Bonjour

 

Les mots de passe sont crypter et se base sur le cookies_key qui se trouvent dans le fichier /config/settings.inc.php

donc si vous avez fait une installation propre de la 1.5 et importer les tables le cookies_key ne correspond plus.

 

Cela arrive aussi quand on migre d'un hébergement vers un autre hébergements.

 

Ce que vous pouvez faire si vous ne souhaitez pas que le client arrive sur votre site et n'arrive pas à se loguer.

 

1° informer tous les clients du changement

2° Au lieu d'attendre que le client fasse la demande du mots de passe, vous la faites a la place du client, il suffit juste d'entre l'e-mail.

 

Ok c'est du travail selon le nombre de client à moins qu'il existe un module qui envois un mot de passe aux clients, idées à creuser !

Edited by Oron (see edit history)
Link to comment
Share on other sites

C'est en effet ce qu'il m'est arrivé lors de la ré-installation de ma boutique suite à une mauvaise manip qui m'avait fait bugger ma boutique. Tous mes mots de passe (client et admin) avaient été perdus.

Ma solution : informer les clients par newsletter et par message sur la page d'accueil de la situation et du mode d'emploi pour demander un nouveau MDP

Link to comment
Share on other sites

Arors grace au renseignement de Oron, j'ai réussi a faire une procédure pour restaurer non seulement les clients mais aussi de valider tous les mots de passe de maniere FONCTIONNELLE ! Mais oui !

 

Attention, c'est une procedure pas commune mais qui fonctionne a 100% !

 

Comme toute modif de ce style, faire une sauvegarde préalable de la base de données, (allez, on est jamais trop prudent, faire en plus une sauvegarde totale du site), en cas de fausse manip.

 

TUTORIEL :

 

1 / Tout d'abord il faut se loguer sur son backoffice du nouveau site, et se mettre dans la gestion des employes. Impératif de se mettre ici, car le codage du mot de passe de l'admin va être changé, il faut donc se préparer a le remettre en étant déja logué. une fois logué et la page au bon endroit, on la laisse en attente, car on va y revenir. Ne pas refermer cette fenetre !

 

2 / Ensuite, avec un gestionnaire de fichier, il faut aller dans l'ancien site et ouvrir le fichier config/settings.inc.php

Noter les codes de COOKIE_KEY, a la ligne 13, de COOKIE_IV à la ligne 14, de RIJNDAEL_KEY à la ligne 17, et _RIJNDAEL_IV à la ligne 18.

Aller avec le gestionnaire de fichier dans le nouveau site et ouvrir le même fichier config/settings.inc.php et recopier tous les codes des lignes données ci dessus, il faut donc ecraser les valeurs déja marquées.

 

3 / Immediatement après, reprendre sa fenetre ou le backoffice est en attente sur la page des employes et faire un changement du mot de passe de l'admin (meme si on remet le meme, c'est juste pour réencoder le mot de passe avec la clé de l'ancien site). valider.

 

4 / Après, faire l'importation du CSV des clients (préalablement créé avec la requette SQL du début du post)

 

5 / Avec un gestionnaire de base de donnée (phpmyadim ou navicat), ouvrir l'ancienne base de données de l'ancien site, aller a la table customer (ps_customer par défaut). Faire un copier de toute la colonne 'passwd', puis avec ce même gestionnaire, ouvrir la base de donnée du nouveau site, et ouvrir la même table. Coller toute la colonne passwd et remplacez les valeurs déja existantes).

 

6/ Faire de même avec la colonne secure_key

 

Refermez tout.

 

Les client sont réimportés et les mots de passes fonctionnels. L'admin est fonctionnel car son mot de passe est encodé de mnière identiques aux fichiers client importé.

 

Enjoy !

 

Je change le titre du post pour aider, au cas ou quelqu'un chercherais la meme chose..

Edited by Jean Francois G (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

IMPORTATION DES CLIENTS AVEC MOTS DE PASSES FONCTIONNELS

 

TUTORIEL 2 (au cas ou le tuto 1 ne suffirait pas = Impossible de ne pas fonctionner avec celui la):

 

Ce tuto est pour les personnes qui se retrouveraient avec une importations avec des clients qui seraient manquants (notamment en passant dela version 1.4 à la 1.5) et donc avec des lignes melangées.. Mais attention, la on va directement dans le cambouis. Toutefois, cela resout absoluement toute erreur possible et importe les données vraiment comme il faut..

 

REQUETE SQL (modifiée) A LANCER SUR PHPMYADMIN DE L'ANCIEN SITE :

 

SELECT

ps_customer.id_customer,

ps_customer.active,

ps_customer.id_gender,

ps_customer.email,

ps_customer.passwd,

ps_customer.birthday,

ps_customer.lastname,

ps_customer.firstname,

ps_customer.newsletter,

ps_customer.secure_key,

ps_customer.optin

FROM

ps_customer

 

 

 

Le début reste le même, la fin va changer..

1 / Tout d'abord il faut se loguer sur son backoffice du nouveau site, et se mettre dans la gestion des employes. Impératif de se mettre ici, car le codage du mot de passe de l'admin va être changé, il faut donc se préparer a le remettre en étant déja logué. une fois logué et la page au bon endroit, on la laisse en attente, car on va y revenir. Ne pas refermer cette fenetre !

 

2 / Ensuite, avec un gestionnaire de fichier, il faut aller dans l'ancien site et ouvrir le fichier config/settings.inc.php

Noter les codes de COOKIE_KEY, a la ligne 13, de COOKIE_IV à la ligne 14, de RIJNDAEL_KEY à la ligne 17, et _RIJNDAEL_IV à la ligne 18.

Aller avec le gestionnaire de fichier dans le nouveau site et ouvrir le même fichier config/settings.inc.php et recopier tous les codes des lignes données ci dessus, il faut donc ecraser les valeurs déja marquées.

 

3 / Immediatement après, reprendre sa fenetre ou le backoffice est en attente sur la page des employes et faire un changement du mot de passe de l'admin (meme si on remet le meme, c'est juste pour réencoder le mot de passe avec la clé de l'ancien site). valider.

 

4 / Après, faire l'importation du CSV des clients (préalablement créé avec la requette SQL du début du post), mais dans la colonne prévue pour le secure_key, mettre "ignorer" (car l'importation ne le connait pas). en gros, verifier que toutes les colonnes sont ok, et que me secure_key est ignoré. Lancer l'importation.

 

5 / Avec Excel, ouvrir le fichier CSV géneré precedemment. Avec phpmyadmin, ou navicat (conseillé) allez dans la base de données du NOUVEAU site et ouvrez la table ps_customer. Ensuite faites un copier collé de chaque colonne complète du CSV dans les colonnes correspondantes de la base de données, en n'oubliant pas cette fois ci d'ecraser la colonne secure_key, avec celle de la csv. Refermez tout.

 

Les client sont réimportés et les mots de passes fonctionnels.

 

Cette procedure est très lourde, très contraignante, mais au moins elle fonctionne. Je l'ai faite 2 fois, de A a Z pour être sure.

 

n'hesitez pas a demander si qque chose vous pose problème.

Link to comment
Share on other sites

Bonsoir,

@ Jean François G, merci pour le tuto.

Je connais ce procédé depuis des lustres.

 

Je le connais car voici comment moi je mets à jour pour éviter les erreurs.

- Site vierge

- FTP fichier config/settings.inc.php et img/p et img/c

- copie des lignes des tables de la base de données (ancien et nouveau site).

 

Je récupère mon site intégral et le mot de passe crypté de mes clients.

 

Pour la 1.5, j'ai récupéré en boutique unique les clients de 2 autres de mes sites, j'ai eu juste à changer les ID.

J'ai même pu récupérer leur commande et cela uniquement en travaillant avec les bases de données.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

J'ai bien suivi votre tuto, mais par contre je n'arrive pas à récupérer mon log SuperAdmin.

J'ai pourtant changé les valeurs dans le fichier de config PHP puis changé mon mot de passe mais une fois que je valide je suis rooté vers la page de connexion et impossible pour moi de me re-connecter :/

Si je veux récupérer mon log superAdmin, je dois récupérer le mot de passe crypté dans la BDD de l'ancien site et le mettre dans la BDD du nouveau.

Suite à cela, quand j'importe mes clients, j'arrive à me loguer en tant que client sur le nouveau site mais je n'ai plus que mon logo du header et tout le reste du site est masqué :/

 

Un peu d'aide?

Edited by JohanBek (see edit history)
Link to comment
Share on other sites

Avez vous bien fait la manoeuvre de mettre AVANT TOUTE MODIF une fenetre en attente sur la page de changement de mot de passe de l'admin, puis une fois les cookies key modifiés lancer la procedure de changement de mot de passe de l'admin SANS REFERMER LA FENETRE AVANT afin de le réactiver ?

Sans cette petite manip, vous perdez votre mot de passe admin.

Pour ce qui est de la page blanche, vu que l'on ne touche qu'aux codes de mot de passe et a la BDD des clients, rien ne doit empecher la page de s'afficher..

Peut être un module pas compatible ? En 1.5 c'est plutot le symptome..

Edited by Jean Francois G (see edit history)
Link to comment
Share on other sites

Oui pourtant je laisse ma page d'administration en attente, je modifie les values dans le fichier php, je rentre mon "nouveau" mot de passe, j'enregistre et là je suis rédigé vers la page de log et je n'arrive plus à me logguer. Pour que le log fonctionne je dois recuperer un mot de passe identique dans la bdd de l'ancien site et le modifier dans là bdd du nouveau, j'ai l'impression que le mdp n'est pas réencoder quand j'essaie d'enregistrer mon mot de passe depuis l'admin. Au pire je fais cette manip en supplément.

Pour mon problème de page blanche c'est résolu.

 

Merci!

Link to comment
Share on other sites

  • 1 month later...

Bonjour et bonne année à tous je viens de suivre cette technique, cela fonctionne chez moi mais en partie seulement :( une fois que je suis connecté avec un ancien compte uniquement le haut de mon site se charge, comment est-ce possible et à quoi ce là est dù?

 

merci

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Alors j'ai utilisé cette technique pour importer mes clients d'une boutique PS 1.3 vers une boutique en 1.5.

J'ai rencontré quelques soucis quand j'ai changé la clé, j'ai du faire une modif dans la page d'authentification de l'admin pour pouvoir me connecter sans mdp et donc pouvoir regénérer celui-ci avec la nouvelle valeur key.

 

Donc mes clients sont bien importés, mais lorsque je suis sur mon front office et que je me connecte avec un compte utilisateur (et le mdp de ps1.3) j'ai une page blanche... avec juste mon logo et un bout de pied de page....

 

Edit: Et quand je suis l'admin et que j'essaye de modifier un profil ça ne fonctionne pas.. de meme, si je me connecte avec mon compte client, je ne peux accéder à la modification de mon profil...

 

est-ce que quelqu'un a une idée?

 

Merci d'avance!

 

Edit2: Alors les fonctionnalités de mise à jour des clients importés ne fonctionnaient pas, ni depuis le back office ni depuis le front office, en fait j'ai du mettre une valeur dans la table ps_customer pour les champs date_upd et date_add. Maintenant c'est fonctionnel!

 

Pour ceux que ça peut aider, pour la connexion à l'admin sans mdp, j'ai modifié le code du fichier AdminLoginController.php de la manière suivante:

if (empty($passwd))
  $this->errors[] = Tools::displayError('Password is blank');
  elseif (!Validate::isPasswd($passwd))
  $this->errors[] = Tools::displayError('Invalid password');

if (!count($this->errors))
{
// Find employee
$this->context->employee = new Employee();
$is_employee_loaded = $this->context->employee->getByemail($email, $passwd);
$employee_associated_shop = $this->context->employee->getAssociatedShops();

 

en

 

 

//if (empty($passwd))
// $this->errors[] = Tools::displayError('Password is blank');
//elseif (!Validate::isPasswd($passwd))
// $this->errors[] = Tools::displayError('Invalid password');

if (!count($this->errors))
{
// Find employee
$this->context->employee = new Employee();
//$is_employee_loaded = $this->context->employee->getByemail($email, $passwd);
$is_employee_loaded = $this->context->employee->getByemail($email);
$employee_associated_shop = $this->context->employee->getAssociatedShops();

et hop plus besoin de mdp pr se connecter à l'admin.

Edited by cedrickb (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Sauf erreur de ma part j'ai bien peur que la migration des mots de passes avec cette méthode d'une version 1.3 à une version 1.5 ne soit impossible.

 

Ceci pour un simple raison que _RIJNDAEL_KEY_ et _RIJNDAEL_IV_ n'existent pas encore dans la version 1.3.7 (c'est la version que j’essaie de migrer).

 

J'ai bien peur que pour les version 1.3 au moins jusqu’à la v1.3.7 nous ne soyons obligé de trouver une autre méthode.

 

Cependant si l'un d’entre-vous à une solution je suis preneur.

Edited by besky (see edit history)
Link to comment
Share on other sites

J'ai eu à migrer une boutique 1.3.5 vers 1.5.

J'ai pour cela utilisé le module "Mise à jour automatique" de Samdha pour migrer d'abord en 1.4.9 puis en 1.5.1. Une fois la migration effectuée, j'ai pu récupérer toute ma base client avec la technique ci-dessus

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour ,

 

je cherche a faire la même chose de la version 1.4.6.2 a la version 1.4.9.0. Mais au niveau de la partie "changement du mot de pass admin" des que je valide, Je me retrouve sur la page de log de l'admin. Comme si le Système avais détecter remplacement du fichier.

 

Pour info chez moi les codes à remplacer se trouve pas aux même ligne indiqué pas le tuto

 

COOKIE_KEY, a la ligne 17, de COOKIE_IV à la ligne 18, de RIJNDAEL_KEY à la ligne 20, et _RIJNDAEL_IV à la ligne 21

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

Bonjour à tous,

 

je me permet de re-up ce post car je rencontre le même problème que cedrickb, en effet après avoir suivi le tuto correctement j'ai bien réussi à importer mes clients mais même avec le bon COOKIE_KEY de mon ancienne boutique je n'arrive pas à acceder à la page "mes informations personnelles", je tombe sur une page d'erreur. Idem lorsque je veux reseter le mot de passe le lien présent dans le mail qui correspond à "security_key" présente dans la table "customer" me renvoie vers la même page d'erreur.

 

Par contre je ne rencontre aucun problème pour me connecter avec mon compte, acceder à mon historique de commande, etc.

 

Avez-vous une solution.

 

Pour info je viens de passer sous un Presta 1.5.4.1 depuis une version 1.4

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Bonsoir,

suite à de nombreux bugs sur mon site du au module yotpo j'ai du dans l'urgence

mettre la version de 1.5.5 j'étais sous 1.5.4

j'ai suivi un tuto qui disait de copier les fichiers : mails, modules éventuels... la base sql...

et ouf j'ai encore des petites modifs à effectuer mais je retrouve mon site, mes clients, leurs commandes...

 

j'ai le même soucis de mot de passe, les clients me contactent car ils n'arrivent pas à se connecter :/

je n'avais lu nul part qu'il fallait faire quelque chose pour les mdp

 

je ne sais pas si je peux encore leur activer les mots de passe

 

ou si je dois leur faire un mail pour les prévenir et mettre un mot sur la page d'accueil comme le précisé un membre

Edited by Noobyprestashop (see edit history)
Link to comment
Share on other sites

SI tu as refais ton magasin de A a Z en réinstallation vierge, puis ensuite juste importé la BD, alors oui les mots de passes ne fonctionnerons pas car le fichier de configuration ne contiendra pas les mêmes clés que celles créées précédemment. Dans ce cas il faut que tu est une sauvegarde de tes anciens fichiers afin de remettre les même clés comme expliqué sur ce tuto.

 

Si tu n'a fais qu'une simple mise à jour, et que tu n'a pas fait de reinstall vierge, alors normalement tes mots de passes sont toujours fonctionnels et il n'y a rien a modifier en plus. Cela dit tu peux toujours suivre le tuto pour voir si cela résout ton problème.

Link to comment
Share on other sites

Merci pour la réponse ;)

 

J'ai fait la première solution :/

 

Encore plein de choses à faire, pour le moment j'ai mis un mot sur le homepage pour les clients ;)

et je regarde si j'ai bien le fichier nécessaire pour tenter la récup des mots de passe en suivant ta méthode ;)

 

Encore trois soucis à part celui ci qui est le plus grave :

-un logo minuscule, plusieurs essais mon log se promène^^

-le module nouveaux produits restent vide même en créant une nouvelle fiche

-impossible d'enlever l'image dans l'éditeur de texte de la page d'acceuil, j'ai fait au plus vite en mettant une mini image mais bon ça me fait un saut de ligne

 

Ce que j'aimerais avoir fait des cours d'informatique ;)

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Bonjour à tous !

 

Voulant contrôler en test ce tuto (merci au posteur !), je tombe moi aussi sur l'impossibilité de valider mon MdP une fois les key changées dans le fichier PHP. Je suis redirigé de suite vers l'admin et mon MdP ne fonctionne pas.

Je ne suis pas inscrit sur l'ancien site et bien sûr je ne peux copier-coller dans ma nouvelle BD un MdP crypté à l'ancienne version.

Je me demandé donc comment sortir de cette impasse ?

 

Merci d'avance.

Link to comment
Share on other sites

Requête SQL pour vous faciliter la vie à exécuter sur l'ancienne base de données pour modifier le passwd et le secure_key

SELECT CONCAT( "update ps2_customer set passwd='", CONCAT( passwd, CONCAT( "', secure_key='", CONCAT( secure_key, CONCAT( "' where id_customer=", CONCAT( id_customer, ";" ) ) ) ) ) ) 
FROM `ps1_customer`

Le résultat sera une liste de requêtes SQL à exécuter sur la nouvelle base de données

Link to comment
Share on other sites

Rebonjour à tous !

 

Je reviens vers vous et je persiste à vous dire que je ne trouve pas la solution de ce toto pour les étapes 2-3 sans laquelle on ne peut aller plus loin. A chaque fois que je veux appliquer l'étape 3, lorsque je saisi le MdP dans mon 1.5.6 et se met de suite sur la page de login de l'administrateur. Puis en rentrant le MdP, cela ne fonctionne pas.

Alors, je suis allé dans la BDD de mon 1.4.4.1, et recherche dans la table ps_employee le passwd et j'ai fait un simple copier-coller dans la BDD au même endroit. Il faut savoir que préalablement, je me suis assuré d'avoir le même MdP sur les deux BDD.

Comme j'avais préalablement changé dans le setting.inc.php, les COOKY_KEY et les COOKEY_IV (je n'ai pas de RIJNDAEL), cela aurait du fonctionner.

Même Key, même employé, même Mdp et cela n'est pas bon !

J'ignore quelque chose ou je n'ai pas compris quelque chose ?

 

Merci de votre réponse.

Edited by IED Factory (see edit history)
Link to comment
Share on other sites

  • 1 month later...

EDIT du post d'origine : Je mets les 2 tutoriels en début de post, afin que vous n'ayez pas à chercher sur le fil. C'est plus rapide :) (du coup bien sur les conversations de début sont obsolètes lol)

 

allez c'est parti :

 

Alors grace au renseignement de Oron, j'ai réussi a faire une procédure pour importer non seulement les clients mais aussi pour valider tous les mots de passe de maniere FONCTIONNELLE ! Mais oui !

 

Attention, c'est une procedure pas commune mais qui fonctionne a 100% !

 

Comme toute modif de ce style, faire une sauvegarde préalable de la base de données, (allez, on est jamais trop prudent, faire en plus une sauvegarde totale du site), en cas de fausse manip.

 

TUTORIEL 1 :

 

1 / Tout d'abord il faut se loguer sur son backoffice du nouveau site, et se mettre dans la gestion des employes. Impératif de se mettre ici, car le codage du mot de passe de l'admin va être changé, il faut donc se préparer a le remettre en étant déja logué. une fois logué et la page au bon endroit, on la laisse en attente, car on va y revenir. Ne pas refermer cette fenetre !

 

2 / Ensuite, avec un gestionnaire de fichier, il faut aller dans l'ancien site et ouvrir le fichier config/settings.inc.php

Noter les codes de COOKIE_KEY, a la ligne 13, de COOKIE_IV à la ligne 14, de RIJNDAEL_KEY à la ligne 17, et _RIJNDAEL_IV à la ligne 18.

Aller avec le gestionnaire de fichier dans le nouveau site et ouvrir le même fichier config/settings.inc.php et recopier tous les codes des lignes données ci dessus, il faut donc ecraser les valeurs déja marquées.

 

3 / Immediatement après, reprendre sa fenetre ou le backoffice est en attente sur la page des employes et faire un changement du mot de passe de l'admin (meme si on remet le meme, c'est juste pour réencoder le mot de passe avec la clé de l'ancien site). valider.

Bonjour,

 

J'applique votre tuto pour les 3 premières étapes, mais j'ai l'impression que sous Prestshop 1.5.6.1 cela ne fonctionne pas.

Après avoir fait le changement du mot de passe de l'admin, j'ai un message d'erreur.

 

Voila comment j'ai procédé:

1) je vais sur la gestion des employés du nouveau site sur la page "Administration separator_breadcrumb.png Employés separator_breadcrumb.png Modifier" .

2) je modifie les codes du fichier de setting.inc.php du nouveau site avec l'ancien site, puis je valide les modifications.

3) je reviens sur gestion des employés du nouveau site, je mets le mot de passe, je valide.

4) je rentre les codes d’accès du back office et là, connexion impossible.

 

Une petite idée de ce qui ne fonctionne pas?

Merci de votre aide.

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

5 / Avec un gestionnaire de base de donnée (phpmyadim ou navicat), ouvrir l'ancienne base de données de l'ancien site, aller a la table customer (ps_customer par défaut). Faire un copier de toute la colonne 'passwd', puis avec ce même gestionnaire, ouvrir la base de donnée du nouveau site, et ouvrir la même table. Coller toute la colonne passwd et remplacez les valeurs déja existantes).

Vous est il possible de m'expliquer comment on fait un copier / coller de toute une colonne avec phpmyadim ?

 

Merci de votre aide.

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

Bonjour à tous, un petit up pour éviter à ceux qui comme moi oublie de lire le topic en entier. Pour résoudre le problème de l'étape 3 du tuto (impossible de modifier le MdP sur le nouveau site en admin), il suffisait de lire en bas de page 1 la réponse de Johanbeck que voici : 

(...) je laisse ma page d'administration en attente, je modifie les values dans le fichier php, je rentre mon "nouveau" mot de passe, j'enregistre et là je suis rédigé vers la page de log et je n'arrive plus à me logguer. Pour que le log fonctionne je dois recuperer un mot de passe identique dans la bdd de l'ancien site et le modifier dans là bdd du nouveau, j'ai l'impression que le mdp n'est pas réencoder quand j'essaie d'enregistrer mon mot de passe depuis l'admin. Au pire je fais cette manip en supplément.(...)

 

Je l'ai appliqué et cela en effet fonctionne et d'aileurs est très logique, puisque on modifie la clé de destination et qu'on importe par un copier/coller dans la BdD le MdP encodé avec cette clef. Les choses les plus évidentes sont parfois tellement simples qu'on ne les trouvent plus ! Merci pour ce post et à ses contributeurs.

Link to comment
Share on other sites

Bonjour de nouveau,

 

Décidément, il est dit que le passage de la 1.4 à 1.5 ne se fera pas sans heurt...

J'ai du refaire une approche différente suite à problème d'import de ma BdD de 1.4.4.1 à 1.5.6.2. et effacer plusieurs import incomplet. je détaille donc.

Dans le gestionnaire d'importation de la 1.5, nous avons une structure de BdD. Suite à mon exportation de la BdD de la 1.4, j'ai ouvert le .csv avec Excel. Renommer les structures en colonne des même nom de la BdD 1.5, fait un "nettoyage" de la colonne titile_ID, car j'avis des 9 (??) renseignés que j'ai changé en 0. Découper mon fichier en plusieurs, car avec plus de 3700 clients, je dépasser la mémoire serveur du cache pour l'import.

Les importations sont bonnes, mais tous les clients ne sont pas importés et je en comprends pas pourquoi ? et le "compteur" des ID clients continue sans se remettre à zéro malgré l'effacement total ! Il doit s'agire pour ce dernier point d'une manip que j'ignore dans cette version qui gère les ID.

Avez-vous des réponses ?

 

Pour info, maa structure de fichier final est donc :

ID Active Titles ID Email Pasword Birthday Lastname Firstname Newsletter

Op-tin

Link to comment
Share on other sites

Bonjour,

Up et complément : je suis en train d'importer mes clients d'une ancienne base 1.4.2. Après plusieurs manipulations pour diverses raisons sans objet ci et annulation des clients importés, je m'aperçois que le ID client s'auto-implémente, sans prendre en compte le ID initial de la table importé. Avez-vous une explication, car il n'y a pas de table AUTO_INCREMENT dans le ps_customers que je pourrais réinitialiser ?

Merci d'avance.

Link to comment
Share on other sites

Bonjour, 

 

Je rejoins le topic depuis http://www.prestashop.com/forums/topic/282937-resolu-erreur-%C3%A0-la-confirmation-de-commande-dans-le-bo/?do=findComment&comment=1603148

 

Pour ma part l'ancienne base n'était pas sur PS (v.1.4.8) mais sur un CMS proprio. Donc à l'import j'ai régénéré la secure_key.

 

Les clients peuvent donc correctement se connecter, commander, mais inexplicablement PS ne génère pas de facture et ne donne pas le détail de la commande dans le BO "commande".

 

Il est évident que ce nouveau bug est la conséquence de cet import et de la régénération de la secure_key, mais pourquoi cela se produit ... ca je ne sais pas.

 

Si vous avez une idée ?

Edited by Jean Boy (see edit history)
Link to comment
Share on other sites

 

Import base de données client de 1.4.4.1 vers 1.5.6.2...

Bonjour à tous et merci pour les éventuels contributeurs.

 

Je suis confronté à deux problèmes avec deux solutions différentes d'import, et aucune n'est vraiment satisfaisante.

J'ai bien sûr fais l'ensemble des topics sur le sujet et je suis face à un dilemme.

D'un côté, en important ma BdD via phpMyAdmin pour être sûr de ne pas perdre de clients, avec les colonnes de la table ps_customer en correspondance, et sans import de la colonne secure_key. Je n'arrive pas, en réinitialisant la secure_key(dont les cellules sont vides), via une requête, à ce qu'on puisse au minimum demander un nouveau mot de passe. Les compte de mail sont bien dans la BdD, mais celle-ci ne reconnait la demande faite via le formulaire du site.

De l'autre côté en passant par l'import de l'admin, les comptes clients sont bien présents lors de la demande de réinitialisation du MdP et la procédure se fait donc sans encombre, mais je perds des clients à l'import sans avoir aucune explication.

Je n'ai pas réussi à mettre en application ce topics qui expliquent succinctement comment faire un import sans perdre de client et sans que les clients doivent rélinitaliser un MdP.

 

Que se soit le tuto 1 ou 2, les étapes 1-2-3-4 ne posent pas de problème .

Mais il nous fait à chaque fois importer les clients par l'interface admin et non par import direct dans la base. Et à cette étape, je perds à chaque import des clients, sans comprendre pourquoi : mon csv est bien en bon encodage utf8, les séparations sont bien des ";", les colonnes sont bonnes, et les champs vides sont importé en champs NULL. A l'import via l'interface admin, visiblement PS génère une secure_key qui permet de "reconnaître" le compte client via son mail lorsqu'on demande une réinitialisation de MdP.

Pour ne pas perdre de clients, j'ai donc essayé un import via phpMyAdmin dans la table ps_customer et cela avec réussite, sauf bien sûr la secure_key, que je n'arrive pas à régénérer ensuite via une requête.

Tout cela, dans les deux cas, sans arriver, à ce que l'ancien MdP fonctionne en plus ! Mais au pire cela pourra se combler par un mail aux clients et une demande de réinitialisation de MdP pour leur sécurité.

Donc deux questions précises :

1- Pourquoi perd-on des clients via l'import de l'interface admi ?

2- Quelle requête SQL pour régénérer des secure_key valable et donc reconnaître les comptes clients.

Merci de votre aide.

Je suis donc preneur d'explication.

Merci d'avance.

 

Link to comment
Share on other sites

J'ai la réponse à ma question 1 !


Lors de l'export et de la mise en compatibilité entre les colonnes en préparant mon fichier CSV, les cellules vident se sont mise automatiquement avec la valeur "NULL". Certainement à la suite d'un paramètrage de mon export dans phpMyAdmin. Cette valeur n'est pas reconnue par l'import via le BO de PS 1.5.6.2 !


Du coup, les clients qui ont dans leurs données une valeur "NULL" ne sont pas importés !


Après remplacement de cette valeur "NULL" par rien, valeur "", l'importation se fait sans aucune perte de client.


On peut ainsi importer la totalité de son fichier, avec une secure_key qui se régénère et donc réinitialiser le MdP client via la boutique en rentrant le mail d'identifiant, et suivre la procédure de réinitialisant du MdP.


 


Si vous avez la réponse à ma question 2 ou si vous avez une procédure qui marche pour ne pas avoir à demander la réinitialisation des MdP à vos clients, je suis preneur.


 


Merci a priori et a posterio aux contributeurs.


Link to comment
Share on other sites

  • 1 year later...

Bonjour à tous,

 

J'ai tout suivi à la lettre, mais pas de chance, cela ne fonctionnepas pour moi.

J'ai une boutique 1.5.4.1 en prod. Je ne souhaite pas la mettre à jour directement en prod, mais plutôt faire mes tests avant en local.

 

  • J'ai donc fait ma petite install sous wamp d'une 1.5.4.1 native en essayant de lui importer mes clients de prod et de récupérer les mots de passe, ... mais rien n'y fait.
  • J'ai pourtant bien les 2 même fichiers de "settings" (en prod et en local)
  • J'ai bien réussi la partie compte admin (via la bdd directement par contre,avec réencodage md5 de la secure key ; l'accès backoffice ne m'a pas permis de sauvegarder le réencodage du mot de passe comme vous le suggérez)

 

Je ne comprends pas.

J'ai essayé dans tous les sens :

  • en important toute ma BDD prod en local avant puis en faisant les manip pour la table customer ensuite.
  • en essayant de récupérer mes mdp clients avant tout autre ré-import (commande / produits / ..)

 

Votre tuto doit bien fonctionner pour une pâle copie de site et pas seulement pour une MàJ 1.4 vers 1.5, n'est-ce pas ?

 

Merci par avance

 

||-- EDIT D'UNE FILLE UN PEU BETE :

Au temps pour moi, tout va bien, tout est ok ...

Il suffisait juste (pour ma part) de reprendre un bon café et d'ouvrir la bonne bdd du site dit "en prod" pour avoir les bonnes clés et bons passwords >_<

Il va falloir que je mette de l'ordre dans mes bdd !!!

 

Merci pour ce petit tuto super chouette qui fonctionne donc très bien sur 1.5.4.1 :)

Edited by Lilhouh (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

Je réalise une migration de mes clients d'une version 1.4.8.2 vers une version fraiche 1.6.0.14.

 

Je n'ai pas de valeur _RIJNDAEL_KEY_ et _RIJNDAEL_IV_ dans le fichier settings.inc.php de ma version 1.4.8.2 ...

 

Comment dois-je procéder ?

 

Merci par avance. 

Link to comment
Share on other sites

Je tiens à remercier Jean François G pour ces 2 tutos. Je viens de réaliser cette opération avec succès d'un presta 1.4.7.3 en 1.6.0.14 en modifiant légèrement la méthode :

 

1/ remplacement des 4 lignes COOKIE et RIJNDAEL dans le settings.inc.php du nouveau site avec les valeurs de l'ancien. (comme le tuto)

 

2/ sur la page de log à l'admin j'ai fait une demande de mot de passe oublié, je me suis loggué ainsi et j'ai remplacé de suite mon mot de passe "provisoire" par celui que j'utilisais auparavant.

 

3/ Dans la base de données de l'ancien site, via phpmyadmin, j'ai exporté en sql les tables ps_customer et ps_customer_group

 

4/ Dans la base de données du nouveau site, via phpmyadmin, j'ai importé en sql les tables ps_customer et ps_customer_group sauvegardées à l'étape 3.

Attention, pour les groupes de clients ça peut être différent entre votre ancienne et votre nouvelle boutique (à vérifier)

 

5/ étape suivante (si vous le désirez), refaites les étapes 3 et 4 avec la table ps_address afin que vos clients récupèrent leurs adresses ;)

Link to comment
Share on other sites

  • 5 months later...

Bonjour à tous,

 

Je ne comprends pas bien les étapes 5 et 6. Je souhaite passer d'une version 1.4 à une version 1.6.

 

5 / Avec un gestionnaire de base de donnée (phpmyadim ou navicat), ouvrir l'ancienne base de données de l'ancien site, aller a la table customer (ps_customer par défaut). Faire un copier de toute la colonne 'passwd', puis avec ce même gestionnaire, ouvrir la base de donnée du nouveau site, et ouvrir la même table. Coller toute la colonne passwd et remplacez les valeurs déja existantes).

6/ Faire de même avec la colonne secure_key

 

Le Copier coller de colonne dans le phpmyadmin n'est pas fonctionnel, ou il y a une astuce ?

 

Merci pour votre retour.

Link to comment
Share on other sites

Bonjour à tous,

 

Je ne comprends pas bien les étapes 5 et 6. Je souhaite passer d'une version 1.4 à une version 1.6.

 

5 / Avec un gestionnaire de base de donnée (phpmyadim ou navicat), ouvrir l'ancienne base de données de l'ancien site, aller a la table customer (ps_customer par défaut). Faire un copier de toute la colonne 'passwd', puis avec ce même gestionnaire, ouvrir la base de donnée du nouveau site, et ouvrir la même table. Coller toute la colonne passwd et remplacez les valeurs déja existantes).

 

6/ Faire de même avec la colonne secure_key

 

Le Copier coller de colonne dans le phpmyadmin n'est pas fonctionnel, ou il y a une astuce ?

 

Merci pour votre retour.

Bonjour

 

Touche ctrl (controle de votre clavier) + touche C en restant appuyer sur touche CTRL vous pouvez copier une sélection

CTRL+V vous coller.

Link to comment
Share on other sites

Merci Oron pour la réponse,

 

Mais en fait pour passer sur une version 1.6, il suffit juste d'exporter toute la base ps_customer sur l'ancienne version et de l'importer dans la nouvelle, sans se soucier des étapes 4 et 5.

 

Pour moi cela semble être fonctionnel.

Link to comment
Share on other sites

  • 5 months later...
  • 3 weeks later...

bonjour tout le monde, je suis entrains de sauvegarder mes clients et commandes, j'ai acheté 2 modules, mais les 2 ne sauvegardent pas les mots de passes des cleints, donc en cherchant je suis arrivé sur ce topic.

J'ai un probleme majeur, dans mon BO j'ai plus de 800 clients incrit, dans la BDD je les voit aussi, mais quand j'exporte ou je prend le ps_customer il me donne que 537 clients..... avez vous une idée pourquoi? comment recuperer mes autres 300 et + clients?

Link to comment
Share on other sites

  • 2 weeks later...

bonjour à tous !

 

moi aussi test depuis la version 1.4 vers la dernière version 1.6 téléchargée hier.

 

1 j'ai changé les clés de l'ancien site vers le nouveau dans le fichier setting

2 récupéré la table ps_customers et ps_customersgroup en format SQL sur l'ancienne base

3 mis ces tables sur la nouvelle base vierge et c'est ok d'après phpmyadmin et je les vois

4 demandé un nouveau mot de passe oublié pour que mon login d'amin accède au BO

 

malgré ca si je me connecte avec un compte client fictif que j'ai créé il y a 2 semaines, ca ne fonctionne pas :(

 

EDIT: sisi ca marche, j'importais pas la bonne base

Edited by max216 (see edit history)
Link to comment
Share on other sites

bonjour tout le monde, je suis entrains de sauvegarder mes clients et commandes, j'ai acheté 2 modules, mais les 2 ne sauvegardent pas les mots de passes des cleints, donc en cherchant je suis arrivé sur ce topic.

J'ai un probleme majeur, dans mon BO j'ai plus de 800 clients incrit, dans la BDD je les voit aussi, mais quand j'exporte ou je prend le ps_customer il me donne que 537 clients..... avez vous une idée pourquoi? comment recuperer mes autres 300 et + clients?

bonjour,

je pense que ta capacité en taille de fichier est peut etre lmitée, essaye de zipper ton fichier et regarde si tu as plus de résultats apres

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour,

 

Est-il possible de migrer les mots de passe d'une base de donné client magento sur Prestashop avec cette méthode ?

Bonjour

 

Les mots de passe sont crypter en MD5 et tiens compte du cookies key : define('_COOKIE_KEY_', 'hdXAKTUkwCQaBaYgPtSwwrEptmiUqiGgPgk9ENLK6xALfJkukxHIhmF5');

et à ma connaissance wordpress n'a pas le même système, ni la même configuration des fichiers.

 

Par contre si vous mettez les mots de passe en clair dans la base de donnée et que vous sélectionner md5 pour la table il sont crypter.

Ou aller sur le site de MD5 prendre ce cookies key : hdXAKTUkwCQaBaYgPtSwwrEptmiUqiGgPgk9ENLK6xALfJkukxHIhmF5motdepasse  << et ajouter votre mot de passe

vous cliquez sur le bouton et vous obtiendrais votre mot de passe crypter ce qui donne avec l'exemple ci-dessus : 80b3bc75a448cca67e392972506e909d

 

Par contre ne jamais mettre ce cookies key sur un forum, l'exempel ici est un ancien qui n'est plus valide pas la peine de chercher où :)

 

L'autre solution vous expliquer à vos clients : par soucis de sécurité et d'un besoin d'évoluer vous migrez votre site sous un nouveau CMS plus sécuritaire et nous vous invitons à faire votre demande de mot de passe lors de votre prochaine connexion.

 

Et là en générale ça passe bien auprès de vos clients et qui vont se dire ce site il est bien, il pense à notre sécurité :)

 

et votre chiffre d'affaire va ........... (inconnue)

Link to comment
Share on other sites

  • 9 months later...

Bonjour,

 

Je suis en cours de basculer mes clients de presta 1.4.9 en presta 1.7.1.

J'ai bien les éléments cherchés dans le fichier settings.inc.php sous pesta 1.4.9 mais rien dans le settings.inc.php sous pesta 1.7.1.

Est-ce différent en 1.7.1 ?

 

Merci d'avance pour vos réponses.

 

Valérie

Link to comment
Share on other sites

  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...