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 :
- normalisation des offres ;
- génération des Product Models ;
- génération des variantes ;
- génération des spécifications ;
- génération des galeries ;
- intégration frontend ;
- 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_normlorsque pertinent ;screen_size_normlorsque 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.