Jump to content

300 000 produits à migrer, Prestashop pourra t-il tenir le coup ?


Recommended Posts

Bonjour,

Je dois intégrer ou très exactement migrer un nombre important de produits (pièces autos) avec de nombreuses déclinaisons (Marque , modèle, motorisation voiture) sur une nouvelle solution avec un moteur Prestashop.

Notre catalogue en ligne sera sur deux serveurs ( séparer la Base de données ).
J'aurai deux ensembles de questions et je n'ai pas trouvé de réponse précise sur le forum.

1/
Quel serait votre retour d'expérience pour ceux qui ont un catalogue important sur Prestashop ?
Les principales erreurs à ne pas commettre ?
Les limitations de Prestashop ?


2/
Nativement dans Prestashop, le processus pour obtenir les déclinaisons d'un produit : le client doit accéder à la fiche produit et sélectionner sur cette même page, la déclinaison de ce même produit par le biais des attributs affectés au produit.

Mais si on souhaite que le client choisisse des critères en premier avant d'accéder à une liste de produits :

Par exemple, choisir le type de véhicule, le modele, etc... avant d'obtenir les pièces autos affectées à ce véhicule

Est-ce possible de le faire sur Prestashop dans le conception de la BD ? si oui, est ce nativement possible sur Prestashop ? Faut il un développement ? pourrions nous créer ces listes de critères par le biais d'attributs dans la Base ?


Merci.

Cordialement,

Link to comment
Share on other sites

Bonjour,

Pour importer un grand nombre de produit d'un seul coup je ne vois pas de limitation de la part de PrestaShop. Les précautions à prendre sont de savoir si le serveur ne va pas être en time out au bout de plusieurs secondes ou minutes. Si c'est un dédié il devrait pas y avoir de problémes. Si c'est un mutualisé effectivement le serveur n'acceptera sans doute pas.

Ce que je te conseil c'est déjà d'importer une dizaine de produit pour vérifier que ta matrice est bien structurée, puis ensuite de lancer l'import avec l'ensemble de tes produits.

Ce que je te conseille aussi, c'est de faire une sauvegarde soit avec PrestaShop, soit directement depuis ton manager, dès lors si tu "pourris ta base" tu pourra toujours repartir sans devoir faire une réinstalle.

Donc par étape ca donne :
Sauvegarde de la base de donnée.
Vérification de la structure de ta matrice.
Import d'une dizaine de produit.
Puis import total des produits.
Si cela timeout, il faut contacter l'hébergeur.

N'hésites pas à nous contacter si besoin.

Cordialement Mikaël

Link to comment
Share on other sites

2/
Nativement dans Prestashop, le processus pour obtenir les déclinaisons d’un produit : le client doit accéder à la fiche produit et sélectionner sur cette même page, la déclinaison de ce même produit par le biais des attributs affectés au produit.

Mais si on souhaite que le client choisisse des critères en premier avant d’accéder à une liste de produits :

Par exemple, choisir le type de véhicule, le modele, etc… avant d’obtenir les pièces autos affectées à ce véhicule

Est-ce possible de le faire sur Prestashop dans le conception de la BD ? si oui, est ce nativement possible sur Prestashop ? Faut il un développement ? pourrions nous créer ces listes de critères par le biais d’attributs dans la Base ?


Bonjour,

Il existe ce module qui permet de créer des filtres de recherche "Filter Search 2.1 Community Edition" ( version gratuite)

http://www.prestashop.com/forums/viewthread/46247/third_party_modules/module_filter_search_v2_dot_0_community_edition_dynamic_searching

Ce module existe aussi en version payante certainement amélioré....

En espérant que ca pourras vous être utile.

@++
Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

Je me permet cette question :

Pourquoi risquer le timeout en important les produits sur le serveur distant au lieu de faire l'import des produits en local puis une fois que tout est ok envoyer l'ensemble sur le serveur (ftp - images) + SQL ... Car je doute vraiment qu'il soit possible d'importer 3OO.OOO produits en distant :)

Cordialement,

Link to comment
Share on other sites

Salut,

Outre le fait de l'import, je vous mets en garde dans le fait d'utiliser des déclinaisons. Je veux dire par là que les déclinaisons fonctionnent très bien dans une certaine limite, limite qui arrive très rapidement.

Exemple:
1 produit
5 couleurs primaires
5 couleurs secondaires
5 tailles
1 option (oui, non)
1 option (oui, non)
1 option (oui, non)

5*5*5*2*2*2 = 1000 combinaisons, et là c'est le drame.

Enfin, c'est mon avis

Link to comment
Share on other sites

@thierry-creation

je vous tiendrais au courant du retour que nous avons sur cette intégration.
Je dois la réaliser avant décembre.

Une première analyse sera réalisée pendant l'intégration et après l'intégration ( avec moteur de recherche, boite de sélection, et surtout avec un certain nombre de visiteur)



Le fait de passer certaine déclinaison en catégorie et sous catégorie, optimiserait la Base de données ? afin de limiter ce que disait @Cédric

Par exemple, pour des pièces autos :
On aurait une catégorie : marque véhicule,
sous-catégorie : modèle véhicule
sous-sous-catégorie : motorisation véhicule (année)


et en déclinaison , des caractéristiques des pièces autos associées à un des véhicules.

P.S : sachant qu'il existe au moins 7000 type de véhicules.

Link to comment
Share on other sites

300000 produits, faut bien étudier la structure des produits catégorie/sous catégorie et surtout au niveau des déclinaisons comme le précise Cédric.

Après pour l'importation, je suis pas pour un importation super longue sur un serveur même dédié, mais avoir un script qui importera les produits lot par lot bourré de controle.

Une boutique avec une tel quantité de produit ne s'improvise pas ! étudiez bien tous les process ! car même la gestion de 300000 produits ! courage.

Ah important la gestion des déclinaisons nativement de prestashop ne tiendra pas la route du fait de la facon dont elle a été codé !

Pour mysql pas de problème concernant le volume de données, ca tiens l'a route. Au bureau nous avons une table qui reçois 5 Millions d'enregistrement par jours et des bdd de plusieurs giga.

Link to comment
Share on other sites

"...Ah important la gestion des déclinaisons nativement de prestashop ne tiendra pas la route du fait de la facon dont elle a été codé !"...

@Olecorre

merci pour tes conseils.
en effet, Je pense faire 30 fichiers de 10000 articles et les traiter les uns après les autres avec contrôle.

Que veux tu dire au sujet des déclinaisons ?
dois je passer par un plugin spécifique qui les geres plus facilement ? Le but étant de récupérer les Id de chaque déclinaison pour les reporter sur les
fichiers csv

Link to comment
Share on other sites

En fait toute la gestion de déclinaison native ne sera pas adapté ! du fait de sa programmation vous serez limité en nombre de déclinaison par produit, ensuite sur le site, il y aura un tableau javascript avec toutes les combinaisons ! pas vraiement optimisé.

Il existe un module chez presto-changeo (je met pas de lien sinon vais me faire tapper sur les doigts) qui revoit la gestion des déclinaisons mais je l'ai pas encore tester donc je sais pas jusqu'où il va !

Link to comment
Share on other sites

Je profite de cette occasion pour essayer d'avoir quelques infos sur les diverses possibilités de changer le prix d'un produit "à la volée": exemple 10 produits achetés, le 11ème gratuit ? Ou produit avec lettrage: 0,25€ cent la lettre... en fonction de la taille saisie dans un champs de personnalisation. Et j'en passe ;-)

@++

Link to comment
Share on other sites

Cédric créé un nouveau sujet pour ca ! pour 10 produits achetés, le 11 ème gratuit le sujet à souvent été débattu sur le forum donc peut être des solutions. Pour le lettrage, la je vois qu'un dev spécifique pour le mettre en place

Link to comment
Share on other sites

Merci Olivier

Si j'en parle là, c'est parce que cela à tout à fait rapport avec le sujet des déclinaisons, le but étant en fait de pouvoir gérer des déclinaisons d'une autre manière, et donc d'adapter le tarif d'un produit à la volée.

Je vais ouvrir un autre sujet...

Link to comment
Share on other sites

oui je vois ce que vous voulez dire pour le plugin (A... W... P....) cela doit être celui ci :-;
je garde le lien .

merci pour ce dernier.

avec ce principe (plugin en question) , il faut intégrer non plus des produits mais des gammes de produits initialement (sii j'ai bien compris) et c'est le client à la sélection du produit , le personnalise en lui affectant des valeurs aux attributs que l'on aura défini prealablement.
Là où cela se complique c'est quand, cette même gamme de produit, n'existe pas dans certaines valeurs d'attribut.

Par exemple je prends : une jante -> gamme ONIX -> existe qu'en 16 et 17 pouces pour tel type de véhicule et 18 pouces pour d'autres.

donc les valeurs de l'attribut : largeur , ne peuvent pas être similaires à tous les produits jantes selon le type de véhicule.

:-)

je m'embrouille un peu

Link to comment
Share on other sites

  • 5 weeks later...

Je viens de transférer le site de 1&1;en mutu à OVH en dédié, 3557 articles + déclinaisons :

- 1er souci : les images, c'est lourd et long, winscp ou filezilla, c'est 12 heures de transfert. Donc ne pas oublier de ne pas transférer les fichiers tmp de /img/tmp, c'est toujours ça de gagné (500 Mo chez moi)

- 2ème souci : transfert de la DB, j'ai eu beau modifier les max_execution dans php?ini, config, httpd..., rien à faire, quand c'est pas le temps, c'est la mémoire qui merdouille.

Pour le 1er, si qqun connaît un système ftp plus rapide, je suis preneur.

Pour le 2è, je suis passé de qq heures de transfert à qq secondes grâce à une fonction sql peu connue et top moumoute : load data infile.


J'explique :


Je fais un export de ma db d'origine sauf les 2 gros fichiers (ps_search_index et ps_product_lang) et je l'importe dans la nouvelle : pas trop de soucis. En fait, sélectionnez les tables de moins d'1 ou 2 Mo et mettez de côté les grosses si vous avez déjà des milliers de commandes par exemple ;). Videz les log aussi.

Pour les grosses tables (plus de 2 Mo), exemple avec ps_product_lang qui est gros chez moi car il y a tout le code HTML :
Export csv de la table non compressée, copie du fichier sur le serveur (je l'ai mis dans /home/ sur mon dédié)
Export sql de la même table, ouverture du fichier et copie des lignes "CREATE TABLE ..."

dans la db, créez votre table en collant les lignes CREATE TABLE dans l'onglet SQL
Dans le même onglet :

LOAD DATA INFILE '/home/ps_product_lang.csv'


INTO TABLE ps_product_lang


FIELDS


TERMINATED BY ';' // Attention à vérifier que ces 3 lignes correspondent à votre csv

 




ENCLOSED BY '"' // Il suffit d'ouvrir le csv dans notepad+++ et d'afficher les

 




ESCAPED BY '\\' // caractères de contrôle. Idem pour les 2 lignes suivantes

 




LINES


STARTING BY ''


TERMINATED BY '\r\n'


(id_product,id_lang,description,description_short,link_rewrite,meta_description,meta_keywords,meta_title,name,available_now,available_later);



Ça prend 3 ou 4 secondes pour un fichier de 7 Mo non compressé, c'est top moumoute :)

(Par contre, faut que je regarde en quelle langue est codé ce forum, j'arrive pas à mettre en forme ce put1 de texte, désolé :()
Link to comment
Share on other sites

1) pour que le transfert de fichier soit rapide, ce que tu peux faire si tu as un dédié ovh, c'est le faire via webmin.
il faut faire une archive de tes images vers un tar ou tar.gz
tar cvfz
via webmin, tu envoie l'archive dans le bon rep, il envoie l'archive, décompresse et supprime l'archive, et lui donne les droits adéquats (ou tout au moins l'utilisateur).

2) pour les gros fichiers sql, il faut effectivement potasser un peu la doc de mysql et executer le fichier sql directement en ligne de commande. Si ce n'est une question de vitesse, ca régle tous les problèmes de mémoire.

Après, il faut bien faire la différence entre les différents timeout.

@++

Link to comment
Share on other sites

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...