Jump to content

Résolu : Ajout de produit par API qui sont bien ajoutés et qui s'effacent


Recommended Posts

Posted (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 :

image.thumb.png.3d375b80a9edbc8c1e48f3eb51708564.png


Et lorsque je clique dessus
image.thumb.png.66aefaeba61cb86e0e5de5ad10343649.png

 

Par exemple un produit ajouté après cette disparition, tout est nickel et bien en place :
image.thumb.png.489fd267ed5b20cc9b722d6705cd9432.png



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 by gngngngn
Résolu (see edit history)
Link to comment
Share on other sites

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

Posted (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 :
image.png.267bfca116ac8f55915bc7af60bbfe5c.png

image.png.77afd31c28c4485c22371b7d06f1dacf.png

image.thumb.png.ef6f26902fc27e063f9d97c713a5d572.png

 

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":
image.png.73252e7cf39a4526196fc75adcb41eef.png

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 by gngngngn (see edit history)
Link to comment
Share on other sites

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/28409
https://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

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/28409
https://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

  • gngngngn changed the title to Résolu : Ajout de produit par API qui sont bien ajoutés et qui s'effacent

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

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

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

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

Posted (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 by gngngngn (see edit history)
Link to comment
Share on other sites

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

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