{"id":23615,"date":"2026-08-05T06:36:19","date_gmt":"2026-08-05T06:36:19","guid":{"rendered":"https:\/\/www.transports-express-caraibes.fr\/blog\/bateau-saintes-guadeloupe\/"},"modified":"2026-08-05T06:36:19","modified_gmt":"2026-08-05T06:36:19","slug":"bateau-saintes-guadeloupe","status":"publish","type":"post","link":"https:\/\/www.transports-express-caraibes.fr\/blog\/bateau-saintes-guadeloupe\/","title":{"rendered":"Transport bateau entre les saintes et la guadeloupe : guide complet pour 2026"},"content":{"rendered":"<ul class=\"wp-block-list\"><li><strong>En bref :<\/strong> Travers\u00e9es rapides depuis <strong>Trois\u2011Rivi\u00e8res<\/strong> (\u224820 min) ou direct depuis <strong>Pointe\u2011\u00e0\u2011Pitre<\/strong> (\u22481h).<\/li><li><strong>R\u00e9servation bateau<\/strong> recommand\u00e9e en haute saison pour garantir une place \u00e0 bord des navires climatis\u00e9s.<\/li><li><strong>Tarifs ferry<\/strong> indicatifs : adultes ~25 \u20ac l\u2019aller, b\u00e9b\u00e9 <strong>3 \u20ac<\/strong>; privil\u00e9gier l\u2019aller\u2011retour pour \u00e9conomiser.<\/li><li>Choisir le bateau selon stabilit\u00e9 (catamaran) ou rapidit\u00e9 (monocoque) selon votre sensibilit\u00e9 au mal de mer.<\/li><li>Pr\u00e9voir 30 minutes d\u2019avance au d\u00e9part, stationnement payant \u00e0 Trois\u2011Rivi\u00e8res et options de mobilit\u00e9 sur place : voiturette, scooter, v\u00e9lo \u00e9lectrique.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\"><strong>Transport bateau entre Les Saintes et la Guadeloupe : guide 2026<\/strong> \u2014 La travers\u00e9e maritime vers Les Saintes reste l\u2019un des moments forts d\u2019un s\u00e9jour en Guadeloupe. Ce guide pratique rassemble les informations utiles pour choisir son port de d\u00e9part, comparer les offres de ferry, anticiper la r\u00e9servation bateau et organiser la journ\u00e9e sur Terre\u2011de\u2011Haut. Vous trouverez ici des horaires bateau types, des tarifs ferry rep\u00e8res, des conseils pour \u00e9viter le mal de mer et un itin\u00e9raire maritime optimis\u00e9 pour tirer le meilleur parti d\u2019une escale. Un personnage\u2011fil conducteur, <strong>Camille, voyageur avis\u00e9<\/strong>, illustre chaque situation : d\u00e9part matinal depuis Trois\u2011Rivi\u00e8res pour une excursion express, ou arriv\u00e9e depuis Pointe\u2011\u00e0\u2011Pitre pour qui pr\u00e9f\u00e8re limiter les transferts. Ce texte met l\u2019accent sur l\u2019aspect pratique : combien de temps pr\u00e9voir au port, o\u00f9 garer son v\u00e9hicule, comment choisir entre confort et rapidit\u00e9, et que faire si la navette est annul\u00e9e. Les habitudes locales, les astuces de r\u00e9servation en ligne et les alternatives de mobilit\u00e9 insulaire sont d\u00e9taill\u00e9es pour que votre travers\u00e9e maritime devienne une vraie exp\u00e9rience, pas un casse\u2011t\u00eate logistique.<\/p>\n\n<h2 class=\"wp-block-heading\">Comment rejoindre Les Saintes depuis la Guadeloupe : ports, dur\u00e9e et itin\u00e9raire maritime<\/h2>\n\n<p class=\"wp-block-paragraph\">Deux axes dominent l\u2019offre de transport bateau entre la Guadeloupe et <strong>Les Saintes<\/strong>. Le plus court part de <strong>Trois\u2011Rivi\u00e8res<\/strong> : la travers\u00e9e dure environ <strong>20 minutes<\/strong> et les rotations sont fr\u00e9quentes. C\u2019est l\u2019option pr\u00e9f\u00e9r\u00e9e pour une excursion \u00e0 la journ\u00e9e.<\/p>\n\n<p class=\"wp-block-paragraph\">L\u2019autre solution part de la gare maritime de <strong>Pointe\u2011\u00e0\u2011Pitre (Bergevin)<\/strong> : la travers\u00e9e directe prend autour d\u2019une <strong>heure<\/strong> et \u00e9vite de prendre la route depuis Grande\u2011Terre, pratique pour les arriv\u00e9es par avion.<\/p>\n\n<p class=\"wp-block-paragraph\">Camille choisit Trois\u2011Rivi\u00e8res pour un aller\u2011retour rapide mais opte pour Pointe\u2011\u00e0\u2011Pitre d\u00e8s qu\u2019il veut voyager sans voiture. Pour v\u00e9rifier les offres et acheter en ligne, consultez les pages officielles des op\u00e9rateurs et des guides locaux qui publient r\u00e9guli\u00e8rement les <strong>horaires bateau<\/strong>.<\/p>\n\n<p class=\"wp-block-paragraph\">Liens utiles pour planifier votre d\u00e9part : <a href=\"https:\/\/guadeloupe-voyage.fr\/guadeloupe-les-saintes-bateau\/\" rel=\"nofollow noopener\" target=\"_blank\">se rendre aux Saintes en bateau<\/a> et la ligne directe propos\u00e9e par <a href=\"https:\/\/www.frs-express.com\/billets-de-bateau-pour-les-saintes\" rel=\"nofollow noopener\" target=\"_blank\">FRS Express<\/a>.<\/p>\n\n<h2 class=\"wp-block-heading\">Horaires bateau, r\u00e9servation et tarifs ferry : comment s\u2019y prendre<\/h2>\n\n<p class=\"wp-block-paragraph\">Les <strong>horaires bateau<\/strong> varient selon la saison. En haute saison (d\u00e9cembre\u2011avril) il y a davantage de d\u00e9parts, mais les places partent vite. La <strong>r\u00e9servation bateau<\/strong> en ligne garantit l\u2019acc\u00e8s aux navires climatis\u00e9s et \u00e9vite la file au guichet.<\/p>\n\n<p class=\"wp-block-paragraph\">Tarifs indicatifs (allers simples) : adulte ~<strong>25 \u20ac<\/strong> depuis Trois\u2011Rivi\u00e8res, tarif enfant et r\u00e9ductions variables selon la compagnie, b\u00e9b\u00e9 <strong>3 \u20ac<\/strong>. L\u2019option aller\u2011retour est souvent plus \u00e9conomique.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Compagnie<\/th>\n<th>Destination<\/th>\n<th>Type de navire<\/th>\n<th>Tarif A\/R (approx.)<\/th>\n<th>Services<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/www.les-saintes.com\/billeterie-navette-saintes.php\" rel=\"nofollow noopener\" target=\"_blank\">CTM Deher<\/a><\/td>\n<td>Les Saintes<\/td>\n<td>Monocoque<\/td>\n<td>\u2248 64 \u20ac<\/td>\n<td>Climatisation, snacks, accessible PMR<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.lululocation.com\/aller-aux-saintes-guadeloupe\/\" rel=\"nofollow noopener\" target=\"_blank\">Karu&rsquo;Ferry<\/a><\/td>\n<td>Marie\u2011Galante \/ Les Saintes<\/td>\n<td>Catamaran<\/td>\n<td>\u2248 31 \u20ac<\/td>\n<td>Wifi, salon panoramique, accessible PMR<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/guadeloupe-voyage.fr\/bateau-saintes-guadeloupe\/\" rel=\"nofollow noopener\" target=\"_blank\">L\u2019Express des \u00eeles<\/a><\/td>\n<td>Pointe\u2011\u00e0\u2011Pitre \u2192 Les Saintes<\/td>\n<td>Catamaran<\/td>\n<td>\u2248 54 \u20ac<\/td>\n<td>Snacks, bagages volumineux accept\u00e9s<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<p class=\"wp-block-paragraph\">Comparer ne se limite pas au prix : prenez en compte la stabilit\u00e9 du bateau si vous craignez le mal de mer et la pr\u00e9sence d\u2019un salon climatis\u00e9 pour plus de confort.<\/p>\n\n<h2 class=\"wp-block-heading\">Embarquement, stationnement et vie \u00e0 bord pour une travers\u00e9e sereine<\/h2>\n\n<p class=\"wp-block-paragraph\">Arrivez au port au moins <strong>30 minutes<\/strong> avant le d\u00e9part pour g\u00e9rer le stationnement et les contr\u00f4les d\u2019identit\u00e9. Les parkings payants autour de <strong>Trois\u2011Rivi\u00e8res<\/strong> se remplissent rapidement, pensez \u00e0 pr\u00e9voir un marge.<\/p>\n\n<ul class=\"wp-block-list\"><li>Pr\u00e9sentez vos pi\u00e8ces d\u2019identit\u00e9 : contr\u00f4le syst\u00e9matique au guichet.<\/li><li>\u00c9tiquetez poussettes et bagages volumineux ; ils sont stock\u00e9s dans une zone d\u00e9di\u00e9e.<\/li><li>Placez\u2011vous au centre du bateau, pont inf\u00e9rieur, si vous \u00eates sensible au mal de mer.<\/li><li>Profitez des salons climatis\u00e9s si vous voyagez en famille ou avec des seniors.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\">Camille garde toujours une copie num\u00e9rique et papier des billets : la rapidit\u00e9 au guichet en d\u00e9pend. En cas de doute sur les conditions m\u00e9t\u00e9o, v\u00e9rifiez les notifications de la compagnie avant de partir.<\/p>\n\n<h3 class=\"wp-block-heading\">Conseils concrets pour \u00e9viter le mal de mer<\/h3>\n\n<p class=\"wp-block-paragraph\">Le placement sur le bateau prime sur tout le reste : visez le centre, au pont inf\u00e9rieur. Fixer l\u2019horizon aide le cerveau \u00e0 limiter le mal de mer. Prendre un repas l\u00e9ger avant le d\u00e9part et rester hydrat\u00e9 r\u00e9duit les risques.<\/p>\n\n<p class=\"wp-block-paragraph\">Rem\u00e8des de terrain souvent efficaces : jus de gingembre, bracelets d\u2019acupression, et granules hom\u00e9opathiques comme solution d\u2019appoint. Ces astuces combin\u00e9es \u00e0 un placement strat\u00e9gique assurent une travers\u00e9e plus agr\u00e9able.<\/p>\n\n<h2 class=\"wp-block-heading\">Mobilit\u00e9 aux Saintes : se d\u00e9placer sans voiture et itin\u00e9raire recommand\u00e9<\/h2>\n\n<p class=\"wp-block-paragraph\">Sur Terre\u2011de\u2011Haut, la voiture est rare. Les options pratiques et courantes sont la <strong>voiturette \u00e9lectrique<\/strong> (\u2248 <strong>30 \u20ac\/jour<\/strong>), le <strong>scooter<\/strong> (\u2248 <strong>25 \u20ac\/jour<\/strong>) ou le <strong>v\u00e9lo \u00e9lectrique<\/strong> (\u2248 <strong>20 \u20ac\/jour<\/strong>).<\/p>\n\n<p class=\"wp-block-paragraph\">Pour une journ\u00e9e type, voici un itin\u00e9raire optimis\u00e9 :<\/p>\n\n<ol class=\"wp-block-list\"><li>Arriv\u00e9e matinale au quai \u2192 location de voiturette.<\/li><li>Visite du Fort Napol\u00e9on (navette possible) puis plong\u00e9e au Pain de Sucre pour snorkeling.<\/li><li>Pause d\u00e9jeuner pour go\u00fbter au <strong>Tourment d\u2019amour<\/strong> local.<\/li><li>Balade au bourg et retour au coucher du soleil si vous optez pour la micro\u2011aventure.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">Pour r\u00e9server un v\u00e9hicule et pr\u00e9parer le parking, consultez les guides pratiques qui listent loueurs et tarifs actualis\u00e9s.<\/p>\n\n<p class=\"wp-block-paragraph\">Informations pratiques et guides de mobilit\u00e9 : <a href=\"https:\/\/www.lululocation.com\/aller-aux-saintes-bateau-navette-parking\/\" rel=\"nofollow noopener\" target=\"_blank\">acc\u00e8s, navettes et parking<\/a> et <a href=\"https:\/\/www.villas-guadeloupe.com\/2026\/04\/29\/comment-se-rendre-aux-saintes-depuis-la-guadeloupe-ferries-horaires-et-conseils-2026\/\" rel=\"nofollow noopener\" target=\"_blank\">conseils 2026 pour se rendre aux Saintes<\/a>.<\/p>\n\n<!-- Calculateur pour \"Transport bateau entre les saintes et la guadeloupe : guide complet pour 2026\"\n     \u00c0 coller directement dans votre page (sans <head> ni <body> complets).\n     Taille maximale verticale du composant limit\u00e9e (max-height:2000px).\n     \n     CDN CSS l\u00e9g\u00e8re demand\u00e9e (Tailwind browser) :\n-->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\n\n<div id=\"ferry-calculator\" class=\"max-w-3xl mx-auto p-4 bg-white\/90 rounded-lg shadow ring-1 ring-slate-200\"\n     style=\"max-height:2000px; font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;\">\n  <h2 class=\"text-2xl font-semibold text-slate-800 mb-2\">Calculateur de budget : travers\u00e9e Les Saintes \u2014 Guadeloupe (2026)<\/h2>\n  <p class=\"text-sm text-slate-600 mb-4\">Estimez rapidement le co\u00fbt de votre travers\u00e9e, avec options de location et aller\/retour. Toutes les cha\u00eenes en fran\u00e7ais.<\/p>\n\n  <form id=\"calc-form\" class=\"grid grid-cols-1 gap-3\" aria-label=\"Formulaire de calcul du budget travers\u00e9e\">\n    <fieldset class=\"grid grid-cols-3 gap-2 items-end\">\n      <div>\n        <label for=\"adults\" class=\"block text-sm font-medium text-slate-700\">Adultes (\u226512 ans)<\/label>\n        <input id=\"adults\" name=\"adults\" type=\"number\" min=\"0\" step=\"1\" value=\"1\"\n               class=\"mt-1 block w-full rounded-md border-slate-300 shadow-sm focus:ring-sky-500 focus:border-sky-500\" \/>\n      <\/div>\n      <div>\n        <label for=\"children\" class=\"block text-sm font-medium text-slate-700\">Enfants (3\u201311 ans)<\/label>\n        <input id=\"children\" name=\"children\" type=\"number\" min=\"0\" step=\"1\" value=\"0\"\n               class=\"mt-1 block w-full rounded-md border-slate-300 shadow-sm focus:ring-sky-500 focus:border-sky-500\" \/>\n      <\/div>\n      <div>\n        <label for=\"babies\" class=\"block text-sm font-medium text-slate-700\">B\u00e9b\u00e9s (&lt;3 ans)<\/label>\n        <input id=\"babies\" name=\"babies\" type=\"number\" min=\"0\" step=\"1\" value=\"0\"\n               class=\"mt-1 block w-full rounded-md border-slate-300 shadow-sm focus:ring-sky-500 focus:border-sky-500\" \/>\n      <\/div>\n    <\/fieldset>\n\n    <fieldset class=\"grid grid-cols-2 gap-3\">\n      <div>\n        <label for=\"trip-type\" class=\"block text-sm font-medium text-slate-700\">Type de trajet<\/label>\n        <select id=\"trip-type\" class=\"mt-1 block w-full rounded-md border-slate-300\">\n          <option value=\"oneway\">Aller simple<\/option>\n          <option value=\"roundtrip\">Aller-retour (x2)<\/option>\n        <\/select>\n      <\/div>\n\n      <div>\n        <label for=\"days\" class=\"block text-sm font-medium text-slate-700\">Jours de location (si location)<\/label>\n        <input id=\"days\" name=\"days\" type=\"number\" min=\"1\" step=\"1\" value=\"1\"\n               class=\"mt-1 block w-full rounded-md border-slate-300\" \/>\n      <\/div>\n    <\/fieldset>\n\n    <fieldset aria-labelledby=\"rental-legend\" class=\"mt-1\">\n      <legend id=\"rental-legend\" class=\"text-sm font-medium text-slate-700\">Location optionnelle (s\u00e9lectionnez un v\u00e9hicule)<\/legend>\n      <div class=\"mt-2 grid grid-cols-3 gap-2\">\n        <label class=\"inline-flex items-center gap-2\">\n          <input type=\"radio\" name=\"rental\" value=\"none\" checked class=\"h-4 w-4\">\n          <span>Pas de location<\/span>\n        <\/label>\n        <label class=\"inline-flex items-center gap-2\">\n          <input type=\"radio\" name=\"rental\" value=\"rental_car\" class=\"h-4 w-4\">\n          <span>Voiture<\/span>\n        <\/label>\n        <label class=\"inline-flex items-center gap-2\">\n          <input type=\"radio\" name=\"rental\" value=\"scooter\" class=\"h-4 w-4\">\n          <span>Scooter<\/span>\n        <\/label>\n        <label class=\"inline-flex items-center gap-2\">\n          <input type=\"radio\" name=\"rental\" value=\"bike\" class=\"h-4 w-4\">\n          <span>V\u00e9lo<\/span>\n        <\/label>\n      <\/div>\n    <\/fieldset>\n\n    <div class=\"pt-2\">\n      <button id=\"calculate\" type=\"button\" aria-live=\"polite\"\n              class=\"inline-flex items-center justify-center px-4 py-2 bg-sky-600 text-white rounded-md shadow hover:bg-sky-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-sky-500\">\n        Calculer le budget\n      <\/button>\n      <button id=\"reset\" type=\"button\"\n              class=\"ml-3 inline-flex items-center justify-center px-3 py-2 bg-slate-100 text-slate-800 rounded-md hover:bg-slate-200 focus:outline-none\">\n        R\u00e9initialiser\n      <\/button>\n    <\/div>\n  <\/form>\n\n  <hr class=\"my-3 border-slate-200\" \/>\n\n  <section aria-live=\"polite\" id=\"results\" class=\"space-y-2\">\n    <div id=\"formula\" class=\"text-sm text-slate-600\">Formule : \u2014<\/div>\n    <div id=\"breakdown\" class=\"text-sm text-slate-700\">D\u00e9tail : \u2014<\/div>\n    <div id=\"total\" class=\"text-xl font-bold text-slate-900\">Total estim\u00e9 : \u2014<\/div>\n    <div id=\"note\" class=\"text-xs text-slate-500\">Les tarifs sont indicatifs et peuvent varier selon la saison &amp; l&rsquo;op\u00e9rateur.<\/div>\n  <\/section>\n\n  <hr class=\"my-3 border-slate-200\" \/>\n\n  <section aria-labelledby=\"weather-heading\" class=\"mt-2\">\n    <h3 id=\"weather-heading\" class=\"text-sm font-medium text-slate-700 mb-1\">Conditions m\u00e9t\u00e9o (optionnel)<\/h3>\n    <p class=\"text-xs text-slate-500 mb-2\">R\u00e9cup\u00e8re la m\u00e9t\u00e9o actuelle \u00e0 Terre-de-Haut (API gratuite Open-Meteo).<\/p>\n    <div class=\"flex gap-2\">\n      <button id=\"fetch-weather\" type=\"button\"\n              class=\"inline-flex items-center px-3 py-2 bg-emerald-600 text-white rounded-md hover:bg-emerald-700 focus:outline-none\">\n        Obtenir m\u00e9t\u00e9o\n      <\/button>\n      <div id=\"weather\" class=\"text-sm text-slate-700 self-center\">\u2014<\/div>\n    <\/div>\n  <\/section>\n<\/div>\n\n<script>\n\/*\n  Donn\u00e9es par d\u00e9faut fournies (from <after_fragment>)\n  adult_fare=25; child_fare=15; baby_fare=3; rental_car=30; scooter=25; bike=20; days=1;\n  formula='Total = adults*adult_fare + children*child_fare + babies*baby_fare + rental_choice'\n*\/\n(() => {\n  \/\/ Tarifs par d\u00e9faut (modifiables si n\u00e9cessaire)\n  const PRICES = {\n    adult_fare: 25,    \/\/ tarif adulte (\u20ac)\n    child_fare: 15,    \/\/ tarif enfant (\u20ac)\n    baby_fare: 3,      \/\/ tarif b\u00e9b\u00e9 (\u20ac)\n    rental_car: 30,    \/\/ location voiture par jour (\u20ac)\n    scooter: 25,       \/\/ location scooter par jour (\u20ac)\n    bike: 20           \/\/ location v\u00e9lo par jour (\u20ac)\n  };\n\n  \/\/ R\u00e9f\u00e9rence aux \u00e9l\u00e9ments du DOM\n  const form = document.getElementById('calc-form');\n  const btnCalc = document.getElementById('calculate');\n  const btnReset = document.getElementById('reset');\n  const results = {\n    formula: document.getElementById('formula'),\n    breakdown: document.getElementById('breakdown'),\n    total: document.getElementById('total'),\n    note: document.getElementById('note')\n  };\n\n  \/\/ Accessibility: live region updates handled via text content changes\n\n  \/\/ Calcul principal\n  function computeBudget() {\n    \/\/ Lire les valeurs du formulaire\n    const adults = Math.max(0, parseInt(form.querySelector('#adults').value || 0));\n    const children = Math.max(0, parseInt(form.querySelector('#children').value || 0));\n    const babies = Math.max(0, parseInt(form.querySelector('#babies').value || 0));\n    const tripType = form.querySelector('#trip-type').value; \/\/ 'oneway' ou 'roundtrip'\n    const days = Math.max(1, parseInt(form.querySelector('#days').value || 1));\n\n    \/\/ D\u00e9terminer option de location choisie\n    const rentalChoiceInput = form.querySelector('input[name=\"rental\"]:checked').value; \/\/ 'none'|'rental_car'|'scooter'|'bike'\n\n    \/\/ Calculer rental_choice selon la s\u00e9lection : prix par jour * days (0 si none)\n    let rental_choice = 0;\n    let rental_label = 'Pas de location';\n    if (rentalChoiceInput === 'rental_car') {\n      rental_choice = PRICES.rental_car * days;\n      rental_label = `Voiture: ${formatEUR(PRICES.rental_car)} \/jour \u00d7 ${days} jour(s) = ${formatEUR(rental_choice)}`;\n    } else if (rentalChoiceInput === 'scooter') {\n      rental_choice = PRICES.scooter * days;\n      rental_label = `Scooter: ${formatEUR(PRICES.scooter)} \/jour \u00d7 ${days} jour(s) = ${formatEUR(rental_choice)}`;\n    } else if (rentalChoiceInput === 'bike') {\n      rental_choice = PRICES.bike * days;\n      rental_label = `V\u00e9lo: ${formatEUR(PRICES.bike)} \/jour \u00d7 ${days} jour(s) = ${formatEUR(rental_choice)}`;\n    }\n\n    \/\/ Appliquer aller-retour si s\u00e9lectionn\u00e9\n    const tripMultiplier = tripType === 'roundtrip' ? 2 : 1;\n\n    \/\/ Calcul selon la formule fournie :\n    \/\/ Total = adults*adult_fare + children*child_fare + babies*baby_fare + rental_choice\n    \/\/ On multiplie la partie passagers par tripMultiplier (si aller-retour), la location est par jours donc d\u00e9j\u00e0 g\u00e9r\u00e9e.\n    const passengersTotal = (adults * PRICES.adult_fare + children * PRICES.child_fare + babies * PRICES.baby_fare) * tripMultiplier;\n    const total = passengersTotal + rental_choice;\n\n    \/\/ Mise \u00e0 jour de l'affichage (texte enti\u00e8rement en fran\u00e7ais)\n    results.formula.textContent = \"Formule utilis\u00e9e : Total = adults*adult_fare + children*child_fare + babies*baby_fare + rental_choice\";\n    results.breakdown.innerHTML = `\n      Passagers: Adultes ${adults} \u00d7 ${formatEUR(PRICES.adult_fare)} + Enfants ${children} \u00d7 ${formatEUR(PRICES.child_fare)} + B\u00e9b\u00e9s ${babies} \u00d7 ${formatEUR(PRICES.baby_fare)}\n      ${tripMultiplier === 2 ? ' (aller-retour \u00d72)' : ''}\n      \u2192 Sous-total passagers = ${formatEUR(passengersTotal)}. \n      Location: ${rental_label}.\n    `;\n    results.total.textContent = `Total estim\u00e9 : ${formatEUR(total)}`;\n    results.note.textContent = \"Indication : v\u00e9rifiez toujours les horaires et conditions aupr\u00e8s des compagnies de ferry. Les prix peuvent varier selon la saison.\";\n\n    \/\/ Retourner l'objet calcul\u00e9 (utile pour tests ou int\u00e9gration)\n    return {\n      adults, children, babies, tripType, days,\n      rentalChoiceInput, rental_choice, passengersTotal, total\n    };\n  }\n\n  \/\/ Formatage mon\u00e9taire (EUR)\n  function formatEUR(value) {\n    \/\/ Garder simple, sans locales lourdes ; assurer format en euros\n    return new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(value);\n  }\n\n  \/\/ Event listeners\n  btnCalc.addEventListener('click', (e) => {\n    e.preventDefault();\n    computeBudget();\n    \/\/ D\u00e9placer le focus sur le r\u00e9sultat total pour accessibilit\u00e9\n    results.total.setAttribute('tabindex', '-1');\n    results.total.focus();\n  });\n\n  btnReset.addEventListener('click', (e) => {\n    e.preventDefault();\n    \/\/ R\u00e9initialiser les valeurs aux valeurs par d\u00e9faut pr\u00e9sentes dans les donn\u00e9es\n    form.querySelector('#adults').value = 1;\n    form.querySelector('#children').value = 0;\n    form.querySelector('#babies').value = 0;\n    form.querySelector('#trip-type').value = 'oneway';\n    form.querySelector('#days').value = 1;\n    form.querySelector('input[name=\"rental\"][value=\"none\"]').checked = true;\n\n    results.formula.textContent = 'Formule : \u2014';\n    results.breakdown.textContent = 'D\u00e9tail : \u2014';\n    results.total.textContent = 'Total estim\u00e9 : \u2014';\n    results.note.textContent = 'Les tarifs sont indicatifs et peuvent varier selon la saison & l'op\u00e9rateur.';\n  });\n\n  \/\/ Calcul automatique si l'utilisateur modifie un champ et veut un retour plus rapide\n  form.addEventListener('input', () => {\n    \/\/ On ne d\u00e9clenche pas \u00e0 chaque frappe lourde ; un petit debounce l\u00e9ger\n    if (window._calcTimeout) clearTimeout(window._calcTimeout);\n    window._calcTimeout = setTimeout(() => {\n      computeBudget();\n    }, 400);\n  });\n\n  \/\/ Meteo section (OPTIONNEL) : API publique gratuite Open-Meteo (pas de cl\u00e9)\n  \/\/ URL utilis\u00e9e (exemple pour Terre-de-Haut, Les Saintes) :\n  \/\/ https:\/\/api.open-meteo.com\/v1\/forecast?latitude=15.85&longitude=-61.59&current_weather=true&timezone=auto\n  \/\/\n  \/\/ Exemple de r\u00e9ponse JSON (extrait) :\n  \/\/ {\n  \/\/   \"latitude\":15.85,\n  \/\/   \"longitude\":-61.59,\n  \/\/   \"generationtime_ms\":0.4010200500488281,\n  \/\/   \"utc_offset_seconds\":0,\n  \/\/   \"timezone\":\"GMT\",\n  \/\/   \"current_weather\":{\n  \/\/       \"temperature\":28.3,\n  \/\/       \"windspeed\":9.2,\n  \/\/       \"winddirection\":120,\n  \/\/       \"weathercode\":3,\n  \/\/       \"is_day\":1,\n  \/\/       \"time\":\"2026-06-01T12:00\"\n  \/\/   }\n  \/\/ }\n  \/\/\n  \/\/ API gratuite et sans cl\u00e9 : https:\/\/open-meteo.com\/\n  const weatherBtn = document.getElementById('fetch-weather');\n  const weatherDiv = document.getElementById('weather');\n\n  weatherBtn.addEventListener('click', async () => {\n    weatherDiv.textContent = 'Chargement...';\n    try {\n      \/\/ Coordonn\u00e9es approximatives de Terre-de-Haut, Les Saintes\n      const lat = 15.85;\n      const lon = -61.59;\n      const url = `https:\/\/api.open-meteo.com\/v1\/forecast?latitude=${lat}&longitude=${lon}&current_weather=true&timezone=auto`;\n      const resp = await fetch(url, { cache: 'no-cache' });\n      if (!resp.ok) throw new Error('R\u00e9ponse API non OK');\n      const data = await resp.json();\n\n      \/\/ Extraire info utile\n      const cw = data.current_weather;\n      if (cw) {\n        const temp = cw.temperature;\n        const wind = cw.windspeed;\n        const code = cw.weathercode;\n        const time = cw.time;\n        weatherDiv.textContent = `Actuel ${temp}\u00b0C, vent ${wind} km\/h, \u00e9tat m\u00e9t\u00e9o code ${code} (donn\u00e9e \u00e0 ${time})`;\n      } else {\n        weatherDiv.textContent = 'M\u00e9t\u00e9o indisponible pour le moment.';\n      }\n    } catch (err) {\n      console.error(err);\n      weatherDiv.textContent = 'Erreur lors de la r\u00e9cup\u00e9ration m\u00e9t\u00e9o.';\n    }\n  });\n\n  \/\/ Initial compute to show defaults\n  computeBudget();\n\n})();\n<\/script>\n\n<h2 class=\"wp-block-heading\">Que faire si la navette est annul\u00e9e : plan B et d\u00e9couvertes locales<\/h2>\n\n<p class=\"wp-block-paragraph\">Les annulations pour cause m\u00e9t\u00e9o existent. La r\u00e8glementation autorise les compagnies \u00e0 annuler pour s\u00e9curit\u00e9. En cas d\u2019annulation, contactez la compagnie pour obtenir un report ou remboursement selon leurs conditions.<\/p>\n\n<p class=\"wp-block-paragraph\">Transformer ce contretemps en opportunit\u00e9 : <strong>Trois\u2011Rivi\u00e8res<\/strong> propose des visites culturelles (Maison de la Banane), distilleries et plages \u00e0 proximit\u00e9. Camille profite r\u00e9guli\u00e8rement d\u2019une annulation pour d\u00e9couvrir ces p\u00e9pites locales.<\/p>\n\n<ul class=\"wp-block-list\"><li>V\u00e9rifier radios locales et groupes pour informations m\u00e9t\u00e9o.<\/li><li>Garder une marge de temps pour reprogrammer la travers\u00e9e.<\/li><li>Explorer les lieux autour du port : sentiers, distilleries, plages.<\/li><\/ul>\n\n<h3 class=\"wp-block-heading\">La micro\u2011aventure : dormir aux Saintes pour vivre l\u2019\u00eele autrement<\/h3>\n\n<p class=\"wp-block-paragraph\">Prendre la derni\u00e8re navette et r\u00e9server une nuit sur place transforme l\u2019itin\u00e9raire. L\u2019\u00eele retrouve son calme le soir, les restaurants deviennent plus authentiques et le lever du soleil le lendemain offre une exp\u00e9rience exclusive.<\/p>\n\n<p class=\"wp-block-paragraph\">Astuce : r\u00e9servez un h\u00e9bergement simple mais proche du quai pour optimiser les horaires de retour et profiter des premi\u00e8res heures du matin sur la plage.<\/p>\n\n<h2 class=\"wp-block-heading\">Checklist pratique avant d\u2019embarquer pour Les Saintes<\/h2>\n\n<ul class=\"wp-block-list\"><li><strong>Billets imprim\u00e9s ou sur smartphone<\/strong> et pi\u00e8ces d\u2019identit\u00e9.<\/li><li>Arriver <strong>30 minutes<\/strong> avant le d\u00e9part pour l\u2019embarquement.<\/li><li>Sac l\u00e9ger, masque et tuba pour le Pain de Sucre.<\/li><li>Pr\u00e9voir esp\u00e8ces pour achats locaux et petits commerces.<\/li><li>R\u00e9server v\u00e9hicule de l\u2019\u00eele en haute saison.<\/li><\/ul>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Fautu2011il absolument ru00e9server sa traversu00e9e vers Les Saintes ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"La ru00e9servation bateau est fortement conseillu00e9e en haute saison (du00e9cembreu2011avril) et les weeku2011ends prolongu00e9s pour garantir une place. En basse saison, lu2019achat au guichet reste possible et parfois plus flexible.\"}},{\"@type\":\"Question\",\"name\":\"Quel port choisir : Troisu2011Riviu00e8res ou Pointeu2011u00e0u2011Pitre ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Troisu2011Riviu00e8res offre la traversu00e9e la plus courte (u224820 minutes) et une forte fru00e9quence. Pointeu2011u00e0u2011Pitre propose une liaison directe du2019environ une heure, pratique si vous arrivez par avion ou cherchez u00e0 u00e9viter la route.\"}},{\"@type\":\"Question\",\"name\":\"Quels sont les tarifs moyens pour un aller simple ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Comptez environ 25 u20ac pour un adulte depuis Troisu2011Riviu00e8res, tarifs variables selon la compagnie et la pu00e9riode. Les bu00e9bu00e9s paient souvent un tarif tru00e8s ru00e9duit (u22483 u20ac). Vu00e9rifiez les conditions pour les billets alleru2011retour.\"}},{\"@type\":\"Question\",\"name\":\"Que faire en cas du2019annulation pour mu00e9tu00e9o ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Contactez immu00e9diatement la compagnie pour connau00eetre les options de report ou remboursement. Profitez du temps pour visiter les attractions proches du port, comme des distilleries, sentiers ou plages.\"}}]}\n<\/script>\n<h3>Faut\u2011il absolument r\u00e9server sa travers\u00e9e vers Les Saintes ?<\/h3>\n<p>La r\u00e9servation bateau est fortement conseill\u00e9e en haute saison (d\u00e9cembre\u2011avril) et les week\u2011ends prolong\u00e9s pour garantir une place. En basse saison, l\u2019achat au guichet reste possible et parfois plus flexible.<\/p>\n<h3>Quel port choisir : Trois\u2011Rivi\u00e8res ou Pointe\u2011\u00e0\u2011Pitre ?<\/h3>\n<p>Trois\u2011Rivi\u00e8res offre la travers\u00e9e la plus courte (\u224820 minutes) et une forte fr\u00e9quence. Pointe\u2011\u00e0\u2011Pitre propose une liaison directe d\u2019environ une heure, pratique si vous arrivez par avion ou cherchez \u00e0 \u00e9viter la route.<\/p>\n<h3>Quels sont les tarifs moyens pour un aller simple ?<\/h3>\n<p>Comptez environ 25 \u20ac pour un adulte depuis Trois\u2011Rivi\u00e8res, tarifs variables selon la compagnie et la p\u00e9riode. Les b\u00e9b\u00e9s paient souvent un tarif tr\u00e8s r\u00e9duit (\u22483 \u20ac). V\u00e9rifiez les conditions pour les billets aller\u2011retour.<\/p>\n<h3>Que faire en cas d\u2019annulation pour m\u00e9t\u00e9o ?<\/h3>\n<p>Contactez imm\u00e9diatement la compagnie pour conna\u00eetre les options de report ou remboursement. Profitez du temps pour visiter les attractions proches du port, comme des distilleries, sentiers ou plages.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Transport bateau entre Les Saintes et la Guadeloupe : guide 2026 \u2014 La travers\u00e9e maritime vers Les Saintes reste l\u2019un des moments forts d\u2019un s\u00e9jour en Guadeloupe. Ce guide pratique rassemble les informations utiles pour choisir son port de d\u00e9part, comparer les offres de ferry, anticiper la r\u00e9servation bateau et organiser la journ\u00e9e sur Terre\u2011de\u2011Haut. &#8230; <a title=\"Transport bateau entre les saintes et la guadeloupe : guide complet pour 2026\" class=\"read-more\" href=\"https:\/\/www.transports-express-caraibes.fr\/blog\/bateau-saintes-guadeloupe\/\" aria-label=\"En savoir plus sur Transport bateau entre les saintes et la guadeloupe : guide complet pour 2026\">Lire plus<\/a><\/p>\n","protected":false},"author":3,"featured_media":23614,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[82],"tags":[],"class_list":["post-23615","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-transport"],"views":2,"_links":{"self":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/posts\/23615","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=23615"}],"version-history":[{"count":0,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/posts\/23615\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/media\/23614"}],"wp:attachment":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/media?parent=23615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/categories?post=23615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/tags?post=23615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}