====== Wiki — Système de Transport (Trailers) ====== Ce wiki explique comment Mobil calcule le coût de transport d'une commande, où régler les paramètres, et comment intervenir si le résultat ne correspond pas aux attentes. ---- ===== 1. Principe général ===== Le transport est facturé **par trailer (remorque)**, **par hub**, et ajouté automatiquement au panier au moment du calcul total. Le système : - Regroupe les items du panier **par hub**. - Pour chaque hub, trouver la « recette » de chaque produit en composants (tubes, connecteurs…). - Calcule le **poids total** et le **volume total** de ces composants. - Détermine le nombre minimal de trailers nécessaires pour transporter le tout. - Multiplie par le **tarif unitaire d'un trailer** et ajoute le montant comme frais distinct au panier. Le client voit donc, par exemple : ''Transport — Hub Cultureghem (2 trailers) : 60 €''. ---- ===== 2. Formule de calcul (technique pas nécessaire de lire) ===== Pour un hub donné : nb_trailers = max( ceil(poids_total / capacité_poids_trailer), ceil(volume_total_ajusté / capacité_volume_trailer) ) * ''poids_total'' = somme de (''poids_kg'' du composant × quantité requise) pour tous les composants à transporter. * ''volume_total_ajusté'' = somme de (volume_m³ × **facteur de nesting** × quantité), où le facteur dépend du ''type_transport'' du composant. * ''volume_m³'' = ''longueur_cm × largeur_cm × hauteur_cm / 1 000 000''. Le ''max(…)'' garantit qu'on a toujours assez de trailers pour absorber la contrainte la plus serrée (poids **ou** volume). > Le **facteur de nesting** reflète le fait que certains objets s'empilent ou s'imbriquent. Un composant ''tubulaire'' (tubes longs) prend moins de place que son volume brut ne le suggère (les tubes se rangent serrés) → facteur < 1. Un composant ''fragile'' ou ''volumineux'' peut au contraire occuper plus de place utile que son volume brut → facteur ≥ 1. ---- ===== 3. Paramètres ajustables ===== Tous les paramètres se règlent à **deux endroits** : ==== 3.1 Globaux — page d'options ACF « Transport Configuration » ==== - Se connecter à l'admin - Menu admin - **Réglages → Transport Configuration** ^ Champ ^ Rôle ^ Valeur par défaut ^ | ''tarif_trailer'' | Prix facturé par trailer (en €). | 40 | | ''cap_poids_kg'' | Capacité de chargement d'un trailer en kg. | 750 | | ''cap_volume_m3'' | Capacité de chargement d'un trailer en m³. | 15 | | ''facteur_tubulaire'' | Facteur de nesting pour les composants tubulaires. | 1.0 | | ''facteur_plat'' | Facteur de nesting pour les composants plats (panneaux). | 1.0 | | ''facteur_volumineux'' | Facteur de nesting pour les composants volumineux. | 1.0 | | ''facteur_fragile'' | Facteur de nesting pour les composants fragiles. | 1.0 | Ces valeurs sont **globales** et s'appliquent à tous les hubs et toutes les commandes. ==== 3.2 Par composant — fiche du composant ==== Sur la page d'édition de chaque composant (CPT « composant »), les champs suivant sont paramètrables : ^ Champ ^ Rôle ^ | ''poids_kg'' | Poids unitaire du composant en kg. | | ''longueur_cm'' | Longueur en cm. | | ''largeur_cm'' | Largeur en cm. | | ''hauteur_cm'' | Hauteur en cm. | | ''type_transport'' | Catégorie de transport : ''tubulaire'', ''plat'', ''volumineux'', ''fragile''. Détermine quel facteur de nesting s'applique. | Si l'un de ces champs est vide ou à 0, le composant est compté avec une valeur nulle pour cette dimension (mais ne casse pas le calcul). ---- ===== 4. Comment ajuster le coût de transport ===== ==== Cas A — Le transport est trop cher / trop bon marché de façon générale ==== → Modifier ''tarif_trailer'' dans **Transport Configuration**. Effet : tous les frais de transport montent ou descendent proportionnellement. ==== Cas B — Les commandes sortent trop souvent à plusieurs trailers ==== → Plusieurs leviers possibles : * Augmenter ''cap_poids_kg'' et/ou ''cap_volume_m3'' si les trailers réels sont plus grands qu'estimé. * Ajuster les ''facteur_*'' à la baisse pour les types qui s'empilent mieux qu'on ne le pensait (ex. ''facteur_tubulaire = 0.6'' si les tubes se rangent vraiment serrés). ==== Cas C — Un produit précis a un transport disproportionné ==== → Vérifier sur ses composants : * Les dimensions sont-elles plausibles ? Un zéro oublié peut faire passer 30 cm en 300 cm. * Le ''type_transport'' est-il correct ? Un panneau classé en ''volumineux'' au lieu de ''plat'' peut sur-évaluer le volume. * Le ''poids_kg'' est-il par unité (pas par lot) ? ==== Cas D — Un produit ne génère pas de frais de transport ==== → Vérifier que le produit a bien une **recette** (''recette_composants'' rempli) et que le ''hub_id'' est bien transmis au panier (sélection du hub dans le formulaire produit côté client). Un produit sans recette ou sans hub est silencieusement ignoré pour le calcul transport. ---- ===== 5. Comportement côté client ===== * **Page produit** : un encart informatif explique que le transport est calculé au panier (''X € par trailer, calculé par hub de retrait''). * **Panier / Checkout** : une ligne de frais distincte apparaît par hub concerné. Format : ''Transport — (N trailer(s))''. * Le montant total des frais de transport est la **somme** des lignes par hub. > Une commande qui implique à 2 hubs différents générera 2 lignes de transport, avec un calcul indépendant pour chaque hub. C'est intentionnel : chaque hub envoie ses propres trailers. ---- ===== 6. Workflow conseillé pour calibrer le système ===== - **Mesurer la capacité réelle** des trailers (poids max chargeable, volume utile) → renseigner ''cap_poids_kg'' et ''cap_volume_m3''. - **Définir le prix d'un trajet** (carburant + temps + amortissement) → renseigner ''tarif_trailer''. - **Tester avec une commande type** (ex. 1 panier de basket) : noter le résultat, comparer à l'attente terrain. - **Affiner les facteurs de nesting** : * Si trop de trailers sont calculés → baisser les facteurs des types concernés. * Si pas assez → monter les facteurs. - **Vérifier les composants critiques** (ceux qui apparaissent dans beaucoup de produits) : leurs poids/dimensions doivent être exacts ; une erreur ici se propage partout. ---- ===== 7. Erreurs fréquentes ===== ^ Symptôme ^ Cause probable ^ Solution ^ | Aucun frais de transport au panier | Aucun item n'a de ''hub_id'', ou tous les produits sont sans recette. | Vérifier la sélection du hub dans le formulaire produit + remplir ''recette_composants''. | | Toujours 1 trailer même pour une grosse commande | ''cap_poids_kg'' ou ''cap_volume_m3'' trop élevés. | Réduire les capacités à des valeurs réalistes. | | Frais énormes pour une petite commande | Composant avec dimensions exagérées (erreur d'unité) ou facteur trop haut. | Auditer les composants impliqués, corriger ''cm'' vs ''m''. | | Type ''tubulaire'' mais facteur ignoré | Champ ''type_transport'' mal orthographié ou vide → le système retombe sur ''facteur_volumineux'' par défaut. | Re-sélectionner la valeur dans la liste déroulante du composant. | | Frais différents en preview vs au checkout | Le panier a changé entre les deux (item ajouté/retiré, hub différent). | Recharger le panier ; les frais sont recalculés à chaque modification. | ---- ===== 8. Référence rapide — Types de transport ===== ^ Type ^ Pour quoi ^ Comportement attendu ^ | ''tubulaire'' | Tubes, barres longues. | S'empilent serré → facteur typiquement < 1. | | ''plat'' | Panneaux, plaques. | Se posent à plat les uns sur les autres → facteur ≈ 1 ou < 1. | | ''volumineux'' | Pièces encombrantes non empilables. | Occupent leur volume brut → facteur ≈ 1. | | ''fragile'' | Pièces qui ne peuvent pas être empilées. | Nécessitent un espace dédié → facteur ≥ 1. | Le bon réglage final dépend de **votre** flotte et **votre** méthode de chargement — les valeurs par défaut (1.0 partout) sont neutres et à ajuster.