OLIVIER1709 Posted November 5, 2013 Share Posted November 5, 2013 Bonsoir Comment dupliquer des sous catégories sans à avoir comme je le fait actuellement à sytématiquement les recréer J'aimerai pouvoir les dupliquer en ouvrant l'arboresence ... voila j'espère que je suis clair Et comment classer ses catégories et sous catégories par ordre alphabéthique Merci Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 7, 2013 Author Share Posted November 7, 2013 pas de réponses Link to comment Share on other sites More sharing options...
domi77185 Posted November 7, 2013 Share Posted November 7, 2013 Bonsoir, C'est possible pour les produits, mais à ma connaissance, pas pour les catégories. Cdt Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 7, 2013 Author Share Posted November 7, 2013 merci pour la réponse ... ça valait le coup d'insister Effectivement les produits pour les dupliquer pas de soucis , si quelqu'un a une idée pour les catégories et sous catégories , voila avis aux developpeurs de prestashop A mon avis ça doit intéresser du monde , que de temps perdu a chaque fois devoir recopier les sous catégories Link to comment Share on other sites More sharing options...
Hi-Commerce Posted November 7, 2013 Share Posted November 7, 2013 Bonjour, Connaissez-vous Prestacategories de Sitolog ? Il me semble que l'application peut répondre à ce besoin. 1 Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 8, 2013 Author Share Posted November 8, 2013 Merci pour l'info , effectivement ça à l'air pas mal Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 14, 2013 Author Share Posted November 14, 2013 Bonjour module prestacatégories de sitolog acheté j'ai fait des essais hier et pour quelqu'un de completement novice comme moi le module a l'air d'être facilement exploitable Cependant quand on a une base de données qui est relativement important comme la mienne ça mets quinze plombes a charger !!! Et lorsque j'ai fini et que je souhaite retablir le "fil d'ariane" ça bugg ça veut pas charger donc j'ai fini par l'arrêtrer ! Et pour finir j'ai dupliqué une sous catégories enfant qui est bien visible et validée dans mon admin mais sur le site je ne vois rien est ce que ça viens du fait que je n'ai pas rétabli de fil d'ariane !!! Merci Olivier Link to comment Share on other sites More sharing options...
Hi-Commerce Posted November 14, 2013 Share Posted November 14, 2013 (edited) Tiens, c'est surprenant parce que l'application a été développée avec un soin très très particulier. Les traitements aboutissent toujours. Il est surement normal que cela soit long si votre base de donnés est énorme, mais nous ne l'avons pas constaté avec la notre (1500 produits et quelques dizaines de sous-catégories). On gagne un temps énorme avec cette application dans tous les cas, puisque sinon, il faut tout faire à la mano. Ou passer par un autre module payant (il y en a d'autres, mais attention les prix). Vous pouvez contacter le développeur, il vous assistera sans souci. Combien de catégories et de produits avez vous en tout ? Edited November 14, 2013 by Hi-Commerce (see edit history) Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 14, 2013 Author Share Posted November 14, 2013 Bonjour attention qu'on soit bien clair la dessus je ne critique pas pour gagner du temps ça à l'air d'être le cas ma base doit au moins avoir 20000 produits et 200 a 300 sous rubriques donc ceci explique peut être cela J'ai contacter le developpeur et j'attends une réponse Merci Olivier Link to comment Share on other sites More sharing options...
Hi-Commerce Posted November 14, 2013 Share Posted November 14, 2013 D'accord, on atteint surement certaines limites. Il faut savoir si ça bugge ou si c'est juste long (que veux dire long pour vous ? c'est quelque chose de très subjectif), tout est là. Tenez nous au courant, c'est intéressant comme cas d'école : ) Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 14, 2013 Author Share Posted November 14, 2013 Pour charger ma base il faut bien au moins 10 minutes et pour rétablir le fil d'ariane j'ai fini par arrêter au bout d'une vingtaine de minutes , donc j'ai cliqué sur la croix pour fermer le programme et il voulait rien savoir , j'ai fais controle alt + sup non plus , donc je suis parti faire autre chose en attendant que monsieur se reveille Link to comment Share on other sites More sharing options...
SITOLOG - F Bugnet Posted November 14, 2013 Share Posted November 14, 2013 (edited) Bonjour, Je suis Franck, le développeur de PrestaCatégories. Olivier1709 vient de m'appeler pour me faire par de son soucis. Il n'avait pas sa machine sous la main ni ses paramètres de connexion, on n'a donc pas pu aller bien plus loin (il doit me rappeler). Mais effectivement, je confirme, 10 min pour charger 200 catégories, cela est tout à fait hors spéc. Le record actuel est un autre site de vente de pièces détachées, de 32 000 catégories ! La effectivement, c'est un peu long, environ 15 min, mais cette étape franchie c'est très fluide. Des sites de 100 à 300 catégories, il y en a beaucoup parmis les utilisateurs de PrestaCatégories et jamais le temps de lancement ne doit dépasser une ou deux min, grand maxi. Autre info importante, le nombre de produits n'a aucune incidence sur le temps de lancement. Car à l'issue de cette étape, les produits ne sont pas affichés, seul l'arborescence des catégories est lue est affichée. Quand à la regénération du fil d'Ariane, c'est normalement l'affaire de quelques secondes. Donc, il y a un problème spécifique (comme par exemple des erreurs SQL en grand nombre qui parfois générent des pauses de protection coté serveur, ou un pb d'ADSL,...) , à découvrir. Je vous tiendrai au courant. A+ Franck Edited November 14, 2013 by Franck Bugnet (see edit history) 1 Link to comment Share on other sites More sharing options...
SITOLOG - F Bugnet Posted November 15, 2013 Share Posted November 15, 2013 Bonjour, Je viens d'avoir les infos de connexion d'Olivier et ai lancé PrestaCatégories. A première vue je me suis dit qu'effectivement, c'était vraiment long pour 200 catégories. Sauf que une fois connecté, en 10 min effectivement, ce que je vois, ce n'est pas 200 ou 300 catégories mais exactement 30 240 ! Ca change un peu la donne quand même. Autre info importante Olivier, je ne vois que 4023 produits (et non pas 20 000). A moins que je ne me sois trompé, cela signifie qu'il y a beaucoup de catégories sans aucun produit. Si les produits sont en cours d'importation, c'est logique, mais sinon il y a peut être matière à supprimer l'inutile. Petite analyse cependant, pour voir ce que l'on peut essayer d'améliorer dans ce genre de très grosse configuration... Le log de connexion: 15:51:50:22 Mise à zéro tables des catégories15:51:50:23 Lecture et mémorisation liste des catégories15:55:05:99 Mise en place des filtres sur fichier des catégories15:55:06:14 Construction de l'arbre des catégories16:00:30:84 Ré-organisation de l'arbre des catégories-30420 categories16:00:30:86 Lecture des taxes pour le pays sélectionné16:00:31:45 Lecture des taux de taxes16:00:31:51 Lecture des groupes de clients16:00:31:51 Construit la liste des noms de groupes de clients16:00:31:85 Chargement terminé - PRET On a la dedans (Lecture et mémorisation liste des catégories) à peut près 3min15s min qui sont de la lecture pure MySQL de ces 30240 catégories, avec leur description complète, donc sans aucun traitement (PrestaCatégories ne fait alors q'attendre le retour des données. Les seuls éléments sur lesquels ont peut travailler sont alors la vitesse du serveur SQL et la vitesse de transfert des données (ADSL)). On peut cepandant aussi jouer sur les paramètres de compression et de cryptage des données. Par défaut les données sont cryptées mais non compressées. Lorse le volume de données est conséquent, comme ici, il peut être interessant d'essayer les deux autres modes proposés: Mode compressées mais non cryptées: 16:16:32:22 Mise à zéro tables des catégories16:16:32:23 Lecture et mémorisation liste des catégories16:19:07:77 Mise en place des filtres sur fichier des catégories16:19:07:89 Construction de l'arbre des catégories16:24:35:16 Ré-organisation de l'arbre des catégories-30420 categories16:24:35:17 Lecture des taxes pour le pays sélectionné16:24:35:81 Lecture des taux de taxes16:24:35:86 Lecture des groupes de clients16:24:35:87 Construit la liste des noms de groupes de clients16:24:36:05 Chargement terminé - PRET La phase de lecture pure est passée à environ 2min30s. On gagne 1min15s soit 30% pour cette phase. Le troisième mode (ni cryptage ni compression) n'apporte rien (étape de lecture réalisée en environ 3min): 16:27:57:56 Mise à zéro tables des catégories16:27:57:57 Lecture et mémorisation liste des catégories16:30:52:45 Mise en place des filtres sur fichier des catégories16:30:52:57 Construction de l'arbre des catégories16:36:16:79 Ré-organisation de l'arbre des catégories-30420 categories16:36:16:81 Lecture des taxes pour le pays sélectionné16:36:17:40 Lecture des taux de taxes16:36:17:44 Lecture des groupes de clients16:36:17:45 Construit la liste des noms de groupes de clients16:36:17:59 Chargement terminé - PRET Dans les deux seconds modes, que je conseille donc, le temps total pour cette base de 30240 catégories et de l'ordre de 7min30sec. J'ai une connexion ADSL de campagne à 1M. On gagnerait sans doute beaucoup avec du très haut débit, mais c'est un autre sujet. Je comprends que cela puisse paraitre long, même si tout est relatif. Comment optimiser encore ? Reste la seconde phase (Construction de l'arbre des catégories), environ 5min20s selon les modes. La dessus je peux essayer de gagner du temps en optimisant le code. Il s'agit d'une routine de type "ittérative" (qui s'appelle elle même) assez complexe, ayant pour role à partir de liste de catégories reçues en vrac (classées par id), de reconstruire toute l'arborescence, mais également de vérifier la cohérence de l'ensemble, de chercher d'éventuelles catégories orphelines, etc... Cette routine s'appelle ici elle même environ 30 000 x 30 000 / 2 , soit 450 000 exécutions du même code. Un petit calcul rapide nous indique donc que le temps d'execution de cette routine est de l'ordre de 0,0007 sec. Gratter du temps la dessus me semble quasi impossible. Je vais donc plutôt regarder si il est possible de trouver un autre algo qui reduirait le nombre d'ittérations. Autre piste que je vais explorer: Actuellement et c'était voulu, pour avoir ensuite une appli fluide et confortable, la totalité des niveaux et catégories est lue est mémorisée lors de cette phase de lancement. La question se pose donc de savoir si c'est une bonne approche pour les très grosses bases. Il est peut être plus interressant de faire ce que l'on voit partout ailleurs, à savoir de limiter cette première lecture au 1er niveau de catégories (ou tout du moins de le proposer en option). Ici il n'y en a moins d'une dizaine, on passerait alors sous la barre du dixième de seconde pour lire et afficher le 1er niveau. en contre partie, accéder aux sous catégories d'une catégorie de 1er niveau, puis au niveau suivant et ainsi de suite, nécessiterait également une relecture de la base, donc une certaine lenteur. Autre inconvénient de cette approche, les opérations de recherche et de filtrage, actuellement locaux (puisque l'on a toute la structure sous la main) et donc rapides, ne seraient aussi possibles qu'en repassant par la base. Nettement plus lent... Ou alors mettre en place un paginateur, comme dans PrestaShop, pour limiter la liste de catégories affichée à une portion de 200 par exemple et une flèche pour voir les 200 suivantes. Je l'ai mis en place pour les produits (pas activée par défaut), mais cela ne me semble pas être génial pour les catégories. Perso je préferre attendre un poil au lancement et ensuite avoir toutes les données sous la main. Bref histoire de choix et de compromis. Si vous avez un avis la dessus, partagez le... En attendant, je remets le nez dans le code... Cordialement Franck 1 Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 16, 2013 Author Share Posted November 16, 2013 Bonsoir Tout d'abord merci pour cette petite analyse , en espérant qu'elle puisse profiter à d'autres personnes on se rend pas compte c'est dingue le nombre de catégories et sous catégories !!! je pensais pas en avoir autant pour apporter quelques précisions il est normal qu'il y ai plus de catégories que de sous catégories puisque beaucoup de produits sont affectés à plusieurs catégories Concernant le temps de chargement j'ai bien compris la problématique au vue de l'arboresence assez complexe , et encore aujourd'hui c'était de l'ordre de 8 minutes Par contre je me suis "amusé" à cloner une dizaine de sous catégories et a les affecter dans diverses catégories et pour finir j'ai du régénérer le fil d'ariane et au bout de 30 mm ça moulinait toujours !!! donc je suis parti faire autre chose pour revenir 2 heures après et la "apparement" ça avait régénérer le fil d'ariane Je dis "apparement" parce que les sous catégories ne sont pas visibles sur le front office !!! elles sont visible dans le back office et elles sont bien activées ! alors je sais pas si la régénération du fil d'ariane a marchée ou pas ou si alors j'ai fais une mauvaise manip Je vais faire une nouvelle tentative de régénération ce soir !! Cordialement Olivier Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 17, 2013 Author Share Posted November 17, 2013 re essai donc hier soir avec régénération du fil d'ariane et j'ai pas mes sous catégories dans le front office 23:27:04:98 Initialisation des variables du programme23:27:04:98 Initialisation des préfix des noms de tables23:27:05:21 Vérification de la validité de la licence terminée, validité=1.23:27:05:21 Connexion SQL23:27:05:29 HTTP connection request result:: HTTP/1.1 200 OK<\r><\n>Date: Sat, 16 Nov 2013 22:27:03 GMT<\r><\n>Server: Apache<\r><\n>Vary: Accept-Encoding<\r><\n>Content-Length: 223<\r><\n>Connection: close<\r><\n>Content-Type: text/html; charset=utf-8<\r><\n><\r>23:27:05:55 HTTP connection request result:: HTTP/1.1 200 OK<\r><\n>Date: Sat, 16 Nov 2013 22:27:04 GMT<\r><\n>Server: Apache<\r><\n>Vary: Accept-Encoding<\r><\n>Content-Length: 223<\r><\n>Connection: close<\r><\n>Content-Type: text/html; charset=utf-8<\r><\n><\r>23:27:05:73 Connexion SQL établie. Préparation des classes I.23:27:05:93 Lecture de la table de configuration de la base23:27:06:01 Version de PS vue: 1482023:27:06:01 Lecture du paramètre PS_legacy_images dans la base23:27:06:10 PS_LEGACY_IMAGES=123:27:06:10 Lecture du paramètre PS_country_default23:27:06:19 Connexion SQL complete. Lecture de la structure des tables de la base23:27:06:19 I_Category allocation23:27:06:38 I_Category Lang allocation23:27:06:55 I_Product allocation23:27:06:87 I_Product Lang allocation23:27:07:05 I_Tax allocation23:27:07:23 I_Category product23:27:07:41 I_Lang allocation23:27:07:60 I_Scene Category23:27:07:77 I_Scene23:27:07:96 I_Tax_rules23:27:08:15 I_Discount_Category23:27:08:33 I_Group23:27:08:52 I_Group_Lang23:27:08:69 I_Group_Reduction23:27:08:88 I_Category_Group23:27:09:05 Lecture des structures complète23:27:09:15 Lecture de la langue par défaut du site dans la base23:27:09:15 Multiboutiques:023:27:09:51 Initialisation de la table des produits23:27:10:21 Lecture des groupes de règles de taxes23:27:10:40 Initialisation fenêtre principale23:27:10:55 Prêt23:27:10:55 Cache ou montre les colonnes des tables23:27:10:71 I_category filter23:27:10:82 Routine d'affichage des catégories23:27:10:82 Mise à zéro tables des catégories23:27:10:82 Lecture et mémorisation liste des catégories23:30:14:95 Mise en place des filtres sur fichier des catégories23:30:15:05 Construction de l'arbre des catégories23:35:40:27 Ré-organisation de l'arbre des catégories-30426 categories23:35:40:28 Lecture des taxes pour le pays sélectionné23:35:40:95 Lecture des taux de taxes23:35:41:00 Lecture des groupes de clients23:35:41:00 Construit la liste des noms de groupes de clients23:35:41:09 Chargement terminé - PRET Link to comment Share on other sites More sharing options...
SITOLOG - F Bugnet Posted November 17, 2013 Share Posted November 17, 2013 (edited) Bonjour Olivier, Quelles sont les catégories (id ou noms?) qui n'apparaissent pas, je vais regarder pourquoi. Votre Prestashop est bien en version 14820 ? (c'est ce que Prestashop indique à PrestaPricing). Si cela est une information erronée, cela peut expliquer le pb. Le remède est alors simplment de réinitialiser la partie back office du module de façon à ce qu'il detecte lui même la bonne version de PS. Edit 18/11: Pas de réponse ? J'ai regardé la probématique du fil d'Ariane ce week end. Je vous proposerai bientôt une nouvelle version (beta 3.3.0.f) qui devrait ramener le temps de regénération du fil d'ariane à qcq chose de négligeable, à la fermeture de l'application (en appelant le script PHP de Prestashop plutôt qu'en envoyant une floppé de requètes SQL à distance). Crdlt Franck Edited November 18, 2013 by Franck Bugnet (see edit history) 1 Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 18, 2013 Author Share Posted November 18, 2013 Bonsoir Franck , Merci pour la réactivitée !! Pas de soucis j'attends patiement pour info ma version prestashop est la 14820 Cordialement Olivier 1 Link to comment Share on other sites More sharing options...
SITOLOG - F Bugnet Posted November 23, 2013 Share Posted November 23, 2013 (edited) Bonjour, Voila, la version beta 3.3.0.f est en ligne depuis qcq instants. Attention: Cette version nécessite d'installer également la mise à jour 2.8 du module MPR (inclus dans le zip). A présent la reconstruction du fil d'Ariane est effectuée coté serveur en PHP, et non plus coté application. Ainsi on gagne le temps nécessaire à l'envoie des nombreuses requêtes SQL. J'ai aussi ré-écrit le code de rafraichissement de la table à l'écran, pour la phase mise à jour des colonnes nleft et nright (ce sont ces paramètres qui définissent les fils d'Ariane) Essais réalisés sur une base de test contenant 10000 catégories: -Régénération en sortie d'application: 10s (au lieu de 3 minutes avant) -Régénération en cours d'utilisation de l'application: 30s (au lieu de 5 minutes avant). Les 20s supplémentaires correspondent au temps de rafraîchissement de la table à l'écran. Resterait à trouver un moyen pour radicalement accélérer le temps de chargement initial pour les très grosses bases, comme expliqué dans mon post plus haut. Par exemple en ne chargeant en mémoire qu'un ou deux niveaux de catégories. Mais cela poserait d'autres difficultés ensuite, car l'impossibilité de faire des recherches dans toute la structure. En attendant de trouver le bon compromis, je laisse comme cela cette partie. Franck Edited November 23, 2013 by Franck Bugnet (see edit history) 1 Link to comment Share on other sites More sharing options...
Hi-Commerce Posted November 23, 2013 Share Posted November 23, 2013 Quand je vous disais que le service était au top, y compris le week-end !Et non, je n'ai pas d'action ni la moindre accointance. Par contre, il faut savoir reconnaître quand on a affaire à du sérieux et du solide. Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted November 28, 2013 Author Share Posted November 28, 2013 Oui effectivement super service , reste a mettre en place tout ça pour voir si tout va bien , je vous tiendrai au courant Link to comment Share on other sites More sharing options...
OLIVIER1709 Posted December 1, 2013 Author Share Posted December 1, 2013 petit retour et bilan concernant le module prestacatégories de sitolog Bilan très postif (moi non plus j'ai pas pas d'ations chez Sitolog ) Temps de chargement inchangé en revanche ce qui est super positif c'est que le fil d'ariane est reconstruit en environ 7 minutes alors qu'avant au bout de deux heures rien ne se passait et ça buggait carrément Rappellons quand même que mon site à plus de 30000 mille sous catégories Le temps gagné est considérable Donc concrètement super travail de franck et de surcroit facilement joignable Voila .... Merci Olivier Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now