neoflix / index.html
docto41's picture
Add 2 files
88327a9 verified
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NEOFLIX - Cinéma Quantique</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@500;700&display=swap');
:root {
--neon-blue: #0ff0fc;
--neon-pink: #ff00ff;
--neon-purple: #9d00ff;
--dark-space: #0a0a1a;
--matrix-green: #00ff41;
}
body {
font-family: 'Rajdhani', 'Orbitron', sans-serif;
background-color: var(--dark-space);
color: white;
overflow-x: hidden;
min-height: 100vh;
}
.neon-text {
text-shadow: 0 0 5px var(--neon-blue), 0 0 10px var(--neon-blue);
font-family: 'Orbitron', sans-serif;
}
.neon-border {
box-shadow: 0 0 10px var(--neon-blue), inset 0 0 10px var(--neon-blue);
border: 1px solid var(--neon-blue);
}
.neon-button {
transition: all 0.3s ease-out;
position: relative;
overflow: hidden;
}
.neon-button:hover {
box-shadow: 0 0 15px var(--neon-blue), 0 0 25px var(--neon-pink);
transform: scale(1.05);
}
.neon-button::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
to bottom right,
rgba(255, 255, 255, 0.3) 0%,
rgba(255, 255, 255, 0) 60%
);
transform: rotate(30deg);
transition: all 0.3s;
}
.neon-button:hover::before {
left: 100%;
}
.glow {
animation: glow 2s infinite alternate;
}
@keyframes glow {
from {
box-shadow: 0 0 5px var(--neon-blue);
}
to {
box-shadow: 0 0 20px var(--neon-blue), 0 0 30px var(--neon-pink);
}
}
.holographic-card {
background: rgba(10, 10, 26, 0.7);
backdrop-filter: blur(10px);
border-radius: 15px;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
position: relative;
overflow: hidden;
}
.holographic-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.1),
transparent
);
transition: 0.5s;
}
.holographic-card:hover {
transform: translateY(-10px) scale(1.03);
box-shadow: 0 0 20px var(--neon-pink), 0 0 40px rgba(255, 0, 255, 0.3);
}
.holographic-card:hover::before {
left: 100%;
}
.scanline {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
to bottom,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.1) 50%,
rgba(255, 255, 255, 0) 100%
);
background-size: 100% 6px;
animation: scanline 6s linear infinite;
pointer-events: none;
z-index: 9999;
mix-blend-mode: overlay;
}
@keyframes scanline {
0% {
background-position: 0 0;
}
100% {
background-position: 0 100vh;
}
}
.matrix-fall {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><text x="10" y="20" font-family="monospace" font-size="16" fill="rgba(0,255,255,0.05)">0</text><text x="30" y="40" font-family="monospace" font-size="16" fill="rgba(0,255,255,0.05)">1</text><text x="50" y="60" font-family="monospace" font-size="16" fill="rgba(0,255,255,0.05)">0</text><text x="70" y="80" font-family="monospace" font-size="16" fill="rgba(0,255,255,0.05)">1</text></svg>');
opacity: 0.3;
animation: matrixFall 100s linear infinite;
pointer-events: none;
z-index: -1;
}
@keyframes matrixFall {
0% {
background-position: 0 0;
}
100% {
background-position: 0 1000px;
}
}
.robot-voice {
position: relative;
background: rgba(0, 0, 0, 0.7);
border-left: 3px solid var(--neon-blue);
padding: 1rem;
margin: 1rem 0;
border-radius: 0 8px 8px 0;
}
.robot-voice::before {
content: "🤖";
position: absolute;
left: -30px;
top: 10px;
font-size: 1.2rem;
}
.pulse {
animation: pulse 2s infinite;
}
@keyframes pulse {
0% {
opacity: 0.5;
}
50% {
opacity: 1;
}
100% {
opacity: 0.5;
}
}
.loading-bar {
height: 4px;
background: linear-gradient(90deg, #0ff0fc, #ff00ff);
animation: loading 2s infinite;
position: relative;
border-radius: 2px;
}
@keyframes loading {
0% { width: 0%; left: 0; }
50% { width: 100%; left: 0; }
100% { width: 0%; left: 100%; }
}
.loading-more {
display: none;
text-align: center;
padding: 30px 0;
color: var(--neon-blue);
flex-direction: column;
align-items: center;
}
.cyberpunk-input {
background: rgba(0, 0, 0, 0.7);
border: 1px solid var(--neon-blue);
color: white;
padding: 12px 20px;
border-radius: 30px;
font-family: 'Rajdhani', sans-serif;
font-weight: 500;
transition: all 0.3s;
box-shadow: 0 0 10px rgba(15, 240, 252, 0.3);
}
.cyberpunk-input:focus {
outline: none;
box-shadow: 0 0 15px var(--neon-blue), 0 0 25px rgba(255, 0, 255, 0.5);
border-color: var(--neon-pink);
}
.gradient-text {
background: linear-gradient(90deg, #0ff0fc, #ff00ff);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline-block;
}
.cyberpunk-select {
appearance: none;
background: rgba(0, 0, 0, 0.7) url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230ff0fc'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e") no-repeat;
background-position: right 10px center;
border: 1px solid var(--neon-blue);
color: white;
padding: 10px 40px 10px 15px;
border-radius: 30px;
font-family: 'Rajdhani', sans-serif;
font-weight: 500;
transition: all 0.3s;
box-shadow: 0 0 10px rgba(15, 240, 252, 0.3);
}
.cyberpunk-select:focus {
outline: none;
box-shadow: 0 0 15px var(--neon-blue);
}
.flicker {
animation: flicker 5s infinite alternate;
}
@keyframes flicker {
0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
opacity: 1;
}
20%, 22%, 24%, 55% {
opacity: 0.5;
}
}
.auto-play-indicator {
position: absolute;
bottom: 20px;
left: 20px;
background: rgba(0, 0, 0, 0.7);
padding: 5px 10px;
border-radius: 20px;
font-size: 0.8rem;
display: flex;
align-items: center;
z-index: 10;
}
.auto-play-indicator i {
margin-right: 5px;
color: var(--neon-blue);
}
.video-placeholder {
position: relative;
width: 100%;
height: 0;
padding-bottom: 56.25%; /* 16:9 aspect ratio */
background: linear-gradient(135deg, #0a0a1a, #1a1a3a);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.video-placeholder::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
45deg,
rgba(15, 240, 252, 0.1) 0%,
rgba(255, 0, 255, 0.1) 50%,
rgba(15, 240, 252, 0.1) 100%
);
animation: gradientMove 8s linear infinite;
background-size: 200% 200%;
}
@keyframes gradientMove {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.genre-tag {
display: inline-block;
background: rgba(15, 240, 252, 0.2);
color: var(--neon-blue);
padding: 3px 10px;
border-radius: 20px;
font-size: 0.7rem;
margin-right: 5px;
margin-bottom: 5px;
border: 1px solid var(--neon-blue);
}
.floating-notification {
position: fixed;
bottom: 100px;
right: 30px;
background: rgba(0, 0, 0, 0.9);
border-left: 4px solid var(--neon-blue);
padding: 15px;
border-radius: 5px;
box-shadow: 0 0 20px rgba(15, 240, 252, 0.5);
transform: translateX(120%);
transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
z-index: 1000;
max-width: 300px;
}
.floating-notification.show {
transform: translateX(0);
}
.floating-notification i {
margin-right: 10px;
color: var(--neon-blue);
}
.progress-ring {
position: relative;
width: 50px;
height: 50px;
}
.progress-ring__circle {
transform: rotate(-90deg);
transform-origin: 50% 50%;
}
.progress-ring__circle--background {
stroke: rgba(255, 255, 255, 0.1);
}
.progress-ring__circle--progress {
stroke: var(--neon-blue);
transition: stroke-dashoffset 0.3s;
}
.progress-text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 0.7rem;
font-weight: bold;
color: var(--neon-blue);
}
</style>
</head>
<body class="relative overflow-x-hidden">
<div class="scanline"></div>
<div class="matrix-fall"></div>
<!-- Navigation Futuriste Améliorée -->
<nav class="bg-black bg-opacity-90 backdrop-filter backdrop-blur-lg z-50 fixed w-full border-b border-gray-800">
<div class="container mx-auto px-4 sm:px-6 py-3 flex justify-between items-center">
<div class="flex items-center space-x-4">
<div class="neon-border rounded-full w-10 h-10 flex items-center justify-center glow">
<i class="fas fa-robot text-xl text-cyan-400"></i>
</div>
<h1 class="text-2xl font-bold neon-text">
<span class="gradient-text">NEO</span><span class="text-pink-500">FLIX</span>
</h1>
</div>
<div class="hidden lg:flex items-center space-x-6">
<a href="#" class="text-white hover:text-cyan-400 transition flex items-center">
<i class="fas fa-home mr-2"></i> Accueil
</a>
<a href="#" class="text-white hover:text-cyan-400 transition flex items-center">
<i class="fas fa-film mr-2"></i> Films
</a>
<a href="#" class="text-white hover:text-cyan-400 transition flex items-center">
<i class="fas fa-tv mr-2"></i> Séries
</a>
<a href="#" class="text-white hover:text-cyan-400 transition flex items-center">
<i class="fas fa-bolt mr-2"></i> Nouveautés
</a>
<a href="#" class="text-white hover:text-cyan-400 transition flex items-center">
<i class="fas fa-bookmark mr-2"></i> Ma Liste
</a>
</div>
<div class="flex items-center space-x-4">
<div class="relative hidden md:block">
<input type="text" placeholder="Recherche vocale..."
class="cyberpunk-input pl-4 pr-10 w-40 md:w-56">
<i class="fas fa-microphone absolute right-3 top-3 text-cyan-400"></i>
</div>
<div class="w-9 h-9 rounded-full bg-gradient-to-r from-cyan-400 to-pink-500 flex items-center justify-center cursor-pointer hover:rotate-12 transition-transform">
<i class="fas fa-user-astronaut text-sm"></i>
</div>
<button class="lg:hidden text-white focus:outline-none">
<i class="fas fa-bars text-xl"></i>
</button>
</div>
</div>
</nav>
<!-- Hero Section avec Lecteur Auto -->
<section class="relative pt-32 pb-20 px-4 sm:px-6">
<div class="absolute inset-0 bg-gradient-to-b from-cyan-900 to-transparent opacity-20 z-0"></div>
<div class="container mx-auto flex flex-col lg:flex-row items-center relative z-10">
<div class="lg:w-1/2 mb-10 lg:mb-0 lg:pr-10">
<div class="robot-voice mb-6">
<p class="text-cyan-300">SYSTÈME: Chargement de la vidéo sélectionnée... Lecture automatique activée.</p>
</div>
<h2 class="text-4xl sm:text-5xl lg:text-6xl font-bold mb-6 neon-text leading-tight">
<span class="gradient-text">DÉCOUVREZ</span> <span class="text-pink-500" id="movieCount">Chargement...</span> FILMS
</h2>
<p class="text-gray-300 mb-8 text-lg">
Plongez dans notre bibliothèque quantique de films en français. Technologie de lecture automatique IA activée pour une expérience sans interruption.
</p>
<div class="flex flex-wrap gap-3 mb-8">
<span class="genre-tag">Science-Fiction</span>
<span class="genre-tag">Cyberpunk</span>
<span class="genre-tag">IA</span>
<span class="genre-tag">Futuriste</span>
<span class="genre-tag">16K</span>
</div>
<div class="flex flex-wrap gap-3">
<button class="neon-button bg-cyan-500 text-black px-6 py-3 rounded-full font-bold flex items-center">
<i class="fas fa-play mr-2"></i> Regarder
</button>
<button class="neon-button neon-border text-white px-6 py-3 rounded-full font-bold flex items-center">
<i class="fas fa-info-circle mr-2"></i> Plus d'infos
</button>
<button class="neon-button bg-pink-500 text-black px-6 py-3 rounded-full font-bold flex items-center">
<i class="fas fa-plus mr-2"></i> Ma Liste
</button>
</div>
<div class="mt-8 flex flex-wrap items-center gap-4">
<div class="flex items-center text-cyan-400">
<i class="fas fa-star mr-2"></i>
<span>4.8/5</span>
</div>
<div class="flex items-center text-pink-400">
<i class="fas fa-eye mr-2"></i>
<span>12.4M vues</span>
</div>
<div class="flex items-center text-green-400">
<i class="fas fa-robot mr-2"></i>
<span>IA Recommandé</span>
</div>
<div class="flex items-center text-purple-400">
<i class="fas fa-bolt mr-2"></i>
<span>Auto-Play</span>
</div>
</div>
</div>
<div class="lg:w-1/2 relative mt-10 lg:mt-0">
<div class="neon-border rounded-xl overflow-hidden relative glow h-full" style="aspect-ratio: 16/9;">
<div id="featuredVideo" class="video-placeholder">
<div class="text-center z-10">
<div class="loading-bar mb-4 mx-auto" style="width: 200px;"></div>
<p class="text-cyan-400 text-xl">Chargement du film vedette...</p>
<div class="progress-ring mx-auto mt-4">
<svg class="progress-ring__circle" width="50" height="50">
<circle class="progress-ring__circle--background" stroke-width="4" fill="transparent" r="20" cx="25" cy="25"/>
<circle class="progress-ring__circle--progress" stroke-width="4" fill="transparent" r="20" cx="25" cy="25" stroke-dasharray="125.6" stroke-dashoffset="62.8"/>
</svg>
<div class="progress-text">50%</div>
</div>
</div>
</div>
<div class="auto-play-indicator">
<i class="fas fa-robot"></i>
<span>Lecture Auto: Activée</span>
</div>
</div>
<div class="absolute -bottom-6 -right-6 bg-gray-900 bg-opacity-80 rounded-full p-4 neon-border hidden lg:block">
<i class="fas fa-brain text-2xl text-pink-500"></i>
</div>
</div>
</div>
</section>
<!-- Section IA Recommandations -->
<section class="py-12 px-4 sm:px-6 bg-black bg-opacity-50 relative">
<div class="container mx-auto">
<div class="flex flex-col sm:flex-row justify-between items-start sm:items-center mb-8 gap-4">
<h3 class="text-2xl sm:text-3xl font-bold neon-text">
<i class="fas fa-robot text-cyan-400 mr-2"></i>
<span>RECOMMANDATIONS</span> <span class="text-pink-500">IA</span>
</h3>
<div class="flex items-center gap-4">
<div class="flex items-center text-cyan-400">
<span class="mr-2">En direct</span>
<div class="w-3 h-3 rounded-full bg-green-500 pulse"></div>
</div>
<div class="relative">
<select class="cyberpunk-select">
<option>Trier par: Pertinence IA</option>
<option>Popularité</option>
<option>Date de sortie</option>
<option>Note des utilisateurs</option>
<option>Durée</option>
</select>
</div>
</div>
</div>
<div class="robot-voice mb-8">
<p class="text-cyan-300">SYSTÈME IA: Analyse de vos préférences terminée. Chargement des recommandations personnalisées basées sur notre base de données quantique.</p>
</div>
<div id="moviesContainer" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-4 sm:gap-6">
<!-- Les films seront chargés ici par JavaScript -->
<div class="col-span-full text-center py-10">
<div class="loading-bar mb-4 mx-auto" style="width: 200px;"></div>
<p class="text-cyan-400 text-lg">Chargement des films...</p>
</div>
</div>
<div id="loadingMore" class="loading-more">
<div class="loading-bar mb-4 mx-auto" style="width: 200px;"></div>
<p class="text-cyan-400">Chargement automatique des films...</p>
<div class="progress-ring mx-auto mt-4">
<svg class="progress-ring__circle" width="40" height="40">
<circle class="progress-ring__circle--background" stroke-width="3" fill="transparent" r="16" cx="20" cy="20"/>
<circle class="progress-ring__circle--progress" stroke-width="3" fill="transparent" r="16" cx="20" cy="20" stroke-dasharray="100.48" stroke-dashoffset="50.24"/>
</svg>
<div class="progress-text">50%</div>
</div>
</div>
</div>
</section>
<!-- Section Catégories Quantiques -->
<section class="py-12 px-4 sm:px-6 relative">
<div class="container mx-auto">
<h3 class="text-2xl sm:text-3xl font-bold neon-text mb-8 text-center">
<i class="fas fa-atom text-pink-500 mr-2"></i>
<span>CATÉGORIES</span> <span class="text-cyan-400">QUANTIQUES</span>
</h3>
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-6">
<!-- Catégorie 1 -->
<div class="holographic-card group text-center p-6">
<div class="w-16 h-16 mx-auto mb-4 rounded-full bg-gradient-to-r from-cyan-400 to-pink-500 flex items-center justify-center neon-border">
<i class="fas fa-space-shuttle text-xl"></i>
</div>
<h4 class="text-xl font-bold mb-2">Science-Fiction</h4>
<p class="text-gray-400 text-sm">12,456,789 films</p>
<div class="mt-4">
<button class="text-cyan-400 text-sm flex items-center justify-center mx-auto">
Explorer <i class="fas fa-arrow-right ml-2 transition-transform group-hover:translate-x-1"></i>
</button>
</div>
</div>
<!-- Catégorie 2 -->
<div class="holographic-card group text-center p-6">
<div class="w-16 h-16 mx-auto mb-4 rounded-full bg-gradient-to-r from-pink-500 to-purple-500 flex items-center justify-center neon-border">
<i class="fas fa-robot text-xl"></i>
</div>
<h4 class="text-xl font-bold mb-2">Cyberpunk</h4>
<p class="text-gray-400 text-sm">8,765,432 films</p>
<div class="mt-4">
<button class="text-cyan-400 text-sm flex items-center justify-center mx-auto">
Explorer <i class="fas fa-arrow-right ml-2 transition-transform group-hover:translate-x-1"></i>
</button>
</div>
</div>
<!-- Catégorie 3 -->
<div class="holographic-card group text-center p-6">
<div class="w-16 h-16 mx-auto mb-4 rounded-full bg-gradient-to-r from-purple-500 to-blue-500 flex items-center justify-center neon-border">
<i class="fas fa-brain text-xl"></i>
</div>
<h4 class="text-xl font-bold mb-2">IA & Robots</h4>
<p class="text-gray-400 text-sm">6,543,210 films</p>
<div class="mt-4">
<button class="text-cyan-400 text-sm flex items-center justify-center mx-auto">
Explorer <i class="fas fa-arrow-right ml-2 transition-transform group-hover:translate-x-1"></i>
</button>
</div>
</div>
<!-- Catégorie 4 -->
<div class="holographic-card group text-center p-6">
<div class="w-16 h-16 mx-auto mb-4 rounded-full bg-gradient-to-r from-blue-500 to-green-500 flex items-center justify-center neon-border">
<i class="fas fa-vr-cardboard text-xl"></i>
</div>
<h4 class="text-xl font-bold mb-2">Réalité Virtuelle</h4>
<p class="text-gray-400 text-sm">5,678,901 films</p>
<div class="mt-4">
<button class="text-cyan-400 text-sm flex items-center justify-center mx-auto">
Explorer <i class="fas fa-arrow-right ml-2 transition-transform group-hover:translate-x-1"></i>
</button>
</div>
</div>
<!-- Catégorie 5 -->
<div class="holographic-card group text-center p-6">
<div class="w-16 h-16 mx-auto mb-4 rounded-full bg-gradient-to-r from-green-500 to-yellow-500 flex items-center justify-center neon-border">
<i class="fas fa-dna text-xl"></i>
</div>
<h4 class="text-xl font-bold mb-2">Bio-Tech</h4>
<p class="text-gray-400 text-sm">4,321,098 films</p>
<div class="mt-4">
<button class="text-cyan-400 text-sm flex items-center justify-center mx-auto">
Explorer <i class="fas fa-arrow-right ml-2 transition-transform group-hover:translate-x-1"></i>
</button>
</div>
</div>
</div>
<div class="text-center mt-10">
<button class="neon-button neon-border text-white px-8 py-3 rounded-full font-bold flex items-center mx-auto">
<i class="fas fa-chevron-circle-down mr-2"></i> Voir toutes les catégories
</button>
</div>
</div>
</section>
<!-- Section Abonnement Premium -->
<section class="py-16 px-4 sm:px-6 bg-gradient-to-r from-cyan-900 to-purple-900 relative overflow-hidden">
<div class="absolute inset-0 bg-black opacity-40"></div>
<div class="container mx-auto relative z-10">
<div class="text-center mb-12">
<h3 class="text-3xl sm:text-4xl font-bold neon-text mb-4">
<span class="gradient-text">ABONNEMENT</span> <span class="text-pink-500">PREMIUM</span>
</h3>
<p class="text-gray-300 max-w-3xl mx-auto text-lg">
Passez à la vitesse supérieure avec notre abonnement quantique. Accès illimité à tous les films en 16K, réalité virtuelle et avantages exclusifs.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-5xl mx-auto">
<!-- Offre 1 -->
<div class="holographic-card p-8 text-center relative">
<div class="absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-cyan-400 to-pink-500"></div>
<h4 class="text-xl font-bold mb-4">BASIQUE</h4>
<div class="text-4xl font-bold mb-6 gradient-text">9.99€<span class="text-sm text-gray-400">/mois</span></div>
<ul class="space-y-3 mb-8 text-gray-300">
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Accès à tous les films
</li>
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Qualité 4K
</li>
<li class="flex items-center justify-center">
<i class="fas fa-times-circle text-red-400 mr-2"></i> Réalité Virtuelle
</li>
<li class="flex items-center justify-center">
<i class="fas fa-times-circle text-red-400 mr-2"></i> Téléchargements
</li>
</ul>
<button class="neon-button neon-border text-white px-6 py-3 rounded-full font-bold w-full">
Choisir cette offre
</button>
</div>
<!-- Offre 2 (Mise en avant) -->
<div class="holographic-card p-8 text-center relative transform scale-105 shadow-lg" style="z-index: 2;">
<div class="absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-pink-500 to-purple-500"></div>
<div class="absolute top-4 right-4 bg-pink-500 text-white text-xs font-bold px-2 py-1 rounded">
POPULAIRE
</div>
<h4 class="text-xl font-bold mb-4">QUANTIQUE</h4>
<div class="text-4xl font-bold mb-6 gradient-text">14.99€<span class="text-sm text-gray-400">/mois</span></div>
<ul class="space-y-3 mb-8 text-gray-300">
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Accès à tous les films
</li>
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Qualité 8K
</li>
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Réalité Virtuelle
</li>
<li class="flex items-center justify-center">
<i class="fas fa-times-circle text-red-400 mr-2"></i> Téléchargements
</li>
</ul>
<button class="neon-button bg-gradient-to-r from-cyan-400 to-pink-500 text-black px-6 py-3 rounded-full font-bold w-full">
Choisir cette offre
</button>
</div>
<!-- Offre 3 -->
<div class="holographic-card p-8 text-center relative">
<div class="absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-purple-500 to-blue-500"></div>
<h4 class="text-xl font-bold mb-4">PREMIUM</h4>
<div class="text-4xl font-bold mb-6 gradient-text">19.99€<span class="text-sm text-gray-400">/mois</span></div>
<ul class="space-y-3 mb-8 text-gray-300">
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Accès à tous les films
</li>
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Qualité 16K
</li>
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Réalité Virtuelle
</li>
<li class="flex items-center justify-center">
<i class="fas fa-check-circle text-green-400 mr-2"></i> Téléchargements
</li>
</ul>
<button class="neon-button neon-border text-white px-6 py-3 rounded-full font-bold w-full">
Choisir cette offre
</button>
</div>
</div>
</div>
</section>
<!-- Footer Futuriste -->
<footer class="bg-black bg-opacity-90 py-12 px-4 sm:px-6 relative border-t border-gray-800">
<div class="container mx-auto">
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
<div>
<h4 class="text-xl font-bold neon-text mb-4 flex items-center">
<div class="neon-border rounded-full w-8 h-8 flex items-center justify-center mr-2">
<i class="fas fa-robot text-sm"></i>
</div>
NEOFLIX
</h4>
<p class="text-gray-400 mb-4">
Le futur du cinéma en français. Des millions de films disponibles en streaming automatique avec technologie IA quantique.
</p>
<div class="flex space-x-4">
<a href="#" class="text-gray-400 hover:text-cyan-400 transition">
<i class="fab fa-facebook-f"></i>
</a>
<a href="#" class="text-gray-400 hover:text-cyan-400 transition">
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="text-gray-400 hover:text-cyan-400 transition">
<i class="fab fa-instagram"></i>
</a>
<a href="#" class="text-gray-400 hover:text-cyan-400 transition">
<i class="fab fa-youtube"></i>
</a>
<a href="#" class="text-gray-400 hover:text-cyan-400 transition">
<i class="fab fa-tiktok"></i>
</a>
</div>
</div>
<div>
<h5 class="text-lg font-bold text-cyan-400 mb-4">Navigation</h5>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-cyan-400"></i> Accueil</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-cyan-400"></i> Films</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-cyan-400"></i> Séries</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-cyan-400"></i> Nouveautés</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-cyan-400"></i> Ma Liste</a></li>
</ul>
</div>
<div>
<h5 class="text-lg font-bold text-pink-500 mb-4">Technologie</h5>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-pink-400"></i> Lecteur Auto</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-pink-400"></i> IA Recommandations</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-pink-400"></i> Holographie</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-pink-400"></i> 16K Quantique</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition flex items-center"><i class="fas fa-chevron-right text-xs mr-2 text-pink-400"></i> Audio Spatial</a></li>
</ul>
</div>
<div>
<h5 class="text-lg font-bold text-cyan-400 mb-4">Assistance IA</h5>
<div class="flex items-start mb-4">
<div class="bg-cyan-500 bg-opacity-20 rounded-full p-2 mr-3">
<i class="fas fa-robot text-cyan-400"></i>
</div>
<div>
<p class="text-gray-300">Notre assistant IA est disponible 24/7 pour vous aider.</p>
<button class="text-cyan-400 text-sm mt-2 flex items-center">
Parler à l'IA <i class="fas fa-comment-dots ml-2"></i>
</button>
</div>
</div>
<div class="flex items-start">
<div class="bg-pink-500 bg-opacity-20 rounded-full p-2 mr-3">
<i class="fas fa-bell text-pink-400"></i>
</div>
<div>
<p class="text-gray-300">Activez les notifications pour les nouveaux films.</p>
<button class="text-pink-400 text-sm mt-2 flex items-center">
Activer <i class="fas fa-toggle-on ml-2"></i>
</button>
</div>
</div>
<div class="mt-4">
<h6 class="text-sm font-bold text-gray-400 mb-2">TÉLÉCHARGER L'APP</h6>
<div class="flex space-x-2">
<button class="bg-gray-800 text-white px-3 py-2 rounded flex items-center text-xs">
<i class="fab fa-apple mr-1"></i> App Store
</button>
<button class="bg-gray-800 text-white px-3 py-2 rounded flex items-center text-xs">
<i class="fab fa-google-play mr-1"></i> Play Store
</button>
</div>
</div>
</div>
</div>
<div class="border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center">
<p class="text-gray-500 mb-4 md:mb-0">© 2024 NEOFLIX - Tous droits réservés</p>
<div class="flex flex-wrap justify-center gap-4">
<a href="#" class="text-gray-500 hover:text-cyan-400 transition">Confidentialité</a>
<a href="#" class="text-gray-500 hover:text-cyan-400 transition">Conditions</a>
<a href="#" class="text-gray-500 hover:text-cyan-400 transition">Cookies</a>
<a href="#" class="text-gray-500 hover:text-cyan-400 transition">Mentions légales</a>
<a href="#" class="text-gray-500 hover:text-cyan-400 transition">Paramètres</a>
</div>
</div>
</div>
</footer>
<!-- Console IA Flottante -->
<div class="fixed bottom-6 right-6 z-50">
<div class="relative">
<div class="w-14 h-14 rounded-full bg-gradient-to-r from-cyan-400 to-pink-500 flex items-center justify-center shadow-lg cursor-pointer neon-border glow hover:rotate-12 transition-transform" id="iaButton">
<i class="fas fa-robot text-2xl"></i>
</div>
<div class="absolute -top-2 -right-2 bg-red-500 rounded-full w-5 h-5 flex items-center justify-center text-xs animate-ping">
<span class="absolute">3</span>
</div>
</div>
<div class="absolute bottom-20 right-0 w-80 bg-gray-900 rounded-lg shadow-xl neon-border hidden transform origin-bottom-right transition-all duration-300 scale-0" id="iaConsole">
<div class="p-4 border-b border-gray-800 flex justify-between items-center">
<h6 class="font-bold text-cyan-400 flex items-center">
<i class="fas fa-robot mr-2"></i> CONSOLE IA
</h6>
<button class="text-gray-400 hover:text-white" id="closeIaConsole">
<i class="fas fa-times"></i>
</button>
</div>
<div class="p-4 max-h-60 overflow-y-auto" id="iaChat">
<div class="text-cyan-300 text-sm mb-2 flex">
<div class="mr-2">🤖</div>
<div>Bonjour! Je suis votre assistant IA. Comment puis-je vous aider?</div>
</div>
<div class="bg-gray-800 rounded p-3 mb-3">
<div class="flex">
<div class="mr-2 text-cyan-400">></div>
<div>Rechercher des films cyberpunk</div>
</div>
</div>
<div class="bg-gray-800 rounded p-3 mb-3">
<div class="flex">
<div class="mr-2 text-pink-400">IA:</div>
<div>J'ai trouvé 8,765,432 films cyberpunk. <a href="#" class="text-cyan-400">Voir résultats</a></div>
</div>
</div>
</div>
<div class="p-3 border-t border-gray-800 flex">
<input type="text" placeholder="Parlez à l'IA..." class="flex-grow bg-gray-800 text-white px-3 py-2 rounded-l focus:outline-none">
<button class="bg-cyan-500 text-black px-3 py-2 rounded-r">
<i class="fas fa-paper-plane"></i>
</button>
</div>
</div>
</div>
<!-- Notification Flottante -->
<div class="floating-notification" id="autoPlayNotification">
<i class="fas fa-robot"></i>
<span>Chargement automatique activé. 5 nouveaux films ajoutés.</span>
</div>
<script>
// Configuration TMDB
const TMDB_API_KEY = 'fb437b10727a5a4eb8d9134e29c82ae0';
const TMDB_BASE_URL = 'https://api.themoviedb.org/3';
const TMDB_IMAGE_BASE = 'https://image.tmdb.org/t/p/w500';
// Variables d'état
let currentPage = 1;
let totalMovies = 0;
let isLoading = false;
let loadedMoviesCount = 0;
// Toggle IA Console
document.getElementById('iaButton').addEventListener('click', function() {
const console = document.getElementById('iaConsole');
console.classList.toggle('hidden');
console.classList.toggle('scale-0');
console.classList.toggle('scale-100');
// Afficher la notification si c'est la première ouverture
if (!console.classList.contains('hidden')) {
showNotification("Assistant IA activé. Posez-moi vos questions!");
}
});
document.getElementById('closeIaConsole').addEventListener('click', function() {
const console = document.getElementById('iaConsole');
console.classList.add('hidden');
console.classList.remove('scale-100');
console.classList.add('scale-0');
});
// Fonction pour afficher les notifications
function showNotification(message) {
const notification = document.getElementById('autoPlayNotification');
notification.querySelector('span').textContent = message;
notification.classList.add('show');
setTimeout(() => {
notification.classList.remove('show');
}, 5000);
}
// Fonction pour formater les nombres
function formatNumber(num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
// Fonction pour simuler une progression
function simulateProgress(element, duration = 2000) {
const circle = element.querySelector('.progress-ring__circle--progress');
const text = element.querySelector('.progress-text');
const radius = circle.r.baseVal.value;
const circumference = radius * 2 * Math.PI;
circle.style.strokeDasharray = circumference;
circle.style.strokeDashoffset = circumference;
let progress = 0;
const interval = setInterval(() => {
progress += 1;
const offset = circumference - (progress / 100) * circumference;
circle.style.strokeDashoffset = offset;
text.textContent = `${progress}%`;
if (progress >= 100) {
clearInterval(interval);
}
}, duration / 100);
}
// Fonction pour charger les films populaires
async function fetchPopularMovies(page = 1) {
try {
isLoading = true;
document.getElementById('loadingMore').style.display = 'flex';
// Simuler une progression pour le chargement
const progressElements = document.querySelectorAll('.progress-ring');
progressElements.forEach(el => simulateProgress(el));
const response = await fetch(`${TMDB_BASE_URL}/movie/popular?api_key=${TMDB_API_KEY}&language=fr-FR&page=${page}`);
const data = await response.json();
if (page === 1) {
totalMovies = data.total_results;
document.getElementById('movieCount').textContent = formatNumber(totalMovies);
// Charger le film vedette (premier film de la liste)
if (data.results.length > 0) {
loadFeaturedMovie(data.results[0]);
}
}
return data.results;
} catch (error) {
console.error('Erreur lors du chargement des films:', error);
showNotification("Erreur de connexion au serveur quantique. Réessayez...");
return [];
} finally {
isLoading = false;
document.getElementById('loadingMore').style.display = 'none';
}
}
// Fonction pour charger le film vedette
function loadFeaturedMovie(movie) {
const featuredVideo = document.getElementById('featuredVideo');
// Animation de transition
featuredVideo.style.opacity = '0';
setTimeout(() => {
if (movie.backdrop_path) {
featuredVideo.innerHTML = `
<img src="${TMDB_IMAGE_BASE}${movie.backdrop_path}" alt="${movie.title}" class="w-full h-full object-cover">
<div class="absolute inset-0 bg-gradient-to-t from-black to-transparent flex flex-col justify-end p-6">
<h3 class="text-2xl sm:text-3xl font-bold">${movie.title}</h3>
<div class="flex flex-wrap gap-2 my-2">
${movie.genre_ids.slice(0, 3).map(id => {
const genre = getGenreName(id);
return `<span class="genre-tag">${genre}</span>`;
}).join('')}
</div>
<p class="text-gray-300 text-sm sm:text-base">${movie.overview ? movie.overview.substring(0, 150) + '...' : 'Description non disponible'}</p>
</div>
`;
} else {
featuredVideo.innerHTML = `
<div class="w-full h-full bg-gray-800 flex items-center justify-center">
<div class="text-center">
<i class="fas fa-film text-4xl text-cyan-400 mb-2"></i>
<p class="text-cyan-400 text-xl">${movie.title}</p>
</div>
</div>
`;
}
featuredVideo.style.opacity = '1';
}, 500);
// Mettre à jour le compteur de films chargés
loadedMoviesCount++;
if (loadedMoviesCount % 5 === 0) {
showNotification(`Chargement automatique: ${loadedMoviesCount} films chargés`);
}
}
// Fonction pour obtenir le nom du genre à partir de l'ID
function getGenreName(id) {
const genres = {
28: 'Action',
12: 'Aventure',
16: 'Animation',
35: 'Comédie',
80: 'Crime',
99: 'Documentaire',
18: 'Drame',
10751: 'Familial',
14: 'Fantastique',
36: 'Histoire',
27: 'Horreur',
10402: 'Musique',
9648: 'Mystère',
10749: 'Romance',
878: 'Science-Fiction',
10770: 'Téléfilm',
53: 'Thriller',
10752: 'Guerre',
37: 'Western'
};
return genres[id] || 'Inconnu';
}
// Fonction pour afficher les films
function displayMovies(movies) {
const moviesContainer = document.getElementById('moviesContainer');
// Si c'est la première page, on vide le conteneur
if (currentPage === 1) {
moviesContainer.innerHTML = '';
}
movies.forEach(movie => {
const movieCard = document.createElement('div');
movieCard.className = 'holographic-card group';
movieCard.innerHTML = `
<div class="relative overflow-hidden rounded-lg" style="aspect-ratio: 2/3;">
${movie.poster_path ?
`<img src="${TMDB_IMAGE_BASE}${movie.poster_path}" alt="${movie.title}"
class="w-full h-full object-cover group-hover:opacity-70 transition duration-300"
loading="lazy">` :
`<div class="w-full h-full bg-gray-800 flex items-center justify-center">
<i class="fas fa-film text-4xl text-cyan-400"></i>
</div>`
}
<div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col justify-end p-4">
<h4 class="text-white font-bold mb-2 text-sm sm:text-base">${movie.title}</h4>
<div class="flex justify-between text-xs text-gray-300">
<span>${movie.release_date ? movie.release_date.substring(0, 4) : 'N/A'}</span>
<span class="text-cyan-400"><i class="fas fa-star"></i> ${movie.vote_average.toFixed(1)}</span>
</div>
<button class="mt-3 neon-button bg-cyan-500 text-black text-xs py-1 px-3 rounded-full font-bold w-full opacity-0 group-hover:opacity-100 transition-opacity duration-300">
<i class="fas fa-play mr-1"></i> Regarder
</button>
</div>
<div class="absolute top-2 right-2 bg-black bg-opacity-70 rounded-full p-1.5 text-xs text-cyan-400">
<i class="fas fa-play"></i>
</div>
</div>
`;
moviesContainer.appendChild(movieCard);
// Animation d'apparition
setTimeout(() => {
movieCard.style.opacity = '1';
movieCard.style.transform = 'translateY(0)';
}, 100);
});
}
// Fonction pour charger plus de films automatiquement
async function loadMoreMovies() {
if (isLoading) return;
currentPage++;
const movies = await fetchPopularMovies(currentPage);
displayMovies(movies);
// Ajouter un message dans la console IA
if (document.getElementById('iaChat')) {
const iaMessage = document.createElement('div');
iaMessage.className = 'text-green-300 text-sm mb-2 flex';
iaMessage.innerHTML = `
<div class="mr-2">🤖</div>
<div>${movies.length} films supplémentaires chargés automatiquement.</div>
`;
document.getElementById('iaChat').appendChild(iaMessage);
document.getElementById('iaChat').scrollTop = document.getElementById('iaChat').scrollHeight;
}
}
// Détection du scroll pour le chargement automatique
window.addEventListener('scroll', () => {
const { scrollTop, scrollHeight, clientHeight } = document.documentElement;
// Si l'utilisateur est proche du bas de la page (à 200px près)
if (scrollTop + clientHeight >= scrollHeight - 200) {
loadMoreMovies();
}
});
// Initialisation
document.addEventListener('DOMContentLoaded', async () => {
// Afficher la notification de bienvenue
setTimeout(() => {
showNotification("Bienvenue sur NEOFLIX! Chargement des films en cours...");
}, 1000);
// Simuler un chargement IA
const loadingMessages = [
"Connexion au serveur quantique...",
"Analyse des préférences utilisateur...",
"Optimisation de l'expérience de visionnage...",
"Chargement des données cinématographiques..."
];
let currentMessage = 0;
const robotVoice = document.querySelector('.robot-voice');
const loadingInterval = setInterval(() => {
robotVoice.innerHTML = `<p class="text-cyan-300">SYSTÈME IA: ${loadingMessages[currentMessage]}</p>`;
currentMessage = (currentMessage + 1) % loadingMessages.length;
}, 2000);
// Charger les films
const movies = await fetchPopularMovies();
displayMovies(movies);
// Arrêter les messages de chargement
clearInterval(loadingInterval);
robotVoice.innerHTML = `<p class="text-green-400">SYSTÈME IA: Chargement terminé. ${movies.length} films chargés avec succès.</p>`;
// Simuler un message de l'IA après le chargement
setTimeout(() => {
if (document.getElementById('iaChat')) {
const iaMessage = document.createElement('div');
iaMessage.className = 'text-cyan-300 text-sm mb-2 flex';
iaMessage.innerHTML = `
<div class="mr-2">🤖</div>
<div>Votre expérience cinématographique est prête! Que souhaitez-vous regarder aujourd'hui?</div>
`;
document.getElementById('iaChat').appendChild(iaMessage);
document.getElementById('iaChat').scrollTop = document.getElementById('iaChat').scrollHeight;
}
}, 3000);
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=docto41/neoflix" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>