Date : 07/02/2026
Status : IMPLEMENTEE
Fichier principal : connectors-front/src/components/tools/WebSearchTool.tsx
L'endpoint SearXNG /autocompleter retourne le format OpenSearch Suggestions :
["test", ["test debit", "test de pureté", "test connexion", ...]]
Le proxy (connectors-api) retourne cette reponse comme une string dans data:
{"success":true, "status":200, "data":"[\"test\", [\"test debit\", ...]]"}
Le code frontend (ligne 211-212) :
const data = res.data || res;
state.autocompleteSuggestions = Array.isArray(data) ? data : (data.suggestions || []);
data = string → Array.isArray() = falsedata.suggestions = undefined[] → autocompletion toujours videconst data = res.data || res;
let parsed = data;
if (typeof parsed === 'string') {
try { parsed = JSON.parse(parsed); } catch { /* ignore */ }
}
// OpenSearch format: [query, [suggestions]]
if (Array.isArray(parsed) && Array.isArray(parsed[1])) {
state.autocompleteSuggestions = parsed[1];
} else if (Array.isArray(parsed)) {
state.autocompleteSuggestions = parsed;
} else {
state.autocompleteSuggestions = (parsed as any).suggestions || [];
}
autocompleteOpen.value = state.autocompleteSuggestions.length > 0;
| Severite | Probleme | Lignes |
|---|---|---|
| CRITIQUE | Barre de recherche : bouton "Rechercher" trop large sur mobile | 332-341 |
| CRITIQUE | Category chips : wrappent sur 3-4 lignes au lieu de scroller | 347-357 |
| HAUTE | Filtres (time/safesearch/moteurs) : gap trop grand, wrap chaotique | 360-394 |
| HAUTE | Infobox cache sous 1024px (perdu sur tablettes) | 557 |
| HAUTE | Zone resultats : padding trop genereux, double-scroll possible | 420 |
| MOYENNE | Grille images : 2 colonnes minimum meme sur 320px | 473 |
| MOYENNE | Meta resultats (date, score, engines) : deborde sur petits ecrans | 538-548 |
sm: et plusinput-sm sur mobile, input-md sur desktopflex-wrap par overflow-x-auto avec scrollbar-hideflex-nowrap pour garder tout sur une lignesm:)gap-2 sur mobile, gap-3 sur desktopselect-xs partout (deja le cas)sm: si necessairemd: (768px) au lieu de lg: (1024px)flex-col md:flex-row sur le conteneur resultats+infoboxp-3 sur mobile, p-4 sur desktopgrid-cols-2 sm:grid-cols-3 lg:grid-cols-4flex-wrap + gap-1 pour eviter debordementbtn-md au lieu de btn-sm)| Fichier | Modifications |
|---|---|
WebSearchTool.tsx |
Fix autocomplete parsing + refonte mobile CSS |