| <!DOCTYPE html> |
| <html lang="fr"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>HyperDNS Pro - Générateur et Enregistrement de Domaines</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> |
| .progress-bar { |
| transition: width 2s ease-in-out; |
| } |
| .glow { |
| box-shadow: 0 0 15px rgba(16, 185, 129, 0.5); |
| } |
| @keyframes pulse { |
| 0%, 100% { opacity: 1; } |
| 50% { opacity: 0.7; } |
| } |
| .pulse { |
| animation: pulse 2s infinite; |
| } |
| .domain-option:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); |
| } |
| .floating { |
| animation: floating 3s ease-in-out infinite; |
| } |
| @keyframes floating { |
| 0%, 100% { transform: translateY(0); } |
| 50% { transform: translateY(-5px); } |
| } |
| </style> |
| </head> |
| <body class="bg-gray-50 font-sans"> |
| <div class="min-h-screen flex flex-col"> |
| |
| <header class="bg-gradient-to-r from-gray-900 to-gray-800 text-white shadow-xl"> |
| <div class="container mx-auto px-4 py-3 flex justify-between items-center"> |
| <div class="flex items-center space-x-3"> |
| <i class="fas fa-server text-2xl text-emerald-400"></i> |
| <h1 class="text-xl font-bold">Hyper<span class="text-emerald-400">DNS</span> Pro</h1> |
| </div> |
| <div class="flex items-center space-x-4"> |
| <div class="flex items-center space-x-2 bg-gray-700 px-3 py-1 rounded-full"> |
| <span class="h-2 w-2 bg-emerald-400 rounded-full pulse"></span> |
| <span class="text-xs">CONNECTÉ</span> |
| </div> |
| <div class="flex items-center space-x-2"> |
| <div class="h-8 w-8 bg-emerald-500 rounded-full flex items-center justify-center"> |
| <i class="fas fa-user text-white"></i> |
| </div> |
| <span class="font-medium">Administrateur</span> |
| </div> |
| </div> |
| </div> |
| </header> |
|
|
| |
| <div class="flex flex-1"> |
| |
| <aside class="w-64 bg-white shadow-lg hidden md:block"> |
| <div class="p-4"> |
| <div class="bg-emerald-50 p-3 rounded-lg mb-6 border border-emerald-100"> |
| <div class="flex items-center space-x-3"> |
| <div class="h-10 w-10 bg-emerald-100 rounded-full flex items-center justify-center"> |
| <i class="fas fa-bolt text-emerald-600"></i> |
| </div> |
| <div> |
| <p class="text-xs text-gray-500">Mode Automatique</p> |
| <p class="font-bold text-emerald-600">Activé</p> |
| </div> |
| </div> |
| </div> |
| |
| <nav> |
| <ul class="space-y-1"> |
| <li> |
| <a href="#" class="flex items-center space-x-3 p-3 bg-emerald-50 text-emerald-700 rounded-lg font-medium border border-emerald-100"> |
| <i class="fas fa-tachometer-alt w-5 text-center"></i> |
| <span>Tableau de bord</span> |
| </a> |
| </li> |
| <li> |
| <a href="#" class="flex items-center space-x-3 p-3 hover:bg-gray-50 rounded-lg"> |
| <i class="fas fa-globe w-5 text-center"></i> |
| <span>Gestion de domaines</span> |
| </a> |
| </li> |
| <li> |
| <a href="#" class="flex items-center space-x-3 p-3 hover:bg-gray-50 rounded-lg"> |
| <i class="fas fa-lock w-5 text-center"></i> |
| <span>Certificats SSL</span> |
| </a> |
| </li> |
| <li> |
| <a href="#" class="flex items-center space-x-3 p-3 hover:bg-gray-50 rounded-lg"> |
| <i class="fas fa-network-wired w-5 text-center"></i> |
| <span>Configuration DNS</span> |
| </a> |
| </li> |
| <li> |
| <a href="#" class="flex items-center space-x-3 p-3 hover:bg-gray-50 rounded-lg"> |
| <i class="fas fa-search-dollar w-5 text-center"></i> |
| <span>Référencement SEO</span> |
| </a> |
| </li> |
| <li> |
| <a href="#" class="flex items-center space-x-3 p-3 hover:bg-gray-50 rounded-lg"> |
| <i class="fas fa-chart-pie w-5 text-center"></i> |
| <span>Analytiques</span> |
| </a> |
| </li> |
| </ul> |
| </nav> |
| </div> |
| </aside> |
|
|
| |
| <main class="flex-1 p-4"> |
| <div class="container mx-auto"> |
| |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-6"> |
| <div class="bg-white rounded-lg shadow p-4 border border-gray-100"> |
| <div class="flex justify-between"> |
| <div> |
| <p class="text-gray-500 text-sm">Domaines actifs</p> |
| <p class="text-2xl font-bold mt-1">1,842</p> |
| </div> |
| <div class="h-10 w-10 bg-blue-50 rounded-full flex items-center justify-center"> |
| <i class="fas fa-globe text-blue-500"></i> |
| </div> |
| </div> |
| <div class="mt-3 text-xs text-gray-500 flex items-center"> |
| <span class="h-2 w-2 bg-emerald-400 rounded-full mr-1"></span> |
| <span>+12 nouveaux aujourd'hui</span> |
| </div> |
| </div> |
|
|
| <div class="bg-white rounded-lg shadow p-4 border border-gray-100"> |
| <div class="flex justify-between"> |
| <div> |
| <p class="text-gray-500 text-sm">Certificats SSL</p> |
| <p class="text-2xl font-bold mt-1">1,726</p> |
| </div> |
| <div class="h-10 w-10 bg-green-50 rounded-full flex items-center justify-center"> |
| <i class="fas fa-lock text-green-500"></i> |
| </div> |
| </div> |
| <div class="mt-3 text-xs text-gray-500 flex items-center"> |
| <span class="h-2 w-2 bg-amber-400 rounded-full mr-1"></span> |
| <span>5 expirent dans 7 jours</span> |
| </div> |
| </div> |
|
|
| <div class="bg-white rounded-lg shadow p-4 border border-gray-100"> |
| <div class="flex justify-between"> |
| <div> |
| <p class="text-gray-500 text-sm">Propagation globale</p> |
| <p class="text-2xl font-bold mt-1">99.3%</p> |
| </div> |
| <div class="h-10 w-10 bg-purple-50 rounded-full flex items-center justify-center"> |
| <i class="fas fa-bolt text-purple-500"></i> |
| </div> |
| </div> |
| <div class="mt-3 text-xs text-gray-500"> |
| <span>Mise à jour: <span class="font-medium">il y a 2s</span></span> |
| </div> |
| </div> |
|
|
| <div class="bg-white rounded-lg shadow p-4 border border-gray-100"> |
| <div class="flex justify-between"> |
| <div> |
| <p class="text-gray-500 text-sm">Positionnement SEO</p> |
| <p class="text-2xl font-bold mt-1">Top 0.05%</p> |
| </div> |
| <div class="h-10 w-10 bg-amber-50 rounded-full flex items-center justify-center"> |
| <i class="fas fa-trophy text-amber-500"></i> |
| </div> |
| </div> |
| <div class="mt-3 text-xs text-gray-500"> |
| <span>1,428 mots-clés indexés</span> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white rounded-lg shadow-lg overflow-hidden mb-6 border border-gray-200"> |
| <div class="bg-gradient-to-r from-gray-900 to-gray-800 p-4 text-white"> |
| <div class="flex justify-between items-center"> |
| <h2 class="text-lg font-bold"> |
| <i class="fas fa-magic text-emerald-400 mr-2"></i> |
| Générateur Intelligent de Noms de Domaine |
| </h2> |
| <span class="bg-purple-500 text-white px-2 py-1 rounded-full text-xs"> |
| IA INTÉGRÉE |
| </span> |
| </div> |
| </div> |
| <div class="p-4"> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-4"> |
| <div> |
| <label class="block text-gray-700 text-sm font-medium mb-1" for="keywords"> |
| Mots-clés principaux |
| </label> |
| <input class="w-full shadow appearance-none border rounded-lg py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:ring-1 focus:ring-emerald-500" |
| id="keywords" type="text" placeholder="ex: boutique, tech, paris"> |
| </div> |
| <div> |
| <label class="block text-gray-700 text-sm font-medium mb-1" for="industry"> |
| Secteur d'activité |
| </label> |
| <select class="block w-full border rounded-lg py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:ring-1 focus:ring-emerald-500" id="industry"> |
| <option>Tous secteurs</option> |
| <option>Technologie</option> |
| <option>Commerce</option> |
| <option>Services</option> |
| <option>Immobilier</option> |
| <option>Santé</option> |
| <option>Voyage</option> |
| </select> |
| </div> |
| <div> |
| <label class="block text-gray-700 text-sm font-medium mb-1" for="length"> |
| Longueur maximale |
| </label> |
| <select class="block w-full border rounded-lg py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:ring-1 focus:ring-emerald-500" id="length"> |
| <option>Court (8-12 caractères)</option> |
| <option>Moyen (12-16 caractères)</option> |
| <option>Long (16-20 caractères)</option> |
| </select> |
| </div> |
| </div> |
|
|
| <button id="generate-btn" class="w-full bg-gradient-to-r from-purple-500 to-purple-600 hover:from-purple-600 hover:to-purple-700 text-white font-medium py-3 px-4 rounded-lg shadow-md transition duration-150 ease-in-out mb-4"> |
| <i class="fas fa-wand-magic-sparkles mr-2"></i> GÉNÉRER DES IDÉES DE DOMAINES |
| </button> |
|
|
| <div id="domain-results" class="hidden"> |
| <div class="flex justify-between items-center mb-3"> |
| <h3 class="font-medium text-gray-700">Suggestions disponibles</h3> |
| <div class="text-xs bg-gray-100 px-2 py-1 rounded-full"> |
| <span id="available-count">12</span> domaines disponibles |
| </div> |
| </div> |
| |
| <div id="domain-list" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"> |
| |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white rounded-lg shadow-lg overflow-hidden mb-6 border border-gray-200"> |
| <div class="bg-gradient-to-r from-gray-900 to-gray-800 p-4 text-white"> |
| <div class="flex justify-between items-center"> |
| <h2 class="text-lg font-bold"> |
| <i class="fas fa-robot text-emerald-400 mr-2"></i> |
| Enregistrement Automatisé de Domaine |
| </h2> |
| <span class="bg-emerald-500 text-white px-2 py-1 rounded-full text-xs"> |
| TEMPS RÉEL |
| </span> |
| </div> |
| </div> |
| <div class="p-4"> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-4"> |
| <div> |
| <label class="block text-gray-700 text-sm font-medium mb-1" for="domain"> |
| Nom de domaine |
| </label> |
| <div class="flex"> |
| <input class="flex-1 shadow appearance-none border rounded-l-lg py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:ring-1 focus:ring-emerald-500" |
| id="domain" type="text" placeholder="votredomaine"> |
| <span class="inline-flex items-center px-3 rounded-r-lg border border-l-0 bg-gray-50 text-gray-600 text-sm"> |
| .com |
| </span> |
| </div> |
| </div> |
| <div> |
| <label class="block text-gray-700 text-sm font-medium mb-1" for="tld"> |
| Extension |
| </label> |
| <select class="block w-full border rounded-lg py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:ring-1 focus:ring-emerald-500" id="tld"> |
| <option>.com</option> |
| <option>.net</option> |
| <option>.org</option> |
| <option>.fr</option> |
| <option>.io</option> |
| <option>.tech</option> |
| </select> |
| </div> |
| <div> |
| <label class="block text-gray-700 text-sm font-medium mb-1" for="duration"> |
| Durée |
| </label> |
| <select class="block w-full border rounded-lg py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:ring-1 focus:ring-emerald-500" id="duration"> |
| <option>1 an (€12.99)</option> |
| <option>2 ans (€24.99)</option> |
| <option>5 ans (€59.99)</option> |
| <option>10 ans (€109.99)</option> |
| </select> |
| </div> |
| </div> |
|
|
| <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"> |
| <div class="space-y-2"> |
| <div class="flex items-center"> |
| <input id="ssl-checkbox" type="checkbox" checked class="h-4 w-4 text-emerald-600 focus:ring-emerald-500 border-gray-300 rounded"> |
| <label for="ssl-checkbox" class="ml-2 text-sm text-gray-700">Certificat SSL inclus</label> |
| </div> |
| <div class="flex items-center"> |
| <input id="whois-checkbox" type="checkbox" class="h-4 w-4 text-emerald-600 focus:ring-emerald-500 border-gray-300 rounded"> |
| <label for="whois-checkbox" class="ml-2 text-sm text-gray-700">Protection WHOIS privée</label> |
| </div> |
| </div> |
| <div class="space-y-2"> |
| <div class="flex items-center"> |
| <input id="seo-checkbox" type="checkbox" checked class="h-4 w-4 text-emerald-600 focus:ring-emerald-500 border-gray-300 rounded"> |
| <label for="seo-checkbox" class="ml-2 text-sm text-gray-700">Optimisation SEO automatique</label> |
| </div> |
| <div class="flex items-center"> |
| <input id="analytics-checkbox" type="checkbox" checked class="h-4 w-4 text-emerald-600 focus:ring-emerald-500 border-gray-300 rounded"> |
| <label for="analytics-checkbox" class="ml-2 text-sm text-gray-700">Google Analytics intégré</label> |
| </div> |
| </div> |
| </div> |
|
|
| <button id="register-btn" class="w-full bg-gradient-to-r from-emerald-500 to-emerald-600 hover:from-emerald-600 hover:to-emerald-700 text-white font-medium py-3 px-4 rounded-lg shadow-md transition duration-150 ease-in-out"> |
| <i class="fas fa-bolt mr-2"></i> ENREGISTRER ET PROPAGER (0.002s) |
| </button> |
| <p class="text-xs text-gray-500 mt-2 text-center"> |
| Notre système robotisé va enregistrer, configurer et optimiser votre domaine sur 1,500+ serveurs mondiaux en millisecondes |
| </p> |
| </div> |
| </div> |
|
|
| |
| <div class="grid grid-cols-1 lg:grid-cols-3 gap-4 mb-6"> |
| |
| <div class="bg-white rounded-lg shadow overflow-hidden border border-gray-200"> |
| <div class="bg-gray-800 p-3 text-white"> |
| <h3 class="font-medium flex items-center"> |
| <i class="fas fa-building mr-2 text-emerald-400"></i> |
| Information Registrar |
| </h3> |
| </div> |
| <div class="p-4"> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-xs text-gray-500">Registrar</p> |
| <p class="text-sm font-medium">HyperDNS Pro (ICANN Accredited)</p> |
| </div> |
| <div> |
| <p class="text-xs text-gray-500">Date d'enregistrement</p> |
| <p class="text-sm font-medium">15/06/2023</p> |
| </div> |
| <div> |
| <p class="text-xs text-gray-500">Date d'expiration</p> |
| <p class="text-sm font-medium">15/06/2024</p> |
| </div> |
| <div> |
| <p class="text-xs text-gray-500">Statut</p> |
| <p class="text-sm font-medium text-emerald-600">Actif</p> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white rounded-lg shadow overflow-hidden border border-gray-200"> |
| <div class="bg-gray-800 p-3 text-white"> |
| <h3 class="font-medium flex items-center"> |
| <i class="fas fa-user-tie mr-2 text-emerald-400"></i> |
| Contact Titulaire |
| </h3> |
| </div> |
| <div class="p-4"> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-xs text-gray-500">Nom</p> |
| <p class="text-sm font-medium">Jean Dupont</p> |
| </div> |
| <div> |
| <p class="text-xs text-gray-500">Organisation</p> |
| <p class="text-sm font-medium">Solutions Tech SARL</p> |
| </div> |
| <div> |
| <p class="text-xs text-gray-500">Email</p> |
| <p class="text-sm font-medium">jean.dupont@solutionstech.fr</p> |
| </div> |
| <div> |
| <p class="text-xs text-gray-500">Téléphone</p> |
| <p class="text-sm font-medium">+33 6 12 34 56 78</p> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white rounded-lg shadow overflow-hidden border border-gray-200"> |
| <div class="bg-gray-800 p-3 text-white"> |
| <h3 class="font-medium flex items-center"> |
| <i class="fas fa-network-wired mr-2 text-emerald-400"></i> |
| DNS & SSL |
| </h3> |
| </div> |
| <div class="p-4"> |
| <div class="space-y-3"> |
| <div> |
| <div class="flex justify-between items-center mb-1"> |
| <p class="text-xs text-gray-500">Serveurs DNS</p> |
| <span class="text-xs px-2 py-1 bg-emerald-100 text-emerald-800 rounded-full">ACTIF</span> |
| </div> |
| <p class="text-xs font-medium">ns1.hyperdns.com</p> |
| <p class="text-xs font-medium">ns2.hyperdns.com</p> |
| </div> |
| <div> |
| <div class="flex justify-between items-center mb-1"> |
| <p class="text-xs text-gray-500">Certificat SSL</p> |
| <span class="text-xs px-2 py-1 bg-emerald-100 text-emerald-800 rounded-full">VALIDE</span> |
| </div> |
| <p class="text-xs font-medium">Let's Encrypt - Wildcard</p> |
| <p class="text-xs text-gray-500">Expire le: 15/12/2023</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white rounded-lg shadow overflow-hidden mb-6 border border-gray-200"> |
| <div class="bg-gradient-to-r from-gray-900 to-gray-800 p-3 text-white"> |
| <h3 class="font-medium flex items-center"> |
| <i class="fas fa-globe-americas mr-2 text-emerald-400"></i> |
| Propagation Globale en Temps Réel |
| </h3> |
| </div> |
| <div class="p-4"> |
| <div class="mb-4"> |
| <div class="flex justify-between text-sm mb-1"> |
| <span class="font-medium">Propagation DNS mondiale:</span> |
| <span class="font-medium text-emerald-600">99.3% complète</span> |
| </div> |
| <div class="w-full bg-gray-200 rounded-full h-2.5"> |
| <div class="bg-gradient-to-r from-emerald-400 to-emerald-600 h-2.5 rounded-full progress-bar" style="width: 99.3%"></div> |
| </div> |
| <div class="flex justify-between text-xs text-gray-500 mt-1"> |
| <span>Dernière mise à jour: il y a 3s</span> |
| <span>1,487 serveurs</span> |
| </div> |
| </div> |
|
|
| <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-3"> |
| <div class="text-center p-2 bg-gray-50 rounded border border-gray-100"> |
| <div class="h-10 w-10 bg-emerald-100 rounded-full flex items-center justify-center mx-auto mb-1"> |
| <i class="fas fa-check text-emerald-600"></i> |
| </div> |
| <p class="text-xs font-medium">Amérique Nord</p> |
| <p class="text-xs text-emerald-600">100%</p> |
| </div> |
| <div class="text-center p-2 bg-gray-50 rounded border border-gray-100"> |
| <div class="h-10 w-10 bg-emerald-100 rounded-full flex items-center justify-center mx-auto mb-1"> |
| <i class="fas fa-check text-emerald-600"></i> |
| </div> |
| <p class="text-xs font-medium">Europe</p> |
| <p class="text-xs text-emerald-600">99.8%</p> |
| </div> |
| <div class="text-center p-2 bg-gray-50 rounded border border-gray-100"> |
| <div class="h-10 w-10 bg-emerald-100 rounded-full flex items-center justify-center mx-auto mb-1"> |
| <i class="fas fa-check text-emerald-600"></i> |
| </div> |
| <p class="text-xs font-medium">Asie</p> |
| <p class="text-xs text-emerald-600">99.5%</p> |
| </div> |
| <div class="text-center p-2 bg-gray-50 rounded border border-gray-100"> |
| <div class="h-10 w-10 bg-emerald-100 rounded-full flex items-center justify-center mx-auto mb-1"> |
| <i class="fas fa-check text-emerald-600"></i> |
| </div> |
| <p class="text-xs font-medium">Océanie</p> |
| <p class="text-xs text-emerald-600">98.9%</p> |
| </div> |
| <div class="text-center p-2 bg-gray-50 rounded border border-gray-100"> |
| <div class="h-10 w-10 bg-amber-100 rounded-full flex items-center justify-center mx-auto mb-1"> |
| <i class="fas fa-sync-alt text-amber-600"></i> |
| </div> |
| <p class="text-xs font-medium">Amérique Sud</p> |
| <p class="text-xs text-amber-600">97.2%</p> |
| </div> |
| <div class="text-center p-2 bg-gray-50 rounded border border-gray-100"> |
| <div class="h-10 w-10 bg-amber-100 rounded-full flex items-center justify-center mx-auto mb-1"> |
| <i class="fas fa-sync-alt text-amber-600"></i> |
| </div> |
| <p class="text-xs font-medium">Afrique</p> |
| <p class="text-xs text-amber-600">96.8%</p> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white rounded-lg shadow overflow-hidden border border-gray-200"> |
| <div class="bg-gradient-to-r from-gray-900 to-gray-800 p-3 text-white"> |
| <h3 class="font-medium flex items-center"> |
| <i class="fas fa-search-dollar mr-2 text-emerald-400"></i> |
| Optimisation SEO Automatisée |
| </h3> |
| </div> |
| <div class="p-4"> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-4"> |
| <div class="border-l-2 border-emerald-500 pl-3"> |
| <p class="text-xs text-gray-500">Google Search Console</p> |
| <p class="font-medium">Connecté</p> |
| <p class="text-xs text-gray-500">1,428 mots-clés indexés</p> |
| </div> |
| <div class="border-l-2 border-emerald-500 pl-3"> |
| <p class="text-xs text-gray-500">Google Analytics</p> |
| <p class="font-medium">Actif</p> |
| <p class="text-xs text-gray-500">32 métriques suivies</p> |
| </div> |
| <div class="border-l-2 border-emerald-500 pl-3"> |
| <p class="text-xs text-gray-500">Score PageSpeed</p> |
| <p class="font-medium">99/100</p> |
| <p class="text-xs text-gray-500">Plus rapide que 99.9%</p> |
| </div> |
| </div> |
|
|
| <div class="bg-emerald-50 rounded p-3 border border-emerald-100"> |
| <div class="flex items-center mb-2"> |
| <div class="h-8 w-8 bg-emerald-100 rounded-full flex items-center justify-center mr-2"> |
| <i class="fas fa-robot text-emerald-600"></i> |
| </div> |
| <h4 class="font-medium">Optimisation IA en cours</h4> |
| </div> |
| <div class="grid grid-cols-2 md:grid-cols-4 gap-2"> |
| <div class="bg-white p-2 rounded border border-gray-100"> |
| <p class="text-xs text-gray-500">Balises Meta</p> |
| <p class="text-xs font-medium">Optimisées</p> |
| </div> |
| <div class="bg-white p-2 rounded border border-gray-100"> |
| <p class="text-xs text-gray-500">Données Structurées</p> |
| <p class="text-xs font-medium">Implémentées</p> |
| </div> |
| <div class="bg-white p-2 rounded border border-gray-100"> |
| <p class="text-xs text-gray-500">Optimisation Images</p> |
| <p class="text-xs font-medium">95% complète</p> |
| </div> |
| <div class="bg-white p-2 rounded border border-gray-100"> |
| <p class="text-xs text-gray-500">Backlinks</p> |
| <p class="text-xs font-medium">328 en construction</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </main> |
| </div> |
| </div> |
|
|
| <script> |
| |
| const prefixes = ['pro', 'my', 'best', 'top', 'super', 'hyper', 'ultra', 'mega', 'go', 'get']; |
| const suffixes = ['hub', 'tech', 'shop', 'online', 'store', 'app', 'web', 'site', 'now', 'plus']; |
| const keywords = ['tech', 'shop', 'service', 'web', 'digital', 'cloud', 'smart', 'net', 'host', 'data']; |
| const industries = { |
| 'Technologie': ['tech', 'app', 'cloud', 'data', 'ai', 'io', 'dev', 'net', 'host', 'code'], |
| 'Commerce': ['shop', 'store', 'market', 'deal', 'buy', 'sale', 'mart', 'boutique', 'mall', 'trade'], |
| 'Services': ['service', 'pro', 'expert', 'now', 'go', 'get', 'plus', 'hub', 'care', 'help'] |
| }; |
| const tlds = ['.com', '.net', '.io', '.tech', '.shop', '.app', '.online', '.store', '.fr', '.org']; |
| |
| |
| function generateDomains() { |
| const keywordsInput = document.getElementById('keywords').value.trim().toLowerCase(); |
| const industry = document.getElementById('industry').value; |
| const length = document.getElementById('length').value; |
| |
| let userKeywords = []; |
| if (keywordsInput) { |
| userKeywords = keywordsInput.split(/[,\s]+/).filter(k => k.length > 0); |
| } |
| |
| const combinedKeywords = [...new Set([...userKeywords, ...(industry in industries ? industries[industry] : keywords)])]; |
| |
| let domains = []; |
| const maxLength = length.includes('Court') ? 12 : (length.includes('Moyen') ? 16 : 20); |
| |
| |
| for (let i = 0; i < 20; i++) { |
| let domain = ''; |
| |
| |
| const pattern = Math.floor(Math.random() * 5); |
| |
| switch(pattern) { |
| case 0: |
| domain = prefixes[Math.floor(Math.random() * prefixes.length)] + |
| combinedKeywords[Math.floor(Math.random() * combinedKeywords.length)]; |
| break; |
| case 1: |
| domain = combinedKeywords[Math.floor(Math.random() * combinedKeywords.length)] + |
| suffixes[Math.floor(Math.random() * suffixes.length)]; |
| break; |
| case 2: |
| domain = combinedKeywords[Math.floor(Math.random() * combinedKeywords.length)] + |
| combinedKeywords[Math.floor(Math.random() * combinedKeywords.length)]; |
| break; |
| case 3: |
| domain = combinedKeywords[Math.floor(Math.random() * combinedKeywords.length)]; |
| break; |
| default: |
| domain = prefixes[Math.floor(Math.random() * prefixes.length)] + |
| combinedKeywords[Math.floor(Math.random() * combinedKeywords.length)] + |
| suffixes[Math.floor(Math.random() * suffixes.length)]; |
| } |
| |
| |
| if (domain.length <= maxLength) { |
| const tld = tlds[Math.floor(Math.random() * tlds.length)]; |
| domains.push({name: domain, tld: tld}); |
| } |
| } |
| |
| |
| domains = [...new Map(domains.map(item => [item.name + item.tld, item])).values()]; |
| |
| |
| domains = domains.slice(0, 12); |
| |
| return domains; |
| } |
| |
| |
| function displayDomains(domains) { |
| const domainList = document.getElementById('domain-list'); |
| const domainResults = document.getElementById('domain-results'); |
| const availableCount = document.getElementById('available-count'); |
| |
| domainList.innerHTML = ''; |
| |
| domains.forEach(domain => { |
| const isPremium = Math.random() > 0.8; |
| const price = isPremium ? (Math.floor(Math.random() * 5) + 5) * 10 + 99 : Math.floor(Math.random() * 20) + 5; |
| |
| const domainElement = document.createElement('div'); |
| domainElement.className = 'bg-white rounded-lg border border-gray-200 p-3 domain-option transition duration-150 ease-in-out cursor-pointer hover:border-emerald-300'; |
| domainElement.innerHTML = ` |
| <div class="flex justify-between items-start mb-2"> |
| <div> |
| <span class="font-medium text-gray-800">${domain.name}</span> |
| <span class="text-gray-500">${domain.tld}</span> |
| </div> |
| <span class="text-xs px-2 py-1 rounded-full ${isPremium ? 'bg-purple-100 text-purple-800' : 'bg-emerald-100 text-emerald-800'}"> |
| ${isPremium ? 'PREMIUM' : 'DISPONIBLE'} |
| </span> |
| </div> |
| <div class="flex justify-between items-center"> |
| <span class="text-xs text-gray-500">1 an</span> |
| <span class="font-medium">€${price}.99</span> |
| </div> |
| `; |
| |
| domainElement.addEventListener('click', () => { |
| document.getElementById('domain').value = domain.name; |
| document.getElementById('tld').value = domain.tld; |
| |
| |
| document.querySelectorAll('.domain-option').forEach(el => { |
| el.classList.remove('border-emerald-500', 'bg-emerald-50'); |
| }); |
| domainElement.classList.add('border-emerald-500', 'bg-emerald-50'); |
| }); |
| |
| domainList.appendChild(domainElement); |
| }); |
| |
| availableCount.textContent = domains.length; |
| domainResults.classList.remove('hidden'); |
| } |
| |
| |
| document.getElementById('generate-btn').addEventListener('click', function() { |
| const btn = this; |
| |
| if (!document.getElementById('keywords').value.trim()) { |
| alert('Veuillez entrer au moins un mot-clé'); |
| return; |
| } |
| |
| |
| btn.innerHTML = '<i class="fas fa-circle-notch fa-spin mr-2"></i> GÉNÉRATION EN COURS...'; |
| btn.classList.remove('from-purple-500', 'to-purple-600', 'hover:from-purple-600', 'hover:to-purple-700'); |
| btn.classList.add('from-blue-500', 'to-blue-600', 'hover:from-blue-600', 'hover:to-blue-700'); |
| |
| |
| setTimeout(() => { |
| const domains = generateDomains(); |
| displayDomains(domains); |
| |
| |
| btn.innerHTML = '<i class="fas fa-wand-magic-sparkles mr-2"></i> GÉNÉRER DES IDÉES DE DOMAINES'; |
| btn.classList.remove('from-blue-500', 'to-blue-600', 'hover:from-blue-600', 'hover:to-blue-700'); |
| btn.classList.add('from-purple-500', 'to-purple-600', 'hover:from-purple-600', 'hover:to-purple-700'); |
| }, 1500); |
| }); |
| |
| |
| function updatePropagation() { |
| const regions = [ |
| { element: document.querySelectorAll('.text-emerald-600, .text-amber-600')[4], base: 97.2, range: 0.3 }, |
| { element: document.querySelectorAll('.text-emerald-600, .text-amber-600')[5], base: 96.8, range: 0.4 } |
| ]; |
| |
| regions.forEach(region => { |
| const variation = (Math.random() * region.range * 2) - region.range; |
| const newValue = region.base + variation; |
| const roundedValue = Math.round(newValue * 10) / 10; |
| |
| region.element.textContent = roundedValue + '%'; |
| |
| if (roundedValue >= 98) { |
| region.element.classList.remove('text-amber-600'); |
| region.element.classList.add('text-emerald-600'); |
| region.element.previousElementSibling.innerHTML = '<i class="fas fa-check text-emerald-600"></i>'; |
| region.element.previousElementSibling.classList.remove('bg-amber-100'); |
| region.element.previousElementSibling.classList.add('bg-emerald-100'); |
| } else { |
| region.element.classList.remove('text-emerald-600'); |
| region.element.classList.add('text-amber-600'); |
| region.element.previousElementSibling.innerHTML = '<i class="fas fa-sync-alt text-amber-600"></i>'; |
| region.element.previousElementSibling.classList.remove('bg-emerald-100'); |
| region.element.previousElementSibling.classList.add('bg-amber-100'); |
| } |
| }); |
| |
| |
| const globalProgress = document.querySelector('.progress-bar'); |
| const currentWidth = parseFloat(globalProgress.style.width); |
| const variation = (Math.random() * 0.2) - 0.1; |
| let newWidth = currentWidth + variation; |
| newWidth = Math.max(96, Math.min(100, newWidth)); |
| globalProgress.style.width = newWidth + '%'; |
| |
| document.querySelectorAll('.text-emerald-600')[0].textContent = newWidth.toFixed(1) + '%'; |
| } |
| |
| setInterval(updatePropagation, 3000); |
| |
| |
| document.getElementById('register-btn').addEventListener('click', function() { |
| const btn = this; |
| const domainInput = document.getElementById('domain'); |
| const tldSelect = document.getElementById('tld'); |
| const domainName = domainInput.value.trim() + tldSelect.value; |
| |
| if (!domainInput.value.trim()) { |
| alert('Veuillez entrer un nom de domaine'); |
| return; |
| } |
| |
| |
| btn.innerHTML = '<i class="fas fa-circle-notch fa-spin mr-2"></i> TRAITEMENT EN COURS...'; |
| btn.classList.remove('from-emerald-500', 'to-emerald-600', 'hover:from-emerald-600', 'hover:to-emerald-700'); |
| btn.classList.add('from-blue-500', 'to-blue-600', 'hover:from-blue-600', 'hover:to-blue-700'); |
| |
| |
| setTimeout(() => { |
| |
| btn.innerHTML = '<i class="fas fa-check-circle mr-2"></i> ENREGISTREMENT RÉUSSI!'; |
| btn.classList.remove('from-blue-500', 'to-blue-600', 'hover:from-blue-600', 'hover:to-blue-700'); |
| btn.classList.add('from-emerald-500', 'to-emerald-600', 'hover:from-emerald-600', 'hover:to-emerald-700'); |
| |
| |
| const successHTML = ` |
| <div class="mt-4 bg-emerald-50 border border-emerald-200 rounded-lg p-4"> |
| <h4 class="font-bold text-emerald-800 flex items-center"> |
| <i class="fas fa-check-circle text-emerald-600 mr-2"></i> |
| Domaine enregistré avec succès! |
| </h4> |
| <div class="mt-2 grid grid-cols-2 gap-2 text-sm"> |
| <div> |
| <p class="text-gray-600">Domaine:</p> |
| <p class="font-medium">${domainName}</p> |
| </div> |
| <div> |
| <p class="text-gray-600">DNS:</p> |
| <p class="font-medium">Configuré sur 1,487 serveurs</p> |
| </div> |
| <div> |
| <p class="text-gray-600">SSL:</p> |
| <p class="font-medium">Certificat émis (Let's Encrypt)</p> |
| </div> |
| <div> |
| <p class="text-gray-600">SEO:</p> |
| <p class="font-medium">Optimisation lancée</p> |
| </div> |
| </div> |
| <p class="mt-2 text-xs text-gray-500"> |
| <i class="fas fa-bolt text-amber-500"></i> Propagation mondiale en cours (99.3% complète) |
| </p> |
| </div> |
| `; |
| |
| btn.insertAdjacentHTML('afterend', successHTML); |
| |
| |
| setTimeout(() => { |
| btn.innerHTML = '<i class="fas fa-bolt mr-2"></i> ENREGISTRER ET PROPAGER (0.002s)'; |
| btn.classList.remove('from-emerald-500', 'to-emerald-600', 'hover:from-emerald-600', 'hover:to-emerald-700'); |
| btn.classList.add('from-emerald-500', 'to-emerald-600', 'hover:from-emerald-600', 'hover:to-emerald-700'); |
| |
| |
| const successMsg = document.querySelector('.bg-emerald-50'); |
| if (successMsg) { |
| setTimeout(() => { |
| successMsg.remove(); |
| }, 3000); |
| } |
| }, 5000); |
| }, 1500); |
| }); |
| </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/hyper-dns" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |