Back to flin
flin

Réactivité au niveau des attributs

Comment le système de réactivité fine de FLIN suit les dépendances au niveau des attributs -- mettant à jour uniquement les attributs DOM spécifiques qui changent, pas les composants entiers.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 2 min flin
EN/ FR/ ES
flinreactivityattributesbinding

Quand vous écrivez <div class="card {if active then 'active' else ''}" style="opacity: {opacity}"> en FLIN, deux choses se passent quand active change : l'attribut class se met à jour, et rien d'autre. L'attribut style ne se réévalue pas. L'élément n'est pas détruit et recréé. Les enfants du div ne sont pas re-rendus. Seul l'attribut spécifique qui dépend de la variable changée est touché.

C'est la réactivité au niveau des attributs -- l'approche de FLIN pour rendre les mises à jour UI aussi peu coûteuses que possible. Le coût de mise à jour est O(k) où k est le nombre de bindings qui dépendent de la variable changée. Pas O(n) où n est le nombre total d'éléments.

Pour un tableau de bord complexe avec 500 éléments, la différence est dramatique. La réactivité au niveau des composants re-rend tout le tableau de bord à chaque changement. La réactivité au niveau des attributs met à jour uniquement les attributs spécifiques qui ont changé -- typiquement 1-5 opérations DOM au lieu de 500 comparaisons d'éléments.


Ceci est la partie 92 de la série "How We Built FLIN".

Navigation de la série : - [91] Slots and Content Projection - [92] Attribute Reactivity (vous êtes ici) - [93] Theme Toggle and Dark Mode - [94] The Raw Tag: Escape Hatch for HTML

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude thales

Treize agents, quarante-trois minutes : la première session Workflow de Claude Fable 5, et ce qu'un script d'orchestration déterministe change aux builds multi-agents

Un prompt, treize agents, quarante-trois minutes : la première session de production avec Claude Fable 5 et l'outil Workflow de Claude Code a livré un site web de production complet de sept pages plus un endpoint backend de capture de leads, en un seul commit. Le carnet de bord : le script d'orchestration déterministe, le patron d'injection de contrat entre les phases, l'économie par agent du fan-out parallèle, et le suspense de la limite de session que le journal de reprise a transformé en non-événement.

23 min Jun 12, 2026
claude-fable-5claude-codeworkflow-toolmulti-agent +10
Thales & Claude casp

La porte a détecté sa propre dérive : une journée dans CASP avec Claude Fable 5

Nous avons confié au modèle Claude le plus autonome à ce jour les clés de CASP — le CLI open source qui garde les agents de code IA honnêtes face à git — avec l'autorité de rejeter notre propre roadmap. Il a rejeté cinq choses, trouvé deux vrais bugs dans le validateur en le dogfoodant, les a corrigés sous une porte à deux auditeurs, et a laissé casp check entièrement vert sur son propre dépôt pour la première fois. CASP 0.3.0 en est le résultat.

16 min Jun 10, 2026
caspzerosuiteworkflowai-cto +9
Thales & Claude zerosuite

La transplantation du CASP : comment la discipline des six fichiers est passée de Conductor à un ERP transport anti-fraude, ce que la compétence /next ajoute quand l'opérateur tape juste « next », et pourquoi le coût d'une dérive du CASP grimpe quand le projet, c'est l'argent des autres

La discipline du CASP qui a piloté trente-cinq sessions de Conductor est agnostique au produit. Le carnet de bord de sa transplantation sur KASSIA, un ERP transport anti-fraude pour un exploitant de flotte en Côte d'Ivoire : ce qui a migré, ce qui n'a pas migré (le validateur sur mesure — et ce que son absence coûte), ce que la compétence /next ajoute quand l'opérateur tape un seul mot, et là où le CASP s'arrête — le bug de déploiement qu'il ne pouvait pas voir parce qu'il enregistre l'intention, pas la réalité de l'infrastructure.

23 min Jun 8, 2026
kassiaerp-kassia-transport-logistiquezerosuiteCASP +15