<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link href="https://media.base44.com/images/public/69fa3d56bbf9763c1a35513b/68969e293_logofavicon.png" rel="icon" type="image/svg+xml"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<link href="/manifest.json" rel="manifest"/>
<title>
Moodcast Webradio
</title>
<meta content="Diffusez une musique libre de droit commerce et créez votre ambiance musicale restaurant sans SACEM. Moddcast Webradio acoustique by sonatem." name="description"/>
<link href="https://fonts.googleapis.com" rel="preconnect"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"/>
<script crossorigin="" src="/assets/index-DW8Xkjh6.js" type="module">
</script>
<link crossorigin="" href="/assets/index-DyOX4cCP.css" rel="stylesheet"/>
<script type="module">
if (window.self === window.top) {
let lastPath = "";
function getPageNameFromPath(path) {
const segments = path.split("/").filter(Boolean);
return segments[0] || null;
}
function trackPageView() {
const path = window.location.pathname;
if (path === lastPath) return;
lastPath = path;
const pageName = getPageNameFromPath(path) || "home";
const appId = "69fa3d56bbf9763c1a35513b";
if (!appId) return;
fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, {
method: "POST",
}).catch(() => {});
}
const originalPushState = history.pushState.bind(history);
history.pushState = function (...args) {
originalPushState(...args);
trackPageView();
};
const originalReplaceState = history.replaceState.bind(history);
history.replaceState = function (...args) {
originalReplaceState(...args);
trackPageView();
};
window.addEventListener("popstate", trackPageView);
trackPageView();
}
</script>
<meta content="Moodcast Webradio" property="og:title"/>
<meta content="Diffusez une musique libre de droit commerce et créez votre ambiance musicale restaurant sans SACEM. Moddcast Webradio acoustique by sonatem." property="og:description"/>
<meta content="https://media.base44.com/images/public/69fa3d56bbf9763c1a35513b/1cc68435b_pubmoodcastopt78k.jpg/v1/fill/w_1200,h_630/1cc68435b_pubmoodcastopt78k.jpg" property="og:image"/>
<meta content="https://webradio.sonatem.fr" property="og:url"/>
<meta content="website" property="og:type"/>
<meta content="Moodcast Webradio" property="og:site_name"/>
<meta content="Moodcast Webradio" name="twitter:title"/>
<meta content="Diffusez une musique libre de droit commerce et créez votre ambiance musicale restaurant sans SACEM. Moddcast Webradio acoustique by sonatem." name="twitter:description"/>
<meta content="https://media.base44.com/images/public/69fa3d56bbf9763c1a35513b/1cc68435b_pubmoodcastopt78k.jpg/v1/fill/w_1200,h_630/1cc68435b_pubmoodcastopt78k.jpg" name="twitter:image"/>
<meta content="summary_large_image" name="twitter:card"/>
<meta content="https://webradio.sonatem.fr" name="twitter:url"/>
<meta content="yes" name="mobile-web-app-capable"/>
<meta content="black" name="apple-mobile-web-app-status-bar-style"/>
<meta content="Moodcast Webradio" name="apple-mobile-web-app-title"/>
<link href="https://webradio.sonatem.fr" rel="canonical"/>
<script data-seo-source="builder" type="application/ld+json">
{"name": "Moodcast Webradio", "@context": "https://schema.org", "@type": "WebSite", "url": "https://webradio.sonatem.fr"}
</script>
<script data-seo-source="builder" type="application/ld+json">
{"name": "Moodcast Webradio", "logo": "https://media.base44.com/images/public/69fa3d56bbf9763c1a35513b/af685b04e_logo.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://webradio.sonatem.fr"}
</script>
<script data-seo-source="builder" type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"name": "What is Moodcast Webradio?", "@type": "Question", "acceptedAnswer": {"@type": "Answer", "text": "Moodcast Webradio manages 4 data types including security alerts. Helps you organize, track, and share your work in 1 place for teams and solo users."}}]}
</script>
</head>
<body>
<div id="root">
<div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
<h1>
Moodcast Webradio
</h1>
<p>
Diffusez une musique libre de droit commerce et créez votre ambiance musicale restaurant sans SACEM. Moddcast Webradio acoustique by sonatem.
</p>
<nav aria-label="Pages">
<h2>
Pages
</h2>
<ul>
<li>
<a href="/about">
About
</a>
</li>
<li>
<a href="/Admin">
Admin
</a>
</li>
<li>
<a href="/AdminTracks">
Admin Tracks
</a>
</li>
<li>
<a href="/cgu">
CGU
</a>
</li>
<li>
<a href="/cancel">
Cancel
</a>
</li>
<li>
<a href="/contact">
Contact
</a>
</li>
<li>
<a href="/dashboard">
Dashboard
</a>
</li>
<li>
<a href="/forgot-password">
Forgot Password
</a>
</li>
<li>
<a href="/listen">
Listen
</a>
</li>
<li>
<a href="/login">
Login
</a>
</li>
<li>
<a href="/dashboard/player">
Player
</a>
</li>
<li>
<a href="/PlayerNew">
Player New
</a>
</li>
<li>
<a href="/pricing">
Pricing
</a>
</li>
<li>
<a href="/register">
Register
</a>
</li>
<li>
<a href="/reset-password">
Reset Password
</a>
</li>
<li>
<a href="/admin/AdminDashboard">
Admin / Admin Dashboard
</a>
</li>
<li>
<a href="/admin/AdminDemo">
Admin / Admin Demo
</a>
</li>
<li>
<a href="/admin/AdminMusic">
Admin / Admin Music
</a>
</li>
<li>
<a href="/admin/AdminPricing">
Admin / Admin Pricing
</a>
</li>
<li>
<a href="/admin/AdminSubscriptions">
Admin / Admin Subscriptions
</a>
</li>
<li>
<a href="/admin/AdminSupport">
Admin / Admin Support
</a>
</li>
<li>
<a href="/admin/AdminUsers">
Admin / Admin Users
</a>
</li>
</ul>
</nav>
</div>
</div>
<script>
if (navigator.modelContext) {
navigator.modelContext.provideContext({
tools: [
{
name: "stream_ai_music",
description: "Diffuser de la musique IA libre de droits en continue pour un commerce ou entreprise sans SACEM.",
inputSchema: {
type: "object",
properties: {
ambiance: { type: "string", description: "Type d'ambiance souhaitée (relaxante, dynamique, neutre)" }
}
},
execute: async (params) => {
return { url: "https://webradio.sonatem.fr/stream", ambiance: params.ambiance };
}
},
{
name: "get_playlist",
description: "Obtenir 6 playlist de musique IA adaptée à l'ambiance du commerce.",
inputSchema: {
type: "object",
properties: {
style: { type: "string", description: "Style musical souhaité" }
}
},
execute: async (params) => {
return { playlist: "https://webradio.sonatem.fr/playlist?style=" + params.style };
}
},
{
name: "check_license",
description: "Vérifier la conformité de la licence commerciale Suno Pro pour diffusion en commerce.",
inputSchema: { type: "object", properties: {} },
execute: async () => {
return { licensed: true, type: "Suno Pro Commercial", sacem: false, spre: false };
}
}
]
});
}
</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1d1ceaf598cf46939534cae4eb5d90f4","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a07a1e663aebd122',t:'MTc4MDc3NzIzNw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>