{"id":1641,"date":"2025-10-28T14:19:30","date_gmt":"2025-10-28T14:19:30","guid":{"rendered":"https:\/\/hull-rotterdam.com\/fr\/?page_id=1641"},"modified":"2026-10-12T14:00:24","modified_gmt":"2026-10-12T12:00:24","slug":"horaires","status":"publish","type":"page","link":"https:\/\/hull-rotterdam.com\/fr\/horaires\/","title":{"rendered":"Horaires"},"content":{"rendered":"\n<!-- hr: opmaak staat in de plugin Hull-Rotterdam Styles -->\n\n\n\n<div class=\"wp-block-group hr-page hr3 hr3-sub hr3-long is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group hr-hero-sub hr3-hero-photo is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image size-full hr3-hero-bg\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"800\" src=\"https:\/\/hull-rotterdam.com\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam.jpg\" alt=\"\" class=\"wp-image-1460\" srcset=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam.jpg 1200w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam-300x200.jpg 300w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam-1024x683.jpg 1024w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam-768x512.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-columns hr-hero-sub-cols hr-split-mrev is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column hr-hero-sub-text is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"wp-block-group hr-crumbs is-layout-flow wp-block-group-is-layout-flow\"><span><span><a href=\"https:\/\/hull-rotterdam.com\/fr\/\">Rotterdam - Hull<\/a><\/span><\/span>\n<\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Horaires du ferry entre Rotterdam et Hull<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Consultez les heures de d\u00e9part des ferries reliant Rotterdam \u00e0 Hull dans notre horaire.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group hr3-body is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns hr3-grid is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column hr3-rail hr3-rail-left is-layout-flow wp-block-column-is-layout-flow\">\n<nav class=\"hr-toc\" aria-label=\"Sur cette page\"><p class=\"hr-toc-title\">Sur cette page<\/p><ul><\/ul><\/nav>\n\n\n\n<div class=\"wp-block-group hr3-note hr3-note-facts is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"hr3-label wp-block-paragraph\">La travers\u00e9e<\/p>\n\n\n\n<ul class=\"wp-block-list hr3-mini\">\n<li><strong>D\u00e9part<\/strong> 20h30 ou 21h00<\/li>\n\n\n\n<li><strong>Arriv\u00e9e<\/strong> vers 7h30<\/li>\n\n\n\n<li><strong>Enregistrement<\/strong> ferme 90 minutes avant le d\u00e9part<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/hull-rotterdam.com\/fr\/horaires\/\">Tous les horaires<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column hr3-main is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group hr-section hr-flat hr-t50 hr-b50 is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"hr-eyebrow wp-block-paragraph\">Horaire des travers\u00e9es Rotterdam &#8211; Hull<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Heures de d\u00e9part et d\u2019arriv\u00e9e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9couvrez les horaires actualis\u00e9s pour les 14 prochains jours. Veuillez noter que des modifications de derni\u00e8re minute peuvent survenir. Des facteurs tels que les <a href=\"https:\/\/hull-rotterdam.com\/fr\/meteo\/\">conditions m\u00e9t\u00e9orologiques<\/a> peuvent influencer les heures de d\u00e9part et d\u2019arriv\u00e9e.<\/p>\n\n\n<div class=\"tp-wrap\" data-config=\"{&quot;rest&quot;:&quot;https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/wp-json\\\/timetables-pro\\\/v1\\\/timetables&quot;,&quot;routes&quot;:[82],&quot;days&quot;:7,&quot;autoload&quot;:true,&quot;routeLabels&quot;:{&quot;82&quot;:&quot;Rotterdam vers Hull&quot;},&quot;opFilter&quot;:[&quot;7&quot;],&quot;labels&quot;:{&quot;ui_date&quot;:&quot;Date&quot;,&quot;ui_days&quot;:&quot;Jours&quot;,&quot;ui_button&quot;:&quot;Voir les horaires&quot;,&quot;status_idle&quot;:&quot;S\\u00e9lectionnez une date pour afficher les horaires&quot;,&quot;status_loading&quot;:&quot;Chargement...&quot;,&quot;status_empty&quot;:&quot;Aucun horaire trouv\\u00e9&quot;,&quot;status_found&quot;:&quot;%d vaartijden gevonden&quot;,&quot;th_date&quot;:&quot;Date&quot;,&quot;th_dep&quot;:&quot;D\\u00e9part&quot;,&quot;th_arr&quot;:&quot;Arriv\\u00e9e&quot;,&quot;th_dur&quot;:&quot;Dur\\u00e9e&quot;,&quot;th_ship&quot;:&quot;Ferry&quot;,&quot;th_op&quot;:&quot;Op\\u00e9rateur&quot;,&quot;th_route&quot;:&quot;Trajet&quot;,&quot;wd_sun&quot;:&quot;DIM&quot;,&quot;wd_mon&quot;:&quot;LUN&quot;,&quot;wd_tue&quot;:&quot;MAR&quot;,&quot;wd_wed&quot;:&quot;MER&quot;,&quot;wd_thu&quot;:&quot;JEU&quot;,&quot;wd_fri&quot;:&quot;VEN&quot;,&quot;wd_sat&quot;:&quot;SAM&quot;,&quot;summary_footer_one&quot;:&quot;\\u00bb Voir les %s prochains d\\u00e9parts dans notre horaire&quot;,&quot;summary_footer_two&quot;:&quot;\\u00bb Consultez plus de d\\u00e9parts %1$s et %2$s dans notre horaire&quot;,&quot;summary_footer_generic&quot;:&quot;Consultez notre horaire pour plus de travers\\u00e9es&quot;,&quot;more_link&quot;:&quot;Plus d\\u2019horaires&quot;},&quot;showLogo&quot;:true,&quot;title&quot;:&quot;D\\u00e9parts de Rotterdam vers Hull&quot;,&quot;shipMap&quot;:[],&quot;shipLinks&quot;:{&quot;pride of hull&quot;:&quot;https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/ferries\\\/pride-of-hull\\\/&quot;,&quot;pride of rotterdam&quot;:&quot;https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/ferries\\\/pride-of-rotterdam\\\/&quot;}}\">\n  <div class=\"tp-controls\" role=\"group\" aria-label=\"Timetable controls\">\n    <div>\n      <label for=\"tp-date-ops\">Date<\/label><br>\n      <input id=\"tp-date-ops\" class=\"tp-date\" type=\"date\" aria-label=\"Date\">\n    <\/div>\n    <div>\n      <label for=\"tp-range-ops\">Jours<\/label><br>\n      <select id=\"tp-range-ops\" class=\"tp-range\" aria-label=\"Jours\">\n        <option value=\"1\">1<\/option><option value=\"3\">3<\/option><option value=\"7\">7<\/option><option value=\"14\">14<\/option>\n      <\/select>\n    <\/div>\n    <div><button id=\"tp-load-ops\" class=\"tp-btn\">Voir les horaires<\/button><\/div>\n  <\/div>\n\n      <h3 style=\"margin:8px 0 12px;color:#0f172a;\">D\u00e9parts de Rotterdam vers Hull<\/h3>\n  \n  <div id=\"tp-status-ops\" class=\"tp-muted\" aria-live=\"polite\">S\u00e9lectionnez une date pour afficher les horaires<\/div>\n\n  <div id=\"tp-ops-results\"><\/div>\n\n  <div class=\"tp-loader\" aria-hidden=\"true\">\n    <div class=\"tp-loader-card\">\n      <div class=\"tp-spinner\" aria-hidden=\"true\"><\/div>\n      <div class=\"tp-loader-text\">Chargement...<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  const wrap   = document.currentScript.previousElementSibling;\n  const cfg    = JSON.parse(wrap.getAttribute('data-config')||'{}');\n  const L      = cfg.labels||{};\n  const dateEl = wrap.querySelector('#tp-date-ops');\n  const daysEl = wrap.querySelector('#tp-range-ops');\n  const btn    = wrap.querySelector('#tp-load-ops');\n  const status = wrap.querySelector('#tp-status-ops');\n  const out    = wrap.querySelector('#tp-ops-results');\n  const loader = wrap.querySelector('.tp-loader');\n\n  dateEl.valueAsDate = new Date();\n  Array.from(daysEl.options).forEach(o=>{ if(parseInt(o.value,10)===parseInt(cfg.days||7,10)) o.selected=true; });\n\n  function pad(n){ return String(n).padStart(2,'0'); }\n  function iso(d){ return d.getFullYear()+'-'+pad(d.getMonth()+1)+'-'+pad(d.getDate()); }\n  function toLocal(s){ return new Date(s); }\n  function hhmm(d){ return d.toLocaleTimeString([], {hour:'2-digit', minute:'2-digit'}); }\n  function dShort(d){ return d.toLocaleDateString([], {day:'numeric', month:'short'}); }\n  function dur(m){ const h=Math.floor(m\/60), r=m%60; return r? (h+'h '+r+'m') : (h+'h'); }\n\n  const WD = [\n    L.wd_sun || 'SUN',\n    L.wd_mon || 'MON',\n    L.wd_tue || 'TUE',\n    L.wd_wed || 'WED',\n    L.wd_thu || 'THU',\n    L.wd_fri || 'FRI',\n    L.wd_sat || 'SAT'\n  ];\n\n  function setLoader(v){ loader.classList.toggle('show', !!v); loader.setAttribute('aria-hidden', v?'false':'true'); }\n\n  function opCell(r){\n    const name = r.opName || ('Operator '+(r.opId||''));\n    const logo = (cfg.showLogo && r.opLogo) ? '<img decoding=\"async\" src=\"'+r.opLogo+'\" alt=\"'+name+'\"> ' : '';\n    const label = logo + '<span>'+name+'<\/span>';\n    return r.opLink ? '<a class=\"tp-op\" href=\"'+r.opLink+'\" target=\"_blank\" rel=\"nofollow noopener\">'+label+'<\/a>' : '<span class=\"tp-op\">'+label+'<\/span>';\n  }\n\n  function shipInfo(original){\n    const key = (original||'').toLowerCase().trim();\n    const label = (cfg.shipMap && cfg.shipMap[key]) || original || '';\n    const href  = (cfg.shipLinks && cfg.shipLinks[key]) || '';\n    return {label, href};\n  }\n\n  function shipBadge(original){\n    const s = shipInfo(original);\n    const badge = '<span class=\"tp-badge\">'+(s.label||'')+'<\/span>';\n    return s.href ? ('<a href=\"'+s.href+'\" target=\"_blank\" rel=\"nofollow noopener\">'+badge+'<\/a>') : badge;\n  }\n\n  function routeLabel(rid){\n    return (cfg.routeLabels && (cfg.routeLabels[String(rid)] || cfg.routeLabels[rid])) || String(rid);\n  }\n\n  function renderTable(rows){\n    const th = {date:L.th_date,dep:L.th_dep,arr:L.th_arr,dur:L.th_dur,ship:L.th_ship,route:L.th_route,op:L.th_op};\n    let html = '<table class=\"tp-table\"><thead><tr>'+\n      '<th>'+th.date+'<\/th><th>'+th.dep+'<\/th><th>'+th.arr+'<\/th><th>'+th.dur+'<\/th><th>'+th.ship+'<\/th><th>'+th.route+'<\/th><th>'+th.op+'<\/th>'+\n      '<\/tr><\/thead><tbody>';\n    rows.forEach(r=>{\n      const dow = WD[r.dep.getDay()] || '';\n      html += '<tr>'+\n        '<td>'+dShort(r.dep)+' <span class=\"tp-day\">'+dow+'<\/span><\/td>'+\n        '<td>'+hhmm(r.dep)+'<\/td>'+\n        '<td>'+hhmm(r.arr)+'<\/td>'+\n        '<td>'+dur(r.min)+'<\/td>'+\n        '<td>'+shipBadge(r.ship)+'<\/td>'+\n        '<td>'+routeLabel(r.routeId)+'<\/td>'+\n        '<td>'+opCell(r)+'<\/td>'+\n      '<\/tr>';\n    });\n    html += '<\/tbody><\/table>';\n    return html;\n  }\n\n  function renderCards(rows){\n    let html = '<div class=\"tp-cardlist\">';\n    rows.forEach(r=>{\n      const dow   = WD[r.dep.getDay()] || '';\n      const times = hhmm(r.dep) + ' <span class=\"tp-arrow\">\u2192<\/span> ' + hhmm(r.arr);\n      html += '<div class=\"tp-card\">'+\n        \/\/ Row 1: Date + weekday + times\n        '<div class=\"tp-mrow\">'+\n          '<div class=\"lhs\"><span class=\"tp-sub\">'+dShort(r.dep)+'<\/span><span class=\"tp-day\">'+dow+'<\/span><\/div>'+\n          '<div class=\"rhs\"><span class=\"tp-time\">'+times+'<\/span><\/div>'+\n        '<\/div>'+\n        \/\/ Row 2: Ship & Route (no prefixes)\n        '<div class=\"tp-mrow\">'+\n          '<div class=\"lhs\">'+shipBadge(r.ship)+'<\/div>'+\n          '<div class=\"rhs\">'+routeLabel(r.routeId)+'<\/div>'+\n        '<\/div>'+\n        \/\/ Row 3: Operator\n        '<div class=\"tp-mrow\">'+\n          '<div class=\"lhs\">'+opCell(r)+'<\/div>'+\n          '<div class=\"rhs\"><\/div>'+\n        '<\/div>'+\n      '<\/div>';\n    });\n    html += '<\/div>';\n    return html;\n  }\n\n  \/\/ Safe fetch helper\n  async function fetchOne(routeId, from, to){\n    try{\n      const url = new URL(cfg.rest);\n      url.searchParams.set('route', String(routeId));\n      url.searchParams.set('from', from);\n      url.searchParams.set('to', to);\n      const res = await fetch(url.toString(), {credentials:'same-origin'});\n      if(!res.ok) return { rid: routeId, error: 'HTTP '+res.status };\n      const json = await res.json();\n      const list = (json && json.data && Array.isArray(json.data.rows)) ? json.data.rows : [];\n      return { rid: routeId, rows: list };\n    }catch(e){\n      return { rid: routeId, error: String(e && e.message ? e.message : e) };\n    }\n  }\n\n  async function load(){\n    btn.disabled = true; setLoader(true); status.textContent = L.status_loading;\n\n    const start = new Date(dateEl.value || new Date());\n    const days  = Math.max(1, parseInt(daysEl.value,10)||1);\n    const end   = new Date(start); end.setDate(start.getDate()+days-1);\n    const fromIso = iso(start), toIso = iso(end);\n\n    try{\n      const results  = await Promise.all((cfg.routes||[]).map(rid=>fetchOne(rid, fromIso, toIso)));\n      const oks  = results.filter(r => !r.error);\n      const errs = results.filter(r =>  r.error);\n\n      const all = [];\n      oks.forEach(({rid, rows})=>{\n        rows.forEach(t=>{\n          all.push({\n            routeId: rid,\n            opId: t.operatorId || null,\n            opName: t.operatorName || '',\n            opLogo: t.operatorLogo || '',\n            opLink: t.operatorLink || '',\n            dep: toLocal(t.departureTime),\n            arr: toLocal(t.arrivalTime),\n            min: t.durationInMinutes || 0,\n            ship: t.shipName || ''\n          });\n        });\n      });\n\n      let rows = all;\n      if (Array.isArray(cfg.opFilter) && cfg.opFilter.length>0) {\n        rows = all.filter(r => r.opId && cfg.opFilter.includes(String(r.opId)));\n      }\n\n      rows.sort((a,b)=> a.dep - b.dep);\n\n      const total = rows.length;\n      if (total===0){\n        status.textContent = L.status_empty + (errs.length ? ' (some routes returned no data or errors)' : '');\n        out.innerHTML='';\n        setLoader(false); btn.disabled=false; return;\n      }\n\n      status.textContent = (L.status_found||'%d sailings found').replace('%d', total) + (errs.length ? ` (skipped ${errs.length} route${errs.length>1?'s':''})` : '');\n      out.innerHTML = renderTable(rows) + renderCards(rows);\n\n    } catch(e){\n      status.textContent = 'Failed to load data';\n      out.innerHTML = '<pre>'+String(e.message||e)+'<\/pre>';\n    } finally {\n      setLoader(false);\n      btn.disabled = false;\n    }\n  }\n\n  btn.addEventListener('click', load);\n  if (cfg.autoload) load();\n})();\n<\/script>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group hr-section hr-wide hr-t50 hr-b50 is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns hr-split is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column hr-panel-media is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"800\" src=\"https:\/\/hull-rotterdam.com\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-check-in-Hull-Europoort.png\" alt=\"P&amp;O Ferries check-in area at Hull and Europoort terminals\" class=\"wp-image-1863\" srcset=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-check-in-Hull-Europoort.png 1200w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-check-in-Hull-Europoort-300x200.png 300w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-check-in-Hull-Europoort-1024x683.png 1024w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-check-in-Hull-Europoort-768x512.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column hr-panel-blue is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<h3 class=\"wp-block-heading\">Avant de vous rendre \u00e0 Europoort<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Il est conseill\u00e9 \u2013 et souvent moins cher \u2013 d\u2019acheter vos billets \u00e0 l\u2019avance. Vous serez ainsi certain d\u2019avoir une place \u00e0 bord du ferry et gagnerez du temps lors de l\u2019enregistrement.<\/li>\n\n\n\n<li>Pr\u00e9sentez-vous \u00e0 l\u2019enregistrement de P&amp;O Ferries au moins 90 minutes avant le d\u00e9part, m\u00eame si vous voyagez sans voiture.<\/li>\n\n\n\n<li>Pr\u00e9voyez un d\u00e9part anticip\u00e9 de votre domicile ou de votre h\u00e9bergement. Comptez un trajet d\u2019environ deux \u00e0 trois heures depuis le nord de la France ou de la Belgique, et tenez compte du trafic et d\u2019\u00e9ventuels changements d\u2019horaires.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group hr-section hr-t50 hr-b50 is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns hr-cols hr-cols-66-33 hr-cols-center is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.67%\">\n<p class=\"hr-eyebrow wp-block-paragraph\">P&amp;O Ferries Rotterdam vers Hull: Horaires<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 propos des travers\u00e9es entre Rotterdam et Hull<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Actuellement, une seule compagnie assure la liaison entre Rotterdam et Hull : <strong>P&amp;O Ferries<\/strong>. Deux navires sont utilis\u00e9s sur cette route : le <em>Pride of Hull<\/em> et le <em>Pride of Rotterdam<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Du lundi au vendredi, le ferry part \u00e0 <strong>21h00<\/strong> et arrive vers <strong>07h30<\/strong> au port de Hull. Le week-end, le d\u00e9part a lieu \u00e0 <strong>20h30<\/strong> avec une arriv\u00e9e pr\u00e9vue vers <strong>08h00<\/strong> le matin.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Pride-of-Rotterdam-1-1024x683.png\" alt=\"Pride of Rotterdam ferry operated by P&amp;O Ferries\" class=\"wp-image-1857\" srcset=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Pride-of-Rotterdam-1-1024x683.png 1024w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Pride-of-Rotterdam-1-300x200.png 300w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Pride-of-Rotterdam-1-768x512.png 768w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Pride-of-Rotterdam-1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group hr-section hr-flat hr-t50 hr-b50 is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"hr-eyebrow wp-block-paragraph\">Heures de d\u00e9part depuis le port de Hull<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Travers\u00e9e retour : horaires Hull Rotterdam<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Consultez dans l\u2019horaire ci-dessous les heures de travers\u00e9e de Hull vers Rotterdam pour les 14 prochains jours.<\/p>\n\n\n<div class=\"tp-wrap\" data-config=\"{&quot;rest&quot;:&quot;https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/wp-json\\\/timetables-pro\\\/v1\\\/timetables&quot;,&quot;routes&quot;:[34],&quot;days&quot;:7,&quot;autoload&quot;:true,&quot;routeLabels&quot;:{&quot;34&quot;:&quot;Hull vers Rotterdam&quot;},&quot;opFilter&quot;:[&quot;7&quot;],&quot;labels&quot;:{&quot;ui_date&quot;:&quot;Date&quot;,&quot;ui_days&quot;:&quot;Jours&quot;,&quot;ui_button&quot;:&quot;Voir les horaires&quot;,&quot;status_idle&quot;:&quot;S\\u00e9lectionnez une date pour afficher les horaires&quot;,&quot;status_loading&quot;:&quot;Chargement...&quot;,&quot;status_empty&quot;:&quot;Aucun horaire trouv\\u00e9&quot;,&quot;status_found&quot;:&quot;%d vaartijden gevonden&quot;,&quot;th_date&quot;:&quot;Date&quot;,&quot;th_dep&quot;:&quot;D\\u00e9part&quot;,&quot;th_arr&quot;:&quot;Arriv\\u00e9e&quot;,&quot;th_dur&quot;:&quot;Dur\\u00e9e&quot;,&quot;th_ship&quot;:&quot;Ferry&quot;,&quot;th_op&quot;:&quot;Op\\u00e9rateur&quot;,&quot;th_route&quot;:&quot;Trajet&quot;,&quot;wd_sun&quot;:&quot;DIM&quot;,&quot;wd_mon&quot;:&quot;LUN&quot;,&quot;wd_tue&quot;:&quot;MAR&quot;,&quot;wd_wed&quot;:&quot;MER&quot;,&quot;wd_thu&quot;:&quot;JEU&quot;,&quot;wd_fri&quot;:&quot;VEN&quot;,&quot;wd_sat&quot;:&quot;SAM&quot;,&quot;summary_footer_one&quot;:&quot;\\u00bb Voir les %s prochains d\\u00e9parts dans notre horaire&quot;,&quot;summary_footer_two&quot;:&quot;\\u00bb Consultez plus de d\\u00e9parts %1$s et %2$s dans notre horaire&quot;,&quot;summary_footer_generic&quot;:&quot;Consultez notre horaire pour plus de travers\\u00e9es&quot;,&quot;more_link&quot;:&quot;Plus d\\u2019horaires&quot;},&quot;showLogo&quot;:true,&quot;title&quot;:&quot;D\\u00e9parts de Hull vers Rotterdam&quot;,&quot;shipMap&quot;:[],&quot;shipLinks&quot;:{&quot;pride of hull&quot;:&quot;https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/ferries\\\/pride-of-hull\\\/&quot;,&quot;pride of rotterdam&quot;:&quot;https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/ferries\\\/pride-of-rotterdam\\\/&quot;}}\">\n  <div class=\"tp-controls\" role=\"group\" aria-label=\"Timetable controls\">\n    <div>\n      <label for=\"tp-date-ops\">Date<\/label><br>\n      <input id=\"tp-date-ops\" class=\"tp-date\" type=\"date\" aria-label=\"Date\">\n    <\/div>\n    <div>\n      <label for=\"tp-range-ops\">Jours<\/label><br>\n      <select id=\"tp-range-ops\" class=\"tp-range\" aria-label=\"Jours\">\n        <option value=\"1\">1<\/option><option value=\"3\">3<\/option><option value=\"7\">7<\/option><option value=\"14\">14<\/option>\n      <\/select>\n    <\/div>\n    <div><button id=\"tp-load-ops\" class=\"tp-btn\">Voir les horaires<\/button><\/div>\n  <\/div>\n\n      <h3 style=\"margin:8px 0 12px;color:#0f172a;\">D\u00e9parts de Hull vers Rotterdam<\/h3>\n  \n  <div id=\"tp-status-ops\" class=\"tp-muted\" aria-live=\"polite\">S\u00e9lectionnez une date pour afficher les horaires<\/div>\n\n  <div id=\"tp-ops-results\"><\/div>\n\n  <div class=\"tp-loader\" aria-hidden=\"true\">\n    <div class=\"tp-loader-card\">\n      <div class=\"tp-spinner\" aria-hidden=\"true\"><\/div>\n      <div class=\"tp-loader-text\">Chargement...<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  const wrap   = document.currentScript.previousElementSibling;\n  const cfg    = JSON.parse(wrap.getAttribute('data-config')||'{}');\n  const L      = cfg.labels||{};\n  const dateEl = wrap.querySelector('#tp-date-ops');\n  const daysEl = wrap.querySelector('#tp-range-ops');\n  const btn    = wrap.querySelector('#tp-load-ops');\n  const status = wrap.querySelector('#tp-status-ops');\n  const out    = wrap.querySelector('#tp-ops-results');\n  const loader = wrap.querySelector('.tp-loader');\n\n  dateEl.valueAsDate = new Date();\n  Array.from(daysEl.options).forEach(o=>{ if(parseInt(o.value,10)===parseInt(cfg.days||7,10)) o.selected=true; });\n\n  function pad(n){ return String(n).padStart(2,'0'); }\n  function iso(d){ return d.getFullYear()+'-'+pad(d.getMonth()+1)+'-'+pad(d.getDate()); }\n  function toLocal(s){ return new Date(s); }\n  function hhmm(d){ return d.toLocaleTimeString([], {hour:'2-digit', minute:'2-digit'}); }\n  function dShort(d){ return d.toLocaleDateString([], {day:'numeric', month:'short'}); }\n  function dur(m){ const h=Math.floor(m\/60), r=m%60; return r? (h+'h '+r+'m') : (h+'h'); }\n\n  const WD = [\n    L.wd_sun || 'SUN',\n    L.wd_mon || 'MON',\n    L.wd_tue || 'TUE',\n    L.wd_wed || 'WED',\n    L.wd_thu || 'THU',\n    L.wd_fri || 'FRI',\n    L.wd_sat || 'SAT'\n  ];\n\n  function setLoader(v){ loader.classList.toggle('show', !!v); loader.setAttribute('aria-hidden', v?'false':'true'); }\n\n  function opCell(r){\n    const name = r.opName || ('Operator '+(r.opId||''));\n    const logo = (cfg.showLogo && r.opLogo) ? '<img decoding=\"async\" src=\"'+r.opLogo+'\" alt=\"'+name+'\"> ' : '';\n    const label = logo + '<span>'+name+'<\/span>';\n    return r.opLink ? '<a class=\"tp-op\" href=\"'+r.opLink+'\" target=\"_blank\" rel=\"nofollow noopener\">'+label+'<\/a>' : '<span class=\"tp-op\">'+label+'<\/span>';\n  }\n\n  function shipInfo(original){\n    const key = (original||'').toLowerCase().trim();\n    const label = (cfg.shipMap && cfg.shipMap[key]) || original || '';\n    const href  = (cfg.shipLinks && cfg.shipLinks[key]) || '';\n    return {label, href};\n  }\n\n  function shipBadge(original){\n    const s = shipInfo(original);\n    const badge = '<span class=\"tp-badge\">'+(s.label||'')+'<\/span>';\n    return s.href ? ('<a href=\"'+s.href+'\" target=\"_blank\" rel=\"nofollow noopener\">'+badge+'<\/a>') : badge;\n  }\n\n  function routeLabel(rid){\n    return (cfg.routeLabels && (cfg.routeLabels[String(rid)] || cfg.routeLabels[rid])) || String(rid);\n  }\n\n  function renderTable(rows){\n    const th = {date:L.th_date,dep:L.th_dep,arr:L.th_arr,dur:L.th_dur,ship:L.th_ship,route:L.th_route,op:L.th_op};\n    let html = '<table class=\"tp-table\"><thead><tr>'+\n      '<th>'+th.date+'<\/th><th>'+th.dep+'<\/th><th>'+th.arr+'<\/th><th>'+th.dur+'<\/th><th>'+th.ship+'<\/th><th>'+th.route+'<\/th><th>'+th.op+'<\/th>'+\n      '<\/tr><\/thead><tbody>';\n    rows.forEach(r=>{\n      const dow = WD[r.dep.getDay()] || '';\n      html += '<tr>'+\n        '<td>'+dShort(r.dep)+' <span class=\"tp-day\">'+dow+'<\/span><\/td>'+\n        '<td>'+hhmm(r.dep)+'<\/td>'+\n        '<td>'+hhmm(r.arr)+'<\/td>'+\n        '<td>'+dur(r.min)+'<\/td>'+\n        '<td>'+shipBadge(r.ship)+'<\/td>'+\n        '<td>'+routeLabel(r.routeId)+'<\/td>'+\n        '<td>'+opCell(r)+'<\/td>'+\n      '<\/tr>';\n    });\n    html += '<\/tbody><\/table>';\n    return html;\n  }\n\n  function renderCards(rows){\n    let html = '<div class=\"tp-cardlist\">';\n    rows.forEach(r=>{\n      const dow   = WD[r.dep.getDay()] || '';\n      const times = hhmm(r.dep) + ' <span class=\"tp-arrow\">\u2192<\/span> ' + hhmm(r.arr);\n      html += '<div class=\"tp-card\">'+\n        \/\/ Row 1: Date + weekday + times\n        '<div class=\"tp-mrow\">'+\n          '<div class=\"lhs\"><span class=\"tp-sub\">'+dShort(r.dep)+'<\/span><span class=\"tp-day\">'+dow+'<\/span><\/div>'+\n          '<div class=\"rhs\"><span class=\"tp-time\">'+times+'<\/span><\/div>'+\n        '<\/div>'+\n        \/\/ Row 2: Ship & Route (no prefixes)\n        '<div class=\"tp-mrow\">'+\n          '<div class=\"lhs\">'+shipBadge(r.ship)+'<\/div>'+\n          '<div class=\"rhs\">'+routeLabel(r.routeId)+'<\/div>'+\n        '<\/div>'+\n        \/\/ Row 3: Operator\n        '<div class=\"tp-mrow\">'+\n          '<div class=\"lhs\">'+opCell(r)+'<\/div>'+\n          '<div class=\"rhs\"><\/div>'+\n        '<\/div>'+\n      '<\/div>';\n    });\n    html += '<\/div>';\n    return html;\n  }\n\n  \/\/ Safe fetch helper\n  async function fetchOne(routeId, from, to){\n    try{\n      const url = new URL(cfg.rest);\n      url.searchParams.set('route', String(routeId));\n      url.searchParams.set('from', from);\n      url.searchParams.set('to', to);\n      const res = await fetch(url.toString(), {credentials:'same-origin'});\n      if(!res.ok) return { rid: routeId, error: 'HTTP '+res.status };\n      const json = await res.json();\n      const list = (json && json.data && Array.isArray(json.data.rows)) ? json.data.rows : [];\n      return { rid: routeId, rows: list };\n    }catch(e){\n      return { rid: routeId, error: String(e && e.message ? e.message : e) };\n    }\n  }\n\n  async function load(){\n    btn.disabled = true; setLoader(true); status.textContent = L.status_loading;\n\n    const start = new Date(dateEl.value || new Date());\n    const days  = Math.max(1, parseInt(daysEl.value,10)||1);\n    const end   = new Date(start); end.setDate(start.getDate()+days-1);\n    const fromIso = iso(start), toIso = iso(end);\n\n    try{\n      const results  = await Promise.all((cfg.routes||[]).map(rid=>fetchOne(rid, fromIso, toIso)));\n      const oks  = results.filter(r => !r.error);\n      const errs = results.filter(r =>  r.error);\n\n      const all = [];\n      oks.forEach(({rid, rows})=>{\n        rows.forEach(t=>{\n          all.push({\n            routeId: rid,\n            opId: t.operatorId || null,\n            opName: t.operatorName || '',\n            opLogo: t.operatorLogo || '',\n            opLink: t.operatorLink || '',\n            dep: toLocal(t.departureTime),\n            arr: toLocal(t.arrivalTime),\n            min: t.durationInMinutes || 0,\n            ship: t.shipName || ''\n          });\n        });\n      });\n\n      let rows = all;\n      if (Array.isArray(cfg.opFilter) && cfg.opFilter.length>0) {\n        rows = all.filter(r => r.opId && cfg.opFilter.includes(String(r.opId)));\n      }\n\n      rows.sort((a,b)=> a.dep - b.dep);\n\n      const total = rows.length;\n      if (total===0){\n        status.textContent = L.status_empty + (errs.length ? ' (some routes returned no data or errors)' : '');\n        out.innerHTML='';\n        setLoader(false); btn.disabled=false; return;\n      }\n\n      status.textContent = (L.status_found||'%d sailings found').replace('%d', total) + (errs.length ? ` (skipped ${errs.length} route${errs.length>1?'s':''})` : '');\n      out.innerHTML = renderTable(rows) + renderCards(rows);\n\n    } catch(e){\n      status.textContent = 'Failed to load data';\n      out.innerHTML = '<pre>'+String(e.message||e)+'<\/pre>';\n    } finally {\n      setLoader(false);\n      btn.disabled = false;\n    }\n  }\n\n  btn.addEventListener('click', load);\n  if (cfg.autoload) load();\n})();\n<\/script>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group hr-section hr-wide is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns hr-split is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column hr-panel-blue is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<p class=\"hr-title wp-block-paragraph\">R\u00e9server des billets de ferry ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez notre module de r\u00e9servation sur cette page pour obtenir imm\u00e9diatement un devis sans engagement. Vous pouvez \u00e9galement consulter d\u2019abord notre horaire pour voir quels ferries partent \u00e0 quelles heures et v\u00e9rifier s\u2019ils correspondent \u00e0 votre planning.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column hr-panel-tint is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<figure class=\"wp-block-gallery has-nested-images columns-3 is-cropped hr-trio wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" data-id=\"2115\" src=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Car-entering-the-ferry-terminal-Rotterdam-300x200.png\" alt=\"Car approaching the P&amp;O Ferries terminal at Rotterdam Europoort for boarding\" class=\"wp-image-2115\" srcset=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Car-entering-the-ferry-terminal-Rotterdam-300x200.png 300w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Car-entering-the-ferry-terminal-Rotterdam-1024x683.png 1024w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Car-entering-the-ferry-terminal-Rotterdam-768x512.png 768w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Car-entering-the-ferry-terminal-Rotterdam.png 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" data-id=\"1951\" src=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Cloudy-after-storms-sea-conditions-Rotterdam-300x200.png\" alt=\"Storm winds on the port\" class=\"wp-image-1951\" srcset=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Cloudy-after-storms-sea-conditions-Rotterdam-300x200.png 300w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Cloudy-after-storms-sea-conditions-Rotterdam-1024x683.png 1024w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Cloudy-after-storms-sea-conditions-Rotterdam-768x512.png 768w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/Cloudy-after-storms-sea-conditions-Rotterdam.png 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" data-id=\"1532\" src=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-Ferries-1-300x200.png\" alt=\"P&amp;O Ferries logo viewed from the deck of the ship\" class=\"wp-image-1532\" srcset=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-Ferries-1-300x200.png 300w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-Ferries-1-1024x683.png 1024w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-Ferries-1-768x512.png 768w, https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/PO-Ferries-1.png 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n<\/figure>\n\n\n\n<div class=\"wp-block-group hr-iconbox hr-ico-arrow is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/hull-rotterdam.com\/fr\/horaires\/\">Horaires de travers\u00e9e<\/a><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9couvrez les heures de d\u00e9part et d\u2019arriv\u00e9e des ferries reliant Rotterdam \u00e0 Hull.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group hr-iconbox hr-ico-arrow is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/hull-rotterdam.com\/fr\/meteo\/\">Conditions m\u00e9t\u00e9orologiques avant le d\u00e9part<\/a><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Lunettes de soleil ou imperm\u00e9able ? Consultez la m\u00e9t\u00e9o pr\u00e9vue pour votre travers\u00e9e.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column hr3-rail hr3-rail-right is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"hr-bookbox\"><iframe id=\"dealFinder\" title=\"Module de r\u00e9servation Rotterdam-Hull\" marginwidth=\"0\" frameborder=\"0\" scrolling=\"no\" height=\"520\" marginheight=\"0\" style=\"width:100%;\" src=\"https:\/\/wiz.directferries.com\/partners\/deal_finder_iframe.aspx?&#038;vert=1&#038;stdc=F4015F&#038;cult=fr-FR&#038;oprt=Rotterdam&#038;btn=fe017a&#038;btnh=fe017a&#038;btnt=FFFFFF&#038;tclr=000001&#038;lclr=000001&#038;pclr=FFFFFF&#038;lbld=400&#038;sclr=0025a2&#038;targ=0\"><\/iframe><div class=\"hr-bookbox-by\" style=\"flex-direction:row;justify-content:center;gap:8px;background:#fff;border-top:0\"><img decoding=\"async\" src=\"https:\/\/hull-rotterdam.com\/wp-content\/uploads\/2026\/07\/directferrieslogo.png\" alt=\"Direct Ferries\" loading=\"lazy\" style=\"height:20px\"><span style=\"color:#000\">Comparez et r\u00e9servez via Directferries.com<\/span><\/div><\/div>\n<script>(function(){window.addEventListener('blur',function(){setTimeout(function(){var a=document.activeElement;if(a&&a.tagName==='IFRAME'){var b=a.closest('.hr-bookbox');if(b)b.classList.add('is-open')}},0)})})();<\/script>\n<script>(function(){function run(){var hero=document.querySelector('.hr3-hero-photo .hr-hero-sub-text'),main=document.querySelector('.hr3-main');if(!hero||!main||hero.querySelector('.hr3-pills'))return;var hs=[].slice.call(main.querySelectorAll('h2')).filter(function(h){return h.offsetParent!==null&&h.textContent.trim()!==''});if(hs.length<2)return;var ul=document.createElement('ul');ul.className='hr3-pills';hs.slice(0,4).forEach(function(h,i){if(!h.id){h.id='sectie-'+(i+1)+'-'+h.textContent.trim().toLowerCase().replace(\/[^a-z0-9]+\/g,'-').replace(\/^-+|-+$\/g,'').slice(0,40)}var li=document.createElement('li'),a=document.createElement('a');a.href='#'+h.id;a.textContent=h.textContent.trim();a.title=a.textContent;li.appendChild(a);ul.appendChild(li)});hero.appendChild(ul)}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',function(){setTimeout(run,60)})}else{setTimeout(run,60)}})();<\/script>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Horaires du ferry entre Rotterdam et Hull Consultez les heures de d\u00e9part des ferries reliant Rotterdam \u00e0 Hull dans notre [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_yoast_wpseo_focuskw":"","_yoast_wpseo_title":"Horaires ferry Rotterdam\u2013Hull \ud83d\udd34 d\u00e9parts en direct","_yoast_wpseo_metadesc":"Consulte les horaires \u00e0 jour du ferry entre Rotterdam et Hull, d\u00e9part le soir, arriv\u00e9e le matin.","_yoast_wpseo_is_cornerstone":"","_yoast_wpseo_meta-robots-noindex":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","inline_featured_image":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1641","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Horaires ferry Rotterdam\u2013Hull \ud83d\udd34 d\u00e9parts en direct<\/title>\n<meta name=\"description\" content=\"Consulte les horaires \u00e0 jour du ferry entre Rotterdam et Hull, d\u00e9part le soir, arriv\u00e9e le matin.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hull-rotterdam.com\/fr\/horaires\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Horaires ferry Rotterdam\u2013Hull \ud83d\udd34 d\u00e9parts en direct\" \/>\n<meta property=\"og:description\" content=\"Consulte les horaires \u00e0 jour du ferry entre Rotterdam et Hull, d\u00e9part le soir, arriv\u00e9e le matin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hull-rotterdam.com\/fr\/horaires\/\" \/>\n<meta property=\"og:site_name\" content=\"Rotterdam Hull FR\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-12T12:00:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/\",\"url\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/\",\"name\":\"Horaires ferry Rotterdam\u2013Hull \ud83d\udd34 d\u00e9parts en direct\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hull-rotterdam.com\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/10\\\/ferry-p-and-o-hull-rotterdam.jpg\",\"datePublished\":\"2025-10-28T14:19:30+00:00\",\"dateModified\":\"2026-10-12T12:00:24+00:00\",\"description\":\"Consulte les horaires \u00e0 jour du ferry entre Rotterdam et Hull, d\u00e9part le soir, arriv\u00e9e le matin.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/#primaryimage\",\"url\":\"https:\\\/\\\/hull-rotterdam.com\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/10\\\/ferry-p-and-o-hull-rotterdam.jpg\",\"contentUrl\":\"https:\\\/\\\/hull-rotterdam.com\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/10\\\/ferry-p-and-o-hull-rotterdam.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/horaires\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rotterdam - Hull\",\"item\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Horaires\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/\",\"name\":\"Rotterdam Hull FR\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/#organization\",\"name\":\"Hull Rotterdam\",\"url\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/11\\\/Rotterdam-Hull-Social.png\",\"contentUrl\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/11\\\/Rotterdam-Hull-Social.png\",\"width\":1200,\"height\":675,\"caption\":\"Hull Rotterdam\"},\"image\":{\"@id\":\"https:\\\/\\\/hull-rotterdam.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Horaires ferry Rotterdam\u2013Hull \ud83d\udd34 d\u00e9parts en direct","description":"Consulte les horaires \u00e0 jour du ferry entre Rotterdam et Hull, d\u00e9part le soir, arriv\u00e9e le matin.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hull-rotterdam.com\/fr\/horaires\/","og_locale":"fr_FR","og_type":"article","og_title":"Horaires ferry Rotterdam\u2013Hull \ud83d\udd34 d\u00e9parts en direct","og_description":"Consulte les horaires \u00e0 jour du ferry entre Rotterdam et Hull, d\u00e9part le soir, arriv\u00e9e le matin.","og_url":"https:\/\/hull-rotterdam.com\/fr\/horaires\/","og_site_name":"Rotterdam Hull FR","article_modified_time":"2026-10-12T12:00:24+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/hull-rotterdam.com\/fr\/horaires\/","url":"https:\/\/hull-rotterdam.com\/fr\/horaires\/","name":"Horaires ferry Rotterdam\u2013Hull \ud83d\udd34 d\u00e9parts en direct","isPartOf":{"@id":"https:\/\/hull-rotterdam.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hull-rotterdam.com\/fr\/horaires\/#primaryimage"},"image":{"@id":"https:\/\/hull-rotterdam.com\/fr\/horaires\/#primaryimage"},"thumbnailUrl":"https:\/\/hull-rotterdam.com\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam.jpg","datePublished":"2025-10-28T14:19:30+00:00","dateModified":"2026-10-12T12:00:24+00:00","description":"Consulte les horaires \u00e0 jour du ferry entre Rotterdam et Hull, d\u00e9part le soir, arriv\u00e9e le matin.","breadcrumb":{"@id":"https:\/\/hull-rotterdam.com\/fr\/horaires\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hull-rotterdam.com\/fr\/horaires\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/hull-rotterdam.com\/fr\/horaires\/#primaryimage","url":"https:\/\/hull-rotterdam.com\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam.jpg","contentUrl":"https:\/\/hull-rotterdam.com\/wp-content\/uploads\/sites\/4\/2025\/10\/ferry-p-and-o-hull-rotterdam.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/hull-rotterdam.com\/fr\/horaires\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Rotterdam - Hull","item":"https:\/\/hull-rotterdam.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Horaires"}]},{"@type":"WebSite","@id":"https:\/\/hull-rotterdam.com\/fr\/#website","url":"https:\/\/hull-rotterdam.com\/fr\/","name":"Rotterdam Hull FR","description":"","publisher":{"@id":"https:\/\/hull-rotterdam.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hull-rotterdam.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/hull-rotterdam.com\/fr\/#organization","name":"Hull Rotterdam","url":"https:\/\/hull-rotterdam.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/hull-rotterdam.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/11\/Rotterdam-Hull-Social.png","contentUrl":"https:\/\/hull-rotterdam.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/11\/Rotterdam-Hull-Social.png","width":1200,"height":675,"caption":"Hull Rotterdam"},"image":{"@id":"https:\/\/hull-rotterdam.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/pages\/1641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/comments?post=1641"}],"version-history":[{"count":87,"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/pages\/1641\/revisions"}],"predecessor-version":[{"id":4216,"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/pages\/1641\/revisions\/4216"}],"wp:attachment":[{"href":"https:\/\/hull-rotterdam.com\/fr\/wp-json\/wp\/v2\/media?parent=1641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}