Outiref

Code source de l'URL : http://vodiax.com/

<!DOCTYPE html>
<html lang="fr" class="dark" translate="no">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <meta name="robots" content="index, follow, noarchive, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
    <meta name="google" content="notranslate">
    <meta name="apple-mobile-web-app-title" content="VODIAX" />
    <meta name="application-name" content="VODIAX" />
    <meta name="msapplication-TileColor" content="#000000" />
    <meta name="theme-color" content="#000000" />
    <meta name="description" content="Regardez des milliers de films et séries en streaming HD sur VODIAX. Catalogue complet en VF et VOSTFR, live TV, collections et watch parties synchronisées entre amis." />

    <!-- Prefetch -->
    <link rel="dns-prefetch" href="//image.tmdb.org">
    <link rel="preconnect" href="https://image.tmdb.org" crossorigin>
    <link rel="dns-prefetch" href="//www.gstatic.com">
    <link rel="dns-prefetch" href="//www.google.com">
    <link rel="preconnect" href="https://www.gstatic.com" crossorigin>
    <link rel="dns-prefetch" href="//www.googletagmanager.com">
    <link rel="preconnect" href="https://www.googletagmanager.com">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

    <!-- Bootstrap Icons -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">

    <!-- Icons -->
    <link rel="icon" href="/vodiax.png" />
    <link rel="icon" type="image/png" href="/vodiax.png" sizes="96x96" />
    <link rel="icon" type="image/svg+xml" href="/vodiax.png" />
    <link rel="shortcut icon" href="/vodiax.png" />
    <link rel="apple-touch-icon" sizes="180x180" href="/vodiax.png" />
    <link rel="manifest" href="/assets/manifest-T1D6qpuK.json" />

    <title data-rh="true">VODIAX — Films et séries en streaming gratuit | VF, VOSTFR, HD</title>

    <!-- JSON-LD -->
    <script type="application/ld+json" data-rh="true">
    [
      {
        "@context": "https://schema.org",
        "@type": "Organization",
        "name": "VODIAX",
        "alternateName": "VODIAX Streaming",
        "url": "https://vodiax.com",
        "description": "VODIAX est une plateforme française open-source (CC BY-NC 4.0) de streaming multimédia : films, séries, anime, TV en direct et Watch Parties synchronisées.",
        "logo": {
          "@type": "ImageObject",
          "url": "https://vodiax.com/thumbnail.png",
          "width": 512,
          "height": 512
        },
        "sameAs": [
          "https://t.me/vodiax"
        ],
        "contactPoint": {
          "@type": "ContactPoint",
          "contactType": "customer support",
          "email": "contact@vodiax.com",
          "availableLanguage": ["French", "English"]
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "name": "VODIAX",
        "url": "https://vodiax.com",
        "inLanguage": "fr",
        "potentialAction": {
          "@type": "SearchAction",
          "target": {
            "@type": "EntryPoint",
            "urlTemplate": "https://vodiax.com/search?q={search_term_string}"
          },
          "query-input": "required name=search_term_string"
        }
      }
    ]
    </script>
  <script>
    // Object.hasOwn is ES2022 (Chrome 93+, Safari 15.4+, Firefox 92+). react-markdown
    // calls it directly; older Chromium builds (e.g. Chrome 88 on armv7l) crash without this.
    if (typeof Object.hasOwn !== 'function') {
      Object.defineProperty(Object, 'hasOwn', {
        value: function (obj, prop) {
          if (obj === null || obj === undefined) {
            throw new TypeError('Cannot convert undefined or null to object');
          }
          return Object.prototype.hasOwnProperty.call(Object(obj), prop);
        },
        configurable: true,
        writable: true,
      });
    }
  </script>
  <script>
    (() => {
      const buildId = '2026-06-07T22:58:05.162Z';
      const buildStorageKey = 'vodiax_build_id';
      const recoveryStorageKey = `vodiax_build_recovery_${buildId}`;
      const refreshSearchParam = 'vodiax_build_refresh';

      const buildRecoveryUrl = () => {
        const url = new URL(window.location.href);
        url.searchParams.set(refreshSearchParam, `${buildId}-${Date.now()}`);
        return url.toString();
      };

      const recoverClientCache = async () => {
        try {
          if ('serviceWorker' in navigator) {
            const registrations = await navigator.serviceWorker.getRegistrations();
            await Promise.all(registrations.map((registration) => registration.unregister()));
          }

          if ('caches' in window) {
            const cacheKeys = await caches.keys();
            await Promise.all(cacheKeys.map((cacheKey) => caches.delete(cacheKey)));
          }
        } catch {
          // Ignore cleanup errors and continue with reload.
        }

        try {
          localStorage.setItem(buildStorageKey, buildId);
          sessionStorage.setItem(recoveryStorageKey, 'done');
        } catch {
          // Ignore storage errors.
        }

        window.location.replace(buildRecoveryUrl());
      };

      try {
        const currentUrl = new URL(window.location.href);
        const previousBuildId = localStorage.getItem(buildStorageKey);
        const alreadyRecovered = sessionStorage.getItem(recoveryStorageKey) === 'done';

        if (previousBuildId && previousBuildId !== buildId && !alreadyRecovered) {
          window.__VODIAX_CACHE_RECOVERY__ = recoverClientCache();
          return;
        }

        localStorage.setItem(buildStorageKey, buildId);

        if (currentUrl.searchParams.has(refreshSearchParam)) {
          currentUrl.searchParams.delete(refreshSearchParam);
          window.history.replaceState({}, document.title, currentUrl.toString());
        }
      } catch {
        // Ignore storage errors.
      }

      window.addEventListener('error', (event) => {
        const target = event.target;
        if (!(target instanceof HTMLScriptElement)) return;
        if (target.type !== 'module') return;
        if (!target.src.includes('/assets/')) return;

        try {
          if (sessionStorage.getItem(recoveryStorageKey) === 'done') {
            return;
          }
        } catch {
          // Ignore storage errors.
        }

        window.__VODIAX_CACHE_RECOVERY__ = recoverClientCache();
      }, true);
    })();
  </script>
  <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" async defer></script>
  <!-- Google tag (gtag.js) -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=G-6Q3B4D5KQL"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'G-6Q3B4D5KQL');
  </script>
  <script type="module" crossorigin src="/assets/index-1VynlW92.js"></script>
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-BM3Ffeng.js">
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-B2zTXonl.js">
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-D0Ht-rXe.js">
  <link rel="modulepreload" crossorigin href="/assets/axios-Ck85Y7Ue.js">
  <link rel="modulepreload" crossorigin href="/assets/embla-carousel-react.esm-IYrl0Hwr.js">
  <link rel="modulepreload" crossorigin href="/assets/motion-CuQ1A4eW.js">
  <link rel="modulepreload" crossorigin href="/assets/i18n-BCamVEs6.js">
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-CpkCjL1B.js">
  <link rel="modulepreload" crossorigin href="/assets/calendar-vhkz3u-D.js">
  <link rel="modulepreload" crossorigin href="/assets/check-DB7niP43.js">
  <link rel="modulepreload" crossorigin href="/assets/chevron-down-CmTgdz7H.js">
  <link rel="modulepreload" crossorigin href="/assets/chevron-left-DX3Gk3Dm.js">
  <link rel="modulepreload" crossorigin href="/assets/chevron-right-DCl2UxqU.js">
  <link rel="modulepreload" crossorigin href="/assets/info-pAEvxhFN.js">
  <link rel="modulepreload" crossorigin href="/assets/pause-BufUXqj_.js">
  <link rel="modulepreload" crossorigin href="/assets/play-BaBcFX-M.js">
  <link rel="modulepreload" crossorigin href="/assets/star-Bj1M4FCt.js">
  <link rel="modulepreload" crossorigin href="/assets/trash-2-Bydk_aUP.js">
  <link rel="modulepreload" crossorigin href="/assets/x-Br6SdusE.js">
  <link rel="modulepreload" crossorigin href="/assets/radix-BL9W-jxC.js">
  <link rel="modulepreload" crossorigin href="/assets/utils-Dr_D45xM.js">
  <link rel="modulepreload" crossorigin href="/assets/lazyWithRetry-CO5UFAbj.js">
  <link rel="modulepreload" crossorigin href="/assets/PrefetchLink-B2kgl7lr.js">
  <link rel="modulepreload" crossorigin href="/assets/shiny-text-B1zEMptb.js">
  <link rel="modulepreload" crossorigin href="/assets/i18n-hze2w9Bg.js">
  <link rel="modulepreload" crossorigin href="/assets/syncStorage-CXs3Y8mL.js">
  <link rel="modulepreload" crossorigin href="/assets/vipUtils-CJHCtwRp.js">
  <link rel="modulepreload" crossorigin href="/assets/ProfileContext-CstFqmxm.js">
  <link rel="modulepreload" crossorigin href="/assets/accountAuth-CBmVQedp.js">
  <link rel="modulepreload" crossorigin href="/assets/idEncoder-CETPrrV5.js">
  <link rel="modulepreload" crossorigin href="/assets/tmdbKeywords-B6G40cOz.js">
  <link rel="stylesheet" crossorigin href="/assets/motion-fOJvfYOR.css">
  <link rel="stylesheet" crossorigin href="/assets/PrefetchLink-CGmq9_dR.css">
  <link rel="stylesheet" crossorigin href="/assets/index-D95GrcRM.css">
    <meta property="og:url" content="https://vodiax.com/" />
    <meta property="og:type" content="website" />
    <meta property="og:title" content="VODIAX — Films et séries en streaming | VF, VOSTFR, HD" />
    <meta property="og:description" content="Découvrez VODIAX, une plateforme de streaming en développement avec films, séries, VF, VOSTFR, HD et une expérience moderne pensée pour la communauté." />
    <meta property="og:image" content="https://vodiax.com/thumbnail.png" />
    <meta property="og:image:secure_url" content="https://vodiax.com/thumbnail.png" />
    <meta property="og:image:type" content="image/png" />
    <meta property="og:site_name" content="VODIAX" />

  </head>
<body>
    
    <div id="root"></div>

    <script>
      // Cache-bust the Cast SDK URL on every page load so a stale SDK never
      // sticks around in the browser/SW cache (defensive — gstatic already
      // sets sane Cache-Control, but cinepulse does this too).
      (function loadCastSender() {
        var s = document.createElement('script');
        s.type = 'text/javascript';
        s.src = 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1&cb=' + Date.now();
        document.body.appendChild(s);
      })();
    </script>
</body>
</html>