

{"id":1134,"date":"2024-11-12T15:14:49","date_gmt":"2024-11-12T14:14:49","guid":{"rendered":"https:\/\/radiostreamr.com\/radio-france\/?p=1134"},"modified":"2024-11-12T15:18:04","modified_gmt":"2024-11-12T14:18:04","slug":"podcast-poulain-sans-reserve","status":"publish","type":"post","link":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/","title":{"rendered":"\ud83d\udde3\ufe0f Podcast et replay &#8211; Alexis Poulain sans r\u00e9serve &#8211; Sud Radio"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1134\" class=\"elementor elementor-1134\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent\" data-id=\"dce457e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html\" data-id=\"9f9be1c\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"1995\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html><html><head><meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@300;400;500;700&amp;display=swap\" rel=\"stylesheet\">\n<style>\n    .rtl-podcast-player * {\n        margin: 0;\n        padding: 0;\n        box-sizing: border-box;\n        font-family: 'Roboto', sans-serif;\n    }\n\n  .rtl-podcast-player #pagination {\n    display: flex !important;\n    justify-content: center !important;\n    align-items: center !important;\n    gap: 5px !important;\n    width: 100% !important;\n}\n\n@keyframes gradientBG {\n    0% {\n        background-position: 0% 50%;\n    }\n    50% {\n        background-position: 100% 50%;\n    }\n    100% {\n        background-position: 0% 50%;\n    }\n}\n\n.rtl-podcast-player body {\n    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);\n    background-size: 400% 400%;\n    animation: gradientBG 15s ease infinite;\n    min-height: 100vh;\n    display: flex;\n    align-items: center;\n    color: #fff;\n    width: 100%;\n    max-width: 100%;\n    overflow-x: hidden;\n    margin: 0;\n    padding: 0;\n}\n\n    .rtl-podcast-player .container {\n        display: grid;\n        grid-template-columns: 1.2fr 2.8fr;\n        gap: 20px;\n        margin: 0 auto;\n        padding: 50px 150px !important;\n        width: 100%;\n        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);\n        background-size: 400% 400%;\n        animation: gradientBG 15s ease infinite;\n        border-radius: 0;\n        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);\n    }\n\n\n    @media (max-width: 1024px) {\n        .rtl-podcast-player .container {\n            padding: 30px 45px;\n            grid-template-columns: 1fr 2fr;\n        }\n        \n        .rtl-podcast-player h1 {\n            font-size: 2em;\n        }\n    }\n\n\n    @media (max-width: 768px) {\n        .rtl-podcast-player .container {\n            padding: 20px !important; \/* Override padding *\/\n            margin: 0 !important; \/* Reset margin *\/\n            width: 100% !important;\n            max-width: 100% !important;\n            grid-template-columns: 1fr;\n            overflow-x: hidden; \/* Prevent horizontal scroll *\/\n        }\n        \n        .rtl-podcast-player #episode-grid,\n        .rtl-podcast-player .episode,\n        .rtl-podcast-player #featured-episode,\n        .rtl-podcast-player .host-biography,\n        .rtl-podcast-player .social-share-buttons {\n            width: 100% !important;\n            margin-left: auto !important;\n            margin-right: auto !important;\n            padding: 15px !important;\n        }\n        \n        .rtl-podcast-player h1,\n        .rtl-podcast-player h2,\n        .rtl-podcast-player p {\n            padding-left: 10px !important;\n            padding-right: 10px !important;\n            text-align: center;\n        }\n\n        .rtl-podcast-player #episode-grid {\n            grid-template-columns: 1fr !important; \/* Force single column *\/\n            gap: 20px;\n        }\n        \n        .rtl-podcast-player .episode {\n            width: 100% !important;\n            margin: 0 auto !important;\n        }\n    }\n\n\n@media (max-width: 480px) {\n    .rtl-podcast-player .container {\n        padding: 10px !important;\n    }\n    \n    .rtl-podcast-player #featured-episode,\n    .rtl-podcast-player .episode {\n        padding: 15px !important;\n        width: 100% !important;\n        margin: 0 auto !important;\n    }\n}\n\n.rtl-podcast-player h1 {\n    color: #00ffff;\n    text-align: center;\n    font-size: 2.3em;\n    margin-bottom: 40px;\n    font-weight: 700;\n    width: 100%;\n    grid-column: 1 \/ -1;\n    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);\n}\n\n  #fixed-player-bar {\n        display: flex;               \/* Assure l'affichage en flex *\/\n        flex-direction: column;       \/* Organisation en colonne *\/\n        align-items: center;          \/* Centre les \u00e9l\u00e9ments *\/\n        padding: 10px;\n        gap: 10px;                    \/* Espace entre chaque ligne *\/\n        background: rgba(26, 26, 26, 0.95); \/* Conserve l\u2019arri\u00e8re-plan *\/\n        display: none;                \/* Masqu\u00e9 par d\u00e9faut *\/\n    }\n\n    \/* Ligne 1 : Titre de l'\u00e9pisode *\/\n    #fixed-player-title {\n        display: block;               \/* Force l'affichage sur une ligne compl\u00e8te *\/\n        text-align: center;\n        font-size: 1.2em;\n        color: #00ffff;\n        width: 100%;                  \/* Prend la largeur compl\u00e8te *\/\n    }\n\n    \/* Ligne 2 : Player audio *\/\n    #fixed-player-audio {\n        display: block;               \/* Force l'affichage sur une ligne compl\u00e8te *\/\n        width: 100%;\n    }\n\n    \/* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture *\/\n    .audio-controls-container {\n        display: flex;\n        justify-content: center;\n        gap: 20px;\n        width: 100%;                  \/* Assure une disposition sur toute la largeur *\/\n    }\n\n    \/* Styles des boutons *\/\n    #chromecast-button, #close-fixed-player {\n        width: 40px;\n        height: 40px;\n        border: none;\n        cursor: pointer;\n    }\n}\n\n  @media (max-width: 768px) {\n    .rtl-podcast-player h1 {\n        margin-top: 0px !important; \/* Ajustez la valeur selon vos besoins *\/\n    }\n}\n  \n.rtl-podcast-player #featured-episode {\n    \/* Remplacer ces styles *\/\n    display: flex;\n    flex-direction: column;\n    height: 100%; \/* Ajout de cette ligne *\/\n    padding: 30px;\n    border-radius: 15px;\n    background-color: transparent;\n    color: #ffffff;\n    transition: all 0.3s ease;\n}\n\n.rtl-podcast-player #featured-episode:hover {\n    transform: translateY(-5px);\n}\n\n.rtl-podcast-player #featured-episode h3 {\n    color: #00ffff;\n    margin-bottom: 15px;\n    font-weight: 500;\n}\n\n.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {\n    width: 60px;\n    height: 60px;\n    border-radius: 50%;\n    padding: 0;\n    background-image: url('https:\/\/static.vecteezy.com\/system\/resources\/thumbnails\/017\/196\/540\/small\/3d-play-button-icon-transparent-background-free-png.png');\n    background-size: 35px;\n    background-position: center;\n    background-repeat: no-repeat;\n    font-size: 0;\n    position: relative;\n}\n\n    .rtl-podcast-player .date-badge {\n        background: rgba(0, 255, 255, 0.1);\n        border: 2px solid #00ffff;\n        border-radius: 8px;\n        padding: 8px 15px;\n        color: #00ffff;\n        font-weight: bold;\n        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);\n        box-shadow: \n            0 0 5px rgba(0, 255, 255, 0.2),\n            0 0 10px rgba(0, 255, 255, 0.2),\n            0 0 15px rgba(0, 255, 255, 0.2),\n            0 0 20px rgba(0, 255, 255, 0.2);\n        animation: neonPulse 1.5s ease-in-out infinite;\n        margin: 15px auto 20px auto; \/* Increased bottom margin *\/\n        display: block; \/* Changed from inline-block to block *\/\n        width: fit-content;\n    }\n\n    @keyframes neonPulse {\n        0%, 100% {\n            box-shadow: \n                0 0 5px rgba(0, 255, 255, 0.2),\n                0 0 10px rgba(0, 255, 255, 0.2),\n                0 0 15px rgba(0, 255, 255, 0.2),\n                0 0 20px rgba(0, 255, 255, 0.2);\n        }\n        50% {\n            box-shadow: \n                0 0 10px rgba(0, 255, 255, 0.4),\n                0 0 20px rgba(0, 255, 255, 0.4),\n                0 0 30px rgba(0, 255, 255, 0.4),\n                0 0 40px rgba(0, 255, 255, 0.4);\n        }\n    }\n\n\n.rtl-podcast-player #featured-episode img,\n.rtl-podcast-player .episode img {\n    border-radius: 15px;\n    object-fit: cover;\n}\n\n.rtl-podcast-player .modal-content img {\n    border-radius: 15px;\n    object-fit: cover;\n}\n\n.rtl-podcast-player .episode button:hover::after,\n.rtl-podcast-player #featured-episode button:hover::after {\n    content: \"Ecouter ce podcast\";\n    position: absolute;\n    bottom: -35px;\n    left: 50%;\n    transform: translateX(-50%);\n    background: rgba(0, 0, 0, 0.8);\n    color: #fff;\n    padding: 5px 10px;\n    border-radius: 5px;\n    font-size: 14px;\n    white-space: nowrap;\n    z-index: 1000;\n}\n\n.rtl-podcast-player #featured-episode button:hover {\n    background-color: #00cccc;\n    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);\n}\n\n.rtl-podcast-player #episode-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 20px;\n}\n\n    .rtl-podcast-player .episode {\n        padding: 20px;\n        border-radius: 15px;\n        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);\n        text-align: center;\n        background-color: #1a1a1a;\n        transition: all 0.3s ease;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n    }\n\n    .rtl-podcast-player .episode p {\n        color: #ffffff;\n    }\n\n\n.rtl-podcast-player .episode:hover {\n    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);\n    transform: translateY(-3px);\n}\n\n.rtl-podcast-player .episode h5 {\n    margin-bottom: 10px;\n    color: #00ffff;\n}\n\n.rtl-podcast-player .episode a {\n    color: #00ffff;\n    text-decoration: none;\n}\n\n    .rtl-podcast-player .episode button:hover {\n        background-color: #00cccc;\n        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);\n    }\n    \n    .search-filter-container {\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        gap: 15px;\n        margin-bottom: 30px;\n        width: 100%;\n    }\n\n    .search-filter-container input,\n    .search-filter-container select {\n        padding: 10px 15px;\n        border: 2px solid #00ffff;\n        border-radius: 8px;\n        background: rgba(0, 0, 0, 0.3);\n        color: #fff;\n        font-size: 16px;\n        width: 200px;\n    }\n\n    .search-filter-container input::placeholder {\n        color: rgba(255, 255, 255, 0.6);\n    }\n\n    .search-filter-container input:focus,\n    .search-filter-container select:focus {\n        outline: none;\n        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);\n    }\n\n    .search-filter-container select {\n        cursor: pointer;\n    }\n\n    .search-filter-container select option {\n        background-color: #1a1a1a;\n        color: #fff;\n    }\n\n    @media (max-width: 768px) {\n        .search-filter-container {\n            flex-direction: column;\n            gap: 10px;\n        }\n\n        .search-filter-container input,\n        .search-filter-container select {\n            width: 100%;\n            max-width: 300px;\n        }\n    }\n\n    color: #000;\n    border: none;\n    padding: 8px 20px;\n    border-radius: 20px;\n    cursor: pointer;\n    font-weight: 500;\n    transition: all 0.3s ease;\n    margin-top: 10px; \/* Add space above button *\/\n    display: block; \/* Ensure block-level display *\/\n    margin-left: auto;\n    margin-right: auto;\n}\n\n.rtl-podcast-player .episode button:hover {\n    background-color: #00cccc;\n    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);\n}\n\n.rtl-podcast-player .pagination {\n    text-align: center !important;\n    margin-top: 30px !important;\n    display: flex !important;\n    justify-content: center !important;\n    align-items: center !important;\n    gap: 5px !important;\n    width: auto !important;\n}\n\n  .rtl-podcast-player #page-numbers {\n    display: flex !important;\n    gap: 5px !important;\n    margin: 0 5px !important;\n}\n  \n.rtl-podcast-player .pagination button,\n.rtl-podcast-player .pagination #prev-btn,\n.rtl-podcast-player .pagination #next-btn {\n    margin: 0 !important;  \/* Chang\u00e9 de 5px \u00e0 0 *\/\n    padding: 8px 16px;\n    font-size: 1em;\n    background-color: #1a1a1a;\n    color: #00ffff;\n    border: 1px solid #00ffff;\n    border-radius: 5px;\n    cursor: pointer;\n    transition: all 0.3s ease;\n    float: none !important;\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n}\n\n.rtl-podcast-player .pagination button:hover {\n    background-color: #00ffff;\n    color: #000;\n    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);\n}\n\n.rtl-podcast-player .modal {\n    display: none;\n    position: fixed;\n    z-index: 1000;\n    left: 0;\n    top: 0;\n    width: 100%;\n    height: 100%;\n    overflow: auto;\n    background-color: rgba(0, 0, 0, 0.8);\n    backdrop-filter: blur(8px);\n}\n\n.rtl-podcast-player .modal-content {\n    background-color: #1a1a1a;\n    padding: 40px;\n    border: 2px solid #00ffff;\n    width: 90%;\n    max-width: 500px;\n    max-height: 90vh;\n    border-radius: 20px;\n    text-align: center;\n    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    overflow-y: auto;\n    color: white;\n}\n\n.rtl-podcast-player .close {\n    position: absolute;\n    top: 10px;\n    right: 20px;\n    color: #00ffff;\n    font-size: 35px;\n    font-weight: bold;\n    cursor: pointer;\n    transition: color 0.3s;\n}\n\n.rtl-podcast-player .close:hover {\n    color: #00cccc;\n    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);\n}\n\n.rtl-podcast-player #chromecast-button {\n    background-color: #00ffff;\n    border: none;\n    padding: 10px 20px;\n    border-radius: 5px;\n    cursor: pointer;\n    color: #000;\n    margin-top: 20px;\n    font-weight: bold;\n    display: inline-block;\n}\n\n.rtl-podcast-player audio::-webkit-media-controls-panel {\n    background-color: #2a2a2a;\n}\n\n.rtl-podcast-player audio::-webkit-media-controls-current-time-display,\n.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {\n    color: #000000;\n}\n\n.rtl-podcast-player #fixed-player-bar {\n    position: fixed;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    background: rgba(26, 26, 26, 0.95);\n    backdrop-filter: blur(10px);\n    padding: 10px 20px;\n    z-index: 999;\n    border-top: 2px solid #00ffff;\n}\n\n.rtl-podcast-player .fixed-player-content {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    max-width: 1200px;\n    margin: 0 auto;\n    gap: 20px;\n}\n\n\n.rtl-podcast-player #fixed-player-title {\n    color: #00ffff;\n    font-size: 1em;\n    margin: 0;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    flex: 1;\n}\n\n.rtl-podcast-player #fixed-player-audio {\n    flex: 2;\n    max-width: 500px;\n}\n\n.episode-card {\n    background: rgba(0, 0, 0, 0.3);\n    border: 1px solid rgba(0, 255, 255, 0.3);\n    border-radius: 15px;\n    padding: 20px;\n    margin-bottom: 20px;\n    transition: all 0.3s ease;\n    cursor: pointer;\n}\n\n.episode-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);\n}\n\n.episode-card img {\n    width: 100%;\n    max-width: 200px;\n    border-radius: 10px;\n    margin: 10px 0;\n}\n\n.episode-card button {\n    margin-top: 10px;\n}\n  \n\/* Conserve les styles des boutons play et mute *\/\naudio::-webkit-media-controls-play-button,\naudio::-webkit-media-controls-mute-button {\n    background-color: #40E0D0 !important; \/* Bleu turquoise *\/\n    border-radius: 50% !important;\n    transition: all 0.3s ease !important;\n}\n\naudio::-webkit-media-controls-play-button:hover,\naudio::-webkit-media-controls-mute-button:hover {\n    background-color: #5FECEC !important; \/* Bleu turquoise plus clair au survol *\/\n    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;\n}\n\n\/* Tentative pour changer la couleur du trait de progression *\/\naudio::-webkit-media-controls-timeline {\n    color: #a6a6a6 !important; \/* Essaye de cibler le trait turquoise *\/\n}\n\n\/* Modifie la couleur des trois petits points *\/\naudio::-webkit-media-controls-panel {\n    background-color: transparent !important; \/* Assure que le fond ne prend pas de couleur *\/\n    color: #40E0D0 !important; \/* Forcer la couleur turquoise pour les trois points *\/\n}\n\n\/* Tentative suppl\u00e9mentaire pour cibler le trait du curseur de progression *\/\naudio::-webkit-slider-runnable-track {\n    background-color: #40E0D0 !important; \/* Bleu turquoise pour la piste *\/\n}\n\naudio::-webkit-slider-thumb {\n    background-color: #a6a6a6 !important; \/* Plus clair pour le curseur lui-m\u00eame *\/\n}\n\n\n@media (max-width: 768px) {\n    .rtl-podcast-player .fixed-player-content {\n        flex-direction: column;\n        gap: 10px;\n        padding: 15px;\n    }\n\n    .rtl-podcast-player #fixed-player-audio {\n        width: 100%;\n        max-width: 100%;\n    }\n\n    .rtl-podcast-player #fixed-player-title {\n        width: 100%;\n        text-align: center;\n        font-size: 0.9em;\n    }\n}\n\n.rtl-podcast-player .social-button {\n    width: 45px;\n    height: 45px;\n    border-radius: 50%;\n    border: none;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.2s ease-in-out;\n    box-shadow: 0 2px 5px rgba(0,0,0,0.2);\n}\n\n.rtl-podcast-player .social-button:hover {\n    transform: scale(1.1);\n}\n\n@media (max-width: 768px) {\n    .rtl-podcast-player .social-share-buttons {\n        gap: 10px;\n    }\n    \n    .rtl-podcast-player .social-button {\n        width: 40px;\n        height: 40px;\n    }\n    \n    .rtl-podcast-player .social-button svg {\n        width: 20px;\n        height: 20px;\n    }\n}\n\n.navigation-buttons {\n    position: absolute;\n    width: 100%;\n    top: 50%;\n    left: 0;\n    transform: translateY(-50%);\n    display: flex;\n    justify-content: space-between;\n    padding: 0 10px;\n    pointer-events: none;\n    z-index: 1000;\n}\n\n.nav-button {\n    background: rgba(0, 0, 0, 0.7);\n    border: 2px solid #00ffff;\n    border-radius: 50%;\n    width: 40px;\n    height: 40px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    transition: all 0.3s ease;\n    pointer-events: auto;\n}  \n\n.nav-button:hover {\n    background: rgba(0, 255, 255, 0.2);\n    transform: scale(1.1);\n}\n\n.nav-button svg {\n    width: 24px;\n    height: 24px;\n}\n\n@media (max-width: 768px) {\n    .nav-button {\n        width: 35px;\n        height: 35px;\n    }\n    \n    .nav-button svg {\n        width: 20px;\n        height: 20px;\n    }\n}\n<\/style>\n<script type=\"text\/javascript\" src=\"\/\/www.gstatic.com\/cv\/js\/sender\/v1\/cast_sender.js\"><\/script>\n\n<\/head><body>\n<div class=\"rtl-podcast-player\">\n    <div class=\"container\" style=\"background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);\n    background-size: 400% 400%;\n    animation: gradientBG 15s ease infinite;\n    border-radius: 0; \/* Changed from 20px to 0 *\/\n    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);\">\n    <h1 style=\"color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 \/ -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;\">\nPoulin sans r\u00e9serve - \u00c9coutez en rediffusion tous les podcasts Sud Radio\n<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/0\/03\/Logo_Sud_Radio_2014.svg\/1200px-Logo_Sud_Radio_2014.svg.png\" alt=\"Logo Europe 1\" style=\"width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);\">\n<\/h1>\n    <div class=\"social-share-buttons\" style=\"display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 \/ -1;\">\n    <button onclick=\"shareOnX()\" class=\"social-button\" style=\"background-color: #000;\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"#fff\">\n            <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\"><\/path>\n        <\/svg>\n    <\/button>\n    <button onclick=\"shareOnWhatsapp()\" class=\"social-button\" style=\"background-color: #25D366;\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"#fff\">\n            <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z\"><\/path>\n        <\/svg>\n    <\/button>\n    <button onclick=\"shareOnFacebook()\" class=\"social-button\" style=\"background-color: #1877F2;\">  \n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"#fff\">\n            <path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"><\/path>\n        <\/svg>\n    <\/button>\n    <button onclick=\"shareOnLinkedIn()\" class=\"social-button\" style=\"background-color: #0A66C2;\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"#fff\">\n            <path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"><\/path>\n        <\/svg>\n    <\/button>\n<\/div>\n      \n    <div id=\"featured-episode\" style=\"display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;\">\n  <div class=\"features-episode\" style=\"width: 100%; height: 100%;\">\n    <!-- Premi\u00e8re carte (derni\u00e8re \u00e9mission) -->\n    <div class=\"episode-card\">\n      <h3 style=\"color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;\"><\/h3>\n      <p style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; \/* Strictement limit\u00e9 \u00e0 180 caract\u00e8res *\/\" class=\"truncate-text\"><\/p>\n      <div class=\"date-badge\"><\/div>\n      <button onclick=\"openModal('', '')\"><\/button>\n    <\/div>\n            \n    <!-- Deuxi\u00e8me carte (avant-derni\u00e8re \u00e9mission) -->\n    <div class=\"episode-card\">\n      <h3 style=\"color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;\"><\/h3>\n      <p style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; \/* Strictement limit\u00e9 \u00e0 180 caract\u00e8res *\/\" class=\"truncate-text\"><\/p>\n      <div class=\"date-badge\"><\/div>\n      <button onclick=\"openModal('', '')\"><\/button>\n    <\/div>\n  <\/div>\n<\/div>\n    <div>\n    <div class=\"search-filter-container\">\n        <input type=\"text\" id=\"podcast-search\" placeholder=\"Rechercher un podcast...\" oninput=\"filterAndDisplayEpisodes()\">\n        <select id=\"podcast-filter\" onchange=\"filterAndDisplayEpisodes()\">\n            <option value=\"newest\">Plus r\u00e9cents<\/option>\n            <option value=\"oldest\">Plus anciens<\/option>\n        <\/select>\n    <\/div>\n    <div id=\"episode-grid\">\n        <style>\n            .episode {\n                cursor: pointer;\n            }\n            \n            .episode > * {\n                pointer-events: none;\n            }\n            \n            .episode button {\n                pointer-events: auto;\n            }\n        <\/style>\n    <\/div>\n    <div class=\"pagination\" id=\"pagination\">\n    <button id=\"prev-btn\" onclick=\"changePage('prev')\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <path d=\"M15 18l-6-6 6-6\"><\/path>\n        <\/svg>\n    <\/button>\n    <span id=\"page-numbers\"><\/span>\n    <button id=\"next-btn\" onclick=\"changePage('next')\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <path d=\"M9 18l6-6-6-6\"><\/path>\n        <\/svg>\n    <\/button>\n<\/div>\n\n      <div class=\"ad-banner\" style=\"width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 \/ -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;\">\n    <p style=\"color: #666; font-size: 12px; margin-bottom: 10px;\">Publicit\u00e9<\/p>\n    <a href=\"https:\/\/universal-academy.com\/recruter-des-alternants-dans-le-tourisme\/\" target=\"_blank\" style=\"display: inline-block;\">\n        <img decoding=\"async\" src=\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/Design-sans-titre-2024-11-06T134332.299.webp\" alt=\"Banni\u00e8re publicitaire RTL\" style=\"width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;\" onmouseover=\"this.style.transform='scale(1.02)'\" onmouseout=\"this.style.transform='scale(1)'\">\n    <\/a>\n<\/div>\n\n    <script>\n        \/\/ Ajouter un event listener pour les cartes d'\u00e9pisodes\n        document.getElementById('episode-grid').addEventListener('click', (e) => {\n            const episodeCard = e.target.closest('.episode');\n            if (episodeCard) {\n                \/\/ Trouver le bouton dans la carte et simuler un clic dessus\n                const button = episodeCard.querySelector('button');\n                if (button) {\n                    button.click();\n                }\n            }\n        });\n    <\/script>\n<\/div>\n    \n    <div class=\"host-biography\" style=\"grid-column: 1 \/ -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);\">\n    <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 30px;\">\n        <!-- Media query pour passer en une colonne sur mobile -->\n        <style>\n            @media (max-width: 768px) {\n                .host-biography > div {\n                    grid-template-columns: 1fr !important;\n                }\n            }\n        <\/style>\n\n      <div class=\"host-biography\" style=\"grid-column: 1 \/ -1; padding: 30px; border-radius: 15px; margin-top: 30px;\">\n    <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 30px;\">\n      <div style=\"grid-column: 1 \/ -1; margin-bottom: 30px; text-align: center;\">\n    <h2 style=\"color: #00ffff; margin-bottom: 20px; text-align: center;\">\u00c9coutez et t\u00e9l\u00e9chargez \"Poulin sans r\u00e9serve\" anim\u00e9 par Alexis Poulin sur Sud Radio<\/h2>\n\n    <!-- Nouveaux boutons de r\u00e9seaux sociaux -->\n    <div style=\"display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;\">\n        <a href=\"https:\/\/www.facebook.com\/Europe1\/?locale=fr_FR\" target=\"_blank\" style=\"position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n    <a href=\"https:\/\/www.facebook.com\/SudRadioOfficiel\/?locale=fr_FR\">\n        <path d=\"M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z\"><\/path>\n    <\/a>\n<\/svg>\n    <span style=\"position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;\">Voir leur Facebook<\/span>\n<\/a>\n\n        <a href=\"https:\/\/www.instagram.com\/sudradioofficiel\/?hl=fr\" target=\"_blank\" style=\"position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n        <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z\"><\/path>\n    <\/svg>\n    <span style=\"position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;\">Voir leur Instagram<\/span>\n<\/a>\n\n        <a href=\"https:\/\/www.sudradio.fr\/\" target=\"_blank\" style=\"position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" viewBox=\"0 0 24 24\" fill=\"#000000\">\n        <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"><\/path>\n    <\/svg>\n<\/a>\n    <\/div>\n\n    <style>\n        \/* Hover effects pour les boutons *\/\n        .host-biography a:hover {\n            transform: scale(1.1);\n            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);\n        }\n        \n        .host-biography a:hover span {\n            opacity: 1;\n        }\n\n        \/* Media queries pour le responsive *\/\n        @media (max-width: 768px) {\n            .host-biography div[style*=\"display: flex\"] {\n                flex-wrap: wrap;\n                justify-content: center;\n                gap: 15px;\n            }\n        }\n    <\/style>\n\n    <p style=\"color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;\">\n\"Poulin sans r\u00e9serve\" est une \u00e9mission phare de Sud Radio anim\u00e9e par Alexis Poulin. Cette \u00e9mission captivante offre un espace de dialogue franc et direct pour aborder les sujets d'actualit\u00e9 qui pr\u00e9occupent les Fran\u00e7ais. Chaque semaine, Alexis Poulin re\u00e7oit des invit\u00e9s et interagit avec les auditeurs pour d\u00e9battre des questions politiques, \u00e9conomiques et soci\u00e9tales. L'\u00e9mission se distingue par son approche sans langue de bois et sa volont\u00e9 de donner la parole aux citoyens, cr\u00e9ant ainsi un v\u00e9ritable forum d'\u00e9change o\u00f9 les opinions peuvent s'exprimer librement dans le respect mutuel.\n<\/p>\n    \n    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;\">\n        <!-- Les 6 cartes existantes restent inchang\u00e9es -->\n        <!-- Carte 1 -->\n        <div style=\"background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;\" onmouseover=\"this.style.transform='translateY(-5px)'\" onmouseout=\"this.style.transform='translateY(0)'\">\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <path d=\"M3 18v-6a9 9 0 0 1 18 0v6\"><\/path>\n                <path d=\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\"><\/path>\n            <\/svg>\n            <p style=\"color: #ffffff; margin: 0;\">\u00c9couter gratuitement tous les podcasts en streaming<\/p>\n        <\/div>\n\n        <!-- Carte 2 -->\n        <div style=\"background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;\" onmouseover=\"this.style.transform='translateY(-5px)'\" onmouseout=\"this.style.transform='translateY(0)'\">\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"><\/path>\n                <polyline points=\"7 10 12 15 17 10\"><\/polyline>\n                <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"><\/line>\n            <\/svg>\n            <p style=\"color: #ffffff; margin: 0;\">T\u00e9l\u00e9charger les \u00e9pisodes pour une \u00e9coute hors-ligne<\/p>\n        <\/div>\n\n        <!-- Carte 3 -->\n        <div style=\"background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;\" onmouseover=\"this.style.transform='translateY(-5px)'\" onmouseout=\"this.style.transform='translateY(0)'\">\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <path d=\"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\"><\/path>\n                <line x1=\"2\" y1=\"20\" x2=\"2\" y2=\"20\"><\/line>\n            <\/svg>\n            <p style=\"color: #ffffff; margin: 0;\">Diffuser sur votre Chromecast ou appareil compatible<\/p>\n        <\/div>\n\n        <!-- Carte 4 -->\n        <div style=\"background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;\" onmouseover=\"this.style.transform='translateY(-5px)'\" onmouseout=\"this.style.transform='translateY(0)'\">\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n                <polygon points=\"10 8 16 12 10 16 10 8\"><\/polygon>\n            <\/svg>\n            <p style=\"color: #ffffff; margin: 0;\">Acc\u00e9der \u00e0 toutes les rediffusions des \u00e9missions pr\u00e9c\u00e9dentes<\/p>\n        <\/div>\n\n        <!-- Carte 5 -->\n        <div style=\"background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;\" onmouseover=\"this.style.transform='translateY(-5px)'\" onmouseout=\"this.style.transform='translateY(0)'\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path>\n        <circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle>\n        <path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path>\n        <path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path>\n    <\/svg>\n    <p style=\"color: #ffffff;\">Retrouvez chaque jour une nouvelle \u00e9mission de \"Poulin sans r\u00e9serve\" avec Alexis Poulin qui analyse l'actualit\u00e9 politique, \u00e9conomique et sociale sans langue de bois sur Sud Radio.<\/p>\n<\/div>\n\n        <!-- Carte 6 -->\n        <div style=\"background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;\" onmouseover=\"this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'\" onmouseout=\"this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'\" onclick=\"window.location.href='https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-sud-radio\/'\">\n    <div id=\"live-tooltip\" style=\"position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);\">\n        Cliquez pour \u00e9couter en direct\n    <\/div>\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <path d=\"M4 12h1\"><\/path>\n        <path d=\"M9 12h1\"><\/path>\n        <path d=\"M14 12h1\"><\/path>\n        <path d=\"M19 12h1\"><\/path>\n        <rect x=\"2\" y=\"8\" width=\"20\" height=\"12\" rx=\"2\"><\/rect>\n        <path d=\"M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4\"><\/path>\n        <circle cx=\"12\" cy=\"14\" r=\"4\"><\/circle>\n        <path d=\"M12 10v8\"><\/path>\n        <path d=\"M8 14h8\"><\/path>\n    <\/svg>\n    <p style=\"color: #ffffff; margin: 0;\">\u00c9coutez en direct \u00ab Poulin sans r\u00e9serve \u00bb sur Sud Radio avec Alexis Poulin qui d\u00e9crypte l'actualit\u00e9 sans langue de bois.<\/p>\n    <p style=\"color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;\">\n    Diffus\u00e9 du lundi au vendredi <br>\n    12h00 - 14h00\n<\/p>\n<\/div>\n    <\/div>\n<\/div>\n        \n        <!-- Histoire de l'\u00e9mission -->\n        <div style=\"padding: 20px; text-align: center;\">\n    <h2 style=\"color: #00ffff; margin-bottom: 20px; text-align: center;\">Poulin sans r\u00e9serve avec Alexis Poulin<\/h2>\n    <p style=\"color: #ffffff; line-height: 1.6; text-align: center;\">\n        \"Poulin sans r\u00e9serve\" est une \u00e9mission phare de Sud Radio anim\u00e9e par Alexis Poulin. Cette \u00e9mission percutante propose une analyse sans concession de l'actualit\u00e9 politique, \u00e9conomique et sociale. Chaque jour, Alexis Poulin d\u00e9crypte les grands \u00e9v\u00e9nements avec un regard critique et aff\u00fbt\u00e9, n'h\u00e9sitant pas \u00e0 bousculer les id\u00e9es re\u00e7ues et \u00e0 pointer du doigt les dysfonctionnements de notre soci\u00e9t\u00e9.\n    <\/p>\n    <p style=\"color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;\">\n        Alexis Poulin, avec son style direct et son franc-parler, apporte une perspective unique sur les enjeux contemporains. Sa capacit\u00e9 \u00e0 d\u00e9construire les discours officiels et \u00e0 proposer une lecture alternative de l'actualit\u00e9 fait de cette \u00e9mission un rendez-vous incontournable pour comprendre les dessous de l'information.\n    <\/p>\n    <p style=\"color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;\">\n        L'\u00e9mission se distingue par son approche sans tabou et sa volont\u00e9 de donner la parole aux auditeurs, cr\u00e9ant un v\u00e9ritable espace de d\u00e9bat o\u00f9 les opinions peuvent s'exprimer librement. Chaque jour, Alexis Poulin nous invite \u00e0 r\u00e9fl\u00e9chir diff\u00e9remment et \u00e0 questionner notre rapport \u00e0 l'information et au pouvoir.\n    <\/p>\n    <div style=\"margin-top: 30px;\">\n        <img decoding=\"async\" src=\"https:\/\/www.etresouverain.com\/wp-content\/uploads\/2024\/04\/Alexis-poulain-05042024-BR.jpg\" alt=\"C'est \u00e7a la France sur Europe 1\" style=\"width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;\">\n    <\/div>\n<\/div>\n\n        <!-- Biographie de Laurent Ruquier -->\n        <div style=\"display: flex; flex-direction: column; align-items: center; gap: 20px;\">\n    <div style=\"width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;\">\n        <img decoding=\"async\" src=\"https:\/\/pbs.twimg.com\/media\/FX8AI9yXwAAt5_Q.jpg\" alt=\"Nathalie Schraen-Guirma portrait photo\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n    <\/div>\n    <div style=\"text-align: center;\">\n        <h2 style=\"color: #00ffff; margin-bottom: 20px;\">Alexis Poulin - L'animateur de \"Poulin sans r\u00e9serve\" sur Sud Radio<\/h2>\n        <p style=\"color: #ffffff; line-height: 1.8;\">\n            Alexis Poulin, avant d'\u00eatre une figure m\u00e9diatique connue, a d\u00e9but\u00e9 comme entrepreneur. Au d\u00e9but des ann\u00e9es 2010, il s'est fait conna\u00eetre comme sp\u00e9cialiste du marketing proche du MEDEF et promoteur de la Start-up Nation. Un tournant s'op\u00e8re en 2018 lorsqu'il devient chroniqueur pour Le Media, une cha\u00eene aux positions plus \u00e0 gauche.\n\n            En 2016, il co-fonde avec Antoine de Decker \"Le monde moderne\", un site d'actualit\u00e9s et d'opinions qui \u00e9voluera vers les formats Twitch et podcasts en 2022, portant une ligne \u00e9ditoriale critique du macronisme.\n        <\/p>\n        <p style=\"color: #ffffff; line-height: 1.8; margin-top: 15px;\">\n            Son parcours journalistique est marqu\u00e9 par des collaborations diverses, du Huffpost \u00e0 Russia Today en passant par Boulevard Voltaire. Pr\u00e9sent sur de nombreux plateaux t\u00e9l\u00e9vis\u00e9s, d'Arte \u00e0 BFM TV, il s'est particuli\u00e8rement fait remarquer sur Sud Radio et CNews. Critique du pouvoir en place, il s'est notamment illustr\u00e9 pendant la crise des gilets jaunes et la p\u00e9riode Covid, d\u00e9veloppant un style d'analyse sans concession qui caract\u00e9rise aujourd'hui son \u00e9mission \"Poulin sans r\u00e9serve\" sur Sud Radio.\n        <\/p>\n    <\/div>\n<\/div>\n\n        <!-- Sources (span across both columns) -->\n        <div style=\"grid-column: 1 \/ -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;\">\n    <h3 style=\"color: #00ffff; margin-bottom: 10px; font-size: 1.2em;\">Sources :<\/h3>\n    <ul style=\"list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;\">\n        <li>\n            <a href=\"https:\/\/www.infolibertaire.net\/qui-est-alexis-poulin\/\" target=\"_blank\" style=\"color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }\">\u2022 Article Info Libertaire - Qui est Alexis Poulin ?<\/a>\n        <\/li>\n    <\/ul>\n<\/div>\n    <\/div>\n<\/div>\n\n<\/div>\n\n    <div id=\"player-modal\" class=\"modal\">\n        <div class=\"modal-content\">\n    <span class=\"close\" onclick=\"closeModal()\">\u00d7<\/span>\n    <div class=\"navigation-buttons\">\n        <button id=\"prev-episode\" onclick=\"navigateEpisode('prev')\" class=\"nav-button\">\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <path d=\"M15 18l-6-6 6-6\"><\/path>\n            <\/svg>\n        <\/button>\n        <button id=\"next-episode\" onclick=\"navigateEpisode('next')\" class=\"nav-button\">\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00ffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <path d=\"M9 18l6-6-6-6\"><\/path>\n            <\/svg>\n        <\/button>\n    <\/div>\n    <div id=\"player-content\">\n    <style>\n        \/* Styles existants *\/\n        .modal-content {\n            background-color: #1a1a1a;\n            padding: 40px;\n            border: 2px solid #00ffff;\n            width: 90%;\n            max-width: 500px;\n            max-height: 90vh;\n            border-radius: 20px;\n            text-align: center;\n            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);\n            position: fixed; \/* Chang\u00e9 de absolute \u00e0 fixed *\/\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%) !important; \/* Ajout de !important *\/\n            overflow-y: auto;\n            color: white;\n        }\n\n        \/* Change la couleur du timing en noir *\/\n        audio::-webkit-media-controls-time-display {\n            color: #000000 !important;\n        }\n\n        \/* Ajout de media queries pour le mobile *\/\n        @media (max-width: 768px) {\n            .modal-content {\n                padding: 30px;\n                width: 95%;\n                margin: 0 auto;\n                position: fixed;\n                top: 50%;\n                left: 50%;\n                transform: translate(-50%, -50%) !important;\n            }\n        }\n\n        @media (max-height: 600px) {\n            .modal-content {\n                max-height: 85vh;\n            }\n        }\n    <\/style>\n<\/div>\n    <button id=\"chromecast-button\" onclick=\"startChromecast()\" style=\"width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https:\/\/cdn-icons-png.flaticon.com\/512\/8819\/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;\"><\/button>\n<\/div>\n    <\/div>\n\n    <div id=\"fixed-player-bar\" class=\"rtl-podcast-player\" style=\"display: none;\">\n    <div class=\"fixed-player-content\">\n        <h3 id=\"fixed-player-title\"><\/h3>\n        <div class=\"audio-controls-container\" style=\"display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;\">\n            <audio id=\"fixed-player-audio\" controls=\"\">\n                <source src=\"\" type=\"audio\/mpeg\">\n            <\/audio>\n            <button onclick=\"startChromecast()\" style=\"width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https:\/\/cdn-icons-png.flaticon.com\/512\/8819\/8819177.png') center\/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);\">Cast to Chromecast<\/button>\n            <button id=\"close-fixed-player\" onclick=\"closeFixedPlayer()\" style=\"background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;\">\u00d7<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n    <script>\n    (function RTLPodcastPlayer() {\n        \/\/ Initialize cast api\n        window.__onGCastApiAvailable = function(isAvailable) {\n            if (!isAvailable) return;\n\n            const initializeCastApi = function() {\n                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);\n                const apiConfig = new chrome.cast.ApiConfig(\n                    sessionRequest,\n                    sessionListener,\n                    receiverListener\n                );\n                chrome.cast.initialize(apiConfig, onInitSuccess, onError);\n            };\n\n            const sessionListener = function(session) {\n                console.log('Session listener', session);\n            };\n\n            const receiverListener = function(availability) {\n                console.log('Receiver listener', availability);\n            };\n\n            const onInitSuccess = function() {\n                console.log('Cast initialization success');\n            };\n\n            const onError = function(error) {\n                console.error('Cast initialization error', error);\n            };\n\n            if (!chrome.cast || !chrome.cast.isAvailable) {\n                setTimeout(initializeCastApi, 1000);\n            } else {\n                initializeCastApi();\n            }\n        };\n\n        const rssUrl = \"https:\/\/www.sudradio.fr\/programme\/poulin-sans-reserve\/poditunes\";\n        const proxyUrl = `https:\/\/api.rss2json.com\/v1\/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=150`;\n        const episodesPerPage = 4;\n        let currentPage = 1;\n        let currentAudioUrl = '';\n        let totalPages = 0;\n\n        \/\/ Ajouter ces variables au d\u00e9but du script\n        let currentEpisodeIndex = 0;\n        let allEpisodes = [];\n        let filteredEpisodes = [];\n\n        fetch(proxyUrl)\n            .then(response => response.json())\n            .then(data => {\n                if (data.status !== \"ok\") {\n                    throw new Error(\"Erreur de chargement du flux RSS.\");\n                }\n                allEpisodes = data.items;\n                filteredEpisodes = [...allEpisodes];\n                displayFeaturedEpisode(allEpisodes[0]);\n                displayEpisodes(currentPage, filteredEpisodes);\n                setupPagination(allEpisodes);\n            })\n            .catch(error => {\n                document.getElementById(\"featured-episode\").innerHTML = \"<p>Impossible de charger le flux RSS. Veuillez r\u00e9essayer plus tard.<\/p>\";\n            });\n\n        const DEFAULT_IMAGE = \"https:\/\/www.sudradio.fr\/wp-content\/uploads\/2023\/08\/POULIN-SANS-RESERVE-405x405.jpg\";\n\n\/\/ 2. Fonction de nettoyage des caract\u00e8res sp\u00e9ciaux\nfunction sanitizeString(str) {\n    if (!str) return '';\n    return str.replace(\/['\"\\\\<>]\/g, '')\n              .replace(\/&amp;\/g, '&')\n              .replace(\/&lt;\/g, '<')\n              .replace(\/&gt;\/g, '>')\n              .replace(\/&quot;\/g, '\"')\n              .replace(\/&#39;\/g, \"'\");\n}\n\n\/\/ 3. Fonction truncateDescription modifi\u00e9e\nfunction truncateDescription(description, maxLength = 180) {\n    \/\/ Cr\u00e9e un \u00e9l\u00e9ment temporaire pour d\u00e9coder les entit\u00e9s HTML\n    const tempElement = document.createElement(\"div\");\n    tempElement.innerHTML = description;\n    \n    \/\/ R\u00e9cup\u00e8re le texte brut de la description\n    let plainText = tempElement.innerText || tempElement.textContent || '';\n    plainText = sanitizeString(plainText);\n\n    \/\/ Tronque le texte si n\u00e9cessaire\n    if (plainText.length <= maxLength) return plainText.trim();\n    return plainText.substring(0, maxLength).trim() + '...';\n}\n\n\/\/ 4. Fonction displayFeaturedEpisode corrig\u00e9e\nfunction displayFeaturedEpisode(episode) {\n    const featuredEpisode = document.getElementById(\"featured-episode\");\n    \n    featuredEpisode.innerHTML = `\n        <div class=\"features-episode\" style=\"width: 100%; height: 100%;\">\n            <!-- Premi\u00e8re carte (derni\u00e8re \u00e9mission) -->\n            <div class=\"episode-card\" onclick=\"openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')\">\n                <h3 style=\"color: #00ffff;\">${sanitizeString(allEpisodes[0].title)}<\/h3>\n                <img decoding=\"async\" src=\"${DEFAULT_IMAGE}\" alt=\"Image de la derni\u00e8re \u00e9mission\" style=\"width: 100%; max-width: 200px; border-radius: 10px; margin: 10px 0;\">\n                <p>${truncateDescription(allEpisodes[0].description)}<\/p>\n                <div class=\"date-badge\">\n                    ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {\n                        day: '2-digit',\n                        month: '2-digit',\n                        year: '2-digit'\n                    })}\n                <\/div>\n                <button><\/button>\n            <\/div>\n            \n            <!-- Deuxi\u00e8me carte (avant-derni\u00e8re \u00e9mission) -->\n            <div class=\"episode-card\" onclick=\"openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')\">\n                <h3 style=\"color: #00ffff;\">${sanitizeString(allEpisodes[1].title)}<\/h3>\n                <img decoding=\"async\" src=\"${DEFAULT_IMAGE}\" alt=\"Image de l'avant-derni\u00e8re \u00e9mission\" style=\"width: 100%; max-width: 200px; border-radius: 10px; margin: 10px 0;\">\n                <p>${truncateDescription(allEpisodes[1].description)}<\/p>\n                <div class=\"date-badge\">\n                    ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {\n                        day: '2-digit',\n                        month: '2-digit',\n                        year: '2-digit'\n                    })}\n                <\/div>\n                <button><\/button>\n            <\/div>\n        <\/div>\n    `;\n}\n\n\/\/ 5. Fonction displayEpisodes corrig\u00e9e\nfunction displayEpisodes(page, episodes) {\n    const episodeGrid = document.getElementById(\"episode-grid\");\n    episodeGrid.innerHTML = \"\";\n    \n    const episodesWithoutFeatured = episodes.slice(2);\n    const start = (page - 1) * episodesPerPage;  \n    const end = start + episodesPerPage;\n    \n    episodesWithoutFeatured.slice(start, end).forEach(item => {\n        episodeGrid.innerHTML += `\n            <div class=\"episode\">\n                <h5>${sanitizeString(item.title)}<\/h5>\n                <img decoding=\"async\" src=\"${DEFAULT_IMAGE}\" alt=\"Image de l'\u00e9pisode\" style=\"width: 100%; max-width: 150px; border-radius: 10px; margin: 10px 0;\">\n                <p>${truncateDescription(item.description)}<\/p>\n                <div class=\"date-badge\">\n                    ${new Date(item.pubDate).toLocaleDateString('fr-FR', {\n                        day: '2-digit',\n                        month: '2-digit',\n                        year: '2-digit'\n                    })}\n                <\/div>\n                <button onclick=\"openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')\"><\/button>\n            <\/div>\n        `;\n    });\n    updatePaginationButtons();\n}\n\n\/\/ 6. Fonction openModal corrig\u00e9e\nwindow.openModal = function(audioUrl, title) {\n    const playerContent = document.getElementById(\"player-content\");\n    \n    const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);\n    currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);\n    \n    playerContent.innerHTML = `\n        <h2>${sanitizeString(title)}<\/h2>\n        <img decoding=\"async\" src=\"${DEFAULT_IMAGE}\" alt=\"Image de l'\u00e9mission\" style=\"width: 100%; max-width: 300px; margin: 15px 0; border-radius: 10px;\">\n        <audio controls style=\"width: 100%; margin-top: 10px;\" id=\"modal-audio\">\n            <source src=\"${sanitizeString(audioUrl)}\" type=\"audio\/mpeg\">\n            Votre navigateur ne supporte pas la lecture audio.\n        <\/audio>\n    `;\n    \n    updateNavigationButtons();\n    currentAudioUrl = audioUrl;\n    document.getElementById(\"player-modal\").style.display = \"block\";\n    window.currentEpisodeTitle = title;\n    \n    const modalAudio = document.getElementById('modal-audio');\n    modalAudio.addEventListener('play', () => {\n        window.isPlaying = true;\n    });\n    modalAudio.addEventListener('pause', () => {\n        window.isPlaying = false;\n    });\n};\n\n        function setupPagination(episodes) {\n    \/\/ Soustrait les 2 \u00e9pisodes featured au lieu d'un seul\n    totalPages = Math.ceil((episodes.length - 2) \/ episodesPerPage);\n    const pageNumbers = document.getElementById(\"page-numbers\");\n    pageNumbers.innerHTML = \"\";\n\n    \/\/ Calcule quels num\u00e9ros afficher\n    let start = currentPage;\n    if (currentPage === totalPages) {\n        start = totalPages - 2;\n    } else if (currentPage === 1) {\n        start = 1;\n    } else {\n        start = currentPage - 1;\n    }\n\n    \/\/ S'assure que start n'est jamais inf\u00e9rieur \u00e0 1\n    start = Math.max(1, start);\n    \n    \/\/ Affiche 3 boutons \u00e0 partir de start\n    for (let i = start; i < start + 3 && i <= totalPages; i++) {\n        const button = document.createElement(\"button\");\n        button.textContent = i;\n        button.addEventListener(\"click\", () => {\n            currentPage = i;\n            displayEpisodes(currentPage, episodes);\n            setupPagination(episodes); \/\/ Important : rafra\u00eechit la pagination\n        });\n        pageNumbers.appendChild(button);\n    }\n\n    \/\/ R\u00e9active la fonctionnalit\u00e9 des boutons pr\u00e9c\u00e9dent\/suivant\n    window.changePage = function(direction) {\n        if (direction === 'prev' && currentPage > 1) {\n            currentPage--;\n        } else if (direction === 'next' && currentPage < totalPages) {\n            currentPage++;\n        }\n        displayEpisodes(currentPage, filteredEpisodes);\n        setupPagination(episodes); \/\/ Rafra\u00eechit la pagination\n        updatePaginationButtons();\n    }\n\n    updatePaginationButtons();\n}\n\n        function updatePaginationButtons() {\n            const prevBtn = document.getElementById('prev-btn');\n            const nextBtn = document.getElementById('next-btn');\n            \n            prevBtn.disabled = currentPage === 1;\n            nextBtn.disabled = currentPage === totalPages;\n            \n            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';\n            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';\n            \n            const pageButtons = document.querySelectorAll('#page-numbers button');\n            pageButtons.forEach((button, index) => {\n                if (index + 1 === currentPage) {\n                    button.style.backgroundColor = '#00ffff';\n                    button.style.color = '#000';\n                } else {\n                    button.style.backgroundColor = '#1a1a1a';\n                    button.style.color = '#00ffff';\n                }\n            });\n        }\n\n        window.openModal = function(audioUrl, title) {\n    const playerContent = document.getElementById(\"player-content\");\n    \n    \/\/ Find the episode data from allEpisodes based on the audioUrl\n    const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);\n    \n    \/\/ Get the thumbnail from the episode data directly\n    const thumbnail = DEFAULT_IMAGE; \/\/ On utilise maintenant l'image par d\u00e9faut\n    \n    \/\/ Trouve l'index de l'\u00e9pisode actuel\n    currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);\n    \n    playerContent.innerHTML = `\n        <h2>${title}<\/h2>\n        <img decoding=\"async\" src=\"${thumbnail}\" alt=\"Image de l'\u00e9pisode\" style=\"width: 100%; max-width: 300px; margin: 15px 0; border-radius: 10px;\">\n        <audio controls style=\"width: 100%; margin-top: 10px;\" id=\"modal-audio\">\n            <source src=\"${audioUrl}\" type=\"audio\/mpeg\">\n            Votre navigateur ne supporte pas la lecture audio.\n        <\/audio>\n    `;\n    \n    \/\/ Mise \u00e0 jour de la visibilit\u00e9 des boutons de navigation\n    updateNavigationButtons();\n    \n    currentAudioUrl = audioUrl;\n    document.getElementById(\"player-modal\").style.display = \"block\";\n    \n    \/\/ Store current title for fixed player\n    window.currentEpisodeTitle = title;\n    \n    \/\/ Setup audio element for fixed player\n    const modalAudio = document.getElementById('modal-audio');\n    modalAudio.addEventListener('play', () => {\n        window.isPlaying = true;\n    });\n    modalAudio.addEventListener('pause', () => {\n        window.isPlaying = false;\n    });\n}\n\nwindow.navigateEpisode = function(direction) {\n    let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;\n    \n    if (newIndex >= 0 && newIndex < allEpisodes.length) {\n        const episode = allEpisodes[newIndex];\n        openModal(episode.enclosure.link, episode.title);\n    }\n}\n\n    function updateNavigationButtons() {\n        const prevButton = document.getElementById('prev-episode');\n        const nextButton = document.getElementById('next-episode');\n        \n        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';\n        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';\n    }\n\n        window.closeModal = function() {\n            const modalAudio = document.getElementById('modal-audio');\n            const fixedPlayerBar = document.getElementById('fixed-player-bar');\n            const fixedPlayerAudio = document.getElementById('fixed-player-audio');\n            const fixedPlayerTitle = document.getElementById('fixed-player-title');\n            \n            if (window.isPlaying) {\n                \/\/ Pause modal audio first\n                modalAudio.pause();\n                \n                \/\/ Set up fixed player\n                fixedPlayerBar.style.display = 'block';\n                fixedPlayerTitle.textContent = window.currentEpisodeTitle;\n                fixedPlayerAudio.src = currentAudioUrl;\n                fixedPlayerAudio.currentTime = modalAudio.currentTime;\n                fixedPlayerAudio.play();\n            }\n            \n            document.getElementById(\"player-modal\").style.display = \"none\";\n        }\n\n    \/\/ Add close fixed player function\n    window.closeFixedPlayer = function() {\n        const fixedPlayerBar = document.getElementById('fixed-player-bar');\n        const fixedPlayerAudio = document.getElementById('fixed-player-audio');\n        fixedPlayerAudio.pause();\n        fixedPlayerBar.style.display = 'none';\n    }\n\n        window.startChromecast = function() {\n            if (!chrome.cast || !chrome.cast.isAvailable) {\n                console.log('Cast API not available');\n                return;\n            }\n\n            chrome.cast.requestSession(\n                function(session) {\n                    if (currentAudioUrl) {\n                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio\/mpeg');\n                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();\n                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;\n\n                        const request = new chrome.cast.media.LoadRequest(mediaInfo);\n                        session.loadMedia(request).then(\n                            () => console.log('Lecture Chromecast d\u00e9marr\u00e9e'),\n                            errorCode => console.error('Erreur Chromecast: ' + errorCode)\n                        );\n                    }\n                },\n                function(error) {\n                    console.error('Erreur lors de la cr\u00e9ation de la session:', error);\n                }\n            );\n        }\n\n        window.shareOnX = function() {\n            const text = \"\u00c9coutez les podcasts : Poulin sans r\u00e9serve de la chaine Sud Radio avec RadiostreamR !\";\n            const url = window.location.href;\n            window.open(`https:\/\/twitter.com\/intent\/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');\n        };\n\n        window.shareOnWhatsapp = function() {\n            const text = \"\u00c9coutez les podcasts : Poulin sans r\u00e9serve de la chaine Sud Radio avec RadiostreamR !\";\n            const url = window.location.href;\n            window.open(`https:\/\/wa.me\/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');\n        };\n\n        window.shareOnFacebook = function() {\n          const text = \"\u00c9coutez les podcasts : Poulin sans r\u00e9serve de la chaine Sud Radio avec RadiostreamR !\";\n            const url = window.location.href;\n            window.open(`https:\/\/www.facebook.com\/sharer\/sharer.php?u=${encodeURIComponent(url)}`, '_blank');\n        };\n\n        window.shareOnLinkedIn = function() {\n          const text = \"\u00c9coutez les podcasts : Poulin sans r\u00e9serve de la chaine Sud Radio avec RadiostreamR !\";\n            const url = window.location.href;\n            window.open(`https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=${encodeURIComponent(url)}`, '_blank');\n        };\n\n        window.filterAndDisplayEpisodes = function() {\n            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();\n            const filterValue = document.getElementById('podcast-filter').value;\n            \n            \/\/ Filter episodes based on search term\n            filteredEpisodes = allEpisodes.filter(episode => \n                episode.title.toLowerCase().includes(searchTerm) || \n                episode.description.toLowerCase().includes(searchTerm)\n            );\n            \n            \/\/ Sort episodes based on filter value\n            if (filterValue === 'oldest') {\n                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));\n            } else {\n                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));\n            }\n            \n            \/\/ Reset pagination to first page when filtering\n            currentPage = 1;\n            \n            \/\/ Update display\n            if (filteredEpisodes.length > 0) {\n                displayFeaturedEpisode(filteredEpisodes[0]);\n                displayEpisodes(currentPage, filteredEpisodes);\n                setupPagination(filteredEpisodes);\n            } else {\n                \/\/ Handle no results\n                document.getElementById('episode-grid').innerHTML = '<p style=\"color: #fff; text-align: center; grid-column: 1\/-1;\">Aucun r\u00e9sultat trouv\u00e9<\/p>';\n                document.getElementById('page-numbers').innerHTML = '';\n            }\n        }\n    })();\n<\/script>\n<\/div>\n<\/div><\/div><\/body><\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-551c4bf e-con-full e-flex e-con e-parent\" data-id=\"551c4bf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9371460 elementor-widget elementor-widget-shortcode\" data-id=\"9371460\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Poulin sans r\u00e9serve &#8211; \u00c9coutez en rediffusion tous les podcasts Sud Radio Plus r\u00e9centsPlus anciens Publicit\u00e9 \u00c9coutez et t\u00e9l\u00e9chargez \u00ab\u00a0Poulin sans r\u00e9serve\u00a0\u00bb anim\u00e9 par Alexis Poulin sur Sud Radio Voir leur Facebook Voir leur Instagram \u00ab\u00a0Poulin sans r\u00e9serve\u00a0\u00bb est une \u00e9mission phare de Sud Radio anim\u00e9e par Alexis Poulin. Cette \u00e9mission captivante offre un espace [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1139,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"footnotes":""},"categories":[6,9],"tags":[],"class_list":["post-1134","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-podcast","category-sud-radio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\ud83d\udde3\ufe0f Podcast et replay - Alexis Poulain sans r\u00e9serve - Sud Radio<\/title>\n<meta name=\"description\" content=\"\u00c9coutez en streaming Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udde3\ufe0f Podcast et replay - Alexis Poulain sans r\u00e9serve - Sud Radio\" \/>\n<meta property=\"og:description\" content=\"\u00c9coutez en streaming Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/\" \/>\n<meta property=\"og:site_name\" content=\"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-12T14:14:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-12T14:18:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"405\" \/>\n\t<meta property=\"og:image:height\" content=\"405\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/\",\"name\":\"\ud83d\udde3\ufe0f Podcast et replay - Alexis Poulain sans r\u00e9serve - Sud Radio\",\"isPartOf\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp\",\"datePublished\":\"2024-11-12T14:14:49+00:00\",\"dateModified\":\"2024-11-12T14:18:04+00:00\",\"author\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646\"},\"description\":\"\u00c9coutez en streaming Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e !\",\"breadcrumb\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#primaryimage\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp\",\"contentUrl\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp\",\"width\":405,\"height\":405,\"caption\":\"\u00c9coutez Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e et sans compromis.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/radiostreamr.com\/radio-france\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udde3\ufe0f Podcast et replay &#8211; Alexis Poulain sans r\u00e9serve &#8211; Sud Radio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#website\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/\",\"name\":\"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct\",\"description\":\"\u00c9coutez les meilleures stations de radio fran\u00e7aises en direct. Musique, actualit\u00e9s, et \u00e9missions locales - disponibles partout, \u00e0 tout moment.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/radiostreamr.com\/radio-france\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/radiostreamr.com\/radio-france\"],\"url\":\"https:\/\/radiostreamr.com\/radio-france\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udde3\ufe0f Podcast et replay - Alexis Poulain sans r\u00e9serve - Sud Radio","description":"\u00c9coutez en streaming Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e !","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:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/","og_locale":"fr_FR","og_type":"article","og_title":"\ud83d\udde3\ufe0f Podcast et replay - Alexis Poulain sans r\u00e9serve - Sud Radio","og_description":"\u00c9coutez en streaming Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e !","og_url":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/","og_site_name":"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct","article_published_time":"2024-11-12T14:14:49+00:00","article_modified_time":"2024-11-12T14:18:04+00:00","og_image":[{"width":405,"height":405,"url":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/","url":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/","name":"\ud83d\udde3\ufe0f Podcast et replay - Alexis Poulain sans r\u00e9serve - Sud Radio","isPartOf":{"@id":"https:\/\/radiostreamr.com\/radio-france\/#website"},"primaryImageOfPage":{"@id":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#primaryimage"},"image":{"@id":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#primaryimage"},"thumbnailUrl":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp","datePublished":"2024-11-12T14:14:49+00:00","dateModified":"2024-11-12T14:18:04+00:00","author":{"@id":"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646"},"description":"\u00c9coutez en streaming Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e !","breadcrumb":{"@id":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#primaryimage","url":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp","contentUrl":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/POULIN-SANS-RESERVE-podcast.webp","width":405,"height":405,"caption":"\u00c9coutez Alexis Poulain Sans R\u00e9serve sur Sud Radio. Retrouvez tous les podcasts et replays de cette \u00e9mission engag\u00e9e et sans compromis."},{"@type":"BreadcrumbList","@id":"https:\/\/radiostreamr.com\/radio-france\/podcast-poulain-sans-reserve\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/radiostreamr.com\/radio-france\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udde3\ufe0f Podcast et replay &#8211; Alexis Poulain sans r\u00e9serve &#8211; Sud Radio"}]},{"@type":"WebSite","@id":"https:\/\/radiostreamr.com\/radio-france\/#website","url":"https:\/\/radiostreamr.com\/radio-france\/","name":"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct","description":"\u00c9coutez les meilleures stations de radio fran\u00e7aises en direct. Musique, actualit\u00e9s, et \u00e9missions locales - disponibles partout, \u00e0 tout moment.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/radiostreamr.com\/radio-france\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646","name":"admin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/radiostreamr.com\/radio-france"],"url":"https:\/\/radiostreamr.com\/radio-france\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/1134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/comments?post=1134"}],"version-history":[{"count":4,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/1134\/revisions"}],"predecessor-version":[{"id":1140,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/1134\/revisions\/1140"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/media\/1139"}],"wp:attachment":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/media?parent=1134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/categories?post=1134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/tags?post=1134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}