Date: 24-01-2026 18:41 Status: ✅ TERMINÉ + TESTÉ (Pipeline #329 - container healthy, tests Ollama OK)
Refonte complète du QIG pour en faire un générateur d'interfaces universel :
"Je veux créer un projet GitLab"
↓
Ollama comprend l'intention
↓
Génère un formulaire user-friendly
↓
Qwik render (0kb JS initial)
↓
User remplit → /api/fetch → API appelée
Fin des frontends. Juste des APIs.
src/
├── components/form/
│ ├── FormRenderer.tsx # Render UISpec → Form Qwik
│ ├── FieldRenderer.tsx # Dispatch vers composants
│ └── fields/ # 13 composants lazy-loaded
│ ├── TextField.tsx
│ ├── TextAreaField.tsx
│ ├── SelectField.tsx
│ ├── CheckboxField.tsx
│ ├── NumberField.tsx
│ ├── EmailField.tsx
│ ├── PasswordField.tsx
│ ├── DateField.tsx
│ ├── FileField.tsx
│ ├── RadioField.tsx
│ ├── ToggleField.tsx
│ ├── RangeField.tsx
│ └── UrlField.tsx
├── lib/
│ ├── ollama/
│ │ ├── client.ts # Client ai-orchestrator
│ │ └── prompts.ts # Prompts intention + UISpec
│ ├── ui-spec/
│ │ └── types.ts # Format standard interne
│ └── connector/
│ └── client.ts # Client connectors-hub (existant)
└── routes/
└── index.tsx # Page principale input naturel
| Test | Temps | Résultat |
|---|---|---|
| Intent Analysis | ~20s | {"connector": "gitlab", "action": "create", "entity": "projet"} |
| UISpec Generation | ~8s | Formulaire 2 groupes, 6 champs |
Intent : Analyse correctement "Je veux créer un projet GitLab" UISpec : Génère formulaire avec project_name, namespace, description, visibility_level, issues_enabled, merge_requests_enabled
00bbb52 feat(v2): Universal Interface Generator with Ollama/home/gouroubleu/propositions/24-01-2026-18-22-qig-v2-architecture.md