Aller au contenu

Industrialisation des verticales produit

Ce document décrit la procédure standard pour industrialiser une catégorie produit dans ccx-feeds-industrial.

Pipeline cible

Chaque verticale doit couvrir les étapes suivantes :

  1. normalisation des offres ;
  2. génération des Product Models ;
  3. génération des variantes ;
  4. génération des spécifications ;
  5. génération des galeries ;
  6. intégration frontend ;
  7. validation fonctionnelle et quantitative.

Le même moteur doit être réutilisé entre les verticales autant que possible. Les différences doivent être portées par la configuration et les normalizers propres à chaque catégorie.

Checklist d'une nouvelle verticale

1. Normalisation

Créer ou compléter un normalizer dédié à la verticale.

Champs généralement attendus :

  • model_norm ;
  • series_norm ;
  • storage_norm ;
  • color_norm ;
  • network_norm lorsque pertinent ;
  • screen_size_norm lorsque pertinent ;
  • variant_identity_key.

Vérifier les modèles dont le nom contient un caractère +. Les expressions régulières ne doivent pas utiliser une frontière de mot qui supprimerait le + final. Préférer une lookahead adaptée.

2. Product Models

Reconstruire la projection Product Models et vérifier :

  • le nombre de modèles ;
  • l'unicité de model_key ;
  • les noms commerciaux ;
  • les slugs ;
  • l'image principale.

3. Variantes

Reconstruire les variantes et vérifier les dimensions propres à la catégorie :

  • stockage ;
  • couleur ;
  • connectivité ;
  • taille ;
  • autres attributs discriminants.

4. Spécifications

Reconstruire les Product Specs et vérifier qu'une fiche existe pour chaque modèle attendu.

5. Galeries

Reconstruire les galeries et vérifier :

  • gallery_count ;
  • images_count ;
  • primary_image ;
  • images_json ;
  • l'absence de galerie vide.

6. Frontend et filtres

Réutiliser les composants de filtre existants au lieu de créer un moteur spécifique par catégorie.

La configuration de la verticale doit définir les facettes à exposer. Pour les tablettes, les facettes attendues sont notamment :

  • marque ;
  • modèle ;
  • taille d'écran ;
  • stockage ;
  • connectivité ;
  • couleur ;
  • état ;
  • prix ;
  • marchand.

Le comportement desktop, mobile, le panneau latéral, les animations et l'accessibilité doivent rester cohérents avec la verticale Smartphone.

État validé de la verticale Tablet

La verticale tablet a été industrialisée et validée avec les résultats suivants :

  • 33 offres normalisées ;
  • 11 Product Models ;
  • 26 variantes ;
  • 11 fiches specs ;
  • 11 galeries ;
  • jusqu'à 6 images par modèle ;
  • aucune galerie vide ;
  • rebuild galerie terminé avec status: ok.

Modèles validés :

  • Galaxy Tab A11 ;
  • Galaxy Tab A11+ ;
  • Galaxy Tab Active5 Pro ;
  • Galaxy Tab S10 FE ;
  • Galaxy Tab S10 FE+ ;
  • Galaxy Tab S10 Lite ;
  • Galaxy Tab S10+ ;
  • Galaxy Tab S11 ;
  • Galaxy Tab S11 Ultra ;
  • Galaxy Tab S6 Lite ;
  • Galaxy Tab S9.

Correctif des URLs d'images proxy

Certaines plateformes d'affiliation, notamment ProductServe, servent les images depuis la racine du domaine et transmettent l'URL source dans la query string.

Exemple :

https://images2.productserve.com/?w=200&h=200&url=...

Le validateur de galerie ne doit pas rejeter automatiquement une URL dont le chemin vaut / si une query string est présente.

Règle actuelle :

  • domaine invalide : rejet ;
  • URL racine vide sans query string : rejet ;
  • URL racine avec query string : acceptée ;
  • placeholder ou noimage.gif : rejet.

Ce correctif bénéficie à toutes les verticales alimentées par des URLs proxy, pas uniquement à Tablet.

Commandes de contrôle

Reconstruire les galeries Tablet

docker exec -it ccx-platform-worker wp eval '
$result = ccx_product_gallery_rebuild("tablet");
echo wp_json_encode(
  $result,
  JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
) . PHP_EOL;
' --path=/var/www/html

Contrôler les galeries enregistrées

docker exec -it ccx-platform-worker wp eval '
global $wpdb;
$table = ccx_product_gallery_table();
$rows = $wpdb->get_results(
  $wpdb->prepare(
    "SELECT model_slug, images_count, primary_image, images_json
     FROM {$table}
     WHERE vertical_id = %s
     ORDER BY model_slug",
    "tablet"
  ),
  ARRAY_A
);
foreach ($rows as $row) {
  echo $row["model_slug"]
    . " | images=" . $row["images_count"]
    . " | primary=" . $row["primary_image"]
    . PHP_EOL;
}
' --path=/var/www/html

Critères de validation finale

Une verticale peut être considérée comme industrialisée lorsque :

  • toutes les offres ont été renormalisées ;
  • les modèles attendus sont uniques et correctement nommés ;
  • les variantes sont cohérentes ;
  • chaque modèle possède ses specs ;
  • chaque modèle possède au moins une image exploitable ;
  • les filtres frontend utilisent les champs normalisés ;
  • le rendu desktop et mobile est validé ;
  • les commandes de rebuild retournent status: ok.