Comparateur Toyota Grand Highlander 2026 — Outil de vente (QC)
Résumé rapide (client)
Les coûts d’usage se recalculent en direct selon tes sliders (carburant seulement, sans prix véhicule).
Conso calculée (selon % ville)
—
Basée sur ville/route officiels (ou “comb” si ville/route inconnus).
Coût carburant (projection)
—
Carburant seulement (aucun prix véhicule).
Puissance / couple
—
Essence 265 hp; Hybrid 243 hp; Hybrid MAX 362 hp & 400 lb-ft.
Remorquage
—
Hybrid MAX & Essence jusqu’à 5 000 lb; Hybrid 3 500 lb.
Espace / famille
—
Jusqu’à 97.5 pi³ cargo (sièges rabattus) + 7/8 places (selon version).
Score “priorités client”
— /100
Comparaison pondérée vs 5 concurrentes.
Sliders (usage)
Priorités du client (pondération)
0–100. Le score compare le Grand Highlander vs 5 concurrents (placeholders).
Arguments “flash” (à dire au client)
Ce que l’outil démontre
- 3 motorisations : Essence (remorquage), Hybrid (économie), Hybrid MAX (performance + 5 000 lb).
- Usage : coût carburant sur X ans (km/an, % ville, $/L).
- Famille : 7/8 places + énorme espace cargo (sièges rabattus).
- Score : pondéré selon ce qui compte pour le client.
Fiche comparative (sans prix)
Défilement horizontal sur mobile. Les concurrents sont à remplir par tes chiffres officiels.
| Modèle |
Motorisation |
Puissance (hp) |
Couple (lb-ft) |
0–100 km/h |
Places |
Remorquage (lb) |
Ville (L/100) |
Route (L/100) |
Combinée (L/100) |
Cargo max |
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.tq && m.tq>0) ? m.tq : "—"} |
${m.zero100 ? fmt(m.zero100,1)+" s" : "—"} |
${m.na upuan ?? "—"} |
${(m.tow_lb ?? "—").toLocaleString("fr-CA")} |
${isFinite(m.cityL) ? fmt(m.cityL,1) : "—"} |
${isFinite(m.hwyL) ? fmt(m.hwyL,1): "—"} |
${isFinite(m.combL) ? fmt(m.combL,1) : "—"} |
${m.cargoMax ?? "—"} |
${pill} |
`; tbody.appendChild(tr); }); // mga tsart const labels = ms.map(m => (m.isToyota ? "★ " : "") + shortName(m)); const fuelBars = ms.map(m=>{ const mix = blendedL100(m.cityL,m.hwyL,cityPct); return isFinite(mix) ? +mix.toFixed(2) : (isFinite(m.combL) ? m.combL : 0); }); 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 (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.__ESTADO__ = {kmYear,Presyo ng gasolina,lungsodPct,taon,timbang,ms,l100,costHorizon,scoreCar}; } [ "baryant","kmYear","fuelPrice","cityPct","years", "wFuel","wTow","wPerf","wSafety","wPrac","wPeace" ].forEach(id => $(id).addEventListener("input", render)); $("resetBtn").addEventListener("click", ()=>{ $("variant").value = "gasolina"; $("kmYear").value = 20000; $("Presyo ng gasolina").value = 1.75; $("cityPct").value = 60; $("taon").value = 5; $("wFuel").value = 65; $("wTow").value = 60; $("wPerf").value = 35; $("wSafety").value = 75; $("wPrac").value = 70; $("wPeace").value = 80; render(); }); $("exportBtn").addEventListener("click", async ()=>{ const s = window.__STATE__; const car = s.ms[0]; const l100Txt = isFinite(s.l100) ? s.l100.toFixed(1) : "—"; const costTxt = isFinite(s.costHorizon) ? Math.round(s.costHorizon).toLocaleString("fr-CA") : "—"; const tqTxt = (car.tq && car.tq>0) ? car.tq+" lb-ft" : "—"; const txt = `Résumé client — ${car.brand} ${car.model} • Paggamit: ${s.kmYear.toLocaleString("fr-CA")} km/an, ${s.cityPct}% ville, ${s.years} ans, essence ${s.fuelPrice.toFixed(2)} $/L • Conso calculée: ${l100Txt} L/100 km • Projection carburant: ~${costTxt} $ sur ${s.years} ans (carburant seulement:} $ Mag-asawa: ${tqTxt} | Remorquage: ${(car.tow_lb||0).toLocaleString("fr-CA")} lb • Mga Lugar/Cargo: ${car.seats} | Cargo max: ${car.cargoMax} • Mga priyoridad ng Score: ${s.scoreCar}/100 Disclaimer: valeurs indicatives; iba't ibang bersyon/kondisyon ng selon; vérifier données officielles.`; subukan{ hintayin ang navigator.clipboard.writeText(txt); $("exportBtn").textContent = "Résumé copié ✓"; setTimeout(()=>$("exportBtn").textContent="Copier resume", 1200); }catch(e){ alert("Copie automatique impossible. Copiez manuellement."); } }); render();