Back to flin
flin

De zéro à 70 composants en une seule session

Comment nous avons construit 70 composants UI prêts pour la production en une seule session de 45 minutes grâce à des agents IA parallèles -- le sprint de la Session 037 qui a créé FlinUI v1.0.0.

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

Le 4 janvier 2026, au début de la Session 037, FLIN avait un système de composants mais pas de bibliothèque de composants. Les développeurs pouvaient créer des composants personnalisés -- définir un fichier .flin, écrire du markup, passer des props -- mais il n'y avait rien de pré-construit. Pas de Button. Pas de Card. Pas de Modal. Pas de Table.

Quarante-cinq minutes plus tard, FlinUI v1.0.0 existait : 70 composants prêts pour la production répartis en 7 catégories, un système complet de tokens de design, le support du mode sombre, des breakpoints responsive et une application de démo interactive. Quatre-vingt-un fichiers .flin. 11 697 lignes de code. Un commit.

La stratégie : agents parallèles

Construire 70 composants séquentiellement aurait pris des heures. Au lieu de cela, nous avons utilisé des agents parallèles. La Session 037 a lancé six agents en deux lots de trois, chacun avec une spécification et le fichier de tokens de design partagé.

Le système de tokens de design : les tokens d'abord

Avant de construire un seul composant, nous avons construit le système de tokens de design. C'était le fondement qui assurait la cohérence entre les 70 composants :

flin// tokens.flin -- 50+ tokens de design
primary = "#007bff"
secondary = "#6c757d"
success = "#28a745"
danger = "#dc3545"
// ... espacements, typographie, ombres, rayons de bordure

Avec les tokens de design définis, chaque agent pouvait construire des composants qui paraissaient cohérents sans aucune communication inter-agents.

Les sept catégories

  • Basique (15) : Button, Input, Textarea, Select, Checkbox, Radio, Switch, Slider, Text, Link, Icon, Image, Avatar, Badge, Tag
  • Mise en page (10) : Container, Stack, Grid, Flex, Box, Divider, Spacer, Center, AspectRatio, Wrap
  • Affichage de données (15) : Card, Table, List, Progress, Spinner, Skeleton, Empty, Code, Kbd, Stat, Accordion...
  • Formulaires (10) : Form, FormField, DatePicker, TimePicker, ColorPicker, FileUpload, Autocomplete, PinInput...
  • Feedback (10) : Alert, Toast, Modal, Drawer, Popover, Tooltip, Notification...
  • Navigation (10) : Navbar, Sidebar, Tabs, Breadcrumb, Pagination...
  • Système de thème (5) : tokens.flin, dark.flin, animations.flin, responsive.flin, index.flin

Le commit

feat: FlinUI v1.0.0 - Complete UI Component Library (Phase 13)

83 files changed, 11,697 insertions(+)

Un commit. 11 697 lignes. Une bibliothèque UI complète. Taguée v0.61.0 et poussée sur GitHub.


Ceci est la partie 82 de la série "How We Built FLIN", documentant comment un CEO à Abidjan et un CTO IA ont construit 70 composants UI en une seule session de 45 minutes.

Navigation de la série : - [81] FlinUI: Zero-Import Component System - [82] From Zero to 70 Components in One Session (vous êtes ici) - [83] FlinUI Complete: 365+ Components - [84] Charts and Data Visualization Components

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

Le Step Zero ne suffisait pas : comment valider un constructeur sans valider le runtime a fait tomber toutes les sessions vocales de Déblo l’heure où nous avons livré le streaming caméra temps réel

La phase 14 a livré Déblo Eyes — streaming caméra temps réel via LiveKit vers Gemini Live native audio. Le premier deploy a fait tomber toutes les sessions vocales en production en quatre-vingt-dix secondes parce que notre Step 0 avait validé le constructeur sans exercer le runtime. Le build log de comment Déblo a eu des yeux, ce qu’un pré-vol incomplet a coûté, et quels points de polish ont été livrés ou reportés.

33 min May 20, 2026
debloclaude-opus-4.7claude-codegemini-live +25
Thales & Claude deblo

Le tiret cadratin qui a tué la production : comment un slogan marketing dans un header HTTP a fait tomber le chat de Déblo pendant 24 heures

Deux jours avant la soumission App Store, tout le produit chat de Déblo s’est cassé silencieusement. Pas de spinner, pas de toast, aucune erreur dans l’UI — juste un silence radio. L’incident de 24 heures se résumait à un seul « é » dans la valeur d’un header HTTP qui levait une UnicodeEncodeError avant qu’aucune requête vers OpenRouter ne quitte le backend. Post-mortem d’une fausse hypothèse, d’une trace Sentry, et d’un fix de six lignes qui a débloqué le lancement.

30 min May 19, 2026
debloclaude-opus-4.7claude-codeincident +19
Thales & Claude deblo

Six heures, d’une page blanche à la review Apple — Comment nous avons soumis Déblo à l’App Store, en direct

Marche à marche en direct de la soumission de Déblo à l’App Store iOS en six heures : ce que les validateurs d’Apple ont rejeté (un superscript Unicode), ce que nous avons corrigé (un Promotional Text gaspillé sur des marques tierces), et les rouages de l’ASO iOS que presque tout le monde rate.

30 min May 13, 2026
debloclaude-opus-4.7claude-codeapp-store +16