Fonctionnalites
Produits configurables
Variantes couleur/longueur, format de code produit et configurateur.
Certains produits (profiles aluminium principalement) existent en plusieurs variantes de couleur et de longueur. Le code produit encode ces informations.
Format du code produit
[C|F] + CC + PPPP + LL + [suffix]| Segment | Signification | Exemple |
|---|---|---|
C ou F | Prefixe optionnel (C = ossature, F = accessoire) | C |
CC | Code couleur (2 chiffres) | 12 = Blanc 9010 |
PPPP | Code produit de base (2 a 4 chiffres) | 0081 = Lisse 81 |
LL | Code longueur (2 chiffres) | 29 = 2940mm |
suffix | Suffixe optionnel (variante) | K, BD, TH1 |
Exemples
| Code | Decode |
|---|---|
C12008129 | Blanc (12), Lisse 81 (0081), 2940mm (29) |
C12121426K | Blanc (12), Angle 1214, 2640mm (26), variante K |
C051040BD00TH1 | Noir 9005 (05), produit 1040, variante BD00TH1 |
Les variantes avec et sans suffixe sont des produits distincts dans Cegid.
Configurateur
Quand un client consulte un produit configurable, le frontend affiche un configurateur qui permet de choisir :
- La couleur — selecteur avec les couleurs disponibles (avec codes RAL)
- La longueur — selecteur avec les longueurs disponibles
Le configurateur reconstruit le code produit en temps reel et affiche le prix et le stock de la variante selectionnee.
Fichiers cles
| Fichier | Role |
|---|---|
frontend/src/types/product.ts | isConfigurableProduct, parseProductCode, buildProductCode |
backend/app/schemas/product_variant.py | Memes fonctions cote Python |
backend/app/services/product_variant_service.py | Recherche de variantes (regex SQL) |
backend/app/api/v1/colors.py | Extraction du code couleur |
backend/app/services/product_service.py | Filtre couleur catalogue |
Codes couleur
Les couleurs sont gerees dans la table color_codes avec :
- Le code numerique (2 chiffres, ex:
12) - Le code RAL (ex:
9010) - Le libelle (ex: "Blanc 9010")
La table est administrable via la page admin Couleurs.