Add 3 files
Browse files- README.md +7 -5
- index.html +1048 -19
- prompts.txt +11 -0
README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
| 1 |
---
|
| 2 |
+
title: cin-full
|
| 3 |
+
emoji: 🐳
|
| 4 |
+
colorFrom: green
|
| 5 |
+
colorTo: pink
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- deepsite
|
| 10 |
---
|
| 11 |
|
| 12 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
index.html
CHANGED
|
@@ -1,19 +1,1048 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="fr">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>CinéFull - 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 |
+
.player-container {
|
| 11 |
+
aspect-ratio: 16/9;
|
| 12 |
+
}
|
| 13 |
+
.loading-spinner {
|
| 14 |
+
border-top-color: transparent;
|
| 15 |
+
animation: spin 1s linear infinite;
|
| 16 |
+
}
|
| 17 |
+
@keyframes spin {
|
| 18 |
+
0% { transform: rotate(0deg); }
|
| 19 |
+
100% { transform: rotate(360deg); }
|
| 20 |
+
}
|
| 21 |
+
.quality-badge {
|
| 22 |
+
position: absolute;
|
| 23 |
+
top: 8px;
|
| 24 |
+
right: 8px;
|
| 25 |
+
background: rgba(0,0,0,0.7);
|
| 26 |
+
}
|
| 27 |
+
.server-btn.active {
|
| 28 |
+
background-color: #3b82f6;
|
| 29 |
+
}
|
| 30 |
+
.progress-container {
|
| 31 |
+
height: 4px;
|
| 32 |
+
background-color: #4b5563;
|
| 33 |
+
}
|
| 34 |
+
.progress-bar {
|
| 35 |
+
height: 100%;
|
| 36 |
+
background-color: #3b82f6;
|
| 37 |
+
width: 0%;
|
| 38 |
+
}
|
| 39 |
+
.film-controls {
|
| 40 |
+
opacity: 0;
|
| 41 |
+
transition: opacity 0.3s;
|
| 42 |
+
}
|
| 43 |
+
.film-container:hover .film-controls {
|
| 44 |
+
opacity: 1;
|
| 45 |
+
}
|
| 46 |
+
.search-dropdown {
|
| 47 |
+
max-height: 400px;
|
| 48 |
+
overflow-y: auto;
|
| 49 |
+
}
|
| 50 |
+
.movie-card:hover .movie-overlay {
|
| 51 |
+
opacity: 1;
|
| 52 |
+
}
|
| 53 |
+
.movie-overlay {
|
| 54 |
+
transition: all 0.3s ease;
|
| 55 |
+
}
|
| 56 |
+
.blur-bg {
|
| 57 |
+
position: absolute;
|
| 58 |
+
top: 0;
|
| 59 |
+
left: 0;
|
| 60 |
+
right: 0;
|
| 61 |
+
bottom: 0;
|
| 62 |
+
background-size: cover;
|
| 63 |
+
filter: blur(20px);
|
| 64 |
+
opacity: 0.3;
|
| 65 |
+
z-index: -1;
|
| 66 |
+
}
|
| 67 |
+
.category-btn.active {
|
| 68 |
+
background-color: #3b82f6;
|
| 69 |
+
color: white;
|
| 70 |
+
}
|
| 71 |
+
</style>
|
| 72 |
+
</head>
|
| 73 |
+
<body class="bg-gray-900 text-white">
|
| 74 |
+
<!-- Header -->
|
| 75 |
+
<header class="bg-gray-800 shadow-lg sticky top-0 z-50">
|
| 76 |
+
<div class="container mx-auto px-4 py-3 flex items-center justify-between">
|
| 77 |
+
<div class="flex items-center space-x-2">
|
| 78 |
+
<i class="fas fa-film text-blue-500 text-2xl"></i>
|
| 79 |
+
<h1 class="text-xl font-bold">Ciné<span class="text-blue-500">Full</span></h1>
|
| 80 |
+
</div>
|
| 81 |
+
|
| 82 |
+
<div class="hidden md:flex items-center space-x-6">
|
| 83 |
+
<a href="#" class="hover:text-blue-400">Accueil</a>
|
| 84 |
+
<a href="#" class="hover:text-blue-400">Films</a>
|
| 85 |
+
<a href="#" class="hover:text-blue-400">Séries</a>
|
| 86 |
+
<a href="#" class="hover:text-blue-400">Nouveautés</a>
|
| 87 |
+
<a href="#" class="hover:text-blue-400">Catégories</a>
|
| 88 |
+
</div>
|
| 89 |
+
|
| 90 |
+
<div class="flex items-center space-x-4">
|
| 91 |
+
<div class="relative">
|
| 92 |
+
<input type="text" id="search-input" placeholder="Rechercher un film..."
|
| 93 |
+
class="bg-gray-700 px-4 py-2 rounded-md w-64 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
| 94 |
+
<div id="search-results" class="absolute left-0 mt-2 w-full bg-gray-800 rounded-md shadow-xl search-dropdown hidden z-50"></div>
|
| 95 |
+
</div>
|
| 96 |
+
<button class="bg-blue-600 hover:bg-blue-700 px-4 py-2 rounded-md">
|
| 97 |
+
<i class="fas fa-user mr-2"></i>Connexion
|
| 98 |
+
</button>
|
| 99 |
+
<button class="md:hidden" id="mobile-menu-btn">
|
| 100 |
+
<i class="fas fa-bars text-xl"></i>
|
| 101 |
+
</button>
|
| 102 |
+
</div>
|
| 103 |
+
</div>
|
| 104 |
+
</header>
|
| 105 |
+
|
| 106 |
+
<!-- Mobile Menu -->
|
| 107 |
+
<div id="mobile-menu" class="hidden md:hidden bg-gray-800 px-4 py-2">
|
| 108 |
+
<div class="flex flex-col space-y-2">
|
| 109 |
+
<a href="#" class="hover:text-blue-400 py-1">Accueil</a>
|
| 110 |
+
<a href="#" class="hover:text-blue-400 py-1">Films</a>
|
| 111 |
+
<a href="#" class="hover:text-blue-400 py-1">Séries</a>
|
| 112 |
+
<a href="#" class="hover:text-blue-400 py-1">Nouveautés</a>
|
| 113 |
+
<a href="#" class="hover:text-blue-400 py-1">Catégories</a>
|
| 114 |
+
</div>
|
| 115 |
+
</div>
|
| 116 |
+
|
| 117 |
+
<!-- Main Content -->
|
| 118 |
+
<main class="container mx-auto px-4 py-6">
|
| 119 |
+
<!-- Categories Navigation -->
|
| 120 |
+
<div class="flex overflow-x-auto pb-4 mb-6 scrollbar-hide">
|
| 121 |
+
<div class="flex space-x-2">
|
| 122 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="all">Tous</button>
|
| 123 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="french">Français</button>
|
| 124 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="action">Action</button>
|
| 125 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="comedy">Comédie</button>
|
| 126 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="drama">Drame</button>
|
| 127 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="sf">Science-Fiction</button>
|
| 128 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="horror">Horreur</button>
|
| 129 |
+
<button class="category-btn px-4 py-2 rounded-full bg-gray-800 hover:bg-gray-700" data-category="adventure">Aventure</button>
|
| 130 |
+
</div>
|
| 131 |
+
</div>
|
| 132 |
+
|
| 133 |
+
<!-- Featured Movie -->
|
| 134 |
+
<section class="mb-12">
|
| 135 |
+
<div class="relative film-container">
|
| 136 |
+
<!-- Background blur effect -->
|
| 137 |
+
<div id="movie-backdrop" class="blur-bg"></div>
|
| 138 |
+
|
| 139 |
+
<!-- Video Player -->
|
| 140 |
+
<div class="relative player-container bg-black rounded-lg overflow-hidden shadow-xl">
|
| 141 |
+
<div id="full-movie-container">
|
| 142 |
+
<iframe id="full-movie" class="w-full h-full" src="https://www.youtube.com/embed/zSWdZVtXT7E?autoplay=1" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
| 143 |
+
</div>
|
| 144 |
+
|
| 145 |
+
<!-- Loading Overlay -->
|
| 146 |
+
<div id="loading-overlay" class="absolute inset-0 bg-black bg-opacity-70 flex items-center justify-center hidden">
|
| 147 |
+
<div class="w-16 h-16 border-4 border-blue-500 border-t-transparent rounded-full loading-spinner"></div>
|
| 148 |
+
<span class="ml-3">Chargement du film...</span>
|
| 149 |
+
</div>
|
| 150 |
+
|
| 151 |
+
<!-- Controls Overlay -->
|
| 152 |
+
<div class="film-controls absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
|
| 153 |
+
<div class="progress-container mb-2">
|
| 154 |
+
<div id="progress-bar" class="progress-bar"></div>
|
| 155 |
+
</div>
|
| 156 |
+
<div class="flex justify-between items-center">
|
| 157 |
+
<div class="flex items-center space-x-4">
|
| 158 |
+
<button id="play-pause-btn" class="text-white hover:text-blue-400">
|
| 159 |
+
<i class="fas fa-pause text-xl"></i>
|
| 160 |
+
</button>
|
| 161 |
+
<span id="current-time" class="text-sm">00:00</span>
|
| 162 |
+
<span class="text-gray-400">/</span>
|
| 163 |
+
<span id="duration" class="text-sm">00:00</span>
|
| 164 |
+
</div>
|
| 165 |
+
<div class="flex items-center space-x-4">
|
| 166 |
+
<button id="mute-btn" class="text-white hover:text-blue-400">
|
| 167 |
+
<i class="fas fa-volume-up text-xl"></i>
|
| 168 |
+
</button>
|
| 169 |
+
<button class="text-white hover:text-blue-400">
|
| 170 |
+
<i class="fas fa-closed-captioning text-xl"></i>
|
| 171 |
+
</button>
|
| 172 |
+
<button onclick="toggleFullscreen('full-movie')" class="text-white hover:text-blue-400">
|
| 173 |
+
<i class="fas fa-expand text-xl"></i>
|
| 174 |
+
</button>
|
| 175 |
+
</div>
|
| 176 |
+
</div>
|
| 177 |
+
</div>
|
| 178 |
+
</div>
|
| 179 |
+
|
| 180 |
+
<!-- Movie Info -->
|
| 181 |
+
<div class="mt-6 bg-gray-800 bg-opacity-80 rounded-lg p-6 backdrop-blur-sm">
|
| 182 |
+
<div class="flex flex-col md:flex-row gap-6">
|
| 183 |
+
<div class="flex-shrink-0">
|
| 184 |
+
<img id="current-movie-poster" src="https://image.tmdb.org/t/p/w500/gEU2QniE6E77NI6lCU6MxlNBvIx.jpg" alt="Interstellar" class="w-48 rounded-lg shadow-md">
|
| 185 |
+
</div>
|
| 186 |
+
<div class="flex-grow">
|
| 187 |
+
<h2 id="current-movie-title" class="text-3xl font-bold mb-2">Interstellar (2014)</h2>
|
| 188 |
+
<div class="flex items-center mb-4">
|
| 189 |
+
<div id="current-movie-rating" class="flex text-yellow-400 mr-3">
|
| 190 |
+
<i class="fas fa-star"></i>
|
| 191 |
+
<i class="fas fa-star"></i>
|
| 192 |
+
<i class="fas fa-star"></i>
|
| 193 |
+
<i class="fas fa-star"></i>
|
| 194 |
+
<i class="fas fa-star-half-alt"></i>
|
| 195 |
+
</div>
|
| 196 |
+
<span class="mr-4">4.7/5</span>
|
| 197 |
+
<span class="px-2 py-1 bg-blue-600 rounded text-xs mr-2">HD 1080p</span>
|
| 198 |
+
<span id="current-movie-duration" class="text-gray-400">2h 49min</span>
|
| 199 |
+
</div>
|
| 200 |
+
|
| 201 |
+
<p id="current-movie-description" class="text-gray-300 mb-4">
|
| 202 |
+
Dans un futur proche, la Terre est devenue hostile pour l'humanité. Un groupe d'explorateurs utilise un vaisseau spatial pour franchir un trou de ver permettant de parcourir des distances jusque-là insurmontables, dans le but de sauver l'humanité.
|
| 203 |
+
</p>
|
| 204 |
+
|
| 205 |
+
<div id="current-movie-genres" class="flex flex-wrap gap-2 mb-6">
|
| 206 |
+
<span class="px-3 py-1 bg-gray-700 rounded-full text-sm">Science-fiction</span>
|
| 207 |
+
<span class="px-3 py-1 bg-gray-700 rounded-full text-sm">Aventure</span>
|
| 208 |
+
<span class="px-3 py-1 bg-gray-700 rounded-full text-sm">Espace</span>
|
| 209 |
+
<span class="px-3 py-1 bg-gray-700 rounded-full text-sm">Drame</span>
|
| 210 |
+
</div>
|
| 211 |
+
|
| 212 |
+
<div class="flex items-center space-x-4">
|
| 213 |
+
<button class="bg-blue-600 hover:bg-blue-700 px-4 py-2 rounded-md flex items-center">
|
| 214 |
+
<i class="fas fa-bookmark mr-2"></i> Ajouter à ma liste
|
| 215 |
+
</button>
|
| 216 |
+
<button class="bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-md flex items-center">
|
| 217 |
+
<i class="fas fa-share-alt mr-2"></i> Partager
|
| 218 |
+
</button>
|
| 219 |
+
</div>
|
| 220 |
+
</div>
|
| 221 |
+
</div>
|
| 222 |
+
|
| 223 |
+
<!-- Server Selection -->
|
| 224 |
+
<div class="mt-8">
|
| 225 |
+
<h3 class="text-xl font-bold mb-4">Serveurs Disponibles</h3>
|
| 226 |
+
<div id="server-buttons" class="flex flex-wrap gap-3">
|
| 227 |
+
<button class="server-btn px-4 py-2 rounded-md flex items-center active bg-blue-600"
|
| 228 |
+
onclick="changeServer('https://www.youtube.com/embed/zSWdZVtXT7E?autoplay=1', 'YouTube')">
|
| 229 |
+
<i class="fas fa-server mr-2"></i> YouTube <span class="ml-2 text-xs bg-black bg-opacity-50 px-2 py-1 rounded">HD 1080p</span>
|
| 230 |
+
</button>
|
| 231 |
+
<button class="server-btn px-4 py-2 rounded-md flex items-center bg-gray-700 hover:bg-gray-600"
|
| 232 |
+
onclick="changeServer('https://player.vimeo.com/video/24456787?autoplay=1', 'Vimeo')">
|
| 233 |
+
<i class="fas fa-server mr-2"></i> Vimeo <span class="ml-2 text-xs bg-black bg-opacity-50 px-2 py-1 rounded">HD 720p</span>
|
| 234 |
+
</button>
|
| 235 |
+
<button class="server-btn px-4 py-2 rounded-md flex items-center bg-gray-700 hover:bg-gray-600"
|
| 236 |
+
onclick="changeServer('https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1', 'Dailymotion')">
|
| 237 |
+
<i class="fas fa-server mr-2"></i> Dailymotion <span class="ml-2 text-xs bg-black bg-opacity-50 px-2 py-1 rounded">HD 720p</span>
|
| 238 |
+
</button>
|
| 239 |
+
</div>
|
| 240 |
+
</div>
|
| 241 |
+
</div>
|
| 242 |
+
</div>
|
| 243 |
+
</section>
|
| 244 |
+
|
| 245 |
+
<!-- Movie Categories -->
|
| 246 |
+
<section class="mb-12">
|
| 247 |
+
<h2 class="text-2xl font-bold mb-6 flex items-center">
|
| 248 |
+
<i class="fas fa-fire text-red-500 mr-2"></i> Films Tendances
|
| 249 |
+
</h2>
|
| 250 |
+
<div id="trending-movies" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4">
|
| 251 |
+
<!-- Movies will be loaded here -->
|
| 252 |
+
</div>
|
| 253 |
+
</section>
|
| 254 |
+
|
| 255 |
+
<section class="mb-12">
|
| 256 |
+
<h2 class="text-2xl font-bold mb-6 flex items-center">
|
| 257 |
+
<i class="fas fa-star text-yellow-500 mr-2"></i> Meilleurs Films
|
| 258 |
+
</h2>
|
| 259 |
+
<div id="top-rated-movies" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4">
|
| 260 |
+
<!-- Movies will be loaded here -->
|
| 261 |
+
</div>
|
| 262 |
+
</section>
|
| 263 |
+
|
| 264 |
+
<section class="mb-12">
|
| 265 |
+
<h2 class="text-2xl font-bold mb-6 flex items-center">
|
| 266 |
+
<i class="fas fa-clock text-blue-500 mr-2"></i> Nouveaux Films
|
| 267 |
+
</h2>
|
| 268 |
+
<div id="new-releases" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4">
|
| 269 |
+
<!-- Movies will be loaded here -->
|
| 270 |
+
</div>
|
| 271 |
+
</section>
|
| 272 |
+
</main>
|
| 273 |
+
|
| 274 |
+
<!-- Footer -->
|
| 275 |
+
<footer class="bg-gray-900 pt-12 pb-6">
|
| 276 |
+
<div class="container mx-auto px-4">
|
| 277 |
+
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8">
|
| 278 |
+
<div>
|
| 279 |
+
<h3 class="text-xl font-bold mb-4 flex items-center">
|
| 280 |
+
<i class="fas fa-film text-blue-500 mr-2"></i> CinéFull
|
| 281 |
+
</h3>
|
| 282 |
+
<p class="text-gray-400 mb-4">La meilleure plateforme pour regarder des films complets en streaming gratuit.</p>
|
| 283 |
+
<div class="flex space-x-4">
|
| 284 |
+
<a href="#" class="text-gray-400 hover:text-blue-400">
|
| 285 |
+
<i class="fab fa-facebook-f"></i>
|
| 286 |
+
</a>
|
| 287 |
+
<a href="#" class="text-gray-400 hover:text-blue-400">
|
| 288 |
+
<i class="fab fa-twitter"></i>
|
| 289 |
+
</a>
|
| 290 |
+
<a href="#" class="text-gray-400 hover:text-blue-400">
|
| 291 |
+
<i class="fab fa-telegram"></i>
|
| 292 |
+
</a>
|
| 293 |
+
</div>
|
| 294 |
+
</div>
|
| 295 |
+
|
| 296 |
+
<div>
|
| 297 |
+
<h4 class="font-bold mb-4">Navigation</h4>
|
| 298 |
+
<ul class="space-y-2">
|
| 299 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Accueil</a></li>
|
| 300 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Films</a></li>
|
| 301 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Séries</a></li>
|
| 302 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Nouveautés</a></li>
|
| 303 |
+
</ul>
|
| 304 |
+
</div>
|
| 305 |
+
|
| 306 |
+
<div>
|
| 307 |
+
<h4 class="font-bold mb-4">Catégories</h4>
|
| 308 |
+
<ul class="space-y-2">
|
| 309 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Action</a></li>
|
| 310 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Science-fiction</a></li>
|
| 311 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Drame</a></li>
|
| 312 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Aventure</a></li>
|
| 313 |
+
</ul>
|
| 314 |
+
</div>
|
| 315 |
+
|
| 316 |
+
<div>
|
| 317 |
+
<h4 class="font-bold mb-4">Légal</h4>
|
| 318 |
+
<ul class="space-y-2">
|
| 319 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Mentions légales</a></li>
|
| 320 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">CGU</a></li>
|
| 321 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">DMCA</a></li>
|
| 322 |
+
<li><a href="#" class="text-gray-400 hover:text-blue-400">Contact</a></li>
|
| 323 |
+
</ul>
|
| 324 |
+
</div>
|
| 325 |
+
</div>
|
| 326 |
+
|
| 327 |
+
<div class="pt-6 border-t border-gray-800 text-center text-gray-500 text-sm">
|
| 328 |
+
<p>© 2023 CinéFull. Tous droits réservés.</p>
|
| 329 |
+
<p class="mt-2">Ce site fournit des liens vers des serveurs externes.</p>
|
| 330 |
+
</div>
|
| 331 |
+
</div>
|
| 332 |
+
</footer>
|
| 333 |
+
|
| 334 |
+
<script>
|
| 335 |
+
// Base de données complète de films avec liens de streaming
|
| 336 |
+
const movieDatabase = [
|
| 337 |
+
// Films français
|
| 338 |
+
{
|
| 339 |
+
id: 101,
|
| 340 |
+
title: "Intouchables",
|
| 341 |
+
year: 2011,
|
| 342 |
+
description: "À la suite d'un accident de parapente, Philippe, riche aristocrate, engage comme aide à domicile Driss, un jeune de banlieue tout juste sorti de prison. Deux univers vont se télescoper et se transformer.",
|
| 343 |
+
poster: "https://image.tmdb.org/t/p/w500/4mGsTyAYXrsUY0ZRDPVInZlpBdD.jpg",
|
| 344 |
+
backdrop: "https://image.tmdb.org/t/p/original/ih2O4WmeWqVn5dILhrOqfgw1pQq.jpg",
|
| 345 |
+
rating: 4.5,
|
| 346 |
+
duration: "1h 52min",
|
| 347 |
+
genres: ["Comédie", "Drame"],
|
| 348 |
+
tags: ["french", "comedy", "drama"],
|
| 349 |
+
servers: [
|
| 350 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/34WIbmXkewU?autoplay=1", quality: "HD 1080p" },
|
| 351 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 352 |
+
],
|
| 353 |
+
trending: true,
|
| 354 |
+
topRated: true
|
| 355 |
+
},
|
| 356 |
+
{
|
| 357 |
+
id: 102,
|
| 358 |
+
title: "Le Fabuleux Destin d'Amélie Poulain",
|
| 359 |
+
year: 2001,
|
| 360 |
+
description: "Amélie, une jeune serveuse parisienne, décide de se consacrer aux autres après avoir découvert une boîte à souvenirs cachée dans son appartement.",
|
| 361 |
+
poster: "https://image.tmdb.org/t/p/w500/7sv2QkIeL9xQpQFZzFqVtxYxZ1G.jpg",
|
| 362 |
+
backdrop: "https://image.tmdb.org/t/p/original/7Z7WVzJsSReG8P0Yb3S4vZv4XvT.jpg",
|
| 363 |
+
rating: 4.3,
|
| 364 |
+
duration: "2h 02min",
|
| 365 |
+
genres: ["Comédie", "Romance"],
|
| 366 |
+
tags: ["french", "comedy", "romance"],
|
| 367 |
+
servers: [
|
| 368 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/sECzJY07oK4?autoplay=1", quality: "HD 1080p" },
|
| 369 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 370 |
+
],
|
| 371 |
+
trending: false,
|
| 372 |
+
topRated: true
|
| 373 |
+
},
|
| 374 |
+
{
|
| 375 |
+
id: 103,
|
| 376 |
+
title: "Léon",
|
| 377 |
+
year: 1994,
|
| 378 |
+
description: "Léon, tueur à gages, prend sous son aile Mathilda, 12 ans, dont la famille a été assassinée par un policier corrompu. Une relation inhabituelle se développe entre eux.",
|
| 379 |
+
poster: "https://image.tmdb.org/t/p/w500/gdEOmRvQvQkqRzgYE7ZxjyLArBm.jpg",
|
| 380 |
+
backdrop: "https://image.tmdb.org/t/p/original/7YwjaHLmuy1iKBOk9QmQrYHjSuq.jpg",
|
| 381 |
+
rating: 4.4,
|
| 382 |
+
duration: "2h 13min",
|
| 383 |
+
genres: ["Action", "Drame", "Thriller"],
|
| 384 |
+
tags: ["french", "action", "drama"],
|
| 385 |
+
servers: [
|
| 386 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/jawVxq1IICo?autoplay=1", quality: "HD 1080p" },
|
| 387 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 388 |
+
],
|
| 389 |
+
trending: true,
|
| 390 |
+
topRated: true
|
| 391 |
+
},
|
| 392 |
+
{
|
| 393 |
+
id: 104,
|
| 394 |
+
title: "La Haine",
|
| 395 |
+
year: 1995,
|
| 396 |
+
description: "24 heures dans la vie de trois jeunes de banlieue après une émeute provoquée par le passage à tabac d'un adolescent par la police.",
|
| 397 |
+
poster: "https://image.tmdb.org/t/p/w500/4T4S4XDRQ3wgaVQe8O5QeZfKjUF.jpg",
|
| 398 |
+
backdrop: "https://image.tmdb.org/t/p/original/1X4v8BQTZtcX4BmS8nHkxVE3SOp.jpg",
|
| 399 |
+
rating: 4.4,
|
| 400 |
+
duration: "1h 38min",
|
| 401 |
+
genres: ["Drame"],
|
| 402 |
+
tags: ["french", "drama"],
|
| 403 |
+
servers: [
|
| 404 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/FW0ljJCXqyM?autoplay=1", quality: "HD 1080p" },
|
| 405 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 406 |
+
],
|
| 407 |
+
trending: false,
|
| 408 |
+
topRated: true
|
| 409 |
+
},
|
| 410 |
+
{
|
| 411 |
+
id: 105,
|
| 412 |
+
title: "Le Dîner de Cons",
|
| 413 |
+
year: 1998,
|
| 414 |
+
description: "Chaque mercredi, Pierre Brochant et ses amis organisent un "dîner de cons". Le gagnant est celui qui aura amené le plus bel idiot. Ce soir, Brochant croit tenir le champion du monde...",
|
| 415 |
+
poster: "https://image.tmdb.org/t/p/w500/1Xx4q4hTzWYktu3yQdQzqTkXlwM.jpg",
|
| 416 |
+
backdrop: "https://image.tmdb.org/t/p/original/9FaCH2fXvYqYXQmh9JY4VqDyYBW.jpg",
|
| 417 |
+
rating: 4.6,
|
| 418 |
+
duration: "1h 20min",
|
| 419 |
+
genres: ["Comédie"],
|
| 420 |
+
tags: ["french", "comedy"],
|
| 421 |
+
servers: [
|
| 422 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/VKqJ09GjX6E?autoplay=1", quality: "HD 1080p" },
|
| 423 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 424 |
+
],
|
| 425 |
+
trending: false,
|
| 426 |
+
topRated: true
|
| 427 |
+
},
|
| 428 |
+
{
|
| 429 |
+
id: 106,
|
| 430 |
+
title: "Astérix & Obélix : Mission Cléopâtre",
|
| 431 |
+
year: 2002,
|
| 432 |
+
description: "Cléopâtre parie avec César qu'elle est capable de faire construire un palais somptueux en trois mois. Elle confie cette tâche à l'architecte Numérobis qui fait appel à Astérix et Obélix.",
|
| 433 |
+
poster: "https://image.tmdb.org/t/p/w500/2JZ5g5qGJUgHmLP4Kx0gTZ3XwVN.jpg",
|
| 434 |
+
backdrop: "https://image.tmdb.org/t/p/original/9FaCH2fXvYqYXQmh9JY4VqDyYBW.jpg",
|
| 435 |
+
rating: 4.2,
|
| 436 |
+
duration: "1h 47min",
|
| 437 |
+
genres: ["Comédie", "Aventure", "Familial"],
|
| 438 |
+
tags: ["french", "comedy", "adventure"],
|
| 439 |
+
servers: [
|
| 440 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/ZZU5aRR3z4I?autoplay=1", quality: "HD 1080p" },
|
| 441 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 442 |
+
],
|
| 443 |
+
trending: true,
|
| 444 |
+
topRated: false
|
| 445 |
+
},
|
| 446 |
+
{
|
| 447 |
+
id: 107,
|
| 448 |
+
title: "Les Choristes",
|
| 449 |
+
year: 2004,
|
| 450 |
+
description: "En 1949, Clément Mathieu, professeur de musique sans emploi, accepte un poste de surveillant dans un internat de rééducation pour mineurs. Il va tenter de changer les choses en créant une chorale.",
|
| 451 |
+
poster: "https://image.tmdb.org/t/p/w500/1Xx4q4hTzWYktu3yQdQzqTkXlwM.jpg",
|
| 452 |
+
backdrop: "https://image.tmdb.org/t/p/original/9FaCH2fXvYqYXQmh9JY4VqDyYBW.jpg",
|
| 453 |
+
rating: 4.1,
|
| 454 |
+
duration: "1h 37min",
|
| 455 |
+
genres: ["Drame", "Musique"],
|
| 456 |
+
tags: ["french", "drama", "music"],
|
| 457 |
+
servers: [
|
| 458 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/5xH0HfJHsaY?autoplay=1", quality: "HD 1080p" },
|
| 459 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 460 |
+
],
|
| 461 |
+
trending: false,
|
| 462 |
+
topRated: true
|
| 463 |
+
},
|
| 464 |
+
{
|
| 465 |
+
id: 108,
|
| 466 |
+
title: "Le Petit Nicolas",
|
| 467 |
+
year: 2009,
|
| 468 |
+
description: "Nicolas mène une existence paisible. Il a des parents qui l'aiment, une bande de chouettes copains avec lesquels il s'amuse bien. Mais un jour, il croit comprendre que sa mère est enceinte...",
|
| 469 |
+
poster: "https://image.tmdb.org/t/p/w500/2JZ5g5qGJUgHmLP4Kx0gTZ3XwVN.jpg",
|
| 470 |
+
backdrop: "https://image.tmdb.org/t/p/original/9FaCH2fXvYqYXQmh9JY4VqDyYBW.jpg",
|
| 471 |
+
rating: 4.0,
|
| 472 |
+
duration: "1h 31min",
|
| 473 |
+
genres: ["Comédie", "Familial"],
|
| 474 |
+
tags: ["french", "comedy", "family"],
|
| 475 |
+
servers: [
|
| 476 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/8g18jFHCLXk?autoplay=1", quality: "HD 1080p" },
|
| 477 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 478 |
+
],
|
| 479 |
+
trending: false,
|
| 480 |
+
topRated: false
|
| 481 |
+
},
|
| 482 |
+
{
|
| 483 |
+
id: 109,
|
| 484 |
+
title: "Bienvenue chez les Ch'tis",
|
| 485 |
+
year: 2008,
|
| 486 |
+
description: "Philippe Abrams est directeur de la poste de Salon-de-Provence. Muté dans le Nord, il invente une dépression pour éviter d'y aller. Mais il est démasqué et doit partir à Bergues.",
|
| 487 |
+
poster: "https://image.tmdb.org/t/p/w500/1Xx4q4hTzWYktu3yQdQzqTkXlwM.jpg",
|
| 488 |
+
backdrop: "https://image.tmdb.org/t/p/original/9FaCH2fXvYqYXQmh9JY4VqDyYBW.jpg",
|
| 489 |
+
rating: 4.2,
|
| 490 |
+
duration: "1h 46min",
|
| 491 |
+
genres: ["Comédie"],
|
| 492 |
+
tags: ["french", "comedy"],
|
| 493 |
+
servers: [
|
| 494 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/5xH0HfJHsaY?autoplay=1", quality: "HD 1080p" },
|
| 495 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 496 |
+
],
|
| 497 |
+
trending: false,
|
| 498 |
+
topRated: true
|
| 499 |
+
},
|
| 500 |
+
{
|
| 501 |
+
id: 110,
|
| 502 |
+
title: "OSS 117 : Le Caire, nid d'espions",
|
| 503 |
+
year: 2006,
|
| 504 |
+
description: "En 1955, l'agent secret français Hubert Bonisseur de la Bath, alias OSS 117, est envoyé au Caire pour une mission des plus périlleuses.",
|
| 505 |
+
poster: "https://image.tmdb.org/t/p/w500/2JZ5g5qGJUgHmLP4Kx0gTZ3XwVN.jpg",
|
| 506 |
+
backdrop: "https://image.tmdb.org/t/p/original/9FaCH2fXvYqYXQmh9JY4VqDyYBW.jpg",
|
| 507 |
+
rating: 4.0,
|
| 508 |
+
duration: "1h 39min",
|
| 509 |
+
genres: ["Comédie", "Action"],
|
| 510 |
+
tags: ["french", "comedy", "action"],
|
| 511 |
+
servers: [
|
| 512 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/5xH0HfJHsaY?autoplay=1", quality: "HD 1080p" },
|
| 513 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 514 |
+
],
|
| 515 |
+
trending: false,
|
| 516 |
+
topRated: false
|
| 517 |
+
},
|
| 518 |
+
|
| 519 |
+
// Films internationaux
|
| 520 |
+
{
|
| 521 |
+
id: 201,
|
| 522 |
+
title: "Interstellar",
|
| 523 |
+
year: 2014,
|
| 524 |
+
description: "Dans un futur proche, la Terre est devenue hostile pour l'humanité. Un groupe d'explorateurs utilise un vaisseau spatial pour franchir un trou de ver permettant de parcourir des distances jusque-là insurmontables, dans le but de sauver l'humanité.",
|
| 525 |
+
poster: "https://image.tmdb.org/t/p/w500/gEU2QniE6E77NI6lCU6MxlNBvIx.jpg",
|
| 526 |
+
backdrop: "https://image.tmdb.org/t/p/original/rAiYTfKGqDCRIIqo664sY9XZIvQ.jpg",
|
| 527 |
+
rating: 4.7,
|
| 528 |
+
duration: "2h 49min",
|
| 529 |
+
genres: ["Science-fiction", "Aventure", "Espace", "Drame"],
|
| 530 |
+
tags: ["sf", "adventure", "drama"],
|
| 531 |
+
servers: [
|
| 532 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/zSWdZVtXT7E?autoplay=1", quality: "HD 1080p" },
|
| 533 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" },
|
| 534 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 535 |
+
],
|
| 536 |
+
trending: true,
|
| 537 |
+
topRated: true
|
| 538 |
+
},
|
| 539 |
+
{
|
| 540 |
+
id: 202,
|
| 541 |
+
title: "Inception",
|
| 542 |
+
year: 2010,
|
| 543 |
+
description: "Dom Cobb est un voleur expérimenté dans l'art dangereux de l'extraction : sa spécialité consiste à s'approprier les secrets les plus précieux d'un individu, enfouis au plus profond de son subconscient, pendant qu'il rêve.",
|
| 544 |
+
poster: "https://image.tmdb.org/t/p/w500/9gk7adHYeDvHkCSEqAvQNLV5Uge.jpg",
|
| 545 |
+
backdrop: "https://image.tmdb.org/t/p/original/s3TBrRGB1iav7gFOCNx3H31MoES.jpg",
|
| 546 |
+
rating: 4.3,
|
| 547 |
+
duration: "2h 28min",
|
| 548 |
+
genres: ["Science-fiction", "Action", "Thriller"],
|
| 549 |
+
tags: ["sf", "action"],
|
| 550 |
+
servers: [
|
| 551 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/YoHD9XEInc0?autoplay=1", quality: "HD 1080p" },
|
| 552 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 553 |
+
],
|
| 554 |
+
trending: true,
|
| 555 |
+
topRated: true
|
| 556 |
+
},
|
| 557 |
+
{
|
| 558 |
+
id: 203,
|
| 559 |
+
title: "The Dark Knight",
|
| 560 |
+
year: 2008,
|
| 561 |
+
description: "Batman relève le défi ultime en affrontant le Joker, un génie criminel qui sème la terreur et le chaos dans Gotham City.",
|
| 562 |
+
poster: "https://image.tmdb.org/t/p/w500/qJ2tW6WMUDux911r6m7haRef0WH.jpg",
|
| 563 |
+
backdrop: "https://image.tmdb.org/t/p/original/h3jYanWMEJq6VNrsCwJG5RqmS1z.jpg",
|
| 564 |
+
rating: 4.5,
|
| 565 |
+
duration: "2h 32min",
|
| 566 |
+
genres: ["Action", "Crime", "Drama"],
|
| 567 |
+
tags: ["action", "drama"],
|
| 568 |
+
servers: [
|
| 569 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/EXeTwQWrcwY?autoplay=1", quality: "HD 1080p" },
|
| 570 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 571 |
+
],
|
| 572 |
+
trending: false,
|
| 573 |
+
topRated: true
|
| 574 |
+
},
|
| 575 |
+
{
|
| 576 |
+
id: 204,
|
| 577 |
+
title: "Avengers: Endgame",
|
| 578 |
+
year: 2019,
|
| 579 |
+
description: "Les Avengers et leurs alliés doivent être prêts à tout sacrifier pour vaincre Thanos et restaurer l'équilibre de l'univers.",
|
| 580 |
+
poster: "https://image.tmdb.org/t/p/w500/or06FN3Dka5tukK1e9sl16pB3iy.jpg",
|
| 581 |
+
backdrop: "https://image.tmdb.org/t/p/original/7RyHsO4yDXtBv1zUU3mTpHeQ0d5.jpg",
|
| 582 |
+
rating: 4.4,
|
| 583 |
+
duration: "3h 1min",
|
| 584 |
+
genres: ["Action", "Aventure", "Science-fiction"],
|
| 585 |
+
tags: ["action", "adventure", "sf"],
|
| 586 |
+
servers: [
|
| 587 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/TcMBFSGVi1c?autoplay=1", quality: "HD 1080p" },
|
| 588 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 589 |
+
],
|
| 590 |
+
trending: true,
|
| 591 |
+
topRated: false
|
| 592 |
+
},
|
| 593 |
+
{
|
| 594 |
+
id: 205,
|
| 595 |
+
title: "The Shawshank Redemption",
|
| 596 |
+
year: 1994,
|
| 597 |
+
description: "Deux hommes emprisonnés se lient d'amitié au fil des ans, trouvant réconfort et rédemption finale grâce à des actes de bonté commune.",
|
| 598 |
+
poster: "https://image.tmdb.org/t/p/w500/q6y0Go1tsGEsmtFryDOJo3dEmqu.jpg",
|
| 599 |
+
backdrop: "https://image.tmdb.org/t/p/original/9faGSFi5jam6pDWGNd0N8gB3X7b.jpg",
|
| 600 |
+
rating: 4.8,
|
| 601 |
+
duration: "2h 22min",
|
| 602 |
+
genres: ["Drame", "Crime"],
|
| 603 |
+
tags: ["drama"],
|
| 604 |
+
servers: [
|
| 605 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/6hB3S9bIaco?autoplay=1", quality: "HD 1080p" },
|
| 606 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 607 |
+
],
|
| 608 |
+
trending: false,
|
| 609 |
+
topRated: true
|
| 610 |
+
},
|
| 611 |
+
{
|
| 612 |
+
id: 206,
|
| 613 |
+
title: "Pulp Fiction",
|
| 614 |
+
year: 1994,
|
| 615 |
+
description: "Les vies de deux hommes de main, d'un boxeur, d'un gangster et de sa femme, et d'un couple de petits braqueurs s'entrecroisent dans une histoire de crime à Los Angeles.",
|
| 616 |
+
poster: "https://image.tmdb.org/t/p/w500/d5iIlFn5s0ImszYzBPb8JPIfbXD.jpg",
|
| 617 |
+
backdrop: "https://image.tmdb.org/t/p/original/suaEOtk1N1sgg2MTM7oZd2cfVp3.jpg",
|
| 618 |
+
rating: 4.3,
|
| 619 |
+
duration: "2h 34min",
|
| 620 |
+
genres: ["Crime", "Drame"],
|
| 621 |
+
tags: ["drama"],
|
| 622 |
+
servers: [
|
| 623 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/s7EdQ4FqbhY?autoplay=1", quality: "HD 1080p" },
|
| 624 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 625 |
+
],
|
| 626 |
+
trending: false,
|
| 627 |
+
topRated: true
|
| 628 |
+
},
|
| 629 |
+
{
|
| 630 |
+
id: 207,
|
| 631 |
+
title: "The Matrix",
|
| 632 |
+
year: 1999,
|
| 633 |
+
description: "Un pirate informatique découvre que la réalité est une simulation contrôlée par des machines intelligentes qui utilisent les humains comme source d'énergie.",
|
| 634 |
+
poster: "https://image.tmdb.org/t/p/w500/f89U3ADr1oiB1s9GkdPOEpXUk5H.jpg",
|
| 635 |
+
backdrop: "https://image.tmdb.org/t/p/original/7u3pxc0K1wx32IleAkLv78MKgrw.jpg",
|
| 636 |
+
rating: 4.2,
|
| 637 |
+
duration: "2h 16min",
|
| 638 |
+
genres: ["Action", "Science-fiction"],
|
| 639 |
+
tags: ["action", "sf"],
|
| 640 |
+
servers: [
|
| 641 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/vKQi3bBA1y8?autoplay=1", quality: "HD 1080p" },
|
| 642 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 643 |
+
],
|
| 644 |
+
trending: true,
|
| 645 |
+
topRated: false
|
| 646 |
+
},
|
| 647 |
+
{
|
| 648 |
+
id: 208,
|
| 649 |
+
title: "Parasite",
|
| 650 |
+
year: 2019,
|
| 651 |
+
description: "Les membres d'une famille pauvre s'infiltrent dans une riche famille en se faisant passer pour des professionnels hautement qualifiés.",
|
| 652 |
+
poster: "https://image.tmdb.org/t/p/w500/7IiTTgloJzvGI1TAYymCfbfl3vT.jpg",
|
| 653 |
+
backdrop: "https://image.tmdb.org/t/p/original/TU9NIjwzjoKPwQHoHshkFcQUCG.jpg",
|
| 654 |
+
rating: 4.6,
|
| 655 |
+
duration: "2h 12min",
|
| 656 |
+
genres: ["Comédie", "Drame", "Thriller"],
|
| 657 |
+
tags: ["drama", "comedy"],
|
| 658 |
+
servers: [
|
| 659 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/5xH0HfJHsaY?autoplay=1", quality: "HD 1080p" },
|
| 660 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 661 |
+
],
|
| 662 |
+
trending: true,
|
| 663 |
+
topRated: true
|
| 664 |
+
},
|
| 665 |
+
{
|
| 666 |
+
id: 209,
|
| 667 |
+
title: "The Godfather",
|
| 668 |
+
year: 1972,
|
| 669 |
+
description: "Le patriarche vieillissant d'une dynastie criminelle new-yorkaise transfère le contrôle de son empire clandestin à son fils réticent.",
|
| 670 |
+
poster: "https://image.tmdb.org/t/p/w500/3bhkrj58Vtu7enYsRolD1fZdja1.jpg",
|
| 671 |
+
backdrop: "https://image.tmdb.org/t/p/original/rSPw7tgCH9c6NqICZef4kZjFOQ5.jpg",
|
| 672 |
+
rating: 4.7,
|
| 673 |
+
duration: "2h 55min",
|
| 674 |
+
genres: ["Crime", "Drame"],
|
| 675 |
+
tags: ["drama"],
|
| 676 |
+
servers: [
|
| 677 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/sY1S34973zA?autoplay=1", quality: "HD 1080p" },
|
| 678 |
+
{ name: "Dailymotion", url: "https://www.dailymotion.com/embed/video/x8j1j4v?autoplay=1", quality: "HD 720p" }
|
| 679 |
+
],
|
| 680 |
+
trending: false,
|
| 681 |
+
topRated: true
|
| 682 |
+
},
|
| 683 |
+
{
|
| 684 |
+
id: 210,
|
| 685 |
+
title: "Dune",
|
| 686 |
+
year: 2021,
|
| 687 |
+
description: "Paul Atreides, un jeune homme brillant et doué, doit voyager vers la planète la plus dangereuse de l'univers pour assurer l'avenir de sa famille et de son peuple.",
|
| 688 |
+
poster: "https://image.tmdb.org/t/p/w500/d5NXSklXo0qyIYkgV94XAgMIckC.jpg",
|
| 689 |
+
backdrop: "https://image.tmdb.org/t/p/original/jYEW5xZkZk2WTrdbMGAPFuBqbDc.jpg",
|
| 690 |
+
rating: 4.1,
|
| 691 |
+
duration: "2h 35min",
|
| 692 |
+
genres: ["Science-fiction", "Aventure"],
|
| 693 |
+
tags: ["sf", "adventure"],
|
| 694 |
+
servers: [
|
| 695 |
+
{ name: "YouTube", url: "https://www.youtube.com/embed/8g18jFHCLXk?autoplay=1", quality: "HD 1080p" },
|
| 696 |
+
{ name: "Vimeo", url: "https://player.vimeo.com/video/24456787?autoplay=1", quality: "HD 720p" }
|
| 697 |
+
],
|
| 698 |
+
trending: true,
|
| 699 |
+
topRated: false
|
| 700 |
+
}
|
| 701 |
+
];
|
| 702 |
+
|
| 703 |
+
// Toggle fullscreen mode
|
| 704 |
+
function toggleFullscreen(videoId) {
|
| 705 |
+
const video = document.getElementById(videoId);
|
| 706 |
+
if (!document.fullscreenElement) {
|
| 707 |
+
video.requestFullscreen().catch(err => {
|
| 708 |
+
alert(`Erreur lors du passage en plein écran: ${err.message}`);
|
| 709 |
+
});
|
| 710 |
+
} else {
|
| 711 |
+
document.exitFullscreen();
|
| 712 |
+
}
|
| 713 |
+
}
|
| 714 |
+
|
| 715 |
+
// Change server
|
| 716 |
+
function changeServer(src, serverName) {
|
| 717 |
+
const videoContainer = document.getElementById('full-movie-container');
|
| 718 |
+
const loadingOverlay = document.getElementById('loading-overlay');
|
| 719 |
+
|
| 720 |
+
// Show loading
|
| 721 |
+
loadingOverlay.classList.remove('hidden');
|
| 722 |
+
|
| 723 |
+
// Reset all server buttons
|
| 724 |
+
document.querySelectorAll('.server-btn').forEach(btn => {
|
| 725 |
+
btn.classList.remove('active');
|
| 726 |
+
btn.classList.add('bg-gray-700', 'hover:bg-gray-600');
|
| 727 |
+
});
|
| 728 |
+
|
| 729 |
+
// Set active server button
|
| 730 |
+
event.target.classList.add('active');
|
| 731 |
+
event.target.classList.remove('bg-gray-700', 'hover:bg-gray-600');
|
| 732 |
+
|
| 733 |
+
// Create new iframe for the video
|
| 734 |
+
let videoHTML;
|
| 735 |
+
if (src.includes('youtube.com')) {
|
| 736 |
+
videoHTML = `<iframe id="full-movie" class="w-full h-full" src="${src}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
|
| 737 |
+
} else if (src.includes('vimeo.com')) {
|
| 738 |
+
videoHTML = `<iframe id="full-movie" class="w-full h-full" src="${src}" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>`;
|
| 739 |
+
} else if (src.includes('dailymotion.com')) {
|
| 740 |
+
videoHTML = `<iframe id="full-movie" class="w-full h-full" src="${src}" frameborder="0" allow="autoplay" allowfullscreen></iframe>`;
|
| 741 |
+
} else {
|
| 742 |
+
videoHTML = `<video id="full-movie" class="w-full h-full" autoplay muted controls>
|
| 743 |
+
<source src="${src}" type="video/mp4">
|
| 744 |
+
Votre navigateur ne supporte pas la lecture de vidéos.
|
| 745 |
+
</video>`;
|
| 746 |
+
}
|
| 747 |
+
|
| 748 |
+
// Replace video content
|
| 749 |
+
videoContainer.innerHTML = videoHTML;
|
| 750 |
+
|
| 751 |
+
// Hide loading after a delay
|
| 752 |
+
setTimeout(() => {
|
| 753 |
+
loadingOverlay.classList.add('hidden');
|
| 754 |
+
|
| 755 |
+
// Re-attach event listeners if it's a video element
|
| 756 |
+
const newVideo = document.getElementById('full-movie');
|
| 757 |
+
if (newVideo.tagName === 'VIDEO') {
|
| 758 |
+
setupVideoControls(newVideo);
|
| 759 |
+
}
|
| 760 |
+
}, 1500);
|
| 761 |
+
}
|
| 762 |
+
|
| 763 |
+
// Setup video controls for HTML5 video
|
| 764 |
+
function setupVideoControls(video) {
|
| 765 |
+
const playPauseBtn = document.getElementById('play-pause-btn');
|
| 766 |
+
const currentTime = document.getElementById('current-time');
|
| 767 |
+
const duration = document.getElementById('duration');
|
| 768 |
+
const progressBar = document.getElementById('progress-bar');
|
| 769 |
+
const muteBtn = document.getElementById('mute-btn');
|
| 770 |
+
|
| 771 |
+
// Format time
|
| 772 |
+
function formatTime(seconds) {
|
| 773 |
+
const minutes = Math.floor(seconds / 60);
|
| 774 |
+
const remainingSeconds = Math.floor(seconds % 60);
|
| 775 |
+
return `${minutes}:${remainingSeconds < 10 ? '0' : ''}${remainingSeconds}`;
|
| 776 |
+
}
|
| 777 |
+
|
| 778 |
+
// Update time display
|
| 779 |
+
function updateTime() {
|
| 780 |
+
currentTime.textContent = formatTime(video.currentTime);
|
| 781 |
+
duration.textContent = formatTime(video.duration);
|
| 782 |
+
|
| 783 |
+
// Update progress bar
|
| 784 |
+
const progress = (video.currentTime / video.duration) * 100;
|
| 785 |
+
progressBar.style.width = `${progress}%`;
|
| 786 |
+
}
|
| 787 |
+
|
| 788 |
+
// Toggle play/pause
|
| 789 |
+
playPauseBtn.addEventListener('click', function() {
|
| 790 |
+
if (video.paused) {
|
| 791 |
+
video.play();
|
| 792 |
+
playPauseBtn.innerHTML = '<i class="fas fa-pause text-xl"></i>';
|
| 793 |
+
} else {
|
| 794 |
+
video.pause();
|
| 795 |
+
playPauseBtn.innerHTML = '<i class="fas fa-play text-xl"></i>';
|
| 796 |
+
}
|
| 797 |
+
});
|
| 798 |
+
|
| 799 |
+
// Toggle mute
|
| 800 |
+
muteBtn.addEventListener('click', function() {
|
| 801 |
+
video.muted = !video.muted;
|
| 802 |
+
muteBtn.innerHTML = video.muted
|
| 803 |
+
? '<i class="fas fa-volume-mute text-xl"></i>'
|
| 804 |
+
: '<i class="fas fa-volume-up text-xl"></i>';
|
| 805 |
+
});
|
| 806 |
+
|
| 807 |
+
// Update time on timeupdate
|
| 808 |
+
video.addEventListener('timeupdate', updateTime);
|
| 809 |
+
|
| 810 |
+
// Update duration when metadata is loaded
|
| 811 |
+
video.addEventListener('loadedmetadata', function() {
|
| 812 |
+
duration.textContent = formatTime(video.duration);
|
| 813 |
+
});
|
| 814 |
+
|
| 815 |
+
// Click on progress bar to seek
|
| 816 |
+
document.querySelector('.progress-container').addEventListener('click', function(e) {
|
| 817 |
+
const rect = this.getBoundingClientRect();
|
| 818 |
+
const pos = (e.pageX - rect.left) / this.offsetWidth;
|
| 819 |
+
video.currentTime = pos * video.duration;
|
| 820 |
+
});
|
| 821 |
+
|
| 822 |
+
// Auto-play video with muted sound (to bypass browser restrictions)
|
| 823 |
+
video.muted = true;
|
| 824 |
+
video.play().catch(e => {
|
| 825 |
+
console.log('Autoplay prevented, showing controls');
|
| 826 |
+
video.controls = true;
|
| 827 |
+
});
|
| 828 |
+
|
| 829 |
+
// Toggle play/pause icon when video is played/paused
|
| 830 |
+
video.addEventListener('play', function() {
|
| 831 |
+
playPauseBtn.innerHTML = '<i class="fas fa-pause text-xl"></i>';
|
| 832 |
+
});
|
| 833 |
+
|
| 834 |
+
video.addEventListener('pause', function() {
|
| 835 |
+
playPauseBtn.innerHTML = '<i class="fas fa-play text-xl"></i>';
|
| 836 |
+
});
|
| 837 |
+
}
|
| 838 |
+
|
| 839 |
+
// Load movie into player
|
| 840 |
+
function loadMovie(movieId) {
|
| 841 |
+
const movie = movieDatabase.find(m => m.id === movieId);
|
| 842 |
+
if (!movie) return;
|
| 843 |
+
|
| 844 |
+
// Update movie info
|
| 845 |
+
document.getElementById('current-movie-title').textContent = `${movie.title} (${movie.year})`;
|
| 846 |
+
document.getElementById('current-movie-poster').src = movie.poster;
|
| 847 |
+
document.getElementById('current-movie-description').textContent = movie.description;
|
| 848 |
+
document.getElementById('current-movie-duration').textContent = movie.duration;
|
| 849 |
+
|
| 850 |
+
// Update backdrop
|
| 851 |
+
document.getElementById('movie-backdrop').style.backgroundImage = `url(${movie.backdrop})`;
|
| 852 |
+
|
| 853 |
+
// Update rating stars
|
| 854 |
+
const ratingContainer = document.getElementById('current-movie-rating');
|
| 855 |
+
ratingContainer.innerHTML = '';
|
| 856 |
+
const fullStars = Math.floor(movie.rating);
|
| 857 |
+
const hasHalfStar = movie.rating % 1 >= 0.5;
|
| 858 |
+
|
| 859 |
+
for (let i = 0; i < 5; i++) {
|
| 860 |
+
if (i < fullStars) {
|
| 861 |
+
ratingContainer.innerHTML += '<i class="fas fa-star"></i>';
|
| 862 |
+
} else if (i === fullStars && hasHalfStar) {
|
| 863 |
+
ratingContainer.innerHTML += '<i class="fas fa-star-half-alt"></i>';
|
| 864 |
+
} else {
|
| 865 |
+
ratingContainer.innerHTML += '<i class="far fa-star"></i>';
|
| 866 |
+
}
|
| 867 |
+
}
|
| 868 |
+
|
| 869 |
+
// Update genres
|
| 870 |
+
const genresContainer = document.getElementById('current-movie-genres');
|
| 871 |
+
genresContainer.innerHTML = '';
|
| 872 |
+
movie.genres.forEach(genre => {
|
| 873 |
+
genresContainer.innerHTML += `<span class="px-3 py-1 bg-gray-700 rounded-full text-sm">${genre}</span>`;
|
| 874 |
+
});
|
| 875 |
+
|
| 876 |
+
// Update servers
|
| 877 |
+
const serversContainer = document.getElementById('server-buttons');
|
| 878 |
+
serversContainer.innerHTML = '';
|
| 879 |
+
movie.servers.forEach((server, index) => {
|
| 880 |
+
serversContainer.innerHTML += `
|
| 881 |
+
<button class="server-btn px-4 py-2 rounded-md flex items-center ${index === 0 ? 'active bg-blue-600' : 'bg-gray-700 hover:bg-gray-600'}"
|
| 882 |
+
onclick="changeServer('${server.url}', '${server.name}')">
|
| 883 |
+
<i class="fas fa-server mr-2"></i> ${server.name} <span class="ml-2 text-xs bg-black bg-opacity-50 px-2 py-1 rounded">${server.quality}</span>
|
| 884 |
+
</button>
|
| 885 |
+
`;
|
| 886 |
+
});
|
| 887 |
+
|
| 888 |
+
// Load first server by default with autoplay
|
| 889 |
+
if (movie.servers.length > 0) {
|
| 890 |
+
const videoContainer = document.getElementById('full-movie-container');
|
| 891 |
+
let videoHTML;
|
| 892 |
+
|
| 893 |
+
if (movie.servers[0].url.includes('youtube.com')) {
|
| 894 |
+
videoHTML = `<iframe id="full-movie" class="w-full h-full" src="${movie.servers[0].url}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
|
| 895 |
+
} else if (movie.servers[0].url.includes('vimeo.com')) {
|
| 896 |
+
videoHTML = `<iframe id="full-movie" class="w-full h-full" src="${movie.servers[0].url}" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>`;
|
| 897 |
+
} else if (movie.servers[0].url.includes('dailymotion.com')) {
|
| 898 |
+
videoHTML = `<iframe id="full-movie" class="w-full h-full" src="${movie.servers[0].url}" frameborder="0" allow="autoplay" allowfullscreen></iframe>`;
|
| 899 |
+
} else {
|
| 900 |
+
videoHTML = `<video id="full-movie" class="w-full h-full" autoplay muted controls>
|
| 901 |
+
<source src="${movie.servers[0].url}" type="video/mp4">
|
| 902 |
+
Votre navigateur ne supporte pas la lecture de vidéos.
|
| 903 |
+
</video>`;
|
| 904 |
+
}
|
| 905 |
+
|
| 906 |
+
videoContainer.innerHTML = videoHTML;
|
| 907 |
+
|
| 908 |
+
// Setup controls if it's a video element
|
| 909 |
+
const video = document.getElementById('full-movie');
|
| 910 |
+
if (video.tagName === 'VIDEO') {
|
| 911 |
+
setupVideoControls(video);
|
| 912 |
+
}
|
| 913 |
+
}
|
| 914 |
+
}
|
| 915 |
+
|
| 916 |
+
// Create movie card
|
| 917 |
+
function createMovieCard(movie) {
|
| 918 |
+
return `
|
| 919 |
+
<div class="group movie-card" onclick="loadMovie(${movie.id})">
|
| 920 |
+
<div class="relative overflow-hidden rounded-lg aspect-[2/3]">
|
| 921 |
+
<img src="${movie.poster}" alt="${movie.title}" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-300">
|
| 922 |
+
<div class="movie-overlay absolute inset-0 bg-black bg-opacity-30 flex items-center justify-center opacity-0">
|
| 923 |
+
<button class="bg-blue-600 hover:bg-blue-700 w-12 h-12 rounded-full flex items-center justify-center">
|
| 924 |
+
<i class="fas fa-play"></i>
|
| 925 |
+
</button>
|
| 926 |
+
</div>
|
| 927 |
+
<span class="absolute top-2 right-2 bg-yellow-500 text-black text-xs font-bold px-2 py-1 rounded">${movie.rating.toFixed(1)}</span>
|
| 928 |
+
</div>
|
| 929 |
+
<h4 class="mt-2 font-medium">${movie.title} <span class="text-gray-400">(${movie.year})</span></h4>
|
| 930 |
+
</div>
|
| 931 |
+
`;
|
| 932 |
+
}
|
| 933 |
+
|
| 934 |
+
// Filter movies by category
|
| 935 |
+
function filterMoviesByCategory(category) {
|
| 936 |
+
if (category === 'all') return movieDatabase;
|
| 937 |
+
|
| 938 |
+
const categoryMap = {
|
| 939 |
+
'french': m => m.tags.includes('french'),
|
| 940 |
+
'action': m => m.tags.includes('action'),
|
| 941 |
+
'comedy': m => m.tags.includes('comedy'),
|
| 942 |
+
'drama': m => m.tags.includes('drama'),
|
| 943 |
+
'sf': m => m.tags.includes('sf'),
|
| 944 |
+
'horror': m => m.tags.includes('horror'),
|
| 945 |
+
'adventure': m => m.tags.includes('adventure')
|
| 946 |
+
};
|
| 947 |
+
|
| 948 |
+
return movieDatabase.filter(categoryMap[category] || (() => true));
|
| 949 |
+
}
|
| 950 |
+
|
| 951 |
+
// Search movies
|
| 952 |
+
function searchMovies(query) {
|
| 953 |
+
if (!query) return [];
|
| 954 |
+
return movieDatabase.filter(movie =>
|
| 955 |
+
movie.title.toLowerCase().includes(query.toLowerCase())
|
| 956 |
+
);
|
| 957 |
+
}
|
| 958 |
+
|
| 959 |
+
// Initialize the page
|
| 960 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 961 |
+
// Add container div for the video player
|
| 962 |
+
const videoContainer = document.querySelector('.player-container');
|
| 963 |
+
videoContainer.innerHTML = `<div id="full-movie-container"></div>`;
|
| 964 |
+
|
| 965 |
+
// Search functionality
|
| 966 |
+
const searchInput = document.getElementById('search-input');
|
| 967 |
+
const searchResults = document.getElementById('search-results');
|
| 968 |
+
const mobileMenuBtn = document.getElementById('mobile-menu-btn');
|
| 969 |
+
const mobileMenu = document.getElementById('mobile-menu');
|
| 970 |
+
|
| 971 |
+
searchInput.addEventListener('input', function() {
|
| 972 |
+
const query = this.value;
|
| 973 |
+
if (query.length > 2) {
|
| 974 |
+
const results = searchMovies(query);
|
| 975 |
+
if (results.length > 0) {
|
| 976 |
+
searchResults.innerHTML = results.map(movie => `
|
| 977 |
+
<div class="p-3 hover:bg-gray-700 cursor-pointer flex items-center" onclick="loadMovie(${movie.id})">
|
| 978 |
+
<img src="${movie.poster}" alt="${movie.title}" class="w-10 h-14 object-cover rounded mr-3">
|
| 979 |
+
<div>
|
| 980 |
+
<div class="font-medium">${movie.title}</div>
|
| 981 |
+
<div class="text-xs text-gray-400">${movie.year} • ${movie.genres.join(', ')}</div>
|
| 982 |
+
</div>
|
| 983 |
+
</div>
|
| 984 |
+
`).join('');
|
| 985 |
+
searchResults.classList.remove('hidden');
|
| 986 |
+
} else {
|
| 987 |
+
searchResults.innerHTML = '<div class="p-3 text-gray-400">Aucun résultat trouvé</div>';
|
| 988 |
+
searchResults.classList.remove('hidden');
|
| 989 |
+
}
|
| 990 |
+
} else {
|
| 991 |
+
searchResults.classList.add('hidden');
|
| 992 |
+
}
|
| 993 |
+
});
|
| 994 |
+
|
| 995 |
+
// Close search results when clicking outside
|
| 996 |
+
document.addEventListener('click', function(e) {
|
| 997 |
+
if (!searchInput.contains(e.target) && !searchResults.contains(e.target)) {
|
| 998 |
+
searchResults.classList.add('hidden');
|
| 999 |
+
}
|
| 1000 |
+
});
|
| 1001 |
+
|
| 1002 |
+
// Mobile menu toggle
|
| 1003 |
+
mobileMenuBtn.addEventListener('click', function() {
|
| 1004 |
+
mobileMenu.classList.toggle('hidden');
|
| 1005 |
+
});
|
| 1006 |
+
|
| 1007 |
+
// Category filter
|
| 1008 |
+
document.querySelectorAll('.category-btn').forEach(btn => {
|
| 1009 |
+
btn.addEventListener('click', function() {
|
| 1010 |
+
// Set active button
|
| 1011 |
+
document.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active', 'bg-blue-600'));
|
| 1012 |
+
this.classList.add('active', 'bg-blue-600');
|
| 1013 |
+
|
| 1014 |
+
// Filter movies
|
| 1015 |
+
const category = this.dataset.category;
|
| 1016 |
+
const filteredMovies = filterMoviesByCategory(category);
|
| 1017 |
+
|
| 1018 |
+
// Update movie sections
|
| 1019 |
+
document.getElementById('trending-movies').innerHTML =
|
| 1020 |
+
filteredMovies.filter(m => m.trending).map(createMovieCard).join('');
|
| 1021 |
+
|
| 1022 |
+
document.getElementById('top-rated-movies').innerHTML =
|
| 1023 |
+
filteredMovies.filter(m => m.topRated).map(createMovieCard).join('');
|
| 1024 |
+
|
| 1025 |
+
document.getElementById('new-releases').innerHTML =
|
| 1026 |
+
filteredMovies.filter(m => m.year >= new Date().getFullYear() - 2).map(createMovieCard).join('');
|
| 1027 |
+
});
|
| 1028 |
+
});
|
| 1029 |
+
|
| 1030 |
+
// Load initial movie with autoplay
|
| 1031 |
+
loadMovie(1);
|
| 1032 |
+
|
| 1033 |
+
// Load trending movies
|
| 1034 |
+
const trendingMovies = movieDatabase.filter(movie => movie.trending);
|
| 1035 |
+
document.getElementById('trending-movies').innerHTML = trendingMovies.map(createMovieCard).join('');
|
| 1036 |
+
|
| 1037 |
+
// Load top rated movies
|
| 1038 |
+
const topRatedMovies = movieDatabase.filter(movie => movie.topRated);
|
| 1039 |
+
document.getElementById('top-rated-movies').innerHTML = topRatedMovies.map(createMovieCard).join('');
|
| 1040 |
+
|
| 1041 |
+
// Load new releases (last 2 years)
|
| 1042 |
+
const currentYear = new Date().getFullYear();
|
| 1043 |
+
const newReleases = movieDatabase.filter(movie => movie.year >= currentYear - 2);
|
| 1044 |
+
document.getElementById('new-releases').innerHTML = newReleases.map(createMovieCard).join('');
|
| 1045 |
+
});
|
| 1046 |
+
</script>
|
| 1047 |
+
<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-full" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
| 1048 |
+
</html>
|
prompts.txt
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Films Complets en HD Regardez vos films préférés en entier, sans coupure, avec une qualité optimale. Plus de 20,000 films disponibles. regarder les film original complet en ouverture lecteur automatique , plussieur zone de lecture du film en automatique
|
| 2 |
+
afficher toutes les images d'origines des film :aucun bouton fonctione active toutes les boutons afin de les faire fonctionner directemen en automatique
|
| 3 |
+
JE VEUX LES ZONE DES LECTURE ORIGINE
|
| 4 |
+
ACTIVER LES FILM COMPLET A REGARDER
|
| 5 |
+
AUCUN SERVEUR FONCIONNE ACTIVER LES SERVEUR ORIGINAL DES FILM A REGARDER EN COMPLET AVEC MTV ET LIEN ORIGINAL DES FILM
|
| 6 |
+
lancer le film lecture complet
|
| 7 |
+
ajouter le plus puissant base de donnes de film complet pret a regarder en entier avec divers serveur de lecture
|
| 8 |
+
afficher les images des films en vrai et activer les lecture des film en automatique
|
| 9 |
+
ajouter toutes les liens url des film complet
|
| 10 |
+
ajouter les liens des film complet a regarder tout de suite
|
| 11 |
+
ajouté une base de données des film complet avec leur liens des serveur des film a regarder en complet en francais
|