| <!DOCTYPE html> |
| <html lang="fr"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>AutoTik - Automatisation TikTok</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"> |
| <script> |
| tailwind.config = { |
| darkMode: 'class', |
| theme: { |
| extend: { |
| colors: { |
| primary: '#FE2C55', |
| dark: '#121212', |
| darker: '#0a0a0a', |
| light: '#f8fafc', |
| } |
| } |
| } |
| } |
| </script> |
| <style> |
| |
| ::-webkit-scrollbar { |
| width: 8px; |
| } |
| ::-webkit-scrollbar-track { |
| background: #1e1e1e; |
| } |
| ::-webkit-scrollbar-thumb { |
| background: #555; |
| border-radius: 4px; |
| } |
| ::-webkit-scrollbar-thumb:hover { |
| background: #777; |
| } |
| |
| |
| @keyframes slideIn { |
| from { transform: translateX(100%); } |
| to { transform: translateX(0); } |
| } |
| |
| .notification { |
| animation: slideIn 0.3s ease-out; |
| } |
| </style> |
| </head> |
| <body class="bg-dark text-light min-h-screen"> |
| |
| <header class="bg-darker p-4 flex justify-between items-center border-b border-gray-800 sticky top-0 z-10"> |
| <div class="flex items-center space-x-2"> |
| <i class="fab fa-tiktok text-primary text-2xl"></i> |
| <h1 class="text-xl font-bold">AutoTik</h1> |
| </div> |
| <div class="flex space-x-4"> |
| <button id="themeToggle" class="p-2 rounded-full hover:bg-gray-800"> |
| <i class="fas fa-moon"></i> |
| </button> |
| <button class="p-2 rounded-full hover:bg-gray-800"> |
| <i class="fas fa-cog"></i> |
| </button> |
| </div> |
| </header> |
|
|
| |
| <main class="container mx-auto p-4 pb-20"> |
| |
| <section class="mb-8"> |
| <div class="flex justify-between items-center mb-4"> |
| <h2 class="text-lg font-semibold">Tableau de bord</h2> |
| <button id="newAutomationBtn" class="bg-primary hover:bg-red-600 text-white px-4 py-2 rounded-lg flex items-center space-x-2"> |
| <i class="fas fa-plus"></i> |
| <span>Nouvelle automatisation</span> |
| </button> |
| </div> |
| |
| |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-4"> |
| |
| <div class="bg-gray-800 p-4 rounded-lg border-l-4 border-primary"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <h3 class="font-medium">Publication TikTok quotidienne</h3> |
| <p class="text-gray-400 text-sm">Poste à 18h chaque jour</p> |
| </div> |
| <div class="flex space-x-2"> |
| <button class="text-gray-400 hover:text-primary"> |
| <i class="fas fa-edit"></i> |
| </button> |
| <button class="text-gray-400 hover:text-primary"> |
| <i class="fas fa-toggle-on"></i> |
| </button> |
| </div> |
| </div> |
| <div class="mt-3 flex items-center text-sm text-gray-400"> |
| <i class="fas fa-clock mr-2"></i> |
| <span>Dernière exécution: Aujourd'hui, 18:00</span> |
| </div> |
| </div> |
| |
| |
| <div class="bg-gray-800 p-4 rounded-lg border-l-4 border-blue-500"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <h3 class="font-medium">Publication Wi-Fi</h3> |
| <p class="text-gray-400 text-sm">Poste quand connecté au Wi-Fi</p> |
| </div> |
| <div class="flex space-x-2"> |
| <button class="text-gray-400 hover:text-blue-500"> |
| <i class="fas fa-edit"></i> |
| </button> |
| <button class="text-gray-400 hover:text-blue-500"> |
| <i class="fas fa-toggle-on"></i> |
| </button> |
| </div> |
| </div> |
| <div class="mt-3 flex items-center text-sm text-gray-400"> |
| <i class="fas fa-clock mr-2"></i> |
| <span>Dernière exécution: Hier, 14:30</span> |
| </div> |
| </div> |
| </div> |
| </section> |
| |
| |
| <section class="mb-8"> |
| <h2 class="text-lg font-semibold mb-4">Publications TikTok</h2> |
| |
| |
| <div class="bg-gray-800 rounded-lg p-4 mb-6"> |
| <div class="flex justify-between items-center mb-4"> |
| <h3 class="font-medium">File d'attente des vidéos</h3> |
| <button class="text-primary hover:underline">Voir tout</button> |
| </div> |
| |
| <div class="overflow-x-auto"> |
| <div class="flex space-x-4 pb-2"> |
| |
| <div class="flex-shrink-0 w-24 h-32 bg-gray-700 rounded-lg relative overflow-hidden"> |
| <div class="absolute inset-0 flex items-center justify-center"> |
| <i class="fas fa-play text-primary text-2xl"></i> |
| </div> |
| <div class="absolute bottom-0 left-0 right-0 bg-black bg-opacity-70 p-1 text-xs"> |
| <p class="truncate">Vidéo du weekend</p> |
| <p class="text-gray-400">Programmé: 18:00</p> |
| </div> |
| </div> |
| |
| |
| <div class="flex-shrink-0 w-24 h-32 bg-gray-700 rounded-lg relative overflow-hidden"> |
| <div class="absolute inset-0 flex items-center justify-center"> |
| <i class="fas fa-play text-primary text-2xl"></i> |
| </div> |
| <div class="absolute bottom-0 left-0 right-0 bg-black bg-opacity-70 p-1 text-xs"> |
| <p class="truncate">Tutoriel maquillage</p> |
| <p class="text-gray-400">En attente</p> |
| </div> |
| </div> |
| |
| |
| <div class="flex-shrink-0 w-24 h-32 border-2 border-dashed border-gray-600 rounded-lg flex items-center justify-center"> |
| <button class="text-gray-400 hover:text-primary"> |
| <i class="fas fa-plus text-2xl"></i> |
| </button> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="grid grid-cols-2 md:grid-cols-4 gap-4 mb-6"> |
| <div class="bg-gray-800 p-4 rounded-lg"> |
| <p class="text-gray-400 text-sm">Vidéos programmées</p> |
| <p class="text-xl font-bold">5</p> |
| </div> |
| <div class="bg-gray-800 p-4 rounded-lg"> |
| <p class="text-gray-400 text-sm">Vidéos publiées</p> |
| <p class="text-xl font-bold">12</p> |
| </div> |
| <div class="bg-gray-800 p-4 rounded-lg"> |
| <p class="text-gray-400 text-sm">Vues totales</p> |
| <p class="text-xl font-bold">24.5K</p> |
| </div> |
| <div class="bg-gray-800 p-4 rounded-lg"> |
| <p class="text-gray-400 text-sm">Nouveaux abonnés</p> |
| <p class="text-xl font-bold">+342</p> |
| </div> |
| </div> |
| </section> |
| |
| |
| <section> |
| <h2 class="text-lg font-semibold mb-4">Journal d'activité</h2> |
| |
| <div class="bg-gray-800 rounded-lg p-4"> |
| <div class="flex justify-between items-center mb-4"> |
| <h3 class="font-medium">Historique des actions</h3> |
| <button class="text-primary hover:underline">Filtrer</button> |
| </div> |
| |
| <div class="space-y-4 max-h-96 overflow-y-auto"> |
| |
| <div class="border-b border-gray-700 pb-3"> |
| <div class="flex justify-between"> |
| <p class="font-medium">Publication TikTok réussie</p> |
| <p class="text-gray-400 text-sm">Aujourd'hui, 18:00</p> |
| </div> |
| <p class="text-gray-400 text-sm mt-1">"Vidéo du weekend" publiée avec 5 hashtags</p> |
| </div> |
| |
| |
| <div class="border-b border-gray-700 pb-3"> |
| <div class="flex justify-between"> |
| <p class="font-medium">Nouvelle vidéo ajoutée</p> |
| <p class="text-gray-400 text-sm">Aujourd'hui, 15:30</p> |
| </div> |
| <p class="text-gray-400 text-sm mt-1">"Tutoriel maquillage" ajoutée à la file d'attente</p> |
| </div> |
| |
| |
| <div class="border-b border-gray-700 pb-3"> |
| <div class="flex justify-between"> |
| <p class="font-medium">Publication TikTok réussie</p> |
| <p class="text-gray-400 text-sm">Hier, 18:00</p> |
| </div> |
| <p class="text-gray-400 text-sm mt-1">"Aperçu du produit" publiée avec 3 hashtags</p> |
| </div> |
| |
| |
| <div class="border-b border-gray-700 pb-3"> |
| <div class="flex justify-between"> |
| <p class="font-medium">Automatisation créée</p> |
| <p class="text-gray-400 text-sm">Hier, 12:15</p> |
| </div> |
| <p class="text-gray-400 text-sm mt-1">"Publication Wi-Fi" configurée</p> |
| </div> |
| </div> |
| </div> |
| </section> |
| </main> |
| |
| |
| <nav class="fixed bottom-0 left-0 right-0 bg-darker border-t border-gray-800 flex justify-around py-3"> |
| <a href="#" class="flex flex-col items-center text-primary"> |
| <i class="fas fa-home text-xl"></i> |
| <span class="text-xs mt-1">Accueil</span> |
| </a> |
| <a href="#" class="flex flex-col items-center text-gray-400 hover:text-primary"> |
| <i class="fas fa-list text-xl"></i> |
| <span class="text-xs mt-1">Automatisations</span> |
| </a> |
| <a href="#" class="flex flex-col items-center text-gray-400 hover:text-primary"> |
| <i class="fab fa-tiktok text-xl"></i> |
| <span class="text-xs mt-1">TikTok</span> |
| </a> |
| <a href="#" class="flex flex-col items-center text-gray-400 hover:text-primary"> |
| <i class="fas fa-history text-xl"></i> |
| <span class="text-xs mt-1">Journal</span> |
| </a> |
| </nav> |
| |
| |
| <div id="automationModal" class="fixed inset-0 bg-black bg-opacity-75 flex items-center justify-center z-50 hidden"> |
| <div class="bg-gray-800 rounded-lg w-full max-w-md mx-4 max-h-[90vh] overflow-y-auto"> |
| <div class="p-4 border-b border-gray-700 flex justify-between items-center"> |
| <h3 class="text-lg font-semibold">Nouvelle automatisation</h3> |
| <button id="closeModalBtn" class="text-gray-400 hover:text-white"> |
| <i class="fas fa-times"></i> |
| </button> |
| </div> |
| |
| <div class="p-4"> |
| <div class="mb-6"> |
| <label class="block text-gray-400 mb-2">Nom de l'automatisation</label> |
| <input type="text" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:border-primary"> |
| </div> |
| |
| <div class="mb-6"> |
| <label class="block text-gray-400 mb-2">Type d'automatisation</label> |
| <div class="grid grid-cols-2 gap-3"> |
| <button class="bg-gray-700 hover:bg-gray-600 p-3 rounded-lg flex flex-col items-center"> |
| <i class="fab fa-tiktok text-primary text-2xl mb-2"></i> |
| <span>Publication TikTok</span> |
| </button> |
| <button class="bg-gray-700 hover:bg-gray-600 p-3 rounded-lg flex flex-col items-center"> |
| <i class="fas fa-clock text-blue-500 text-2xl mb-2"></i> |
| <span>Déclencheur horaire</span> |
| </button> |
| <button class="bg-gray-700 hover:bg-gray-600 p-3 rounded-lg flex flex-col items-center"> |
| <i class="fas fa-wifi text-green-500 text-2xl mb-2"></i> |
| <span>Connexion Wi-Fi</span> |
| </button> |
| <button class="bg-gray-700 hover:bg-gray-600 p-3 rounded-lg flex flex-col items-center"> |
| <i class="fas fa-map-marker-alt text-yellow-500 text-2xl mb-2"></i> |
| <span>Localisation</span> |
| </button> |
| </div> |
| </div> |
| |
| <div class="mb-6"> |
| <label class="block text-gray-400 mb-2">Actions</label> |
| <div class="space-y-3"> |
| <div class="bg-gray-700 p-3 rounded-lg flex items-center justify-between"> |
| <div class="flex items-center"> |
| <i class="fab fa-tiktok text-primary mr-3"></i> |
| <span>Publier sur TikTok</span> |
| </div> |
| <i class="fas fa-chevron-right text-gray-400"></i> |
| </div> |
| <div class="bg-gray-700 p-3 rounded-lg flex items-center justify-between"> |
| <div class="flex items-center"> |
| <i class="fas fa-envelope text-blue-500 mr-3"></i> |
| <span>Envoyer un SMS/Email</span> |
| </div> |
| <i class="fas fa-chevron-right text-gray-400"></i> |
| </div> |
| <div class="bg-gray-700 p-3 rounded-lg flex items-center justify-between"> |
| <div class="flex items-center"> |
| <i class="fas fa-power-off text-green-500 mr-3"></i> |
| <span>Activer/Désactiver Wi-Fi</span> |
| </div> |
| <i class="fas fa-chevron-right text-gray-400"></i> |
| </div> |
| </div> |
| </div> |
| |
| <button class="w-full bg-primary hover:bg-red-600 text-white py-3 rounded-lg font-medium"> |
| Créer l'automatisation |
| </button> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="notification" class="fixed bottom-20 right-4 bg-gray-800 border-l-4 border-primary p-3 rounded-lg shadow-lg notification hidden max-w-xs"> |
| <div class="flex items-start"> |
| <i class="fas fa-check-circle text-primary mr-2 mt-1"></i> |
| <div> |
| <p class="font-medium">Publication réussie</p> |
| <p class="text-gray-400 text-sm">Votre vidéo TikTok a été publiée avec succès</p> |
| </div> |
| </div> |
| </div> |
| |
| <script> |
| |
| const themeToggle = document.getElementById('themeToggle'); |
| const body = document.body; |
| |
| themeToggle.addEventListener('click', () => { |
| body.classList.toggle('dark'); |
| if (body.classList.contains('dark')) { |
| themeToggle.innerHTML = '<i class="fas fa-sun"></i>'; |
| } else { |
| themeToggle.innerHTML = '<i class="fas fa-moon"></i>'; |
| } |
| }); |
| |
| |
| const newAutomationBtn = document.getElementById('newAutomationBtn'); |
| const automationModal = document.getElementById('automationModal'); |
| const closeModalBtn = document.getElementById('closeModalBtn'); |
| |
| newAutomationBtn.addEventListener('click', () => { |
| automationModal.classList.remove('hidden'); |
| }); |
| |
| closeModalBtn.addEventListener('click', () => { |
| automationModal.classList.add('hidden'); |
| }); |
| |
| |
| setTimeout(() => { |
| const notification = document.getElementById('notification'); |
| notification.classList.remove('hidden'); |
| |
| setTimeout(() => { |
| notification.classList.add('hidden'); |
| }, 5000); |
| }, 2000); |
| |
| |
| function connectToTikTokAPI() { |
| |
| console.log("Connexion à l'API TikTok..."); |
| |
| localStorage.setItem('tiktok_connected', 'true'); |
| showCustomNotification("Connecté à TikTok avec succès", "success"); |
| } |
| |
| function showCustomNotification(message, type = "success") { |
| const notification = document.createElement('div'); |
| notification.className = `fixed bottom-20 right-4 bg-gray-800 border-l-4 border-${type === 'success' ? 'primary' : 'red-500'} p-3 rounded-lg shadow-lg notification max-w-xs`; |
| notification.innerHTML = ` |
| <div class="flex items-start"> |
| <i class="fas fa-${type === 'success' ? 'check-circle' : 'exclamation-circle'} text-${type === 'success' ? 'primary' : 'red-500'} mr-2 mt-1"></i> |
| <div> |
| <p class="font-medium">${type === 'success' ? 'Succès' : 'Erreur'}</p> |
| <p class="text-gray-400 text-sm">${message}</p> |
| </div> |
| </div> |
| `; |
| |
| document.body.appendChild(notification); |
| setTimeout(() => { |
| notification.remove(); |
| }, 5000); |
| } |
| |
| |
| if (!localStorage.getItem('tiktok_connected')) { |
| setTimeout(() => { |
| connectToTikTokAPI(); |
| }, 3000); |
| } |
| </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=Chasme/autotik" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |