ultradns-pro / index.html
docto41's picture
Add 2 files
c7a7391 verified
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Infrastructure Web Automatisée - 1CLICK</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>
:root {
--primary: #4f46e5;
--secondary: #7c3aed;
--accent: #ec4899;
}
.gradient-bg {
background: linear-gradient(135deg, var(--primary), var(--secondary));
}
.text-gradient {
background: linear-gradient(90deg, var(--primary), var(--accent));
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.card-hover {
transition: all 0.3s ease;
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.pulse-animation {
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
.floating {
animation: floating 6s ease-in-out infinite;
}
@keyframes floating {
0% { transform: translateY(0px); }
50% { transform: translateY(-15px); }
100% { transform: translateY(0px); }
}
.progress-bar {
animation: progress 2s ease-in-out forwards;
}
@keyframes progress {
from { width: 0%; }
to { width: 100%; }
}
.domain-search {
box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.4);
}
.glow {
box-shadow: 0 0 15px rgba(79, 70, 229, 0.6);
}
.button-active {
transform: scale(0.98);
filter: brightness(90%);
}
.button-loading {
position: relative;
color: transparent !important;
}
.button-loading:after {
content: "";
position: absolute;
width: 16px;
height: 16px;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
border: 3px solid transparent;
border-top-color: #ffffff;
border-radius: 50%;
animation: button-loading-spinner 1s ease infinite;
}
@keyframes button-loading-spinner {
from { transform: rotate(0turn); }
to { transform: rotate(1turn); }
}
.fade-in {
animation: fadeIn 0.5s ease-in;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
</style>
</head>
<body class="bg-gray-50 font-sans">
<!-- Navigation -->
<nav class="bg-white shadow-sm sticky top-0 z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<div class="flex-shrink-0 flex items-center">
<i class="fas fa-bolt text-indigo-600 text-2xl mr-2"></i>
<span class="text-xl font-bold text-gray-900">1CLICK <span class="text-indigo-600">PRO</span></span>
</div>
<div class="hidden sm:ml-6 sm:flex sm:space-x-8">
<a href="#" class="border-indigo-500 text-gray-900 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium nav-link active">
<i class="fas fa-home mr-2"></i> Accueil
</a>
<a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium nav-link">
<i class="fas fa-globe mr-2"></i> Domaines
</a>
<a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium nav-link">
<i class="fas fa-server mr-2"></i> Hébergement
</a>
<a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium nav-link">
<i class="fas fa-user-shield mr-2"></i> SSL
</a>
</div>
</div>
<div class="hidden sm:ml-6 sm:flex sm:items-center">
<div class="relative ml-3">
<div class="flex space-x-4">
<button class="bg-indigo-600 text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 login-btn">
<i class="fas fa-sign-in-alt mr-2"></i> Connexion
</button>
<button class="bg-white border border-indigo-600 text-indigo-600 px-4 py-2 rounded-md text-sm font-medium hover:bg-indigo-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 register-btn">
<i class="fas fa-user-plus mr-2"></i> Inscription
</button>
</div>
</div>
</div>
<div class="-mr-2 flex items-center sm:hidden">
<button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 mobile-menu-btn">
<span class="sr-only">Ouvrir le menu principal</span>
<i class="fas fa-bars"></i>
</button>
</div>
</div>
</div>
<!-- Mobile menu -->
<div class="hidden sm:hidden mobile-menu">
<div class="pt-2 pb-3 space-y-1">
<a href="#" class="bg-indigo-50 border-indigo-500 text-indigo-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium nav-link-mobile active">Accueil</a>
<a href="#" class="border-transparent text-gray-600 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-800 block pl-3 pr-4 py-2 border-l-4 text-base font-medium nav-link-mobile">Domaines</a>
<a href="#" class="border-transparent text-gray-600 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-800 block pl-3 pr-4 py-2 border-l-4 text-base font-medium nav-link-mobile">Hébergement</a>
<a href="#" class="border-transparent text-gray-600 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-800 block pl-3 pr-4 py-2 border-l-4 text-base font-medium nav-link-mobile">SSL</a>
</div>
<div class="pt-4 pb-3 border-t border-gray-200">
<div class="space-y-1 px-2">
<button class="block w-full px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100 rounded-md login-btn-mobile">
<i class="fas fa-sign-in-alt mr-2"></i> Connexion
</button>
<button class="block w-full px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100 rounded-md register-btn-mobile">
<i class="fas fa-user-plus mr-2"></i> Inscription
</button>
</div>
</div>
</div>
</nav>
<!-- Hero Section -->
<div class="gradient-bg text-white">
<div class="max-w-7xl mx-auto py-16 px-4 sm:py-24 sm:px-6 lg:px-8 text-center">
<h1 class="text-4xl font-extrabold tracking-tight sm:text-5xl lg:text-6xl">
Infrastructure Web Automatisée <br>en <span class="text-yellow-300">1 CLICK</span>
</h1>
<p class="mt-6 text-xl max-w-3xl mx-auto">
Enregistrement instantané de domaine, déploiement SSL, DNS ultra-rapide et intégration Google - le tout automatisé 24h/7j avec propagation mondiale en secondes.
</p>
<!-- Domain Search -->
<div class="mt-10 max-w-2xl mx-auto">
<div class="domain-search bg-white rounded-lg overflow-hidden p-1">
<div class="flex">
<input type="text" class="flex-1 px-4 py-3 border-0 text-gray-900 focus:ring-0 focus:outline-none" placeholder="Recherchez votre nom de domaine..." id="domain-search-input">
<button class="bg-indigo-600 text-white px-6 py-3 font-medium hover:bg-indigo-700 domain-check-btn">
<i class="fas fa-search mr-2"></i> Vérifier
</button>
</div>
</div>
<p class="mt-3 text-sm text-indigo-200">
Essayez: doctorblog.fr, monbusiness.com, monnom.xyz
</p>
</div>
<div class="mt-16 relative">
<div class="absolute inset-0 flex items-center" aria-hidden="true">
<div class="w-full border-t border-white border-opacity-30"></div>
</div>
<div class="relative flex justify-center">
<span class="px-4 bg-indigo-600 text-sm font-medium text-white">
Propagation DNS en 3.7 secondes (moyenne mondiale)
</span>
</div>
</div>
</div>
</div>
<!-- Features Section -->
<div class="py-16 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="lg:text-center">
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl">
Tout ce dont vous avez besoin en <span class="text-gradient">un seul endroit</span>
</h2>
<p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto">
Notre plateforme tout-en-un vous permet de gérer votre présence en ligne en quelques clics.
</p>
</div>
<div class="mt-20">
<div class="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-4">
<!-- Feature 1 -->
<div class="card-hover bg-white p-8 rounded-xl shadow-md border border-gray-100 feature-card">
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-indigo-100 text-indigo-600 mx-auto">
<i class="fas fa-globe text-xl"></i>
</div>
<div class="mt-5 text-center">
<h3 class="text-lg font-medium text-gray-900">Domaines</h3>
<p class="mt-2 text-base text-gray-500">
Enregistrement instantané avec plus de 500 extensions disponibles
</p>
<div class="mt-4">
<span class="text-xs font-semibold inline-block py-1 px-2 rounded-full text-indigo-600 bg-indigo-100">
<i class="fas fa-bolt mr-1"></i> 3.7s propagation
</span>
</div>
<button class="mt-4 px-4 py-2 bg-indigo-600 text-white rounded-md text-sm font-medium hover:bg-indigo-700 feature-btn">
En savoir plus
</button>
</div>
</div>
<!-- Feature 2 -->
<div class="card-hover bg-white p-8 rounded-xl shadow-md border border-gray-100 feature-card">
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-green-100 text-green-600 mx-auto">
<i class="fas fa-lock text-xl"></i>
</div>
<div class="mt-5 text-center">
<h3 class="text-lg font-medium text-gray-900">SSL Automatique</h3>
<p class="mt-2 text-base text-gray-500">
Certificats SSL déployés automatiquement avec renouvellement sans intervention
</p>
<div class="mt-4">
<span class="text-xs font-semibold inline-block py-1 px-2 rounded-full text-green-600 bg-green-100">
<i class="fas fa-check mr-1"></i> 100% sécurisé
</span>
</div>
<button class="mt-4 px-4 py-2 bg-green-600 text-white rounded-md text-sm font-medium hover:bg-green-700 feature-btn">
En savoir plus
</button>
</div>
</div>
<!-- Feature 3 -->
<div class="card-hover bg-white p-8 rounded-xl shadow-md border border-gray-100 feature-card">
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-purple-100 text-purple-600 mx-auto">
<i class="fas fa-tachometer-alt text-xl"></i>
</div>
<div class="mt-5 text-center">
<h3 class="text-lg font-medium text-gray-900">DNS Ultra-Rapide</h3>
<p class="mt-2 text-base text-gray-500">
Infrastructure Anycast globale pour des résolutions DNS en millisecondes
</p>
<div class="mt-4">
<span class="text-xs font-semibold inline-block py-1 px-2 rounded-full text-purple-600 bg-purple-100">
<i class="fas fa-rocket mr-1"></i> 99.99% uptime
</span>
</div>
<button class="mt-4 px-4 py-2 bg-purple-600 text-white rounded-md text-sm font-medium hover:bg-purple-700 feature-btn">
En savoir plus
</button>
</div>
</div>
<!-- Feature 4 -->
<div class="card-hover bg-white p-8 rounded-xl shadow-md border border-gray-100 feature-card">
<div class="flex items-center justify-center h-12 w-12 rounded-md bg-pink-100 text-pink-600 mx-auto">
<i class="fab fa-google text-xl"></i>
</div>
<div class="mt-5 text-center">
<h3 class="text-lg font-medium text-gray-900">Intégration Google</h3>
<p class="mt-2 text-base text-gray-500">
Configuration automatique avec Search Console, Analytics et Workspace
</p>
<div class="mt-4">
<span class="text-xs font-semibold inline-block py-1 px-2 rounded-full text-pink-600 bg-pink-100">
<i class="fas fa-robot mr-1"></i> Automatisé
</span>
</div>
<button class="mt-4 px-4 py-2 bg-pink-600 text-white rounded-md text-sm font-medium hover:bg-pink-700 feature-btn">
En savoir plus
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Domain Registration Process -->
<div class="py-16 bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="lg:text-center">
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl">
Enregistrez votre domaine <span class="text-gradient">gratuitement</span>
</h2>
<p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto">
Obtenez un nom de domaine, SSL, DNS et hébergement en quelques secondes.
</p>
</div>
<!-- Process Steps -->
<div class="mt-16">
<div class="relative">
<!-- Progress Bar -->
<div class="hidden sm:block">
<div class="relative">
<div class="absolute inset-0 flex items-center" aria-hidden="true">
<div class="h-1 w-full bg-gray-200 rounded-full"></div>
</div>
<div class="relative flex justify-between">
<div class="flex items-center justify-center h-6 w-6 rounded-full bg-indigo-600">
<i class="fas fa-check text-white text-xs"></i>
</div>
<div class="flex items-center justify-center h-6 w-6 rounded-full bg-indigo-600">
<i class="fas fa-check text-white text-xs"></i>
</div>
<div class="flex items-center justify-center h-6 w-6 rounded-full bg-indigo-600">
<i class="fas fa-check text-white text-xs"></i>
</div>
<div class="flex items-center justify-center h-6 w-6 rounded-full bg-indigo-600">
<i class="fas fa-check text-white text-xs"></i>
</div>
</div>
</div>
</div>
<!-- Steps Content -->
<div class="mt-8 sm:mt-10">
<div class="grid grid-cols-1 gap-8 sm:grid-cols-4">
<!-- Step 1 -->
<div class="card-hover bg-white p-6 rounded-lg shadow-sm border border-gray-100 text-center">
<div class="flex items-center justify-center h-10 w-10 rounded-full bg-indigo-100 text-indigo-600 mx-auto">
<span class="text-lg font-bold">1</span>
</div>
<h3 class="mt-4 text-lg font-medium text-gray-900">Recherche</h3>
<p class="mt-2 text-sm text-gray-500">
Trouvez le domaine parfait parmi 500+ extensions
</p>
<div class="mt-4">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-indigo-100 text-indigo-800">
Instantané
</span>
</div>
<button class="mt-4 px-3 py-1 bg-indigo-600 text-white rounded-md text-sm font-medium hover:bg-indigo-700 step-btn">
Commencer
</button>
</div>
<!-- Step 2 -->
<div class="card-hover bg-white p-6 rounded-lg shadow-sm border border-gray-100 text-center">
<div class="flex items-center justify-center h-10 w-10 rounded-full bg-indigo-100 text-indigo-600 mx-auto">
<span class="text-lg font-bold">2</span>
</div>
<h3 class="mt-4 text-lg font-medium text-gray-900">Enregistrement</h3>
<p class="mt-2 text-sm text-gray-500">
Réservation sécurisée avec WHOIS protection
</p>
<div class="mt-4">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-indigo-100 text-indigo-800">
Automatisé
</span>
</div>
<button class="mt-4 px-3 py-1 bg-indigo-600 text-white rounded-md text-sm font-medium hover:bg-indigo-700 step-btn">
S'enregistrer
</button>
</div>
<!-- Step 3 -->
<div class="card-hover bg-white p-6 rounded-lg shadow-sm border border-gray-100 text-center">
<div class="flex items-center justify-center h-10 w-10 rounded-full bg-indigo-100 text-indigo-600 mx-auto">
<span class="text-lg font-bold">3</span>
</div>
<h3 class="mt-4 text-lg font-medium text-gray-900">Configuration</h3>
<p class="mt-2 text-sm text-gray-500">
DNS, SSL et intégrations configurés automatiquement
</p>
<div class="mt-4">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-indigo-100 text-indigo-800">
3.7s
</span>
</div>
<button class="mt-4 px-3 py-1 bg-indigo-600 text-white rounded-md text-sm font-medium hover:bg-indigo-700 step-btn">
Configurer
</button>
</div>
<!-- Step 4 -->
<div class="card-hover bg-white p-6 rounded-lg shadow-sm border border-gray-100 text-center">
<div class="flex items-center justify-center h-10 w-10 rounded-full bg-indigo-100 text-indigo-600 mx-auto">
<span class="text-lg font-bold">4</span>
</div>
<h3 class="mt-4 text-lg font-medium text-gray-900">Hébergement</h3>
<p class="mt-2 text-sm text-gray-500">
Site en ligne avec hébergement haute performance
</p>
<div class="mt-4">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-indigo-100 text-indigo-800">
Gratuit 1 an
</span>
</div>
<button class="mt-4 px-3 py-1 bg-indigo-600 text-white rounded-md text-sm font-medium hover:bg-indigo-700 step-btn">
Démarrer
</button>
</div>
</div>
</div>
</div>
</div>
<div class="mt-16 text-center">
<button class="pulse-animation px-8 py-4 bg-indigo-600 text-white rounded-lg text-lg font-bold hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 free-trial-btn">
<i class="fas fa-play-circle mr-2"></i> Essai gratuit 14 jours
</button>
</div>
</div>
</div>
<!-- Admin Dashboard Section -->
<div class="py-16 bg-white" id="admin-dashboard">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center">
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl">
<span class="text-gradient">Tableau de Bord</span> Administrateur
</h2>
<p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto">
Accès exclusif pour la gestion complète de votre infrastructure.
</p>
</div>
<!-- Admin Login -->
<div class="mt-12 max-w-md mx-auto bg-gray-50 rounded-xl shadow-md overflow-hidden">
<div class="gradient-bg px-6 py-4">
<h3 class="text-lg font-medium text-white">Connexion Administrateur</h3>
</div>
<div class="p-6">
<form id="admin-login-form">
<div>
<label for="email" class="block text-sm font-medium text-gray-700">Email Admin</label>
<input type="email" id="email" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500" value="vgp.bavol@gmail.com" readonly>
</div>
<div class="mt-4">
<label for="password" class="block text-sm font-medium text-gray-700">Mot de passe</label>
<input type="password" id="password" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500" value="Admin270574@">
</div>
<div class="mt-6">
<button type="submit" class="w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 admin-login-btn">
<i class="fas fa-sign-in-alt mr-2"></i> Se connecter
</button>
</div>
</form>
</div>
</div>
<!-- Dashboard Preview -->
<div class="mt-16 bg-gray-900 rounded-xl overflow-hidden shadow-xl hidden" id="dashboard-preview">
<!-- Dashboard Header -->
<div class="bg-gray-800 px-6 py-4 flex items-center justify-between">
<div class="flex items-center">
<i class="fas fa-shield-alt text-indigo-500 mr-3"></i>
<span class="text-white font-medium">Tableau de Bord Admin</span>
</div>
<div class="flex items-center space-x-4">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
<i class="fas fa-circle text-green-500 mr-1"></i> Connecté
</span>
<button class="text-gray-400 hover:text-white notification-btn">
<i class="fas fa-bell"></i>
<span class="absolute top-0 right-0 h-2 w-2 rounded-full bg-red-500 notification-dot hidden"></span>
</button>
</div>
</div>
<!-- Dashboard Content -->
<div class="grid grid-cols-1 md:grid-cols-4 gap-6 p-6">
<!-- Stats Card 1 -->
<div class="bg-gray-800 rounded-lg p-4 shadow">
<div class="flex items-center">
<div class="flex-shrink-0 bg-indigo-500 rounded-md p-3">
<i class="fas fa-globe text-white"></i>
</div>
<div class="ml-4">
<h3 class="text-sm font-medium text-gray-400">Domaines Actifs</h3>
<p class="text-2xl font-semibold text-white">12</p>
</div>
</div>
<div class="mt-4">
<div class="h-1 w-full bg-gray-700 rounded-full">
<div class="h-1 bg-indigo-500 rounded-full" style="width: 75%"></div>
</div>
<p class="mt-1 text-xs text-gray-400">75% de votre quota</p>
</div>
<button class="mt-3 w-full px-2 py-1 bg-gray-700 text-indigo-400 text-xs font-medium rounded hover:bg-gray-600 dashboard-btn">
<i class="fas fa-plus mr-1"></i> Ajouter
</button>
</div>
<!-- Stats Card 2 -->
<div class="bg-gray-800 rounded-lg p-4 shadow">
<div class="flex items-center">
<div class="flex-shrink-0 bg-green-500 rounded-md p-3">
<i class="fas fa-lock text-white"></i>
</div>
<div class="ml-4">
<h3 class="text-sm font-medium text-gray-400">Certificats SSL</h3>
<p class="text-2xl font-semibold text-white">8</p>
</div>
</div>
<div class="mt-4">
<div class="h-1 w-full bg-gray-700 rounded-full">
<div class="h-1 bg-green-500 rounded-full" style="width: 100%"></div>
</div>
<p class="mt-1 text-xs text-gray-400">Tous actifs</p>
</div>
<button class="mt-3 w-full px-2 py-1 bg-gray-700 text-green-400 text-xs font-medium rounded hover:bg-gray-600 dashboard-btn">
<i class="fas fa-sync-alt mr-1"></i> Renouveler
</button>
</div>
<!-- Stats Card 3 -->
<div class="bg-gray-800 rounded-lg p-4 shadow">
<div class="flex items-center">
<div class="flex-shrink-0 bg-purple-500 rounded-md p-3">
<i class="fas fa-tachometer-alt text-white"></i>
</div>
<div class="ml-4">
<h3 class="text-sm font-medium text-gray-400">Performance DNS</h3>
<p class="text-2xl font-semibold text-white">3.2s</p>
</div>
</div>
<div class="mt-4">
<div class="h-1 w-full bg-gray-700 rounded-full">
<div class="h-1 bg-purple-500 rounded-full" style="width: 90%"></div>
</div>
<p class="mt-1 text-xs text-gray-400">Moyenne mondiale</p>
</div>
<button class="mt-3 w-full px-2 py-1 bg-gray-700 text-purple-400 text-xs font-medium rounded hover:bg-gray-600 dashboard-btn">
<i class="fas fa-chart-line mr-1"></i> Statistiques
</button>
</div>
<!-- Stats Card 4 -->
<div class="bg-gray-800 rounded-lg p-4 shadow">
<div class="flex items-center">
<div class="flex-shrink-0 bg-pink-500 rounded-md p-3">
<i class="fab fa-google text-white"></i>
</div>
<div class="ml-4">
<h3 class="text-sm font-medium text-gray-400">Intégrations</h3>
<p class="text-2xl font-semibold text-white">5</p>
</div>
</div>
<div class="mt-4">
<div class="h-1 w-full bg-gray-700 rounded-full">
<div class="h-1 bg-pink-500 rounded-full" style="width: 50%"></div>
</div>
<p class="mt-1 text-xs text-gray-400">2 configurations requises</p>
</div>
<button class="mt-3 w-full px-2 py-1 bg-gray-700 text-pink-400 text-xs font-medium rounded hover:bg-gray-600 dashboard-btn">
<i class="fas fa-cog mr-1"></i> Configurer
</button>
</div>
</div>
<!-- Domain Management -->
<div class="px-6 pb-6">
<div class="bg-gray-800 rounded-lg shadow overflow-hidden">
<div class="px-6 py-4 border-b border-gray-700 flex justify-between items-center">
<h3 class="text-lg font-medium text-white">Gestion des Domaines</h3>
<button class="px-3 py-1 bg-indigo-600 text-white text-sm rounded-md hover:bg-indigo-700 add-domain-btn">
<i class="fas fa-plus mr-1"></i> Ajouter
</button>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-700">
<thead class="bg-gray-800">
<tr>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider">Domaine</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider">Expiration</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider">SSL</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider">DNS</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-400 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody class="bg-gray-800 divide-y divide-gray-700">
<tr>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center text-indigo-600">
<i class="fas fa-globe"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-white">doctorblog.fr</div>
<div class="text-sm text-gray-400">vgp.bavol@gmail.com</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
2024-06-15
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<i class="fas fa-check-circle text-green-500"></i>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-400">
<span class="text-green-500"></span> Actif (3.2s)
</td>
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
<button class="text-indigo-400 hover:text-indigo-300 mr-3 domain-config-btn">
<i class="fas fa-cog"></i>
</button>
<button class="text-red-400 hover:text-red-300 domain-delete-btn">
<i class="fas fa-trash"></i>
</button>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center text-indigo-600">
<i class="fas fa-globe"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-white">monbusiness.com</div>
<div class="text-sm text-gray-400">doctorblog.fr@gmail.com</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">
2023-12-01
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<i class="fas fa-check-circle text-green-500"></i>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-400">
<span class="text-green-500"></span> Actif (2.8s)
</td>
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
<button class="text-indigo-400 hover:text-indigo-300 mr-3 domain-config-btn">
<i class="fas fa-cog"></i>
</button>
<button class="text-red-400 hover:text-red-300 domain-delete-btn">
<i class="fas fa-trash"></i>
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Payment Section -->
<div class="px-6 pb-6">
<div class="bg-gray-800 rounded-lg shadow overflow-hidden">
<div class="px-6 py-4 border-b border-gray-700">
<h3 class="text-lg font-medium text-white">Paiements & Facturation</h3>
</div>
<div class="p-6">
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<!-- Payment Methods -->
<div class="bg-gray-700 rounded-lg p-4">
<h4 class="text-md font-medium text-white mb-4">Méthodes de Paiement</h4>
<div class="space-y-4">
<div class="flex items-center justify-between p-3 bg-gray-600 rounded-lg payment-method active" data-method="paypal">
<div class="flex items-center">
<div class="bg-white p-2 rounded-md">
<i class="fab fa-cc-paypal text-blue-500 text-xl"></i>
</div>
<span class="ml-3 text-white">PayPal</span>
</div>
<button class="text-green-400 hover:text-green-300 payment-select-btn">
<i class="fas fa-check-circle"></i>
</button>
</div>
<div class="flex items-center justify-between p-3 bg-gray-600 rounded-lg payment-method" data-method="stripe">
<div class="flex items-center">
<div class="bg-white p-2 rounded-md">
<i class="fab fa-cc-stripe text-purple-500 text-xl"></i>
</div>
<span class="ml-3 text-white">Stripe</span>
</div>
<button class="text-green-400 hover:text-green-300 payment-select-btn">
<i class="fas fa-check-circle"></i>
</button>
</div>
<div class="flex items-center justify-between p-3 bg-gray-600 rounded-lg payment-method" data-method="card">
<div class="flex items-center">
<div class="bg-white p-2 rounded-md">
<i class="fas fa-credit-card text-gray-500 text-xl"></i>
</div>
<span class="ml-3 text-white">Carte Bancaire</span>
</div>
<button class="text-gray-400 hover:text-gray-300 payment-select-btn">
<i class="fas fa-plus-circle"></i>
</button>
</div>
</div>
</div>
<!-- Cart -->
<div class="bg-gray-700 rounded-lg p-4 md:col-span-2">
<h4 class="text-md font-medium text-white mb-4">Panier d'Achat</h4>
<div class="space-y-4">
<div class="flex justify-between items-center p-3 bg-gray-600 rounded-lg">
<div>
<p class="text-white">Enregistrement de domaine (doctorblog.fr)</p>
<p class="text-sm text-gray-400">1 an - Renouvellement automatique</p>
</div>
<span class="text-white font-medium">9.99€</span>
</div>
<div class="flex justify-between items-center p-3 bg-gray-600 rounded-lg">
<div>
<p class="text-white">Certificat SSL Premium</p>
<p class="text-sm text-gray-400">Valide 1 an - Installation automatique</p>
</div>
<span class="text-white font-medium">0.00€</span>
</div>
<div class="flex justify-between items-center p-3 bg-gray-600 rounded-lg">
<div>
<p class="text-white">Hébergement PRO (1 an)</p>
<p class="text-sm text-gray-400">50GB stockage - Bande passante illimitée</p>
</div>
<span class="text-white font-medium">59.99€</span>
</div>
<div class="border-t border-gray-600 pt-4 mt-4">
<div class="flex justify-between">
<span class="text-gray-400">Total HT</span>
<span class="text-white">69.98€</span>
</div>
<div class="flex justify-between mt-2">
<span class="text-gray-400">TVA (20%)</span>
<span class="text-white">13.99€</span>
</div>
<div class="flex justify-between mt-4 font-bold">
<span class="text-white">Total TTC</span>
<span class="text-white text-xl">83.97€</span>
</div>
</div>
<div class="mt-6 grid grid-cols-2 gap-4">
<button class="flex items-center justify-center px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 paypal-btn">
<i class="fab fa-cc-paypal mr-2"></i> PayPal
</button>
<button class="flex items-center justify-center px-4 py-2 bg-purple-600 text-white rounded-md hover:bg-purple-700 stripe-btn">
<i class="fab fa-cc-stripe mr-2"></i> Stripe
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- CTA Section -->
<div class="bg-indigo-700">
<div class="max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8">
<h2 class="text-3xl font-extrabold text-white sm:text-4xl">
<span class="block">Prêt à lancer votre présence en ligne ?</span>
<span class="block">Commencez gratuitement dès aujourd'hui.</span>
</h2>
<p class="mt-4 text-lg leading-6 text-indigo-200">
Essayez notre plateforme pendant 14 jours sans engagement. Aucune carte de crédit requise.
</p>
<button class="mt-8 w-full inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-indigo-50 sm:w-auto cta-btn">
<i class="fas fa-play-circle mr-2"></i> Essai gratuit
</button>
</div>
</div>
<!-- Footer -->
<footer class="bg-gray-800">
<div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-2 md:grid-cols-4 gap-8">
<div>
<h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">
Produit
</h3>
<ul class="mt-4 space-y-4">
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Domaines
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Hébergement
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Certificats SSL
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
DNS Premium
</a>
</li>
</ul>
</div>
<div>
<h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">
Ressources
</h3>
<ul class="mt-4 space-y-4">
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Documentation
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Tutoriels
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Statut des services
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Support
</a>
</li>
</ul>
</div>
<div>
<h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">
Entreprise
</h3>
<ul class="mt-4 space-y-4">
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
À propos
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Carrières
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Presse
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Contact
</a>
</li>
</ul>
</div>
<div>
<h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">
Légal
</h3>
<ul class="mt-4 space-y-4">
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Confidentialité
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Conditions
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
Cookies
</a>
</li>
<li>
<a href="#" class="text-base text-gray-300 hover:text-white footer-link">
RGPD
</a>
</li>
</ul>
</div>
</div>
<div class="mt-12 border-t border-gray-700 pt-8 flex flex-col md:flex-row justify-between items-center">
<div class="flex space-x-6">
<a href="#" class="text-gray-400 hover:text-gray-300 social-link">
<span class="sr-only">Facebook</span>
<i class="fab fa-facebook-f"></i>
</a>
<a href="#" class="text-gray-400 hover:text-gray-300 social-link">
<span class="sr-only">Twitter</span>
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="text-gray-400 hover:text-gray-300 social-link">
<span class="sr-only">Instagram</span>
<i class="fab fa-instagram"></i>
</a>
<a href="#" class="text-gray-400 hover:text-gray-300 social-link">
<span class="sr-only">LinkedIn</span>
<i class="fab fa-linkedin-in"></i>
</a>
</div>
<p class="mt-8 md:mt-0 text-base text-gray-400">
&copy; 2023 1CLICK PRO. Tous droits réservés.
</p>
</div>
</div>
</footer>
<!-- Floating Elements -->
<div class="fixed bottom-6 right-6 z-50">
<button class="pulse-animation p-4 bg-indigo-600 text-white rounded-full shadow-lg hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 chat-btn">
<i class="fas fa-comment-dots text-xl"></i>
</button>
</div>
<div class="fixed top-1/4 left-10 z-40 floating hidden md:block">
<div class="bg-white p-4 rounded-lg shadow-xl w-64 notification-box">
<div class="flex items-center">
<div class="flex-shrink-0 bg-green-100 p-2 rounded-full">
<i class="fas fa-check text-green-600"></i>
</div>
<div class="ml-3">
<p class="text-sm font-medium text-gray-900">Domaine enregistré!</p>
<p class="text-xs text-gray-500">doctorblog.fr activé</p>
</div>
</div>
</div>
</div>
<div class="fixed top-1/3 right-10 z-40 floating hidden md:block">
<div class="bg-indigo-600 p-4 rounded-lg shadow-xl w-64">
<div class="flex items-center">
<div class="flex-shrink-0 bg-white p-2 rounded-full text-indigo-600">
<i class="fas fa-bolt"></i>
</div>
<div class="ml-3">
<p class="text-sm font-medium text-white">DNS propagé en 3.2s</p>
<p class="text-xs text-indigo-200">Moyenne mondiale</p>
</div>
</div>
</div>
</div>
<!-- Chat Widget -->
<div class="fixed bottom-24 right-6 z-50 hidden" id="chat-widget">
<div class="bg-white rounded-lg shadow-xl w-80 overflow-hidden">
<div class="bg-indigo-600 px-4 py-3 flex justify-between items-center">
<h3 class="text-white font-medium">Support en direct</h3>
<button class="text-white hover:text-indigo-200 chat-close-btn">
<i class="fas fa-times"></i>
</button>
</div>
<div class="p-4 h-64 overflow-y-auto chat-messages">
<div class="mb-4">
<div class="bg-gray-100 rounded-lg p-3 max-w-xs">
<p class="text-sm">Bonjour! Comment pouvons-nous vous aider aujourd'hui?</p>
</div>
<p class="text-xs text-gray-500 mt-1">Support, il y a 1 minute</p>
</div>
</div>
<div class="px-4 py-3 border-t border-gray-200">
<div class="flex">
<input type="text" class="flex-1 border border-gray-300 rounded-l-md px-3 py-2 focus:outline-none focus:ring-1 focus:ring-indigo-500" placeholder="Tapez votre message...">
<button class="bg-indigo-600 text-white px-3 py-2 rounded-r-md hover:bg-indigo-700 chat-send-btn">
<i class="fas fa-paper-plane"></i>
</button>
</div>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Mobile menu toggle
const mobileMenuBtn = document.querySelector('.mobile-menu-btn');
const mobileMenu = document.querySelector('.mobile-menu');
mobileMenuBtn.addEventListener('click', function() {
mobileMenu.classList.toggle('hidden');
});
// Navigation links
const navLinks = document.querySelectorAll('.nav-link, .nav-link-mobile');
navLinks.forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault();
navLinks.forEach(l => l.classList.remove('active', 'border-indigo-500', 'text-gray-900', 'bg-indigo-50'));
this.classList.add('active', 'border-indigo-500', 'text-gray-900', 'bg-indigo-50');
// Scroll to section
const target = this.getAttribute('href');
if (target && target !== '#') {
document.querySelector(target).scrollIntoView({
behavior: 'smooth'
});
}
// Close mobile menu if open
if (!mobileMenu.classList.contains('hidden')) {
mobileMenu.classList.add('hidden');
}
});
});
// All buttons with click effects
const buttons = document.querySelectorAll('button:not([disabled]), .btn, .feature-btn, .step-btn, .free-trial-btn, .login-btn, .register-btn, .admin-login-btn, .dashboard-btn, .domain-config-btn, .domain-delete-btn, .add-domain-btn, .payment-select-btn, .paypal-btn, .stripe-btn, .cta-btn, .chat-btn, .chat-close-btn, .chat-send-btn, .notification-btn');
buttons.forEach(button => {
// Add active state on click
button.addEventListener('mousedown', function() {
this.classList.add('button-active');
});
button.addEventListener('mouseup', function() {
this.classList.remove('button-active');
});
button.addEventListener('mouseleave', function() {
this.classList.remove('button-active');
});
// Add loading state for important buttons
if (button.classList.contains('admin-login-btn') ||
button.classList.contains('paypal-btn') ||
button.classList.contains('stripe-btn') ||
button.classList.contains('cta-btn') ||
button.classList.contains('domain-check-btn')) {
button.addEventListener('click', function(e) {
if (this.classList.contains('button-loading')) return;
e.preventDefault();
const originalContent = this.innerHTML;
this.classList.add('button-loading');
// Simulate async action
setTimeout(() => {
this.classList.remove('button-loading');
this.innerHTML = originalContent;
// Special actions for specific buttons
if (this.classList.contains('admin-login-btn')) {
document.getElementById('dashboard-preview').classList.remove('hidden');
document.getElementById('dashboard-preview').classList.add('fade-in');
window.scrollTo({
top: document.getElementById('admin-dashboard').offsetTop,
behavior: 'smooth'
});
}
if (this.classList.contains('domain-check-btn')) {
const input = document.getElementById('domain-search-input');
if (input.value.trim() !== '') {
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Domaine disponible!';
notification.querySelector('p.text-gray-500').textContent = input.value + ' peut être enregistré';
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 3000);
}
}
if (this.classList.contains('paypal-btn') || this.classList.contains('stripe-btn')) {
document.querySelector('.notification-dot').classList.remove('hidden');
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Paiement accepté!';
notification.querySelector('p.text-gray-500').textContent = 'Votre commande est complète';
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 3000);
}
}, 1500);
});
}
});
// Payment method selection
const paymentMethods = document.querySelectorAll('.payment-method');
paymentMethods.forEach(method => {
method.addEventListener('click', function() {
paymentMethods.forEach(m => m.classList.remove('active'));
this.classList.add('active');
});
});
// Chat widget
const chatBtn = document.querySelector('.chat-btn');
const chatWidget = document.getElementById('chat-widget');
const chatCloseBtn = document.querySelector('.chat-close-btn');
chatBtn.addEventListener('click', function() {
chatWidget.classList.toggle('hidden');
chatWidget.classList.add('fade-in');
});
chatCloseBtn.addEventListener('click', function() {
chatWidget.classList.add('hidden');
});
// Send chat message
const chatSendBtn = document.querySelector('.chat-send-btn');
const chatInput = document.querySelector('.chat-messages + div input');
chatSendBtn.addEventListener('click', function() {
if (chatInput.value.trim() !== '') {
const messagesContainer = document.querySelector('.chat-messages');
const newMessage = document.createElement('div');
newMessage.className = 'mb-4 text-right';
newMessage.innerHTML = `
<div class="bg-indigo-100 rounded-lg p-3 inline-block">
<p class="text-sm">${chatInput.value}</p>
</div>
<p class="text-xs text-gray-500 mt-1">Vous, à l'instant</p>
`;
messagesContainer.appendChild(newMessage);
messagesContainer.scrollTop = messagesContainer.scrollHeight;
chatInput.value = '';
// Simulate reply
setTimeout(() => {
const replyMessage = document.createElement('div');
replyMessage.className = 'mb-4';
replyMessage.innerHTML = `
<div class="bg-gray-100 rounded-lg p-3 max-w-xs">
<p class="text-sm">Merci pour votre message! Un agent vous répondra sous peu.</p>
</div>
<p class="text-xs text-gray-500 mt-1">Support, à l'instant</p>
`;
messagesContainer.appendChild(replyMessage);
messagesContainer.scrollTop = messagesContainer.scrollHeight;
}, 1000);
}
});
// Enter key in chat
chatInput.addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
chatSendBtn.click();
}
});
// Notification dot
const notificationBtn = document.querySelector('.notification-btn');
const notificationDot = document.querySelector('.notification-dot');
notificationBtn.addEventListener('click', function() {
notificationDot.classList.add('hidden');
});
// Feature buttons
const featureButtons = document.querySelectorAll('.feature-btn');
featureButtons.forEach(btn => {
btn.addEventListener('click', function() {
const featureCard = this.closest('.feature-card');
featureCard.querySelector('p.text-base').textContent = 'Chargement des détails...';
this.classList.add('button-loading');
setTimeout(() => {
this.classList.remove('button-loading');
featureCard.querySelector('p.text-base').textContent = 'Détails chargés avec succès!';
this.textContent = 'Voir détails';
}, 1000);
});
});
// Domain check button
const domainCheckBtn = document.querySelector('.domain-check-btn');
domainCheckBtn.addEventListener('click', function() {
const input = document.getElementById('domain-search-input');
if (input.value.trim() === '') {
input.focus();
return;
}
this.classList.add('button-loading');
setTimeout(() => {
this.classList.remove('button-loading');
this.innerHTML = '<i class="fas fa-check mr-2"></i> Disponible!';
this.classList.remove('bg-indigo-600');
this.classList.add('bg-green-600');
setTimeout(() => {
this.innerHTML = '<i class="fas fa-search mr-2"></i> Vérifier';
this.classList.remove('bg-green-600');
this.classList.add('bg-indigo-600');
}, 3000);
}, 1500);
});
// Free trial button
const freeTrialBtn = document.querySelector('.free-trial-btn');
freeTrialBtn.addEventListener('click', function() {
this.classList.add('button-loading');
setTimeout(() => {
this.classList.remove('button-loading');
this.innerHTML = '<i class="fas fa-check mr-2"></i> Essai démarré!';
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Essai gratuit activé!';
notification.querySelector('p.text-gray-500').textContent = '14 jours d\'essai commencés';
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 3000);
}, 1500);
});
// CTA button
const ctaBtn = document.querySelector('.cta-btn');
ctaBtn.addEventListener('click', function() {
this.classList.add('button-loading');
setTimeout(() => {
this.classList.remove('button-loading');
this.innerHTML = '<i class="fas fa-check mr-2"></i> Essai démarré!';
// Scroll to top
window.scrollTo({
top: 0,
behavior: 'smooth'
});
}, 1500);
});
// Add domain button
const addDomainBtn = document.querySelector('.add-domain-btn');
if (addDomainBtn) {
addDomainBtn.addEventListener('click', function() {
this.classList.add('button-loading');
setTimeout(() => {
this.classList.remove('button-loading');
// Add new domain to table
const tableBody = document.querySelector('tbody');
const newRow = document.createElement('tr');
newRow.className = 'fade-in';
newRow.innerHTML = `
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center text-indigo-600">
<i class="fas fa-globe"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-white">nouveaudomaine.fr</div>
<div class="text-sm text-gray-400">vgp.bavol@gmail.com</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
${new Date().getFullYear() + 1}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}-${new Date().getDate().toString().padStart(2, '0')}
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<i class="fas fa-check-circle text-green-500"></i>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-400">
<span class="text-green-500">●</span> Actif (3.1s)
</td>
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
<button class="text-indigo-400 hover:text-indigo-300 mr-3 domain-config-btn">
<i class="fas fa-cog"></i>
</button>
<button class="text-red-400 hover:text-red-300 domain-delete-btn">
<i class="fas fa-trash"></i>
</button>
</td>
`;
tableBody.prepend(newRow);
// Update domains count
const domainsCount = document.querySelector('.bg-gray-800.rounded-lg.shadow .text-2xl');
if (domainsCount) {
domainsCount.textContent = parseInt(domainsCount.textContent) + 1;
}
// Show notification
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Domaine ajouté!';
notification.querySelector('p.text-gray-500').textContent = 'nouveaudomaine.fr activé';
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 3000);
}, 1000);
});
}
// Domain delete buttons
const domainDeleteBtns = document.querySelectorAll('.domain-delete-btn');
domainDeleteBtns.forEach(btn => {
btn.addEventListener('click', function() {
const row = this.closest('tr');
row.classList.add('opacity-50');
setTimeout(() => {
row.remove();
// Update domains count
const domainsCount = document.querySelector('.bg-gray-800.rounded-lg.shadow .text-2xl');
if (domainsCount) {
domainsCount.textContent = parseInt(domainsCount.textContent) - 1;
}
// Show notification
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Domaine supprimé!';
notification.querySelector('p.text-gray-500').textContent = 'Opération réussie';
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 3000);
}, 500);
});
});
// Domain config buttons
const domainConfigBtns = document.querySelectorAll('.domain-config-btn');
domainConfigBtns.forEach(btn => {
btn.addEventListener('click', function() {
const domainName = this.closest('tr').querySelector('.text-sm.font-medium').textContent;
// Show notification
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Configuration ouverte';
notification.querySelector('p.text-gray-500').textContent = `Pour ${domainName}`;
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 3000);
});
});
// Social links
const socialLinks = document.querySelectorAll('.social-link');
socialLinks.forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault();
// Show notification
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Réseau social ouvert';
notification.querySelector('p.text-gray-500').textContent = 'Ouverture dans un nouvel onglet';
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 3000);
});
});
// Footer links
const footerLinks = document.querySelectorAll('.footer-link');
footerLinks.forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault();
// Show notification
const notification = document.querySelector('.notification-box');
notification.querySelector('p.text-gray-900').textContent = 'Navigation';
notification.querySelector('p.text-gray-500').textContent = this.textContent.trim() + ' sélectionné';
notification.classList.remove('hidden');
setTimeout(() => {
notification.classList.add('hidden');
}, 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=docto41/ultradns-pro" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>