// Fonction principale pour parler au RequestHandler async function apiRequest(action, params = {}) { const response = await fetch('RequestHandler.php', { method: 'POST', headers: { 'Content-Type': 'application/json' // J'ai enlevé le ":" après Type }, body: JSON.stringify({ action, params }) }); return await response.json(); } // Action de recherche async function performSearch() { const query = document.getElementById('searchInput').value; if (!query) return; const grid = document.getElementById('resultsGrid'); grid.innerHTML = '
Recherche en cours...
'; const data = await apiRequest('searchTMDB', { query: query }); grid.innerHTML = ''; // On vide le message de chargement if (data.results) { data.results.forEach(item => { if (!item.poster_path) return; const title = item.title || item.name; const poster = `https://image.tmdb.org/t/p/w500${item.poster_path}`; const type = item.media_type === 'tv' ? 'serie' : 'film'; const card = document.createElement('div'); card.className = 'bg-slate-800 rounded-xl overflow-hidden border border-slate-700 hover:scale-105 transition-transform'; card.innerHTML = `