Comparateur Toyota Highlander 2026 — Outil de vente (QC)
Comparateur dynamique — Toyota Highlander 2026 (QC)
Outil de présentation (sans prix) : Highlander 2026 vs 5 concurrents, calculateur carburant, score pondéré “priorités client”.
📌 Ajuste km/an + % ville + priorités (économie, remorquage, sécurité…) devant le client.
1 fichier HTML
Responsive mobile/tablette/PC
Sans prix véhicule
QC (L/100 km)
Résumé rapide (client)
Chiffres d’usage se recalculent selon tes sliders (sans prix de véhicule).
Conso calculée (selon % ville)
—
Basé sur ville/route officiels + mix ville/route.
Coût carburant (projection)
—
Carburant seulement (sans prix véhicule).
Puissance
—
Essence 265 hp / Hybrid 243 hp (selon version).
Remorquage
—
Essence 5 000 lb • Hybrid 3 500 lb.
Places / sécurité
—
7 ou 8 places (selon version) + TSS 2.5+.
Score priorités client
— /100
Pondéré par les sliders ci-dessous.
Sliders (usage)
Priorités du client (pondération)
0–100. Le score compare le Highlander vs 5 concurrents (placeholders).
Arguments “flash” (à dire au client)
Ce que l’outil démontre
- Usage : coût carburant sur X ans (selon km/an, % ville, $/L).
- Capacité : remorquage 5 000 lb (essence) ou 3 500 lb (hybride).
- Famille : 7/8 places + 3 rangées + polyvalence.
- Sécurité : Toyota Safety Sense 2.5+ de série.
Fiche comparative (sans prix)
Défilement horizontal sur mobile. Tu peux remplacer les placeholders par des chiffres officiels.
| Modèle |
Motorisation |
Puissance (hp) |
0–100 km/h |
Places |
Remorquage (lb) |
Ville (L/100) |
Route (L/100) |
Coffre (L) |
Sécurité |
${m.isToyota ? "Mise en avant" : "Concurrent (placeholder)"}
`; const pill = m.isToyota ? `
${m.safetyTag}` : `
${m.safetyTag}`; tr.innerHTML = `
${modelCell} |
${m.powertrain} |
${m.hp ?? "—"} |
${m.zero100 ? fmt(m.zero100,1)+" s" : "—"} |
${m.seats ?? "—"} |
${(m.tow_lb ?? "—").toLocaleString("fr-CA")} |
${fmt(m.cityL,1)} |
${fmt(m.hwyL,1)} |
${(m.cargoL ?? "—").toLocaleString("fr-CA")} |
${pill} |
`; tbody.appendChild(tr); }); // biểu đồ const labels = ms.map(m => (m.isToyota ? "★ " : "") + shortName(m)); const fuelBars = ms.map(m => blendedL100(m.cityL,m.hwyL,cityPct)); const towBars = ms.map(m => m.tow_lb ?? 0); const scoreBars= ms.map(m => scores.find(s=>s.key===m.key)?.total ?? 0); chartFuel = upsertBar(chartFuel, "chartFuel", {labels, label:"Conso calculée (L/100) — plus bas = mieux", data:fuelBars}, {reverseY:true}); chartTow = upsertBar(chartTow, "chartTow", {labels, label:"Remorquage (lb) — plus haut = mieux", data:towBars}); chartScore= upsertBar(chartScore,"chartScore",{labels, label:"Score priorités client (0–100) — plus haut = mieux", data:scoreBars}); window.__STATE__ = {kmYear,fuelPrice,cityPct,years,weights,ms,l100,costHorizon,scoreCar}; } [ "variant","kmYear","fuelPrice","cityPct","years", "wFuel","wTow","wPerf","wSafety","wPrac","wPeace" ].forEach(id => $(id).addEventListener("input", render)); $("resetBtn").addEventListener("click", ()=>{ $("variant").value = "gas_xle"; $("kmYear").value = 20000; $("fuelPrice").value = 1.75; $("cityPct").value = 60; $("years").value = 5; $("wFuel").value = 65; $("wTow").value = 55; $("wPerf").value = 30; $("wSafety").value = 75; $("wPrac").value = 60; $("wPeace").value = 80; render(); }); $("exportBtn").addEventListener("click", async ()=>{ const s = window.__STATE__; const car = s.ms[0]; const txt = `Résumé client — ${car.brand} ${car.model} • Cách sử dụng: ${s.kmYear.toLocaleString("fr-CA")} km/an, ${s.cityPct}% ville, ${s.years} ans, bản chất ${s.fuelPrice.toFixed(2)} $/L • Tính toán conso: ${s.l100.toFixed(1)} L/100 km • Bộ chế hòa khí chiếu: ~${Math.round(s.costHorizon).toLocaleString("fr-CA")} $ sur ${s.years} ans (bộ chế hòa khí) • Sức mạnh: ${car.hp} mã lực | Sửa chữa: ${car.tow_lb.toLocaleString("fr-CA")} lb | Địa điểm: ${car.seats} • Sécurité: ${car.safetyTag} • Ưu tiên về điểm số: ${s.scoreCar}/100 Tuyên bố miễn trừ trách nhiệm: giá trị chỉ dẫn; phiên bản/điều kiện selon khác nhau; vérifier données officelles.`; thử{ đang chờ navigator.clipboard.writeText(txt); $("exportBtn").textContent = "Bản sao sơ yếu lý lịch ✓"; setTimeout(()=>$("exportBtn").textContent="CV sao chép lý lịch", 1200); }catch(e){ notification("Không thể sao chép tự động. Sao chép thủ công."); } }); kết xuất();