feat: redesign UI section Cles API IA - recherche, carte defaut, cartes depliables, footer sticky (#104)
CI / lint (push) Successful in 1m47s
CI / security (push) Successful in 1m5s
CI / test (push) Successful in 3m14s
CI / build (push) Successful in 1m1s
CI / e2e (push) Failing after 12m11s

This commit is contained in:
2026-09-18 09:01:20 -04:00
parent 2bd9dd7535
commit ab766862a3
19 changed files with 876 additions and 256 deletions
+33 -1
View File
@@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
> **En cours de développement** : les changements à venir sont listés dans la section
> [Unreleased](#unreleased). La dernière version livrée est **2.11.6**.
> [Unreleased](#unreleased). La dernière version livrée est **2.12.0**.
---
@@ -14,6 +14,38 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
## [2.12.0] — 2026-09-18
### Ajouté
- **#104 - Configuration : redesign UI de la section « 🤖 Clés API Intelligence Artificielle »** :
la longue liste plate de champs devient une interface structurée et dépliable —
1. **En-tête de section** : titre + sous-titre explicatifs et une **barre de recherche**
(`#cfg-ai-search`) pour filtrer les fournisseurs (normalisée, insensible à la casse et aux
accents), avec état vide « Aucun fournisseur ne correspond ».
2. **Carte « Configuration par défaut »** visuellement distincte : grille **2 colonnes**
fournisseur / modèle par défaut, et **capacités du modèle rendues en badges colorés**
(nouveau `renderCapabilityBadges()` dans `frontend/js/ai.js`, uniquement les capacités
actives) au lieu des cases à cocher.
3. **Fournisseurs d'API en cartes dépliables** (rendu dynamique depuis `AI_PROVIDER_NAMES` par
`_renderAIProviderCards()`, `frontend/js/config.js`) : état replié = logo (initiale), nom,
**badge de statut** (« Configuré » vert / « Non configuré » gris) et **corbeille discrète**
pour supprimer la clé (visible uniquement si configurée, confirmation conservée) ; état
déplié = libellés au-dessus des champs, **API key à 60 % / modèle à 40 %** (grille `3fr 2fr`).
Les boutons « Configuré/Supprimer » redondants à l'intérieur des champs disparaissent — le
statut vit désormais uniquement dans l'en-tête de la carte.
4. **Barre d'actions** : « Sauvegarder » (primaire) et « Tester » (outline) dans un footer
**sticky** en bas de section, toujours accessible pendant le défilement, avec le statut de
test à côté.
Styles `.ai-keys-*` / `.ai-provider-*` en variables CSS (profondeur fond/carte, espacement
généreux, chevron animé, focus visible, responsive 1 colonne < 600 px) ; textes i18n FR/EN
(`config.ai_*`). Les ID d'éléments (`cfg-<provider>-key/model/badge/delete`) et le
comportement de sauvegarde/test/suppression restent inchangés (rétrocompatible pickers IA).
Tests : `tests/frontend/config-ai-keys.test.mjs` (7 — rendu, badges, bascule, filtre, save,
suppression, badges de capacités).
---
## [2.11.6] — 2026-09-18
### Corrigé