{"id":23568,"date":"2026-06-07T06:33:45","date_gmt":"2026-06-07T06:33:45","guid":{"rendered":"https:\/\/www.transports-express-caraibes.fr\/blog\/lire-contrat-leasing-voiture\/"},"modified":"2026-06-07T06:33:45","modified_gmt":"2026-06-07T06:33:45","slug":"lire-contrat-leasing-voiture","status":"publish","type":"post","link":"https:\/\/www.transports-express-caraibes.fr\/blog\/lire-contrat-leasing-voiture\/","title":{"rendered":"Comment lire un contrat de leasing voiture sans se tromper"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>Comment lire un contrat de leasing voiture sans se tromper<\/strong> : comprendre ce qui se cache derri\u00e8re une mensualit\u00e9 s\u00e9duisante, \u00e9valuer l&rsquo;<strong>engagement financier<\/strong> r\u00e9el et pr\u00e9parer la restitution sans surprise. Ce texte propose une lecture claire et op\u00e9rationnelle du <strong>contrat de leasing<\/strong> (LLD ou LOA), liste les clauses qui plombent le budget et donne des actions concr\u00e8tes \u00e0 r\u00e9aliser avant et apr\u00e8s signature. Claire, graphiste \u00e0 Bordeaux, sert de fil conducteur : elle veut garder son budget ma\u00eetris\u00e9 tout en changeant de voiture tous les 3 ans. Les exemples, chiffres et checklists sont pens\u00e9s pour un conducteur qui cherche de la s\u00e9curit\u00e9 financi\u00e8re et une mobilit\u00e9 simple, pas pour un expert juridique.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>En bref :<\/strong><\/p>\n\n<ul class=\"wp-block-list\"><li><strong>V\u00e9rifiez la dur\u00e9e de location<\/strong> et le <strong>kilom\u00e9trage inclus<\/strong> \u2014 d\u00e9passement = source principale de frais.<\/li><li>Regardez si l\u2019<strong>entretien v\u00e9hicule<\/strong> est r\u00e9ellement inclus ou soumis \u00e0 exclusions.<\/li><li>Contr\u00f4lez le <strong>loyer d\u2019appel<\/strong>, l\u2019apport et la pr\u00e9sence d\u2019une option d\u2019achat.<\/li><li>Pr\u00e9parez la restitution : photos dat\u00e9es, carnet, cl\u00e9s et PV contradictoire \u00e0 signer.<\/li><li>Comparez les offres compl\u00e8tes, pas seulement le montant du loyer \u2014 consultez un guide pratique pour aller plus loin.<\/li><\/ul>\n\n<h2 class=\"wp-block-heading\">Qu&rsquo;est-ce qu&rsquo;un contrat de leasing voiture et pourquoi la lecture contrat compte plus que le loyer<\/h2>\n\n<p class=\"wp-block-paragraph\">Un <strong>contrat de leasing<\/strong> fixe la <strong>dur\u00e9e de location<\/strong>, le <strong>kilom\u00e9trage inclus<\/strong>, les loyers et les conditions de restitution. Pour Claire, c\u2019\u00e9tait une offre \u00e0 199 \u20ac\/mois qui cachait un forfait de restitution \u00e9lev\u00e9 : la mensualit\u00e9 seule ne dit rien du co\u00fbt total.<\/p>\n\n<p class=\"wp-block-paragraph\">La <strong>lecture contrat<\/strong> doit porter sur les services inclus, le bar\u00e8me de d\u00e9gradations, les p\u00e9nalit\u00e9s kilom\u00e9triques et la clause de <strong>r\u00e9siliation contrat<\/strong>. Les alertes de printemps 2026 ont montr\u00e9 que les offres tr\u00e8s visibles peuvent masquer des frais importants \u00e0 la restitution.<\/p>\n\n<p class=\"wp-block-paragraph\">Insight : garder le focus sur le co\u00fbt contractuel total permet d\u2019\u00e9viter les mauvaises surprises \u00e0 la fin du contrat.<\/p>\n\n<h2 class=\"wp-block-heading\">Clause par clause : lesquelles v\u00e9rifier ligne par ligne<\/h2>\n\n<p class=\"wp-block-paragraph\">La checklist suivante reprend les \u00e9l\u00e9ments contractuels qui influent le plus sur votre budget. Pour chaque entr\u00e9e, demandez la preuve \u00e9crite et un exemple chiffr\u00e9.<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Dur\u00e9e et kilom\u00e9trage<\/strong> : longueur du bail, kilom\u00e9trage annuel et prix au km suppl\u00e9mentaire.<\/li><li><strong>Loyer d&rsquo;appel et apport<\/strong> : est-ce un premier loyer major\u00e9 ou un financement d\u00e9guis\u00e9\u2009?<\/li><li><strong>Entretien v\u00e9hicule<\/strong> : inclus ou limit\u00e9 (pneus, plaquettes, batteries \u00e9lectriques)\u2009?<\/li><li><strong>Assurance<\/strong> : franchises, garanties valeur \u00e0 neuf, exclusions pour le leasing.<\/li><li><strong>Frais de restitution<\/strong> : bar\u00e8me d\u2019usure, r\u00e9parations, accessoires manquants.<\/li><li><strong>R\u00e9siliation contrat<\/strong> : p\u00e9nalit\u00e9s et possibilit\u00e9s de transfert du contrat.<\/li><\/ul>\n\n<h3 class=\"wp-block-heading\">Dur\u00e9e de location, kilom\u00e9trage et d\u00e9passements<\/h3>\n\n<p class=\"wp-block-paragraph\">Un contrat standard indique la <strong>dur\u00e9e de location<\/strong> (ex. 24, 36 ou 48 mois) et un plafond annuel. Le d\u00e9passement peut co\u00fbter de 0,10 \u20ac \u00e0 0,80 \u20ac par km selon le v\u00e9hicule et le loueur. Pour Claire, pr\u00e9voir 5 000 km de marge a \u00e9vit\u00e9 600 \u20ac de facturation en fin de bail.<\/p>\n\n<p class=\"wp-block-paragraph\">Demandez une simulation de facturation en cas de d\u00e9passement de 10 % et comparez avec le co\u00fbt d\u2019un rachat anticip\u00e9. Insight : mieux vaut sur\u00e9valuer l\u00e9g\u00e8rement votre kilom\u00e9trage pr\u00e9vu que de subir une facture \u00e9lev\u00e9e.<\/p>\n\n<h3 class=\"wp-block-heading\">Entretien v\u00e9hicule, assistance et exclusions<\/h3>\n\n<p class=\"wp-block-paragraph\">La mention \u00ab entretien inclus \u00bb doit d\u00e9tailler pi\u00e8ces et main d\u2019\u0153uvre, pneus, filtres et batterie sur v\u00e9hicules \u00e9lectriques. Certains contrats excluent l\u2019usure des pneus ou les plaquettes. Claire a demand\u00e9 la liste pr\u00e9cise : la formule semblait \u00ab tout compris \u00bb mais excluait la recharge et la batterie sur un mod\u00e8le \u00e9lectrique.<\/p>\n\n<p class=\"wp-block-paragraph\">Exigez le carnet d\u2019entretien \u00e0 jour et conservez toutes les factures. Si l\u2019entretien est externalis\u00e9, notez la proc\u00e9dure et le prestataire agr\u00e9\u00e9 pour \u00e9viter refus de prise en charge. Insight : un entretien flou peut g\u00e9n\u00e9rer des factures de plusieurs centaines d\u2019euros.<\/p>\n\n<h2 class=\"wp-block-heading\">Frais de restitution et litiges fr\u00e9quents<\/h2>\n\n<p class=\"wp-block-paragraph\">La phase de restitution concentre la majorit\u00e9 des litiges : \u00e9tat du v\u00e9hicule, <strong>kilom\u00e9trage inclus<\/strong>, accessoires manquants et contestation du bar\u00e8me. Les associations de consommateurs ont relay\u00e9 des cas o\u00f9 l\u2019effet marketing d\u2019un loyer bas a laiss\u00e9 place \u00e0 une facture finale sal\u00e9e.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Clause<\/th>\n<th>Ce qu&rsquo;il faut v\u00e9rifier<\/th>\n<th>Impact sur le budget<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Kilom\u00e9trage<\/strong><\/td>\n<td>Prix du km suppl\u00e9mentaire et flexibilit\u00e9<\/td>\n<td>Peut ajouter 100\u20131 000 \u20ac selon l\u2019usage<\/td>\n<\/tr>\n<tr>\n<td><strong>Usure et d\u00e9gradations<\/strong><\/td>\n<td>Grille de restitution avec exemples photos<\/td>\n<td>Facturation possible de 200\u20133 000 \u20ac<\/td>\n<\/tr>\n<tr>\n<td><strong>R\u00e9siliation contrat<\/strong><\/td>\n<td>Indemnit\u00e9s et transf\u00e9rabilit\u00e9<\/td>\n<td>Rupture anticip\u00e9e = loyers r\u00e9siduels exigibles<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<p class=\"wp-block-paragraph\">Avant la remise, proc\u00e9dez \u00e0 ces \u00e9tapes : prenez <strong>photos dat\u00e9es<\/strong> de l\u2019ensemble du v\u00e9hicule, rassemblez les doubles de cl\u00e9s et le carnet, demandez un \u00e9tat contradictoire et refusez la signature d\u2019un PV sans copie. Si une facture vous para\u00eet abusive, demandez le bar\u00e8me \u00e9crit et une justification chiffr\u00e9e.<\/p>\n\n<h2 class=\"wp-block-heading\">Cas particulier : v\u00e9hicules \u00e9lectriques et clauses sp\u00e9cifiques<\/h2>\n\n<p class=\"wp-block-paragraph\">L\u2019\u00e9lectrique ajoute des points \u00e0 v\u00e9rifier : location s\u00e9par\u00e9e de batterie, conditions de recharge, d\u00e9t\u00e9rioration de l\u2019autonomie et prise en charge de la batterie en fin de bail. Certains contrats dissocient la batterie et appliquent une grille sp\u00e9cifique \u00e0 son \u00e9tat.<\/p>\n\n<p class=\"wp-block-paragraph\">Exemple : la Renault Zoe vendue et lou\u00e9e en seconde main a g\u00e9n\u00e9r\u00e9 des clauses particuli\u00e8res sur la batterie. De m\u00eame, la structuration du march\u00e9 depuis le rachat de LeasePlan par ALD (nom commercial Ayvens) modifie parfois l\u2019acteur signataire du contrat, sans changer les obligations pour le locataire.<\/p>\n\n<p class=\"wp-block-paragraph\">Insight : sur un v\u00e9hicule \u00e9lectrique, v\u00e9rifiez la clause batterie et demandez une preuve de socle de recharge si install\u00e9 par le loueur.<\/p>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\n\n<!-- Calculateur de co\u00fbt total de leasing (bloc \u00e0 copier\/coller) -->\n<div id=\"leasing-calculator\" class=\"max-w-3xl mx-auto p-4 rounded-lg shadow-sm bg-white text-gray-900\" style=\"max-height:2000px; overflow:auto;\">\n  <h2 class=\"text-2xl font-semibold mb-3\">Simulateur de co\u00fbt total de leasing<\/h2>\n  <p class=\"text-sm text-gray-600 mb-4\">\n    Indiquez mensualit\u00e9, premier loyer, dur\u00e9e en mois, kilom\u00e9trage annuel et prix\/km suppl\u00e9mentaire pour estimer le co\u00fbt total de votre leasing.\n  <\/p>\n\n  <form id=\"calc-form\" class=\"space-y-4\" novalidate>\n    <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3\">\n      <label class=\"flex flex-col\">\n        <span class=\"text-sm font-medium mb-1\">Mensualit\u00e9 (\u20ac)<\/span>\n        <input id=\"monthly\" type=\"number\" inputmode=\"decimal\" step=\"0.01\" min=\"0\" value=\"199\" required\n               class=\"px-3 py-2 border rounded focus:outline-none focus:ring\" aria-describedby=\"monthly-desc\">\n        <small id=\"monthly-desc\" class=\"text-xs text-gray-500\">Montant pay\u00e9 chaque mois (hors autres frais)<\/small>\n      <\/label>\n\n      <label class=\"flex flex-col\">\n        <span class=\"text-sm font-medium mb-1\">Premier loyer \/ apport initial (\u20ac)<\/span>\n        <input id=\"initial\" type=\"number\" inputmode=\"decimal\" step=\"0.01\" min=\"0\" value=\"1500\"\n               class=\"px-3 py-2 border rounded focus:outline-none focus:ring\" required>\n      <\/label>\n\n      <label class=\"flex flex-col\">\n        <span class=\"text-sm font-medium mb-1\">Dur\u00e9e (mois)<\/span>\n        <input id=\"months\" type=\"number\" step=\"1\" min=\"1\" value=\"36\" required\n               class=\"px-3 py-2 border rounded focus:outline-none focus:ring\">\n      <\/label>\n\n      <label class=\"flex flex-col\">\n        <span class=\"text-sm font-medium mb-1\">Kilom\u00e9trage annuel (km\/an)<\/span>\n        <input id=\"kmPerYear\" type=\"number\" step=\"1\" min=\"0\" value=\"12000\" required\n               class=\"px-3 py-2 border rounded focus:outline-none focus:ring\">\n      <\/label>\n\n      <label class=\"flex flex-col\">\n        <span class=\"text-sm font-medium mb-1\">Prix par km suppl\u00e9mentaire (\u20ac)<\/span>\n        <input id=\"extraPerKm\" type=\"number\" inputmode=\"decimal\" step=\"0.01\" min=\"0\" value=\"0.25\" required\n               class=\"px-3 py-2 border rounded focus:outline-none focus:ring\">\n      <\/label>\n\n      <label class=\"flex flex-col\">\n        <span class=\"text-sm font-medium mb-1\">Km r\u00e9els estim\u00e9s sur la p\u00e9riode (optionnel)<\/span>\n        <input id=\"estimatedKmTotal\" type=\"number\" step=\"1\" min=\"0\" placeholder=\"laisser vide si respect du forfait\"\n               class=\"px-3 py-2 border rounded focus:outline-none focus:ring\">\n        <small class=\"text-xs text-gray-500\">Permet d&rsquo;estimer un \u00e9ventuel surco\u00fbt si vous d\u00e9passez le forfait<\/small>\n      <\/label>\n    <\/div>\n\n    <div class=\"flex items-center gap-3\">\n      <button type=\"button\" id=\"calculateBtn\"\n              class=\"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 focus:outline-none focus:ring\">Calculer<\/button>\n      <button type=\"button\" id=\"resetBtn\"\n              class=\"px-4 py-2 bg-gray-200 text-gray-800 rounded hover:bg-gray-300 focus:outline-none focus:ring\">R\u00e9initialiser<\/button>\n      <div class=\"ml-auto text-sm text-gray-500\">Exemple: 199\u20ac\/mois, 1 500\u20ac, 36 mois, 12 000 km\/an, 0,25\u20ac\/km<\/div>\n    <\/div>\n  <\/form>\n\n  <hr class=\"my-4\">\n\n  <section aria-live=\"polite\" id=\"results\" class=\"space-y-3\">\n    <h3 class=\"text-lg font-semibold\">R\u00e9sultats<\/h3>\n\n    <div id=\"breakdown\" class=\"grid grid-cols-1 gap-2\">\n      <!-- Les r\u00e9sultats seront ins\u00e9r\u00e9s ici -->\n      <div id=\"totalBase\" class=\"p-3 bg-gray-50 rounded border\"><\/div>\n      <div id=\"kmInfo\" class=\"p-3 bg-gray-50 rounded border\"><\/div>\n      <div id=\"overCost\" class=\"p-3 bg-gray-50 rounded border\"><\/div>\n      <div id=\"summary\" class=\"p-3 bg-blue-50 rounded border\"><\/div>\n    <\/div>\n  <\/section>\n\n  <p class=\"text-xs text-gray-500 mt-3\">\n    Outil gratuit et approximatif : v\u00e9rifiez toujours les donn\u00e9es de votre contrat. Aucune API externe requise.\n  <\/p>\n<\/div>\n\n<!--\n  Aucune API externe utilis\u00e9e. (Si vous souhaitez compl\u00e9ter ce simulateur avec des donn\u00e9es publiques libres,\n  il faut choisir une API gratuite sans cl\u00e9. Exemple d'API publique (non utilis\u00e9e ici):\n  https:\/\/api.example.com\/tax-rates (exemple fictif)\n  Exemple de r\u00e9ponse JSON (factice) :\n  {\n    \"country\":\"FR\",\n    \"vat_percent\":20,\n    \"mobility_tax_percent\":0.5\n  }\n-->\n\n<script>\n\/*\n  Logique JavaScript du calculateur (comment\u00e9e et lisible)\n\n  Comportement principal :\n  - R\u00e9cup\u00e8re les valeurs du formulaire (mensualit\u00e9, premier loyer, dur\u00e9e, km\/an, prix\/km suppl\u00e9mentaire).\n  - Calcule le co\u00fbt de base : mensualit\u00e9 * dur\u00e9e + premier loyer.\n  - Calcule le kilom\u00e9trage total inclus : km\/an * (dur\u00e9e \/ 12).\n  - Si l'utilisateur renseigne \"Km r\u00e9els estim\u00e9s\", calcule le surco\u00fbt \u00e9ventuel :\n      surplus_km = max(0, km_reels_estimes - km_inclus)\n      surco\u00fbt = surplus_km * prix_par_km_suppl\u00e9mentaire\n  - Affiche un r\u00e9capitulatif accessible et lisible (valeurs format\u00e9es en euros).\n  - Fournit un calcul du co\u00fbt moyen par mois et par km (si km inclus > 0).\n*\/\n\n(function () {\n  \/\/ Utilitaires simples\n  function q(id) { return document.getElementById(id); }\n  function formatEuro(n) {\n    if (!isFinite(n)) return \"\u2014\";\n    \/\/ Formatage local fran\u00e7ais : espace comme s\u00e9parateur de milliers, virgule pour d\u00e9cimales.\n    return new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(n);\n  }\n\n  \/\/ R\u00e9cup\u00e9ration \u00e9l\u00e9ments\n  const monthly = q('monthly');\n  const initial = q('initial');\n  const months = q('months');\n  const kmPerYear = q('kmPerYear');\n  const extraPerKm = q('extraPerKm');\n  const estimatedKmTotal = q('estimatedKmTotal');\n\n  const calculateBtn = q('calculateBtn');\n  const resetBtn = q('resetBtn');\n\n  const totalBase = q('totalBase');\n  const kmInfo = q('kmInfo');\n  const overCost = q('overCost');\n  const summary = q('summary');\n\n  function calculate() {\n    \/\/ Lecture et validation simple\n    const m = parseFloat(monthly.value) || 0;\n    const init = parseFloat(initial.value) || 0;\n    const dur = Math.max(1, Math.floor(Number(months.value) || 0));\n    const kmAn = Math.max(0, Math.floor(Number(kmPerYear.value) || 0));\n    const priceExtra = parseFloat(extraPerKm.value) || 0;\n\n    \/\/ Calculs de base\n    const totalMensualites = m * dur;\n    const costBase = totalMensualites + init;\n\n    \/\/ Kilom\u00e9trage inclus total (sur la p\u00e9riode)\n    const kmInclus = Math.round(kmAn * (dur \/ 12));\n\n    \/\/ Calculs optionnels : surco\u00fbt si l'utilisateur a renseign\u00e9 des km estim\u00e9s r\u00e9els\n    let kmReels = null;\n    if (estimatedKmTotal.value !== '') {\n      \/\/ utilisateur a renseign\u00e9 une estimation\n      kmReels = Math.max(0, Math.round(Number(estimatedKmTotal.value)));\n    }\n\n    let surplusKm = 0;\n    let surplusCost = 0;\n    if (kmReels !== null) {\n      surplusKm = Math.max(0, kmReels - kmInclus);\n      surplusCost = surplusKm * priceExtra;\n    }\n\n    const totalAvecSurco\u00fbt = costBase + surplusCost;\n\n    \/\/ Calculs additionnels\n    const costPerKmIncluded = kmInclus > 0 ? (costBase \/ kmInclus) : NaN;\n    const monthlyEffective = totalAvecSurco\u00fbt \/ dur;\n\n    \/\/ Affichage accessible et clair\n    totalBase.innerHTML = `\n      <strong>Co\u00fbt de base sans surco\u00fbt kilom\u00e9trique :<\/strong>\n      <div class=\"mt-2\">\n        Mensualit\u00e9s (${dur} mois) : <span class=\"font-medium\">${formatEuro(totalMensualites)}<\/span><br>\n        Premier loyer \/ apport : <span class=\"font-medium\">${formatEuro(init)}<\/span><br>\n        Total (mensualit\u00e9s + premier loyer) : <span class=\"font-medium\">${formatEuro(costBase)}<\/span>\n      <\/div>\n    `;\n\n    kmInfo.innerHTML = `\n      <strong>Forfait kilom\u00e9trique inclus :<\/strong>\n      <div class=\"mt-2\">\n        Kilom\u00e9trage annuel d\u00e9clar\u00e9 : <span class=\"font-medium\">${kmAn.toLocaleString('fr-FR')} km\/an<\/span><br>\n        Kilom\u00e9trage total inclus (${dur} mois) : <span class=\"font-medium\">${kmInclus.toLocaleString('fr-FR')} km<\/span><br>\n        Co\u00fbt moyen (hors surco\u00fbt) par km inclus : <span class=\"font-medium\">${isNaN(costPerKmIncluded) ? '\u2014' : formatEuro(costPerKmIncluded)}<\/span>\n      <\/div>\n    `;\n\n    if (kmReels === null) {\n      overCost.innerHTML = `\n        <strong>Surco\u00fbt kilom\u00e9trique :<\/strong>\n        <div class=\"mt-2\">Pas d'estimation de km r\u00e9els fournie. Si vous respectez le forfait, pas de frais suppl\u00e9mentaires.<\/div>\n      `;\n    } else {\n      overCost.innerHTML = `\n        <strong>Surco\u00fbt kilom\u00e9trique estim\u00e9 :<\/strong>\n        <div class=\"mt-2\">\n          Km r\u00e9els estim\u00e9s sur la p\u00e9riode : <span class=\"font-medium\">${kmReels.toLocaleString('fr-FR')} km<\/span><br>\n          Km en surplus : <span class=\"font-medium\">${surplusKm.toLocaleString('fr-FR')} km<\/span><br>\n          Prix par km suppl\u00e9mentaire : <span class=\"font-medium\">${formatEuro(priceExtra)}<\/span><br>\n          Surco\u00fbt estim\u00e9 : <span class=\"font-medium\">${formatEuro(surplusCost)}<\/span>\n        <\/div>\n      `;\n    }\n\n    summary.innerHTML = `\n      <strong>R\u00e9sum\u00e9 global :<\/strong>\n      <div class=\"mt-2\">\n        Co\u00fbt total estim\u00e9 du leasing : <span class=\"text-lg font-semibold\">${formatEuro(totalAvecSurco\u00fbt)}<\/span><br>\n        Moyenne mensuelle effective (co\u00fbt total \/ dur\u00e9e) : <span class=\"font-medium\">${formatEuro(monthlyEffective)}<\/span>\n      <\/div>\n    `;\n\n    \/\/ Mise au focus (optionnel) pour accessibilit\u00e9 : annonce du total\n    summary.setAttribute('tabindex', '-1');\n    summary.focus({ preventScroll: true });\n  }\n\n  function resetForm() {\n    \/\/ Remettre les valeurs par d\u00e9faut d'exemple\n    monthly.value = \"199\";\n    initial.value = \"1500\";\n    months.value = \"36\";\n    kmPerYear.value = \"12000\";\n    extraPerKm.value = \"0.25\";\n    estimatedKmTotal.value = \"\";\n\n    totalBase.innerHTML = '';\n    kmInfo.innerHTML = '';\n    overCost.innerHTML = '';\n    summary.innerHTML = '';\n  }\n\n  \/\/ \u00c9v\u00e9nements\n  calculateBtn.addEventListener('click', function (e) {\n    e.preventDefault();\n    calculate();\n  });\n\n  \/\/ Support touche \"Enter\" dans le formulaire : d\u00e9clenche le calcul\n  q('calc-form').addEventListener('submit', function (e) {\n    e.preventDefault();\n    calculate();\n  });\n\n  resetBtn.addEventListener('click', function (e) {\n    e.preventDefault();\n    resetForm();\n  });\n\n  \/\/ Calcul initial pour affichage\n  calculate();\n\n})();\n<\/script>\n\n<h2 class=\"wp-block-heading\">Checklist pratique avant de signer un contrat de LLD ou LOA<\/h2>\n\n<p class=\"wp-block-paragraph\">Suivez ces \u00e9tapes concr\u00e8tes pour s\u00e9curiser votre engagement financier :<\/p>\n\n<ol class=\"wp-block-list\"><li>Lire attentivement les <strong>termess de contrat<\/strong> et demander les annexes (bar\u00e8me de restitution, grille des d\u00e9gradations).<\/li><li>Demander une projection chiffr\u00e9e du co\u00fbt total (loyers + d\u00e9passements + restitution).<\/li><li>V\u00e9rifier que l\u2019<strong>entretien v\u00e9hicule<\/strong> inclus couvre les \u00e9l\u00e9ments sensibles (pneus, batterie, courroie).<\/li><li>Obtenir la politique de <strong>r\u00e9siliation contrat<\/strong> par \u00e9crit et un exemple de d\u00e9compte.<\/li><li>Comparer l\u2019offre globale avec au moins deux autres propositions et une source d\u2019information fiable.<\/li><li>Signer en conservant une copie du contrat complet et des annexes sign\u00e9es par le loueur.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">Pour consulter des guides pratiques et exemples de contrats, reportez-vous au <a href=\"https:\/\/www.lecoachbudget.com\/guide-contrat-leasing-auto\/\" rel=\"nofollow noopener\" target=\"_blank\">guide du Coach Budget<\/a> et \u00e0 la <a href=\"https:\/\/www.caroom.fr\/guide\/financement\/leasing\/lld\/bien-choisir\/verifier-contrat-avant-signature\" rel=\"nofollow noopener\" target=\"_blank\">checklist Caroom pour la LLD<\/a>. Pour rep\u00e9rer les offres promotionnelles, comparez toujours avec des annonces comparatives comme cette <a href=\"https:\/\/www.transports-express-caraibes.fr\/blog\/voiture-59-euros-mois\/\" rel=\"nofollow\">offre \u00e0 petit loyer<\/a> en gardant en t\u00eate les exclusions possibles.<\/p>\n\n<h2 class=\"wp-block-heading\">Comparaison rapide : LOA vs LLD \u2014 quel choix selon votre usage<\/h2>\n\n<p class=\"wp-block-paragraph\">La LOA conserve une <strong>option d&rsquo;achat<\/strong> en fin de contrat ; la LLD non, sauf rachat n\u00e9goci\u00e9. Si vous souhaitez devenir propri\u00e9taire, la LOA peut \u00eatre int\u00e9ressante. Si vous cherchez la pr\u00e9visibilit\u00e9 sans rachat, la LLD est adapt\u00e9e.<\/p>\n\n<p class=\"wp-block-paragraph\">Claire a choisi la LLD car elle pr\u00e9f\u00e8re changer r\u00e9guli\u00e8rement et \u00e9viter la revente. Son crit\u00e8re d\u00e9cisif : un contrat clair sur la restitution et un kilom\u00e9trage r\u00e9aliste. Insight : le bon produit d\u00e9pend de l\u2019usage r\u00e9el et de la volont\u00e9 d\u2019acheter ou non \u00e0 la fin.<\/p>\n\n<h2 class=\"wp-block-heading\">R\u00e9capitulatif rapide et prochaine \u00e9tape<\/h2>\n\n<p class=\"wp-block-paragraph\"><strong>Avant de signer<\/strong> : demandez le contrat complet, les annexes et un exemple de facturation en cas de d\u00e9passement. V\u00e9rifiez : <strong>dur\u00e9e de location<\/strong>, <strong>kilom\u00e9trage inclus<\/strong>, <strong>entretien v\u00e9hicule<\/strong>, frais de restitution et modalit\u00e9s de <strong>r\u00e9siliation contrat<\/strong>. Conservez toutes les preuves (photos, factures, \u00e9changes \u00e9crits).<\/p>\n\n<p class=\"wp-block-paragraph\">Action imm\u00e9diate : demandez une simulation \u00e9crite du co\u00fbt total sur la dur\u00e9e du contrat et comparez avec au moins deux offres concurrentes.<\/p>\n\n<!-- Simulateur de comparaison de 2 offres de leasing (\u00e0 coller tel quel dans votre page) -->\n<!-- Aucun service externe requis. (Aucune API utilis\u00e9e) -->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\n\n<div id=\"leasing-sim\" class=\"p-4 rounded-md border border-gray-200 bg-white max-w-4xl mx-auto\" style=\"max-height:2000px;\">\n  <h2 class=\"text-xl font-semibold mb-3\">Simulateur : comparer deux offres de leasing<\/h2>\n  <p class=\"text-sm text-gray-600 mb-4\">\n    Comparez deux offres : entrez mensualit\u00e9 A, premier loyer A, dur\u00e9e A (mois), kilom\u00e9trage annuel A et mensualit\u00e9 B, premier loyer B, dur\u00e9e B, kilom\u00e9trage annuel B pour obtenir une comparaison imm\u00e9diate du co\u00fbt total.\n  <\/p>\n\n  <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\" role=\"presentation\" aria-hidden=\"false\">\n    <!-- Offre A -->\n    <fieldset class=\"p-4 border rounded-lg\" aria-labelledby=\"titreA\">\n      <legend id=\"titreA\" class=\"text-lg font-medium mb-2\">Offre A<\/legend>\n\n      <label class=\"block text-sm mb-1\">Mensualit\u00e9 (\u20ac)\n        <input type=\"number\" min=\"0\" step=\"0.01\" id=\"mensA\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"349\" aria-label=\"Mensualit\u00e9 Offre A\">\n      <\/label>\n\n      <label class=\"block text-sm mb-1\">Premier loyer \/ acompte (\u20ac)\n        <input type=\"number\" min=\"0\" step=\"0.01\" id=\"loyerA\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"3000\" aria-label=\"Premier loyer Offre A\">\n      <\/label>\n\n      <label class=\"block text-sm mb-1\">Dur\u00e9e (mois)\n        <input type=\"number\" min=\"1\" step=\"1\" id=\"dureeA\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"48\" aria-label=\"Dur\u00e9e Offre A\">\n      <\/label>\n\n      <label class=\"block text-sm mb-1\">Kilom\u00e9trage annuel (km)\n        <input type=\"number\" min=\"0\" step=\"100\" id=\"kmA\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"12000\" aria-label=\"Kilom\u00e9trage annuel Offre A\">\n      <\/label>\n\n      <div class=\"flex items-center gap-2 mt-3\">\n        <button id=\"presetA1\" class=\"px-2 py-1 bg-gray-100 rounded text-sm\">Exemple compact<\/button>\n        <button id=\"presetA2\" class=\"px-2 py-1 bg-gray-100 rounded text-sm\">Exemple berline<\/button>\n      <\/div>\n    <\/fieldset>\n\n    <!-- Offre B -->\n    <fieldset class=\"p-4 border rounded-lg\" aria-labelledby=\"titreB\">\n      <legend id=\"titreB\" class=\"text-lg font-medium mb-2\">Offre B<\/legend>\n\n      <label class=\"block text-sm mb-1\">Mensualit\u00e9 (\u20ac)\n        <input type=\"number\" min=\"0\" step=\"0.01\" id=\"mensB\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"399\" aria-label=\"Mensualit\u00e9 Offre B\">\n      <\/label>\n\n      <label class=\"block text-sm mb-1\">Premier loyer \/ acompte (\u20ac)\n        <input type=\"number\" min=\"0\" step=\"0.01\" id=\"loyerB\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"1500\" aria-label=\"Premier loyer Offre B\">\n      <\/label>\n\n      <label class=\"block text-sm mb-1\">Dur\u00e9e (mois)\n        <input type=\"number\" min=\"1\" step=\"1\" id=\"dureeB\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"36\" aria-label=\"Dur\u00e9e Offre B\">\n      <\/label>\n\n      <label class=\"block text-sm mb-1\">Kilom\u00e9trage annuel (km)\n        <input type=\"number\" min=\"0\" step=\"100\" id=\"kmB\" class=\"mt-1 block w-full rounded-md border px-2 py-1\" value=\"15000\" aria-label=\"Kilom\u00e9trage annuel Offre B\">\n      <\/label>\n\n      <div class=\"flex items-center gap-2 mt-3\">\n        <button id=\"presetB1\" class=\"px-2 py-1 bg-gray-100 rounded text-sm\">Exemple SUV<\/button>\n        <button id=\"presetB2\" class=\"px-2 py-1 bg-gray-100 rounded text-sm\">Exemple citadine<\/button>\n      <\/div>\n    <\/fieldset>\n  <\/div>\n\n  <!-- R\u00e9sultats -->\n  <div class=\"mt-5 p-4 border rounded-lg bg-gray-50\" aria-live=\"polite\" id=\"resultats\">\n    <h3 class=\"font-medium mb-2\">R\u00e9sultats<\/h3>\n\n    <div class=\"grid grid-cols-1 md:grid-cols-3 gap-3\">\n      <div class=\"p-3 bg-white rounded border\" id=\"cardA\" role=\"region\" aria-label=\"R\u00e9sum\u00e9 Offre A\">\n        <h4 class=\"font-semibold\">Offre A<\/h4>\n        <p class=\"text-sm text-gray-600 mb-2\">Co\u00fbts d\u00e9taill\u00e9s<\/p>\n        <ul class=\"text-sm space-y-1\">\n          <li>Total pay\u00e9 : <strong id=\"totalA\">\u2014 \u20ac<\/strong><\/li>\n          <li>Co\u00fbt moyen \/ mois : <strong id=\"moisA\">\u2014 \u20ac\/mois<\/strong><\/li>\n          <li>Co\u00fbt \/ km : <strong id=\"kmcostA\">\u2014 \u20ac\/km<\/strong><\/li>\n        <\/ul>\n      <\/div>\n\n      <div class=\"p-3 bg-white rounded border\" id=\"cardB\" role=\"region\" aria-label=\"R\u00e9sum\u00e9 Offre B\">\n        <h4 class=\"font-semibold\">Offre B<\/h4>\n        <p class=\"text-sm text-gray-600 mb-2\">Co\u00fbts d\u00e9taill\u00e9s<\/p>\n        <ul class=\"text-sm space-y-1\">\n          <li>Total pay\u00e9 : <strong id=\"totalB\">\u2014 \u20ac<\/strong><\/li>\n          <li>Co\u00fbt moyen \/ mois : <strong id=\"moisB\">\u2014 \u20ac\/mois<\/strong><\/li>\n          <li>Co\u00fbt \/ km : <strong id=\"kmcostB\">\u2014 \u20ac\/km<\/strong><\/li>\n        <\/ul>\n      <\/div>\n\n      <div class=\"p-3 rounded border bg-white\" id=\"comparatif\" role=\"region\" aria-label=\"Comparatif\">\n        <h4 class=\"font-semibold\">Comparaison<\/h4>\n        <p class=\"text-sm text-gray-600 mb-2\">Diff\u00e9rences cl\u00e9s<\/p>\n        <ul class=\"text-sm space-y-1\">\n          <li id=\"diffTotal\">\u00c9cart total : \u2014 \u20ac<\/li>\n          <li id=\"diffMois\">\u00c9cart \/ mois : \u2014 \u20ac\/mois<\/li>\n          <li id=\"diffKm\">\u00c9cart \/ km : \u2014 \u20ac\/km<\/li>\n        <\/ul>\n        <div class=\"mt-3\">\n          <div id=\"badgeWinner\" class=\"text-sm font-semibold text-white px-3 py-1 rounded inline-block bg-gray-400\">\u2014<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- graphique simple accessible -->\n    <div class=\"mt-4\">\n      <label class=\"block text-sm mb-2 font-medium\">Illustration : r\u00e9partition du co\u00fbt total<\/label>\n      <div class=\"w-full h-24 bg-white border rounded flex items-end\" role=\"img\" aria-label=\"Graphique r\u00e9partition co\u00fbt\">\n        <div id=\"barA\" class=\"h-10 bg-blue-500 w-1\/2 transition-all\" style=\"width:50%\"><\/div>\n        <div id=\"barB\" class=\"h-10 bg-green-500 w-1\/2 transition-all\" style=\"width:50%\"><\/div>\n      <\/div>\n      <p class=\"text-xs text-gray-600 mt-1\">Barres proportionnelles au co\u00fbt total (A = bleu, B = vert).<\/p>\n    <\/div>\n\n    <div class=\"mt-4 flex gap-2\">\n      <button id=\"resetBtn\" class=\"px-3 py-1 bg-red-50 border text-red-600 rounded\">R\u00e9initialiser<\/button>\n      <button id=\"exportBtn\" class=\"px-3 py-1 bg-blue-50 border text-blue-700 rounded\">Exporter r\u00e9sum\u00e9 (CSV)<\/button>\n    <\/div>\n  <\/div>\n\n  <p class=\"text-xs text-gray-500 mt-3\">Tous les calculs sont indicatifs. V\u00e9rifiez toujours les d\u00e9tails et les conditions du contrat.<\/p>\n<\/div>\n\n<script>\n\/*\n  Simulateur de comparaison de deux offres de leasing (JS)\n  - Enti\u00e8rement en fran\u00e7ais dans l'interface\n  - Code clairement comment\u00e9 et simple \u00e0 modifier\n  - Pas d'API externe n\u00e9cessaire\n\n  Logique :\n   - total = mensualit\u00e9 * dur\u00e9e + premier loyer\n   - co\u00fbt \/ mois = total \/ dur\u00e9e (\u20ac\/mois)\n   - co\u00fbt \/ km = total \/ (dur\u00e9e_en_annees * km_annuel)\n   - comparaison simple : affiche l'\u00e9cart absolu et le gagnant\n*\/\n\n\/* --- R\u00e9cup\u00e9ration des \u00e9l\u00e9ments --- *\/\nconst mensA = document.getElementById('mensA');\nconst loyerA = document.getElementById('loyerA');\nconst dureeA = document.getElementById('dureeA');\nconst kmA = document.getElementById('kmA');\n\nconst mensB = document.getElementById('mensB');\nconst loyerB = document.getElementById('loyerB');\nconst dureeB = document.getElementById('dureeB');\nconst kmB = document.getElementById('kmB');\n\nconst totalAEl = document.getElementById('totalA');\nconst moisAEl = document.getElementById('moisA');\nconst kmcostAEl = document.getElementById('kmcostA');\n\nconst totalBEl = document.getElementById('totalB');\nconst moisBEl = document.getElementById('moisB');\nconst kmcostBEl = document.getElementById('kmcostB');\n\nconst diffTotalEl = document.getElementById('diffTotal');\nconst diffMoisEl = document.getElementById('diffMois');\nconst diffKmEl = document.getElementById('diffKm');\nconst badgeWinner = document.getElementById('badgeWinner');\n\nconst barA = document.getElementById('barA');\nconst barB = document.getElementById('barB');\n\nconst resetBtn = document.getElementById('resetBtn');\nconst exportBtn = document.getElementById('exportBtn');\n\n\/* Presets (exemples rapides) *\/\ndocument.getElementById('presetA1').addEventListener('click', () => {\n  mensA.value = 299; loyerA.value = 2000; dureeA.value = 36; kmA.value = 10000;\n  computeAndRender();\n});\ndocument.getElementById('presetA2').addEventListener('click', () => {\n  mensA.value = 399; loyerA.value = 3500; dureeA.value = 48; kmA.value = 12000;\n  computeAndRender();\n});\ndocument.getElementById('presetB1').addEventListener('click', () => {\n  mensB.value = 429; loyerB.value = 2500; dureeB.value = 36; kmB.value = 15000;\n  computeAndRender();\n});\ndocument.getElementById('presetB2').addEventListener('click', () => {\n  mensB.value = 269; loyerB.value = 1200; dureeB.value = 24; kmB.value = 8000;\n  computeAndRender();\n});\n\n\/* R\u00e9initialiser *\/\nresetBtn.addEventListener('click', () => {\n  \/\/ Valeurs par d\u00e9faut (peuvent \u00eatre modifi\u00e9es)\n  mensA.value = 349; loyerA.value = 3000; dureeA.value = 48; kmA.value = 12000;\n  mensB.value = 399; loyerB.value = 1500; dureeB.value = 36; kmB.value = 15000;\n  computeAndRender();\n});\n\n\/* Export CSV simple *\/\nexportBtn.addEventListener('click', () => {\n  const lines = [\n    ['Champ','Offre A','Offre B'],\n    ['Mensualit\u00e9 (\u20ac)', mensA.value, mensB.value],\n    ['Premier loyer (\u20ac)', loyerA.value, loyerB.value],\n    ['Dur\u00e9e (mois)', dureeA.value, dureeB.value],\n    ['Km annuels', kmA.value, kmB.value],\n    ['Total pay\u00e9 (\u20ac)', formatEuro(calcTotal(mensA.value,dureeA.value,loyerA.value)), formatEuro(calcTotal(mensB.value,dureeB.value,loyerB.value))],\n  ];\n  const csv = lines.map(r => r.map(cell => `\"${cell}\"`).join(',')).join('n');\n  const blob = new Blob([csv], { type: 'text\/csv;charset=utf-8;' });\n  const url = URL.createObjectURL(blob);\n  const a = document.createElement('a');\n  a.href = url;\n  a.download = 'comparatif_leasing.csv';\n  a.click();\n  URL.revokeObjectURL(url);\n});\n\n\/* \u00c9couteurs sur tous les inputs -> calcul imm\u00e9diat *\/\n[mensA, loyerA, dureeA, kmA, mensB, loyerB, dureeB, kmB].forEach(inp => {\n  inp.addEventListener('input', () => {\n    \/\/ Petites validations : valeurs n\u00e9gatives deviennent 0\n    if (parseFloat(inp.value) < 0 || inp.value === '') inp.value = 0;\n    computeAndRender();\n  });\n});\n\n\/* --- Fonctions utilitaires de calcul --- *\/\nfunction calcTotal(mens, duree, loyer) {\n  mens = Number(mens) || 0;\n  duree = Number(duree) || 0;\n  loyer = Number(loyer) || 0;\n  return mens * duree + loyer;\n}\n\nfunction calcCostPerMonth(total, duree) {\n  duree = Number(duree) || 1;\n  return total \/ duree;\n}\n\nfunction calcCostPerKm(total, duree, kmAnnuel) {\n  duree = Number(duree) || 0; \/\/ mois\n  kmAnnuel = Number(kmAnnuel) || 0;\n  const annees = Math.max(duree \/ 12, 1\/12); \/\/ \u00e9viter division par z\u00e9ro : minimum 1 mois = 1\/12 an\n  const totalKm = annees * kmAnnuel;\n  if (totalKm <= 0) return Infinity;\n  return total \/ totalKm;\n}\n\nfunction formatEuro(value) {\n  if (!isFinite(value)) return '\u2014';\n  return Number(value).toLocaleString('fr-FR', { style: 'currency', currency: 'EUR', maximumFractionDigits: 2 });\n}\n\nfunction formatNumber(value, digits=4) {\n  if (!isFinite(value)) return '\u2014';\n  return Number(value).toFixed(digits).replace('.', ',');\n}\n\n\/* --- Rendu des r\u00e9sultats --- *\/\nfunction computeAndRender() {\n  \/\/ Offres\n  const tA = calcTotal(mensA.value, dureeA.value, loyerA.value);\n  const tB = calcTotal(mensB.value, dureeB.value, loyerB.value);\n\n  const cmA = calcCostPerMonth(tA, dureeA.value);\n  const cmB = calcCostPerMonth(tB, dureeB.value);\n\n  const ckA = calcCostPerKm(tA, dureeA.value, kmA.value);\n  const ckB = calcCostPerKm(tB, dureeB.value, kmB.value);\n\n  \/\/ Affichage formats\n  totalAEl.textContent = formatEuro(tA);\n  totalBEl.textContent = formatEuro(tB);\n\n  moisAEl.textContent = (isFinite(cmA) ? formatEuro(cmA) + ' \/mois' : '\u2014');\n  moisBEl.textContent = (isFinite(cmB) ? formatEuro(cmB) + ' \/mois' : '\u2014');\n\n  kmcostAEl.textContent = isFinite(ckA) ? formatNumber(ckA, 4) + ' \u20ac\/km' : '\u2014';\n  kmcostBEl.textContent = isFinite(ckB) ? formatNumber(ckB, 4) + ' \u20ac\/km' : '\u2014';\n\n  \/\/ Comparaisons\n  const diffTotal = tB - tA; \/\/ positif = B plus cher\n  const diffMois = cmB - cmA;\n  const diffKm = (isFinite(ckB) &#038;&#038; isFinite(ckA)) ? (ckB - ckA) : NaN;\n\n  diffTotalEl.textContent = '\u00c9cart total (B \u2212 A) : ' + (isFinite(diffTotal) ? formatEuro(diffTotal) : '\u2014');\n  diffMoisEl.textContent = '\u00c9cart \/ mois (B \u2212 A) : ' + (isFinite(diffMois) ? formatEuro(diffMois) : '\u2014');\n  diffKmEl.textContent = '\u00c9cart \/ km (B \u2212 A) : ' + (isFinite(diffKm) ? formatNumber(diffKm, 4) + ' \u20ac\/km' : '\u2014');\n\n  \/\/ Qui est le \"gagnant\" (moins cher en total)\n  if (tA === tB) {\n    badgeWinner.textContent = 'Co\u00fbt total identique';\n    badgeWinner.className = 'text-sm font-semibold text-white px-3 py-1 rounded inline-block bg-gray-400';\n  } else if (tA < tB) {\n    badgeWinner.textContent = 'Offre A moins ch\u00e8re (total)';\n    badgeWinner.className = 'text-sm font-semibold text-white px-3 py-1 rounded inline-block bg-blue-600';\n  } else {\n    badgeWinner.textContent = 'Offre B moins ch\u00e8re (total)';\n    badgeWinner.className = 'text-sm font-semibold text-white px-3 py-1 rounded inline-block bg-green-600';\n  }\n\n  \/\/ Graphique : barres proportionnelles au total\n  const sum = (tA + tB) || 1;\n  const pctA = Math.max(0, Math.min(100, (tA \/ sum) * 100));\n  const pctB = Math.max(0, Math.min(100, (tB \/ sum) * 100));\n  \/\/ Accessible width style update\n  barA.style.width = pctA + '%';\n  barB.style.width = pctB + '%';\n  barA.setAttribute('title', 'Offre A : ' + formatEuro(tA));\n  barB.setAttribute('title', 'Offre B : ' + formatEuro(tB));\n\n  \/\/ Mise en \u00e9vidence visuelle du moins cher (bordure)\n  document.getElementById('cardA').classList.toggle('border-green-600', tA < tB);\n  document.getElementById('cardB').classList.toggle('border-green-600', tB < tA);\n  document.getElementById('cardA').classList.toggle('border-blue-600', tA < tB);\n  document.getElementById('cardB').classList.toggle('border-blue-600', tB < tA);\n}\n\n\/* Calcul initial au chargement *\/\ncomputeAndRender();\n\n\/* Petite optimisation : si l'utilisateur saisit vite, on rafra\u00eechit d\u00e9j\u00e0 en input; c'est suffisant et instantan\u00e9 *\/\n\/* Accessibilit\u00e9 : aria-live region d\u00e9j\u00e0 d\u00e9fini sur le conteneur \"resultats\" pour que les changements soient annonc\u00e9s par les lecteurs d'\u00e9cran *\/\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Que regarder en premier sur un contrat de LLD ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Commencez par la <strong>duru00e9e de location<\/strong> et le <strong>kilomu00e9trage inclus<\/strong>, puis vu00e9rifiez le prix du kilomu00e8tre supplu00e9mentaire et la liste pru00e9cise des services inclus ou exclus.\"}},{\"@type\":\"Question\",\"name\":\"Peut-on rendre une voiture en LLD avant la fin du contrat ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oui, mais gu00e9nu00e9ralement avec des pu00e9nalitu00e9s : loyers restants exigibles ou indemnitu00e9s. Demandez un du00e9compte u00e9crit et explorez la possibilitu00e9 de transfu00e9rer le contrat u00e0 un tiers.\"}},{\"@type\":\"Question\",\"name\":\"Une formule u00ab tout compris u00bb couvre-t-elle tous les frais ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Pas automatiquement. Une formule dite tout compris doit du00e9tailler ce quu2019elle inclut : entretien, pneus, assistance, recharge pour u00e9lectrique. Les exclusions doivent figurer noir sur blanc.\"}},{\"@type\":\"Question\",\"name\":\"Comment contester une facture de restitution ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Demandez le baru00e8me u00e9crit, conservez photos datu00e9es et demandez un u00e9tat contradictoire. Si le litige persiste, saisissez un mu00e9diateur ou une association de consommateurs.\"}}]}\n<\/script>\n<h3>Que regarder en premier sur un contrat de LLD ?<\/h3>\n<p>Commencez par la <strong>dur\u00e9e de location<\/strong> et le <strong>kilom\u00e9trage inclus<\/strong>, puis v\u00e9rifiez le prix du kilom\u00e8tre suppl\u00e9mentaire et la liste pr\u00e9cise des services inclus ou exclus.<\/p>\n<h3>Peut-on rendre une voiture en LLD avant la fin du contrat ?<\/h3>\n<p>Oui, mais g\u00e9n\u00e9ralement avec des p\u00e9nalit\u00e9s : loyers restants exigibles ou indemnit\u00e9s. Demandez un d\u00e9compte \u00e9crit et explorez la possibilit\u00e9 de transf\u00e9rer le contrat \u00e0 un tiers.<\/p>\n<h3>Une formule \u00ab tout compris \u00bb couvre-t-elle tous les frais ?<\/h3>\n<p>Pas automatiquement. Une formule dite tout compris doit d\u00e9tailler ce qu\u2019elle inclut : entretien, pneus, assistance, recharge pour \u00e9lectrique. Les exclusions doivent figurer noir sur blanc.<\/p>\n<h3>Comment contester une facture de restitution ?<\/h3>\n<p>Demandez le bar\u00e8me \u00e9crit, conservez photos dat\u00e9es et demandez un \u00e9tat contradictoire. Si le litige persiste, saisissez un m\u00e9diateur ou une association de consommateurs.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Comment lire un contrat de leasing voiture sans se tromper : comprendre ce qui se cache derri\u00e8re une mensualit\u00e9 s\u00e9duisante, \u00e9valuer l&rsquo;engagement financier r\u00e9el et pr\u00e9parer la restitution sans surprise. Ce texte propose une lecture claire et op\u00e9rationnelle du contrat de leasing (LLD ou LOA), liste les clauses qui plombent le budget et donne des &#8230; <a title=\"Comment lire un contrat de leasing voiture sans se tromper\" class=\"read-more\" href=\"https:\/\/www.transports-express-caraibes.fr\/blog\/lire-contrat-leasing-voiture\/\" aria-label=\"En savoir plus sur Comment lire un contrat de leasing voiture sans se tromper\">Lire plus<\/a><\/p>\n","protected":false},"author":3,"featured_media":23567,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[83],"tags":[],"class_list":["post-23568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-actualites-generaliste"],"views":26,"_links":{"self":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/posts\/23568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/comments?post=23568"}],"version-history":[{"count":0,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/posts\/23568\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/media\/23567"}],"wp:attachment":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/media?parent=23568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/categories?post=23568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/tags?post=23568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}