{"id":23619,"date":"2026-08-12T06:35:41","date_gmt":"2026-08-12T06:35:41","guid":{"rendered":"https:\/\/www.transports-express-caraibes.fr\/blog\/vols-antilles-compagnies-2026\/"},"modified":"2026-08-12T06:35:41","modified_gmt":"2026-08-12T06:35:41","slug":"vols-antilles-compagnies-2026","status":"publish","type":"post","link":"https:\/\/www.transports-express-caraibes.fr\/blog\/vols-antilles-compagnies-2026\/","title":{"rendered":"Vols internes aux Antilles fran\u00e7aises : quelles compagnies choisir en 2026 ?"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>En bref<\/strong><\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Quatre acteurs<\/strong> se partagent majoritairement les vols long-courriers vers Pointe\u2011\u00e0\u2011Pitre et Fort\u2011de\u2011France : <strong>Air France<\/strong>, <strong>Air Cara\u00efbes<\/strong>, <strong>Corsair<\/strong> et <strong>French Bee<\/strong>.<\/li><li>Prix rep\u00e8res aller\u2011retour Paris\u2013Antilles : <strong>400\u2013700 \u20ac<\/strong> hors saison ; <strong>mai\u2011juin<\/strong> et <strong>septembre\u2011novembre<\/strong> offrent les meilleurs tarifs.<\/li><li>Comparez toujours le tarif affich\u00e9 avec la franchise bagage incluse : un billet \u00ab light \u00bb peut presque doubler apr\u00e8s ajout d\u2019un bagage en soute.<\/li><li>Pour des liaisons inter\u2011\u00eeles, le ferry (<strong>L\u2019Express des \u00celes<\/strong>) et les vols r\u00e9gionaux (Air Cara\u00efbes, Sky High) restent des alternatives fiables.<\/li><li>Pensez \u00e0 la flexibilit\u00e9 en p\u00e9riode d\u2019hivernage et \u00e0 une assurance si vous voyagez en septembre\u2011octobre.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\"><strong>Chap\u00f4<\/strong> \u2014 La carte des vols internes et des liaisons entre la m\u00e9tropole et l\u2019archipel a continu\u00e9 d\u2019\u00e9voluer en 2026 : la concurrence long\u2011courrier est rare mais bien r\u00e9elle, les tarifs fluctuent fortement selon la saison, et les services inclus varient d\u2019un transporteur \u00e0 l\u2019autre. Ce guide pratique adresse la question concr\u00e8te que se pose tout voyageur : quelle compagnie a\u00e9rienne choisir pour rejoindre la Guadeloupe ou la Martinique sans se faire surprendre au comptoir ? Vous trouverez ici des rep\u00e8res tarifaires actualis\u00e9s, des comparatifs sur les franchises bagages et le confort cabine, des strat\u00e9gies pour caler vos correspondances inter\u2011\u00eeles et des erreurs fr\u00e9quentes \u00e0 \u00e9viter \u2014 le tout illustr\u00e9 par des cas concrets (bagage surf, s\u00e9jour de deux semaines, combin\u00e9s Guadeloupe\/Martinique). Le but : transformer la recherche d\u2019un <strong>r\u00e9servation vol<\/strong> en un choix \u00e9clair\u00e9, adapt\u00e9 \u00e0 votre budget, \u00e0 votre timing et \u00e0 votre tol\u00e9rance au risque m\u00e9t\u00e9o. \u00c0 la clef, des conseils terrains pour optimiser vos transferts, limiter les frais cach\u00e9s et arriver pr\u00eat \u00e0 profiter de la mer \u00e0 28 \u00b0C sans mauvaise surprise.<\/p>\n\n<h2 class=\"wp-block-heading\">Vols internes aux Antilles fran\u00e7aises : panorama des compagnies a\u00e9riennes en 2026<\/h2>\n\n<p class=\"wp-block-paragraph\">Sur l\u2019axe France m\u00e9tropolitaine  Antilles fran\u00e7aises, quatre compagnies dominent les dessertes longue distance. <strong>Air France<\/strong> et <strong>Air Cara\u00efbes<\/strong> assurent des rotations quasi quotidiennes vers Pointe\u2011\u00e0\u2011Pitre (PTP) et Fort\u2011de\u2011France (FDF). <strong>Corsair<\/strong> s\u2019affirme avec sa flotte moderne d\u2019A330neo, tandis que <strong>French Bee<\/strong> pousse l\u2019offre low\u2011cost \u00e0 la carte depuis Orly. Les tarifs observ\u00e9s au 7 juillet 2026 oscillent g\u00e9n\u00e9ralement entre <strong>400 et 700 \u20ac<\/strong> aller\u2011retour selon la saison et l\u2019antenne de d\u00e9part.<\/p>\n\n<p class=\"wp-block-paragraph\">Exemple concret : un couple partant deux semaines en juillet paiera souvent plus de 700 \u20ac par personne si la r\u00e9servation est tardive, tandis qu\u2019un vol en mai\u2011juin peut descendre \u00e0 <strong>400\u2013500 \u20ac<\/strong> sur French Bee ou Corsair en tarif de base.<\/p>\n\n<p class=\"wp-block-paragraph\">Insight : choisissez la compagnie en priorisant d\u2019abord la franchise bagage si vous pr\u00e9voyez plus d\u2019une semaine sur place \u2014 c\u2019est le premier poste o\u00f9 le prix affich\u00e9 se transforme.<\/p>\n\n<h3 class=\"wp-block-heading\">Points forts et profils voyageurs<\/h3>\n\n<ul class=\"wp-block-list\"><li><strong>Air France<\/strong> : confort stable, d\u00e9parts depuis Orly et CDG, bagage 23 kg souvent inclus sur les standards.<\/li><li><strong>Air Cara\u00efbes<\/strong> : identit\u00e9 antillaise marqu\u00e9e, nombreuses fr\u00e9quences, bon compromis service\/prix.<\/li><li><strong>Corsair<\/strong> : flotte A330neo, cabine plus silencieuse et options premium attractives.<\/li><li><strong>French Bee<\/strong> : meilleur prix sec mais mod\u00e8le \u00ab \u00e0 la carte \u00bb (bagage, repas, si\u00e8ge souvent factur\u00e9s).<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\">Fin de section : pour un voyage de d\u00e9tente, l\u2019\u00e9conomie r\u00e9elle se calcule sur le total final (prix + bagages + suppl\u00e9ments) plut\u00f4t que sur le tarif de base.<\/p>\n\n<h2 class=\"wp-block-heading\">Comparer tarifs, bagages et service client avant la r\u00e9servation vol<\/h2>\n\n<p class=\"wp-block-paragraph\">La r\u00e8gle pratique : ne comparez pas que le prix affich\u00e9. V\u00e9rifiez la franchise bagage, les frais pour \u00e9quipement sportif et la qualit\u00e9 du <strong>service client<\/strong> en cas d\u2019impr\u00e9vu. Pour un s\u00e9jour de 10\u201114 jours, la plupart des voyageurs optent pour un bagage en soute de 23 kg \u2014 incluez-le dans le prix final avant tout choix.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Compagnie<\/th>\n<th>Tarif Eco Light<\/th>\n<th>Tarif Eco Standard<\/th>\n<th>Suppl\u00e9ment Bagage<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Air France<\/strong><\/td>\n<td>Sans soute<\/td>\n<td>Inclus <strong>23 kg<\/strong><\/td>\n<td>Payant \u00e0 la carte<\/td>\n<\/tr>\n<tr>\n<td><strong>Air Cara\u00efbes<\/strong><\/td>\n<td>Sans soute<\/td>\n<td>Inclus <strong>23 kg<\/strong><\/td>\n<td>\u00c0 partir de 30 \u20ac (sur r\u00e9gional)<\/td>\n<\/tr>\n<tr>\n<td><strong>Corsair<\/strong><\/td>\n<td>Sans soute<\/td>\n<td>Inclus <strong>23 kg<\/strong><\/td>\n<td>Payant selon la r\u00e8gle<\/td>\n<\/tr>\n<tr>\n<td><strong>French Bee<\/strong><\/td>\n<td>Sans soute<\/td>\n<td>Options \u00e0 la carte (23 kg payant)<\/td>\n<td>Payant<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<p class=\"wp-block-paragraph\">Astuce terrain : pour transporter une planche de surf, v\u00e9rifiez les grilles de tarifs sp\u00e9cifiques ; certains vols facturent un suppl\u00e9ment significatif ou limitent le nombre d\u2019objets sport.<\/p>\n\n<!-- D\u00e9but du composant : tableau comparateur interactif (copier\/coller dans votre page) -->\n<!-- Appel Tailwind CSS minimal via CDN (l\u00e9ger, \"browser\" build) -->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\n\n<div id=\"compare-avions\" class=\"max-w-4xl mx-auto p-4\" style=\"max-height:900px;\">\n  <div class=\"bg-white dark:bg-slate-800 shadow rounded-lg p-4\" role=\"region\" aria-labelledby=\"titre-comparateur\">\n    <h2 id=\"titre-comparateur\" class=\"text-xl font-semibold text-slate-800 dark:text-slate-100\">Vols internes aux Antilles fran\u00e7aises : comparateur 2026<\/h2>\n    <p class=\"mt-2 text-sm text-slate-600 dark:text-slate-300\">\n      Comparez rapidement Air France, Air Cara\u00efbes, Corsair et French Bee selon vos priorit\u00e9s :\n      prix affich\u00e9, franchise bagage 23&nbsp;kg, confort cabine, vols directs, et politique modification\/annulation.\n    <\/p>\n\n    <!-- Contr\u00f4les de priorit\u00e9 -->\n    <fieldset class=\"mt-4 grid grid-cols-1 md:grid-cols-2 gap-4\" aria-label=\"Priorit\u00e9s de comparaison\">\n      <legend class=\"sr-only\">Ajuster l&rsquo;importance des crit\u00e8res<\/legend>\n\n      <div class=\"p-3 border rounded-md bg-slate-50 dark:bg-slate-700\">\n        <label for=\"poids-prix\" class=\"text-sm font-medium text-slate-700 dark:text-slate-200\">Importance : Prix<\/label>\n        <input id=\"poids-prix\" type=\"range\" min=\"0\" max=\"100\" value=\"35\" class=\"w-full mt-2\" aria-valuemin=\"0\" aria-valuemax=\"100\"\/>\n        <div class=\"flex justify-between text-xs text-slate-500 dark:text-slate-300\">\n          <span>moins important<\/span><span>plus important<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"p-3 border rounded-md bg-slate-50 dark:bg-slate-700\">\n        <label for=\"poids-bagage\" class=\"text-sm font-medium text-slate-700 dark:text-slate-200\">Importance : Franchise bagage 23&nbsp;kg<\/label>\n        <input id=\"poids-bagage\" type=\"range\" min=\"0\" max=\"100\" value=\"15\" class=\"w-full mt-2\"\/>\n      <\/div>\n\n      <div class=\"p-3 border rounded-md bg-slate-50 dark:bg-slate-700\">\n        <label for=\"poids-confort\" class=\"text-sm font-medium text-slate-700 dark:text-slate-200\">Importance : Confort cabine<\/label>\n        <input id=\"poids-confort\" type=\"range\" min=\"0\" max=\"100\" value=\"20\" class=\"w-full mt-2\"\/>\n      <\/div>\n\n      <div class=\"p-3 border rounded-md bg-slate-50 dark:bg-slate-700\">\n        <label for=\"poids-directs\" class=\"text-sm font-medium text-slate-700 dark:text-slate-200\">Importance : Vols directs<\/label>\n        <input id=\"poids-directs\" type=\"range\" min=\"0\" max=\"100\" value=\"15\" class=\"w-full mt-2\"\/>\n      <\/div>\n\n      <div class=\"p-3 border rounded-md bg-slate-50 dark:bg-slate-700 md:col-span-2\">\n        <label for=\"poids-flex\" class=\"text-sm font-medium text-slate-700 dark:text-slate-200\">Importance : Politique modification \/ annulation (flexibilit\u00e9)<\/label>\n        <input id=\"poids-flex\" type=\"range\" min=\"0\" max=\"100\" value=\"15\" class=\"w-full mt-2\"\/>\n      <\/div>\n    <\/fieldset>\n\n    <!-- R\u00e9sum\u00e9 recommand\u00e9 -->\n    <div id=\"reco\" class=\"mt-4 p-3 rounded-md bg-indigo-50 dark:bg-indigo-900\/20 border border-indigo-100 dark:border-indigo-700 text-indigo-800 dark:text-indigo-200\" role=\"status\" aria-live=\"polite\">\n      Calcul en cours&#8230;\n    <\/div>\n\n    <!-- Barre d'outils : recherche, tri, s\u00e9lectionner pour comparaison -->\n    <div class=\"mt-4 flex flex-col md:flex-row md:items-center md:justify-between gap-3\">\n      <div class=\"flex items-center gap-3\">\n        <label for=\"filtre\" class=\"sr-only\">Filtrer<\/label>\n        <input id=\"filtre\" class=\"px-3 py-2 border rounded-md text-sm\" placeholder=\"Rechercher (compagnie ou crit\u00e8re)...\" aria-label=\"Filtrer les compagnies\"\/>\n        <button id=\"reset-filtres\" class=\"px-3 py-2 bg-slate-200 rounded-md text-sm\">R\u00e9initialiser<\/button>\n      <\/div>\n\n      <div class=\"flex items-center gap-3\">\n        <span class=\"text-sm text-slate-600 dark:text-slate-300\">Trier par :<\/span>\n        <select id=\"tri\" class=\"px-2 py-1 border rounded-md text-sm\" aria-label=\"Trier les r\u00e9sultats\">\n          <option value=\"score\">Score recommand\u00e9<\/option>\n          <option value=\"prix\">Prix (croissant)<\/option>\n          <option value=\"confort\">Confort (d\u00e9croissant)<\/option>\n          <option value=\"directs\">Vols directs (d\u00e9croissant)<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n\n    <!-- Tableau comparatif -->\n    <div class=\"mt-4 overflow-auto\" style=\"max-height:520px;\">\n      <table id=\"tableau\" class=\"min-w-full divide-y divide-slate-200\" role=\"table\" aria-label=\"Tableau comparatif des compagnies\">\n        <thead class=\"bg-slate-50 sticky top-0\">\n          <tr role=\"row\">\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Comparer<\/th>\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Compagnie<\/th>\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Prix affich\u00e9 (\u20ac)<\/th>\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Franchise bagage 23&nbsp;kg<\/th>\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Confort cabine<\/th>\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Vols directs (%)<\/th>\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Modif \/ annulation<\/th>\n            <th scope=\"col\" class=\"p-2 text-left text-sm font-medium text-slate-700\">Score<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody id=\"corps-tableau\" class=\"bg-white divide-y divide-slate-100\">\n          <!-- Lignes g\u00e9n\u00e9r\u00e9es par JS -->\n        <\/tbody>\n      <\/table>\n    <\/div>\n\n    <!-- Comparaison d\u00e9taill\u00e9e (c\u00f4toyage des compagnies coch\u00e9es) -->\n    <div id=\"comparaison-detail\" class=\"mt-4\">\n      <h3 class=\"text-sm font-medium text-slate-800 dark:text-slate-100\">Comparaison d\u00e9taill\u00e9e (s\u00e9lectionnez jusqu&rsquo;\u00e0 3 compagnies)<\/h3>\n      <div id=\"detail-area\" class=\"mt-2 grid grid-cols-1 md:grid-cols-3 gap-3\" aria-live=\"polite\">\n        <!-- Cartes comparatives g\u00e9n\u00e9r\u00e9es par JS -->\n      <\/div>\n    <\/div>\n\n    <p class=\"mt-4 text-xs text-slate-500\">Donn\u00e9es illustratives pour faciliter la d\u00e9cision ; v\u00e9rifier les conditions exactes au moment de la r\u00e9servation.<\/p>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Styles additionnels (s'associent \u00e0 Tailwind) *\/\n  #compare-avions { font-family: Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial; }\n  \/* Indicateur de score couleur *\/\n  .score-badge { display:inline-flex; align-items:center; justify-content:center; padding:0.25rem 0.5rem; border-radius:0.375rem; font-weight:600; }\n  \/* petite animation pour changement de recommandation *\/\n  .pulse { animation: pulse 0.9s ease-in-out; }\n  @keyframes pulse { 0% { transform: scale(0.99); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }\n  \/* Limite hauteur pour l'outil *\/\n  #compare-avions { max-height: 1200px; }\n<\/style>\n\n<script>\n\/*\n  Script JavaScript (fran\u00e7ais, lisible et comment\u00e9)\n  - Pas d'API externe utilis\u00e9e : toutes les donn\u00e9es sont embarqu\u00e9es (jeu de donn\u00e9es fourni).\n  - Si vous souhaitez int\u00e9grer une API publique gratuite, ajoutez la logique ci-dessous.\n    Exemple (comment\u00e9) d'une API gratuite potentielle (non utilis\u00e9e ici) :\n    URL : https:\/\/api.exemple-gratuit.com\/flights?from=GUA&to=BIA\n    Exemple de r\u00e9ponse JSON :\n    {\n      \"compagnie\":\"Air Example\",\n      \"prix\":120,\n      \"franchise_23kg\":true,\n      \"confort\":4,\n      \"vols_directs_pct\":75,\n      \"flexibilite\":3\n    }\n  - L'outil calcule un score normalis\u00e9 selon les poids choisis et offre tri, filtre, et comparaison.\n*\/\n\n\/* Donn\u00e9es de base (extrait fourni) \u2014 toutes les cha\u00eenes en fran\u00e7ais *\/\nconst compagnies = [\n  {\n    id: \"airfrance\",\n    nom: \"Air France\",\n    prix: 220,                      \/\/ EUR\n    franchise_23kg: true,           \/\/ inclus\n    confort: 4.0,                   \/\/ 1 \u00e0 5\n    vols_directs_pct: 80,           \/\/ %\n    flexibilite: 4.0,               \/\/ 1 \u00e0 5\n    notes: \"Bonne couverture et connexions, souvent meilleur confort.\"\n  },\n  {\n    id: \"aircaraibes\",\n    nom: \"Air Cara\u00efbes\",\n    prix: 190,\n    franchise_23kg: true,\n    confort: 3.5,\n    vols_directs_pct: 85,\n    flexibilite: 3.0,\n    notes: \"Tr\u00e8s pr\u00e9sent dans la r\u00e9gion, bon ratio direct\/qualit\u00e9.\"\n  },\n  {\n    id: \"corsair\",\n    nom: \"Corsair\",\n    prix: 160,\n    franchise_23kg: true,\n    confort: 3.0,\n    vols_directs_pct: 60,\n    flexibilite: 3.0,\n    notes: \"Options \u00e9conomiques avec bagage inclus sur certaines offres.\"\n  },\n  {\n    id: \"frenchbee\",\n    nom: \"French Bee\",\n    prix: 140,\n    franchise_23kg: false,           \/\/ bagage en option payante\n    confort: 3.0,\n    vols_directs_pct: 70,\n    flexibilite: 2.0,\n    notes: \"Tarifs souvent les plus bas ; bagage en option.\"\n  }\n];\n\n\/* R\u00e9f\u00e9rences DOM *\/\nconst tbody = document.getElementById(\"corps-tableau\");\nconst reco = document.getElementById(\"reco\");\nconst detailArea = document.getElementById(\"detail-area\");\nconst filtreInput = document.getElementById(\"filtre\");\nconst triSelect = document.getElementById(\"tri\");\nconst resetBtn = document.getElementById(\"reset-filtres\");\n\n\/* Sliders poids *\/\nconst poidsPrix = document.getElementById(\"poids-prix\");\nconst poidsBagage = document.getElementById(\"poids-bagage\");\nconst poidsConfort = document.getElementById(\"poids-confort\");\nconst poidsDirects = document.getElementById(\"poids-directs\");\nconst poidsFlex = document.getElementById(\"poids-flex\");\n\nlet selectionsComparaison = new Set(); \/\/ compagnies coch\u00e9es pour comparaison\n\n\/* Normalisation des donn\u00e9es pour le calcul du score\n   - Prix : plus bas -> meilleur\n   - Franchise bagage : boolean -> 1 ou 0\n   - Confort : 0..5 -> normalis\u00e9\n   - Vols directs : 0..100 -> normalis\u00e9\n   - Flexibilit\u00e9 : 0..5 -> normalis\u00e9\n*\/\nfunction normaliserEtCalculerScores() {\n  \/\/ D\u00e9terminer min et max pour prix (pour normalisation)\n  const prixVals = compagnies.map(c => c.prix);\n  const minPrix = Math.min(...prixVals);\n  const maxPrix = Math.max(...prixVals);\n\n  \/\/ poids (convertir en somme = 1)\n  const wPrix = Number(poidsPrix.value);\n  const wBag = Number(poidsBagage.value);\n  const wConf = Number(poidsConfort.value);\n  const wDir = Number(poidsDirects.value);\n  const wFlex = Number(poidsFlex.value);\n  const somme = wPrix + wBag + wConf + wDir + wFlex || 1;\n\n  \/\/ Calcul pour chaque compagnie\n  const resultats = compagnies.map(c => {\n    const scorePrix = 1 - ((c.prix - minPrix) \/ (maxPrix - minPrix || 1)); \/\/ 0..1 (1 = meilleur prix)\n    const scoreBag = c.franchise_23kg ? 1 : 0;\n    const scoreConf = (c.confort || 0) \/ 5;       \/\/ 0..1\n    const scoreDir = (c.vols_directs_pct || 0) \/ 100; \/\/ 0..1\n    const scoreFlex = (c.flexibilite || 0) \/ 5;   \/\/ 0..1\n\n    \/\/ Score pond\u00e9r\u00e9\n    const scorePondere =\n      (scorePrix * wPrix +\n       scoreBag * wBag +\n       scoreConf * wConf +\n       scoreDir * wDir +\n       scoreFlex * wFlex) \/ somme;\n\n    return {\n      ...c,\n      score_normalise: scorePondere,\n      _scores: { scorePrix, scoreBag, scoreConf, scoreDir, scoreFlex }\n    };\n  });\n\n  return resultats;\n}\n\n\/* Rendu du tableau (accessible) *\/\nfunction renderTable(data) {\n  tbody.innerHTML = \"\";\n  data.forEach(c => {\n    const tr = document.createElement(\"tr\");\n    tr.setAttribute(\"role\", \"row\");\n\n    \/\/ Colonne de s\u00e9lection pour comparaison\n    const tdSelect = document.createElement(\"td\");\n    tdSelect.className = \"p-2\";\n    const chk = document.createElement(\"input\");\n    chk.type = \"checkbox\";\n    chk.setAttribute(\"aria-label\", `Comparer ${c.nom}`);\n    chk.checked = selectionsComparaison.has(c.id);\n    chk.addEventListener(\"change\", (e) => {\n      if (e.target.checked) {\n        if (selectionsComparaison.size >= 3) {\n          \/\/ Limite \u00e0 3 pour lisibilit\u00e9\n          alert(\"S\u00e9lection maximale : 3 compagnies pour la comparaison d\u00e9taill\u00e9e.\");\n          e.target.checked = false;\n        } else {\n          selectionsComparaison.add(c.id);\n        }\n      } else {\n        selectionsComparaison.delete(c.id);\n      }\n      renderDetailComparaison();\n    });\n    tdSelect.appendChild(chk);\n    tr.appendChild(tdSelect);\n\n    \/\/ Nom\n    const tdNom = document.createElement(\"td\");\n    tdNom.className = \"p-2 align-top\";\n    tdNom.innerHTML = `<div class=\"text-sm font-semibold text-slate-800 dark:text-slate-100\">${escapeHtml(c.nom)}<\/div>\n                       <div class=\"text-xs text-slate-500 dark:text-slate-300\">${escapeHtml(c.notes)}<\/div>`;\n    tr.appendChild(tdNom);\n\n    \/\/ Prix\n    const tdPrix = document.createElement(\"td\");\n    tdPrix.className = \"p-2 text-sm\";\n    tdPrix.textContent = `${c.prix} \u20ac`;\n    tr.appendChild(tdPrix);\n\n    \/\/ Franchise bagage\n    const tdBag = document.createElement(\"td\");\n    tdBag.className = \"p-2 text-sm\";\n    tdBag.innerHTML = c.franchise_23kg ? '<span class=\"text-green-700\">Incluse<\/span>' : '<span class=\"text-orange-700\">En option<\/span>';\n    tr.appendChild(tdBag);\n\n    \/\/ Confort\n    const tdConf = document.createElement(\"td\");\n    tdConf.className = \"p-2 text-sm\";\n    tdConf.innerHTML = `${c.confort.toFixed(1)} \/ 5`;\n    tr.appendChild(tdConf);\n\n    \/\/ Vols directs %\n    const tdDir = document.createElement(\"td\");\n    tdDir.className = \"p-2 text-sm\";\n    tdDir.textContent = `${c.vols_directs_pct}%`;\n    tr.appendChild(tdDir);\n\n    \/\/ Flexibilit\u00e9\n    const tdFlex = document.createElement(\"td\");\n    tdFlex.className = \"p-2 text-sm\";\n    tdFlex.textContent = `${c.flexibilite.toFixed(1)} \/ 5`;\n    tr.appendChild(tdFlex);\n\n    \/\/ Score affich\u00e9 (badge color\u00e9)\n    const tdScore = document.createElement(\"td\");\n    tdScore.className = \"p-2 text-sm\";\n    const scorePct = Math.round(c.score_normalise * 100);\n    const badge = document.createElement(\"span\");\n    badge.className = \"score-badge\";\n    badge.textContent = `${scorePct} %`;\n    \/\/ couleur selon niveau\n    if (scorePct >= 75) {\n      badge.style.backgroundColor = \"#16a34a\"; \/\/ vert\n      badge.style.color = \"white\";\n    } else if (scorePct >= 50) {\n      badge.style.backgroundColor = \"#f59e0b\"; \/\/ orange\n      badge.style.color = \"black\";\n    } else {\n      badge.style.backgroundColor = \"#ef4444\"; \/\/ rouge\n      badge.style.color = \"white\";\n    }\n    tdScore.appendChild(badge);\n    tr.appendChild(tdScore);\n\n    tbody.appendChild(tr);\n  });\n}\n\n\/* Mettre \u00e0 jour la recommandation synth\u00e9tique (meilleure option selon poids actuels) *\/\nfunction updateRecommendation(data) {\n  \/\/ Trier par score_normalise d\u00e9croissant\n  const sorted = [...data].sort((a,b) => b.score_normalise - a.score_normalise);\n  const top = sorted[0];\n  if (!top) {\n    reco.textContent = \"Aucune compagnie disponible.\";\n    return;\n  }\n  const scorePct = Math.round(top.score_normalise * 100);\n  \/\/ Synth\u00e8se en fran\u00e7ais\n  reco.innerHTML = `\n    <div class=\"flex items-center justify-between\">\n      <div>\n        <div class=\"text-sm font-semibold\">${escapeHtml(top.nom)} \u2014 recommandation principale<\/div>\n        <div class=\"text-xs mt-1 text-slate-700 dark:text-slate-300\">\n          Score : ${scorePct}% \u2014 Prix : ${top.prix} \u20ac \u2022 Franchise 23kg : ${top.franchise_23kg ? 'incluse' : 'option payante'} \u2022 Confort : ${top.confort}\/5 \u2022 Vols directs : ${top.vols_directs_pct}% \u2022 Flexibilit\u00e9 : ${top.flexibilite}\/5\n        <\/div>\n      <\/div>\n      <div>\n        <div class=\"text-xs text-slate-600 dark:text-slate-200\">Bas\u00e9 sur vos priorit\u00e9s<\/div>\n        <div class=\"mt-1 inline-block px-3 py-1 rounded-md bg-white\/80 dark:bg-slate-700 text-sm font-medium\">${scorePct}%<\/div>\n      <\/div>\n    <\/div>`;\n  \/\/ petite animation pour attirer l'oeil\n  reco.classList.remove(\"pulse\");\n  void reco.offsetWidth;\n  reco.classList.add(\"pulse\");\n}\n\n\/* Rendu de la section de comparaison d\u00e9taill\u00e9e *\/\nfunction renderDetailComparaison() {\n  detailArea.innerHTML = \"\";\n  const selectedIds = Array.from(selectionsComparaison);\n  if (selectedIds.length === 0) {\n    detailArea.innerHTML = `<div class=\"text-sm text-slate-500\">S\u00e9lectionnez des compagnies (cases \u00e0 cocher) pour afficher une comparaison d\u00e9taill\u00e9e.<\/div>`;\n    return;\n  }\n  \/\/ cr\u00e9er une carte par compagnie s\u00e9lectionn\u00e9e\n  selectedIds.forEach(id => {\n    const c = compagnies.find(x => x.id === id);\n    if (!c) return;\n    const card = document.createElement(\"div\");\n    card.className = \"p-3 border rounded-md bg-slate-50 dark:bg-slate-700\";\n    card.setAttribute(\"tabindex\", \"0\");\n    card.innerHTML = `\n      <div class=\"text-sm font-semibold\">${escapeHtml(c.nom)}<\/div>\n      <div class=\"text-xs mt-1 text-slate-600 dark:text-slate-300\">${escapeHtml(c.notes)}<\/div>\n      <dl class=\"mt-2 text-xs\">\n        <div class=\"flex justify-between\"><dt>Prix affich\u00e9<\/dt><dd>${c.prix} \u20ac<\/dd><\/div>\n        <div class=\"flex justify-between\"><dt>Franchise 23kg<\/dt><dd>${c.franchise_23kg ? 'Incluse' : 'Option payante'}<\/dd><\/div>\n        <div class=\"flex justify-between\"><dt>Confort<\/dt><dd>${c.confort} \/ 5<\/dd><\/div>\n        <div class=\"flex justify-between\"><dt>Vols directs<\/dt><dd>${c.vols_directs_pct}%<\/dd><\/div>\n        <div class=\"flex justify-between\"><dt>Politique modif\/annulation<\/dt><dd>${c.flexibilite} \/ 5<\/dd><\/div>\n      <\/dl>\n      <div class=\"mt-2\">\n        <button data-id=\"${c.id}\" class=\"px-2 py-1 bg-indigo-600 text-white rounded-md text-xs\">Voir plus (site offic.)<\/button>\n      <\/div>\n    `;\n    detailArea.appendChild(card);\n  });\n}\n\n\/* Filtrer et trier puis render *\/\nfunction refreshAffichage() {\n  \/\/ Calcul des scores normalis\u00e9s\n  let resultats = normaliserEtCalculerScores();\n\n  \/\/ Filtre texte\n  const q = filtreInput.value.trim().toLowerCase();\n  if (q) {\n    resultats = resultats.filter(c =>\n      c.nom.toLowerCase().includes(q) ||\n      (c.notes && c.notes.toLowerCase().includes(q))\n    );\n  }\n\n  \/\/ Tri\n  const crit = triSelect.value;\n  if (crit === \"score\") {\n    resultats.sort((a,b) => b.score_normalise - a.score_normalise);\n  } else if (crit === \"prix\") {\n    resultats.sort((a,b) => a.prix - b.prix);\n  } else if (crit === \"confort\") {\n    resultats.sort((a,b) => b.confort - a.confort);\n  } else if (crit === \"directs\") {\n    resultats.sort((a,b) => b.vols_directs_pct - a.vols_directs_pct);\n  }\n\n  \/\/ Render\n  renderTable(resultats);\n  updateRecommendation(resultats);\n  renderDetailComparaison();\n}\n\n\/* Fonctions utilitaires *\/\nfunction escapeHtml(str) {\n  if (!str) return \"\";\n  return String(str)\n    .replace(\/&\/g, \"&amp;\")\n    .replace(\/<\/g, \"&lt;\")\n    .replace(\/>\/g, \"&gt;\")\n    .replace(\/\"\/g, \"&quot;\");\n}\n\n\/* Listeners *\/\n[poidsPrix, poidsBagage, poidsConfort, poidsDirects, poidsFlex].forEach(el => {\n  el.addEventListener(\"input\", refreshAffichage);\n  el.addEventListener(\"change\", refreshAffichage);\n});\nfiltreInput.addEventListener(\"input\", refreshAffichage);\ntriSelect.addEventListener(\"change\", refreshAffichage);\nresetBtn.addEventListener(\"click\", () => {\n  filtreInput.value = \"\";\n  poidsPrix.value = 35;\n  poidsBagage.value = 15;\n  poidsConfort.value = 20;\n  poidsDirects.value = 15;\n  poidsFlex.value = 15;\n  triSelect.value = \"score\";\n  selectionsComparaison.clear();\n  refreshAffichage();\n});\n\n\/* Initialisation *\/\nrefreshAffichage();\n\n\/* Accessibilit\u00e9 : raccourci clavier pour s\u00e9lectionner\/d\u00e9s\u00e9lectionner tout (T) *\/\ndocument.addEventListener(\"keydown\", (e) => {\n  if (e.key.toLowerCase() === \"t\" && (e.ctrlKey || e.metaKey)) {\n    \/\/ Ctrl\/Cmd + T : bascule toutes les cases (max 3)\n    e.preventDefault();\n    const ids = compagnies.map(c => c.id);\n    if (selectionsComparaison.size === ids.length) {\n      selectionsComparaison.clear();\n    } else {\n      selectionsComparaison = new Set(ids.slice(0,3));\n    }\n    renderDetailComparaison();\n    refreshAffichage();\n  }\n});\n\n\/* Boutons \"Voir plus\" dans la comparaison d\u00e9taill\u00e9e : ouvre le site officiel (exemples) *\/\ndetailArea.addEventListener(\"click\", (e) => {\n  const btn = e.target.closest(\"button[data-id]\");\n  if (!btn) return;\n  const id = btn.getAttribute(\"data-id\");\n  \/\/ URL fictives \/ g\u00e9n\u00e9riques (\u00e0 remplacer par les pages r\u00e9elles si souhait\u00e9)\n  const urls = {\n    airfrance: \"https:\/\/www.airfrance.fr\",\n    aircaraibes: \"https:\/\/www.aircaraibes.com\",\n    corsair: \"https:\/\/www.corsair.fr\",\n    frenchbee: \"https:\/\/www.frenchbee.com\"\n  };\n  const url = urls[id] || \"https:\/\/www.google.com\";\n  window.open(url, \"_blank\", \"noopener\");\n});\n<\/script>\n<!-- Fin du composant -->\n\n<p class=\"wp-block-paragraph\">Fin de section : la bonne affaire est celle qui combine prix total et tranquillit\u00e9 (franchise bagage + options flexibles).<\/p>\n\n<h2 class=\"wp-block-heading\">Connectivit\u00e9 r\u00e9gionale : vols internes et alternatives maritimes<\/h2>\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s l\u2019arriv\u00e9e \u00e0 PTP ou FDF, la suite du voyage se joue sur les <strong>vols internes<\/strong> et les travers\u00e9es maritimes. La disparition d\u2019acteurs comme Air Antilles a pouss\u00e9 une recomposition : Air Cara\u00efbes reprend certaines lignes r\u00e9gionales, tandis que Sky High propose des Embraer pour les sauts rapides vers Saint\u2011Domingue et d\u2019autres hubs.<\/p>\n\n<p class=\"wp-block-paragraph\">Le ferry reste souvent avantageux pour les familles et les voyageurs avec beaucoup de bagages : <strong>L\u2019Express des \u00celes<\/strong> relie r\u00e9guli\u00e8rement Fort\u2011de\u2011France et Pointe\u2011\u00e0\u2011Pitre, avec navettes vers Marie\u2011Galante et les Saintes en environ une heure.<\/p>\n\n<p class=\"wp-block-paragraph\">Cas pratique : Camille voyageant entre PTP et FDF \u00e9vite un second billet a\u00e9rien co\u00fbteux en prenant le ferry avec sa valise et une planche bien prot\u00e9g\u00e9e \u2014 gain financier et z\u00e9ro stress de connexion.<\/p>\n\n<p class=\"wp-block-paragraph\">Insight : pour un combin\u00e9 \u00eeles multiples, calculez le co\u00fbt total (vol + ferry + transferts) avant de r\u00e9server des billets s\u00e9par\u00e9s.<\/p>\n\n<h2 class=\"wp-block-heading\">Quand partir pour payer moins : calendrier et astuces prix billets<\/h2>\n\n<p class=\"wp-block-paragraph\">Le calendrier des prix est contre\u2011intuitif pour beaucoup : la p\u00e9riode la plus \u00e9conomique co\u00efncide souvent avec l\u2019hivernage, quand la m\u00e9t\u00e9o devient plus humide mais reste acceptable pour la majorit\u00e9 des s\u00e9jours.<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>D\u00e9cembre\u2011avril<\/strong> : haute saison, prix \u00e9lev\u00e9s (pics en No\u00ebl et Carnaval).<\/li><li><strong>Mai\u2011juin<\/strong> : creux tarifaire, mer \u00e0 28 \u00b0C, quelques grains ; bonnes affaires possibles.<\/li><li><strong>Juillet\u2011ao\u00fbt<\/strong> : haute saison vacances scolaires, r\u00e9servez t\u00f4t.<\/li><li><strong>Septembre\u2011novembre<\/strong> : tarifs planchers mais attention au risque cyclonique, assurance \u00e0 consid\u00e9rer.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\">R\u00e9servation pratique : pour No\u00ebl\/f\u00e9vrier, bloquez vos billets <strong>5 \u00e0 8 mois<\/strong> \u00e0 l\u2019avance ; pour le reste de l\u2019ann\u00e9e, <strong>2 \u00e0 4 mois<\/strong> suffisent avec alertes de prix actives.<\/p>\n\n<p class=\"wp-block-paragraph\">Fin de section : privil\u00e9giez les mi\u2011mai et mi\u2011novembre pour le meilleur rapport m\u00e9t\u00e9o\/prix.<\/p>\n\n<h2 class=\"wp-block-heading\">Erreurs fr\u00e9quentes \u00e0 \u00e9viter et conseils terrain<\/h2>\n\n<p class=\"wp-block-paragraph\">Les pi\u00e8ges rencontr\u00e9s le plus souvent :<\/p>\n\n<ol class=\"wp-block-list\"><li>Comparer uniquement le prix affich\u00e9 sans ajouter la franchise bagage \u2014 co\u00fbt final souvent double.<\/li><li>R\u00e9server les vols inter\u2011\u00eeles s\u00e9par\u00e9ment sans marge pour les correspondances \u2014 risque de perdre un segment en cas de retard.<\/li><li>Omettre une assurance pendant la fen\u00eatre cyclonique (septembre\u2011octobre) \u2014 le co\u00fbt d\u2019une annulation peut \u00eatre \u00e9lev\u00e9.<\/li><li>Choisir un vol tr\u00e8s t\u00f4t le matin avec un seul train ou bus comme transfert \u2014 faible marge en cas d\u2019impr\u00e9vu.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">Conseil pratique : inscrivez-vous aux notifications des compagnies et conservez les confirmations pour le <strong>service client<\/strong> ; cela acc\u00e9l\u00e8re toute r\u00e9clamation pour retard ou bagage perdu.<\/p>\n\n<p class=\"wp-block-paragraph\">Fin de section : mieux vaut s\u00e9curiser une petite flexibilit\u00e9 (tarif modifiable) que d\u2019\u00e9conomiser quelques euros pour ensuite payer cher en impr\u00e9vus.<\/p>\n\n<h2 class=\"wp-block-heading\">Synth\u00e8se rapide et action imm\u00e9diate<\/h2>\n\n<p class=\"wp-block-paragraph\">Pour choisir une compagnie pour les Antilles fran\u00e7aises en 2026, proc\u00e9dez en trois \u00e9tapes : 1) calculez le prix final en incluant la <strong>franchise bagage<\/strong>, 2) adaptez la flexibilit\u00e9 du billet \u00e0 votre fen\u00eatre de voyage (hivernage vs haute saison), 3) comparez la connectivit\u00e9 r\u00e9gionale si vous pr\u00e9voyez des <strong>vols internes<\/strong> ou un combin\u00e9 \u00eeles. Si le budget est prioritaire, surveillez <strong>Corsair<\/strong> et <strong>French Bee<\/strong> hors saison ; si la tranquillit\u00e9 et le service importent, orientez\u2011vous vers <strong>Air France<\/strong> ou <strong>Air Cara\u00efbes<\/strong>. Action imm\u00e9diate : activez une alerte prix et v\u00e9rifiez la franchise bagage avant toute <strong>r\u00e9servation vol<\/strong>.<\/p>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Quelle compagnie offre le meilleur rapport prix\/mu00e9tu00e9o pour partir pas cher ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Les mois de maiu2011juin et de septembreu2011novembre offrent gu00e9nu00e9ralement le meilleur rapport. French Bee et Corsair tirent souvent les prix vers le bas hors saison, mais comparez le cou00fbt total avec la franchise bagage incluse.\"}},{\"@type\":\"Question\",\"name\":\"Fautu2011il prendre une assurance pour voyager en septembreu2011octobre ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oui, la pu00e9riode cou00efncide avec le pic statistique du risque cyclonique. Une assurance annulation et une option flex sur le billet sont recommandu00e9es pour limiter les frais.\"}},{\"@type\":\"Question\",\"name\":\"Comment gu00e9rer une correspondance entre PTP et FDF ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Pru00e9voyez au minimum deux heures entre deux vols distincts, ou pru00e9fu00e9rez le ferry pour transporter plus de bagages. Si les vols sont su00e9paru00e9s sur des compagnies diffu00e9rentes, ajoutez une marge supplu00e9mentaire.\"}},{\"@type\":\"Question\",\"name\":\"Les tarifs 'Light' valentu2011ils le coup ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ce modu00e8le peut sembler attractif pour les courts su00e9jours, mais pour 10u201314 jours la soute de 23 kg devient nu00e9cessaire : calculez le prix final incluant la soute avant de du00e9cider.\"}}]}\n<\/script>\n<h3>Quelle compagnie offre le meilleur rapport prix\/m\u00e9t\u00e9o pour partir pas cher ?<\/h3>\n<p>Les mois de mai\u2011juin et de septembre\u2011novembre offrent g\u00e9n\u00e9ralement le meilleur rapport. French Bee et Corsair tirent souvent les prix vers le bas hors saison, mais comparez le co\u00fbt total avec la franchise bagage incluse.<\/p>\n<h3>Faut\u2011il prendre une assurance pour voyager en septembre\u2011octobre ?<\/h3>\n<p>Oui, la p\u00e9riode co\u00efncide avec le pic statistique du risque cyclonique. Une assurance annulation et une option flex sur le billet sont recommand\u00e9es pour limiter les frais.<\/p>\n<h3>Comment g\u00e9rer une correspondance entre PTP et FDF ?<\/h3>\n<p>Pr\u00e9voyez au minimum deux heures entre deux vols distincts, ou pr\u00e9f\u00e9rez le ferry pour transporter plus de bagages. Si les vols sont s\u00e9par\u00e9s sur des compagnies diff\u00e9rentes, ajoutez une marge suppl\u00e9mentaire.<\/p>\n<h3>Les tarifs &lsquo;Light&rsquo; valent\u2011ils le coup ?<\/h3>\n<p>Ce mod\u00e8le peut sembler attractif pour les courts s\u00e9jours, mais pour 10\u201314 jours la soute de 23 kg devient n\u00e9cessaire : calculez le prix final incluant la soute avant de d\u00e9cider.<\/p>\n\n<p class=\"wp-block-paragraph\">Sources et lectures compl\u00e9mentaires : pour approfondir les liaisons internes et les conseils pratiques, consulter des analyses sectorielles et des guides de voyage actualis\u00e9s.<\/p>\n\n<p class=\"wp-block-paragraph\">Liens utiles :<\/p>\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.transports-express-caraibes.fr\/blog\/compagnies-aeriennes-caraibes\/\">Analyse des compagnies dans les Cara\u00efbes<\/a><\/li><li><a href=\"https:\/\/www.transports-express-caraibes.fr\/blog\/ouragan-melissa-trafic-caraibes\/\">Impact des cyclones sur le trafic a\u00e9rien<\/a><\/li><li><a href=\"https:\/\/www.lefigaro.fr\/voyages\/conseils\/vols-inter-iles-aux-caraibes-compagnies-billets-bagages-le-guide-pour-eviter-le-casse-tete-20260618\" target=\"_blank\" rel=\"noopener\">Guide pratique des vols inter\u2011\u00eeles<\/a><\/li><li><a href=\"https:\/\/www.volpromo.net\/vol-pas-cher\/antilles\/\" target=\"_blank\" rel=\"noopener\">Rep\u00e8res prix billets pour les Antilles<\/a><\/li><\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>En bref Chap\u00f4 \u2014 La carte des vols internes et des liaisons entre la m\u00e9tropole et l\u2019archipel a continu\u00e9 d\u2019\u00e9voluer en 2026 : la concurrence long\u2011courrier est rare mais bien r\u00e9elle, les tarifs fluctuent fortement selon la saison, et les services inclus varient d\u2019un transporteur \u00e0 l\u2019autre. Ce guide pratique adresse la question concr\u00e8te que &#8230; <a title=\"Vols internes aux Antilles fran\u00e7aises : quelles compagnies choisir en 2026 ?\" class=\"read-more\" href=\"https:\/\/www.transports-express-caraibes.fr\/blog\/vols-antilles-compagnies-2026\/\" aria-label=\"En savoir plus sur Vols internes aux Antilles fran\u00e7aises : quelles compagnies choisir en 2026 ?\">Lire plus<\/a><\/p>\n","protected":false},"author":3,"featured_media":23618,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10564],"tags":[],"class_list":["post-23619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aviation"],"views":0,"_links":{"self":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/posts\/23619","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=23619"}],"version-history":[{"count":0,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/posts\/23619\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/media\/23618"}],"wp:attachment":[{"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/media?parent=23619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/categories?post=23619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.transports-express-caraibes.fr\/blog\/wp-json\/wp\/v2\/tags?post=23619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}