You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: dynamic stats via DynNum component + kv-push.sh
Replace hardcoded infrastructure numbers across 12 pages (EN+FR) with
live data from Cloudflare KV, pushed every 5min by kv-push.sh on CT 192.
- New DynNum.astro component: inline <span data-stat="..."> with fallback
- Base.astro hydration script: single fetch('/api/stats') per page
- StatsBar extended with optional stat/suffix props
- kv-push.sh: 3 new metrics (lxc_count, https_services, ansible_playbooks)
from Proxmox API and Semaphore API
- Fix stale values: 12→13 playbooks, 21→33 monitored services,
35+→30+ in meta descriptions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
<p>OpenFang monitors 21 services autonomously, wakes servers remotely (WOL), and alerts via Telegram — for ~$1.50/month. PentAGI runs autonomous pentests powered by local LLM inference — its first scan found a real misconfiguration. These are real agents in production, not demos.</p>
205
+
<p>OpenFang monitors <DynNumstat="services_total"fallback="33" /> services autonomously, wakes servers remotely (WOL), and alerts via Telegram — for ~$1.50/month. PentAGI runs autonomous pentests powered by local LLM inference — its first scan found a real misconfiguration. These are real agents in production, not demos.</p>
<p>OpenFang surveille 21 services en autonomie, réveille des serveurs à distance (WOL), alerte via Telegram — pour ~$1.50/mois. PentAGI exécute des pentests autonomes propulsés par l'inférence LLM locale — son premier scan a trouvé une vraie faille de config. Ce sont de vrais agents en production, pas des démos.</p>
203
+
<p>OpenFang surveille <DynNumstat="services_total"fallback="33" /> services en autonomie, réveille des serveurs à distance (WOL), alerte via Telegram — pour ~$1.50/mois. PentAGI exécute des pentests autonomes propulsés par l'inférence LLM locale — son premier scan a trouvé une vraie faille de config. Ce sont de vrais agents en production, pas des démos.</p>
<Basetitle="IA — pixelium.win"description="L'écosystème IA de Stéphane — Ollama local (RTX 3090), MiniMax en production, open source surveillé, vision fine-tuning. Présenté par Claude.">
@@ -109,7 +110,7 @@ import StatsBar from '../../components/StatsBar.astro';
109
110
<spanclass="api-name">MiniMax M2.7</span>
110
111
<spanclass="api-role">Agents AIOps</span>
111
112
</div>
112
-
<pclass="api-desc">Modèle principal d'OpenFang (Guardian AIOps) et fallback disponible pour PentAGI. Excellent ratio perf/coût pour des agents qui tournent en continu. ~$1.50/mois pour la surveillance de 30+ services.</p>
113
+
<pclass="api-desc">Modèle principal d'OpenFang (Guardian AIOps) et fallback disponible pour PentAGI. Excellent ratio perf/coût pour des agents qui tournent en continu. ~$1.50/mois pour la surveillance de <DynNumstat="services_total"fallback="33" /> services.</p>
Copy file name to clipboardExpand all lines: src/pages/fr/index.astro
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ const cards = [
43
43
{
44
44
icon: '⚙',
45
45
title: 'IaC, CI/CD & Automatisation',
46
-
description: 'Ansible via Semaphore pour le déploiement — 12 playbooks couvrent du hardening SSH au déploiement d\'agents. CI/CD sur Forgejo Runner (Podman). Configs versionnées. Unattended upgrades partout.',
46
+
description: 'Ansible via Semaphore pour le déploiement — 14 playbooks couvrent du hardening SSH au déploiement d\'agents. CI/CD sur Forgejo Runner (Podman). Configs versionnées. Unattended upgrades partout.',
<Basetitle="pixelium.win — Portfolio DevSecOps Homelab"description="Infrastructure de production self-hosted : 35+ services sur Proxmox, automatisation Ansible, agents IA, sécurité en profondeur. Conçu par Stéphane Ferreira, raconté par Claude.">
76
+
<Basetitle="pixelium.win — Portfolio DevSecOps Homelab"description="Infrastructure de production self-hosted : 30+ services sur Proxmox, automatisation Ansible, agents IA, sécurité en profondeur. Conçu par Stéphane Ferreira, raconté par Claude.">
<pclass="subtitle">3 noeuds Proxmox, 30+ conteneurs LXC, tout self-hosted. Pas un seul service cloud payant.</p>
38
+
<pclass="subtitle">3 noeuds Proxmox, <DynNumstat="lxc_count"fallback="30+"suffix="+" /> conteneurs LXC, tout self-hosted. Pas un seul service cloud payant.</p>
<pclass="tech-why"><strong>Pourquoi :</strong> Hyperviseur libre avec LXC natif — les conteneurs demarrent en 2 secondes et consomment 50 Mo de RAM. PBS integre pour les backups. API complete.</p>
162
163
<pclass="tech-alt"><spanclass="alt-label">Ecartes :</span> ESXi (payant depuis 2024), Hyper-V (Windows only), XCP-ng (moins de communaute)</p>
<pclass="tech-why"><strong>Pourquoi :</strong> Config dynamique en YAML rechargee a chaud — j'ajoute un service HTTPS en deposant un fichier dans <code>conf.d/</code>, sans restart. ACME natif avec step-ca.</p>
<pclass="tech-why"><strong>Pourquoi :</strong> Agentless — SSH suffit, pas de daemon a installer sur 30+ CTs. Idempotent — je relance un playbook sans risque. Semaphore ajoute une UI web pour les lancements en 1 clic.</p>
222
223
<pclass="tech-alt"><spanclass="alt-label">Ecartes :</span> Puppet/Chef (agents sur chaque hote), Terraform (provisioning, pas config management)</p>
Copy file name to clipboardExpand all lines: src/pages/fr/projets.astro
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
---
2
2
importBasefrom'../../layouts/Base.astro';
3
+
importDynNumfrom'../../components/DynNum.astro';
3
4
---
4
5
5
6
<Basetitle="Projets — pixelium.win"description="12 projets en production : SSO Authentik, monitoring IA (OpenFang), pentest autonome (PentAGI), veille RSS, observabilité, sécurité en profondeur, CI/CD. Vrais ops, vrai debugging.">
@@ -69,7 +70,7 @@ import Base from '../../layouts/Base.astro';
69
70
</div>
70
71
<divclass="detail-block">
71
72
<h4>Le contournement shell_exec</h4>
72
-
<p>Le sanitizer d'OpenFang bloque les accolades <code>{}</code>, les pipes et les semicolons dans les commandes shell. Impossible d'exécuter du LogQL ou du PromQL directement. Solution : 3 wrappers CLI dédiés — <code>http-check</code> (21 services), <code>vm-query</code> (VictoriaMetrics), <code>pve-status</code> (Proxmox) — qui encapsulent la complexité et exposent une interface propre.</p>
73
+
<p>Le sanitizer d'OpenFang bloque les accolades <code>{}</code>, les pipes et les semicolons dans les commandes shell. Impossible d'exécuter du LogQL ou du PromQL directement. Solution : 3 wrappers CLI dédiés — <code>http-check</code> (<DynNumstat="services_total"fallback="33" /> services), <code>vm-query</code> (VictoriaMetrics), <code>pve-status</code> (Proxmox) — qui encapsulent la complexité et exposent une interface propre.</p>
73
74
</div>
74
75
<divclass="detail-block">
75
76
<h4>WOL pve3 — l'agent qui allume les machines</h4>
@@ -85,7 +86,7 @@ import Base from '../../layouts/Base.astro';
0 commit comments