[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-calculateur-pauses-trajet-fr":83,"footer-cities-fr":124},[4,14,22,30,38,45,53,60,67,75],{"seo_content":5,"id":8,"name":9,"slug":10,"parentId":7,"lang":11,"_count":12},[6],{"page_slug":7},null,"cmkzhl7xm00dbulbc93h4qog5","Juridique","avocats","fr-FR",{"experts":13},8,{"seo_content":15,"id":17,"name":18,"slug":19,"parentId":7,"lang":11,"_count":20},[16],{"page_slug":7},"cmkzhl84700djulbcbv6pzu9e","Informatique","informaticiens",{"experts":21},3,{"seo_content":23,"id":25,"name":26,"slug":27,"parentId":7,"lang":11,"_count":28},[24],{"page_slug":7},"cmkzhlaos00gnulbc07i9jrco","Amélioration de la Maison","artisans",{"experts":29},4,{"seo_content":31,"id":33,"name":34,"slug":35,"parentId":7,"lang":11,"_count":36},[32],{"page_slug":7},"cmkzhlaqg00gpulbcx38bwoc2","Général","divers-generalistes",{"experts":37},0,{"seo_content":39,"id":41,"name":42,"slug":43,"parentId":7,"lang":11,"_count":44},[40],{"page_slug":7},"cmkzhlbvq00i3ulbcutdbcz50","Électronique Grand Public","techniciens-electronique",{"experts":21},{"seo_content":46,"id":48,"name":49,"slug":50,"parentId":7,"lang":11,"_count":51},[47],{"page_slug":7},"cmkzhlcaw00ilulbc38pxoogr","Santé","medecins",{"experts":52},5,{"seo_content":54,"id":56,"name":57,"slug":58,"parentId":7,"lang":11,"_count":59},[55],{"page_slug":7},"cmkzhlcmi00izulbcxva1m47f","Gestion de Patrimoine","conseillers-patrimoniaux",{"experts":21},{"seo_content":61,"id":63,"name":64,"slug":65,"parentId":7,"lang":11,"_count":66},[62],{"page_slug":7},"cmkzhldcv00jvulbcmcd5a7mk","Animaux et Vétérinaires","veterinaires",{"experts":21},{"seo_content":68,"id":70,"name":71,"slug":72,"parentId":7,"lang":11,"_count":73},[69],{"page_slug":7},"cmkzhldrr00kdulbchxfo67eg","Mécanique et Réparation","mecaniciens",{"experts":74},1,{"seo_content":76,"id":78,"name":79,"slug":80,"parentId":7,"lang":11,"_count":81},[77],{"page_slug":7},"cmkzhl9l300fbulbcv3i8q8p3","Aide aux Devoirs","professeurs-particuliers",{"experts":82},6,{"slug":84,"title":85,"page_title":86,"description":87,"content_md":88,"local_slug":84,"json_ld":89,"faq":102,"tool_html":118,"source":119,"category":7,"audience":120,"publish_mode":121,"hero_image":122,"hero_image_alt":123},"calculateur-pauses-trajet","Planificateur de pauses sécurité — Trajet vacances","Calculateur pauses sécurité trajet vacances 2026 — Expert Zoom","Planifiez vos pauses de conduite selon les recommandations de la Sécurité routière : pause toutes les 2h, planning horaire complet avec heure d'arrivée estimée.","La fatigue au volant cause un tiers des accidents mortels sur autoroute. Ce calculateur génère automatiquement un planning de pauses adapté à votre trajet, selon la règle des 2 heures de la Sécurité routière. Renseignez votre distance, votre vitesse moyenne et votre heure de départ pour obtenir le planning complet jusqu'à votre arrivée.",[90],{"name":91,"@type":92,"offers":93,"@context":97,"inLanguage":98,"description":99,"operatingSystem":100,"applicationCategory":101},"Planificateur de pauses sécurité — trajet vacances","WebApplication",{"@type":94,"price":95,"priceCurrency":96},"Offer","0","EUR","https:\u002F\u002Fschema.org","fr","Calculez le nombre et le planning optimal de pauses pour votre trajet de vacances selon les recommandations de la Sécurité routière (pause toutes les 2h). Entrez distance, vitesse et heure de départ pour obtenir votre planning.","Web","TravelApplication",[103,106,109,112,115],{"a":104,"q":105},"La Sécurité routière recommande une pause toutes les 2 heures de conduite, d'une durée d'au moins 15 à 20 minutes. La fatigue au volant est impliquée dans un tiers des accidents mortels sur autoroute.","À quelle fréquence doit-on faire une pause sur l'autoroute ?",{"a":107,"q":108},"Une pause de 15 à 20 minutes permet de récupérer un niveau d'attention satisfaisant. Sortez du véhicule, marchez, hydratez-vous. Évitez de rester assis dans la voiture.","Combien de temps doit durer une pause pour être efficace ?",{"a":110,"q":111},"Non — la nuit la fatigue est encore plus importante, et la vigilance diminue naturellement entre 2h et 5h du matin. Si vous roulez de nuit, respectez les mêmes intervalles de pauses voire plus fréquents.","Peut-on conduire de nuit pour éviter les bouchons et les pauses ?",{"a":113,"q":114},"Consultez Bison Futé (bison-fute.gouv.fr) avant de partir. Les jours classés rouge ou noir nécessitent de décaler l'heure de départ ou d'éviter les axes saturés. L'outil calcule l'horaire d'arrivée selon votre heure de départ.","Comment anticiper les bouchons des grands chassés-croisés ?",{"a":116,"q":117},"Oui, il est recommandé que tous les passagers se dégourcissent les jambes, notamment les enfants. Cela prévient la fatigue musculaire, les maux de tête et le mal des transports.","Les enfants et passagers doivent-ils aussi sortir lors des pauses ?","\u003C!DOCTYPE html>\n\u003Chtml lang=\"fr\">\n\u003Chead>\n  \u003Cmeta charset=\"utf-8\">\n  \u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  \u003Ctitle>Calculateur pauses sécurité trajet vacances\u003C\u002Ftitle>\n  \u003Cscript src=\"https:\u002F\u002Funpkg.com\u002Flucide@latest\u002Fdist\u002Fumd\u002Flucide.min.js\">\u003C\u002Fscript>\n  \u003Cstyle>\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --stone-50: #fafaf9; --stone-100: #f5f5f4; --stone-200: #e7e5e4;\n      --stone-400: #a8a29e; --stone-600: #57534e; --stone-700: #44403c; --stone-800: #292524;\n      --blue-50: #eff6ff; --blue-100: #dbeafe; --blue-600: #2563eb;\n      --green-50: #f0fdf4; --green-100: #dcfce7; --green-600: #16a34a;\n      --amber-50: #fffbeb; --amber-100: #fef3c7; --amber-600: #d97706;\n      --orange-50: #fff7ed; --orange-600: #ea580c;\n    }\n    body { font-family: system-ui,-apple-system,sans-serif; background: var(--stone-50); color: var(--stone-800); font-size: 15px; line-height: 1.5; }\n    .tool-root { max-width: 560px; margin: 0 auto; padding: 20px 16px 24px; }\n    .tool-header { margin-bottom: 20px; }\n    .tool-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; margin-bottom: 4px; }\n    .tool-title [data-lucide] { color: var(--blue-600); flex-shrink: 0; }\n    .tool-subtitle { color: var(--stone-600); font-size: 13.5px; }\n    .callout { background: var(--amber-50); border: 1px solid var(--amber-100); border-radius: 10px; padding: 11px 13px; font-size: 13px; color: var(--stone-700); display: flex; gap: 8px; align-items: flex-start; margin-bottom: 18px; }\n    .callout [data-lucide] { color: var(--amber-600); flex-shrink: 0; margin-top: 2px; }\n    .form-group { margin-bottom: 16px; }\n    .form-label { display: flex; justify-content: space-between; align-items: center; font-size: 13.5px; font-weight: 600; color: var(--stone-700); margin-bottom: 7px; }\n    .form-value { font-size: 13px; font-weight: 700; color: var(--blue-600); font-variant-numeric: tabular-nums; }\n    input[type=range] { width: 100%; height: 6px; -webkit-appearance: none; background: var(--stone-200); border-radius: 3px; outline: none; cursor: pointer; }\n    input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--blue-600); cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.2); }\n    input[type=number] { width: 90px; padding: 7px 10px; border: 1.5px solid var(--stone-200); border-radius: 8px; font-size: 14px; text-align: center; font-variant-numeric: tabular-nums; outline: none; }\n    input[type=number]:focus { border-color: var(--blue-600); }\n    .depart-row { display: flex; align-items: center; gap: 12px; }\n    .depart-label { font-size: 13.5px; font-weight: 600; color: var(--stone-700); }\n    .result-section { margin-top: 20px; }\n    .stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }\n    .stat-card { background: white; border: 1.5px solid var(--stone-200); border-radius: 10px; padding: 12px 14px; }\n    .stat-card.highlight { border-color: var(--blue-100); background: var(--blue-50); }\n    .stat-value { font-size: 22px; font-weight: 800; color: var(--stone-800); font-variant-numeric: tabular-nums; }\n    .stat-label { font-size: 12px; color: var(--stone-500); margin-top: 2px; }\n    .schedule-title { font-size: 13.5px; font-weight: 700; color: var(--stone-700); margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }\n    .schedule-title [data-lucide] { color: var(--blue-600); }\n    .timeline { display: flex; flex-direction: column; gap: 0; }\n    .timeline-item { display: flex; gap: 14px; align-items: flex-start; }\n    .timeline-left { display: flex; flex-direction: column; align-items: center; width: 36px; flex-shrink: 0; }\n    .timeline-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }\n    .timeline-dot.start { background: var(--green-600); }\n    .timeline-dot.break { background: var(--amber-600); }\n    .timeline-dot.arrive { background: var(--blue-600); }\n    .timeline-line { width: 2px; background: var(--stone-200); flex: 1; min-height: 20px; margin: 2px 0; }\n    .timeline-content { flex: 1; padding-bottom: 14px; }\n    .timeline-time { font-size: 12px; font-weight: 700; color: var(--stone-500); font-variant-numeric: tabular-nums; }\n    .timeline-label { font-size: 14px; font-weight: 600; color: var(--stone-800); }\n    .timeline-sub { font-size: 12px; color: var(--stone-500); margin-top: 1px; }\n    .badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 20px; margin-top: 4px; }\n    .badge-break { background: var(--amber-100); color: var(--amber-600); }\n    .badge-drive { background: var(--green-100); color: var(--green-600); }\n    .no-break-msg { background: var(--green-50); border: 1.5px solid var(--green-100); border-radius: 10px; padding: 14px 16px; font-size: 13.5px; color: var(--green-600); display: flex; align-items: center; gap: 8px; }\n    .source { margin-top: 18px; font-size: 11.5px; color: var(--stone-400); display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }\n    .source a { color: var(--stone-400); }\n    .source [data-lucide] { flex-shrink: 0; }\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003Cmain class=\"tool-root\">\n  \u003Cdiv class=\"tool-header\">\n    \u003Cdiv class=\"tool-title\">\n      \u003Ci data-lucide=\"map-pin\" style=\"width:22px;height:22px\">\u003C\u002Fi>\n      Planificateur de pauses sécurité\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"tool-subtitle\">Planifiez vos arrêts selon les recommandations de la Sécurité routière\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"callout\">\n    \u003Ci data-lucide=\"triangle-alert\" style=\"width:15px;height:15px\">\u003C\u002Fi>\n    \u003Cspan>\u003Cstrong>Règle Sécurité routière :\u003C\u002Fstrong> une pause toutes les 2 heures de conduite, de 15 à 20 minutes minimum. La fatigue cause 1\u002F3 des accidents mortels sur autoroute.\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">\n      \u003Cspan>Distance totale\u003C\u002Fspan>\n      \u003Cspan class=\"form-value\" id=\"v-dist\">600 km\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cinput type=\"range\" id=\"r-dist\" min=\"50\" max=\"2000\" step=\"25\" value=\"600\"\n      oninput=\"state.dist=+this.value;render()\">\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">\n      \u003Cspan>Vitesse moyenne\u003C\u002Fspan>\n      \u003Cspan class=\"form-value\" id=\"v-speed\">100 km\u002Fh\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cinput type=\"range\" id=\"r-speed\" min=\"60\" max=\"130\" step=\"5\" value=\"100\"\n      oninput=\"state.speed=+this.value;render()\">\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\" style=\"margin-bottom:8px\">Heure de départ\u003C\u002Fdiv>\n    \u003Cdiv class=\"depart-row\">\n      \u003Cinput type=\"number\" id=\"n-hour\" min=\"0\" max=\"23\" value=\"8\"\n        oninput=\"state.hour=Math.min(23,Math.max(0,+this.value||0));render()\">\n      \u003Cspan style=\"font-size:14px;color:var(--stone-600)\">h00\u003C\u002Fspan>\n      \u003Cspan style=\"font-size:13px;color:var(--stone-400)\">(heure locale)\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"result-section\" id=\"result-section\">\n    \u003Cdiv class=\"stats-grid\">\n      \u003Cdiv class=\"stat-card highlight\">\n        \u003Cdiv class=\"stat-value\" id=\"stat-drive-time\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"stat-label\">temps de conduite pur\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"stat-card highlight\">\n        \u003Cdiv class=\"stat-value\" id=\"stat-total-time\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"stat-label\">durée totale avec pauses\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"stat-card\">\n        \u003Cdiv class=\"stat-value\" id=\"stat-breaks\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"stat-label\">pauses recommandées\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"stat-card\">\n        \u003Cdiv class=\"stat-value\" id=\"stat-arrive\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"stat-label\">arrivée estimée\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv id=\"schedule-wrap\">\n      \u003Cdiv class=\"schedule-title\">\n        \u003Ci data-lucide=\"clock\" style=\"width:15px;height:15px\">\u003C\u002Fi>\n        Planning recommandé\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"timeline\" id=\"timeline\">\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"source\">\n    \u003Ci data-lucide=\"link\" style=\"width:11px;height:11px\">\u003C\u002Fi>\n    Sources : \u003Ca href=\"https:\u002F\u002Fwww.preventionroutiere.asso.fr\u002Flimportant-cest-la-pause\u002F\" target=\"_blank\" rel=\"noopener\">preventionroutiere.asso.fr\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.caroom.fr\u002Fguide\u002Fconduite\u002Fvacances\u002Fpause\" target=\"_blank\" rel=\"noopener\">caroom.fr\u003C\u002Fa> — Règle des 2h, Sécurité routière France &bull; Estimation indicative\n  \u003C\u002Fdiv>\n\u003C\u002Fmain>\n\n\u003Cscript>\nconst fmtNum = new Intl.NumberFormat('fr-FR');\nconst BREAK_MIN = 20; \u002F\u002F minutes per break\nconst DRIVE_INTERVAL = 120; \u002F\u002F drive minutes between breaks\n\nconst state = { dist: 600, speed: 100, hour: 8 };\n\nfunction formatDuration(mins) {\n  const h = Math.floor(mins \u002F 60);\n  const m = Math.round(mins % 60);\n  if (h === 0) return m + ' min';\n  if (m === 0) return h + 'h';\n  return h + 'h' + String(m).padStart(2, '0');\n}\n\nfunction formatTime(startHour, offsetMins) {\n  const totalMins = startHour * 60 + offsetMins;\n  const h = Math.floor(totalMins \u002F 60) % 24;\n  const m = Math.round(totalMins % 60);\n  return String(h).padStart(2, '0') + 'h' + String(m).padStart(2, '0');\n}\n\nfunction render() {\n  document.getElementById('v-dist').textContent = fmtNum.format(state.dist) + ' km';\n  document.getElementById('v-speed').textContent = state.speed + ' km\u002Fh';\n\n  const driveMinutes = (state.dist \u002F state.speed) * 60;\n  const numBreaks = Math.max(0, Math.floor(driveMinutes \u002F DRIVE_INTERVAL));\n  const totalMinutes = driveMinutes + numBreaks * BREAK_MIN;\n\n  document.getElementById('stat-drive-time').textContent = formatDuration(driveMinutes);\n  document.getElementById('stat-total-time').textContent = formatDuration(totalMinutes);\n  document.getElementById('stat-breaks').textContent = numBreaks + (numBreaks > 1 ? ' pauses' : numBreaks === 1 ? ' pause' : ' pause');\n  document.getElementById('stat-arrive').textContent = formatTime(state.hour, totalMinutes);\n\n  \u002F\u002F Build timeline\n  const timeline = document.getElementById('timeline');\n  if (numBreaks === 0) {\n    timeline.innerHTML = `\n      \u003Cdiv class=\"no-break-msg\">\n        \u003Ci data-lucide=\"check-circle\" style=\"width:18px;height:18px\">\u003C\u002Fi>\n        Trajet court — aucune pause obligatoire. Restez vigilant.\n      \u003C\u002Fdiv>`;\n    lucide.createIcons();\n    return;\n  }\n\n  const items = [];\n  let elapsed = 0;\n  \u002F\u002F Depart\n  items.push({ type: 'start', time: elapsed, label: 'Départ', sub: state.dist + ' km à parcourir' });\n\n  for (let i = 0; i \u003C numBreaks; i++) {\n    const driveChunk = Math.min(DRIVE_INTERVAL, driveMinutes - elapsed + (i * BREAK_MIN));\n    const driveUntil = elapsed + DRIVE_INTERVAL;\n    elapsed = driveUntil;\n    const kmAtBreak = Math.round((elapsed \u002F driveMinutes) * state.dist * (driveMinutes \u002F (driveMinutes + numBreaks * BREAK_MIN)) * 100) \u002F 100;\n    const kmDone = Math.round((state.speed * elapsed) \u002F 60);\n    items.push({\n      type: 'break',\n      time: elapsed + (i * BREAK_MIN),\n      label: 'Pause n°' + (i + 1),\n      sub: 'Après ' + Math.round(state.speed * DRIVE_INTERVAL \u002F 60) + ' km — 20 min d\\'arrêt recommandées',\n      badge: 'break'\n    });\n    elapsed += BREAK_MIN;\n  }\n\n  \u002F\u002F Arrive\n  items.push({ type: 'arrive', time: totalMinutes, label: 'Arrivée', sub: 'Temps total : ' + formatDuration(totalMinutes) });\n\n  const isLast = (i) => i === items.length - 1;\n  timeline.innerHTML = items.map((item, i) => `\n    \u003Cdiv class=\"timeline-item\">\n      \u003Cdiv class=\"timeline-left\">\n        \u003Cdiv class=\"timeline-dot ${item.type}\">\u003C\u002Fdiv>\n        ${!isLast(i) ? '\u003Cdiv class=\"timeline-line\">\u003C\u002Fdiv>' : ''}\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"timeline-content\">\n        \u003Cdiv class=\"timeline-time\">${formatTime(state.hour, item.time)}\u003C\u002Fdiv>\n        \u003Cdiv class=\"timeline-label\">${item.label}\u003C\u002Fdiv>\n        \u003Cdiv class=\"timeline-sub\">${item.sub}\u003C\u002Fdiv>\n        ${item.type === 'break' ? '\u003Cspan class=\"badge badge-break\">\u003Ci data-lucide=\"coffee\" style=\"width:10px;height:10px\">\u003C\u002Fi> 20 min\u003C\u002Fspan>' : ''}\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>`).join('');\n\n  lucide.createIcons();\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  lucide.createIcons();\n  render();\n  const ro = new ResizeObserver(() => {\n    const h = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n    parent.postMessage({ type: 'resize', height: h }, '*');\n  });\n  ro.observe(document.documentElement);\n});\n\u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","generated","consumer","both","https:\u002F\u002Fpub-bdebbd2dad294475a2da0eb657815b6b.r2.dev\u002Ftools\u002Fcalculateur-pauses-trajet-ca0938a71e-1779435772.webp","",[]]