Files
weval-consulting/api/architecture-index.json
2026-04-07 03:49:13 +02:00

1954 lines
54 KiB
JSON

{
"generated": "2026-04-07 01:48:59",
"version": "1.0",
"servers": [
{
"id": "S204",
"ip": "204.168.152.13",
"private": "10.1.0.2",
"role": "PRIMARY",
"ssh": 49222,
"disk_pct": 84,
"disk_avail": "24G",
"uptime": "up 2 weeks, 11 hours, 45 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 6 hours",
"ports": ""
},
{
"name": "chatwoot-redis",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "authentik-server",
"status": "Up 2 hours (healthy)",
"ports": ""
},
{
"name": "authentik-worker",
"status": "Up 5 hours (healthy)",
"ports": ""
},
{
"name": "authentik-db",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "authentik-redis",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "langfuse",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "node-exporter",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "prometheus",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "twenty",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "twenty-redis",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "searxng",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "plausible",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "plausible-db",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "plausible-events",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "n8n",
"status": "Up 6 hours",
"ports": ""
},
{
"name": "uptime-kuma",
"status": "Up 6 hours (healthy)",
"ports": ""
},
{
"name": "mattermost",
"status": "Up 6 hours (healthy)",
"ports": ""
},
{
"name": "vaultwarden",
"status": "Up 6 hours (healthy)",
"ports": ""
},
{
"name": "qdrant",
"status": "Up 6 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": 299,
"s204_wevia_php": 248,
"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": 769,
"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": 14340
},
{
"name": "wevia_learnings",
"vectors": 496
},
{
"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": 769,
"categories": [
{
"category": "AUTO-FIX",
"cnt": "193"
},
{
"category": "TOPOLOGY",
"cnt": "174"
},
{
"category": "L99-FULLSCAN",
"cnt": "80"
},
{
"category": "AGENT",
"cnt": "20"
},
{
"category": "L99-SCAN",
"cnt": "12"
},
{
"category": "INFRA",
"cnt": "10"
},
{
"category": "FIX",
"cnt": "10"
},
{
"category": "FLEET",
"cnt": "8"
},
{
"category": "SYSTEMATIC",
"cnt": "6"
},
{
"category": "Maroc",
"cnt": "5"
},
{
"category": "CONTROL-TOWER",
"cnt": "5"
},
{
"category": "Analyse",
"cnt": "5"
},
{
"category": "SESSION-5AVR",
"cnt": "5"
},
{
"category": "AUTH",
"cnt": "5"
},
{
"category": "SERVICES",
"cnt": "4"
},
{
"category": "WEVAL Consulting",
"cnt": "4"
},
{
"category": "claude_2026",
"cnt": "4"
},
{
"category": "FIX-CRITIQUE",
"cnt": "3"
},
{
"category": "Intelligence Artificielle",
"cnt": "3"
},
{
"category": "Pouvez",
"cnt": "2"
},
{
"category": "Voici",
"cnt": "2"
},
{
"category": "MONITORING",
"cnt": "2"
},
{
"category": "Test",
"cnt": "2"
},
{
"category": "L99",
"cnt": "2"
},
{
"category": "Introduction",
"cnt": "2"
},
{
"category": "Document",
"cnt": "2"
},
{
"category": "Pour",
"cnt": "2"
},
{
"category": "Image",
"cnt": "2"
},
{
"category": "L99-E2E",
"cnt": "2"
},
{
"category": "Bien",
"cnt": "2"
},
{
"category": "Vous",
"cnt": "2"
},
{
"category": "QUALITY",
"cnt": "2"
},
{
"category": "Casablanca",
"cnt": "2"
},
{
"category": "PROVIDERS",
"cnt": "2"
},
{
"category": "Salut",
"cnt": "2"
},
{
"category": "Contexte",
"cnt": "2"
},
{
"category": "L99-EXHAUSTIVE",
"cnt": "2"
},
{
"category": "WEVAL Consulting Casablanca",
"cnt": "2"
},
{
"category": "WEVIA",
"cnt": "2"
},
{
"category": "L99-GAP",
"cnt": "2"
},
{
"category": "Comparaison",
"cnt": "2"
},
{
"category": "Cependant",
"cnt": "2"
},
{
"category": "Diagramme",
"cnt": "2"
},
{
"category": "Pourriez",
"cnt": "2"
},
{
"category": "L99-MEGA",
"cnt": "2"
},
{
"category": "Cette",
"cnt": "1"
},
{
"category": "OWASP Top",
"cnt": "1"
},
{
"category": "ALERT",
"cnt": "1"
},
{
"category": "Logo Weval",
"cnt": "1"
},
{
"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": "DISCOVERY",
"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"
}
],
"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": 148,
"fail": 1,
"warn": 2,
"total": 151,
"timestamp": "2026-04-07 01:24:28",
"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": 34,
"fail": 0
}
},
"cortex": {
"fast_lines": 3536,
"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 01:30: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés",
"created_at": "2026-04-07 03:30:13.738822"
},
{
"fact": "AUTO-FIX 07Apr2026 01:30: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés",
"created_at": "2026-04-07 03:30:04.023948"
},
{
"fact": "AUTO-FIX 07Apr2026 01:30: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés",
"created_at": "2026-04-07 03:30:03.986304"
},
{
"fact": "AUTONOMY 07Apr 01:15: 1 fixes. Docker restart mirofish",
"created_at": "2026-04-07 03:15:05.260733"
},
{
"fact": "AUTO-FIX 07Apr2026 01:00: 2 fixes applied. Ollama: 28.1GB de modèles; Ollama: 9 modèles chargés",
"created_at": "2026-04-07 03:00:21.94598"
},
{
"fact": "AUTO-FIX 07Apr2026 01: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 03:00:10.939843"
},
{
"fact": "AUTO-FIX 07Apr2026 01: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 03:00:09.876024"
},
{
"fact": "AUTONOMY 07Apr 00:55: 1 fixes. Docker restart mirofish",
"created_at": "2026-04-07 02:55:03.334657"
},
{
"fact": "AUTONOMY 07Apr 00:40: 1 fixes. Docker restart mirofish",
"created_at": "2026-04-07 02:40:05.956959"
},
{
"fact": "AUTONOMY 07Apr 00:35: 1 fixes. Docker restart mirofish",
"created_at": "2026-04-07 02:35:04.06781"
}
],
"architecture_decisions": [
{
"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"
},
{
"fact": "Guardian wire: \/opt\/weval-l99\/guardian-wire.py cron *\/30. Restaure fast.php depuis GOLD. Post-restore: lance anti-regression pour supprimer doublons.",
"created_at": "2026-04-06 05:36:22.311324"
},
{
"fact": "Dashboard: \/api\/wevia-dashboard.php one-call ~1s. System + SSL + AI + Quality + MTA + Domains + Blade + Ethica + Autonomy + Engine.",
"created_at": "2026-04-06 05:36:22.086126"
},
{
"fact": "Action Engine v2.1: 57 routes. Ajouts: providers_health (14\/15 UP) + diagnostic + alert_send + n8n_status + mm_status + analytics_status + exec_s204 + exec_s151 + file_read\/write + git + nginx + cron + db_query + backup_gold + ethica_stats + security_scan + process + kb.",
"created_at": "2026-04-06 05:36:21.864131"
},
{
"fact": "Architecture referentiel global deployed 5avr26. \/architecture.html (Authentik protected) + \/api\/architecture-scanner.php (cron *\/30). Generates architecture-index.json with 18 sections: servers, docker, domains, screens, auth, databases, ollama, qdrant, ai_providers, crons, wiki, applications, cloud, partnerships, l99. Auto-refresh 5min on page.",
"created_at": "2026-04-05 14:49:31.742761"
},
{
"fact": "Protected pages: auth_request via Authentik outpost. Public pages: \/ wevia.html wevia-widget.html enterprise-model.html login.html + all \/api\/ endpoints (cx droid weval-ia stripe). Arsenal proxy wevads-adx wevads-dkim all behind Authentik auth_request.",
"created_at": "2026-04-04 20:11:51.072691"
},
{
"fact": "Authentik users: yacine (Yacine Mahboub), yanis, akadmin. Password YacineWeval2026. DB authentik on port 5434 user=authentik pw=authentik_pg_2026. Secret key W3v4l_Authent1k_S3cret_2026_X9. Outpost UUID 692257ad-672b-4689-8445-c979b4dc5404.",
"created_at": "2026-04-04 20:11:50.801322"
},
{
"fact": "nginx weval-consulting refactored from 614 lines (3 server blocks, 6 @login_redirect, 105 auth_request) to 425 lines (2 blocks, 1 @authentik_redirect). Block 1: HTTP redirect+CX. Block 2: HTTPS+Authentik Forward Auth. All \/application\/ \/flows\/ \/if\/ \/static\/ \/api\/v3\/ proxied to 9090.",
"created_at": "2026-04-04 20:11:50.512118"
},
{
"fact": "Authentik outpost config: authentik_host=http:\/\/localhost:9090 (internal), authentik_host_browser=https:\/\/auth.weval-consulting.com (browser). AUTHENTIK_HOST in docker-compose=https:\/\/auth.weval-consulting.com. proxy_redirect in nginx rewrites localhost:9090 to public domain.",
"created_at": "2026-04-04 20:11:50.199371"
},
{
"fact": "Authentik Forward Auth deployed 5avr2026. Outpost embedded port 9090. Provider 5 client_id=aB9IF9xQ Forward Domain mode. auth_request \/outpost.goauthentik.io\/auth\/nginx replaces 105 auth-check.php directives. Logout via \/outpost.goauthentik.io\/sign_out. GOLD \/opt\/wevads\/vault\/gold-auth-5avr\/.",
"created_at": "2026-04-04 20:11:49.662019"
}
],
"pipelines": [
{
"name": "CORTEX Smart Router",
"status": "active",
"desc": "T0 Ollama → T1 Free APIs → T2 Fallbacks",
"routes": 3536
},
{
"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": 98,
"total": 3,
"critical": 0,
"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 01:48:59"
},
{
"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 01:48:59"
}
],
"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": "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": 561
}