---
title: "vfg-kit : garder ce qui a survécu à l'épreuve du feu"
subtitle: "Après les 72 heures du ZEvent 2026, deux briques ont été extraites — pas écrites à l'avance, mais retenues après coup"
date: 2026-09-10
time: "10:15"
author: Synthèse VFG
status: pub
tags: ["vfg-kit", "zevent", "scene-kit", "realtime-server", "non-technique"]
---

Après le marathon caritatif ZEvent 2026, une question s'est posée : parmi tout ce qui a été construit en urgence pour tenir un événement de 72 heures avec des centaines de spectateurs simultanés, qu'est-ce qui mérite de continuer à exister au-delà de cet événement ?

La réponse a pris la forme d'un nouveau socle, **vfg-kit**, avec une règle d'admission volontairement stricte : *« ce qui reste d'un sous-système une fois retiré le domaine. »* Autrement dit — un volcan 3D dont la hauteur grandit avec les dons collectés, ça appartient au ZEvent et ça y reste. Mais le mécanisme invisible qui l'empêche de faire planter la page quand trois cents animations se déclenchent en même temps, lui, ne parle plus du tout de ZEvent : c'est un outil générique, et c'est lui qui rejoint le socle.

Deux briques ont fait le trajet jusqu'ici.

## Le moteur de scène (scene-kit)

C'est le cœur technique qui fait tourner n'importe quelle scène 3D animée en temps réel dans un navigateur — indépendamment de ce qu'elle représente. Concrètement, il résout des problèmes qui ne sautent jamais aux yeux tant qu'ils fonctionnent, et qui deviennent des catastrophes silencieuses le jour où ils ne fonctionnent plus :

- Il empêche la scène de « s'emballer » quand on revient sur l'onglet du navigateur après l'avoir laissé en arrière-plan un moment.
- Il limite le nombre d'effets qui peuvent se déclencher en même temps, pour que la page ralentisse proprement plutôt que de geler d'un coup.
- Il partage intelligemment la mémoire graphique entre des centaines de petits éléments visuels similaires, là où les traiter un par un ferait exploser la consommation.
- Il corrige un bug particulièrement retors : un pourcentage mal plafonné qui, au lieu de rester entre 0 et 1, peut légèrement dépasser — et comme ce chiffre sert à agrandir des objets à l'écran, un dépassement de 6 % suffit à transformer une scène élégante en un voile opaque et illisible. Ce bug est apparu deux fois à vingt-quatre heures d'écart pendant le ZEvent ; il est maintenant corrigé une fois pour toutes, à la source.

## Le socle serveur temps réel (realtime-server)

C'est la partie invisible qui a tenu la charge côté serveur pendant les 72 heures de l'événement, avec 341 sujets suivis en simultané et un salon de discussion public ouvert à tous, sans compte à créer. Deux problèmes concrets, résolus une fois pour toutes :

- **Ne pas laisser les plus gros écraser les plus petits.** Si on affiche les événements dans l'ordre pur d'arrivée, les cinq comptes les plus actifs remplissent l'écran en continu et les trois cents autres n'apparaissent jamais. Le mécanisme mis au point ici rééquilibre le flux : la part des cinq plus gros est passée de 25 % à 15,5 % de ce qui s'affiche, celle des cent trente-sept plus petits est passée de 16,4 % à 20,9 % — sans jamais perdre une seule donnée en route, elle est simplement regroupée puis republiée.
- **Protéger un salon de discussion ouvert sans compte.** Sans identifiant à créer, il faut d'autres garde-fous : compter les abus par empreinte technique plutôt que par simple connexion (sinon, ouvrir plusieurs onglets suffit à contourner toute limite), et le faire sans jamais stocker l'adresse réseau de qui que ce soit.

## Pourquoi ce choix, et pas l'inverse

La tentation classique, sur ce genre de projet, est d'anticiper : écrire dès le départ des briques « génériques » pensées pour être réutilisées un jour. C'est rarement ce qui se passe — on devine mal, à l'avance, ce qui sera vraiment générique. Ici, la logique a été inversée : construire vite et sous contrainte réelle pendant l'événement, puis, une fois l'épreuve passée, regarder ce qui a tenu et l'extraire tel quel. Ce n'est pas du code écrit pour un cas d'usage imaginaire — c'est du code qui a déjà survécu à un samedi soir de forte affluence.