

{"id":253,"date":"2024-10-31T11:15:37","date_gmt":"2024-10-31T10:15:37","guid":{"rendered":"https:\/\/radiostreamr.com\/radio-france\/?p=253"},"modified":"2024-11-03T15:03:38","modified_gmt":"2024-11-03T14:03:38","slug":"ecoutez-en-direct-rtl2","status":"publish","type":"post","link":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/","title":{"rendered":"RTL2 \ud83c\udfb5 &#8211; Ecoutez en direct la Webradio"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"253\" class=\"elementor elementor-253\" 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>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'self' https:; script-src 'self' https: 'unsafe-inline' 'unsafe-eval'; style-src 'self' https: 'unsafe-inline'; img-src 'self' https: data:;\">\n<meta http-equiv=\"X-Frame-Options\" content=\"DENY\">\n<meta http-equiv=\"X-XSS-Protection\" content=\"1; mode=block\">\n<meta http-equiv=\"X-Content-Type-Options\" content=\"nosniff\">\n<meta http-equiv=\"Referrer-Policy\" content=\"strict-origin-when-cross-origin\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@300;400;700&amp;display=swap\" rel=\"stylesheet\">\n<link href=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/css\/select2.min.css\" rel=\"stylesheet\">\n<style>\n  .pacific-web-radios {\n    font-family: 'Roboto', sans-serif;\n    margin: 0;\n    padding: 0;\n    background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);\n    background-size: 400% 400%;\n    animation: gradientBG 15s ease infinite;\n    color: #ffffff;\n    width: 100vw;\n    margin-left: -50vw;\n    left: 50%;\n    position: relative;\n    overflow-x: hidden;\n  }\n  .pacific-web-radios @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  .pacific-web-radios .first-block {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    position: relative;\n    overflow: hidden;\n    min-height: 100vh;\n    padding-bottom: 60px;\n  }\n  .pacific-web-radios .first-block::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background-color: rgba(0, 0, 0, 0.5);\n    z-index: 1;\n  }\n  .pacific-web-radios .background-slideshow {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    z-index: 0;\n  }\n  .pacific-web-radios .slide {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    opacity: 0;\n    transition: opacity 1s ease-in-out;\n    background-size: cover;\n    background-position: center;\n  }\n  .pacific-web-radios .slide.active {\n    opacity: 1;\n  }\n  .pacific-web-radios .first-block-content {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    width: 90%;\n    max-width: 800px;\n    padding: 20px;\n    position: relative;\n    z-index: 2;\n    border-radius: 10px;\n    margin: 0 auto;\n    padding-bottom: 60px;\n  }\n  .pacific-web-radios .content-wrapper {\n    padding-top: 50px;\n    padding-left: 250px;\n    padding-right: 250px;\n    width: 100%;\n    max-width: 100%;\n    margin: 0 auto;\n    box-sizing: border-box;\n  }\n  @media (max-width: 1024px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 40px;\n      padding-right: 40px;\n    }\n  }\n  @media (max-width: 600px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 15px;\n      padding-right: 15px;\n    }\n  }\n  .pacific-web-radios .first-block-content,\n  .pacific-web-radios #results-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 0 auto\n    padding-left: 15px;\n    padding-right: 15px;\n  }\n  .pacific-web-radios .search-and-filter-container {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    width: 100%;\n    flex-wrap: wrap;\n  }\n  .pacific-web-radios #search-container,\n  .pacific-web-radios #category-filter-container {\n    flex: 1;\n    display: flex;\n    justify-content: center;\n    margin: 5px;\n    min-width: 200px;\n  }\n  .pacific-web-radios .select2-container {\n    min-width: 200px !important;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple {\n    background-color: rgba(255, 255, 255, 0.1);\n    border: 2px solid #00ffff;\n    border-radius: 5px;\n    color: #ffffff;\n    padding: 10px;\n    font-size: 1em;\n    height: auto;\n    box-shadow: 0 0 10px #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__rendered,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__rendered {\n    color: #ffffff;\n    line-height: normal;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__arrow {\n    height: 100%;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice {\n    background-color: #00ffff;\n    color: #000;\n    border: none;\n    padding: 5px 10px;\n    border-radius: 15px;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {\n    color: #000;\n    margin-right: 5px;\n  }\n  .pacific-web-radios .select2-container--default .select2-search--inline .select2-search__field {\n    color: #ffffff;\n  }\n  .pacific-web-radios .select2-dropdown {\n    background-color: #2c2c2c;\n    border: 2px solid #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option--highlighted[aria-selected] {\n    background-color: #00ffff;\n    color: #000;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option[aria-selected=true] {\n    background-color: #008080;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {\n    color: #ffffff;\n  }\n  .pacific-web-radios .container {\n    max-width: none;\n    width: 100%;\n    padding: 20px;\n    text-align: center;\n    box-sizing: border-box;\n  }\n  .pacific-web-radios h1 {\n    text-align: center;\n    font-size: 2em;\n    margin-bottom: 20px;\n    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 10px #00ffff, 0 0 20px #00ffff, 0 0 30px #00ffff;\n  }\n  .pacific-web-radios .subtitle {\n    text-align: center;\n    max-width: 800px;\n    margin: 0 auto 20px;\n    font-size: 1em;\n    line-height: 1.5;\n    color: #ffffff;\n  }\n  .pacific-web-radios .results-count {\n    text-align: center;\n    margin: 60px 0 10px;\n    font-size: 1.1em;\n    color: #00ffff;\n  }\n  .pacific-web-radios .category-vignettes-container {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    margin: 20px 0;\n  }\n  .pacific-web-radios .category-vignettes {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n  }\n  .pacific-web-radios .tag-vignette {\n    display: inline-block;\n    background-color: rgba(0, 255, 255, 0.2);\n    color: #00ffff;\n    padding: 5px 10px;\n    margin: 5px;\n    border-radius: 15px;\n    font-size: 14px;\n    cursor: pointer;\n    transition: background-color 0.3s ease;\n  }\n  .pacific-web-radios .tag-vignette:hover {\n    background-color: rgba(0, 255, 255, 0.4);\n  }\n  .pacific-web-radios .tabs {\n    display: flex;\n    justify-content: center;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 10;\n  }\n  .pacific-web-radios .tab {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 5px;\n    padding: 10px 20px;\n    background-color: transparent;\n    border: 2px solid #00ffff;\n    color: #00ffff;\n    cursor: pointer;\n    transition: background-color 0.3s, color 0.3s;\n  }\n  .pacific-web-radios .tab img {\n    width: 20px;\n    height: 20px;\n    filter: invert(1);\n  }\n  .pacific-web-radios .tab:hover, .pacific-web-radios .tab.active {\n    background-color: #00ffff;\n    color: #000;\n  }\n  .pacific-web-radios .tab:hover img, .pacific-web-radios .tab.active img {\n    filter: none;\n  }\n  .pacific-web-radios .tab:first-child {\n    border-top-left-radius: 5px;\n    border-bottom-left-radius: 5px;\n  }\n  .pacific-web-radios .tab:last-child {\n    border-top-right-radius: 5px;\n    border-bottom-right-radius: 5px;\n  }\n  .pacific-web-radios #results-container {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    margin-top: 20px;\n  }\n  .pacific-web-radios .station-card {\n    background-color: rgba(255, 255, 255, 0.1);\n    border-radius: 5px;\n    padding: 15px;\n    margin-bottom: 15px;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n    align-items: center;\n    width: calc(20% - 10px);\n    box-sizing: border-box;\n    border: 1px solid #00ffff;\n    box-shadow: 0 0 10px rgba(0, 255, 255, 0.3);\n    position: relative;\n    overflow: hidden;\n  }\n  .pacific-web-radios .favorite-button {\n    position: absolute;\n    top: 10px;\n    right: 10px;\n    width: 30px;\n    height: 30px;\n    background-color: transparent;\n    border: none;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    background-image: url('https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-10.webp');\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-position: center;\n    transition: transform 0.2s;\n  }\n  .pacific-web-radios .favorite-button.active {\n    background-image: url('https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-11.webp');\n  }\n  .pacific-web-radios .favorite-button img {\n    display: none;\n  }\n  .pacific-web-radios .station-info {\n    width: 100%;\n    display: flex;\n    justify-content: center;\n    margin-bottom: 10px;\n  }\n  .pacific-web-radios .station-logo {\n    width: 80px;\n    height: 80px;\n    border-radius: 50%;\n    object-fit: cover;\n  }\n  .pacific-web-radios .station-details {\n    width: 100%;\n    text-align: center;\n  }\n  .pacific-web-radios .station-details h2 {\n    margin: 10px 0;\n    color: #ffffff;\n    font-size: 1.2em;\n  }\n  .pacific-web-radios .station-details p {\n    margin: 5px 0;\n    font-size: 0.9em;\n  }\n  .pacific-web-radios .play-button {\n    width: 40px;\n    height: 40px;\n    margin-top: 10px;\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50%;\n    cursor: pointer;\n    padding: 0;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    transition: background-color 0.3s ease;\n  }\n  .pacific-web-radios .play-button:hover {\n    background-color: #00cccc;\n  }\n  .pacific-web-radios .play-button img {\n    width: 20px;\n    height: 20px;\n    filter: invert(1);\n  }\n  .pacific-web-radios .search-and-filter-container {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    width: 100%;\n    flex-wrap: wrap;\n  }\n  .pacific-web-radios #search-container {\n    flex: 1;\n    display: flex;\n    justify-content: center;\n    margin-right: 10px;\n    min-width: 200px;\n  }\n  .pacific-web-radios #category-filter-container {\n    flex: 0 0 auto;\n    display: flex;\n    justify-content: center;\n    margin: 5px;\n    min-width: 150px;\n  }\n  .pacific-web-radios #search-input {\n    width: 100%;\n    padding: 10px;\n    font-size: 1em;\n    border: 2px solid #00ffff;\n    border-radius: 5px;\n    background-color: rgba(255, 255, 255, 0.1);\n    color: #ffffff;\n    box-shadow: 0 0 10px #00ffff;\n  }\n  .pacific-web-radios #search-input::placeholder {\n    color: #ffffff;\n  }\n  .pacific-web-radios #search-button {\n    padding: 10px;\n    font-size: 1em;\n    border: none;\n    border-radius: 5px;\n    background-color: #00ffff;\n    color: #000;\n    cursor: pointer;\n    transition: background-color 0.3s ease;\n    box-shadow: 0 0 10px #00ffff;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .pacific-web-radios #search-button img {\n    width: 20px;\n    height: 20px;\n    filter: invert(1);\n  }\n  .pacific-web-radios #search-button:hover {\n    background-color: #00cccc;\n  }\n  .pacific-web-radios .popular-radios-section {\n    margin-top: 40px;\n    background-color: rgba(255, 255, 255, 0.1);\n    border-radius: 10px;\n  }\n  @media (min-width: 1024px) {\n  .popular-radios-section {\n    padding: 50px 250px; \/* 50px pour le haut et le bas, 250px pour la gauche et la droite *\/\n  }\n}\n  @media (min-width: 768px) and (max-width: 1023px) {\n  .popular-radios-section {\n    padding: 35px; \/* 35px pour tous les c\u00f4t\u00e9s (haut, bas, gauche, droite) *\/\n  }\n}\n  @media (max-width: 767px) {\n  .popular-radios-section {\n    padding: 15px; \/* 15px pour tous les c\u00f4t\u00e9s (haut, bas, gauche, droite) *\/\n  }\n}\n  .pacific-web-radios .popular-radios-section h2 {\n    color: #00ffff;\n    font-size: 24px;\n    margin-bottom: 10px;\n  }\n  .pacific-web-radios .popular-radios-section h3 {\n    color: #ffffff;\n    font-size: 18px;\n    margin-bottom: 20px;\n  }\n  .pacific-web-radios #popular-radios-list-france {\n    list-style-type: none;\n    padding: 0;\n  }\n  @media (max-width: 767px) {\n  .pacific-web-radios #popular-radios-list-france {\n    text-align: center; \/* Centre le contenu des cartes *\/\n    justify-content: center; \/* Centre tout contenu flex interne si n\u00e9cessaire *\/\n  }\n}\n  .pacific-web-radios #popular-radios-list-france li {\n    margin-bottom: 10px;\n    padding: 10px;\n    background-color: rgba(0, 255, 255, 0.1);\n    border-radius: 5px;\n    cursor: pointer;\n    transition: background-color 0.3s ease;\n  }\n  .pacific-web-radios #popular-radios-list-france li:hover {\n    background-color: rgba(0, 255, 255, 0.2);\n  }\n  \/* Loading Animation styles *\/\n  .loading-animation {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    background-color: rgba(0, 0, 0, 0.7);\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n    z-index: 9999;\n  }\n  .spinner {\n    width: 50px;\n    height: 50px;\n    border: 5px solid #00ffff;\n    border-top: 5px solid transparent;\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n  }\n  @keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n  }\n  .loading-animation p {\n    margin-top: 20px;\n    color: #00ffff;\n    font-size: 18px;\n  }\n  \/* Modal styles *\/\n  .pacific-web-radios .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.4);\n    backdrop-filter: blur(5px);\n  }\n  .pacific-web-radios .modal-content {\n    background-color: #2c2c2c;\n    padding: 30px;\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 30px rgba(0, 255, 255, 0.5);\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    overflow-y: auto;\n  }\n  .pacific-web-radios .modal-header {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    margin-bottom: 20px;\n  }\n  .pacific-web-radios #station-logo {\n    width: 150px;\n    height: 150px;\n    border-radius: 50%;\n    margin-bottom: 15px;\n    box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);\n  }\n  .pacific-web-radios #station-name {\n    margin-bottom: 5px;\n    color: #00ffff;\n    font-size: 24px;\n  }\n  .pacific-web-radios #station-country {\n    margin-bottom: 10px;\n    color: #ffffff;\n    font-size: 16px;\n  }\n  .pacific-web-radios #station-description {\n    margin-bottom: 15px;\n    color: #cccccc;\n    font-size: 14px;\n  }\n  .pacific-web-radios #station-tags {\n    margin-bottom: 10px;\n  }\n  .pacific-web-radios .tag-vignette {\n    display: inline-block;\n    background-color: rgba(0, 255, 255, 0.2);\n    color: #00ffff;\n    padding: 5px 10px;\n    margin: 2px;\n    border-radius: 15px;\n    font-size: 12px;\n    cursor: pointer;\n  }\n  .pacific-web-radios #station-info {\n    display: flex;\n    justify-content: center;\n    gap: 15px;\n    margin-bottom: 20px;\n    color: #00ffff;\n    font-size: 14px;\n  }\n  .pacific-web-radios #audio-controls {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    gap: 20px;\n  }\n  .pacific-web-radios .control-button {\n    width: 50px;\n    height: 50px;\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50%;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    transition: background-color 0.3s ease, transform 0.1s ease;\n  }\n  .pacific-web-radios .control-button:hover {\n    background-color: #00cccc;\n    transform: scale(1.1);\n  }\n  .pacific-web-radios .control-button img {\n    width: 25px;\n    height: 25px;\n    filter: invert(1);\n  }\n  .pacific-web-radios #volume-slider {\n    width: 120px;\n    accent-color: #00ffff;\n  }\n  .pacific-web-radios .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  .pacific-web-radios .close:hover {\n    color: #00cccc;\n  }\n  \/* Select2 Styles *\/\n  .pacific-web-radios .select2-container {\n    min-width: 200px !important;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple {\n    background-color: rgba(255, 255, 255, 0.1);\n    border: 2px solid #00ffff;\n    border-radius: 5px;\n    color: #ffffff;\n    padding: 10px;\n    font-size: 1em;\n    height: auto;\n    box-shadow: 0 0 10px #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__rendered,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__rendered {\n    color: #ffffff;\n    line-height: normal;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__arrow {\n    height: 100%;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice {\n    background-color: #00ffff;\n    color: #000;\n    border: none;\n    padding: 5px 10px;\n    border-radius: 15px;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {\n    color: #000;\n    margin-right: 5px;\n  }\n  .pacific-web-radios .select2-container--default .select2-search--inline .select2-search__field {\n    color: #ffffff;\n  }\n  .pacific-web-radios .select2-dropdown {\n    background-color: #2c2c2c;\n    border: 2px solid #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option--highlighted[aria-selected] {\n    background-color: #00ffff;\n    color: #000;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option[aria-selected=true] {\n    background-color: #008080;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {\n    color: #ffffff;\n  }\n  \/* Pagination styles *\/\n  .pacific-web-radios .pagination {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    margin-top: 20px;\n    margin-bottom: 50px;\n  }\n  .pacific-web-radios .round-button {\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    background-color: transparent;\n    border: 2px solid #00ffff;\n    color: #00ffff;\n    font-size: 16px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    cursor: pointer;\n    margin: 0 5px;\n    transition: all 0.3s ease;\n    box-shadow: 0 0 10px rgba(0, 255, 255, 0.3);\n  }\n  .pacific-web-radios .round-button:hover {\n    background-color: #00ffff;\n  }\n  .pacific-web-radios .round-button:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n  }\n  .pacific-web-radios #page-numbers {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n  }\n  .pacific-web-radios .page-number {\n    width: 30px;\n    height: 30px;\n    border-radius: 50%;\n    background-color: transparent;\n    border: 2px solid #00ffff;\n    color: #00ffff;\n    font-size: 14px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    cursor: pointer;\n    margin: 0 3px;\n    transition: all 0.4s ease;\n  }\n  .pacific-web-radios .page-number.active {\n    background-color: #00ffff;\n    color: #000;\n  }\n  \/* Update the existing media queries for mobile *\/\n  @media (max-width: 600px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 15px;\n      padding-right: 15px;\n      width: 100%;\n      box-sizing: border-box;\n    }\n    .pacific-web-radios .first-block-content,\n    .pacific-web-radios #results-container {\n      width: 100%;\n      padding-left: 15px;\n      padding-right: 15px;\n    }\n    .pacific-web-radios .station-card {\n      width: calc(100% - 30px);\n      margin-left: auto;\n      margin-right: auto;\n    }\n    .pacific-web-radios .search-and-filter-container {\n      flex-direction: column;\n      align-items: stretch;\n    }\n    .pacific-web-radios #search-container,\n    .pacific-web-radios #category-filter-container {\n      width: 100%;\n      margin: 5px 0;\n    }\n    .pacific-web-radios .select2-container {\n      width: 100% !important;\n    }\n  }\n  \/* Add a new media query for very small screens *\/\n  @media (max-width: 480px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 10px;\n      padding-right: 10px;\n    }\n    .pacific-web-radios .first-block-content {\n      padding: 10px;\n    }\n    .pacific-web-radios .station-card {\n      width: calc(100% - 20px);\n      padding: 10px;\n    }\n  }\n  \/* Add this new CSS rule for the country flag *\/\n  .pacific-web-radios .country-flag {\n    width: 20px;\n    height: 15px;\n    object-fit: contain;\n    margin-right: 5px;\n    vertical-align: middle;\n  }\n  .pacific-web-radios .favorite-button img,\n  .pacific-web-radios .round-button img {\n    width: 20px;\n    height: 20px;\n    filter: invert(48%) sepia(94%) saturate(456%) hue-rotate(140deg) brightness(101%) contrast(101%);\n  }\n  .pacific-web-radios .favorite-button.active img {\n    filter: none;\n  }\n  .pacific-web-radios .round-button:disabled img {\n    opacity: 0.5;\n  }\n  .pacific-web-radios #chromecast-button {\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50%;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    transition: background-color 0.3s ease, transform 0.1s ease;\n    width: 50px;\n    height: 50px;\n  }\n  .pacific-web-radios #chromecast-button:hover {\n    background-color: #00cccc;\n    transform: scale(1.1);\n  }\n  .pacific-web-radios #chromecast-button img {\n    width: 25px;\n    height: 25px;\n    filter: invert(1);\n  }\n  @keyframes zoomInOut {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.1); }\n  }\n  .background-slideshow .slide {\n    animation: zoomInOut 20s ease-in-out infinite;\n  }\n  .background-slideshow .slide:nth-child(2) {\n    animation-delay: -6.66s;\n  }\n  .background-slideshow .slide:nth-child(3) {\n    animation-delay: -13.33s;\n  }\n  .radio-presentation {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 2rem;\n    margin: 2rem 0;\n  }\n\n  .main-radio-logo {\n    width: 200px;\n    height: 200px;\n    border-radius: 50%;\n    box-shadow: 0 0 30px rgba(0, 255, 255, 0.5);\n  }\n\n  .play-button-large {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    padding: 1rem 2rem;\n    font-size: 1.2rem;\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50px;\n    color: #000;\n    cursor: pointer;\n    transition: all 0.3s ease;\n  }\n\n  .play-button-large:hover {\n    background-color: #00cccc;\n    transform: scale(1.05);\n  }\n\n  .play-button-large img {\n    width: 24px;\n    height: 24px;\n    filter: invert(1);\n  }\n\n  .radio-history, .popular-shows {\n    margin: 4rem 0;\n    padding: 2rem;\n    background-color: rgba(0, 255, 255, 0.1);\n    border-radius: 10px;\n    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);\n  }\n\n  .shows-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n    gap: 2rem;\n    margin-top: 2rem;\n  }\n\n  .show-card {\n    padding: 1.5rem;\n    background-color: rgba(0, 0, 0, 0.3);\n    border: 1px solid #00ffff;\n    border-radius: 10px;\n    transition: all 0.3s ease;\n  }\n\n  .show-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.3);\n  }\n\n  .show-card h3 {\n    color: #00ffff;\n    margin-bottom: 0.5rem;\n  }\n\n  .show-card p {\n    color: #ffffff;\n    margin: 0.5rem 0;\n  }\n<\/style>\n<script src=\"https:\/\/www.gstatic.com\/cv\/js\/sender\/v1\/cast_sender.js?loadCastFramework=1\"><\/script>\n<\/head>\n<body>\n  <div class=\"pacific-web-radios\">\n    <div id=\"player-modal\" class=\"modal\">\n      <div class=\"modal-content\">\n  <span class=\"close\">\u00d7<\/span>\n  <div class=\"modal-header\">\n    <img decoding=\"async\" id=\"station-logo\" src=\"\" alt=\"Logo de la station\" class=\"station-logo\">\n    <h2 id=\"station-name\"><\/h2>\n    <p id=\"station-country\"><\/p>\n  <\/div>\n  <div id=\"station-info\">\n    <span id=\"station-tags\"><\/span>\n  <\/div>\n\n  <div id=\"audio-controls\">\n    <button id=\"play-pause\" class=\"control-button\">\n      <img decoding=\"async\" src=\"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-16.webp\" alt=\"Ic\u00f4ne de lecture\">\n    <\/button>\n    <input type=\"range\" id=\"volume-slider\" min=\"0\" max=\"1\" step=\"0.1\" value=\"1\">\n    <button id=\"chromecast-button\" class=\"control-button\">\n      <img decoding=\"async\" src=\"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-20.webp\" alt=\"Ic\u00f4ne Chromecast\" style=\"width: 16px; height: 16px;\">\n    <\/button>\n  <\/div>\n\n  <!-- Grille des programmes d\u00e9plac\u00e9e en derni\u00e8re position -->\n  <div class=\"program-grid\" style=\"margin-top: 20px; text-align: left; background: rgba(0,0,0,0.3); padding: 20px; border-radius: 10px;\">\n  <h3 style=\"color: #00ffff; text-align: center; margin-bottom: 15px;\">Grille des programmes<\/h3>\n  \n  <select id=\"day-selector\" style=\"width: 100%; padding: 10px; margin-bottom: 20px; background: rgba(255,255,255,0.9); color: black; border: 2px solid #00ffff; border-radius: 5px; cursor: pointer;\">\n    <option value=\"monday\">Lundi<\/option>\n    <option value=\"tuesday\">Mardi<\/option>\n    <option value=\"wednesday\">Mercredi<\/option>\n    <option value=\"thursday\">Jeudi<\/option>\n    <option value=\"friday\">Vendredi<\/option>\n    <option value=\"saturday\">Samedi<\/option>\n    <option value=\"sunday\">Dimanche<\/option>\n  <\/select>\n\n  <div id=\"schedule-content\" style=\"transition: opacity 0.3s ease;\">\n    <!-- Programme de la semaine -->\n    <div class=\"schedule\" data-days=\"monday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">00:00 - 06:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Lionel Guillaume<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">06:00 - 09:00<\/span>\n    <span style=\"color: #fff;\">Le Double Expresso RTL2 - Gr\u00e9gory Ascher &amp; Justine Salmon<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">09:00 - 12:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - K\u00e9vin Ollivier<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">12:00 - 16:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Pascal Langlois<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">16:00 - 19:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Carole Vega<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Party - Alexis &amp; Loran &amp; RLP<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Alexis<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">22:00 - 00:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Station - Francis Z\u00e9gut<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme de mardi \u00e0 jeudi -->\n<div class=\"schedule\" data-days=\"tuesday,wednesday,thursday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">00:00 - 06:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Thomas Debono<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">06:00 - 09:00<\/span>\n    <span style=\"color: #fff;\">Le Double Expresso RTL2 - Gr\u00e9gory Ascher &amp; Justine Salmon<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">09:00 - 12:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - K\u00e9vin Ollivier<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">12:00 - 16:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Pascal Langlois<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">16:00 - 19:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Carole Vega<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Party - Alexis &amp; Loran &amp; RLP<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Alexis<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">22:00 - 00:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Station - Francis Z\u00e9gut<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme du vendredi -->\n<div class=\"schedule\" data-days=\"friday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">00:00 - 06:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Thomas Debono<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">06:00 - 09:00<\/span>\n    <span style=\"color: #fff;\">Le Double Expresso RTL2 - Gr\u00e9gory Ascher &amp; Justine Salmon<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">09:00 - 12:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - K\u00e9vin Ollivier<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">12:00 - 16:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Pascal Langlois<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">16:00 - 19:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Carole Vega<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Party - Alexis &amp; Loran &amp; RLP<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 21:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Alexis<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">21:00 - 23:00<\/span>\n    <span style=\"color: #fff;\">Indochine en Concert - Alexis &amp; Mike<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">23:00 - 00:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Party - Mike &amp; RLP<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme du samedi -->\n<div class=\"schedule\" data-days=\"saturday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">00:00 - 01:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Party - Mike &amp; RLP<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">01:00 - 06:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Lionel Guillaume<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">06:00 - 10:00<\/span>\n    <span style=\"color: #fff;\">L'Expresso du Week-end - Sylvain Alexis<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">10:00 - 15:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Christian Allaert<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">15:00 - 19:00<\/span>\n    <span style=\"color: #fff;\">Le Son Pop-Rock - Yann Fontaine<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock List - Mike<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Made in France - Mike<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">22:00 - 00:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Party - Loran &amp; Mike<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme du dimanche -->\n<div class=\"schedule\" data-days=\"sunday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">00:00 - 01:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Party - Loran &amp; Mike<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">01:00 - 06:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Lionel Guillaume<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">06:00 - 10:00<\/span>\n    <span style=\"color: #fff;\">L'Expresso du Week-end - Sylvain Alexis<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">10:00 - 12:00<\/span>\n    <span style=\"color: #fff;\">Le Son Pop-Rock - Sylvain Alexis<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">12:00 - 18:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Yann Fontaine<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">18:00 - 19:00<\/span>\n    <span style=\"color: #fff;\">Le son Pop-Rock - Mike<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Pop-Rock Story - St\u00e9phanie Renouvin<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">RTL2 Made in France - Mike<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">22:00 - 00:00<\/span>\n    <span style=\"color: #fff;\">Le Son Pop-Rock - Mike<\/span>\n<\/div>\n<\/div>\n  <\/div>\n\n  <script>\n    document.addEventListener('DOMContentLoaded', function() {\n      const daySelector = document.getElementById('day-selector');\n      const schedules = document.querySelectorAll('.schedule');\n      \n      \/\/ Fonction pour obtenir le jour actuel en anglais\n      function getCurrentDay() {\n        const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];\n        const today = new Date().getDay();\n        return days[today];\n      }\n      \n      \/\/ Fonction pour afficher le programme du jour s\u00e9lectionn\u00e9\n      function showSchedule(selectedDay) {\n        schedules.forEach(schedule => {\n          const days = schedule.getAttribute('data-days').split(',');\n          if (days.includes(selectedDay)) {\n            schedule.style.display = 'block';\n          } else {\n            schedule.style.display = 'none';\n          }\n        });\n      }\n      \n      \/\/ D\u00e9finir le jour actuel comme valeur par d\u00e9faut\n      const currentDay = getCurrentDay();\n      daySelector.value = currentDay;\n      \n      \/\/ Afficher le programme du jour actuel au chargement\n      showSchedule(currentDay);\n      \n      \/\/ \u00c9couter les changements de s\u00e9lection\n      daySelector.addEventListener('change', function() {\n        showSchedule(this.value);\n      });\n    });\n  <\/script>\n<\/div>\n<\/div>\n    <\/div>\n    <div class=\"first-block\">\n  <div class=\"background-slideshow\">\n    <div class=\"slide active\" style=\"background-image: url('https:\/\/images.rtl.fr\/~c\/1200v800\/rtl2\/www\/1553500-le-double-expresso-rtl2-avec-juliette-armanet-a-lille.jpg');\"><\/div>\n    <div class=\"slide\" style=\"background-image: url('https:\/\/images.rtl.fr\/~c\/770v513\/rtl2\/www\/983641-l-equipe-du-double-expresso.jpeg');\"><\/div>\n    <div class=\"slide\" style=\"background-image: url('https:\/\/static.actu.fr\/uploads\/2023\/04\/double-expresso-rtl2-960x640.jpg');\"><\/div>\n  <\/div>\n  <div class=\"content-wrapper\" style=\"@media (max-width: 767px) { padding-left: 15px; padding-right: 15px; }\">\n    <div class=\"first-block-content\">\n      <h1>\u00c9couter radio en ligne RTL2 en direct gratuitement<\/h1>\n      <div class=\"radio-presentation\">\n  <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/thumb\/f\/fa\/RTL2_logo_2015.svg\/2048px-RTL2_logo_2015.svg.png\" alt=\"Logo RTL\" class=\"main-radio-logo\">\n\n  <button id=\"listen-live\" class=\"play-button-large\" style=\"animation: vibrate 1s infinite;\">\n    <img decoding=\"async\" src=\"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-16.webp\" alt=\"\u00c9couter en direct\">\n    \u00c9couter en direct\n  <\/button>\n  \n  <div class=\"social-share-buttons\" style=\"display: flex; gap: 15px; margin: 20px 0;\">\n    <!-- X (Twitter) -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/twitter.com\/intent\/tweet?text=' + encodeURIComponent('Je suis en train d\\'\u00e9couter RTL2 en direct ! La radio pop-rock par excellence \ud83c\udfb8\ud83c\udfb5 #RTL2 #PopRock') + '&amp;url=' + encodeURIComponent(window.location.href), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #000; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur X (Twitter)\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\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    <\/a>\n\n    <!-- WhatsApp -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/api.whatsapp.com\/send?text=' + encodeURIComponent('D\u00e9couvrez RTL2, la radio pop-rock qui fait vibrer la France ! \ud83c\udfb8 Le meilleur du rock et de la pop 24h\/24 : ' + window.location.href), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #25D366; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur WhatsApp\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\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.297-.347.446-.52.151-.174.2-.298.3-.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    <\/a>\n\n    <!-- Facebook -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/www.facebook.com\/sharer\/sharer.php?u=' + encodeURIComponent(window.location.href) + '&amp;quote=' + encodeURIComponent('Rejoignez RTL2, la radio pop-rock de r\u00e9f\u00e9rence ! \ud83c\udfb8 Vibrez au rythme des meilleurs tubes rock et pop avec Le Double Expresso RTL2, Pop-Rock Station et toutes vos \u00e9missions pr\u00e9f\u00e9r\u00e9es.'), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #1877F2; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur Facebook\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\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    <\/a>\n\n    <!-- LinkedIn -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=' + encodeURIComponent(window.location.href) + '&amp;title=' + encodeURIComponent('RTL2 - La radio pop-rock de r\u00e9f\u00e9rence') + '&amp;summary=' + encodeURIComponent('D\u00e9couvrez RTL2, votre destination pop-rock incontournable ! Plus de 2,5 millions d\\'auditeurs vibrent chaque jour au rythme des meilleurs titres rock et pop.'), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #0A66C2; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur LinkedIn\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\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    <\/a>\n  <\/div>\n\n  <img decoding=\"async\" src=\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/radio-online-chromecast.webp\" alt=\"Radio Online Chromecast\" style=\"height: 90px; margin: 10px 0;\">\n<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n    <div class=\"content-wrapper\">\n      <section class=\"radio-history\" style=\"text-align: center; padding: 40px; margin: 40px auto;\">\n  <h2 style=\"color: #00ffff; font-size: 2.5em; margin-bottom: 30px; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5); @media (max-width: 767px) { font-size: 25px; }\">RTL2 : Plus de 25 ans d'excellence pop rock en France<\/h2>\n\n  <!-- Boutons r\u00e9seaux sociaux conserv\u00e9s -->\n  <div style=\"display: flex; justify-content: center; gap: 20px; margin-bottom: 30px; flex-wrap: wrap;\">\n    <div style=\"display: inline-block; padding: 15px 30px; border: 2px solid #00ffff; border-radius: 10px; background-color: rgba(0, 255, 255, 0.1); box-shadow: 0 0 20px rgba(0, 255, 255, 0.5); margin-bottom: 30px;\">\n      <span style=\"font-size: 24px; color: #00ffff;\">Audience quotidienne moyenne<\/span>\n      <div style=\"font-size: 36px; font-weight: bold; color: #ffffff; margin-top: 10px;\">2.5 millions<\/div>\n    <\/div>\n  <\/div>\n\n  <div style=\"display: flex; justify-content: center; gap: 20px; margin: 20px 0;\">\n    <div style=\"display: inline-block; padding: 25px; border: 2px solid #00ffff; border-radius: 50%; background-color: rgba(0, 255, 255, 0.1); box-shadow: 0 0 20px rgba(0, 255, 255, 0.5); width: 150px; height: 150px; display: flex; flex-direction: column; justify-content: center; align-items: center;\">\n      <span style=\"font-size: 18px; color: #00ffff; margin-bottom: 5px;\">Cr\u00e9ation<\/span>\n      <strong style=\"font-size: 28px; color: #ffffff;\">1995<\/strong>\n    <\/div>\n    \n    <div style=\"display: inline-block; padding: 25px; border: 2px solid #00ffff; border-radius: 50%; background-color: rgba(0, 255, 255, 0.1); box-shadow: 0 0 20px rgba(0, 255, 255, 0.5); width: 150px; height: 150px; display: flex; flex-direction: column; justify-content: center; align-items: center;\">\n      <span style=\"font-size: 18px; color: #00ffff; margin-bottom: 5px;\">Fr\u00e9quence FM<\/span>\n      <strong style=\"font-size: 28px; color: #ffffff;\">105.9 MHz<\/strong>\n    <\/div>\n  <\/div>\n\n  <div style=\"display: flex; flex-wrap: wrap; gap: 30px; margin: 20px auto; max-width: 100%; padding: 20px 0;\">\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n  <div style=\"display: flex; justify-content: center; margin-bottom: 15px;\">\n    <svg width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"#00ffff\">\n      <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-14h2v7h-2zm0 8h2v2h-2z\"><\/path>\n    <\/svg>\n  <\/div>\n  <h3 style=\"color: #00ffff; margin-bottom: 15px;\">1995-2000 : La naissance d'une l\u00e9gende pop rock<\/h3>\n  <p>RTL2 fait ses d\u00e9buts comme radio pop rock nationale, apportant un nouveau souffle dans le paysage radiophonique fran\u00e7ais. La station se distingue rapidement par sa programmation musicale unique, alternant les grands classiques du rock et les nouveaut\u00e9s pop les plus percutantes, attirant ainsi un public passionn\u00e9 de musique authentique.<\/p>\n<\/div>\n\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n      <div style=\"display: flex; justify-content: center; margin-bottom: 15px;\">\n        <svg width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"#00ffff\">\n          <path d=\"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3h-6zm-2 16c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"><\/path>\n        <\/svg>\n      <\/div>\n      <h3 style=\"color: #00ffff; margin-bottom: 15px;\">2000-2010 : L'\u00e2ge d'or du Pop Rock<\/h3>\n      <p>RTL2 s'impose comme la r\u00e9f\u00e9rence pop rock en France. La station d\u00e9veloppe des concepts novateurs comme le \"RTL2 Pop-Rock Studio\" et le \"RTL2 Made In France\", mettant en valeur les talents fran\u00e7ais et internationaux. Ces ann\u00e9es voient na\u00eetre des \u00e9missions embl\u00e9matiques qui fa\u00e7onnent l'identit\u00e9 unique de la radio.<\/p>\n    <\/div>\n\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n      <div style=\"display: flex; justify-content: center; margin-bottom: 15px;\">\n        <svg width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"#00ffff\">\n          <path d=\"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z\"><\/path>\n        <\/svg>\n      <\/div>\n      <h3 style=\"color: #00ffff; margin-bottom: 15px;\">2010-2020 : L'innovation digitale<\/h3>\n      <p>RTL2 embrasse la r\u00e9volution num\u00e9rique en d\u00e9veloppant une pr\u00e9sence forte sur le web et les r\u00e9seaux sociaux. Le lancement de rtl2.fr et de l'application mobile permet aux auditeurs d'acc\u00e9der \u00e0 leurs contenus pr\u00e9f\u00e9r\u00e9s en tout temps. Les sessions acoustiques exclusives et les interviews d'artistes enrichissent l'exp\u00e9rience RTL2.<\/p>\n<\/div>\n\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n  <div style=\"display: flex; justify-content: center; margin-bottom: 15px;\">\n    <svg width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"#00ffff\">\n      <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-4h2v-2h-2v2zm0-4h2V7h-2v5z\"><\/path>\n      <path d=\"M15 8.5c0-1.93-1.57-3.5-3.5-3.5S8 6.57 8 8.5c0 1.93 1.57 3.5 3.5 3.5s3.5-1.57 3.5-3.5zm-3.5 1.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"><\/path>\n    <\/svg>\n  <\/div>\n  <h3 style=\"color: #00ffff; margin-bottom: 15px;\">2020-aujourd'hui : Leader multi-plateformes<\/h3>\n  <p>Avec plus de 2.5 millions d'auditeurs quotidiens, RTL2 confirme sa position de leader dans l'univers pop rock. La matinale \"Le Double Expresso RTL2\" avec Gr\u00e9gory Ascher et Sandy Hereribout s'impose comme un rendez-vous incontournable. La station continue d'innover avec des \u00e9v\u00e9nements live comme \"RTL2 Pop Rock Live\" et une programmation musicale toujours plus pointue.<\/p>\n<\/div>\n  <\/div>\n<\/section>\n\n      <section class=\"popular-shows\">\n  <h2 style=\"text-align: center;\">Les \u00e9missions phares de RTL2<\/h2>\n  <div class=\"shows-grid\">\n    <div class=\"show-card\" style=\"text-align: center;\">\n      <div style=\"text-align: center;\">\n  <img decoding=\"async\" src=\"https:\/\/images.rtl.fr\/~c\/1200v800\/rtl2\/www\/1622243-gregory-ascher-justine-salmon-le-double-expresso-rtl2.jpg\" alt=\"Le Double Expresso RTL2\" style=\"width: 120px; height: 120px; border-radius: 50%; margin-bottom: 15px; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); display: inline-block;\">\n<\/div>\n      <h3 style=\"text-align: center;\">Le Double Expresso RTL2<\/h3>\n      <p style=\"text-align: center;\"><strong>Du lundi au vendredi, 6h-9h30<\/strong><\/p>\n      <p style=\"text-align: center;\">R\u00e9veillez-vous en musique avec Gr\u00e9gory Ascher et Sandy Hereribout ! La matinale la plus rythm\u00e9e de la FM vous accompagne avec les meilleurs tubes pop rock et de l'humour. Plus d'1 million d'auditeurs chaque matin choisissent Le Double Expresso RTL2 pour d\u00e9marrer leur journ\u00e9e dans la bonne humeur.<\/p>\n    <\/div>\n\n    <div class=\"show-card\" style=\"text-align: center;\">\n      <div style=\"text-align: center;\">\n  <img decoding=\"async\" src=\"https:\/\/static.audiomeans.fr\/img\/episode\/33473cc1-f34c-4992-9fd2-6d4f1155e34d_400x400.jpg\" alt=\"RTL2 Pop-Rock Station\" style=\"width: 120px; height: 120px; border-radius: 50%; margin-bottom: 15px; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); display: inline-block;\">\n<\/div>\n      <h3 style=\"text-align: center;\">RTL2 Pop-Rock Station<\/h3>\n      <p style=\"text-align: center;\"><strong>Du lundi au vendredi, 16h-20h<\/strong><\/p>\n      <p style=\"text-align: center;\">Francis Z\u00e9gut vous fait d\u00e9couvrir le meilleur de la musique pop rock ! Une s\u00e9lection pointue des nouveaut\u00e9s et des classiques intemporels, des interviews exclusives d'artistes et des sessions acoustiques uniques. RTL2 Pop-Rock Station est le rendez-vous incontournable des amateurs de vraie musique.<\/p>\n    <\/div>\n\n    <div class=\"show-card\" style=\"text-align: center;\">\n      <div style=\"text-align: center;\">\n  <img decoding=\"async\" src=\"https:\/\/ivyfm.s3.amazonaws.com\/i320\/312782.jpg\" alt=\"RTL2 Made In France\" style=\"width: 120px; height: 120px; border-radius: 50%; margin-bottom: 15px; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); display: inline-block;\">\n<\/div>\n      <h3 style=\"text-align: center;\">RTL2 Made In France<\/h3>\n      <p style=\"text-align: center;\"><strong>Du lundi au vendredi, 20h-22h<\/strong><\/p>\n      <p style=\"text-align: center;\">Eric Jean-Jean met \u00e0 l'honneur la sc\u00e8ne fran\u00e7aise ! D\u00e9couvrez les talents \u00e9mergents et retrouvez les plus grands noms de la pop et du rock hexagonal. RTL2 Made In France est la vitrine du meilleur de la production musicale fran\u00e7aise, avec des sessions live exclusives et des interviews en profondeur des artistes qui font vibrer la sc\u00e8ne nationale.<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"presenter-profile\" style=\"padding: 40px 0; background-color: rgba(0, 255, 255, 0.1); margin-top: 40px; border-radius: 10px;\">\n  <h2 style=\"text-align: center; color: #00ffff; margin-bottom: 30px;\">Francis Z\u00e9gut : La voix l\u00e9gendaire du rock sur RTL2<\/h2>\n  <div style=\"display: flex; gap: 30px; padding: 0 20px; flex-wrap: wrap; justify-content: center; align-items: center;\">\n    <img decoding=\"async\" src=\"https:\/\/images.rtl.fr\/~c\/770v513\/rtl2\/www\/944837-francis-zegut.jpg\" alt=\"Francis Z\u00e9gut Portrait\" style=\"width: 200px; height: 200px; border-radius: 50%; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);\">\n    <div style=\"flex: 1; min-width: 300px; max-width: 600px;\">\n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify; margin-bottom: 15px;\">\n        Francis Z\u00e9gut, figure embl\u00e9matique de RTL2, anime depuis plus de 30 ans l'\u00e9mission culte \"RTL2 Pop Rock Station\". V\u00e9ritable encyclop\u00e9die vivante du rock, il partage quotidiennement sa passion et son expertise musicale avec des milliers d'auditeurs fid\u00e8les qui \u00e9coutent RTL2 en direct.\n      <\/p>\n      \n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify; margin-bottom: 15px;\">\n        Sa voix rocailleuse et son style inimitable ont fait de lui une r\u00e9f\u00e9rence incontournable dans l'univers du rock fran\u00e7ais. Chaque soir de 20h \u00e0 minuit sur RTL2 en ligne, Francis Z\u00e9gut propose une s\u00e9lection pointue des meilleurs morceaux rock, alternant nouveaut\u00e9s et classiques intemporels avec un talent de programmateur unanimement reconnu.\n      <\/p>\n\n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify; margin-bottom: 15px;\">\n        \"Pop Rock Station\" est devenue au fil des ann\u00e9es une institution de la radio rock en France. Les sessions live exclusives et les interviews approfondies d'artistes internationaux font de cette \u00e9mission un rendez-vous incontournable pour tous les amateurs de rock qui souhaitent \u00e9couter RTL2 gratuitement.\n      <\/p>\n\n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify;\">\n        Passionn\u00e9 et exigeant, Francis Z\u00e9gut a contribu\u00e9 \u00e0 faire d\u00e9couvrir de nombreux artistes au public fran\u00e7ais. Son \u00e9mission sur RTL2 direct reste une r\u00e9f\u00e9rence en mati\u00e8re de programmation musicale rock, avec un savant m\u00e9lange entre d\u00e9couvertes et tubes mythiques qui fait le succ\u00e8s de RTL2 France depuis des d\u00e9cennies. Disponible \u00e9galement en RTL2 replay, \"Pop Rock Station\" continue d'attirer de nouveaux auditeurs gr\u00e2ce \u00e0 sa qualit\u00e9 \u00e9ditoriale et l'expertise incomparable de son animateur.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/section>\n    <\/div>\n\n    <div id=\"loading-animation\" class=\"loading-animation\" style=\"display: none;\">\n      <div class=\"spinner\"><\/div>\n      <p>Chargement des stations de radio...<\/p>\n    <\/div>\n    \n    <div class=\"popular-radios-section\" style=\" box-sizing: border-box;\">\n      <h2 style=\"text-align: center;\">Stations de radio similaires en France<\/h2>\n      <h3 style=\"text-align: center; display: flex; justify-content: center; align-items: center;\">\nD\u00e9couvrez d'autres radios d'information\n<\/h3>\n      <ul id=\"popular-radios-list-france\" style=\"list-style-type: none; padding: 0;\">\n        <li style=\"margin-bottom: 10px; padding: 10px; background-color: rgba(0, 255, 255, 0.1); border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease;\">\n          <img decoding=\"async\" src=\"path-to-logo.png\" alt=\"Radio Logo\" style=\"width: 65px; height: 65px; margin-right: 10px; border-radius: 50%; vertical-align: middle; box-shadow: 0 0 15px #00ffff;\">\n          <span style=\"text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff; font-size: 1.5em;\">Nom de la radio<\/span>\n          <p class=\"radio-description\" style=\"margin-top: 5px; color: #cccccc;\">Description de la radio<\/p>\n        <\/li>\n      <\/ul>\n      <style>\n        #popular-radios-list-france li img {\n          width: 65px !important;\n          height: 65px !important;\n        }\n        #popular-radios-list-france li span {\n          text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff;\n          font-weight: 500;\n          font-size: 1.5em;\n        }\n      <\/style>\n      <script>\n        function fetchPopularRadios() {\n          const popularRadiosFrance = [\n            { \n              name: \"OUI FM\", \n          url: \"https:\/\/ouifm.ice.infomaniak.ch\/ouifm-high.mp3\",\n          description: \"OUI FM est la radio rock par excellence, id\u00e9ale pour les fans de rock, indie et musique alternative. Sa programmation, soigneusement s\u00e9lectionn\u00e9e, propose les plus grands classiques ainsi que des artistes \u00e9mergents. Connue pour ses d\u00e9couvertes musicales, OUI FM s\u00e9duit tous les passionn\u00e9s. Avec des \u00e9missions anim\u00e9es par des experts, elle offre une exp\u00e9rience unique et authentique. Que vous aimiez le rock alternatif, le punk ou le grunge, OUI FM vous accompagne avec des morceaux puissants et une ambiance rock unique. \u00c9coutez OUI FM pour profiter d'une s\u00e9lection musicale riche et intense.\",\n          favicon: \"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcRdqgUwgBX2xszM5cLKFOb3mTmNGOrdIF3SQg&s\",\n              isWebRadio: true\n            },\n            { \n              name: \"Lovely\", \n          url: \"https:\/\/lovely.ice.infomaniak.ch\/lovely-128.mp3\",\n          description: \"Lovely est la radio parfaite pour les amoureux des chansons douces et des ballades romantiques. Sp\u00e9cialis\u00e9e dans les musiques d'amour, elle diffuse une s\u00e9lection de titres fran\u00e7ais et internationaux, id\u00e9ale pour cr\u00e9er une ambiance tendre et apaisante. Que vous recherchiez une atmosph\u00e8re romantique ou un moment de d\u00e9tente, Lovely vous accompagne avec les plus belles chansons d'amour. \u00c9coutez Lovely pour profiter d'une programmation musicale \u00e9motive et sereine, qui saura toucher le c\u0153ur des auditeurs.\",\n          favicon: \"https:\/\/pacific-webtools.com\/web-extractor\/wp-content\/uploads\/2024\/10\/lovely-radio-ogo.webp\",\n              isWebRadio: true\n            },\n            { \n              name: \"Radio Nova\", \n          url: \"https:\/\/novazz.ice.infomaniak.ch\/novazz-128.mp3\",\n          description: \"Nova est une radio \u00e9clectique qui offre une programmation musicale vari\u00e9e, id\u00e9ale pour les amateurs de diversit\u00e9 sonore. Alliant jazz, \u00e9lectro, hip-hop et musiques du monde, elle est reconnue pour sa s\u00e9lection soign\u00e9e et ses d\u00e9couvertes d\u2019artistes \u00e9mergents. Nova propose une exp\u00e9rience d\u2019\u00e9coute unique, en explorant des genres musicaux et des styles de tous horizons. Avec des playlists inspirantes et des \u00e9missions anim\u00e9es par des passionn\u00e9s, Nova attire les auditeurs \u00e0 la recherche de nouveaut\u00e9 et de qualit\u00e9. Plongez dans l\u2019univers de Nova pour un voyage musical sans fronti\u00e8res, parfait pour les curieux de musique.\",\n          favicon: \"https:\/\/pacific-webtools.com\/web-extractor\/wp-content\/uploads\/2024\/10\/radio-nova-logo.webp\",\n              isWebRadio: true\n            },\n            { \n              name: \"La Grosse Radio Rock\", \n          url: \"https:\/\/ice2.lagrosseradio.info\/lagrosseradio-rock-192.mp3\",\n          description: \"La Grosse Radio Rock est la webradio fran\u00e7aise incontournable pour les passionn\u00e9s de rock. Elle propose une programmation vari\u00e9e, allant du rock classique au m\u00e9tal, en passant par le punk et le rock alternatif. Id\u00e9ale pour les amateurs de guitares satur\u00e9es et de riffs puissants, La Grosse Radio Rock diffuse des morceaux embl\u00e9matiques et des d\u00e9couvertes d\u2019artistes. Avec une s\u00e9lection qui m\u00eale classiques et nouveaut\u00e9s, elle offre une exp\u00e9rience authentique pour tous les fans de rock. Plongez dans l\u2019univers rock de La Grosse Radio pour une ambiance musicale intense et sans compromis.\",\n          favicon: \"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/la-grosse-radio.webp\",\n              isWebRadio: true\n            },\n            { \n              name: \"Virage Radio L\u00e9gendes du Rock\", \n          url: \"https:\/\/virage-radio-legende-du-rock.ice.infomaniak.ch\/virage-radio-legende-du-rock.mp3\",\n          description: \"Virage Radio L\u00e9gendes du Rock est la station id\u00e9ale pour tous les passionn\u00e9s des grands classiques du rock. Avec une programmation d\u00e9di\u00e9e aux l\u00e9gendes du genre, elle diffuse une s\u00e9lection de titres embl\u00e9matiques ayant marqu\u00e9 l\u2019histoire du rock. De l\u2019\u00e9nergie des riffs iconiques aux voix puissantes des plus grands artistes, Virage Radio L\u00e9gendes du Rock plonge les auditeurs dans un univers intemporel. Que vous soyez amateur de rock vintage ou simplement curieux de d\u00e9couvrir les racines du genre, cette radio vous accompagne avec des morceaux incontournables, pour une immersion dans la l\u00e9gende du rock.\",\n          favicon: \"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/virage-radio-logo.webp\",\n              isWebRadio: true\n            }\n          ];\n\n          const popularRadiosListFrance = document.getElementById('popular-radios-list-france');\n          popularRadiosListFrance.innerHTML = '';\n\n          popularRadiosFrance.forEach((station, index) => {\n            const li = document.createElement('li');\n            li.innerHTML = `\n              <img decoding=\"async\" src=\"${station.favicon}\" alt=\"${station.name} logo\" style=\"width: 65px; height: 65px; margin-right: 10px; border-radius: 50%; vertical-align: middle;\">\n              <span style=\"font-size: 1.5em;\">${station.name}<\/span>\n              <p class=\"radio-description\">${station.description}<\/p>\n            `;\n\n            li.addEventListener('click', () => {\n              let stationToPlay = {\n                url_resolved: station.url,\n                name: station.name,\n                favicon: station.favicon || null,\n                description: station.description,\n                isWebRadio: station.isWebRadio \/\/ Ajout de la propri\u00e9t\u00e9 isWebRadio\n              };\n\n              const detailedStation = allStations.find(s => s.name.toLowerCase() === station.name.toLowerCase());\n              \n              if (detailedStation) {\n                stationToPlay.favicon = stationToPlay.favicon || detailedStation.favicon;\n                stationToPlay.tags = detailedStation.tags || '';\n              }\n\n              playStation(stationToPlay);\n\n              \/\/ Masquer la grille des programmes si c'est une webradio\n              const programGrid = document.querySelector('.program-grid');\n              if (programGrid) {\n                programGrid.style.display = stationToPlay.isWebRadio ? 'none' : 'block';\n              }\n            });\n\n            popularRadiosListFrance.appendChild(li);\n          });\n        }\n      <\/script>\n    <\/div>\n  <\/div>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/axios\/0.21.1\/axios.min.js\"><\/script>\n<script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/js\/select2.min.js\"><\/script>\n<script>\nlet favorites = JSON.parse(localStorage.getItem('favorites')) || [];\nlet history = JSON.parse(localStorage.getItem('history')) || [];\nlet currentTab = 'all';\n\nconst searchInput = document.getElementById('search-input');\nconst searchButton = document.getElementById('search-button');\nconst resultsContainer = document.getElementById('results-container');\nconst playerModal = document.getElementById('player-modal');\nconst paginationContainer = document.getElementById('pagination-container');\nconst prevButton = document.getElementById('prev-button');\nconst nextButton = document.getElementById('next-button');\nconst audioElement = new Audio();\nlet currentStation = null;\nlet currentPage = 1;\nlet stationsPerPage = 20;\nlet totalPages = 0;\nconst pageNumbersContainer = document.getElementById('page-numbers');\nconst playPauseButton = document.getElementById('play-pause');\nconst volumeSlider = document.getElementById('volume-slider');\nconst muteUnmuteButton = document.getElementById('mute-unmute');\nconst closeModalButton = document.querySelector('.close');\nconst chromecastButton = document.getElementById('chromecast-button');\n\ndocument.getElementById('listen-live').addEventListener('click', function() {\n  const sudRadioStation = {\n    name: \"RTL2\",\n    url_resolved: \"https:\/\/streaming.radio.rtl.fr\/rtl2-1-44-128?context=fHA6LTE%3D\",\n    favicon: \"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/thumb\/f\/fa\/RTL2_logo_2015.svg\/1200px-RTL2_logo_2015.svg.png\",\n    description: \"RTL2, votre radio pop rock de r\u00e9f\u00e9rence, anime vos journ\u00e9es avec une programmation \u00e9nergique et passionn\u00e9e depuis plus de 25 ans. La station s'est impos\u00e9e comme un acteur majeur de la sc\u00e8ne musicale fran\u00e7aise, mettant \u00e0 l'honneur les meilleurs titres rock et pop d'hier et d'aujourd'hui.\",\n    tags: \"rtl2, rock, pop\",\n    bitrate: \"128\"\n  };\n  playStation(sudRadioStation);\n});\n\nfunction showLoadingAnimation() {\n  document.getElementById('loading-animation').style.display = 'flex';\n}\n\nfunction hideLoadingAnimation() {\n  document.getElementById('loading-animation').style.display = 'none';\n}\n\nfunction playStation(station) {\n  if (!station) return;\n\n  if (!station.url_resolved) {\n    station.url_resolved = `https:\/\/example.com\/stream\/${station.name.replace(\/\\s+\/g, '-').toLowerCase()}`;\n  }\n\n  audioElement.src = station.url_resolved;\n  audioElement.play().catch(error => console.error('Error playing audio:', error));\n  currentStation = station;\n  updateModalUI();\n  openModal();\n  addToHistory(station);\n}\n\nfunction handleTagClick(event) {\n  if (event.target.classList.contains('tag-vignette')) {\n    const tag = event.target.textContent.trim();\n    closeModal();\n    addCategoryToSelect(tag);\n    performSearch(tag);\n  }\n}\n\nfunction addCategoryToSelect(category) {\n  if (!$('#category-select').find(\"option[value='\" + category + \"']\").length) {\n    var newOption = new Option(category, category, true, true);\n    $('#category-select').append(newOption).trigger('change');\n  }\n}\n\nfunction extractCategories(stations) {\n  const categories = {};\n  stations.forEach(station => {\n    if (station.tags) {\n      station.tags.split(',').forEach(tag => {\n        const trimmedTag = tag.trim();\n        if (trimmedTag.length <= 20) {\n          categories[trimmedTag] = (categories[trimmedTag] || 0) + 1;\n        }\n      });\n    }\n  });\n  return Object.entries(categories)\n    .sort((a, b) => b[1] - a[1])\n    .slice(0, 10)\n    .map(([category]) => category);\n}\n\nfunction renderCategoryVignettes(categories) {\n  return `\n    <div class=\"category-vignettes\">\n      ${categories.map(category => `\n        <span class=\"tag-vignette\" onclick=\"performSearch('${category}')\">${category}<\/span>\n      `).join('')}\n    <\/div>\n  `;\n}\n\nfunction updateModalUI() {\n  if (!currentStation) return;\n\n  const stationLogo = document.getElementById('station-logo');\n  const stationName = document.getElementById('station-name');\n  const stationCountry = document.getElementById('station-country');\n  const stationDescription = document.getElementById('station-description');\n  const stationTags = document.getElementById('station-tags');\n  const stationBitrate = document.getElementById('station-bitrate');\n\n  if (stationLogo) stationLogo.src = currentStation.favicon || 'https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-15.webp';\n  if (stationName) stationName.textContent = currentStation.name || 'Station inconnue';\n  if (stationCountry) stationCountry.textContent = 'France';\n  if (stationDescription) stationDescription.textContent = currentStation.homepage || 'Aucune description disponible';\n  \n  if (stationTags) {\n    const tags = currentStation.tags ? currentStation.tags.split(',') : [];\n    stationTags.innerHTML = tags.map(tag => `<span class=\"tag-vignette\">${tag.trim()}<\/span>`).join('');\n    stationTags.addEventListener('click', handleTagClick);\n  }\n  \n  if (stationBitrate) stationBitrate.textContent = `D\u00e9bit binaire : ${currentStation.bitrate || 'Inconnu'} kbps`;\n}\n\nfunction performSearch(tag) {\n  showLoadingAnimation();\n  const query = tag || (searchInput ? searchInput.value.trim() : '');\n  const category = $('#category-select').val();\n  let url = 'https:\/\/de1.api.radio-browser.info\/json\/stations\/search?limit=1000&country=France';\n  \n  if (query || category) {\n    if (query) {\n      if (tag) {\n        url += `&tag=${encodeURIComponent(query)}`;\n      } else {\n        url += `&name=${encodeURIComponent(query)}`;\n      }\n    }\n    if (category && !tag) {\n      url += `&tag=${encodeURIComponent(category)}`;\n    }\n  }\n\n  axios.get(url)\n    .then(response => {\n      if (response && response.data) {\n        allStations = response.data\n          .filter(station => station.url_resolved && station.url_resolved.startsWith('https:\/\/'))\n          .sort((a, b) => a.name.localeCompare(b.name));\n        totalPages = Math.ceil(allStations.length \/ stationsPerPage);\n        currentPage = 1;\n        currentTab = 'all';\n        document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));\n        document.querySelector('.tab[data-tab=\"all\"]').classList.add('active');\n        displayResults();\n        updatePagination();\n        fetchPopularRadios(); \n      } else {\n        throw new Error('Invalid response data');\n      }\n    })\n    .catch(error => {\n      console.error('Error fetching radio stations:', error);\n      if (resultsContainer) {\n        resultsContainer.innerHTML = '<p>Erreur lors de la r\u00e9cup\u00e9ration des stations de radio. Veuillez r\u00e9essayer.<\/p>';\n      }\n      if (paginationContainer) {\n        paginationContainer.style.display = 'none';\n      }\n    })\n    .finally(() => {\n      hideLoadingAnimation();\n    });\n}\n\nfunction displayResults() {\n  if (!resultsContainer) return;\n\n  resultsContainer.innerHTML = '';\n  const categoryVignettesContainer = document.querySelector('.category-vignettes-container');\n  categoryVignettesContainer.innerHTML = '';\n  let stationsToShow = [];\n\n  if (currentTab === 'all') {\n    const startIndex = (currentPage - 1) * stationsPerPage;\n    const endIndex = startIndex + stationsPerPage;\n    stationsToShow = allStations.slice(startIndex, endIndex);\n  } else if (currentTab === 'favorites') {\n    const startIndex = (currentPage - 1) * stationsPerPage;\n    const endIndex = startIndex + stationsPerPage;\n    stationsToShow = favorites.slice(startIndex, endIndex);\n  } else if (currentTab === 'history') {\n    const startIndex = (currentPage - 1) * stationsPerPage;\n    const endIndex = startIndex + stationsPerPage;\n    stationsToShow = history.slice(startIndex, endIndex);\n  }\n\n  const totalStations = currentTab === 'all' ? allStations.length : \n                        currentTab === 'favorites' ? favorites.length : \n                        currentTab === 'history' ? history.length : 0;\n  const resultsCountElement = document.getElementById('results-count');\n  if (resultsCountElement) {\n    resultsCountElement.textContent = `${totalStations} station${totalStations !== 1 ? 's' : ''} de radio trouv\u00e9e${totalStations !== 1 ? 's' : ''}`;\n  }\n\n  const categories = extractCategories(stationsToShow);\n  const categoryVignettes = renderCategoryVignettes(categories);\n  categoryVignettesContainer.innerHTML = categoryVignettes;\n\n  if (stationsToShow.length === 0) {\n    resultsContainer.innerHTML += '<p>Aucune station trouv\u00e9e. Essayez une autre recherche ou un autre onglet.<\/p>';\n    if (paginationContainer) {\n      paginationContainer.style.display = 'none';\n    }\n    return;\n  }\n  \n  stationsToShow.forEach(station => {\n    if (!station) return;\n\n    const stationCard = document.createElement('div');\n    stationCard.className = 'station-card';\n    stationCard.innerHTML = `\n      <div class=\"station-info\">\n        <img decoding=\"async\" class=\"station-logo\" src=\"${station.favicon || 'https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-15.webp'}\" alt=\"${station.name} logo\">\n      <\/div>\n      <div class=\"station-details\">\n        <h2>${station.name || 'Station inconnue'}<\/h2>\n        <p>\n          <img decoding=\"async\" class=\"country-flag\" src=\"https:\/\/flagcdn.com\/w20\/${(station.countrycode || '').toLowerCase()}.png\" alt=\"${station.country || 'Inconnu'} flag\">\n          ${station.country || 'France'}\n        <\/p>\n      <\/div>\n      <button class=\"play-button\" data-url=\"${station.url_resolved || ''}\">\n        <img decoding=\"async\" src=\"https:\/\/pacific-web-tools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-16.webp\" alt=\"Ic\u00f4ne de lecture\">\n      <\/button>\n      <button class=\"favorite-button ${favorites.some(fav => fav.stationuuid === station.stationuuid) ? 'active' : ''}\">\n      <\/button>\n    `;\n    resultsContainer.appendChild(stationCard);\n\n    const playButton = stationCard.querySelector('.play-button');\n    if (playButton) {\n      playButton.addEventListener('click', () => playStation(station));\n    }\n\n    const favoriteButton = stationCard.querySelector('.favorite-button');\n    if (favoriteButton) {\n      favoriteButton.addEventListener('click', () => toggleFavorite(station));\n    }\n  });\n\n  updatePagination();\n}\n\nfunction toggleFavorite(station) {\n  const index = favorites.findIndex(fav => fav.stationuuid === station.stationuuid);\n  if (index === -1) {\n    favorites.push(station);\n  } else {\n    favorites.splice(index, 1);\n  }\n  localStorage.setItem('favorites', JSON.stringify(favorites));\n  displayResults();\n}\n\nfunction addToHistory(station) {\n  const index = history.findIndex(item => item.stationuuid === station.stationuuid);\n  if (index !== -1) {\n    history.splice(index, 1);\n  }\n  history.unshift(station);\n  if (history.length > 20) {\n    history.pop();\n  }\n  localStorage.setItem('history', JSON.stringify(history));\n}\n\nfunction updatePagination() {\n  if (!pageNumbersContainer) return;\n\n  const totalStations = currentTab === 'all' ? allStations.length : \n                        currentTab === 'favorites' ? favorites.length : \n                        currentTab === 'history' ? history.length : 0;\n\n  totalPages = Math.ceil(totalStations \/ stationsPerPage);\n\n  if (totalStations <= stationsPerPage) {\n    if (paginationContainer) paginationContainer.style.display = 'none';\n    return;\n  }\n\n  const maxVisiblePages = 5;\n  let startPage = Math.max(currentPage - Math.floor(maxVisiblePages \/ 2), 1);\n  let endPage = Math.min(startPage + maxVisiblePages - 1, totalPages);\n\n  if (endPage - startPage + 1 < maxVisiblePages) {\n    startPage = Math.max(endPage - maxVisiblePages + 1, 1);\n  }\n\n  pageNumbersContainer.innerHTML = '';\n\n  for (let i = startPage; i <= endPage; i++) {\n    const pageButton = document.createElement('button');\n    pageButton.classList.add('page-number');\n    pageButton.textContent = i;\n    if (i === currentPage) {\n      pageButton.classList.add('active');\n    }\n    pageButton.addEventListener('click', () => {\n      currentPage = i;\n      displayResults();\n      updatePagination();\n    });\n    pageNumbersContainer.appendChild(pageButton);\n  }\n\n  if (prevButton) prevButton.disabled = currentPage === 1;\n  if (nextButton) nextButton.disabled = currentPage === totalPages;\n\n  if (paginationContainer) paginationContainer.style.display = 'flex';\n}\n\nfunction fetchAllStations() {\n  showLoadingAnimation();\n  let url = 'https:\/\/de1.api.radio-browser.info\/json\/stations\/search?limit=1000&country=France';\n\n  axios.get(url)\n    .then(response => {\n      if (response && response.data) {\n        allStations = response.data\n          .filter(station => station.url_resolved && station.url_resolved.startsWith('https:\/\/'))\n          .sort((a, b) => a.name.localeCompare(b.name));\n        totalPages = Math.ceil(allStations.length \/ stationsPerPage);\n        currentPage = 1;\n        displayResults();\n        updatePagination();\n        fetchPopularRadios(); \n      } else {\n        throw new Error('Invalid response data');\n      }\n    })\n    .catch(error => {\n      console.error('Error fetching radio stations:', error);\n      if (resultsContainer) resultsContainer.innerHTML = '<p>Erreur lors de la r\u00e9cup\u00e9ration des stations de radio. Veuillez r\u00e9essayer.<\/p>';\n    })\n    .finally(() => {\n      hideLoadingAnimation();\n    });\n}\n\n$(document).ready(function() {\n  $('#category-select').select2({\n    placeholder: 'S\u00e9lectionner une cat\u00e9gorie',\n    allowClear: true,\n    tags: true,\n    ajax: {\n      url: 'https:\/\/de1.api.radio-browser.info\/json\/tags?country=France',\n      dataType: 'json',\n      delay: 250,\n      data: function (params) {\n        return {\n          search: params.term\n        };\n      },\n      processResults: function (data, params) {\n        const searchTerm = params.term ? params.term.toLowerCase() : '';\n        return {\n          results: data\n            .filter(tag => tag.name.toLowerCase().includes(searchTerm))\n            .map(tag => ({\n              id: tag.name,\n              text: tag.name\n            }))\n        };\n      },\n      cache: true\n    }\n  });\n\n  $('#category-select').on('select2:select select2:unselect', function(e) {\n    performSearch();\n  });\n  \n  document.querySelectorAll('.tab').forEach(tab => {\n    tab.addEventListener('click', () => {\n      document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));\n      tab.classList.add('active');\n      currentTab = tab.dataset.tab;\n      currentPage = 1;\n      displayResults();\n    });\n  });\n\n  if (searchButton) {\n    searchButton.addEventListener('click', () => performSearch());\n  }\n\n  if (searchInput) {\n    searchInput.addEventListener('keypress', function(event) {\n      if (event.key === 'Enter') {\n        event.preventDefault();\n        performSearch();\n      }\n    });\n  }\n\n  if (prevButton) {\n    prevButton.addEventListener('click', () => {\n      if (currentPage > 1) {\n        currentPage--;\n        displayResults();\n        updatePagination();\n      }\n    });\n  }\n\n  if (nextButton) {\n    nextButton.addEventListener('click', () => {\n      if (currentPage < totalPages) {\n        currentPage++;\n        displayResults();\n        updatePagination();\n      }\n    });\n  }\n\n  fetchAllStations();  \n});\n\nlet allStations = [];\n\nfunction openModal() {\n  if (playerModal) playerModal.style.display = 'block';\n  if (window.chrome && window.chrome.cast && window.chrome.cast.isAvailable) {\n    initializeCastApi();\n  }\n}\n\nfunction closeModal() {\n  if (playerModal) playerModal.style.display = 'none';\n  audioElement.pause();\n}\n\nfunction startChromecast() {\n  if (!currentStation) return;\n\n  const castSession = cast.framework.CastContext.getInstance().getCurrentSession();\n  if (castSession) {\n    const mediaInfo = new chrome.cast.media.MediaInfo(currentStation.url_resolved, 'audio\/mp3');\n    mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();\n    mediaInfo.metadata.title = currentStation.name;\n    mediaInfo.metadata.images = [{ url: currentStation.favicon || 'https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-15.webp' }];\n\n    const request = new chrome.cast.media.LoadRequest(mediaInfo);\n    castSession.loadMedia(request).then(\n      function() { console.log('Load succeed'); },\n      function(errorCode) { console.log('Error code: ' + errorCode); }\n    );\n  } else {\n    cast.framework.CastContext.getInstance().requestSession();\n  }\n}\n\nif (chromecastButton) {\n  chromecastButton.addEventListener('click', startChromecast);\n}\n\n\/\/ Load the Cast framework\nwindow.__onGCastApiAvailable = function(isAvailable) {\n  if (isAvailable) {\n    initializeCastApi();\n  }\n};\n\n\/\/ Initialize the Cast API\nfunction initializeCastApi() {\n  cast.framework.CastContext.getInstance().setOptions({\n    receiverApplicationId: chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,\n    autoJoinPolicy: chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED\n  });\n}\n\n\/\/ Player controls\nif (playPauseButton) playPauseButton.addEventListener('click', togglePlayPause);\nif (volumeSlider) volumeSlider.addEventListener('input', adjustVolume);\nif (muteUnmuteButton) muteUnmuteButton.addEventListener('click', toggleMute);\nif (closeModalButton) closeModalButton.addEventListener('click', closeModal);\nwindow.addEventListener('click', (event) => {\n  if (event.target == playerModal) {\n    closeModal();\n  }\n});\n\nfunction togglePlayPause() {\n  if (!playPauseButton) return;\n\n  if (audioElement.paused) {\n    audioElement.play().catch(error => console.error('Error playing audio:', error));\n    playPauseButton.querySelector('img').src = \"https:\/\/cdn-icons-png.freepik.com\/512\/4181\/4181135.png\";\n    playPauseButton.querySelector('img').alt = \"Ic\u00f4ne de pause\";\n  } else {\n    audioElement.pause();\n    playPauseButton.querySelector('img').src = \"https:\/\/cdn-icons-png.flaticon.com\/512\/2468\/2468825.png\";\n    playPauseButton.querySelector('img').alt = \"Ic\u00f4ne de lecture\";\n  }\n}\n\nfunction adjustVolume() {\n  if (volumeSlider) audioElement.volume = volumeSlider.value;\n}\n\n\/\/ Initialize volume\nadjustVolume();\n\n\/\/ Add background cycling function\nfunction cycleBackgroundImages() {\n  const slides = document.querySelectorAll('.background-slideshow .slide');\n  let currentSlide = 0;\n\n  setInterval(() => {\n    slides[currentSlide].classList.remove('active');\n    currentSlide = (currentSlide + 1) % slides.length;\n    slides[currentSlide].classList.add('active');\n  }, 5000);\n}\n\n\/\/ Call the cycling function when the document is ready\ndocument.addEventListener('DOMContentLoaded', cycleBackgroundImages);\n<\/script>\n\n\n\n<\/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-c976f6f e-con-full e-flex e-con e-parent\" data-id=\"c976f6f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f0767dc elementor-widget elementor-widget-html\" data-id=\"f0767dc\" data-element_type=\"widget\" data-e-type=\"widget\" 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>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n  <style>\n    .rs-carousel-section {\n      padding: 50px 0; \n      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);\n      background-size: 400% 400%;\n      animation: rs-gradientBG 15s ease infinite;\n      color: #ffffff;\n      font-family: 'Roboto', sans-serif;\n      min-height: flex; \n      display: flex;\n      flex-direction: column;\n      align-items: center;\n    }\n\n    .rs-title {\n      color: #00ffff;\n      text-align: center;\n      margin: 2rem 0;\n      font-size: 2rem;\n      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);\n    }\n\n    .rs-carousel-container {\n      max-width: 1200px;\n      width: 100%;\n      position: relative;\n      padding: 20px 50px; \n      box-sizing: border-box;\n      overflow: hidden;\n      margin: 0 auto; \n    }\n\n    .rs-carousel {\n      display: flex;\n      overflow: hidden;\n      scroll-behavior: smooth;\n      gap: 20px;\n      padding: 20px 0 0 0;\n      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n    }\n\n    .rs-radio-card {\n      min-width: 250px;\n      flex: 0 0 250px;\n      background: rgba(255, 255, 255, 0.1);\n      border-radius: 15px;\n      text-align: center;\n      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n      border: 2px solid #00ffff;\n      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);\n      position: relative;\n      overflow: hidden;\n      transform-origin: center center;\n      padding: 20px 15px; \/* Add consistent padding *\/\n    }\n\n    .rs-radio-card.rs-scrolling {\n      transform: scale(0.95) rotate(-2deg);\n    }\n\n    .rs-radio-card::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: -100%;\n      width: 100%;\n      height: 100%;\n      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);\n      transition: 0.5s;\n    }\n\n    .rs-radio-card:hover::before {\n      left: 100%;\n    }\n\n    .rs-radio-card:hover {\n      transform: translateY(-5px) scale(1.02);\n      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);\n      z-index: 1;\n    }\n\n    .rs-radio-logo {\n      width: 120px;\n      height: 120px;\n      border-radius: 50%;\n      margin-bottom: 1rem;\n      border: 3px solid #00ffff;\n      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);\n      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n      cursor: pointer; \/* Add cursor pointer to indicate interactivity *\/\n    }\n\n    .rs-radio-logo:hover {\n      transform: rotateY(180deg) scale(1.15);\n      border-color: #ff00ff;\n      box-shadow: \n        0 0 25px rgba(0, 255, 255, 0.5),\n        0 0 50px rgba(255, 0, 255, 0.3);\n      animation: logoGlow 1.5s infinite alternate;\n    }\n\n    @keyframes logoGlow {\n      0% {\n        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),\n                    0 0 50px rgba(255, 0, 255, 0.3);\n      }\n      100% {\n        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),\n                    0 0 70px rgba(255, 0, 255, 0.6);\n      }\n    }\n\n    .rs-radio-name {\n      font-size: 1.2rem; \/* Reduced from 1.5rem *\/\n      margin: 15px 0;\n      color: #00ffff;\n      transition: all 0.3s ease;\n      position: relative; \/* Added *\/\n    }\n\n    \/* Add hover state for radio name span elements *\/\n    .rs-radio-name span:first-child {\n      display: inline-block;\n      transition: opacity 0.3s ease;\n    }\n\n    .rs-radio-name span:last-child {\n      position: absolute;\n      left: 50%;\n      transform: translateX(-50%);\n      opacity: 0;\n      transition: opacity 0.3s ease;\n      width: 100%;\n    }\n\n    .rs-radio-card:hover .rs-radio-name span:first-child {\n      opacity: 0;\n    }\n\n    .rs-radio-card:hover .rs-radio-name span:last-child {\n      opacity: 1;\n    }\n\n    .rs-listen-button {\n      position: relative; \/* Add this *\/\n      background: #00ffff;\n      color: #000;\n      width: 60px;\n      height: 60px;\n      border: none;\n      border-radius: 50%;\n      font-size: 1.5rem;\n      cursor: pointer;\n      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n      text-decoration: none;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin: 1rem auto;\n      overflow: hidden;\n    }\n\n    .rs-listen-button:hover {\n      background: #00cccc;\n      transform: scale(1.1) rotate(360deg);\n      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);\n    }\n\n    .rs-listen-button::before {\n      content: \"Voir la webradio\";\n      position: absolute;\n      bottom: -30px;\n      left: 50%;\n      transform: translateX(-50%);\n      background: rgba(0, 255, 255, 0.9);\n      color: #000;\n      padding: 5px 10px;\n      border-radius: 4px;\n      font-size: 12px;\n      white-space: nowrap;\n      opacity: 0;\n      visibility: hidden;\n      transition: all 0.3s ease;\n    }\n\n    .rs-listen-button:hover::before {\n      opacity: 1;\n      visibility: visible;\n      bottom: -35px;\n    }\n\n    .rs-listen-button:hover i {\n      animation: rs-colorChange 2s infinite;\n    }\n\n    @keyframes rs-colorChange {\n      0% { color: #ff0000; }\n      20% { color: #ff7700; }\n      40% { color: #ffff00; }\n      60% { color: #00ff00; }\n      80% { color: #0000ff; }\n      100% { color: #ff0000; }\n    }\n\n    .rs-listen-button::after {\n      content: '';\n      position: absolute;\n      width: 100%;\n      height: 100%;\n      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);\n      animation: rs-pulseGlow 2s infinite;\n      opacity: 0;\n      transition: opacity 0.3s;\n    }\n\n    .rs-listen-button:hover::after {\n      opacity: 1;\n    }\n\n    @keyframes rs-pulseGlow {\n      0% {\n        transform: scale(0.95);\n        opacity: 0.5;\n      }\n      50% {\n        transform: scale(1.1);\n        opacity: 0.2;\n      }\n      100% {\n        transform: scale(0.95);\n        opacity: 0.5;\n      }\n    }\n\n    .rs-carousel-button {\n      position: absolute;\n      top: 50%;\n      transform: translateY(-50%);\n      background: rgba(0, 255, 255, 0.2);\n      border: none;\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #00ffff;\n      font-size: 1.5rem;\n      transition: all 0.3s ease;\n      z-index: 2;\n      overflow: hidden; \/* Add this for ripple effect *\/\n    }\n\n    .rs-carousel-button:hover {\n      background: rgba(0, 255, 255, 0.2);\n      transform: translateY(-50%) scale(1.1);\n      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);\n    }\n\n    .rs-carousel-button::before {\n      content: '';\n      position: absolute;\n      width: 100%;\n      height: 100%;\n      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);\n      transform: scale(0);\n      opacity: 0;\n      transition: transform 0.5s ease-out, opacity 0.3s ease;\n    }\n\n    .rs-carousel-button:hover::before {\n      transform: scale(2);\n      opacity: 0.3;\n    }\n\n    .rs-carousel-button:hover i {\n      animation: arrowBounce 0.5s ease infinite alternate;\n    }\n\n    @keyframes arrowBounce {\n      from {\n        transform: translateX(0);\n      }\n      to {\n        transform: translateX(3px);\n      }\n    }\n\n    .rs-carousel-button.rs-prev:hover i {\n      animation: arrowBounceLeft 0.5s ease infinite alternate;\n    }\n\n    @keyframes arrowBounceLeft {\n      from {\n        transform: translateX(0);\n      }\n      to {\n        transform: translateX(-3px);\n      }\n    }\n\n    .rs-carousel-button.rs-prev {\n      left: 0;\n    }\n\n    .rs-carousel-button.rs-next {\n      right: 0;\n    }\n\n    @keyframes rs-floatingNotesCard {\n      0% {\n        opacity: 0;\n        transform: translate(0, 0) rotate(0deg);\n      }\n      50% {\n        opacity: 1;\n      }\n      100% {\n        opacity: 0;\n        transform: translate(-50px, -50px) rotate(360deg);\n      }\n    }\n\n    .rs-card-notes {\n      position: absolute;\n      width: 100%;\n      height: 100%;\n      top: 0;\n      left: 0;\n      pointer-events: none;\n      opacity: 0;\n      transition: opacity 0.3s;\n    }\n\n    .rs-radio-card:hover .rs-card-notes {\n      opacity: 1;\n    }\n\n    .rs-card-note {\n      position: absolute;\n      font-size: 20px;\n      color: #00ffff;\n      animation: rs-floatingNotesCard 2s ease-out infinite;\n    }\n\n    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }\n    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }\n    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }\n    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }\n    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }\n\n    .rs-radio-tag {\n      position: absolute;\n      top: 10px;\n      right: 10px;\n      padding: 5px 12px;\n      font-size: 0.8rem;\n      border-radius: 15px;\n      background: rgba(0, 0, 0, 0.7);\n      color: #fff;\n      border: 1px solid #00ffff;\n      box-shadow: 0 0 5px #00ffff,\n                  inset 0 0 5px #00ffff;\n      text-transform: uppercase;\n      letter-spacing: 1px;\n      transition: all 0.3s ease;\n      transform-style: preserve-3d;\n      perspective: 1000px;\n      cursor: pointer;\n    }\n    \n    .rs-radio-tag i {\n      margin-right: 5px;\n      color: #00ffff;\n      text-shadow: 0 0 5px #00ffff,\n                   0 0 10px #00ffff,\n                   0 0 15px #00ffff;\n    }\n\n    \/* Add hover effects *\/\n    .rs-radio-tag:hover {\n      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);\n      box-shadow: 0 0 15px #00ffff,\n                  inset 0 0 10px #00ffff,\n                  0 10px 20px rgba(0, 255, 255, 0.4);\n      background: rgba(0, 255, 255, 0.1);\n      letter-spacing: 2px;\n      animation: tagFloat 1s ease-in-out infinite alternate;\n    }\n\n    \/* Add new keyframe animation *\/\n    @keyframes tagFloat {\n      0% {\n        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);\n      }\n      100% {\n        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);\n        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);\n      }\n    }\n\n    \/* Add before\/after elements for 3D effect *\/\n    .rs-radio-tag::before {\n      content: '';\n      position: absolute;\n      inset: -2px;\n      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);\n      transform: translateZ(-1px);\n      opacity: 0;\n      transition: opacity 0.3s ease;\n    }\n\n    .rs-radio-tag::after {\n      content: '';\n      position: absolute;\n      inset: -1px;\n      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);\n      transform: translateZ(-2px);\n      opacity: 0;\n      transition: opacity 0.3s ease;\n    }\n\n    .rs-radio-tag:hover::before,\n    .rs-radio-tag:hover::after {\n      opacity: 1;\n    }\n\n    @keyframes rs-floatingNotes {\n      0% {\n        transform: translateY(0) rotate(0deg) scale(1);\n        opacity: 0;\n      }\n      50% {\n        transform: translateY(-20px) rotate(180deg) scale(1.2);\n        opacity: 1;\n      }\n      100% {\n        transform: translateY(-40px) rotate(360deg) scale(1);\n        opacity: 0;\n      }\n    }\n\n    @media (max-width: 768px) {\n      .rs-carousel-section {\n        padding: 30px 0;\n      }\n      .rs-carousel-container {\n        padding: 15px 20px; \n      }\n      .rs-radio-card {\n        min-width: 250px !important; \/* Reduced by 20% from original 312.5px *\/\n        flex: 0 0 250px !important; \/* Reduced by 20% from original 312.5px *\/\n      }\n      \/* Content size reductions *\/\n      .rs-radio-logo {\n        width: 84px !important;\n        height: 84px !important;\n      }\n      .rs-radio-name {\n        font-size: 1rem !important;\n      }\n      .rs-listen-button {\n        width: 48px;\n        height: 48px;\n      }\n    }\n\n    @media (max-width: 480px) {\n      .rs-carousel-section {\n        padding: 20px 0;\n      }\n      .rs-carousel-container {\n        padding: 0 30px; \n      }\n      .rs-radio-card {\n        min-width: 200px !important; \/* Further reduced by 20% from tablet size *\/\n        flex: 0 0 200px !important; \/* Further reduced by 20% from tablet size *\/\n      }\n      \/* Further reduce content for smallest screens *\/\n      .rs-radio-logo {\n        width: 76px !important;\n        height: 76px !important;\n        margin: 8px auto 12px !important;\n      }\n      .rs-radio-name {\n        font-size: 0.9rem !important;\n      }\n      .rs-listen-button {\n        width: 40px;\n        height: 40px;\n      }\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"rs-carousel-section\" id=\"radioendirect-carousel-section\">\n    <h2 class=\"rs-title\" id=\"radioendirect-title\" style=\"font-size: 24px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative;\">\n  Nos suggestions de radios fran\u00e7aises en direct :\n<\/h2>\n    \n    <div class=\"rs-carousel-container\" id=\"radioendirect-container\">\n      <button class=\"rs-carousel-button rs-prev\" id=\"radioendirect-prev-button\">\n        <i class=\"fas fa-chevron-left\"><\/i>\n      <\/button>\n      \n      <div class=\"rs-carousel\" id=\"radioendirect-carousel\" style=\"gap: 25px;\">\n        <!-- Nostalgie -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-nostalgie\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n  <div class=\"rs-card-notes\">\n    <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n    <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n    <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n  <\/div>\n  <img decoding=\"async\" src=\"https:\/\/api.theatredelaville-paris.com\/assets\/w300-h300-q70\/4c672c18\/fip_logo.png\" alt=\"FIP Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px; margin: 10px auto 15px;\">\n  <span class=\"rs-radio-tag\"><i class=\"fas fa-globe\"><\/i>Eclectique<\/span>\n  <h2 class=\"rs-radio-name\">\n    <span>FIP<\/span>\n    <span>Ecoutez en direct FIP<\/span>\n  <\/h2>\n  <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/\" class=\"rs-listen-button\" style=\"margin: 15px auto 10px;\">\n    <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n  <\/a>\n<\/div>\n\n        <!-- Oui FM -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-ouifm\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/3\/33\/Oui_FM_2014_logo.png\" alt=\"OUI FM logo\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-guitar\"><\/i>Rock<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>OUI FM<\/span>\n            <span>Ecoutez en direct OUI FM<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-oui-fm\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- FIP -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-fip\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n  <div class=\"rs-card-notes\">\n    <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n    <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n    <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n  <\/div>\n  <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/1\/19\/RFM_logo_2011.png\" alt=\"Radio RFM\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n  <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>Pop<\/span>\n  <h2 class=\"rs-radio-name\">\n    <span>RFM<\/span>\n    <span>Ecoutez en direct RFM<\/span>\n  <\/h2>\n  <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rfm\/\" class=\"rs-listen-button\">\n    <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n  <\/a>\n<\/div>\n\n        <!-- Ch\u00e9rie FM -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-cheriefm\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n  <div class=\"rs-card-notes\">\n    <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n    <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n    <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n  <\/div>\n  <img decoding=\"async\" src=\"https:\/\/play-lh.googleusercontent.com\/9h9jwQQONGEHGuKQ9nBAcXeorzgJZnStMvLZ4DNBVxb4XK3TMww-7sw3_mgjXEw3Gtk\" alt=\"Radio Nostalgie\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n  <span class=\"rs-radio-tag\"><i class=\"fas fa-compact-disc\"><\/i>Classique<\/span>\n  <h2 class=\"rs-radio-name\">\n    <span>Nostalgie<\/span>\n    <span>Ecoutez en direct Nostalgie<\/span>\n  <\/h2>\n  <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-nostalgie\/\" class=\"rs-listen-button\">\n    <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n  <\/a>\n<\/div>\n\n        <!-- RTL2 -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-rtl2\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n  <div class=\"rs-card-notes\">\n    <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n    <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n    <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n    <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n  <\/div>\n  <img decoding=\"async\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcRqDXL7XUgfkYyaczESXMRcGb0tP07fBd2h5A&amp;s\" alt=\"Ch\u00e9rie FM\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n  <span class=\"rs-radio-tag\"><i class=\"fas fa-heart\"><\/i>Pop Love<\/span>\n  <h2 class=\"rs-radio-name\">\n    <span>Ch\u00e9rie FM<\/span>\n    <span>Ecoutez en direct Ch\u00e9rie FM<\/span>\n  <\/h2>\n  <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-cheriefm\/\" class=\"rs-listen-button\">\n    <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n  <\/a>\n<\/div>\n\n        <!-- M Radio -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-mradio\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/15\/Logo_Mradio.png\/800px-Logo_Mradio.png\" alt=\"M Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-microphone\"><\/i>Vari\u00e9t\u00e9<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>M Radio<\/span>\n            <span>Ecoutez en direct M Radio<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamer.com\/radio-france\/ecoutez-en-direct-mradio\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <button class=\"rs-carousel-button rs-next\" id=\"radioendirect-next-button\">\n        <i class=\"fas fa-chevron-right\"><\/i>\n      <\/button>\n    <\/div>\n  <\/div>\n\n  <script>\n    (function() {\n      class RadioStreamrCarousel {\n        constructor(selector) {\n          this.container = document.querySelector(selector);\n          this.carousel = this.container.querySelector('.rs-carousel');\n          this.cards = this.container.querySelectorAll('.rs-radio-card');\n          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');\n          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');\n\n          this.currentIndex = 0;\n          this.cardWidth = this.cards[0].offsetWidth + 20;\n          this.cardsPerView = Math.floor(this.carousel.offsetWidth \/ this.cardWidth);\n          this.maxIndex = this.cards.length - this.cardsPerView;\n\n          this.init();\n        }\n\n        init() {\n          this.bindEvents();\n        }\n\n        scrollToIndex(index) {\n          \/\/ Handle infinite loop\n          if (index < 0) {\n            this.currentIndex = this.cards.length - this.cardsPerView;\n          } else if (index > this.maxIndex) {\n            this.currentIndex = 0;\n          } else {\n            this.currentIndex = index;\n          }\n          \n          \/\/ Add scrolling class to cards\n          this.cards.forEach(card => {\n            card.classList.add('rs-scrolling');\n            setTimeout(() => card.classList.remove('rs-scrolling'), 500);\n          });\n\n          \/\/ Scroll with animation\n          this.carousel.scrollTo({\n            left: this.currentIndex * this.cardWidth,\n            behavior: 'smooth'\n          });\n\n          \/\/ Create floating notes effect\n          const notes = ['\u266a', '\u266b', '\u266c'];\n          for(let i = 0; i < 3; i++) {\n            const note = document.createElement('span');\n            note.textContent = notes[Math.floor(Math.random() * notes.length)];\n            note.style.cssText = `\n              position: absolute;\n              color: #00ffff;\n              font-size: 24px;\n              top: ${50 + Math.random() * 100}px;\n              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;\n              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;\n              pointer-events: none;\n            `;\n            this.carousel.appendChild(note);\n            setTimeout(() => note.remove(), 1000 + i * 200);\n          }\n        }\n\n        bindEvents() {\n          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));\n          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));\n\n          window.addEventListener('resize', () => {\n            const newCardsPerView = Math.floor(this.carousel.offsetWidth \/ this.cardWidth);\n            const newMaxIndex = this.cards.length - newCardsPerView;\n            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);\n            this.scrollToIndex(this.currentIndex);\n          });\n        }\n      }\n\n      document.addEventListener('DOMContentLoaded', function() {\n        new RadioStreamrCarousel('.rs-carousel-section');\n      });\n    })();\n  <\/script>\n<\/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-53ee63c e-con-full e-flex e-con e-parent\" data-id=\"53ee63c\" 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-197cbbf elementor-widget elementor-widget-shortcode\" data-id=\"197cbbf\" 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>\u00d7 Grille des programmes LundiMardiMercrediJeudiVendrediSamediDimanche 00:00 &#8211; 06:00 Le son Pop-Rock &#8211; Lionel Guillaume 06:00 &#8211; 09:00 Le Double Expresso RTL2 &#8211; Gr\u00e9gory Ascher &amp; Justine Salmon 09:00 &#8211; 12:00 Le son Pop-Rock &#8211; K\u00e9vin Ollivier 12:00 &#8211; 16:00 Le son Pop-Rock &#8211; Pascal Langlois 16:00 &#8211; 19:00 Le son Pop-Rock &#8211; Carole Vega 19:00 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":254,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-radio-hits"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RTL2 \ud83c\udfb5 - Ecoutez en direct la Webradio<\/title>\n<meta name=\"description\" content=\"\u00c9coutez RTL2 en direct gratuitement sur notre site ! Profitez des meilleurs hits pop-rock, des infos et de toutes les webradios fran\u00e7aises.\" \/>\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\/ecoutez-en-direct-rtl2\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RTL2 \ud83c\udfb5 - Ecoutez en direct la Webradio\" \/>\n<meta property=\"og:description\" content=\"\u00c9coutez RTL2 en direct gratuitement sur notre site ! Profitez des meilleurs hits pop-rock, des infos et de toutes les webradios fran\u00e7aises.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/\" \/>\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-10-31T10:15:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-03T14:03:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"677\" \/>\n\t<meta property=\"og:image:height\" content=\"677\" \/>\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=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/\",\"name\":\"RTL2 \ud83c\udfb5 - Ecoutez en direct la Webradio\",\"isPartOf\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp\",\"datePublished\":\"2024-10-31T10:15:37+00:00\",\"dateModified\":\"2024-11-03T14:03:38+00:00\",\"author\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646\"},\"description\":\"\u00c9coutez RTL2 en direct gratuitement sur notre site ! Profitez des meilleurs hits pop-rock, des infos et de toutes les webradios fran\u00e7aises.\",\"breadcrumb\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#primaryimage\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp\",\"contentUrl\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp\",\"width\":677,\"height\":677},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/radiostreamr.com\/radio-france\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RTL2 \ud83c\udfb5 &#8211; Ecoutez en direct la Webradio\"}]},{\"@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":"RTL2 \ud83c\udfb5 - Ecoutez en direct la Webradio","description":"\u00c9coutez RTL2 en direct gratuitement sur notre site ! Profitez des meilleurs hits pop-rock, des infos et de toutes les webradios fran\u00e7aises.","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\/ecoutez-en-direct-rtl2\/","og_locale":"fr_FR","og_type":"article","og_title":"RTL2 \ud83c\udfb5 - Ecoutez en direct la Webradio","og_description":"\u00c9coutez RTL2 en direct gratuitement sur notre site ! Profitez des meilleurs hits pop-rock, des infos et de toutes les webradios fran\u00e7aises.","og_url":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/","og_site_name":"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct","article_published_time":"2024-10-31T10:15:37+00:00","article_modified_time":"2024-11-03T14:03:38+00:00","og_image":[{"width":677,"height":677,"url":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/","url":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/","name":"RTL2 \ud83c\udfb5 - Ecoutez en direct la Webradio","isPartOf":{"@id":"https:\/\/radiostreamr.com\/radio-france\/#website"},"primaryImageOfPage":{"@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#primaryimage"},"image":{"@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#primaryimage"},"thumbnailUrl":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp","datePublished":"2024-10-31T10:15:37+00:00","dateModified":"2024-11-03T14:03:38+00:00","author":{"@id":"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646"},"description":"\u00c9coutez RTL2 en direct gratuitement sur notre site ! Profitez des meilleurs hits pop-rock, des infos et de toutes les webradios fran\u00e7aises.","breadcrumb":{"@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#primaryimage","url":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp","contentUrl":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/RTL2-logo-radio-en-ligne.webp","width":677,"height":677},{"@type":"BreadcrumbList","@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/radiostreamr.com\/radio-france\/"},{"@type":"ListItem","position":2,"name":"RTL2 \ud83c\udfb5 &#8211; Ecoutez en direct la Webradio"}]},{"@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\/253","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=253"}],"version-history":[{"count":18,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":480,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/253\/revisions\/480"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/media\/254"}],"wp:attachment":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}