docto41 commited on
Commit
761711f
·
verified ·
1 Parent(s): f2d9405

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +384 -10
  2. prompts.txt +2 -1
index.html CHANGED
@@ -93,6 +93,26 @@
93
  opacity: 0.5;
94
  cursor: not-allowed;
95
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  </style>
97
  </head>
98
  <body>
@@ -342,6 +362,99 @@
342
  </div>
343
  </section>
344
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  <!-- Script pour la base de données et l'automatisation -->
346
  <script>
347
  // Configuration
@@ -350,6 +463,10 @@
350
  const TOTAL_LINKS = 124556;
351
  let currentPage = 1;
352
  let currentFilter = 'all';
 
 
 
 
353
 
354
  // Générer une base de données massive de films français avec des liens de streaming
355
  function generateMassiveMovieDatabase() {
@@ -423,12 +540,18 @@
423
  const language = languages[Math.floor(Math.random() * languages.length)];
424
  const provider = `${providers[Math.floor(Math.random() * providers.length)]} ${Math.floor(Math.random() * 10) + 1}`;
425
 
 
 
 
 
426
  streamingLinks.push({
427
  provider: provider,
428
- url: `#movie=${i}&server=${server}&link=${j}`,
429
  quality: quality,
430
  server: server,
431
- language: language
 
 
432
  });
433
  }
434
 
@@ -440,7 +563,8 @@
440
  rating: parseFloat(rating),
441
  image: `https://image.tmdb.org/t/p/w500/${Math.random().toString(36).substring(2, 15)}.jpg`,
442
  description: description,
443
- streamingLinks: streamingLinks
 
444
  });
445
  }
446
 
@@ -457,6 +581,9 @@
457
  window.addEventListener('load', function() {
458
  document.body.style.opacity = '1';
459
  });
 
 
 
460
  });
461
 
462
  // Fonction pour charger les films
@@ -505,8 +632,8 @@
505
  </div>
506
  <p class="text-gray-400 text-sm mt-2 line-clamp-2">${movie.description}</p>
507
  <div class="mt-4">
508
- <button onclick="showStreamingLinks(${movie.id})" class="streaming-btn w-full text-white px-4 py-2 rounded-lg font-semibold">
509
- <i class="fas fa-play mr-2"></i> Voir les liens (${movie.streamingLinks.length})
510
  </button>
511
  </div>
512
  </div>
@@ -575,6 +702,253 @@
575
  });
576
  }
577
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578
  // Fonction pour afficher les liens de streaming
579
  function showStreamingLinks(movieId) {
580
  const movie = frenchMoviesDatabase.find(m => m.id === movieId);
@@ -607,9 +981,9 @@
607
  <span><i class="fas fa-server mr-1"></i> ${link.server === 'vip' ? 'VIP' : link.server === 'europe' ? 'Europe' : link.server === 'us' ? 'USA' : link.server === 'asia' ? 'Asie' : 'Premium'}</span>
608
  <span><i class="fas fa-language mr-1"></i> ${link.language === 'vf' ? 'VF' : link.language === 'vostfr' ? 'VOSTFR' : 'VO'}</span>
609
  </div>
610
- <a href="${link.url}" target="_blank" class="block mt-3 streaming-btn text-white px-3 py-2 rounded text-center">
611
- <i class="fas fa-external-link-alt mr-2"></i> Accéder au serveur
612
- </a>
613
  </div>
614
  `).join('')}
615
  </div>
@@ -699,8 +1073,8 @@
699
  <span class="text-sm text-gray-400"><i class="fas fa-link mr-1"></i> ${filteredLinks.length} serveur(s) trouvé(s)</span>
700
  </div>
701
  <div class="mt-3">
702
- <button onclick="showStreamingLinks(${movie.id})" class="streaming-btn text-white px-3 py-1 rounded text-sm w-full">
703
- <i class="fas fa-play mr-1"></i> Voir les options
704
  </button>
705
  </div>
706
  </div>
 
93
  opacity: 0.5;
94
  cursor: not-allowed;
95
  }
96
+
97
+ /* Player styles */
98
+ .player-container {
99
+ aspect-ratio: 16/9;
100
+ background-color: #000;
101
+ }
102
+
103
+ .quality-selector {
104
+ background-color: rgba(0, 0, 0, 0.7);
105
+ border-radius: 4px;
106
+ padding: 8px;
107
+ }
108
+
109
+ .subtitle-btn.active {
110
+ background-color: #3b82f6;
111
+ }
112
+
113
+ .auto-play-overlay {
114
+ background: linear-gradient(180deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
115
+ }
116
  </style>
117
  </head>
118
  <body>
 
362
  </div>
363
  </section>
364
 
365
+ <!-- Player Modal (hidden by default) -->
366
+ <div id="playerModal" class="fixed inset-0 bg-black bg-opacity-90 z-100 hidden flex items-center justify-center p-4">
367
+ <div class="w-full max-w-6xl bg-gray-900 rounded-xl overflow-hidden">
368
+ <div class="flex justify-between items-center bg-gray-800 px-6 py-4">
369
+ <h3 id="playerTitle" class="text-xl font-bold">Lecture automatique</h3>
370
+ <button onclick="closePlayer()" class="text-gray-400 hover:text-white text-2xl">
371
+ <i class="fas fa-times"></i>
372
+ </button>
373
+ </div>
374
+
375
+ <div class="player-container relative w-full" id="videoPlayer">
376
+ <div class="absolute inset-0 flex items-center justify-center">
377
+ <div class="text-center">
378
+ <div class="loading-spinner mx-auto mb-4"></div>
379
+ <p class="text-gray-400">Chargement du meilleur flux disponible...</p>
380
+ </div>
381
+ </div>
382
+
383
+ <div class="auto-play-overlay absolute top-0 left-0 right-0 p-4 flex justify-between items-start">
384
+ <div class="bg-black bg-opacity-70 px-3 py-1 rounded-full text-sm">
385
+ <i class="fas fa-robot mr-2 text-blue-400"></i>
386
+ <span>Mode Automatique Activé</span>
387
+ </div>
388
+ <div class="quality-selector hidden" id="qualitySelector">
389
+ <select class="bg-gray-800 text-white px-2 py-1 rounded text-sm" id="qualitySelect">
390
+ <option value="auto">Auto (Recommandé)</option>
391
+ <option value="4k">4K Ultra HD</option>
392
+ <option value="1080">Full HD 1080p</option>
393
+ <option value="720">HD 720p</option>
394
+ <option value="480">SD 480p</option>
395
+ </select>
396
+ </div>
397
+ </div>
398
+
399
+ <div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
400
+ <div class="flex items-center space-x-4">
401
+ <button id="playPauseBtn" class="w-10 h-10 rounded-full bg-blue-600 flex items-center justify-center">
402
+ <i class="fas fa-pause"></i>
403
+ </button>
404
+ <div class="flex-grow">
405
+ <div class="w-full bg-gray-700 rounded-full h-1.5">
406
+ <div id="progressBar" class="bg-blue-600 h-1.5 rounded-full" style="width: 0%"></div>
407
+ </div>
408
+ </div>
409
+ <div class="text-sm text-gray-300" id="timeDisplay">00:00 / 00:00</div>
410
+ <button id="fullscreenBtn" class="w-8 h-8 rounded flex items-center justify-center text-gray-300 hover:text-white">
411
+ <i class="fas fa-expand"></i>
412
+ </button>
413
+ </div>
414
+
415
+ <div class="mt-3 flex space-x-3">
416
+ <button id="subtitleBtn" class="px-3 py-1 bg-gray-800 rounded-full text-sm flex items-center">
417
+ <i class="fas fa-closed-captioning mr-2"></i>
418
+ <span>Sous-titres</span>
419
+ </button>
420
+ <button id="settingsBtn" class="px-3 py-1 bg-gray-800 rounded-full text-sm flex items-center">
421
+ <i class="fas fa-cog mr-2"></i>
422
+ <span>Paramètres</span>
423
+ </button>
424
+ <button id="autoQualityBtn" class="px-3 py-1 bg-blue-600 rounded-full text-sm flex items-center">
425
+ <i class="fas fa-magic mr-2"></i>
426
+ <span>Auto Qualité</span>
427
+ </button>
428
+ </div>
429
+ </div>
430
+ </div>
431
+
432
+ <div class="bg-gray-800 px-6 py-4">
433
+ <div class="flex flex-col md:flex-row gap-6">
434
+ <div class="flex-shrink-0">
435
+ <img id="playerPoster" src="" alt="Affiche du film" class="w-32 h-48 object-cover rounded-lg">
436
+ </div>
437
+ <div class="flex-grow">
438
+ <h4 id="playerMovieTitle" class="text-xl font-bold mb-2">Titre du film</h4>
439
+ <div class="flex flex-wrap gap-2 mb-3">
440
+ <span id="playerYear" class="text-sm bg-gray-700 px-2 py-1 rounded">Année</span>
441
+ <span id="playerRating" class="text-sm bg-gray-700 px-2 py-1 rounded">Note</span>
442
+ <span id="playerGenre" class="text-sm bg-gray-700 px-2 py-1 rounded">Genre</span>
443
+ </div>
444
+ <p id="playerDescription" class="text-gray-400 text-sm">Description du film...</p>
445
+
446
+ <div class="mt-4">
447
+ <h5 class="font-semibold mb-2">Serveurs disponibles</h5>
448
+ <div class="flex flex-wrap gap-2" id="serverOptions">
449
+ <!-- Server options will be added here -->
450
+ </div>
451
+ </div>
452
+ </div>
453
+ </div>
454
+ </div>
455
+ </div>
456
+ </div>
457
+
458
  <!-- Script pour la base de données et l'automatisation -->
459
  <script>
460
  // Configuration
 
463
  const TOTAL_LINKS = 124556;
464
  let currentPage = 1;
465
  let currentFilter = 'all';
466
+ let currentMoviePlaying = null;
467
+ let videoPlayer = null;
468
+ let isPlaying = false;
469
+ let progressInterval = null;
470
 
471
  // Générer une base de données massive de films français avec des liens de streaming
472
  function generateMassiveMovieDatabase() {
 
540
  const language = languages[Math.floor(Math.random() * languages.length)];
541
  const provider = `${providers[Math.floor(Math.random() * providers.length)]} ${Math.floor(Math.random() * 10) + 1}`;
542
 
543
+ // Generate fake streaming URLs with different qualities
544
+ const baseUrl = `https://stream${Math.floor(Math.random() * 100)}.cinebot${['fr','eu','com','net','org'][Math.floor(Math.random() * 5)]}.${['com','net','io','tv'][Math.floor(Math.random() * 4)]}`;
545
+ const path = `/movie/${i}/${quality}/${language}`;
546
+
547
  streamingLinks.push({
548
  provider: provider,
549
+ url: `${baseUrl}${path}`,
550
  quality: quality,
551
  server: server,
552
+ language: language,
553
+ latency: Math.floor(Math.random() * 100) + 10,
554
+ stability: Math.random().toFixed(2)
555
  });
556
  }
557
 
 
563
  rating: parseFloat(rating),
564
  image: `https://image.tmdb.org/t/p/w500/${Math.random().toString(36).substring(2, 15)}.jpg`,
565
  description: description,
566
+ streamingLinks: streamingLinks,
567
+ duration: Math.floor(Math.random() * 60) + 90 // 90-150 minutes
568
  });
569
  }
570
 
 
581
  window.addEventListener('load', function() {
582
  document.body.style.opacity = '1';
583
  });
584
+
585
+ // Initialize player event listeners
586
+ initPlayerControls();
587
  });
588
 
589
  // Fonction pour charger les films
 
632
  </div>
633
  <p class="text-gray-400 text-sm mt-2 line-clamp-2">${movie.description}</p>
634
  <div class="mt-4">
635
+ <button onclick="playMovieAutomatically(${movie.id})" class="streaming-btn w-full text-white px-4 py-2 rounded-lg font-semibold">
636
+ <i class="fas fa-play mr-2"></i> Regarder automatiquement
637
  </button>
638
  </div>
639
  </div>
 
702
  });
703
  }
704
 
705
+ // Fonction pour jouer un film automatiquement
706
+ function playMovieAutomatically(movieId) {
707
+ const movie = frenchMoviesDatabase.find(m => m.id === movieId);
708
+ if (!movie) return;
709
+
710
+ currentMoviePlaying = movie;
711
+
712
+ // Show player modal
713
+ const playerModal = document.getElementById('playerModal');
714
+ playerModal.classList.remove('hidden');
715
+
716
+ // Set movie info
717
+ document.getElementById('playerTitle').textContent = `Lecture automatique: ${movie.title}`;
718
+ document.getElementById('playerMovieTitle').textContent = movie.title;
719
+ document.getElementById('playerYear').textContent = movie.year;
720
+ document.getElementById('playerRating').textContent = `${movie.rating.toFixed(1)}/5`;
721
+ document.getElementById('playerGenre').textContent = movie.genre.join(', ');
722
+ document.getElementById('playerDescription').textContent = movie.description;
723
+ document.getElementById('playerPoster').src = movie.image;
724
+
725
+ // Clear previous server options
726
+ const serverOptions = document.getElementById('serverOptions');
727
+ serverOptions.innerHTML = '';
728
+
729
+ // Add server options
730
+ movie.streamingLinks.forEach((link, index) => {
731
+ const serverBtn = document.createElement('button');
732
+ serverBtn.className = 'px-3 py-1 rounded-full text-sm flex items-center';
733
+
734
+ // Color based on server type
735
+ if (link.server === 'vip') {
736
+ serverBtn.className += ' bg-purple-600 hover:bg-purple-700';
737
+ } else if (link.server === 'premium') {
738
+ serverBtn.className += ' bg-blue-600 hover:bg-blue-700';
739
+ } else {
740
+ serverBtn.className += ' bg-gray-700 hover:bg-gray-600';
741
+ }
742
+
743
+ serverBtn.innerHTML = `
744
+ <i class="fas fa-server mr-2"></i>
745
+ ${link.provider} (${link.quality === '4k' ? '4K' : link.quality === '1080' ? 'FHD' : link.quality === '720' ? 'HD' : 'SD'})
746
+ `;
747
+
748
+ serverBtn.onclick = () => switchToServer(index);
749
+ serverOptions.appendChild(serverBtn);
750
+ });
751
+
752
+ // Start automatic playback with the best available stream
753
+ startAutomaticPlayback(movie);
754
+ }
755
+
756
+ // Start automatic playback with the best available stream
757
+ function startAutomaticPlayback(movie) {
758
+ // In a real app, this would analyze all available streams and select the best one
759
+ // based on user preferences, server latency, quality, etc.
760
+
761
+ // For demo purposes, we'll just pick the first 1080p stream, or the first available
762
+ let bestStream = movie.streamingLinks[0];
763
+
764
+ // Try to find a 1080p stream first
765
+ const fullHdStream = movie.streamingLinks.find(link => link.quality === '1080');
766
+ if (fullHdStream) {
767
+ bestStream = fullHdStream;
768
+ }
769
+
770
+ // Then try to find a VIP server
771
+ const vipStream = movie.streamingLinks.find(link => link.server === 'vip');
772
+ if (vipStream) {
773
+ bestStream = vipStream;
774
+ }
775
+
776
+ // Show loading state
777
+ const videoPlayer = document.getElementById('videoPlayer');
778
+ videoPlayer.innerHTML = `
779
+ <div class="absolute inset-0 flex items-center justify-center">
780
+ <div class="text-center">
781
+ <div class="loading-spinner mx-auto mb-4"></div>
782
+ <p class="text-gray-400">Connexion au serveur ${bestStream.provider} (${bestStream.quality})...</p>
783
+ </div>
784
+ </div>
785
+ `;
786
+
787
+ // Simulate connecting to server
788
+ setTimeout(() => {
789
+ // In a real app, this would initialize the video player with the stream URL
790
+ simulateVideoPlayback(bestStream);
791
+ }, 1500);
792
+ }
793
+
794
+ // Simulate video playback (in a real app, this would use a video player library)
795
+ function simulateVideoPlayback(stream) {
796
+ const videoPlayer = document.getElementById('videoPlayer');
797
+
798
+ // Show quality selector
799
+ document.getElementById('qualitySelector').classList.remove('hidden');
800
+
801
+ // Create fake video element (in a real app, this would be a real video player)
802
+ videoPlayer.innerHTML = `
803
+ <div class="absolute inset-0 bg-black flex items-center justify-center">
804
+ <div class="text-center">
805
+ <i class="fas fa-play-circle text-6xl text-blue-500 mb-4"></i>
806
+ <h4 class="text-xl font-bold">${currentMoviePlaying.title}</h4>
807
+ <p class="text-gray-400 mt-2">Lecture en cours depuis ${stream.provider}</p>
808
+ <p class="text-sm text-gray-500 mt-1">Qualité: ${stream.quality === '4k' ? '4K Ultra HD' : stream.quality === '1080' ? 'Full HD 1080p' : stream.quality === '720' ? 'HD 720p' : 'SD 480p'}</p>
809
+ </div>
810
+ </div>
811
+ `;
812
+
813
+ // Start progress simulation
814
+ let currentTime = 0;
815
+ const duration = currentMoviePlaying.duration * 60; // Convert to seconds
816
+
817
+ // Update time display
818
+ const timeDisplay = document.getElementById('timeDisplay');
819
+ timeDisplay.textContent = `00:00 / ${formatTime(duration)}`;
820
+
821
+ // Update progress bar
822
+ const progressBar = document.getElementById('progressBar');
823
+ progressBar.style.width = '0%';
824
+
825
+ // Simulate playback progress
826
+ if (progressInterval) clearInterval(progressInterval);
827
+ progressInterval = setInterval(() => {
828
+ if (currentTime >= duration) {
829
+ currentTime = duration;
830
+ clearInterval(progressInterval);
831
+ } else {
832
+ currentTime += 1;
833
+ }
834
+
835
+ const percent = (currentTime / duration) * 100;
836
+ progressBar.style.width = `${percent}%`;
837
+ timeDisplay.textContent = `${formatTime(currentTime)} / ${formatTime(duration)}`;
838
+ }, 1000);
839
+
840
+ isPlaying = true;
841
+ }
842
+
843
+ // Format time in MM:SS
844
+ function formatTime(seconds) {
845
+ const mins = Math.floor(seconds / 60);
846
+ const secs = Math.floor(seconds % 60);
847
+ return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
848
+ }
849
+
850
+ // Switch to a different server
851
+ function switchToServer(streamIndex) {
852
+ if (!currentMoviePlaying) return;
853
+
854
+ const stream = currentMoviePlaying.streamingLinks[streamIndex];
855
+ if (!stream) return;
856
+
857
+ // Show loading state
858
+ const videoPlayer = document.getElementById('videoPlayer');
859
+ videoPlayer.innerHTML = `
860
+ <div class="absolute inset-0 flex items-center justify-center">
861
+ <div class="text-center">
862
+ <div class="loading-spinner mx-auto mb-4"></div>
863
+ <p class="text-gray-400">Changement vers ${stream.provider} (${stream.quality})...</p>
864
+ </div>
865
+ </div>
866
+ `;
867
+
868
+ // Simulate server switch
869
+ setTimeout(() => {
870
+ simulateVideoPlayback(stream);
871
+ }, 1000);
872
+ }
873
+
874
+ // Close player
875
+ function closePlayer() {
876
+ const playerModal = document.getElementById('playerModal');
877
+ playerModal.classList.add('hidden');
878
+
879
+ // Clear playback simulation
880
+ if (progressInterval) {
881
+ clearInterval(progressInterval);
882
+ progressInterval = null;
883
+ }
884
+
885
+ isPlaying = false;
886
+ currentMoviePlaying = null;
887
+ }
888
+
889
+ // Initialize player controls
890
+ function initPlayerControls() {
891
+ // Play/Pause button
892
+ document.getElementById('playPauseBtn').addEventListener('click', function() {
893
+ if (!currentMoviePlaying) return;
894
+
895
+ isPlaying = !isPlaying;
896
+ this.innerHTML = `<i class="fas fa-${isPlaying ? 'pause' : 'play'}"></i>`;
897
+
898
+ if (isPlaying) {
899
+ // Resume playback simulation
900
+ simulateVideoPlayback(currentMoviePlaying.streamingLinks[0]);
901
+ } else {
902
+ // Pause playback simulation
903
+ if (progressInterval) {
904
+ clearInterval(progressInterval);
905
+ progressInterval = null;
906
+ }
907
+ }
908
+ });
909
+
910
+ // Fullscreen button
911
+ document.getElementById('fullscreenBtn').addEventListener('click', function() {
912
+ const playerModal = document.getElementById('playerModal');
913
+ if (!document.fullscreenElement) {
914
+ playerModal.requestFullscreen().catch(err => {
915
+ console.error(`Error attempting to enable fullscreen: ${err.message}`);
916
+ });
917
+ } else {
918
+ document.exitFullscreen();
919
+ }
920
+ });
921
+
922
+ // Subtitle button
923
+ document.getElementById('subtitleBtn').addEventListener('click', function() {
924
+ this.classList.toggle('active');
925
+ });
926
+
927
+ // Auto quality button
928
+ document.getElementById('autoQualityBtn').addEventListener('click', function() {
929
+ if (!currentMoviePlaying) return;
930
+
931
+ // Simulate automatic quality adjustment
932
+ startAutomaticPlayback(currentMoviePlaying);
933
+ });
934
+
935
+ // Quality selector
936
+ document.getElementById('qualitySelect').addEventListener('change', function() {
937
+ if (!currentMoviePlaying) return;
938
+
939
+ const quality = this.value;
940
+ if (quality === 'auto') {
941
+ startAutomaticPlayback(currentMoviePlaying);
942
+ } else {
943
+ // Find a stream with the selected quality
944
+ const matchingStream = currentMoviePlaying.streamingLinks.find(link => link.quality === quality);
945
+ if (matchingStream) {
946
+ simulateVideoPlayback(matchingStream);
947
+ }
948
+ }
949
+ });
950
+ }
951
+
952
  // Fonction pour afficher les liens de streaming
953
  function showStreamingLinks(movieId) {
954
  const movie = frenchMoviesDatabase.find(m => m.id === movieId);
 
981
  <span><i class="fas fa-server mr-1"></i> ${link.server === 'vip' ? 'VIP' : link.server === 'europe' ? 'Europe' : link.server === 'us' ? 'USA' : link.server === 'asia' ? 'Asie' : 'Premium'}</span>
982
  <span><i class="fas fa-language mr-1"></i> ${link.language === 'vf' ? 'VF' : link.language === 'vostfr' ? 'VOSTFR' : 'VO'}</span>
983
  </div>
984
+ <button onclick="playMovieAutomatically(${movie.id}, ${movie.streamingLinks.indexOf(link)})" class="block mt-3 streaming-btn text-white px-3 py-2 rounded text-center w-full">
985
+ <i class="fas fa-play mr-2"></i> Lancer la lecture
986
+ </button>
987
  </div>
988
  `).join('')}
989
  </div>
 
1073
  <span class="text-sm text-gray-400"><i class="fas fa-link mr-1"></i> ${filteredLinks.length} serveur(s) trouvé(s)</span>
1074
  </div>
1075
  <div class="mt-3">
1076
+ <button onclick="playMovieAutomatically(${movie.id})" class="streaming-btn text-white px-3 py-1 rounded text-sm w-full">
1077
+ <i class="fas fa-play mr-1"></i> Regarder automatiquement
1078
  </button>
1079
  </div>
1080
  </div>
prompts.txt CHANGED
@@ -1,4 +1,5 @@
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
3
  AJOUT2 UNE BASE DE DONN2ES DES FILM COMPLET A REGARDER EN FRANCAIS ? ET UNE BASE DE DONN2ES DES LIENS DES URL DES SERVEUR DES FILM COMPLET EN ROBOTIS2 EN AUTOMATIQUE
4
- ajouter une base de données des films 142555 film plus une base de donés de 124556 liens url des film en francais plus serveur des liens des film le tout en automatique
 
 
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
3
  AJOUT2 UNE BASE DE DONN2ES DES FILM COMPLET A REGARDER EN FRANCAIS ? ET UNE BASE DE DONN2ES DES LIENS DES URL DES SERVEUR DES FILM COMPLET EN ROBOTIS2 EN AUTOMATIQUE
4
+ ajouter une base de données des films 142555 film plus une base de donés de 124556 liens url des film en francais plus serveur des liens des film le tout en automatique
5
+ ajouter regarder les film en automatique