Diagnostic des incohérences de stock

📋 Explication du problème

selling.php utilise la table TMP_ARTICLE_SEARCH (mise Ă  jour par le CRON)

detail-article.php lit directement ARTICLE_EXISTER_CONDITIONNEMENT (données en temps réel)

Si le CRON n'a pas tourné correctement ou si les données ont changé depuis, il y a des incohérences.

1. ❌ Articles INDISPONIBLES sur listing MAIS DISPONIBLES sur détail

Ces articles apparaissent comme indisponibles (0€ ou pas de conditionnement) sur selling.php mais ont des conditionnements disponibles dans la base.

Nombre d'articles concernés : 0

2. ⚠️ Articles DISPONIBLES sur listing MAIS INDISPONIBLES sur détail

Ces articles ont un prix sur selling.php mais aucun conditionnement avec BE_AEC_DISPO=1 dans la base.

Nombre d'articles concernés : 0

3. 📊 Statistiques globales

StatistiqueValeur
Total d'articles actifs
Articles disponibles sur listing (TMP_ARTICLE_SEARCH)
Articles disponibles sur détail (ARTICLE_EXISTER_CONDITIONNEMENT)
Incohérences détectées0

4. 🔍 Causes possibles des incohérences

Cause 1 : CRON non exécuté ou en erreur

Si le CRON n'a pas tourné depuis plusieurs jours, TMP_ARTICLE_SEARCH contient des données obsolètes.

Cause 2 : Bug dans le CRON (corrigé aujourd'hui)

Le CRON utilisait DELETE + INSERT au lieu de INSERT ... ON DUPLICATE KEY UPDATE, ce qui pouvait causer des pertes de données.

Cause 3 : Tarifs à 0€ (corrigé aujourd'hui)

Le CRON incluait les tarifs à 0€ dans le calcul du prix minimum, affichant 0€ au lieu du vrai prix.

Cause 4 : Modifications manuelles dans la base

Si des conditionnements ont été ajoutés/modifiés manuellement sans relancer le CRON.

5. âś… Solution

Action immédiate :

Relancer le CRON manuellement pour reconstruire TMP_ARTICLE_SEARCH avec les données à jour.

Commande : php /home/ubuntu/_CRON/cron_maj_site_xml_abelia_test.php

Action permanente :

  1. Uploader le fichier CRON corrigé (avec les 2 corrections appliquées aujourd'hui)
  2. Vérifier que le CRON s'exécute bien tous les jours
  3. Surveiller les logs du CRON pour détecter les erreurs