gngngngn Posted May 10 Share Posted May 10 (edited) Salut la commu, je suis tombé sur un bug qui commence à légèrement devenir préoccupant : Version de Prestashop 8.0.4 Apache 2 Php8.2-fpm J'ai une interface Symfony 5 qui ajoute 3 produits sur mon site par jour par tâche CRON. L'ajout se passe bien, il n'y a aucun problème vis à vis de ça. Néanmoins après quelques jours, les produits disparaissent tout bonnement du site, comme si j'avais cliqué sur "supprimer", il n'y a plus aucune trace des produits. Par exemple, c'est arrivé aujourd'hui entre 14h et 18h sans une seule trace, j'ai regénéré mon cache vers 14h, et vers 18h les produits n'était pas présent (la vingtaine de produit ajoutés par l'api depuis 4/5 jours). Voici les produits présents grâce au cache :Et lorsque je clique dessus : Par exemple un produit ajouté après cette disparition, tout est nickel et bien en place : C'est la deuxième fois que j'ai tous mes produits ajoutés par l'api qui disparaissent ces 15 derniers jours (je viens de mettre en place le système). Je n'ai aucun message dans le log, les produits s'ajoutent parfaitement. Quelqu'un à des pistes car là je sèche complètement sur le pourquoi du comment. Merci Edited May 11 by gngngngn Résolu (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 11 Share Posted May 11 Bonjour, 1- Mettez à jour rapidement vers la dernière version PrestaShop 8 disponible. 2- Passez à PHP 8.1 car PrestaShop 8 n'est pas compatible PHP 8.2 3- est-ce que cette disparition se produit lors du traitement Cron ? 4- avez-vous consulté dans la base de données directement pour savoir si ces produits ont bien disparu ? 5- contrôlez le script d'import des produits. Link to comment Share on other sites More sharing options...
gngngngn Posted May 11 Author Share Posted May 11 (edited) Bonjour, 1. Non, ce n'est pas possible, j'ai développé une floppé de module complexe, qui on maintenant des méthodes dépréciés et dont personne ne parle des résolutions des problèmes: je n'ai pas le temps de redev + d'un an de code. De plus dans les changelogs des nouvelles versions rien n'indique que ce problème a été corrigé. J'ai récemment installé la version 8.1.5, énormément de chose ont changés, je ne peux décemment pas aller aussi vite que presta pour maintenir à jour tous mes codes dés qu'ils ont décidé de changer quelque chose. 2. j'avoue n'avoir vraiment aucun problème depuis 2 ans. 3. non, comme indiqué, plus d'une vingtaine de produit on été ajouté. 4. Oui, c'est comme si j'avais appuyé sur le bouton supprimé. Les nouveaux produits qui sont ajoutés, suivent les ids supprimés. 5. Les produits sont correctement ajoutés et se supprimes d'eux-mêmes. Voici un produit posté ce matin : Il est correctement dans la base de donnée. Je vais tenter de le faire disparaître. Edit : 1ère piste : les produits qui sont uniquement ajoutés via l'API sans avoir été cliqué sur le bouton sauvegardé ne sont pas apparent dans la liste des produits triés par Id dans le back-office, les dernières réf. qui devraient êtres apparentes sont "verrePLA-SAPH-0-80-19-5-1", "verrePLA-SAPH-0-80-19-4-1", "verrePLA-SAPH-0-80-19-2-1", "verrePLA-SAPH-0-80-19-1-1": la réf. "verrePLA-SAPH-0-80-19-30-1" a été sauvegardé manuellement en appuyant sur le bouton enregistrer via le back-office. Edited May 11 by gngngngn (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 11 Share Posted May 11 Donc votre code d'insertion ne fonctionne pas. Sur ce point je ne serais pas de grande utilité, je n'utilise jamais leur API, webservice, je code tout en object directement. Link to comment Share on other sites More sharing options...
gngngngn Posted May 11 Author Share Posted May 11 Le code d'insertion fonctionne. Les produits sont là, et j'ai un retour de code 200. Cela semble être un bug lié a prestashop directement depuis + de 2 ans : https://github.com/PrestaShop/PrestaShop/issues/28409https://github.com/PrestaShop/PrestaShop/issues/28586 Les produits ne disparaissent pas lorsque on repasse derrière pour appuyer sur le bouton "Enregistrer". Je vais voir si je peux enregistrer les produits comme ceci via une requête CURL. Link to comment Share on other sites More sharing options...
gngngngn Posted May 11 Author Share Posted May 11 Le code d'insertion fonctionne. Les produits sont là, et j'ai un retour de code 200. Cela semble être un bug lié a prestashop directement depuis + de 2 ans : https://github.com/PrestaShop/PrestaShop/issues/28409https://github.com/PrestaShop/PrestaShop/issues/28586 Les produits ne disparaissent pas lorsque on repasse derrière pour appuyer sur le bouton "Enregistrer". Je vais voir si je peux enregistrer les produits comme ceci via une requête CURL. Edit : Problème résolu : Il manquait 3 paramètres "non obligatoire" : position_in_category doit compter les produits de la catégorie par défaut et ajouter +1. $product->addChild('position_in_category', $position_in_category); $product->addChild('state', 1); $product->addChild('redirect_type', '301-category'); Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 11 Share Posted May 11 Heureux d'avoir pu vous mettre sur la piste. Link to comment Share on other sites More sharing options...
gngngngn Posted May 11 Author Share Posted May 11 Sans offense, vous n'y êtes absolument pour rien, je dois même dire que "vos solutions" sont a tomber de la chaise : 1- Mettez à jour rapidement vers la dernière version PrestaShop 8 disponible. 2- Passez à PHP 8.1 car PrestaShop 8 n'est pas compatible PHP 8.2 Comme dis, le code d'insertion fonctionne, et le problème est ouvert depuis + de 2 ans. Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 11 Share Posted May 11 Il y a 9 heures, Mediacom87 a dit : Donc votre code d'insertion ne fonctionne pas. Il y a 3 heures, gngngngn a dit : Il manquait 3 paramètres "non obligatoire" : Mais bon, plutôt critiquer que dire merci, pas de souci, bon week-end à vous. Link to comment Share on other sites More sharing options...
gngngngn Posted May 12 Author Share Posted May 12 si a vous aide a dormir : merci je critique pas, mais vos options sont nulles et extrêmement chronophage voir dangereuses pour un site en prod : donner son avis pour dire : mettez à jour la version de PrestaShop, surtout quand ça évolue à la vitesse à laquelle ça va avec toutes les méthodes déprécié, c'est ne vraiment pas prendre en compte la vie d'une entreprise. les avis sur vous parlent d'eux mêmes, vous répétez en boucle les mêmes chose, mais vous n'êtes spécialisé dans rien. Mais dire le problème vient soit du site, soit du script, c'est un peu de l'évidence même? En gros vous avez tout dis dans un même message, pas difficile de "se tromper". Mes preuves : ' Il me répond que comme ce n'est pas sa spécialité ça ne lui servirait à rien et que pour lui ça doit quand même venir de là et que je devrais contacter mon hébergeur.' Donc l'api, et la configuration serveur ce n'est pas votre ressort, mais vous êtes un "pro" qui renvoi 10x par mois vers le support de presta dés qu'on sort des clous de la configuration minimale de l'installation de prestashop, Merci, vraiment 🙌 ! "Malheureusement, le problème ne pouvait être résolu qu'en mettant à jour votre version de PrestaShop vers une version plus récente." "PrestaShop 1.6.1.24 is not compatible with this version of PHP :" "PrestaShop 8 n'est pas compatible 8.2 https://devdocs.prestashop-project.org/8/basics/installation/system-requirements/#php-compatibility-chart" "Bonjour, peut-être une piste : "(encore le coup de la version de php) "Essayez en 8.1 des fois que. Et contrôlez votre configuration avec https://github.com/PrestaShop/php-ps-info/" oui dés fois qu'on a du temps a perdre a installer des versions plutôt que de debug. "Version PHP ?" "Quelle version de PHP ?" "Je ne peux que vous conseiller de rapidement profiter des mises à jour, la version est en développement permanent et donc demande de suivre ses évolutions." J'ai récupéré moins d'un mois de vos réponses. C'est trop vraiment, on dirait un bot. Vous même vous le dite : "Perso, sur la moindre mise à jour, je fais des "gros devis", car il faut savoir anticiper tout ce qui peut mal se dérouler ou toute demande suite à la migration. La mise à jour de PrestaShop ne se déroule que très rarement en appuyant simplement sur un bouton et dans tous les cas, il faut tout anticiper tout tester avant de faire la vraie mise à jour finale. Le moindre problème peut faire perdre beaucoup d'argent eau commerçant, la moindre..." Donc au moindre bug tout mettre à jour, mais c'est complexe hein? Vraiment y a quasiment que ça. Vous ne répondez strictement jamais a aucune question technique ou de dev. Pas une seule ligne. Bref, Merci encore du tuyau, c'est grâce à vous, merci encore. Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 12 Share Posted May 12 il y a 41 minutes, gngngngn a dit : si a vous aide a dormir : merci je critique pas, mais vos options sont nulles et extrêmement chronophage voir dangereuses pour un site en prod : donner son avis pour dire : mettez à jour la version de PrestaShop, surtout quand ça évolue à la vitesse à laquelle ça va avec toutes les méthodes déprécié, c'est ne vraiment pas prendre en compte la vie d'une entreprise. les avis sur vous parlent d'eux mêmes, vous répétez en boucle les mêmes chose, mais vous n'êtes spécialisé dans rien. Mais dire le problème vient soit du site, soit du script, c'est un peu de l'évidence même? En gros vous avez tout dis dans un même message, pas difficile de "se tromper". Mes preuves : ' Il me répond que comme ce n'est pas sa spécialité ça ne lui servirait à rien et que pour lui ça doit quand même venir de là et que je devrais contacter mon hébergeur.' Donc l'api, et la configuration serveur ce n'est pas votre ressort, mais vous êtes un "pro" qui renvoi 10x par mois vers le support de presta dés qu'on sort des clous de la configuration minimale de l'installation de prestashop, Merci, vraiment 🙌 ! "Malheureusement, le problème ne pouvait être résolu qu'en mettant à jour votre version de PrestaShop vers une version plus récente." "PrestaShop 1.6.1.24 is not compatible with this version of PHP :" "PrestaShop 8 n'est pas compatible 8.2 https://devdocs.prestashop-project.org/8/basics/installation/system-requirements/#php-compatibility-chart" "Bonjour, peut-être une piste : "(encore le coup de la version de php) "Essayez en 8.1 des fois que. Et contrôlez votre configuration avec https://github.com/PrestaShop/php-ps-info/" oui dés fois qu'on a du temps a perdre a installer des versions plutôt que de debug. "Version PHP ?" "Quelle version de PHP ?" "Je ne peux que vous conseiller de rapidement profiter des mises à jour, la version est en développement permanent et donc demande de suivre ses évolutions." J'ai récupéré moins d'un mois de vos réponses. C'est trop vraiment, on dirait un bot. Vous même vous le dite : "Perso, sur la moindre mise à jour, je fais des "gros devis", car il faut savoir anticiper tout ce qui peut mal se dérouler ou toute demande suite à la migration. La mise à jour de PrestaShop ne se déroule que très rarement en appuyant simplement sur un bouton et dans tous les cas, il faut tout anticiper tout tester avant de faire la vraie mise à jour finale. Le moindre problème peut faire perdre beaucoup d'argent eau commerçant, la moindre..." Donc au moindre bug tout mettre à jour, mais c'est complexe hein? Vraiment y a quasiment que ça. Vous ne répondez strictement jamais a aucune question technique ou de dev. Pas une seule ligne. Bref, Merci encore du tuyau, c'est grâce à vous, merci encore. À partir de quelle version de PrestaShop avez-vous commencé à travailler avec la solution ? Aucune critique ou malveillance, juste pour comprendre pourquoi vous ne semblez pas comprendre certaines de mes réponses sur ce forum. Link to comment Share on other sites More sharing options...
gngngngn Posted May 12 Author Share Posted May 12 (edited) @version 1.1 En 2010, pour une raison bien particulière j'avais pris une archive datée, puisque la 1.2 ou 1.3 était déjà sortie. En 2017, j'ai traduit tout le cœur de prestashop pour rendre compatible avec php 7.2 car les serveurs abandonnait php 5.6; justement pour ne pas faire une mise à jour vers prestashop 1.7 qui a commencé a implanté Symfony que je ne connaissais pas et qui m'aurait pulvérisé si j'avais fais une mise à jour sans décortiquer dans l'ensemble la nouvelle version. Mettre à jour un site en prod, n'est absolument pas anodin, même avec des modules achetés, qui parfois mettent plusieurs semaines avant d'apporter un correctif. Qui plus est maintenant avec la version 8, où l'admin est en train de passer complètement de Smarty à Twig. Alors quand les modules sont fait maison et qu'il faut tout mettre à jour, on a pas que ça a faire de faire de la veille techno sur les versions de presta et de recoder des pans entier de module qui plus est s'il sont complexes. En moins d'un an Prestashop a changé au moins 5x de version (edit : 10 pour être précis : https://build.prestashop-project.org/tag/releases/). Pour un site en prod, ça fait beaucoup de mise à jour pour rien. Je connais des proprio de site qui tournent encore sur 1.2 et qui vendent très bien et qui n'ont pas de soucis, malgré le fait que pour le coup, je pense qu'il faut faire un minimum de mise à jour juste pour bénéficier des gains technologiques. Mais mettre tout constamment à jour est une hérésie et ce n'est clairement pas une solution, la preuve en est que le problème que j'ai soulevé des paramètres non obligatoires est présent depuis au moins Prestashop 1.7.8.5 sous php 7.4.28. J'imagine que vous connaissez webbax étant dans le métier, il en parle très bien également :https://www.webbax.ch/2022/01/27/faut-il-mettre-a-jour-prestashop/ Bref, le problème étant résolu, je ne suis plus ce fil. Sur ce, bon week end. Edited May 12 by gngngngn (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 12 Share Posted May 12 Pour préciser ma pensée, je ne prône absolument pas la course à la version (je suis en 1.6.1.26). Seulement, la version 8 est une version récente qui a un rythme de mise à jour important du fait même de sa nouveauté, ce qui est le cas de toutes les premières versions de chaque branche de PrestaShop et, de fait, cela impose de suivre un minimum ce rythme, même si on peut effectuer que certaines mises à jour et non toutes. Discours que je tenais aussi sur les branches de versions précédentes qui ont toutes eu leur version plus ou moins stables, comme la 1.6.0.9 avant la 1.6.1.24, donc vous avez raison sur ce point il faut faire des arbitrages à ce niveau, car une mise à jour n'est, comme vous le dites, jamais anodine. De ce que je constate justement sur l'évolution de la 8, c'est qu'elle permet certaines nouvelles méthodes de développement permettant justement de moins complexifier les conservations de personnalisation ce qui est un plus, après elle intègre des dépendances non maîtrisées qui me dérange tout particulièrement. Merci en tout cas d'avoir partagé la solution du problème, ce qui aidera certainement d'autres développeurs à l'avenir. 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