importation / index.html
docto41's picture
Add 2 files
97f213d verified
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CinéFutur - Lecteur de Films</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap');
:root {
--primary: #ff6b00;
--secondary: #8a2be2;
--dark: #0a0a1a;
}
body {
font-family: 'Orbitron', sans-serif;
background-color: var(--dark);
color: white;
overflow-x: hidden;
}
.glow {
text-shadow: 0 0 10px rgba(255, 107, 0, 0.7);
}
.cyber-button {
position: relative;
overflow: hidden;
transition: all 0.3s;
}
.cyber-button:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(255, 107, 0, 0.4);
}
.film-card {
transition: all 0.3s;
background: rgba(30, 30, 60, 0.5);
border-radius: 10px;
overflow: hidden;
}
.film-card:hover {
transform: scale(1.03);
box-shadow: 0 0 20px rgba(138, 43, 226, 0.5);
}
.video-container {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
height: 0;
overflow: hidden;
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}
.progress-bar {
height: 4px;
background: rgba(255,255,255,0.2);
margin-top: 10px;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--secondary), var(--primary));
width: 0%;
}
</style>
</head>
<body class="min-h-screen bg-gradient-to-br from-gray-900 to-gray-800">
<div class="container mx-auto px-4 py-8">
<!-- Header -->
<header class="flex justify-between items-center mb-8">
<div class="flex items-center">
<i class="fas fa-film text-3xl text-orange-500 mr-3"></i>
<h1 class="text-2xl font-bold glow">CinéFutur <span class="text-sm text-gray-400">Lecteur Premium</span></h1>
</div>
<div class="flex items-center space-x-4">
<button id="autoPlayBtn" class="cyber-button bg-gradient-to-r from-purple-600 to-orange-500 text-white py-2 px-4 rounded-lg flex items-center">
<i class="fas fa-play mr-2"></i> Auto
</button>
<div class="relative">
<input type="text" placeholder="Rechercher..." class="bg-gray-800 border border-gray-700 rounded-lg py-2 px-4 text-white focus:outline-none focus:border-orange-500">
<i class="fas fa-search absolute right-3 top-3 text-gray-400"></i>
</div>
</div>
</header>
<!-- Main Content -->
<main>
<!-- Current Video Player -->
<div class="mb-8 bg-gray-900 rounded-xl overflow-hidden shadow-2xl">
<div class="video-container" id="mainVideoContainer">
<iframe id="mainVideo" src="" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="p-4">
<h2 id="currentFilmTitle" class="text-xl font-bold mb-2">Sélectionnez un film</h2>
<div class="flex justify-between items-center">
<div class="flex space-x-2">
<span class="text-sm text-gray-400"><i class="fas fa-clock mr-1"></i> <span id="currentFilmDuration">--:--</span></span>
<span class="text-sm text-gray-400"><i class="fas fa-star mr-1 text-yellow-400"></i> <span id="currentFilmRating">--</span>/10</span>
</div>
<div class="flex space-x-2">
<button id="fullscreenBtn" class="cyber-button bg-gray-800 text-white py-1 px-3 rounded-lg text-sm">
<i class="fas fa-expand mr-1"></i> Plein écran
</button>
<button id="nextFilmBtn" class="cyber-button bg-gradient-to-r from-purple-600 to-orange-500 text-white py-1 px-3 rounded-lg text-sm">
<i class="fas fa-step-forward mr-1"></i> Suivant
</button>
</div>
</div>
<div class="progress-bar">
<div class="progress-fill" id="progressFill"></div>
</div>
</div>
</div>
<!-- Film Library -->
<section>
<h2 class="text-xl font-bold mb-4 flex items-center">
<i class="fas fa-film text-orange-500 mr-2"></i>
<span>Bibliothèque de Films</span>
</h2>
<div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4">
<!-- Film 1 - Dune -->
<div class="film-card" data-video="https://www.youtube.com/embed/w0HgHet0sxg" data-title="Dune (2021)" data-duration="2h35m" data-rating="8.0">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BN2FjNmEyNWMtYzM0ZS00NjIyLTg5YzYtYThlMGVjNzE1OGViXkEyXkFqcGdeQXVyMTkxNjUyNQ@@._V1_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">Dune</h3>
<p class="text-xs text-gray-300">2021 • Sci-Fi</p>
</div>
</div>
</div>
</div>
<!-- Film 2 - Interstellar -->
<div class="film-card" data-video="https://www.youtube.com/embed/zSWdZVtXT7E" data-title="Interstellar (2014)" data-duration="2h49m" data-rating="8.6">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BZjdkOTU5MDktM2IxOS00OGEyLWFmMjktY2FiMmZkNWIyODZiXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">Interstellar</h3>
<p class="text-xs text-gray-300">2014 • Sci-Fi</p>
</div>
</div>
</div>
</div>
<!-- Film 3 - Blade Runner 2049 -->
<div class="film-card" data-video="https://www.youtube.com/embed/gCcx85zbxz4" data-title="Blade Runner 2049 (2017)" data-duration="2h44m" data-rating="8.0">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BNzA1Njg4NzYxOV5BMl5BanBnXkFtZTgwODk5NjU3MzI@._V1_FMjpg_UX1000_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">Blade Runner 2049</h3>
<p class="text-xs text-gray-300">2017 • Cyberpunk</p>
</div>
</div>
</div>
</div>
<!-- Film 4 - The Matrix -->
<div class="film-card" data-video="https://www.youtube.com/embed/vKQi3bBA1y8" data-title="The Matrix (1999)" data-duration="2h16m" data-rating="8.7">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BNzQzOTk3OTAtNDQ0Zi00ZTVkLWI0MTEtMDllZjNkYzNjNTc4L2ltYWdlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">The Matrix</h3>
<p class="text-xs text-gray-300">1999 • Sci-Fi</p>
</div>
</div>
</div>
</div>
<!-- Film 5 - Inception -->
<div class="film-card" data-video="https://www.youtube.com/embed/YoHD9XEInc0" data-title="Inception (2010)" data-duration="2h28m" data-rating="8.8">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BMjAxMzY3NjcxNF5BMl5BanBnXkFtZTcwNTI5OTM0Mw@@._V1_FMjpg_UX1000_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">Inception</h3>
<p class="text-xs text-gray-300">2010 • Sci-Fi</p>
</div>
</div>
</div>
</div>
<!-- Film 6 - Tenet -->
<div class="film-card" data-video="https://www.youtube.com/embed/LdOM0x0XDMo" data-title="Tenet (2020)" data-duration="2h30m" data-rating="7.5">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BYzg0NGM2NjAtNmIxOC00MDJmLTg5ZmItMjE3M2JkMTYyOTQzXkEyXkFqcGdeQXVyMTkxNjUyNQ@@._V1_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">Tenet</h3>
<p class="text-xs text-gray-300">2020 • Sci-Fi</p>
</div>
</div>
</div>
</div>
<!-- Film 7 - Arrival -->
<div class="film-card" data-video="https://www.youtube.com/embed/tFMo3UJ4B4g" data-title="Arrival (2016)" data-duration="1h56m" data-rating="7.9">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BNGU0NTA2YjctYWNlYy00ZDg1LTg5ZTItZWM3MWZiMDI5OGYzL2ltYWdlXkEyXkFqcGdeQXVyNDM3ODU2NDM@._V1_FMjpg_UX1000_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">Arrival</h3>
<p class="text-xs text-gray-300">2016 • Sci-Fi</p>
</div>
</div>
</div>
</div>
<!-- Film 8 - Ex Machina -->
<div class="film-card" data-video="https://www.youtube.com/embed/EoQuVnKhxaM" data-title="Ex Machina (2014)" data-duration="1h48m" data-rating="7.7">
<div class="h-40 bg-cover bg-center" style="background-image: url('https://m.media-amazon.com/images/M/MV5BMTUxNzc0OTIxMV5BMl5BanBnXkFtZTgwNDI3NzU2NDE@._V1_.jpg')">
<div class="bg-black bg-opacity-60 h-full flex items-end p-3">
<div>
<h3 class="font-bold">Ex Machina</h3>
<p class="text-xs text-gray-300">2014 • Sci-Fi</p>
</div>
</div>
</div>
</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="mt-12 pt-6 border-t border-gray-800 text-center text-gray-400 text-sm">
<p>© 2024 CinéFutur - Tous droits réservés</p>
<p class="mt-1">Films intégrés depuis YouTube - À des fins éducatives uniquement</p>
</footer>
</div>
<script>
// Configuration des films
const films = [
{
title: "Dune (2021)",
video: "https://www.youtube.com/embed/w0HgHet0sxg",
duration: "2h35m",
rating: "8.0"
},
{
title: "Interstellar (2014)",
video: "https://www.youtube.com/embed/zSWdZVtXT7E",
duration: "2h49m",
rating: "8.6"
},
{
title: "Blade Runner 2049 (2017)",
video: "https://www.youtube.com/embed/gCcx85zbxz4",
duration: "2h44m",
rating: "8.0"
},
{
title: "The Matrix (1999)",
video: "https://www.youtube.com/embed/vKQi3bBA1y8",
duration: "2h16m",
rating: "8.7"
},
{
title: "Inception (2010)",
video: "https://www.youtube.com/embed/YoHD9XEInc0",
duration: "2h28m",
rating: "8.8"
},
{
title: "Tenet (2020)",
video: "https://www.youtube.com/embed/LdOM0x0XDMo",
duration: "2h30m",
rating: "7.5"
},
{
title: "Arrival (2016)",
video: "https://www.youtube.com/embed/tFMo3UJ4B4g",
duration: "1h56m",
rating: "7.9"
},
{
title: "Ex Machina (2014)",
video: "https://www.youtube.com/embed/EoQuVnKhxaM",
duration: "1h48m",
rating: "7.7"
}
];
// Éléments DOM
const mainVideo = document.getElementById('mainVideo');
const currentFilmTitle = document.getElementById('currentFilmTitle');
const currentFilmDuration = document.getElementById('currentFilmDuration');
const currentFilmRating = document.getElementById('currentFilmRating');
const progressFill = document.getElementById('progressFill');
const autoPlayBtn = document.getElementById('autoPlayBtn');
const nextFilmBtn = document.getElementById('nextFilmBtn');
const fullscreenBtn = document.getElementById('fullscreenBtn');
const filmCards = document.querySelectorAll('.film-card');
const mainVideoContainer = document.getElementById('mainVideoContainer');
// Variables d'état
let currentFilmIndex = 0;
let isAutoPlaying = false;
let autoPlayInterval;
let progressInterval;
// Charger un film
function loadFilm(index) {
if (index >= 0 && index < films.length) {
currentFilmIndex = index;
const film = films[index];
mainVideo.src = film.video;
currentFilmTitle.textContent = film.title;
currentFilmDuration.textContent = film.duration;
currentFilmRating.textContent = film.rating;
// Réinitialiser la barre de progression
progressFill.style.width = '0%';
// Démarrer la mise à jour de la progression
if (progressInterval) clearInterval(progressInterval);
progressInterval = setInterval(updateProgress, 1000);
// Si en mode auto, passer au film suivant après la durée estimée
if (isAutoPlaying) {
if (autoPlayInterval) clearInterval(autoPlayInterval);
const durationInMs = convertDurationToMs(film.duration);
autoPlayInterval = setTimeout(playNextFilm, durationInMs);
}
}
}
// Convertir la durée en millisecondes (approximatif)
function convertDurationToMs(duration) {
const [hours, minutes] = duration.split('h');
const mins = minutes ? minutes.replace('m', '') : '0';
return (parseInt(hours) * 3600 + parseInt(mins) * 60) * 1000;
}
// Mettre à jour la barre de progression
function updateProgress() {
const duration = convertDurationToMs(films[currentFilmIndex].duration);
const elapsed = parseInt(progressFill.style.width || '0');
if (elapsed < 100) {
progressFill.style.width = (elapsed + (100 / (duration / 1000))) + '%';
} else {
clearInterval(progressInterval);
if (isAutoPlaying) playNextFilm();
}
}
// Jouer le film suivant
function playNextFilm() {
const nextIndex = (currentFilmIndex + 1) % films.length;
loadFilm(nextIndex);
}
// Basculer le mode auto
function toggleAutoPlay() {
isAutoPlaying = !isAutoPlaying;
if (isAutoPlaying) {
autoPlayBtn.innerHTML = '<i class="fas fa-pause mr-2"></i> Auto';
const durationInMs = convertDurationToMs(films[currentFilmIndex].duration);
autoPlayInterval = setTimeout(playNextFilm, durationInMs);
} else {
autoPlayBtn.innerHTML = '<i class="fas fa-play mr-2"></i> Auto';
if (autoPlayInterval) clearInterval(autoPlayInterval);
}
}
// Plein écran
function toggleFullscreen() {
if (!document.fullscreenElement) {
mainVideoContainer.requestFullscreen().catch(err => {
alert(`Erreur plein écran: ${err.message}`);
});
} else {
document.exitFullscreen();
}
}
// Événements
autoPlayBtn.addEventListener('click', toggleAutoPlay);
nextFilmBtn.addEventListener('click', playNextFilm);
fullscreenBtn.addEventListener('click', toggleFullscreen);
filmCards.forEach((card, index) => {
card.addEventListener('click', () => {
// Arrêter le mode auto si actif
if (isAutoPlaying) {
toggleAutoPlay();
}
// Charger le film sélectionné
loadFilm(index);
});
});
// Charger le premier film au démarrage
loadFilm(0);
</script>
<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/importation" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>