Files
wevads-platform/scripts/ia-hub.php
2026-02-26 04:53:11 +01:00

309 lines
17 KiB
PHP
Executable File

<?php
/**
* WEVAL IA HUB - Accès centralisé à toutes les interfaces IA
*/
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123");
$stats = $pdo->query("SELECT
(SELECT COUNT(*) FROM admin.ai_providers WHERE is_active=true) as providers,
(SELECT COUNT(*) FROM admin.commonia_knowledge) as kb,
(SELECT COUNT(*) FROM admin.brain_seeds) as seeds,
(SELECT COUNT(*) FROM admin.hamid_conversations) as convs
")->fetch(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🧠 WEVAL IA HUB - Toutes les Interfaces</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', system-ui, sans-serif; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); min-height: 100vh; color: #fff; }
.container { max-width: 1400px; margin: 0 auto; padding: 2rem; }
h1 { text-align: center; font-size: 2.5rem; margin-bottom: 0.5rem; background: linear-gradient(90deg, #4facfe, #00f2fe); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.subtitle { text-align: center; color: #888; margin-bottom: 2rem; }
.stats { display: flex; justify-content: center; gap: 2rem; margin-bottom: 2rem; flex-wrap: wrap; }
.stat { background: rgba(255,255,255,0.1); padding: 1rem 2rem; border-radius: 12px; text-align: center; }
.stat-value { font-size: 2rem; font-weight: bold; color: #4facfe; }
.stat-label { color: #888; font-size: 0.9rem; }
.section { margin-bottom: 2rem; }
.section-title { font-size: 1.3rem; margin-bottom: 1rem; display: flex; align-items: center; gap: 0.5rem; border-bottom: 2px solid rgba(255,255,255,0.1); padding-bottom: 0.5rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 1.5rem; transition: all 0.3s; cursor: pointer; text-decoration: none; color: inherit; display: block; }
.card:hover { transform: translateY(-5px); background: rgba(255,255,255,0.1); border-color: #4facfe; box-shadow: 0 10px 40px rgba(79,172,254,0.2); }
.card-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.card-title { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.card-desc { color: #888; font-size: 0.85rem; line-height: 1.4; }
.card-url { color: #4facfe; font-size: 0.75rem; margin-top: 0.75rem; opacity: 0.7; }
.badge { display: inline-block; padding: 0.2rem 0.5rem; border-radius: 4px; font-size: 0.7rem; }
.badge-new { background: #4caf50; }
.badge-fixed { background: #ff9800; }
.badge-ssh { background: #9c27b0; }
.badge-api { background: #2196f3; }
.badge-terminal { background: #e91e63; }
.footer { text-align: center; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.1); color: #666; }
.search { width: 100%; max-width: 500px; margin: 0 auto 2rem; }
.search input { width: 100%; padding: 1rem 1.5rem; border-radius: 50px; border: 2px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.05); color: #fff; font-size: 1rem; }
.search input:focus { outline: none; border-color: #4facfe; }
.search input::placeholder { color: #666; }
.stars { color: #ffd700; font-size: 0.8rem; margin-left: 0.5rem; }
.ai-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.ai-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 1.25rem; }
.ai-card:hover { border-color: #4facfe; }
.ai-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; }
.ai-name { font-weight: 600; font-size: 1.1rem; }
.ai-stars { color: #ffd700; }
.ai-desc { color: #aaa; font-size: 0.85rem; line-height: 1.5; }
.ai-tags { margin-top: 0.75rem; display: flex; gap: 0.5rem; flex-wrap: wrap; }
.ai-tag { background: rgba(79,172,254,0.2); color: #4facfe; padding: 0.2rem 0.5rem; border-radius: 4px; font-size: 0.7rem; }
.ai-tag.speed { background: rgba(76,175,80,0.2); color: #4caf50; }
.ai-tag.free { background: rgba(255,193,7,0.2); color: #ffc107; }
.ai-tag.code { background: rgba(156,39,176,0.2); color: #ce93d8; }
</style>
</head>
<body>
<div class="container">
<h1>🧠 WEVAL IA HUB</h1>
<p class="subtitle">Accès centralisé à toutes les interfaces Intelligence Artificielle</p>
<div class="stats">
<div class="stat"><div class="stat-value"><?= $stats['providers'] ?? 13 ?></div><div class="stat-label">AI Providers</div></div>
<div class="stat"><div class="stat-value"><?= $stats['convs'] ?? 0 ?></div><div class="stat-label">Conversations</div></div>
<div class="stat"><div class="stat-value"><?= $stats['kb'] ?? 0 ?></div><div class="stat-label">KB Entries</div></div>
<div class="stat"><div class="stat-value"><?= number_format($stats['seeds'] ?? 0) ?></div><div class="stat-label">Brain Seeds</div></div>
</div>
<div class="search">
<input type="text" id="searchInput" placeholder="🔍 Rechercher une interface..." onkeyup="filterCards()">
</div>
<!-- RACCOURCIS RAPIDES -->
<div class="section" style="background: linear-gradient(135deg, rgba(212,165,116,0.1), rgba(167,139,250,0.1)); border-radius: 16px; padding: 20px; margin-bottom: 2rem;">
<h2 class="section-title" style="border:none; padding:0; margin-bottom:1rem;"><i class="fas fa-bolt"></i> ⚡ Accès Rapides</h2>
<div style="display: flex; gap: 1rem; flex-wrap: wrap;">
<!-- btn-killed -->
<a href="/hamid-brain-config.php" class="card" target="_blank">
<div class="card-icon">⚙️</div>
<div class="card-title">Brain Config</div>
<div class="card-desc">Configuration Brain Engine - templates, headers, domaines</div>
<div class="card-url">/hamid-brain-config.php</div>
</a>
<a href="/hamid-brain-monitor.php" class="card" target="_blank">
<div class="card-icon">📊</div>
<div class="card-title">Brain Monitor</div>
<div class="card-desc">Monitoring temps réel des tests et résultats</div>
<div class="card-url">/hamid-brain-monitor.php</div>
</a>
</div>
</div>
<!-- ADMIN & CONFIG -->
<div class="section">
<h2 class="section-title"><i class="fas fa-cogs"></i> Administration & Config</h2>
<div class="grid">
<a href="/hamid-admin.php" class="card" target="_blank">
<div class="card-icon">👤</div>
<div class="card-title">Admin Panel</div>
<div class="card-desc">Administration générale HAMID</div>
<div class="card-url">/hamid-admin.php</div>
</a>
<a href="/hamid-providers.php" class="card" target="_blank">
<div class="card-icon">🔌</div>
<div class="card-title">AI Providers Config</div>
<div class="card-desc">Gestion et test des 13 providers IA</div>
<div class="card-url">/hamid-providers.php</div>
</a>
<a href="/hamid-personas.php" class="card" target="_blank">
<div class="card-icon">🎭</div>
<div class="card-title">Personas IA</div>
<div class="card-desc">10 personas spécialisés (Code Master, DevOps, SEO...)</div>
<div class="card-url">/hamid-personas.php</div>
</a>
<a href="/hamid-gpts.php" class="card" target="_blank">
<div class="card-icon">🤖</div>
<div class="card-title">GPTs Custom</div>
<div class="card-desc">Création de GPTs personnalisés</div>
<div class="card-url">/hamid-gpts.php</div>
</a>
<a href="/hamid-control-center.php" class="card" target="_blank">
<div class="card-icon">🎛️</div>
<div class="card-title">Control Center</div>
<div class="card-desc">Centre de contrôle unifié</div>
<div class="card-url">/hamid-control-center.php</div>
</a>
<a href="/hamid-memory.php" class="card" target="_blank">
<div class="card-icon">💾</div>
<div class="card-title">Memory Manager</div>
<div class="card-desc">Gestion mémoire et contexte IA</div>
<div class="card-url">/hamid-memory.php</div>
</a>
<a href="/widget-admin.php" class="card" target="_blank">
<div class="card-icon">⚙️</div>
<div class="card-title">Widget Admin</div>
<div class="card-desc">Configuration widget chatbot</div>
<div class="card-url">/widget-admin.php</div>
</a>
</div>
</div>
<!-- MONITORING -->
<div class="section">
<h2 class="section-title"><i class="fas fa-chart-line"></i> Monitoring & Status</h2>
<div class="grid">
<a href="/hamid-monitor.php" class="card" target="_blank">
<div class="card-icon">📈</div>
<div class="card-title">Monitor System</div>
<div class="card-desc">Monitoring système complet - CPU, RAM, services</div>
<div class="card-url">/hamid-monitor.php</div>
</a>
<a href="/hamid-failover-monitor.php" class="card" target="_blank">
<div class="card-icon">🔄</div>
<div class="card-title">Failover Monitor</div>
<div class="card-desc">Monitoring failover et basculement providers</div>
<div class="card-url">/hamid-failover-monitor.php</div>
</a>
<a href="/hamid-health.php" class="card" target="_blank">
<div class="card-icon">💚</div>
<div class="card-title">Health Check</div>
<div class="card-desc">État de santé de tous les services</div>
<div class="card-url">/hamid-health.php</div>
</a>
<a href="/hamid-status.php" class="card" target="_blank">
<div class="card-icon">🟢</div>
<div class="card-title">Status API</div>
<div class="card-desc">Status temps réel des APIs et providers</div>
<div class="card-url">/hamid-status.php</div>
</a>
<a href="/hamid-dashboard.php" class="card" target="_blank">
<div class="card-icon">📊</div>
<div class="card-title">Dashboard Stats</div>
<div class="card-desc">Statistiques d'utilisation et métriques</div>
<div class="card-url">/hamid-dashboard.php</div>
</a>
<a href="/hamid-router-dashboard.php" class="card" target="_blank">
<div class="card-icon">🌐</div>
<div class="card-title">Router Dashboard</div>
<div class="card-desc">Dashboard routage et load balancing</div>
<div class="card-url">/hamid-router-dashboard.php</div>
</a>
</div>
</div>
<!-- TOOLS -->
<div class="section">
<h2 class="section-title"><i class="fas fa-tools"></i> Outils & Génération</h2>
<div class="grid">
<a href="/hamid-image.php" class="card" target="_blank">
<div class="card-icon">🖼️</div>
<div class="card-title">Image Generator</div>
<div class="card-desc">Génération d'images IA (Stable Diffusion, DALL-E)</div>
<div class="card-url">/hamid-image.php</div>
</a>
<a href="/hamid-voice.php" class="card" target="_blank">
<div class="card-icon">🎙️</div>
<div class="card-title">Voice Interface</div>
<div class="card-desc">Interaction vocale - speech-to-text et text-to-speech</div>
<div class="card-url">/hamid-voice.php</div>
</a>
<a href="/hamid-maintenance.php" class="card" target="_blank">
<div class="card-icon">🔧</div>
<div class="card-title">Maintenance Tools</div>
<div class="card-desc">Outils de maintenance et nettoyage</div>
<div class="card-url">/hamid-maintenance.php</div>
</a>
<a href="/hamid-selector.php" class="card" target="_blank">
<div class="card-icon">🎯</div>
<div class="card-title">Provider Selector</div>
<div class="card-desc">Sélection automatique du meilleur provider</div>
<div class="card-url">/hamid-selector.php</div>
</a>
</div>
</div>
<!-- APIs -->
<div class="section">
<h2 class="section-title"><i class="fas fa-plug"></i> APIs Backend <span class="badge badge-api">API</span></h2>
<div class="grid">
<a href="/hamid-api.php" class="card" target="_blank">
<div class="card-icon">🔗</div>
<div class="card-title">HAMID API Principal</div>
<div class="card-desc">API principale - chat, sauvegarde, KB search</div>
<div class="card-url">/hamid-api.php</div>
</a>
<a href="/hamid-kb-api.php" class="card" target="_blank">
<div class="card-icon">📖</div>
<div class="card-title">KB API</div>
<div class="card-desc">API Knowledge Base - recherche sémantique</div>
<div class="card-url">/hamid-kb-api.php</div>
</a>
<a href="/api/brain-engine.php" class="card" target="_blank">
<div class="card-icon">🧬</div>
<div class="card-title">Brain Engine API</div>
<div class="card-desc">API Brain - tests, configs, résultats</div>
<div class="card-url">/api/brain-engine.php</div>
</a>
<a href="/weval-ssh-api.php" class="card" target="_blank">
<div class="card-icon">🔐</div>
<div class="card-title">SSH API</div>
<div class="card-desc">API WebSocket pour terminaux SSH</div>
<div class="card-url">/weval-ssh-api.php</div>
</a>
</div>
</div>
<!-- INDEX -->
<div class="section">
<h2 class="section-title"><i class="fas fa-th"></i> Index & Accueil</h2>
<div class="grid">
<a href="/ia-index.php" class="card" target="_blank">
<div class="card-icon">🏠</div>
<div class="card-title">IA Index Principal</div>
<div class="card-desc">Page d'accueil IA principale</div>
<div class="card-url">/ia-index.php</div>
</a>
<a href="/hamid-index.php" class="card" target="_blank">
<div class="card-icon">📋</div>
<div class="card-title">HAMID Index</div>
<div class="card-desc">Index des fonctionnalités HAMID</div>
<div class="card-url">/hamid-index.php</div>
</a>
<a href="/weval-mind-index.php" class="card" target="_blank">
<div class="card-icon">🧠</div>
<div class="card-title">WEVAL MIND Index</div>
<div class="card-desc">Index WEVAL MIND</div>
<div class="card-url">/weval-mind-index.php</div>
</a>
<a href="/weval-mind-dashboard.php" class="card" target="_blank">
<div class="card-icon">📊</div>
<div class="card-title">WEVAL Dashboard</div>
<div class="card-desc">Dashboard WEVAL MIND</div>
<div class="card-url">/weval-mind-dashboard.php</div>
</a>
</div>
</div>
<div class="footer">
<p>🧠 WEVAL IA HUB - <?= date('Y') ?> | Server: <?= gethostname() ?> | IP: 89.167.40.150:5821</p>
<p style="margin-top:0.5rem">
<a href="/ia-index.php" style="color:#4facfe">← Index Principal</a> |
<a href="/hamid-fullscreen.php" style="color:#4facfe">Chat IA</a> |
<a href="/ia-knowledge.php" style="color:#4facfe">Knowledge Base</a>
</p>
</div>
</div>
<script>
function filterCards() {
const filter = document.getElementById('searchInput').value.toLowerCase();
document.querySelectorAll('.card, .ai-card').forEach(card => {
const text = card.textContent.toLowerCase();
card.style.display = text.includes(filter) ? '' : 'none';
});
}
</script>
</body>
</html>