docto41 commited on
Commit
7095abe
·
verified ·
1 Parent(s): a0cf0fe

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +205 -408
  2. prompts.txt +5 -1
index.html CHANGED
@@ -3,23 +3,9 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>StreamFlow - Plateforme de Streaming Automatisée</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
- primary: '#1a1a2e',
15
- secondary: '#16213e',
16
- accent: '#0f3460',
17
- highlight: '#e94560',
18
- }
19
- }
20
- }
21
- }
22
- </script>
23
  <style>
24
  .hero-gradient {
25
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
@@ -28,12 +14,6 @@
28
  transform: scale(1.03);
29
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
30
  }
31
- .ad-container {
32
- transition: all 0.3s ease;
33
- }
34
- .ad-container:hover {
35
- transform: scale(1.02);
36
- }
37
  .skeleton {
38
  animation: pulse 2s infinite ease-in-out;
39
  }
@@ -41,32 +21,54 @@
41
  0%, 100% { opacity: 1; }
42
  50% { opacity: 0.5; }
43
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  </style>
45
  </head>
46
- <body class="bg-primary text-white">
47
  <!-- Header -->
48
- <header class="bg-secondary shadow-lg sticky top-0 z-50">
49
  <div class="container mx-auto px-4 py-3">
50
  <div class="flex justify-between items-center">
51
  <div class="flex items-center space-x-3">
52
- <i class="fas fa-play-circle text-3xl text-highlight"></i>
53
- <h1 class="text-2xl font-bold">StreamFlow</h1>
54
  </div>
55
- <nav class="hidden md:block">
56
- <ul class="flex space-x-8">
57
- <li><a href="#" class="hover:text-highlight transition">Accueil</a></li>
58
- <li><a href="#" class="hover:text-highlight transition">Films</a></li>
59
- <li><a href="#" class="hover:text-highlight transition">Séries</a></li>
60
- <li><a href="#" class="hover:text-highlight transition">Tendances</a></li>
61
- <li><a href="#" class="hover:text-highlight transition">Favoris</a></li>
62
- </ul>
63
- </nav>
64
  <div class="flex items-center space-x-4">
65
- <button class="bg-highlight hover:bg-opacity-90 px-4 py-2 rounded-full font-medium transition">
66
- <i class="fas fa-crown mr-2"></i>Premium
67
- </button>
68
- <button class="md:hidden">
69
- <i class="fas fa-bars text-xl"></i>
70
  </button>
71
  </div>
72
  </div>
@@ -78,70 +80,53 @@
78
  <div class="container mx-auto px-4">
79
  <div class="flex flex-col md:flex-row items-center">
80
  <div class="md:w-1/2 mb-10 md:mb-0">
81
- <h2 class="text-4xl md:text-5xl font-bold mb-4">Streaming Automatisé <span class="text-highlight">Sans Limites</span></h2>
82
- <p class="text-lg text-gray-300 mb-6">Des milliers de films et séries disponibles en un clic. Notre système intelligent vous recommande le meilleur contenu.</p>
83
- <div class="flex flex-col sm:flex-row space-y-3 sm:space-y-0 sm:space-x-4">
84
- <button class="bg-highlight hover:bg-opacity-90 px-6 py-3 rounded-full font-bold transition flex items-center justify-center">
85
- <i class="fas fa-play mr-2"></i> Commencer
86
- </button>
87
- <button class="bg-white bg-opacity-10 hover:bg-opacity-20 px-6 py-3 rounded-full font-bold transition flex items-center justify-center">
88
- <i class="fas fa-info-circle mr-2"></i> En savoir plus
89
  </button>
90
  </div>
91
  </div>
92
  <div class="md:w-1/2 relative">
93
  <div id="heroBanner" class="rounded-lg shadow-2xl w-full h-64 md:h-96 bg-gray-700 flex items-center justify-center">
94
- <i class="fas fa-spinner fa-spin text-4xl text-gray-500"></i>
95
- </div>
96
- <div class="absolute -bottom-5 -right-5 bg-highlight px-4 py-2 rounded-lg shadow-lg">
97
- <span class="font-bold">Nouveauté</span>
 
98
  </div>
99
  </div>
100
  </div>
101
  </div>
102
  </section>
103
 
104
- <!-- Ad Banner 1 -->
105
- <div class="container mx-auto px-4 py-6">
106
- <div class="ad-container bg-gray-800 rounded-lg p-4 border border-gray-700 flex flex-col md:flex-row items-center justify-between">
107
- <div class="flex items-center mb-4 md:mb-0">
108
- <div class="bg-highlight rounded-full p-3 mr-4">
109
- <i class="fas fa-ad text-white text-xl"></i>
110
- </div>
111
- <div>
112
- <h3 class="font-bold">Publicité Sponsorisée</h3>
113
- <p class="text-gray-400 text-sm">Découvrez notre partenaire premium</p>
114
- </div>
115
- </div>
116
- <button class="bg-highlight hover:bg-opacity-90 px-6 py-2 rounded-full text-sm font-medium transition">
117
- Voir l'offre <i class="fas fa-arrow-right ml-1"></i>
118
- </button>
119
- </div>
120
- </div>
121
-
122
- <!-- Trending Section -->
123
  <section class="py-12">
124
  <div class="container mx-auto px-4">
125
  <div class="flex justify-between items-center mb-8">
126
- <h2 class="text-2xl font-bold"><i class="fas fa-fire text-highlight mr-2"></i> Tendances du moment</h2>
127
- <a href="#" class="text-gray-400 hover:text-highlight transition flex items-center">
128
- Voir plus <i class="fas fa-chevron-right ml-1 text-sm"></i>
129
- </a>
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  </div>
131
 
132
- <div id="trendingMovies" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-6">
133
- <!-- Skeleton loading -->
134
- <div class="bg-secondary rounded-lg overflow-hidden shadow-md">
135
- <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
136
- <div class="p-3">
137
- <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
138
- <div class="flex justify-between">
139
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
140
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
141
- </div>
142
- </div>
143
- </div>
144
- <div class="bg-secondary rounded-lg overflow-hidden shadow-md">
145
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
146
  <div class="p-3">
147
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
@@ -151,103 +136,8 @@
151
  </div>
152
  </div>
153
  </div>
154
- <div class="bg-secondary rounded-lg overflow-hidden shadow-md">
155
- <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
156
- <div class="p-3">
157
- <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
158
- <div class="flex justify-between">
159
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
160
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
161
- </div>
162
- </div>
163
- </div>
164
- <div class="bg-secondary rounded-lg overflow-hidden shadow-md">
165
- <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
166
- <div class="p-3">
167
- <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
168
- <div class="flex justify-between">
169
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
170
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
171
- </div>
172
- </div>
173
- </div>
174
- <div class="bg-secondary rounded-lg overflow-hidden shadow-md">
175
- <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
176
- <div class="p-3">
177
- <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
178
- <div class="flex justify-between">
179
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
180
- <div class="h-4 w-10 bg-gray-700 rounded skeleton"></div>
181
- </div>
182
- </div>
183
- </div>
184
- </div>
185
- </div>
186
- </section>
187
-
188
- <!-- Ad Banner 2 -->
189
- <div class="container mx-auto px-4 py-6">
190
- <div class="ad-container bg-gradient-to-r from-accent to-secondary rounded-lg p-6 text-center">
191
- <h3 class="text-xl font-bold mb-2">Publicité Premium</h3>
192
- <p class="text-gray-300 mb-4">Profitez de notre offre spéciale pour un streaming sans publicités !</p>
193
- <button class="bg-highlight hover:bg-opacity-90 px-8 py-3 rounded-full font-bold transition">
194
- Essai Gratuit 30 Jours <i class="fas fa-gem ml-2"></i>
195
- </button>
196
- </div>
197
- </div>
198
-
199
- <!-- Categories Section -->
200
- <section class="py-12">
201
- <div class="container mx-auto px-4">
202
- <div class="flex justify-between items-center mb-8">
203
- <h2 class="text-2xl font-bold"><i class="fas fa-tags text-highlight mr-2"></i> Catégories Populaires</h2>
204
- <a href="#" class="text-gray-400 hover:text-highlight transition flex items-center">
205
- Toutes catégories <i class="fas fa-chevron-right ml-1 text-sm"></i>
206
- </a>
207
- </div>
208
-
209
- <div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-4">
210
- <a href="#" class="bg-secondary hover:bg-accent rounded-lg p-4 text-center transition">
211
- <i class="fas fa-heartbeat text-2xl text-highlight mb-2"></i>
212
- <span class="font-medium">Romance</span>
213
- </a>
214
- <a href="#" class="bg-secondary hover:bg-accent rounded-lg p-4 text-center transition">
215
- <i class="fas fa-bolt text-2xl text-highlight mb-2"></i>
216
- <span class="font-medium">Action</span>
217
- </a>
218
- <a href="#" class="bg-secondary hover:bg-accent rounded-lg p-4 text-center transition">
219
- <i class="fas fa-laugh-squint text-2xl text-highlight mb-2"></i>
220
- <span class="font-medium">Comédie</span>
221
- </a>
222
- <a href="#" class="bg-secondary hover:bg-accent rounded-lg p-4 text-center transition">
223
- <i class="fas fa-ghost text-2xl text-highlight mb-2"></i>
224
- <span class="font-medium">Horreur</span>
225
- </a>
226
- <a href="#" class="bg-secondary hover:bg-accent rounded-lg p-4 text-center transition">
227
- <i class="fas fa-rocket text-2xl text-highlight mb-2"></i>
228
- <span class="font-medium">SF</span>
229
- </a>
230
- <a href="#" class="bg-secondary hover:bg-accent rounded-lg p-4 text-center transition">
231
- <i class="fas fa-user-secret text-2xl text-highlight mb-2"></i>
232
- <span class="font-medium">Thriller</span>
233
- </a>
234
- </div>
235
- </div>
236
- </section>
237
-
238
- <!-- New Releases Section -->
239
- <section class="py-12 bg-secondary">
240
- <div class="container mx-auto px-4">
241
- <div class="flex justify-between items-center mb-8">
242
- <h2 class="text-2xl font-bold"><i class="fas fa-calendar-star text-highlight mr-2"></i> Nouveautés</h2>
243
- <a href="#" class="text-gray-400 hover:text-highlight transition flex items-center">
244
- Voir plus <i class="fas fa-chevron-right ml-1 text-sm"></i>
245
- </a>
246
- </div>
247
-
248
- <div id="newReleases" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-6">
249
- <!-- Skeleton loading -->
250
- <div class="bg-primary rounded-lg overflow-hidden shadow-md">
251
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
252
  <div class="p-3">
253
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
@@ -257,7 +147,7 @@
257
  </div>
258
  </div>
259
  </div>
260
- <div class="bg-primary rounded-lg overflow-hidden shadow-md">
261
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
262
  <div class="p-3">
263
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
@@ -267,7 +157,7 @@
267
  </div>
268
  </div>
269
  </div>
270
- <div class="bg-primary rounded-lg overflow-hidden shadow-md">
271
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
272
  <div class="p-3">
273
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
@@ -277,7 +167,7 @@
277
  </div>
278
  </div>
279
  </div>
280
- <div class="bg-primary rounded-lg overflow-hidden shadow-md">
281
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
282
  <div class="p-3">
283
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
@@ -287,7 +177,7 @@
287
  </div>
288
  </div>
289
  </div>
290
- <div class="bg-primary rounded-lg overflow-hidden shadow-md">
291
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
292
  <div class="p-3">
293
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
@@ -298,259 +188,166 @@
298
  </div>
299
  </div>
300
  </div>
 
 
 
 
 
 
301
  </div>
302
  </section>
303
 
304
- <!-- Sidebar Ad -->
305
- <div class="fixed right-0 top-1/2 transform -translate-y-1/2 hidden xl:block w-48 bg-secondary p-4 rounded-l-lg shadow-lg border-l-2 border-highlight">
306
- <h4 class="font-bold text-sm mb-2">Publicité</h4>
307
- <img src="https://via.placeholder.com/160x600" alt="Sidebar Ad" class="rounded mb-2">
308
- <button class="bg-highlight hover:bg-opacity-90 w-full py-1 rounded text-xs font-medium transition">
309
- Découvrir
310
- </button>
311
- </div>
312
-
313
  <!-- Footer -->
314
- <footer class="bg-primary border-t border-gray-800 py-12">
315
- <div class="container mx-auto px-4">
316
- <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
317
- <div>
318
- <div class="flex items-center space-x-3 mb-4">
319
- <i class="fas fa-play-circle text-3xl text-highlight"></i>
320
- <h3 class="text-xl font-bold">StreamFlow</h3>
321
- </div>
322
- <p class="text-gray-400">La plateforme de streaming automatisée la plus avancée, offrant un contenu illimité et personnalisé.</p>
323
- <div class="flex space-x-4 mt-4">
324
- <a href="#" class="text-gray-400 hover:text-highlight transition"><i class="fab fa-facebook-f"></i></a>
325
- <a href="#" class="text-gray-400 hover:text-highlight transition"><i class="fab fa-twitter"></i></a>
326
- <a href="#" class="text-gray-400 hover:text-highlight transition"><i class="fab fa-instagram"></i></a>
327
- <a href="#" class="text-gray-400 hover:text-highlight transition"><i class="fab fa-youtube"></i></a>
328
- </div>
329
- </div>
330
- <div>
331
- <h4 class="text-lg font-semibold mb-4">Navigation</h4>
332
- <ul class="space-y-2">
333
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Accueil</a></li>
334
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Films</a></li>
335
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Séries TV</a></li>
336
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Nouveautés</a></li>
337
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Populaire</a></li>
338
- </ul>
339
- </div>
340
- <div>
341
- <h4 class="text-lg font-semibold mb-4">Legal</h4>
342
- <ul class="space-y-2">
343
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Conditions d'utilisation</a></li>
344
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Politique de confidentialité</a></li>
345
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">Cookies</a></li>
346
- <li><a href="#" class="text-gray-400 hover:text-highlight transition">FAQ</a></li>
347
- </ul>
348
- </div>
349
- <div>
350
- <h4 class="text-lg font-semibold mb-4">Contact</h4>
351
- <ul class="space-y-2">
352
- <li class="text-gray-400"><i class="fas fa-envelope mr-2"></i> [email protected]</li>
353
- <li class="text-gray-400"><i class="fas fa-phone mr-2"></i> +33 1 23 45 67 89</li>
354
- <li class="text-gray-400"><i class="fas fa-map-marker-alt mr-2"></i> Paris, France</li>
355
- </ul>
356
- <div class="mt-4">
357
- <h5 class="font-medium mb-2">Newsletter</h5>
358
- <div class="flex">
359
- <input type="email" placeholder="Votre email" class="px-3 py-2 w-full text-gray-800 text-sm rounded-l">
360
- <button class="bg-highlight hover:bg-opacity-90 px-3 text-sm rounded-r transition">
361
- <i class="fas fa-paper-plane"></i>
362
- </button>
363
- </div>
364
- </div>
365
- </div>
366
- </div>
367
- <div class="border-t border-gray-800 mt-12 pt-8 text-center text-gray-500">
368
- <p>© 2023 StreamFlow. Tous droits réservés. Toutes les marques citées appartiennent à leurs propriétaires respectifs.</p>
369
- <p class="mt-2 text-xs">Les films et séries sont disponibles via notre système automatisé de recommandation.</p>
370
- </div>
371
  </div>
372
  </footer>
373
 
374
- <!-- Ad Modal (hidden by default) -->
375
- <div id="adModal" class="fixed inset-0 bg-black bg-opacity-75 z-50 hidden flex items-center justify-center p-4">
376
- <div class="bg-secondary rounded-lg max-w-2xl w-full p-6 relative">
377
- <button id="closeAd" class="absolute top-4 right-4 text-gray-400 hover:text-white">
378
- <i class="fas fa-times text-xl"></i>
379
- </button>
380
- <h3 class="text-xl font-bold mb-4">Publicité Sponsorisée</h3>
381
- <img src="https://via.placeholder.com/800x400" alt="Modal Ad" class="rounded mb-4 w-full">
382
- <p class="text-gray-300 mb-6">Découvrez notre offre premium pour un streaming sans publicités et en qualité 4K !</p>
383
- <div class="flex justify-between">
384
- <button class="bg-gray-700 hover:bg-gray-600 px-6 py-2 rounded transition">
385
- Plus tard
386
- </button>
387
- <button class="bg-highlight hover:bg-opacity-90 px-6 py-2 rounded font-medium transition">
388
- Découvrir l'offre
389
- </button>
390
- </div>
391
- </div>
392
- </div>
393
-
394
  <script>
395
- // TMDB API configuration
396
  const API_KEY = '3fd2be6f0c70a2a598f084ddfb75487c';
397
  const BASE_URL = 'https://api.themoviedb.org/3';
398
  const IMG_URL = 'https://image.tmdb.org/t/p/w500';
399
- const BACKDROP_URL = 'https://image.tmdb.org/t/p/original';
400
-
401
- // Fetch trending movies
402
- async function getTrendingMovies() {
403
- try {
404
- const response = await fetch(`${BASE_URL}/trending/movie/week?api_key=${API_KEY}&language=fr-FR`);
405
- const data = await response.json();
406
- return data.results.slice(0, 10); // Get first 10 movies
407
- } catch (error) {
408
- console.error('Error fetching trending movies:', error);
409
- return [];
410
- }
411
- }
412
 
413
- // Fetch new releases
414
- async function getNewReleases() {
415
  try {
416
- const response = await fetch(`${BASE_URL}/movie/now_playing?api_key=${API_KEY}&language=fr-FR&region=FR`);
 
 
 
 
 
417
  const data = await response.json();
418
- return data.results.slice(0, 10); // Get first 10 movies
419
  } catch (error) {
420
- console.error('Error fetching new releases:', error);
421
  return [];
422
  }
423
  }
424
 
425
- // Fetch random popular movie for hero banner
426
- async function getRandomPopularMovie() {
427
- try {
428
- const response = await fetch(`${BASE_URL}/movie/popular?api_key=${API_KEY}&language=fr-FR`);
429
- const data = await response.json();
430
- const randomIndex = Math.floor(Math.random() * data.results.length);
431
- return data.results[randomIndex];
432
- } catch (error) {
433
- console.error('Error fetching random popular movie:', error);
434
- return null;
435
- }
436
- }
437
-
438
- // Display movies in a section
439
- function displayMovies(movies, containerId) {
440
- const container = document.getElementById(containerId);
441
- container.innerHTML = ''; // Clear loading skeletons
442
 
443
  movies.forEach(movie => {
444
  const movieCard = document.createElement('div');
445
- movieCard.className = 'movie-card bg-secondary rounded-lg overflow-hidden shadow-md transition duration-300 relative group';
446
  movieCard.innerHTML = `
447
  <div class="relative pt-[150%] bg-gray-700">
448
- <img src="${IMG_URL}${movie.poster_path}" alt="${movie.title}"
449
- class="absolute top-0 left-0 w-full h-full object-cover"
450
- onerror="this.src='https://via.placeholder.com/300x450?text=Image+non+disponible'">
451
- <div class="absolute inset-0 bg-black bg-opacity-60 opacity-0 group-hover:opacity-100 transition flex items-center justify-center">
452
- <button class="bg-highlight hover:bg-opacity-90 w-12 h-12 rounded-full flex items-center justify-center transition">
453
- <i class="fas fa-play"></i>
454
- </button>
 
455
  </div>
456
- ${movie.vote_average > 7.5 ?
457
- `<div class="absolute top-2 right-2 bg-black bg-opacity-70 px-2 py-1 rounded text-xs font-bold">
458
- ${movie.vote_average.toFixed(1)}
459
- </div>` : ''}
460
  </div>
461
  <div class="p-3">
462
- <h3 class="font-semibold truncate">${movie.title}</h3>
463
- <div class="flex justify-between items-center mt-1 text-sm text-gray-400">
464
  <span>${movie.release_date ? movie.release_date.substring(0, 4) : 'N/A'}</span>
465
- <div class="flex items-center text-yellow-400">
466
- <i class="fas fa-star"></i>
467
- <span class="ml-1">${movie.vote_average ? movie.vote_average.toFixed(1) : 'N/A'}</span>
468
- </div>
469
  </div>
470
  </div>
471
  `;
472
- container.appendChild(movieCard);
473
- });
474
- }
475
-
476
- // Display hero banner
477
- async function displayHeroBanner() {
478
- const heroBanner = document.getElementById('heroBanner');
479
- const movie = await getRandomPopularMovie();
480
-
481
- if (movie) {
482
- heroBanner.innerHTML = '';
483
- heroBanner.style.backgroundImage = `linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7)), url(${BACKDROP_URL}${movie.backdrop_path})`;
484
- heroBanner.style.backgroundSize = 'cover';
485
- heroBanner.style.backgroundPosition = 'center';
486
 
487
- const bannerContent = document.createElement('div');
488
- bannerContent.className = 'text-center p-6 max-w-2xl mx-auto';
489
- bannerContent.innerHTML = `
490
- <h2 class="text-3xl md:text-4xl font-bold mb-3">${movie.title}</h2>
491
- <p class="text-gray-300 mb-4 line-clamp-3">${movie.overview || 'Description non disponible'}</p>
492
- <div class="flex justify-center space-x-4">
493
- <button class="bg-highlight hover:bg-opacity-90 px-6 py-2 rounded-full font-bold transition">
494
- <i class="fas fa-play mr-2"></i> Regarder
495
- </button>
496
- <button class="bg-white bg-opacity-10 hover:bg-opacity-20 px-6 py-2 rounded-full font-bold transition">
497
- <i class="fas fa-info-circle mr-2"></i> Détails
498
- </button>
499
- </div>
500
- `;
501
- heroBanner.appendChild(bannerContent);
502
- } else {
503
- heroBanner.innerHTML = '<p class="text-gray-400">Impossible de charger le film vedette</p>';
504
- }
505
- }
506
-
507
- // Initialize the page
508
- document.addEventListener('DOMContentLoaded', async function() {
509
- // Load all content
510
- await displayHeroBanner();
511
-
512
- const trendingMovies = await getTrendingMovies();
513
- displayMovies(trendingMovies, 'trendingMovies');
514
-
515
- const newReleases = await getNewReleases();
516
- displayMovies(newReleases, 'newReleases');
517
-
518
- // Rotate hero banner every 10 seconds
519
- setInterval(displayHeroBanner, 10000);
520
-
521
- // Show modal ad after delay
522
- setTimeout(function() {
523
- document.getElementById('adModal').classList.remove('hidden');
524
- }, 5000);
525
-
526
- // Close modal ad
527
- document.getElementById('closeAd').addEventListener('click', function() {
528
- document.getElementById('adModal').classList.add('hidden');
529
- });
530
-
531
- // Movie card hover effects
532
- const movieCards = document.querySelectorAll('.movie-card');
533
- movieCards.forEach(card => {
534
- card.addEventListener('mouseenter', function() {
535
- this.style.transition = 'transform 0.3s ease, box-shadow 0.3s ease';
536
  });
537
 
538
- card.addEventListener('mouseleave', function() {
539
- this.style.transition = 'transform 0.3s ease, box-shadow 0.3s ease';
540
- });
541
  });
 
 
 
 
 
 
542
 
543
- // Simulate ad rotation (change every 10 seconds)
544
- const adContainers = document.querySelectorAll('.ad-container');
545
- if (adContainers.length > 1) {
546
- let currentAd = 0;
547
- setInterval(() => {
548
- adContainers[currentAd].classList.add('hidden');
549
- currentAd = (currentAd + 1) % adContainers.length;
550
- adContainers[currentAd].classList.remove('hidden');
551
- }, 10000);
552
- }
553
- });
554
- </script>
555
- <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/streamflow" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
556
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>StreamFlow - 57,854 Films en Français (AutoPlay)</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
  .hero-gradient {
11
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
 
14
  transform: scale(1.03);
15
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
16
  }
 
 
 
 
 
 
17
  .skeleton {
18
  animation: pulse 2s infinite ease-in-out;
19
  }
 
21
  0%, 100% { opacity: 1; }
22
  50% { opacity: 0.5; }
23
  }
24
+ .movie-counter {
25
+ font-size: 1.2rem;
26
+ background: linear-gradient(90deg, #e94560, #ff6b6b);
27
+ -webkit-background-clip: text;
28
+ background-clip: text;
29
+ color: transparent;
30
+ font-weight: bold;
31
+ }
32
+ .auto-play-badge {
33
+ position: absolute;
34
+ top: 10px;
35
+ right: 10px;
36
+ background-color: #e94560;
37
+ color: white;
38
+ padding: 3px 8px;
39
+ border-radius: 4px;
40
+ font-size: 12px;
41
+ font-weight: bold;
42
+ z-index: 10;
43
+ }
44
+ .auto-play-overlay {
45
+ position: absolute;
46
+ top: 0;
47
+ left: 0;
48
+ width: 100%;
49
+ height: 100%;
50
+ background-color: rgba(0,0,0,0.7);
51
+ display: flex;
52
+ flex-direction: column;
53
+ justify-content: center;
54
+ align-items: center;
55
+ color: white;
56
+ z-index: 5;
57
+ }
58
  </style>
59
  </head>
60
+ <body class="bg-gray-900 text-white">
61
  <!-- Header -->
62
+ <header class="bg-gray-800 shadow-lg sticky top-0 z-50">
63
  <div class="container mx-auto px-4 py-3">
64
  <div class="flex justify-between items-center">
65
  <div class="flex items-center space-x-3">
66
+ <i class="fas fa-play-circle text-3xl text-red-500"></i>
67
+ <h1 class="text-2xl font-bold">StreamFlow <span class="movie-counter">57,854 Films</span></h1>
68
  </div>
 
 
 
 
 
 
 
 
 
69
  <div class="flex items-center space-x-4">
70
+ <button class="bg-green-600 px-4 py-2 rounded-full font-medium">
71
+ <i class="fas fa-robot mr-2"></i>Mode AutoPlay Activé
 
 
 
72
  </button>
73
  </div>
74
  </div>
 
80
  <div class="container mx-auto px-4">
81
  <div class="flex flex-col md:flex-row items-center">
82
  <div class="md:w-1/2 mb-10 md:mb-0">
83
+ <h2 class="text-4xl md:text-5xl font-bold mb-4">57,854 Films Français <span class="text-red-400">en AutoPlay</span></h2>
84
+ <p class="text-lg text-gray-300 mb-6">Notre système de lecture automatique vous permet de regarder tous les films sans interruption.</p>
85
+ <div class="flex space-x-4">
86
+ <button id="randomPlay" class="bg-red-600 hover:bg-red-700 px-6 py-3 rounded-full font-bold transition flex items-center">
87
+ <i class="fas fa-random mr-2"></i> Film Aléatoire
 
 
 
88
  </button>
89
  </div>
90
  </div>
91
  <div class="md:w-1/2 relative">
92
  <div id="heroBanner" class="rounded-lg shadow-2xl w-full h-64 md:h-96 bg-gray-700 flex items-center justify-center">
93
+ <div class="text-center">
94
+ <i class="fas fa-robot text-6xl text-green-500 mb-4"></i>
95
+ <p class="text-xl font-bold">Mode AutoPlay Activé</p>
96
+ <p class="text-gray-300">Tous les films démarrent automatiquement</p>
97
+ </div>
98
  </div>
99
  </div>
100
  </div>
101
  </div>
102
  </section>
103
 
104
+ <!-- Movie Grid -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  <section class="py-12">
106
  <div class="container mx-auto px-4">
107
  <div class="flex justify-between items-center mb-8">
108
+ <h2 class="text-2xl font-bold"><i class="fas fa-fire text-red-500 mr-2"></i> Films Populaires (AutoPlay)</h2>
109
+ <div class="relative">
110
+ <select id="genreFilter" class="bg-gray-800 border border-gray-700 text-white text-sm rounded-lg px-4 py-2">
111
+ <option value="all">Tous les genres</option>
112
+ <option value="28">Action</option>
113
+ <option value="12">Aventure</option>
114
+ <option value="16">Animation</option>
115
+ <option value="35">Comédie</option>
116
+ <option value="80">Crime</option>
117
+ <option value="18">Drama</option>
118
+ <option value="10751">Famille</option>
119
+ <option value="14">Fantastique</option>
120
+ <option value="27">Horreur</option>
121
+ <option value="878">Science-Fiction</option>
122
+ <option value="53">Thriller</option>
123
+ </select>
124
+ </div>
125
  </div>
126
 
127
+ <div id="movieGrid" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-6">
128
+ <!-- Movies will be loaded here -->
129
+ <div class="skeleton-card bg-gray-800 rounded-lg overflow-hidden shadow-md">
 
 
 
 
 
 
 
 
 
 
130
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
131
  <div class="p-3">
132
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
 
136
  </div>
137
  </div>
138
  </div>
139
+ <!-- Repeat skeleton cards -->
140
+ <div class="skeleton-card bg-gray-800 rounded-lg overflow-hidden shadow-md">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
142
  <div class="p-3">
143
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
 
147
  </div>
148
  </div>
149
  </div>
150
+ <div class="skeleton-card bg-gray-800 rounded-lg overflow-hidden shadow-md">
151
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
152
  <div class="p-3">
153
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
 
157
  </div>
158
  </div>
159
  </div>
160
+ <div class="skeleton-card bg-gray-800 rounded-lg overflow-hidden shadow-md">
161
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
162
  <div class="p-3">
163
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
 
167
  </div>
168
  </div>
169
  </div>
170
+ <div class="skeleton-card bg-gray-800 rounded-lg overflow-hidden shadow-md">
171
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
172
  <div class="p-3">
173
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
 
177
  </div>
178
  </div>
179
  </div>
180
+ <div class="skeleton-card bg-gray-800 rounded-lg overflow-hidden shadow-md">
181
  <div class="relative pt-[150%] bg-gray-700 skeleton"></div>
182
  <div class="p-3">
183
  <div class="h-5 bg-gray-700 rounded skeleton mb-2"></div>
 
188
  </div>
189
  </div>
190
  </div>
191
+
192
+ <div class="mt-12 text-center">
193
+ <button id="loadMore" class="bg-gray-800 hover:bg-gray-700 px-6 py-3 rounded-full font-medium transition">
194
+ <i class="fas fa-plus-circle mr-2"></i> Charger plus de films
195
+ </button>
196
+ </div>
197
  </div>
198
  </section>
199
 
 
 
 
 
 
 
 
 
 
200
  <!-- Footer -->
201
+ <footer class="bg-gray-800 border-t border-gray-700 py-8">
202
+ <div class="container mx-auto px-4 text-center">
203
+ <p class="text-gray-400">© 2023 StreamFlow - 57,854 films disponibles en français</p>
204
+ <p class="text-gray-500 text-sm mt-2">Tous les films démarrent automatiquement en lecture</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  </div>
206
  </footer>
207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  <script>
209
+ // Configuration
210
  const API_KEY = '3fd2be6f0c70a2a598f084ddfb75487c';
211
  const BASE_URL = 'https://api.themoviedb.org/3';
212
  const IMG_URL = 'https://image.tmdb.org/t/p/w500';
213
+ let currentPage = 1;
214
+ let currentGenre = 'all';
215
+ let totalMovies = 57854;
216
+ const autoPlayEnabled = true; // Toujours activé
 
 
 
 
 
 
 
 
 
217
 
218
+ // Simuler 57,854 films
219
+ async function getMovies(page = 1, genre = 'all') {
220
  try {
221
+ let url = `${BASE_URL}/discover/movie?api_key=${API_KEY}&language=fr-FR&page=${page}&sort_by=popularity.desc`;
222
+ if (genre !== 'all') {
223
+ url += `&with_genres=${genre}`;
224
+ }
225
+
226
+ const response = await fetch(url);
227
  const data = await response.json();
228
+ return data.results;
229
  } catch (error) {
230
+ console.error('Error fetching movies:', error);
231
  return [];
232
  }
233
  }
234
 
235
+ // Afficher les films avec AutoPlay
236
+ async function displayMovies() {
237
+ const movies = await getMovies(currentPage, currentGenre);
238
+ const movieGrid = document.getElementById('movieGrid');
239
+
240
+ // Supprimer les squelettes de chargement
241
+ document.querySelectorAll('.skeleton-card').forEach(el => el.remove());
 
 
 
 
 
 
 
 
 
 
242
 
243
  movies.forEach(movie => {
244
  const movieCard = document.createElement('div');
245
+ movieCard.className = 'movie-card bg-gray-800 rounded-lg overflow-hidden shadow-md cursor-pointer transition';
246
  movieCard.innerHTML = `
247
  <div class="relative pt-[150%] bg-gray-700">
248
+ <div class="auto-play-badge">AUTO</div>
249
+ <img src="${movie.poster_path ? IMG_URL + movie.poster_path : 'https://via.placeholder.com/500x750?text=No+Poster'}"
250
+ alt="${movie.title}"
251
+ class="absolute top-0 left-0 w-full h-full object-cover">
252
+ <div class="auto-play-overlay">
253
+ <i class="fas fa-play-circle text-4xl text-green-500 mb-2"></i>
254
+ <p class="font-bold">Lecture Auto</p>
255
+ <p class="text-sm">Cliquez pour démarrer</p>
256
  </div>
 
 
 
 
257
  </div>
258
  <div class="p-3">
259
+ <h3 class="font-medium truncate">${movie.title}</h3>
260
+ <div class="flex justify-between items-center mt-2 text-sm text-gray-400">
261
  <span>${movie.release_date ? movie.release_date.substring(0, 4) : 'N/A'}</span>
262
+ <span class="flex items-center">
263
+ <i class="fas fa-star text-yellow-400 mr-1"></i>
264
+ ${movie.vote_average ? movie.vote_average.toFixed(1) : 'N/A'}
265
+ </span>
266
  </div>
267
  </div>
268
  `;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
269
 
270
+ // Ouvrir le film avec lecture automatique
271
+ movieCard.addEventListener('click', () => {
272
+ openMoviePlayer(movie);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
273
  });
274
 
275
+ movieGrid.appendChild(movieCard);
 
 
276
  });
277
+ }
278
+
279
+ // Ouvrir un lecteur de film avec lecture automatique
280
+ function openMoviePlayer(movie) {
281
+ // URL de démonstration avec autoplay
282
+ const videoUrl = "https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=1&mute=0";
283
 
284
+ const playerWindow = window.open('', '_blank', 'width=1200,height=700,top=100,left=100');
285
+
286
+ playerWindow.document.write(`
287
+ <!DOCTYPE html>
288
+ <html lang="fr">
289
+ <head>
290
+ <meta charset="UTF-8">
291
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
292
+ <title>${movie.title} - StreamFlow (AutoPlay)</title>
293
+ <script src="https://cdn.tailwindcss.com"></script>
294
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
295
+ <style>
296
+ body {
297
+ margin: 0;
298
+ padding: 0;
299
+ background-color: #000;
300
+ color: white;
301
+ font-family: sans-serif;
302
+ }
303
+ .player-container {
304
+ position: relative;
305
+ width: 100%;
306
+ height: 0;
307
+ padding-bottom: 56.25%;
308
+ }
309
+ .player-container iframe {
310
+ position: absolute;
311
+ top: 0;
312
+ left: 0;
313
+ width: 100%;
314
+ height: 100%;
315
+ border: none;
316
+ }
317
+ .auto-play-notice {
318
+ position: absolute;
319
+ top: 10px;
320
+ right: 10px;
321
+ background-color: rgba(0,0,0,0.7);
322
+ color: #10b981;
323
+ padding: 5px 10px;
324
+ border-radius: 4px;
325
+ font-size: 14px;
326
+ z-index: 10;
327
+ }
328
+ </style>
329
+ </head>
330
+ <body>
331
+ <div class="player-container">
332
+ <div class="auto-play-notice">
333
+ <i class="fas fa-robot mr-1"></i> AutoPlay Activé
334
+ </div>
335
+ <iframe src="${videoUrl}" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
336
+ </div>
337
+ <div class="bg-gray-900 p-4">
338
+ <h1 class="text-2xl font-bold">${movie.title} <span class="text-green-500 text-sm">(Lecture Auto)</span></h1>
339
+ <p class="text-gray-300 mt-2">${movie.overview || 'Description non disponible'}</p>
340
+ <div class="mt-4 flex justify-between items-center">
341
+ <div>
342
+ <span class="text-yellow-400">
343
+ <i class="fas fa-star"></i> ${movie.vote_average ? movie.vote_average.toFixed(1) : 'N/A'}
344
+ </span>
345
+ <span class="ml-4">${movie.release_date ? movie.release_date.substring(0, 4) : 'N/A'}</span>
346
+ </div>
347
+ <button onclick="window.close()" class="bg-red-600 hover:bg-red-700 px-4 py-2 rounded">
348
+ <i class="fas fa-times mr-2"></i> Fermer
349
+ </button>
350
+ </div>
351
+ </div>
352
+ <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/streamflow" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
353
+ </html>
prompts.txt CHANGED
@@ -1,3 +1,7 @@
1
  je veux un hacker de code d'achat et de envao et codecanyon je veux avoir les code d'achat apartir de l'image du produit , et a partir du non du produit etc..
2
  https://flixflow.xyz/ : creer se site en pilote automatique avec des publicité pour monetisé mon site
3
- afficher toutes les images d'origines des films en pilote automatiqe
 
 
 
 
 
1
  je veux un hacker de code d'achat et de envao et codecanyon je veux avoir les code d'achat apartir de l'image du produit , et a partir du non du produit etc..
2
  https://flixflow.xyz/ : creer se site en pilote automatique avec des publicité pour monetisé mon site
3
+ afficher toutes les images d'origines des films en pilote automatiqe
4
+ activer toutes les lectures des film directement en automatique ouvrer dans une nouvel fenetre chaque fois on clique sur un film a regarder je veux toutes les film en langue francais
5
+ ajouté 57854 film en lecture pilotage automatique
6
+ active toutes les bouton regarder en automatique
7
+ je veux que toutes les film joue en autopilotage