1<!DOCTYPE html> 2<html class="avada-html-layout-wide avada-html-header-position-top avada-is-100-percent-template" lang="fr-FR" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"> 3<head> 4 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 6 <meta name="viewport" content="width=device-width, initial-scale=1" /> 7 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 8<!-- Google tag (gtag.js) consent mode dataLayer added by Site Kit -->
9<script id="google_gtagjs-js-consent-mode-data-layer"> 10window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 11gtag('consent', 'default', {"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","security_storage":"denied","personalization_storage":"denied","region":["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK"],"wait_for_update":500}); 12window._googlesitekitConsentCategoryMap = {"statistics":["analytics_storage"],"marketing":["ad_storage","ad_user_data","ad_personalization"],"functional":["functionality_storage","security_storage"],"preferences":["personalization_storage"]}; 13window._googlesitekitConsents = {"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","security_storage":"denied","personalization_storage":"denied","region":["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK"],"wait_for_update":500}; 14</script>
14 15<!-- Terminer le dataLayer du mode Consentement de la balise Google (gtag.js) ajouté par Site Kit --> 16 17 <!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https://yoast.com/product/yoast-seo-premium-wordpress/ --> 18 <title>Interview | Liane Foly : confidences dans La Droguerie du Sourire</title> 19 <meta name="description" content="De son enfance à Lyon à sa carrière de crooneuse, Liane Foly se confie sur son livre « La Droguerie du sourire » dans Crooner And Friends" /> 20 <link rel="canonical" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" /> 21 <meta property="og:locale" content="fr_FR" /> 22 <meta property="og:type" content="article" /> 23 <meta property="og:title" content="Liane Foly confie ses souvenirs dans "La Droguerie du Sourire"" /> 24 <meta property="og:description" content="De son enfance à Lyon à sa carrière de crooneuse, Liane Foly se confie sur son livre « La Droguerie du sourire » dans Crooner And Friends" /> 25 <meta property="og:url" content="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" /> 26 <meta property="og:site_name" content="Crooner Radio - France" /> 27 <meta property="article:publisher" content="https://www.facebook.com/croonerradioDAB" /> 28 <meta property="article:published_time" content="2026-09-21T13:08:12+00:00" /> 29 <meta property="article:modified_time" content="2026-09-22T15:02:19+00:00" /> 30 <meta property="og:image" content="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
30s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" /> 31 <meta property="og:image:width" content="900" /> 32 <meta property="og:image:height" content="535" /> 33 <meta property="og:image:type" content="image/webp" /> 34 <meta name="author" content="Charles Tuzet" /> 35 <meta name="twitter:card" content="summary_large_image" /> 36 <meta name="twitter:creator" content="@croonerradio" /> 37 <meta name="twitter:site" content="@croonerradio" /> 38 <meta name="twitter:label1" content="Ãcrit par" /> 39 <meta name="twitter:data1" content="Charles Tuzet" /> 40 <meta name="twitter:label2" content="Durée de lecture estimée" /> 41 <meta name="twitter:data2" content="4 minutes" /> 42
42<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/#article","isPartOf":{"@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/"},"author":{"name":"Charles Tuzet","@id":"https:\/\/www.croonerradio.fr\/#\/schema\/person\/7b3f35b341572405fdc99f2802fe264a"},"headline":"Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »","datePublished":"2026-09-21T13:08:12+00:00","dateModified":"2026-09-22T15:02:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/"},"wordCount":607,"publisher":{"@id":"https:\/\/www.croonerradio.fr\/#organization"},"image":{"@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/#primaryimage"},"thumbnailUrl":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
42s-souvenirs-crooner-and-friends-emission-crooner-radio.webp","articleSection":["Crooner and Friends","Podcast","Top Actu","Top Podcasts"],"inLanguage":"fr-FR","copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/www.croonerradio.fr\/#organization"}},{"@type":"WebPage","@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","name":"Interview | Liane Foly : confidences dans La Droguerie du Sourire","isPartOf":{"@id":"https:\/\/www.croonerradio.fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/#primaryimage"},"image":{"@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/#primaryimage"},"thumbnailUrl":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
42s-souvenirs-crooner-and-friends-emission-crooner-radio.webp","datePublished":"2026-09-21T13:08:12+00:00","dateModified":"2026-09-22T15:02:19+00:00","description":"De son enfance à Lyon à sa carrière de crooneuse, Liane Foly se confie sur son livre « La Droguerie du sourire » dans Crooner And Friends","breadcrumb":{"@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/#primaryimage","url":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
42s-souvenirs-crooner-and-friends-emission-crooner-radio.webp","contentUrl":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp","width":900,"height":535,"caption":"Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif."},{"@type":"BreadcrumbList","@id":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.croonerradio.fr\/"},{"@type":"ListItem","position":2,"name":"Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"}]},{"@type":"WebSite","@id":"https:\/\/www.croonerradio.fr\/#website","url":"https:\/\/www.croonerradio.fr\/","name":"Crooner Radio - France","description":"Les plus grands standards de la variété internationale","publisher":{"@id":"https:\/\/www.croonerradio.fr\/#organization"},"alternateName":"Crooner Radio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.croonerradio.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.croonerradio.fr\/#organization","name":"Crooner Radio - France","url":"https:\/\/www.croonerradio.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.croonerradio.fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2023\/02\/Logo_crooner_radio_dab_footer.webp","contentUrl":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2023\/02\/Logo_crooner_radio_dab_footer.webp","width":200,"height":200,"caption":"Crooner Radio - France"},"image":{"@id":"https:\/\/www.croonerradio.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/croonerradioDAB","https:\/\/x.com\/croonerradio","https:\/\/mastodon.social\/@croonerradio","https:\/\/www.instagram.com\/croonerradio\/","https:\/\/www.linkedin.com\/company\/crooner-radio\/"],"description":"Crooner Radio, la station de radio dâexception qui célèbre lâart du pop jazz vocal et les grandes voix intemporelles. Conçue pour un public exigeant, une programmation intemporelle où se mêlent l'élégance et le glamour, des crooners légendaires aux crooners modernes et artistes contemporains.","email":"[email protected]","legalName":"CROONER INTERNATIONAL","foundingDate":"2009-04-16","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1","maxValue":"10"}},{"@type":"Person","@id":"https:\/\/www.croonerradio.fr\/#\/schema\/person\/7b3f35b341572405fdc99f2802fe264a","name":"Charles Tuzet","honorificPrefix":"M."}]}</script>
42 43 <!-- / Yoast SEO Premium plugin. --> 44 45 46<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 47<link rel='dns-prefetch' href='//pagead2.googlesyndication.com' /> 48<link rel="alternate" type="application/rss+xml" title="Crooner Radio - France » Flux" href="https://www.croonerradio.fr/feed/" /> 49 50 51 52 <meta name="description" content="Liane Foly confie ses souvenirs dans "La Droguerie du Sourire" 53Liane Foly invitée de Crooner And Friends du 21 au 25 Septembre revient sur sa carrière dans son livre autobiographique "La Droguerie du Sourire" aux editions Stock 54Elle sait chanter comme les plus grandes interprètes internationales de la pop music, elle sait faire rire, jouer la"/> 55 56 <meta property="og:locale" content="fr_FR"/> 57 <meta property="og:type" content="article"/> 58 <meta property="og:site_name" content="Crooner Radio - France"/> 59 <meta property="og:title" content="Interview | Liane Foly : confidences dans La Droguerie du Sourire"/> 60 <meta property="og:description" content="Liane Foly confie ses souvenirs dans "La Droguerie du Sourire" 61Liane Foly invitée de Crooner And Friends du 21 au 25 Septembre revient sur sa carrière dans son livre autobiographique "La Droguerie du Sourire" aux editions Stock 62Elle sait chanter comme les plus grandes interprètes internationales de la pop music, elle sait faire rire, jouer la"/> 63 <meta property="og:url" content="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/"/> 64 <meta property="article:published_time" content="2026-09-21T13:08:12+02:00"/> 65 <meta property="article:modified_time" content="2026-09-22T15:02:19+02:00"/> 66 <meta name="author" content="Charles Tuzet"/> 67 <meta property="og:image" content="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
67s-souvenirs-crooner-and-friends-emission-crooner-radio.png"/> 68 <meta property="og:image:width" content="900"/> 69 <meta property="og:image:height" content="535"/> 70 <meta property="og:image:type" content="image/webp"/> 71 72 <style id="wp-img-auto-sizes-contain-inline-css"> 73img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 74/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 75</style> 76 77<style id="global-styles-inline-css"> 78:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--awb-color-1: #ffffff;--wp--preset--color--awb-color-2: #f5f5f7;--wp--preset--color--awb-color-3: #f2f3f5;--wp--preset--color--awb-color-4: #a08053;--wp--preset--color--awb-color-5: #c9b591;--wp--preset--color--awb-color-6: #262626;--wp--preset--color--awb-color-7: #333336;--wp--preset--color--awb-color-8: #000000;--wp--preset--color--awb-color-custom-2: #52462f;--wp--preset--color--awb-color-custom-1: #521720;--wp--preset--color--awb-color-custom-3: #373739;--wp--preset--color--awb-color-custom-4: #1e1e1e;--wp--preset--color--awb-color-custom-5: rgba(28,28,28,0.97);--wp--preset--color--awb-color-custom-6: rgba(0,0,0,0.4);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
78--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 11.25px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 22.5px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 15px;--wp--preset--font-size--xlarge: 30px;--wp--preset--font-size--huge: 45px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-awb-color-1-color{color: var(--wp--preset--color--awb-color-1) !important;}.has-awb-color-2-color{color: var(--wp--preset--color--awb-color-2) !important;}.has-awb-color-3-color{color: var(--wp--preset--color--awb-color-3) !important;}.has-awb-color-4-color{color: var(--wp--preset--color--awb-color-4) !important;}.has-awb-color-5-color{color: var(--wp--preset--color--awb-color-5) !important;}.has-awb-color-6-color{color: var(--wp--preset--color--awb-color-6) !important;}.has-awb-color-7-color{color: var(--wp--preset--color--awb-color-7) !important;}.has-awb-color-8-color{color: var(--wp--preset--color--awb-color-8) !important;}.has-awb-color-custom-2-color{color: var(--wp--preset--color--awb-color-custom-2) !important;}.has-awb-color-custom-1-color{color: var(--wp--preset--color--awb-color-custom-1) !important;}.has-awb-color-custom-3-color{color: var(--wp--preset--color--awb-color-custom-3) !important;}.has-awb-color-custom-4-color{color: var(--wp--preset--color--awb-color-custom-4) !important;}.has-awb-color-custom-5-color{color: var(--wp--preset--color--awb-color-custom-5) !important;}.has-awb-color-custom-6-color{color: var(--wp--preset--color--awb-color-custom-6) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-awb-color-1-background-color{background-color: var(--wp--preset--color--awb-color-1) !important;}.has-awb-color-2-background-color{background-color: var(--wp--preset--color--awb-color-2) !important;}.has-awb-color-3-background-color{background-color: var(--wp--preset--color--awb-color-3) !important;}.has-awb-color-4-background-color{background-color: var(--wp--preset--color--awb-color-4) !important;}.has-awb-color-5-background-color{background-color: var(--wp--preset--color--awb-color-5) !important;}.has-awb-color-6-background-color{background-color: var(--wp--preset--color--awb-color-6) !important;}.has-awb-color-7-background-color{background-color: var(--wp--preset--color--awb-color-7) !important;}.has-awb-color-8-background-color{background-color: var(--wp--preset--color--awb-color-8) !important;}.has-awb-color-custom-2-background-color{background-color: var(--wp--preset--color--awb-color-custom-2) !important;}.has-awb-color-custom-1-background-color{background-color: var(--wp--preset--color--awb-color-custom-1) !important;}.has-awb-color-custom-3-background-color{background-color: var(--wp--preset--color--awb-color-custom-3) !important;}.has-awb-color-custom-4-background-color{background-color: var(--wp--preset--color--awb-color-custom-4) !important;}.has-awb-color-custom-5-background-color{background-color: var(--wp--preset--color--awb-color-custom-5) !important;}.has-awb-color-custom-6-background-color{background-color: var(--wp--preset--color--awb-color-custom-6) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-awb-color-1-border-color{border-color: var(--wp--preset--color--awb-color-1) !important;}.has-awb-color-2-border-color{border-color: var(--wp--preset--color--awb-color-2) !important;}.has-awb-color-3-border-color{border-color: var(--wp--preset--color--awb-color-3) !important;}.has-awb-color-4-border-color{border-color: var(--wp--preset--color--awb-color-4) !important;}.has-awb-color-5-border-color{border-color: var(--wp--preset--color--awb-color-5) !important;}.has-awb-color-6-border-color{border-color: var(--wp--preset--color--awb-color-6) !important;}.has-awb-color-7-border-color{border-color: var(--wp--preset--color--awb-color-7) !important;}.has-awb-color-8-border-color{border-color: var(--wp--preset--color--awb-color-8) !important;}.has-awb-color-custom-2-border-color{border-color: var(--wp--preset--color--awb-color-custom-2) !important;}.has-awb-color-custom-1-border-color{border-color: var(--wp--preset--color--awb-color-custom-1) !important;}.has-awb-color-custom-3-border-color{border-color: var(--wp--preset--color--awb-color-custom-3) !important;}.has-awb-color-custom-4-border-color{border-color: var(--wp--preset--color--awb-color-custom-4) !important;}.has-awb-color-custom-5-border-color{border-color: var(--wp--preset--color--awb-color-custom-5) !important;}.has-awb-color-custom-6-border-color{border-color: var(--wp--preset--color--awb-color-custom-6) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
78.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-normal-font-size{font-size: var(--wp--preset--font-size--normal) !important;}.has-xlarge-font-size{font-size: var(--wp--preset--font-size--xlarge) !important;}.has-huge-font-size{font-size: var(--wp--preset--font-size--huge) !important;} 79/*# sourceURL=global-styles-inline-css */ 80</style> 81 82<link rel='stylesheet' id='fusion-dynamic-css-css' href='https://www.croonerradio.fr/wp-content/uploads/fusion-styles/add79662e1f41edc243ed0e30c1e6ff7.min.css?ver=3.16.2' media='all' /> 83 84<!-- Extrait de code de la balise Google (gtag.js) ajouté par Site Kit --> 85<!-- Extrait Google Analytics ajouté par Site Kit -->
vendor: 80 bytes, lines 85-86
85 86<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
86GT-TW559W6
vendor: 18 bytes, line 86
86" async></script>
87<script id="google_gtagjs-js-after"> 88window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 89gtag("set","linker",{"domains":["www.croonerradio.fr"]}); 90gtag("js", new Date()); 91gtag("set", "developer_id.dZTNiMT", true); 92gtag("config", "GT-TW559W6"); 93//# sourceURL=google_gtagjs-js-after 94</script>
94 95<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.croonerradio.fr/xmlrpc.php?rsd" /> 96 <style> 97 /* AJAX Loading Style */ 98 body.ajax-loading #main { 99 opacity: 0.3; 100 transition: opacity 0.4s; 101 pointer-events: none; 102 } 103 104 /* Global Image Fix */ 105 .radio-logo-layer, 106 .radio-cover, 107 .dy-dd-logo, 108 .dy-dd-cover, 109 .dy-mobile-logo, 110 .dy-mobile-cover { 111 width: 100% !important; 112 height: 100% !important; 113 object-fit: cover !important; 114 display: block !important; 115 max-width: none !important; 116 min-width: 100% !important; 117 min-height: 100% !important; 118 position: absolute !important; 119 top: 0 !important; 120 left: 0 !important; 121 transform: none !important; 122 /* No scaling during transitions */ 123 } 124 125 /* Container strictness */ 126 .dy-img-fixed-container { 127 flex-shrink: 0 !important; 128 position: relative !important; 129 overflow: hidden !important; 130 aspect-ratio: 1 / 1 !important; 131 background: rgba(0, 0, 0, 0.1); 132 /* Placeholder */ 133 } 134 135 136 137 .dy-mini-mobile-bar, 138 .dy-sticky-footer-pc { 139 overflow: visible !important; 140 } 141 142 /* Mini Player Style */ 143 /* CACHE-BUST: 1714326000 */ 144 .radio-display { 145 display: flex; 146 align-items: center; 147 gap: 0; 148 width: 100%; 149 max-width: 480px; 150 position: relative 151 } 152 153 .dy-mini-player.is-mini .radio-text { 154 display: none !important; 155 } 156 157 .dy-mini-player.is-mini { 158 width: auto !important; 159 min-width: unset !important; 160 padding-right: 15px !important; 161 } 162 163 .dy-mini-player { 164 position: relative; 165 } 166 167 .dy-mini-player::after { 168 content: ''; 169 position: absolute; 170 background: #000000; 171 z-index: 10; 172 display: none; 173 } 174 175 :root { 176 --dy-mob-gap: 4px; 177 --dy-mob-size-play: 20px; 178 --dy-mob-size-vol: 20px; 179 --dy-mob-size-list: 20px; 180 --dy-mob-size-fs: 20px; 181 } 182 183 .play-button { 184 font-size: 20px; 185 color: #fff !important; 186 width: auto; 187 min-width: 30px; 188 text-align: left; 189 transition: color .2s; 190 padding-right: 0px; 191 display: inline-flex; 192 align-items: center; 193 justify-content: center; 194 } 195 196 .radio-cover { 197 width: 60px !important; 198 height: 60px !important; 199 min-width: 60px; 200 max-width: 60px; 201 object-fit: cover; 202 border-radius: 5px 203 } 204 205 .radio-text { 206 display: flex; 207 flex-direction: column; 208 justify-content: center; 209 gap: 2px; 210 overflow: hidden; 211 flex: 1; 212 text-align: left 213 } 214 215 .on-air { 216 font-family: 'Inter', sans-serif; 217 font-size: 9px; 218 font-weight: 800; 219 color: #d60000; 220 margin: 0; 221 line-height: 1; 222 animation: dyBlink 1.5s infinite 223 } 224 225 @keyframes dyBlink { 226 227 0%, 228 100% { 229 opacity: 1 230 } 231 232 50% { 233 opacity: .4 234 } 235 } 236 237 @keyframes dyFadeInUp { 238 from { 239 opacity: 0; 240 transform: translateY(10px); 241 } 242 243 to { 244 opacity: 1; 245 transform: translateY(0); 246 } 247 } 248 249 .dy-animate-fade-in { 250 animation: dyFadeInUp 0.5s ease forwards; 251 opacity: 0; 252 } 253 254 @media (max-width: 1100px) { 255 .dy-mini-player .radio-text { 256 display: none !important; 257 } 258 259 .dy-mini-player { 260 width: auto !important; 261 min-width: unset !important; 262 padding-right: 15px !important; 263 } 264 } 265 266 .dy-mobile-fullscreen { 267 background: #000000 !important; } 268 269 .radio-subtitle, 270 .radio-title { 271 font-family: 'Inter', sans-serif; 272 font-size: 14px; 273 font-weight: 700; 274 color: #fff; 275 margin: 0; 276 white-space: nowrap; 277 overflow: hidden; 278 line-height: 1.2; 279 position: relative; 280 transition: opacity 0.3s ease; 281 } 282 283 .radio-title { 284 font-size: 11px; 285 font-weight: 400; 286 opacity: .8 287 } 288 289 .radio-subtitle span, 290 .radio-title span { 291 display: inline-block; 292 } 293 294 /* Dropdown Thumb Alternance & Flip */ 295 .dy-dd-img-wrap { 296 perspective: 1000px; 297 transform-style: preserve-3d; 298 } 299 300 .dy-dd-logo, 301 .dy-dd-cover { 302 backface-visibility: hidden; 303 transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1); 304 will-change: transform, opacity; 305 } 306 307 .dy-dd-logo { 308 transform: rotateY(0deg); 309 z-index: 2; 310 } 311 312 .dy-dd-cover { 313 transform: rotateY(-180deg); 314 opacity: 0; 315 z-index: 1; 316 } 317 318 .dy-mini-dropdown.dy-display-cover .dy-dd-logo, 319 .dy-fs-list-scroll.dy-display-cover .dy-dd-logo, 320 .dy-dropdown-item:hover .dy-dd-logo { 321 transform: rotateY(180deg); 322 opacity: 0 !important; 323 } 324 325 .dy-mini-dropdown.dy-display-cover .dy-dd-cover, 326 .dy-fs-list-scroll.dy-display-cover .dy-dd-cover, 327 .dy-dropdown-item:hover .dy-dd-cover { 328 transform: rotateY(0deg); 329 opacity: 1 !important; 330 } 331 332 .radio-subtitle.is-scrolling span, 333 .radio-title.is-scrolling span { 334 animation: dy-pingpong 15s ease-in-out infinite; 335 } 336 337 .dy-mini-player:not(.dy-podcast-mode) .dy-mini-podcast-control
337s, 338 .dy-mini-player:not(.dy-podcast-mode) .dy-mini-podcast-title { 339 display: none !important; 340 } 341 342 .dy-mini-player.dy-podcast-mode .dy-mini-podcast-title { 343 line-height: 1.2; 344 height: 2.4em; 345 overflow: hidden; 346 display: block !important; 347 white-space: normal !important; 348 } 349 350 .dy-mini-player.dy-podcast-mode .dy-mini-podcast-title span { 351 white-space: normal !important; 352 display: block !important; 353 width: 100%; 354 } 355 356 /* Vertical Volume Popup Style */ 357 .dy-volume-wrap { 358 position: relative; 359 margin-right: 15px; 360 z-index: 2000; 361 display: flex; 362 align-items: center; 363 justify-content: center; 364 width: 32px; 365 height: 32px; 366 cursor: pointer; 367 overflow: visible !important; 368 } 369 370 .dy-volume-toggle-svg { 371 width: 22px; 372 height: 22px; 373 fill: #fff; 374 cursor: pointer; 375 opacity: 0.7; 376 transition: all 0.3s ease; 377 } 378 379 .dy-mini-player .dy-volume-toggle-svg { 380 width: 30px; 381 height: 30px; 382 fill: #595959; 383 } 384 385 .dy-mini-player .dy-volume-wrap { 386 width: 40px; 387 height: 40px; 388 } 389 390 .dy-volume-wrap:hover .dy-volume-toggle-svg { 391 opacity: 1; 392 transform: scale(1.1); 393 } 394 395 .dy-vol-wave { 396 opacity: 0.3; 397 transition: opacity 0.2s; 398 } 399 400 .dy-vol-wave.active { 401 opacity: 1; 402 } 403 404 .dy-vol-mute { 405 display: none; 406 } 407 408 .is-muted .dy-vol-mute { 409 display: block; 410 opacity: 1; 411 } 412 413 .is-muted .dy-vol-wave { 414 display: none; 415 } 416 417 .dy-volume-popup { 418 position: absolute; 419 top: 100%; 420 left: 50%; 421 transform: translateX(-50%) translateY(0); 422 background: rgba(30, 30, 30, 0.5); 423 backdrop-filter: blur(10px); 424 padding: 15px 12px; 425 border-radius: 12px; 426 border: 1px solid rgba(255, 255, 255, 0.1); 427 box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 428 z-index: 2147483647 !important; 429 visibility: hidden; 430 opacity: 0; 431 transition: opacity 0.2s ease, transform 0.2s ease; 432 pointer-events: none; 433 margin-top: 5px; 434 } 435 436 @media (hover: hover) { 437 .dy-volume-wrap:hover .dy-volume-popup { 438 visibility: visible; 439 opacity: 1; 440 pointer-events: auto; 441 transition-delay: 0s; 442 } 443 } 444 445 /* Invisible bridge for Desktop hover only */ 446 @media (hover: hover) { 447 .dy-volume-wrap:hover::after { 448 content: ''; 449 position: absolute; 450 bottom: 100%; 451 left: 0; 452 width: 100%; 453 height: 15px; 454 background: transparent; 455 z-index: 10; 456 } 457 } 458 459 .dy-volume-wrap.is-active .dy-volume-popup, 460 .dy-volume-wrap[data-active="true"] .dy-volume-popup { 461 visibility: visible !important; 462 opacity: 1 !important; 463 transform: translateX(-50%) translateY(5px); 464 pointer-events: auto !important; 465 transition: none !important; 466 } 467 468 .dy-volume-slider-bg { 469 width: 30px; 470 height: 100px; 471 display: flex; 472 flex-direction: column; 473 align-items: center; 474 cursor: pointer; 475 position: relative; 476 } 477 478 .dy-mini-volume-rail { 479 width: 6px; 480 height: 100px; 481 background: rgba(255, 255, 255, 0.15); 482 border-radius: 3px; 483 position: relative; 484 } 485 486 .dy-mini-volume-fill { 487 position: absolute; 488 left: 0; 489 bottom: 0; 490 width: 100%; 491 background: #fff; 492 border-radius: 3px; 493 height: 100%; 494 box-shadow: 0 0 10px rgba(255, 255, 255, 0.3); 495 } 496 497 /* Specific styles for Mobile Mini Bar Volume Popup */ 498 .dy-mini-mobile-bar .dy-volume-popup, 499 .dy-sticky-footer-pc .dy-volume-popup { 500 background: rgba(0, 0, 0, 0.9) !important; 501 bottom: 100% !important; 502 top: auto !important; 503 margin-bottom: 10px; 504 margin-top: 0;
505 transform: translateX(-50%) translateY(0); 506 } 507 508 .dy-mini-mobile-bar .dy-volume-wrap.is-active .dy-volume-popup, 509 .dy-mini-mobile-bar .dy-volume-wrap[data-active="true"] .dy-volume-popup, 510 .dy-mini-mobile-bar .dy-volume-wrap:hover .dy-volume-popup, 511 .dy-sticky-footer-pc .dy-volume-wrap.is-active .dy-volume-popup, 512 .dy-sticky-footer-pc .dy-volume-wrap[data-active="true"] .dy-volume-popup, 513 .dy-sticky-footer-pc .dy-volume-wrap:hover .dy-volume-popup { 514 visibility: visible !important; 515 opacity: 1 !important; 516 transform: translateX(-50%) translateY(-10px) !important; 517 pointer-events: auto !important; 518 display: block !important; 519 transition: none !important; 520 } 521 522 .dy-volume-wrap.dy-force-hide .dy-volume-popup { 523 visibility: hidden !important; 524 opacity: 0 !important; 525 pointer-events: none !important; 526 transition: none !important; 527 } 528 529 .dy-mini-mobile-bar .dy-mini-volume-rail { 530 background: #c4c4c4 !important; 531 } 532 533 .dy-mini-mobile-bar .dy-mini-volume-fill { 534 background: #ffffff !important; 535 } 536 537 .dy-mini-mobile-bar .dy-mini-volume-fill::after { 538 background: #ffffff !important; 539 } 540 541 .dy-mini-volume-fill::after, 542 .dy-fs-slider-fill::after { 543 content: ''; 544 position: absolute; 545 background: #fff; 546 border-radius: 50%; 547 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); 548 z-index: 10; 549 } 550 551 /* Vertical Handle */ 552 .dy-mini-volume-fill::after { 553 top: -8px; 554 left: 50%; 555 transform: translateX(-50%); 556 width: 16px; 557 height: 16px; 558 } 559 560 /* Horizontal Handle */ 561 .dy-fs-slider-fill::after { 562 right: -8px; 563 top: 50%; 564 transform: translateY(-50%); 565 width: 16px; 566 height: 16px; 567 } 568 569 .dy-display-logo .radio-logo-layer { 570 opacity: 1 !important; 571 z-index: 2; 572 } 573 574 .dy-display-logo .radio-cover { 575 opacity: 0 !important; 576 z-index: 1; 577 } 578 579 .dy-display-cover .radio-logo-layer { 580 opacity: 0 !important; 581 z-index: 1; 582 } 583 584 .dy-display-cover .radio-cover { 585 opacity: 1 !important; 586 z-index: 2; 587 } 588 589 .radio-logo-layer, 590 .radio-cover { 591 transition: opacity 0.8s ease; 592 } 593 594 /* Specific styles for Simple player visual assets */ 595 .dy-display-logo .dy-simple-logo-img { 596 opacity: 1 !important; 597 z-index: 2; 598 } 599 600 .dy-display-logo .dy-simple-cover-img { 601 opacity: 0 !important; 602 z-index: 1; 603 } 604 605 .dy-display-cover .dy-simple-logo-img { 606 opacity: 0 !important; 607 z-index: 1; 608 } 609 610 .dy-display-cover .dy-simple-cover-img { 611 opacity: 1 !important; 612 z-index: 2; 613 } 614 615 .dy-simple-logo-img, 616 .dy-simple-cover-img { 617 transition: opacity 0.8s ease; 618 } 619 620 /* Full Carousel Player Style */ 621 .dy-carousel-container { 622 width: 100%; 623 overflow: hidden; 624 position: relative; 625 padding: 10px 0; 626 } 627 628 .dy-carousel-wrapper { 629 display: flex; 630 overflow-x: auto; 631 scroll-snap-type: x mandatory; 632 gap: 12px; 633 padding-bottom: 12px; 634 scroll-behavior: smooth; 635 scrollbar-width: thin; 636 scrollbar-color: #a08053 transparent; 637 } 638 639 .dy-carousel-wrapper.no-sb { 640 scrollbar-width: none; 641 -ms-overflow-style: none; 642 padding-bottom: 0; 643 } 644 645 .dy-carousel-wrapper.no-sb::-webkit-scrollbar { 646 display: none; 647 } 648 649 .dy-carousel-wrapper::-webkit-scrollbar { 650 height: 8px; 651 } 652 653 .dy-carousel-wrapper::-webkit-scrollbar-thumb { 654 background: #a08053; 655 border-radius: 4px; 656 } 657 658 .dy-station-card { 659 flex: 0 0 auto; 660 width: calc((100% - (var(--dy-visible-items, 6) - 1) * 12px) / var(--dy-visible-items, 6)); 661 min-width: 200px; 662 height: 350px; 663 scroll-snap-align: start; 664 border-radius: 10px; 665 display: flex; 666 flex-direction: column; 667 align-items: center; 668 justify-content: center; 669 padding: 20px; 670 box-sizing: border-box; 671 position: relative; 672 color: #fff; 673 cursor: pointer; 674 transition: transform 0.2s; 675 border: none !important; 676 outline: none !important; 677 overflow: hidden; 678 background: transparent !important; 679 } 680 681 .dy-card-bg { 682 position: absolute; 683 inset: 0; 684 z-index: 1; 685 background-size: cover; 686 background-position: center; 687 border-radius: 5px; 688 transition: opacity 0.3s; 689 pointer-events: none; 690 } 691 692 .dy-card-overlay { 693 position: absolute; 694 inset: 0; 695 z-index: 2; 696 pointer-events: none; 697 border-radius: 5px; 698 } 699 700 .dy-station-card:hover { 701 transform: translateY(-3px); 702 } 703 704 .dy-glass-bg { 705 position: absolute; 706 inset: -30px; 707 z-index: 0; 708 background-size: cover; 709 background-position: center; 710 filter: blur(2px) brightness(0.7); 711 pointer-events: none; 712 transition: background-image 0.5s, opacity 0.3s; 713 } 714 715 .dy-cover-container { 716 position: relative; 717 z-index: 5; 718 width: 110px; 719 height: 110px; 720 margin: 0 auto 20px; 721 flex-shrink: 0; 722 perspective: 1000px; 723 } 724 725 .dy-station-cover, 726 .dy-station-logo-layer { 727 position: absolute; 728 inset: 0; 729 width: 100% !important; 730 height: 100% !important; 731 border-radius: 5px; 732 object-fit: cover; 733 transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); 734 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); 735 backface-visibility: hidden; 736 } 737 738 /* --- MODERN FLIP & HOVER LOGIC --- */ 739 740 /* Initial States */ 741 .dy-station-logo-layer { 742 z-index: 2; 743 transform: rotateY(0deg); 744 } 745 746 .dy-station-cover { 747 z-index: 1; 748 transform: rotateY(-180deg); 749 opacity: 0; 750 } 751 752 /* Default visibility based on bg_mode (Logo vs Cover) */ 753 .dy-carousel-container.dy-display-logo .dy-station-logo-layer { 754 opacity: 1 !important; 755 z-index: 2; 756 transform: rotateY(0deg); 757 } 758 759 .dy-carousel-container.dy-display-logo .dy-station-cover { 760 opacity: 0 !important; 761 z-index: 1; 762 transform: rotateY(-180deg); 763 } 764 765 .dy-carousel-container.dy-display-cover .dy-station-logo-layer { 766 opacity: 0 !important; 767 z-index: 1; 768 transform: rotateY(180deg); 769 } 770 771 .dy-carousel-container.dy-display-cover .dy-station-cover { 772 opacity: 1 !important; 773 z-index: 2; 774 transform: rotateY(0deg); 775 } 776 777 /* MODE: FLIP (Inversion) - Logo default: show cover on hover */ 778 .dy-carousel-container.dy-display-logo[data-hover-mode="flip"] .dy-station-card:hover .dy-station-logo-layer { 779 transform: rotateY(180deg) !important; 780 opacity: 0 !important; 781 z-index: 1 !important; 782 } 783 784 .dy-carousel-container.dy-display-logo[data-hover-mode="flip"] .dy-station-card:hover .dy-station-cover { 785 transform: rotateY(0deg) !important; 786 opacity: 1 !important; 787 z-index: 3 !important; 788 } 789 790 /* MODE: FLIP (Inversion) - Cover default: show logo on hover */ 791 .dy-carousel-container.dy-display-cover[data-hover-mode="flip"] .dy-station-card:hover .dy-station-logo-layer { 792 transform: rotateY(0deg) !important; 793 opacity: 1 !important; 794 z-index: 3 !important; 795 } 796 797 .dy-carousel-container.dy-display-cover[data-hover-mode="flip"] .dy-station-card:hover .dy-station-cover { 798 transform: rotateY(-180deg) !important; 799 opacity: 0 !important; 800 z-index: 1 !important; 801 } 802 803 /* MODE: LOGO (Force Logo au survol) */ 804 .dy-carousel-container[data-hover-mode="logo"] .dy-station-card:hover .dy-station-logo-layer { 805 opacity: 1 !important; 806 z-index: 3 !important; 807 transform: rotateY(0deg) !important; 808 } 809 810 .dy-carousel-container[data-hover-mode="logo"] .dy-station-card:hover .dy-station-cover { 811 opacity: 0 !important; 812 z-index: 1 !important; 813 transform: rotateY(-180deg) !important; 814 } 815 816 /* MODE: COVER (Force Pochette au survol) */ 817 .dy-carousel-container[data-hover-mode="cover"] .dy-station-card:hover .dy-station-cover { 818 opacity: 1 !important; 819 z-index: 3 !important; 820 transform: rotateY(0deg) !important; 821 } 822 823 .dy-carousel-container[data-hover-mode="cover"] .dy-station-card:hover .dy-station-logo-layer { 824 opacity: 0 !important; 825 z-index: 1 !important; 826 transform: rotateY(180deg) !important; 827 } 828 829 /* MODE: NONE (Désactivé - pas de changement au survol) */ 830 831 .dy-station-card-info { 832 position: relative; 833 z-index: 5; 834 text-align: center; 835 width: 100%; 836 transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); 837 } 838 839 .dy-station-name, 840 .dy-station-artist, 841 .dy-station-title { 842 font-family: 'Inter', sans-serif; 843 white-space: nowrap; 844 overflow: hidden; 845 text-overflow: ellipsis; 846 width: 100%; 847 text-shadow: none; 848 min-height: 1.2em; 849 transition: opacity 0.3s ease; 850 } 851 852 .dy-station-name { 853 font-size: 10px; 854 font-weight: 400; 855 opacity: 0.7; 856 text-transform: uppercase; 857 margin-bottom: 2px; 858 } 859 860 .dy-station-artist { 861 font-size: 15px; 862 font-weight: 700; 863 margin-bottom: 2px; 864 } 865 866 .dy-station-title { 867 font-size: 12px; 868 font-weight: 400; 869 opacity: 0.9; 870 margin-bottom: 15px; 871 } 872 873 .dy-play-btn { 874 background: rgba(255, 255, 255, 0.2); 875 border: none; 876 color: #fff; 877 padding: 12px 28px; 878 border-radius: 7px; 879 font-size: 14px; 880 font-weight: 600; 881 cursor: pointer; 882 transition: background 0.2s, transform 0.1s; 883 display: inline-flex; 884 align-items: center; 885 justify-content: center; 886 gap: 8px; 887 margin: 0 auto; 888 backdrop-filter: blur(5px); 889 } 890 891 .dy-play-btn:hover { 892 background: rgba(255, 255, 255, 0.4); 893 transform: scale(1.05); 894 color: #fff; 895 } 896 897 .dy-card-active { 898 border: none !important; 899 box-shadow: none !important; 900 } 901 902 .dy-nav-side { 903 position: absolute; 904 top: 50%; 905 transform: translateY(-50%); 906 display: flex; 907 flex-direction: column; 908 align-items: center; 909 gap: 10px; 910 z-index: 10; 911 } 912 913 .dy-nav-side-left { 914 left: 15px; 915 } 916 917 .dy-nav-side-right { 918 right: 15px; 919 } 920 921 .dy-nav-arrow { 922 width: 40px; 923 height: 40px; 924 background: rgba(0, 0, 0, 0.5); 925 color: #fff; 926 border-radius: 50%; 927 display: flex; 928 align-items: center; 929 justify-content: center; 930 cursor: pointer; 931 border: none; 932 transition: background 0.3s, transform 0.2s; 933 } 934 935 .dy-nav-arrow:hover { 936 background: rgba(0, 0, 0, 0.8); 937 transform: scale(1.1); 938 } 939 940 /* Mini Player Styles (Isolated) */ 941 .radio-display.dy-mini-player { 942 position: relative; 943 overflow: visible !important; 944 cursor: pointer; 945 background: linear-gradient(135deg, rgba(255,255,255,0.08) 1%, rgba(0,0,0,1) 54%) !important;padding-left: 10px !important; 946 border-top-left-radius: 10px; 947 border-top-right-radius: 10px; 948 border-bottom-right-radius: 10px; 949 border-bottom-left-radius: 10px; 950 } 951 952 /* Mini Player alternation logic (specific source layers) */ 953 .dy-mini-player.dy-display-logo .radio-logo-layer { 954 opacity: 1 !important; 955 } 956 957 .dy-mini-player.dy-display-logo .radio-cover { 958 opacity: 0 !important; 959 } 960 961 .dy-mini-player.dy-display-cover .radio-logo-layer { 962 opacity: 0 !important; 963 } 964 965 .dy-mini-player.dy-display-cover .radio-cover { 966 opacity: 1 !important; 967 } 968 969 .radio-logo-layer, 970 .radio-cover { 971 transition: opacity 0.5s ease; 972 } 973 974 .dy-mini-dropdown { 975 position: absolute; 976 top: calc(100% + 10px); 977 left: 0; 978 width: 100%; 979 min-width: 420px; 980 background: var(--dy-dd-bg, rgba(20, 20, 20, 0.95)) !important; 981 backdrop-filter: blur(15px); 982 -webkit-backdrop-filter: blur(15px); 983 border: 1px solid rgba(255, 255, 255, 0.1); 984 border-radius: 4px !important; 985 z-index: 9999; 986 padding: 15px; 987 box-shadow: 0 10px 50px rgba(0, 0, 0, 0.7); 988 opacity: 0; 989 visibility: hidden; 990 transform: translateY(-10px); 991 transition: all 0.3s ease; 992 max-height: 650px; 993 overflow-y: auto; 994 text-align: left; 995 } 996 997 .dy-mini-dropdown.is-active { 998 opacity: 1;
999 visibility: visible; 1000 transform: translateY(0); 1001 } 1002 1003 1004 .dy-mini-dropdown::-webkit-scrollbar { 1005 width: 6px; 1006 } 1007 1008 .dy-mini-dropdown::-webkit-scrollbar-thumb { 1009 background: rgba(255, 255, 255, 0.2); 1010 border-radius: 3px; 1011 } 1012 1013 .dy-dropdown-item { 1014 display: flex; 1015 align-items: center; 1016 padding: 12px 15px; 1017 border-radius: 10px; 1018 cursor: pointer; 1019 transition: all 0.2s; 1020 gap: 15px; 1021 color: #fff; 1022 margin-bottom: 4px; 1023 } 1024 1025 .dy-dropdown-item:hover { 1026 background: rgba(255, 255, 255, 0.1); 1027 } 1028 1029 .dy-dropdown-item.is-playing { 1030 background: #b1a18c !important; 1031 border-left: none; 1032 } 1033 1034 .dy-dropdown-item img { 1035 width: 100% !important; 1036 height: 100% !important; 1037 border-radius: inherit; 1038 object-fit: cover !important; 1039 flex-shrink: 0; 1040 box-shadow: none; 1041 position: absolute; 1042 inset: 0; 1043 } 1044 1045 .dy-dd-img-wrap { 1046 position: relative; 1047 width: 55px; 1048 height: 55px; 1049 flex-shrink: 0; 1050 margin-right: 15px; 1051 border-radius: 8px; 1052 overflow: hidden; 1053 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4); 1054 } 1055 1056 .dy-dd-text { 1057 display: flex; 1058 flex-direction: column; 1059 overflow: hidden; 1060 flex: 1; 1061 text-align: left !important; 1062 } 1063 1064 .dy-dd-name { 1065 font-size: 10px; 1066 font-weight: 400; 1067 text-transform: uppercase; 1068 color: #96804f; 1069 margin-bottom: 2px; 1070 } 1071 1072 .dy-dd-artist { 1073 font-size: 13px; 1074 font-weight: bold; 1075 white-space: nowrap; 1076 overflow: hidden; 1077 text-overflow: ellipsis; 1078 line-height: 1.2; 1079 } 1080 1081 .dy-dd-title { 1082 font-size: 12px; 1083 opacity: 0.8; 1084 white-space: nowrap; 1085 overflow: hidden; 1086 text-overflow: ellipsis; 1087 line-height: 1.2; 1088 } 1089 1090 /* Mini Mobile Sidebar Controls Harmony */ 1091 .dy-mobile-controls-group { 1092 display: flex !important; 1093 align-items: center !important; 1094 gap: var(--dy-mob-gap) !important; 1095 margin-left: auto !important; 1096 padding-right: 5px; 1097 } 1098 1099 .dy-mobile-controls-group>div, 1100 .dy-mobile-controls-group>span, 1101 .dy-mobile-controls-group>i { 1102 display: flex !important; 1103 align-items: center !important; 1104 justify-content: center !important; 1105 color: #fff !important; 1106 cursor: pointer !important; 1107 transition: all 0.2s ease; 1108 opacity: 0.7; 1109 width: auto !important; 1110 min-width: 32px; 1111 height: 36px; 1112 padding: 0 var(--dy-mob-gap); 1113 } 1114 1115 .dy-mobile-controls-group>*:active { 1116 transform: scale(0.9); 1117 opacity: 1; 1118 } 1119 1120 .dy-mobile-controls-group .dy-mobile-play { 1121 font-size: var(--dy-mob-size-play) !important; 1122 } 1123 1124 .dy-mobile-controls-group .dy-volume-toggle-svg { 1125 width: var(--dy-mob-size-vol) !important; 1126 height: var(--dy-mob-size-vol) !important; 1127 opacity: 1 !important; 1128 } 1129 1130 .dy-mobile-controls-group .dy-mobile-more { 1131 font-size: var(--dy-mob-size-list) !important; 1132 } 1133 1134 .dy-mobile-controls-group .dy-mobile-fullscreen-toggle { 1135 font-size: var(--dy-mob-size-fs) !important; 1136 } 1137 1138 /* Full Screen Mobile Overlay - Refined modern design */ 1139 .dy-mobile-fullscreen { 1140 position: fixed !important; 1141 inset: 0 !important; 1142 top: 0 !important; 1143 left: 0 !important; 1144 right: 0 !important; 1145 bottom: 0 !important; 1146 width: 100% !important; 1147 width: 100vw !important; 1148 height: 100% !important; 1149 height: 100vh !important; 1150 margin: 0 !important; 1151 border: none !important; 1152 outline: none !important; 1153 box-sizing: border-box !important; 1154 z-index: 9999999 !important; 1155 display: none; 1156 flex-direction: column; 1157 padding: 5% 30px 25% 30px !important; 1158 align-items: center; 1159 justify-content: space-between; 1160 text-align: center; 1161 color: #fff !important; 1162 background: #050505 !important;font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; 1163 backdrop-filter: blur(20px); 1164 } 1165 1166 .dy-mobile-fullscreen::before { 1167 content: ''; 1168 position: absolute; 1169 inset: 0; 1170 background: rgba(0, 0, 0, 0.2); 1171 z-index: -1; 1172 pointer-events: none; 1173 } 1174 1175 .dy-mobile-fullscreen.is-active { 1176 display: flex; 1177 animation: dyFadeIn 0.5s cubic-bezier(0.4, 0, 0.2, 1); 1178 } 1179 1180 .dy-mobile-fullscreen.dy-podcast-mode { 1181 background: rgba(160, 128, 83, 0.1) !important;background-color: rgba(160, 128, 83, 0.1) !important; } 1182 1183 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-list-btn-station-label { 1184 display: none !important; 1185 } 1186 1187 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-list-btn-podcast-label { 1188 display: inline-block !important; 1189 } 1190 1191 .dy-fs-header { 1192 width: 100%; 1193 display: flex; 1194 flex-direction: column; 1195 align-items: center; 1196 gap: 2px; 1197 position: relative; 1198 margin-top: 15% !important; 1199 margin-bottom: -10px; 1200 } 1201 1202 .dy-fs-list-btn { 1203 position: absolute; 1204 top: 3% !important; 1205 right: 25px; 1206 font-size: 20px; 1207 opacity: 0.7; 1208 cursor: pointer; 1209 z-index: 10; 1210 height: 44px;
1211 display: flex; 1212 align-items: center; 1213 justify-content: center; 1214 background: transparent; 1215 border: none; 1216 color: #fff; 1217 transition: all 0.2s; 1218 } 1219 1220 .dy-fs-list-btn:not(.has-text) { 1221 width: 44px; 1222 border-radius: 50%; 1223 } 1224 1225 .dy-fs-list-btn.has-text { 1226 padding: 0 14px; 1227 border-radius: 22px; 1228 gap: 8px; 1229 font-size: 16px; 1230 background: rgba(255, 255, 255, 0.08); 1231 } 1232 1233 .dy-fs-list-btn.has-text i { 1234 font-size: 15px; 1235 } 1236 1237 .dy-fs-list-btn:hover { 1238 opacity: 1; 1239 background: rgba(255, 255, 255, 0.12); 1240 } 1241 1242 .dy-fs-list-btn:active { 1243 background: rgba(255, 255, 255, 0.18); 1244 transform: scale(0.95); 1245 } 1246 1247 .dy-fs-clock { 1248 font-size: 20px; 1249 color: #ffffff; 1250 font-weight: 600; 1251 letter-spacing: 10; 1252 opacity: 1; 1253 text-shadow: none; 1254 font-variant-numeric: tabular-nums; 1255 min-width: 120px; 1256 text-align: center; 1257 font-family: 'Inter', sans-serif; 1258 } 1259 1260 .dy-fs-live-badge { 1261 font-size: 10px; 1262 background: #e60000; 1263 color: #ffffff; 1264 padding: 4px 12px; 1265 border-radius: 20px; 1266 font-weight: 400; 1267 text-transform: uppercase; 1268 letter-spacing: 1px; 1269 box-shadow: 0 0 15px rgba(230,0,0,0.3); 1270 animation: dyPulse 2s infinite; 1271 font-family: inherit; 1272 } 1273 1274 .dy-fs-img-wrap { 1275 position: relative; 1276 width: 220px !important; 1277 height: 220px !important; 1278 max-width: 95vw !important; 1279 max-height: 95vw !important; 1280 aspect-ratio: 1/1; 1281 flex-shrink: 0; 1282 border-radius: 12px; 1283 padding: 0; 1284 margin-top: 10% !important; 1285 background: transparent; 1286 border: none !important; 1287 box-shadow: 0 40px 100px rgba(0, 0, 0, 0.9); 1288 } 1289 1290 .dy-fs-img-inner { 1291 position: relative; 1292 width: 100% !important; 1293 height: 100% !important; 1294 border-radius: 12px; 1295 overflow: hidden; 1296 } 1297 1298 .dy-fs-img-inner img { 1299 position: absolute !important; 1300 inset: 0 !important; 1301 width: 100% !important; 1302 height: 100% !important; 1303 max-width: none !important; 1304 max-height: none !important; 1305 object-fit: cover !important; 1306 transition: opacity 0.6s ease; 1307 border-radius: 12px !important; 1308 margin: 0 !important; 1309 } 1310 1311 .dy-fs-content { 1312 width: 100%; 1313 margin-top: 10% !important; 1314 } 1315 1316 .dy-fs-artist { 1317 font-size: 25px !important; 1318 font-weight: 400 !important; 1319 color: #ffffff !important; 1320 margin-bottom: 8px; 1321 letter-spacing: -0.5px; 1322 line-height: 1.1; 1323 white-space: normal !important; 1324 display: -webkit-box !important; 1325 -webkit-line-clamp: 3; 1326 -webkit-box-orient: vertical; 1327 overflow: hidden; 1328 } 1329 1330 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-artist, 1331 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-title { 1332 display: none !important; 1333 } 1334 1335 .dy-fs-artist.is-scrolling { 1336 white-space: nowrap !important; 1337 display: block !important; 1338 } 1339 1340 .dy-fs-title { 1341 font-size: 16px !important; 1342 color: #ffffff !important; 1343 font-weight: 400 !important; 1344 line-height: 1.4; 1345 display: -webkit-box !important; 1346 -webkit-line-clamp: 3; 1347 -webkit-box-orient: vertical; 1348 overflow: hidden; 1349 } 1350 1351 .dy-fs-title.is-scrolling { 1352 white-space: nowrap !important; 1353 display: block !important; 1354 } 1355 1356 .dy-fs-podcast-title-wrap { 1357 display: none; 1358 } 1359 1360 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-podcast-title-wrap { 1361 display: block !important; 1362 margin-top: 2% !important; 1363 } 1364 1365 .dy-mobile-fullscreen.dy-podcast-mode .dy-mini-podcast-control
1365s { 1366 margin-top: 4% !important; 1367 padding-bottom: 10% !important; 1368 } 1369 1370 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-podcast-progress-row { 1371 margin-bottom: 3% !important; 1372 } 1373 1374 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-podcast-main-ctrls { 1375 margin-top: 5% !important; 1376 margin-bottom: 10% !important; 1377 } 1378 1379 .dy-fs-controls { 1380 width: 100%; 1381 display: flex; 1382 flex-direction: column; 1383 align-items: center; 1384 justify-content: center; 1385 gap: 20px; 1386 padding-bottom: 20% !important; 1387 } 1388 1389 .dy-fs-controls .dy-fs-play { 1390 margin-top: 20% !important; 1391 margin-bottom: 20% !important; 1392 } 1393 1394 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-controls { 1395 display: none !important; 1396 } 1397 1398 .dy-fs-play { 1399 width: 16; 1400 height: 16; 1401 border-radius: 50%; 1402 background: transparent !important; 1403 background-color: transparent !important; 1404 border: none !important; 1405 outline: none !important; 1406 color: #000000; 1407 display: flex; 1408 align-items: center; 1409 justify-content: center; 1410 font-size: 30px; 1411 cursor: pointer; 1412 box-shadow: none !important; 1413 transition: transform 0.2s; 1414 flex-shrink: 0; 1415 } 1416 1417 .dy-fs-vol-btn { 1418 width: 12; 1419 height: 12; 1420 border-radius: 50%; 1421 background: transparent; 1422 border: none; 1423 color: #000000; 1424 display: flex; 1425 align-items: center; 1426 justify-content: center; 1427 font-size: 30px; 1428 cursor: pointer; 1429 transition: transform 0.2s; 1430 flex-shrink: 0; 1431 } 1432 1433 .dy-fs-vol-wrap { 1434 width: 100% !important; 1435 height: auto !important; 1436 display: flex !important; 1437 justify-content: center !important; 1438 margin-top: 10px; 1439 padding: 10px 0; 1440 } 1441 1442 .dy-fs-slider-bg { 1443 width: 70% !important; 1444 max-width: 250px !important; 1445 height: 4px !important; 1446 background: #f7f7f7 !important; 1447 border-radius: 2px !important; 1448 cursor: pointer !important; 1449 position: relative; 1450 overflow: visible !important; 1451 touch-action: none; 1452 margin: 15px 0 !important; 1453 transition: background 0.3s; 1454 } 1455 1456 /* Invisible hit area for better touch */ 1457 .dy-fs-slider-bg::before { 1458 content: ""; 1459 position: absolute; 1460 inset: -15px 0; 1461 z-index: 1; 1462 } 1463 1464 .dy-fs-slider-fill { 1465 position: absolute; 1466 left: 0; 1467 top: 0; 1468 height: 4px !important; 1469 background: #ababab !important; 1470 width: 100%; 1471 border-radius: 2px; 1472 } 1473 1474 /* Sleek Modern Touch Handle */ 1475 .dy-fs-slider-fill::after { 1476 content: ""; 1477 position: absolute; 1478 right: -7px; 1479 top: 50%; 1480 transform: translateY(-50%); 1481 width: 14px; 1482 height: 14px; 1483 background: #ffffff; 1484 border-radius: 50%; 1485 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); 1486 transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); 1487 } 1488 1489 .dy-fs-slider-bg:hover .dy-fs-slider-fill::after, 1490 .dy-fs-slider-bg:active .dy-fs-slider-fill::after { 1491 transform: translateY(-50%) scale(1.25); 1492 } 1493 1494 .dy-fs-play:active, 1495 .dy-fs-vol-btn:active { 1496 transform: scale(0.9); 1497 } 1498 1499 /* Premium Viewport Height Responsiveness */ 1500 @media (max-height: 780px) { 1501 1502 .dy-fs-close, 1503 .dy-fs-list-btn { 1504 height: 36px !important; 1505 } 1506 1507 .dy-fs-clock { 1508 font-size: 24px !important; 1509 } 1510 1511 .dy-fs-img-wrap { 1512 width: 210px !important; 1513 height: 210px !important; 1514 } 1515 1516 .dy-fs-podcast-main-ctrls { 1517 gap: 25px !important; 1518 } 1519 1520 .dy-fs-controls { 1521 gap: 10px !important; 1522 } 1523 1524 .dy-fs-artist { 1525 font-size: 20px !important; 1526 margin-bottom: 5px !important; 1527 } 1528 } 1529 1530 @media (max-height: 680px) { 1531 1532 .dy-fs-close, 1533 .dy-fs-list-btn { 1534 height: 32px !important; 1535 } 1536 1537 .dy-fs-clock { 1538 font-size: 20px !important; 1539 } 1540 1541 .dy-fs-img-wrap { 1542 width: 160px !important; 1543 height: 160px !important; 1544 } 1545 1546 .dy-fs-podcast-main-ctrls { 1547 gap: 20px !important; 1548 } 1549 1550 .dy-fs-controls { 1551 gap: 5px !important; 1552 } 1553 1554 .dy-fs-artist { 1555 font-size: 18px !important; 1556 } 1557 1558 .dy-fs-title { 1559 font-size: 14px !important; 1560 } 1561 } 1562 1563 .dy-fs-close { 1564 position: absolute; 1565 top: 3% !important; 1566 left: 25px; 1567 font-size: 20px; 1568 opacity: 0.7; 1569 cursor: pointer; 1570 z-index: 10; 1571 height: 44px;
1572 display: flex; 1573 align-items: center; 1574 justify-content: center; 1575 background: transparent; 1576 border: none; 1577 color: #fff; 1578 transition: all 0.2s; 1579 } 1580 1581 .dy-fs-close:not(.has-text) { 1582 width: 44px; 1583 border-radius: 50%; 1584 } 1585 1586 .dy-fs-close.has-text { 1587 padding: 0 14px; 1588 border-radius: 22px; 1589 gap: 8px; 1590 font-size: 16px; 1591 background: rgba(255, 255, 255, 0.08); 1592 } 1593 1594 .dy-fs-close.has-text i { 1595 font-size: 15px; 1596 } 1597 1598 .dy-fs-close:hover { 1599 opacity: 1; 1600 background: rgba(255, 255, 255, 0.12); 1601 } 1602 1603 .dy-fs-close:active { 1604 background: rgba(255, 255, 255, 0.18); 1605 transform: scale(0.95); 1606 } 1607 1608 /* FullScreen List Drawer */ 1609 .dy-fs-list-drawer { 1610 position: fixed !important; 1611 inset: 0 !important; 1612 width: 100vw !important; 1613 height: 100vh !important; 1614 background: rgba(0, 0, 0, 0.98) !important; 1615 backdrop-filter: blur(40px); 1616 -webkit-backdrop-filter: blur(40px); 1617 z-index: 99999999 !important; 1618 transform: translateY(100%); 1619 transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); 1620 display: flex; 1621 flex-direction: column; 1622 padding: 40px 25px; 1623 } 1624 1625 .dy-fs-list-drawer.is-active { 1626 transform: translateY(0); 1627 } 1628 1629 .dy-fs-list-scroll { 1630 flex: 1; 1631 overflow-y: auto; 1632 margin-top: 20px; 1633 } 1634 1635 .dy-fs-list-scroll .dy-dropdown-item { 1636 padding: 12px 15px; 1637 border-radius: 10px; 1638 background: transparent; 1639 gap: 15px; 1640 border-bottom: 1px solid rgba(255, 255, 255, 0.05); 1641 } 1642 1643 .dy-fs-list-scroll .dy-dropdown-item:hover { 1644 background: rgba(255, 255, 255, 0.05); 1645 } 1646 1647 .dy-fs-list-scroll .dy-dd-name { 1648 font-size: 8px; 1649 color: #96804f; 1650 opacity: 1; 1651 } 1652 1653 .dy-fs-list-scroll .dy-dd-artist { 1654 font-size: 13px; 1655 font-weight: bold; 1656 color: #fff; 1657 } 1658 1659 .dy-fs-list-scroll .dy-dd-title { 1660 font-size: 11px; 1661 color: rgba(255, 255, 255, 0.8); 1662 } 1663 1664 .dy-fs-list-close { 1665 margin-bottom: 25px; 1666 font-size: 16px; 1667 font-weight: 800; 1668 text-transform: uppercase; 1669 letter-spacing: 2px; 1670 color: #a08053; 1671 display: flex; 1672 justify-content: space-between; 1673 align-items: center; 1674 } 1675 1676 .dy-fs-list-close i { 1677 font-size: 24px; 1678 padding: 5px; 1679 } 1680 1681 .dy-fs-list-modes i { 1682 transition: all 0.3s ease; 1683 } 1684 1685 .dy-fs-list-modes i.is-active { 1686 color: #fff !important; 1687 opacity: 1 !important; 1688 transform: scale(1.2); 1689 } 1690 1691 .dy-fs-list-modes i:not(.is-active) { 1692 color: #fff !important; 1693 opacity: 0.3 !important; 1694 } 1695 1696 .dy-action-card { 1697 padding: 10px 15px; 1698 background: #a08053; 1699 color: #fff !important; 1700 font-weight: 400; 1701 font-size: 12px; 1702 cursor: pointer; 1703 text-align: center; 1704 border-radius: 12px; 1705 margin: 15px 0 15px 0; 1706 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); 1707 display: flex; 1708 align-items: center; 1709 justify-content: center; 1710 gap: 10px; 1711 transition: all 0.3s ease; 1712 border: none; 1713 text-transform: uppercase; 1714 } 1715 1716 .dy-action-card:hover { 1717 transform: translateY(-2px); 1718 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5); 1719 filter: brightness(1.1); 1720 } 1721 1722 .dy-action-card i { 1723 font-size: 16px; 1724 } 1725 1726 @keyframes dyBlink { 1727 1728 0%, 1729 100% { 1730 opacity: 1;
1731 } 1732 1733 50% { 1734 opacity: 0.5; 1735 } 1736 } 1737 1738 /* Podcast List Styles */ 1739 .dy-podcast-list { 1740 display: flex; 1741 flex-direction: column; 1742 gap: 12px; 1743 margin: 20px 0; 1744 width: 100%; 1745 padding-bottom: 30px; 1746 } 1747 1748 .dy-podcast-main-title { 1749 color: #ffffff; 1750 font-size: 20px; 1751 font-weight: 900; 1752 margin: 0 0 5px 0; 1753 text-transform: uppercase; 1754 letter-spacing: 1.5px; 1755 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); 1756 } 1757 1758 .dy-podcast-item { 1759 display: flex; 1760 align-items: center; 1761 gap: 15px; 1762 padding: 12px; 1763 background: #141414; 1764 border: 1px solid rgba(255, 255, 255, 0.08); 1765 border-radius: 12px; 1766 cursor: pointer; 1767 transition: all 0.3s; 1768 backdrop-filter: blur(5px); 1769 } 1770 1771 .dy-podcast-item:hover { 1772 filter: brightness(115%); 1773 transform: translateY(-2px); 1774 border-color: rgba(255, 255, 255, 0.2); 1775 } 1776 1777 .dy-podcast-img-wrap { 1778 position: relative; 1779 width: 65px; 1780 height: 65px; 1781 flex-shrink: 0; 1782 border-radius: 8px; 1783 overflow: hidden; 1784 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); 1785 } 1786 1787 .dy-podcast-img-wrap img { 1788 width: 100%; 1789 height: 100%; 1790 object-fit: cover; 1791 } 1792 1793 .dy-podcast-play-overlay { 1794 position: absolute; 1795 inset: 0; 1796 background: rgba(0, 0, 0, 0.4); 1797 display: flex; 1798 align-items: center; 1799 justify-content: center; 1800 opacity: 0; 1801 transition: opacity 0.3s; 1802 color: #fff; 1803 font-size: 18px; 1804 } 1805 1806 .dy-podcast-item:hover .dy-podcast-play-overlay { 1807 opacity: 1; 1808 } 1809 1810 .dy-podcast-share-btn { 1811 margin-left: auto; 1812 width: 36px; 1813 height: 36px; 1814 border-radius: 50%; 1815 display: flex; 1816 align-items: center; 1817 justify-content: center; 1818 background: rgba(255, 255, 255, 0.05); 1819 color: rgba(255, 255, 255, 0.6); 1820 cursor: pointer; 1821 transition: all 0.3s; 1822 border: 1px solid rgba(255, 255, 255, 0.1); 1823 } 1824 1825 .dy-podcast-share-btn:hover { 1826 background: #a08053; 1827 color: #fff; 1828 transform: scale(1.1); 1829 border-color: transparent; 1830 } 1831 1832 .dy-podcast-share-popup { 1833 position: fixed; 1834 z-index: 2147483647; 1835 background: rgba(20, 20, 20, 0.95); 1836 backdrop-filter: blur(20px); 1837 border: 1px solid rgba(255, 255, 255, 0.1); 1838 border-radius: 15px; 1839 padding: 15px; 1840 display: none; 1841 flex-direction: column; 1842 gap: 10px; 1843 box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); 1844 min-width: 180px; 1845 } 1846 1847 .dy-podcast-share-popup.is-active { 1848 display: flex; 1849 } 1850 1851 .dy-share-option { 1852 display: flex; 1853 align-items: center; 1854 gap: 12px; 1855 color: #fff; 1856 text-decoration: none; 1857 padding: 8px 12px; 1858 border-radius: 8px; 1859 transition: background 0.2s; 1860 font-size: 14px; 1861 } 1862 1863 .dy-share-option:hover { 1864 background: rgba(255, 255, 255, 0.1); 1865 color: #a08053; 1866 } 1867 1868 .dy-share-option i { 1869 width: 20px; 1870 text-align: center; 1871 } 1872 1873 .dy-share-header { 1874 display: flex; 1875 align-items: center; 1876 gap: 12px; 1877 margin-bottom: 15px; 1878 padding-bottom: 12px; 1879 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 1880 } 1881 1882 .dy-share-cover { 1883 width: 50px; 1884 height: 50px; 1885 border-radius: 8px; 1886 object-fit: cover; 1887 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); 1888 } 1889 1890 .dy-share-info { 1891 flex: 1; 1892 overflow: hidden; 1893 } 1894 1895 /* Compact Grid Layout for Share */ 1896 .dy-share-grid { 1897 display: grid; 1898 grid-template-columns: repeat(3, 1fr); 1899 gap: 8px; 1900 width: 100%; 1901 } 1902 1903 .dy-share-option-compact { 1904 display: flex; 1905 flex-direction: column; 1906 align-items: center; 1907 justify-content: center; 1908 gap: 6px; 1909 background: rgba(255, 255, 255, 0.05); 1910 padding: 10px 5px; 1911 border-radius: 12px; 1912 color: var(--dy-share-text-col, #fff); 1913 text-decoration: none !important; 1914 font-size: 9px; 1915 font-weight: 600; 1916 text-transform: uppercase; 1917 letter-spacing: 0.3px; 1918 transition: all 0.2s ease; 1919 border: 1px solid rgba(255, 255, 255, 0.05); 1920 } 1921 1922 .dy-share-option-compact:hover { 1923 background: rgba(160, 128, 83, 0.15); 1924 border-color: rgba(160, 128, 83, 0.3); 1925 color: var(--dy-share-icon-col, #a08053); 1926 transform: translateY(-2px); 1927 } 1928 1929 .dy-share-option-compact i, 1930 .dy-share-option-compact svg { 1931 font-size: 18px; 1932 color: var(--dy-share-icon-col, #a08053); 1933 } 1934 1935 .dy-share-header.compact { 1936 margin-bottom: 12px; 1937 padding-bottom: 10px; 1938 gap: 10px; 1939 } 1940 1941 .dy-share-header.compact .dy-share-cover { 1942 width: 38px; 1943 height: 38px; 1944 border-radius: 6px; 1945 } 1946 1947 .dy-share-header.compact .dy-share-title { 1948 font-size: 12px; 1949 line-height: 1.2; 1950 display: -webkit-box; 1951 -webkit-line-clamp: 1; 1952 -webkit-box-orient: vertical; 1953 overflow: hidden; 1954 } 1955 1956 .dy-share-header.compact .dy-share-author { 1957 font-size: 9px; 1958 opacity: 0.6; 1959 } 1960 1961 .dy-share-title { 1962 color: #fff; 1963 font-size: 13px; 1964 font-weight: 700; 1965 white-space: nowrap; 1966 overflow: hidden; 1967 text-overflow: ellipsis; 1968 margin-bottom: 2px; 1969 } 1970 1971 .dy-share-author { 1972 color: rgba(255, 255, 255, 0.5); 1973 font-size: 11px; 1974 white-space: nowrap; 1975 overflow: hidden; 1976 text-overflow: ellipsis; 1977 } 1978 1979 .dy-podcast-info { 1980 flex: 1; 1981 overflow: hidden; 1982 } 1983 1984 .dy-podcast-date { 1985 font-size: 10px; 1986 color: #a08053; 1987 font-weight: 700; 1988 text-transform: uppercase; 1989 display: block; 1990 margin-bottom: 2px; 1991 } 1992 1993 .dy-podcast-title { 1994 font-size: 15px; 1995 color: #ffffff; 1996 font-weight: 400; 1997 margin: 0 0 2px 0; 1998 white-space: nowrap; 1999 overflow: hidden; 2000 text-overflow: ellipsis; 2001 } 2002 2003 .dy-podcast-meta { 2004 font-size: 12px; 2005 color: #ffffff; 2006 display: block; 2007 } 2008 2009 /* Mobile Mini Player Bar */ 2010 .dy-mini-mobile-bar { 2011 position: fixed; 2012 left: 10px !important; 2013 right: 10px !important; 2014 width: calc(100% - 20px) !important; 2015 max-width: calc(100% - 20px) !important; 2016 border: 1px solid rgba(255, 255, 255, 0.15) !important; 2017 z-index: 999999999 !important; 2018 height: 65px; 2019 border-radius: 10px !important; 2020 background: rgba(0,0,0,0.7) !important; 2021 backdrop-filter: blur(10px); 2022 -webkit-backdrop-filter: blur(10px); 2023 display: none; 2024 align-items: center; 2025 padding: 10px 5px 10px 15px; 2026 box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3); 2027 color: #fff; 2028 cursor: pointer; 2029 overflow: visible !important; 2030 gap: 5px; 2031 box-sizing: border-box; 2032 } 2033 2034 .dy-mini-mobile-bar .dy-volume-wrap { 2035 margin-right: 0 !important; 2036 transform: scale(1.15); 2037 } 2038 2039 .dy-mini-mobile-bar { 2040 opacity: 0; 2041 pointer-events: none; 2042 transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); 2043 } 2044 2045 .dy-mini-mobile-bar.is-visible { 2046 opacity: 1 !important; 2047 pointer-events: auto !important; 2048 transform: translateY(0) !important; 2049 visibility: visible !important; 2050 } 2051 2052 .dy-mini-mobile-bar.pos-bottom { 2053 bottom: 1% !important; 2054 transform: translateY(100%); 2055 } 2056 2057 .dy-mini-mobile-bar.pos-top { 2058 top: 1% !important; 2059 transform: translateY(-100%); 2060 } 2061 2062 .dy-mini-mobile-bar.dy-podcast-mode { 2063 height: 85px !important; 2064 border-top-left-radius: 0 !important; 2065 border-top-right-radius: 0 !important; 2066 /* V4.6: Vertical stack optimization */ 2067 } 2068 2069 .dy-mini-mobile-bar.dy-podcast-mode .dy-podcast-mode-only { 2070 display: flex !important; 2071 flex-direction: column !important; 2072 justify-content: center !important; 2073 width: 100% !important; 2074 } 2075 2076 .dy-mini-mobile-bar.dy-podcast-mode .dy-podcast-mode-label { 2077 display: block !important; 2078 margin-bottom: 2px !important; 2079 } 2080 2081 .dy-mini-mobile-bar.dy-podcast-mode .on-air, 2082 .dy-mini-mobile-bar.dy-podcast-mode .radio-subtitle, 2083 .dy-mini-mobile-bar.dy-podcast-mode .radio-title { 2084 display: none !important; 2085 } 2086 2087 .dy-mini-mobile-bar:not(.dy-podcast-mode) .dy-podcast-mode-only { 2088 display: none !important; 2089 } 2090 2091 .dy-mini-mobile-bar .dy-mini-podcast-title { 2092 white-space: nowrap !important; 2093 overflow: hidden !important; 2094 text-overflow: ellipsis !important; 2095 display: block !important; 2096 margin: 0 !important; 2097 flex: 1 !important; 2098 min-width: 0 !important; 2099 font-size: 13px !important; 2100 } 2101
2102 .dy-mini-mobile-bar .dy-mini-podcast-controls { 2103 display: flex !important; 2104 flex-direction: row !important; 2105 flex-wrap: nowrap !important; 2106 align-items: center !important; 2107 justify-content: flex-start !important; 2108 gap: 0 !important; 2109 margin-top: 2px !important; 2110 width: auto !important; 2111 /* Changed from 100% to auto to prevent forced expansion */ 2112 line-height: 1 !important; 2113 } 2114 2115 .dy-mini-mobile-bar .dy-mini-podcast-controls .dy-podcast-skip { 2116 margin: 0 !important; 2117 display: inline-flex !important; 2118 align-items: center !important; 2119 justify-content: center !important; 2120 flex-shrink: 0 !important; 2121 width: 18px !important; 2122 height: 18px !important; 2123 margin-right: -1px !important; 2124 } 2125 2126 .dy-mini-mobile-bar .dy-mini-podcast-controls .dy-podcast-skip i { 2127 font-size: 12px !important; 2128 } 2129 2130 .dy-mini-mobile-bar .dy-mini-podcast-controls .dy-podcast-time { 2131 margin-left: 0 !important; 2132 font-size: 11px !important; 2133 font-weight: 600 !important; 2134 min-width: 24px !important; 2135 text-align: right !important; 2136 } 2137 2138 /* Fixed progress bar at top of mobile bar */ 2139 .dy-mini-mobile-bar .dy-podcast-progress-bg { 2140 position: absolute !important; 2141 top: 0 !important; 2142 left: 0 !important; 2143 width: 100% !important; 2144 height: 4px !important; 2145 z-index: 100 !important; 2146 background: rgba(255, 255, 255, 0.1) !important; 2147 display: flex !important; 2148 align-items: center !important; 2149 } 2150 2151 .dy-mini-mobile-bar .dy-podcast-progress-fill { 2152 height: 100% !important; 2153 background: #a08053 !important; 2154 width: 0%; 2155 position: absolute !important; 2156 left: 0 !important; 2157 top: 0 !important; 2158 } 2159 2160 /* Volume Popup adjustment for mobile bar fixed at bottom */ 2161 .dy-mini-mobile-bar .dy-volume-popup { 2162 bottom: 110% !important; 2163 top: auto !important; 2164 left: auto !important; 2165 transform: translateX(0) translateY(0); 2166 margin-bottom: 10px; 2167 margin-top: 0; 2168 } 2169 2170 .dy-mini-mobile-bar .dy-volume-wrap:hover .dy-volume-popup, 2171 .dy-mini-mobile-bar .dy-volume-wrap.is-active .dy-volume-popup { 2172 transform: translateX(0) translateY(-10px); 2173 visibility: visible !important; 2174 opacity: 1 !important; 2175 pointer-events: auto !important; 2176 transition: none !important; 2177 display: flex !important; 2178 } 2179 2180 .dy-mini-mobile-bar .dy-volume-slider-bg { 2181 width: 50px; 2182 } 2183 2184 .dy-mini-mobile-bar .dy-volume-popup::before { 2185 display: none !important; 2186 } 2187 2188 /* Dropdown adjustment for mobile bar fixed at bottom */ 2189 .dy-mini-mobile-bar.pos-bottom .dy-mini-dropdown { 2190 bottom: calc(100% + 15px); 2191 top: auto; 2192 transform: translateY(10px); 2193 border-radius: 4px !important; 2194 width: calc(100% - 30px); 2195 left: 15px; 2196 min-width: 0; 2197 } 2198 2199 .dy-mini-mobile-bar.pos-bottom .dy-mini-dropdown.is-active { 2200 transform: translateY(0); 2201 } 2202 2203 /* Dropdown adjustment for mobile bar fixed at top */ 2204 .dy-mini-mobile-bar.pos-top .dy-mini-dropdown { 2205 top: calc(100% + 15px); 2206 bottom: auto; 2207 transform: translateY(-10px); 2208 border-radius: 4px !important; 2209 width: calc(100% - 30px); 2210 left: 15px; 2211 min-width: 0; 2212 } 2213 2214 .dy-mini-mobile-bar.pos-top .dy-mini-dropdown.is-active { 2215 transform: translateY(0); 2216 } 2217 2218 .dy-mobile-logo { 2219 width: 45px; 2220 height: 45px; 2221 border-radius: 6px; 2222 object-fit: cover; 2223 flex-shrink: 0; 2224 } 2225 2226 .dy-mini-mobile-bar .radio-logo-layer, 2227 .dy-mini-mobile-bar .radio-cover { 2228 width: 45px !important; 2229 height: 45px !important; 2230 min-width: 45px !important; 2231 max-width: 45px !important; 2232 object-fit: cover !important; 2233 border-radius: 6px; 2234 } 2235 2236 .dy-mobile-subtitle, 2237 .radio-subtitle, 2238 .dy-mobile-title, 2239 .radio-title { 2240 white-space: nowrap; 2241 overflow: hidden; 2242 position: relative; 2243 } 2244 2245 .dy-mobile-subtitle span, 2246 .radio-subtitle span, 2247 .dy-mobile-title span, 2248 .radio-title span { 2249 display: inline-block; 2250 } 2251 2252 .dy-mobile-subtitle.is-scrolling span, 2253 .radio-subtitle.is-scrolling span, 2254 .dy-mobile-title.is-scrolling span, 2255 .radio-title.is-scrolling span { 2256 animation: dy-pingpong 15s ease-in-out infinite; 2257 } 2258 2259 .dy-mobile-text { 2260 flex: 1; 2261 overflow: hidden; 2262 min-width: 0; 2263 display: flex; 2264 flex-direction: column; 2265 justify-content: center; 2266 padding-left: 6px; 2267 } 2268 2269 .dy-mobile-subtitle, 2270 .radio-subtitle { 2271 font-size: 13px; 2272 font-weight: 700; 2273 line-height: 1.2; 2274 } 2275 2276 .dy-mobile-title, 2277 .radio-title { 2278 font-size: 11px; 2279 opacity: 0.8; 2280 line-height: 1.2; 2281 } 2282 2283 /* Harmonized Control Icons on Mobile */ 2284 .dy-mobile-play, 2285 .dy-mobile-more, 2286 .dy-volume-wrap { 2287 width: 36px; 2288 height: 36px; 2289 display: flex; 2290 align-items: center; 2291 justify-content: center; 2292 flex-shrink: 0; 2293 } 2294 2295 .dy-mobile-play { 2296 font-size: 22px; 2297 color: #000000 !important; 2298 cursor: pointer; 2299 } 2300 2301 .dy-mobile-more { 2302 font-size: 20px; 2303 color: #fff; 2304 opacity: 0.7; 2305 cursor: pointer; 2306 } 2307 2308 .dy-volume-toggle-svg { 2309 width: 28px; 2310 height: 28px; 2311 fill: #fff; 2312 opacity: 0.7; 2313 cursor: pointer; 2314 } 2315
2316 .dy-mobile-controls-group { 2317 display: flex; 2318 align-items: center; 2319 gap: 8px; 2320 margin-left: auto; 2321 } 2322 2323 /* PC SIDEBAR STYLES (v4.6) */ 2324 .dy-sticky-footer-pc { 2325 position: fixed; 2326 left: 50%; 2327 transform: translateX(-50%) translateY(30px); 2328 width: 90%; 2329 min-width: 980px; 2330 max-width: 1400px; 2331 z-index: 2147483640 !important; 2332 height: 80px; 2333 display: flex; 2334 align-items: center; 2335 padding: 0 40px; 2336 gap: 30px; 2337 box-shadow: 0 15px 50px rgba(0, 0, 0, 0.5); 2338 color: #fff; 2339 border-radius: 15px; 2340 opacity: 0; 2341 pointer-events: none; 2342 transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); 2343 overflow: visible !important; 2344 cursor: pointer; 2345 background: rgba(46,46,46,0.8) !important; 2346 background-color: rgba(46,46,46,0.8) !important; 2347 backdrop-filter: blur(10px) !important; 2348 -webkit-backdrop-filter: blur(10px) !important; 2349 border: 1px solid rgba(255, 255, 255, 0.1) !important; 2350 color: #dedede !important; 2351 } 2352 2353 .dy-sticky-footer-pc.is-visible { 2354 opacity: 1; 2355 pointer-events: auto; 2356 transform: translateX(-50%) translateY(0); 2357 visibility: visible !important; 2358 } 2359 2360 .dy-sticky-footer-pc.pos-bottom { 2361 bottom: 30px; 2362 } 2363 2364 .dy-sticky-footer-pc.pos-top { 2365 top: 30px; 2366 transform: translateX(-50%) translateY(-30px); 2367 } 2368 2369 .dy-sticky-footer-pc.pos-top.is-visible { 2370 transform: translateX(-50%) translateY(0); 2371 } 2372 2373 .dy-sticky-footer-pc .dy-pc-left { 2374 display: flex; 2375 align-items: center; 2376 gap: 20px; 2377 flex: 1; 2378 overflow: hidden; 2379 } 2380 2381 .dy-sticky-footer-pc .dy-pc-right { 2382 display: flex !important; 2383 align-items: center; 2384 gap: 25px; 2385 margin-left: auto; 2386 flex-shrink: 0; 2387 } 2388 2389 /* Interactive elements - Classy Transitions */ 2390 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-podcast, 2391 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-radio, 2392 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-cast, 2393 .dy-sticky-footer-pc .dy-pc-right .dy-volume-toggle-svg, 2394 .dy-sticky-footer-pc .play-button, 2395 .dy-sticky-footer-pc .dy-pc-skip { 2396 color: #dedede !important; 2397 opacity: 0.8; 2398 transition: all 0.1s ease-in-out !important; 2399 cursor: pointer; 2400 background: transparent !important; 2401 } 2402 2403 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-podcast:hover:not(.disabled), 2404 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-radio:hover:not(.disabled), 2405 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-cast:hover:not(.disabled), 2406 .dy-sticky-footer-pc .dy-pc-right .dy-volume-toggle-svg:hover:not(.disabled) { 2407 opacity: 1 !important; 2408 transform: translateY(-2px) scale(1.02); 2409 filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.3)); 2410 } 2411 2412 .dy-sticky-footer-pc .play-button { 2413 font-size: 34px; 2414 color: #ffffff !important; 2415 min-width: 50px; 2416 display: flex; 2417 align-items: center; 2418 justify-content: center; 2419 } 2420 2421 .dy-sticky-footer-pc .play-button:hover:not(.disabled) { 2422 transform: scale(1.08); 2423 filter: drop-shadow(0 0 0px rgba(255,255,255,0)); 2424 } 2425 2426 .dy-sticky-footer-pc .dy-pc-skip:hover:not(.disabled) { 2427 transform: scale(1.05); 2428 filter: brightness(1.1) drop-shadow(0 4px 10px rgba(0, 0, 0, 0.2)); 2429 } 2430 2431 /* Disabled state - No hover, no pointer events */ 2432 .dy-sticky-footer-pc .disabled, 2433 .dy-sticky-footer-pc i.disabled, 2434 .dy-sticky-footer-pc svg.disabled, 2435 .dy-sticky-footer-pc .play-button.disabled, 2436 .dy-sticky-footer-pc .dy-pc-skip.disabled { 2437 opacity: 0.15 !important; 2438 cursor: default !important; 2439 pointer-events: none !important; 2440 transform: none !important; 2441 filter: none !important; 2442 } 2443 2444 .dy-sticky-footer-pc .radio-logo-layer, 2445 .dy-sticky-footer-pc .radio-cover { 2446 width: 55px !important; 2447 height: 55px !important; 2448 border-radius: 4px; 2449 } 2450 2451 .dy-sticky-footer-pc .radio-text { 2452 gap: 2px; 2453 display: flex; 2454 flex-direction: column; 2455 justify-content: center; 2456 min-width: 0; 2457 } 2458 2459 .dy-sticky-footer-pc .radio-subtitle { 2460 font-size: 16px; 2461 font-weight: 700; 2462 color: #fff; 2463 line-height: 1.2; 2464 transition: opacity 0.3s ease; 2465 } 2466 2467 .dy-sticky-footer-pc .radio-title { 2468 font-size: 13px; 2469 opacity: 0.7; 2470 line-height: 1.2; 2471 transition: opacity 0.3s ease; 2472 } 2473 2474 .dy-sticky-footer-pc .on-air { 2475 background: none !important; 2476 padding: 0 !important; 2477 font-size: 9px; 2478 font-weight: 800; 2479 letter-spacing: 1px; 2480 color: #d60000 !important; 2481 animation: dyBlink 1.5s infinite !important; 2482 margin-bottom: 2px; 2483 line-height: 1; 2484 text-transform: uppercase; 2485 } 2486 2487 /* MOBILE ONLY PROGRESS BAR */ 2488 .dy-mini-mobile-bar .dy-podcast-progress-bg { 2489 position: absolute !important; 2490 bottom: 100% !important; 2491 top: auto !important; 2492 left: 0 !important; 2493 width: 100% !important; 2494 height: 6px !important; 2495 /* Visual height */ 2496 background: rgba(126,117,103,1) !important; 2497 z-index: 2147483647 !important; 2498 display: none !important; 2499 cursor: pointer !important; 2500 pointer-events: auto !important; 2501 margin: 0 !important; 2502 padding: 0 !important; 2503 transition: height 0.2s ease, transform 0.2s ease !important; 2504 } 2505 2506 /* Hitbox invisible pour le mobile (TikTok Style) */ 2507 .dy-mini-mobile-bar .dy-podcast-progress-bg::after { 2508 content: ""; 2509 position: absolute; 2510 top: -20px; 2511 /* Even larger hit area */ 2512 left: 0; 2513 right: 0; 2514 height: 40px; 2515 background: transparent !important; 2516 z-index: 10; 2517 } 2518 2519 /* Interaction expansion */ 2520 .dy-mini-mobile-bar .dy-podcast-progress-bg:active, 2521 .dy-mini-mobile-bar .dy-podcast-progress-bg:hover { 2522 height: 10px !important; 2523 } 2524 2525 .dy-mini-mobile-bar.dy-podcast-mode .dy-podcast-progress-bg { 2526 display: flex !important; 2527 } 2528 2529 .dy-mini-mobile-bar .dy-podcast-progress-fill { 2530 height: 100% !important; 2531 width: 0%; 2532 background: #a08053 !important; 2533 box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); 2534 transition: width 0.3s linear; 2535 position: relative; 2536 z-index: 2; 2537 } 2538 2539 /* Scrubber dot (TikTok style) */ 2540 .dy-mini-mobile-bar .dy-podcast-progress-fill::after { 2541 content: ""; 2542 position: absolute; 2543 right: -6px; 2544 top: 50%; 2545 transform: translateY(-50%) scale(0); 2546 width: 14px; 2547 height: 14px; 2548 background: #fff; 2549 border-radius: 50%; 2550 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); 2551 transition: transform 0.2s ease; 2552 z-index: 15; 2553 pointer-events: none; 2554 } 2555 2556 .dy-mini-mobile-bar .dy-podcast-progress-bg:active .dy-podcast-progress-fill::after, 2557 .dy-mini-mobile-bar .dy-podcast-progress-bg:hover .dy-podcast-progress-fill::after { 2558 transform: translateY(-50%) scale(1); 2559 } 2560 2561 .dy-mini-mobile-bar .dy-footer-podcast-title { 2562 white-space: nowrap; 2563 overflow: hidden; 2564 width: 100%; 2565 position: relative; 2566 } 2567 2568 .dy-footer-podcast-title.dy-marquee { 2569 display: flex !important; 2570 flex-wrap: nowrap !important; 2571 justify-content: flex-start !important; 2572 align-items: center !important; 2573 width: 100% !important; 2574 overflow: hidden !important; 2575 } 2576 2577 .dy-footer-podcast-title.dy-marquee span { 2578 display: inline-block !important; 2579 padding-right: 50px !important; 2580 white-space: nowrap !important; 2581 flex-shrink: 0 !important; 2582 animation: dyMarquee 15s linear infinite !important; 2583 } 2584 2585 .dy-mini-podcast-title.dy-marquee { 2586 display: flex !important; 2587 flex-wrap: nowrap !important; 2588 justify-content: flex-start !important; 2589 align-items: center !important; 2590 width: 100% !important; 2591 overflow: hidden !important; 2592 -webkit-line-clamp: unset !important; 2593 -webkit-box-orient: unset !important; 2594 } 2595 2596 .dy-mini-podcast-title:not(.dy-marquee) { 2597 display: -webkit-box !important; 2598 -webkit-box-orient: vertical !important; 2599 overflow: hidden !important; 2600 } 2601 2602 .dy-mini-podcast-title.dy-marquee span { 2603 display: inline-block !important; 2604 padding-right: 50px !important; 2605 white-space: nowrap !important; 2606 flex-shrink: 0 !important; 2607 animation: dyMarquee 15s linear infinite !important; 2608 } 2609 2610 2611 2612 .dy-podcast-mode-only { 2613 display: none !important; 2614 } 2615 2616 /* Download button needs to be controllable by JS even if it has .dy-podcast-mode-only */ 2617 .dy-player-download-btn.dy-podcast-mode-only { 2618 display: none; 2619 /* Removed !important to allow JS override */ 2620 } 2621 2622 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .dy-podcast-mode-only { 2623 display: inline-flex !important; 2624 } 2625 2626 /* Specifically ensure the download button follows JS display setting if in podcast mode */ 2627 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .dy-player-download-btn.dy-podcast-mode-only { 2628 display: var(--dy-dl-display, inline-flex) !important; 2629 } 2630 2631 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .on-air { 2632 display: none !important; 2633 } 2634 2635 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .radio-subtitle, 2636 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .radio-title { 2637 display: none !important; 2638 } 2639 2640 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .dy-footer-podcast-meta { 2641 display: block !important; 2642 } 2643 2644 .dy-sticky-footer-pc.is-hover .dy-footer-podcast-meta, 2645 .dy-sticky-footer-pc.is-hover .dy-podcast-mode-only { 2646 display: none !important; 2647 } 2648
2649 .dy-sticky-footer-pc .dy-mini-podcast-controls { 2650 width: 60% !important; 2651 } 2652 2653 .dy-sticky-footer-pc .dy-podcast-progress-fill { 2654 background: #a08053 !important; 2655 } 2656 2657 /* PC Sidebar Skip Buttons Style */ 2658 .dy-sticky-footer-pc .dy-pc-skip { 2659 width: 35px !important; 2660 height: 35px !important; 2661 border-radius: 50%; 2662 border: none; 2663 cursor: pointer; 2664 transition: all 0.2s; 2665 align-items: center; 2666 justify-content: center; 2667 font-size: 14px !important; 2668 background: rgba(255,255,255,0.05) !important; 2669 color: #ffffff !important; 2670 } 2671 2672 .dy-sticky-footer-pc .dy-pc-skip:hover { 2673 transform: scale(1.1); 2674 filter: brightness(1.2); 2675 } 2676 2677 /* Dropdown & Volume adjustments for PC Sidebar */ 2678 .dy-sticky-footer-pc .dy-mini-dropdown, 2679 .dy-sticky-footer-pc .dy-volume-popup { 2680 left: 50%; 2681 right: auto; 2682 border-radius: 12px; 2683 bottom: 100% !important; 2684 top: auto !important; 2685 transform: translateX(-50%) translateY(10px); 2686 transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); 2687 margin-bottom: 0px !important; 2688 z-index: 2147483647 !important; 2689 pointer-events: none; 2690 visibility: hidden; 2691 display: block !important; 2692 } 2693 2694 .dy-sticky-footer-pc .dy-mini-dropdown.is-active, 2695 .dy-sticky-footer-pc .dy-volume-wrap:hover .dy-volume-popup, 2696 .dy-sticky-footer-pc .dy-volume-wrap.is-active .dy-volume-popup { 2697 transform: translateX(-50%) translateY(0); 2698 pointer-events: auto; 2699 visibility: visible; 2700 } 2701 2702 .dy-sticky-footer-pc .dy-pc-btn-podcast:hover, 2703 .dy-sticky-footer-pc .dy-pc-btn-radio:hover { 2704 opacity: 1 !important; 2705 transform: translateY(-4px); 2706 color: #ffffff !important; 2707 } 2708 2709 .dy-sticky-footer-pc .dy-mini-dropdown { 2710 width: 500px; 2711 max-width: 90vw; 2712 border-bottom-left-radius: 0 !important; 2713 border-bottom-right-radius: 0 !important; 2714 box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4); 2715 border: 1px solid rgba(255, 255, 255, 0.1); 2716 border-bottom: none !important; 2717 } 2718 2719 .dy-sticky-footer-pc .dy-volume-popup { 2720 width: 40px; 2721 padding: 15px 0; 2722 border-bottom-left-radius: 0 !important; 2723 border-bottom-right-radius: 0 !important; 2724 border-bottom: none !important; 2725 } 2726 2727 /* Top Position Overrides */ 2728 .dy-sticky-footer-pc.pos-top .dy-mini-dropdown, 2729 .dy-sticky-footer-pc.pos-top .dy-volume-popup { 2730 bottom: auto !important; 2731 top: 100% !important; 2732 transform: translateX(-50%) translateY(-10px); 2733 border-radius: 12px !important; 2734 border-top-left-radius: 0 !important; 2735 border-top-right-radius: 0 !important; 2736 border-top: none !important; 2737 border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; 2738 box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4); 2739 } 2740 2741 .dy-sticky-footer-pc.pos-top .dy-mini-dropdown.is-active, 2742 .dy-sticky-footer-pc.pos-top .dy-volume-wrap:hover .dy-volume-popup, 2743 .dy-sticky-footer-pc.pos-top .dy-volume-wrap.is-active .dy-volume-popup { 2744 transform: translateX(-50%) translateY(0); 2745 } 2746 2747 @media (max-width: 1024px) { 2748 .dy-sticky-footer-pc { 2749 display: none !important; 2750 } 2751 2752 .dy-mini-mobile-bar { 2753 display: flex !important; 2754 } 2755 } 2756 2757 @media (min-width: 1025px) { 2758 2759 .dy-mini-mobile-bar, 2760 .dy-mobile-fullscreen { 2761 display: none !important; 2762 } 2763 2764 .dy-sticky-footer-pc { 2765 display: flex; 2766 } 2767 } 2768 2769 .dy-podcast-btn { 2770 width: 35px; 2771 height: 35px; 2772 border-radius: 50%; 2773 background: #a08053; 2774 color: #fff; 2775 display: flex; 2776 align-items: center; 2777 justify-content: center; 2778 font-size: 12px; 2779 flex-shrink: 0; 2780 transition: transform 0.2s; 2781 } 2782 2783 .dy-podcast-item:hover .dy-podcast-btn { 2784 transform: scale(1.1); 2785 } 2786 2787 .dy-podcast-mini-play { 2788 display: flex; 2789 align-items: center; 2790 justify-content: center; 2791 background: #a08053; 2792 color: #fff; 2793 border: none; 2794 width: 32px; 2795 height: 32px; 2796 border-radius: 50%; 2797 margin-right: 0; 2798 font-size: 11px; 2799 cursor: pointer; 2800 } 2801 2802 .dy-podcast-mini-play:hover { 2803 opacity: 0.9; 2804 } 2805 2806 .dy-podcast-item.dy-podcast-active { 2807 border-color: #775e3c !important; 2808 background: #775e3c !important; 2809 box-shadow: 0 0 15px rgba(0, 0, 0, 0.2) !important; 2810 } 2811 2812 .dy-podcast-item.dy-podcast-active .dy-podcast-btn { 2813 background: #fff !important; 2814 color: #775e3c !important; 2815 } 2816 2817 .dy-podcast-progress-wrap { 2818 display: none; 2819 margin-top: 10px; 2820 margin-bottom: 8px; 2821 width: 100%; 2822 border-radius: 10px; 2823 align-items: center; 2824 gap: 8px; 2825 } 2826 2827 .dy-podcast-active .dy-podcast-progress-wrap { 2828 display: flex; 2829 } 2830 2831 .dy-podcast-skip { 2832 background: rgba(255, 255, 255, 0.1); 2833 background-color: rgba(255, 255, 255, 0.1); 2834 border: none !important; 2835 outline: none !important; 2836 padding: 0 !important; 2837 box-shadow: none !important; 2838 color: #fff; 2839 width: 30px; 2840 height: 30px; 2841 border-radius: 50%; 2842 cursor: pointer; 2843 display: flex; 2844 align-items: center; 2845 justify-content: center; 2846 font-size: 10px; 2847 transition: all 0.2s; 2848 flex-shrink: 0; 2849 } 2850 2851 .dy-podcast-skip:hover { 2852 background: transparent !important; 2853 background-color: transparent !important; 2854 color: #a08053; 2855 } 2856 2857 .dy-podcast-info-btn { 2858 display: flex; 2859 align-items: center; 2860 justify-content: center; 2861 background: rgba(255, 255, 255, 0.1); 2862 color: #fff; 2863 border: none; 2864 width: 32px; 2865 height: 32px; 2866 border-radius: 50%; 2867 font-size: 11px; 2868 cursor: pointer; 2869 transition: all 0.2s ease; 2870 flex-shrink: 0; 2871 } 2872 2873 .dy-podcast-info-btn:hover { 2874 background: #a08053; 2875 color: #fff; 2876 transform: scale(1.05); 2877 } 2878 2879 .dy-podcast-share-btn-mobile { 2880 display: none !important; 2881 } 2882 2883 .dy-podcast-time { 2884 font-size: 11px; 2885 font-weight: 700; 2886 color: #a08053; 2887 min-width: 35px; 2888 margin-right: 5px; 2889 } 2890 2891 .dy-podcast-progress-bg { 2892 height: 20px; 2893 position: relative; 2894 cursor: pointer; 2895 display: flex; 2896 align-items: center; 2897 flex: 1; 2898 } 2899 2900 .dy-podcast-progress-rail { 2901 height: 6px; 2902 background: rgba(255, 255, 255, 0.1); 2903 border-radius: 3px; 2904 width: 100%; 2905 position: relative; 2906 transition: height 0.2s; 2907 } 2908 2909 .dy-podcast-progress-fill { 2910 position: absolute; 2911 left: 0; 2912 top: 0; 2913 height: 100%; 2914 background: #a08053; 2915 border-radius: 3px; 2916 width: 0%; 2917 transition: width 0.1s linear; 2918 } 2919 2920 .dy-podcast-progress-fill::after { 2921 content: ''; 2922 position: absolute; 2923 right: 0; 2924 top: 50%; 2925 transform: translateY(-50%); 2926 width: 4px; 2927 height: 100%; 2928 background: #fff; 2929 box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); 2930 pointer-events: none; 2931 z-index: 10; 2932 opacity: 0; 2933 transition: opacity 0.2s; 2934 } 2935 2936 .dy-podcast-progress-bg:hover .dy-podcast-progress-rail { 2937 height: 10px; 2938 } 2939 2940 .dy-podcast-progress-bg:hover .dy-podcast-progress-fill::after { 2941 opacity: 1;
2942 } 2943 2944 .radio-display.dy-podcast-mode .dy-podcast-hide { 2945 display: none !important; 2946 } 2947 2948 .dy-fs-list-switcher { 2949 display: none; 2950 padding: 15px 20px 10px; 2951 gap: 10px; 2952 justify-content: center; 2953 border-bottom: 1px solid rgba(255, 255, 255, 0.05); 2954 } 2955 2956 .dy-fs-sw-btn { 2957 flex: 1; 2958 text-align: center; 2959 padding: 10px; 2960 border-radius: 10px; 2961 background: rgba(255, 255, 255, 0.05); 2962 color: rgba(255, 255, 255, 0.4); 2963 font-size: 11px; 2964 font-weight: 800; 2965 letter-spacing: 1.2px; 2966 cursor: pointer; 2967 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 2968 border: 1px solid rgba(255, 255, 255, 0.08); 2969 text-transform: uppercase; 2970 } 2971 2972 .dy-fs-sw-btn.is-active { 2973 background: #a08053; 2974 color: #fff; 2975 border-color: #a08053; 2976 box-shadow: 0 4px 15px rgba(160, 128, 83, 0.3); 2977 } 2978 2979 .dy-podcast-mode .dy-fs-list-switcher { 2980 display: flex !important; 2981 } 2982 2983 /* Mini Player Podcast Controls */ 2984 .dy-mini-podcast-controls { 2985 display: none; 2986 align-items: center; 2987 gap: 8px; 2988 width: 100%; 2989 margin-top: 5px; 2990 padding-top: 0; 2991 border-top: none; 2992 } 2993 2994 .radio-display.dy-podcast-mode .dy-mini-podcast-controls { 2995 display: flex; 2996 } 2997 2998 .dy-mini-podcast-controls .dy-podcast-skip { 2999 width: 26px; 3000 height: 26px; 3001 font-size: 8px; 3002 background: transparent !important; 3003 background-color: transparent !important; 3004 } 3005 3006 .dy-mini-podcast-controls .dy-podcast-time { 3007 min-width: 35px; 3008 font-size: 9px; 3009 margin-right: 0; 3010 } 3011 3012 .dy-mini-podcast-controls .dy-podcast-progress-bg { 3013 height: 16px; 3014 } 3015 3016 /* Podcast Info toggle in Mini Player */ 3017 .radio-display.dy-podcast-mode .on-air, 3018 .radio-display.dy-podcast-mode .radio-subtitle, 3019 .radio-display.dy-podcast-mode .radio-title { 3020 display: none !important; 3021 } 3022 3023 .dy-mini-podcast-title { 3024 display: none; 3025 margin: 0; 3026 font-weight: 700; 3027 color: #fff; 3028 font-size: 13px; 3029 line-height: 1.2; 3030 padding-top: 2px; 3031 white-space: normal; 3032 overflow: hidden; 3033 min-width: 0; 3034 width: 100%; 3035 position: relative; 3036 transition: opacity 0.3s ease; 3037 } 3038 3039 .dy-mini-mobile-bar.dy-podcast-mode .dy-mini-podcast-title { 3040 display: block !important; 3041 white-space: nowrap !important; 3042 overflow: hidden !important; 3043 text-overflow: ellipsis !important; 3044 animation: dyContentFadeIn 0.5s ease forwards; 3045 } 3046 3047 /* Override for FullScreen Mobile Podcast Title to allow multi-line and vertical scroll */ 3048 .dy-mobile-fullscreen.dy-podcast-mode .dy-mini-podcast-title { 3049 white-space: normal !important; 3050 display: block !important; 3051 overflow: hidden !important; 3052 height: auto !important; 3053 max-height: 4.2em !important; 3054 /* Approx 3 lines at 1.4 line-height */ 3055 line-height: 1.4 !important; 3056 text-align: center !important; 3057 padding-top: 0 !important; 3058 } 3059 3060 .dy-mobile-fullscreen.dy-podcast-mode .dy-mini-podcast-title span { 3061 white-space: normal !important; 3062 display: block !important; 3063 } 3064 3065 @keyframes dyContentFadeIn { 3066 0% { 3067 opacity: 0; 3068 filter: blur(4px); 3069 } 3070 3071 100% { 3072 opacity: 1; 3073 filter: blur(0); 3074 } 3075 } 3076 3077 .dy-mini-podcast-title span { 3078 display: inline-block !important; 3079 white-space: nowrap !important; 3080 overflow: visible !important; 3081 /* Allow translation for scrolling */ 3082 transition: transform 0.1s linear; 3083 } 3084 3085 .dy-mini-podcast-title.is-scrolling span, 3086 .dy-footer-podcast-title.is-scrolling span { 3087 animation: dy-pingpong 15s ease-in-out infinite !important; 3088 } 3089 3090 @keyframes dy-pingpong { 3091 3092 0%, 3093 20% { 3094 transform: translateX(0); 3095 } 3096 3097 45%, 3098 75% { 3099 transform: translateX(var(--dy-scroll-dist)); 3100 } 3101 3102 100% { 3103 transform: translateX(0); 3104 } 3105 } 3106 3107 @keyframes dy-v-pingpong { 3108 3109 0%, 3110 20% { 3111 transform: translateY(0); 3112 } 3113 3114 45%, 3115 75% { 3116 transform: translateY(var(--dy-scroll-v-dist)); 3117 } 3118 3119 100% { 3120 transform: translateY(0); 3121 } 3122 } 3123 3124 .dy-mini-podcast-title.is-v-scrolling span { 3125 white-space: normal !important; 3126 display: block !important; 3127 animation: dy-v-pingpong 15s ease-in-out infinite !important; 3128 } 3129 3130 .radio-display.dy-podcast-mode .dy-podcast-mode-label { 3131 display: block !important; 3132 } 3133 3134 /* Force help messages on hover even in podcast mode */ 3135 .radio-display.is-hover .radio-subtitle, 3136 .radio-display.is-hover .radio-title { 3137 display: block !important; 3138 animation: dyTooltipIn 0.4s cubic-bezier(0.23, 1, 0.32, 1) forwards; 3139 } 3140 3141 .radio-display.is-hover .on-air, 3142 .radio-display.is-hover .dy-mini-podcast-title, 3143 .radio-display.is-hover .dy-podcast-mode-label,
3144 .radio-display.is-hover .dy-mini-podcast-controls { 3145 display: none !important; 3146 } 3147 3148 @keyframes dyTooltipIn { 3149 0% { 3150 opacity: 0; 3151 transform: translateY(8px); 3152 filter: blur(2px); 3153 } 3154 3155 100% { 3156 opacity: 1; 3157 transform: translateY(0); 3158 filter: blur(0); 3159 } 3160 } 3161 3162 @keyframes dyTooltipOut { 3163 0% { 3164 opacity: 1; 3165 transform: translateY(0); 3166 } 3167 3168 100% { 3169 opacity: 0; 3170 transform: translateY(-8px); 3171 } 3172 } 3173 3174 @keyframes dyMarquee { 3175 0% { 3176 transform: translateX(0); 3177 } 3178 3179 100% { 3180 transform: translateX(-100%); 3181 } 3182 } 3183 3184 /* AJAX Loading state */ 3185 .ajax-loading #main { 3186 pointer-events: none; 3187 opacity: 0.4; 3188 filter: blur(2px); 3189 transition: all 0.4s ease; 3190 } 3191 3192 /* Dropdown enhancements */ 3193 .dy-mini-dropdown { 3194 position: absolute; 3195 top: 100%; 3196 left: 0; 3197 width: 100%; 3198 background: rgba(30, 30, 30, 0.95); 3199 backdrop-filter: blur(15px); 3200 border-radius: 12px; 3201 margin-top: 10px; 3202 border: 1px solid rgba(255, 255, 255, 0.1); 3203 box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4); 3204 max-height: 500px; 3205 overflow-y: auto; 3206 z-index: 1000; 3207 opacity: 0; 3208 visibility: hidden; 3209 transform: translateY(-10px); 3210 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 3211 pointer-events: none; 3212 } 3213 3214 .dy-mini-dropdown.is-active { 3215 opacity: 1; 3216 visibility: visible; 3217 transform: translateY(0); 3218 pointer-events: auto; 3219 } 3220 3221 .dy-dropdown-item { 3222 display: flex; 3223 align-items: center; 3224 padding: 10px 15px; 3225 cursor: pointer; 3226 transition: all 0.2s; 3227 border-radius: 8px; 3228 margin: 2px 8px; 3229 } 3230 3231 .dy-dropdown-item:hover { 3232 background: rgba(255, 255, 255, 0.1); 3233 transform: translateX(5px); 3234 } 3235 3236 .dy-dropdown-item.is-playing { 3237 background: rgba(160, 128, 83, 0.2) !important; 3238 border-left: none; 3239 } 3240 3241 .dy-back-to-radio { 3242 display: block; 3243 padding: 12px; 3244 text-align: center; 3245 color: #a08053; 3246 font-size: 11px; 3247 font-weight: 700; 3248 text-transform: uppercase; 3249 text-decoration: none; 3250 border-top: 1px solid rgba(255, 255, 255, 0.1); 3251 cursor: pointer; 3252 transition: background 0.2s; 3253 } 3254 3255 .dy-back-to-radio:hover { 3256 background: rgba(255, 255, 255, 0.05); 3257 } 3258 3259 /* Mini Player Dropdown Styles Responsive */ 3260 @media (max-width: 600px) { 3261 .dy-mini-dropdown { 3262 min-width: 100%; 3263 width: 100%; 3264 border-radius: 0 0 12px 12px; 3265 margin-top: 0; 3266 left: 0; 3267 right: 0; 3268 } 3269 3270 .dy-dropdown-item { 3271 padding: 8px 10px; 3272 margin: 2px 4px; 3273 } 3274 3275 .dy-dropdown-item img { 3276 width: 45px; 3277 height: 45px; 3278 } 3279 3280 .dy-dd-artist { 3281 font-size: 12px; 3282 } 3283 3284 .dy-dd-title { 3285 font-size: 11px; 3286 } 3287 } 3288 3289 /* Podcast List Responsive */ 3290 @media (max-width: 768px) { 3291 .dy-podcast-item { 3292 padding: 10px; 3293 gap: 12px; 3294 } 3295 3296 .dy-podcast-img-wrap { 3297 width: 55px; 3298 height: 55px; 3299 } 3300 3301 .dy-podcast-main-title { 3302 font-size: 20px !important; 3303 margin-bottom: 15px; 3304 } 3305 3306 .dy-podcast-title { 3307 font-size: 14px !important; 3308 } 3309 3310 .dy-podcast-meta { 3311 font-size: 11px !important; 3312 } 3313 3314 .dy-podcast-btn { 3315 display: none !important; 3316 } 3317 3318 .dy-podcast-action { 3319 display: flex !important; 3320 gap: 8px !important; 3321 } 3322 3323 .dy-podcast-share-btn-mobile { 3324 display: flex !important; 3325 align-items: center; 3326 justify-content: center; 3327 background: rgba(255, 255, 255, 0.1); 3328 color: #fff; 3329 border: none; 3330 width: 32px; 3331 height: 32px; 3332 border-radius: 50%; 3333 cursor: pointer; 3334 transition: all 0.2s ease; 3335 flex-shrink: 0; 3336 } 3337 3338 .dy-podcast-share-btn-mobile:hover { 3339 background: #a08053; 3340 color: #fff; 3341 transform: scale(1.05); 3342 } 3343 3344 .dy-podcast-action .dy-podcast-share-btn { 3345 display: none !important; 3346 } 3347 } 3348 3349 @media (max-width: 480px) { 3350 .dy-podcast-item { 3351 position: relative; 3352 flex-direction: row; 3353 align-items: flex-start; 3354 } 3355 3356 .dy-podcast-btn { 3357 display: none !important; 3358 } 3359 3360 .dy-podcast-action { 3361 display: flex !important; 3362 gap: 6px !important; 3363 } 3364 3365 .dy-podcast-info { 3366 padding-right: 0; 3367 width: 100%; 3368 } 3369 3370 .dy-podcast-date { 3371 font-size: 9px; 3372 } 3373 3374 .dy-podcast-title { 3375 white-space: normal; 3376 line-height: 1.3; 3377 margin-bottom: 5px; 3378 max-height: 2.6em; 3379 overflow: hidden; 3380 display: -webkit-box; 3381 -webkit-line-clamp: 2; 3382 -webkit-box-orient: vertical; 3383 } 3384 3385 .dy-podcast-active .dy-podcast-title { 3386 max-height: none; 3387 -webkit-line-clamp: unset; 3388 display: block; 3389 overflow: visible; 3390 } 3391 3392 .dy-podcast-progress-wrap { 3393 gap: 4px; 3394 margin-top: 10px; 3395 flex-wrap: wrap; 3396 } 3397 3398 .dy-podcast-skip { 3399 width: 34px; 3400 height: 34px; 3401 font-size: 11px; 3402 } 3403 3404 .dy-podcast-mini-play { 3405 display: flex; 3406 width: 36px; 3407 height: 36px; 3408 font-size: 12px; 3409 margin-right: 0; 3410 } 3411 3412 .dy-podcast-time { 3413 font-size: 12px; 3414 min-width: 40px; 3415 } 3416 3417 .dy-podcast-progress-bg { 3418 width: 100%; 3419 flex: none; 3420 order: 5; 3421 margin-top: 8px; 3422 } 3423 } 3424 3425 .dy-share-zone { 3426 margin: 10px 0 0px; 3427 padding: 12px 20px; 3428 background: rgba(160,128,83, 0.5); 3429 border-radius: 20px; 3430 display: flex; 3431 align-items: center; 3432 justify-content: center; 3433 /* Centré par défaut */ 3434 align-content: center; 3435 flex-wrap: wrap; 3436 gap: 20px; 3437 border: 1px solid rgba(255, 255, 255, 0.1); 3438 backdrop-filter: blur(15px); 3439 -webkit-backdrop-filter: blur(15px); 3440 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); 3441 transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); 3442 } 3443 3444 3445 .dy-share-zone:hover { 3446 border-color: rgba(255, 255, 255, 0.2); 3447 transform: translateY(-2px); 3448 box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15); 3449 } 3450 3451 .dy-share-btn { 3452 display: inline-flex; 3453 align-items: center; 3454 gap: 10px; 3455 text-decoration: none !important; 3456 transition: all 0.3s ease; 3457 } 3458 3459 .dy-liaison-btn { 3460 background: #ffffff; 3461 color: #292929 !important; 3462 padding: 10px 24px; 3463 border-radius: 14px; 3464 font-weight: 700; 3465 font-size: 13px; 3466 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); 3467 white-space: nowrap; 3468 } 3469 3470 .dy-liaison-btn:hover { 3471 transform: scale(1.03); 3472 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); 3473 filter: brightness(1.05); 3474 } 3475 3476 .dy-share-icons { 3477 display: flex; 3478 align-items: center; 3479 gap: 12px; 3480 flex-wrap: wrap; 3481 justify-content: center; 3482 } 3483 3484 .dy-share-label { 3485 font-size: 11px; 3486 color: rgba(255,255,255, 1); 3487 font-weight: 600; 3488 margin-right: 8px; 3489 margin-bottom: 0; 3490 transition: opacity 0.3s ease; 3491 } 3492 3493 3494 .dy-share-icon { 3495 width: 38px; 3496 height: 38px; 3497 border-radius: 12px; 3498 display: flex; 3499 align-items: center; 3500 justify-content: center; 3501 background: rgba(255, 255, 255, 0.08) !important; 3502 color: #fff !important; 3503 font-size: 16px; 3504 transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); 3505 text-decoration: none !important; 3506 border: 1px solid rgba(255, 255, 255, 0.05); 3507 } 3508 3509 .dy-share-icon:hover { 3510 background: rgba(255, 255, 255, 0.15) !important; 3511 transform: translateY(-5px) scale(1.1); 3512 border-color: rgba(255, 255, 255, 0.3); 3513 } 3514 3515 /* --- MODE 1: FULL (Desktop > 1200px) --- */ 3516 @media (min-width: 1201px) { 3517 .dy-share-zone { 3518 justify-content: space-between; 3519 padding: 15px 40px; 3520 flex-direction: row; 3521 } 3522 3523 .dy-share-label { 3524 display: block; 3525 } 3526 } 3527 3528 /* --- MODE 2: TABLET (768px à 1200px) --- */ 3529 @media (max-width: 1200px) and (min-width: 768px) { 3530 .dy-share-zone { 3531 justify-content: center; 3532 gap: 50px; 3533 /* Grand espace pour un look équilibré */ 3534 padding: 15px 25px; 3535 flex-direction: row; 3536 } 3537 3538 .dy-share-label { 3539 display: none; 3540 /* Look épuré sur tablette */ 3541 } 3542 } 3543 3544 /* --- MODE 3: MOBILE (<= 767px) --- */ 3545 @media (max-width: 767px) { 3546 .dy-share-zone { 3547 flex-direction: column; 3548 padding: 22px 15px; 3549 gap: 22px; 3550 text-align: center; 3551 border-radius: 18px;
3552 justify-content: center; 3553 } 3554 3555 .dy-liaison-btn { 3556 width: 100%; 3557 justify-content: center; 3558 padding: 14px 20px; 3559 font-size: 14px; 3560 } 3561 3562 .dy-share-icons { 3563 width: 100%; 3564 justify-content: center; 3565 gap: 15px; 3566 padding-top: 20px; 3567 border-top: 1px solid rgba(255, 255, 255, 0.1); 3568 } 3569 3570 .dy-share-label { 3571 width: 100%; 3572 margin: 0 0 10px 0; 3573 font-size: 11px; 3574 opacity: 0.8; 3575 display: block; 3576 } 3577 3578 .dy-share-icon { 3579 width: 44px; 3580 height: 44px; 3581 font-size: 20px; 3582 border-radius: 14px; 3583 } 3584 } 3585 3586 .dy-expand-mini-btn { 3587 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 3588 filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); 3589 opacity: 0.8; 3590 display: none; 3591 /* Hidden for Stations by default */ 3592 } 3593 3594 .dy-podcast-mode .dy-expand-mini-btn { 3595 display: flex; 3596 /* Show only for Podcasts */ 3597 } 3598 3599 .dy-expand-mini-btn:hover { 3600 transform: scale(1.05); 3601 opacity: 1 !important; 3602 } 3603 3604 .dy-expand-mini-btn.disabled { 3605 opacity: 0.3 !important; 3606 cursor: not-allowed !important; 3607 pointer-events: none !important; 3608 filter: grayscale(1); 3609 } 3610 3611 .dy-sticky-footer-pc .dy-expand-mini-btn { 3612 background: rgba(20, 20, 20, 0.9); 3613 backdrop-filter: blur(10px); 3614 -webkit-backdrop-filter: blur(10px); 3615 color: rgba(255, 255, 255, 0.7); 3616 padding: 4px 15px; 3617 border-radius: 10px 10px 0 0; 3618 border: 1px solid rgba(255, 255, 255, 0.1); 3619 border-bottom: none; 3620 white-space: nowrap; 3621 box-shadow: 0 -3px 8px rgba(0, 0, 0, 0.2); 3622 font-weight: 700; 3623 font-size: 10px; 3624 letter-spacing: 0.2px; 3625 opacity: 1 !important; 3626 text-transform: uppercase; 3627 z-index: 2147483640 !important; 3628 transition: all 0.3s ease; 3629 position: absolute; 3630 left: 50%; 3631 transform: translateX(-50%); 3632 } 3633 3634 .dy-sticky-footer-pc.pos-bottom .dy-expand-mini-btn { 3635 bottom: 100% !important; 3636 top: auto !important; 3637 border-radius: 10px 10px 0 0; 3638 border-bottom: none; 3639 } 3640 3641 .dy-sticky-footer-pc.pos-top .dy-expand-mini-btn { 3642 top: 100% !important; 3643 bottom: auto !important; 3644 border-radius: 0 0 10px 10px; 3645 border-top: none; 3646 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 3647 box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); 3648 } 3649 3650 .dy-sticky-footer-pc .dy-expand-mini-btn:hover { 3651 background: rgba(40, 40, 40, 0.9); 3652 color: #fff; 3653 transform: translateX(-50%) translateY(-1px) !important; 3654 } 3655 </style> 3656 <style type="text/css"> 3657 .fusion-featured-image-wrapper, 3658 .fusion-post-slideshow, 3659 .fusion-slider-sc:not(.fusion-has-margin) .flexslider { 3660 margin-bottom: 5px !important; /* Supprime le padding de 60px sous l'image (Cas Puppini) */ 3661 } 3662 3663 .video-shortcode, 3664 .fusion-video-shortcode { 3665 margin-bottom: 10px !important; /* Ãvite les grands écarts de 160px sur les bios */ 3666 } 3667 3668 .fusion-post-title-container, 3669 h1.entry-title { 3670 margin-top: 15px !important; /* Rapproche le titre de l'image ou de la vidéo */ 3671 } 3672 3673 /* 2. CAS SPÃCIFIQUE : VIDÃO ACTIVE (Masquage Slider) */ 3674 body.devyves-video-active .fusion-featured-slider-tb-1, 3675 body.devyves-video-active .fusion-featured-slider-tb { 3676 display: none !important; 3677 height: 0 !important; 3678 overflow: hidden !important; 3679 } 3680 3681 /* Suppression des marges sous la vidéo pour coller au titre */ 3682 body.devyves-video-active .fusion-content-tb-1 .fusion-text-1, 3683 body.devyves-video-active .video-shortcode, 3684 body.devyves-video-active .fusion-video-shortcode { 3685 margin-bottom: 0 !important; 3686 padding-bottom: 0 !important; 3687 } 3688 3689 /* 3. EXCEPTIONS : Priorité au titre H1 si présent dans le Bloc 1 (Cas Laufey) */ 3690 body.devyves-video-active article:has(.fusion-text-1 h1) .fusion-featured-slider-tb-1 { 3691 display: block !important; 3692 height: auto !important; 3693 } 3694 </style> 3695 <meta name="generator" content="Site Kit by Google 1.188.0" />
3695<script src='https://www.croonerradio.fr/?dm=6ea7fc1d5401d8c14da133a898761dcc&action=load&blogid=1&siteid=1&t=605888117&back=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F' type='text/javascript'></script>
3695<link rel="preload" href="https://www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.woff" as="font" type="font/woff" crossorigin><link rel="preload" href="//www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin><style type="text/css" id="css-fb-visibility">a[href^="#awb-close-collapsible__"][href$="__hide"]:not(.awb-collapse-link-visible),a[href^="#awb-open-collapsible__"][href$="__hide"].awb-collapse-link-hidden{display:none;}@media screen and (max-width: 640px){.fusion-no-small-visibility{display:none !important;}body .sm-text-align-center{text-align:center !important;}body .sm-text-align-left{text-align:left !important;}body .sm-text-align-right{text-align:right !important;}body .sm-text-align-justify{text-align:justify !important;}body .sm-flex-align-center{justify-content:center !important;}body .sm-flex-align-flex-start{justify-content:flex-start !important;}body .sm-flex-align-flex-end{justify-content:flex-end !important;}body .sm-mx-auto{margin-left:auto !important;margin-right:auto !important;}body .sm-ml-auto{margin-left:auto !important;}body .sm-mr-auto{margin-right:auto !important;}body .fusion-absolute-position-small{position:absolute;width:100%;}.awb-sticky.awb-sticky-small{ position: sticky; top: var(--awb-sticky-offset,0); }.fusion-layout-column.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content{max-height:var(--awb-collapsed-height-small,var(--awb-collapsed-height-medium,var(--awb-collapsed-height,200px)));}.fusion-layout-column.awb-collapsible > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible{--awb-collapse-fade-height-bp:var(--awb-collapse-fade-height-small,var(--awb-collapse-fade-height-medium));}.awb-collapse-not-small.awb-collapsible > .awb-collapsible-content{max-height:none !important;overflow:visible !important;-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-small.awb-collapsible{-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-small.awb-collapsible::before,.awb-collapse-not-small.awb-collapsible > .awb-collapsible-content::before{display:none !important;}.awb-collapse-not-small.awb-collapsible > .awb-collapse-trigger-wrapper,.awb-collapse-not-small.awb-collapsible + .awb-collapse-trigger-wrapper{display:none !important;}.awb-collapse-link-not-small{display:none !important;}}@media screen and (min-width: 641px) and (max-width: 1024px){.fusion-no-medium-visibility{display:none !important;}body .md-text-align-center{text-align:center !important;}body .md-text-align-left{text-align:left !important;}body .md-text-align-right{text-align:right !important;}body .md-text-align-justify{text-align:justify !important;}body .md-flex-align-center{justify-content:center !important;}body .md-flex-align-flex-start{justify-content:flex-start !important;}body .md-flex-align-flex-end{justify-content:flex-end !important;}body .md-mx-auto{margin-left:auto !important;margin-right:auto !important;}body .md-ml-auto{margin-left:auto !important;}body .md-mr-auto{margin-right:auto !important;}body .fusion-absolute-position-medium{position:absolute;width:100%;}.awb-sticky.awb-sticky-medium{ position: sticky; top: var(--awb-sticky-offset,0); }.fusion-layout-column.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content{max-height:var(--awb-collapsed-height-medium,var(--awb-collapsed-height,200px));}.fusion-layout-column.awb-collapsible > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible{--awb-collapse-fade-height-bp:var(--awb-collapse-fade-height-medium);}.awb-collapse-not-medium.awb-collapsible > .awb-collapsible-content{max-height:none !important;overflow:visible !important;-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-medium.awb-collapsible{-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-medium.awb-collapsible::before,.awb-collapse-not-medium.awb-collapsible > .awb-collapsible-content::before{display:none !important;}.awb-collapse-not-medium.awb-collapsible > .awb-collapse-trigger-wrapper,.awb-collapse-not-medium.awb-collapsible + .awb-collapse-trigger-wrapper{display:none !important;}.awb-collapse-link-not-medium{display:none !important;}}@media screen and (min-width: 1025px){.fusion-no-large-visibility{display:none !important;}body .lg-text-align-center{text-align:center !important;}body .lg-text-align-left{text-align:left !important;}body .lg-text-align-right{text-align:right !important;}body .lg-text-align-justify{text-align:justify !important;}body .lg-flex-align-center{justify-content:center !important;}body .lg-flex-align-flex-start{justify-content:flex-start !important;}body .lg-flex-align-flex-end{justify-content:flex-end !important;}body .lg-mx-auto{margin-left:auto !important;margin-right:auto !important;}body .lg-ml-auto{margin-left:auto !important;}body .lg-mr-auto{margin-right:auto !important;}body .fusion-absolute-position-large{position:absolute;width:100%;}.awb-sticky.awb-sticky-large{ position: sticky; top: var(--awb-sticky-offset,0); }.awb-collapse-not-large.awb-collapsible > .awb-collapsible-content{max-height:none !important;overflow:visible !important;-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-large.awb-collapsible{-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-large.awb-collapsible::before,.awb-collapse-not-large.awb-collapsible > .awb-collapsible-content::before{display:none !important;}.awb-collapse-not-large.awb-collapsible > .awb-collapse-trigger-wrapper,.awb-collapse-not-large.awb-collapsible + .awb-collapse-trigger-wrapper{display:none !important;}.awb-collapse-link-not-large{display:none !important;}}</style> 3696<!-- Balises Meta Google AdSense ajoutées par Site Kit --> 3697<meta name="google-adsense-platform-account" content="ca-host-pub-2644536267352236"> 3698<meta name="google-adsense-platform-domain" content="sitekit.withgoogle.com"> 3699<!-- Fin des balises Meta End Google AdSense ajoutées par Site Kit --> 3700 3701<!-- Extrait Google Tag Manager ajouté par Site Kit -->
3702<script>
vendor: 420 bytes, lines 3702-3711
3702 3703 ( function( w, d, s, l, i ) { 3704 w[l] = w[l] || []; 3705 w[l].push( {'gtm.start': new Date().getTime(), event: 'gtm.js'} ); 3706 var f = d.getElementsByTagName( s )[0], 3707 j = d.createElement( s ), dl = l != 'dataLayer' ? '&l=' + l : ''; 3708 j.async = true; 3709 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 3710 f.parentNode.insertBefore( j, f ); 3711 } )( window, document, 'script', 'dataLayer', '
3711GTM-KZKG3CW
vendor: 9 bytes, lines 3711-3712
3711' ); 3712
3713</script>
3713 3714 3715<!-- Terminer l'extrait de Google Tag Manager ajouté par Site Kit --> 3716 3717<!-- Extrait Google AdSense ajouté par Site Kit -->
3718<script async crossorigin="anonymous" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5324969300249679&host=ca-host-pub-2644536267352236"></script>
3718 3719 3720<!-- Terminer l'extrait de Google AdSense ajouté par Site Kit --> 3721<link rel="icon" href="https://www.croonerradio.fr/wp-content/uploads/2026/10/Favicon-Crooner-Radio-66x66.webp" sizes="32x32" /> 3722<link rel="icon" href="https://www.croonerradio.fr/wp-content/uploads/2026/10/Favicon-Crooner-Radio-200x200.webp" sizes="192x192" /> 3723<link rel="apple-touch-icon" href="https://www.croonerradio.fr/wp-content/uploads/2026/10/Favicon-Crooner-Radio-200x200.webp" /> 3724<meta name="msapplication-TileImage" content="https://www.croonerradio.fr/wp-content/uploads/2026/10/Favicon-Crooner-Radio-300x300.webp" /> 3725 <style type="text/css"> 3726 /* Forcer l'embed YouTube à respecter la largeur du conteneur */ 3727 .fusion-text iframe, 3728 .fusion-text embed, 3729 .fusion-text object, 3730 .video-shortcode iframe { 3731 max-width: 100% !important; 3732 width: 100% !important; 3733 height: auto !important; 3734 aspect-ratio: 16 / 9 !important; /* Maintient le format vidéo sans déformation */ 3735 } 3736 3737 /* Supprimer les marges parasites et forcer la pleine largeur */ 3738 .video-container, 3739 .fluid-width-video-wrapper { 3740 width: 100% !important; 3741 max-width: 100% !important; 3742 } 3743 </style> 3744 <style type="text/css" id="fusion-builder-template-header-css">.fusion-header, 3745.fusion-header-wrapper, 3746.fusion-builder-row, 3747.fusion-layout-column { 3748 overflow: visible !important; 3749}</style><style type="text/css" id="fusion-builder-template-footer-css">/* Réduire la hauteur du champ de saisie */ 3750.inf-input.inf-input-text input[type="text"] { 3751 width: 200px; /* Largeur du champ */ 3752 height: 30px; /* Hauteur réduite */ 3753 padding: 4px 8px; /* Padding ajusté */ 3754 font-size: 14px; /* Taille de la police */ 3755 box-sizing: border-box; /* Inclure le padding dans la hauteur totale */ 3756 margin-bottom: 2%; /* Marge de 2% en bas */ 3757} 3758 3759/* Styliser le bouton Inscription */ 3760.inf-submit input[type="submit"] { 3761 width: 100%; /* Largeur à 100% */ 3762 height: 35px; /* Hauteur réduite du bouton */ 3763 background-color: #a08053; /* Couleur de fond */ 3764 color: white; /* Texte en blanc */ 3765 border: none; /* Supprimer la bordure par défaut */ 3766 border-radius: 8px; /* Bords moins arrondis */ 3767 padding: 0; /* Supprimer le padding par défaut */ 3768 font-size: 14px; /* Taille de la police réduite */ 3769 cursor: pointer; /* Curseur en forme de main au survol */ 3770 transition: background-color 0.3s ease; /* Animation de transition */ 3771} 3772 3773/* Effet au survol du bouton */ 3774.inf-submit input[type="submit"]:hover { 3775 background-color: #c0a080; /* Couleur plus claire au survol */ 3776}</style> 3777 <style id="wp-block-library-inline-css"> 3778:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
3778--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 3779/*wp_block_styles_on_demand_placeholder:6abf20ae7dc55*/ 3780/*# sourceURL=wp-block-library-inline-css */ 3781</style> 3782<style id="wp-block-library-theme-inline-css"> 3783.wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:hsla(0,0%,100%,.65)}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote :where(cite),.wp-block-pullquote :where(footer),.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em} 3784/*# sourceURL=/wp-includes/css/dist/block-library/theme.min.css */ 3785</style> 3786<style id="classic-theme-styles-inline-css"> 3787/*! This file is auto-generated */ 3788.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
3788padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 3789/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 3790</style> 3791 3792</head> 3793 3794<body class="wp-singular post-template-default single single-post postid-55944 single-format-standard wp-custom-logo wp-theme-Avada fusion-image-hovers fusion-pagination-sizing fusion-button_type-flat fusion-button_span-no fusion-button_gradient-linear avada-image-rollover-circle-no avada-image-rollover-yes avada-image-rollover-direction-left fusion-has-button-gradient fusion-body ltr fusion-sticky-header no-tablet-sticky-header no-mobile-sticky-header no-mobile-slidingbar no-desktop-totop no-mobile-totop fusion-disable-outline fusion-sub-menu-fade mobile-logo-pos-left layout-wide-mode avada-has-boxed-modal-shadow-none layout-scroll-offset-full avada-has-zero-margin-offset-top fusion-top-header menu-text-align-center mobile-menu-design-modern fusion-show-pagination-text fusion-header-layout-v1 avada-responsive avada-footer-fx-none avada-menu-highlight-style-bar fusion-search-form-classic fusion-main-menu-search-overlay fusion-avatar-circle avada-dropdown-styles avada-blog-layout-medium avada-blog-archive-layout-medium avada-header-shadow-no avada-menu-icon-position-left avada-has-megamenu-shadow avada-has-mainmenu-dropdown-divider avada-has-mobile-menu-search avada-has-main-nav-search-icon avada-has-breadcrumb-mobile-hidden avada-has-titlebar-hide avada-header-border-color-full-transparent avada-has-pagination-width_height avada-flyout-menu-direction-fade avada-ec-views-v1" data-awb-post-id="55944"> 3795 <!-- Extrait Google Tag Manager (noscript) ajouté par Site Kit -->
vendor: 74 bytes, lines 3795-3797
3795 3796 <noscript> 3797 <iframe src="https://www.googletagmanager.com/ns.html?id=
3797GTM-KZKG3CW
vendor: 88 bytes, lines 3797-3799
3797" height="0" width="0" style="display:none;visibility:hidden"></iframe> 3798 </noscript> 3799
3799<!-- Terminer l'extrait de Google Tag Manager (noscript) ajouté par Site Kit --> 3800
3800<script type="text/javascript"> 3801 var doc = document.documentElement; 3802 doc.setAttribute( 'data-useragent', navigator.userAgent ); 3803 </script>
3803 3804 <a class="skip-link screen-reader-text" href="#content">Passer au contenu</a> 3805 3806 <div id="boxed-wrapper"> 3807 3808 <div id="wrapper" class="fusion-wrapper"> 3809 <div id="home" style="position:relative;top:-1px;"></div> 3810 <div class="fusion-tb-header"><header class="fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility fusion-sticky-container fusion-custom-z-index" style="--awb-border-sizes-top:0px;--awb-border-sizes-bottom:0px;--awb-border-sizes-left:0px;--awb-border-sizes-right:0px;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-z-index:9999;--awb-padding-top:15px;--awb-padding-right:5%;--awb-padding-bottom:15px;--awb-padding-left:5%;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-background-color:var(--awb-color8);--awb-flex-wrap:wrap;" data-transition-offset="0" data-scroll-offset="0" data-sticky-medium-visibility="1" data-sticky-large-visibility="1" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-space-around fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_4 1_4 fusion-flex-column fusion-no-small-visibility" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:auto;--awb-order-small:0;--awb-spacing-right-small:2%;--awb-spacing-left-small:2%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-image-element" style="text-align:left;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-1 hover-type-none"><a class="fusion-no-lightbox" href="/" target="_self" aria-label="Logo-Header-Crooner-Radio-2025"><img fetchpriority="high" decoding="async" width="608" height="155" src="http://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp" alt class="img-responsive wp-image-50215" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-200x51.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-400x102.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-600x153.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp 608w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-z-index:1;--awb-padding-right:3%;--awb-bg-size:cover;--awb-border-color:rgba(114,114,114,0.38);--awb-border-style:solid;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><nav class="awb-menu awb-menu_row awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-no mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-end mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-center awb-menu_transition-fade fusion-no-small-visibility fusion-no-medium-visibility" style="--awb-font-size:14px;--awb-transition-time:290;--awb-gap:1.5%;--awb-justify-content:flex-end;--awb-color:var(--awb-color1);--awb-active-color:var(--awb-color5);--awb-submenu-space:15px;--awb-submenu-font-size:13px;--awb-icons-size:13;--awb-icons-color:var(--awb-color1);--awb-icons-hover-color:var(--awb-color5);--awb-main-justify-content:flex-start;--awb-mobile-nav-button-align-hor:flex-end;--awb-mobile-nav-items-height:64;--awb-mobile-trigger-font-size:20px;--awb-mobile-trigger-color:var(--awb-color1);--awb-mobile-trigger-background-color:var(--awb-color8);--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:"Inter";--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:500;--awb-fusion-font-family-submenu-typography:"Inter";--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:400;--awb-fusion-font-family-mobile-typography:inherit;--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:400;" aria-label="Main Menu - 2025 (FR)" data-breakpoint="1300" data-count="0" data-transition-type="fade" data-transition-time="290" data-expand="center"><button type="button" class="awb-menu__m-toggle" aria-expanded="false" aria-controls="menu-main-menu-2025-fr"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text">Menu</span><span class="awb-menu__m-collapse-icon"><span class="awb-menu__m-collapse-icon-open fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close fa-times fas"></span></span></span></button><ul id="menu-main-menu-2025-fr" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_row"><li id="menu-item-50000" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-50000 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50000"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-home fas" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Crooner Radio â Home (FR)</span></span></a></li><li id="menu-item-50056" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50056 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50056"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">|</span></a></li><li id="menu-item-50001" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-50001 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50001"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/actualites/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Actualités</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Actualités" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50179" data-width="custom_width" style="--awb-megamenu-width:900px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:2%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
3810--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/actualites/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">A la Une</a></div></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div style="text-align:right;"><a class="fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-1 fusion-button-default-span fusion-button-default-type" style="--awb-margin-top:0px;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--button_accent_color:var(--awb-color1);--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color4);--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button_gradient_top_color:rgba(0,0,0,0);--button_gradient_bottom_color:rgba(0,0,0,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);--button_font_size:14px;--button_typography-font-family:"Inter";--button_typography-font-style:normal;--button_typography-font-weight:500;" target="_self" href="/actualites/"><i class="fa-newspaper fas awb-button__icon awb-button__icon--default button-icon-left" aria-hidden="true"></i><span class="fusion-button-text awb-button__text awb-button__text--default">Voir toutes les actualités</span></a></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-blog-shortcode fusion-blog-shortcode-1 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--grid_separator_color:rgba(0,0,0,0);"><style type="text/css">.fusion-blog-shortcode-1 .fusion-blog-layout-grid .fusion-post-grid{padding:6px;}.fusion-blog-shortcode-1 .fusion-posts-container{margin-left: -6px !important; margin-right:-6px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-3 isotope fusion-blog-equal-heights" data-pages="96" data-grid-col-space="12" style="margin: -6px -6px 0;min-height:500px;"><article id="blog-1-post-55944" class="fusion-post-grid post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 3811<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3812 3813 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3814 <ul class="slides"> 3815 3816 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3817 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
3817s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." srcset="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3818 <div class="fusion-rollover-content"> 3819 3820 3821 3822 3823 3824 3825 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" aria-label="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"></a> 3826 </div> 3827</div> 3828</div> 3829</li> 3830 3831 3832 </ul> 3833 </div> 3834 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/">Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</a></div></div></div><div class="fusion-clearfix"></div></div> 3835</article> 3836<article id="blog-1-post-55927" class="fusion-post-grid post-55927 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3837<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3838 3839 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3840 <ul class="slides"> 3841 3842 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3843 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-française-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3844 <div class="fusion-rollover-content"> 3845 3846 3847 3848 3849 3850 3851 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/" aria-label="Sienna Spiro la nouvelle star mondiale néo 60âs"></a> 3852 </div> 3853</div> 3854</div> 3855</li> 3856 3857 3858 </ul> 3859 </div> 3860 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/">Sienna Spiro la nouvelle star mondiale néo 60âs</a></div></div></div><div class="fusion-clearfix"></div></div> 3861</article> 3862<article id="blog-1-post-55924" class="fusion-post-grid post-55924 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3863<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3864 3865 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3866 <ul class="slides"> 3867 3868 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3869 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100v
3869w, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3870 <div class="fusion-rollover-content"> 3871 3872 3873 3874 3875 3876 3877 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/" aria-label="Un été des belles années 60/70 pour garder la crooner attitude"></a> 3878 </div> 3879</div> 3880</div> 3881</li> 3882 3883 3884 </ul> 3885 </div> 3886 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/">Un été des belles années 60/70 pour garder la crooner attitude</a></div></div></div><div class="fusion-clearfix"></div></div> 3887</article> 3888<article id="blog-1-post-55908" class="fusion-post-grid post-55908 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 3889<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3890 3891 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3892 <ul class="slides"> 3893 3894 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3895 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Les Puppini Sisters en interview sur Crooner Radio dans l'emission Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3896 <div class="fusion-rollover-content"> 3897 3898 3899 3900 3901 3902 3903 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/" aria-label="Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing"></a> 3904 </div> 3905</div> 3906</div> 3907</li> 3908 3909 3910 </ul> 3911 </div> 3912 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/">Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing</a></div></div></div><div class="fusion-clearfix"></div></div> 3913</article> 3914<article id="blog-1-post-52117" class="fusion-post-grid post-52117 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3915<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3916 3917 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3918 <ul class="slides"> 3919 3920 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3921 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp" class="attachment-full size-full wp-post-image" alt="2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-800x476.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp 900w" sizes="(min-width: 2200px) 100v
3921w, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3922 <div class="fusion-rollover-content"> 3923 3924 3925 3926 3927 3928 3929 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/" aria-label="Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?"></a> 3930 </div> 3931</div> 3932</div> 3933</li> 3934 3935 3936 </ul> 3937 </div> 3938 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/">Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?</a></div></div></div><div class="fusion-clearfix"></div></div> 3939</article> 3940<article id="blog-1-post-55894" class="fusion-post-grid post-55894 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3941<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3942 3943 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3944 <ul class="slides"> 3945 3946 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3947 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de Frank Michael en Smoking" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3948 <div class="fusion-rollover-content"> 3949 3950 3951 3952 3953 3954 3955 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-12-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien/" aria-label="Disparition de Frank Michael : l’adieu au crooner de charme"></a> 3956 </div> 3957</div> 3958</div> 3959</li> 3960 3961 3962 </ul> 3963 </div> 3964 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-12-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien/">Disparition de Frank Michael : l’adieu au crooner de charme</a></div></div></div><div class="fusion-clearfix"></div></div> 3965</article> 3966<div class="fusion-clearfix"></div></div></div></div></div></div></div> 3967</div></li><li id="menu-item-55798" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-55798 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="55798"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/stations-de-radio/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Radios</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Radios" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50238" data-width="custom_width" style="--awb-megamenu-width:813px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:6%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_2_5 2_5 fusion-flex-column fusion-flex-align-self-center" style="--awb-bg-size:cover;--awb-width-large:40%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:4.8%;--awb-width-medium:40%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:4.8%;--awb-spacing-left-medium:4.8%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
3967--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:18px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/radio-numerique-terrestre-rnt-dab/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Dans votre voiture</a></div></div><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(110%);"><span class=" fusion-imageframe imageframe-none imageframe-2 hover-type-none"><a class="fusion-no-lightbox" href="/radio-numerique-terrestre-rnt-dab/" target="_self" aria-label="25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB"><img decoding="async" width="673" height="400" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB.webp" alt class="img-responsive wp-image-50333" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB.webp 673w" sizes="(max-width: 640px) 100vw, 673px" /></a></span></div><div class="fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:18px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/radio-numerique-terrestre-rnt-dab/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Ã la maison ou au travail</a></div></div><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(110%);"><span class=" fusion-imageframe imageframe-none imageframe-3 hover-type-none"><a class="fusion-no-lightbox" href="/radio-numerique-terrestre-rnt-dab/" target="_self" aria-label="25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB"><img decoding="async" width="673" height="400" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB.webp" alt class="img-responsive wp-image-50334" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB.webp 673w" sizes="(max-width: 640px) 100v
3967w, 673px" /></a></span></div><div class="fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:18px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/application/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Partout sur votre smartphone</a></div></div><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(110%);"><span class=" fusion-imageframe imageframe-none imageframe-4 hover-type-none"><a class="fusion-no-lightbox" href="/application/" target="_self" aria-label="25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION"><img decoding="async" width="673" height="400" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION.webp" alt class="img-responsive wp-image-50335" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION.webp 673w" sizes="(max-width: 640px) 100vw, 673px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_3_5 3_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:60%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.2%;--awb-width-medium:60%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.2%;--awb-spacing-left-medium:3.2%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Notre station</div></div><nav class="awb-submenu awb-submenu_column awb-submenu_em-hover awb-submenu_icons-left awb-submenu_dc-no awb-submenu_transition-fade awb-submenu_dropdown awb-submenu_expand-left" style="--awb-transition-time:415;--awb-submenu-items-padding-bottom:2%;--awb-icons-size:10;--awb-main-justify-content:flex-end;--awb-color:var(--awb-color2);--awb-active-color:var(--awb-color4);--awb-icons-color:var(--awb-color5);--awb-items-padding-bottom:10px;--awb-font-size:16px;--awb-submenu-items-padding-bottom:2%;--awb-submenu-font-size:10px;--awb-fusion-font-family-typography:"Inter";--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:400;--awb-fusion-font-family-submenu-typography:"Inter";--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:300;" aria-label="Menu" data-count="0" data-transition-type="fade" data-transition-time="415" data-breakpoint="0"><ul id="menu-submenu-radio" class="fusion-menu awb-submenu__main-ul awb-submenu__main-ul_column"><li id="menu-item-50301" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50301 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50301"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio-numerique-terrestre-rnt-dab/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Ãcoutez en radio numérique terrestre DAB+</span></a></li><li id="menu-item-50302" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50302 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50302"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/ecouter-crooner-radio-sur-internet/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Ãcouter Crooner Radio sur Internet</span></a></li><li id="menu-item-50249" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50249 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50249"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/diffusion-frequences-reception-fm-dab-france-monaco-suisse-belgique-luxembourg/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Nos Fréquences</span></a></li><li id="menu-item-50311" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50311 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50311"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/stations-de-radio/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Nos stations de radio</span></a></li><li id="menu-item-50300" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50300 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50300"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/grille-des-programmes/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Grille des programmes</span></a></li><li id="menu-item-50304" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50304 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50304"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/artistes/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Nos Artistes</span></a></li><li id="menu-item-50308" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50308 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50308"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/equipe/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Lâéquipe de la station</span></a></li></ul></nav></div></div></div></div> 3968</div></li><li id="menu-item-54256" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-54256 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="54256"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/application/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Application</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Application" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50196" data-width="custom_width" style="--awb-megamenu-width:353px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:15px;--awb-border-radius-bottom-left:15px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:7%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
3968--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/application/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Application</a></div></div><div class="fusion-image-element" style="text-align:center;--awb-margin-bottom:8%;--awb-max-width:280px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-5 hover-type-none"><a class="fusion-no-lightbox" href="/application/" target="_self" aria-label="25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID"><img decoding="async" width="922" height="1021" src="https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID.webp" alt class="img-responsive wp-image-48904" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-200x221.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-400x443.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-600x664.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-800x886.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID.webp 922w" sizes="(max-width: 640px) 100vw, 922px" /></a></span></div><div class="fusion-image-element" style="text-align:center;--awb-margin-bottom:3%;--awb-max-width:180px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-6 hover-type-none"><a class="fusion-no-lightbox" href="https://apps.apple.com/fr/app/crooner-radio/id1065077340" target="_blank" aria-label="Download-FR-Crooner-Radio-App-Store" rel="noopener noreferrer"><img decoding="async" width="218" height="69" src="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-App-Store.webp" alt class="img-responsive wp-image-36924" srcset="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-App-Store-200x63.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-App-Store.webp 218w" sizes="(max-width: 640px) 100vw, 218px" /></a></span></div><div class="fusion-image-element" style="text-align:center;--awb-margin-bottom:4%;--awb-max-width:180px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-7 hover-type-none"><a class="fusion-no-lightbox" href="https://play.google.com/store/apps/details?id=com.croonerradio.croonerradio" target="_blank" aria-label="Download-FR-Crooner-Radio-Play-Store" rel="noopener noreferrer"><img decoding="async" width="218" height="69" src="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-Play-Store.webp" alt class="img-responsive wp-image-36921" srcset="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-Play-Store-200x63.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-Play-Store.webp 218w" sizes="(max-width: 640px) 100v
3968w, 218px" /></a></span></div></div></div></div></div> 3969</div></li><li id="menu-item-54245" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-54245 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="54245"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/podcasts/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Podcasts</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Podcasts" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><style>.avada-container-mm-podcast .blog-shortcode-post-title.entry-title { 3970 font-size: 13px !important; 3971 font-family: 'Inter', sans-serif !important; 3972 font-weight: 400 !important; 3973 line-height: 1.5 !important; 3974 color: #000000 !important; 3975} 3976 3977.avada-container-mm-podcast .fusion-post-content-wrapper { 3978 padding: 12px 0px 0px 0px !important; /* Ajustez les valeurs selon vos besoins */ 3979}</style><div class="awb-menu__mega-wrap" id="awb-mega-menu-50141" data-width="custom_width" style="--awb-megamenu-width:900px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-4 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:12px;--awb-border-radius-bottom-left:12px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:6%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-8 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/podcasts/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Nos Podcasts</a></div></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-9 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div style="text-align:right;"><a class="fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-2 fusion-button-default-span fusion-button-default-type" style="--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--button_accent_color:var(--awb-color1);--button_border_color:#ffffff;--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color1);--button_gradient_top_color:rgba(255,255,255,0);--button_gradient_bottom_color:rgba(255,255,255,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);--button_font_size:14px;" target="_self" href="/podcasts/"><i class="fa-podcast fas awb-button__icon awb-button__icon--default button-icon-left" aria-hidden="true"></i><span class="fusion-button-text awb-button__text awb-button__text--default">Voir tous les podcasts de la station</span></a></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-10 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);
3979--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-8 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/crooner-and-friends/" target="_self" aria-label="2024-Podcast-Crooner-and-Friends"><img decoding="async" width="1500" height="1500" alt="Logo officiel du podcast Crooner And Friends" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends.webp" class="img-responsive wp-image-46728" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends.webp 1500w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-11 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-9 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/la-minute-crooner-attitude/" target="_self" aria-label="2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET"><img decoding="async" width="1500" height="1500" alt="2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET.webp" class="img-responsive wp-image-46729" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET.webp 1500w" sizes="(max-width: 640px) 100v
3979w, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-12 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-10 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/media-inside-actualite-des-medias/" target="_self" aria-label="Logo officiel du podcast Media Inside"><img decoding="async" width="1500" height="1500" alt="Logo officiel du podcast Media Inside de Terence De Rieu" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1.webp" class="img-responsive wp-image-46727" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1.webp 1500w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-13 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-11 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/crooner-gentlemen-drivers/" target="_self" aria-label="2024-Podcast-Gentlemen-Drivers"><img decoding="async" width="1500" height="1500" alt="2024-Podcast-Gentlemen-Drivers" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1.webp" class="img-responsive wp-image-46736" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1.webp 1500w" sizes="(max-width: 640px) 100v
3979w, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-14 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:2%;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/podcasts/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Nos Derniers Podcasts</a></div></div><div class="fusion-blog-shortcode fusion-blog-shortcode-2 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--grid_separator_color:rgba(0,0,0,0);"><style type="text/css">.fusion-blog-shortcode-2 .fusion-blog-layout-grid .fusion-post-grid{padding:6px;}.fusion-blog-shortcode-2 .fusion-posts-container{margin-left: -6px !important; margin-right:-6px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-3 isotope fusion-blog-equal-heights" data-pages="44" data-grid-col-space="12" style="margin: -6px -6px 0;min-height:500px;"><article id="blog-2-post-55944" class="fusion-post-grid post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 3980<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3981 3982 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3983 <ul class="slides"> 3984 3985 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3986 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
3986s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." srcset="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3987 <div class="fusion-rollover-content"> 3988 3989 3990 3991 3992 3993 3994 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" aria-label="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"></a> 3995 </div> 3996</div> 3997</div> 3998</li> 3999 4000 4001 </ul> 4002 </div> 4003 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/">Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</a></div></div></div><div class="fusion-clearfix"></div></div> 4004</article> 4005<article id="blog-2-post-55908" class="fusion-post-grid post-55908 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 4006<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 4007 4008 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4009 <ul class="slides"> 4010 4011 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4012 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Les Puppini Sisters en interview sur Crooner Radio dans l'emission Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 4013 <div class="fusion-rollover-content"> 4014 4015 4016 4017 4018 4019 4020 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/" aria-label="Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing"></a> 4021 </div> 4022</div> 4023</div> 4024</li> 4025 4026 4027 </ul> 4028 </div> 4029 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/">Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing</a></div></div></div><div class="fusion-clearfix"></div></div> 4030</article> 4031<article id="blog-2-post-38282" class="fusion-post-grid post-38282 post type-post status-publish format-standard has-post-thumbnail hentry category-artistes category-chanteur category-crooner-and-friends category-emission category-musique category-personnalites category-podcast-emission category-top-actu category-top-podcasts"> 4032<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 4033 4034 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4035 <ul class="slides"> 4036 4037 <li><div class="fusion-image-wrapper" aria-haspopup="true">
4038 <img decoding="async" width="773" height="459" src="https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2021-12-13-françoise-hardy-interview-chanteuse-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-600x356.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio.webp 773w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 4039 <div class="fusion-rollover-content"> 4040 4041 4042 4043 4044 4045 4046 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-09-francoise-hardy-une-artiste-amoureuse-de-la-famille-et-des-grandes-voix-internationales/" aria-label="Françoise Hardy, une artiste amoureuse de la famille et des grandes voix internationales"></a> 4047 </div> 4048</div> 4049</div> 4050</li> 4051 4052 4053 </ul> 4054 </div> 4055 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-09-francoise-hardy-une-artiste-amoureuse-de-la-famille-et-des-grandes-voix-internationales/">Françoise Hardy, une artiste amoureuse de la famille et des grandes voix internationales</a></div></div></div><div class="fusion-clearfix"></div></div> 4056</article> 4057<div class="fusion-clearfix"></div></div></div></div></div></div></div> 4058</div></li><li id="menu-item-51749" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-51749 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="51749"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-envelope fas" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Contact</span></span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Contact" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50451" data-width="custom_width" style="--awb-megamenu-width:800px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-5 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:6%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-15 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
4058--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Prenons contact !</div></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-16 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-content-boxes content-boxes columns row fusion-columns-4 fusion-columns-total-4 fusion-content-boxes-1 content-boxes-icon-on-top content-left has-flex-alignment" style="--awb-alignment:flex-start;--awb-title-color:var(--awb-color3);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);--awb-item-margin-bottom:0px;--awb-margin-top:50px;--awb-margin-bottom:0px;--awb-hover-accent-color:var(--awb-color4);--awb-circle-hover-accent-color:transparent;" data-animationOffset="top-into-view"><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-1 col-lg-3 col-md-3 col-sm-3 fusion-content-box-hover content-box-column-first-in-row"><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/contact/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-envelope fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Nous écrire</div></a></div></div></div><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-2 col-lg-3 col-md-3 col-sm-3 fusion-content-box-hover "><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/faq-questions-reponses-support/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-question fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Foire aux question</div></a></div></div></div><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-3 col-lg-3 col-md-3 col-sm-3 fusion-content-box-hover "><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/regie-publicitaire-sponsoring-publicite/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-comment-dollar fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Votre publicité à l'antenne</div></a></div></div></div><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-4 c
4058ol-lg-3 col-md-3 col-sm-3 fusion-content-box-hover content-box-column-last content-box-column-last-in-row"><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/crooner-factory/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-wrench fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Notre Factory</div></a></div></div></div><div class="fusion-clearfix"></div></div></div></div></div></div> 4059</div></li><li id="menu-item-50057" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50057 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50057"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">|</span></a></li><li id="menu-item-50058" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50058 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50058"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.facebook.com/croonerradioDAB" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-facebook-f fab" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Facebook</span></span></a></li><li id="menu-item-50059" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50059 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50059"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.instagram.com/croonerradio/" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-instagram fab" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Instagram</span></span></a></li><li id="menu-item-50060" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50060 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50060"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">|</span></a></li><li id="menu-item-50061" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50061 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50061"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/feed/" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-rss fas" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">RSS</span></span></a></li><li id="menu-item-50062" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children custom-menu-search awb-menu__li_search-dropdown menu-item-50062 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50062"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a class="awb-menu__main-a awb-menu__main-a_regular fusion-main-menu-icon awb-menu__main-a_icon-only" href="#" data-title="Recherche" aria-label="Recherche" aria-expanded="false"><span class="awb-menu__i awb-menu__i_main"><i class="glyphicon fa-search fas" aria-hidden="true"></i></span></a><button type="button" aria-label="Expand Search" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main"></button><ul class="awb-menu__sub-ul awb-menu__sub-ul_main fusion-menu-searchform-dropdown"><li class="awb-menu__sub-li"> <form role="search" class="searchform fusion-search-form fusion-search-form-classic" method="get" action="https://www.croonerradio.fr/"> 4060 <div class="fusion-search-form-content"> 4061 4062 4063 <div class="fusion-search-field search-field"> 4064 <label><span class="screen-reader-text">Rechercher:</span> 4065 <input type="search" value="" name="s" class="s" placeholder="Rechercher..." required aria-required="true"/> 4066 </label>
4067 </div> 4068 <div class="fusion-search-button search-button"> 4069 <input type="submit" class="fusion-search-submit searchsubmit" aria-label="Recherche" value="" /> 4070 </div> 4071 4072 4073 </div> 4074 4075 4076 4077 </form> 4078 </li></ul></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-17 fusion_builder_column_1_4 1_4 fusion-flex-column fusion-no-small-visibility" style="--awb-padding-right:15px;--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-end fusion-content-layout-column"><div class="radio-display dy-mini-player dy-display-logo " onclick="window.dyRadio.toggleDropdown(this, event)" title="Ouvrir la liste des stations" style="margin-left: 0; margin-right: auto; background: linear-gradient(135deg, rgba(255,255,255,0.08) 1%, rgba(0,0,0,1) 54%) !important; border-radius: 10px 10px 10px 10px; padding-left: 10px;" data-truncate-artist="25" data-truncate-title="30" data-truncate-podcast="0" data-switch-time="5" data-dd-switch-time="5" data-split-enable="1" data-split-keywords="Feat., Featuring., with, ft."> 4079 <div style="display: flex; align-items: center; padding-left: 10px;"> 4080 <span class="play-button fas fa-play" onclick="toggleDevYvesRadio(event); event.stopPropagation();" style="padding-right: 15px; font-size: <?php echo $play_size; ?>px;"></span> 4081 <div class="dy-volume-wrap" onclick="window.dyRadio.toggleVolume(this, event)" ontouchstart="window.dyRadio.toggleVolume(this, event)"> 4082 <svg class="dy-volume-toggle-svg" viewBox="0 0 24 24" style="fill: currentColor;"> 4083 <path d="M11.66 3.9a.75.75 0 0 1 .34.63v14.94a.75.75 0 0 1-1.23.58l-5.3-4.32H2.25A1.25 1.25 0 0 1 1 14.48v-4.96A1.25 1.25 0 0 1 2.25 8.27h3.22l5.3-4.32a.75.75 0 0 1 .89-.05z" /> 4084 <path class="dy-vol-wave" d="M14.8 9a.75.75 0 0 1 1.06 0 4.25 4.25 0 0 1 0 6 .75.75 0 1 1-1.06-1.06 2.75 2.75 0 0 0 0-3.88A.75.75 0 0 1 14.8 9z" /> 4085 <path class="dy-vol-wave" d="M17.88 5.82a.75.75 0 0 1 1.06 0 8.75 8.75 0 0 1 0 12.36.75.75 0 0 1-1.06-1.06 7.25 7.25 0 0 0 0-10.24.85.75 0 0 1 0-1.06z" /> 4086 <path class="dy-vol-mute" d="M22.28 12l1.97-1.97a.75.75 0 1 0-1.06-1.06l-1.97 1.97-1.97-1.97a.75.75 0 1 0-1.06 1.06L20.16 12l-1.97 1.97a.75.75 0 0 0 1.06 1.06l1.97-1.97 1.97 1.97a.75.75 0 0 0 1.06-1.06L22.28 12z" /> 4087 </svg> 4088 <div class="dy-volume-popup" onclick="event.stopPropagation()"> 4089 <div class="dy-volume-slider-bg" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 4090 <div class="dy-mini-volume-rail"> 4091 <div class="dy-mini-volume-fill" style="height: 100%;"></div> 4092 </div> 4093 </div> 4094 </div> 4095 </div> 4096 </div> 4097 <div class="dy-img-fixed-container" style="width: 60px; height: 60px; margin-right: 15px; border-radius: 6px;"> 4098 <img decoding="async" class="radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="border-radius: 6px; transition: opacity 0.8s ease-in-out;"> 4099 <img decoding="async" class="radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="border-radius: 6px; transition: opacity 0.8s ease-in-out; opacity: 0;"> 4100 </div> 4101 <div class="radio-text" style="display: flex; flex-direction: column; justify-content: center; width: calc(100% - 90px); min-height: 50px;"> 4102 4103 <p class="on-air" style="display: block; animation: dyBlink 1.5s infinite;">ON AIR</p> 4104 <p class="radio-subtitle" style="">Crooner Radio</p> 4105 <p class="radio-title" style="">Veuillez patienter...</p> 4106 4107 <p class="dy-mini-podcast-title" style="margin: 0; line-height: 1.2; max-height: 2.4em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; width: 100%;">Chargement...</p>
4108 <div class="dy-mini-podcast-controls" style="display:flex; align-items:center; gap:10px; width: 100%;" onclick="event.stopPropagation()"> 4109 <span class="dy-podcast-time">00:00</span> 4110 <div class="dy-podcast-progress-bg" style="flex:1; margin:0;"> 4111 <div class="dy-podcast-progress-rail"> 4112 <div class="dy-podcast-progress-fill"></div> 4113 </div> 4114 </div> 4115 <div class="dy-expand-mini-btn" style="display:flex; align-items:center; gap:5px; cursor:pointer; color:#a08053; flex-shrink: 0;" onclick="window.dyRadio.toggleDropdown(this.closest('.radio-display'), event)" > 4116 <span class="dy-expand-text" style="font-size:10px; color:#ffffff; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; opacity:0.9;"></span> 4117 <i class="fas fa-chevron-down" style="font-size:calc(10px + 2px);"></i> 4118 </div> 4119 </div> 4120 </div><div class="dy-mini-dropdown" onclick="event.stopPropagation()"><div class="dy-dropdown-item" onclick="dyRadio.playStation(0, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio</div><div class="dy-dd-artist dy-station-artist-0">Chargement...</div><div class="dy-dd-title dy-station-title-0">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(1, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio American</div><div class="dy-dd-artist dy-station-artist-1">Chargement...</div><div class="dy-dd-title dy-station-title-1">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(2, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Barbra Streisand</div><div class="dy-dd-artist dy-station-artist-2">Chargement...</div><div class="dy-dd-title dy-station-title-2">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(3, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Céline Dion</div><div class="dy-dd-artist dy-station-artist-3">Chargement...</div><div class="dy-dd-title dy-station-title-3">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(4, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Classic Gold</div><div class="dy-dd-artist dy-station-artist-4">Chargement...</div><div class="dy-dd-title dy-station-title-4">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(5, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Dean Martin</div><div class="dy-dd-artist dy-station-artist-5">Chargement...</div><div class="dy-dd-title dy-station-title-5">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(6, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Elvis Presley</div><div class="dy-dd-artist dy-station-artist-6">Chargement...</div><div class="dy-dd-title dy-station-title-6">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(7, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Frank Sinatra</div><div class="dy-dd-artist dy-station-artist-7">Chargement...</div><div class="dy-dd-title dy-station-title-7">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(8, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Frenchy</div><div class="dy-dd-artist dy-station-artist-8">Chargement...</div><div class="dy-dd-title dy-station-title-8">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(9, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Gentlemen Drivers</div><div class="dy-dd-artist dy-station-artist-9">Chargement...</div><div class="dy-dd-title dy-station-title-9">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(10, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Italiano</div><div class="dy-dd-artist dy-station-artist-10">Chargement...</div><div class="dy-dd-title dy-station-title-10">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(11, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Julio Iglesias</div><div class="dy-dd-artist dy-station-artist-11">Chargement...</div><div class="dy-dd-title dy-station-title-11">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(12, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Legends</div><div class="dy-dd-artist dy-station-artist-12">Chargement...</div><div class="dy-dd-title dy-station-title-12">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(13, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Lounge</div><div class="dy-dd-artist dy-station-artist-13">Chargement...</div><div class="dy-dd-title dy-station-title-13">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(14, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Love</div><div class="dy-dd-artist dy-station-artist-14">Chargement...</div><div class="dy-dd-title dy-station-title-14">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(15, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Michael Bublé</div><div class="dy-dd-artist dy-station-artist-15">Chargement...</div><div class="dy-dd-title dy-station-title-15">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(16, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Movies</div><div class="dy-dd-artist dy-station-artist-16">Chargement...</div><div class="dy-dd-title dy-station-title-16">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(17, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-tex
4120t"><div class="dy-dd-name">Crooner Radio Premium</div><div class="dy-dd-artist dy-station-artist-17">Chargement...</div><div class="dy-dd-title dy-station-title-17">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(18, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Swing</div><div class="dy-dd-artist dy-station-artist-18">Chargement...</div><div class="dy-dd-title dy-station-title-18">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(19, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Summer</div><div class="dy-dd-artist dy-station-artist-19">Chargement...</div><div class="dy-dd-title dy-station-title-19">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(20, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Zen</div><div class="dy-dd-artist dy-station-artist-20">Chargement...</div><div class="dy-dd-title dy-station-title-20">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(21, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Christmas</div><div class="dy-dd-artist dy-station-artist-21">Chargement...</div><div class="dy-dd-title dy-station-title-21">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(22, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Christmas Vintage</div><div class="dy-dd-artist dy-station-artist-22">Chargement...</div><div class="dy-dd-title dy-station-title-22">--</div></div></div></div></div></div></div></div></header><div class="fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-medium-visibility fusion-no-large-visibility fusion-custom-z-index" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-overflow:visible;--awb-z-index:9999999;--awb-padding-top:2%;--awb-padding-right:2%;--awb-padding-bottom:2%;--awb-padding-left:2%;--awb-background-color:var(--awb-color8);--awb-flex-wrap:nowrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-18 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-row fusion-flex-align-items-center fusion-content-nowrap"><nav class="awb-menu awb-menu_row awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-yes mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-start mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-right awb-menu_transition-fade" style="--awb-font-size:14px;--awb-submenu-bg:var(--awb-color8);--awb-submenu-sep-color:#474747;--awb-submenu-font-size:17px;--awb-main-justify-content:flex-start;--awb-mobile-bg:var(--awb-color8);--awb-mobile-color:var(--awb-color1);--awb-mobile-nav-items-height:80;--awb-mobile-trigger-font-size:16px;--awb-mobile-trigger-color:var(--awb-color1);--awb-mobile-trigger-background-color:var(--awb-color7);--awb-mobile-font-size:20px;--awb-mobile-sep-color:#3f3f3f;--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:"Inter";--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:700;--awb-fusion-font-family-submenu-typography:"Inter";--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:700;--awb-fusion-font-family-mobile-typography:"Inter";--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:700;" aria-label="MAIN MENU (FR) (Portable)" data-breakpoint="1024" data-count="1" data-transition-type="fade" data-transition-time="300" data-expand="right"><button type="button" class="awb-menu__m-toggle awb-menu__m-toggle_no-text" aria-expanded="false" aria-controls="menu-main-menu-fr-portable"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text"><span class="screen-reader-text">Toggle Navigation</span></span><span class="awb-menu__m-collapse-icon awb-menu__m-collapse-icon_no-text"><span class="awb-menu__m-collapse-icon-open awb-menu__m-collapse-icon-open_no-text fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close awb-menu__m-collapse-icon-close_no-text fa-times fas"></span></span></span></button><ul id="menu-main-menu-fr-portable" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_row"><li id="menu-item-30875" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-30875 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="30875"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Accueil</span></a></li><li id="menu-item-54712" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-54712 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="54712"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/podcasts/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Podcasts</span></a></li><li id="menu-item-19351" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19351 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="19351"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/actualites/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Actualités</span></a></li><li id="menu-item-46238" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-46238 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46238"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/ecouter-crooner-radio-sur-internet/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Nos flux audio</span></a></li><li id="menu-item-19353" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19353 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="19353"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/application-radio-crooner-smartphone-tablette-android-apple/" class="awb-menu__main-a awb-menu__main-a_regular fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-mobile-alt fas" aria-hidden="true"></i></span><span class="menu-text">Télécharger notre application</span></a></li><li id="menu-item-19354" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19354 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="19354"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/contact/" class="awb-menu__main-a awb-menu__main-a_regular fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-envelope fas" aria-hidden="true"></i></span><span class="menu-text">Contact</span></a></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-19 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-center fusion-no-medium-visibility fusion-no-large-visibility" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:1%;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:auto;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:2%;--awb-spacing-left-small:2%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-row fusion-flex-align-items-center"><div class="fusion-image-element" style="text-align:center;--awb-max-width:350px;--awb-caption-title-font-family:var(--h2_typography-font-family);
4120--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-12 hover-type-none"><a class="fusion-no-lightbox" href="/" target="_self" aria-label="Logo-Header-Crooner-Radio-2025"><img decoding="async" width="608" height="155" src="http://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp" alt class="img-responsive wp-image-50215" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-200x51.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-400x102.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-600x153.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp 608w" sizes="(max-width: 640px) 100vw, 608px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-20 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"></div></div></div></div> 4121</div> <div id="sliders-container" class="fusion-slider-visibility"> 4122 </div> 4123 4124 4125 <main id="main" class="clearfix width-100"> 4126 <div class="fusion-row" style="max-width:100%;"> 4127 4128<section id="content" style="width: 100%;"> 4129 <div id="post-55944" class="post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 4130 4131 <div class="post-content"> 4132 <div class="fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility fusion-custom-z-index" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-z-index:2;--awb-margin-top:2%;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-21 fusion_builder_column_1_5 1_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:20%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:20%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-10 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-margin-top:0px;--awb-margin-top-small:10px;
4132--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:25px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:300;margin:0;font-size:1em;">A la Une</div></div><div class="fusion-blog-shortcode fusion-blog-shortcode-3 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--awb-title-font-size:17px;--awb-title-line-height:1.5;--awb-title-font-family:"Inter";--awb-title-font-style:normal;--awb-title-font-weight:600;--grid_separator_color:rgba(0,0,0,0);"><style type="text/css">.fusion-blog-shortcode-3 .fusion-blog-layout-grid .fusion-post-grid{padding:20px;}.fusion-blog-shortcode-3 .fusion-posts-container{margin-left: -20px !important; margin-right:-20px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-1 isotope" data-pages="117" data-grid-col-space="40" style="margin: -20px -20px 0;min-height:500px;"><article id="blog-3-post-55944" class="fusion-post-grid post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 4133<div class="fusion-post-wrapper" style="background-color:rgba(25,23,23,1);border:none;"> 4134 4135 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4136 <ul class="slides"> 4137 4138 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4139 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
4139s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." srcset="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 4140 <div class="fusion-rollover-content"> 4141 4142 4143 4144 4145 4146 4147 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" aria-label="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"></a> 4148 </div> 4149</div> 4150</div> 4151</li> 4152 4153 4154 </ul> 4155 </div> 4156 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/">Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</a></div></div></div><div class="fusion-clearfix"></div></div> 4157</article> 4158<article id="blog-3-post-55927" class="fusion-post-grid post-55927 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 4159<div class="fusion-post-wrapper" style="background-color:rgba(25,23,23,1);border:none;"> 4160 4161 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4162 <ul class="slides"> 4163 4164 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4165 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-française-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 4166 <div class="fusion-rollover-content"> 4167 4168 4169 4170 4171 4172 4173 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/" aria-label="Sienna Spiro la nouvelle star mondiale néo 60âs"></a> 4174 </div> 4175</div> 4176</div> 4177</li> 4178 4179 4180 </ul> 4181 </div> 4182 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/">Sienna Spiro la nouvelle star mondiale néo 60âs</a></div></div></div><div class="fusion-clearfix"></div></div> 4183</article> 4184<article id="blog-3-post-55924" class="fusion-post-grid post-55924 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 4185<div class="fusion-post-wrapper" style="background-color:rgba(25,23,23,1);border:none;"> 4186 4187 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4188 <ul class="slides"> 4189 4190 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4191 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100v
4191w, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 4192 <div class="fusion-rollover-content"> 4193 4194 4195 4196 4197 4198 4199 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/" aria-label="Un été des belles années 60/70 pour garder la crooner attitude"></a> 4200 </div> 4201</div> 4202</div> 4203</li> 4204 4205 4206 </ul> 4207 </div> 4208 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/">Un été des belles années 60/70 pour garder la crooner attitude</a></div></div></div><div class="fusion-clearfix"></div></div> 4209</article> 4210<article id="blog-3-post-55908" class="fusion-post-grid post-55908 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 4211<div class="fusion-post-wrapper" style="background-color:rgba(25,23,23,1);border:none;"> 4212 4213 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4214 <ul class="slides"> 4215 4216 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4217 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Les Puppini Sisters en interview sur Crooner Radio dans l'emission Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 4218 <div class="fusion-rollover-content"> 4219 4220 4221 4222 4223 4224 4225 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/" aria-label="Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing"></a> 4226 </div> 4227</div> 4228</div> 4229</li> 4230 4231 4232 </ul> 4233 </div> 4234 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/">Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing</a></div></div></div><div class="fusion-clearfix"></div></div> 4235</article> 4236<article id="blog-3-post-52117" class="fusion-post-grid post-52117 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 4237<div class="fusion-post-wrapper" style="background-color:rgba(25,23,23,1);border:none;"> 4238 4239 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4240 <ul class="slides"> 4241 4242 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4243 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp" class="attachment-full size-full wp-post-image" alt="2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-800x476.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp 900w" sizes="(min-width: 2200px) 100v
4243w, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 4244 <div class="fusion-rollover-content"> 4245 4246 4247 4248 4249 4250 4251 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/" aria-label="Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?"></a> 4252 </div> 4253</div> 4254</div> 4255</li> 4256 4257 4258 </ul> 4259 </div> 4260 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/">Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?</a></div></div></div><div class="fusion-clearfix"></div></div> 4261</article> 4262<div class="fusion-clearfix"></div></div></div></div></div><article class="fusion-layout-column fusion_builder_column fusion-builder-column-22 fusion_builder_column_3_5 3_5 fusion-flex-column fusion-flex-align-self-flex-start" style="--awb-bg-size:cover;--awb-width-large:60%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:4.8%;--awb-width-medium:60%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:4.8%;--awb-spacing-left-medium:4.8%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-featured-slider-tb fusion-featured-slider-tb-1"><div class="fusion-slider-sc"><div class="fusion-flexslider-loading flexslider flexslider-hover-type-none" data-slideshow_autoplay="1" data-slideshow_smooth_height="0" data-slideshow_speed="7000" style="max-width:100%;height:100%;"><ul class="slides"><li class="image"><span class="fusion-image-hover-element hover-type-none"><img decoding="async" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
4262s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." width="900" height="535" class="wp-image-0" /></span></li></ul></div></div></div><div class="fusion-content-tb fusion-content-tb-1" style="--awb-text-color:var(--awb-color2);--awb-font-size:16px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-margin-right:0px;--awb-margin-top:0px;--awb-content-alignment:justify;--awb-text-transform:none;--awb-text-font-family:"Inter";--awb-text-font-style:normal;--awb-text-font-weight:400;"><div class="dy-btn-play-container" data-mode="podcast" data-index="0" data-original-text="Ãcouter les podcasts" data-playing-text="Ãcouter les podcasts" data-original-color="#a08053" data-playing-color="#a08053" onclick="window.dyRadio.playFirstPodcast(event)" style="display:inline-flex; align-items:center; justify-content:flex-start; vertical-align:middle; gap:4px; background:transparent; border-radius:0px; padding:0; width:auto; height:auto; border:none; cursor:pointer; transition:all 0.3s ease;"><span class="dy-btn-play play-button fas fa-play" style="font-size:24px; color:#a08053 !important; transition:color 0.3s ease;"></span><span class="dy-btn-play-text" style="font-size:14px; color:#d6bd99; line-height:1.2; font-weight:400; transition:all 0.3s ease;">Ãcouter les podcasts</span></div> 4263<h1>Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</h1> 4264<h2>Liane Foly invitée de Crooner And Friends du 21 au 25 Septembre revient sur sa carrière dans son livre autobiographique « La Droguerie du Sourire » aux editions Stock</h2> 4265<p><span class="fusion-dropcap dropcap fusion-content-tb-dropcap">E</span>lle sait chanter comme les plus grandes interprètes internationales de la pop music, elle sait faire rire, jouer la comédie, animer des émissions de télévision et elle publie un roman autobiographique intitulé <strong><a href="https://www.editions-stock.fr/livre/la-droguerie-du-sourire-9782234099128/" target="_blank" rel="noopener">« La Droguerie du Sourire »</a></strong> aux éditions Stock : nâoublions pas de dire que lâautrice, Liane Foly, est également une remarquable « Crooneuse », à lâimage du titre de son album paru en 2016, bien avant que les stars de la pop telles que Lady Gaga ne fassent de même.</p> 4266 <style> 4267 .dy-podcast-search-wrap { 4268 margin: 30px auto 40px auto; 4269 position: relative; 4270 width: 100%; 4271 max-width: 600px; 4272 display: flex; 4273 align-items: center; 4274 justify-content: center; 4275 gap: 15px; 4276 } 4277 4278 @media (max-width: 800px) { 4279 .dy-podcast-search-wrap { 4280 max-width: 100%; 4281 width: 100%; 4282 } 4283 } 4284 4285 .dy-podcast-search-input::placeholder { 4286 color: rgba(23, 23, 23, 0.4); 4287 } 4288 4289 .dy-podcast-search-input { 4290 flex: 1; 4291 padding: 30px 30px; 4292 border-radius: 50px; 4293 border: 1px solid rgba(190, 190, 190, 1); 4294 background: rgba(255, 255, 255, 1); 4295 color: #fff; 4296 font-size: 18px; 4297 outline: none; 4298 transition: all 0.3s ease; 4299 box-sizing: border-box; 4300 text-align: left; 4301 } 4302 4303 .dy-podcast-search-input:focus { 4304 background: rgba(255, 255, 255, 0.95); 4305 border-color: #ffffff; 4306 box-shadow: 0 0 20px rgba(255,255,255,0.3); 4307 color: #1d1d1d; 4308 } 4309 4310 .dy-podcast-search-wrap i { 4311 color: #a08053; 4312 font-size: 24px; 4313 pointer-events: none; 4314 transition: all 0.3s ease; 4315 opacity: 0.9; 4316 } 4317 4318 .dy-podcast-search-input:focus~i { 4319 color: #981a1aff; 4320 opacity: 1; 4321 } 4322 4323 .dy-podcast-search-tags { 4324 display: flex; 4325 flex-wrap: wrap; 4326 justify-content: center; 4327 gap: 10px; 4328 margin: -20px auto 30px auto; 4329 width: 100%; 4330 max-width: 100%; 4331 } 4332 4333 .dy-search-tag { 4334 padding: 6px 15px; 4335 background: rgba(255, 255, 255, 0.05); 4336 border: 1px solid rgba(255, 255, 255, 0.1); 4337 border-radius: 20px; 4338 font-size: 13px; 4339 color: #a08053; 4340 cursor: pointer; 4341 transition: all 0.3s ease; 4342 } 4343 4344 .dy-search-tag:hover { 4345 background: rgba(255, 255, 255, 0.15); 4346 color: #fff; 4347 border-color: #ffffff; 4348 transform: translateY(-1px); 4349 } 4350 4351 .dy-podcast-list .dy-podcast-item.dy-search-hidden { 4352 display: none !important; 4353 } 4354 4355 .dy-podcast-items-container { 4356 display: flex; 4357 flex-direction: column; 4358 gap: 10px; 4359 } 4360 </style> 4361
4361<script> 4362 (function() { 4363 const syncEpisodes = () => { 4364 if (window.dyRadio) { 4365 window.dyRadio.currentEpisodes = [{"title":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","date":"2026-09-21","url":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789971300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","date":"2026-09-22","url":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790057700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790144100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","date":"2026-09-24","url":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790230500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","date":"2026-09-26","url":"https:\/\/audio.ausha.co\/b7z0ku0rlxXp.mp3?t=1790087605","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790403300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"}]; 4366 if (typeof window.dyRadio.refreshUI === 'function') window.dyRadio.refreshUI(); 4367 } 4368 }; 4369 if (document.readyState === 'loading') { 4370 window.addEventListener('DOMContentLoaded', syncEpisodes); 4371 } else { 4372 syncEpisodes(); 4373 } 4374 })(); 4375 </script>
4375 4376 <div class="dy-podcast-list " 4377 data-load-init="10" 4378 data-load-next="10" 4379 data-share-wrap="40" 4380 data-episodes='[{"title":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","date":"2026-09-21","url":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789971300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","date":"2026-09-22","url":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790057700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790144100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","date":"2026-09-24","url":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790230500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","date":"2026-09-26","url":"https:\/\/audio.ausha.co\/b7z0ku0rlxXp.mp3?t=1790087605","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790403300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"}]' 4381 data-current-offset="10" 4382 data-skip="15" 4383 data-ep-title-size="15px" 4384 data-ep-title-color="#ffffff" 4385 data-ep-title-bold="1" 4386 data-share-ep-btn-bg="#a08053" 4387 data-share-ep-btn-color="#ffffff" 4388 data-fallback-rss="https://www.croonerradio.fr/datas/podcasts-rss/crooner-and-friends.xml" 4389 data-fallback-enable="1" 4390 data-download-enable="0"> 4391 4392 <h3 class="dy-podcast-main-title" style="color:#ffffff; font-size:20px;"> 4393 Podcasts de l'interview Crooner And Friends </h3> 4394 4395 4396 <div class="dy-podcast-items-container"> 4397 <div class="dy-podcast-item" 4398 data-url="https://audio.ausha.co/oKwO3H8D4VWl.mp3?t=1790069719" 4399 data-title="Liane Foly confie ses souvenirs dans « La Droguerie du sourire » sur Crooner Radio" 4400 data-author="Crooner and Friends" 4401 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 4402 data-date="2026-09-21" 4403 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 4404 onclick="window.dyRadio.playPodcast(this)"> 4405 4406 <div class="dy-podcast-img-wrap"> 4407 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 4408 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 4409 </div> 4410 4411 <div class="dy-podcast-info">
4412 <span class="dy-podcast-date">2026-09-21</span> 4413 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 4414 Liane Foly confie ses souvenirs dans « La Droguerie du sourire » sur Crooner Radio </h4> 4415 <span class="dy-podcast-meta">Crooner and Friends</span> 4416 4417 <div class="dy-podcast-progress-wrap"> 4418 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 4419 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4420 <line x1="12" y1="19" x2="12" y2="10"></line> 4421 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 4422 </svg></button> 4423 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4424 <circle cx="18" cy="5" r="3"></circle> 4425 <circle cx="6" cy="12" r="3"></circle> 4426 <circle cx="18" cy="19" r="3"></circle> 4427 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4428 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4429 </svg></span> 4430 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 4431 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 4432 <span class="dy-podcast-time">00:00</span> 4433 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 4434 <div class="dy-podcast-progress-rail"> 4435 <div class="dy-podcast-progress-fill"></div> 4436 </div> 4437 </div> 4438 </div> 4439 </div> 4440 4441 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 4442 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 4443 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4444 <circle cx="18" cy="5" r="3"></circle> 4445 <circle cx="6" cy="12" r="3"></circle> 4446 <circle cx="18" cy="19" r="3"></circle> 4447 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4448 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4449 </svg> 4450 </span>
4451 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 4452 </div> 4453 </div> 4454 <div class="dy-podcast-item" 4455 data-url="https://audio.ausha.co/ygdRMHD3gzjr.mp3?t=1790069214" 4456 data-title="Liane Foly : Peut-on sauver la chanson française ? Transmission, souvenirs et grands standards" 4457 data-author="Crooner and Friends" 4458 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 4459 data-date="2026-09-22" 4460 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 4461 onclick="window.dyRadio.playPodcast(this)"> 4462 4463 <div class="dy-podcast-img-wrap"> 4464 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 4465 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 4466 </div> 4467 4468 <div class="dy-podcast-info"> 4469 <span class="dy-podcast-date">2026-09-22</span> 4470 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 4471 Liane Foly : Peut-on sauver la chanson française ? Transmission, souvenirs et grands standards </h4> 4472 <span class="dy-podcast-meta">Crooner and Friends</span> 4473 4474 <div class="dy-podcast-progress-wrap"> 4475 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 4476 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4477 <line x1="12" y1="19" x2="12" y2="10"></line> 4478 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 4479 </svg></button> 4480 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4481 <circle cx="18" cy="5" r="3"></circle> 4482 <circle cx="6" cy="12" r="3"></circle> 4483 <circle cx="18" cy="19" r="3"></circle> 4484 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4485 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4486 </svg></span> 4487 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 4488 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 4489 <span class="dy-podcast-time">00:00</span> 4490 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 4491 <div class="dy-podcast-progress-rail"> 4492 <div class="dy-podcast-progress-fill"></div> 4493 </div> 4494 </div> 4495 </div> 4496 </div> 4497 4498 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;">
4499 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 4500 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4501 <circle cx="18" cy="5" r="3"></circle> 4502 <circle cx="6" cy="12" r="3"></circle> 4503 <circle cx="18" cy="19" r="3"></circle> 4504 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4505 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4506 </svg> 4507 </span> 4508 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 4509 </div> 4510 </div> 4511 <div class="dy-podcast-item" 4512 data-url="https://audio.ausha.co/b3PNRtG3OZ56.mp3?t=1790071941" 4513 data-title="Liane Foly : Le cinéma, des projets secrets, le showbiz et une chanson surprise" 4514 data-author="Crooner and Friends" 4515 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 4516 data-date="2026-09-23" 4517 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 4518 onclick="window.dyRadio.playPodcast(this)"> 4519 4520 <div class="dy-podcast-img-wrap"> 4521 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 4522 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 4523 </div> 4524 4525 <div class="dy-podcast-info"> 4526 <span class="dy-podcast-date">2026-09-23</span> 4527 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 4528 Liane Foly : Le cinéma, des projets secrets, le showbiz et une chanson surprise </h4> 4529 <span class="dy-podcast-meta">Crooner and Friends</span> 4530 4531 <div class="dy-podcast-progress-wrap"> 4532 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 4533 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4534 <line x1="12" y1="19" x2="12" y2="10"></line> 4535 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 4536 </svg></button> 4537 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4538 <circle cx="18" cy="5" r="3"></circle> 4539 <circle cx="6" cy="12" r="3"></circle> 4540 <circle cx="18" cy="19" r="3"></circle> 4541 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4542 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4543 </svg></span> 4544 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 4545 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button>
4546 <span class="dy-podcast-time">00:00</span> 4547 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 4548 <div class="dy-podcast-progress-rail"> 4549 <div class="dy-podcast-progress-fill"></div> 4550 </div> 4551 </div> 4552 </div> 4553 </div> 4554 4555 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 4556 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 4557 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4558 <circle cx="18" cy="5" r="3"></circle> 4559 <circle cx="6" cy="12" r="3"></circle> 4560 <circle cx="18" cy="19" r="3"></circle> 4561 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4562 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4563 </svg> 4564 </span> 4565 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 4566 </div> 4567 </div> 4568 <div class="dy-podcast-item" 4569 data-url="https://audio.ausha.co/B6rdnSPZvA6z.mp3?t=1790086536" 4570 data-title="Liane Foly : Une artiste sincère amour, et en amitié" 4571 data-author="Crooner and Friends" 4572 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 4573 data-date="2026-09-24" 4574 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 4575 onclick="window.dyRadio.playPodcast(this)"> 4576 4577 <div class="dy-podcast-img-wrap"> 4578 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 4579 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 4580 </div> 4581 4582 <div class="dy-podcast-info"> 4583 <span class="dy-podcast-date">2026-09-24</span> 4584 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 4585 Liane Foly : Une artiste sincère amour, et en amitié </h4> 4586 <span class="dy-podcast-meta">Crooner and Friends</span> 4587 4588 <div class="dy-podcast-progress-wrap"> 4589 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 4590 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4591 <line x1="12" y1="19" x2="12" y2="10"></line> 4592 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 4593 </svg></button> 4594 <sp
4594an class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4595 <circle cx="18" cy="5" r="3"></circle> 4596 <circle cx="6" cy="12" r="3"></circle> 4597 <circle cx="18" cy="19" r="3"></circle> 4598 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4599 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4600 </svg></span> 4601 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 4602 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 4603 <span class="dy-podcast-time">00:00</span> 4604 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 4605 <div class="dy-podcast-progress-rail"> 4606 <div class="dy-podcast-progress-fill"></div> 4607 </div> 4608 </div> 4609 </div> 4610 </div> 4611 4612 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 4613 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 4614 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4615 <circle cx="18" cy="5" r="3"></circle> 4616 <circle cx="6" cy="12" r="3"></circle> 4617 <circle cx="18" cy="19" r="3"></circle> 4618 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4619 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4620 </svg> 4621 </span> 4622 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 4623 </div> 4624 </div> 4625 <div class="dy-podcast-item" 4626 data-url="https://audio.ausha.co/b7z0ku0rlxXp.mp3?t=1790087605" 4627 data-title="Liane Foly : Hommage à Johnny Hallyday, générosité authenticité et projets" 4628 data-author="Crooner and Friends" 4629 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 4630 data-date="2026-09-26" 4631 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 4632 onclick="window.dyRadio.playPodcast(this)"> 4633 4634 <div class="dy-podcast-img-wrap"> 4635 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 4636 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 4637 </div> 4638 4639 <div class="dy-podcast-info">
4640 <span class="dy-podcast-date">2026-09-26</span> 4641 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 4642 Liane Foly : Hommage à Johnny Hallyday, générosité authenticité et projets </h4> 4643 <span class="dy-podcast-meta">Crooner and Friends</span> 4644 4645 <div class="dy-podcast-progress-wrap"> 4646 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 4647 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4648 <line x1="12" y1="19" x2="12" y2="10"></line> 4649 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 4650 </svg></button> 4651 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4652 <circle cx="18" cy="5" r="3"></circle> 4653 <circle cx="6" cy="12" r="3"></circle> 4654 <circle cx="18" cy="19" r="3"></circle> 4655 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4656 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4657 </svg></span> 4658 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 4659 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 4660 <span class="dy-podcast-time">00:00</span> 4661 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 4662 <div class="dy-podcast-progress-rail"> 4663 <div class="dy-podcast-progress-fill"></div> 4664 </div> 4665 </div> 4666 </div> 4667 </div> 4668 4669 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 4670 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 4671 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4672 <circle cx="18" cy="5" r="3"></circle> 4673 <circle cx="6" cy="12" r="3"></circle> 4674 <circle cx="18" cy="19" r="3"></circle> 4675 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4676 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4677 </svg> 4678 </span>
4679 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 4680 </div> 4681 </div> 4682 </div> 4683 4684
4684<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"PodcastEpisode","name":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","datePublished":"2026-09-21T06:15:00+00:00","description":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":2,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","datePublished":"2026-09-22T06:15:00+00:00","description":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":3,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","datePublished":"2026-09-23T06:15:00+00:00","description":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":4,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","datePublished":"2026-09-24T06:15:00+00:00","description":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":5,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","datePublished":"2026-09-26T06:15:00+00:00","description":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b7z0ku0rlxXp.mp3?t=1790087605"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}}]}</script>
4684 4685 4686 <style> 4687 .dy-share-zone.dy-share-centered { justify-content: center !important; } 4688 .dy-share-label { 4689 font-size: 15px !important; 4690 color: #ffffff !important; 4691 } 4692 </style> 4693 <div class="dy-share-zone"> 4694 <a href="https://www.croonerradio.fr/podcasts/crooner-and-friends/" class="dy-share-btn dy-liaison-btn"><i class="fas fa-podcast"></i> Voir la page du podcast</a> 4695 <div class="dy-share-icons"> 4696 <span class="dy-share-label">Partager sur vos Réseaux</span> 4697 <a href="mailto:?subject=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB&body=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" class="dy-share-icon dy-mail" title="Email" target="_blank" rel="noopener noreferrer"><i class="fas fa-envelope"></i></a> 4698 <a href="https://wa.me/?text=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB%20https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-whatsapp" title="WhatsApp"><i class="fab fa-whatsapp"></i></a> 4699 <a href="https://twitter.com/intent/tweet?text=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB&url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-x" title="X"><svg viewbox="0 0 24 24" style="width:18px; fill:currentColor;"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg></a> 4700 <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F&title=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-linkedin" title="LinkedIn"><i class="fab fa-linkedin-in"></i></a> 4701 <a href="https://www.instagram.com/" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-instagram" title="Instagram"><i class="fab fa-instagram"></i></a> 4702 </div> 4703 </div> </div> 4704 4705<p>Son livre qui sort aux éditions Stock sâintitule tout simplement « La Droguerie du sourire » en hommage à la droguerie de ses parents à Lyon où lâambiance festive et décalée a forgé lâavenir de la petite Ãliane Falliex, qui deviendra ensuite Liane Foly, pour la scène : oui, Liane Foly est une formidable artiste interprète capable de chanter en anglais et en français : dès ses débuts, en 1987, elle intitulait son premier album « The Man I Love » et y reprenait, déjà , des standards de jazz : il faut le faire quand on se souvient de la mode des années 80â¦</p> 4706<p>En 2016, Liane Foly, déjà auditrice de notre station, signe un album tout simplement intitulé « <a href="https://www.croonerradio.fr/actualites/2016-02-03-liane-foly-enfin-crooneuse-avec-un-big-band/"><strong>Crooneuse</strong></a> ». Comme son amie <a href="https://www.croonerradio.fr/radio/artistes/celine-dion/">Céline Dion</a> ou comme <a href="https://www.croonerradio.fr/radio/artistes/robbie-williams/">Robbie Williams</a>, Liane Foly sait tout faire sur scène. Comme disent les Américains, « elle sait rire et chanter par cÅur » en faisant même des imitations, qui, dans sa grande période showbizz, amusaient toutes les prestigieuses assemblées des « afters » concerts ou de ceux vécus pendant son intense période des Restos du CÅurâ¦</p> 4707<p>Liane Foly, reine de lâentertainment, <a href="https://www.croonerradio.fr/actualites/2016-03-23-grand-hotel-liane-foly-crooneuse/">Crooneuse</a>, chanteuse française, imitatrice comique, elle est aussi auteure et, pour la spéciale qui lui est consacrée sur Crooner Radio, elle préfère chanter en direct, plus que dâévoquer son livre qui commence par une corne de brume : « une main devant, une main derrière » quand les Pieds-Noirs sont arrivés en France au début des années 60.</p> 4708<p>Pour vous donner envie de le lire, il suffit de lâécouter sur Crooner Radio en direct ou en podcast replay sur lâapplication Crooner Radio. Ou encore de lire le témoignage qui va suivre, celui dâune auditrice, responsable des ventes en région parisienne dâun grand laboratoire :</p> 4709<p>Notre auditrice nous dit : « Jâai dévoré La Droguerie du sourire cet été, merveilleux récit pétillant dâhumanité, de passion et de drôlerie. Et plus je lisais, plus je me sentais proche de la femme qui écrivait : jây ai appris aussi le back-office du show-business français des années 90-début 2000 : une époque encore folle et joyeuse où les gens nâétaient pas encore totalement rivés sur leur portable et les réseaux sociaux. Liane Foly connaît aujourdâhui la musique comme personne, y compris les règles du métier, câest une très grande professionnelle à qui on ne peut raconter quâune seule messe : celle de la soul et du blues ! »</p> 4710<p><a href="https://www.astriddicrollalanza.com/site/galerie/index.html" target="_blank" rel="noopener"><em>Photographie par Astrid di Crollalanza</em></a></p></div><div class="fusion-sharing-box fusion-sharing-box-1 has-taglines layout-floated layout-medium-floated layout-small-stacked" style="background-color:var(--awb-color8);--awb-margin-bottom:10%;--awb-wrapper-padding-top:5%;--awb-wrapper-padding-right:5%;--awb-wrapper-padding-bottom:5%;--awb-wrapper-padding-left:5%;--awb-border-radius-top-left:15px;--awb-border-radius-top-right:15px;--awb-border-radius-bottom-right:15px;--awb-border-radius-bottom-left:15px;--awb-separator-border-color:#cccccc;--awb-separator-border-sizes:0px;--awb-stacked-align:center;--awb-layout:row;--awb-alignment-small:space-between;--awb-stacked-align-small:center;" data-title="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »" data-description="Liane Foly confie ses souvenirs dans "La Droguerie du Sourire" 4711Liane Foly invitée de Crooner And Friends du 21 au 25 Septembre revient sur sa carrière dans son livre autobiographique "La Droguerie du Sourire" aux editions Stock 4712Elle sait chanter comme les plus grandes interprètes internationales de la pop music, elle sait faire rire, jouer la" data-link="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/"><div class="tagline" style="color:var(--awb-color1);font-family:"Inter";font-style:normal;font-weight:600;font-size:24px;">Partagez sur vos réseaux sociaux !</div><div class="fusion-social-networks sharingbox-shortcode-icon-wrapper sharingbox-shortcode-icon-wrapper-1"><span><a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noreferrer" title="Facebook" aria-label="Facebook" data-placement="top" data-toggle="tooltip" data-title="Facebook"><i class="fusion-social-network-icon fusion-tooltip fusion-facebook awb-icon-facebook" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://x.com/intent/post?text=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2
4712%BB&url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" title="X" aria-label="X" data-placement="top" data-toggle="tooltip" data-title="X"><i class="fusion-social-network-icon fusion-tooltip fusion-twitter awb-icon-twitter" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://reddit.com/submit?url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F&title=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2%BB" target="_blank" rel="noopener noreferrer" title="Reddit" aria-label="Reddit" data-placement="top" data-toggle="tooltip" data-title="Reddit"><i class="fusion-social-network-icon fusion-tooltip fusion-reddit awb-icon-reddit" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" title="LinkedIn" aria-label="LinkedIn" data-placement="top" data-toggle="tooltip" data-title="LinkedIn"><i class="fusion-social-network-icon fusion-tooltip fusion-linkedin awb-icon-linkedin" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://api.whatsapp.com/send?text=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" title="WhatsApp" aria-label="WhatsApp" data-placement="top" data-toggle="tooltip" data-title="WhatsApp"><i class="fusion-social-network-icon fusion-tooltip fusion-whatsapp awb-icon-whatsapp" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://t.me/share/url?url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F&text=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2%BB" target="_blank" rel="noopener noreferrer" title="Telegram" aria-label="Telegram" data-placement="top" data-toggle="tooltip" data-title="Telegram"><i class="fusion-social-network-icon fusion-tooltip fusion-telegram awb-icon-telegram" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="mailto:?subject=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2%BB&body=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_self" title="Email" aria-label="Email" data-placement="top" data-toggle="tooltip" data-title="Email"><i class="fusion-social-network-icon fusion-tooltip fusion-mail awb-icon-mail" style="color:#ffffff;" aria-hidden="true"></i></a></span></div></div></div></article><div class="fusion-layout-column fusion_builder_column fusion-builder-column-23 fusion_builder_column_1_5 1_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:20%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:20%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-11 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-margin-top:0px;--awb-margin-top-small:10px;
4712--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:25px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:300;margin:0;font-size:1em;">Nos Stations</div></div> <style> 4713 #dy-list-sc-6abf20b3b28dd { 4714 background-color: rgba(255,255,255,0); 4715 border-radius: 10px; 4716 padding: 5px; 4717 display: flex; 4718 flex-direction: column; 4719 gap: 5px; 4720 font-family: 'Inter', sans-serif; 4721 } 4722 #dy-list-sc-6abf20b3b28dd .dy-list-item { 4723 display: flex; 4724 align-items: center; 4725 padding: 10px; 4726 border-radius: 10px; 4727 cursor: pointer; 4728 transition: all 0.3s ease; 4729 position: relative; 4730 overflow: hidden; 4731 background-color: rgba(255,255,255,0.05); 4732 } 4733 #dy-list-sc-6abf20b3b28dd .dy-list-item:hover { 4734 background-color: rgba(255,255,255,0.1); 4735 } 4736 #dy-list-sc-6abf20b3b28dd .dy-list-item.is-playing { 4737 border: 2px solid #503e26; 4738 } 4739 #dy-list-sc-6abf20b3b28dd .dy-list-item-img-wrap { 4740 position: relative; 4741 width: 60px; 4742 height: 60px; 4743 flex-shrink: 0; 4744 border-radius: 8px; 4745 overflow: hidden; 4746 margin-right: 15px; 4747 } 4748 #dy-list-sc-6abf20b3b28dd .dy-list-item-logo, 4749 #dy-list-sc-6abf20b3b28dd .dy-list-item-cover { 4750 position: absolute; 4751 top: 0; 4752 left: 0; 4753 width: 100%; 4754 height: 100%; 4755 object-fit: cover; 4756 transition: opacity 0.8s ease; 4757 } 4758 /* Standalone List alternation logic */ 4759 #dy-list-sc-6abf20b3b28dd.dy-display-logo .dy-list-item-logo { 4760 opacity: 1 !important; 4761 } 4762 #dy-list-sc-6abf20b3b28dd.dy-display-logo .dy-list-item-cover { 4763 opacity: 0 !important; 4764 } 4765 #dy-list-sc-6abf20b3b28dd.dy-display-cover .dy-list-item-logo { 4766 opacity: 0 !important; 4767 } 4768 #dy-list-sc-6abf20b3b28dd.dy-display-cover .dy-list-item-cover { 4769 opacity: 1 !important; 4770 } 4771 #dy-list-sc-6abf20b3b28dd .on-air { 4772 display: block; 4773 font-size: 9px; 4774 font-weight: 800; 4775 color: #d60000 !important; 4776 margin: 0 0 2px 0; 4777 line-height: 1; 4778 text-align: left; 4779 animation: dyBlink 1.5s infinite; 4780 } 4781 #dy-list-sc-6abf20b3b28dd .dy-list-item-text { 4782 display: flex; 4783 flex-direction: column; 4784 justify-content: center; 4785 flex-grow: 1; 4786 } 4787 #dy-list-sc-6abf20b3b28dd .dy-list-name { 4788 font-size: 10px; 4789 color: #a08053; 4790 font-weight: normal; 4791 margin-bottom: 2px; 4792 line-height: 1.2; 4793 } 4794 #dy-list-sc-6abf20b3b28dd .dy-list-artist { 4795 font-size: 11px; 4796 color: #ffffff; 4797 font-weight: bold; 4798 margin-bottom: 2px; 4799 line-height: 1.2; 4800 white-space: normal !important; 4801 overflow: visible !important; 4802 text-overflow: clip !important; 4803 } 4804 #dy-list-sc-6abf20b3b28dd .dy-list-title { 4805 font-size: 11px; 4806 color: #ffffff; 4807 font-weight: normal; 4808 line-height: 1.2; 4809 white-space: normal !important; 4810 overflow: visible !important; 4811 text-overflow: clip !important; 4812 } 4813 </style> 4814 <div id="dy-list-sc-6abf20b3b28dd" class="dy-standalone-list" data-dynamic-bg="0" data-dynamic-op="1" data-split-enable="1" data-split-keywords="Feat., Featuring., with, ft." data-initial-count="8" data-btn-text="Voir plus de chaines" data-btn-size="13" data-btn-color="#ffffff" data-btn-weight="500" data-btn-bg="rgba(0,0,0,1)" data-btn-radius="8" data-dd-switch-time="5"></div> 4815 <div class="fusion-image-element" style="--awb-margin-top:20px;--awb-margin-bottom:8%;--awb-caption-title-font-family:var(--h2_typography-font-family);
4815--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:contrast(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:contrast(80%);"><span class=" fusion-imageframe imageframe-none imageframe-13 hover-type-none"><a class="fusion-no-lightbox" href="/application/" target="_self" aria-label="IMG-PROMOTION-TELECHARGEMENT-APPLICATION-CROONER-RADIO-APPLE-ANDROID-HD"><img decoding="async" width="480" height="680" src="http://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-TELECHARGEMENT-APPLICATION-CROONER-RADIO-APPLE-ANDROID-HD.webp" alt class="img-responsive wp-image-44600" srcset="https://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-TELECHARGEMENT-APPLICATION-CROONER-RADIO-APPLE-ANDROID-HD-200x283.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-TELECHARGEMENT-APPLICATION-CROONER-RADIO-APPLE-ANDROID-HD-400x567.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-TELECHARGEMENT-APPLICATION-CROONER-RADIO-APPLE-ANDROID-HD.webp 480w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:contrast(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:contrast(80%);"><span class=" fusion-imageframe imageframe-none imageframe-14 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/" target="_self" aria-label="IMG-PROMOTION-REPLAY-CROONER-RADIO"><img decoding="async" width="480" height="680" src="http://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-REPLAY-CROONER-RADIO.webp" alt class="img-responsive wp-image-44604" srcset="https://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-REPLAY-CROONER-RADIO-200x283.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-REPLAY-CROONER-RADIO-400x567.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2023/03/IMG-PROMOTION-REPLAY-CROONER-RADIO.webp 480w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-medium-visibility fusion-no-large-visibility fusion-custom-z-index" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-z-index:2;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-24 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-flex-start" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-featured-slider-tb fusion-featured-slider-tb-2"><div class="fusion-slider-sc"><div class="fusion-flexslider-loading flexslider flexslider-hover-type-none" data-sli
4815deshow_autoplay="1" data-slideshow_smooth_height="0" data-slideshow_speed="7000" style="max-width:100%;height:100%;"><ul class="slides"><li class="image"><span class="fusion-image-hover-element hover-type-none"><img decoding="async" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." width="900" height="535" class="wp-image-0" /></span></li></ul></div></div></div><div class="fusion-content-tb fusion-content-tb-2" style="--awb-text-color:var(--awb-color2);--awb-text-transform:none;"><div class="dy-btn-play-container" data-mode="podcast" data-index="0" data-original-text="Ãcouter les podcasts" data-playing-text="Ãcouter les podcasts" data-original-color="#a08053" data-playing-color="#a08053" onclick="window.dyRadio.playFirstPodcast(event)" style="display:inline-flex; align-items:center; justify-content:flex-start; vertical-align:middle; gap:4px; background:transparent; border-radius:0px; padding:0; width:auto; height:auto; border:none; cursor:pointer; transition:all 0.3s ease;"><span class="dy-btn-play play-button fas fa-play" style="font-size:24px; color:#a08053 !important; transition:color 0.3s ease;"></span><span class="dy-btn-play-text" style="font-size:14px; color:#d6bd99; line-height:1.2; font-weight:400; transition:all 0.3s ease;">Ãcouter les podcasts</span></div> 4816<h1>Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</h1> 4817<h2>Liane Foly invitée de Crooner And Friends du 21 au 25 Septembre revient sur sa carrière dans son livre autobiographique « La Droguerie du Sourire » aux editions Stock</h2> 4818<p><span class="fusion-dropcap dropcap fusion-content-tb-dropcap">E</span>lle sait chanter comme les plus grandes interprètes internationales de la pop music, elle sait faire rire, jouer la comédie, animer des émissions de télévision et elle publie un roman autobiographique intitulé <strong><a href="https://www.editions-stock.fr/livre/la-droguerie-du-sourire-9782234099128/" target="_blank" rel="noopener">« La Droguerie du Sourire »</a></strong> aux éditions Stock : nâoublions pas de dire que lâautrice, Liane Foly, est également une remarquable « Crooneuse », à lâimage du titre de son album paru en 2016, bien avant que les stars de la pop telles que Lady Gaga ne fassent de même.</p> 4819 <style> 4820 .dy-podcast-search-wrap { 4821 margin: 30px auto 40px auto; 4822 position: relative; 4823 width: 100%; 4824 max-width: 600px; 4825 display: flex; 4826 align-items: center; 4827 justify-content: center; 4828 gap: 15px; 4829 } 4830 4831 @media (max-width: 800px) { 4832 .dy-podcast-search-wrap { 4833 max-width: 100%; 4834 width: 100%; 4835 } 4836 } 4837 4838 .dy-podcast-search-input::placeholder { 4839 color: rgba(23, 23, 23, 0.4); 4840 } 4841 4842 .dy-podcast-search-input { 4843 flex: 1; 4844 padding: 30px 30px; 4845 border-radius: 50px; 4846 border: 1px solid rgba(190, 190, 190, 1); 4847 background: rgba(255, 255, 255, 1); 4848 color: #fff; 4849 font-size: 18px; 4850 outline: none; 4851 transition: all 0.3s ease; 4852 box-sizing: border-box; 4853 text-align: left; 4854 } 4855 4856 .dy-podcast-search-input:focus { 4857 background: rgba(255, 255, 255, 0.95); 4858 border-color: #ffffff; 4859 box-shadow: 0 0 20px rgba(255,255,255,0.3); 4860 color: #1d1d1d; 4861 } 4862 4863 .dy-podcast-search-wrap i { 4864 color: #a08053; 4865 font-size: 24px; 4866 pointer-events: none; 4867 transition: all 0.3s ease; 4868 opacity: 0.9; 4869 } 4870 4871 .dy-podcast-search-input:focus~i { 4872 color: #981a1aff; 4873 opacity: 1;
4874 } 4875 4876 .dy-podcast-search-tags { 4877 display: flex; 4878 flex-wrap: wrap; 4879 justify-content: center; 4880 gap: 10px; 4881 margin: -20px auto 30px auto; 4882 width: 100%; 4883 max-width: 100%; 4884 } 4885 4886 .dy-search-tag { 4887 padding: 6px 15px; 4888 background: rgba(255, 255, 255, 0.05); 4889 border: 1px solid rgba(255, 255, 255, 0.1); 4890 border-radius: 20px; 4891 font-size: 13px; 4892 color: #a08053; 4893 cursor: pointer; 4894 transition: all 0.3s ease; 4895 } 4896 4897 .dy-search-tag:hover { 4898 background: rgba(255, 255, 255, 0.15); 4899 color: #fff; 4900 border-color: #ffffff; 4901 transform: translateY(-1px); 4902 } 4903 4904 .dy-podcast-list .dy-podcast-item.dy-search-hidden { 4905 display: none !important; 4906 } 4907 4908 .dy-podcast-items-container { 4909 display: flex; 4910 flex-direction: column; 4911 gap: 10px; 4912 } 4913 </style> 4914
4914<script> 4915 (function() { 4916 const syncEpisodes = () => { 4917 if (window.dyRadio) { 4918 window.dyRadio.currentEpisodes = [{"title":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","date":"2026-09-21","url":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789971300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","date":"2026-09-22","url":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790057700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790144100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","date":"2026-09-24","url":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790230500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","date":"2026-09-26","url":"https:\/\/audio.ausha.co\/b7z0ku0rlxXp.mp3?t=1790087605","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790403300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"}]; 4919 if (typeof window.dyRadio.refreshUI === 'function') window.dyRadio.refreshUI(); 4920 } 4921 }; 4922 if (document.readyState === 'loading') { 4923 window.addEventListener('DOMContentLoaded', syncEpisodes); 4924 } else { 4925 syncEpisodes(); 4926 } 4927 })(); 4928 </script>
4928 4929 <div class="dy-podcast-list " 4930 data-load-init="10" 4931 data-load-next="10" 4932 data-share-wrap="40" 4933 data-episodes='[{"title":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","date":"2026-09-21","url":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789971300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","date":"2026-09-22","url":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790057700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790144100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","date":"2026-09-24","url":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790230500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","date":"2026-09-26","url":"https:\/\/audio.ausha.co\/b7z0ku0rlxXp.mp3?t=1790087605","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790403300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"}]' 4934 data-current-offset="10" 4935 data-skip="15" 4936 data-ep-title-size="15px" 4937 data-ep-title-color="#ffffff" 4938 data-ep-title-bold="1" 4939 data-share-ep-btn-bg="#a08053" 4940 data-share-ep-btn-color="#ffffff" 4941 data-fallback-rss="https://www.croonerradio.fr/datas/podcasts-rss/crooner-and-friends.xml" 4942 data-fallback-enable="1" 4943 data-download-enable="0"> 4944 4945 <h3 class="dy-podcast-main-title" style="color:#ffffff; font-size:20px;"> 4946 Podcasts de l'interview Crooner And Friends </h3> 4947 4948 4949 <div class="dy-podcast-items-container"> 4950 <div class="dy-podcast-item" 4951 data-url="https://audio.ausha.co/oKwO3H8D4VWl.mp3?t=1790069719" 4952 data-title="Liane Foly confie ses souvenirs dans « La Droguerie du sourire » sur Crooner Radio" 4953 data-author="Crooner and Friends" 4954 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 4955 data-date="2026-09-21" 4956 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 4957 onclick="window.dyRadio.playPodcast(this)"> 4958 4959 <div class="dy-podcast-img-wrap"> 4960 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 4961 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 4962 </div> 4963 4964 <div class="dy-podcast-info">
4965 <span class="dy-podcast-date">2026-09-21</span> 4966 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 4967 Liane Foly confie ses souvenirs dans « La Droguerie du sourire » sur Crooner Radio </h4> 4968 <span class="dy-podcast-meta">Crooner and Friends</span> 4969 4970 <div class="dy-podcast-progress-wrap"> 4971 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 4972 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4973 <line x1="12" y1="19" x2="12" y2="10"></line> 4974 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 4975 </svg></button> 4976 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4977 <circle cx="18" cy="5" r="3"></circle> 4978 <circle cx="6" cy="12" r="3"></circle> 4979 <circle cx="18" cy="19" r="3"></circle> 4980 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 4981 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 4982 </svg></span> 4983 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 4984 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 4985 <span class="dy-podcast-time">00:00</span> 4986 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 4987 <div class="dy-podcast-progress-rail"> 4988 <div class="dy-podcast-progress-fill"></div> 4989 </div> 4990 </div> 4991 </div> 4992 </div> 4993 4994 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 4995 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 4996 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 4997 <circle cx="18" cy="5" r="3"></circle> 4998 <circle cx="6" cy="12" r="3"></circle> 4999 <circle cx="18" cy="19" r="3"></circle> 5000 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5001 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5002 </svg> 5003 </span>
5004 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 5005 </div> 5006 </div> 5007 <div class="dy-podcast-item" 5008 data-url="https://audio.ausha.co/ygdRMHD3gzjr.mp3?t=1790069214" 5009 data-title="Liane Foly : Peut-on sauver la chanson française ? Transmission, souvenirs et grands standards" 5010 data-author="Crooner and Friends" 5011 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 5012 data-date="2026-09-22" 5013 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 5014 onclick="window.dyRadio.playPodcast(this)"> 5015 5016 <div class="dy-podcast-img-wrap"> 5017 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 5018 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 5019 </div> 5020 5021 <div class="dy-podcast-info"> 5022 <span class="dy-podcast-date">2026-09-22</span> 5023 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 5024 Liane Foly : Peut-on sauver la chanson française ? Transmission, souvenirs et grands standards </h4> 5025 <span class="dy-podcast-meta">Crooner and Friends</span> 5026 5027 <div class="dy-podcast-progress-wrap"> 5028 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 5029 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5030 <line x1="12" y1="19" x2="12" y2="10"></line> 5031 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 5032 </svg></button> 5033 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5034 <circle cx="18" cy="5" r="3"></circle> 5035 <circle cx="6" cy="12" r="3"></circle> 5036 <circle cx="18" cy="19" r="3"></circle> 5037 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5038 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5039 </svg></span> 5040 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 5041 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 5042 <span class="dy-podcast-time">00:00</span> 5043 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 5044 <div class="dy-podcast-progress-rail"> 5045 <div class="dy-podcast-progress-fill"></div> 5046 </div> 5047 </div> 5048 </div> 5049 </div> 5050 5051 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;">
5052 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 5053 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5054 <circle cx="18" cy="5" r="3"></circle> 5055 <circle cx="6" cy="12" r="3"></circle> 5056 <circle cx="18" cy="19" r="3"></circle> 5057 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5058 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5059 </svg> 5060 </span> 5061 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 5062 </div> 5063 </div> 5064 <div class="dy-podcast-item" 5065 data-url="https://audio.ausha.co/b3PNRtG3OZ56.mp3?t=1790071941" 5066 data-title="Liane Foly : Le cinéma, des projets secrets, le showbiz et une chanson surprise" 5067 data-author="Crooner and Friends" 5068 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 5069 data-date="2026-09-23" 5070 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 5071 onclick="window.dyRadio.playPodcast(this)"> 5072 5073 <div class="dy-podcast-img-wrap"> 5074 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 5075 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 5076 </div> 5077 5078 <div class="dy-podcast-info"> 5079 <span class="dy-podcast-date">2026-09-23</span> 5080 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 5081 Liane Foly : Le cinéma, des projets secrets, le showbiz et une chanson surprise </h4> 5082 <span class="dy-podcast-meta">Crooner and Friends</span> 5083 5084 <div class="dy-podcast-progress-wrap"> 5085 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 5086 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5087 <line x1="12" y1="19" x2="12" y2="10"></line> 5088 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 5089 </svg></button> 5090 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5091 <circle cx="18" cy="5" r="3"></circle> 5092 <circle cx="6" cy="12" r="3"></circle> 5093 <circle cx="18" cy="19" r="3"></circle> 5094 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5095 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5096 </svg></span> 5097 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 5098 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button>
5099 <span class="dy-podcast-time">00:00</span> 5100 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 5101 <div class="dy-podcast-progress-rail"> 5102 <div class="dy-podcast-progress-fill"></div> 5103 </div> 5104 </div> 5105 </div> 5106 </div> 5107 5108 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 5109 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 5110 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5111 <circle cx="18" cy="5" r="3"></circle> 5112 <circle cx="6" cy="12" r="3"></circle> 5113 <circle cx="18" cy="19" r="3"></circle> 5114 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5115 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5116 </svg> 5117 </span> 5118 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 5119 </div> 5120 </div> 5121 <div class="dy-podcast-item" 5122 data-url="https://audio.ausha.co/B6rdnSPZvA6z.mp3?t=1790086536" 5123 data-title="Liane Foly : Une artiste sincère amour, et en amitié" 5124 data-author="Crooner and Friends" 5125 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 5126 data-date="2026-09-24" 5127 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 5128 onclick="window.dyRadio.playPodcast(this)"> 5129 5130 <div class="dy-podcast-img-wrap"> 5131 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 5132 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 5133 </div> 5134 5135 <div class="dy-podcast-info"> 5136 <span class="dy-podcast-date">2026-09-24</span> 5137 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 5138 Liane Foly : Une artiste sincère amour, et en amitié </h4> 5139 <span class="dy-podcast-meta">Crooner and Friends</span> 5140 5141 <div class="dy-podcast-progress-wrap"> 5142 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 5143 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5144 <line x1="12" y1="19" x2="12" y2="10"></line> 5145 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 5146 </svg></button> 5147 <sp
5147an class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5148 <circle cx="18" cy="5" r="3"></circle> 5149 <circle cx="6" cy="12" r="3"></circle> 5150 <circle cx="18" cy="19" r="3"></circle> 5151 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5152 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5153 </svg></span> 5154 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 5155 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 5156 <span class="dy-podcast-time">00:00</span> 5157 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 5158 <div class="dy-podcast-progress-rail"> 5159 <div class="dy-podcast-progress-fill"></div> 5160 </div> 5161 </div> 5162 </div> 5163 </div> 5164 5165 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 5166 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 5167 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5168 <circle cx="18" cy="5" r="3"></circle> 5169 <circle cx="6" cy="12" r="3"></circle> 5170 <circle cx="18" cy="19" r="3"></circle> 5171 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5172 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5173 </svg> 5174 </span> 5175 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 5176 </div> 5177 </div> 5178 <div class="dy-podcast-item" 5179 data-url="https://audio.ausha.co/b7z0ku0rlxXp.mp3?t=1790087605" 5180 data-title="Liane Foly : Hommage à Johnny Hallyday, générosité authenticité et projets" 5181 data-author="Crooner and Friends" 5182 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 5183 data-date="2026-09-26" 5184 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 5185 onclick="window.dyRadio.playPodcast(this)"> 5186 5187 <div class="dy-podcast-img-wrap"> 5188 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 5189 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 5190 </div> 5191 5192 <div class="dy-podcast-info">
5193 <span class="dy-podcast-date">2026-09-26</span> 5194 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 5195 Liane Foly : Hommage à Johnny Hallyday, générosité authenticité et projets </h4> 5196 <span class="dy-podcast-meta">Crooner and Friends</span> 5197 5198 <div class="dy-podcast-progress-wrap"> 5199 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 5200 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5201 <line x1="12" y1="19" x2="12" y2="10"></line> 5202 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 5203 </svg></button> 5204 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5205 <circle cx="18" cy="5" r="3"></circle> 5206 <circle cx="6" cy="12" r="3"></circle> 5207 <circle cx="18" cy="19" r="3"></circle> 5208 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5209 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5210 </svg></span> 5211 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 5212 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 5213 <span class="dy-podcast-time">00:00</span> 5214 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 5215 <div class="dy-podcast-progress-rail"> 5216 <div class="dy-podcast-progress-fill"></div> 5217 </div> 5218 </div> 5219 </div> 5220 </div> 5221 5222 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 5223 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 5224 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 5225 <circle cx="18" cy="5" r="3"></circle> 5226 <circle cx="6" cy="12" r="3"></circle> 5227 <circle cx="18" cy="19" r="3"></circle> 5228 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 5229 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 5230 </svg> 5231 </span>
5232 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 5233 </div> 5234 </div> 5235 </div> 5236 5237
5237<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"PodcastEpisode","name":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","datePublished":"2026-09-21T06:15:00+00:00","description":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":2,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","datePublished":"2026-09-22T06:15:00+00:00","description":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":3,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","datePublished":"2026-09-23T06:15:00+00:00","description":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":4,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","datePublished":"2026-09-24T06:15:00+00:00","description":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":5,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","datePublished":"2026-09-26T06:15:00+00:00","description":"Liane Foly : Hommage \u00e0 Johnny Hallyday, g\u00e9n\u00e9rosit\u00e9 authenticit\u00e9 et projets","url":"https:\/\/www.croonerradio.fr\/actualites\/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b7z0ku0rlxXp.mp3?t=1790087605"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}}]}</script>
5237 5238 5239 <style> 5240 .dy-share-zone.dy-share-centered { justify-content: center !important; } 5241 .dy-share-label { 5242 font-size: 15px !important; 5243 color: #ffffff !important; 5244 } 5245 </style> 5246 <div class="dy-share-zone"> 5247 <a href="https://www.croonerradio.fr/podcasts/crooner-and-friends/" class="dy-share-btn dy-liaison-btn"><i class="fas fa-podcast"></i> Voir la page du podcast</a> 5248 <div class="dy-share-icons"> 5249 <span class="dy-share-label">Partager sur vos Réseaux</span> 5250 <a href="mailto:?subject=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB&body=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" class="dy-share-icon dy-mail" title="Email" target="_blank" rel="noopener noreferrer"><i class="fas fa-envelope"></i></a> 5251 <a href="https://wa.me/?text=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB%20https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-whatsapp" title="WhatsApp"><i class="fab fa-whatsapp"></i></a> 5252 <a href="https://twitter.com/intent/tweet?text=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB&url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-x" title="X"><svg viewbox="0 0 24 24" style="width:18px; fill:currentColor;"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg></a> 5253 <a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F&title=Liane+Foly+confie+ses+souvenirs+dans+%C2%AB%C2%A0La+Droguerie+du+Sourire%C2%A0%C2%BB" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-linkedin" title="LinkedIn"><i class="fab fa-linkedin-in"></i></a> 5254 <a href="https://www.instagram.com/" target="_blank" rel="noopener noreferrer" class="dy-share-icon dy-instagram" title="Instagram"><i class="fab fa-instagram"></i></a> 5255 </div> 5256 </div> </div> 5257 5258<p>Son livre qui sort aux éditions Stock sâintitule tout simplement « La Droguerie du sourire » en hommage à la droguerie de ses parents à Lyon où lâambiance festive et décalée a forgé lâavenir de la petite Ãliane Falliex, qui deviendra ensuite Liane Foly, pour la scène : oui, Liane Foly est une formidable artiste interprète capable de chanter en anglais et en français : dès ses débuts, en 1987, elle intitulait son premier album « The Man I Love » et y reprenait, déjà , des standards de jazz : il faut le faire quand on se souvient de la mode des années 80â¦</p> 5259<p>En 2016, Liane Foly, déjà auditrice de notre station, signe un album tout simplement intitulé « <a href="https://www.croonerradio.fr/actualites/2016-02-03-liane-foly-enfin-crooneuse-avec-un-big-band/"><strong>Crooneuse</strong></a> ». Comme son amie <a href="https://www.croonerradio.fr/radio/artistes/celine-dion/">Céline Dion</a> ou comme <a href="https://www.croonerradio.fr/radio/artistes/robbie-williams/">Robbie Williams</a>, Liane Foly sait tout faire sur scène. Comme disent les Américains, « elle sait rire et chanter par cÅur » en faisant même des imitations, qui, dans sa grande période showbizz, amusaient toutes les prestigieuses assemblées des « afters » concerts ou de ceux vécus pendant son intense période des Restos du CÅurâ¦</p> 5260<p>Liane Foly, reine de lâentertainment, <a href="https://www.croonerradio.fr/actualites/2016-03-23-grand-hotel-liane-foly-crooneuse/">Crooneuse</a>, chanteuse française, imitatrice comique, elle est aussi auteure et, pour la spéciale qui lui est consacrée sur Crooner Radio, elle préfère chanter en direct, plus que dâévoquer son livre qui commence par une corne de brume : « une main devant, une main derrière » quand les Pieds-Noirs sont arrivés en France au début des années 60.</p> 5261<p>Pour vous donner envie de le lire, il suffit de lâécouter sur Crooner Radio en direct ou en podcast replay sur lâapplication Crooner Radio. Ou encore de lire le témoignage qui va suivre, celui dâune auditrice, responsable des ventes en région parisienne dâun grand laboratoire :</p> 5262<p>Notre auditrice nous dit : « Jâai dévoré La Droguerie du sourire cet été, merveilleux récit pétillant dâhumanité, de passion et de drôlerie. Et plus je lisais, plus je me sentais proche de la femme qui écrivait : jây ai appris aussi le back-office du show-business français des années 90-début 2000 : une époque encore folle et joyeuse où les gens nâétaient pas encore totalement rivés sur leur portable et les réseaux sociaux. Liane Foly connaît aujourdâhui la musique comme personne, y compris les règles du métier, câest une très grande professionnelle à qui on ne peut raconter quâune seule messe : celle de la soul et du blues ! »</p> 5263<p><a href="https://www.astriddicrollalanza.com/site/galerie/index.html" target="_blank" rel="noopener"><em>Photographie par Astrid di Crollalanza</em></a></p></div><div class="fusion-sharing-box fusion-sharing-box-2 has-taglines layout-floated layout-medium-floated layout-small-stacked" style="background-color:#000000;--awb-margin-bottom:10%;--awb-wrapper-padding-right:5%;--awb-wrapper-padding-left:5%;--awb-separator-border-color:#cccccc;--awb-separator-border-sizes:0px;--awb-stacked-align:center;--awb-layout:row;--awb-alignment-small:space-between;--awb-stacked-align-small:center;" data-title="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »" data-description="Liane Foly confie ses souvenirs dans "La Droguerie du Sourire" 5264Liane Foly invitée de Crooner And Friends du 21 au 25 Septembre revient sur sa carrière dans son livre autobiographique "La Droguerie du Sourire" aux editions Stock 5265Elle sait chanter comme les plus grandes interprètes internationales de la pop music, elle sait faire rire, jouer la" data-link="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/"><div class="tagline" style="color:#ffffff;font-family:"Inter";font-style:normal;font-weight:600;font-size:17px;">Partagez sur vos réseaux sociaux !</div><div class="fusion-social-networks sharingbox-shortcode-icon-wrapper sharingbox-shortcode-icon-wrapper-2"><span><a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noreferrer" title="Facebook" aria-label="Facebook" data-placement="top" data-toggle="tooltip" data-title="Facebook"><i class="fusion-social-network-icon fusion-tooltip fusion-facebook awb-icon-facebook" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://x.com/intent/post?text=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2
5265%BB&url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" title="X" aria-label="X" data-placement="top" data-toggle="tooltip" data-title="X"><i class="fusion-social-network-icon fusion-tooltip fusion-twitter awb-icon-twitter" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://reddit.com/submit?url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F&title=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2%BB" target="_blank" rel="noopener noreferrer" title="Reddit" aria-label="Reddit" data-placement="top" data-toggle="tooltip" data-title="Reddit"><i class="fusion-social-network-icon fusion-tooltip fusion-reddit awb-icon-reddit" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" title="LinkedIn" aria-label="LinkedIn" data-placement="top" data-toggle="tooltip" data-title="LinkedIn"><i class="fusion-social-network-icon fusion-tooltip fusion-linkedin awb-icon-linkedin" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://api.whatsapp.com/send?text=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_blank" rel="noopener noreferrer" title="WhatsApp" aria-label="WhatsApp" data-placement="top" data-toggle="tooltip" data-title="WhatsApp"><i class="fusion-social-network-icon fusion-tooltip fusion-whatsapp awb-icon-whatsapp" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="https://t.me/share/url?url=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F&text=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2%BB" target="_blank" rel="noopener noreferrer" title="Telegram" aria-label="Telegram" data-placement="top" data-toggle="tooltip" data-title="Telegram"><i class="fusion-social-network-icon fusion-tooltip fusion-telegram awb-icon-telegram" style="color:#ffffff;" aria-hidden="true"></i></a></span><span><a href="mailto:?subject=Liane%20Foly%20confie%20ses%20souvenirs%20dans%20%C2%AB%C2%A0La%20Droguerie%20du%20Sourire%C2%A0%C2%BB&body=https%3A%2F%2Fwww.croonerradio.fr%2Factualites%2F2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse%2F" target="_self" title="Email" aria-label="Email" data-placement="top" data-toggle="tooltip" data-title="Email"><i class="fusion-social-network-icon fusion-tooltip fusion-mail awb-icon-mail" style="color:#ffffff;" aria-hidden="true"></i></a></span></div></div></div></div></div></div> 5266 </div> 5267 </div> 5268 </section> 5269 5270 </div> <!-- fusion-row --> 5271 </main> <!-- #main --> 5272 5273 5274 5275 <div class="fusion-tb-footer fusion-footer"><div class="fusion-footer-widget-area fusion-widget-area"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:3%;--awb-padding-right:25%;--awb-padding-bottom:3%;--awb-padding-left:25%;--awb-background-color:#141414;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-25 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);
5275--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-15 hover-type-none"><img decoding="async" width="300" height="300" alt="LOGO CROONER RADIO (BLANC)-webradios" title="LOGO CROONER RADIO (BLANC)-webradios" src="https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-300x300.webp" class="img-responsive wp-image-41001" srcset="https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-1200x1200.webp 1200w" sizes="(max-width: 640px) 100vw, 400px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-26 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-12 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color2);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:20px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:500;margin:0;font-size:1em;line-height:1.1;">L’entreprise</div></div><nav class="awb-menu awb-menu_column awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-yes mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-start mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-right awb-menu_transition-fade" style="--awb-font-size:13px;--awb-color:var(--awb-color1);--awb-active-color:var(--awb-color4);--awb-icons-hover-color:var(--awb-color4);--awb-main-justify-content:flex-start;--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:inherit;--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:400;--awb-fusion-font-family-submenu-typography:inherit;--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:400;--awb-fusion-font-family-mobile-typography:inherit;--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:400;" aria-label="FOOTER (Menu)" data-breakpoint="1024" data-count="2" data-transition-type="fade" data-transition-time="300" data-expand="right"><button type="button" class="awb-menu__m-toggle awb-menu__m-toggle_no-text" aria-expanded="false" aria-controls="menu-footer-menu"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text"><span class="screen-reader-text">Toggle Navigation</span></span><span class="awb-menu__m-collapse-icon awb-menu__m-collapse-icon_no-text"><span class="awb-menu__m-collapse-icon-open awb-menu__m-collapse-icon-open_no-text fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close awb-menu__m-collapse-icon-close_no-text fa-times fas"></span></span></span></button><ul id="menu-footer-menu" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_column"><li id="menu-item-22456" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22456 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="22456"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/qui-sommes-nous/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Qui sommes nous ?</span></a></li><li id="menu-item-49227" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-49227 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="49227"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/faq-questions-reponses-support/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Questions fréquentes FAQ</span></a></li><li id="menu-item-46222" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-46222 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46222"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/mentions-legales/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Mentions Légales</span></a></li><li id="menu-item-22447" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22447 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="22447"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span>
5275<a href="http://eg-ad.fr/pdf/cookies-notice.pdf" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Politique de cookies</span></a></li><li id="menu-item-46223" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46223 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46223"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/contact/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Contact Crooner Radio</span></a></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-27 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-13 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color2);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:20px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:500;margin:0;font-size:1em;line-height:1.1;">Communiquer</div></div><nav class="awb-menu awb-menu_column awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-yes mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-start mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-right awb-menu_transition-fade" style="--awb-font-size:13px;--awb-color:var(--awb-color1);--awb-active-color:var(--awb-color4);--awb-icons-hover-color:var(--awb-color4);--awb-main-justify-content:flex-start;--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:inherit;--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:400;--awb-fusion-font-family-submenu-typography:inherit;--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:400;--awb-fusion-font-family-mobile-typography:inherit;--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:400;" aria-label="FOOTER (Creative)" data-breakpoint="1024" data-count="3" data-transition-type="fade" data-transition-time="300" data-expand="right"><button type="button" class="awb-menu__m-toggle awb-menu__m-toggle_no-text" aria-expanded="false" aria-controls="menu-footer-creative"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text"><span class="screen-reader-text">Toggle Navigation</span></span><span class="awb-menu__m-collapse-icon awb-menu__m-collapse-icon_no-text"><span class="awb-menu__m-collapse-icon-open awb-menu__m-collapse-icon-open_no-text fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close awb-menu__m-collapse-icon-close_no-text fa-times fas"></span></span></span></button><ul id="menu-footer-creative" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_column"><li id="menu-item-46232" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46232 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46232"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/regie-publicitaire-sponsoring-publicite/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Régie publicitaire</span></a></li><li id="menu-item-46233" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46233 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46233"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/espace-presse/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Espace presse</span></a></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-28 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-padding-top:5%;--awb-padding-right:5%;--awb-padding-bottom:6%;--awb-padding-left:5%;--awb-overflow:hidden;--awb-bg-size:cover;--awb-border-radius:10px 10px 10px 10px;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-14 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color2);--awb-margin-top-small:10px;
5275--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:20px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:500;margin:0;font-size:1em;line-height:1.1;">Newsletter</div></div>
5275<script type="text/javascript" src="https://webform.statslive.info/ow/eyJpdiI6ImxMU01rWjZkNG9KS2NJekV6SldKOTd2ZFdsQWY4amxoV2syMEhib21aZUE9IiwidmFsdWUiOiJVNDR1bWVxVEk4c3NnamI0Vjl1bFdmd1BmZGZYVnB4SFF1SWZVNUpobTRVPSIsIm1hYyI6ImY5ODFiOTIyZDRjYjQzODhjMTA2Y2FjNjgzODdkYTg4ZjYwNjE4ZTg3ZDQ5OTQ2NjA3NjlmZWE1ZmJjMzA2MDIifQ=="></script>
5275</div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-6 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#000000;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-29 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-15 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:var(--awb-typography4-font-size);"><div class="fusion-title-heading title-heading-center title-heading-tag" style="font-family:var(--awb-typography4-font-family);font-weight:var(--awb-typography4-font-weight);font-style:var(--awb-typography4-font-style);margin:0;letter-spacing:var(--awb-typography4-letter-spacing);text-transform:var(--awb-typography4-text-transform);font-size:1em;line-height:var(--awb-typography4-line-height);">Copyright © 2025 | Crooner International | Inc. Tous droits réservés.</div></div></div></div></div></div> 5276</div></div> 5277 </div> <!-- wrapper --> 5278 </div> <!-- #boxed-wrapper --> 5279 <a class="fusion-one-page-text-link fusion-page-load-link" tabindex="-1" href="#" aria-hidden="true">Page load link</a> 5280 5281 <div class="avada-footer-scripts"> 5282
5282<script type="text/javascript">var fusionNavIsCollapsed=function(e){var t,n;window.innerWidth<=e.getAttribute("data-breakpoint")?(e.classList.add("collapse-enabled"),e.classList.remove("awb-menu_desktop"),e.classList.contains("expanded")||window.dispatchEvent(new CustomEvent("fusion-mobile-menu-collapsed",{detail:{nav:e}})),(n=e.querySelectorAll(".menu-item-has-children.expanded")).length&&n.forEach(function(e){e.querySelector(".awb-menu__open-nav-submenu_mobile").setAttribute("aria-expanded","false")})):(null!==e.querySelector(".menu-item-has-children.expanded .awb-menu__open-nav-submenu_click")&&e.querySelector(".menu-item-has-children.expanded .awb-menu__open-nav-submenu_click").click(),e.classList.remove("collapse-enabled"),e.classList.add("awb-menu_desktop"),null!==e.querySelector(".awb-menu__main-ul")&&e.querySelector(".awb-menu__main-ul").removeAttribute("style")),e.classList.add("no-wrapper-transition"),clearTimeout(t),t=setTimeout(()=>{e.classList.remove("no-wrapper-transition")},400),e.classList.remove("loading")},fusionRunNavIsCollapsed=function(){var e,t=document.querySelectorAll(".awb-menu");for(e=0;e<t.length;e++)fusionNavIsCollapsed(t[e])};function avadaGetScrollBarWidth(){var e,t,n,l=document.createElement("p");return l.style.width="100%",l.style.height="200px",(e=document.createElement("div")).style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(l),document.body.appendChild(e),t=l.offsetWidth,e.style.overflow="scroll",t==(n=l.offsetWidth)&&(n=e.clientWidth),document.body.removeChild(e),jQuery("html").hasClass("awb-scroll")&&10<t-n?10:t-n}fusionRunNavIsCollapsed(),window.addEventListener("fusion-resize-horizontal",fusionRunNavIsCollapsed);</script>
5282<script type="speculationrules"> 5283{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/Avada/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 5284</script>
5284 5285 5286<!-- Bouton "Se connecter avec Google" ajouté par Site Kit --> 5287 <style> 5288 .googlesitekit-sign-in-with-google__frontend-output-button{max-width:320px} 5289 .interim-login #login>.googlesitekit-sign-in-with-google__frontend-output-button{margin-bottom:16px} 5290 </style> 5291
5291<script src="https://accounts.google.com/gsi/client"></script>
vendor: 1 bytes, line 5291
5291
5292<script data-siwg-config="{"clientID":"627160137294-bmva10un1rp5nnm4m01k9imm4p06s4sq.apps.googleusercontent.com","defaultButtonOptions":{"theme":"outline","text":"signin_with","shape":"rectangular"},"loginURI":"https:\/\/www.croonerradio.fr\/wp-login.php?action=googlesitekit_auth","isUserLoggedIn":false,"isWPLogin":false,"isPreview":false,"isWooCommerce":false,"isExistingUserFlow":false,"connectNonce":"","followsPostRedirect":false,"redirectTo":"","redirectCookieName":"googlesitekit_auth_redirect_to","redirectCookiePath":"\/","redirectCookieTTL":0,"nonceCookieName":"googlesitekit_auth_nonce","nonceCookiePath":"\/","nonceCookieTTL":900,"shouldShowOneTapPrompt":false}" src="https://www.croonerradio.fr/wp-content/plugins/google-site-kit/dist/assets/js/sign-in-with-google-5a9e012872c712a23a12.js"></script>
5292 5293 5294<!-- Terminer le bouton Se connecter avec Google ajouté par Site Kit -->
5295<script id="jquery-core-js" src="https://www.croonerradio.fr/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 5295
5295
5296<script id="googlesitekit-consent-mode-js" src="https://www.croonerradio.fr/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-consent-mode-755f1678e260138d789e.js"></script>
vendor: 1 bytes, line 5296
5296
5297<script id="fusion-scripts-js" src="https://www.croonerradio.fr/wp-content/uploads/fusion-scripts/b356b01d83827292edb4c96048cf1b5c.min.js?ver=3.16.2"></script>
5297 5298 <div class="dy-mini-mobile-bar pos-bottom radio-display" data-index="0" data-scroll="2" data-split-enable="1" data-split-keywords="Feat., Featuring., with, ft." style="background: rgba(112,112,112,0.2) !important; background-color: rgba(112,112,112,0.2) !important;" onclick="window.dyOpenedListFromMini = true; window.dyToggleFS(true); window.dyToggleFSList(true); event.stopPropagation();"> 5299 <div class="dy-podcast-progress-bg dy-podcast-mode-only" onclick="window.dyRadio.seek(event, this)" ontouchstart="window.dyRadio.seek(event, this)"> 5300 <div class="dy-podcast-progress-fill"></div> 5301 </div> 5302 <div class="dy-img-fixed-container" style="width: 45px; height: 45px; border-radius: 6px;"> 5303 <img class="dy-mobile-logo radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="border-radius: 6px; transition: opacity 0.8s ease;"> 5304 <img class="dy-mobile-cover radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="border-radius: 6px; opacity: 0; transition: opacity 0.8s ease;"> 5305 </div> 5306 <div class="dy-mobile-text"> 5307 <p class="on-air" style="margin-bottom: 2px;">ON AIR</p> 5308 <div class="dy-mobile-subtitle radio-subtitle">Chargement...</div> 5309 <div class="dy-mobile-title radio-title">Veuillez patienter...</div> 5310 5311 <div class="dy-podcast-mode-only" style="display: none;"> 5312 <span class="dy-podcast-mode-label" style="font-size: 7px; font-weight: 800; color: #a08053; text-transform: uppercase; letter-spacing: 1px; line-height: 1; margin-bottom: 2px; display: block;">PODCAST</span> 5313 <div class="dy-mini-podcast-title" style="margin-bottom: 4px; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; display: block !important; width: 100%;"> 5314 <span style="white-space: nowrap !important; display: inline-block !important;">Chargement...</span> 5315 </div> 5316 5317 <div class="dy-mini-podcast-controls" onclick="event.stopPropagation()" style="display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 10px !important;"> 5318 <button class="dy-podcast-skip dy-podcast-skip-round" data-dir="-1" title="Reculer" onclick="window.dyRadio.skip(this, event)" style="width: 19px; height: 19px; color: #a08053; background: transparent !important; border: none; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%;"><i class="fas fa-undo-alt"></i></button> 5319 <button class="dy-podcast-skip dy-podcast-skip-round" data-dir="1" title="Avancer" onclick="window.dyRadio.skip(this, event)" style="width: 19px; height: 19px; color: #a08053; background: transparent !important; border: none; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%;"><i class="fas fa-redo-alt"></i></button> 5320 <span class="dy-podcast-time" style="font-size: 11px; font-weight: 600; opacity: 0.9; margin-left: 2px; flex-shrink: 0;">00:00</span> 5321 </div> 5322 </div> 5323 </div> 5324 5325 <div class="dy-mobile-controls-group"> 5326 <div class="dy-mobile-play play-button fas fa-play" style="font-size: 20px !important;" onclick="dyRadio.toggle(event); event.stopPropagation();"></div> 5327 5328 <div class="dy-volume-wrap" onclick="window.dyRadio.toggleVolume(this, event)" ontouchstart="window.dyRadio.toggleVolume(this, event)"> 5329 <svg class="dy-volume-toggle-svg" viewBox="0 0 24 24" style="width: 28px; height: 28px; fill: currentColor; opacity: 0.7; cursor: pointer;"> 5330 <path d="M11.66 3.9a.75.75 0 0 1 .34.63v14.94a.75.75 0 0 1-1.23.58l-5.3-4.32H2.25A1.25 1.25 0 0 1 1 14.48v-4.96A1.25 1.25 0 0 1 2.25 8.27h3.22l5.3-4.32a.75.75 0 0 1 .89-.05z" /> 5331 <path class="dy-vol-wave" d="M14.8 9a.75.75 0 0 1 1.06 0 4.25 4.25 0 0 1 0 6 .75.75 0 1 1-1.06-1.06 2.75 2.75 0 0 0 0-3.88A.75.75 0 0 1 14.8 9z" /> 5332 <path class="dy-vol-wave" d="M17.88 5.82a.75.75 0 0 1 1.06 0 8.75 8.75 0 0 1 0 12.36.75.75 0 0 1-1.06-1.06 7.25 7.25 0 0 0 0-10.24.85.75 0 0 1 0-1.06z" /> 5333 </svg> 5334 <div class="dy-volume-popup" onclick="event.stopPropagation()" ontouchstart="event.stopPropagation()"> 5335 <div class="dy-volume-slider-bg" style="pointer-events: auto !important;" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 5336 <div class="dy-mini-volume-rail"> 5337 <div class="dy-mini-volume-fill" style="height: 100%;"></div> 5338 </div> 5339 </div> 5340 </div> 5341 </div> 5342 5343 <div class="dy-mobile-more fas fa-list-ul" style="font-size: 20px !important;" onclick="window.dyOpenedListFromMini = true; window.dyToggleFS(true); window.dyToggleFSList(true); event.stopPropagation();"></div> 5344 5345 <div class="dy-mobile-fullscreen-toggle fas fa-expand" style="font-size: 20px !important;" onclick="window.dyToggleFS(true); event.stopPropagation();" title="Plein Ãcran"></div> 5346 </div> 5347 </div> 5348 5349 <!-- FULLSCREEN OVERLAY (Moved outside to avoid nesting issues) --> 5350 <div class="dy-mobile-fullscreen radio-display" onclick="window.dyToggleFS(false)" style="background: rgba(112,112,112,0.1) !important; background-color: rgba(112,112,112,0.1) !important;"> 5351 <div class="dy-fs-close has-text" onclick="window.dyToggleFS(false); event.stopPropagation();"> 5352 <i class="fas fa-chevron-down"></i>
5353 <span class="dy-fs-close-label" style="font-weight: 500; font-family: inherit; font-size: 14px;">Fermer</span> 5354 </div> 5355 5356 <div class="dy-fs-list-btn has-text" onclick="window.dyOpenedListFromMini = false; window.dyToggleFSList(true); event.stopPropagation();"> 5357 <span class="dy-fs-list-btn-label dy-fs-list-btn-station-label" style="font-weight: 500; font-family: inherit; font-size: 14px;">Liste des stations</span> 5358 <span class="dy-fs-list-btn-label dy-fs-list-btn-podcast-label" style="font-weight: 500; font-family: inherit; font-size: 14px; display: none;">Liste des podcasts</span> 5359 <i class="fas fa-list"></i> 5360 </div> 5361 5362 <div class="dy-fs-header"> 5363 <div class="dy-fs-clock">00:00</div> 5364 <div class="dy-fs-live-badge on-air">ON AIR</div> 5365 <div class="dy-fs-station-name radio-station-name" style="margin-top: 1%; font-weight: normal; font-family: inherit; font-size: 14px; color: #ffffff; display: block;"></div> 5366 <div class="dy-fs-podcast-label dy-podcast-mode-label" style="display:none; font-size: 9px; font-weight: 700; letter-spacing: 2px; color: #a08053; text-transform: uppercase;">PODCAST</div> 5367 </div> 5368 5369 <div class="dy-fs-img-wrap"> 5370 <div class="dy-fs-img-inner"> 5371 <img class="dy-fs-logo radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo"> 5372 <img class="dy-fs-cover radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="opacity: 0;"> 5373 </div> 5374 </div> 5375 5376 <div class="dy-fs-content"> 5377 <div class="dy-fs-artist radio-subtitle">Chargement...</div> 5378 <div class="dy-fs-title radio-title">Veuillez patienter...</div> 5379 5380 <div class="dy-fs-podcast-title-wrap" style="width: 100%; min-width: 0; overflow: hidden; margin-bottom: 10px; text-align: center;"> 5381 <h2 class="dy-mini-podcast-title " style="font-size: 16px; color: #ffffff; padding-top: 0px; white-space: normal; margin: 0; width: 100%; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; line-height: 1.2;">Chargement...</h2> 5382 </div> 5383 <div class="dy-mini-podcast-controls" style="flex-direction: column; gap: 5px; margin-top: 30px; width: 100%;" onclick="event.stopPropagation()"> 5384 <div class="dy-podcast-time" style="font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 400; margin-bottom: 0; opacity: 1; color: #c9ac83; text-align: center;">00:00</div> 5385 5386 <div class="dy-fs-podcast-progress-row" style="width: 100%; display: flex; align-items: center; padding: 0 25px; box-sizing: border-box; margin-bottom: 25px;"> 5387 <div class="dy-podcast-progress-bg" style="flex: 1; height: 32px; cursor: pointer;" onclick="window.dyRadio.seek(event, this)" ontouchstart="window.dyRadio.seek(event, this)"> 5388 <div class="dy-podcast-progress-rail"> 5389 <div class="dy-podcast-progress-fill"></div> 5390 </div> 5391 </div> 5392 </div> 5393 5394 <div class="dy-fs-podcast-main-ctrls" style="display: flex; align-items: center; justify-content: center; gap: 35px; margin-bottom: 30px;"> 5395 <button class="dy-podcast-skip" style="transform: scale(1.6); opacity: 0.8; font-size: 20px; color: #a08053;" data-dir="-1" data-skip="15" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 5396 <div class="dy-fs-play play-button fas fa-play" style="font-size: 55px; color: #fff; margin: 0 15px; cursor: pointer; display: flex !important; align-items: center; justify-content: center;" onclick="dyRadio.toggle(event); event.stopPropagation();"></div> 5397 <button class="dy-podcast-skip" style="transform: scale(1.6); opacity: 0.8; font-size: 20px; color: #a08053;" data-dir="1" data-skip="15" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 5398 <a href="#" download="" class="dy-player-download-btn dy-podcast-mode-only" title="Télécharger" style="display:none; color:#fff; text-decoration:none; transform: scale(1.8); margin-left:20px; opacity:0.8;" onclick="event.stopPropagation()"><i class="fas fa-download"></i></a> 5399 </div> 5400 5401 <div class="dy-fs-podcast-volume-row" style="width: 100%; display: flex; align-items: center; padding: 0 35px; box-sizing: border-box; gap: 15px; margin-top: 5px;"> 5402 <i class="fas fa-volume-down" style="font-size: 14px; opacity: 0.5;"></i> 5403 <div class="dy-volume-slider-bg dy-fs-slider-bg" style="flex: 1; height: 30px; display: flex; align-items: center; cursor: pointer;" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 5404 <div class="dy-fs-slider-fill" style="width: 100%;"></div> 5405 </div> 5406 <i class="fas fa-volume-up" style="font-size: 14px; opacity: 0.5;"></i> 5407 </div> 5408 </div> 5409 </div> 5410 5411 <div class="dy-fs-controls" style="display: flex;"> 5412 <div class="dy-fs-play play-button fas fa-play dy-podcast-hide" onclick="dyRadio.toggle(event); event.stopPropagation();"></div> 5413 5414 <div class="dy-fs-vol-wrap dy-volume-wrap dy-podcast-hide" style="width: 100%; display: flex; align-items: center; padding: 0 35px; box-sizing: border-box; gap: 15px; justify-content: center; margin-top: 10px;"> 5415 <i class="fas fa-volume-down" style="font-size: 14px; opacity: 0.5;"></i> 5416 <div class="dy-volume-slider-bg dy-fs-slider-bg" style="flex: 1; max-width: 250px; height: 30px; display: flex; align-items: center; cursor: pointer; margin: 0 !important;" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 5417 <div class="dy-fs-slider-fill" style="width: 100%;"></div> 5418 </div> 5419 <i class="fas fa-volume-up" style="font-size: 14px; opacity: 0.5;"></i> 5420 </div> 5421 </div> 5422 5423 <!-- FULLSCREEN LIST DRAWER --> 5424 <div class="dy-fs-list-drawer" onclick="event.stopPropagation()"> 5425 <div class="dy-fs-list-close"> 5426 <div style="display: flex; align-items: center; gap: 15px;">
5427 <span class="dy-fs-list-title-text">CHOISIR UNE STATION</span> 5428 <div class="dy-fs-list-modes" style="display: none; align-items: center; gap: 12px; background: rgba(255,255,255,0.05); padding: 5px 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1);"> 5429 <i class="fas fa-music dy-fs-mode-radio" onclick="window.dyRadio.toggleFSListMode(true, event)" style="cursor: pointer; font-size: 14px;" title="Stations Radio"></i> 5430 <i class="fas fa-podcast dy-fs-mode-podcast" onclick="window.dyRadio.toggleFSListMode(false, event)" style="cursor: pointer; font-size: 14px;" title="Ãpisodes Podcast"></i> 5431 </div> 5432 </div> 5433 <i class="fas fa-times" onclick="window.dyToggleFSList(false)" style="cursor: pointer;"></i> 5434 </div> 5435 <div class="dy-fs-list-scroll"> 5436 <!-- Dynamically filled --> 5437 </div> 5438 </div> 5439 </div> 5440 <div class="dy-sticky-footer-pc pos-bottom radio-display" 5441 data-index="0" 5442 onclick="window.dyRadio.toggleDropdown(this, event)" 5443 style="--dy-dd-bg: rgba(36,36,36,0.95);"> 5444 5445 5446 <div class="dy-pc-left"> 5447 <div style="display: flex; align-items: center; gap: 10px;"> 5448 <button class="dy-pc-skip dy-podcast-mode-only" data-dir="-1" title="Reculer" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 5449 <span class="play-button fas fa-play" onclick="dyRadio.toggle(event); event.stopPropagation();"></span> 5450 <button class="dy-pc-skip dy-podcast-mode-only" data-dir="1" title="Avancer" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 5451 <a href="#" download="" class="dy-player-download-btn dy-podcast-mode-only" title="Télécharger" style="display:none; color:inherit; text-decoration:none; margin-left:10px; opacity:0.8; transition:opacity 0.3s;" onclick="event.stopPropagation()"><i class="fas fa-download" style="font-size:20px;"></i></a> 5452 </div> 5453 5454 <div class="dy-img-fixed-container" style="width: 55px; height: 55px; margin-left: 10px; border-radius: 4px;"> 5455 <img class="radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="border-radius: 4px; transition: opacity 0.8s ease;"> 5456 <img class="radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="border-radius: 4px; opacity: 0; transition: opacity 0.8s ease;"> 5457 </div> 5458 5459 <div class="radio-text"> 5460 <p class="on-air">ON AIR</p> 5461 <div class="radio-subtitle">Chargement...</div> 5462 <div class="radio-title">Veuillez patienter...</div> 5463 5464 <div class="dy-footer-podcast-meta dy-podcast-mode-only" style="display: none; width: 100%;"> 5465 <p class="dy-footer-podcast-date" style="font-size: 10px; opacity: 0.6; margin: 0; margin-bottom: 1px;"></p> 5466 <p class="dy-footer-podcast-title" style="font-size: 14px; font-weight: 700; color: #fff; margin: 0; line-height: 1.2; margin-bottom: 5px;"></p> 5467 5468 <div class="dy-mini-podcast-controls" style="display: flex; align-items: center; gap: 10px; width: 300px; max-width: 100%;" onclick="event.stopPropagation()"> 5469 <span class="dy-podcast-time">00:00</span> 5470 <div class="dy-podcast-progress-bg" style="flex: 1;"> 5471 <div class="dy-podcast-progress-rail"> 5472 <div class="dy-podcast-progress-fill"></div> 5473 </div> 5474 </div> 5475 </div> 5476 </div> 5477 </div> 5478 </div> 5479 5480 <div class="dy-pc-right"> 5481 <div class="dy-pc-btn-podcast fas fa-podcast" style="font-size: 22px; opacity: 0.6; cursor: pointer;" title="" onclick="window.dyRadio.toggleDropdown(this, event, 'podcast')"></div> 5482 <div class="dy-pc-btn-radio fas fa-music" style="font-size: 22px; opacity: 0.6; cursor: pointer;" title="Liste des stations" onclick="window.dyRadio.toggleDropdown(this, event, 'radio')"></div> 5483 5484 <!-- Cast Button --> 5485 5486 <!-- Volume Desktop --> 5487 <div class="dy-volume-wrap" onclick="window.dyRadio.toggleVolume(this, event)" ontouchstart="window.dyRadio.toggleVolume(this, event)"> 5488 <svg class="dy-volume-toggle-svg" viewBox="0 0 24 24" style="width: 28px; height: 28px; fill: currentColor; opacity: 0.7; cursor: pointer;"> 5489 <path d="M11.66 3.9a.75.75 0 0 1 .34.63v14.94a.75.75 0 0 1-1.23.58l-5.3-4.32H2.25A1.25 1.25 0 0 1 1 14.48v-4.96A1.25 1.25 0 0 1 2.25 8.27h3.22l5.3-4.32a.75.75 0 0 1 .89-.05z" /> 5490 <path class="dy-vol-wave" d="M14.8 9a.75.75 0 0 1 1.06 0 4.25 4.25 0 0 1 0 6 .75.75 0 1 1-1.06-1.06 2.75 2.75 0 0 0 0-3.88A.75.75 0 0 1 14.8 9z" /> 5491 <path class="dy-vol-wave" d="M17.88 5.82a.75.75 0 0 1 1.06 0 8.75 8.75 0 0 1 0 12.36.75.75 0 0 1-1.06-1.06 7.25 7.25 0 0 0 0-10.24.85.75 0 0 1 0-1.06z" /> 5492 </svg> 5493 <div class="dy-volume-popup" onclick="event.stopPropagation()"> 5494 <div class="dy-volume-slider-bg" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 5495 <div class="dy-mini-volume-rail"> 5496 <div class="dy-mini-volume-fill" style="height: 100%;"></div> 5497 </div> 5498 </div> 5499 </div> 5500 </div> 5501 </div> 5502 5503 <div class="dy-mini-dropdown" onclick="event.stopPropagation()"></div> 5504 <div class="dy-expand-mini-btn" data-sticky-ep-btn="1" style="display:none; align-items:center; gap:5px; cursor:pointer; color:#ffffff;" onclick="window.dyRadio.toggleDropdown(this.closest('.radio-display'), event)"> 5505 <i class="fas fa-podcast" style="font-size:9px; opacity: 0.8;"></i>
5506 <span class="dy-expand-text" style="font-size:9px; color:#ffffff; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; opacity: 0.8;">Ãpisodes</span> 5507 </div> 5508 </div> 5509
5509<script async src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script>
5509 5510
5510<script> 5511 (function() { 5512 const dy = { 5513 globalJson: "https:\/\/www.croonerradio.fr\/datas\/live\/titles.json", 5514 ajaxurl: "https:\/\/www.croonerradio.fr\/wp-admin\/admin-ajax.php", 5515 stations: [{"name":"Crooner Radio","name_short":"Crooner Radio","flux":"https:\/\/direct.croonerradio.fr\/croonerradio-midfi.mp3","json_key":"crooner","link":"https:\/\/www.croonerradio.fr\/player\/","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-TDR.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_dab_background-copie-2026.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__crooner_tdr_dab_background_phone.webp","bg_color":"#707070","is_default":1,"sort_order":0,"share":"\/stations-de-radio\/crooner-radio-jazz-soul-variete-international-haut-de-gamme\/","is_protected":0},{"name":"Crooner Radio American","name_short":"American","flux":"https:\/\/croonerradio_american.ice.infomaniak.ch\/croonerradio-american-midfi.mp3","json_key":"crooner_american","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_american","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-AMERICAN.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_american_rat_pack_background_v2-2026.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__american_rat_pack_background_phone.webp","bg_color":"#30448d","is_default":0,"sort_order":1,"share":"\/stations-de-radio\/crooner-radio-american-webradio\/","is_protected":0},{"name":"Crooner Radio Barbra Streisand","name_short":"Barbra Streisand","flux":"https:\/\/croonerradio_barbrastreisand.ice.infomaniak.ch\/croonerradio-barbrastreisand-mi
5515dfi.mp3","json_key":"crooner_b_streisand","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_b_streisand","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_barbra_streisand_background-copie.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__barbra_streisand_background_phone.webp","bg_color":"#a1045b","is_default":0,"sort_order":2,"share":"\/stations-de-radio\/crooner-radio-barbra-streisand-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Céline Dion","name_short":"Céline Dion","flux":"https:\/\/croonerradio_celinedion.ice.infomaniak.ch\/croonerradio-celinedion-midfi.mp3","json_key":"crooner_c_dion","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_c_dion","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_celine_dion_background_v2-copie.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__celine_dion_background_phone.webp","bg_color":"#740293","is_default":0,"sort_order":3,"share":"\/stations-de-radio\/crooner-radio-celine-dion-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Classic Gold","name_short":"Classic Gold","flux":"https:\/\/croonerradio_classicgold.ice.infomaniak.ch\/croonerradio-classicgold-midfi.mp3","json_key":"crooner_classicgold","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_classicgold","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_classic_gold_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__classic_gold_background_phone.webp","bg_color":"#b87b1e","is_default":0,"sort_order":4,"share":"\/stations-de-radio\/crooner-radio-classic-gold-webradio\/","is_protected":0},{"name":"Crooner Radio Dean Martin","name_short":"Dean Martin","flux":"https:\/\/croonerradio_deanmartin.ice.infomaniak.ch\/croonerradio-deanmartin-midfi.mp3","json_key":"crooner_deanmartin","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_deanmartin","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_dean_martin_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__dean_martin_background_phone.webp","bg_color":"#237957","is_default":0,"sort_order":5,"share":"\/stations-de-radio\/crooner-radio-dean-martin-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Elvis Presley","name_short":"Elvis Presley","flux":"https:\/\/croonerradio_elvispresley.ice.infomaniak.ch\/croonerradio-elvispresley-midfi.mp3","json_key":"crooner_elvispresley","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_elvispresley","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_elvis_presley_background-copie.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__elvis_presley_background_phone.webp","bg_color":"#9b0000","is_default":0,"sort_order":6,"share":"\/stations-de-radio\/crooner-radio-elvis-presley-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Frank Sinatra","name_short":"Frank Sinatra","flux":"https:\/\/croonerradio_franksinatra.ice.infomaniak.ch\/croonerradio-franksinatra-midfi.mp3","json_key":"crooner_franksinatra","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_franksinatra","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_frank_sinatra_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__frank_sinatra_background_phone.webp","bg_color":"#1f1c8d","is_default":0,"sort_order":7,"share":"\/stations-de-radio\/crooner-radio-frank-sinatra-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Frenchy","name_short":"Frenchy","flux":"https:\/\/croonerradio_frenchy.ice.infomaniak.ch\/croonerradio-frenchy-midfi.mp3","json_key":"crooner_frenchy","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_frenchy","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-FRENCHY.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_frenchy_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__frenchy_background_phone.webp","bg_color":"#3747a4","is_default":0,"sort_order":8,"share":"\/stations-de-radio\/crooner-radio-frenchy-webradio\/","is_protected":0},{"name":"Crooner Radio Gentlemen Drivers","name_short":"Gentlemen Drivers","flux":"https:\/\/croonerradio_gentlemendrivers.ice.infomaniak.ch\/croonerradio-gentlemendrivers-midfi.mp3","json_key":"crooner_gd","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_gd","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_barry_white_gentlemen_drivers_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__barry_white_gentlemen_drivers_background_phone.webp","bg_color":"#a05a00","is_default":0,"sort_order":9,"share":"\/stations-de-radio\/crooner-radio-gentlemen-drivers-webradio\/","is_protected":0},{"name":"Crooner Radio Italiano","name_short":"Italiano","flux":"https:\/\/croonerradio_italiano.ice.infomaniak.ch\/croonerradio-italiano-midfi.mp3","json_key":"crooner_italiano","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_italiano","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-ITALIANO.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_italiano_luis_prima_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__italiano_luis_prima_background_phone.webp","bg_color":"#2d732b","is_default":0,"sort_order":10,"share":"\/stations-de-radio\/crooner-radio-italiano-webradio\/","is_protected":0},{"name":"Crooner Radio Julio Iglesias","name_short":"Julio Iglesias","flux":"https:\/\/croonerradio_julioiglesias.ice.infomaniak.ch\/croonerradio-julioiglesias-midfi.mp3","json_key":"crooner_j_iglesias","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_j_iglesias","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_julio_iglesias_background_v2.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__julio_iglesias_background_phone.webp","bg_color":"#ad2e00","is_default":0,"sort_order":11,"share":"\/stations-de-radio\/crooner-radio-julio-iglesias-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Legends","name_short":"Legends","flux":"https:\/\/croonerradio_legends.ice.infomaniak.ch\/croonerradio-legends-midfi.mp3","json_key":"crooner_legends","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_legends","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-LEGENDS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_legend_billie_holiday_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__legend_billie_holiday_background_phone.webp","bg_color":"#b76800","is_default":0,"sort_order":12,"share":"\/stations-de-radio\/crooner-radio-legends-webradio\/","is_protected":0},{"name":"Crooner Radio Lounge","name_short":"Lounge","flux":"https:\/\/croonerradio_lounge.ice.infomaniak.ch\/croonerradio-lounge-midfi.mp3","json_key":"crooner_lounge","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_lounge","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-LOUNGE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_lounge_background_v2026.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__lounge_background_phone.webp","bg_color":"#2d54a9","is_default":0,"sort_order":13,"share":"\/stations-de-radio\/crooner-radio-lounge-webradio\/","is_protected":0},{"name":"Crooner Radio Love","name_short":"Love","flux":"https:\/\/croonerradio_love.ice.infomaniak.ch\/croonerradio-love-midfi.mp3","json_key":"crooner_love","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_love","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-LOVE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_love_background_v2_2026.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__love_background_phone.webp","bg_color":"#7d2783","is_default":0,"sort_order":14,"share":"\/stations-de-radio\/crooner-radio-love-webradio\/","is_protected":0},{"name":"Crooner Radio Michael Bublé","name_short":"Michael Bublé","flux":"https:\/\/croonerradio_michaelbuble.ice.infomaniak.ch\/croonerradio-michaelbuble-midfi.mp3","json_key":"crooner_michaelbuble","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_michaelbuble","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_michael_buble_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__michael_buble_background_phone.webp","bg_color":"#247266","is_default":0,"sort_order":15,"share":"\/stations-de-radio\/crooner-radio-michael-buble-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Movies","name_short":"Movies","flux":"https:\/\/croonerradio_movies.ice.infomaniak.ch\/croonerradio-movies-midfi.mp3","json_key":"crooner_movies","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_movies","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-MOVIES.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_lalo_schifrin_movies_background-copie.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__lalo_schifrin_movies_background_phone.webp","bg_color":"#bb7b2a","is_default":0,"sort_order":16,"share":"\/stations-de-radio\/crooner-radio-movies-webradio\/","is_protected":0},{"name":"Crooner Radio Premium","name_short":"Premium","flux":"https:\/\/croonerradio_inprivate.ice.infomaniak.ch\/croonerradio-inprivate-midfi.mp3","json_key":"crooner_premium","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_premium","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-PREMIUM.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_premium_nat_king_cole_background-copie.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__premium_nat_king_cole_background_phone.webp","bg_color":"#9a6d56","is_default":0,"sort_order":17,"share":"\/stations-de-radio\/crooner-radio-premium-webradio\/","is_protected":0},{"name":"Crooner Radio Swing","name_short":"Swing","flux":"https:\/\/croonerradio_swing.ice.infomaniak.ch\/croonerradio-swing-midfi.mp3","json_key":"crooner_swing","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_swing","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-SWING.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_swing_background-copie2.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__swing_background_phone.webp","bg_color":"#53298e","is_default":0,"sort_order":18,"share":"\/stations-de-radio\/crooner-radio-swing-webradio\/","is_protected":0},{"name":"Crooner Radio Summer","name_short":"Summer","flux":"https:\/\/croonerradio_summer.ice.infomaniak.ch\/croonerradio-summer-midfi.mp3","json_key":"crooner_summer","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_summer","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-SUMMER.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_summer_background_v2-copie.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__summer_background_phone.webp","bg_color":"#c33753","is_default":0,"sort_order":19,"share":"\/stations-de-radio\/crooner-radio-summer-webradio\/","is_protected":0},{"name":"Crooner Radio Zen","name_short":"Zen","flux":"https:\/\/croonerradio_zen.ice.infomaniak.ch\/croonerradio-zen-midfi.mp3","json_key":"crooner_zen","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_zen","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-ZEN.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_zen_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__zen_background_phone.webp","bg_color":"#307836","is_default":0,"sort_order":20,"share":"\/stations-de-radio\/crooner-radio-zen-webradio\/","is_protected":0},{"name":"Crooner Radio Christmas","name_short":"Christmas","flux":"https:\/\/croonerradio_christmas.ice.infomaniak.ch\/croonerradio-christmas-midfi.mp3","json_key":"crooner_christmas","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_christmas","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_christmas_background.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__christmas_background_phone.webp","bg_color":"#b40000","is_default":0,"sort_order":21,"share":"\/tations-de-radio\/crooner-radio-christmas-webradio","is_protected":0},{"name":"Crooner Radio Christmas Vintage","name_short":"Christmas Vintage","flux":"https:\/\/croonerradio-christmasvintage.ice.infomaniak.ch\/croonerradio-christmasvintage-midfi.mp3","json_key":"crooner_christmasold","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_christmas_vintage","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_christmas_vintage_background-v2.webp","bg_phone":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/09\/station_crooner_radio__christmas_vintage_background_phone.webp","bg_color":"#7a0000","is_default":0,"sort_order":22,"share":"\/stations-de-radio\/crooner-radio-christmas-vintage-webradio\/","is_protected":0}], 5516 switchTime: 5, 5517 miniSwitchTime
5517: 5, 5518 miniDdSwitchTime: 5, 5519 listDdSwitchTime: 5, 5520 carouselBwBg: 1, 5521 onAirText: "ON AIR", 5522 onAirColor: "#d60000", 5523 marqueeEnableFS: true, 5524 splitKeywordsFS: "Feat., Featuring., with, ft.", 5525 glassOp: 0.05, 5526 backdropBlur: 1, 5527 backdropOp: 0.2, 5528 bgMode: "image", 5529 miniAction: "dropdown", 5530 miniHoverRadioL1: "Ouvrir", 5531 miniHoverRadioL2: "la liste des stations", 5532 miniHoverPodcastL1: "Episodes", 5533 miniHoverPodcastL2: "", 5534 expandRadioMsg: "Stations", 5535 expandPodcastMsg: "\u00c9pisodes", 5536 expandEnable: true, 5537 podSkipTime: 15, 5538 sidebarPCHoverRadioL1: "Ouvrir", 5539 sidebarPCHoverRadioL2: "la liste des stations", 5540 sidebarPCHoverPodcastL1: "Episodes", 5541 sidebarPCHoverPodcastL2: "", 5542 sidebarPcPodcastHeaderText: "Nos derniers podcasts", 5543 sidebarDynamicBg: true, 5544 sidebarDynamicOpacity: 30 / 100, 5545 sidebarDynamicDarken: 70 / 100, 5546 mobileDynamicBg: true, 5547 mobileDynamicOpacity: 20 / 100, 5548 mobileFsDynamicBg: true, 5549 mobileFsDynamicOpacity: 10 / 100, 5550 listDynamicBg: false, 5551 listDynamicOpacity: 1 / 100, 5552 prerollAntiSkip: true, 5553 prerollAntiStop: true, 5554 prerollDuration: 30, 5555 prerollTextEnable: false, 5556 prerollTextArtist: "Publicit\u00e9", 5557 prerollTextTitle: "La musique revient...", 5558 fallbackEnable: true, 5559 fallbackDownloadEnable: false, 5560 globalFallbackRSS: "https:\/\/www.croonerradio.fr\/datas\/podcasts-rss\/crooner-and-friends.xml", 5561 autoplayNext: true, 5562 defVolRadio: 45 / 100, 5563 defVolPodcast: 100 / 100, 5564 hasManualVolume: false, 5565 truncateArtist: 25, 5566 truncateTitle: 30, 5567 bgOpacity: 0.2, 5568 useGradient: true, 5569 displayMode: 'logo', // Start with logo as requested 5570 failedImgs: (window.dyRadio && window.dyRadio.failedImgs) ? window.dyRadio.failedImgs : new Set(), 5571 txtArea: document.createElement("textarea"), 5572 currentEpisodes: [], // Store episodes from the active feed 5573 5574 openCast: (e) => { 5575 if (e) e.stopPropagation(); 5576 5577 // Priorité 1 : Remote Playback API (Standard moderne Chrome/Edge/Safari) 5578 if (dy.audio.remote && typeof dy.audio.remote.prompt === 'function') { 5579 dy.audio.remote.prompt().catch(err => { 5580 console.error("Streamcast Error:", err); 5581 }); 5582 return; 5583 } 5584 5585 // Priorité 2 : Google Cast Framework (si chargé) 5586 if (window.cast && cast.framework) { 5587 const context = cast.framework.CastContext.getInstance(); 5588 context.requestSession().then(() => { 5589 console.log("Cast session started"); 5590 // Le SDK gère la suite via l'élément audio si configuré 5591 }).catch(err => { 5592 if (err !== 'cancel') { 5593 alert("Erreur Cast : " + err); 5594 } 5595 }); 5596 return; 5597 } 5598 5599 // Fallback : Message d'incompatibilité 5600 alert("Votre navigateur ne semble pas supporter le Streamcast nativement. Essayez d'utiliser Chrome, Edge ou Safari."); 5601 }, 5602 5603 toggleVolume: (el, e) => { 5604 if (e) { 5605 e.stopPropagation(); 5606 if (e.target.closest('.dy-volume-popup')) return; 5607 5608 const now = Date.now(); 5609 if (el._lastToggle && (now - el._lastToggle < 400)) return; 5610 el._lastToggle = now; 5611 } 5612 5613 const isActive = el.classList.contains('is-active') || el.getAttribute('data-active') === 'true'; 5614 5615 // Close other popups 5616 document.querySelectorAll('.dy-volume-wrap').forEach(other => { 5617 if (other !== el) { 5618 other.classList.remove('is-active'); 5619 other.setAttribute('data-active', 'false'); 5620 if (other._volTimer) clearTimeout(other._volTimer); 5621 } 5622 }); 5623 5624 if (isActive) { 5625 el.classList.remove('is-active'); 5626 el.setAttribute('data-active', 'false'); 5627 el.classList.add('dy-force-hide'); 5628 if (el._volTimer) clearTimeout(el._volTimer); 5629 } else { 5630 el.classList.remove('dy-force-hide'); 5631 el.classList.add('is-active'); 5632 el.setAttribute('data-active', 'true'); 5633 if (el._volTimer) clearTimeout(el._volTimer); 5634 el._volTimer = setTimeout(() => { 5635 el.classList.remove('is-active'); 5636 el.setAttribute('data-active', 'false'); 5637 el.classList.remove('dy-force-hide'); 5638 }, 6000); 5639 } 5640 5641 if (!el._boundMouseLeave) { 5642 el.addEventListener('mouseleave', () => { 5643 el.classList.remove('dy-force-hide'); 5644 }); 5645 el._boundMouseLeave = true; 5646 } 5647 }, 5648 5649 handleSlider: (e, bg) => { 5650 if (!bg) return; 5651 e.stopPropagation(); 5652 const isVertical = !bg.classList.contains('dy-fs-slider-bg'); 5653 5654 const update = (moveE) => { 5655 moveE.preventDefault(); 5656 const clientX = moveE.touches ? moveE.touches[0].clientX : moveE.clientX; 5657 const clientY = moveE.touches ? moveE.touches[0].clientY : moveE.clientY; 5658 const rect = bg.getBoundingClientRect(); 5659 let pct; 5660 5661 if (isVertical) { 5662 pct = 1 - (clientY - rect.top) / rect.height; 5663 } else {
5664 pct = (clientX - rect.left) / rect.width; 5665 } 5666 5667 pct = Math.max(0, Math.min(1, pct)); 5668 dy.updateVolume(pct); 5669 5670 // Keep popup open 5671 const wrap = bg.closest('.dy-volume-wrap'); 5672 if (wrap && wrap._volTimer) { 5673 clearTimeout(wrap._volTimer); 5674 wrap._volTimer = setTimeout(() => { 5675 wrap.classList.remove('is-active'); 5676 wrap.setAttribute('data-active', 'false'); 5677 }, 6000); 5678 } 5679 }; 5680 5681 const stop = () => { 5682 document.removeEventListener('mousemove', update); 5683 document.removeEventListener('mouseup', stop); 5684 document.removeEventListener('touchmove', update); 5685 document.removeEventListener('touchend', stop); 5686 }; 5687 5688 document.addEventListener('mousemove', update); 5689 document.addEventListener('mouseup', stop); 5690 document.addEventListener('touchmove', update, { 5691 passive: false 5692 }); 5693 document.addEventListener('touchend', stop); 5694 update(e); 5695 }, 5696 5697 seek: (e, bg) => { 5698 if (!dy.audio || !dy.audio.duration || dy.audio.duration === Infinity) return; 5699 e.stopPropagation(); 5700 const rect = bg.getBoundingClientRect(); 5701 const clientX = e.touches ? e.touches[0].clientX : e.clientX; 5702 const pct = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width)); 5703 dy.audio.currentTime = dy.audio.duration * pct; 5704 }, 5705 5706 closeVolumePopups: () => { 5707 document.querySelectorAll('.dy-volume-wrap').forEach(el => { 5708 el.classList.remove('is-active'); 5709 el.classList.remove('dy-force-hide'); 5710 el.setAttribute('data-active', 'false'); 5711 if (el._volTimer) clearTimeout(el._volTimer); 5712 }); 5713 }, 5714 5715 init: () => { 5716 // DOM Detachment Strategy (v4.6 - Avada Fix) 5717 // Move critical player elements to <body> to bypass container constraints 5718 document.querySelectorAll('.dy-mini-mobile-bar, .dy-sticky-footer-pc, .dy-mobile-fullscreen').forEach(el => { 5719 if (el && el.parentNode !== document.body) { 5720 document.body.appendChild(el); 5721 } 5722 }); 5723 5724 // Scan for podcast list settings on current page (v4.6) 5725 const pList = document.querySelector('.dy-podcast-list'); 5726 if (pList) { 5727 dy.activeFallbackDownloadEnable = pList.dataset.downloadEnable; 5728 } 5729 5730 dy.miniHoverRadio = (dy.miniHoverRadioL1 + ' ' + dy.miniHoverRadioL2).trim(); 5731 dy.miniHoverPodcast = (dy.miniHoverPodcastL1 + ' ' + dy.miniHoverPodcastL2).trim(); 5732 5733 5734 // Helper for Ping-Pong Marquee 5735 dy.applyMarquee = (el, text, delay = 50) => { 5736 if (!el) return; 5737 // Only update if text actually changed to avoid restart loop 5738 if (el.dataset.raw === text) return; 5739 el.dataset.raw = text; 5740 el.innerHTML = `<span>${text}</span>`; 5741 5742 setTimeout(() => { 5743 // Marquee Logic (v4.6 - Intelligent) 5744 const span = el.querySelector('span'); 5745 if (!span) return; 5746 el.classList.remove('is-scrolling', 'is-v-scrolling'); 5747 span.style.transform = ''; 5748 5749 const card = el.closest('.radio-display'); 5750 const isPod = card && card.classList.contains('dy-podcast-mode'); 5751 5752 // Determine if we should use vertical scrolling (multi-line titles in CARDS or FullScreen) 5753 const isVertical = isPod && el.classList.contains('dy-mini-podcast-title') && (el.closest('.dy-mini-player') || el.closest('.dy-mobile-fullscreen')); 5754 5755 if (isVertical) { 5756 // Mode Podcast Card : Scrolling Vertical si > 2 lignes 5757 const diffV = el.offsetHeight - span.offsetHeight; 5758 if (diffV < -2) { 5759 el.style.setProperty('--dy-scroll-v-dist', diffV + 'px'); 5760 el.classList.add('is-v-scrolling'); 5761 } 5762 } else { 5763 // Mode Horizontal (Radio ou Footer Podcast) 5764 // Use getBoundingClientRect for sub-pixel precision on mobile 5765 const containerWidth = el.getBoundingClientRect().width; 5766 const textWidth = span.getBoundingClientRect().width; 5767 const diffH = containerWidth - textWidth; 5768 5769 if (diffH < -5) { 5770 el.style.setProperty('--dy-scroll-dist', diffH + 'px'); 5771 el.classList.add('is-scrolling'); 5772 } 5773 } 5774 }, 150); 5775 }; 5776 5777 // Helper for Hover Content 5778 dy.updateHoverText = (d, active) => { 5779 // En mode Podcast, on désactive l'ancien système si le nouveau bouton est lÃ
5780 const isPod = d.classList.contains('dy-podcast-mode'); 5781 if (dy.expandEnable && isPod && (d.classList.contains('dy-mini-player') || d.classList.contains('dy-sticky-footer-pc'))) return; 5782 const sub = d.querySelector('.radio-subtitle'); 5783 const tit = d.querySelector('.radio-title'); 5784 const onAir = d.querySelector('.on-air'); 5785 const podTit = d.querySelector('.dy-mini-podcast-title'); 5786 5787 if (d._hT1) clearTimeout(d._hT1); 5788 if (d._hT2) clearTimeout(d._hT2); 5789 5790 const isPodMode = d.classList.contains('dy-podcast-mode'); 5791 const isMini = d.classList.contains('dy-mini-player'); 5792 const isPC = d.classList.contains('dy-sticky-footer-pc'); 5793 const showRadioList = (!dy.podcastMeta || dy.forceRadioList); 5794 5795 if (active) { 5796 let l1 = "", 5797 l2 = ""; 5798 if (isPC) { 5799 l1 = showRadioList ? (dy.sidebarPCHoverRadioL1 || "Ouvrir") : (dy.sidebarPCHoverPodcastL1 || "Episodes"); 5800 l2 = showRadioList ? (dy.sidebarPCHoverRadioL2 || "la liste des stations") : (dy.sidebarPCHoverPodcastL2 || ""); 5801 } else { 5802 l1 = showRadioList ? (dy.miniHoverRadioL1 || "Ouvrir") : (dy.miniHoverPodcastL1 || "Episodes"); 5803 l2 = showRadioList ? (dy.miniHoverRadioL2 || "la liste des stations") : (dy.miniHoverPodcastL2 || ""); 5804 if (isMini && !showRadioList) l2 = ""; 5805 } 5806 5807 if (isPodMode) { 5808 if (sub) { 5809 sub.textContent = l1; 5810 sub.style.opacity = ''; 5811 sub.style.animation = ''; 5812 } 5813 if (tit) { 5814 tit.textContent = l2; 5815 tit.style.display = (l2 === "") ? 'none' : ''; 5816 tit.style.opacity = ''; 5817 tit.style.animation = ''; 5818 } 5819 d.classList.add('is-hover'); 5820 if (onAir) onAir.style.display = 'none'; 5821 if (podTit) podTit.style.display = 'none'; 5822 } else { 5823 if (sub) sub.style.opacity = 0; 5824 if (tit) tit.style.opacity = 0; 5825 d._hT1 = setTimeout(() => { 5826 if (sub) { 5827 sub.textContent = l1; 5828 sub.style.opacity = ''; 5829 sub.style.animation = ''; 5830 } 5831 if (tit) { 5832 tit.textContent = l2; 5833 tit.style.opacity = ''; 5834 tit.style.display = (l2 === "") ? 'none' : ''; 5835 tit.style.animation = ''; 5836 } 5837 d.classList.add('is-hover'); 5838 if (onAir) onAir.style.display = 'none'; 5839 }, 100); 5840 } 5841 } else { 5842 if (sub) sub.style.animation = 'dyTooltipOut 0.3s ease forwards'; 5843 if (tit) tit.style.animation = 'dyTooltipOut 0.3s ease forwards'; 5844 5845 d._hT1 = setTimeout(() => { 5846 d.classList.remove('is-hover'); 5847 if (sub) { 5848 sub.style.display = ''; 5849 sub.style.opacity = ''; 5850 sub.style.animation = ''; 5851 delete sub.dataset.raw; 5852 } 5853 if (tit) { 5854 tit.style.display = ''; 5855 tit.style.opacity = ''; 5856 tit.style.animation = ''; 5857 delete tit.dataset.raw; 5858 } 5859 if (onAir) onAir.style.display = ''; 5860 if (podTit) { 5861 podTit.style.display = ''; 5862 delete podTit.dataset.raw; 5863 } 5864 dy.refreshUI();
5865 }, 250); 5866 } 5867 }; 5868 5869 const prev = window.dyRadio; 5870 5871 // Skip Method 5872 dy.skip = (btn, e) => { 5873 if (e) { 5874 e.preventDefault(); 5875 e.stopPropagation(); 5876 } 5877 const dir = parseInt(btn.dataset.dir || (btn.getAttribute('data-dir'))); 5878 let step = parseInt(btn.dataset.skip || btn.getAttribute('data-skip')); 5879 if (isNaN(step)) { 5880 step = dy.podSkipTime || 15; 5881 } 5882 if (dy.audio) { 5883 if (dir === -1 && dy.audio.currentTime < step) { 5884 dy.audio.currentTime = 0; 5885 return; 5886 } 5887 const target = dy.audio.currentTime + (dir * step); 5888 const max = (!isNaN(dy.audio.duration) && isFinite(dy.audio.duration)) ? dy.audio.duration : target + 1; 5889 dy.audio.currentTime = Math.max(0, Math.min(max, target)); 5890 } 5891 }; 5892 5893 // Load More Utility (JSON-based v4.6) 5894 const buildEpHTML = (it, list) => { 5895 const ds = list.dataset; 5896 const skip = ds.skip || 15; 5897 const sz = ds.epTitleSize || '15px'; 5898 const col = ds.epTitleColor || '#fff'; 5899 const bold = ds.epTitleBold === '1' ? '700' : '400'; 5900 const sbg = ds.shareEpBtnBg || '#a08053'; 5901 const scol = ds.shareEpBtnColor || '#fff'; 5902 const liaisonUrl = it.liaison_url || ''; 5903 const infoBtnHtml = liaisonUrl ? `<button class="dy-podcast-info-btn" onclick="window.location.href = '${liaisonUrl}'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"><line x1="12" y1="19" x2="12" y2="10"></line><circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle></svg></button>` : ''; 5904 const shareBtnMobileHtml = `<span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line></svg></span>`; 5905 5906 return ` 5907 <div class="dy-podcast-item" data-url="${it.url}" data-title="${it.title}" data-author="${it.author}" data-image="${it.image}" data-date="${it.date}" data-liaison-url="${liaisonUrl}" onclick="window.dyRadio.playPodcast(this)"> 5908 <div class="dy-podcast-img-wrap"> 5909 <img src="${it.image}" alt="Podcast" loading="lazy"> 5910 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 5911 </div> 5912 <div class="dy-podcast-info"> 5913 <span class="dy-podcast-date">${it.date}</span> 5914 <h4 class="dy-podcast-title" style="font-size:${sz}; color:${col}; font-weight:${bold};">${it.title}</h4> 5915 <span class="dy-podcast-meta">${it.author}</span> 5916 <div class="dy-podcast-progress-wrap"> 5917 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 5918 ${infoBtnHtml} 5919 ${shareBtnMobileHtml} 5920 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de ${skip}s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 5921 <button class="dy-podcast-skip" data-dir="1" title="Avancer de ${skip}s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button>
5922 <span class="dy-podcast-time">00:00</span> 5923 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"><div class="dy-podcast-progress-rail"><div class="dy-podcast-progress-fill"></div></div></div> 5924 </div> 5925 </div> 5926 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 5927 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: ${sbg}; color: ${scol}; cursor: pointer; transition: all 0.3s;"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line></svg></span> 5928 ${ds.downloadEnable === '1' ? `<a href="${window.location.origin}/?dy_podcast_download=${btoa(unescape(encodeURIComponent(it.url)))}&filename=${encodeURIComponent(it.title)}" download="${it.title}.mp3" class="dy-podcast-dl-btn" title="Télécharger cet épisode" onclick="event.stopPropagation()" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: ${sbg}; color: ${scol}; cursor: pointer; transition: all 0.3s; text-decoration: none;"><i class="fas fa-download"></i></a>` : ''} 5929 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 5930 </div> 5931 </div>`; 5932 }; 5933 5934 window.dyLoadMorePodcasts = (btn) => { 5935 const list = btn.closest('.dy-podcast-list'); 5936 const container = list.querySelector('.dy-podcast-items-container'); 5937 if (!container || !list.dataset.episodes) return; 5938 5939 const episodes = JSON.parse(list.dataset.episodes); 5940 const offset = parseInt(list.dataset.currentOffset); 5941 const nextCount = parseInt(list.dataset.loadNext || 10); 5942 const toAdd = episodes.slice(offset, offset + nextCount); 5943 5944 let html = ''; 5945 toAdd.forEach(ep => { 5946 html += buildEpHTML(ep, list); 5947 }); 5948 container.insertAdjacentHTML('beforeend', html); 5949 5950 list.dataset.currentOffset = offset + toAdd.length; 5951 if (offset + toAdd.length >= episodes.length) btn.closest('.dy-load-more-wrap').style.display = 'none'; 5952 }; 5953 5954 let searchTimeout = null; 5955 const normalizeStr = (str) => { 5956 return str.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").trim(); 5957 }; 5958 5959 const levenshtein = (a, b) => { 5960 const matrix = []; 5961 for (let i = 0; i <= b.length; i++) matrix[i] = [i]; 5962 for (let j = 0; j <= a.length; j++) matrix[0][j] = j; 5963 for (let i = 1; i <= b.length; i++) { 5964 for (let j = 1; j <= a.length; j++) { 5965 if (b.charAt(i - 1) === a.charAt(j - 1)) { 5966 matrix[i][j] = matrix[i - 1][j - 1]; 5967 } else { 5968 matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1)); 5969 } 5970 } 5971 } 5972 return matrix[b.length][a.length]; 5973 }; 5974 5975 window.dyFilterPodcasts = (input) => { 5976 if (searchTimeout) clearTimeout(searchTimeout); 5977 searchTimeout = setTimeout(() => { 5978 const rawVal = input.value.trim(); 5979 const val = normalizeStr(rawVal); 5980 const list = input.closest('.dy-podcast-list'); 5981 const container = list.querySelector('.dy-podcast-items-container');
5982 const loadMore = list.querySelector('.dy-load-more-wrap'); 5983 const noRes = list.querySelector('.dy-podcast-no-results'); 5984 if (!container || !list.dataset.episodes) return; 5985 5986 const episodes = JSON.parse(list.dataset.episodes); 5987 if (val === '') { 5988 const offset = parseInt(list.dataset.currentOffset); 5989 const toShow = episodes.slice(0, offset); 5990 let html = ''; 5991 toShow.forEach(ep => { 5992 html += buildEpHTML(ep, list); 5993 }); 5994 container.innerHTML = html; 5995 if (loadMore) loadMore.style.display = (offset < episodes.length) ? 'block' : 'none'; 5996 if (noRes) noRes.style.display = 'none'; 5997 dy.currentEpisodes = episodes; 5998 } else { 5999 // Enhanced Search Logic: Substring Match + Space-Agnostic + Strict Fuzzy + Scoring 6000 const matches = episodes.map(it => { 6001 const t = normalizeStr(it.title); 6002 const a = normalizeStr(it.author); 6003 const tNoSpace = t.replace(/\s+/g, ''); 6004 const aNoSpace = a.replace(/\s+/g, ''); 6005 const valNoSpace = val.replace(/\s+/g, ''); 6006 let score = 0; 6007 6008 // 1. Primary: Substring matches (High priority) 6009 if (t.includes(val)) { 6010 score = 100 + (t.startsWith(val) ? 50 : 0); 6011 } else if (a.includes(val)) { 6012 score = 80; 6013 } 6014 // 2. Space-agnostic match (e.g. "tourauto" matches "Tour Auto") 6015 else if (valNoSpace.length >= 4 && (tNoSpace.includes(valNoSpace) || aNoSpace.includes(valNoSpace))) { 6016 score = 90; 6017 } 6018 // 3. Secondary: Fuzzy matches for typos (Only if query is long enough) 6019 else if (val.length >= 5) { 6020 const words = t.split(/[\s\-',]+/).concat(a.split(/[\s\-',]+/)); 6021 const bestDist = words.reduce((min, w) => { 6022 if (Math.abs(w.length - val.length) > 2) return min; 6023 return Math.min(min, levenshtein(val, w)); 6024 }, 99); 6025 6026 if (bestDist <= 1) score = 40; 6027 else if (bestDist === 2 && val.length >= 8) score = 20; 6028 } 6029 6030 return { 6031 item: it, 6032 score 6033 }; 6034 }) 6035 .filter(m => m.score > 0) 6036 .sort((a, b) => b.score - a.score) 6037 .map(m => m.item); 6038 6039 let html = ''; 6040 matches.forEach(it => { 6041 html += buildEpHTML(it, list); 6042 }); 6043 container.innerHTML = html; 6044 if (loadMore) loadMore.style.display = 'none'; 6045 if (noRes) { 6046 noRes.style.display = (matches.length === 0) ? 'block' : 'none'; 6047 const span = noRes.querySelector('span'); 6048 if (span) span.textContent = rawVal; 6049 } 6050 dy.currentEpisodes = matches; 6051 } 6052 }, 400); 6053 }; 6054 6055 if (prev && prev.intervalId) clearInterval(prev.intervalId); 6056 if (prev && prev.switchId) clearInterval(prev.switchId); 6057 if (prev && prev.miniSwitchId) clearInterval(prev.miniSwitchId); 6058 if (prev && prev.miniDdSwitchId) clearInterval(prev.miniDdSwitchId); 6059 if (prev && prev.autoScrollId) clearInterval(prev.autoScrollId); 6060 6061 let fallbackIdx = 0; 6062 if (Array.isArray(dy.stations)) { 6063 fallbackIdx = Math.max(0, dy.stations.findIndex(s => parseInt(s.is_default) === 1)); 6064 } else { 6065 dy.stations = []; 6066 } 6067 6068 let forced = parseInt(window.dyForcedIndex); 6069 6070 // Priority to Shared Episode in URL 6071 const hasShared = (new URLSearchParams(window.location.search)).has('dy_ep'); 6072 if (hasShared) { 6073 dy.currentIndex = -1; // Force podcast mode initialization 6074 } else { 6075 dy.currentIndex = prev ? prev.currentIndex : (!isNaN(forced) ? forced : fallbackIdx); 6076 } 6077 6078 dy.podcastMeta = prev ? prev.podcastMeta : null; 6079 dy.currentEpisodes = prev ? prev.currentEpisodes : []; 6080 dy.forceRadioList = prev ? prev.forceRadioList : false; 6081 6082 if (isNaN(dy.currentIndex) || dy.currentIndex < 0 || dy.currentIndex >= dy.stations.length) { 6083 dy.currentIndex = 0; 6084 } 6085 6086 dy.stations.forEach((s, i) => { 6087 s.meta = (prev && prev.stations && prev.stations[i] && prev.stations[i].meta) ? 6088 prev.stations[i].meta : { 6089 s: s.name, 6090 t: "Veuillez patienter...", 6091 img: s.logo 6092 }; 6093 }); 6094 6095 const st = dy.stations[dy.currentIndex]; 6096 dy.currentLink = prev ? prev.currentLink : (st ? st.link : "#"); 6097 6098 if (prev && prev.audio) { 6099 dy.audio = prev.audio; 6100 } else { 6101 const initUrl = hasShared ? "" : (st ? st.flux : ""); 6102 dy.audio = new Audio(initUrl); 6103 dy.audio.preload = hasShared ? 'auto' : 'none'; 6104 } 6105 6106 dy.audio.addEventListener('timeupdate', () => { 6107 if (dy.audio.duration && !isNaN(dy.audio.duration)) { 6108 const percent = (dy.audio.currentTime / dy.audio.duration) * 100;
6109 const fmt = dy.formatTime(dy.audio.currentTime); 6110 6111 // Update Podcast List items 6112 document.querySelectorAll('.dy-podcast-item.dy-podcast-active').forEach(item => { 6113 const fill = item.querySelector('.dy-podcast-progress-fill'); 6114 const time = item.querySelector('.dy-podcast-time'); 6115 if (fill) fill.style.width = percent + '%'; 6116 if (time) time.textContent = fmt; 6117 }); 6118 // Update All Podcast Progress Bars (Sticky Footers & Controls) 6119 document.querySelectorAll('.radio-display.dy-podcast-mode .dy-podcast-progress-fill, .radio-display.dy-podcast-mode .dy-footer-progress').forEach(fill => { 6120 fill.style.width = percent + '%'; 6121 }); 6122 // Update Time Labels 6123 document.querySelectorAll('.radio-display.dy-podcast-mode .dy-podcast-time').forEach(time => { 6124 time.textContent = fmt; 6125 }); 6126 6127 // Disable Back Skip if < skipTime 6128 document.querySelectorAll('.dy-podcast-skip[data-dir="-1"]').forEach(btn => { 6129 if (dy.audio.currentTime < dy.podSkipTime) { 6130 btn.style.opacity = '0.3'; 6131 btn.style.pointerEvents = 'none'; 6132 btn.style.cursor = 'default'; 6133 } else { 6134 btn.style.opacity = '1'; 6135 btn.style.pointerEvents = 'auto'; 6136 btn.style.cursor = 'pointer'; 6137 } 6138 }); 6139 } 6140 }); 6141 6142 dy.audio.addEventListener('loadedmetadata', () => { 6143 if (dy.prerollAntiSkip && dy.currentIndex >= 0) { 6144 const d = dy.audio.duration; 6145 // Seuil de détection : une publicité dure généralement moins de 120s 6146 if (d !== Infinity && !isNaN(d) && d > 0 && d < 120) { 6147 dy.isPrerollActive = true; 6148 dy.isStartupLock = false; 6149 if (dy.startupLockTimer) clearTimeout(dy.startupLockTimer); // Fix #2: timer séparé 6150 dy.adDuration = d; 6151 dy.refreshUI(); 6152 dy.refreshPlayState(); // Fix #1: rafraîchir l'UI après libération 6153 console.log("DEVYVES: Preroll confirmed by duration: " + d + "s"); 6154 } else if (dy.isStartupLock && (d === Infinity || isNaN(d) || d >= 120)) { 6155 // On ne bloque plus par défaut sur l'Infinity, car cela créait des faux positifs 6156 dy.isStartupLock = false; 6157 dy.isPrerollActive = false; 6158 dy.adDuration = 0; 6159 if (dy.startupLockTimer) clearTimeout(dy.startupLockTimer); // Fix #2: timer séparé 6160 dy.refreshUI(); 6161 dy.refreshPlayState(); // Fix #1: rafraîchir l'UI après libération 6162 console.log("DEVYVES: No preroll detected (Duration: " + d + "), unlocking."); 6163 if (dy.pendingStationIdx !== null) { 6164 const n = dy.pendingStationIdx; 6165 dy.pendingStationIdx = null; 6166 dy.playStation(n); 6167 } 6168 } else { 6169 dy.isStartupLock = false; 6170 dy.isPrerollActive = false; 6171 dy.adDuration = 0; 6172 if (dy.startupLockTimer) clearTimeout(dy.startupLockTimer); // Fix #2: timer séparé
6173 dy.refreshUI(); 6174 dy.refreshPlayState(); // Fix #1: rafraîchir l'UI après libération 6175 } 6176 6177 if (dy.isPrerollActive && dy.adDuration > 0) { 6178 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 6179 dy.prerollSafetyTimer = setTimeout(() => { 6180 if (dy.isPrerollActive) { 6181 console.log("DEVYVES: Ad safety timeout reached."); 6182 dy.isPrerollActive = false; 6183 dy.adDuration = 0; 6184 dy.refreshUI(); 6185 dy.refreshPlayState(); // Fix #1 6186 if (dy.pendingStationIdx !== null) { 6187 const n = dy.pendingStationIdx; 6188 dy.pendingStationIdx = null; 6189 dy.playStation(n); 6190 } 6191 } 6192 }, (dy.adDuration * 1000) + 2000); 6193 } 6194 } 6195 }); 6196 6197 dy.audio.addEventListener('durationchange', () => { 6198 if (dy.prerollAntiSkip && dy.currentIndex >= 0) { 6199 const d = dy.audio.duration; 6200 if (d !== Infinity && !isNaN(d) && d > 0 && d < 120) { 6201 if (!dy.isPrerollActive) { 6202 dy.isPrerollActive = true; 6203 dy.isStartupLock = false; 6204 if (dy.startupLockTimer) clearTimeout(dy.startupLockTimer); // Fix #2: timer séparé 6205 dy.adDuration = d; 6206 dy.refreshUI(); 6207 dy.refreshPlayState(); // Fix #1 6208 console.log("DEVYVES: Preroll detected via durationchange: " + d + "s"); 6209 6210 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 6211 dy.prerollSafetyTimer = setTimeout(() => { 6212 if (dy.isPrerollActive) { 6213 dy.isPrerollActive = false; 6214 dy.adDuration = 0; 6215 dy.refreshPlayState(); // Fix #1 6216 if (dy.pendingStationIdx !== null) { 6217 const n = dy.pendingStationIdx; 6218 dy.pendingStationIdx = null; 6219 dy.playStation(n); 6220 } 6221 } 6222 }, (d * 1000) + 2000); 6223 } else { 6224 dy.adDuration = d; 6225 } 6226 } else if (d === Infinity || isNaN(d) || d >= 120) { 6227 // Transition to program 6228 dy.isStartupLock = false; 6229 if (dy.startupLockTimer) clearTimeout(dy.startupLockTimer); // Fix #2: timer séparé 6230 if (dy.isPrerollActive) { 6231 console.log("DEVYVES: Transition to program (Duration: " + d + "). Unlocking."); 6232 dy.isPrerollActive = false; 6233 dy.adDuration = 0; 6234 dy.refreshUI(); 6235 dy.refreshPlayState(); // Fix #1 6236 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 6237 if (dy.pendingStationIdx !== null) { 6238 const next = dy.pendingStationIdx; 6239 dy.pendingStationIdx = null; 6240 dy.playStation(next); 6241 } 6242 } 6243 } 6244 } 6245 }); 6246 6247 dy.audio.addEventListener('timeupdate', () => { 6248 if (dy.prerollAntiSkip && dy.isPrerollActive) { 6249 // Unlock precisely at the end of the detected ad 6250 if (dy.adDuration > 0 && dy.audio.currentTime >= dy.adDuration) { 6251 console.log("DEVYVES: Preroll finished (timeupdate). Unlocking."); 6252 dy.isPrerollActive = false; 6253 dy.refreshUI();
6254 dy.adDuration = 0; 6255 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 6256 if (dy.pendingStationIdx !== null) { 6257 const next = dy.pendingStationIdx; 6258 dy.pendingStationIdx = null; 6259 dy.playStation(next); 6260 } 6261 } 6262 } 6263 }); 6264 6265 dy.audio.addEventListener('ended', () => { 6266 if (dy.isPrerollActive) { 6267 dy.isPrerollActive = false; 6268 dy.refreshUI(); 6269 dy.adDuration = 0; 6270 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 6271 console.log("DEVYVES: Preroll ended (event ended)"); 6272 6273 // Execute pending switch if user queued one during the ad 6274 if (dy.pendingStationIdx !== null) { 6275 const next = dy.pendingStationIdx; 6276 dy.pendingStationIdx = null; 6277 dy.playStation(next); 6278 } 6279 } 6280 6281 if (dy.podcastMeta && dy.currentEpisodes.length > 0 && dy.autoplayNext) { 6282 const curUrl = dy.audio.src; 6283 console.log('DEVYVES: Podcast ended, looking for next episode...', curUrl); 6284 6285 const normalize = (u) => { 6286 if (!u) return ""; 6287 try { 6288 // Remove query string and fragment, then protocol and trailing slash 6289 let parts = u.split('?')[0].split('#')[0].toLowerCase(); 6290 return parts.replace(/\/$/, "").replace(/^https?:\/\//i, "").trim(); 6291 } catch (e) { 6292 return u; 6293 } 6294 }; 6295 6296 const curNorm = normalize(curUrl); 6297 const idx = dy.currentEpisodes.findIndex(ep => normalize(ep.url) === curNorm); 6298 6299 if (idx !== -1 && idx < dy.currentEpisodes.length - 1) { 6300 const nextEp = dy.currentEpisodes[idx + 1]; 6301 console.log('DEVYVES: Next episode found:', nextEp.title); 6302 dy.playPodcastItemByUrl(nextEp.url); 6303 } else { 6304 console.log('DEVYVES: End of current playlist reached (Index:', idx, ')'); 6305 6306 // Check if fallback is enabled (Global or Local via dataset) 6307 const isEnabled = (dy.activeFallbackEnable === true) || (dy.activeFallbackEnable === "1") || (dy.activeFallbackEnable === undefined && dy.fallbackEnable); 6308 6309 if (isEnabled && dy.activeFallbackRSS) { 6310 console.log('DEVYVES: Fallback RSS detected and enabled, loading...', dy.activeFallbackRSS); 6311 const formData = new FormData(); 6312 formData.append('action', 'dy_load_fallback_rss'); 6313 formData.append('rss', dy.activeFallbackRSS); 6314 6315 const ajaxPath = dy.ajaxurl || dy.ajaxUrl || "/wp-admin/admin-ajax.php"; 6316 6317 fetch(ajaxPath, { 6318 method: 'POST', 6319 body: formData 6320 }) 6321 .then(r => r.json()) 6322 .then(res => { 6323 if (res.success && res.data && res.data.length > 0) { 6324 // Anti-Loop Parade: Filter out episodes already in the previous list 6325 const oldUrls = dy.currentEpisodes.map(ep => normalize(ep.url)); 6326 const filtered = res.data.filter(newEp => !oldUrls.includes(normalize(newEp.url))); 6327 6328 if (filtered.length > 0) { 6329 console.log('DEVYVES: Fallback episodes filtered (New:', filtered.length, 'Duplicates removed:', res.data.length - filtered.length, ')'); 6330 dy.currentEpisodes = filtered; 6331 dy.currentIndex = -1; 6332 dy.activeFallbackRSS
6332= ""; // Prevent infinite loops if next list also has same fallback 6333 dy.playPodcastItemByUrl(dy.currentEpisodes[0].url); 6334 } else { 6335 console.warn('DEVYVES: Fallback feed contains only episodes already played. Stopping to avoid loop.'); 6336 dy.activeFallbackRSS = ""; 6337 } 6338 } else { 6339 console.warn('DEVYVES: Fallback load failed or empty:', res); 6340 } 6341 }) 6342 .catch(e => console.error('DEVYVES: Error fetching fallback RSS:', e)); 6343 } else { 6344 console.log('DEVYVES: Fallback not triggered (Enabled:', isEnabled, 'RSS:', dy.activeFallbackRSS, ')'); 6345 } 6346 } 6347 } 6348 }); 6349 6350 dy.scanLinks(); 6351 dy.initPodcastList(); 6352 dy.upMeta(); 6353 dy.upMetaId = setInterval(dy.upMeta, 20000); 6354 6355 // Alternance Cover/Logo (Global) 6356 if (dy.switchTime > 0) { 6357 dy.switchId = setInterval(() => { 6358 dy.displayMode = (dy.displayMode === 'cover' ? 'logo' : 'cover'); 6359 dy.refreshUI(); 6360 }, dy.switchTime * 1000); 6361 } 6362 6363 // Alternance Cover/Logo (Mini Player Specifique) 6364 dy.miniDisplayMode = 'logo'; 6365 if (dy.miniSwitchTime > 0) { 6366 dy.miniSwitchId = setInterval(() => { 6367 dy.miniDisplayMode = (dy.miniDisplayMode === 'cover' ? 'logo' : 'cover'); 6368 document.querySelectorAll('.radio-display.dy-mini-player').forEach(el => { 6369 el.classList.remove('dy-display-logo', 'dy-display-cover'); 6370 el.classList.add('dy-display-' + dy.miniDisplayMode); 6371 }); 6372 }, dy.miniSwitchTime * 1000); 6373 } 6374 6375 // Alternance Cover/Logo (Dropdown Mini Specifique) 6376 dy.miniDdDisplayMode = 'logo'; 6377 if (dy.miniDdSwitchTime > 0) { 6378 // Apply initial class to containers immediately 6379 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 6380 dd.classList.add('dy-display-logo'); 6381 }); 6382 6383 dy.miniDdSwitchId = setInterval(() => { 6384 const dd = document.querySelector('.dy-mini-dropdown.is-active, .dy-fs-list-scroll'); 6385 if (dd && dd.matches(':hover')) return; // Pause if user is interacting 6386 6387 dy.miniDdDisplayMode = (dy.miniDdDisplayMode === 'cover' ? 'logo' : 'cover'); 6388 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 6389 dd.classList.remove('dy-display-logo', 'dy-display-cover'); 6390 dd.classList.add('dy-display-' + dy.miniDdDisplayMode); 6391 }); 6392 }, dy.miniDdSwitchTime * 1000); 6393 } 6394 6395 // Alternance Cover/Logo (List Player - Standalone + Dropdown) 6396 dy.listDdDisplayMode = 'logo'; 6397 if (dy.listDdSwitchTime > 0) { 6398 document.querySelectorAll('.dy-standalone-list').forEach(el => { 6399 el.classList.add('dy-display-logo'); 6400 }); 6401 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 6402 if (!dd.classList.contains('dy-display-logo') && !dd.classList.contains('dy-display-cover')) { 6403 dd.classList.add('dy-display-logo'); 6404 } 6405 }); 6406 6407 dy.listDdSwitchId = setInterval(() => { 6408 const dd = document.querySelector('.dy-mini-dropdown.is-active, .dy-fs-list-scroll'); 6409 if (dd && dd.matches(':hover')) return; 6410 6411 dy.listDdDisplayMode = (dy.listDdDisplayMode === 'cover' ? 'logo' : 'cover'); 6412 6413 document.querySelectorAll('.dy-standalone-list').forEach(el => { 6414 el.classList.remove('dy-display-logo', 'dy-display-cover'); 6415 el.classList.add('dy-display-' + dy.listDdDisplayMode); 6416 }); 6417 6418 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 6419 if (dy.miniDdSwitchTime <= 0 || !document.querySelector('.radio-display.dy-mini-player')) { 6420 dd.classList.remove('dy-display-logo', 'dy-display-cover'); 6421 dd.classList.add('dy-display-' + dy.listDdDisplayMode); 6422 } 6423 }); 6424 }, dy.listDdSwitchTime * 1000); 6425 } 6426 6427 // Auto Scroll Carousel 6428 6429 6430 window.onpopstate = () => dy.loadPage(location.href, false); 6431 dy.refreshPlayState(); 6432 dy.refreshUI();
6433 dy.initCarousels(); 6434 dy.checkSharedEpisode(); 6435 console.log("DEVYVES: System initialized. Version:", dy.version); 6436 }, 6437 6438 initCarousels: () => { 6439 const containers = document.querySelectorAll('.dy-carousel-container'); 6440 if (containers.length === 0) return; 6441 6442 console.log("DEVYVES: Initializing " + containers.length + " carousel(s)..."); 6443 containers.forEach(container => { 6444 if (container._dyInterval) clearInterval(container._dyInterval); 6445 6446 const autoplay = container.getAttribute('data-autoplay') == '1'; 6447 const pauseOnHover = container.getAttribute('data-pause-on-hover') == '1'; 6448 const speed = parseInt(container.getAttribute('data-speed')) || 5000; 6449 6450 console.log("DEVYVES: Carousel Config -> Autoplay:", autoplay, "PauseOnHover:", pauseOnHover, "Speed:", speed); 6451 6452 if (autoplay) { 6453 container._dyInterval = setInterval(() => { 6454 if (pauseOnHover && container._dyIsHovered) { 6455 // console.log("DEVYVES: Scrolling paused (Hover)"); 6456 return; 6457 } 6458 const nextBtn = container.querySelector('.dy-nav-next'); 6459 if (nextBtn) dy.scrollCarousel(1, nextBtn); 6460 }, speed); 6461 6462 if (!container._dyHoverBound) { 6463 const onIn = () => { 6464 container._dyIsHovered = true; 6465 console.log("DEVYVES: Hover ACTIVE"); 6466 }; 6467 const onOut = () => { 6468 container._dyIsHovered = false; 6469 console.log("DEVYVES: Hover INACTIVE"); 6470 }; 6471 container.addEventListener('mouseenter', onIn); 6472 container.addEventListener('mouseleave', onOut); 6473 container._dyHoverBound = true; 6474 } 6475 } 6476 6477 // Carousel Mouse Wheel (Moved here for persistence) 6478 if (container.getAttribute('data-mousewheel') == '1') { 6479 const wrapper = container.querySelector('.dy-carousel-wrapper'); 6480 if (wrapper && !wrapper.dataset.wheelBound) { 6481 wrapper.dataset.wheelBound = "1"; 6482 wrapper.addEventListener('wheel', (e) => { 6483 e.preventDefault(); 6484 wrapper.scrollBy({ 6485 left: e.deltaY, 6486 behavior: 'auto' 6487 }); 6488 }, { 6489 passive: false 6490 }); 6491 } 6492 } 6493 }); 6494 }, 6495 6496 scrollCarousel: (dir, btn) => { 6497 const container = btn.closest('.dy-carousel-container'); 6498 const wrapper = container.querySelector('.dy-carousel-wrapper'); 6499 if (wrapper) { 6500 const gap = parseInt(container.getAttribute('data-gap')) || 20; 6501 const card = wrapper.querySelector('.dy-station-card'); 6502 const amount = card ? card.offsetWidth + gap : 300; // Use dynamic gap 6503 const maxScroll = wrapper.scrollWidth - wrapper.offsetWidth; 6504 6505 if (dir > 0 && wrapper.scrollLeft >= maxScroll - 10) { 6506 wrapper.scrollTo({ 6507 left: 0, 6508 behavior: 'smooth' 6509 }); 6510 } else if (dir < 0 && wrapper.scrollLeft <= 10) { 6511 wrapper.scrollTo({ 6512 left: maxScroll, 6513 behavior: 'smooth' 6514 }); 6515 } else { 6516 wrapper.scrollBy({ 6517 left: amount * dir, 6518 behavior: 'smooth' 6519 }); 6520 } 6521 } 6522 }, 6523 6524 truncateText: (str, len) => { 6525 if (!str) return ""; 6526 return str.length > len ? str.substring(0, len) + "..." : str; 6527 }, 6528 splitArtist: (text, container) => { 6529 if (!text || text === "Chargement...") return text; 6530 const splitEnable = container ? (container.dataset.splitEnable === '1') : false; 6531 const splitKws = container ? container.dataset.splitKeywords : ""; 6532 if (!splitEnable || !splitKws) return text; 6533
6534 const kws = splitKws.split(',').map(k => k.trim()); 6535 for (const kw of kws) { 6536 if (kw && text.includes(kw)) { 6537 return text.split(kw)[0].trim(); 6538 } 6539 } 6540 return text; 6541 }, 6542 decode: (s) => { 6543 if (!s) return ""; 6544 try { 6545 // Fix for literal Unicode escape sequences (e.g. \u00e9) 6546 s = s.replace(/\\u([0-9a-fA-F]{4})/g, (match, grp) => String.fromCharCode(parseInt(grp, 16))); 6547 } catch (e) {} 6548 dy.txtArea.innerHTML = s; 6549 return dy.txtArea.value; 6550 }, 6551 isDefault: (u) => !u || ['cover_default.png', 'default.png', 'placeholder.png'].some(p => u.includes(p)), 6552 formatTime: (s) => { 6553 const m = Math.floor(s / 60); 6554 const sec = Math.floor(s % 60); 6555 return (m < 10 ? '0' : '') + m + ':' + (sec < 10 ? '0' : '') + sec; 6556 }, 6557 6558 refreshPlayState: () => { 6559 if (!dy.audio) return; 6560 const isP = dy.audio.paused; 6561 6562 // Mini players 6563 document.querySelectorAll('.play-button').forEach(b => { 6564 if (isP) { 6565 b.classList.remove('fa-stop'); 6566 b.classList.add('fa-play'); 6567 } else { 6568 b.classList.remove('fa-play'); 6569 b.classList.add('fa-stop'); 6570 } 6571 }); 6572 6573 // Full cards 6574 document.querySelectorAll('.dy-station-card').forEach(card => { 6575 const idx = parseInt(card.dataset.index); 6576 const icon = card.querySelector('.dy-play-icon'); 6577 const text = card.querySelector('.dy-play-text'); 6578 6579 const container = card.closest('.dy-carousel-container'); 6580 const defText = container ? container.dataset.playText : 'ÃCOUTER'; 6581 const activeText = container ? container.dataset.playingText : 'EN COURS'; 6582 const activeBg = container ? container.dataset.playingBg : '#c0392b'; 6583 6584 if (idx === dy.currentIndex && !isP) { 6585 if (icon) { 6586 icon.classList.remove('fa-play'); 6587 icon.classList.add('fa-stop'); 6588 } 6589 if (text) text.textContent = activeText; 6590 const btn = card.querySelector('.dy-play-btn'); 6591 if (btn && btn.style.backgroundColor !== activeBg) btn.style.backgroundColor = activeBg; 6592 card.classList.add('dy-card-active'); 6593 } else { 6594 if (icon) { 6595 icon.classList.remove('fa-stop'); 6596 icon.classList.add('fa-play'); 6597 } 6598 if (text) text.textContent = defText; 6599 const btn = card.querySelector('.dy-play-btn'); 6600 if (btn && btn.style.backgroundColor !== '') btn.style.backgroundColor = ''; 6601 card.classList.remove('dy-card-active'); 6602 } 6603 }); 6604 6605 // Simple player CTA buttons 6606 document.querySelectorAll('.dy-simple-player').forEach(card => { 6607 const idx = parseInt(card.dataset.index); 6608 const btn = card.querySelector('.play-button'); 6609 const ctaText = card.querySelector('.dy-simple-call-text'); 6610 const originalText = (card.dataset.originalCall && card.dataset.originalCall !== "") ? card.dataset.originalCall : ((dy.stations[idx] && dy.stations[idx].call_text) || "Ecouter le direct"); 6611 6612 if (btn) {
6613 if (idx === dy.currentIndex && !isP) { 6614 btn.classList.remove('fa-play'); 6615 btn.classList.add('fa-stop'); 6616 } else { 6617 btn.classList.remove('fa-stop'); 6618 btn.classList.add('fa-play'); 6619 } 6620 } 6621 if (ctaText) { 6622 const playingTxt = card.dataset.playingText || "En cours"; 6623 const ctaWrapper = ctaText.closest('.dy-simple-call'); 6624 if (idx === dy.currentIndex && !isP) { 6625 ctaText.textContent = playingTxt; 6626 if (ctaWrapper) { 6627 ctaWrapper.style.backgroundColor = card.dataset.playingBg; 6628 ctaWrapper.style.color = card.dataset.playingTxt; 6629 } 6630 } else { 6631 ctaText.textContent = originalText; 6632 if (ctaWrapper) { 6633 ctaWrapper.style.backgroundColor = card.dataset.originalBg; 6634 ctaWrapper.style.color = card.dataset.originalTxt; 6635 } 6636 } 6637 } 6638 }); 6639 6640 // Play buttons [devyves_btn_play] 6641 document.querySelectorAll('.dy-btn-play-container').forEach(cont => { 6642 const idx = parseInt(cont.dataset.index); 6643 const mode = cont.dataset.mode || 'station'; 6644 const icon = cont.querySelector('.play-button'); 6645 const text = cont.querySelector('.dy-btn-play-text'); 6646 6647 let isCurrent = false; 6648 if (mode === 'podcast') { 6649 isCurrent = (dy.currentIndex === -1 && !isP); 6650 } else { 6651 isCurrent = (idx === dy.currentIndex && !isP); 6652 } 6653 6654 if (icon) { 6655 if (isCurrent) { 6656 icon.classList.remove('fa-play'); 6657 icon.classList.add('fa-stop'); 6658 icon.style.setProperty('color', cont.dataset.playingColor, 'important'); 6659 } else { 6660 icon.classList.remove('fa-stop'); 6661 icon.classList.add('fa-play'); 6662 icon.style.setProperty('color', cont.dataset.originalColor, 'important'); 6663 } 6664 } 6665 if (text) { 6666 const raw = isCurrent ? cont.dataset.playingText : cont.dataset.originalText; 6667 text.innerHTML = (raw || "").replace(/\\n
6667/g, '<br>').replace(/\n/g, '<br>'); 6668 } 6669 }); 6670 6671 // Dropdown items highlight 6672 document.querySelectorAll('.dy-dropdown-item').forEach(item => { 6673 item.classList.remove('is-playing'); 6674 }); 6675 const activeItem = document.querySelector(`.dy-dropdown-item[onclick*="playStation(${dy.currentIndex},"]`); 6676 if (activeItem && !isP) { 6677 activeItem.classList.add('is-playing'); 6678 } 6679 6680 // Podcast list buttons and active state 6681 const currentUrl = dy.audio.src; 6682 document.querySelectorAll('.dy-podcast-item').forEach(item => { 6683 const itemUrl = item.dataset.url; 6684 const btnIcon = item.querySelector('.dy-podcast-btn i'); 6685 const overlayIcon = item.querySelector('.dy-podcast-play-overlay i'); 6686 const miniPlayIcon = item.querySelector('.dy-podcast-mini-play i'); 6687 6688 if (itemUrl === currentUrl) { 6689 item.classList.add('dy-podcast-active'); 6690 [btnIcon, overlayIcon, miniPlayIcon].forEach(icon => { 6691 if (icon) { 6692 if (isP) { 6693 icon.classList.remove('fa-stop'); 6694 icon.classList.add('fa-play'); 6695 } else { 6696 icon.classList.remove('fa-play'); 6697 icon.classList.add('fa-stop'); 6698 } 6699 } 6700 }); 6701 } else { 6702 item.classList.remove('dy-podcast-active'); 6703 [btnIcon, overlayIcon, miniPlayIcon].forEach(icon => { 6704 if (icon) { 6705 icon.classList.remove('fa-stop'); 6706 icon.classList.add('fa-play'); 6707 } 6708 }); 6709 } 6710 }); 6711 }, 6712 6713 refreshUI: () => { 6714 // Disable hover tooltips for mini/sticky if expand button is active 6715 if (dy.expandEnable) { 6716 document.querySelectorAll('.dy-mini-player, .dy-sticky-footer-pc').forEach(el => { 6717 el.classList.add('dy-hover-disabled'); 6718 }); 6719 } 6720 6721 // Update Expand Buttons State and Text 6722 const hasEpisodes = !!(dy.currentEpisodes && dy.currentEpisodes.length > 1); 6723 document.querySelectorAll('.dy-expand-mini-btn').forEach(btn => { 6724 const txt = btn.querySelector('.dy-expand-text'); 6725 const isStickyEpBtn = btn.dataset.stickyEpBtn === '1'; 6726 6727 if (isStickyEpBtn) { 6728 // Sticky footer episode button: only show in podcast mode with >1 episode 6729 if (dy.podcastMeta && hasEpisodes) { 6730 btn.style.display = 'flex'; 6731 btn.classList.remove('disabled'); 6732 } else { 6733 btn.style.display = 'none'; 6734 } 6735 } else { 6736 // Generic expand buttons (mini, carousel) 6737 const customTxt = btn.dataset.customText; 6738 if (dy.podcastMeta) { 6739 if (txt) txt.textContent = customTxt || dy.expandPodcastMsg || "Episodes"; 6740 if (!hasEpisodes) { 6741 btn.classList.add('disabled'); 6742 btn.setAttribute('title', 'Aucun autre épisode disponible'); 6743 } else { 6744 btn.classList.remove('disabled'); 6745 btn.removeAttribute('title'); 6746 } 6747 } else { 6748 if (txt) txt.textContent = customTxt || dy.expandRadioMsg || "Stations"; 6749 btn.classList.remove('disabled'); 6750 btn.removeAttribute('title'); 6751 } 6752 } 6753 }); 6754 6755 // Determine Global Display Class and apply to main containers 6756 // Exclude elements that have their own custom toggle logic 6757 document.querySelectorAll('.dy-carousel-container, .radio-display, .dy-simple-player').forEach(el => { 6758 if (el.classList.contains('dy-simple-custom-switch')) return; 6759 6760 // If it's a mini player and we have a specific mini switch time, we don't sync with global displayMode 6761 if (el.classList.contains('dy-mini-player') && dy.miniSwitchTime > 0) return; 6762 6763 el.classList.remove('dy-display-logo', 'dy-display-cover'); 6764 el.classList.add('dy-display-' + dy.displayMode); 6765 }); 6766 6767 // Update Full Player Cards 6768 document.querySelectorAll('.dy-station-card, .dy-simple-player').forEach(card => { 6769 const idx = card.dataset.index; 6770 const st = dy.stations[idx]; 6771 if (st && st.meta) { 6772 const sub = card.querySelector('.dy-station-artist, .radio-subtitle'); 6773 const tit = card.querySelector('.dy-station-title, .radio-title'); 6774 const logoLayer = card.querySelector('.dy-station-logo-layer, .radio-logo-layer'); 6775 const coverLayer = card.querySelector('.dy-station-cover, .radio-cover'); 6776 const coverTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.bg_image || st.logo); 6777 6778 if (sub) { 6779 // For simple player, if we want to keep station name as subtitle, we could check a class. 6780 // But usually subtitle is Artist. Let's stick to Artist if available. 6781 const artistLimit = card.dataset.truncateArtist || dy.truncateArtist; 6782 if (dy.prerollTextEnable && dy.isPrerollActive && parseInt(idx) === dy.
6782currentIndex) { 6783 sub.textContent = dy.prerollTextArtist; 6784 } else { 6785 const artistText = st.meta.s ? dy.splitArtist(st.meta.s, card) : (st.name || ""); 6786 sub.textContent = dy.truncateText(artistText, artistLimit); 6787 } 6788 } 6789 if (tit) { 6790 const isPod = card.classList.contains('dy-podcast-mode'); 6791 const podLimit = parseInt(card.dataset.truncatePodcast); 6792 const titleLimit = (isPod && podLimit > 0) ? podLimit : (card.dataset.truncateTitle || dy.truncateTitle); 6793 if (dy.prerollTextEnable && dy.isPrerollActive && parseInt(idx) === dy.currentIndex) { 6794 tit.textContent = dy.prerollTextTitle; 6795 } else { 6796 tit.textContent = st.meta.t ? dy.truncateText(st.meta.t, titleLimit) : "Veuillez patienter..."; 6797 } 6798 } 6799 6800 if (logoLayer && logoLayer.getAttribute('src') !== st.logo) { 6801 logoLayer.onerror = () => { 6802 logoLayer.onerror = null; // Prevent infinite loop 6803 logoLayer.src = st.logo || ''; 6804 }; 6805 logoLayer.src = st.logo; 6806 } 6807 if (coverLayer && coverLayer.getAttribute('src') !== coverTarget) { 6808 coverLayer.onerror = () => { 6809 coverLayer.onerror = null; // Prevent infinite loop 6810 dy.failedImgs.add(coverTarget); // Remember failed URL 6811 console.log('DEVYVES: Cover 404, fallback to logo:', coverTarget); 6812 coverLayer.src = st.logo || ''; 6813 }; 6814 coverLayer.src = coverTarget; 6815 } 6816 6817 6818 // Opacity and Transform are purely managed by CSS classes (.dy-display-logo, .dy-display-cover, .is-flipped) securely defined above. 6819 // We ONLY sync the source URL here to prevent JS from overriding hardware accelerated CSS transitions. 6820 6821 // We do NOT set inline styles here anymore. 6822 if (logoLayer) { 6823 logoLayer.style.removeProperty('opacity'); 6824 logoLayer.style.removeProperty('transform'); 6825 } 6826 if (coverLayer) { 6827 coverLayer.style.removeProperty('opacity'); 6828 coverLayer.style.removeProperty('transform'); 6829 } 6830 const glass = card.querySelector('.dy-glass-bg'); 6831 const cardBg = card.querySelector('.dy-card-bg'); 6832 const isFullCarousel = card.closest('.dy-carousel-full'); 6833 6834 // For Carousel Full, we force the background image from settings and ignore dynamic cover 6835 const bgTarget = (isFullCarousel) ? (st.bg_image || st.logo) : ((st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.bg_image || st.logo)); 6836 6837 if (glass) { 6838 glass.style.backgroundImage = `url('${bgTarget}')`; 6839 const gop = (dy.glassOp !== undefined) ? dy.glassOp : 1; 6840 glass.style.opacity = `${dy.bgOpacity} !important`; 6841 glass.style.filter = `blur(${40 * gop}px) brightness(0.7)`; 6842 } 6843 6844 if (cardBg && (dy.bgMode === 'image' || isFullCarousel)) {
6845 const overlay = (dy.useGradient && !isFullCarousel) ? `linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 40%, transparent 100%), ` : ""; 6846 cardBg.onerror = () => { 6847 cardBg.onerror = null; 6848 cardBg.style.backgroundImage = `url('${st.logo}')`; 6849 }; 6850 cardBg.style.backgroundImage = `${overlay}url('${bgTarget}')`; 6851 cardBg.style.opacity = (isFullCarousel) ? "1 !important" : `${dy.bgOpacity} !important`; 6852 6853 if (dy.backdropBlur && !isFullCarousel) { 6854 const bop = (dy.backdropOp !== undefined) ? dy.backdropOp : 1; 6855 const bpx = 20 * bop; 6856 cardBg.style.filter = `blur(${bpx}px) brightness(0.8)${dy.carouselBwBg ? ' grayscale(100%)' : ''}`; 6857 cardBg.style.transform = `scale(1.1)`; 6858 } else if (dy.carouselBwBg && !isFullCarousel) { 6859 cardBg.style.filter = 'grayscale(100%)'; 6860 } else { 6861 cardBg.style.filter = 'none'; 6862 cardBg.style.transform = 'none'; 6863 } 6864 } 6865 } 6866 6867 document.querySelectorAll('.dy-station-artist-' + idx).forEach(el => { 6868 const container = el.closest('[data-truncate-artist]'); 6869 const limit = container ? container.dataset.truncateArtist : dy.truncateArtist; 6870 const artistText = dy.splitArtist((st.meta ? st.meta.s : "Chargement..."), container); 6871 6872 if (dy.prerollTextEnable && dy.isPrerollActive && idx == dy.currentIndex) { 6873 el.textContent = dy.truncateText(dy.prerollTextArtist, limit); 6874 } else { 6875 el.textContent = dy.truncateText(artistText, limit); 6876 } 6877 }); 6878 document.querySelectorAll('.dy-station-title-' + idx).forEach(el => { 6879 const limit = el.closest('[data-truncate-title]') ? el.closest('[data-truncate-title]').dataset.truncateTitle : dy.truncateTitle; 6880 if (dy.prerollTextEnable && dy.isPrerollActive && idx == dy.currentIndex) { 6881 el.textContent = dy.prerollTextTitle; 6882 } else { 6883 el.textContent = (st.meta ? dy.truncateText(st.meta.t, limit) : "--"); 6884 } 6885 }); 6886 6887 const dropdownItem = document.querySelector(`.dy-dropdown-item[onclick*="playStation(${idx},"]`); 6888 if (dropdownItem) { 6889 const ddLogo = dropdownItem.querySelector('.dy-dd-logo'); 6890 const ddCover = dropdownItem.querySelector('.dy-dd-cover'); 6891 6892 if (ddLogo && ddLogo.getAttribute('src') !== st.logo) { 6893 ddLogo.onerror = () => { 6894 ddLogo.onerror = null; 6895 ddLogo.src = st.logo; 6896 }; 6897 ddLogo.src = st.logo; 6898 } 6899 if (ddCover) { 6900 ddCover.onerror = () => { 6901 ddCover.onerror = null; 6902 dy.failedImgs.add(ddCover.src); 6903 ddCover.src = st.logo; 6904 }; 6905 const ddTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : st.logo; 6906 if (ddCover.getAttribute('src') !== ddTarget) ddCover.src = ddTarget; 6907 } 6908 6909 // Dropdown thumb crossfade 6910 // Also managed purely by the CSS global state cascade 6911 if (ddLogo) ddLogo.style.removeProperty('opacity'); 6912 if (ddCover) ddCover.style.removeProperty('opacity'); 6913 } 6914 }); 6915 6916 // Update Mini Players and Dropdowns 6917 const curSt = dy.currentIndex >= 0 ? dy.stations[dy.currentIndex] : dy.podcastMeta; 6918 6919 document.querySelectorAll('.radio-display:not(.dy-simple-player)').forEach(el => { 6920 if (dy.podcastMeta) { 6921 el.classList.add('dy-podcast-mode'); 6922 } else { 6923 el.classList.remove('dy-podcast-mode'); 6924 } 6925 }); 6926 6927 if (curSt) {
6928 let metaS = curSt.meta ? curSt.meta.s : (curSt.s || "Chargement..."); 6929 let metaT = curSt.meta ? curSt.meta.t : (curSt.t || "Ãpisode sans titre"); 6930 6931 if (dy.prerollTextEnable && dy.isPrerollActive && !dy.podcastMeta) { 6932 metaS = dy.prerollTextArtist; 6933 metaT = dy.prerollTextTitle; 6934 } 6935 6936 const baseLogo = curSt.logo || curSt.img; 6937 6938 document.querySelectorAll('.dy-fs-station-name').forEach(el => { 6939 if (!dy.podcastMeta) { 6940 el.textContent = curSt.name || ""; 6941 el.style.display = 'block'; 6942 } else { 6943 el.textContent = ""; 6944 el.style.display = 'none'; 6945 } 6946 }); 6947 6948 document.querySelectorAll('.dy-fs-artist').forEach(el => { 6949 let artistText = metaS; 6950 let hasSplit = false; 6951 const keywords = dy.splitKeywordsFS ? dy.splitKeywordsFS.split(',').map(k => k.trim()) : []; 6952 6953 for (const kw of keywords) { 6954 if (kw && artistText.includes(kw)) { 6955 artistText = artistText.replace(kw, '<br>' + kw); 6956 hasSplit = true; 6957 break; 6958 } 6959 } 6960 6961 if (hasSplit) { 6962 el.innerHTML = artistText; 6963 el.classList.remove('is-scrolling'); // Disable marquee if split 6964 } else { 6965 if (dy.marqueeEnableFS) dy.applyMarquee(el, artistText, 50); 6966 else el.textContent = dy.truncateText(artistText, dy.truncateArtist + 15); 6967 } 6968 }); 6969 document.querySelectorAll('.dy-fs-title').forEach(el => { 6970 if (dy.marqueeEnableFS) dy.applyMarquee(el, metaT, 60); 6971 else el.textContent = dy.truncateText(metaT, dy.truncateTitle + 15); 6972 }); 6973 6974 // Sync images for FullScreen too 6975 document.querySelectorAll('.dy-mobile-fullscreen').forEach(fs => { 6976 const l = fs.querySelector('.radio-logo-layer'); 6977 const c = fs.querySelector('.radio-cover'); 6978 const coverTarget = (curSt.meta && curSt.meta.img && !dy.isDefault(curSt.meta.img)) ? curSt.meta.img : (curSt.img || curSt.logo); 6979 if (l) l.src = baseLogo; 6980 if (c) c.src = coverTarget; 6981 }); 6982 6983 document.querySelectorAll('.radio-display:not(.is-hover):not(.dy-simple-player)').forEach(el => { 6984 const sub = el.querySelector('.radio-subtitle'); 6985 const tit = el.querySelector('.radio-title'); 6986 const podTit = el.querySelector('.dy-mini-podcast-title'); 6987 const logoLayer = el.querySelector('.radio-logo-layer'); 6988 const coverLayer = el.querySelector('.radio-cover'); 6989 6990 if (sub) { 6991 const artistText = dy.splitArtist(metaS, el); 6992 if (dy.marqueeEnableFS) { 6993 dy.applyMarquee(sub, artistText, 50); 6994 } else { 6995 sub.textContent = dy.truncateText(artistText, 35); 6996 sub.classList.remove('is-scrolling'); 6997 } 6998 } 6999 if (tit) { 7000 if (dy.marqueeEnableFS) { 7001 dy.applyMarquee(tit, metaT, 60); 7002 } else { 7003 tit.textContent = dy.truncateText(metaT, 40); 7004 tit.classList.remove('is-scrolling'); 7005 } 7006 } 7007 if (podTit) { 7008 if (dy.marqueeEnableFS) { 7009 dy.applyMarquee(podTit, metaT, 70); 7010 } else { 7011 podTit.textContent = dy.truncateText(metaT, 40); 7012 podTit.classList.remove('is-scrolling'); 7013 } 7014 } 7015 7016 const coverTarget = (curSt.meta && curSt.meta.img && !dy.isDefault(curSt.meta.img)) ? curSt.meta.img : (curSt.img || curSt.logo); 7017 7018 if (logoLayer && logoLayer.getAttribute('src') !== baseLogo) { 7019 logoLayer.onerror = () => { 7020 logoLayer.onerror = null; 7021 logoLayer.src = baseLogo || ''; 7022 }; 7023 logoLayer.src = baseLogo; 7024 } 7025 if (coverLayer && coverLayer.getAttribute('src') !== coverTarget) { 7026 coverLayer.onerror = () => { 7027 coverLayer.onerror = null; 7028 dy.failedImgs.add(coverTarget); 7029 coverLayer.src = baseLogo || ''; 7030 }; 7031 coverLayer.src = coverTarget; 7032 } 7033 7034 if (logoLayer) logoLayer.style.removeProperty('opacity'); 7035 if (coverLayer) coverLayer.style.removeProperty('opacity'); 7036
7037 // Dynamic Sticky Footer Background 7038 if (dy.sidebarDynamicBg && el.classList.contains('dy-sticky-footer-pc')) { 7039 if (!dy.podcastMeta && curSt.bg_color) { 7040 let hex = curSt.bg_color.replace('#', ''); 7041 let r = 17, 7042 g = 17, 7043 b = 17; // fallback 7044 if (hex.length === 3) { 7045 r = parseInt(hex[0] + hex[0], 16); 7046 g = parseInt(hex[1] + hex[1], 16); 7047 b = parseInt(hex[2] + hex[2], 16); 7048 } else if (hex.length === 6) { 7049 r = parseInt(hex.substring(0, 2), 16); 7050 g = parseInt(hex.substring(2, 4), 16); 7051 b = parseInt(hex.substring(4, 6), 16); 7052 } 7053 if (dy.sidebarDynamicDarken > 0) { 7054 let factor = 1 - dy.sidebarDynamicDarken; 7055 r = Math.max(0, Math.round(r * factor)); 7056 g = Math.max(0, Math.round(g * factor)); 7057 b = Math.max(0, Math.round(b * factor)); 7058 } 7059 let rgbaStr = `rgba(${r},${g},${b},${dy.sidebarDynamicOpacity})`; 7060 el.style.setProperty('background', rgbaStr, 'important'); 7061 el.style.setProperty('background-color', rgbaStr, 'important'); 7062 } else { 7063 el.style.removeProperty('background'); 7064 el.style.removeProperty('background-color'); 7065 } 7066 } 7067 7068 // Dynamic Mobile Sticky Footer Background 7069 if (el.classList.contains('dy-mini-mobile-bar')) { 7070 if (dy.mobileDynamicBg && !dy.podcastMeta && curSt.bg_color) { 7071 let hex = curSt.bg_color.replace('#', ''); 7072 let r = 0, 7073 g = 0, 7074 b = 0; // fallback 7075 if (hex.length === 3) { 7076 r = parseInt(hex[0] + hex[0], 16); 7077 g = parseInt(hex[1] + hex[1], 16); 7078 b = parseInt(hex[2] + hex[2], 16); 7079 } else if (hex.length === 6) { 7080 r = parseInt(hex.substring(0, 2), 16); 7081 g = parseInt(hex.substring(2, 4), 16); 7082 b = parseInt(hex.substring(4, 6), 16); 7083 } 7084 let rgbaStr = `rgba(${r},${g},${b},${dy.mobileDynamicOpacity})`; 7085 el.style.setProperty('background', rgbaStr, 'important'); 7086 el.style.setProperty('background-color', rgbaStr, 'important'); 7087 } else { 7088 el.style.removeProperty('background'); 7089 el.style.removeProperty('background-color'); 7090 } 7091 } 7092 7093 // Dynamic Mobile Fullscreen Background 7094 if (el.classList.contains('dy-mobile-fullscreen')) { 7095 if (dy.mobileFsDynamicBg && !dy.podcastMeta && curSt.bg_color) {
7096 let hex = curSt.bg_color.replace('#', ''); 7097 let r = 0, 7098 g = 0, 7099 b = 0; // fallback 7100 if (hex.length === 3) { 7101 r = parseInt(hex[0] + hex[0], 16); 7102 g = parseInt(hex[1] + hex[1], 16); 7103 b = parseInt(hex[2] + hex[2], 16); 7104 } else if (hex.length === 6) { 7105 r = parseInt(hex.substring(0, 2), 16); 7106 g = parseInt(hex.substring(2, 4), 16); 7107 b = parseInt(hex.substring(4, 6), 16); 7108 } 7109 let rgbaStr = `rgba(${r},${g},${b},${dy.mobileFsDynamicOpacity})`; 7110 el.style.setProperty('background', rgbaStr, 'important'); 7111 el.style.setProperty('background-color', rgbaStr, 'important'); 7112 } else { 7113 el.style.removeProperty('background'); 7114 el.style.removeProperty('background-color'); 7115 } 7116 } 7117 }); 7118 } 7119 7120 // --- DYNAMIC DROPDOWN SWAP (v3.4) --- 7121 const showRadioList = ((!dy.podcastMeta && !dy.activeFallbackRSS) || dy.forceRadioList); 7122 7123 if (dy.podcastMeta) { 7124 // Show Podcast UI in bars 7125 document.querySelectorAll('.radio-display').forEach(el => { 7126 el.classList.add('dy-podcast-mode'); 7127 if (!el.classList.contains('dy-sticky-footer-pc')) el.title = dy.miniHoverPodcast; 7128 }); 7129 7130 dy.mobilePodMarquee = 1; 7131 7132 // PC Marquee 7133 document.querySelectorAll('.dy-mini-podcast-title').forEach(tit => { 7134 if (tit.closest('.dy-mobile-fullscreen')) { 7135 // Fullscreen Mobile: Always apply marquee logic to handle potential vertical scroll if > 3 lines 7136 dy.applyMarquee(tit, dy.podcastMeta.t, 100); 7137 } else { 7138 // Default PC/Mini Player Marquee (Always single line) 7139 dy.applyMarquee(tit, dy.podcastMeta.t, 80); 7140 } 7141 }); 7142 7143 // Mobile Marquee (v4.6 - Unified Ping-Pong) 7144 document.querySelectorAll('.dy-footer-podcast-title').forEach(el => { 7145 if (dy.mobilePodMarquee) { 7146 dy.applyMarquee(el, dy.podcastMeta.t, 100); 7147 } else { 7148 if (el.dataset.raw !== dy.podcastMeta.t) { 7149 el.textContent = dy.podcastMeta.t; 7150 el.classList.remove('is-scrolling'); 7151 el.dataset.raw = dy.podcastMeta.t; 7152 } 7153 } 7154 }); 7155 document.querySelectorAll('.dy-footer-podcast-date').forEach(date => { 7156 date.textContent = dy.podcastMeta.d || ""; 7157 }); 7158 7159 // Update Time in Sidebar 7160 const timeStr = dy.formatTime(dy.audio.currentTime); 7161 document.querySelectorAll('.dy-sticky-footer-pc .dy-podcast-time').forEach(el => el.textContent = timeStr); 7162 7163 // Update Fullscreen List Header 7164 document.querySelectorAll('.dy-fs-list-close .dy-fs-list-title-text').forEach(el => el.textContent = 'CHOISIR UN ÃPISODE'); 7165 7166 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 7167 const isPC = !!dd.closest('.dy-sticky-footer-pc'); 7168 dd.innerHTML = dy.buildPodcastDropdownHTML(!isPC, isPC); 7169 }); 7170 7171 // Handle Fullscreen Mode Toggle Visibility 7172 document.querySelectorAll('.dy-fs-list-modes').forEach(el => { 7173 el.style.display = 'flex'; 7174 el.querySelector('.dy-fs-mode-radio').classList.toggle('is-active', false); 7175 el.querySelector('.dy-fs-mode-podcast').classList.toggle('is-active', true); 7176 }); 7177 } else { 7178 // Handle Player Bar State in Radio Mode 7179 document.querySelectorAll('.radio-display').forEach(el => { 7180 el.classList.remove('dy-podcast-mode'); 7181 if (!el.classList.contains('dy-sticky-footer-pc')) el.title = dy.miniHoverRadio; 7182 }); 7183 } 7184 7185 // --- Dropdown Lists rendering --- 7186 if (!showRadioList) { 7187 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 7188 const isPC = !!dd.closest('.dy-sticky-footer-pc'); 7189 dd.innerHTML = dy.buildPodcastDropdownHTML(!isPC, isPC); 7190 }); 7191 } else { 7192 // Smart Update Radio Stations List (Avoid Flickering) 7193 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 7194 const isPC = !!dd.closest('.dy-sticky-footer-pc'); 7195 const items = dd.querySelectorAll('.dy-dropdown-item'); 7196 7197 if (items.length === dy.stations.length) { 7198 // Update existing items 7199 dy.stations.forEach((st, idx) => { 7200 const item = items[idx]; 7201 if (!item) return; 7202 7203 const isPlaying = (idx === dy.
7203currentIndex && !dy.audio.paused && !dy.podcastMeta); 7204 if (isPlaying) item.classList.add('is-playing'); 7205 else item.classList.remove('is-playing'); 7206 7207 const artistEl = item.querySelector('.dy-dd-artist'); 7208 const titleEl = item.querySelector('.dy-dd-title'); 7209 const logoEl = item.querySelector('.dy-dd-logo'); 7210 const coverEl = item.querySelector('.dy-dd-cover'); 7211 7212 if (st.meta) { 7213 const s = dy.truncateText(st.meta.s, 22); 7214 const t = dy.truncateText(st.meta.t, 25); 7215 if (artistEl && artistEl.textContent !== s) artistEl.textContent = s; 7216 if (titleEl && titleEl.textContent !== t) titleEl.textContent = t; 7217 7218 const newCover = (st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 7219 if (coverEl && coverEl.src !== newCover) coverEl.src = newCover; 7220 } 7221 }); 7222 } else { 7223 // Full regeneration only if count changed 7224 dd.innerHTML = dy.buildRadioDropdownHTML(!isPC); 7225 } 7226 7227 // Sync dropdown thumbnails display mode immediately 7228 let mode = 'logo'; 7229 if (dy.miniDdSwitchTime > 0) { 7230 mode = (dy.miniDdDisplayMode || 'logo'); 7231 } else if (dy.listDdSwitchTime > 0) { 7232 mode = (dy.listDdDisplayMode || 'logo'); 7233 } 7234 dd.classList.remove('dy-display-logo', 'dy-display-cover'); 7235 dd.classList.add('dy-display-' + mode); 7236 }); 7237 7238 // Restore Fullscreen List Header 7239 document.querySelectorAll('.dy-fs-list-close .dy-fs-list-title-text').forEach(el => el.textContent = 'CHOISIR UNE STATION'); 7240 7241 // Handle Fullscreen Mode Toggle Visibility 7242 document.querySelectorAll('.dy-fs-list-modes').forEach(el => { 7243 if (dy.podcastMeta) { 7244 el.style.display = 'flex'; 7245 el.querySelector('.dy-fs-mode-radio').classList.toggle('is-active', true); 7246 el.querySelector('.dy-fs-mode-podcast').classList.toggle('is-active', false); 7247 } else { 7248 el.style.display = 'none'; 7249 } 7250 }); 7251 } 7252 7253 // Smart Update Standalone List (Avoid Flickering) - ALWAYS VISIBLE 7254 document.querySelectorAll('.dy-standalone-list').forEach(slContainer => { 7255 const items = slContainer.querySelectorAll('.dy-list-item'); 7256 7257 if (items.length === dy.stations.length) { 7258 dy.stations.forEach((st, idx) => { 7259 const item = items[idx]; 7260 if (!item) return; 7261 7262 const isPlaying = (idx === dy.currentIndex && !dy.audio.paused && !dy.podcastMeta); 7263 if (isPlaying) item.classList.add('is-playing'); 7264 else item.classList.remove('is-playing'); 7265 7266 // Manage ON AIR badge 7267 const textWrap = item.querySelector('.dy-list-item-text'); 7268 let onAirBadge = textWrap ? textWrap.querySelector('.on-air') : null; 7269 if (isPlaying) { 7270 if (!onAirBadge && textWrap) { 7271 onAirBadge = document.createElement('span'); 7272 onAirBadge.className = 'on-air'; 7273 onAirBadge.textContent = dy.onA
7273irText || 'ON AIR'; 7274 textWrap.insertBefore(onAirBadge, textWrap.firstChild); 7275 } 7276 } else { 7277 if (onAirBadge) { 7278 onAirBadge.remove(); 7279 } 7280 } 7281 7282 const artistEl = item.querySelector('.dy-list-artist'); 7283 const titleEl = item.querySelector('.dy-list-title'); 7284 const coverEl = item.querySelector('.dy-list-item-cover'); 7285 7286 if (st.meta) { 7287 const s = dy.truncateText(dy.splitArtist(st.meta.s, slContainer), 50); 7288 const t = dy.truncateText(st.meta.t, 50); 7289 if (artistEl && artistEl.textContent !== s) artistEl.textContent = s; 7290 if (titleEl && titleEl.textContent !== t) titleEl.textContent = t; 7291 7292 const newCover = (st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 7293 if (coverEl && coverEl.src !== newCover) coverEl.src = newCover; 7294 if (coverEl) coverEl.style.opacity = (st.meta.img && !dy.isDefault(st.meta.img)) ? '1' : '0'; 7295 } 7296 }); 7297 } else { 7298 slContainer.innerHTML = dy.buildStandaloneListHTML(slContainer); 7299 } 7300 7301 // Sync standalone list thumbnails display mode immediately if listDdSwitchTime is set 7302 if (dy.listDdSwitchTime > 0) { 7303 const listMode = (dy.listDdDisplayMode || 'logo'); 7304 slContainer.classList.remove('dy-display-logo', 'dy-display-cover'); 7305 slContainer.classList.add('dy-display-' + listMode); 7306 } 7307 }); 7308 7309 // Always update podcast buttons disabled state/opacities regardless of showRadioList 7310 document.querySelectorAll('.dy-pc-btn-podcast').forEach(el => { 7311 const isStickyPC = !!el.closest('.dy-sticky-footer-pc'); 7312 const hasFeed = !!(dy.podcastMeta || dy.globalFallbackRSS); 7313 if (isStickyPC) { 7314 if (hasFeed) { 7315 el.classList.remove('disabled'); 7316 el.style.opacity = ""; 7317 el.title = "Afficher la liste des podcasts"; 7318 } else { 7319 el.classList.add('disabled'); 7320 el.style.opacity = "0.2"; 7321 el.removeAttribute('title'); 7322 } 7323 } else { 7324 if (dy.podcastMeta) { 7325 el.classList.remove('disabled'); 7326 el.style.opacity = ""; 7327 el.title = "Afficher la liste des podcasts"; 7328 } else { 7329 el.classList.add('disabled'); 7330 el.style.opacity = "0.2"; 7331 el.removeAttribute('title'); 7332 } 7333 } 7334 }); 7335 7336 // Force mobile progress bar visibility 7337 if (dy.podcastMeta) { 7338 document.querySelectorAll('.dy-mini-mobile-bar .dy-podcast-progress-bg').forEach(el => { 7339 el.style.setProperty('display', 'flex', 'important'); 7340 el.style.zIndex = '2147483647'; 7341 }); 7342 } else { 7343 document.querySelectorAll('.dy-mini-mobile-bar .dy-podcast-progress-bg').forEach(el => { 7344 el.style.setProperty('display', 'none', 'important'); 7345 }); 7346 } 7347 // --- PLAYER DOWNLOAD BUTTONS (v4.6) --- 7348 const dlBtns = document.querySelectorAll('.dy-player-download-btn'); 7349 if (dy.podcastMeta && dy.audio.src) { 7350 const isFallbackMode = (dy.activeFallbackRSS
7350=== "" && dy.currentEpisodes && dy.currentEpisodes.length > 0 && dy.autoplayNext); // Simple heuristic 7351 const showDl = (dy.activeFallbackDownloadEnable === '1' || (dy.activeFallbackDownloadEnable === undefined && dy.fallbackDownloadEnable)); 7352 7353 dlBtns.forEach(btn => { 7354 btn.style.setProperty('display', showDl ? 'flex' : 'none', 'important'); 7355 // Also update CSS variable for the sticky footer logic 7356 if (btn.closest('.dy-sticky-footer-pc')) { 7357 btn.closest('.dy-sticky-footer-pc').style.setProperty('--dy-dl-display', showDl ? 'inline-flex' : 'none'); 7358 } 7359 const dlUrl = `${window.location.origin}/?dy_podcast_download=${btoa(unescape(encodeURIComponent(dy.audio.src)))}&filename=${encodeURIComponent(dy.podcastMeta.t || 'episode')}`; 7360 btn.href = dlUrl; 7361 btn.download = (dy.podcastMeta.t || "episode") + ".mp3"; 7362 }); 7363 } else { 7364 dlBtns.forEach(btn => btn.style.display = 'none'); 7365 } 7366 }, 7367 7368 buildRadioDropdownHTML: (showFooter = true) => { 7369 let html = ''; 7370 if (showFooter && dy.podcastMeta && dy.forceRadioList) { 7371 html += `<div class="dy-action-card" onclick="window.dyRadio.forceRadioList=false; window.dyRadio.refreshUI(); event.stopPropagation();"><i class="fas fa-podcast"></i> REVENIR AU PODCAST</div>`; 7372 } 7373 dy.stations.forEach((st, idx) => { 7374 const isPlaying = (idx === dy.currentIndex && !dy.audio.paused && !dy.podcastMeta); 7375 const activeClass = isPlaying ? 'is-playing' : ''; 7376 const metaS = st.meta ? dy.truncateText(st.meta.s, 22) : (st.name || ""); 7377 const metaT = st.meta ? dy.truncateText(st.meta.t, 25) : "--"; 7378 const baseLogo = st.logo || ''; 7379 const coverTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 7380 7381 html += `<div class="dy-dropdown-item ${activeClass}" onclick="window.dyRadio.playStation(${idx}, event); window.dyRadio.closeDropdowns(); if(window.dyToggleFSList) window.dyToggleFSList(false);">`; 7382 html += ` <div class="dy-dd-img-wrap">`; 7383 html += ` <img src="${baseLogo}" class="dy-dd-logo" style="transition: opacity 0.8s;">`; 7384 html += ` <img src="${coverTarget}" class="dy-dd-cover" style="transition: opacity 0.8s; opacity: 0;">`; 7385 html += ` </div>`; 7386 html += ` <div class="dy-dd-text">`; 7387 html += ` <div class="dy-dd-name">${st.name}</div>`; 7388 html += ` <div class="dy-dd-artist dy-station-artist-${idx}">${metaS}</div>`; 7389 html += ` <div class="dy-dd-title dy-station-title-${idx}">${metaT}</div>`; 7390 html += ` </div></div>`; 7391 }); 7392 return html; 7393 }, 7394 7395 hexToRgb: (hex) => { 7396 const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); 7397 return result ? { 7398 r: parseInt(result[1], 16), 7399 g: parseInt(result[2], 16), 7400 b: parseInt(result[3], 16) 7401 } : null; 7402 }, 7403 7404 buildStandaloneListHTML: (container) => { 7405 const dy = window.dyRadio; 7406 let html = ''; 7407 7408 const initialCount = container ? parseInt(container.dataset.initialCount || '0') : 0; 7409 const btnText = container ? container.dataset.btnText : 'Voir plus de chaines'; 7410 const btnSize = container ? container.dataset.btnSize : '14'; 7411 const btnColor = container ? container.dataset.btnColor : '#ffffff'; 7412 const btnWeight = container ? container.dataset.btnWeight : '600'; 7413 const btnBg = container ? container.dataset.btnBg : '#333333'; 7414 const btnRadius = container ? container.dataset.btnRadius : '5'; 7415 7416 dy.stations.forEach((st, idx) => {
7417 const isPlaying = (idx === dy.currentIndex && !dy.audio.paused && !dy.podcastMeta); 7418 const activeClass = isPlaying ? 'is-playing' : ''; 7419 const metaS = st.meta ? dy.truncateText(dy.splitArtist(st.meta.s, container), 50) : (st.name || ""); 7420 const metaT = st.meta ? dy.truncateText(st.meta.t, 50) : "--"; 7421 const baseLogo = st.logo || ''; 7422 const coverTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 7423 7424 let inlineStyle = ''; 7425 if (dy.listDynamicBg && st.bg_color) { 7426 const rgb = dy.hexToRgb(st.bg_color); 7427 if (rgb) { 7428 inlineStyle += `background-color: rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${dy.listDynamicOpacity}); `; 7429 } 7430 } 7431 7432 let hiddenStyle = ''; 7433 let hiddenClass = ''; 7434 if (initialCount > 0 && idx >= initialCount) { 7435 hiddenStyle = 'display: none;'; 7436 hiddenClass = 'dy-list-hidden-item'; 7437 } 7438 7439 let onAirHtml = ''; 7440 if (isPlaying) { 7441 onAirHtml = `<span class="on-air">${dy.onAirText || 'ON AIR'}</span>`; 7442 } 7443 7444 html += `<div class="dy-list-item ${activeClass} ${hiddenClass}" style="${inlineStyle}${hiddenStyle}" onclick="window.dyRadio.playStation(${idx}, event);">`; 7445 html += ` <div class="dy-list-item-img-wrap">`; 7446 html += ` <img src="${baseLogo}" class="dy-list-item-logo" style="transition: opacity 0.8s;">`; 7447 html += ` <img src="${coverTarget}" class="dy-list-item-cover" style="transition: opacity 0.8s; opacity: ${(st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? '1' : '0'};">`; 7448 html += ` </div>`; 7449 html += ` <div class="dy-list-item-text">`; 7450 html += ` ${onAirHtml}`; 7451 html += ` <div class="dy-list-name">${st.name}</div>`; 7452 html += ` <div class="dy-list-artist dy-station-artist-${idx}">${metaS}</div>`; 7453 html += ` <div class="dy-list-title dy-station-title-${idx}">${metaT}</div>`; 7454 html += ` </div></div>`; 7455 }); 7456 7457 if (initialCount > 0 && dy.stations.length > initialCount) { 7458 html += `<div class="dy-list-btn-more" style="text-align: center; margin-top: 10px;">`; 7459 html += `<button onclick="this.querySelector('.dy-btn-icon').style.transform='rotate(180deg)'; var btn=this; var list=this.closest('.dy-standalone-list'); list.querySelectorAll('.dy-list-hidden-item').forEach(function(el){ el.style.display=''; el.classList.add('dy-list-reveal'); el.classList.remove('dy-list-hidden-item'); }); setTimeout(function(){ btn.parentElement.style.display='none'; }, 400);" style="background: ${btnBg}; color: ${btnColor}; font-size: ${btnSize}px; font-weight: ${btnWeight}; border-radius: ${btnRadius}px; border: none; padding: 12px 24px; cursor: pointer; transition: all 0.3s ease; width: 100%; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; letter-spacing: 0.5px; line-height: 1;"><i class="fas fa-chevron-down dy-btn-icon" style="transition: transform 0.4s ease;"></i><span>${btnText}</span></button>`; 7460 html += `</div>`; 7461 } 7462 7463 return html; 7464 }, 7465 7466 exitPodcastMode: (e) => { 7467 if (e) { 7468 e.stopPropagation(); 7469 e.preventDefault(); 7470 } 7471 dy.forceRadioList = true; // Show radio list but keep podcast active 7472 // dy.podcastMeta = null; // We REMOVE this so the player bar keeps showing the podcast 7473 dy.refreshUI();
7474 7475 // Reset scroll for all relevant list containers 7476 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 7477 dd.scrollTop = 0; 7478 }); 7479 7480 // If no manual volume adjustment yet, apply default for radios 7481 if (!dy.hasManualVolume) { 7482 dy.audio.volume = dy.defVolRadio; 7483 dy.updateVolumeUI(); 7484 } 7485 }, 7486 7487 toggleFSListMode: (toRadio, e) => { 7488 if (e) e.stopPropagation(); 7489 dy.forceRadioList = toRadio; 7490 dy.refreshUI(); 7491 }, 7492 7493 buildPodcastDropdownHTML: (showFooter = true, isPC = false) => { 7494 const dy = window.dyRadio; 7495 let html = ''; 7496 7497 let episodes = (dy.currentEpisodes && dy.currentEpisodes.length > 0) ? dy.currentEpisodes : (dy.podcastMeta ? [{ 7498 url: dy.audio.src, 7499 title: dy.podcastMeta.t, 7500 image: dy.podcastMeta.img, 7501 author: dy.podcastMeta.s, 7502 date: "En lecture" 7503 }] : []); 7504 7505 if (episodes.length === 0) { 7506 return '<div style="padding:20px;text-align:center;color:#fff;opacity:0.6;">Aucun épisode trouvé</div>'; 7507 } 7508 7509 let headerText = isPC ? (dy.sidebarPcPodcastHeaderText || 'Nos derniers podcasts') : 'Ãpisodes du Podcast'; 7510 html += '<div style="padding: 10px 15px; font-weight: 700; color: #a08053; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 10px; font-size: 11px; text-transform: uppercase;">' + headerText + '</div>'; 7511 7512 episodes.forEach((ep) => { 7513 const activeClass = (dy.audio.src === ep.url) ? 'is-playing' : ''; 7514 html += `<div class="dy-dropdown-item ${activeClass}" onclick="window.dyRadio.playPodcastItemByUrl('${ep.url}', event); window.dyRadio.closeDropdowns(); if(window.dyToggleFSList) window.dyToggleFSList(false);">`; 7515 html += ` <div class="dy-dd-img-wrap"><img src="${ep.image}" style="width: 100%; height: 100%; object-fit: cover;"></div>`; 7516 html += ` <div class="dy-dd-text">`; 7517 html += ` <div class="dy-dd-name">${ep.date || 'Podcast'}</div>`; 7518 html += ` <div class="dy-dd-artist" style="white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.3; font-weight: 700;">${ep.title}</div>`; 7519 html += ` <div class="dy-dd-title" style="white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.2;">${ep.author || ''}</div>`; 7520 html += ` </div></div>`; 7521 }); 7522 7523 if (showFooter) { 7524 html += '<div class="dy-action-card" onclick="window.dyRadio.exitPodcastMode(event)"><i class="fas fa-radio"></i> RETOUR AUX RADIOS</div>'; 7525 } 7526 return html; 7527 }, 7528 7529 ensureEpisodesLoaded: (callback) => { 7530 const dy = window.dyRadio; 7531 if (dy.activeFallbackRSS && (!dy.currentEpisodes || dy.currentEpisodes.length <= 1)) { 7532 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 7533 dd.innerHTML = '<div style="padding:20px;text-align:center;color:#fff;opacity:0.6;"><i class="fas fa-spinner fa-spin" style="margin-right:8px;"></i> Chargement des épisodes...</div>'; 7534 }); 7535 7536 const formData = new FormData(); 7537 formData.append('action', 'dy_load_fallback_rss'); 7538 formData.append('rss', dy.activeFallbackRSS); 7539 7540 const ajaxPath = dy.ajaxurl || dy.ajaxUrl || "/wp-admin/admin-ajax.php"; 7541 fetch(ajaxPath, { 7542 method: 'POST', 7543 body: formData 7544 }) 7545 .then(r => r.json()) 7546 .then(res => { 7547 if (res.success && res.data && res.data.length > 0) { 7548 const oldUrls = dy.currentEpisodes ? dy.currentEpisodes.map(ep => { 7549 const normalize = (u) => { 7550 if (!u) return ""; 7551 try { return u.split('?')[0].split('#')[0].toLowerCase().replace(/\/$/, "").replace(/^https?:\/\//i, "").trim(); } catch(e) { return u; } 7552 }; 7553 return normalize(ep.url); 7554 }) : []; 7555 7556 const newFiltered = res.data.filter(newEp => { 7557 const normalize = (u) => { 7558 if (!u) return ""; 7559 try { return u.split('?')[0].split('#')[0].toLowerCase().replace(/\/$/, "").replace(/^https?:\/\//i, "").trim(); } catch(e) { return u; } 7560 }; 7561 return !oldUrls.includes(normalize(newEp.url)); 7562 }); 7563 7564 dy.currentEpisodes = (dy.currentEpisodes || []).concat(newFiltered); 7565 dy.refreshUI();
7566 } 7567 if (typeof callback === 'function') callback(); 7568 }) 7569 .catch(e => { 7570 console.error('DEVYVES: Error preloading fallback RSS:', e); 7571 dy.refreshUI(); 7572 if (typeof callback === 'function') callback(); 7573 }); 7574 } else { 7575 if (typeof callback === 'function') callback(); 7576 } 7577 }, 7578 7579 playPodcastItemByUrl: (url, e) => { 7580 if (e) e.stopPropagation(); 7581 // Safer lookup to avoid escaping issues in selector 7582 const item = Array.from(document.querySelectorAll('.dy-podcast-item')).find(i => i.dataset.url === url); 7583 if (item) { 7584 dy.playPodcast(item); 7585 } else { 7586 const ep = dy.currentEpisodes.find(p => p.url === url); 7587 if (ep) { 7588 dy.audio.pause(); 7589 dy.audio.src = ep.url; 7590 dy.audio.load(); 7591 dy.audio.play(); 7592 dy.podcastMeta = { 7593 s: ep.author, 7594 t: ep.title, 7595 img: ep.image, 7596 logo: ep.image, 7597 d: ep.date 7598 }; 7599 dy.currentIndex = -1; 7600 dy.refreshPlayState(); 7601 dy.refreshUI(); 7602 } 7603 } 7604 }, 7605 7606 // Share Episode Feature (v4.6) 7607 shareEpisode: (btn, e) => { 7608 if (e) { 7609 e.stopPropagation(); 7610 e.preventDefault(); 7611 } 7612 const item = btn.closest('.dy-podcast-item'); 7613 if (!item) return; 7614 7615 const list = btn.closest('.dy-podcast-list'); 7616 const wrapLimit = list ? parseInt(list.dataset.shareWrap) : 0; 7617 7618 const epUrl = item.dataset.url; 7619 const epTitle = item.dataset.title; 7620 const epAuthor = item.dataset.author; 7621 7622 const pageUrl = window.location.href.split('?')[0]; 7623 const shareUrl = pageUrl + '?dy_ep=' + encodeURIComponent(epUrl); 7624 const brand = document.title.split(' - ')[0] || "Radio"; 7625 const authorTxt = (epAuthor && epAuthor !== brand) ? ` de ${epAuthor}` : ""; 7626 const shareText = `Ãcoutez "${epTitle}"${authorTxt} sur ${brand} : `; 7627 7628 // Close existing popups 7629 document.querySelectorAll('.dy-podcast-share-popup').forEach(p => p.remove()); 7630 7631 const popup = document.createElement('div'); 7632 popup.className = 'dy-podcast-share-popup is-active'; 7633 7634 if (btn.dataset.iconColor) popup.style.setProperty('--dy-share-icon-col', btn.dataset.iconColor); 7635 if (btn.dataset.textColor) popup.style.setProperty('--dy-share-text-col', btn.dataset.textColor); 7636 7637 const epImage = item.dataset.image; 7638 7639 let displayTitle = epTitle; 7640 if (wrapLimit > 0 && displayTitle.length > wrapLimit) { 7641 const words = displayTitle.split(' '); 7642 let lines = []; 7643 let currentLine = ""; 7644 words.forEach(word => { 7645 if ((currentLine + word).length > wrapLimit) { 7646 if (currentLine.length > 0) lines.push(currentLine.trim()); 7647 currentLine = word + " "; 7648 } else { 7649 currentLine += word + " "; 7650 } 7651 }); 7652 if (currentLine.length > 0) lines.push(currentLine.trim()); 7653 displayTitle = lines.join("<br>"); 7654 } 7655 7656 popup.innerHTML = ` 7657 <div class="dy-share-header compact"> 7658 <img src="${epImage}" class="dy-share-cover" alt="Cover"> 7659 <div class="dy-share-info"> 7660 <div class="dy-share-title">${displayTitle}</div> 7661 </div> 7662 </div> 7663 <div class="dy-share-grid"></div> 7664 `; 7665 7666 const grid = popup.querySelector('.dy-share-grid'); 7667 7668 const options = [{ 7669 name: 'WhatsApp', 7670 icon: 'fab fa-whatsapp',
7671 url: `https://api.whatsapp.com/send?text=${encodeURIComponent(shareText + shareUrl)}` 7672 }, 7673 { 7674 name: 'X / Twitter', 7675 icon: 'svg-x', 7676 url: `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}&text=${encodeURIComponent(shareText)}` 7677 }, 7678 { 7679 name: 'LinkedIn', 7680 icon: 'fab fa-linkedin-in', 7681 url: `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(shareUrl)}` 7682 }, 7683 { 7684 name: 'Instagram', 7685 icon: 'fab fa-instagram', 7686 url: '#', 7687 copy: true 7688 }, 7689 { 7690 name: 'E-mail', 7691 icon: 'fas fa-envelope', 7692 url: `mailto:?subject=${encodeURIComponent(epTitle)}&body=${encodeURIComponent(shareText + shareUrl)}` 7693 }, 7694 { 7695 name: 'Copier le lien', 7696 icon: 'fas fa-copy', 7697 url: '#', 7698 copy: true 7699 } 7700 ]; 7701 7702 options.forEach(opt => { 7703 const a = document.createElement('a'); 7704 a.href = opt.url; 7705 a.className = 'dy-share-option-compact'; 7706 if (opt.copy) a.onclick = (ex) => { 7707 ex.preventDefault(); 7708 navigator.clipboard.writeText(shareUrl).then(() => { 7709 a.innerHTML = '<i class="fas fa-check" style="color:#2ecc71;"></i> COPIÃ'; 7710 setTimeout(() => popup.remove(), 1000); 7711 }); 7712 }; 7713 else a.target = '_blank'; 7714 7715 if (opt.icon === 'svg-x') { 7716 a.innerHTML = `<svg viewbox="0 0 24 24" style="width:18px; fill:currentColor; margin-bottom:2px;"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg> ${opt.name}`; 7717 } else { 7718 a.innerHTML = `<i class="${opt.icon}"></i> ${opt.name}`; 7719 } 7720 grid.appendChild(a); 7721 }); 7722 7723 document.body.appendChild(popup); 7724 7725 // Position popup near button (Absolute to body) 7726 const rect = btn.getBoundingClientRect(); 7727 popup.style.position = 'absolute'; 7728 popup.style.top = (rect.top + window.scrollY - popup.offsetHeight - 15) + 'px'; 7729 popup.style.left = (rect.left + window.scrollX - (popup.offsetWidth / 2) + (btn.offsetWidth / 2)) + 'px'; 7730 7731 const closePopup = (ev) => { 7732 if (!popup.contains(ev.target) && ev.target !== btn) { 7733 popup.remove(); 7734 document.removeEventListener('click', closePopup); 7735 } 7736 }; 7737 setTimeout(() => document.addEventListener('click', closePopup), 10); 7738 }, 7739 7740 // Share Station Feature (v4.6) 7741 shareStation: (btn, e) => { 7742 if (e) { 7743 e.stopPropagation(); 7744 e.preventDefault(); 7745 } 7746 const shareUrl = btn.dataset.shareUrl; 7747 const stName = btn.dataset.stationName; 7748 const stLogo = btn.dataset.stationLogo; 7749 7750 const brand = document.title.split(' - ')[0] || "Radio"; 7751 const shareText = `Ãcoutez ${stName} sur ${brand} : `; 7752 7753 // Close existing popups 7754 document.querySelectorAll('.dy-podcast-share-popup').forEach(p => p.remove()); 7755 7756 const popup = document.createElement('div'); 7757 popup.className = 'dy-podcast-share-popup is-active'; 7758 7759 if (btn.dataset.iconColor) popup.style.setProperty('--dy-share-icon-col', btn.dataset.iconColor); 7760 if (btn.dataset.textColor) popup.style.setProperty('--dy-share-text-col', btn.dataset.textColor); 7761 7762 popup.innerHTML = ` 7763 <div class="dy-share-header compact"> 7764 <img src="${stLogo}" class="dy-share-cover" alt="Logo"> 7765 <div class="dy-share-info"> 7766 <div class="dy-share-title">${stName}</div> 7767 </div> 7768 </div> 7769 <div class="dy-share-grid"></div> 7770 `; 7771 7772 const grid = popup.querySelector('.dy-share-grid'); 7773 7774 const options = [{ 7775 name: 'WhatsApp', 7776 icon: 'fab fa-whatsapp',
7777 url: `https://api.whatsapp.com/send?text=${encodeURIComponent(shareText + shareUrl)}` 7778 }, 7779 { 7780 name: 'X / Twitter', 7781 icon: 'svg-x', 7782 url: `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}&text=${encodeURIComponent(shareText)}` 7783 }, 7784 { 7785 name: 'LinkedIn', 7786 icon: 'fab fa-linkedin-in', 7787 url: `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(shareUrl)}` 7788 }, 7789 { 7790 name: 'Instagram', 7791 icon: 'fab fa-instagram', 7792 url: '#', 7793 copy: true 7794 }, 7795 { 7796 name: 'E-mail', 7797 icon: 'fas fa-envelope', 7798 url: `mailto:?subject=${encodeURIComponent(stName)}&body=${encodeURIComponent(shareText + shareUrl)}` 7799 }, 7800 { 7801 name: 'Copier le lien', 7802 icon: 'fas fa-copy', 7803 url: '#', 7804 copy: true 7805 } 7806 ]; 7807 7808 options.forEach(opt => { 7809 const a = document.createElement('a'); 7810 a.href = opt.url; 7811 a.className = 'dy-share-option-compact'; 7812 if (opt.copy) a.onclick = (ex) => { 7813 ex.preventDefault(); 7814 navigator.clipboard.writeText(shareUrl).then(() => { 7815 a.innerHTML = '<i class="fas fa-check" style="color:#2ecc71;"></i> COPIÃ'; 7816 setTimeout(() => popup.remove(), 1000); 7817 }); 7818 }; 7819 else a.target = '_blank'; 7820 7821 if (opt.icon === 'svg-x') { 7822 a.innerHTML = `<svg viewbox="0 0 24 24" style="width:18px; fill:currentColor; margin-bottom:2px;"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg> ${opt.name}`; 7823 } else { 7824 a.innerHTML = `<i class="${opt.icon}"></i> ${opt.name}`; 7825 } 7826 grid.appendChild(a); 7827 }); 7828 7829 document.body.appendChild(popup); 7830 7831 const rect = btn.getBoundingClientRect(); 7832 popup.style.position = 'absolute'; 7833 popup.style.top = (rect.top + window.scrollY - popup.offsetHeight - 15) + 'px'; 7834 popup.style.left = (rect.left + window.scrollX - (popup.offsetWidth / 2) + (btn.offsetWidth / 2)) + 'px'; 7835 7836 const closePopup = (ev) => { 7837 if (!popup.contains(ev.target) && ev.target !== btn) { 7838 popup.remove(); 7839 document.removeEventListener('click', closePopup); 7840 } 7841 }; 7842 setTimeout(() => document.addEventListener('click', closePopup), 10); 7843 }, 7844 7845 // Auto-Play shared episode on load 7846 checkSharedEpisode: () => { 7847 const params = new URLSearchParams(window.location.search); 7848 const sharedUrl = params.get('dy_ep'); 7849 if (sharedUrl) { 7850 const normalize = (u) => { 7851 if (!u) return ""; 7852 try { 7853 u = decodeURIComponent(u); 7854 } catch(e) {} 7855 try { 7856 return u.split('?')[0].split('#')[0].toLowerCase().replace(/\/$/, "").replace(/^https?:\/\//i, "").replace(/^www\./i, "").trim(); 7857 } catch (e) { 7858 return u; 7859 } 7860 }; 7861 const sharedNorm = normalize(sharedUrl); 7862 let attempts = 0; 7863 const maxAttempts = 10; // Retry for up to 10 seconds 7864 7865 const tryLocateAndPlay = () => { 7866 attempts++; 7867 let items = document.querySelectorAll('.dy-podcast-item'); 7868 let item = Array.from(items).find(i => normalize(i.dataset.url) === sharedNorm); 7869 7870 if (!item) { 7871 const lists = document.querySelectorAll('.dy-podcast-list'); 7872 for (let list of lists) {
7873 if (list.dataset.episodes) { 7874 try { 7875 const episodes = JSON.parse(list.dataset.episodes); 7876 const idx = episodes.findIndex(ep => normalize(ep.url) === sharedNorm); 7877 if (idx !== -1) { 7878 const container = list.querySelector('.dy-podcast-items-container'); 7879 if (container) { 7880 const currentOffset = parseInt(list.dataset.currentOffset || 0); 7881 const targetOffset = Math.max(currentOffset, idx + 1); 7882 const toAdd = episodes.slice(0, targetOffset); 7883 let html = ''; 7884 toAdd.forEach(ep => { 7885 html += buildEpHTML(ep, list); 7886 }); 7887 container.innerHTML = html; 7888 list.dataset.currentOffset = targetOffset; 7889
7890 const loadMoreWrap = list.querySelector('.dy-load-more-wrap'); 7891 if (loadMoreWrap) { 7892 if (targetOffset >= episodes.length) { 7893 loadMoreWrap.style.display = 'none'; 7894 } else { 7895 loadMoreWrap.style.display = 'block'; 7896 } 7897 } 7898 7899 items = document.querySelectorAll('.dy-podcast-item'); 7900 item = Array.from(items).find(i => normalize(i.dataset.url) === sharedNorm); 7901 break; 7902 } 7903 } 7904 } catch (err) { 7905 console.error("DEVYVES: Error parsing dataset episodes:", err); 7906 } 7907 } 7908 } 7909 } 7910 7911 const dy = window.dyRadio; 7912 if (item && dy && typeof dy.playPodcast === 'function') { 7913 setTimeout(() => { 7914 // Automatically reveal hidden parent tabs/accordions (Avada, Bootstrap, WPBakery, Elementor) 7915 let parent = item.parentElement; 7916 while (parent && parent !== document.body) { 7917 if (parent.classList.contains('fusion-tab-content') || parent.classList.contains('tab-pane') || parent.style.display === 'none') { 7918 const id = parent.id; 7919 if (id) { 7920 const tabTrigger = document.querySelector(`a[href="#${id}"], [data-target="#${id}"], [aria-controls="${id}"]`); 7921 if (tabTrigger) { 7922 try { tabTrigger.click(); } catch(e) {} 7923 console.log("DEVYVES: Revealed parent tab for podcast list:", parent); 7924 } 7925 } 7926 } 7927 if (parent.classList.contains('fusion-panel') || parent.classList.contains('panel-collapse')) { 7928 const toggleHeading = parent.parentElement ? parent.parentElement.querySelector('.fusion-toggle-heading, .panel-title a') : null; 7929 if (toggleHeading) { 7930 try { toggleHeading.click(); } catch(e) {} 7931 console.log("DEVYVES: Revealed parent toggle/accordion:", toggleHeading); 7932 } 7933 } 7934 parent = parent.parentElement; 7935 } 7936 7937 // Reveal if hidden 7938 if (item.style.display === 'none' || item.dataset.hidden === "1") { 7939 const list = item.closest('.dy-podcast-list'); 7940 if (list) { 7941 const hiddenItems = list.querySelectorAll('.dy-podcast-item[data-hidden="1"]'); 7942 for (let hi of hiddenItems) { 7943 hi.style.display = 'flex'; 7944 hi.removeAttribute('data-hidden'); 7945 if (hi === item) break; 7946 } 7947 } 7948 } 7949 7950 // Bulletproof Dual Scroll to bypass theme smooth scroll overrides 7951 try { 7952 item.scrollIntoView({ 7953 behavior: 'smooth', 7954 block: 'center' 7955 }); 7956 } catch (e) { 7957 console.warn("DEVYVES: scrollIntoView failed:", e); 7958 } 7959 try { 7960 const yOffset = -150; 7961 const y = item.getBoundingClientRect().top + window.pageYOffset + yOffset; 7962 window.scrollTo({ top: y, behavior: 'smooth' });
7963 } catch (e) { 7964 console.warn("DEVYVES: window.scrollTo failed:", e); 7965 } 7966 7967 // Auto-play attempt 7968 setTimeout(() => { 7969 // Load episode metadata immediately 7970 dy.playPodcast(item); 7971 7972 // Try direct autoplay with sound first 7973 let playPromise = dy.audio.play(); 7974 if (playPromise !== undefined) { 7975 playPromise.then(() => { 7976 console.log("DEVYVES: Autoplay allowed directly with audio!"); 7977 dy.refreshPlayState(); 7978 dy.refreshUI(); 7979 }).catch(error => { 7980 console.log("DEVYVES: Direct Autoplay blocked. Falling back to muted autoplay + gesture trigger.", error); 7981 7982 // Fallback to muted autoplay 7983 dy.audio.muted = true; 7984 dy.audio.play(); 7985 7986 // Setup global listener to unmute on first gesture without blocking UI 7987 const triggerHand = () => { 7988 dy.audio.muted = false; 7989 dy.audio.play(); 7990 dy.refreshPlayState(); 7991 dy.refreshUI(); 7992 document.removeEventListener('click', triggerHand, true); 7993 document.removeEventListener('touchstart', triggerHand, true); 7994 document.removeEventListener('keydown', triggerHand, true); 7995 }; 7996 7997 document.addEventListener('click', triggerHand, { capture: true, once: true }); 7998 document.addEventListener('touchstart', triggerHand, { capture: true, once: true }); 7999 document.addEventListener('keydown', triggerHand, { capture: true, once: true }); 8000 }); 8001 } else { 8002 // Legacy fallback 8003 dy.audio.muted = true; 8004 dy.audio.play(); 8005 8006 const triggerHand = () => { 8007 dy.audio.muted = false; 8008 dy.audio.play(); 8009 dy.refreshPlayState(); 8010 dy.refreshUI(); 8011 document.removeEventListener('click', triggerHand, true); 8012 document.removeEventListener('touchstart', triggerHand, true); 8013 document.removeEventListener('keydown', triggerHand, true); 8014 }; 8015 8016 document.addEventListener('click', triggerHand, { capture: true, once: true }); 8017 document.addEventListener('touchstart', triggerHand, { capture: true, once: true }); 8018 document.addEventListener('keydown', triggerHand, { capture: true, once: true });
8019 } 8020 }, 800); 8021 }, 200); 8022 } else if (attempts < maxAttempts) { 8023 setTimeout(tryLocateAndPlay, 1000); 8024 } 8025 }; 8026 8027 // Initial execution after 1500ms 8028 setTimeout(tryLocateAndPlay, 1500); 8029 } 8030 }, 8031 8032 toggleDropdown: (el, e, mode = null) => { 8033 const dy = window.dyRadio; 8034 if (e) { 8035 e.preventDefault(); 8036 e.stopPropagation(); 8037 } 8038 8039 // Block if disabled (from the button itself or the container) 8040 const targetBtn = e ? e.target.closest('.dy-expand-mini-btn') : null; 8041 if (targetBtn && targetBtn.classList.contains('disabled')) return; 8042 if (el && el.classList.contains('disabled')) return; 8043 8044 if (mode === 'radio') { 8045 dy.forceRadioList = true; 8046 dy.activeFallbackRSS = null; 8047 } else if (mode === 'podcast') { 8048 if (!dy.podcastMeta) { 8049 if (dy.globalFallbackRSS) { 8050 if (dy.activeFallbackRSS !== dy.globalFallbackRSS) { 8051 dy.activeFallbackRSS = dy.globalFallbackRSS; 8052 dy.currentEpisodes = []; // Clear existing so ensureEpisodesLoaded loads it 8053 } 8054 dy.forceRadioList = false; 8055 } else { 8056 dy.closeDropdowns(); 8057 return; // Block if no fallback configured 8058 } 8059 } else { 8060 dy.forceRadioList = false; 8061 } 8062 } else { 8063 // General expand button clicked 8064 if (!dy.podcastMeta) { 8065 dy.activeFallbackRSS = null; 8066 dy.forceRadioList = false; 8067 } 8068 } 8069 8070 const sidebar = el.closest('.dy-sticky-footer-pc'); 8071 const isSidebar = !!sidebar; 8072 8073 dy.refreshUI(); 8074 8075 const dropdown = isSidebar ? sidebar.querySelector('.dy-mini-dropdown') : el.querySelector('.dy-mini-dropdown'); 8076 8077 if (dropdown) { 8078 const isActive = dropdown.classList.contains('is-active'); 8079 const currentlyShowing = dropdown.dataset.currentList || ''; 8080 const showRadioList = ((!dy.podcastMeta && !dy.activeFallbackRSS) || dy.forceRadioList); 8081 const wantsToShow = showRadioList ? 'radio' : 'podcast'; 8082 8083 // If active and we want to show the same list, just close it. 8084 // If active but we want to show a DIFFERENT list, keep it open and switch content. 8085 const shouldCloseOnly = isActive && (currentlyShowing === wantsToShow); 8086 8087 dy.closeDropdowns(); 8088 8089 if (!shouldCloseOnly) { 8090 const showFooter = !isSidebar; 8091 dropdown.dataset.currentList = wantsToShow; 8092 dropdown.classList.add('is-active'); // Keep it active immediately to show spinner during fetch 8093 8094 if (!showRadioList) { 8095 dy.ensureEpisodesLoaded(() => { 8096 dropdown.innerHTML = dy.buildPodcastDropdownHTML(showFooter, isSidebar); 8097 dropdown.scrollTop = 0; 8098 }); 8099 } else { 8100 dropdown.innerHTML = dy.buildRadioDropdownHTML(showFooter); 8101 dropdown.scrollTop = 0; 8102 } 8103 } 8104 } 8105 }, 8106 8107 closeDropdowns: () => { 8108 document.querySelectorAll('.dy-mini-dropdown.is-active').forEach(dd => { 8109 dd.classList.remove('is-active'); 8110 }); 8111 dy.closeVolumePopups(); 8112 8113 // Ensure carousel listeners are still active and updated 8114 dy.initCarousels(); 8115 }, 8116 8117 upMeta: () => { 8118 if (!dy.globalJson || dy.stations.length === 0) return; 8119 let _t = Date.now(); 8120 8121 // Logic for Cross-Domain Proxy (v4.6) 8122 let fetchUrl = `${dy.globalJson}?t=${_t}`; 8123 try { 8124 const jsonUrl = new URL(dy.globalJson); 8125 if (jsonUrl.hostname !== window.location.hostname) { 8126 fetchUrl = `${dy.ajaxurl}?action=dy_get_metadata&t=${_t}`; 8127 } 8128 } catch (e) { 8129 // If invalid URL, fallback to direct fetch or let it fail 8130 } 8131 8132 fetch(fetchUrl).then(r => r.json()).then(d => { 8133 let changed = false; 8134 dy.stations.forEach((st, idx) => { 8135 let key = st.json_key || ""; 8136 let arr = d[key] || d[key.toLowerCase()] || d[Object.keys(d).find(k => k.toLowerCase() === key.toLowerCase())]; 8137 8138 // Fallback logic (v4.6): If no isCurrent found, take first entry 8139 let cur = arr ? (arr.find(i => i.isCurrent) || arr[0]) : null; 8140 if (cur) { 8141 let s = cur.subtitle ? dy.decode(cur.subtitle) : ''; 8142 if (s.endsWith('...')) s = s.slice(0, -3); 8143 const t = cur.title ? dy.decode(cur.title) : ''; 8144 8145 let coverSmall = (cur.cover_small || '').replace(/&/g, '&'); 8146 let coverNormal = (cur.cover || '').replace(/&/g, '&'); 8147 8148 let img = (s.trim().toLowerCase() === "radio") ? '' : 8149 (coverSmall && !dy.isDefault(coverSmall) && !dy.failedImgs.has(coverSmall)) ? coverSmall : 8150 (coverNormal && !dy.isDefault(coverNormal) && !dy.failedImgs.has(coverNormal)) ? coverNormal : (st.logo || ''); 8151 8152 if (!st.meta || st.meta.s !== s || st.meta.t !== t || st.meta.img !== img) { 8153 st.meta = { 8154 s, 8155 t, 8156 img 8157 }; 8158 changed = true; 8159 } 8160 } 8161 }); 8162 if (changed || document.querySelectorAll('.dy-station-card').length > 0) { 8163 dy.refreshUI();
8164 8165 // Fallback: If metadata changed, the ad is likely over 8166 if (dy.prerollAntiSkip && dy.isPrerollActive && changed) { 8167 console.log("DEVYVES: Metadata changed, clearing preroll state (Fallback)"); 8168 dy.isPrerollActive = false; 8169 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 8170 if (dy.pendingStationIdx !== null) { 8171 const next = dy.pendingStationIdx; 8172 dy.pendingStationIdx = null; 8173 dy.playStation(next); 8174 } 8175 } 8176 } 8177 8178 // Pre-roll anti-skip logic check 8179 if (dy.prerollAntiSkip && dy.pendingStationIdx !== undefined && dy.pendingStationIdx !== null) { 8180 if (!dy.isPrerollActive) { 8181 const nextIdx = dy.pendingStationIdx; 8182 dy.pendingStationIdx = null; 8183 dy.playStation(nextIdx); 8184 } 8185 } 8186 }).catch(e => console.error('Meta Error:', e)); 8187 }, 8188 8189 toggle: (e) => { 8190 if (e) e.stopPropagation(); 8191 const isP = dy.audio.paused; 8192 8193 // Anti-skip logic: Block pause/stop ONLY during an ACTIVE preroll ad (not startup loading) 8194 // isStartupLock alone never blocks user interaction â only a real playing ad does 8195 if (!isP && dy.prerollAntiStop && dy.prerollAntiSkip && dy.isPrerollActive) { 8196 console.log("DEVYVES: Stop/Pause blocked during active preroll ad."); 8197 return; 8198 } 8199 8200 // If startup lock is active but no real ad is playing, release it now 8201 if (dy.isStartupLock && !dy.isPrerollActive) { 8202 dy.isStartupLock = false; 8203 if (dy.startupLockTimer) { clearTimeout(dy.startupLockTimer); dy.startupLockTimer = null; } 8204 } 8205 8206 if (isP) { 8207 if (dy.currentIndex >= 0) { 8208 const st = dy.stations[dy.currentIndex]; 8209 if (st && dy.audio.src !== st.flux) { 8210 dy.audio.src = st.flux; 8211 } 8212 } 8213 // For podcasts (currentIndex == -1), src is already set 8214 let playPromise = dy.audio.play(); 8215 if (playPromise !== undefined) { 8216 playPromise.catch(error => console.log('Autoplay issue', error)); 8217 } 8218 } else { 8219 dy.audio.pause(); 8220 if (dy.currentIndex >= 0) { 8221 dy.audio.src = ""; 8222 dy.audio.load(); 8223 } 8224 } 8225 dy.refreshPlayState(); 8226 }, 8227 8228 playStationByKey: (key) => { 8229 const idx = dy.stations.findIndex(s => s.json_key === key || s.name.toLowerCase() === key.toLowerCase()); 8230 if (idx !== -1) dy.playStation(idx); 8231 else console.error("DEVYVES: Station non trouvée pour la clé : " + key); 8232 }, 8233 8234 playStation: (idx, e) => { 8235 if (e) { 8236 e.stopPropagation(); 8237 e.preventDefault(); 8238 } 8239 idx = parseInt(idx); 8240 const st = dy.stations[idx]; 8241 if (!st) return; 8242 8243 if (dy.currentIndex === idx) { 8244 dy.toggle(null); 8245 return; 8246 } 8247 8248 // Dual Volume Memory: Load saved radio volume or use default 8249 const savedRadioVol = localStorage.getItem('dy_volume_radio'); 8250 dy.audio.volume = (savedRadioVol !== null) ? parseFloat(savedRadioVol) : dy.defVolRadio; 8251 dy.updateVolumeUI(); 8252 8253 // Anti-skip logic: block station switch ONLY during an ACTIVE preroll ad 8254 // isStartupLock alone does NOT block â only a real playing ad (isPrerollActive) does 8255 if (dy.prerollAntiSkip && dy.currentIndex >= 0 && dy.currentIndex !== idx) { 8256 if (dy.isPrerollActive) { 8257 console.log("DEVYVES: Real preroll ad active, queuing switch to station " + idx); 8258 dy.pendingStationIdx = idx; 8259 return; 8260 } 8261 } 8262 // If startup lock lingering with no real ad, release it immediately on user action 8263 if (dy.isStartupLock && !dy.isPrerollActive) { 8264 dy.isStartupLock = false; 8265 if (dy.startupLockTimer) { clearTimeout(dy.startupLockTimer); dy.startupLockTimer = null; } 8266 } 8267 8268 dy.pendingStationIdx = null; 8269 dy.isPrerollActive = false; 8270 dy.adDuration = 0; 8271 dy.isStartupLock = dy.prerollAntiSkip ? true : false; 8272 8273 // Safety unlock for startup lock in case metadata never loads (e.g. network fail) 8274 // Fix #2: utiliser dy.startupLockTimer séparé pour éviter les conflits avec le preroll timer 8275 if (dy.startupLockTimer) clearTimeout(dy.startupLockTimer); 8276 if (dy.isStartupLock) { 8277 dy.startupLockTimer = setTimeout(() => { 8278 if (dy.isStartupLock) { 8279 dy.isStartupLock = false; 8280 dy.refreshPlayState(); // Fix #3: libère l'UI après le timeout 8281 console.log("DEVYVES: Startup lock timeout reached, unlocking UI."); 8282 if (dy.pendingStationIdx !== null) { 8283 const n = dy.pendingStationIdx; 8284 dy.pendingStationIdx = null; 8285 dy.playStation(n); 8286 } 8287 } 8288 }, 5000); // Fix #4: réduit de 8s à 5s pour réduire le blocage perçu 8289 } 8290 8291 dy.currentIndex = idx; 8292 dy.podcastMeta = null; 8293 dy.forceRadioList = false; 8294 dy.audio.pause(); 8295 dy.audio.src = st.flux; 8296 dy.audio.load(); 8297
8298 let playPromise = dy.audio.play(); 8299 if (playPromise !== undefined) { 8300 playPromise.catch(error => console.log('Autoplay issue', error)); 8301 } 8302 8303 dy.currentLink = st.link; 8304 dy.refreshPlayState(); 8305 dy.refreshUI(); 8306 8307 // Close everything on selection (Mobile) 8308 const isFSMobileActive = document.querySelector('.dy-mobile-fullscreen') && document.querySelector('.dy-mobile-fullscreen').classList.contains('is-active'); 8309 if (isFSMobileActive && !window.dyOpenedListFromMini) { 8310 if (window.dyToggleFSList) window.dyToggleFSList(false); 8311 } else { 8312 if (window.dyToggleFS) window.dyToggleFS(false); 8313 if (window.dyToggleFSList) window.dyToggleFSList(false); 8314 } 8315 }, 8316 8317 playPodcast: (el) => { 8318 const url = el.dataset.url; 8319 const title = el.dataset.title; 8320 const author = el.dataset.author; 8321 const image = el.dataset.image; 8322 const date = el.dataset.date || (el.querySelector('.dy-podcast-date') ? (el.querySelector('.dy-podcast-date').textContent || el.querySelector('.dy-podcast-date').innerText) : ""); 8323 8324 if (dy.audio.src === url && !dy.audio.paused) { 8325 dy.toggle(null); 8326 return; 8327 } 8328 8329 // Capture the current list of episodes from this container 8330 const listContainer = el.closest('.dy-podcast-list'); 8331 if (listContainer) { 8332 dy.activeFallbackRSS = listContainer.dataset.fallbackRss || ""; 8333 dy.activeFallbackEnable = listContainer.dataset.fallbackEnable; 8334 dy.activeFallbackDownloadEnable = listContainer.dataset.downloadEnable; 8335 const items = listContainer.querySelectorAll('.dy-podcast-item:not(.dy-search-hidden)'); 8336 dy.currentEpisodes = Array.from(items).map(i => ({ 8337 url: i.dataset.url, 8338 title: i.dataset.title, 8339 author: i.dataset.author, 8340 image: i.dataset.image, 8341 date: i.querySelector('.dy-podcast-date') ? (i.querySelector('.dy-podcast-date').textContent || i.querySelector('.dy-podcast-date').innerText) : "" 8342 })); 8343 } 8344 8345 dy.currentIndex = -1; 8346 dy.forceRadioList = false; 8347 8348 // Dual Volume Memory: Load saved podcast volume or use default 8349 const savedPodVol = localStorage.getItem('dy_volume_podcast'); 8350 dy.audio.volume = (savedPodVol !== null) ? parseFloat(savedPodVol) : dy.defVolPodcast; 8351 dy.updateVolumeUI(); 8352 dy.podcastMeta = { 8353 s: author || "Auteur inconnu", 8354 t: title || "Ãpisode sans titre", 8355 img: image, 8356 logo: image, 8357 d: date 8358 }; 8359 8360 dy.audio.pause(); 8361 dy.audio.src = url; 8362 dy.audio.load(); 8363 dy.audio.muted = false; 8364 8365 const startPlay = () => { 8366 let p = dy.audio.play(); 8367 if (p !== undefined) { 8368 p.catch(() => { 8369 console.log("DEVYVES: Autoplay blocked. Waiting for user interaction."); 8370 }); 8371 } 8372 dy.refreshPlayState(); 8373 dy.refreshUI(); 8374 }; 8375 8376 startPlay(); 8377 dy.currentLink = url; 8378 8379 const isFSMobileActive = document.querySelector('.dy-mobile-fullscreen') && document.querySelector('.dy-mobile-fullscreen').classList.contains('is-active'); 8380 if (isFSMobileActive && !window.dyOpenedListFromMini) {
8381 if (window.dyToggleFSList) window.dyToggleFSList(false); 8382 } else { 8383 if (window.dyToggleFS) window.dyToggleFS(false); 8384 if (window.dyToggleFSList) window.dyToggleFSList(false); 8385 } 8386 }, 8387 8388 playFirstPodcast: (e) => { 8389 if (e) { 8390 e.stopPropagation(); 8391 e.preventDefault(); 8392 } 8393 8394 // Si un podcast est déjà chargé (en lecture ou en pause), on bascule simplement l'état 8395 if (dy.currentIndex === -1 && dy.audio.src) { 8396 dy.toggle(null); 8397 return; 8398 } 8399 8400 const first = document.querySelector('.dy-podcast-item'); 8401 if (first) { 8402 dy.playPodcast(first); 8403 } else if (dy.currentEpisodes && dy.currentEpisodes.length > 0) { 8404 dy.playPodcastItemByUrl(dy.currentEpisodes[0].url); 8405 } else { 8406 console.log("DEVYVES: Aucun podcast trouvé sur la page."); 8407 } 8408 }, 8409 8410 updateVolume: (val) => { 8411 dy.audio.volume = val; 8412 // Save to the correct memory depending on mode 8413 if (dy.podcastMeta) { 8414 localStorage.setItem('dy_volume_podcast', val); 8415 } else { 8416 localStorage.setItem('dy_volume_radio', val); 8417 } 8418 localStorage.setItem('dy_volume', val); // Legacy fallback 8419 dy.updateVolumeUI(); 8420 8421 // Reset auto-close timer if a popup is active 8422 document.querySelectorAll('.dy-volume-wrap.is-active').forEach(el => { 8423 if (el._volTimer) clearTimeout(el._volTimer); 8424 el._volTimer = setTimeout(() => { 8425 el.classList.remove('is-active'); 8426 }, 6000); 8427 }); 8428 }, 8429 8430 initPodcastList: () => { 8431 document.addEventListener('mouseup', () => isScrubbing = false); 8432 document.addEventListener('touchend', () => isScrubbing = false); 8433 8434 // Combined Direct Click handler for instant response 8435 dy.handleFSVol = (e, bg) => { 8436 window.dyRadio.handleSlider(e, bg); 8437 }; 8438 8439 8440 8441 // Clock Update logic 8442 setInterval(() => { 8443 const now = new Date(); 8444 const h = String(now.getHours()).padStart(2, '0'); 8445 const m = String(now.getMinutes()).padStart(2, '0'); 8446 const s = String(now.getSeconds()).padStart(2, '0'); 8447 document.querySelectorAll('.dy-fs-clock').forEach(el => el.textContent = `${h}:${m}:${s}`); 8448 document.querySelectorAll('.radio-display').forEach(d => { 8449 // Ignore mobile bar & fullscreen in this loop for toggle playback 8450 if (!d || d.classList.contains('dy-mini-mobile-bar') || d.classList.contains('dy-mobile-fullscreen')) return; 8451 8452 if (!d.dataset.bound) { 8453 d.addEventListener('click', e => { 8454 if (e.target.closest('button, .fas, .dy-volume-wrap, .dy-mini-dropdown')) return; 8455 8456 // Fix v3.6: Empêcher le toggle si on est sur un mini-player (mode dropdown) ou sur la barre PC 8457 if ((d.classList.contains('dy-mini-player') && dy.miniAction === 'dropdown') || d.classList.contains('dy-sticky-footer-pc')) return; 8458 8459 dyRadio.toggle(); 8460 }); 8461 d.dataset.bound = "1"; 8462 } 8463 8464 // Bind Hover (v4.6 - Multi-mode zones) 8465 if (!d.dataset.hBoundV41) { 8466 d.addEventListener('mousemove', (e) => { 8467 if (d.classList.contains('dy-simple-player')) return; 8468 8469 const rect = d.getBoundingClientRect(); 8470 const relY = e.clientY - rect.top; 8471 const relX = e.clientX - rect.left; 8472 8473 const isPodMode = d.classList.contains('dy-podcast-mode'); 8474 if (isPodMode) { 8475 if (d.classList.contains('is-hover')) { 8476 d.classList.remove('is-hover'); 8477 dy.updateHoverText(d, false); 8478 } 8479 return; 8480 } 8481 8482 // Zone large pour Radio : On évite juste les boutons de gauche 8483 const isInfoZone = (relX > 80); 8484
8485 if (isInfoZone) { 8486 if (!d.classList.contains('is-hover')) { 8487 d.classList.add('is-hover'); 8488 dy.updateHoverText(d, true); 8489 } 8490 } else { 8491 if (d.classList.contains('is-hover')) { 8492 d.classList.remove('is-hover'); 8493 dy.updateHoverText(d, false); 8494 } 8495 } 8496 }); 8497 d.addEventListener('mouseleave', () => { 8498 if (d.classList.contains('is-hover')) { 8499 d.classList.remove('is-hover'); 8500 dy.updateHoverText(d, false); 8501 } 8502 }); 8503 d.dataset.hBoundV41 = "1"; 8504 } 8505 }); 8506 }, 1000); 8507 8508 // Prefetch on Hover or Touch (Instant Page Load via Promises) 8509 const prefetchLink = (url) => { 8510 if (!dy.pageCache[url]) { 8511 dy.pageCache[url] = fetch(url, { 8512 priority: 'low' 8513 }) 8514 .then(r => r.text()) 8515 .catch((e) => { 8516 delete dy.pageCache[url]; 8517 throw e; 8518 }); 8519 } 8520 }; 8521 8522 const handlePrefetchEvent = (e) => { 8523 const link = e.target.closest('a'); 8524 if (!link) return; 8525 const url = link.href; 8526 if (!url || url.includes('#') || url.includes('javascript:') || !url.startsWith(window.location.origin)) return; 8527 if (link.target && link.target !== '_self') return; 8528 if (link.hasAttribute('download') || url.includes('wp-admin') || url.includes('wp-login') || url.includes('wp-content')) return; 8529 prefetchLink(url); 8530 }; 8531 8532 document.addEventListener('mouseover', handlePrefetchEvent, { 8533 passive: true 8534 }); 8535 document.addEventListener('touchstart', handlePrefetchEvent, { 8536 passive: true 8537 }); 8538 8539 // Continuous Playback (AJAX Interceptor) 8540 document.addEventListener('click', e => { 8541 const link = e.target.closest('a'); 8542 if (!link) return; 8543 8544 const url = link.href; 8545 if (!url || url.includes('#') || url.includes('javascript:') || !url.startsWith(window.location.origin)) return; 8546 if (link.target && link.target !== '_self') return; 8547 if (link.hasAttribute('download')) return; 8548 if (url.includes('wp-admin') || url.includes('wp-login') || url.includes('wp-content')) return; 8549 8550 // Exclusions pour le menu mobile Avada (toggle + conteneur) afin de ne pas interférer 8551 if (e.target.closest('.awb-menu__m-toggle')) return; 8552 if (e.target.closest('.fusion-mobile-menu-container')) return; 8553 if (e.target.closest('.awb-mobile-menu')) return; 8554 8555 e.preventDefault(); 8556 dy.closeMenus(); 8557 dy.loadPage(url); 8558 }); 8559 8560 window.addEventListener('popstate', () => { 8561 dy.loadPage(window.location.href, false); 8562 }); 8563 8564 // Si l'écran s'élargit vers la version Desktop (>= 1025px), le mode plein écran mobile doit disparaître 8565 window.addEventListener('resize', () => { 8566 if (window.innerWidth >= 1025) { 8567 if (window.dyToggleFS) { 8568 window.dyToggleFS(false); 8569 } 8570 } 8571 }); 8572 8573 window.dyToggleFS = (open) => { 8574 const fs = document.querySelector('.dy-mobile-fullscreen'); 8575 if (fs) { 8576 if (open) { 8577 if (fs.parentNode !== document.body) { 8578 document.body.appendChild(fs); 8579 } 8580 fs.classList.add('is-active'); 8581 document.body.style.overflow = 'hidden'; 8582 document.querySelectorAll('.dy-mini-mobile-bar').forEach(bar => { 8583 bar.style.setProperty('display', 'none', 'important'); 8584 }); 8585 } else { 8586 fs.classList.remove('is-active'); 8587 document.body.style.overflow = ''; 8588 window.dyToggleFSList(false); 8589 document.querySelectorAll('.dy-mini-mobile-bar').forEach(bar => { 8590 bar.style.removeProperty('display'); 8591 }); 8592 window.dyOpenedListFromMini = false; 8593 } 8594 } 8595 }; 8596 8597 window.dyToggleFSList = (open) => { 8598 const dr = document.querySelector('.dy-fs-list-drawer'); 8599 if (dr) { 8600 if (open) { 8601 dr.classList.add('is-active'); 8602 if (dy.podcastMeta && !dy.forceRadioList) { 8603 dy.ensureEpisodesLoaded(); 8604 } 8605 } else { 8606 dr.classList.remove('is-active'); 8607 } 8608 } 8609 }; 8610 8611 // Refresh Loop for Marquee & Progress 8612 if (dy.refreshId) clearInterval(dy.refreshId); 8613 dy.refreshId = setInterval(dy.refreshUI, 1000); 8614 8615 // Initial Volume (Radio by default if no podcastMeta)
8616 const key = dy.podcastMeta ? 'dy_volume_podcast' : 'dy_volume_radio'; 8617 const def = dy.podcastMeta ? dy.defVolPodcast : dy.defVolRadio; 8618 const savedVol = localStorage.getItem(key) || localStorage.getItem('dy_volume'); 8619 8620 if (dy.audio) { 8621 dy.audio.volume = (savedVol !== null) ? parseFloat(savedVol) : def; 8622 setTimeout(dy.updateVolumeUI, 500); 8623 } 8624 }, 8625 8626 updateVolumeUI: () => { 8627 const vol = dy.audio.volume; 8628 const pct = vol * 100; 8629 document.querySelectorAll('.dy-mini-volume-fill').forEach(f => { 8630 const bg = f.closest('.dy-fs-slider-bg'); 8631 if (bg) { 8632 f.style.width = pct + '%'; 8633 f.style.height = '100%'; 8634 } else { 8635 f.style.height = pct + '%'; 8636 f.style.width = '100%'; 8637 } 8638 }); 8639 8640 document.querySelectorAll('.dy-fs-slider-fill').forEach(f => { 8641 f.style.width = pct + '%'; 8642 }); 8643 8644 document.querySelectorAll('.dy-volume-wrap').forEach(wrap => { 8645 if (vol === 0) wrap.classList.add('is-muted'); 8646 else wrap.classList.remove('is-muted'); 8647 8648 const waves = wrap.querySelectorAll('.dy-vol-wave'); 8649 if (waves.length >= 2) { 8650 waves[0].classList.toggle('active', vol > 0.1); 8651 waves[1].classList.toggle('active', vol > 0.6); 8652 } 8653 }); 8654 }, 8655 8656 pageCache: {}, 8657 8658 loadPage: (url, push = true) => { 8659 let loadingTimeout = setTimeout(() => { 8660 document.body.classList.add('ajax-loading'); 8661 }, 50); 8662 8663 const renderHtml = (html) => { 8664 const doc = new DOMParser().parseFromString(html, "text/html"); 8665 const target = document.querySelector("#main"); 8666 const source = doc.querySelector("#main"); 8667 8668 if (target && source) { 8669 document.body.className = doc.body.className; 8670 document.body.classList.remove('ajax-loading'); 8671 8672 target.innerHTML = source.innerHTML; 8673 document.title = doc.title; 8674 if (push) history.pushState({}, "", url); 8675 8676 source.querySelectorAll('script').forEach(oldS => { 8677 if (oldS.src) return; // Exclure les scripts externes pour éviter les lenteurs (Avada, Maps, etc.) 8678 const newS = document.createElement("script"); 8679 Array.from(oldS.attributes).forEach(a => newS.setAttribute(a.name, a.value)); 8680 newS.appendChild(document.createTextNode(oldS.innerHTML)); 8681 document.body.appendChild(newS); 8682 newS.parentNode.removeChild(newS); 8683 }); 8684 8685 const oldB = document.querySelector('#wpadminbar'), 8686 newB = doc.querySelector('#wpadminbar'); 8687 if (oldB && newB) oldB.innerHTML = newB.innerHTML; 8688 8689 dy.refreshPlayState(); 8690 dy.refreshUI(); 8691 window.scrollTo({ 8692 top: 0, 8693 behavior: 'auto' 8694 }); 8695 8696 document.dispatchEvent(new Event('DOMContentLoaded')); 8697 window.dispatchEvent(new Event('load')); 8698 if (window.jQuery) { 8699 jQuery(document).trigger('ready'); 8700 jQuery(window).trigger('load'); 8701 jQuery('body').trigger('post-load'); 8702 } 8703 } else { 8704 location.href = url; 8705 } 8706 }; 8707 8708 if (!dy.pageCache[url]) { 8709 dy.pageCache[url] = fetch(url).then(r => r.text()); 8710 } 8711
8712 dy.pageCache[url].then(html => { 8713 clearTimeout(loadingTimeout); 8714 renderHtml(html); 8715 }).catch(() => { 8716 clearTimeout(loadingTimeout); 8717 delete dy.pageCache[url]; 8718 location.href = url; 8719 }); 8720 }, 8721 8722 closeMenus: () => { 8723 if (document.activeElement) document.activeElement.blur(); 8724 // IMPORTANT : ne pas faire jQuery('body').trigger('click') ici car Avada 8725 // utilise cet événement pour fermer ses menus mobiles, ce qui empêcherait 8726 // l'ouverture du menu burger mobile d'Avada. 8727 const header = document.querySelector('.fusion-tb-header'); 8728 if (header) { 8729 header.querySelectorAll('li').forEach(li => li.classList.remove('hover', 'focus', 'sfHover', 'fusion-open-submenu')); 8730 header.querySelectorAll('.sub-menu').forEach(m => { 8731 m.style.setProperty('display', 'none', 'important'); 8732 m.style.setProperty('opacity', '0', 'important'); 8733 m.style.setProperty('visibility', 'hidden', 'important'); 8734 setTimeout(() => { 8735 m.style.removeProperty('display'); 8736 m.style.removeProperty('opacity'); 8737 m.style.removeProperty('visibility'); 8738 }, 500); 8739 }); 8740 } 8741 }, 8742 8743 scanLinks: () => { 8744 // Per-element scan is deprecated in favor of global AJAX interceptor for better performance 8745 }, 8746 8747 lastScrollState: null, 8748 lastMobileScrollState: null, 8749 handleScroll: () => { 8750 const pcBars = document.querySelectorAll('.dy-sticky-footer-pc'); 8751 const mobileBars = document.querySelectorAll('.dy-mini-mobile-bar'); 8752 if (pcBars.length === 0 && mobileBars.length === 0) return; 8753 8754 const st = window.pageYOffset || document.documentElement.scrollTop; 8755 const dh = document.documentElement.scrollHeight; 8756 const wh = window.innerHeight; 8757 8758 // Calcul précis du pourcentage (évite division par zéro) 8759 // Si la page n'est pas scrollable (dh <= wh), on considère 0% de scroll 8760 const scrollPercent = (dh > wh) ? (st / (dh - wh)) * 100 : 0; 8761 8762 // Gestion Desktop Sticky Footer 8763 if (pcBars.length > 0) { 8764 const threshold = 5; 8765 const shouldBeVisible = (scrollPercent >= threshold); 8766 if (shouldBeVisible !== dy.lastScrollState) { 8767 pcBars.forEach(bar => { 8768 if (shouldBeVisible) { 8769 bar.classList.add('is-visible'); 8770 } else { 8771 bar.classList.remove('is-visible'); 8772 } 8773 }); 8774 dy.lastScrollState = shouldBeVisible; 8775 } 8776 } 8777 8778 // Gestion Mobile Sticky Footer 8779 if (mobileBars.length > 0) { 8780 const defaultMobileThreshold = 2; 8781 mobileBars.forEach(bar => { 8782 const barThreshold = bar.hasAttribute('data-scroll') && bar.getAttribute('data-scroll') !== '' 8783 ? parseInt(bar.getAttribute('data-scroll'), 10) 8784 : defaultMobileThreshold; 8785 const shouldBeVisible = (scrollPercent >= barThreshold); 8786 if (shouldBeVisible) { 8787 bar.classList.add('is-visible'); 8788 } else { 8789 bar.classList.remove('is-visible'); 8790 } 8791 }); 8792 } 8793 } 8794 }; 8795 8796 window.addEventListener('scroll', dy.handleScroll, { 8797 passive: true 8798 }); 8799 window.addEventListener('load', dy.handleScroll); 8800 window.addEventListener('DOMContentLoaded', dy.handleScroll); 8801 8802 window.dyRadio = dy; 8803 window.toggleDevYvesRadio = dy.toggle; 8804 window.openPlayer = () => window.open(dy.currentLink, '_blank'); 8805 8806 if (!window.dyRadioEventsBound) { 8807 document.addEventListener('click', (e) => { 8808 if (window.dyRadio) { 8809 window.dyRadio.closeDropdowns(); 8810 if (!e.target.closest('.dy-volume-wrap')) { 8811 window.dyRadio.closeVolumePopups(); 8812 } 8813 8814 // Hash playback trigger (e.g. href="#dy-play-pop") 8815 const link = e.target.closest('a'); 8816 if (link && link.getAttribute('href') && link.getAttribute('href').startsWith('#dy-play-')) { 8817 e.preventDefault();
8818 const key = link.getAttribute('href').replace('#dy-play-', ''); 8819 window.dyRadio.playStationByKey(key); 8820 } 8821 8822 // Class playback trigger (e.g. class="dy-play-station" data-station="pop") 8823 const trigger = e.target.closest('.dy-play-station'); 8824 if (trigger && trigger.dataset.station) { 8825 if (e.target.tagName === 'A') e.preventDefault(); 8826 window.dyRadio.playStationByKey(trigger.dataset.station); 8827 } 8828 } 8829 }); 8830 8831 // --- PROTECTED PODCAST EVENTS (Bind Once) --- 8832 let isScrubbing = false; 8833 let currentScrubBg = null; 8834 8835 const scrub = (e, bg) => { 8836 const dy = window.dyRadio; 8837 if (!dy || !dy.audio) return; 8838 const rect = bg.getBoundingClientRect(); 8839 const x = (e.touches && e.touches[0]) ? e.touches[0].clientX : e.clientX; 8840 let pos = (x - rect.left) / rect.width; 8841 pos = Math.max(0, Math.min(1, pos)); 8842 if (dy.audio.duration && !isNaN(dy.audio.duration)) { 8843 dy.audio.currentTime = pos * dy.audio.duration; 8844 } 8845 }; 8846 8847 document.addEventListener('mousedown', e => { 8848 const bg = e.target.closest('.dy-podcast-progress-bg'); 8849 if (bg) { 8850 isScrubbing = true; 8851 currentScrubBg = bg; 8852 scrub(e, bg); 8853 } 8854 }); 8855 document.addEventListener('touchstart', e => { 8856 const bg = e.target.closest('.dy-podcast-progress-bg'); 8857 if (bg) { 8858 isScrubbing = true; 8859 currentScrubBg = bg; 8860 scrub(e, bg); 8861 } 8862 }, { 8863 passive: false 8864 }); 8865 document.addEventListener('mousemove', e => { 8866 if (isScrubbing && currentScrubBg) scrub(e, currentScrubBg); 8867 }); 8868 document.addEventListener('touchmove', e => { 8869 if (isScrubbing && currentScrubBg) { 8870 e.preventDefault(); 8871 scrub(e, currentScrubBg); 8872 } 8873 }, { 8874 passive: false 8875 }); 8876 document.addEventListener('mouseup', () => { 8877 isScrubbing = false; 8878 currentScrubBg = null; 8879 }); 8880 document.addEventListener('touchend', () => { 8881 isScrubbing = false; 8882 currentScrubBg = null; 8883 }); 8884 8885 window.dyRadioEventsBound = true; 8886 8887 } 8888 8889 dy.init(); 8890 })(); 8891 </script>
8891 8892
8892<script type="text/javascript"> 8893 (function($) { 8894 var ajaxTimer; 8895 8896 function purgerSliderSiVideoHaut() { 8897 // On cherche l'iframe YouTube dans les emplacements probables 8898 var $allVideos = $('.fusion-content-tb-1 .fusion-text-1 iframe[src*="youtube"], .video-shortcode iframe[src*="youtube"], .fusion-video-shortcode iframe[src*="youtube"], .post-content iframe[src*="youtube.com/embed"], article iframe[src*="youtube.com/embed"]'); 8899 8900 if ($allVideos.length > 0) { 8901 var $firstVideo = $allVideos.first(); 8902 var $contentArea = $firstVideo.closest('.post-content, .fusion-post-content, .fusion-content-tb-1'); 8903 8904 var isAtTop = false; 8905 if ($contentArea.length > 0) { 8906 // 1. Calcul de la distance relative au début du contenu 8907 var distance = $firstVideo.offset().top - $contentArea.offset().top; 8908 8909 // 2. Vérification s'il y a du texte significatif avant la vidéo dans le même conteneur 8910 var hasPrecedingContent = $firstVideo.prevAll('p, h1, h2, h3, .fusion-text').filter(function() { 8911 return $(this).text().trim().length > 0; 8912 }).length > 0; 8913 8914 // On considère en haut si < 120px et pas de texte avant 8915 isAtTop = (distance < 120) && !hasPrecedingContent; 8916 } 8917 8918 if (isAtTop) { 8919 $('body').addClass('devyves-video-active'); 8920 console.log("devYves Fix: Vidéo de tête détectée. Slider masqué."); 8921 } else { 8922 $('body').removeClass('devyves-video-active'); 8923 } 8924 } else { 8925 $('body').removeClass('devyves-video-active'); 8926 } 8927 } 8928 8929 function lancerSurveillance() { 8930 purgerSliderSiVideoHaut(); 8931 var compteur = 0; 8932 if (ajaxTimer) clearInterval(ajaxTimer); 8933 ajaxTimer = setInterval(function() { 8934 purgerSliderSiVideoHaut(); 8935 compteur++; 8936 if (compteur > 25) clearInterval(ajaxTimer); 8937 }, 200); 8938 } 8939 8940 // Initialisation 8941 $(document).ready(lancerSurveillance); 8942 $(window).on('load', lancerSurveillance); 8943 8944 // Surveillance des changements du DOM (Navigation AJAX) 8945 var observer = new MutationObserver(function(mutations) { 8946 // Petit throttle pour éviter trop d'appels sur des mutations massives 8947 clearTimeout(window.devyvesObserverTimeout); 8948 window.devyvesObserverTimeout = setTimeout(lancerSurveillance, 100); 8949 }); 8950 8951 var target = document.querySelector('#main') || document.body; 8952 if (target) { 8953 observer.observe(target, { childList: true, subtree: true }); 8954 } 8955 8956 // Hooks additionnels 8957 $(document).on('ajaxComplete', lancerSurveillance); 8958 $(window).on('popstate', lancerSurveillance); 8959 8960 if (window.FusionApp && typeof FusionApp.watcher !== 'undefined') { 8961 FusionApp.watcher.on('fusion-content-changed', lancerSurveillance); 8962 } 8963 8964 })(jQuery); 8965 </script>
8965 8966 </div> 8967 8968 </body> 8969</html> 8970 8971<!-- Dynamic page generated in 5.670 seconds. --> 8972<!-- Cached page generated by WP-Super-Cache on 2026-10-02 05:10:43 --> 8973 8974<!-- Compression = gzip -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.