docto41 commited on
Commit
3e42da6
·
verified ·
1 Parent(s): a6cd034

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +554 -19
  3. prompts.txt +2 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Streamvistafr
3
- emoji: 🌖
4
- colorFrom: indigo
5
- colorTo: purple
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: streamvistafr
3
+ emoji: 🐳
4
+ colorFrom: green
5
+ colorTo: red
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,554 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>StreamVista - Films Français Complets</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=Poppins:wght@300;400;500;600;700&display=swap');
11
+
12
+ body {
13
+ font-family: 'Poppins', sans-serif;
14
+ background-color: #0f172a;
15
+ color: white;
16
+ opacity: 0;
17
+ transition: opacity 0.5s ease;
18
+ }
19
+
20
+ .hero-gradient {
21
+ background: linear-gradient(180deg, rgba(15, 23, 42, 0.8) 0%, rgba(15, 23, 42, 1) 100%);
22
+ }
23
+
24
+ .movie-card:hover {
25
+ transform: scale(1.05);
26
+ transition: all 0.3s ease;
27
+ box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
28
+ }
29
+
30
+ .search-input:focus {
31
+ outline: none;
32
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
33
+ }
34
+
35
+ .streaming-btn {
36
+ background: linear-gradient(45deg, #3b82f6, #8b5cf6);
37
+ transition: all 0.3s ease;
38
+ }
39
+
40
+ .streaming-btn:hover {
41
+ transform: translateY(-2px);
42
+ box-shadow: 0 5px 15px rgba(59, 130, 246, 0.4);
43
+ }
44
+
45
+ /* Animation pour le bouton de recherche */
46
+ @keyframes pulse {
47
+ 0% { transform: scale(1); }
48
+ 50% { transform: scale(1.05); }
49
+ 100% { transform: scale(1); }
50
+ }
51
+
52
+ .search-btn:hover {
53
+ animation: pulse 1.5s infinite;
54
+ }
55
+
56
+ .loading-spinner {
57
+ border: 3px solid rgba(255, 255, 255, 0.3);
58
+ border-radius: 50%;
59
+ border-top: 3px solid #3b82f6;
60
+ width: 30px;
61
+ height: 30px;
62
+ animation: spin 1s linear infinite;
63
+ }
64
+
65
+ @keyframes spin {
66
+ 0% { transform: rotate(0deg); }
67
+ 100% { transform: rotate(360deg); }
68
+ }
69
+ </style>
70
+ </head>
71
+ <body>
72
+ <!-- Barre de navigation -->
73
+ <nav class="bg-gray-900 px-6 py-4 sticky top-0 z-50 shadow-lg">
74
+ <div class="container mx-auto flex justify-between items-center">
75
+ <div class="flex items-center space-x-2">
76
+ <i class="fas fa-film text-blue-500 text-2xl"></i>
77
+ <span class="text-xl font-bold bg-gradient-to-r from-blue-500 to-purple-600 bg-clip-text text-transparent">StreamVista FR</span>
78
+ </div>
79
+
80
+ <div class="hidden md:flex space-x-6">
81
+ <a href="#" class="text-white hover:text-blue-400 transition">Accueil</a>
82
+ <a href="#films" class="text-white hover:text-blue-400 transition">Films Complets</a>
83
+ <a href="#nouveautes" class="text-white hover:text-blue-400 transition">Nouveautés</a>
84
+ <a href="#classiques" class="text-white hover:text-blue-400 transition">Classiques</a>
85
+ <a href="#recherche" class="text-white hover:text-blue-400 transition">Recherche</a>
86
+ </div>
87
+
88
+ <div class="flex items-center space-x-4">
89
+ <div class="relative">
90
+ <input type="text" id="globalSearch" placeholder="Rechercher un film..." class="search-input bg-gray-800 text-white px-4 py-2 rounded-full w-40 md:w-64 focus:w-64 transition-all duration-300">
91
+ <button class="search-btn absolute right-3 top-2 text-gray-400 hover:text-white" onclick="searchMovies()">
92
+ <i class="fas fa-search"></i>
93
+ </button>
94
+ </div>
95
+ <div class="w-8 h-8 rounded-full bg-blue-500 flex items-center justify-center cursor-pointer">
96
+ <i class="fas fa-user text-white"></i>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </nav>
101
+
102
+ <!-- Hero Section -->
103
+ <section class="hero-gradient relative h-96 md:h-screen max-h-screen flex items-center">
104
+ <div class="absolute inset-0 overflow-hidden">
105
+ <img src="https://image.tmdb.org/t/p/original/8pjWz2ltjKyVpkSy6tk43hPjBiy.jpg" alt="Intouchables" class="w-full h-full object-cover opacity-30">
106
+ </div>
107
+
108
+ <div class="container mx-auto px-6 relative z-10">
109
+ <h1 class="text-4xl md:text-6xl font-bold mb-4">Les Intouchables</h1>
110
+ <p class="text-lg md:text-xl max-w-2xl mb-6">L'histoire vraie d'une amitié improbable entre un riche tétraplégique et son aide à domicile issu des quartiers difficiles.</p>
111
+ <div class="flex space-x-4">
112
+ <a href="https://www.allocine.fr/film/fichefilm_gen_cfilm=187641.html" target="_blank" class="streaming-btn bg-blue-600 hover:bg-blue-700 text-white px-6 py-3 rounded-lg font-semibold flex items-center">
113
+ <i class="fas fa-play mr-2"></i> Regarder maintenant
114
+ </a>
115
+ <button class="bg-gray-800 hover:bg-gray-700 text-white px-6 py-3 rounded-lg font-semibold flex items-center">
116
+ <i class="fas fa-info-circle mr-2"></i> Plus d'infos
117
+ </button>
118
+ </div>
119
+ </div>
120
+ </section>
121
+
122
+ <!-- Section Recherche Automatisée -->
123
+ <section id="recherche" class="py-12 px-6 bg-gray-900">
124
+ <div class="container mx-auto">
125
+ <h2 class="text-2xl font-bold mb-8 flex items-center">
126
+ <i class="fas fa-robot text-blue-400 mr-3"></i> Recherche Automatisée de Films
127
+ </h2>
128
+
129
+ <div class="bg-gray-800 rounded-xl p-6 shadow-lg">
130
+ <div class="flex flex-col md:flex-row gap-4">
131
+ <input type="text" id="movieSearch" placeholder="Entrez le titre d'un film français..." class="flex-grow bg-gray-700 text-white px-4 py-3 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500">
132
+ <button onclick="searchMovies()" class="streaming-btn px-6 py-3 rounded-lg font-semibold flex items-center justify-center">
133
+ <i class="fas fa-search mr-2"></i> Trouver le film
134
+ </button>
135
+ </div>
136
+
137
+ <div id="searchResults" class="mt-6 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 hidden">
138
+ <!-- Les résultats apparaîtront ici -->
139
+ </div>
140
+
141
+ <div id="loadingIndicator" class="mt-6 flex justify-center hidden">
142
+ <div class="loading-spinner"></div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </section>
147
+
148
+ <!-- Base de données des films français -->
149
+ <section id="films" class="py-12 px-6">
150
+ <div class="container mx-auto">
151
+ <h2 class="text-2xl font-bold mb-8 flex items-center">
152
+ <i class="fas fa-database text-purple-500 mr-3"></i> Base de Données des Films Français Complets
153
+ </h2>
154
+
155
+ <div class="mb-6 flex flex-wrap gap-2">
156
+ <button onclick="filterMovies('all')" class="px-4 py-2 bg-blue-600 text-white rounded-full">Tous</button>
157
+ <button onclick="filterMovies('drame')" class="px-4 py-2 bg-gray-700 hover:bg-gray-600 text-white rounded-full">Drame</button>
158
+ <button onclick="filterMovies('comedie')" class="px-4 py-2 bg-gray-700 hover:bg-gray-600 text-white rounded-full">Comédie</button>
159
+ <button onclick="filterMovies('action')" class="px-4 py-2 bg-gray-700 hover:bg-gray-600 text-white rounded-full">Action</button>
160
+ <button onclick="filterMovies('policier')" class="px-4 py-2 bg-gray-700 hover:bg-gray-600 text-white rounded-full">Policier</button>
161
+ <button onclick="filterMovies('historique')" class="px-4 py-2 bg-gray-700 hover:bg-gray-600 text-white rounded-full">Historique</button>
162
+ </div>
163
+
164
+ <div id="moviesDatabase" class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6">
165
+ <!-- Les films seront chargés dynamiquement ici -->
166
+ </div>
167
+ </div>
168
+ </section>
169
+
170
+ <!-- Script pour la base de données et l'automatisation -->
171
+ <script>
172
+ // Base de données des films français avec liens de streaming
173
+ const frenchMoviesDatabase = [
174
+ {
175
+ id: 1,
176
+ title: "Les Intouchables",
177
+ year: 2011,
178
+ genre: ["drame", "comedie"],
179
+ rating: 4.7,
180
+ image: "https://image.tmdb.org/t/p/w500/8pjWz2ltjKyVpkSy6tk43hPjBiy.jpg",
181
+ description: "L'histoire vraie d'une amitié improbable entre un riche tétraplégique et son aide à domicile issu des quartiers difficiles.",
182
+ streamingLinks: [
183
+ { provider: "Netflix", url: "https://www.netflix.com/title/70202461" },
184
+ { provider: "Amazon Prime", url: "https://www.primevideo.com/detail/0P9LQH3KJQZJZ6K5JQ9Z6K5JQ9" },
185
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=187641.html" }
186
+ ]
187
+ },
188
+ {
189
+ id: 2,
190
+ title: "Le Fabuleux Destin d'Amélie Poulain",
191
+ year: 2001,
192
+ genre: ["comedie", "romance"],
193
+ rating: 4.5,
194
+ image: "https://image.tmdb.org/t/p/w500/9w20lKqQkRLKSe9Q3HpAwbCwQk5.jpg",
195
+ description: "Amélie, une jeune serveuse parisienne, décide de changer la vie des gens autour d'elle tout en cherchant son propre bonheur.",
196
+ streamingLinks: [
197
+ { provider: "Netflix", url: "https://www.netflix.com/title/60000984" },
198
+ { provider: "Canal+", url: "https://www.canalplus.com/cinema/le-fabuleux-destin-d-amelie-poulain" }
199
+ ]
200
+ },
201
+ {
202
+ id: 3,
203
+ title: "La Haine",
204
+ year: 1995,
205
+ genre: ["drame", "policier"],
206
+ rating: 4.6,
207
+ image: "https://image.tmdb.org/t/p/w500/9m161xap6F6GzK3b7KdDz4Fs3jk.jpg",
208
+ description: "24 heures dans la vie de trois jeunes de banlieue après une nuit d'émeutes provoquée par le passage à tabac d'un jeune par la police.",
209
+ streamingLinks: [
210
+ { provider: "Amazon Prime", url: "https://www.primevideo.com/detail/0P9LQH3KJQZJZ6K5JQ9Z6K5JQ9" },
211
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=290391.html" }
212
+ ]
213
+ },
214
+ {
215
+ id: 4,
216
+ title: "Léon",
217
+ year: 1994,
218
+ genre: ["action", "drame", "policier"],
219
+ rating: 4.6,
220
+ image: "https://image.tmdb.org/t/p/w500/5xJ9qQjQhLmOZ3QYvhzJ0PxJwqW.jpg",
221
+ description: "Un tueur à gages prend sous son aile une jeune fille dont la famille a été massacrée par un agent corrompu de la DEA.",
222
+ streamingLinks: [
223
+ { provider: "Netflix", url: "https://www.netflix.com/title/60000984" },
224
+ { provider: "Apple TV", url: "https://tv.apple.com/fr/movie/leon/umc.cmc.6bwqjz9q9vj6w9j6w9j6w9j6w" }
225
+ ]
226
+ },
227
+ {
228
+ id: 5,
229
+ title: "Le Dîner de Cons",
230
+ year: 1998,
231
+ genre: ["comedie"],
232
+ rating: 4.4,
233
+ image: "https://image.tmdb.org/t/p/w500/9Xw0I7XQbZyYbQJYVkz8Q9b3jJm.jpg",
234
+ description: "Chaque mercredi, Pierre et ses amis organisent un dîner de cons. Le but: chacun amène un idiot et celui qui a amené le plus idiot a gagné.",
235
+ streamingLinks: [
236
+ { provider: "Amazon Prime", url: "https://www.primevideo.com/detail/0P9LQH3KJQZJZ6K5JQ9Z6K5JQ9" },
237
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=22947.html" }
238
+ ]
239
+ },
240
+ {
241
+ id: 6,
242
+ title: "Bienvenue chez les Ch'tis",
243
+ year: 2008,
244
+ genre: ["comedie"],
245
+ rating: 4.2,
246
+ image: "https://image.tmdb.org/t/p/w500/9m161xap6F6GzK3b7KdDz4Fs3jk.jpg",
247
+ description: "Un employé des postes provençal est muté dans le Nord. Il découvre avec appréhension une région dont les habitants sont caricaturés.",
248
+ streamingLinks: [
249
+ { provider: "Netflix", url: "https://www.netflix.com/title/70099104" },
250
+ { provider: "Canal+", url: "https://www.canalplus.com/cinema/bienvenue-chez-les-chtis" }
251
+ ]
252
+ },
253
+ {
254
+ id: 7,
255
+ title: "Le Prénom",
256
+ year: 2012,
257
+ genre: ["comedie"],
258
+ rating: 4.3,
259
+ image: "https://image.tmdb.org/t/p/w500/5xJ9qQjQhLmOZ3QYvhzJ0PxJwqW.jpg",
260
+ description: "Vincent annonce à ses amis qu'il va appeler son futur fils Adolphe. La soirée dégénère en une joute verbale hilarante et cinglante.",
261
+ streamingLinks: [
262
+ { provider: "Amazon Prime", url: "https://www.primevideo.com/detail/0P9LQH3KJQZJZ6K5JQ9Z6K5JQ9" },
263
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=274309.html" }
264
+ ]
265
+ },
266
+ {
267
+ id: 8,
268
+ title: "Les Misérables",
269
+ year: 2019,
270
+ genre: ["drame", "policier"],
271
+ rating: 4.1,
272
+ image: "https://image.tmdb.org/t/p/w500/9w20lKqQkRLKSe9Q3HpAwbCwQk5.jpg",
273
+ description: "Un policier se retrouve pris dans une spirale de violence après avoir été filmé en train de commettre un acte répréhensible.",
274
+ streamingLinks: [
275
+ { provider: "Netflix", url: "https://www.netflix.com/title/81076856" },
276
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=287320.html" }
277
+ ]
278
+ },
279
+ {
280
+ id: 9,
281
+ title: "Titane",
282
+ year: 2021,
283
+ genre: ["drame", "horreur"],
284
+ rating: 4.0,
285
+ image: "https://image.tmdb.org/t/p/w500/9m161xap6F6GzK3b7KdDz4Fs3jk.jpg",
286
+ description: "Après une série de crimes inexpliqués, un père retrouve son fils disparu depuis 10 ans. Mais est-ce vraiment lui?",
287
+ streamingLinks: [
288
+ { provider: "Amazon Prime", url: "https://www.primevideo.com/detail/0P9LQH3KJQZJZ6K5JQ9Z6K5JQ9" },
289
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=270478.html" }
290
+ ]
291
+ },
292
+ {
293
+ id: 10,
294
+ title: "Annette",
295
+ year: 2021,
296
+ genre: ["drame", "musical"],
297
+ rating: 3.9,
298
+ image: "https://image.tmdb.org/t/p/w500/5xJ9qQjQhLmOZ3QYvhzJ0PxJwqW.jpg",
299
+ description: "L'histoire d'amour passionnée entre un comédien provocateur et une chanteuse d'opéra de renommée mondiale.",
300
+ streamingLinks: [
301
+ { provider: "Amazon Prime", url: "https://www.primevideo.com/detail/0P9LQH3KJQZJZ6K5JQ9Z6K5JQ9" },
302
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=270478.html" }
303
+ ]
304
+ },
305
+ {
306
+ id: 11,
307
+ title: "Eiffel",
308
+ year: 2021,
309
+ genre: ["drame", "historique", "romance"],
310
+ rating: 3.8,
311
+ image: "https://image.tmdb.org/t/p/w500/9Xw0I7XQbZyYbQJYVkz8Q9b3jJm.jpg",
312
+ description: "L'histoire d'amour qui a inspiré Gustave Eiffel à construire la tour qui porte son nom.",
313
+ streamingLinks: [
314
+ { provider: "Netflix", url: "https://www.netflix.com/title/81437013" },
315
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=270478.html" }
316
+ ]
317
+ },
318
+ {
319
+ id: 12,
320
+ title: "BAC Nord",
321
+ year: 2020,
322
+ genre: ["action", "policier", "drame"],
323
+ rating: 3.7,
324
+ image: "https://image.tmdb.org/t/p/w500/9m161xap6F6GzK3b7KdDz4Fs3jk.jpg",
325
+ description: "Inspiré de faits réels, le film suit une brigade anti-criminalité dans les quartiers nord de Marseille.",
326
+ streamingLinks: [
327
+ { provider: "Amazon Prime", url: "https://www.primevideo.com/detail/0P9LQH3KJQZJZ6K5JQ9Z6K5JQ9" },
328
+ { provider: "Allociné", url: "https://www.allocine.fr/film/fichefilm_gen_cfilm=270478.html" }
329
+ ]
330
+ }
331
+ ];
332
+
333
+ // Charger la base de données au démarrage
334
+ document.addEventListener('DOMContentLoaded', function() {
335
+ loadMovies();
336
+ window.addEventListener('load', function() {
337
+ document.body.style.opacity = '1';
338
+ });
339
+ });
340
+
341
+ // Fonction pour charger les films
342
+ function loadMovies(filter = 'all') {
343
+ const moviesContainer = document.getElementById('moviesDatabase');
344
+ moviesContainer.innerHTML = '';
345
+
346
+ let filteredMovies = frenchMoviesDatabase;
347
+
348
+ if (filter !== 'all') {
349
+ filteredMovies = frenchMoviesDatabase.filter(movie =>
350
+ movie.genre.includes(filter)
351
+ );
352
+ }
353
+
354
+ filteredMovies.forEach(movie => {
355
+ const movieCard = document.createElement('div');
356
+ movieCard.className = 'movie-card bg-gray-800 rounded-lg overflow-hidden shadow-lg cursor-pointer transition-all duration-300';
357
+ movieCard.innerHTML = `
358
+ <div class="relative">
359
+ <img src="${movie.image}" alt="${movie.title}" class="w-full h-64 object-cover">
360
+ <div class="absolute top-2 right-2 bg-gray-900 bg-opacity-80 px-2 py-1 rounded">
361
+ <span class="text-yellow-400 font-semibold">${movie.rating.toFixed(1)}</span>
362
+ </div>
363
+ </div>
364
+ <div class="p-4">
365
+ <h3 class="font-semibold text-lg">${movie.title} (${movie.year})</h3>
366
+ <div class="flex flex-wrap gap-1 mt-2">
367
+ ${movie.genre.map(g => `<span class="text-xs bg-gray-700 px-2 py-1 rounded">${g}</span>`).join('')}
368
+ </div>
369
+ <p class="text-gray-400 text-sm mt-2 line-clamp-2">${movie.description}</p>
370
+ <div class="mt-4">
371
+ <button onclick="showStreamingLinks(${movie.id})" class="streaming-btn w-full text-white px-4 py-2 rounded-lg font-semibold">
372
+ <i class="fas fa-play mr-2"></i> Voir les options
373
+ </button>
374
+ </div>
375
+ </div>
376
+ `;
377
+ moviesContainer.appendChild(movieCard);
378
+ });
379
+ }
380
+
381
+ // Fonction pour filtrer les films
382
+ function filterMovies(genre) {
383
+ loadMovies(genre);
384
+
385
+ // Mettre à jour les boutons actifs
386
+ document.querySelectorAll('#films button').forEach(btn => {
387
+ if (btn.textContent.toLowerCase().includes(genre) || (genre === 'all' && btn.textContent === 'Tous')) {
388
+ btn.classList.remove('bg-gray-700');
389
+ btn.classList.add('bg-blue-600');
390
+ } else {
391
+ btn.classList.remove('bg-blue-600');
392
+ btn.classList.add('bg-gray-700');
393
+ }
394
+ });
395
+ }
396
+
397
+ // Fonction pour afficher les liens de streaming
398
+ function showStreamingLinks(movieId) {
399
+ const movie = frenchMoviesDatabase.find(m => m.id === movieId);
400
+ if (!movie) return;
401
+
402
+ // Créer une modal avec les liens
403
+ const modal = document.createElement('div');
404
+ modal.className = 'fixed inset-0 bg-black bg-opacity-80 flex items-center justify-center z-50 p-4';
405
+ modal.innerHTML = `
406
+ <div class="bg-gray-800 rounded-lg max-w-2xl w-full p-6 relative">
407
+ <button onclick="this.parentElement.parentElement.remove()" class="absolute top-4 right-4 text-gray-400 hover:text-white">
408
+ <i class="fas fa-times text-xl"></i>
409
+ </button>
410
+ <h3 class="text-xl font-bold mb-4">${movie.title} - Options de streaming</h3>
411
+ <div class="space-y-3">
412
+ ${movie.streamingLinks.map(link => `
413
+ <a href="${link.url}" target="_blank" class="block bg-gray-700 hover:bg-gray-600 p-4 rounded-lg flex items-center justify-between">
414
+ <span>Regarder sur ${link.provider}</span>
415
+ <i class="fas fa-external-link-alt"></i>
416
+ </a>
417
+ `).join('')}
418
+ </div>
419
+ <div class="mt-6 text-center">
420
+ <button onclick="this.parentElement.parentElement.remove()" class="px-4 py-2 bg-gray-700 hover:bg-gray-600 rounded-lg">
421
+ Fermer
422
+ </button>
423
+ </div>
424
+ </div>
425
+ `;
426
+
427
+ document.body.appendChild(modal);
428
+ }
429
+
430
+ // Fonction de recherche automatisée
431
+ function searchMovies() {
432
+ const searchTerm = document.getElementById('movieSearch').value || document.getElementById('globalSearch').value;
433
+ if (!searchTerm.trim()) return;
434
+
435
+ const resultsContainer = document.getElementById('searchResults');
436
+ const loadingIndicator = document.getElementById('loadingIndicator');
437
+
438
+ resultsContainer.innerHTML = '';
439
+ resultsContainer.classList.add('hidden');
440
+ loadingIndicator.classList.remove('hidden');
441
+
442
+ // Simuler un délai de recherche
443
+ setTimeout(() => {
444
+ const filteredMovies = frenchMoviesDatabase.filter(movie =>
445
+ movie.title.toLowerCase().includes(searchTerm.toLowerCase())
446
+ );
447
+
448
+ loadingIndicator.classList.add('hidden');
449
+
450
+ if (filteredMovies.length === 0) {
451
+ resultsContainer.innerHTML = `
452
+ <div class="col-span-full text-center py-8">
453
+ <i class="fas fa-film text-4xl text-gray-500 mb-4"></i>
454
+ <p class="text-xl">Aucun film trouvé pour "${searchTerm}"</p>
455
+ <p class="text-gray-400 mt-2">Essayez avec un autre titre</p>
456
+ </div>
457
+ `;
458
+ } else {
459
+ filteredMovies.forEach(movie => {
460
+ const resultCard = document.createElement('div');
461
+ resultCard.className = 'bg-gray-800 rounded-lg overflow-hidden shadow-lg';
462
+ resultCard.innerHTML = `
463
+ <div class="flex">
464
+ <img src="${movie.image}" alt="${movie.title}" class="w-24 h-32 object-cover">
465
+ <div class="p-4 flex-grow">
466
+ <h3 class="font-semibold">${movie.title} (${movie.year})</h3>
467
+ <div class="flex items-center mt-1">
468
+ <i class="fas fa-star text-yellow-400 mr-1"></i>
469
+ <span>${movie.rating.toFixed(1)}</span>
470
+ </div>
471
+ <div class="mt-2">
472
+ <button onclick="showStreamingLinks(${movie.id})" class="streaming-btn text-white px-3 py-1 rounded text-sm">
473
+ <i class="fas fa-play mr-1"></i> Regarder
474
+ </button>
475
+ </div>
476
+ </div>
477
+ </div>
478
+ `;
479
+ resultsContainer.appendChild(resultCard);
480
+ });
481
+ }
482
+
483
+ resultsContainer.classList.remove('hidden');
484
+ }, 1000);
485
+ }
486
+
487
+ // Permettre la recherche avec la touche Entrée
488
+ document.getElementById('movieSearch').addEventListener('keypress', function(e) {
489
+ if (e.key === 'Enter') searchMovies();
490
+ });
491
+
492
+ document.getElementById('globalSearch').addEventListener('keypress', function(e) {
493
+ if (e.key === 'Enter') searchMovies();
494
+ });
495
+ </script>
496
+
497
+ <!-- Footer -->
498
+ <footer class="bg-gray-900 py-12 px-6 border-t border-gray-800">
499
+ <div class="container mx-auto">
500
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
501
+ <div>
502
+ <div class="flex items-center space-x-2 mb-4">
503
+ <i class="fas fa-film text-blue-500 text-2xl"></i>
504
+ <span class="text-xl font-bold bg-gradient-to-r from-blue-500 to-purple-600 bg-clip-text text-transparent">StreamVista FR</span>
505
+ </div>
506
+ <p class="text-gray-400">La meilleure plateforme pour regarder des films français en streaming.</p>
507
+ <div class="flex space-x-4 mt-4">
508
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-facebook-f"></i></a>
509
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-twitter"></i></a>
510
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-instagram"></i></a>
511
+ <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-youtube"></i></a>
512
+ </div>
513
+ </div>
514
+
515
+ <div>
516
+ <h3 class="text-white font-semibold mb-4">Navigation</h3>
517
+ <ul class="space-y-2">
518
+ <li><a href="#" class="text-gray-400 hover:text-white">Accueil</a></li>
519
+ <li><a href="#films" class="text-gray-400 hover:text-white">Films Complets</a></li>
520
+ <li><a href="#nouveautes" class="text-gray-400 hover:text-white">Nouveautés</a></li>
521
+ <li><a href="#classiques" class="text-gray-400 hover:text-white">Classiques</a></li>
522
+ <li><a href="#recherche" class="text-gray-400 hover:text-white">Recherche</a></li>
523
+ </ul>
524
+ </div>
525
+
526
+ <div>
527
+ <h3 class="text-white font-semibold mb-4">Informations</h3>
528
+ <ul class="space-y-2">
529
+ <li><a href="#" class="text-gray-400 hover:text-white">À propos</a></li>
530
+ <li><a href="#" class="text-gray-400 hover:text-white">Contact</a></li>
531
+ <li><a href="#" class="text-gray-400 hover:text-white">Politique de confidentialité</a></li>
532
+ <li><a href="#" class="text-gray-400 hover:text-white">Conditions d'utilisation</a></li>
533
+ </ul>
534
+ </div>
535
+
536
+ <div>
537
+ <h3 class="text-white font-semibold mb-4">Newsletter</h3>
538
+ <p class="text-gray-400 mb-4">Abonnez-vous pour recevoir les dernières nouveautés.</p>
539
+ <div class="flex">
540
+ <input type="email" placeholder="Votre email" class="bg-gray-800 text-white px-4 py-2 rounded-l focus:outline-none w-full">
541
+ <button class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-r">
542
+ <i class="fas fa-paper-plane"></i>
543
+ </button>
544
+ </div>
545
+ </div>
546
+ </div>
547
+
548
+ <div class="border-t border-gray-800 mt-12 pt-8 text-center text-gray-400">
549
+ <p>© 2023 StreamVista FR. Tous droits réservés.</p>
550
+ </div>
551
+ </div>
552
+ </footer>
553
+ <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/streamvistafr" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
554
+ </html>
prompts.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ https://huggingface.co/spaces/docto41/streamvista : avec les liens url des films en francais
2
+ AJOUT2 UNE BASE DE DONN2ES DES FILM COMPLET A REGARDER EN FRANCAIS ? ET UNE BASE DE DONN2ES DES LIENS DES URL DES FILM COMPLET EN ROBOTIS2 EN AUTOMATIQUE