| <!DOCTYPE html> |
| <html lang="fr"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>WhoMails | Outil de prospection B2B pour marketeurs et agences</title> |
| <meta name="description" content="Découvrez les contacts clés (PDG, décideurs) avec WhoMails. Idéal pour les campagnes d'emailing et prospection téléphonique. Obtenez emails et numéros directs."> |
| <meta name="keywords" content="prospection B2B, emails PDG, numéros décideurs, WhoMails, leads qualifiés, campagne emailing, prospection téléphonique, génération leads"> |
| <meta name="author" content="WhoMails"> |
| <meta name="robots" content="index, follow"> |
| <link rel="canonical" href="https://whomails.com"> |
| <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> |
| .tab-content { |
| display: none; |
| } |
| .tab-content.active { |
| display: block; |
| } |
| .tab-button.active { |
| border-bottom: 3px solid #3b82f6; |
| color: #3b82f6; |
| font-weight: 600; |
| } |
| .success-box { |
| border-left: 5px solid #10b981; |
| background-color: #ecfdf5; |
| } |
| .warning-box { |
| border-left: 5px solid #f59e0b; |
| background-color: #fffbeb; |
| } |
| .error-box { |
| border-left: 5px solid #ef4444; |
| background-color: #fee2e2; |
| } |
| .info-box { |
| border-left: 5px solid #3b82f6; |
| background-color: #eff6ff; |
| } |
| .section-title { |
| background-color: #e0f2fe; |
| } |
| .loader { |
| border: 4px solid #f3f3f3; |
| border-top: 4px solid #3b82f6; |
| border-radius: 50%; |
| width: 30px; |
| height: 30px; |
| animation: spin 1s linear infinite; |
| margin: 0 auto; |
| } |
| @keyframes spin { |
| 0% { transform: rotate(0deg); } |
| 100% { transform: rotate(360deg); } |
| } |
| .progress-bar { |
| height: 4px; |
| background-color: #e0f2fe; |
| border-radius: 2px; |
| margin-top: 8px; |
| } |
| .progress-bar-fill { |
| height: 100%; |
| background-color: #3b82f6; |
| border-radius: 2px; |
| transition: width 0.3s ease; |
| } |
| .counter { |
| font-size: 2.5rem; |
| font-weight: bold; |
| color: #1e40af; |
| } |
| .review-card { |
| border-radius: 10px; |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); |
| transition: transform 0.3s ease; |
| } |
| .review-card:hover { |
| transform: translateY(-5px); |
| } |
| .highlight-box { |
| background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%); |
| color: white; |
| border-radius: 8px; |
| } |
| .feature-icon { |
| font-size: 2rem; |
| color: #3b82f6; |
| } |
| .search-section { |
| background-color: #f8fafc; |
| padding: 3rem 0; |
| border-radius: 0.5rem; |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); |
| } |
| </style> |
| </head> |
| <body class="bg-gray-50 min-h-screen"> |
| |
| <nav class="bg-white shadow-sm"> |
| <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-envelope text-blue-500 text-2xl mr-2"></i> |
| <span class="text-xl font-semibold text-gray-900">WhoMails</span> |
| </div> |
| </div> |
| <div class="hidden sm:ml-6 sm:flex sm:items-center"> |
| <a href="#" class="px-3 py-2 rounded-md text-sm font-medium text-gray-900 hover:bg-gray-100">Accueil</a> |
| <a href="#" class="px-3 py-2 rounded-md text-sm font-medium text-gray-500 hover:text-gray-900 hover:bg-gray-100">Tarifs</a> |
| <a href="#" class="px-3 py-2 rounded-md text-sm font-medium text-gray-500 hover:text-gray-900 hover:bg-gray-100">Connexion</a> |
| <a href="#" class="ml-4 px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700">Inscription</a> |
| </div> |
| </div> |
| </div> |
| </nav> |
|
|
| |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> |
| <div class="search-section"> |
| <div class="text-center mb-8"> |
| <h1 class="text-3xl font-extrabold text-gray-900 sm:text-4xl lg:text-5xl"> |
| <span class="block">Trouvez les contacts clés</span> |
| <span class="block text-blue-600">pour votre prospection B2B</span> |
| </h1> |
| <p class="mt-4 max-w-2xl text-xl text-gray-600 mx-auto"> |
| Accédez aux emails et numéros des PDG et décideurs pour booster vos campagnes d'emailing et appels. |
| </p> |
| </div> |
|
|
| |
| <div class="border-b border-gray-200 mb-8"> |
| <div class="flex space-x-8 justify-center"> |
| <button id="singleTab" class="tab-button active py-4 px-1 text-sm font-medium"> |
| <i class="fas fa-search mr-2"></i>Recherche unique |
| </button> |
| <button id="batchTab" class="tab-button py-4 px-1 text-sm font-medium"> |
| <i class="fas fa-file-excel mr-2"></i>Traitement par lot |
| </button> |
| </div> |
| </div> |
|
|
| |
| <div id="singleTabContent" class="tab-content active"> |
| <div class="bg-white shadow rounded-lg p-6 mb-8 max-w-4xl mx-auto"> |
| <div class="flex"> |
| <input type="text" id="domainInput" placeholder="exemple.com ou https://exemple.com" |
| class="flex-1 min-w-0 block w-full px-3 py-3 rounded-md border border-gray-300 shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm"> |
| <button id="searchButton" class="ml-3 inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> |
| <i class="fas fa-search mr-2"></i>Rechercher |
| </button> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="batchTabContent" class="tab-content hidden"> |
| <div class="bg-white shadow rounded-lg p-6 mb-8 max-w-4xl mx-auto"> |
| |
| <div class="mb-6"> |
| <label class="block text-sm font-medium text-gray-700 mb-2">Fichier Excel (.xlsx)</label> |
| <div class="mt-1 flex justify-center px-6 pt-5 pb-6 border-2 border-gray-300 border-dashed rounded-md"> |
| <div class="space-y-1 text-center"> |
| <div class="flex text-sm text-gray-600"> |
| <label for="fileUpload" class="relative cursor-pointer bg-white rounded-md font-medium text-blue-600 hover:text-blue-500 focus-within:outline-none focus-within:ring-2 focus-within:ring-offset-2 focus-within:ring-blue-500"> |
| <span>Télécharger un fichier</span> |
| <input id="fileUpload" type="file" class="sr-only" accept=".xlsx"> |
| </label> |
| <p class="pl-1">ou glisser-déposer</p> |
| </div> |
| <p class="text-xs text-gray-500">XLSX jusqu'à 10MB</p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="flex justify-center"> |
| <button id="processButton" class="inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> |
| <i class="fas fa-search mr-2"></i>Analyser les domaines |
| </button> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-100 py-12"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-8 text-center"> |
| <div class="bg-white p-6 rounded-lg shadow"> |
| <div class="counter" data-target="124857">0</div> |
| <p class="mt-2 text-lg font-medium text-gray-900">Emails de PDG collectés</p> |
| <p class="mt-1 text-gray-500">Pour vos campagnes d'emailing</p> |
| </div> |
| <div class="bg-white p-6 rounded-lg shadow"> |
| <div class="counter" data-target="87632">0</div> |
| <p class="mt-2 text-lg font-medium text-gray-900">Numéros directs</p> |
| <p class="mt-1 text-gray-500">Pour votre prospection téléphonique</p> |
| </div> |
| <div class="bg-white p-6 rounded-lg shadow"> |
| <div class="counter" data-target="35621">0</div> |
| <p class="mt-2 text-lg font-medium text-gray-900">Leads qualifiés</p> |
| <p class="mt-1 text-gray-500">Pour votre pipeline commercial</p> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="py-12 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-base text-blue-600 font-semibold tracking-wide uppercase">Fonctionnalités</h2> |
| <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl"> |
| Tout ce dont vous avez besoin pour votre prospection |
| </p> |
| <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto"> |
| WhoMails est l'outil ultime pour les marketeurs et agences qui veulent cibler les décideurs. |
| </p> |
| </div> |
|
|
| <div class="mt-10"> |
| <div class="grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-3"> |
| |
| <div class="bg-gray-50 p-6 rounded-lg"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 bg-blue-100 rounded-md p-3"> |
| <i class="fas fa-user-tie feature-icon"></i> |
| </div> |
| <div class="ml-4"> |
| <h3 class="text-lg font-medium text-gray-900">Contacts PDG & décideurs</h3> |
| <p class="mt-1 text-gray-500"> |
| Accédez aux noms, prénoms, emails et numéros directs des décideurs clés. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-50 p-6 rounded-lg"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 bg-blue-100 rounded-md p-3"> |
| <i class="fas fa-envelope feature-icon"></i> |
| </div> |
| <div class="ml-4"> |
| <h3 class="text-lg font-medium text-gray-900">Emails pertinents</h3> |
| <p class="mt-1 text-gray-500"> |
| Filtrez les emails génériques pour ne garder que les contacts stratégiques. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-50 p-6 rounded-lg"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 bg-blue-100 rounded-md p-3"> |
| <i class="fas fa-phone-alt feature-icon"></i> |
| </div> |
| <div class="ml-4"> |
| <h3 class="text-lg font-medium text-gray-900">Numéros directs</h3> |
| <p class="mt-1 text-gray-500"> |
| Obtenez les numéros de téléphone personnels des responsables. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-50 p-6 rounded-lg"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 bg-blue-100 rounded-md p-3"> |
| <i class="fas fa-file-import feature-icon"></i> |
| </div> |
| <div class="ml-4"> |
| <h3 class="text-lg font-medium text-gray-900">Traitement par lot</h3> |
| <p class="mt-1 text-gray-500"> |
| Importez des listes de domaines et exportez tous les contacts en CSV/Excel. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-50 p-6 rounded-lg"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 bg-blue-100 rounded-md p-3"> |
| <i class="fas fa-chart-line feature-icon"></i> |
| </div> |
| <div class="ml-4"> |
| <h3 class="text-lg font-medium text-gray-900">Analytics</h3> |
| <p class="mt-1 text-gray-500"> |
| Suivez les taux de réponse et optimisez vos campagnes. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-50 p-6 rounded-lg"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0 bg-blue-100 rounded-md p-3"> |
| <i class="fas fa-plug feature-icon"></i> |
| </div> |
| <div class="ml-4"> |
| <h3 class="text-lg font-medium text-gray-900">Intégrations</h3> |
| <p class="mt-1 text-gray-500"> |
| Connectez-vous à vos outils CRM (Salesforce, Hubspot, Pipedrive). |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-100 py-16"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <h2 class="text-3xl font-extrabold text-gray-900 text-center">Ils nous font confiance</h2> |
| <p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto text-center"> |
| Découvrez ce que disent les professionnels du marketing et les agences. |
| </p> |
|
|
| <div class="mt-16 grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3"> |
| |
| <div class="bg-white p-6 review-card"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0"> |
| <img class="h-12 w-12 rounded-full" src="https://randomuser.me/api/portraits/women/32.jpg" alt=""> |
| </div> |
| <div class="ml-4"> |
| <h4 class="text-lg font-medium text-gray-900">Sophie Martin</h4> |
| <p class="text-blue-600">Directrice Marketing, Agence NeoLead</p> |
| </div> |
| </div> |
| <div class="mt-4"> |
| <p class="text-gray-600"> |
| "WhoMails a révolutionné notre prospection. Nous avons multiplié par 3 notre taux de réponse en ciblant directement les PDG avec leurs emails personnels." |
| </p> |
| <div class="mt-4 flex text-yellow-400"> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white p-6 review-card"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0"> |
| <img class="h-12 w-12 rounded-full" src="https://randomuser.me/api/portraits/men/43.jpg" alt=""> |
| </div> |
| <div class="ml-4"> |
| <h4 class="text-lg font-medium text-gray-900">Thomas Leroy</h4> |
| <p class="text-blue-600">CEO, SalesBoost Consulting</p> |
| </div> |
| </div> |
| <div class="mt-4"> |
| <p class="text-gray-600"> |
| "Les numéros de téléphone directs que nous trouvons avec WhoMails ont un taux de conversion 5x supérieur à nos listes achetées. Un must pour tout commercial B2B." |
| </p> |
| <div class="mt-4 flex text-yellow-400"> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white p-6 review-card"> |
| <div class="flex items-center"> |
| <div class="flex-shrink-0"> |
| <img class="h-12 w-12 rounded-full" src="https://randomuser.me/api/portraits/women/65.jpg" alt=""> |
| </div> |
| <div class="ml-4"> |
| <h4 class="text-lg font-medium text-gray-900">Camille Dubois</h4> |
| <p class="text-blue-600">Responsable Acquisition, GrowthHack</p> |
| </div> |
| </div> |
| <div class="mt-4"> |
| <p class="text-gray-600"> |
| "La fonctionnalité de traitement par lot nous fait gagner des heures de travail. Nous pouvons maintenant prospecter 1000 cibles en quelques minutes seulement." |
| </p> |
| <div class="mt-4 flex text-yellow-400"> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star"></i> |
| <i class="fas fa-star-half-alt"></i> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="resultsContainer" class="hidden max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"> |
| <div class="bg-white shadow rounded-lg overflow-hidden"> |
| |
| <div class="px-6 py-4 border-b border-gray-200 bg-gray-50"> |
| <h2 id="domainHeader" class="text-xl font-semibold text-gray-900"></h2> |
| </div> |
|
|
| |
| <div class="border-b border-gray-200"> |
| <div class="flex overflow-x-auto"> |
| <button data-tab="basicInfo" class="tab-results active py-4 px-6 text-sm font-medium"> |
| <i class="fas fa-info-circle mr-2"></i>Informations |
| </button> |
| <button data-tab="registrantInfo" class="tab-results py-4 px-6 text-sm font-medium"> |
| <i class="fas fa-user-tie mr-2"></i>Contacts PDG |
| </button> |
| <button data-tab="contactInfo" class="tab-results py-4 px-6 text-sm font-medium"> |
| <i class="fas fa-address-book mr-2"></i>Contacts |
| </button> |
| <button data-tab="serverInfo" class="tab-results py-4 px-6 text-sm font-medium"> |
| <i class="fas fa-server mr-2"></i>Serveurs |
| </button> |
| <button data-tab="statusInfo" class="tab-results py-4 px-6 text-sm font-medium"> |
| <i class="fas fa-tag mr-2"></i>Statut |
| </button> |
| <button data-tab="rawInfo" class="tab-results py-4 px-6 text-sm font-medium"> |
| <i class="fas fa-code mr-2"></i>Données brutes |
| </button> |
| </div> |
| </div> |
|
|
| |
| <div class="p-6"> |
| |
| <div id="basicInfo" class="tab-results-content active"> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> |
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-globe mr-2"></i>Informations du domaine |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Domaine</p> |
| <p id="domainName" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Noms de domaine</p> |
| <p id="domainNames" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Enregistré</p> |
| <p id="isRegistered" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Source</p> |
| <p id="source" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Anonyme</p> |
| <p id="anonymous" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="far fa-calendar-alt mr-2"></i>Dates importantes |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Date de création</p> |
| <p id="creationDate" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Date de mise à jour</p> |
| <p id="updatedDate" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Date d'expiration</p> |
| <p id="expirationDate" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Domaine bloqué</p> |
| <p id="holdStatus" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-building mr-2"></i>Registraire |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Registraire</p> |
| <p id="registrar" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">URL</p> |
| <p id="registrarUrl" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Email</p> |
| <p id="registrarEmail" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Téléphone</p> |
| <p id="registrarPhone" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Serveur WHOIS</p> |
| <p id="whoisServer" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="mt-8"> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-envelope mr-2"></i>Emails |
| </h3> |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
| <div> |
| <h4 class="text-md font-medium text-gray-900 mb-3">Tous les emails</h4> |
| <div id="allEmails" class="space-y-2"> |
| <div class="success-box px-4 py-3 rounded"> |
| <p class="text-sm text-gray-700">Aucun email trouvé</p> |
| </div> |
| </div> |
| </div> |
| <div> |
| <h4 class="text-md font-medium text-gray-900 mb-3">Emails pertinents (PDG/Décideurs)</h4> |
| <div id="relevantEmails" class="space-y-2"> |
| <div class="success-box px-4 py-3 rounded"> |
| <p class="text-sm text-gray-700">Aucun email pertinent trouvé</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="registrantInfo" class="tab-results-content hidden"> |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-id-card mr-2"></i>Identité du PDG |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Nom complet</p> |
| <p id="registrantName" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Organisation</p> |
| <p id="registrantOrg" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Email personnel</p> |
| <p id="registrantEmail" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Téléphone direct</p> |
| <p id="registrantPhone" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Fax</p> |
| <p id="registrantFax" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Type</p> |
| <p id="registrantType" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-map-marker-alt mr-2"></i>Adresse |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Adresse</p> |
| <div id="registrantAddress" class="mt-1 text-sm text-gray-900 space-y-1"> |
| <p>-</p> |
| </div> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Ville</p> |
| <p id="registrantCity" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">État/Région</p> |
| <p id="registrantState" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Code postal</p> |
| <p id="registrantPostalCode" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Pays</p> |
| <p id="registrantCountry" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Site web</p> |
| <p id="registrantWebsite" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="contactInfo" class="tab-results-content hidden"> |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-user-tie mr-2"></i>Contact administratif |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Nom complet</p> |
| <p id="adminName" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Organisation</p> |
| <p id="adminOrg" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Email</p> |
| <p id="adminEmail" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Téléphone</p> |
| <p id="adminPhone" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Fax</p> |
| <p id="adminFax" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Adresse</p> |
| <div id="adminAddress" class="mt-1 text-sm text-gray-900 space-y-1"> |
| <p>-</p> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-cogs mr-2"></i>Contact technique |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Nom complet</p> |
| <p id="techName" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Organisation</p> |
| <p id="techOrg" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Email</p> |
| <p id="techEmail" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Téléphone</p> |
| <p id="techPhone" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Fax</p> |
| <p id="techFax" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Adresse</p> |
| <div id="techAddress" class="mt-1 text-sm text-gray-900 space-y-1"> |
| <p>-</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="mt-8"> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-exclamation-triangle mr-2"></i>Contact d'abus du registraire |
| </h3> |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
| <div> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Email d'abus</p> |
| <p id="abuseEmail" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Téléphone d'abus</p> |
| <p id="abusePhone" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
| <div> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Adresse du registraire</p> |
| <div id="registrarAddress" class="mt-1 text-sm text-gray-900 space-y-1"> |
| <p>-</p> |
| </div> |
| </div> |
| <div> |
| <p class="text-sm font-medium text-gray-500">Pays</p> |
| <p id="registrarCountry" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="serverInfo" class="tab-results-content hidden"> |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-network-wired mr-2"></i>Serveurs de noms (NS) |
| </h3> |
| <div id="nameServers" class="space-y-2"> |
| <p class="text-sm text-gray-700">Aucun serveur de nom trouvé</p> |
| </div> |
| </div> |
|
|
| |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-lock mr-2"></i>Sécurité DNS |
| </h3> |
| <div class="space-y-3"> |
| <div> |
| <p class="text-sm font-medium text-gray-500">DNSSEC</p> |
| <p id="dnssec" class="mt-1 text-sm text-gray-900">-</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="statusInfo" class="tab-results-content hidden"> |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-info-circle mr-2"></i>Statut du domaine |
| </h3> |
| <div id="domainStatus" class="space-y-2"> |
| <p class="text-sm text-gray-700">Statut non disponible</p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="rawInfo" class="tab-results-content hidden"> |
| <div> |
| <h3 class="section-title px-4 py-2 rounded-md text-sm font-medium mb-4"> |
| <i class="fas fa-code mr-2"></i>Données WHOIS brutes |
| </h3> |
| <pre id="rawData" class="bg-gray-100 p-4 rounded-md text-sm overflow-x-auto">Aucune donnée brute disponible</pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="batchResultsContainer" class="hidden max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"> |
| <div class="bg-white shadow rounded-lg overflow-hidden"> |
| |
| <div class="px-6 py-4 border-b border-gray-200 bg-gray-50"> |
| <h2 class="text-xl font-semibold text-gray-900">Résultats du traitement par lot</h2> |
| <p class="mt-1 text-sm text-gray-500">Contacts PDG et décideurs extraits pour votre prospection</p> |
| </div> |
|
|
| |
| <div class="p-6"> |
| <div class="overflow-x-auto"> |
| <table id="batchResultsTable" class="min-w-full divide-y divide-gray-200"> |
| <thead class="bg-gray-50"> |
| |
| </thead> |
| <tbody class="bg-white divide-y divide-gray-200"> |
| |
| </tbody> |
| </table> |
| </div> |
|
|
| |
| <div class="mt-6 flex space-x-4"> |
| <button id="downloadCsv" class="inline-flex items-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> |
| <i class="fas fa-file-csv mr-2"></i>Télécharger CSV |
| </button> |
| <button id="downloadExcel" class="inline-flex items-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> |
| <i class="fas fa-file-excel mr-2"></i>Télécharger Excel |
| </button> |
| <button id="importCrm" class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-green-600 hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500"> |
| <i class="fas fa-cloud-upload-alt mr-2"></i>Importer dans CRM |
| </button> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div id="processingModal" class="hidden fixed inset-0 bg-gray-600 bg-opacity-50 overflow-y-auto h-full w-full z-50"> |
| <div class="relative top-20 mx-auto p-5 border w-96 shadow-lg rounded-md bg-white"> |
| <div class="mt-3 text-center"> |
| <div class="mx-auto flex items-center justify-center h-12 w-12 rounded-full bg-blue-100"> |
| <div class="loader"></div> |
| </div> |
| <h3 class="text-lg leading-6 font-medium text-gray-900 mt-3">Traitement en cours</h3> |
| <div class="mt-2 px-7 py-3"> |
| <p id="processingDomain" class="text-sm text-gray-500">Préparation...</p> |
| <div class="progress-bar mt-4"> |
| <div id="progressBarFill" class="progress-bar-fill" style="width: 0%"></div> |
| </div> |
| <p id="progressText" class="text-sm text-gray-500 mt-2">0/0 domaines traités</p> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-gray-100 py-16"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <h2 class="text-3xl font-extrabold text-gray-900 text-center">Questions fréquentes</h2> |
| <p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto text-center"> |
| Tout ce que vous devez savoir sur WhoMails et la prospection B2B. |
| </p> |
|
|
| <div class="mt-12"> |
| <div class="space-y-8"> |
| |
| <div class="bg-white shadow rounded-lg overflow-hidden"> |
| <div class="px-6 py-5"> |
| <button class="faq-toggle w-full flex justify-between items-center text-left"> |
| <h3 class="text-lg font-medium text-gray-900">Comment WhoMails peut-il aider ma prospection B2B ?</h3> |
| <i class="fas fa-chevron-down text-gray-400"></i> |
| </button> |
| <div class="faq-content mt-4 hidden"> |
| <p class="text-gray-600"> |
| WhoMails vous donne accès aux contacts directs des décideurs (PDG, responsables techniques, etc.) |
| avec leurs emails personnels et numéros de téléphone directs. Cela vous permet de cibler précisément |
| les personnes clés plutôt que des adresses génériques comme contact@ ou info@, augmentant ainsi |
| considérablement vos taux de réponse. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white shadow rounded-lg overflow-hidden"> |
| <div class="px-6 py-5"> |
| <button class="faq-toggle w-full flex justify-between items-center text-left"> |
| <h3 class="text-lg font-medium text-gray-900">Quelle est la précision des données fournies ?</h3> |
| <i class="fas fa-chevron-down text-gray-400"></i> |
| </button> |
| <div class="faq-content mt-4 hidden"> |
| <p class="text-gray-600"> |
| Nos données proviennent directement des registres WHOIS officiels et sont mises à jour quotidiennement. |
| Nous filtrons et vérifions les informations pour vous fournir les contacts les plus pertinents et actuels. |
| En moyenne, nos emails PDG ont un taux de validité de 92% et nos numéros directs de 85%. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white shadow rounded-lg overflow-hidden"> |
| <div class="px-6 py-5"> |
| <button class="faq-toggle w-full flex justify-between items-center text-left"> |
| <h3 class="text-lg font-medium text-gray-900">Puis-je importer les données dans mon CRM ?</h3> |
| <i class="fas fa-chevron-down text-gray-400"></i> |
| </button> |
| <div class="faq-content mt-4 hidden"> |
| <p class="text-gray-600"> |
| Absolument ! WhoMails s'intègre avec les principaux CRM comme Salesforce, Hubspot et Pipedrive. |
| Vous pouvez également exporter les données en CSV ou Excel pour les importer dans n'importe quel système. |
| Nos exports incluent tous les champs nécessaires pour une intégration fluide. |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-white shadow rounded-lg overflow-hidden"> |
| <div class="px-6 py-5"> |
| <button class="faq-toggle w-full flex justify-between items-center text-left"> |
| <h3 class="text-lg font-medium text-gray-900">Quelle est la limite de domaines pour le traitement par lot ?</h3> |
| <i class="fas fa-chevron-down text-gray-400"></i> |
| </button> |
| <div class="faq-content mt-4 hidden"> |
| <p class="text-gray-600"> |
| Avec notre offre Pro, vous pouvez traiter jusqu'à 10 000 domaines par lot. Pour les besoins plus importants, |
| nous proposons des solutions personnalisées. Le traitement est rapide et vous recevrez une notification |
| par email lorsque votre fichier sera prêt à télécharger. |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="bg-blue-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 à transformer votre prospection ?</span> |
| <span class="block">Essayez WhoMails gratuitement.</span> |
| </h2> |
| <p class="mt-4 text-lg leading-6 text-blue-200"> |
| Découvrez les contacts clés de vos prospects en quelques minutes. Aucune carte de crédit requise. |
| </p> |
| <a href="#" 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-blue-600 bg-white hover:bg-blue-50 sm:w-auto"> |
| <i class="fas fa-play mr-2"></i> Démarrer l'essai gratuit |
| </a> |
| </div> |
| </div> |
|
|
| |
| <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">Fonctionnalités</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Tarifs</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">API</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Intégrations</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">Documentation</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Guides</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Blog</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">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">À propos</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Carrières</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Presse</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">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">Confidentialité</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">CGU</a></li> |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Mentions légales</a></li> |
| </ul> |
| </div> |
| </div> |
| <div class="mt-8 border-t border-gray-700 pt-8 md:flex md:items-center md:justify-between"> |
| <div class="flex space-x-6 md:order-2"> |
| <a href="#" class="text-gray-400 hover:text-gray-300"> |
| <i class="fab fa-twitter"></i> |
| </a> |
| <a href="#" class="text-gray-400 hover:text-gray-300"> |
| <i class="fab fa-linkedin"></i> |
| </a> |
| <a href="#" class="text-gray-400 hover:text-gray-300"> |
| <i class="fab fa-facebook"></i> |
| </a> |
| </div> |
| <p class="mt-8 text-base text-gray-400 md:mt-0 md:order-1"> |
| © 2023 WhoMails. Tous droits réservés. |
| </p> |
| </div> |
| </div> |
| </footer> |
|
|
| <script> |
| |
| function animateCounters() { |
| const counters = document.querySelectorAll('.counter'); |
| const speed = 200; |
| |
| counters.forEach(counter => { |
| const target = +counter.getAttribute('data-target'); |
| const count = +counter.innerText; |
| const increment = target / speed; |
| |
| if (count < target) { |
| counter.innerText = Math.ceil(count + increment); |
| setTimeout(animateCounters, 1); |
| } else { |
| counter.innerText = target.toLocaleString(); |
| } |
| }); |
| } |
| |
| |
| window.addEventListener('load', animateCounters); |
| |
| |
| document.querySelectorAll('.faq-toggle').forEach(button => { |
| button.addEventListener('click', () => { |
| const content = button.nextElementSibling; |
| const icon = button.querySelector('i'); |
| |
| content.classList.toggle('hidden'); |
| icon.classList.toggle('fa-chevron-down'); |
| icon.classList.toggle('fa-chevron-up'); |
| }); |
| }); |
| |
| |
| document.getElementById('singleTab').addEventListener('click', function() { |
| document.getElementById('singleTab').classList.add('active'); |
| document.getElementById('batchTab').classList.remove('active'); |
| document.getElementById('singleTabContent').classList.add('active'); |
| document.getElementById('batchTabContent').classList.remove('active'); |
| }); |
| |
| document.getElementById('batchTab').addEventListener('click', function() { |
| document.getElementById('batchTab').classList.add('active'); |
| document.getElementById('singleTab').classList.remove('active'); |
| document.getElementById('batchTabContent').classList.add('active'); |
| document.getElementById('singleTabContent').classList.remove('active'); |
| }); |
| |
| |
| document.querySelectorAll('.tab-results').forEach(tab => { |
| tab.addEventListener('click', function() { |
| |
| document.querySelectorAll('.tab-results').forEach(t => t.classList.remove('active')); |
| document.querySelectorAll('.tab-results-content').forEach(c => c.classList.add('hidden')); |
| |
| |
| this.classList.add('active'); |
| const tabId = this.getAttribute('data-tab'); |
| document.getElementById(tabId).classList.remove('hidden'); |
| }); |
| }); |
| |
| |
| const sampleWhoisData = { |
| "domain": "example.com", |
| "domain_name": ["example.com", "www.example.com"], |
| "is_registered": true, |
| "source": "whois.verisign-grs.com", |
| "anonymous": false, |
| "creation_date": "1995-08-14T04:00:00Z", |
| "updated_date": "2022-08-13T07:58:21Z", |
| "expiration_date": "2023-08-13T04:00:00Z", |
| "hold": "NO", |
| "registrar": "RESERVED-INTERNET ASSIGNED NUMBERS AUTHORITY", |
| "registrar_info": { |
| "name": "RESERVED-INTERNET ASSIGNED NUMBERS AUTHORITY", |
| "url": "http://www.iana.org", |
| "email": "res-dom@iana.org", |
| "phone": "+1-310-301-5820", |
| "abuse_email": "abuse@iana.org", |
| "abuse_phone": "+1-310-301-5820", |
| "address": [ |
| "4676 Admiralty Way", |
| "Suite 330", |
| "Marina del Rey, CA 90292" |
| ], |
| "country": "US" |
| }, |
| "whois_server": "whois.iana.org", |
| "emails": [ |
| "res-dom@iana.org", |
| "abuse@iana.org", |
| "admin@example.com", |
| "john.doe@example.com", |
| "ceo@example.com" |
| ], |
| "relevant_emails": [ |
| "john.doe@example.com", |
| "ceo@example.com" |
| ], |
| "registrant": { |
| "name": "John Doe", |
| "organization": "Example Inc.", |
| "email": "john.doe@example.com", |
| "phone": "+1-555-123-4567", |
| "fax": "+1-555-987-6543", |
| "street": "123 Example Street", |
| "street_1": "Suite 100", |
| "city": "San Francisco", |
| "state": "CA", |
| "postal_code": "94105", |
| "country": "US", |
| "website": "http://www.example.com", |
| "type": "individual", |
| "eppstatus": ["ok"], |
| "eligstatus": "eligible", |
| "reachstatus": "verified" |
| }, |
| "admin": { |
| "name": "Jane Smith", |
| "organization": "Example Inc.", |
| "email": "jane.smith@example.com", |
| "phone": "+1-555-987-6543", |
| "street": "123 Example Street", |
| "city": "San Francisco", |
| "state": "CA", |
| "postal_code": "94105", |
| "country": "US", |
| "eppstatus": ["ok"], |
| "eligstatus": "eligible", |
| "reachstatus": "verified" |
| }, |
| "tech": { |
| "name": "Mike Johnson", |
| "organization": "Example Inc.", |
| "email": "mike.johnson@example.com", |
| "phone": "+1-555-456-7890", |
| "street": "123 Example Street", |
| "city": "San Francisco", |
| "state": "CA", |
| "postal_code": "94105", |
| "country": "US", |
| "eppstatus": ["ok"], |
| "eligstatus": "eligible", |
| "reachstatus": "verified" |
| }, |
| "name_servers": [ |
| "a.iana-servers.net", |
| "b.iana-servers.net" |
| ], |
| "dnssec": "unsigned", |
| "status": [ |
| "clientDeleteProhibited", |
| "clientTransferProhibited", |
| "clientUpdateProhibited" |
| ], |
| "raw": { |
| "domain_name": "EXAMPLE.COM", |
| "registry_domain_id": "2336799_DOMAIN_COM-VRSN", |
| "registrar_whois_server": "whois.iana.org", |
| "registrar_url": "http://www.iana.org", |
| "updated_date": "2022-08-13T07:58:21Z", |
| "creation_date": "1995-08-14T04:00:00Z", |
| "expiration_date": "2023-08-13T04:00:00Z", |
| "registrar": "RESERVED-INTERNET ASSIGNED NUMBERS AUTHORITY", |
| "registrar_iana_id": "376", |
| "registrar_abuse_contact_email": "abuse@iana.org", |
| "registrar_abuse_contact_phone": "+1-310-301-5820", |
| "domain_status": [ |
| "clientDeleteProhibited", |
| "clientTransferProhibited", |
| "clientUpdateProhibited" |
| ], |
| "name_server": [ |
| "A.IANA-SERVERS.NET", |
| "B.IANA-SERVERS.NET" |
| ], |
| "dnssec": "unsigned" |
| } |
| }; |
| |
| |
| document.getElementById('searchButton').addEventListener('click', function() { |
| const domain = document.getElementById('domainInput').value.trim(); |
| |
| if (!domain) { |
| alert('Veuillez entrer un domaine'); |
| return; |
| } |
| |
| |
| document.getElementById('resultsContainer').classList.add('hidden'); |
| document.getElementById('searchButton').innerHTML = '<div class="loader"></div>'; |
| document.getElementById('searchButton').disabled = true; |
| |
| |
| setTimeout(() => { |
| |
| |
| displayWhoisResults(sampleWhoisData); |
| |
| |
| document.getElementById('searchButton').innerHTML = '<i class="fas fa-search mr-2"></i>Rechercher'; |
| document.getElementById('searchButton').disabled = false; |
| |
| |
| document.getElementById('resultsContainer').classList.remove('hidden'); |
| }, 1000); |
| }); |
| |
| |
| function displayWhoisResults(data) { |
| |
| document.getElementById('domainHeader').textContent = `Résultats pour ${data.domain}`; |
| |
| |
| document.getElementById('domainName').textContent = data.domain || '-'; |
| document.getElementById('domainNames').textContent = data.domain_name.join(', ') || '-'; |
| document.getElementById('isRegistered').textContent = data.is_registered ? 'Oui' : 'Non'; |
| document.getElementById('source').textContent = data.source || '-'; |
| document.getElementById('anonymous').textContent = data.anonymous ? 'Oui' : 'Non'; |
| |
| |
| document.getElementById('creationDate').textContent = formatDate(data.creation_date) || '-'; |
| document.getElementById('updatedDate').textContent = formatDate(data.updated_date) || '-'; |
| document.getElementById('expirationDate').textContent = formatDate(data.expiration_date) || '-'; |
| document.getElementById('holdStatus').textContent = data.hold === 'YES' ? 'Oui' : 'Non'; |
| |
| |
| document.getElementById('registrar').textContent = data.registrar || '-'; |
| document.getElementById('registrarUrl').textContent = data.registrar_info?.url || '-'; |
| document.getElementById('registrarEmail').textContent = data.registrar_info?.email || '-'; |
| document.getElementById('registrarPhone').textContent = data.registrar_info?.phone || '-'; |
| document.getElementById('whoisServer').textContent = data.whois_server || '-'; |
| |
| |
| const allEmailsContainer = document.getElementById('allEmails'); |
| const relevantEmailsContainer = document.getElementById('relevantEmails'); |
| |
| allEmailsContainer.innerHTML = ''; |
| relevantEmailsContainer.innerHTML = ''; |
| |
| if (data.emails && data.emails.length > 0) { |
| data.emails.forEach(email => { |
| const emailDiv = document.createElement('div'); |
| emailDiv.className = 'info-box px-4 py-3 rounded'; |
| emailDiv.innerHTML = `<p class="text-sm text-gray-700">${email}</p>`; |
| allEmailsContainer.appendChild(emailDiv); |
| }); |
| } else { |
| allEmailsContainer.innerHTML = '<div class="success-box px-4 py-3 rounded"><p class="text-sm text-gray-700">Aucun email trouvé</p></div>'; |
| } |
| |
| if (data.relevant_emails && data.relevant_emails.length > 0) { |
| data.relevant_emails.forEach(email => { |
| const emailDiv = document.createElement('div'); |
| emailDiv.className = 'success-box px-4 py-3 rounded'; |
| emailDiv.innerHTML = `<p class="text-sm text-gray-700">${email}</p>`; |
| relevantEmailsContainer.appendChild(emailDiv); |
| }); |
| } else { |
| relevantEmailsContainer.innerHTML = '<div class="success-box px-4 py-3 rounded"><p class="text-sm text-gray-700">Aucun email pertinent trouvé</p></div>'; |
| } |
| |
| |
| document.getElementById('registrantName').textContent = data.registrant?.name || '-'; |
| document.getElementById('registrantOrg').textContent = data.registrant?.organization || '-'; |
| document.getElementById('registrantEmail').textContent = data.registrant?.email || '-'; |
| document.getElementById('registrantPhone').textContent = data.registrant?.phone || '-'; |
| document.getElementById('registrantFax').textContent = data.registrant?.fax || '-'; |
| document.getElementById('registrantType').textContent = data.registrant?.type || '-'; |
| |
| |
| const registrantAddressContainer = document.getElementById('registrantAddress'); |
| registrantAddressContainer.innerHTML = ''; |
| |
| if (data.registrant?.street) { |
| registrantAddressContainer.innerHTML += `<p>${data.registrant.street}</p>`; |
| } |
| if (data.registrant?.street_1) { |
| registrantAddressContainer.innerHTML += `<p>${data.registrant.street_1}</p>`; |
| } |
| if (!data.registrant?.street && !data.registrant?.street_1) { |
| registrantAddressContainer.innerHTML = '<p>-</p>'; |
| } |
| |
| document.getElementById('registrantCity').textContent = data.registrant?.city || '-'; |
| document.getElementById('registrantState').textContent = data.registrant?.state || '-'; |
| document.getElementById('registrantPostalCode').textContent = data.registrant?.postal_code || '-'; |
| document.getElementById('registrantCountry').textContent = data.registrant?.country || '-'; |
| document.getElementById('registrantWebsite').textContent = data.registrant?.website || '-'; |
| |
| |
| document.getElementById('adminName').textContent = data.admin?.name || '-'; |
| document.getElementById('adminOrg').textContent = data.admin?.organization || '-'; |
| document.getElementById('adminEmail').textContent = data.admin?.email || '-'; |
| document.getElementById('adminPhone').textContent = data.admin?.phone || '-'; |
| document.getElementById('adminFax').textContent = data.admin?.fax || '-'; |
| |
| |
| const adminAddressContainer = document.getElementById('adminAddress'); |
| adminAddressContainer.innerHTML = ''; |
| |
| if (data.admin?.street) { |
| adminAddressContainer.innerHTML += `<p>${data.admin.street}</p>`; |
| } |
| if (data.admin?.city) { |
| adminAddressContainer.innerHTML += `<p>${data.admin.city}, ${data.admin.state} ${data.admin.postal_code}</p>`; |
| } |
| if (!data.admin?.street && !data.admin?.city) { |
| adminAddressContainer.innerHTML = '<p>-</p>'; |
| } |
| |
| |
| document.getElementById('techName').textContent = data.tech?.name || '-'; |
| document.getElementById('techOrg').textContent = data.tech?.organization || '-'; |
| document.getElementById('techEmail').textContent = data.tech?.email || '-'; |
| document.getElementById('techPhone').textContent = data.tech?.phone || '-'; |
| document.getElementById('techFax').textContent = data.tech?.fax || '-'; |
| |
| |
| const techAddressContainer = document.getElementById('techAddress'); |
| techAddressContainer.innerHTML = ''; |
| |
| if (data.tech?.street) { |
| techAddressContainer.innerHTML += `<p>${data.tech.street}</p>`; |
| } |
| if (data.tech?.city) { |
| techAddressContainer.innerHTML += `<p>${data.tech.city}, ${data.tech.state} ${data.tech.postal_code}</p>`; |
| } |
| if (!data.tech?.street && !data.tech?.city) { |
| techAddressContainer.innerHTML = '<p>-</p>'; |
| } |
| |
| |
| document.getElementById('abuseEmail').textContent = data.registrar_info?.abuse_email || '-'; |
| document.getElementById('abusePhone').textContent = data.registrar_info?.abuse_phone || '-'; |
| |
| |
| const registrarAddressContainer = document.getElementById('registrarAddress'); |
| registrarAddressContainer.innerHTML = ''; |
| |
| if (data.registrar_info?.address) { |
| data.registrar_info.address.forEach(line => { |
| registrarAddressContainer.innerHTML += `<p>${line}</p>`; |
| }); |
| } else { |
| registrarAddressContainer.innerHTML = '<p>-</p>'; |
| } |
| |
| document.getElementById('registrarCountry').textContent = data.registrar_info?.country || '-'; |
| |
| |
| const nameServersContainer = document.getElementById('nameServers'); |
| nameServersContainer.innerHTML = ''; |
| |
| if (data.name_servers && data.name_servers.length > 0) { |
| data.name_servers.forEach(ns => { |
| const nsDiv = document.createElement('div'); |
| nsDiv.className = 'info-box px-4 py-3 rounded'; |
| nsDiv.innerHTML = `<p class="text-sm text-gray-700">${ns}</p>`; |
| nameServersContainer.appendChild(nsDiv); |
| }); |
| } else { |
| nameServersContainer.innerHTML = '<div class="info-box px-4 py-3 rounded"><p class="text-sm text-gray-700">Aucun serveur de nom trouvé</p></div>'; |
| } |
| |
| |
| document.getElementById('dnssec').textContent = data.dnssec === 'signed' ? 'Signé' : 'Non signé'; |
| |
| |
| const domainStatusContainer = document.getElementById('domainStatus'); |
| domainStatusContainer.innerHTML = ''; |
| |
| if (data.status && data.status.length > 0) { |
| data.status.forEach(status => { |
| const statusDiv = document.createElement('div'); |
| statusDiv.className = 'info-box px-4 py-3 rounded'; |
| statusDiv.innerHTML = `<p class="text-sm text-gray-700">${status}</p>`; |
| domainStatusContainer.appendChild(statusDiv); |
| }); |
| } else { |
| domainStatusContainer.innerHTML = '<div class="info-box px-4 py-3 rounded"><p class="text-sm text-gray-700">Statut non disponible</p></div>'; |
| } |
| |
| |
| document.getElementById('rawData').textContent = JSON.stringify(data.raw, null, 2) || 'Aucune donnée brute disponible'; |
| } |
| |
| |
| </script> |
| </html> |