diff --git a/api/$_IC b/api/$_IC index 183dd7ebd..c8688eb00 100644 --- a/api/$_IC +++ b/api/$_IC @@ -1 +1 @@ -{"timestamp":"2026-04-07 18:49:30","scan_ms":8473,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"9 models"}],"docker":[{"name":"authentik-db","status":"Up 23 hours"},{"name":"authentik-redis","status":"Up 23 hours"},{"name":"authentik-server","status":"Up 19 hours (healthy)"},{"name":"authentik-worker","status":"Up 22 hours (healthy)"},{"name":"chatwoot-redis","status":"Up 23 hours"},{"name":"langfuse","status":"Up 23 hours"},{"name":"loki","status":"Up 23 hours"},{"name":"mattermost","status":"Up 23 hours (healthy)"},{"name":"n8n","status":"Up 23 hours"},{"name":"node-exporter","status":"Up 23 hours"},{"name":"plausible-db","status":"Up 23 hours"},{"name":"plausible-events","status":"Up 23 hours"},{"name":"plausible","status":"Up 23 hours"},{"name":"prometheus","status":"Up 23 hours"},{"name":"qdrant","status":"Up 23 hours"},{"name":"searxng","status":"Up 23 hours"},{"name":"twenty-redis","status":"Up 23 hours"},{"name":"twenty","status":"Up 23 hours"},{"name":"uptime-kuma","status":"Up 23 hours (healthy)"},{"name":"vaultwarden","status":"Up 23 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 3 days"},{"name":"listmonk","status":"Up 3 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 13 days"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":23}} \ No newline at end of file +{"timestamp":"2026-04-07 18:59:29","scan_ms":8064,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"9 models"}],"docker":[{"name":"authentik-db","status":"Up 23 hours"},{"name":"authentik-redis","status":"Up 23 hours"},{"name":"authentik-server","status":"Up 19 hours (healthy)"},{"name":"authentik-worker","status":"Up 23 hours (healthy)"},{"name":"chatwoot-redis","status":"Up 23 hours"},{"name":"langfuse","status":"Up 23 hours"},{"name":"loki","status":"Up 23 hours"},{"name":"mattermost","status":"Up 23 hours (healthy)"},{"name":"n8n","status":"Up 23 hours"},{"name":"node-exporter","status":"Up 23 hours"},{"name":"plausible-db","status":"Up 23 hours"},{"name":"plausible-events","status":"Up 23 hours"},{"name":"plausible","status":"Up 23 hours"},{"name":"prometheus","status":"Up 23 hours"},{"name":"qdrant","status":"Up 23 hours"},{"name":"searxng","status":"Up 23 hours"},{"name":"twenty-redis","status":"Up 23 hours"},{"name":"twenty","status":"Up 23 hours"},{"name":"uptime-kuma","status":"Up 23 hours (healthy)"},{"name":"vaultwarden","status":"Up 23 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 4 days"},{"name":"listmonk","status":"Up 4 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 13 days"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":23}} \ No newline at end of file diff --git a/api/architecture-scan.json b/api/architecture-scan.json index 9c23fc4c1..e69de29bb 100644 --- a/api/architecture-scan.json +++ b/api/architecture-scan.json @@ -1,1974 +0,0 @@ -{ - "generated": "2026-04-07 18:30:02", - "version": "1.0", - "servers": [ - { - "id": "S204", - "ip": "204.168.152.13", - "private": "10.1.0.2", - "role": "PRIMARY", - "ssh": 49222, - "disk_pct": 80, - "disk_avail": "30G", - "uptime": "up 2 weeks, 1 day, 4 hours, 26 minutes", - "nginx": "active", - "php_fpm": "active", - "php_version": "8.5.3" - }, - { - "id": "S95", - "ip": "95.216.167.89", - "private": "10.1.0.3", - "role": "WEVADS Arsenal", - "ssh": 22, - "disk_pct": 81, - "disk_avail": "28G", - "sentinel": 1 - }, - { - "id": "S151", - "ip": "151.80.235.110", - "private": null, - "role": "DR\/Tracking OVH", - "ssh": 22 - } - ], - "docker": [ - { - "name": "loki", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "chatwoot-redis", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "authentik-server", - "status": "Up 19 hours (healthy)", - "ports": "" - }, - { - "name": "authentik-worker", - "status": "Up 22 hours (healthy)", - "ports": "" - }, - { - "name": "authentik-db", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "authentik-redis", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "langfuse", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "node-exporter", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "prometheus", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "twenty", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "twenty-redis", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "searxng", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "plausible", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "plausible-db", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "plausible-events", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "n8n", - "status": "Up 22 hours", - "ports": "" - }, - { - "name": "uptime-kuma", - "status": "Up 22 hours (healthy)", - "ports": "" - }, - { - "name": "mattermost", - "status": "Up 22 hours (healthy)", - "ports": "" - }, - { - "name": "vaultwarden", - "status": "Up 22 hours (healthy)", - "ports": "" - }, - { - "name": "qdrant", - "status": "Up 22 hours", - "ports": "" - } - ], - "domains": [ - { - "file": "analytics.weval-consulting.com", - "server_names": [ - "analytics.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "analytics.weval-consulting.com.bak", - "server_names": [ - "analytics.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "auth.weval-consulting.com", - "server_names": [ - "auth.weval-consulting.com" - ], - "ssl": true, - "authentik": false, - "authentik_paths": false, - "auth_complete": false - }, - { - "file": "code-weval", - "server_names": [ - "code.weval-consulting.com" - ], - "ssl": true, - "authentik": false, - "authentik_paths": false, - "auth_complete": false - }, - { - "file": "crm.weval-consulting.com", - "server_names": [ - "crm.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "deerflow.weval-consulting.com", - "server_names": [ - "deerflow.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "deerflow.weval-consulting.com.bak", - "server_names": [ - "deerflow.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "ethica", - "server_names": [ - "ethica.wevup.app", - "consent.wevup.app" - ], - "ssl": true, - "authentik": false, - "authentik_paths": false, - "auth_complete": false - }, - { - "file": "mirofish.weval-consulting.com", - "server_names": [ - "mirofish.weval-consulting.com" - ], - "ssl": true, - "authentik": false, - "authentik_paths": false, - "auth_complete": false - }, - { - "file": "mm.weval-consulting.com", - "server_names": [ - "mm.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "monitor.weval-consulting.com", - "server_names": [ - "monitor.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "n8n.weval-consulting.com", - "server_names": [ - "n8n.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "paperclip.weval-consulting.com", - "server_names": [ - "paperclip.weval-consulting.com" - ], - "ssl": true, - "authentik": false, - "authentik_paths": false, - "auth_complete": false - }, - { - "file": "wevads.weval-consulting.com", - "server_names": [ - "wevads.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - }, - { - "file": "weval-consulting", - "server_names": [ - "weval-consulting.com", - "www.weval-consulting.com" - ], - "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true - } - ], - "screens": { - "s204_html": 109, - "s204_products": 88, - "s204_api_php": 302, - "s204_wevia_php": 6, - "s95_arsenal_html": 1377, - "s95_arsenal_api": 377 - }, - "auth": { - "system": "Authentik Forward Auth", - "outpost_port": 9090, - "provider_id": 5, - "protected_count": 54, - "users": [ - "yacine", - "yanis", - "akadmin" - ], - "login_url": "https:\/\/auth.weval-consulting.com" - }, - "databases": { - "s204": [ - "postgres", - "adx_system", - "wevia_db", - "twenty_db", - "mattermost_db", - "paperclip", - "deerflow", - "nocodb" - ], - "key_tables": { - "kb_learnings": 1003, - "kb_documents": 0, - "ethica_medecins": 50004, - "enterprise_agents": 0 - } - }, - "ollama": [ - { - "name": "hermes3:8b", - "family": "llama", - "params": "8.0B", - "quant": "Q4_0", - "size_gb": 4.7 - }, - { - "name": "moondream:latest", - "family": "phi2", - "params": "1B", - "quant": "Q4_0", - "size_gb": 1.7 - }, - { - "name": "deepseek-r1:7b", - "family": "qwen2", - "params": "7.6B", - "quant": "Q4_K_M", - "size_gb": 4.7 - }, - { - "name": "weval-brain-v3:latest", - "family": "qwen3", - "params": "8.2B", - "quant": "Q4_K_M", - "size_gb": 5.2 - }, - { - "name": "qwen3:8b", - "family": "qwen3", - "params": "8.2B", - "quant": "Q4_K_M", - "size_gb": 5.2 - }, - { - "name": "nomic-embed-text:v1.5", - "family": "nomic-bert", - "params": "137M", - "quant": "F16", - "size_gb": 0.3 - }, - { - "name": "medllama2:latest", - "family": "llama", - "params": "7B", - "quant": "Q4_0", - "size_gb": 3.8 - }, - { - "name": "all-minilm:latest", - "family": "bert", - "params": "23M", - "quant": "F16", - "size_gb": 0 - }, - { - "name": "qwen3:4b", - "family": "qwen3", - "params": "4.0B", - "quant": "Q4_K_M", - "size_gb": 2.5 - } - ], - "qdrant": [ - { - "name": "wevia_memory", - "vectors": 28 - }, - { - "name": "weval_skills", - "vectors": 14367 - }, - { - "name": "wevia_learnings", - "vectors": 640 - }, - { - "name": "wevia_kb", - "vectors": 386 - } - ], - "ai_providers": [ - { - "name": "Cerebras", - "model": "Qwen-235B", - "tier": "T1", - "status": "active" - }, - { - "name": "Groq", - "model": "Llama-4-Scout", - "tier": "T1", - "status": "active" - }, - { - "name": "SambaNova", - "model": "Llama-3.3-70B", - "tier": "T1", - "status": "active" - }, - { - "name": "NVIDIA NIM", - "model": "Llama-3.1-70B", - "tier": "T1", - "status": "active" - }, - { - "name": "Together", - "model": "Qwen-2.5-72B", - "tier": "T1", - "status": "active" - }, - { - "name": "Mistral", - "model": "Mistral-Small", - "tier": "T2", - "status": "active" - }, - { - "name": "Cohere", - "model": "Command-R+", - "tier": "T2", - "status": "active" - }, - { - "name": "Gemini", - "model": "Gemini-2.0-Flash", - "tier": "T2", - "status": "active" - }, - { - "name": "DeepSeek", - "model": "DeepSeek-Chat", - "tier": "T2", - "status": "active" - }, - { - "name": "OpenRouter", - "model": "Multi", - "tier": "T2", - "status": "active" - }, - { - "name": "Alibaba", - "model": "Qwen-Max", - "tier": "T2", - "status": "active" - }, - { - "name": "HuggingFace", - "model": "Inference", - "tier": "T3", - "status": "active" - }, - { - "name": "Replicate", - "model": "Multi", - "tier": "T3", - "status": "active" - }, - { - "name": "ZhiPu", - "model": "GLM-4", - "tier": "T3", - "status": "active" - }, - { - "name": "Ollama Local", - "model": "weval-brain-v3", - "tier": "T0", - "status": "active" - } - ], - "crons": { - "s204_root": 0, - "s204_www": 29, - "s204_total": 29, - "key_crons": [ - { - "name": "L99 Master", - "freq": "*\/30", - "target": "l99-master.py" - }, - { - "name": "L99 Auth", - "freq": "*\/30", - "target": "l99-auth-infra.py" - }, - { - "name": "L99 Pipeline", - "freq": "*\/15", - "target": "l99-pipeline.py" - }, - { - "name": "L99 Alive", - "freq": "*\/10", - "target": "l99-alive.py" - }, - { - "name": "Infra Guardian", - "freq": "*\/5", - "target": "infra-guardian.sh" - }, - { - "name": "Blade Watchdog", - "freq": "*\/5", - "target": "blade-watchdog.php" - }, - { - "name": "RAG Ingest", - "freq": "*\/30", - "target": "wevia-rag-ingest.sh" - }, - { - "name": "Blade Orchestrator", - "freq": "*\/30", - "target": "blade-orchestrator.sh" - }, - { - "name": "WEVIA Dream", - "freq": "*\/30", - "target": "wevia-dream-cron.php" - }, - { - "name": "SSO Health", - "freq": "*\/5", - "target": "weval-sso-health.sh" - }, - { - "name": "Watchdog", - "freq": "*\/3", - "target": "weval-watchdog.php" - }, - { - "name": "Ethica Enrich", - "freq": "daily 01h", - "target": "ethica-enrich-v4.py" - }, - { - "name": "Daily Brief", - "freq": "daily 07h", - "target": "weval-daily-brief.py" - } - ] - }, - "wiki": { - "total_entries": 1003, - "categories": [ - { - "category": "AUTO-FIX", - "cnt": "301" - }, - { - "category": "TOPOLOGY", - "cnt": "245" - }, - { - "category": "L99-FULLSCAN", - "cnt": "80" - }, - { - "category": "SYSTEMATIC", - "cnt": "30" - }, - { - "category": "AGENT", - "cnt": "20" - }, - { - "category": "INFRA", - "cnt": "18" - }, - { - "category": "L99-SCAN", - "cnt": "12" - }, - { - "category": "FIX", - "cnt": "10" - }, - { - "category": "CONTROL-TOWER", - "cnt": "10" - }, - { - "category": "FLEET", - "cnt": "8" - }, - { - "category": "DISCOVERY", - "cnt": "7" - }, - { - "category": "MASTER-INTENT", - "cnt": "6" - }, - { - "category": "Analyse", - "cnt": "5" - }, - { - "category": "SESSION-5AVR", - "cnt": "5" - }, - { - "category": "Maroc", - "cnt": "5" - }, - { - "category": "AUTH", - "cnt": "5" - }, - { - "category": "SERVICES", - "cnt": "4" - }, - { - "category": "claude_2026", - "cnt": "4" - }, - { - "category": "WEVAL Consulting", - "cnt": "4" - }, - { - "category": "PARADIGM", - "cnt": "3" - }, - { - "category": "Intelligence Artificielle", - "cnt": "3" - }, - { - "category": "FIX-CRITIQUE", - "cnt": "3" - }, - { - "category": "INTEGRATION", - "cnt": "3" - }, - { - "category": "L99-MEGA", - "cnt": "2" - }, - { - "category": "Diagramme", - "cnt": "2" - }, - { - "category": "Cependant", - "cnt": "2" - }, - { - "category": "QUALITY", - "cnt": "2" - }, - { - "category": "MONITORING", - "cnt": "2" - }, - { - "category": "Bien", - "cnt": "2" - }, - { - "category": "L99", - "cnt": "2" - }, - { - "category": "Introduction", - "cnt": "2" - }, - { - "category": "PROVIDERS", - "cnt": "2" - }, - { - "category": "Image", - "cnt": "2" - }, - { - "category": "Pour", - "cnt": "2" - }, - { - "category": "WEVIA", - "cnt": "2" - }, - { - "category": "Contexte", - "cnt": "2" - }, - { - "category": "L99-GAP", - "cnt": "2" - }, - { - "category": "Pourriez", - "cnt": "2" - }, - { - "category": "Voici", - "cnt": "2" - }, - { - "category": "L99-E2E", - "cnt": "2" - }, - { - "category": "Salut", - "cnt": "2" - }, - { - "category": "Pouvez", - "cnt": "2" - }, - { - "category": "Test", - "cnt": "2" - }, - { - "category": "WEVAL Consulting Casablanca", - "cnt": "2" - }, - { - "category": "Vous", - "cnt": "2" - }, - { - "category": "Document", - "cnt": "2" - }, - { - "category": "L99-EXHAUSTIVE", - "cnt": "2" - }, - { - "category": "Comparaison", - "cnt": "2" - }, - { - "category": "Casablanca", - "cnt": "2" - }, - { - "category": "ADKAR", - "cnt": "1" - }, - { - "category": "Vistex BTP Signavio", - "cnt": "1" - }, - { - "category": "Conduite", - "cnt": "1" - }, - { - "category": "DMAIC", - "cnt": "1" - }, - { - "category": "Industrie", - "cnt": "1" - }, - { - "category": "Proposition", - "cnt": "1" - }, - { - "category": "Accueil\nBienvenue", - "cnt": "1" - }, - { - "category": "Logo", - "cnt": "1" - }, - { - "category": "SAP ECC", - "cnt": "1" - }, - { - "category": "Votre", - "cnt": "1" - }, - { - "category": "Probl", - "cnt": "1" - }, - { - "category": "ANTI-REGRESSION", - "cnt": "1" - }, - { - "category": "Explique", - "cnt": "1" - }, - { - "category": "Zero Trust", - "cnt": "1" - }, - { - "category": "Augmented Generation", - "cnt": "1" - }, - { - "category": "RLHF", - "cnt": "1" - }, - { - "category": "Service", - "cnt": "1" - }, - { - "category": "Transformer", - "cnt": "1" - }, - { - "category": "Bonjour Bonjour", - "cnt": "1" - }, - { - "category": "Transformation", - "cnt": "1" - }, - { - "category": "Audit", - "cnt": "1" - }, - { - "category": "WEVAL", - "cnt": "1" - }, - { - "category": "Strat", - "cnt": "1" - }, - { - "category": "Maghreb", - "cnt": "1" - }, - { - "category": "ERP SAP", - "cnt": "1" - }, - { - "category": "Quelle", - "cnt": "1" - }, - { - "category": "Oracle", - "cnt": "1" - }, - { - "category": "Data", - "cnt": "1" - }, - { - "category": "Donn", - "cnt": "1" - }, - { - "category": "Quel", - "cnt": "1" - }, - { - "category": "Syst", - "cnt": "1" - }, - { - "category": "Ahmed", - "cnt": "1" - }, - { - "category": "UiPath", - "cnt": "1" - }, - { - "category": "Niveau PhD", - "cnt": "1" - }, - { - "category": "CLEANUP", - "cnt": "1" - }, - { - "category": "Notre", - "cnt": "1" - }, - { - "category": "TOUTES", - "cnt": "1" - }, - { - "category": "Maroc DDMRP OTIF", - "cnt": "1" - }, - { - "category": "Crit", - "cnt": "1" - }, - { - "category": "SAP Vistex Revenue Management", - "cnt": "1" - }, - { - "category": "Fine", - "cnt": "1" - }, - { - "category": "Compare AWS Azure GCP", - "cnt": "1" - }, - { - "category": "Healthcare", - "cnt": "1" - }, - { - "category": "BLADE", - "cnt": "1" - }, - { - "category": "Plan", - "cnt": "1" - }, - { - "category": "Conseil", - "cnt": "1" - }, - { - "category": "Nous", - "cnt": "1" - }, - { - "category": "Zero Trust SOC SIEM", - "cnt": "1" - }, - { - "category": "Amazon Web Services", - "cnt": "1" - }, - { - "category": "Retiens", - "cnt": "1" - }, - { - "category": "Diff", - "cnt": "1" - }, - { - "category": "QDRANT", - "cnt": "1" - }, - { - "category": "MITRE ATT", - "cnt": "1" - }, - { - "category": "FMCG", - "cnt": "1" - }, - { - "category": "Supply", - "cnt": "1" - }, - { - "category": "Exercice", - "cnt": "1" - }, - { - "category": "Redige", - "cnt": "1" - }, - { - "category": "Supply Chain", - "cnt": "1" - }, - { - "category": "Quels", - "cnt": "1" - }, - { - "category": "Propose", - "cnt": "1" - }, - { - "category": "Plateforme", - "cnt": "1" - }, - { - "category": "Cyber", - "cnt": "1" - }, - { - "category": "Tableau", - "cnt": "1" - }, - { - "category": "Migration SAP", - "cnt": "1" - }, - { - "category": "AUTH-AGENT", - "cnt": "1" - }, - { - "category": "Fais", - "cnt": "1" - }, - { - "category": "Iran", - "cnt": "1" - }, - { - "category": "OLLAMA", - "cnt": "1" - }, - { - "category": "Reessayez", - "cnt": "1" - }, - { - "category": "MORNE WEVAL", - "cnt": "1" - }, - { - "category": "Analyse SWOT", - "cnt": "1" - }, - { - "category": "SAP Vistex", - "cnt": "1" - }, - { - "category": "IoT WMS", - "cnt": "1" - }, - { - "category": "Industry", - "cnt": "1" - }, - { - "category": "What", - "cnt": "1" - }, - { - "category": "Strategie", - "cnt": "1" - }, - { - "category": "Rappelle", - "cnt": "1" - }, - { - "category": "DMAIC Six Sigma", - "cnt": "1" - }, - { - "category": "Avantages", - "cnt": "1" - }, - { - "category": "Explique RLHF", - "cnt": "1" - }, - { - "category": "Huawei Cloud", - "cnt": "1" - }, - { - "category": "PMO SAFe", - "cnt": "1" - }, - { - "category": "Migration SAP ECC", - "cnt": "1" - }, - { - "category": "team_work", - "cnt": "1" - }, - { - "category": "Bonjour Pr", - "cnt": "1" - }, - { - "category": "Maroc DDMRP OTIF WMS TMS", - "cnt": "1" - }, - { - "category": "Architecture", - "cnt": "1" - }, - { - "category": "Framework NIST", - "cnt": "1" - }, - { - "category": "Automatiser", - "cnt": "1" - }, - { - "category": "Compare RLHF DPO Constitutional AI", - "cnt": "1" - }, - { - "category": "Genere", - "cnt": "1" - }, - { - "category": "Elle", - "cnt": "1" - }, - { - "category": "Constitutional AI", - "cnt": "1" - }, - { - "category": "Brownfield", - "cnt": "1" - }, - { - "category": "Confirmation", - "cnt": "1" - }, - { - "category": "Architecture IA", - "cnt": "1" - }, - { - "category": "KPIs", - "cnt": "1" - }, - { - "category": "Quelles", - "cnt": "1" - }, - { - "category": "SWOT", - "cnt": "1" - }, - { - "category": "Comparons", - "cnt": "1" - }, - { - "category": "Services", - "cnt": "1" - }, - { - "category": "Maroc TMA", - "cnt": "1" - }, - { - "category": "Contraintes", - "cnt": "1" - }, - { - "category": "Intelligence", - "cnt": "1" - }, - { - "category": "Donne", - "cnt": "1" - }, - { - "category": "Vistex", - "cnt": "1" - }, - { - "category": "Maroc CMI", - "cnt": "1" - }, - { - "category": "Audite", - "cnt": "1" - }, - { - "category": "Aide", - "cnt": "1" - }, - { - "category": "DKIM DMARC", - "cnt": "1" - }, - { - "category": "Zero Trust SOC", - "cnt": "1" - }, - { - "category": "Bonjour Yacine", - "cnt": "1" - }, - { - "category": "Workshop", - "cnt": "1" - }, - { - "category": "Compare RLHF DPO GRPO Constitutional AI", - "cnt": "1" - }, - { - "category": "Comparatif ERP PME", - "cnt": "1" - }, - { - "category": "Programme", - "cnt": "1" - }, - { - "category": "SAP MM", - "cnt": "1" - }, - { - "category": "Phases", - "cnt": "1" - }, - { - "category": "Autres", - "cnt": "1" - }, - { - "category": "FHIR", - "cnt": "1" - }, - { - "category": "SESSION-7AVR", - "cnt": "1" - }, - { - "category": "FHIR IA", - "cnt": "1" - }, - { - "category": "MLOps", - "cnt": "1" - }, - { - "category": "MIROFISH", - "cnt": "1" - }, - { - "category": "Ecris", - "cnt": "1" - }, - { - "category": "Suite", - "cnt": "1" - }, - { - "category": "Nearshore", - "cnt": "1" - }, - { - "category": "Bienvenue", - "cnt": "1" - }, - { - "category": "Retrieval", - "cnt": "1" - }, - { - "category": "KYC BAM", - "cnt": "1" - }, - { - "category": "Afrique", - "cnt": "1" - }, - { - "category": "Dans", - "cnt": "1" - }, - { - "category": "Azure", - "cnt": "1" - }, - { - "category": "Budget", - "cnt": "1" - }, - { - "category": "INSTRUCTION SYSTEME", - "cnt": "1" - }, - { - "category": "CNDP", - "cnt": "1" - }, - { - "category": "Compare", - "cnt": "1" - }, - { - "category": "HubSpot", - "cnt": "1" - }, - { - "category": "Control", - "cnt": "1" - }, - { - "category": "SESSION-6AVR", - "cnt": "1" - }, - { - "category": "Bonjour Salut", - "cnt": "1" - }, - { - "category": "Maroc KPIs OTIF", - "cnt": "1" - }, - { - "category": "Vistex SAP", - "cnt": "1" - }, - { - "category": "Traduis", - "cnt": "1" - }, - { - "category": "Maroc IoT WMS", - "cnt": "1" - }, - { - "category": "SaaS", - "cnt": "1" - }, - { - "category": "CODE BLOCK", - "cnt": "1" - }, - { - "category": "Cahier", - "cnt": "1" - }, - { - "category": "Maroc FHIR", - "cnt": "1" - }, - { - "category": "DESIGN", - "cnt": "1" - }, - { - "category": "Compare RLHF", - "cnt": "1" - }, - { - "category": "Dynamics", - "cnt": "1" - }, - { - "category": "Python", - "cnt": "1" - }, - { - "category": "FORMAT OBLIGATOIRE", - "cnt": "1" - }, - { - "category": "SAP ERP", - "cnt": "1" - }, - { - "category": "INFRA-SESSION", - "cnt": "1" - }, - { - "category": "Cette", - "cnt": "1" - }, - { - "category": "OWASP Top", - "cnt": "1" - }, - { - "category": "ALERT", - "cnt": "1" - }, - { - "category": "Logo Weval", - "cnt": "1" - } - ], - "qdrant_vectors": 386 - }, - "applications": [ - { - "name": "WEVIA Chatbot", - "type": "AI", - "url": "\/wevia", - "port": null, - "server": "S204", - "auth": "public" - }, - { - "name": "WEVIA Admin", - "type": "Admin", - "url": "\/wevia-admin", - "port": null, - "server": "S204", - "auth": "authentik" - }, - { - "name": "WEVIA Life", - "type": "Email AI", - "url": "\/products\/wevialife-app.html", - "port": null, - "server": "S204", - "auth": "authentik" - }, - { - "name": "Workspace", - "type": "Hub", - "url": "\/products\/workspace.html", - "port": null, - "server": "S204", - "auth": "authentik" - }, - { - "name": "Arsenal\/WEVADS", - "type": "Email Marketing", - "url": "wevads.weval-consulting.com", - "port": 5890, - "server": "S95", - "auth": "authentik" - }, - { - "name": "ADX\/iResponse", - "type": "Email Platform", - "url": "wevads.weval-consulting.com", - "port": 5821, - "server": "S95", - "auth": "authentik+iResponse" - }, - { - "name": "Ethica HCP", - "type": "Healthcare B2B", - "url": "consent.wevup.app", - "port": null, - "server": "S204", - "auth": "ethica-auth" - }, - { - "name": "CRM (Twenty)", - "type": "CRM", - "url": "crm.weval-consulting.com", - "port": 3000, - "server": "S204", - "auth": "authentik" - }, - { - "name": "Mattermost", - "type": "Chat", - "url": "mm.weval-consulting.com", - "port": 8065, - "server": "S204", - "auth": "authentik" - }, - { - "name": "n8n", - "type": "Automation", - "url": "n8n.weval-consulting.com", - "port": 5678, - "server": "S204", - "auth": "authentik" - }, - { - "name": "Uptime Kuma", - "type": "Monitoring", - "url": "monitor.weval-consulting.com", - "port": 3001, - "server": "S204", - "auth": "authentik" - }, - { - "name": "Plausible", - "type": "Analytics", - "url": "analytics.weval-consulting.com", - "port": 8000, - "server": "S204", - "auth": "authentik" - }, - { - "name": "DeerFlow", - "type": "AI Research", - "url": "deerflow.weval-consulting.com", - "port": 2024, - "server": "S204", - "auth": "authentik" - }, - { - "name": "Authentik", - "type": "SSO\/IAM", - "url": "auth.weval-consulting.com", - "port": 9090, - "server": "S204", - "auth": "admin" - }, - { - "name": "SearXNG", - "type": "Search", - "url": null, - "port": 8888, - "server": "S204", - "auth": "internal" - }, - { - "name": "Qdrant", - "type": "Vector DB", - "url": null, - "port": 6333, - "server": "S204", - "auth": "internal" - }, - { - "name": "Ollama", - "type": "LLM Runtime", - "url": null, - "port": 11435, - "server": "S204", - "auth": "internal" - }, - { - "name": "Flowise", - "type": "AI Flow", - "url": null, - "port": 3088, - "server": "S204", - "auth": "internal" - }, - { - "name": "MiroFish", - "type": "AI Agent", - "url": "mirofish.weval-consulting.com", - "port": 3050, - "server": "S204", - "auth": "authentik" - }, - { - "name": "Open WebUI", - "type": "LLM UI", - "url": null, - "port": 3002, - "server": "S204", - "auth": "internal" - }, - { - "name": "Vaultwarden", - "type": "Passwords", - "url": null, - "port": 8222, - "server": "S204", - "auth": "internal" - }, - { - "name": "Prometheus", - "type": "Metrics", - "url": null, - "port": 9000, - "server": "S204", - "auth": "internal" - }, - { - "name": "PMTA", - "type": "MTA", - "url": null, - "port": 25, - "server": "S95", - "auth": "internal" - }, - { - "name": "KumoMTA", - "type": "MTA", - "url": null, - "port": 8010, - "server": "S95", - "auth": "internal" - }, - { - "name": "Sentinel", - "type": "Orchestrator", - "url": null, - "port": 5890, - "server": "S95", - "auth": "internal" - } - ], - "cloud": [ - { - "provider": "Hetzner", - "role": "S204+S95", - "type": "Bare Metal", - "region": "Germany" - }, - { - "provider": "OVH", - "role": "S151 DR\/Tracking", - "type": "VPS", - "region": "France" - }, - { - "provider": "Cloudflare", - "role": "CDN+DNS+WAF", - "type": "SaaS", - "region": "Global" - }, - { - "provider": "Huawei Cloud", - "role": "Partner Certifié", - "type": "IaaS", - "region": "MENA" - }, - { - "provider": "Scaleway", - "role": "GPU Inference", - "type": "IaaS", - "region": "France" - } - ], - "partnerships": [ - "SAP Gold Partner", - "Huawei Cloud", - "Vistex", - "IQVIA", - "Scaleway" - ], - "ux_agent": { - "pass": 146, - "fail": 3, - "warn": 2, - "total": 151, - "timestamp": "2026-04-07 18:00:04", - "gauge_health_center": "X=0px Y=0px", - "gauge_auto_center": "X=0px Y=0px", - "design_tokens": { - "bg": "#09090b", - "card": "#18181b", - "font": "Inter" - } - }, - "l99": { - "master": { - "total": 93, - "pass": 89, - "fail": 2, - "timestamp": "2026-04-07T01:32:48.454012" - }, - "auth": { - "pass": 33, - "fail": 1 - } - }, - "cortex": { - "fast_lines": 3607, - "router_lines": 753, - "router_functions": 12, - "today_requests": 0, - "today_cost": 0, - "avg_latency_ms": 0, - "top_provider": "N\/A", - "providers_used": 0 - }, - "optimizations": { - "recent_commits": [], - "auto_fixes": [ - { - "fact": "AUTO-FIX 07Apr2026 18:00: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 20:00:21.314127" - }, - { - "fact": "AUTO-FIX 07Apr2026 18:00: 3 fixes applied. S204: PHP-FPM DOWN; Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 20:00:10.469077" - }, - { - "fact": "AUTO-FIX 07Apr2026 18:00: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 20:00:09.920897" - }, - { - "fact": "AUTO-FIX 07Apr2026 17:30: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 19:30:14.524829" - }, - { - "fact": "AUTO-FIX 07Apr2026 17:30: 3 fixes applied. S204: PHP-FPM DOWN; Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 19:30:06.98908" - }, - { - "fact": "AUTO-FIX 07Apr2026 17:30: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 19:30:06.615916" - }, - { - "fact": "AUTO-FIX 07Apr2026 17:00: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 19:00:15.300261" - }, - { - "fact": "AUTO-FIX 07Apr2026 17:00: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 19:00:07.473831" - }, - { - "fact": "AUTO-FIX 07Apr2026 17:00: 3 fixes applied. S204: PHP-FPM DOWN; Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 19:00:07.355389" - }, - { - "fact": "AUTO-FIX 07Apr2026 16:30: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés", - "created_at": "2026-04-07 18:30:13.839164" - } - ], - "architecture_decisions": [ - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 20:30:06.738817" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 18:30:06.029677" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 16:30:06.059277" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 14:30:06.362814" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 12:30:06.045421" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 10:30:03.50112" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 08:30:03.795352" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 06:30:04.560763" - }, - { - "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", - "created_at": "2026-04-07 04:30:04.643679" - }, - { - "fact": "Crons: root=45 www-data=29 cron.d=64 total=138", - "created_at": "2026-04-07 02:30:06.595514" - }, - { - "fact": "Crons: root=43 www-data=29 cron.d=64 total=136", - "created_at": "2026-04-07 01:38:13.144391" - }, - { - "fact": "42 crons active. 21 Docker containers. 15 domains ALL UP. Disk 81%. RAM 33%. SSL 363d.", - "created_at": "2026-04-07 01:26:55.069496" - }, - { - "fact": "Blade Agent v3: heartbeat+poll+execute. Web executor HTML. PowerShell. Heartbeat retourne exec_cmd. 0 inbound ports NAT.", - "created_at": "2026-04-06 07:38:44.329403" - }, - { - "fact": "Dashboard one-call \/api\/wevia-dashboard.php ~1s. System+SSL+AI+Quality+MTA+Domains+Blade+Ethica+Autonomy+Engine.", - "created_at": "2026-04-06 07:38:44.116865" - }, - { - "fact": "Action Engine v2.1: 57 routes. providers_health + diagnostic + alert_send + n8n_status + mm_status + kb_search + qdrant_status + ollama_models.", - "created_at": "2026-04-06 07:38:43.906483" - } - ], - "pipelines": [ - { - "name": "CORTEX Smart Router", - "status": "active", - "desc": "T0 Ollama → T1 Free APIs → T2 Fallbacks", - "routes": 3607 - }, - { - "name": "RAG Ingest", - "status": "active", - "desc": "Cron *\/30 → Qdrant semantic indexing", - "freq": "*\/30" - }, - { - "name": "L99 Quality Gate", - "status": "active", - "desc": "253+ tests, 28 auth tests", - "freq": "*\/30" - }, - { - "name": "Blade Orchestrator", - "status": "active", - "desc": "GPU polling + model sync", - "freq": "*\/30" - }, - { - "name": "Infra Guardian", - "status": "active", - "desc": "Auto-restart nginx\/php\/docker", - "freq": "*\/5" - }, - { - "name": "Ethica Scraper Pipeline", - "status": "active", - "desc": "4 spiders, RichScraper, SearXNG", - "freq": "daily" - }, - { - "name": "WEVIA Dream", - "status": "active", - "desc": "Background learning + dataset enrichment", - "freq": "*\/30" - }, - { - "name": "SSO Health", - "status": "active", - "desc": "Authentik outpost monitoring", - "freq": "*\/5" - }, - { - "name": "Daily Brief", - "status": "active", - "desc": "Morning synthesis → Mattermost", - "freq": "daily 07h" - }, - { - "name": "Architecture Scanner", - "status": "active", - "desc": "This page — auto-scan + recommendations", - "freq": "*\/30" - } - ], - "agents_deployed": [ - { - "name": "Monitor Agent", - "role": "Watches all services, auto-restarts", - "status": "active" - }, - { - "name": "DevOps Agent", - "role": "Git sync, deployment, rollback", - "status": "active" - }, - { - "name": "Ethica Agent", - "role": "HCP scraping, validation, enrichment", - "status": "active" - }, - { - "name": "Security Agent", - "role": "Key rotation, secret scan, vulnerability check", - "status": "active" - }, - { - "name": "Blade Agent", - "role": "GPU orchestration, model management", - "status": "active" - }, - { - "name": "Dream Agent", - "role": "Background learning, dataset generation", - "status": "active" - }, - { - "name": "RAG Agent", - "role": "Knowledge ingestion, vector indexing", - "status": "active" - }, - { - "name": "Quality Agent", - "role": "L99 NonReg, regression detection", - "status": "active" - } - ] - }, - "mirofish": { - "status": "down", - "reports": 0, - "bridge": "\/api\/mirofish-bridge.php" - }, - "recommendations": { - "score": 83, - "total": 4, - "critical": 1, - "warning": 0, - "info": 1, - "opportunity": 2, - "auto_fixed": 2, - "fixes_log": [ - { - "title": "Ollama: 28.1GB de modèles", - "cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"qwen2.5:7b\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"mistral:latest\"} 2>\/dev\/null", - "output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for begi", - "time": "2026-04-07 18:30:07" - }, - { - "title": "Ollama: 9 modèles chargés", - "cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null", - "output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}", - "time": "2026-04-07 18:30:07" - } - ], - "recommendations": [ - { - "severity": "info", - "category": "SCALABILITY", - "title": "Ollama: 28.1GB de modèles", - "detail": "Espace modèles important. Considérer supprimer modèles non utilisés.", - "action": "auto", - "fix_cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"qwen2.5:7b\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"mistral:latest\"} 2>\/dev\/null", - "auto_fixed": true, - "fix_output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for begi" - }, - { - "severity": "opportunity", - "category": "OPTIMIZATION", - "title": "Ollama: 9 modèles chargés", - "detail": "Beaucoup de modèles. Fine-tuner weval-brain-v3 comme modèle unique remplaçant les autres.", - "action": "auto", - "fix_cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null", - "auto_fixed": true, - "fix_output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}" - }, - { - "severity": "critical", - "category": "SECURITY", - "title": "L99 Auth: 1 échecs", - "detail": "Tests d'authentification en échec. SSO potentiellement cassé.", - "action": "manual", - "fix_cmd": "" - }, - { - "severity": "opportunity", - "category": "SECURITY", - "title": "10 apps internes sans Authentik", - "detail": "Migrer progressivement les apps internes (SearXNG, Qdrant UI, Vaultwarden) derrière Authentik Forward Auth.", - "action": "opportunity", - "fix_cmd": "" - } - ] - }, - "scan_time_ms": 4614 -} \ No newline at end of file diff --git a/api/blade-tasks/heartbeat.json b/api/blade-tasks/heartbeat.json index 8fc2fc047..1274fc24d 100644 --- a/api/blade-tasks/heartbeat.json +++ b/api/blade-tasks/heartbeat.json @@ -1,10 +1,10 @@ { - "ts": "2026-04-07T18:49:47+00:00", + "ts": "2026-04-07T18:59:54+00:00", "hostname": "LAPTOP-VE75QUHF", - "cpu": "60%", - "ram": "65% (16GB)", + "cpu": "100%", + "ram": "78% (16GB)", "disk": "?", - "uptime": "0d17h57m", + "uptime": "0d18h07m", "user": "Yace", "ip": "41.248.190.86", "agent_version": "2.0" diff --git a/api/l99-full-test-7avr.webm b/api/l99-full-test-7avr.webm new file mode 100644 index 000000000..df8f5c498 Binary files /dev/null and b/api/l99-full-test-7avr.webm differ diff --git a/api/mirofish-ceo-cache.json b/api/mirofish-ceo-cache.json index 4b2b2bbe1..5299a0e42 100644 --- a/api/mirofish-ceo-cache.json +++ b/api/mirofish-ceo-cache.json @@ -13,5 +13,5 @@ "Run simulation", "CEO insights" ], - "timestamp": "2026-04-07 18:50:01" + "timestamp": "2026-04-07 19:00:02" } \ No newline at end of file diff --git a/api/nonreg-latest.json b/api/nonreg-latest.json index 5f4ef2a78..a1ca47912 100644 --- a/api/nonreg-latest.json +++ b/api/nonreg-latest.json @@ -1 +1 @@ -{"ts": "20260407_204012", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 45.8, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 9, "fail": 1}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "Caps10", "c": "01AVR", "s": "FAIL", "d": "9/10"}]} \ No newline at end of file +{"ts": "20260407_205016", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 41.3, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 9, "fail": 1}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "Caps10", "c": "01AVR", "s": "FAIL", "d": "9/10"}]} \ No newline at end of file diff --git a/api/nonreg-report.html b/api/nonreg-report.html index 13c560092..3e6ce63ea 100644 --- a/api/nonreg-report.html +++ b/api/nonreg-report.html @@ -1 +1 @@ -
152/153 PASS | 1 FAIL | 45.8s | 10 couches | 4 machines
| Test | Couche | St | Detail |
|---|---|---|---|
| Home | S204 | PASS | 200 24KB |
| WEVIA | S204 | PASS | 200 148KB |
| Manager | S204 | PASS | 302 1KB |
| Radar | S204 | PASS | 200 60KB |
| ToolsHub | S204 | PASS | 302 1KB |
| Monitor | S204 | PASS | 200 7KB |
| Huawei | S204 | PASS | 200 43KB |
| DeerFlow | S204 | PASS | 200 24KB |
| CRM-Hub | S204 | PASS | 200 17KB |
| WV-Dash | S95-WV | PASS | 302 0KB |
| WV-Apps | S95-WV | PASS | 302 0KB |
| WV-IA | S95-WV | PASS | 302 0KB |
| WV-Proc | S95-WV | PASS | 302 0KB |
| WV-Widget | S95-WV | PASS | 302 0KB |
| WV-Sent | S95-WV | PASS | 302 0KB |
| WV-Ctrl | S95-WV | PASS | 302 0KB |
| WV-Brain | S95-WV | PASS | 302 0KB |
| WV-O365 | S95-WV | PASS | 302 0KB |
| WV-Deliv | S95-WV | PASS | 302 0KB |
| WV-Warm | S95-WV | PASS | 302 0KB |
| WV-Send | S95-WV | PASS | 302 0KB |
| A-ghost-ne | S95-ARS | PASS | 302 1KB |
| A-brain-se | S95-ARS | PASS | 302 1KB |
| A-campaign | S95-ARS | PASS | 302 1KB |
| A-growth-e | S95-ARS | PASS | 302 1KB |
| A-deal-pip | S95-ARS | PASS | 302 1KB |
| A-cloud-pr | S95-ARS | PASS | 302 1KB |
| A-cloudfla | S95-ARS | PASS | 302 1KB |
| A-dashboar | S95-ARS | PASS | 302 1KB |
| A-send-pip | S95-ARS | PASS | 302 1KB |
| A-harvest- | S95-ARS | PASS | 302 1KB |
| A-command- | S95-ARS | PASS | 302 1KB |
| A-domain-m | S95-ARS | PASS | 302 1KB |
| A-ceo-dash | S95-ARS | PASS | 302 1KB |
| A-reputati | S95-ARS | PASS | 302 1KB |
| A-newslett | S95-ARS | PASS | 302 1KB |
| A-tracking | S95-ARS | PASS | 302 1KB |
| A-self-hea | S95-ARS | PASS | 302 1KB |
| iResp-Root | S95-iR | PASS | 302 |
| Ethica | INFRA | PASS | 302 0KB |
| Consent | INFRA | PASS | 200 9KB |
| Twenty | INFRA | PASS | 302 0KB |
| n8n | INFRA | PASS | 302 0KB |
| MM | INFRA | PASS | 302 0KB |
| WEVIA | API | PASS | JSON 720B |
| Manifest | API | PASS | JSON 2906B |
| Health | API | PASS | JSON 400B |
| AEGIS | API | PASS | JSON 424B |
| AE-Sc | API | PASS | JSON 98B |
| AE-Pol | API | PASS | JSON 244B |
| SS | API | PASS | JSON 269B |
| SS-S | API | PASS | JSON 313B |
| SS-R | API | PASS | JSON 137B |
| AIOS | API | PASS | JSON 255B |
| AI-Ag | API | PASS | JSON 348B |
| AI-K | API | PASS | JSON 281B |
| OClaw | API | PASS | JSON 391B |
| Prom | API | PASS | JSON 123B |
| SMem | API | PASS | JSON 196B |
| Mstr | API | PASS | JSON 211B |
| Dify | API | PASS | JSON 479B |
| Evo | API | PASS | JSON 143B |
| APcs | API | PASS | JSON 125B |
| Goose | API | PASS | JSON 177B |
| BrUse | API | PASS | JSON 24B |
| EthP | API | PASS | JSON 78B |
| Rtr | API | PASS | JSON 189B |
| NR-JSON | API | PASS | JSON 827B |
| CRM | API | PASS | JSON 25B |
| LvMet | API | PASS | JSON 92B |
| MonDsh | API | PASS | JSON 1530B |
| IP-WV | SEC | PASS | Clean |
| IP-WA | SEC | PASS | Clean |
| IP-CRM | SEC | PASS | Clean |
| Nuclei | SEC | PASS | 0 finds |
| KumoMTA | S95-BK | PASS | active |
| PMTA | S95-BK | PASS | 3 procs (senders standby) |
| EthDB | S95-BK | PASS | 126123 ct |
| SendDB | S95-BK | PASS | 3094652 ct |
| S95-Dsk | S95-BK | PASS | 81% |
| Docker | S95-BK | PASS | active |
| C2-API | PASS | JSON 352B | |
| WA-Hook | C2-API | PASS | 403 |
| SpamScore | C2-API | PASS | 200 |
| WEVADS-IA | C2-SPA | PASS | 302 0KB |
| Blacklist | C2-WV | PASS | 302 0KB |
| WorldDash | C2-WV | PASS | 302 0KB |
| Seeds | C2-WV | PASS | 302 0KB |
| NR-API | C2-API | PASS | JSON 827B |
| SSO-blade-cent | SSO | PASS | 200 |
| SSO-blade-ai.h | SSO | PASS | 200 |
| SSO-claude-mon | SSO | PASS | 302 |
| SSO-crons-moni | SSO | PASS | 200 |
| SSO-monitoring | SSO | PASS | 200 |
| SSO-openclaw.h | SSO | PASS | 200 |
| SSO-crm.html | SSO | PASS | 200 |
| SSO-world-map- | SSO | PASS | 302 |
| B2B-Leads | DATA | PASS | 1395 leads |
| DATA | PASS | 1538 profiles | |
| Ethica-DZ | DATA | PASS | 87288 HCPs |
| Ethica-MA | DATA | PASS | 19450 HCPs |
| Ethica-TN | DATA | PASS | 17506 HCPs |
| Ethica-Crons | CRONS | PASS | 17 cron entries (crontab-based) |
| Ethica-Scripts | CRONS | PASS | 15 scripts |
| Blade-API | BLADE | PASS | JSON 332B |
| Blade-Brain | BLADE | PASS | 18B |
| Blade-AI | BLADE | PASS | 200 |
| Blade-Ctr | BLADE | PASS | 200 |
| Sentinel-PS1 | BLADE | PASS | 200 16KB |
| Life-API | LIFE | PASS | 50B |
| Life-App | LIFE | PASS | 302 1KB |
| Life-HTML | LIFE | PASS | 200 24KB |
| Blade-TG | BLADE | PASS | 11B |
| Blade-MM | BLADE | PASS | 108B |
| WEVIA-Chat | FUNC | PASS | Gemini 2.5 Flash 545ch |
| Life-Chat | FUNC | PASS | 1806ch |
| Ethica-Chat | FUNC | PASS | 396ch |
| Monitor-UP | FUNC | PASS | 10 services UP |
| Ollama-Live | FUNC | PASS | 9 models |
| Arsenal-HP | FUNC | PASS | 1377 screens |
| Ethica-HCPs | FUNC | PASS | 126123 HCPs |
| SSO-Blade | SSO | PASS | 200 |
| SSO-Monitor | SSO | PASS | 200 |
| SSO-CC | SSO | PASS | 302 |
| SSO-NR | SSO | PASS | 302 |
| SSO-MT | SSO | PASS | 302 |
| SSO-Ops | SSO | PASS | 302 |
| SSO-Tools | SSO | PASS | 302 |
| SSO-Apps | SSO | PASS | 302 |
| SSO-OClaw | SSO | PASS | 200 |
| SSO-CRM | SSO | PASS | 200 |
| SSO-Wksp | SSO | PASS | 302 |
| SSO-Life | SSO | PASS | 302 |
| SSO-Mega | SSO | PASS | 302 |
| Sub-CRM | SSO | PASS | 302 |
| Sub-n8n | SSO | PASS | 302 |
| Sub-MM | SSO | PASS | 302 |
| Sub-Deer | SSO | PASS | 302 |
| DF-Title | 01AVR | PASS | TWENTY! |
| CyberMon | 01AVR | PASS | 200 |
| Plausible | 01AVR | PASS | present |
| Plaus-Blog | 01AVR | PASS | present |
| Caps10 | 01AVR | FAIL | 9/10 |
| OSS-Disc | 01AVR | PASS | 200 9117B |
| EthFeed | 01AVR | PASS | 126123 HCPs 30 feed |
| BladeAPI | 01AVR | PASS | 200 332B |
| CC-SSO | 01AVR | PASS | 302 |
| HealthCk | 01AVR | PASS | exists |
| Bench-LB-Dict | STRUCT | PASS | type=list len=201 |
| Bench-LB-Scores | STRUCT | PASS | val_type=dict |
| Bench-Eco | STRUCT | PASS | score=80 |
| Bench-AIs | STRUCT | PASS | count=201 |
| CronStatus | STRUCT | PASS | 10 active 5 disabled |
152/153 PASS | 1 FAIL | 41.3s | 10 couches | 4 machines
| Test | Couche | St | Detail |
|---|---|---|---|
| Home | S204 | PASS | 200 24KB |
| WEVIA | S204 | PASS | 200 148KB |
| Manager | S204 | PASS | 302 1KB |
| Radar | S204 | PASS | 200 60KB |
| ToolsHub | S204 | PASS | 302 1KB |
| Monitor | S204 | PASS | 200 7KB |
| Huawei | S204 | PASS | 200 43KB |
| DeerFlow | S204 | PASS | 200 24KB |
| CRM-Hub | S204 | PASS | 200 17KB |
| WV-Dash | S95-WV | PASS | 302 0KB |
| WV-Apps | S95-WV | PASS | 302 0KB |
| WV-IA | S95-WV | PASS | 302 0KB |
| WV-Proc | S95-WV | PASS | 302 0KB |
| WV-Widget | S95-WV | PASS | 302 0KB |
| WV-Sent | S95-WV | PASS | 302 0KB |
| WV-Ctrl | S95-WV | PASS | 302 0KB |
| WV-Brain | S95-WV | PASS | 302 0KB |
| WV-O365 | S95-WV | PASS | 302 0KB |
| WV-Deliv | S95-WV | PASS | 302 0KB |
| WV-Warm | S95-WV | PASS | 302 0KB |
| WV-Send | S95-WV | PASS | 302 0KB |
| A-ghost-ne | S95-ARS | PASS | 302 1KB |
| A-brain-se | S95-ARS | PASS | 302 1KB |
| A-campaign | S95-ARS | PASS | 302 1KB |
| A-growth-e | S95-ARS | PASS | 302 1KB |
| A-deal-pip | S95-ARS | PASS | 302 1KB |
| A-cloud-pr | S95-ARS | PASS | 302 1KB |
| A-cloudfla | S95-ARS | PASS | 302 1KB |
| A-dashboar | S95-ARS | PASS | 302 1KB |
| A-send-pip | S95-ARS | PASS | 302 1KB |
| A-harvest- | S95-ARS | PASS | 302 1KB |
| A-command- | S95-ARS | PASS | 302 1KB |
| A-domain-m | S95-ARS | PASS | 302 1KB |
| A-ceo-dash | S95-ARS | PASS | 302 1KB |
| A-reputati | S95-ARS | PASS | 302 1KB |
| A-newslett | S95-ARS | PASS | 302 1KB |
| A-tracking | S95-ARS | PASS | 302 1KB |
| A-self-hea | S95-ARS | PASS | 302 1KB |
| iResp-Root | S95-iR | PASS | 302 |
| Ethica | INFRA | PASS | 302 0KB |
| Consent | INFRA | PASS | 200 9KB |
| Twenty | INFRA | PASS | 302 0KB |
| n8n | INFRA | PASS | 302 0KB |
| MM | INFRA | PASS | 302 0KB |
| WEVIA | API | PASS | JSON 825B |
| Manifest | API | PASS | JSON 2906B |
| Health | API | PASS | JSON 400B |
| AEGIS | API | PASS | JSON 424B |
| AE-Sc | API | PASS | JSON 98B |
| AE-Pol | API | PASS | JSON 244B |
| SS | API | PASS | JSON 269B |
| SS-S | API | PASS | JSON 313B |
| SS-R | API | PASS | JSON 137B |
| AIOS | API | PASS | JSON 255B |
| AI-Ag | API | PASS | JSON 348B |
| AI-K | API | PASS | JSON 281B |
| OClaw | API | PASS | JSON 391B |
| Prom | API | PASS | JSON 123B |
| SMem | API | PASS | JSON 196B |
| Mstr | API | PASS | JSON 211B |
| Dify | API | PASS | JSON 479B |
| Evo | API | PASS | JSON 143B |
| APcs | API | PASS | JSON 125B |
| Goose | API | PASS | JSON 177B |
| BrUse | API | PASS | JSON 24B |
| EthP | API | PASS | JSON 78B |
| Rtr | API | PASS | JSON 189B |
| NR-JSON | API | PASS | JSON 827B |
| CRM | API | PASS | JSON 25B |
| LvMet | API | PASS | JSON 92B |
| MonDsh | API | PASS | JSON 1530B |
| IP-WV | SEC | PASS | Clean |
| IP-WA | SEC | PASS | Clean |
| IP-CRM | SEC | PASS | Clean |
| Nuclei | SEC | PASS | 0 finds |
| KumoMTA | S95-BK | PASS | active |
| PMTA | S95-BK | PASS | 3 procs (senders standby) |
| EthDB | S95-BK | PASS | 126123 ct |
| SendDB | S95-BK | PASS | 3094652 ct |
| S95-Dsk | S95-BK | PASS | 81% |
| Docker | S95-BK | PASS | active |
| C2-API | PASS | JSON 352B | |
| WA-Hook | C2-API | PASS | 403 |
| SpamScore | C2-API | PASS | 200 |
| WEVADS-IA | C2-SPA | PASS | 302 0KB |
| Blacklist | C2-WV | PASS | 302 0KB |
| WorldDash | C2-WV | PASS | 302 0KB |
| Seeds | C2-WV | PASS | 302 0KB |
| NR-API | C2-API | PASS | JSON 827B |
| SSO-blade-cent | SSO | PASS | 200 |
| SSO-blade-ai.h | SSO | PASS | 200 |
| SSO-claude-mon | SSO | PASS | 302 |
| SSO-crons-moni | SSO | PASS | 200 |
| SSO-monitoring | SSO | PASS | 200 |
| SSO-openclaw.h | SSO | PASS | 200 |
| SSO-crm.html | SSO | PASS | 200 |
| SSO-world-map- | SSO | PASS | 302 |
| B2B-Leads | DATA | PASS | 1395 leads |
| DATA | PASS | 1538 profiles | |
| Ethica-DZ | DATA | PASS | 87288 HCPs |
| Ethica-MA | DATA | PASS | 19450 HCPs |
| Ethica-TN | DATA | PASS | 17506 HCPs |
| Ethica-Crons | CRONS | PASS | 17 cron entries (crontab-based) |
| Ethica-Scripts | CRONS | PASS | 15 scripts |
| Blade-API | BLADE | PASS | JSON 324B |
| Blade-Brain | BLADE | PASS | 18B |
| Blade-AI | BLADE | PASS | 200 |
| Blade-Ctr | BLADE | PASS | 200 |
| Sentinel-PS1 | BLADE | PASS | 200 16KB |
| Life-API | LIFE | PASS | 50B |
| Life-App | LIFE | PASS | 302 1KB |
| Life-HTML | LIFE | PASS | 200 24KB |
| Blade-TG | BLADE | PASS | 11B |
| Blade-MM | BLADE | PASS | 108B |
| WEVIA-Chat | FUNC | PASS | Gemini 2.5 Flash 467ch |
| Life-Chat | FUNC | PASS | 1510ch |
| Ethica-Chat | FUNC | PASS | 239ch |
| Monitor-UP | FUNC | PASS | 10 services UP |
| Ollama-Live | FUNC | PASS | 9 models |
| Arsenal-HP | FUNC | PASS | 1377 screens |
| Ethica-HCPs | FUNC | PASS | 126123 HCPs |
| SSO-Blade | SSO | PASS | 200 |
| SSO-Monitor | SSO | PASS | 200 |
| SSO-CC | SSO | PASS | 302 |
| SSO-NR | SSO | PASS | 302 |
| SSO-MT | SSO | PASS | 302 |
| SSO-Ops | SSO | PASS | 302 |
| SSO-Tools | SSO | PASS | 302 |
| SSO-Apps | SSO | PASS | 302 |
| SSO-OClaw | SSO | PASS | 200 |
| SSO-CRM | SSO | PASS | 200 |
| SSO-Wksp | SSO | PASS | 302 |
| SSO-Life | SSO | PASS | 302 |
| SSO-Mega | SSO | PASS | 302 |
| Sub-CRM | SSO | PASS | 302 |
| Sub-n8n | SSO | PASS | 302 |
| Sub-MM | SSO | PASS | 302 |
| Sub-Deer | SSO | PASS | 302 |
| DF-Title | 01AVR | PASS | TWENTY! |
| CyberMon | 01AVR | PASS | 200 |
| Plausible | 01AVR | PASS | present |
| Plaus-Blog | 01AVR | PASS | present |
| Caps10 | 01AVR | FAIL | 9/10 |
| OSS-Disc | 01AVR | PASS | 200 9117B |
| EthFeed | 01AVR | PASS | 126123 HCPs 30 feed |
| BladeAPI | 01AVR | PASS | 200 324B |
| CC-SSO | 01AVR | PASS | 302 |
| HealthCk | 01AVR | PASS | exists |
| Bench-LB-Dict | STRUCT | PASS | type=list len=201 |
| Bench-LB-Scores | STRUCT | PASS | val_type=dict |
| Bench-Eco | STRUCT | PASS | score=80 |
| Bench-AIs | STRUCT | PASS | count=201 |
| CronStatus | STRUCT | PASS | 10 active 5 disabled |