Files
html/api/weval-technology-platform-api-v80.php
2026-04-19 16:55:01 +02:00

149 lines
6.1 KiB
PHP

<?php
/**
* V80 — WTP API Enrichment (Additive, zero écrasement)
*
* Wrapper that calls the original WTP API then injects:
* 1. wevia-unified-hub.html into 'intelligence' module
* 2. wevia-autonomy-dashboard.html into 'operations' module
* 3. New 'servers_machines' module with live infra: S204/S95/Blade/SER_6-9
*
* Exposé via /api/weval-technology-platform-api-v80.php
* WTP page peut progressivement pointer ici (pas obligation immédiate)
*/
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
// Call original WTP API
$original_url = 'http://127.0.0.1:5890/api/weval-technology-platform-api.php';
$ch = curl_init($original_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Host: weval-consulting.com']);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$raw = curl_exec($ch);
curl_close($ch);
$d = json_decode($raw, true);
if (!$d || !isset($d['modules'])) {
echo json_encode(['error' => 'base WTP API unavailable', 'fallback' => true]);
exit;
}
/* Enrichment 1 — add wevia-unified-hub.html to intelligence module */
if (isset($d['modules']['intelligence']['submodules'])) {
$has_unified_hub = false;
foreach ($d['modules']['intelligence']['submodules'] as $sm) {
if (in_array('wevia-unified-hub.html', $sm['pages'] ?? [])) {
$has_unified_hub = true; break;
}
}
if (!$has_unified_hub) {
$d['modules']['intelligence']['submodules'][] = [
'id' => 'wevia_unified_hub',
'label' => '🏛 WEVIA Unified Hub',
'desc' => 'Hub de consolidation · 906 agents · 15509 skills · 346 intents · truth registry',
'pages' => ['wevia-unified-hub.html'],
'apis' => ['/api/wevia-truth-registry.json', '/api/wevia-unified-api.php']
];
}
}
/* Enrichment 2 — add wevia-autonomy-dashboard.html to operations */
if (isset($d['modules']['operations']['submodules'])) {
$has_autonomy = false;
foreach ($d['modules']['operations']['submodules'] as $sm) {
if (in_array('wevia-autonomy-dashboard.html', $sm['pages'] ?? [])) {
$has_autonomy = true; break;
}
}
if (!$has_autonomy) {
$d['modules']['operations']['submodules'][] = [
'id' => 'autonomy_dashboard',
'label' => '🎯 Autonomy Dashboard (GODMODE)',
'desc' => 'Score autonomie live · A+GODMODE · NR 153/153 · L99 304/304',
'pages' => ['wevia-autonomy-dashboard.html'],
'apis' => ['/api/opus5-autonomy-kpi.php', '/api/wevia-v74-sixsigma-api.php']
];
}
}
/* Enrichment 3 — NEW MODULE: servers_machines (live infra) */
if (!isset($d['modules']['servers_machines'])) {
$d['modules']['servers_machines'] = [
'label' => 'Servers & Machines (Infra Live)',
'icon' => '🖥️',
'color' => '#10b981',
'tagline' => 'Tous les serveurs, GPU, Blade, Machines · vue unifiée live',
'submodules' => [
[
'id' => 's204_primary',
'label' => '🏗️ S204 Primary (204.168.152.13)',
'desc' => 'nginx/PHP8.5/PG16 · 250 pages · 19 Docker · WEVIA Master · Ollama',
'pages' => ['infra-dashboard-live.html', 'infra-monitor.html', 'infra-command.html'],
'apis' => ['http://127.0.0.1:5890/', '/api/wevia-v76-infra-api.php']
],
[
'id' => 's95_wevads',
'label' => '🏭 S95 WEVADS (95.216.167.89)',
'desc' => 'WEVADS Arsenal · PMTA · KumoMTA · 146K HCPs · Ethica',
'pages' => ['wevads-monitoring.html', 's95-hub.html'],
'apis' => ['https://wevads.weval-consulting.com/api/sentinel-brain.php']
],
[
'id' => 'blade_workstation',
'label' => '💻 Blade Razer (Yacineutt profile)',
'desc' => 'Chrome persistent profile · Playwright · Selenium stealth · token renewal',
'pages' => ['blade-hub.html', 'blade-ai.html', 'blade-center.html', 'blade-actions.html', 'blade-control.html', 'blade-install.html'],
'apis' => ['/api/blade-tasks/', '/api/blade-actions-api.php']
],
[
'id' => 'huawei_ecs_ser6_9',
'label' => '☁️ Huawei Cloud ECS (SER_6-9)',
'desc' => 'PMTA email engine · 4 ECS instances · 110.239.x.x IPs',
'pages' => ['huawei-cloud.html'],
'apis' => []
],
[
'id' => 'gpu_kaggle',
'label' => '🎮 GPU Kaggle / Colab Training',
'desc' => 'Finetune yace222/weval-brain-v4 · weekly cron · free GPU via Kaggle',
'pages' => ['gpu-hub.html', 'wevia-training.html'],
'apis' => []
],
[
'id' => 'docker_stack',
'label' => '🐳 Docker Stack (19 containers)',
'desc' => 'Gitea, Mattermost, n8n, Langfuse, Listmonk, Plausible, Loki, Qdrant, Uptime Kuma, SearXNG...',
'pages' => ['docker-hub.html'],
'apis' => ['http://127.0.0.1:9443/']
],
[
'id' => 'cloudflare_cdn',
'label' => '☁️ Cloudflare CDN + DNS',
'desc' => '25+ zones · weval-consulting.com · wevup.app · culturellemejean.charity',
'pages' => ['cloudflare-hub.html'],
'apis' => []
],
[
'id' => 'hetzner_cloud',
'label' => '🇩🇪 Hetzner Cloud',
'desc' => 'Backups & secondary infra',
'pages' => ['hetzner-hub.html'],
'apis' => []
],
]
];
}
/* Update meta */
$d['modules_count'] = count($d['modules']);
$d['v80_enriched'] = true;
$d['v80_additions'] = [
'wevia-unified-hub.html added to intelligence',
'wevia-autonomy-dashboard.html added to operations',
'servers_machines module added with 8 infra submodules'
];
$d['v80_ts'] = date('c');
echo json_encode($d, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);