🐳 15/08 - 00:54 - en va creé. inversé deréferenement. une page KNOWLEDGE GRAPH REPUTATIONNEL ACTIF00:50:08 UTCMODE: ENTITY REPUTATION ANALYSISENTITÉS: 0RELATIONS: 0SCORE RÉP: --/500Constructeur de
c8731c4 verified Download knowledge-graph.html from secutorpro/gdorks-web-generator-7cmse: direct link, hf CLI and curl.
- Browser
- Download file 37.8 kB
-
https://huggingface.co/spaces/secutorpro/gdorks-web-generator-7cmse/resolve/main/knowledge-graph.html
- Command line
-
hf download hf://spaces/secutorpro/gdorks-web-generator-7cmse/knowledge-graph.html
-
curl -L -o knowledge-graph.html https://huggingface.co/spaces/secutorpro/gdorks-web-generator-7cmse/resolve/main/knowledge-graph.html
37.8 kB
| <html lang="fr"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex, notranslate, none"> | |
| <meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex, none"> | |
| <meta name="bingbot" content="noindex, nofollow, noarchive, nosnippet, none"> | |
| <meta name="referrer" content="no-referrer"> | |
| <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate"> | |
| <meta http-equiv="pragma" content="no-cache"> | |
| <meta http-equiv="expires" content="0"> | |
| <link rel="canonical" href="#"> | |
| <title>Knowledge Graph Reputationnel — SentinelAI</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet"> | |
| <link rel="stylesheet" href="knowledge-graph.css"> | |
| <script> | |
| tailwind.config = { theme: { extend: { fontFamily: { sans: ['Inter', 'sans-serif'], mono: ['JetBrains Mono', 'monospace'] } } } } | |
| </script> | |
| </head> | |
| <body class="bg-slate-950 text-slate-200 font-sans antialiased min-h-screen overflow-x-hidden"> | |
| <!-- Animated Background --> | |
| <div class="fixed inset-0 z-0 pointer-events-none"> | |
| <div class="grid-bg"></div> | |
| <div class="absolute top-0 left-1/4 w-[600px] h-[600px] bg-violet-600/5 rounded-full blur-3xl animate-pulse-slow"></div> | |
| <div class="absolute bottom-0 right-1/4 w-[600px] h-[600px] bg-indigo-600/5 rounded-full blur-3xl animate-pulse-slow-delayed"></div> | |
| <div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-fuchsia-600/3 rounded-full blur-3xl"></div> | |
| </div> | |
| <!-- Navigation --> | |
| <nav class="relative z-20 border-b border-slate-800/60 backdrop-blur-xl bg-slate-950/90 sticky top-0"> | |
| <div class="max-w-[1600px] mx-auto px-4 sm:px-6 lg:px-8"> | |
| <div class="flex items-center justify-between h-14"> | |
| <div class="flex items-center gap-2.5"> | |
| <div class="w-8 h-8 bg-gradient-to-br from-violet-400 to-indigo-600 rounded-lg flex items-center justify-center shadow-lg shadow-violet-500/20"> | |
| <i data-lucide="share-2" class="w-4 h-4 text-white"></i> | |
| </div> | |
| <div> | |
| <span class="text-base font-bold text-white tracking-tight">Sentinel<span class="text-violet-400">AI</span></span> | |
| <span class="hidden sm:inline text-xs text-slate-500 ml-2 font-mono">KNOWLEDGE GRAPH REPUTATIONNEL</span> | |
| </div> | |
| </div> | |
| <div class="hidden md:flex items-center gap-1"> | |
| <a href="command-center.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="layout-dashboard" class="w-3.5 h-3.5 inline mr-1"></i>Dashboard</a> | |
| <a href="index.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="search" class="w-3.5 h-3.5 inline mr-1"></i>GDorks</a> | |
| <a href="threats.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="alert-triangle" class="w-3.5 h-3.5 inline mr-1"></i>Threats</a> | |
| <a href="network.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="network" class="w-3.5 h-3.5 inline mr-1"></i>Network</a> | |
| <a href="seo-mesh-normal.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="network" class="w-3.5 h-3.5 inline mr-1"></i>Mesh Normal</a> | |
| <a href="seo-mesh-inverse.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="brain-circuit" class="w-3.5 h-3.5 inline mr-1"></i>Mesh Inversé</a> | |
| <a href="cognitive-inverse-mesh.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="brain-circuit" class="w-3.5 h-3.5 inline mr-1"></i>Cognitive Inversé</a> | |
| <a href="cognitive-seo-geo-mesh.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="brain" class="w-3.5 h-3.5 inline mr-1"></i>Cognitive SEO/GEO</a> | |
| <a href="seo-geo-aeo-sge-inverse.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="layers-3" class="w-3.5 h-3.5 inline mr-1"></i>SEO/GEO/AEO/SGE</a> | |
| <a href="seo-power-mesh.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="zap" class="w-3.5 h-3.5 inline mr-1"></i>Power Mesh</a> | |
| <a href="knowledge-graph.html" class="nav-link active px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="share-2" class="w-3.5 h-3.5 inline mr-1"></i>Knowledge Graph</a> | |
| <a href="knowledge-graph-deref.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="shield-x" class="w-3.5 h-3.5 inline mr-1"></i>KG Déréf. Inversé</a> | |
| <a href="seo-inverse.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="eye-off" class="w-3.5 h-3.5 inline mr-1"></i>SEO Inverse</a> | |
| <a href="quick-deranking.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="zap-off" class="w-3.5 h-3.5 inline mr-1"></i>Déréf. Rapide</a> | |
| <a href="chs-backend.html" class="nav-link px-3 py-1.5 rounded-lg text-xs font-medium transition-all"><i data-lucide="plug" class="w-3.5 h-3.5 inline mr-1"></i>CHS Backend</a> | |
| </div> | |
| <div class="flex items-center gap-3"> | |
| <div class="flex items-center gap-2 px-3 py-1.5 rounded-lg bg-violet-500/10 border border-violet-500/20"> | |
| <div class="w-2 h-2 bg-violet-400 rounded-full animate-pulse"></div> | |
| <span class="text-xs font-semibold text-violet-400 font-mono">COGNITION ACTIVE</span> | |
| </div> | |
| <button onclick="toggleMobileMenu()" class="md:hidden p-2 text-slate-400 hover:text-white"><i data-lucide="menu" class="w-5 h-5"></i></button> | |
| </div> | |
| </div> | |
| </div> | |
| <div id="mobileMenu" class="hidden md:hidden border-t border-slate-800/60 bg-slate-950/95 backdrop-blur-xl"> | |
| <div class="px-4 py-3 space-y-1"> | |
| <a href="command-center.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Dashboard</a> | |
| <a href="index.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">GDorks</a> | |
| <a href="threats.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Threats</a> | |
| <a href="network.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Network</a> | |
| <a href="seo-mesh-normal.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Mesh Normal</a> | |
| <a href="seo-mesh-inverse.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Mesh Inversé</a> | |
| <a href="cognitive-inverse-mesh.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Cognitive Inversé</a> | |
| <a href="cognitive-seo-geo-mesh.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Cognitive SEO/GEO</a> | |
| <a href="seo-geo-aeo-sge-inverse.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">SEO/GEO/AEO/SGE</a> | |
| <a href="seo-power-mesh.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Power Mesh</a> | |
| <a href="knowledge-graph.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-violet-400 bg-violet-500/10">Knowledge Graph</a> | |
| <a href="knowledge-graph-deref.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">KG Déréf. Inversé</a> | |
| <a href="seo-inverse.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">SEO Inverse</a> | |
| <a href="quick-deranking.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">Déréf. Rapide</a> | |
| <a href="chs-backend.html" class="block px-3 py-2 rounded-lg text-sm font-medium text-slate-400 hover:text-white hover:bg-slate-800">CHS Backend</a> | |
| </div> | |
| </div> | |
| </nav> | |
| <!-- Main Content --> | |
| <div class="relative z-10 max-w-[1600px] mx-auto px-4 sm:px-6 lg:px-8 py-6"> | |
| <!-- Status Banner --> | |
| <div class="mb-6 flex items-center gap-3 px-4 py-2.5 bg-slate-900/50 border border-slate-800/60 rounded-xl backdrop-blur-sm flex-wrap"> | |
| <div class="flex items-center gap-2"> | |
| <div class="w-2 h-2 bg-violet-400 rounded-full animate-pulse"></div> | |
| <span class="text-xs font-mono text-violet-400">KNOWLEDGE GRAPH REPUTATIONNEL ACTIF</span> | |
| </div> | |
| <div class="h-4 w-px bg-slate-800"></div> | |
| <span class="text-xs font-mono text-slate-500" id="systemTime">--:--:--</span> | |
| <div class="h-4 w-px bg-slate-800"></div> | |
| <span class="text-xs font-mono text-slate-500">MODE: <span class="text-violet-400">ENTITY REPUTATION ANALYSIS</span></span> | |
| <div class="ml-auto flex items-center gap-2"> | |
| <span class="text-xs font-mono text-slate-500">ENTITÉS: <span class="text-violet-400" id="entityCount">0</span></span> | |
| <div class="h-4 w-px bg-slate-800"></div> | |
| <span class="text-xs font-mono text-slate-500">RELATIONS: <span class="text-cyan-400" id="relationCount">0</span></span> | |
| <div class="h-4 w-px bg-slate-800"></div> | |
| <span class="text-xs font-mono text-slate-500">SCORE RÉP: <span class="text-green-400" id="repScore">--</span><span class="text-slate-600">/500</span></span> | |
| </div> | |
| </div> | |
| <!-- Input Zone --> | |
| <div class="mb-6 bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"> | |
| <i data-lucide="share-2" class="w-4 h-4 text-violet-400"></i> | |
| <h2 class="text-sm font-semibold text-white">Constructeur de Knowledge Graph Reputationnel</h2> | |
| </div> | |
| <span class="text-xs font-mono text-slate-500">Entités · Relations · E-E-A-T · Sentiment · Autorité</span> | |
| </div> | |
| <div class="p-5 space-y-4"> | |
| <div class="flex flex-col md:flex-row gap-3"> | |
| <div class="flex-1 relative"> | |
| <i data-lucide="globe" class="absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-500"></i> | |
| <input type="text" id="domainInput" placeholder="Domaine/Marque cible (ex: mon-site.fr)" class="w-full bg-slate-950 border border-slate-700 rounded-xl pl-10 pr-4 py-3 text-slate-200 placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-violet-500/50 focus:border-violet-500 transition-all font-mono text-sm"> | |
| </div> | |
| <button onclick="buildKnowledgeGraph()" class="bg-gradient-to-r from-violet-600 to-indigo-600 hover:from-violet-500 hover:to-indigo-500 text-white px-6 py-3 rounded-xl font-semibold shadow-lg shadow-violet-500/25 transition-all hover:scale-105 active:scale-95 flex items-center justify-center gap-2 whitespace-nowrap"> | |
| <i data-lucide="share-2" class="w-4 h-4"></i> | |
| Construire Knowledge Graph | |
| <span class="hidden sm:inline text-[10px] font-mono opacity-60 ml-1">⌘↵</span> | |
| </button> | |
| </div> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-4"> | |
| <div> | |
| <label class="text-xs text-slate-500 mb-1 block font-mono uppercase tracking-wider">Entités principales (marques, personnes)</label> | |
| <textarea id="entitiesInput" rows="3" placeholder="Acme Corp Jean Dupont Service Pro Tech Solutions" class="w-full bg-slate-950 border border-slate-700 rounded-lg px-3 py-2.5 text-sm text-slate-200 placeholder-slate-600 focus:outline-none focus:ring-2 focus:ring-violet-500/30 focus:border-violet-500/50 font-mono transition-all resize-none"></textarea> | |
| </div> | |
| <div> | |
| <label class="text-xs text-slate-500 mb-1 block font-mono uppercase tracking-wider">Mots-clés / Thématiques</label> | |
| <textarea id="keywordsInput" rows="3" placeholder="plombier chauffagiste expert professionnel" class="w-full bg-slate-950 border border-slate-700 rounded-lg px-3 py-2.5 text-sm text-slate-200 placeholder-slate-600 focus:outline-none focus:ring-2 focus:ring-violet-500/30 focus:border-violet-500/50 font-mono transition-all resize-none"></textarea> | |
| </div> | |
| <div> | |
| <label class="text-xs text-slate-500 mb-1 block font-mono uppercase tracking-wider">Concurrents / Entités externes</label> | |
| <textarea id="competitorsInput" rows="3" placeholder="concurrent1.fr concurrent2.fr influenceur-pro.com" class="w-full bg-slate-950 border border-slate-700 rounded-lg px-3 py-2.5 text-sm text-slate-200 placeholder-slate-600 focus:outline-none focus:ring-2 focus:ring-violet-500/30 focus:border-violet-500/50 font-mono transition-all resize-none"></textarea> | |
| </div> | |
| </div> | |
| <div> | |
| <label class="text-xs text-slate-500 mb-2 block font-mono uppercase tracking-wider">Dimensions de réputation à analyser</label> | |
| <div class="flex flex-wrap gap-2" id="dimensionFilters"> | |
| <label class="flex items-center gap-2 bg-slate-950 border border-violet-500/30 rounded-lg px-3 py-2 cursor-pointer hover:border-violet-500/50 transition-all"><input type="checkbox" value="trust" class="dim-cb accent-violet-500" checked><span class="text-xs text-violet-400 font-semibold">TRUST</span><span class="text-[10px] text-slate-500">Confiance</span></label> | |
| <label class="flex items-center gap-2 bg-slate-950 border border-cyan-500/30 rounded-lg px-3 py-2 cursor-pointer hover:border-cyan-500/50 transition-all"><input type="checkbox" value="authority" class="dim-cb accent-cyan-500" checked><span class="text-xs text-cyan-400 font-semibold">AUTHORITY</span><span class="text-[10px] text-slate-500">Autorité</span></label> | |
| <label class="flex items-center gap-2 bg-slate-950 border border-purple-500/30 rounded-lg px-3 py-2 cursor-pointer hover:border-purple-500/50 transition-all"><input type="checkbox" value="sentiment" class="dim-cb accent-purple-500" checked><span class="text-xs text-purple-400 font-semibold">SENTIMENT</span><span class="text-[10px] text-slate-500">Sentiment</span></label> | |
| <label class="flex items-center gap-2 bg-slate-950 border border-amber-500/30 rounded-lg px-3 py-2 cursor-pointer hover:border-amber-500/50 transition-all"><input type="checkbox" value="influence" class="dim-cb accent-amber-500" checked><span class="text-xs text-amber-400 font-semibold">INFLUENCE</span><span class="text-[10px] text-slate-500">Influence</span></label> | |
| <label class="flex items-center gap-2 bg-slate-950 border border-green-500/30 rounded-lg px-3 py-2 cursor-pointer hover:border-green-500/50 transition-all"><input type="checkbox" value="eeat" class="dim-cb accent-green-500" checked><span class="text-xs text-green-400 font-semibold">E-E-A-T</span><span class="text-[10px] text-slate-500">Expertise/Exp/Auto/Trust</span></label> | |
| </div> | |
| </div> | |
| <div id="processing" class="hidden"> | |
| <div class="bg-slate-950/80 border border-violet-500/20 rounded-lg p-4 space-y-3"> | |
| <div class="flex items-center gap-2"> | |
| <i data-lucide="cpu" class="w-4 h-4 text-violet-400 cog-processing"></i> | |
| <span class="text-xs font-mono text-violet-400 uppercase tracking-wider">Construction du Knowledge Graph en cours</span> | |
| </div> | |
| <div id="stages" class="space-y-2 font-mono text-xs text-slate-400"></div> | |
| <div class="w-full bg-slate-800 rounded-full h-1.5"> | |
| <div class="bg-gradient-to-r from-violet-500 to-indigo-500 h-1.5 rounded-full transition-all duration-300" id="progressBar" style="width: 0%"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Stats Row --> | |
| <div class="grid grid-cols-2 md:grid-cols-5 gap-4 mb-6"> | |
| <div class="stat-card bg-slate-900/50 border border-violet-500/20 rounded-xl p-4 backdrop-blur-sm"> | |
| <div class="flex items-center justify-between mb-2"><span class="text-xs font-medium text-slate-500 uppercase tracking-wider">Score TRUST</span><i data-lucide="shield-check" class="w-4 h-4 text-violet-400"></i></div> | |
| <div class="text-2xl font-bold text-violet-400 font-mono" id="statTrust">0</div> | |
| <div class="text-xs text-slate-500 font-mono mt-1">confiance / 100</div> | |
| </div> | |
| <div class="stat-card bg-slate-900/50 border border-cyan-500/20 rounded-xl p-4 backdrop-blur-sm"> | |
| <div class="flex items-center justify-between mb-2"><span class="text-xs font-medium text-slate-500 uppercase tracking-wider">Score AUTHORITY</span><i data-lucide="award" class="w-4 h-4 text-cyan-400"></i></div> | |
| <div class="text-2xl font-bold text-cyan-400 font-mono" id="statAuthority">0</div> | |
| <div class="text-xs text-slate-500 font-mono mt-1">autorité / 100</div> | |
| </div> | |
| <div class="stat-card bg-slate-900/50 border border-purple-500/20 rounded-xl p-4 backdrop-blur-sm"> | |
| <div class="flex items-center justify-between mb-2"><span class="text-xs font-medium text-slate-500 uppercase tracking-wider">Score SENTIMENT</span><i data-lucide="smile" class="w-4 h-4 text-purple-400"></i></div> | |
| <div class="text-2xl font-bold text-purple-400 font-mono" id="statSentiment">0</div> | |
| <div class="text-xs text-slate-500 font-mono mt-1">sentiment / 100</div> | |
| </div> | |
| <div class="stat-card bg-slate-900/50 border border-amber-500/20 rounded-xl p-4 backdrop-blur-sm"> | |
| <div class="flex items-center justify-between mb-2"><span class="text-xs font-medium text-slate-500 uppercase tracking-wider">Score INFLUENCE</span><i data-lucide="trending-up" class="w-4 h-4 text-amber-400"></i></div> | |
| <div class="text-2xl font-bold text-amber-400 font-mono" id="statInfluence">0</div> | |
| <div class="text-xs text-slate-500 font-mono mt-1">influence / 100</div> | |
| </div> | |
| <div class="stat-card bg-slate-900/50 border border-green-500/20 rounded-xl p-4 backdrop-blur-sm"> | |
| <div class="flex items-center justify-between mb-2"><span class="text-xs font-medium text-slate-500 uppercase tracking-wider">Score E-E-A-T</span><i data-lucide="badge-check" class="w-4 h-4 text-green-400"></i></div> | |
| <div class="text-2xl font-bold text-green-400 font-mono" id="statEEAT">0</div> | |
| <div class="text-xs text-slate-500 font-mono mt-1">expertise / 100</div> | |
| </div> | |
| </div> | |
| <!-- Score Breakdown --> | |
| <div class="mb-6 bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"><i data-lucide="gauge" class="w-4 h-4 text-violet-400"></i><h2 class="text-sm font-semibold text-white">Décomposition Cognitive de la Réputation</h2></div> | |
| <span class="text-xs font-mono text-slate-500">5 dimensions · /500</span> | |
| </div> | |
| <div class="p-5 flex flex-col md:flex-row items-center gap-6"> | |
| <div class="relative shrink-0"> | |
| <svg width="120" height="120" class="progress-ring"> | |
| <circle cx="60" cy="60" r="50" stroke="#1e293b" stroke-width="6" fill="none"/> | |
| <circle id="scoreRing" cx="60" cy="60" r="50" stroke="url(#scoreGradient)" stroke-width="6" fill="none" stroke-dasharray="314.159" stroke-dashoffset="314.159" stroke-linecap="round"/> | |
| <defs><linearGradient id="scoreGradient" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#8b5cf6"/><stop offset="25%" stop-color="#06b6d4"/><stop offset="50%" stop-color="#a855f7"/><stop offset="75%" stop-color="#f59e0b"/><stop offset="100%" stop-color="#22c55e"/></linearGradient></defs> | |
| </svg> | |
| <div class="absolute inset-0 flex flex-col items-center justify-center"> | |
| <span class="text-3xl font-bold text-white font-mono" id="scoreNumber">0</span> | |
| <span class="text-[10px] font-mono text-slate-500 uppercase">/500</span> | |
| </div> | |
| </div> | |
| <div class="flex-1 w-full space-y-3" id="scoreDimensions"> | |
| <div class="text-center text-slate-600 text-sm py-8">Lancez la construction pour voir les scores</div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- AI Cognitive Engine --> | |
| <div class="mb-6 bg-slate-900/50 border border-violet-500/20 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60 flex-wrap gap-3"> | |
| <div class="flex items-center gap-2"><i data-lucide="cpu" class="w-4 h-4 text-violet-400"></i><h2 class="text-sm font-semibold text-white">Moteur Cognitif IA Réputationnel</h2><span class="text-xs font-mono text-violet-400/60">Neural Reputation Engine v3.0</span></div> | |
| <div class="flex items-center gap-3"> | |
| <label class="flex items-center gap-2 cursor-pointer select-none"> | |
| <span class="text-xs font-mono text-slate-400">AUTOMATION</span> | |
| <div class="relative"> | |
| <input type="checkbox" id="aiAutomationToggle" class="sr-only" onchange="CognitiveAI.toggleAutomation()"> | |
| <div class="w-10 h-5 bg-slate-800 rounded-full transition-colors" id="automationToggleBg"></div> | |
| <div class="absolute left-0.5 top-0.5 w-4 h-4 bg-slate-600 rounded-full transition-all" id="automationToggleKnob"></div> | |
| </div> | |
| </label> | |
| <div class="flex items-center gap-2 px-3 py-1.5 rounded-lg bg-slate-800/50 border border-slate-700/50"> | |
| <div class="w-2 h-2 bg-slate-600 rounded-full" id="aiStatusDot"></div> | |
| <span class="text-xs font-mono text-slate-500" id="aiStatusText">DORMANT</span> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="grid grid-cols-1 lg:grid-cols-3 gap-4 p-5"> | |
| <div class="lg:col-span-1"> | |
| <div class="flex items-center gap-2 mb-2"><i data-lucide="git-graph" class="w-3.5 h-3.5 text-violet-400"></i><span class="text-xs font-semibold text-slate-300 uppercase tracking-wider">Réseau Neuronal Réputation</span></div> | |
| <canvas id="neuralCanvas" class="w-full rounded-lg border border-slate-800/60" style="height: 220px;"></canvas> | |
| <div class="grid grid-cols-3 gap-2 mt-3"> | |
| <div class="bg-slate-950/50 rounded-lg p-2.5 border border-slate-800/60"><div class="text-[10px] text-slate-500 font-mono uppercase">Confiance</div><div class="text-lg font-bold text-violet-400 font-mono" id="aiConfidence">0%</div></div> | |
| <div class="bg-slate-950/50 rounded-lg p-2.5 border border-slate-800/60"><div class="text-[10px] text-slate-500 font-mono uppercase">Itérations</div><div class="text-lg font-bold text-cyan-400 font-mono" id="aiIterations">0</div></div> | |
| <div class="bg-slate-950/50 rounded-lg p-2.5 border border-slate-800/60"><div class="text-[10px] text-slate-500 font-mono uppercase">Actions Auto</div><div class="text-lg font-bold text-green-400 font-mono" id="aiAutoCount">0</div></div> | |
| </div> | |
| </div> | |
| <div class="lg:col-span-1"> | |
| <div class="flex items-center gap-2 mb-2"><i data-lucide="brain" class="w-3.5 h-3.5 text-violet-400"></i><span class="text-xs font-semibold text-slate-300 uppercase tracking-wider">Décisions IA</span></div> | |
| <div class="overflow-y-auto space-y-2" style="max-height: 220px;" id="aiDecisionsList"><div class="text-center text-slate-600 text-xs py-8">IA en attente d'activation</div></div> | |
| </div> | |
| <div class="lg:col-span-1"> | |
| <div class="flex items-center gap-2 mb-2"><i data-lucide="activity" class="w-3.5 h-3.5 text-violet-400"></i><span class="text-xs font-semibold text-slate-300 uppercase tracking-wider">Métriques Cognitives</span></div> | |
| <div class="space-y-2" style="max-height: 220px; overflow-y: auto;"> | |
| <div class="bg-slate-950/50 rounded-lg p-2.5 border border-slate-800/60"><div class="text-[10px] text-slate-500 font-mono uppercase mb-1">Patterns Détectés</div><div class="text-xs text-slate-300 font-mono" id="aiPatterns">—</div></div> | |
| <div class="bg-slate-950/50 rounded-lg p-2.5 border border-slate-800/60"><div class="text-[10px] text-slate-500 font-mono uppercase mb-1">Prédictions</div><div class="text-xs text-slate-300 font-mono" id="aiPredictions">—</div></div> | |
| <div class="bg-slate-950/50 rounded-lg p-2.5 border border-slate-800/60"><div class="text-[10px] text-slate-500 font-mono uppercase mb-1">Apprentissage</div><div class="text-xs text-slate-300 font-mono" id="aiLearning">—</div></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="px-5 pb-5 flex flex-wrap gap-2"> | |
| <button onclick="CognitiveAI.activate()" class="bg-gradient-to-r from-violet-600 to-indigo-600 hover:from-violet-500 hover:to-indigo-500 text-white px-4 py-2 rounded-lg text-xs font-semibold transition-all flex items-center gap-2 hover:scale-105 active:scale-95"><i data-lucide="power" class="w-3.5 h-3.5"></i><span id="aiActivateLabel">Activer l'IA</span></button> | |
| <button onclick="CognitiveAI.runCycle()" class="bg-slate-800 hover:bg-slate-700 text-slate-300 px-4 py-2 rounded-lg text-xs font-semibold transition-all flex items-center gap-2"><i data-lucide="zap" class="w-3.5 h-3.5"></i>Cycle Cognitif</button> | |
| <button onclick="CognitiveAI.autoRemediate()" class="bg-amber-600/20 hover:bg-amber-600/30 text-amber-400 border border-amber-500/30 px-4 py-2 rounded-lg text-xs font-semibold transition-all flex items-center gap-2"><i data-lucide="wrench" class="w-3.5 h-3.5"></i>Auto-Remédiation</button> | |
| <button onclick="CognitiveAI.deepLearn()" class="bg-cyan-600/20 hover:bg-cyan-600/30 text-cyan-400 border border-cyan-500/30 px-4 py-2 rounded-lg text-xs font-semibold transition-all flex items-center gap-2"><i data-lucide="graduation-cap" class="w-3.5 h-3.5"></i>Deep Learning</button> | |
| <button onclick="CognitiveAI.geneticOptimize()" class="bg-green-600/20 hover:bg-green-600/30 text-green-400 border border-green-500/30 px-4 py-2 rounded-lg text-xs font-semibold transition-all flex items-center gap-2"><i data-lucide="dna" class="w-3.5 h-3.5"></i>Algo Génétique</button> | |
| </div> | |
| </div> | |
| <!-- Knowledge Graph Canvas + Entity List --> | |
| <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6"> | |
| <div class="lg:col-span-2 bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"><i data-lucide="share-2" class="w-4 h-4 text-violet-400"></i><h2 class="text-sm font-semibold text-white">Knowledge Graph — Vue Cognitive Réputationnelle</h2></div> | |
| <div class="flex items-center gap-3 text-xs"> | |
| <div class="flex items-center gap-1.5"><div class="w-2 h-2 bg-violet-400 rounded-full"></div><span class="text-slate-500">Primaire</span></div> | |
| <div class="flex items-center gap-1.5"><div class="w-2 h-2 bg-cyan-400 rounded-full"></div><span class="text-slate-500">Autorité</span></div> | |
| <div class="flex items-center gap-1.5"><div class="w-2 h-2 bg-green-400 rounded-full"></div><span class="text-slate-500">Positif</span></div> | |
| <div class="flex items-center gap-1.5"><div class="w-2 h-2 bg-red-400 rounded-full"></div><span class="text-slate-500">Négatif</span></div> | |
| <div class="flex items-center gap-1.5"><div class="w-2 h-2 bg-slate-600 rounded-full"></div><span class="text-slate-500">Isolé</span></div> | |
| </div> | |
| </div> | |
| <div class="relative p-2" style="min-height: 480px;"> | |
| <canvas id="kgCanvas" class="w-full rounded-lg" style="height: 480px;"></canvas> | |
| <div id="kgTooltip" class="absolute hidden bg-slate-900 border border-violet-500/20 rounded-lg px-3 py-2 text-xs font-mono pointer-events-none z-10 shadow-xl"></div> | |
| <div id="kgPlaceholder" class="absolute inset-0 flex flex-col items-center justify-center text-center"> | |
| <i data-lucide="share-2" class="w-12 h-12 text-slate-700 mb-3"></i> | |
| <p class="text-sm text-slate-500">Configurez vos entités et mots-clés</p> | |
| <p class="text-xs text-slate-600 mt-1">puis cliquez sur « Construire Knowledge Graph »</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"><i data-lucide="users" class="w-4 h-4 text-cyan-400"></i><h2 class="text-sm font-semibold text-white">Entités & Réputation</h2></div> | |
| <span class="text-xs font-mono text-cyan-400" id="entityListCount">0</span> | |
| </div> | |
| <div class="overflow-y-auto p-3 space-y-2" style="max-height: 480px;" id="entityList"> | |
| <div class="text-center text-slate-600 text-sm py-8">Aucune entité analysée</div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Tabs --> | |
| <div class="mb-6 flex gap-2 overflow-x-auto pb-1"> | |
| <button onclick="switchTab('report', this)" class="tab-btn active px-4 py-2 rounded-lg text-xs font-semibold whitespace-nowrap transition-all"><i data-lucide="file-text" class="w-3.5 h-3.5 inline mr-1"></i>Rapport Réputation</button> | |
| <button onclick="switchTab('strategy', this)" class="tab-btn px-4 py-2 rounded-lg text-xs font-semibold whitespace-nowrap transition-all"><i data-lucide="lightbulb" class="w-3.5 h-3.5 inline mr-1"></i>Stratégie Réputationnelle</button> | |
| <button onclick="switchTab('recommendations', this)" class="tab-btn px-4 py-2 rounded-lg text-xs font-semibold whitespace-nowrap transition-all"><i data-lucide="target" class="w-3.5 h-3.5 inline mr-1"></i>Recommandations IA</button> | |
| </div> | |
| <div id="tab-report" class="tab-content mb-6"> | |
| <div class="bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"><i data-lucide="file-text" class="w-4 h-4 text-violet-400"></i><h2 class="text-sm font-semibold text-white">Rapport Cognitif Knowledge Graph Reputationnel</h2></div> | |
| <div class="flex items-center gap-3"> | |
| <button onclick="copyReport()" class="text-xs text-violet-400 hover:text-violet-300 transition-colors font-mono flex items-center gap-1"><i data-lucide="copy" class="w-3.5 h-3.5"></i>COPIER</button> | |
| <button onclick="exportReport()" class="text-xs text-green-400 hover:text-green-300 transition-colors font-mono flex items-center gap-1"><i data-lucide="download" class="w-3.5 h-3.5"></i>EXPORTER</button> | |
| </div> | |
| </div> | |
| <div class="p-5"><pre class="code-block p-4 text-slate-300 max-h-[400px] overflow-y-auto" id="reportOutput">En attente de génération...</pre></div> | |
| </div> | |
| </div> | |
| <div id="tab-strategy" class="tab-content hidden mb-6"> | |
| <div class="bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"><i data-lucide="lightbulb" class="w-4 h-4 text-cyan-400"></i><h2 class="text-sm font-semibold text-white">Stratégie de Renforcement Réputationnel</h2></div> | |
| <button onclick="copyStrategy()" class="text-xs text-cyan-400 hover:text-cyan-300 transition-colors font-mono flex items-center gap-1"><i data-lucide="copy" class="w-3.5 h-3.5"></i>COPIER</button> | |
| </div> | |
| <div class="p-5"><pre class="code-block p-4 text-slate-300 max-h-[400px] overflow-y-auto" id="strategyOutput">En attente de génération...</pre></div> | |
| </div> | |
| </div> | |
| <div id="tab-recommendations" class="tab-content hidden mb-6"> | |
| <div class="bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"><i data-lucide="target" class="w-4 h-4 text-amber-400"></i><h2 class="text-sm font-semibold text-white">Recommandations Cognitives IA</h2></div> | |
| </div> | |
| <div class="p-5 space-y-3" id="recommendationsContent"> | |
| <div class="text-center text-slate-600 text-sm py-8">Lancez la construction pour voir les recommandations</div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Activity Log --> | |
| <div class="bg-slate-900/50 border border-slate-800/80 rounded-xl backdrop-blur-sm overflow-hidden mb-6"> | |
| <div class="flex items-center justify-between px-5 py-3 border-b border-slate-800/60"> | |
| <div class="flex items-center gap-2"><i data-lucide="terminal" class="w-4 h-4 text-violet-400"></i><h2 class="text-sm font-semibold text-white">Journal Cognitif</h2></div> | |
| <button onclick="clearLogs()" class="text-xs text-slate-500 hover:text-slate-300 transition-colors font-mono">CLEAR</button> | |
| </div> | |
| <div class="overflow-y-auto p-4 font-mono text-xs space-y-1.5" style="max-height: 220px;" id="activityLog"></div> | |
| </div> | |
| </div> | |
| <!-- Toast --> | |
| <div id="toast" class="fixed bottom-6 right-6 z-50 transform translate-y-20 opacity-0 transition-all duration-300"> | |
| <div class="bg-slate-900 border border-slate-700 rounded-xl px-4 py-3 shadow-2xl flex items-center gap-3"> | |
| <div class="w-8 h-8 bg-violet-500/20 rounded-lg flex items-center justify-center"><i data-lucide="check" class="w-4 h-4 text-violet-400"></i></div> | |
| <span class="text-sm font-medium text-slate-200" id="toastMsg">Done</span> | |
| </div> | |
| </div> | |
| <script src="https://unpkg.com/lucide@latest"></script> | |
| <script src="knowledge-graph.js"></script> | |
| </body> | |
| </html> |