mirror of
https://github.com/Shik3i/KoalaSync.git
synced 2026-08-06 17:37:43 +00:00
1222 lines
96 KiB
HTML
1222 lines
96 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="fr" class="lang-fr">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>KoalaSync | Synchronisez Netflix, YouTube et n'importe quelle vidéo avec vos amis</title>
|
||
<meta name="description" content="Regardez Netflix, YouTube, Twitch et des vidéos HTML5 en synchro avec vos amis. Extension de navigateur gratuite et open-source. Aucune inscription requise.">
|
||
|
||
<link rel="preload" href="../style.b511a1d2.min.css" as="style">
|
||
<link rel="preload" as="image" href="../assets/LookDownKoala.webp" imagesrcset="../assets/LookDownKoala-1x.webp 90w, ../assets/LookDownKoala.webp 205w" imagesizes="90px" fetchpriority="high">
|
||
<link rel="stylesheet" href="../style.b511a1d2.min.css">
|
||
<link rel="icon" type="image/png" sizes="16x16" href="../assets/favicon-16x16.png">
|
||
<link rel="icon" type="image/png" sizes="32x32" href="../assets/favicon-32x32.png">
|
||
<link rel="apple-touch-icon" sizes="180x180" href="../assets/icon-192x192.png">
|
||
<link rel="canonical" href="https://sync.koalastuff.net/fr/">
|
||
<link rel="alternate" hreflang="en" href="https://sync.koalastuff.net/">
|
||
<link rel="alternate" hreflang="de" href="https://sync.koalastuff.net/de/">
|
||
<link rel="alternate" hreflang="fr" href="https://sync.koalastuff.net/fr/">
|
||
<link rel="alternate" hreflang="es" href="https://sync.koalastuff.net/es/">
|
||
<link rel="alternate" hreflang="pt-br" href="https://sync.koalastuff.net/pt-BR/">
|
||
<link rel="alternate" hreflang="ru" href="https://sync.koalastuff.net/ru/">
|
||
<link rel="alternate" hreflang="it" href="https://sync.koalastuff.net/it/">
|
||
<link rel="alternate" hreflang="pl" href="https://sync.koalastuff.net/pl/">
|
||
<link rel="alternate" hreflang="tr" href="https://sync.koalastuff.net/tr/">
|
||
<link rel="alternate" hreflang="nl" href="https://sync.koalastuff.net/nl/">
|
||
<link rel="alternate" hreflang="ja" href="https://sync.koalastuff.net/ja/">
|
||
<link rel="alternate" hreflang="ko" href="https://sync.koalastuff.net/ko/">
|
||
<link rel="alternate" hreflang="pt" href="https://sync.koalastuff.net/pt/">
|
||
<link rel="alternate" hreflang="x-default" href="https://sync.koalastuff.net/">
|
||
<meta name="robots" content="index, follow">
|
||
|
||
<!-- Open Graph / Facebook -->
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:url" content="https://sync.koalastuff.net/fr/">
|
||
<meta property="og:title" content="KoalaSync | Synchronisez Netflix, Emby, Jellyfin et presque toutes les vidéos avec vos amis">
|
||
<meta property="og:description" content="Regardez Netflix, Emby, Jellyfin, YouTube, Twitch et presque n'importe quelle vidéo HTML5 en parfaite synchronisation. Extension de navigateur open-source et respectueuse de la vie privée pour Chrome et Firefox.">
|
||
<meta property="og:image" content="https://sync.koalastuff.net/assets/PlatformJuggler_New.webp">
|
||
<meta property="og:locale" content="fr_FR">
|
||
<meta property="og:locale:alternate" content="en_US">
|
||
<meta property="og:locale:alternate" content="de_DE">
|
||
<meta property="og:locale:alternate" content="fr_FR">
|
||
<meta property="og:locale:alternate" content="es_ES">
|
||
<meta property="og:locale:alternate" content="pt_BR">
|
||
<meta property="og:locale:alternate" content="ru_RU">
|
||
<meta property="og:locale:alternate" content="it_IT">
|
||
<meta property="og:locale:alternate" content="pl_PL">
|
||
<meta property="og:locale:alternate" content="tr_TR">
|
||
<meta property="og:locale:alternate" content="nl_NL">
|
||
<meta property="og:locale:alternate" content="ja_JP">
|
||
<meta property="og:locale:alternate" content="ko_KR">
|
||
<meta property="og:locale:alternate" content="pt_PT">
|
||
<meta property="og:site_name" content="KoalaSync">
|
||
|
||
<!-- Twitter / X -->
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:title" content="KoalaSync | Synchronisez Netflix, Emby, Jellyfin et presque toutes les vidéos avec vos amis – Extension de navigateur">
|
||
<meta name="twitter:description" content="Regardez Netflix, Emby, Jellyfin, YouTube, Twitch et presque n'importe quelle vidéo HTML5 en parfaite synchronisation avec vos amis. Extension de navigateur open-source et respectueuse de la vie privée pour Chrome et Firefox.">
|
||
<meta name="twitter:image" content="https://sync.koalastuff.net/assets/PlatformJuggler_New.webp">
|
||
|
||
<!-- Mobile Browser Theme Styling -->
|
||
<meta name="theme-color" content="#0f172a">
|
||
<meta name="mobile-web-app-capable" content="yes">
|
||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||
<link rel="manifest" href="../site.webmanifest">
|
||
|
||
<script src="../lang-init.1b13bbf2.min.js"></script>
|
||
|
||
<!-- Structured Data (Schema.org) for Rich Snippets -->
|
||
<script type="application/ld+json" id="schema-org">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Organization",
|
||
"name": "KoalaSync",
|
||
"url": "https://sync.koalastuff.net/",
|
||
"logo": "https://sync.koalastuff.net/assets/NewLogoIcon_128.webp",
|
||
"sameAs": [
|
||
"https://github.com/Shik3i/KoalaSync",
|
||
"https://mastodon.social/@koalastuff"
|
||
]
|
||
}
|
||
</script>
|
||
<script type="application/ld+json" id="schema-website">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "WebSite",
|
||
"name": "KoalaSync",
|
||
"url": "https://sync.koalastuff.net/",
|
||
"inLanguage": ["en", "de", "fr", "es", "pt-BR", "ru"]
|
||
}
|
||
</script>
|
||
<script type="application/ld+json" id="schema-software">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "SoftwareApplication",
|
||
"name": "KoalaSync",
|
||
"operatingSystem": "Windows, macOS, Linux, ChromeOS",
|
||
"applicationCategory": "BrowserApplication",
|
||
"browserRequirements": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave",
|
||
"offers": {
|
||
"@type": "Offer",
|
||
"price": "0",
|
||
"priceCurrency": "EUR"
|
||
},
|
||
"description": "Watch Netflix, YouTube, Twitch, Jellyfin, Emby and almost any HTML5 video in perfect sync with friends. Open source, privacy-first, free.",
|
||
"softwareVersion": "1.9.3",
|
||
"license": "https://opensource.org/licenses/MIT",
|
||
"sameAs": "https://github.com/Shik3i/KoalaSync",
|
||
"image": "https://sync.koalastuff.net/assets/NewLogoIcon.webp",
|
||
"screenshot": "https://sync.koalastuff.net/assets/PlatformJuggler_New.webp"
|
||
}
|
||
</script>
|
||
<script type="application/ld+json" id="schema-howto">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "HowTo",
|
||
"name": "Comment synchroniser des vidéos avec des amis avec KoalaSync",
|
||
"description": "Regardez des vidéos en parfaite synchronisation avec vos amis sur YouTube, Netflix, Twitch et plus. Sans inscription, sans pistage.",
|
||
"step": [
|
||
{
|
||
"@type": "HowToStep",
|
||
"position": 1,
|
||
"name": "Installer l'extension",
|
||
"text": "Ajoutez KoalaSync à votre navigateur depuis le Chrome Web Store ou les modules complémentaires Firefox. Fonctionne sur tout site avec un élément vidéo.",
|
||
"url": "https://sync.koalastuff.net/#how-it-works"
|
||
},
|
||
{
|
||
"@type": "HowToStep",
|
||
"position": 2,
|
||
"name": "Créer un salon",
|
||
"text": "Ouvrez l'extension et cliquez sur Créer un nouveau salon. Le lien d'invitation est automatiquement copié dans votre presse-papiers.",
|
||
"url": "https://sync.koalastuff.net/#how-it-works"
|
||
},
|
||
{
|
||
"@type": "HowToStep",
|
||
"position": 3,
|
||
"name": "Partager et synchroniser",
|
||
"text": "Envoyez le lien d'invitation à vos amis. Sélectionnez un onglet vidéo et profitez de la lecture synchronisée en temps réel.",
|
||
"url": "https://sync.koalastuff.net/#how-it-works"
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
<script type="application/ld+json" id="schema-faq">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "FAQPage",
|
||
"mainEntity": [
|
||
{
|
||
"@type": "Question",
|
||
"name": "Puis-je regarder Netflix, Emby ou Jellyfin en synchronisation avec des amis ?",
|
||
"acceptedAnswer": { "@type": "Answer", "text": "Oui ! KoalaSync fonctionne avec Netflix, YouTube, Twitch et tout site avec un lecteur vidéo HTML5 — y compris Emby, Jellyfin et les serveurs multimédia auto-hébergés. Installez l'extension, créez un salon, partagez le lien et regardez en parfaite synchronisation." }
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "KoalaSync est-il une alternative gratuite à Teleparty ?",
|
||
"acceptedAnswer": { "@type": "Answer", "text": "100 % gratuit et open source sous licence MIT. Aucun niveau premium, aucune fonctionnalité verrouillée, aucune publicité. Contrairement à Teleparty, le serveur relay de KoalaSync fonctionne uniquement en RAM — sans collecte de données ni comptes utilisateur." }
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "KoalaSync fonctionne-t-il avec Emby, Jellyfin et les serveurs multimédia auto-hébergés ?",
|
||
"acceptedAnswer": { "@type": "Answer", "text": "Oui. KoalaSync détecte tout élément vidéo HTML5 standard et fonctionne parfaitement avec Emby, Jellyfin, Plex et toute configuration de streaming personnalisée. Vous pouvez également auto-héberger le serveur relay via Docker." }
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "Quels navigateurs et plateformes prennent en charge KoalaSync ?",
|
||
"acceptedAnswer": { "@type": "Answer", "text": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave et tous les navigateurs basés sur Chromium. Installez-le depuis le Chrome Web Store ou les modules complémentaires Firefox." }
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "Tous mes amis doivent-ils installer l'extension ?",
|
||
"acceptedAnswer": { "@type": "Answer", "text": "Oui, chaque participant a besoin de KoalaSync — mais sans inscription ni création de compte. Cliquez simplement sur le lien d'invitation, installez l'extension si nécessaire et vous rejoignez automatiquement le salon." }
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "Mes données sont-elles en sécurité ? Et si je ne fais pas confiance au serveur officiel ?",
|
||
"acceptedAnswer": { "@type": "Answer", "text": "Totalement sûr. Le serveur relay de KoalaSync fonctionne uniquement en RAM — toutes les données de session sont supprimées dès que vous quittez le salon. Aucune base de données, aucun journal, aucune analyse, aucun compte. Si vous préférez un contrôle total : hébergez votre propre serveur relay privé via Docker en quelques minutes. Le code source est entièrement open source et vérifiable sur GitHub." }
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
|
||
<a class="skip-link" href="#main-content">Skip to main content</a>
|
||
|
||
<div class="bg-blobs">
|
||
<div class="blob blob-1"></div>
|
||
<div class="blob blob-2"></div>
|
||
<div class="blob blob-3"></div>
|
||
</div>
|
||
|
||
<nav>
|
||
<div class="container nav-content">
|
||
<div class="logo-area">
|
||
<picture><source srcset="../assets/NewLogoIcon_64.avif 64w, ../assets/NewLogoIcon_128.avif 128w, ../assets/NewLogoIcon.avif 256w" type="image/avif"><img src="../assets/NewLogoIcon_128.webp" srcset="../assets/NewLogoIcon_64.webp 64w, ../assets/NewLogoIcon_128.webp 128w, ../assets/NewLogoIcon.webp 256w" sizes="64px" alt="KoalaSync Logo" width="64" height="64"></picture>
|
||
<span>KoalaSync</span>
|
||
<div id="nav-extension-status" class="nav-ext-status" style="display: none;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>
|
||
<span>Installed</span>
|
||
</div>
|
||
</div>
|
||
<div class="nav-links" id="primary-nav" role="navigation" aria-label="Primary">
|
||
<a href="#features"><span>Fonctionnalités</span></a>
|
||
<a href="#how-it-works"><span>Comment ça marche</span></a>
|
||
<a href="https://github.com/Shik3i/KoalaSync" target="_blank" style="display: inline-flex; align-items: center; gap: 6px;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" aria-hidden="true" style="display:block" viewBox="0 0 24 24"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.5 11.5 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12"/></svg>
|
||
GitHub
|
||
</a>
|
||
<nav class="sr-only" aria-label="Language alternatives">
|
||
<a href="https://sync.koalastuff.net/" hreflang="en">English</a>
|
||
<a href="https://sync.koalastuff.net/de/" hreflang="de">Deutsch</a>
|
||
<a href="https://sync.koalastuff.net/fr/" hreflang="fr">Français</a>
|
||
<a href="https://sync.koalastuff.net/es/" hreflang="es">Español</a>
|
||
<a href="https://sync.koalastuff.net/pt-BR/" hreflang="pt-br">Português (Brasil)</a>
|
||
<a href="https://sync.koalastuff.net/ru/" hreflang="ru">Русский</a>
|
||
<a href="https://sync.koalastuff.net/it/" hreflang="it">Italiano</a>
|
||
<a href="https://sync.koalastuff.net/pl/" hreflang="pl">Polski</a>
|
||
<a href="https://sync.koalastuff.net/tr/" hreflang="tr">Türkçe</a>
|
||
<a href="https://sync.koalastuff.net/nl/" hreflang="nl">Nederlands</a>
|
||
<a href="https://sync.koalastuff.net/ja/" hreflang="ja">日本語</a>
|
||
<a href="https://sync.koalastuff.net/ko/" hreflang="ko">한국어</a>
|
||
<a href="https://sync.koalastuff.net/pt/" hreflang="pt">Português (Portugal)</a>
|
||
</nav>
|
||
</div>
|
||
<div class="nav-right">
|
||
<div class="lang-select-container">
|
||
<select class="lang-dropdown" aria-label="Select Language">
|
||
<option value="en" >🇬🇧 English</option>
|
||
<option value="de" >🇩🇪 Deutsch</option>
|
||
<option value="fr" selected>🇫🇷 Français</option>
|
||
<option value="es" >🇪🇸 Español</option>
|
||
<option value="pt-BR" >🇧🇷 Português (Brasil)</option>
|
||
<option value="ru" >🇷🇺 Русский</option>
|
||
<option value="it" >🇮🇹 Italiano</option>
|
||
<option value="pl" >🇵🇱 Polski</option>
|
||
<option value="tr" >🇹🇷 Türkçe</option>
|
||
<option value="nl" >🇳🇱 Nederlands</option>
|
||
<option value="ja" >🇯🇵 日本語</option>
|
||
<option value="ko" >🇰🇷 한국어</option>
|
||
<option value="pt" >🇵🇹 Português (Portugal)</option>
|
||
</select>
|
||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" class="chevron-icon" viewBox="0 0 24 24"><path d="m6 9 6 6 6-6"/></svg>
|
||
</div>
|
||
<button class="hamburger" aria-label="Toggle navigation menu" aria-expanded="false" aria-controls="primary-nav">
|
||
<svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><path d="M3 6h18M3 12h18M3 18h18"/></svg>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<header class="hero" id="main-content">
|
||
<div class="container hero-grid">
|
||
<div class="hero-text">
|
||
<a href="https://github.com/Shik3i/KoalaSync/blob/main/CHANGELOG.md" target="_blank" class="version-badge" data-reveal style="text-decoration: none; display: inline-block; transition: transform 0.2s, box-shadow 0.2s;" title="View Changelog">
|
||
<span class="version-text-en" lang="en">v2.1.0 OUT NOW</span>
|
||
<span class="version-text-de" lang="de">v2.1.0 JETZT VERFÜGBAR</span>
|
||
</a>
|
||
<h1 data-reveal>Regardez ensemble.<br>Synchronisation parfaite.</h1>
|
||
<p class="hero-subtitle" data-reveal>Votre soirée cinéma à distance sans décalage. Pas d'inscription, pas de collecte de données. Partagez simplement un lien et regardez ensemble.</p>
|
||
<div class="hero-mascot-container" data-reveal>
|
||
<picture><source srcset="../assets/LookDownKoala-1x.avif 90w, ../assets/LookDownKoala.avif 205w" type="image/avif"><img src="../assets/LookDownKoala-1x.webp" srcset="../assets/LookDownKoala-1x.webp 90w, ../assets/LookDownKoala.webp 205w" sizes="90px" alt="Un koala mignon debout et regardant vers le bas les boutons de téléchargement" class="hero-lookdown-mascot" width="90" height="132" loading="eager" fetchpriority="high" decoding="async"></picture>
|
||
</div>
|
||
<div class="cta-group" data-reveal>
|
||
<a href="https://chromewebstore.google.com/detail/koalasync/obbnmkmlaaddodakcbdljknjpagklifc" class="btn btn-primary">
|
||
<img src="../assets/chrome.svg" alt="Chrome" width="20" height="20">
|
||
<span>Ajouter à Chrome</span>
|
||
</a>
|
||
<a href="https://addons.mozilla.org/de/firefox/addon/koalasync/" class="btn btn-firefox">
|
||
<img src="../assets/firefox.svg" alt="Firefox" width="20" height="20">
|
||
<span>Ajouter à Firefox</span>
|
||
</a>
|
||
<a href="https://github.com/Shik3i/KoalaSync/releases" target="_blank" class="btn btn-secondary" style="display: inline-flex; align-items: center; gap: 8px;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" aria-hidden="true" style="display:block" viewBox="0 0 24 24"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.5 11.5 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12"/></svg>
|
||
GitHub Releases
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Interactive CSS Extension Mockup -->
|
||
<div class="hero-mockup-wrapper" data-reveal>
|
||
<div class="extension-mockup">
|
||
<div class="mock-header-row">
|
||
<div class="mock-header-title"><picture><source srcset="../assets/NewLogoIcon.avif" type="image/avif"><img src="../assets/NewLogoIcon.webp" alt="KoalaSync Logo"></picture>KoalaSync</div>
|
||
<a href="https://github.com/Shik3i/KoalaSync" target="_blank" class="mock-version-link" title="Visit GitHub Repository">
|
||
<svg fill="currentColor" style="width:12px;height:12px;display:block" viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8"/></svg>
|
||
<span class="mockup-version">2.1.0</span>
|
||
</a>
|
||
</div>
|
||
<div class="mock-tabs">
|
||
<button class="mock-tab active" data-target="mock-room" title="Room settings and connection">Room</button>
|
||
<button class="mock-tab" data-target="mock-sync" title="Video sync controls and remote actions">Sync</button>
|
||
<button class="mock-tab" data-target="mock-settings" title="Extension preferences">Settings</button>
|
||
<button class="mock-tab" data-target="mock-dev" title="Advanced Diagnostics & Logs">Status</button>
|
||
</div>
|
||
<div class="mock-body">
|
||
<!-- ROOM TAB -->
|
||
<div id="mock-room" class="mock-screen active">
|
||
<div class="mock-joined-room" style="display: flex; justify-content: space-between; align-items: center; border-left: 4px solid var(--accent); padding: 8px 10px; background: var(--card); border-radius: 8px; margin-bottom: 12px;" title="The room you are currently connected to">
|
||
<div style="display: flex; flex-direction: column;">
|
||
<span style="font-size: 0.6rem; text-transform: uppercase; color: var(--text-muted); font-weight: 700; line-height: 1;">Salle active</span>
|
||
<span class="mock-room-name" style="font-weight: 700; color: var(--accent); font-size: 0.9rem; letter-spacing: 0.5px; margin-top: 2px;">brave-eagle-80</span>
|
||
</div>
|
||
<span class="mock-server-badge" style="font-size: 0.6rem; color: var(--text-muted);">Serveur officiel</span>
|
||
</div>
|
||
<div class="mock-card">
|
||
<div class="mock-label" title="Share this link with friends so they can join">Lien d'invitation</div>
|
||
<div class="mock-invite-box">
|
||
<input type="text" class="mock-input" value="https://sync.koalastuff.net/join#join:brave-eagle-80:pass" readonly style="flex: 1;" aria-label="Invite link">
|
||
<button class="mock-btn" style="width: 40px; padding: 0.45rem 0; flex-shrink: 0; background: #334155;" title="Copy Invite Link"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg></button>
|
||
</div>
|
||
</div>
|
||
<div class="mock-card" style="margin-bottom: 12px;">
|
||
<div class="mock-label" title="Other users currently connected to this room">Participants</div>
|
||
<div class="mock-peer-list">
|
||
<div class="mock-peer-item">
|
||
<div class="mock-peer-header">
|
||
<span class="mock-peer-name">CoolUsername</span>
|
||
<span class="mock-peer-meta">VOUS</span>
|
||
</div>
|
||
<div class="mock-peer-tab"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="20" height="20" x="2" y="2" rx="2.18" ry="2.18"/><path d="M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5m10 0h5M17 7h5"/></svg> Stranger Things - S4E1</div>
|
||
<div class="mock-peer-status"><span style="color:#22c55e;">●</span> 0:55 • Lecture</div>
|
||
</div>
|
||
<div class="mock-peer-item">
|
||
<div class="mock-peer-header">
|
||
<span class="mock-peer-name">KoalaPC</span>
|
||
<span class="mock-peer-meta">Partenaire</span>
|
||
</div>
|
||
<div class="mock-peer-tab"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="20" height="20" x="2" y="2" rx="2.18" ry="2.18"/><path d="M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5m10 0h5M17 7h5"/></svg> Stranger Things - S4E1</div>
|
||
<div class="mock-peer-status"><span style="color:#22c55e;">●</span> 0:55 • Lecture</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<button class="mock-btn" style="background:#ef4444; width:100%; border: none; padding: 10px; border-radius: 8px; color: white; font-weight: 700; cursor: pointer; border: 1px solid #ef4444;">Quitter</button>
|
||
</div>
|
||
|
||
<!-- SYNC TAB -->
|
||
<div id="mock-sync" class="mock-screen">
|
||
<div class="mock-form-group" style="margin-bottom: 12px;">
|
||
<label class="mock-section-label" title="Choose the browser tab containing the video to sync">
|
||
Choisir la vidéo
|
||
</label>
|
||
<select class="mock-input" style="width: 100%; box-sizing: border-box; background: var(--card); border: 1px solid #334155; color: white; padding: 8px; border-radius: 8px; font-family: inherit; font-size: 0.75rem; outline: none; cursor: default;">
|
||
<option><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="20" height="20" x="2" y="2" rx="2.18" ry="2.18"/><path d="M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5m10 0h5M17 7h5"/></svg> Stranger Things - S4E1</option>
|
||
</select>
|
||
</div>
|
||
|
||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;">
|
||
<label style="margin: 0; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: 700;">
|
||
Télécommande
|
||
</label>
|
||
<button class="mock-btn" style="background:transparent; border: 1px solid #334155; border-radius: 6px; padding: 2px 6px; font-size: 0.65rem; cursor:default; opacity:0.8; color: var(--text-muted); display: flex; align-items: center; gap: 4px; white-space: nowrap;" title="Copy Invite Link">
|
||
<span><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg></span>
|
||
Lien d'invitation
|
||
</button>
|
||
</div>
|
||
<div style="display: flex; gap: 8px; margin-bottom: 12px;">
|
||
<button class="mock-btn mock-btn-play" style="flex: 1; background: #22c55e; color: white; padding: 8px; border-radius: 8px; font-weight: 700; border: none; cursor: pointer;" title="Send a Play command to everyone">Lire</button>
|
||
<button class="mock-btn mock-btn-pause" style="flex: 1; background: #ef4444; color: white; padding: 8px; border-radius: 8px; font-weight: 700; border: none; cursor: pointer;" title="Send a Pause command to everyone">Pause</button>
|
||
</div>
|
||
|
||
<div style="display: flex; gap: 8px; margin-bottom: 15px; align-items: stretch;">
|
||
<button class="mock-btn" style="background: linear-gradient(135deg, #6366f1, #a855f7); flex: 1; color: white; border: none; font-weight: 700; border-radius: 8px; padding: 8px; cursor: pointer;" title="Force all users to sync up">
|
||
Sauter vers les autres
|
||
</button>
|
||
<div class="mock-input" style="flex: 1; background: var(--card); border: 1px solid #334155; color: white; padding: 6px; border-radius: 8px; font-size: 0.75rem; display: flex; align-items: center; justify-content: space-between;" title="Choose sync target">
|
||
<span>
|
||
Dernière activité
|
||
</span>
|
||
<span style="font-size: 0.5rem; opacity: 0.6;">▼</span>
|
||
</div>
|
||
</div>
|
||
|
||
<label class="mock-section-label" title="Shows the most recent play, pause, or seek command">
|
||
En attente de 1 participant (KoalaPC)...
|
||
</label>
|
||
<div class="mock-card" style="margin-bottom: 15px; display: flex; flex-direction: column; gap: 6px;">
|
||
<div style="display: flex; justify-content: space-between; align-items: baseline;">
|
||
<span style="font-weight: 700; color: #ef4444; font-size: 11px;">PAUSE</span>
|
||
<span style="font-size: 9px; color: var(--text-muted);">CoolUsername @ 12:44:32</span>
|
||
</div>
|
||
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(36px, 1fr)); gap: 5px; margin-top: 4px;">
|
||
<div style="display: flex; flex-direction: column; align-items: center;">
|
||
<div style="width: 18px; height: 18px; border-radius: 50%; background: var(--success); color: white; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: bold; margin-bottom: 1px;"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" aria-hidden="true" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg></div>
|
||
<span style="font-size: 7px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 36px;">🐨 KoalaPC</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Episode Auto-Sync Lobby Status Mockup -->
|
||
<div class="mock-card" style="margin-bottom: 15px; border-left: 4px solid #fbbf24; background: var(--card); padding: 8px 10px; border-radius: 8px;">
|
||
<div style="display:flex; align-items:center; gap: 6px; margin-bottom: 4px;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" style="display:block;flex-shrink:0" viewBox="0 0 24 24"><path d="M5 22h14M5 2h14m-2 20v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"/></svg>
|
||
<span style="font-weight: 700; color: #fbbf24; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em;">Episode Lobby</span>
|
||
</div>
|
||
<div style="font-size: 0.7rem; color: white; margin-bottom: 4px; font-weight: 600;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="20" height="20" x="2" y="2" rx="2.18" ry="2.18"/><path d="M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5m10 0h5M17 7h5"/></svg> Stranger Things - S4E2
|
||
</div>
|
||
<div style="font-size: 0.65rem; color: var(--text-muted); margin-bottom: 6px;">
|
||
Passer & lire
|
||
</div>
|
||
<button class="mock-btn" style="background: #334155; border: none; padding: 4px 8px; border-radius: 6px; color: white; font-weight: 600; font-size: 0.65rem; cursor: pointer; width: auto; display: block;" title="Cancel lobby and play anyway">
|
||
Votre pseudo
|
||
</button>
|
||
</div>
|
||
|
||
<label class="mock-section-label" title="Other users currently connected to this room">
|
||
Participants
|
||
</label>
|
||
<div class="mock-card" style="margin-bottom: 12px;">
|
||
<div class="mock-peer-list">
|
||
<div class="mock-peer-item">
|
||
<div class="mock-peer-header">
|
||
<span class="mock-peer-name">CoolUsername</span>
|
||
<span class="mock-peer-meta">VOUS</span>
|
||
</div>
|
||
<div class="mock-peer-tab"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="20" height="20" x="2" y="2" rx="2.18" ry="2.18"/><path d="M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5m10 0h5M17 7h5"/></svg> Stranger Things - S4E1</div>
|
||
<div class="mock-peer-status"><span style="color:#22c55e;">●</span> 0:55 • Lecture</div>
|
||
</div>
|
||
<div class="mock-peer-item">
|
||
<div class="mock-peer-header">
|
||
<span class="mock-peer-name">KoalaPC</span>
|
||
<span class="mock-peer-meta">Partenaire</span>
|
||
</div>
|
||
<div class="mock-peer-tab"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="20" height="20" x="2" y="2" rx="2.18" ry="2.18"/><path d="M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5m10 0h5M17 7h5"/></svg> Stranger Things - S4E1</div>
|
||
<div class="mock-peer-status"><span style="color:#22c55e;">●</span> 0:55 • Lecture</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- SETTINGS TAB -->
|
||
<div id="mock-settings" class="mock-screen">
|
||
<div style="display: flex; align-items: center; justify-content: space-between; background: var(--card); padding: 8px 10px; border-radius: 8px; margin-bottom: 10px; border: 1px solid #334155;">
|
||
<label style="margin: 0; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: 700;" title="Username helps others identify you.">
|
||
Masquer les onglets inutiles
|
||
</label>
|
||
<input type="text" class="mock-input" value="CoolUsername" readonly style="width: 110px; padding: 4px; text-align: right; background: transparent; border: none; color: var(--accent); font-weight: 700;">
|
||
</div>
|
||
|
||
<div style="display: flex; align-items: center; justify-content: space-between; background: var(--card); padding: 8px 10px; border-radius: 8px; margin-bottom: 8px; border: 1px solid #334155;">
|
||
<label style="margin: 0; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: 700; cursor: help;" title="Filters out non-video tabs and unrelated domains to keep the list clean">
|
||
Auto-sync épisode suivant
|
||
</label>
|
||
<label class="mock-toggle-switch">
|
||
<input type="checkbox" checked>
|
||
<span class="mock-slider"></span>
|
||
</label>
|
||
</div>
|
||
|
||
<div style="display: flex; align-items: center; justify-content: space-between; background: var(--card); padding: 8px 10px; border-radius: 8px; margin-bottom: 8px; border: 1px solid #334155;">
|
||
<label style="margin: 0; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: 700; cursor: help;" title="Pauses automatically and waits for all peers when an episode changes, then sync-starts together.">
|
||
Copie automatique du lien d'invitation
|
||
</label>
|
||
<label class="mock-toggle-switch">
|
||
<input type="checkbox" checked>
|
||
<span class="mock-slider"></span>
|
||
</label>
|
||
</div>
|
||
|
||
<div style="display: flex; align-items: center; justify-content: space-between; background: var(--card); padding: 8px 10px; border-radius: 8px; margin-bottom: 8px; border: 1px solid #334155;">
|
||
<label style="margin: 0; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: 700; cursor: help;" title="Automatically copies the invite link to your clipboard when creating a new room.">
|
||
Notifications navigateur
|
||
</label>
|
||
<label class="mock-toggle-switch">
|
||
<input type="checkbox" checked>
|
||
<span class="mock-slider"></span>
|
||
</label>
|
||
</div>
|
||
|
||
<div style="display: flex; align-items: center; justify-content: space-between; background: var(--card); padding: 8px 10px; border-radius: 8px; margin-bottom: 12px; border: 1px solid #334155;">
|
||
<label style="margin: 0; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: 700; cursor: help;" title="Shows native system notifications when someone joins/leaves or plays/pauses.">
|
||
Dépannage
|
||
</label>
|
||
<label class="mock-toggle-switch">
|
||
<input type="checkbox">
|
||
<span class="mock-slider"></span>
|
||
</label>
|
||
</div>
|
||
|
||
<div style="margin-top: 15px; padding-top: 8px; border-top: 1px solid #334155;">
|
||
<label class="mock-section-label" title="Tools for fixing connection issues">
|
||
Régénérer l'ID pair
|
||
</label>
|
||
<button class="mock-btn" style="background:#334155; width:100%; border: none; padding: 10px; border-radius: 8px; color: white; font-weight: 600; cursor: pointer; font-size: 11px;" title="Regenerate your internal ID and reconnect">
|
||
Utilisez ceci en cas d'erreur "Identité dupliquée".
|
||
</button>
|
||
<p style="font-size: 9px; color: var(--text-muted); margin-top: 5px; text-align: center; margin-bottom: 0;">
|
||
État de la connexion
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- DEV TAB -->
|
||
<div id="mock-dev" class="mock-screen">
|
||
<label class="mock-section-label" title="Current WebSocket connection state">
|
||
Connecté
|
||
</label>
|
||
<div class="mock-card" style="display:flex; align-items:center; gap: 10px; margin-bottom: 12px;">
|
||
<span class="status-dot status-online" style="width: 8px; height: 8px; border-radius: 50%; display: inline-block; background: #22c55e; box-shadow: 0 0 8px #22c55e;"></span>
|
||
<span style="flex:1; font-size: 0.75rem; font-weight: 600; color: white;">
|
||
Copier les logs
|
||
</span>
|
||
<button class="mock-btn" style="width: auto; padding: 4px 8px; font-size: 0.65rem; border: none; background: #334155; color: white; border-radius: 6px; cursor: pointer;" title="Copy logs to clipboard for sharing">
|
||
Infos de débogage vidéo
|
||
</button>
|
||
</div>
|
||
|
||
<label class="mock-section-label" title="Technical details about the currently selected video element">
|
||
Historique complet d'actions
|
||
</label>
|
||
<div class="mock-card" style="font-size: 0.65rem; font-family: monospace; color: var(--text-muted); line-height: 1.4; margin-bottom: 12px;">
|
||
<div>readyState: HAVE_ENOUGH_DATA</div>
|
||
<div>seekDelta: 0.05s</div>
|
||
<div>buffered: 300.2s</div>
|
||
<div>engineState: <span style="color:#22c55e; font-weight:700;">SYNCED</span></div>
|
||
</div>
|
||
|
||
<label class="mock-section-label" title="Chronological log of all sync commands in the room">
|
||
Logs (50 derniers)
|
||
</label>
|
||
<div class="mock-card" style="font-size: 0.65rem; color: var(--text-muted); line-height: 1.4; margin-bottom: 12px; max-height: 100px; overflow-y: auto; display: flex; flex-direction: column; gap: 4px;">
|
||
<div style="display: flex; justify-content: space-between; border-bottom: 1px solid #334155; padding-bottom: 4px;">
|
||
<span>CoolUsername: PAUSE</span>
|
||
<span style="opacity: 0.5;">0:55</span>
|
||
</div>
|
||
<div style="display: flex; justify-content: space-between; padding-top: 2px;">
|
||
<span>KoalaPC: PLAY</span>
|
||
<span style="opacity: 0.5;">0:00</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;">
|
||
<label style="margin: 0; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: 700;" title="Technical connection logs for debugging">
|
||
EFFACER
|
||
</label>
|
||
<button class="mock-btn" style="background:transparent; border:none; color:var(--accent); font-size:10px; cursor:default; padding: 0; font-weight: 700;" title="Clear log output">
|
||
CLEAR
|
||
</button>
|
||
</div>
|
||
<div style="max-height: 120px; overflow-y: auto; font-size: 0.65rem; font-family: monospace; background: #000; padding: 8px 10px; border-radius: 8px; color: #ccc; line-height: 1.4;">
|
||
<div style="color:#22c55e;">[18:37:32] EVENT: PLAY -> ACK</div>
|
||
<div>[18:37:32] FORCE_SYNC -> 0.05s diff</div>
|
||
<div>[18:37:38] EVENT: PAUSE -> BROADCAST</div>
|
||
<div style="color:var(--text-muted);">[18:37:42] content_heartbeat: active</div>
|
||
</div>
|
||
|
||
<div style="margin-top: 16px; text-align: center; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 10px; flex-shrink: 0;">
|
||
<a href="https://github.com/Shik3i/KoalaSync" target="_blank" style="color: var(--text-muted); text-decoration: none; font-size: 10px; opacity: 0.6; display: block;">GitHub Repository</a>
|
||
<div style="color: var(--text-muted); font-size: 9px; opacity: 0.4; margin-top: 4px;" class="mockup-version">2.1.0</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<section class="compat-section">
|
||
<div class="container">
|
||
<picture><source srcset="../assets/PlatformJuggler_New-1x.avif 368w, ../assets/PlatformJuggler_New.avif 643w" type="image/avif"><img src="../assets/PlatformJuggler_New-1x.webp" srcset="../assets/PlatformJuggler_New-1x.webp 368w, ../assets/PlatformJuggler_New.webp 643w" sizes="(max-width: 768px) calc(100vw - 2rem), 368px" alt="A cute koala juggling multiple browser tabs showing streaming platforms" class="compat-mascot" width="300" height="233" loading="lazy" fetchpriority="low" data-reveal></picture>
|
||
<p class="compat-heading" data-reveal>
|
||
<span>Fonctionne sur vos plateformes préférées</span>
|
||
</p>
|
||
<div class="compat-row" data-reveal>
|
||
<div class="compat-logo">
|
||
<img src="../assets/netflix.svg" alt="Netflix" width="24" height="24">
|
||
<span>Netflix</span>
|
||
</div>
|
||
<div class="compat-logo">
|
||
<img src="../assets/youtube.svg" alt="YouTube" width="24" height="24">
|
||
<span>YouTube</span>
|
||
</div>
|
||
<div class="compat-logo">
|
||
<img src="../assets/twitch.svg" alt="Twitch" width="24" height="24">
|
||
<span>Twitch</span>
|
||
</div>
|
||
<div class="compat-logo">
|
||
<img src="../assets/primevideo.svg" alt="Prime Video" width="24" height="24">
|
||
<span>Prime Video</span>
|
||
</div>
|
||
<div class="compat-logo">
|
||
<img src="../assets/jellyfin.svg" alt="Jellyfin" width="24" height="24">
|
||
<span>Jellyfin</span>
|
||
</div>
|
||
<div class="compat-logo">
|
||
<img src="../assets/emby.svg" alt="Emby" width="24" height="24">
|
||
<span>Emby</span>
|
||
</div>
|
||
<div class="compat-logo compat-more">
|
||
<span class="compat-more-icon">+</span>
|
||
<span>et beaucoup d'autres</span>
|
||
<div class="compat-tooltip">
|
||
<span>Fonctionne sur presque tous les sites avec un élément vidéo</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="use-cases" class="use-cases-section">
|
||
<div class="container">
|
||
<h2 class="section-title" data-reveal style="text-align: center; font-size: 2.2rem; margin-bottom: 1rem;">
|
||
<span>Parfait pour toutes les occasions</span>
|
||
</h2>
|
||
<p class="section-subtitle" data-reveal style="text-align: center; color: var(--text-muted); margin-bottom: 3.5rem; max-width: 600px; margin-left: auto; margin-right: auto;">
|
||
<span>Que ce soit de près ou de loin, KoalaSync rassemble les gens autour de leurs vidéos préférées.</span>
|
||
</p>
|
||
<div class="use-cases-grid">
|
||
<div class="use-case-card" data-reveal>
|
||
<picture><source srcset="../assets/PopcornFriends-1x.avif 272w, ../assets/PopcornFriends.avif 543w" type="image/avif"><img src="../assets/PopcornFriends-1x.webp" srcset="../assets/PopcornFriends-1x.webp 272w, ../assets/PopcornFriends.webp 543w" sizes="(max-width: 768px) calc(100vw - 2rem), 272px" alt="Deux koalas mignons assis ensemble et partageant un seau de pop-corn" class="use-case-image" width="272" height="150" loading="lazy" fetchpriority="low"></picture>
|
||
<h3>
|
||
<span>Soirée cinéma entre amis</span>
|
||
</h3>
|
||
<p>Synchronisez vos films en temps réel et parlez via Discord, Zoom ou votre application d'appel vocal préférée. C'est comme si vous étiez dans la même pièce.</p>
|
||
</div>
|
||
<div class="use-case-card" data-reveal>
|
||
<picture><source srcset="../assets/RemoteProf-1x.avif 272w, ../assets/RemoteProf.avif 507w" type="image/avif"><img src="../assets/RemoteProf-1x.webp" srcset="../assets/RemoteProf-1x.webp 272w, ../assets/RemoteProf.webp 507w" sizes="(max-width: 768px) calc(100vw - 2rem), 272px" alt="Un professeur koala faisant une présentation sur un écran à deux élèves koalas à distance" class="use-case-image" width="272" height="150" loading="lazy" fetchpriority="low"></picture>
|
||
<h3>
|
||
<span>Apprentissage à distance</span>
|
||
</h3>
|
||
<p>Analysez des tutoriels en ligne, des conférences ou des flux de formation de développeurs avec des camarades ou des collègues. Faites une pause et discutez des étapes complexes en parfaite harmonie.</p>
|
||
</div>
|
||
<div class="use-case-card" data-reveal>
|
||
<picture><source srcset="../assets/KoalaCupple_New-1x.avif 272w, ../assets/KoalaCupple_New.avif 579w" type="image/avif"><img src="../assets/KoalaCupple_New-1x.webp" srcset="../assets/KoalaCupple_New-1x.webp 272w, ../assets/KoalaCupple_New.webp 579w" sizes="(max-width: 768px) calc(100vw - 2rem), 272px" alt="Un couple de koalas mignons regardant ensemble à distance ; l'un est assis devant un PC et l'autre est au lit avec un ordinateur portable, avec des cœurs volants entre eux" class="use-case-image" width="272" height="150" loading="lazy" fetchpriority="low"></picture>
|
||
<h3>
|
||
<span>Relations à distance</span>
|
||
</h3>
|
||
<p>Comblez la distance et profitez de soirées en tête-à-tête. Vivez chaque rebondissement, riez des mêmes blagues et partagez des moments émotionnels à la milliseconde près.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="features">
|
||
<div class="container">
|
||
<picture><source srcset="../assets/KoalaQuestions-1x.avif 250w, ../assets/KoalaQuestions.avif 355w" type="image/avif"><img src="../assets/KoalaQuestions-1x.webp" srcset="../assets/KoalaQuestions-1x.webp 250w, ../assets/KoalaQuestions.webp 355w" sizes="(max-width: 768px) calc(100vw - 2rem), 250px" alt="A cute koala with a question mark above its head wondering why to choose KoalaSync" class="features-questions-mascot" width="250" height="211" loading="lazy" fetchpriority="low" data-reveal></picture>
|
||
<h2 style="font-size: 2.5rem; text-align: center; margin-bottom: 1rem;">
|
||
<span>Pourquoi KoalaSync ?</span>
|
||
</h2>
|
||
<p style="text-align: center; color: var(--text-muted); margin-bottom: 4rem;">
|
||
<span>Conçu pour une synchronisation fiable, le respect de la vie privée et une configuration facile.</span>
|
||
</p>
|
||
|
||
<div class="features-grid">
|
||
<!-- Card 1: Full Control / Instant Sync (Bento Large) -->
|
||
<div class="feature-card bento-large" data-reveal>
|
||
<h3>
|
||
<span class="feature-icon-svg">
|
||
<svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="bento-icon" viewBox="0 0 24 24"><path d="M13 2 3 14h9l-1 8 10-12h-9z"/></svg>
|
||
</span>
|
||
<span>Contrôle total / Synchro instantanée</span>
|
||
</h3>
|
||
<p>Un joueur met en pause, tout le monde met en pause. Un joueur avance, tout le monde suit. Notre protocole de synchronisation en deux phases coordonne la lecture en temps réel pour tous les participants.</p>
|
||
</div>
|
||
|
||
<!-- Card 2: Endless Binge-Watching (Bento Standard) -->
|
||
<div class="feature-card" data-reveal>
|
||
<h3>
|
||
<span class="feature-icon-svg">
|
||
<svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="bento-icon" viewBox="0 0 24 24"><rect width="20" height="20" x="2" y="2" rx="2.18" ry="2.18"/><path d="M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5m10 0h5M17 7h5"/></svg>
|
||
</span>
|
||
<span>Binge-watching sans fin</span>
|
||
</h3>
|
||
<p>Lecture automatique synchronisée. KoalaSync détecte automatiquement les transitions d'épisodes et suspend la lecture jusqu'à ce que tous les participants aient chargé la vidéo suivante.</p>
|
||
</div>
|
||
|
||
<!-- Card 3: Zero Accounts / Pure Privacy (Bento Standard) -->
|
||
<div class="feature-card" data-reveal>
|
||
<h3>
|
||
<span class="feature-icon-svg">
|
||
<svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="bento-icon" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10"/></svg>
|
||
</span>
|
||
<span>Aucun compte / Vie privée garantie</span>
|
||
</h3>
|
||
<p>Pas d'inscription, pas de suivi, pas de stockage de données. Le serveur fonctionne entièrement dans une RAM éphémère et supprime votre salon dès votre départ.</p>
|
||
<div class="bento-visual-architecture" style="margin-top: 15px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.05); font-size: 0.7rem; font-family: monospace; display: flex; align-items: center; justify-content: space-between; color: var(--accent);">
|
||
<span>STATE: VOLATILE</span>
|
||
<span style="background: rgba(99, 102, 241, 0.15); padding: 2px 6px; border-radius: 4px; font-weight: 700; font-size: 0.6rem;">RAM-ONLY</span>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Card 4: Universal HTML5 Support (Bento Large) -->
|
||
<div class="feature-card bento-large" data-reveal>
|
||
<h3>
|
||
<span class="feature-icon-svg">
|
||
<svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="bento-icon" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10"/></svg>
|
||
</span>
|
||
<span>Support HTML5 universel</span>
|
||
</h3>
|
||
<p>Fonctionne sur YouTube, Twitch, Netflix, Jellyfin, Emby et presque n'importe quelle page web standard contenant un élément vidéo HTML5. Également compatible avec les installations personnalisées.</p>
|
||
</div>
|
||
|
||
<!-- Card 5: Instant Invites / 1-Click Join (Bento Large) -->
|
||
<div class="feature-card bento-large" data-reveal>
|
||
<h3>
|
||
<span class="feature-icon-svg">
|
||
<svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="bento-icon" viewBox="0 0 24 24"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>
|
||
</span>
|
||
<span>Invitations instantanées / Rejoindre en 1 clic</span>
|
||
</h3>
|
||
<p>Pas d'adresses IP ou de mots de passe à échanger. Partagez un lien d'invitation généré pour permettre à vos amis de rejoindre automatiquement votre salon en un seul clic.</p>
|
||
</div>
|
||
|
||
<!-- Card 6: Self-Hostable & Docker-Ready (Bento Standard) -->
|
||
<div class="feature-card" data-reveal>
|
||
<h3>
|
||
<span class="feature-icon-svg">
|
||
<svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="bento-icon" viewBox="0 0 24 24"><path d="m4 17 6-6-6-6m8 14h8"/></svg>
|
||
</span>
|
||
<span>Hébergeable soi-même & prêt pour Docker</span>
|
||
</h3>
|
||
<p>Nos serveurs officiels sont gratuits et rapides, mais vous pouvez prendre le contrôle total si vous le souhaitez. Lancez votre propre serveur relais privé en quelques secondes via Docker.</p>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<section id="comparison" class="comparison-section">
|
||
<div class="container">
|
||
<picture><source srcset="../assets/ProContraKoala-1x.avif 260w, ../assets/ProContraKoala.avif 423w" type="image/avif"><img src="../assets/ProContraKoala-1x.webp" srcset="../assets/ProContraKoala-1x.webp 260w, ../assets/ProContraKoala.webp 423w" sizes="(max-width: 768px) calc(100vw - 2rem), 260px" alt="A cute koala weighing options in both hands to compare KoalaSync vs Teleparty" class="comparison-mascot" width="260" height="184" loading="lazy" fetchpriority="low" data-reveal></picture>
|
||
<h2 class="section-title" data-reveal style="text-align: center; font-size: 2.2rem; margin-bottom: 1rem;">
|
||
<span>KoalaSync vs Teleparty</span>
|
||
</h2>
|
||
<p class="section-subtitle" data-reveal style="text-align: center; color: var(--text-muted); margin-bottom: 3.5rem; max-width: 600px; margin-left: auto; margin-right: auto;">
|
||
<span>Découvrez pourquoi un outil open-source, sans publicité et respectueux de la vie privée est le meilleur choix pour regarder ensemble.</span>
|
||
</p>
|
||
|
||
<div class="comparison-table-wrapper" data-reveal>
|
||
<table class="comparison-table">
|
||
<thead>
|
||
<tr>
|
||
<th><span>Fonctionnalité</span></th>
|
||
<th class="highlight">KoalaSync</th>
|
||
<th>Teleparty</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td class="feat-name">
|
||
<strong><span>Coût / Limites payantes</span></strong>
|
||
<span class="feat-desc"><span>Abonnements premium, frais cachés ou fonctionnalités verrouillées.</span></span>
|
||
</td>
|
||
<td class="check highlight">✔ <span>100% Gratuit</span></td>
|
||
<td class="cross">
|
||
✘ <span>Abonnements payants / Verrous Premium</span>
|
||
<a href="https://www.teleparty.com/premium" target="_blank" rel="noopener noreferrer" class="source-link" title="See Teleparty Premium Pricing"><sup>[1]</sup></a>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="feat-name">
|
||
<strong><span>Licence / Code auditable</span></strong>
|
||
<span class="feat-desc"><span>Si le code source est ouvert et librement auditable.</span></span>
|
||
</td>
|
||
<td class="check highlight">✔ <span>Open Source (MIT)</span></td>
|
||
<td class="cross">
|
||
✘ <span>Propriétaire</span>
|
||
<a href="https://www.teleparty.com/privacy" target="_blank" rel="noopener noreferrer" class="source-link" title="See Teleparty Privacy Policy"><sup>[2]</sup></a>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="feat-name">
|
||
<strong><span>Auto-hébergement</span></strong>
|
||
<span class="feat-desc"><span>Possibilité de déployer votre propre serveur relais privé.</span></span>
|
||
</td>
|
||
<td class="check highlight">✔ <span>Oui (prêt pour Docker)</span></td>
|
||
<td class="cross">
|
||
✘ <span>Non</span>
|
||
<a href="https://www.teleparty.com/privacy" target="_blank" rel="noopener noreferrer" class="source-link" title="See Teleparty Privacy Policy"><sup>[2]</sup></a>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="feat-name">
|
||
<strong><span>Vie privée & Suivi</span></strong>
|
||
<span class="feat-desc"><span>Obligation d'inscription, cookies de suivi et analyses.</span></span>
|
||
</td>
|
||
<td class="check highlight">✔ <span>Zéro persistance (RAM uniquement)</span></td>
|
||
<td class="cross">
|
||
✘ <span>Google Analytics & Cookies</span>
|
||
<a href="https://www.teleparty.com/privacy" target="_blank" rel="noopener noreferrer" class="source-link" title="See Teleparty Privacy Policy"><sup>[2]</sup></a>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="feat-name">
|
||
<strong><span>Compatibilité des sites</span></strong>
|
||
<span class="feat-desc"><span>Sites web pris en charge et compatibilité des lecteurs.</span></span>
|
||
</td>
|
||
<td class="check highlight">✔ <span>Presque toutes les vidéos HTML5</span><a href="#footnote-3" class="source-link" title="Technical Compatibility Details"><sup>[3]</sup></a></td>
|
||
<td class="cross">
|
||
✘ <span>Sites pris en charge uniquement</span>
|
||
<a href="https://www.teleparty.com/premium" target="_blank" rel="noopener noreferrer" class="source-link" title="See Teleparty Premium Platforms"><sup>[1]</sup></a>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="feat-name">
|
||
<strong><span>Localisation / Traduction</span></strong>
|
||
<span class="feat-desc"><span>Langues d'interface disponibles et support de traduction.</span></span>
|
||
</td>
|
||
<td class="check highlight">✔ <span>6 langues (et plus à venir)</span></td>
|
||
<td class="cross">
|
||
✘ <span>Anglais uniquement</span>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<div class="table-footnotes">
|
||
<p style="opacity: 0.55; font-size: 0.65rem; margin-bottom: 0.4rem; display: block;">
|
||
<span>État de la comparaison : mai 2026.</span>
|
||
</p>
|
||
<p>
|
||
<sup>[1]</sup>
|
||
<span>Détails sur les tarifs officiels de Teleparty Premium et les réseaux pris en charge :</span>
|
||
<a href="https://www.teleparty.com/premium" target="_blank" rel="noopener noreferrer">teleparty.com/premium</a>
|
||
</p>
|
||
<p>
|
||
<sup>[2]</sup>
|
||
<span>Politiques de confidentialité et collecte de données de suivi de Teleparty :</span>
|
||
<a href="https://www.teleparty.com/privacy" target="_blank" rel="noopener noreferrer">teleparty.com/privacy</a>
|
||
</p>
|
||
<p id="footnote-3">
|
||
<sup>[3]</sup>
|
||
<span>Fonctionne sur les sites web qui autorisent les injections de scripts dans les balises vidéo HTML5 standard. Les sites avec des politiques de sécurité du contenu (CSP) très strictes, une protection contre la copie DRM ou des conteneurs de lecteurs fortement obscurcis (comme des DOM fantômes complexes) peuvent restreindre le contrôle automatisé ou l'injection.</span>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="how-it-works" style="background: rgba(255,255,255,0.02)">
|
||
<div class="container">
|
||
<h2 style="font-size: 2.5rem; text-align: center; margin-bottom: 4rem;">
|
||
<span>Pour commencer</span>
|
||
</h2>
|
||
|
||
<div class="steps">
|
||
<div class="step">
|
||
<div class="step-text" data-reveal>
|
||
<div class="step-num" aria-hidden="true">01</div>
|
||
<h3><span>Installer l'extension</span></h3>
|
||
<p>Ajoutez KoalaSync à votre navigateur depuis le Chrome Web Store, les modules complémentaires de Firefox, ou téléchargez le dernier fichier ZIP développeur depuis GitHub.</p>
|
||
</div>
|
||
<!-- Custom Step 1 Illustration -->
|
||
<div class="step-illustration-1" data-reveal>
|
||
<div class="illus-browser-container">
|
||
<div class="illus-browser-header">
|
||
<div class="illus-browser-dots">
|
||
<span class="illus-browser-dot"></span>
|
||
<span class="illus-browser-dot"></span>
|
||
<span class="illus-browser-dot"></span>
|
||
</div>
|
||
<div class="illus-browser-address-bar">
|
||
<span class="url-protocol">https://</span>sync.koalastuff.net
|
||
</div>
|
||
<div class="illus-browser-toolbar">
|
||
<div class="illus-extension-btn active">
|
||
<picture><source srcset="../assets/NewLogoIcon.avif" type="image/avif"><img src="../assets/NewLogoIcon.webp" alt="KoalaSync Extension" width="14" height="14"></picture>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="illus-browser-content">
|
||
<div class="illus-store-card">
|
||
<div class="illus-store-card-header">
|
||
<picture><source srcset="../assets/NewLogoIcon.avif" type="image/avif"><img src="../assets/NewLogoIcon.webp" alt="KoalaSync Logo" class="illus-large-logo" width="30" height="30"></picture>
|
||
<div class="illus-store-info">
|
||
<div class="illus-store-title">KoalaSync</div>
|
||
<div class="illus-store-desc">
|
||
<span>Synchronisateur vidéo respectueux de la vie privée</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="illus-store-buttons">
|
||
<div class="illus-store-btn chrome">
|
||
<img src="../assets/chrome.svg" alt="Chrome Logo" width="12" height="12">
|
||
<span>Télécharger pour Chrome</span>
|
||
</div>
|
||
<div class="illus-store-btn firefox">
|
||
<img src="../assets/firefox.svg" alt="Firefox Logo" width="12" height="12">
|
||
<span>Télécharger pour Firefox</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Floating Extension Success Popup -->
|
||
<div class="illus-extension-popup">
|
||
<div class="popup-title">
|
||
<picture><source srcset="../assets/NewLogoIcon.avif" type="image/avif"><img src="../assets/NewLogoIcon.webp" alt="KoalaSync Logo" width="12" height="12"></picture>
|
||
<span>KoalaSync</span>
|
||
</div>
|
||
<div class="popup-status">
|
||
<div class="status-badge-success">
|
||
<span class="status-check"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" aria-hidden="true" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg></span>
|
||
<span>Extension active</span>
|
||
</div>
|
||
</div>
|
||
<div class="popup-quick-start">
|
||
<span>Prêt à regarder ensemble !</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="step">
|
||
<div class="step-text" data-reveal>
|
||
<div class="step-num" aria-hidden="true">02</div>
|
||
<h3><span>Créer un salon</span></h3>
|
||
<p>Ouvrez la fenêtre de l'extension et cliquez sur '+ Créer un nouveau salon'. KoalaSync génère automatiquement un identifiant de salon et un mot de passe sécurisés, s'y connecte et copie le lien d'invitation dans votre presse-papiers.</p>
|
||
</div>
|
||
<!-- Custom Step 2 Illustration -->
|
||
<div class="step-illustration-2" data-reveal>
|
||
<div class="illus-popup-card">
|
||
<div class="illus-popup-header">
|
||
<div class="illus-popup-brand">
|
||
<picture><source srcset="../assets/NewLogoIcon.avif" type="image/avif"><img src="../assets/NewLogoIcon.webp" alt="KoalaSync Logo" width="14" height="14"></picture>
|
||
<span>KoalaSync</span>
|
||
</div>
|
||
<div class="illus-popup-version mockup-version">2.1.0</div>
|
||
</div>
|
||
<div class="illus-popup-tabs">
|
||
<div class="illus-popup-tab active">
|
||
<span>Salon</span>
|
||
</div>
|
||
<div class="illus-popup-tab">
|
||
<span>Synchro</span>
|
||
</div>
|
||
<div class="illus-popup-tab">
|
||
<span>Options</span>
|
||
</div>
|
||
</div>
|
||
<div class="illus-popup-body">
|
||
<div class="illus-popup-btn action-create-room">
|
||
<span>+ Créer un nouveau salon</span>
|
||
<div class="illus-btn-shine"></div>
|
||
</div>
|
||
|
||
<div class="illus-collapsed-details">
|
||
<span class="details-arrow">▶</span>
|
||
<span>Connexion manuelle / Avancé</span>
|
||
</div>
|
||
|
||
<div class="illus-floating-success">
|
||
<span class="success-icon"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg></span>
|
||
<span>Lien d'invitation copié !</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="step">
|
||
<div class="step-text" data-reveal>
|
||
<div class="step-num" aria-hidden="true">03</div>
|
||
<h3><span>Partager & Synchroniser</span></h3>
|
||
<p>Envoyez le lien d'invitation à vos amis. Dès qu'ils rejoignent, sélectionnez votre onglet vidéo et profitez de la lecture synchronisée.</p>
|
||
</div>
|
||
<!-- Custom Step 3 Illustration -->
|
||
<div class="step-illustration-3" data-reveal>
|
||
<div class="illus-sync-theater">
|
||
<!-- Player A (KoalaPC) -->
|
||
<div class="illus-player-card player-a">
|
||
<div class="player-header">
|
||
<span class="player-user">🐨 KoalaPC</span>
|
||
<span class="player-badge active">PLAYING</span>
|
||
</div>
|
||
<div class="player-video-canvas">
|
||
<div class="player-play-pulse">▶</div>
|
||
<div class="player-video-overlay"></div>
|
||
</div>
|
||
<div class="player-controls">
|
||
<span class="control-btn">⏸</span>
|
||
<div class="player-timeline">
|
||
<div class="timeline-fill"></div>
|
||
<div class="timeline-knob"></div>
|
||
</div>
|
||
<span class="control-time">42:15</span>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Glowing Sync Bridge -->
|
||
<div class="illus-sync-bridge">
|
||
<div class="sync-line">
|
||
<div class="sync-beam"></div>
|
||
</div>
|
||
<div class="sync-status-badge">
|
||
<span>SYNCHRONISÉ</span>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Player B (LaptopKoala) -->
|
||
<div class="illus-player-card player-b">
|
||
<div class="player-header">
|
||
<span class="player-user">💻 LaptopKoala</span>
|
||
<span class="player-badge active">PLAYING</span>
|
||
</div>
|
||
<div class="player-video-canvas">
|
||
<div class="player-play-pulse">▶</div>
|
||
<div class="player-video-overlay"></div>
|
||
</div>
|
||
<div class="player-controls">
|
||
<span class="control-btn">⏸</span>
|
||
<div class="player-timeline">
|
||
<div class="timeline-fill"></div>
|
||
<div class="timeline-knob"></div>
|
||
</div>
|
||
<span class="control-time">42:15</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Self Hosters Paradise Section -->
|
||
<section id="self-hosting" style="background: rgba(15, 23, 42, 0.4); border-top: 1px solid var(--glass-border); border-bottom: 1px solid var(--glass-border);">
|
||
<div class="container">
|
||
<h2 style="font-size: 2.5rem; text-align: center; margin-bottom: 1rem;">
|
||
<span>Pour l'auto-hébergement</span>
|
||
</h2>
|
||
<p style="text-align: center; color: var(--text-muted); margin-bottom: 2rem; max-width: 650px; margin-left: auto; margin-right: auto;">
|
||
<span>Vous ne faites pas confiance à notre serveur ? Conservez votre souveraineté totale sur les données. Déployez votre propre serveur relais en quelques minutes.</span>
|
||
</p>
|
||
|
||
<!-- Mascot Self-Hosting / Deploy Illustration -->
|
||
<div style="display: flex; justify-content: center; margin-bottom: 2.5rem;" data-reveal>
|
||
<picture><source srcset="../assets/KoalaDeploy-1x.avif 300w, ../assets/KoalaDeploy.avif 600w" type="image/avif"><img src="../assets/KoalaDeploy-1x.webp" srcset="../assets/KoalaDeploy-1x.webp 300w, ../assets/KoalaDeploy.webp 600w" sizes="(max-width: 768px) calc(100vw - 2rem), 300px" alt="Un koala mignon assis devant un ordinateur portable déployant un conteneur Docker pour l'auto-hébergement" class="selfhost-mascot" width="300" height="201" loading="lazy" fetchpriority="low"></picture>
|
||
</div>
|
||
|
||
<div class="terminal-container" data-reveal>
|
||
<div class="terminal-header">
|
||
<div class="terminal-dots">
|
||
<span class="terminal-dot red"></span>
|
||
<span class="terminal-dot yellow"></span>
|
||
<span class="terminal-dot green"></span>
|
||
</div>
|
||
<div class="terminal-tabs">
|
||
<button class="terminal-tab-btn active" data-tab="pane-docker">docker-compose.yml</button>
|
||
<button class="terminal-tab-btn" data-tab="pane-caddy-simple">Caddyfile (Simple)</button>
|
||
<button class="terminal-tab-btn" data-tab="pane-caddy-advanced">Caddyfile (Advanced)</button>
|
||
</div>
|
||
</div>
|
||
<div class="terminal-body">
|
||
<button class="terminal-copy-btn">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg> <span>Copier le code</span>
|
||
</button>
|
||
|
||
<div id="pane-docker" class="terminal-pane active">
|
||
<pre><code><span class="t-key">services:</span>
|
||
<span class="t-key">koala-sync:</span>
|
||
<span class="t-key">image:</span> <span class="t-str">ghcr.io/shik3i/koalasync:latest</span>
|
||
<span class="t-key">container_name:</span> <span class="t-str">KoalaSync</span>
|
||
<span class="t-key">restart:</span> <span class="t-str">always</span>
|
||
<span class="t-comment"># Access internally by proxying to container port 3000</span>
|
||
<span class="t-key">environment:</span>
|
||
<span class="t-key">-</span> <span class="t-str">TZ=Europe/Berlin</span>
|
||
<span class="t-key">-</span> <span class="t-str">PORT=3000</span>
|
||
<span class="t-key">-</span> <span class="t-str">MIN_VERSION=1.0.0</span>
|
||
<span class="t-key">-</span> <span class="t-str">MAX_ROOMS=100</span>
|
||
<span class="t-key">-</span> <span class="t-str">MAX_PEERS_PER_ROOM=50</span>
|
||
<span class="t-key">pids_limit:</span> <span class="t-val">2048</span></code></pre>
|
||
<div style="margin-top: 1rem; font-size: 0.75rem; text-align: right; padding-right: 0.5rem;">
|
||
<a href="https://github.com/Shik3i/KoalaSync/pkgs/container/koalasync" target="_blank" style="color: var(--accent); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; transition: opacity 0.2s; opacity: 0.85;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" viewBox="0 0 24 24"><path d="M16.5 9.4 7.55 4.24M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16"/><path d="M3.29 7 12 12l8.71-5M12 22V12"/></svg> <span>Voir tous les tags d'images sur GitHub Packages</span> →
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="pane-caddy-simple" class="terminal-pane">
|
||
<pre><code><span class="t-key">sync.koalastuff.net</span> {
|
||
<span class="t-key">root</span> <span class="t-val">*</span> <span class="t-str">/var/www/koalasync/website/www</span>
|
||
<span class="t-key">encode</span> <span class="t-val">zstd gzip</span>
|
||
|
||
<span class="t-comment"># Clean URLs support (no .html required)</span>
|
||
<span class="t-key">try_files</span> <span class="t-val">{path} {path}.html {path}/</span>
|
||
<span class="t-key">file_server</span>
|
||
}
|
||
|
||
<span class="t-key">syncserver.koalastuff.net</span> {
|
||
<span class="t-key">reverse_proxy</span> <span class="t-val">localhost:3000</span>
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<div id="pane-caddy-advanced" class="terminal-pane">
|
||
<pre><code><span class="t-key">(security_headers)</span> {
|
||
<span class="t-key">header</span> {
|
||
<span class="t-comment"># Enable HTTP Strict Transport Security (HSTS)</span>
|
||
Strict-Transport-Security <span class="t-str">"max-age=31536000; includeSubDomains; preload"</span>
|
||
<span class="t-comment"># Prevent clickjacking attacks (Sameorigin)</span>
|
||
X-Frame-Options <span class="t-str">"SAMEORIGIN"</span>
|
||
<span class="t-comment"># Prevent MIME-sniffing</span>
|
||
X-Content-Type-Options <span class="t-str">"nosniff"</span>
|
||
<span class="t-comment"># Enable browser XSS protection</span>
|
||
X-XSS-Protection <span class="t-str">"1; mode=block"</span>
|
||
<span class="t-comment"># Control referrer information</span>
|
||
Referrer-Policy <span class="t-str">"strict-origin-when-cross-origin"</span>
|
||
<span class="t-comment"># Hide Caddy server stamp signature</span>
|
||
<span class="t-key">-Server</span>
|
||
}
|
||
}
|
||
|
||
<span class="t-key">sync.koalastuff.net</span> {
|
||
<span class="t-key">encode</span> <span class="t-val">zstd gzip</span>
|
||
<span class="t-key">root</span> <span class="t-val">*</span> <span class="t-str">/var/www/koalasync/website/www</span>
|
||
|
||
<span class="t-comment"># Clean URLs: Resolves paths without .html in the URL</span>
|
||
<span class="t-key">try_files</span> <span class="t-val">{path} {path}.html {path}/</span>
|
||
<span class="t-key">file_server</span>
|
||
|
||
<span class="t-comment"># Static Caching for high performance</span>
|
||
<span class="t-key">@static</span> {
|
||
<span class="t-key">file</span>
|
||
<span class="t-key">path</span> <span class="t-str">*.ico *.css *.js *.png *.svg *.webp *.avif</span>
|
||
}
|
||
<span class="t-key">header</span> <span class="t-val">@static</span> Cache-Control <span class="t-str">"public, max-age=31536000, must-revalidate"</span>
|
||
|
||
<span class="t-comment"># Hardened Security & Permission Policies</span>
|
||
<span class="t-key">import</span> <span class="t-val">security_headers</span>
|
||
<span class="t-key">header</span> {
|
||
Content-Security-Policy <span class="t-str">"default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"</span>
|
||
Permissions-Policy <span class="t-str">"camera=(), microphone=(), geolocation=(), payment=(), usb=()"</span>
|
||
}
|
||
}
|
||
|
||
<span class="t-key">syncserver.koalastuff.net</span> {
|
||
<span class="t-key">import</span> <span class="t-val">security_headers</span>
|
||
<span class="t-key">encode</span> <span class="t-val">zstd gzip</span>
|
||
<span class="t-key">reverse_proxy</span> <span class="t-val">KoalaSync:3000</span>
|
||
}</code></pre>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="faq" style="border-top: 1px solid var(--glass-border);">
|
||
<div class="container">
|
||
<h2 data-reveal style="font-size: 2.2rem; text-align: center; margin-bottom: 1rem;">
|
||
<span>Foire aux questions</span>
|
||
</h2>
|
||
<p data-reveal style="text-align: center; color: var(--text-muted); margin-bottom: 3rem; max-width: 600px; margin-left: auto; margin-right: auto;">
|
||
<span>Tout ce que vous devez savoir pour regarder des vidéos en parfaite synchronisation.</span>
|
||
</p>
|
||
<div class="faq-grid">
|
||
<details class="faq-item" data-reveal>
|
||
<summary><span>Puis-je regarder Netflix, Emby ou Jellyfin en synchronisation avec des amis ?</span></summary>
|
||
<p><span>Oui ! KoalaSync fonctionne avec Netflix, YouTube, Twitch et tout site avec un lecteur vidéo HTML5 — y compris Emby, Jellyfin et les serveurs multimédia auto-hébergés. Installez l'extension, créez un salon, partagez le lien et regardez en parfaite synchronisation.</span></p>
|
||
</details>
|
||
<details class="faq-item" data-reveal>
|
||
<summary><span>KoalaSync est-il une alternative gratuite à Teleparty ?</span></summary>
|
||
<p><span>100 % gratuit et open source sous licence MIT. Aucun niveau premium, aucune fonctionnalité verrouillée, aucune publicité. Contrairement à Teleparty, le serveur relay de KoalaSync fonctionne uniquement en RAM — sans collecte de données ni comptes utilisateur.</span></p>
|
||
</details>
|
||
<details class="faq-item" data-reveal>
|
||
<summary><span>KoalaSync fonctionne-t-il avec Emby, Jellyfin et les serveurs multimédia auto-hébergés ?</span></summary>
|
||
<p><span>Oui. KoalaSync détecte tout élément vidéo HTML5 standard et fonctionne parfaitement avec Emby, Jellyfin, Plex et toute configuration de streaming personnalisée. Vous pouvez également auto-héberger le serveur relay via Docker.</span></p>
|
||
</details>
|
||
<details class="faq-item" data-reveal>
|
||
<summary><span>Quels navigateurs et plateformes prennent en charge KoalaSync ?</span></summary>
|
||
<p><span>Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave et tous les navigateurs basés sur Chromium. Installez-le depuis le Chrome Web Store ou les modules complémentaires Firefox.</span></p>
|
||
</details>
|
||
<details class="faq-item" data-reveal>
|
||
<summary><span>Tous mes amis doivent-ils installer l'extension ?</span></summary>
|
||
<p><span>Oui, chaque participant a besoin de KoalaSync — mais sans inscription ni création de compte. Cliquez simplement sur le lien d'invitation, installez l'extension si nécessaire et vous rejoignez automatiquement le salon.</span></p>
|
||
</details>
|
||
<details class="faq-item" data-reveal>
|
||
<summary><span>Mes données sont-elles en sécurité ? Et si je ne fais pas confiance au serveur officiel ?</span></summary>
|
||
<p><span>Totalement sûr. Le serveur relay de KoalaSync fonctionne uniquement en RAM — toutes les données de session sont supprimées dès que vous quittez le salon. Aucune base de données, aucun journal, aucune analyse, aucun compte. Si vous préférez un contrôle total : hébergez votre propre serveur relay privé via Docker en quelques minutes. Le code source est entièrement open source et vérifiable sur GitHub.</span></p>
|
||
</details>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section style="text-align: center; border-top: 1px solid var(--glass-border); padding: 6rem 0 2rem 0;">
|
||
<div class="container">
|
||
<h2 data-reveal style="font-size: 2.2rem; margin-bottom: 1rem;">
|
||
<span>Pas encore convaincu ? Voyez par vous-même.</span>
|
||
</h2>
|
||
<p data-reveal style="margin-bottom: 3rem; color: var(--text-muted); max-width: 650px; margin-left: auto; margin-right: auto; line-height: 1.6; font-size: 1.05rem;">
|
||
<span>KoalaSync est 100% open source, sans publicité et sans suivi. Auditez notre base de code sur GitHub ou installez directement l'extension de navigateur.</span>
|
||
</p>
|
||
<div class="cta-group" data-reveal style="justify-content: center; gap: 1rem; margin-bottom: 1rem;">
|
||
<a href="https://chromewebstore.google.com/detail/koalasync/obbnmkmlaaddodakcbdljknjpagklifc" class="btn btn-primary">
|
||
<img src="../assets/chrome.svg" alt="Chrome" width="20" height="20">
|
||
<span>Ajouter à Chrome</span>
|
||
</a>
|
||
<a href="https://addons.mozilla.org/de/firefox/addon/koalasync/" class="btn btn-firefox">
|
||
<img src="../assets/firefox.svg" alt="Firefox" width="20" height="20">
|
||
<span>Ajouter à Firefox</span>
|
||
</a>
|
||
</div>
|
||
|
||
<a href="https://github.com/Shik3i/KoalaSync" target="_blank" data-reveal style="display: inline-block; text-decoration: none;">
|
||
<picture><source srcset="../assets/KoalaGithub-1x.avif 250w, ../assets/KoalaGithub.avif 454w" type="image/avif"><img src="../assets/KoalaGithub-1x.webp" srcset="../assets/KoalaGithub-1x.webp 250w, ../assets/KoalaGithub.webp 454w" sizes="(max-width: 768px) calc(100vw - 2rem), 250px" alt="Un koala mignon tenant une page de dépôt GitHub à côté d'Octocat, la mascotte de GitHub" class="cta-github-mascot" width="250" height="165" loading="lazy" fetchpriority="low"></picture>
|
||
</a>
|
||
|
||
<div class="cta-group" data-reveal style="justify-content: center; margin-top: 1rem;">
|
||
<a href="https://github.com/Shik3i/KoalaSync" target="_blank" class="btn btn-secondary" style="display: inline-flex; align-items: center; gap: 8px;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" aria-hidden="true" style="display:block" viewBox="0 0 24 24"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.5 11.5 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12"/></svg>
|
||
GitHub
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<footer>
|
||
<div class="container">
|
||
<p>© 2026 KoalaSync. Open source sous licence MIT.</p>
|
||
<p style="font-size: 0.8rem; margin-top: 0.5rem;">Aucune donnée n'est stockée sur nos serveurs. Relais uniquement en RAM.</p>
|
||
<div style="margin-top: 1.5rem; font-size: 0.8rem; display: flex; justify-content: center; align-items: center; gap: 1.5rem; flex-wrap: wrap;">
|
||
<a href="../imprint" style="color: var(--text-muted); text-decoration: none;"><span>Legal Notice</span></a>
|
||
<a href="../privacy" style="color: var(--text-muted); text-decoration: none;"><span>Privacy Policy</span></a>
|
||
<a href="https://mastodon.social/@koalastuff" rel="me" target="_blank" style="color: var(--text-muted); text-decoration: none; display: inline-flex; align-items: center; gap: 4px;">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" aria-hidden="true" style="display:block" viewBox="0 0 24 24"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38q.398-.092.786-.213c.585-.184 1.27-.39 1.774-.753a.06.06 0 0 0 .023-.043v-1.809a.05.05 0 0 0-.02-.041.05.05 0 0 0-.046-.01 20.3 20.3 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.6 5.6 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422q.059-.011.11-.024c2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545m-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102q0-1.965 1.011-3.12c.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164q1.012 1.155 1.012 3.12z"/></svg>
|
||
Mastodon
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script src="../app.877f29ac.min.js"></script>
|
||
</body>
|
||
</html>
|