Add 2 files
Browse files- index.html +329 -435
- prompts.txt +3 -1
index.html
CHANGED
@@ -3,52 +3,11 @@
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
-
<title>
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
9 |
-
<script>
|
10 |
-
tailwind.config = {
|
11 |
-
theme: {
|
12 |
-
extend: {
|
13 |
-
colors: {
|
14 |
-
neon: {
|
15 |
-
blue: '#00f0ff',
|
16 |
-
pink: '#ff00f0',
|
17 |
-
purple: '#b400ff',
|
18 |
-
green: '#00ff7b'
|
19 |
-
},
|
20 |
-
dark: {
|
21 |
-
900: '#0a0a0a',
|
22 |
-
800: '#1a1a1a',
|
23 |
-
700: '#2a2a2a'
|
24 |
-
}
|
25 |
-
},
|
26 |
-
animation: {
|
27 |
-
'float': 'float 6s ease-in-out infinite',
|
28 |
-
'float-reverse': 'float-reverse 5s ease-in-out infinite',
|
29 |
-
'pulse-slow': 'pulse 5s cubic-bezier(0.4, 0, 0.6, 1) infinite',
|
30 |
-
'text-gradient': 'text-gradient 8s linear infinite',
|
31 |
-
},
|
32 |
-
keyframes: {
|
33 |
-
float: {
|
34 |
-
'0%, 100%': { transform: 'translateY(0)' },
|
35 |
-
'50%': { transform: 'translateY(-20px)' },
|
36 |
-
},
|
37 |
-
'float-reverse': {
|
38 |
-
'0%, 100%': { transform: 'translateY(0)' },
|
39 |
-
'50%': { transform: 'translateY(20px)' },
|
40 |
-
},
|
41 |
-
'text-gradient': {
|
42 |
-
'0%, 100%': { 'background-position': '0% 50%' },
|
43 |
-
'50%': { 'background-position': '100% 50%' },
|
44 |
-
}
|
45 |
-
}
|
46 |
-
}
|
47 |
-
}
|
48 |
-
}
|
49 |
-
</script>
|
50 |
<style>
|
51 |
-
@import url('https://fonts.googleapis.com/css2?family=
|
52 |
|
53 |
body {
|
54 |
font-family: 'Roboto', sans-serif;
|
@@ -57,124 +16,18 @@
|
|
57 |
overflow-x: hidden;
|
58 |
}
|
59 |
|
60 |
-
.futuriste {
|
61 |
-
font-family: 'Orbitron', sans-serif;
|
62 |
-
}
|
63 |
-
|
64 |
-
.glow {
|
65 |
-
text-shadow: 0 0 10px rgba(0, 240, 255, 0.7);
|
66 |
-
}
|
67 |
-
|
68 |
-
.glow-pink {
|
69 |
-
text-shadow: 0 0 10px rgba(255, 0, 240, 0.7);
|
70 |
-
}
|
71 |
-
|
72 |
-
.gradient-text {
|
73 |
-
background: linear-gradient(90deg, #00f0ff, #b400ff, #ff00f0, #00f0ff);
|
74 |
-
background-size: 300% 300%;
|
75 |
-
-webkit-background-clip: text;
|
76 |
-
background-clip: text;
|
77 |
-
color: transparent;
|
78 |
-
animation: text-gradient 8s linear infinite;
|
79 |
-
}
|
80 |
-
|
81 |
.film-card:hover {
|
82 |
-
transform: translateY(-10px)
|
83 |
-
box-shadow: 0
|
84 |
-
}
|
85 |
-
|
86 |
-
.neon-border {
|
87 |
-
position: relative;
|
88 |
-
}
|
89 |
-
|
90 |
-
.neon-border::after {
|
91 |
-
content: '';
|
92 |
-
position: absolute;
|
93 |
-
top: -2px;
|
94 |
-
left: -2px;
|
95 |
-
right: -2px;
|
96 |
-
bottom: -2px;
|
97 |
-
background: linear-gradient(45deg, #00f0ff, #b400ff, #ff00f0);
|
98 |
-
z-index: -1;
|
99 |
-
border-radius: inherit;
|
100 |
-
background-size: 200% 200%;
|
101 |
-
animation: gradient 3s ease infinite;
|
102 |
-
}
|
103 |
-
|
104 |
-
@keyframes gradient {
|
105 |
-
0% { background-position: 0% 50%; }
|
106 |
-
50% { background-position: 100% 50%; }
|
107 |
-
100% { background-position: 0% 50%; }
|
108 |
-
}
|
109 |
-
|
110 |
-
.parallax {
|
111 |
-
background-attachment: fixed;
|
112 |
-
background-position: center;
|
113 |
-
background-repeat: no-repeat;
|
114 |
-
background-size: cover;
|
115 |
}
|
116 |
|
117 |
-
.scroll-container {
|
118 |
-
scroll-snap-type: y mandatory;
|
119 |
-
overflow-y: scroll;
|
120 |
-
height: 100vh;
|
121 |
-
}
|
122 |
-
|
123 |
-
.scroll-section {
|
124 |
-
scroll-snap-align: start;
|
125 |
-
height: 100vh;
|
126 |
-
}
|
127 |
-
|
128 |
-
.holographic {
|
129 |
-
background: linear-gradient(135deg, rgba(0, 240, 255, 0.1) 0%, rgba(180, 0, 255, 0.1) 50%, rgba(255, 0, 240, 0.1) 100%);
|
130 |
-
backdrop-filter: blur(10px);
|
131 |
-
border: 1px solid rgba(255, 255, 255, 0.1);
|
132 |
-
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.36);
|
133 |
-
}
|
134 |
-
|
135 |
-
/* Animation pour les sections */
|
136 |
-
@keyframes fadeIn {
|
137 |
-
from { opacity: 0; transform: translateY(20px); }
|
138 |
-
to { opacity: 1; transform: translateY(0); }
|
139 |
-
}
|
140 |
-
|
141 |
-
.animate-fadeIn {
|
142 |
-
animation: fadeIn 1s ease-out forwards;
|
143 |
-
}
|
144 |
-
|
145 |
-
/* Loading spinner */
|
146 |
-
.loading-spinner {
|
147 |
-
display: inline-block;
|
148 |
-
width: 50px;
|
149 |
-
height: 50px;
|
150 |
-
border: 5px solid rgba(0, 240, 255, 0.3);
|
151 |
-
border-radius: 50%;
|
152 |
-
border-top-color: #00f0ff;
|
153 |
-
animation: spin 1s ease-in-out infinite;
|
154 |
-
}
|
155 |
-
|
156 |
-
@keyframes spin {
|
157 |
-
to { transform: rotate(360deg); }
|
158 |
-
}
|
159 |
-
|
160 |
-
/* Style pour les serveurs de streaming */
|
161 |
-
.server-btn {
|
162 |
-
transition: all 0.3s ease;
|
163 |
-
}
|
164 |
-
|
165 |
-
.server-btn:hover {
|
166 |
-
transform: translateY(-3px);
|
167 |
-
box-shadow: 0 4px 15px rgba(0, 240, 255, 0.3);
|
168 |
-
}
|
169 |
-
|
170 |
-
/* Style pour le lecteur vidéo */
|
171 |
.video-player {
|
172 |
position: fixed;
|
173 |
top: 0;
|
174 |
left: 0;
|
175 |
width: 100%;
|
176 |
height: 100%;
|
177 |
-
background: rgba(0, 0, 0, 0.
|
178 |
z-index: 9999;
|
179 |
display: none;
|
180 |
justify-content: center;
|
@@ -182,7 +35,7 @@
|
|
182 |
}
|
183 |
|
184 |
.video-container {
|
185 |
-
width:
|
186 |
max-width: 1200px;
|
187 |
position: relative;
|
188 |
}
|
@@ -198,15 +51,14 @@
|
|
198 |
}
|
199 |
|
200 |
.close-player:hover {
|
201 |
-
color: #
|
202 |
}
|
203 |
|
204 |
-
/* Badge VF */
|
205 |
.vf-badge {
|
206 |
position: absolute;
|
207 |
top: 10px;
|
208 |
right: 10px;
|
209 |
-
background: linear-gradient(45deg, #
|
210 |
color: black;
|
211 |
font-weight: bold;
|
212 |
padding: 3px 8px;
|
@@ -215,7 +67,6 @@
|
|
215 |
z-index: 2;
|
216 |
}
|
217 |
|
218 |
-
/* Badge HD */
|
219 |
.hd-badge {
|
220 |
position: absolute;
|
221 |
top: 10px;
|
@@ -226,16 +77,15 @@
|
|
226 |
padding: 3px 8px;
|
227 |
border-radius: 4px;
|
228 |
font-size: 12px;
|
229 |
-
border: 1px solid #
|
230 |
z-index: 2;
|
231 |
}
|
232 |
|
233 |
-
/* Badge Nouveau */
|
234 |
.new-badge {
|
235 |
position: absolute;
|
236 |
-
top:
|
237 |
right: 10px;
|
238 |
-
background: linear-gradient(45deg, #
|
239 |
color: white;
|
240 |
font-weight: bold;
|
241 |
padding: 3px 8px;
|
@@ -243,36 +93,86 @@
|
|
243 |
font-size: 12px;
|
244 |
z-index: 2;
|
245 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
</style>
|
247 |
</head>
|
248 |
-
<body class="
|
249 |
-
<!-- Navigation
|
250 |
-
<nav class="fixed w-full z-50 bg-black bg-opacity-90 backdrop-
|
251 |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
252 |
<div class="flex items-center justify-between h-16">
|
253 |
<div class="flex items-center">
|
254 |
<div class="flex-shrink-0">
|
255 |
-
<span class="text-2xl font-bold
|
256 |
</div>
|
257 |
-
<div class="hidden md:block">
|
258 |
-
<div class="
|
259 |
-
<a href="#accueil" class="text-white hover:text-
|
260 |
-
<a href="#
|
261 |
-
<a href="#
|
262 |
-
<a href="#
|
263 |
</div>
|
264 |
</div>
|
265 |
</div>
|
266 |
<div class="hidden md:block">
|
267 |
<div class="ml-4 flex items-center md:ml-6">
|
268 |
-
<div class="relative">
|
269 |
-
<input type="text" placeholder="Rechercher un film..." class="bg-gray-
|
270 |
-
<button class="absolute right-
|
271 |
<i class="fas fa-search"></i>
|
272 |
</button>
|
273 |
</div>
|
274 |
-
<button class="ml-4 bg-
|
275 |
-
Connexion
|
276 |
</button>
|
277 |
</div>
|
278 |
</div>
|
@@ -289,102 +189,108 @@
|
|
289 |
<div id="mobile-menu" class="hidden md:hidden bg-gray-900">
|
290 |
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
|
291 |
<a href="#accueil" class="text-white block px-3 py-2 rounded-md text-base font-medium">Accueil</a>
|
292 |
-
<a href="#
|
293 |
-
<a href="#
|
294 |
-
<a href="#
|
295 |
</div>
|
296 |
<div class="pt-4 pb-3 border-t border-gray-700 px-4">
|
297 |
-
<div class="relative mb-4">
|
298 |
-
<input type="text" placeholder="Rechercher un film..." class="bg-gray-800 text-white px-4 py-
|
299 |
-
<button class="absolute right-
|
300 |
<i class="fas fa-search"></i>
|
301 |
</button>
|
302 |
</div>
|
303 |
-
<button class="w-full bg-
|
304 |
-
Connexion
|
305 |
</button>
|
306 |
</div>
|
307 |
</div>
|
308 |
</nav>
|
309 |
|
310 |
-
<!-- Section
|
311 |
-
<section id="accueil" class="
|
312 |
-
<div class="
|
313 |
-
<div class="
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
</p>
|
327 |
-
<div class="flex
|
328 |
-
<
|
329 |
-
|
330 |
-
</
|
331 |
-
<button class="
|
332 |
-
<i class="fas fa-
|
333 |
</button>
|
334 |
</div>
|
335 |
</div>
|
336 |
-
|
337 |
-
<div class="absolute bottom-10 left-0 right-0 flex justify-center z-10">
|
338 |
-
<a href="#films" class="text-white animate-bounce">
|
339 |
-
<i class="fas fa-chevron-down text-2xl"></i>
|
340 |
-
</a>
|
341 |
-
</div>
|
342 |
-
|
343 |
-
<!-- Effets futuristes -->
|
344 |
-
<div class="absolute top-20 left-20 w-20 h-20 rounded-full bg-neon-blue opacity-20 filter blur-3xl animate-pulse-slow"></div>
|
345 |
-
<div class="absolute bottom-20 right-20 w-32 h-32 rounded-full bg-neon-pink opacity-20 filter blur-3xl animate-pulse-slow"></div>
|
346 |
</section>
|
347 |
|
348 |
-
<!-- Section
|
349 |
-
<section id="
|
350 |
-
<div class="
|
351 |
-
<div class="
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10">
|
356 |
-
<div class="text-center mb-16">
|
357 |
-
<h2 class="text-4xl md:text-5xl font-bold mb-4 futuriste gradient-text">FILMS 2025 VF HD</h2>
|
358 |
-
<p class="text-xl text-gray-400 max-w-3xl mx-auto">
|
359 |
-
Tous les films sortis en 2025 en <span class="text-neon-green">version française</span> et <span class="text-neon-blue">haute qualité</span>.
|
360 |
-
Disponibles immédiatement sur nos serveurs optimisés.
|
361 |
-
</p>
|
362 |
</div>
|
363 |
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
</div>
|
373 |
|
374 |
-
<!-- Grille de films 2025 -->
|
375 |
<div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-6" id="films-grid">
|
376 |
<!-- Les films seront générés par JavaScript -->
|
377 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
</div>
|
379 |
</section>
|
380 |
|
381 |
-
<!-- Lecteur vidéo -->
|
382 |
<div class="video-player" id="video-player">
|
383 |
<div class="video-container">
|
384 |
<span class="close-player" id="close-player"><i class="fas fa-times"></i></span>
|
385 |
-
<
|
386 |
-
Votre navigateur ne supporte pas la lecture de vidéos.
|
387 |
-
</video>
|
388 |
</div>
|
389 |
</div>
|
390 |
|
@@ -397,247 +303,204 @@
|
|
397 |
mobileMenu.classList.toggle('hidden');
|
398 |
});
|
399 |
|
400 |
-
// Données des films
|
401 |
-
const
|
402 |
{
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
description: "
|
409 |
-
note: "8.
|
410 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
411 |
vf: true,
|
412 |
hd: true,
|
413 |
-
|
|
|
414 |
},
|
415 |
{
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
description: "
|
422 |
-
note: "8.5",
|
423 |
-
image: "https://image.tmdb.org/t/p/w500/5aUX5xqvOkGC3a4iW5WEMOVJwNP.jpg",
|
424 |
-
vf: true,
|
425 |
-
hd: true,
|
426 |
-
videoUrl: "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
|
427 |
-
},
|
428 |
-
{
|
429 |
-
titre: "Mission: Impossible 8",
|
430 |
-
annee: 2025,
|
431 |
-
duree: "2h38min",
|
432 |
-
genre1: "Action",
|
433 |
-
genre2: "Thriller",
|
434 |
-
description: "Ethan Hunt et son équipe de l'IMF doivent affronter leur mission la plus dangereuse à ce jour.",
|
435 |
note: "8.1",
|
436 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
437 |
vf: true,
|
438 |
hd: true,
|
439 |
-
|
|
|
440 |
},
|
441 |
{
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
description: "
|
448 |
-
note: "
|
449 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
450 |
vf: true,
|
451 |
hd: true,
|
452 |
-
|
|
|
453 |
},
|
454 |
{
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
description: "
|
461 |
-
note: "8.
|
462 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
463 |
vf: true,
|
464 |
hd: true,
|
465 |
-
|
|
|
466 |
},
|
467 |
{
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
description: "
|
474 |
-
note: "
|
475 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
476 |
vf: true,
|
477 |
hd: true,
|
478 |
-
|
|
|
479 |
},
|
480 |
{
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
description: "
|
487 |
-
note: "8
|
488 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
489 |
vf: true,
|
490 |
hd: true,
|
491 |
-
|
|
|
492 |
},
|
493 |
{
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
description: "
|
500 |
-
note: "7.
|
501 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
502 |
vf: true,
|
503 |
hd: true,
|
504 |
-
|
|
|
505 |
},
|
506 |
{
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
description: "
|
513 |
note: "8.4",
|
514 |
-
image: "https://image.tmdb.org/t/p/w500/5aUX5xqvOkGC3a4iW5WEMOVJwNP.jpg",
|
515 |
-
vf: true,
|
516 |
-
hd: true,
|
517 |
-
videoUrl: "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
|
518 |
-
},
|
519 |
-
{
|
520 |
-
titre: "Jurassic World 4",
|
521 |
-
annee: 2025,
|
522 |
-
duree: "2h05min",
|
523 |
-
genre1: "Action",
|
524 |
-
genre2: "Aventure",
|
525 |
-
description: "Une nouvelle ère commence dans la franchise Jurassic World avec de nouveaux dinosaures et dangers.",
|
526 |
-
note: "7.5",
|
527 |
-
image: "https://image.tmdb.org/t/p/w500/8Gxv8gSFCU0XGDykEGv7zR1nuhua.jpg",
|
528 |
-
vf: true,
|
529 |
-
hd: true,
|
530 |
-
videoUrl: "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
|
531 |
-
},
|
532 |
-
{
|
533 |
-
titre: "Spider-Man: Beyond the Spider-Verse",
|
534 |
-
annee: 2025,
|
535 |
-
duree: "2h20min",
|
536 |
-
genre1: "Animation",
|
537 |
-
genre2: "Action",
|
538 |
-
description: "La conclusion de la trilogie Spider-Verse avec Miles Morales face à son destin.",
|
539 |
-
note: "9.0",
|
540 |
-
image: "https://image.tmdb.org/t/p/w500/8YFL5QQVPy3AgrEQxNYVSgiPEbe.jpg",
|
541 |
-
vf: true,
|
542 |
-
hd: true,
|
543 |
-
videoUrl: "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
|
544 |
-
},
|
545 |
-
{
|
546 |
-
titre: "Wicked",
|
547 |
-
annee: 2025,
|
548 |
-
duree: "2h30min",
|
549 |
-
genre1: "Musical",
|
550 |
-
genre2: "Fantasy",
|
551 |
-
description: "L'adaptation de la comédie musicale à succès racontant l'histoire des sorcières d'Oz.",
|
552 |
-
note: "8.1",
|
553 |
-
image: "https://image.tmdb.org/t/p/w500/5aUX5xqvOkGC3a4iW5WEMOVJwNP.jpg",
|
554 |
-
vf: true,
|
555 |
-
hd: true,
|
556 |
-
videoUrl: "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
|
557 |
-
},
|
558 |
-
{
|
559 |
-
titre: "Kraven the Hunter",
|
560 |
-
annee: 2025,
|
561 |
-
duree: "2h05min",
|
562 |
-
genre1: "Action",
|
563 |
-
genre2: "Aventure",
|
564 |
-
description: "L'origine du célèbre chasseur de Spider-Man dans cet univers cinématographique.",
|
565 |
-
note: "7.6",
|
566 |
image: "https://image.tmdb.org/t/p/w500/8Gxv8gSFCU0XGDykEGv7zR1nuhua.jpg",
|
|
|
567 |
vf: true,
|
568 |
hd: true,
|
569 |
-
|
|
|
570 |
},
|
571 |
{
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
description: "
|
578 |
-
note: "
|
579 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
580 |
vf: true,
|
581 |
hd: true,
|
582 |
-
|
|
|
583 |
},
|
584 |
{
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
description: "
|
591 |
-
note: "8.
|
592 |
-
image: "https://image.tmdb.org/t/p/w500/
|
|
|
593 |
vf: true,
|
594 |
hd: true,
|
595 |
-
|
|
|
596 |
}
|
597 |
];
|
598 |
-
|
599 |
// Variables pour le lecteur vidéo
|
600 |
const videoPlayer = document.getElementById('video-player');
|
601 |
const moviePlayer = document.getElementById('movie-player');
|
602 |
const closePlayer = document.getElementById('close-player');
|
603 |
-
|
604 |
-
//
|
605 |
function openVideoPlayer(videoUrl) {
|
606 |
moviePlayer.src = videoUrl;
|
607 |
videoPlayer.style.display = 'flex';
|
608 |
document.body.style.overflow = 'hidden';
|
609 |
-
moviePlayer.play();
|
610 |
}
|
611 |
-
|
612 |
// Fermer le lecteur vidéo
|
613 |
closePlayer.addEventListener('click', () => {
|
614 |
-
moviePlayer.
|
615 |
videoPlayer.style.display = 'none';
|
616 |
document.body.style.overflow = 'auto';
|
617 |
});
|
618 |
-
|
619 |
// Fermer le lecteur si on clique en dehors
|
620 |
videoPlayer.addEventListener('click', (e) => {
|
621 |
if (e.target === videoPlayer) {
|
622 |
-
moviePlayer.
|
623 |
videoPlayer.style.display = 'none';
|
624 |
document.body.style.overflow = 'auto';
|
625 |
}
|
626 |
});
|
627 |
-
|
628 |
-
// Générer les films dans
|
629 |
-
function genererFilmsGrid(films, targetElement) {
|
630 |
-
films.
|
|
|
|
|
|
|
631 |
const filmElement = document.createElement('div');
|
632 |
-
filmElement.className = 'film-card group relative rounded-xl overflow-hidden transition-all duration-
|
633 |
filmElement.innerHTML = `
|
634 |
-
<div class="relative aspect-[2/3] rounded-xl overflow-hidden">
|
635 |
${film.vf ? '<span class="vf-badge">VF</span>' : ''}
|
636 |
${film.hd ? '<span class="hd-badge">HD</span>' : ''}
|
637 |
-
<span class="new-badge">NOUVEAU</span>
|
638 |
-
<img src="${film.image}" alt="${film.titre}" class="w-full h-full object-cover group-hover:opacity-70 transition-all duration-
|
639 |
-
<div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/30 to-transparent opacity-0 group-hover:opacity-100 transition-all duration-
|
640 |
-
<div class="absolute bottom-0 left-0 right-0 p-4 translate-y-4 opacity-0 group-hover:translate-y-0 group-hover:opacity-100 transition-all duration-
|
641 |
<h3 class="text-white font-bold text-lg mb-1">${film.titre}</h3>
|
642 |
<div class="flex items-center text-sm text-gray-300 mb-2">
|
643 |
<span>${film.annee}</span>
|
@@ -645,12 +508,11 @@
|
|
645 |
<span>${film.duree}</span>
|
646 |
</div>
|
647 |
<div class="flex flex-wrap gap-2 mb-3">
|
648 |
-
|
649 |
-
<span class="px-2 py-1 bg-gray-800 text-white text-xs rounded-full">${film.genre2}</span>
|
650 |
</div>
|
651 |
<p class="text-gray-300 text-sm line-clamp-2">${film.description}</p>
|
652 |
</div>
|
653 |
-
<div class="absolute top-3 left-3 px-2 py-1 bg-black bg-opacity-70 text-
|
654 |
<i class="fas fa-star mr-1"></i>
|
655 |
${film.note}
|
656 |
</div>
|
@@ -662,7 +524,7 @@
|
|
662 |
</div>
|
663 |
</div>
|
664 |
<div class="mt-2">
|
665 |
-
<button class="watch-btn w-full bg-
|
666 |
<i class="fas fa-play mr-2"></i> Regarder
|
667 |
</button>
|
668 |
</div>
|
@@ -678,28 +540,60 @@
|
|
678 |
});
|
679 |
});
|
680 |
}
|
681 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
682 |
// Initialisation
|
683 |
document.addEventListener('DOMContentLoaded', () => {
|
684 |
-
// Charger
|
685 |
-
|
|
|
686 |
|
687 |
-
//
|
688 |
-
|
689 |
-
threshold: 0.1
|
690 |
-
};
|
691 |
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
});
|
698 |
-
}, observerOptions);
|
699 |
-
|
700 |
-
document.querySelectorAll('.scroll-section').forEach(section => {
|
701 |
-
observer.observe(section);
|
702 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
703 |
});
|
704 |
</script>
|
705 |
<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/cin-futur" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>StreamCiné - Films Complets en HD</title>
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
<style>
|
10 |
+
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
|
11 |
|
12 |
body {
|
13 |
font-family: 'Roboto', sans-serif;
|
|
|
16 |
overflow-x: hidden;
|
17 |
}
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
.film-card:hover {
|
20 |
+
transform: translateY(-10px);
|
21 |
+
box-shadow: 0 10px 25px -5px rgba(0, 179, 255, 0.3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
}
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
.video-player {
|
25 |
position: fixed;
|
26 |
top: 0;
|
27 |
left: 0;
|
28 |
width: 100%;
|
29 |
height: 100%;
|
30 |
+
background: rgba(0, 0, 0, 0.95);
|
31 |
z-index: 9999;
|
32 |
display: none;
|
33 |
justify-content: center;
|
|
|
35 |
}
|
36 |
|
37 |
.video-container {
|
38 |
+
width: 90%;
|
39 |
max-width: 1200px;
|
40 |
position: relative;
|
41 |
}
|
|
|
51 |
}
|
52 |
|
53 |
.close-player:hover {
|
54 |
+
color: #ff3e3e;
|
55 |
}
|
56 |
|
|
|
57 |
.vf-badge {
|
58 |
position: absolute;
|
59 |
top: 10px;
|
60 |
right: 10px;
|
61 |
+
background: linear-gradient(45deg, #00a2ff, #00ff9d);
|
62 |
color: black;
|
63 |
font-weight: bold;
|
64 |
padding: 3px 8px;
|
|
|
67 |
z-index: 2;
|
68 |
}
|
69 |
|
|
|
70 |
.hd-badge {
|
71 |
position: absolute;
|
72 |
top: 10px;
|
|
|
77 |
padding: 3px 8px;
|
78 |
border-radius: 4px;
|
79 |
font-size: 12px;
|
80 |
+
border: 1px solid #00a2ff;
|
81 |
z-index: 2;
|
82 |
}
|
83 |
|
|
|
84 |
.new-badge {
|
85 |
position: absolute;
|
86 |
+
top: 50px;
|
87 |
right: 10px;
|
88 |
+
background: linear-gradient(45deg, #ff3e3e, #ff00aa);
|
89 |
color: white;
|
90 |
font-weight: bold;
|
91 |
padding: 3px 8px;
|
|
|
93 |
font-size: 12px;
|
94 |
z-index: 2;
|
95 |
}
|
96 |
+
|
97 |
+
/* Style pour le lecteur principal */
|
98 |
+
.main-player {
|
99 |
+
width: 100%;
|
100 |
+
height: 70vh;
|
101 |
+
background: #000;
|
102 |
+
position: relative;
|
103 |
+
}
|
104 |
+
|
105 |
+
.main-player iframe {
|
106 |
+
width: 100%;
|
107 |
+
height: 100%;
|
108 |
+
}
|
109 |
+
|
110 |
+
/* Style pour la barre de recherche */
|
111 |
+
.search-box {
|
112 |
+
transition: all 0.3s ease;
|
113 |
+
}
|
114 |
+
|
115 |
+
.search-box:focus-within {
|
116 |
+
box-shadow: 0 0 0 2px #00a2ff;
|
117 |
+
}
|
118 |
+
|
119 |
+
/* Animation de chargement */
|
120 |
+
@keyframes spin {
|
121 |
+
to { transform: rotate(360deg); }
|
122 |
+
}
|
123 |
+
|
124 |
+
.loading-spinner {
|
125 |
+
display: inline-block;
|
126 |
+
width: 40px;
|
127 |
+
height: 40px;
|
128 |
+
border: 4px solid rgba(255, 255, 255, 0.3);
|
129 |
+
border-radius: 50%;
|
130 |
+
border-top-color: #00a2ff;
|
131 |
+
animation: spin 1s ease-in-out infinite;
|
132 |
+
}
|
133 |
+
|
134 |
+
/* Style pour les catégories */
|
135 |
+
.category-btn.active {
|
136 |
+
background: #00a2ff;
|
137 |
+
color: white;
|
138 |
+
}
|
139 |
+
|
140 |
+
/* Style pour la pagination */
|
141 |
+
.pagination-btn.active {
|
142 |
+
background: #00a2ff;
|
143 |
+
color: white;
|
144 |
+
border-color: #00a2ff;
|
145 |
+
}
|
146 |
</style>
|
147 |
</head>
|
148 |
+
<body class="bg-gray-900">
|
149 |
+
<!-- Navigation -->
|
150 |
+
<nav class="fixed w-full z-50 bg-black bg-opacity-90 backdrop-blur-md border-b border-gray-800">
|
151 |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
152 |
<div class="flex items-center justify-between h-16">
|
153 |
<div class="flex items-center">
|
154 |
<div class="flex-shrink-0">
|
155 |
+
<span class="text-2xl font-bold text-white">STREAM<span class="text-blue-400">CINÉ</span></span>
|
156 |
</div>
|
157 |
+
<div class="hidden md:block ml-10">
|
158 |
+
<div class="flex space-x-4">
|
159 |
+
<a href="#accueil" class="text-white hover:text-blue-400 px-3 py-2 rounded-md text-sm font-medium">Accueil</a>
|
160 |
+
<a href="#films" class="text-white hover:text-blue-400 px-3 py-2 rounded-md text-sm font-medium">Films</a>
|
161 |
+
<a href="#series" class="text-white hover:text-blue-400 px-3 py-2 rounded-md text-sm font-medium">Séries</a>
|
162 |
+
<a href="#nouveautes" class="text-blue-400 px-3 py-2 rounded-md text-sm font-medium">Nouveautés</a>
|
163 |
</div>
|
164 |
</div>
|
165 |
</div>
|
166 |
<div class="hidden md:block">
|
167 |
<div class="ml-4 flex items-center md:ml-6">
|
168 |
+
<div class="relative search-box">
|
169 |
+
<input type="text" placeholder="Rechercher un film..." class="bg-gray-800 text-white px-4 py-2 rounded-full text-sm focus:outline-none w-64">
|
170 |
+
<button class="absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-blue-400">
|
171 |
<i class="fas fa-search"></i>
|
172 |
</button>
|
173 |
</div>
|
174 |
+
<button class="ml-4 bg-blue-500 text-white px-4 py-2 rounded-full text-sm font-medium hover:bg-blue-600">
|
175 |
+
<i class="fas fa-user mr-1"></i> Connexion
|
176 |
</button>
|
177 |
</div>
|
178 |
</div>
|
|
|
189 |
<div id="mobile-menu" class="hidden md:hidden bg-gray-900">
|
190 |
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
|
191 |
<a href="#accueil" class="text-white block px-3 py-2 rounded-md text-base font-medium">Accueil</a>
|
192 |
+
<a href="#films" class="text-white block px-3 py-2 rounded-md text-base font-medium">Films</a>
|
193 |
+
<a href="#series" class="text-white block px-3 py-2 rounded-md text-base font-medium">Séries</a>
|
194 |
+
<a href="#nouveautes" class="text-blue-400 block px-3 py-2 rounded-md text-base font-medium">Nouveautés</a>
|
195 |
</div>
|
196 |
<div class="pt-4 pb-3 border-t border-gray-700 px-4">
|
197 |
+
<div class="relative mb-4 search-box">
|
198 |
+
<input type="text" placeholder="Rechercher un film..." class="bg-gray-800 text-white px-4 py-2 rounded-full text-sm focus:outline-none w-full">
|
199 |
+
<button class="absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-blue-400">
|
200 |
<i class="fas fa-search"></i>
|
201 |
</button>
|
202 |
</div>
|
203 |
+
<button class="w-full bg-blue-500 text-white px-4 py-2 rounded-full text-sm font-medium hover:bg-blue-600">
|
204 |
+
<i class="fas fa-user mr-1"></i> Connexion
|
205 |
</button>
|
206 |
</div>
|
207 |
</div>
|
208 |
</nav>
|
209 |
|
210 |
+
<!-- Section Principale avec Film en Vedette -->
|
211 |
+
<section id="accueil" class="pt-16 pb-10">
|
212 |
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
213 |
+
<div class="main-player rounded-xl overflow-hidden shadow-2xl mb-8">
|
214 |
+
<iframe id="featured-movie" src="https://www.youtube.com/embed/EXeTwQWrcwY?autoplay=1&mute=1&controls=0&showinfo=0&rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
215 |
+
</div>
|
216 |
+
<div class="flex justify-between items-center mb-6">
|
217 |
+
<h2 class="text-2xl font-bold text-white">Film en vedette</h2>
|
218 |
+
<div class="flex space-x-2">
|
219 |
+
<button class="px-3 py-1 bg-gray-800 text-white rounded-full text-sm hover:bg-gray-700">HD</button>
|
220 |
+
<button class="px-3 py-1 bg-gray-800 text-white rounded-full text-sm hover:bg-gray-700">VF</button>
|
221 |
+
<button class="px-3 py-1 bg-blue-500 text-white rounded-full text-sm hover:bg-blue-600">
|
222 |
+
<i class="fas fa-expand mr-1"></i> Plein écran
|
223 |
+
</button>
|
224 |
+
</div>
|
225 |
+
</div>
|
226 |
+
<h1 class="text-3xl md:text-4xl font-bold text-white mb-2">Dune : Partie Deux (2024)</h1>
|
227 |
+
<div class="flex items-center text-gray-400 mb-4">
|
228 |
+
<span class="text-yellow-400 mr-2"><i class="fas fa-star"></i> 8.7</span>
|
229 |
+
<span class="mx-2">•</span>
|
230 |
+
<span>2h 46min</span>
|
231 |
+
<span class="mx-2">•</span>
|
232 |
+
<span>Science-fiction, Aventure</span>
|
233 |
+
</div>
|
234 |
+
<p class="text-gray-300 mb-6 max-w-3xl">
|
235 |
+
Paul Atreides s'unit avec Chani et les Fremen pour se venger des conspirateurs qui ont détruit sa famille. Alors qu'il fait face à un choix entre l'amour de sa vie et le destin de l'univers, il doit empêcher un terrible futur que lui seul peut prévoir.
|
236 |
</p>
|
237 |
+
<div class="flex space-x-4">
|
238 |
+
<button class="bg-blue-500 hover:bg-blue-600 text-white px-6 py-3 rounded-full font-bold flex items-center">
|
239 |
+
<i class="fas fa-play mr-2"></i> Regarder maintenant
|
240 |
+
</button>
|
241 |
+
<button class="bg-gray-800 hover:bg-gray-700 text-white px-6 py-3 rounded-full font-bold flex items-center">
|
242 |
+
<i class="fas fa-plus mr-2"></i> Ma liste
|
243 |
</button>
|
244 |
</div>
|
245 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
</section>
|
247 |
|
248 |
+
<!-- Section Nouveautés -->
|
249 |
+
<section id="nouveautes" class="py-10 bg-gray-800">
|
250 |
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
251 |
+
<div class="flex justify-between items-center mb-6">
|
252 |
+
<h2 class="text-2xl font-bold text-white">Nouveautés</h2>
|
253 |
+
<a href="#" class="text-blue-400 text-sm hover:underline">Voir tout</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
</div>
|
255 |
|
256 |
+
<div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-6" id="nouveautes-grid">
|
257 |
+
<!-- Les films seront générés par JavaScript -->
|
258 |
+
</div>
|
259 |
+
</div>
|
260 |
+
</section>
|
261 |
+
|
262 |
+
<!-- Section Films Populaires -->
|
263 |
+
<section id="films" class="py-10 bg-gray-900">
|
264 |
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
265 |
+
<div class="flex justify-between items-center mb-6">
|
266 |
+
<h2 class="text-2xl font-bold text-white">Films Populaires</h2>
|
267 |
+
<div class="flex space-x-2">
|
268 |
+
<button class="category-btn px-3 py-1 bg-gray-800 text-white rounded-full text-sm hover:bg-gray-700 active" data-category="all">Tous</button>
|
269 |
+
<button class="category-btn px-3 py-1 bg-gray-800 text-white rounded-full text-sm hover:bg-gray-700" data-category="action">Action</button>
|
270 |
+
<button class="category-btn px-3 py-1 bg-gray-800 text-white rounded-full text-sm hover:bg-gray-700" data-category="sf">SF</button>
|
271 |
+
<button class="category-btn px-3 py-1 bg-gray-800 text-white rounded-full text-sm hover:bg-gray-700" data-category="drame">Drame</button>
|
272 |
+
</div>
|
273 |
</div>
|
274 |
|
|
|
275 |
<div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-6" id="films-grid">
|
276 |
<!-- Les films seront générés par JavaScript -->
|
277 |
</div>
|
278 |
+
|
279 |
+
<div class="flex justify-center mt-10 space-x-2">
|
280 |
+
<button class="pagination-btn px-4 py-2 border border-gray-700 rounded-full text-sm hover:bg-gray-800">Précédent</button>
|
281 |
+
<button class="pagination-btn px-4 py-2 border border-gray-700 rounded-full text-sm hover:bg-gray-800 active">1</button>
|
282 |
+
<button class="pagination-btn px-4 py-2 border border-gray-700 rounded-full text-sm hover:bg-gray-800">2</button>
|
283 |
+
<button class="pagination-btn px-4 py-2 border border-gray-700 rounded-full text-sm hover:bg-gray-800">3</button>
|
284 |
+
<button class="pagination-btn px-4 py-2 border border-gray-700 rounded-full text-sm hover:bg-gray-800">Suivant</button>
|
285 |
+
</div>
|
286 |
</div>
|
287 |
</section>
|
288 |
|
289 |
+
<!-- Lecteur vidéo pour les films -->
|
290 |
<div class="video-player" id="video-player">
|
291 |
<div class="video-container">
|
292 |
<span class="close-player" id="close-player"><i class="fas fa-times"></i></span>
|
293 |
+
<iframe id="movie-player" class="w-full aspect-video" frameborder="0" allowfullscreen allow="autoplay"></iframe>
|
|
|
|
|
294 |
</div>
|
295 |
</div>
|
296 |
|
|
|
303 |
mobileMenu.classList.toggle('hidden');
|
304 |
});
|
305 |
|
306 |
+
// Données des films avec de vraies images et liens de streaming
|
307 |
+
const filmsData = [
|
308 |
{
|
309 |
+
id: 1,
|
310 |
+
titre: "Dune : Partie Deux",
|
311 |
+
annee: 2024,
|
312 |
+
duree: "2h46min",
|
313 |
+
genres: ["Science-fiction", "Aventure"],
|
314 |
+
description: "Paul Atreides s'unit avec Chani et les Fremen pour se venger des conspirateurs qui ont détruit sa famille.",
|
315 |
+
note: "8.7",
|
316 |
+
image: "https://image.tmdb.org/t/p/w500/8b8R8l88Qje9dn9OE8PY05Hav3f.jpg",
|
317 |
+
video: "https://www.youtube.com/embed/EXeTwQWrcwY?autoplay=1",
|
318 |
vf: true,
|
319 |
hd: true,
|
320 |
+
nouveau: true,
|
321 |
+
category: "sf"
|
322 |
},
|
323 |
{
|
324 |
+
id: 2,
|
325 |
+
titre: "Furiosa : Une Saga Mad Max",
|
326 |
+
annee: 2024,
|
327 |
+
duree: "2h28min",
|
328 |
+
genres: ["Action", "Science-fiction"],
|
329 |
+
description: "L'histoire de la jeune Furiosa avant sa rencontre avec Max Rockatansky.",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
note: "8.1",
|
331 |
+
image: "https://image.tmdb.org/t/p/w500/6XxP7L1RGRfGVrHxzzAqH6XyKrJ.jpg",
|
332 |
+
video: "https://www.youtube.com/embed/XJMuhwVlca4?autoplay=1",
|
333 |
vf: true,
|
334 |
hd: true,
|
335 |
+
nouveau: true,
|
336 |
+
category: "action"
|
337 |
},
|
338 |
{
|
339 |
+
id: 3,
|
340 |
+
titre: "Deadpool & Wolverine",
|
341 |
+
annee: 2024,
|
342 |
+
duree: "2h07min",
|
343 |
+
genres: ["Action", "Comédie"],
|
344 |
+
description: "Deadpool change l'histoire du MCU avec Wolverine dans une aventure multiverselle.",
|
345 |
+
note: "8.9",
|
346 |
+
image: "https://image.tmdb.org/t/p/w500/uxBHXaoOvAwy4NpPpP7nNx2rXYQ.jpg",
|
347 |
+
video: "https://www.youtube.com/embed/avb5Tqrlx1U?autoplay=1",
|
348 |
vf: true,
|
349 |
hd: true,
|
350 |
+
nouveau: true,
|
351 |
+
category: "action"
|
352 |
},
|
353 |
{
|
354 |
+
id: 4,
|
355 |
+
titre: "Gladiator 2",
|
356 |
+
annee: 2024,
|
357 |
+
duree: "2h38min",
|
358 |
+
genres: ["Action", "Drame"],
|
359 |
+
description: "Suite du film culte Gladiator, suivant les aventures de Lucius, le neveu de Commodus.",
|
360 |
+
note: "8.3",
|
361 |
+
image: "https://image.tmdb.org/t/p/w500/pgqgaUx1cJb5oZQQAivhSlbWXGE.jpg",
|
362 |
+
video: "https://www.youtube.com/embed/wws5KZ5wJ2Y?autoplay=1",
|
363 |
vf: true,
|
364 |
hd: true,
|
365 |
+
nouveau: false,
|
366 |
+
category: "action"
|
367 |
},
|
368 |
{
|
369 |
+
id: 5,
|
370 |
+
titre: "Joker : Folie à Deux",
|
371 |
+
annee: 2024,
|
372 |
+
duree: "2h22min",
|
373 |
+
genres: ["Drame", "Thriller"],
|
374 |
+
description: "Arthur Fleck rencontre Harley Quinn dans cet opus musical qui explore leur relation toxique.",
|
375 |
+
note: "8.5",
|
376 |
+
image: "https://image.tmdb.org/t/p/w500/x2Vf8bY92PJq2pWevVx7lXfXqAB.jpg",
|
377 |
+
video: "https://www.youtube.com/embed/xy8aJw1vYHo?autoplay=1",
|
378 |
vf: true,
|
379 |
hd: true,
|
380 |
+
nouveau: false,
|
381 |
+
category: "drame"
|
382 |
},
|
383 |
{
|
384 |
+
id: 6,
|
385 |
+
titre: "The Batman",
|
386 |
+
annee: 2022,
|
387 |
+
duree: "2h56min",
|
388 |
+
genres: ["Action", "Thriller"],
|
389 |
+
description: "Batman enquête sur le milieu criminel de Gotham City alors qu'un tueur s'en prend à l'élite corrompue.",
|
390 |
+
note: "7.8",
|
391 |
+
image: "https://image.tmdb.org/t/p/w500/seyWFgGInaLqW7nOZvu0V95aox8.jpg",
|
392 |
+
video: "https://www.youtube.com/embed/mqqft2x_Aa4?autoplay=1",
|
393 |
vf: true,
|
394 |
hd: true,
|
395 |
+
nouveau: false,
|
396 |
+
category: "action"
|
397 |
},
|
398 |
{
|
399 |
+
id: 7,
|
400 |
+
titre: "Avatar : La Voie de l'Eau",
|
401 |
+
annee: 2022,
|
402 |
+
duree: "3h12min",
|
403 |
+
genres: ["Science-fiction", "Aventure"],
|
404 |
+
description: "Jake Sully et Ney'tiri forment une famille sur Pandora mais doivent quitter leur foyer.",
|
405 |
+
note: "7.6",
|
406 |
+
image: "https://image.tmdb.org/t/p/w500/jRXYjXNq0Cs2TcJjLkki24MLp7u.jpg",
|
407 |
+
video: "https://www.youtube.com/embed/a8Gx8wiNbs8?autoplay=1",
|
408 |
vf: true,
|
409 |
hd: true,
|
410 |
+
nouveau: false,
|
411 |
+
category: "sf"
|
412 |
},
|
413 |
{
|
414 |
+
id: 8,
|
415 |
+
titre: "Oppenheimer",
|
416 |
+
annee: 2023,
|
417 |
+
duree: "3h",
|
418 |
+
genres: ["Drame", "Historique"],
|
419 |
+
description: "L'histoire du physicien J. Robert Oppenheimer et son rôle dans le développement de la bombe atomique.",
|
420 |
note: "8.4",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
image: "https://image.tmdb.org/t/p/w500/8Gxv8gSFCU0XGDykEGv7zR1nuhua.jpg",
|
422 |
+
video: "https://www.youtube.com/embed/uYPbbksJxIg?autoplay=1",
|
423 |
vf: true,
|
424 |
hd: true,
|
425 |
+
nouveau: false,
|
426 |
+
category: "drame"
|
427 |
},
|
428 |
{
|
429 |
+
id: 9,
|
430 |
+
titre: "Top Gun : Maverick",
|
431 |
+
annee: 2022,
|
432 |
+
duree: "2h11min",
|
433 |
+
genres: ["Action", "Drame"],
|
434 |
+
description: "Trente ans de service, Maverick est toujours là, repoussant les limites comme pilote d'essai.",
|
435 |
+
note: "8.3",
|
436 |
+
image: "https://image.tmdb.org/t/p/w500/jTrXwK56EoLHHsQaM2kra45E4ek.jpg",
|
437 |
+
video: "https://www.youtube.com/embed/giXco2jaZ_4?autoplay=1",
|
438 |
vf: true,
|
439 |
hd: true,
|
440 |
+
nouveau: false,
|
441 |
+
category: "action"
|
442 |
},
|
443 |
{
|
444 |
+
id: 10,
|
445 |
+
titre: "Interstellar",
|
446 |
+
annee: 2014,
|
447 |
+
duree: "2h49min",
|
448 |
+
genres: ["Science-fiction", "Drame"],
|
449 |
+
description: "Une équipe d'explorateurs voyage à travers un trou de ver pour sauver l'humanité.",
|
450 |
+
note: "8.4",
|
451 |
+
image: "https://image.tmdb.org/t/p/w500/gEU2QniE6E77NI6lCU6MxlNBvIx.jpg",
|
452 |
+
video: "https://www.youtube.com/embed/zSWdZVtXT7E?autoplay=1",
|
453 |
vf: true,
|
454 |
hd: true,
|
455 |
+
nouveau: false,
|
456 |
+
category: "sf"
|
457 |
}
|
458 |
];
|
459 |
+
|
460 |
// Variables pour le lecteur vidéo
|
461 |
const videoPlayer = document.getElementById('video-player');
|
462 |
const moviePlayer = document.getElementById('movie-player');
|
463 |
const closePlayer = document.getElementById('close-player');
|
464 |
+
|
465 |
+
// Ouvrir le lecteur vidéo avec le film
|
466 |
function openVideoPlayer(videoUrl) {
|
467 |
moviePlayer.src = videoUrl;
|
468 |
videoPlayer.style.display = 'flex';
|
469 |
document.body.style.overflow = 'hidden';
|
|
|
470 |
}
|
471 |
+
|
472 |
// Fermer le lecteur vidéo
|
473 |
closePlayer.addEventListener('click', () => {
|
474 |
+
moviePlayer.src = '';
|
475 |
videoPlayer.style.display = 'none';
|
476 |
document.body.style.overflow = 'auto';
|
477 |
});
|
478 |
+
|
479 |
// Fermer le lecteur si on clique en dehors
|
480 |
videoPlayer.addEventListener('click', (e) => {
|
481 |
if (e.target === videoPlayer) {
|
482 |
+
moviePlayer.src = '';
|
483 |
videoPlayer.style.display = 'none';
|
484 |
document.body.style.overflow = 'auto';
|
485 |
}
|
486 |
});
|
487 |
+
|
488 |
+
// Générer les films dans une grille
|
489 |
+
function genererFilmsGrid(films, targetElement, limit = null) {
|
490 |
+
const filmsToShow = limit ? films.slice(0, limit) : films;
|
491 |
+
targetElement.innerHTML = '';
|
492 |
+
|
493 |
+
filmsToShow.forEach(film => {
|
494 |
const filmElement = document.createElement('div');
|
495 |
+
filmElement.className = 'film-card group relative rounded-xl overflow-hidden transition-all duration-300 hover:z-10';
|
496 |
filmElement.innerHTML = `
|
497 |
+
<div class="relative aspect-[2/3] rounded-xl overflow-hidden cursor-pointer">
|
498 |
${film.vf ? '<span class="vf-badge">VF</span>' : ''}
|
499 |
${film.hd ? '<span class="hd-badge">HD</span>' : ''}
|
500 |
+
${film.nouveau ? '<span class="new-badge">NOUVEAU</span>' : ''}
|
501 |
+
<img src="${film.image}" alt="${film.titre}" class="w-full h-full object-cover group-hover:opacity-70 transition-all duration-300" loading="lazy">
|
502 |
+
<div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/30 to-transparent opacity-0 group-hover:opacity-100 transition-all duration-300"></div>
|
503 |
+
<div class="absolute bottom-0 left-0 right-0 p-4 translate-y-4 opacity-0 group-hover:translate-y-0 group-hover:opacity-100 transition-all duration-300">
|
504 |
<h3 class="text-white font-bold text-lg mb-1">${film.titre}</h3>
|
505 |
<div class="flex items-center text-sm text-gray-300 mb-2">
|
506 |
<span>${film.annee}</span>
|
|
|
508 |
<span>${film.duree}</span>
|
509 |
</div>
|
510 |
<div class="flex flex-wrap gap-2 mb-3">
|
511 |
+
${film.genres.map(genre => `<span class="px-2 py-1 bg-gray-800 text-white text-xs rounded-full">${genre}</span>`).join('')}
|
|
|
512 |
</div>
|
513 |
<p class="text-gray-300 text-sm line-clamp-2">${film.description}</p>
|
514 |
</div>
|
515 |
+
<div class="absolute top-3 left-3 px-2 py-1 bg-black bg-opacity-70 text-yellow-400 text-sm font-bold rounded-full flex items-center">
|
516 |
<i class="fas fa-star mr-1"></i>
|
517 |
${film.note}
|
518 |
</div>
|
|
|
524 |
</div>
|
525 |
</div>
|
526 |
<div class="mt-2">
|
527 |
+
<button class="watch-btn w-full bg-blue-500 hover:bg-blue-600 text-white py-2 rounded-full text-sm font-bold transition-all duration-300 flex items-center justify-center" data-video="${film.video}">
|
528 |
<i class="fas fa-play mr-2"></i> Regarder
|
529 |
</button>
|
530 |
</div>
|
|
|
540 |
});
|
541 |
});
|
542 |
}
|
543 |
+
|
544 |
+
// Filtrer les films par catégorie
|
545 |
+
function filterFilms(category) {
|
546 |
+
const filmsGrid = document.getElementById('films-grid');
|
547 |
+
|
548 |
+
if (category === 'all') {
|
549 |
+
genererFilmsGrid(filmsData, filmsGrid);
|
550 |
+
} else {
|
551 |
+
const filteredFilms = filmsData.filter(film => film.category === category);
|
552 |
+
genererFilmsGrid(filteredFilms, filmsGrid);
|
553 |
+
}
|
554 |
+
|
555 |
+
// Mettre à jour les boutons actifs
|
556 |
+
document.querySelectorAll('.category-btn').forEach(btn => {
|
557 |
+
if (btn.dataset.category === category) {
|
558 |
+
btn.classList.add('active');
|
559 |
+
} else {
|
560 |
+
btn.classList.remove('active');
|
561 |
+
}
|
562 |
+
});
|
563 |
+
}
|
564 |
+
|
565 |
// Initialisation
|
566 |
document.addEventListener('DOMContentLoaded', () => {
|
567 |
+
// Charger les nouveautés (5 premiers films)
|
568 |
+
const nouveautes = filmsData.filter(film => film.nouveau);
|
569 |
+
genererFilmsGrid(nouveautes, document.getElementById('nouveautes-grid'), 5);
|
570 |
|
571 |
+
// Charger tous les films
|
572 |
+
genererFilmsGrid(filmsData, document.getElementById('films-grid'));
|
|
|
|
|
573 |
|
574 |
+
// Gestion des catégories
|
575 |
+
document.querySelectorAll('.category-btn').forEach(btn => {
|
576 |
+
btn.addEventListener('click', function() {
|
577 |
+
const category = this.dataset.category;
|
578 |
+
filterFilms(category);
|
579 |
});
|
|
|
|
|
|
|
|
|
580 |
});
|
581 |
+
|
582 |
+
// Simulation de chargement
|
583 |
+
setTimeout(() => {
|
584 |
+
document.querySelectorAll('.film-card').forEach(card => {
|
585 |
+
card.style.opacity = '1';
|
586 |
+
});
|
587 |
+
}, 300);
|
588 |
+
});
|
589 |
+
|
590 |
+
// Gestion des touches du clavier
|
591 |
+
document.addEventListener('keydown', function(e) {
|
592 |
+
if (e.key === 'Escape' && videoPlayer.style.display === 'flex') {
|
593 |
+
moviePlayer.src = '';
|
594 |
+
videoPlayer.style.display = 'none';
|
595 |
+
document.body.style.overflow = 'auto';
|
596 |
+
}
|
597 |
});
|
598 |
</script>
|
599 |
<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/cin-futur" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
prompts.txt
CHANGED
@@ -3,4 +3,6 @@ AFFICHER LES VRAIS IMAGES DES SITE ET DES VRAIS FILMS JE VEUX PAS DE SITE D EXEM
|
|
3 |
activer charger plus de film en systeme robotisé automaique
|
4 |
afficher toutes les derniere film sortie ajouter des bouton a regarder et leurs serveur je les feux les film en francais de haute qualitéé
|
5 |
afficher les affiches des derniere film sorte de 2025 avec leur vrais image ,,charger plus de film et ajouter les bouton regarder avec leur serveur integré en automatique
|
6 |
-
afficher toutes les film en automatique avec toutes les images des film et leurs bouton a regarger en systeme autoplay directement quand on clicque sur regarder
|
|
|
|
|
|
3 |
activer charger plus de film en systeme robotisé automaique
|
4 |
afficher toutes les derniere film sortie ajouter des bouton a regarder et leurs serveur je les feux les film en francais de haute qualitéé
|
5 |
afficher les affiches des derniere film sorte de 2025 avec leur vrais image ,,charger plus de film et ajouter les bouton regarder avec leur serveur integré en automatique
|
6 |
+
afficher toutes les film en automatique avec toutes les images des film et leurs bouton a regarger en systeme autoplay directement quand on clicque sur regarder
|
7 |
+
je veux pas des video de clip ou de video d'exemple je veux regarder des vrais film complet ,, afficher toutes les vrais image et en page d'accueil les derniere film sortie activer les modelecture en auto
|
8 |
+
je veux des vrais film des vrais image de film
|