Doc fonctionnelle : décrit le quoi et le pourquoi (point de vue utilisateur / chef de projet).
Chaque fiche matériel porte un fabricant (Dell, Lenovo, HP, Cisco…). Cette liste n'est pas propre à un client : c'est un référentiel global, maintenu par ISI, partagé par tous les tenants. Chaque fabricant y porte aussi les liens constructeur exploités par l'application : l'URL de vérification de garantie (avec le nom du champ où injecter le numéro de série) et l'URL du support.
Jusqu'ici ce référentiel n'était consultable que via le module de saisie générique
(/mod/81010101), sans écran de consultation : impossible de le parcourir, de le trier, d'y
chercher un fabricant ou de l'exporter. L'écran Fabricants de matériel comble ce manque.
Depuis le tableau de bord d'administration (/admin), onglet Actions, panneau Outils :
tuile « Fabricants de matériel » → /admin/hardware-manufacturers.
L'écran est un tableau classique de l'application :
| Colonne | Contenu |
|---|---|
| Fabricant | Libellé affiché du fabricant |
| URL de garantie | Lien vers la page constructeur de vérification de garantie (ouverture dans un nouvel onglet) |
| Champ du numéro de série | Identifiant du champ à pré-remplir sur cette page de garantie |
| URL de support | Lien vers la page de contact du support constructeur |
/mod/81010101), qui reste le seul point d'écriture du référentiel. Le bouton
« Nouveau fabricant », en haut de l'écran, y ouvre un formulaire de création.Le formulaire de saisie demande le nom du fabricant (obligatoire), l'URL de garantie, le
champ du numéro de série et l'URL de support. Les deux URL doivent être des adresses
complètes (https://…). Après enregistrement, l'écran reste sur la fiche du fabricant ; le bouton
« Retour » ramène à l'écran d'où l'on vient — la liste d'administration si c'est de là qu'on
est parti.
Le nom affiché d'un fabricant ne vit pas dans sa propre fiche mais dans la table des termes (le champ de la fiche ne contient qu'une clé de traduction). Un fabricant dont le terme est absent n'apparaît dans aucun écran matériel : il disparaît de la liste déroulante « Fabricant » sans qu'aucune erreur ne soit remontée. L'écran signale ces cas par un badge orange « Libellé manquant » — c'est le principal intérêt de la consultation.
Les URL de garantie et de support changent régulièrement chez les constructeurs, et beaucoup de fiches sont incomplètes. Le bouton baguette magique de chaque ligne demande à l'IA de retrouver, sur le site officiel du constructeur, les trois informations de service après-vente : l'URL de vérification de garantie, le nom du champ où saisir le numéro de série, et l'URL du support.
L'IA cherche sur le web puis propose ; elle n'écrit jamais directement. Une fenêtre de revue s'ouvre par-dessus l'écran : d'abord « recherche en cours » (compte une minute environ), puis le résultat, avec pour chaque information la valeur actuelle, la valeur proposée (modifiable à la main) et un interrupteur Appliquer.
Dès qu'une baguette est cliquée, toutes les baguettes de l'écran se grisent et celle de la ligne concernée passe en sablier : impossible de lancer deux recherches en parallèle. La fenêtre de revue prend ensuite le relais — elle couvre le tableau tant qu'elle est ouverte.
Refermer la fenêtre pendant la recherche l'abandonne : rien n'est écrit, et une nouvelle recherche peut être lancée.
Attendre une minute devant chaque fiche n'est pas tenable pour remplir le référentiel. Les cases à cocher du tableau permettent donc de lancer la recherche sur plusieurs fabricants à la fois, via Actions en masse → « Rechercher les liens avec l'IA ».
Ce que la masse fait, et ce qu'elle ne fait pas :
Le gain n'est donc pas d'éviter la relecture, c'est de ne plus attendre : on lance une salve, on fait autre chose, on revient relire.
Cocher 56 cases sur trois pages pour dire « complète ce qui manque » n'a pas de sens : le bouton « Compléter les fiches incomplètes », en haut de l'écran à côté de Nouveau fabricant, vise directement tous les fabricants auxquels il manque au moins un lien constructeur — 56 sur 58 aujourd'hui.
Sont ignorés : les fabricants sans libellé (l'IA n'aurait rien à chercher) et ceux portant déjà une recherche en cours ou un résultat en attente de relecture — relancer écraserait une proposition que tu n'as pas encore vue. Le compte rendu dit ce qui est parti et ce qui a été écarté.
La sélection par cases reste là pour viser quelques fabricants précis, et n'est plus plafonnée : les recherches tournent sur la file de traitement IA de l'application, aux côtés des autres générations (restitutions, extractions), et non sur la file générale.
Un bandeau au-dessus du tableau dit en permanence où en est la recherche de masse. Tant qu'une salve tourne, c'est un bandeau d'une ligne surmontant une fine barre de progression : « Recherche IA — 12 / 56 · reste ~66 min », plus un badge rouge si des recherches ont échoué. Viennent ensuite, selon les cas, les propositions qui attendent une relecture et les recherches en échec. Le bandeau disparaît quand il n'y a rien à signaler.
Les fabricants sans changement ne s'y trouvent pas : leur badge de ligne suffit, ils n'appellent aucune action.
La barre indique aussi depuis quand la plus ancienne recherche attend, et porte un bouton « Rien ne progresse ? Réinitialiser ». À n'utiliser que si le compteur ne bouge plus depuis longtemps : il efface les signalements et rend ces fabricants relançables. Il n'annule pas une recherche réellement en cours — son résultat arrivera quand même.
Le tableau signale aussi l'état de chaque ligne, et se rafraîchit tout seul le temps qu'une salve passe :
| Signalement | Sens |
|---|---|
| Recherche en file (bleu, sablier) | la recherche est programmée, elle n'a pas encore tourné |
| Proposition à relire (vert, presse-papier) | la recherche est finie, la proposition attend |
| Recherche en échec (rouge) | la recherche n'a rien pu produire — ouvrir la fiche pour la raison |
Un fabricant dont la recherche n'a rien trouvé à changer ne porte aucun signalement : sa ligne redevient telle qu'avant. C'est la notification de fin de salve qui rend compte de ces vérifications sans suite.
Un fabricant déjà en file n'est pas relancé, et un fabricant sans libellé est ignoré : sans nom, l'IA n'a rien à chercher. Le compte rendu affiché après le lancement dit ce qui est parti et ce qui a été écarté.
C'est le résultat attendu sur un fabricant à jour. Dans ce cas aucune proposition n'est mise en attente et rien n'est signalé sur la ligne : il n'y aurait rien à relire, et marquer la ligne ne ferait qu'encombrer le tableau. Le fabricant reste relançable immédiatement.
Si tu as lancé la recherche à la main depuis une fiche, la conclusion s'affiche quand même dans la fenêtre — avec les sources que l'IA a consultées pour y arriver. C'est le seul endroit où elle apparaît.
Une salve tourne en tâche de fond pendant une dizaine de minutes : tu n'as aucune raison de rester sur l'écran. À la fin, une notification arrive dans la cloche, adressée à toi seul — celui qui a lancé la recherche.
Elle récapitule : combien de fabricants ont été vérifiés, combien de propositions attendent une relecture, combien de recherches ont échoué, et combien n'avaient rien à changer. Elle renvoie directement vers l'écran des fabricants.
C'est ce qui rend compte des recherches sans suite : sans elle, une salve où l'IA ne trouve rien à changer ne laisserait aucune trace visible.
Une proposition qui ne vaut rien se jette : le bouton Écarter de la fenêtre de revue la supprime, la ligne cesse d'être signalée et une nouvelle recherche redevient possible. Sans quoi les propositions restent disponibles quelques heures, puis expirent — il suffit alors de relancer. Le bandeau propose aussi d'écarter tous les échecs d'un coup, ce qui rend ces fabricants relançables sans rien écrire.
Le bandeau porte un bouton « Relire les N propositions », qui ouvre une revue d'ensemble : toutes les propositions en attente, regroupées par fabricant, sans avoir à ouvrir les fiches une par une.
Chaque fabricant y occupe un bloc, avec son niveau de confiance, un compteur de cases cochées, et pour chacune de ses trois informations : la valeur actuelle face à la valeur proposée (modifiable directement ici), le résultat du test de joignabilité de l'URL, et un interrupteur Appliquer. Les sources consultées par l'IA se déplient sous le bloc.
En haut, un décompte — nombre de fabricants, de propositions, de cases cochées, d'URL injoignables — et les deux actions qui portent sur tout le lot : Tout valider et Tout rejeter.
Les mêmes deux gestes existent sur chaque fabricant, où ils n'agissent que sur lui seul :
| Bouton | Portée | Effet |
|---|---|---|
| Valider | un fabricant | écrit ses valeurs cochées, puis le retire de la revue |
| Rejeter | un fabricant | jette sa proposition sans rien écrire ; il redevient relançable |
| Tout valider | le lot | écrit les valeurs cochées de tous les fabricants en revue |
| Tout rejeter | le lot | jette toutes les propositions sans rien écrire |
Les interrupteurs Appliquer de chaque information décident de ce qui sera écrit : décoche ce que tu ne veux pas, corrige ce qui doit l'être, puis valide. Les boutons Valider sont grisés quand rien n'est coché.
Les deux actions du bandeau demandent une confirmation, parce qu'elles touchent aussi des fabricants que tu n'as peut-être pas fait défiler. Les boutons de ligne agissent sans : la revue elle-même fait office de confirmation, les valeurs étant sous les yeux.
⚠️ L'écriture porte sur un référentiel partagé par tous les clients et dépourvu de corbeille. Elle est désormais toujours précédée de cette liste : rien ne s'écrit que tu n'aies pu voir, décocher ou corriger.
Ce qui est écrit et ce qui ne l'est pas — les mêmes règles que le pré-cochage de la fiche individuelle, pour qu'il n'y ait pas deux comportements :
| Cas | Traitement |
|---|---|
| Valeur qui change quelque chose, URL joignable, valide | écrite |
| URL que l'application n'a pas su joindre | jamais écrite |
| Proposition identique à ce qui est déjà en base | rien à écrire, ligne marquée « Aucun changement » |
| Proposition refusée par la validation (URL mal formée, champ trop long) | laissée en attente, l'erreur signalée sur le champ fautif |
Une proposition refusée ne bloque pas les autres : le reste du lot est écrit, et le fabricant fautif reste dans la revue avec le message d'erreur sur son champ — la valeur que tu venais de saisir reste affichée, corrige-la et revalide, sans relancer l'IA. Le compte rendu dit combien de fabricants ont été mis à jour, combien de champs ont été écrits et combien ont été refusés. Chaque modification reste tracée dans l'historique du fabricant.
⚠️ Les propositions portent sur un référentiel partagé par tous les clients : relis-les avant d'appliquer. Chaque modification est tracée dans l'historique du fabricant.
Réservé aux administrateurs ISI : entité courante 1 et profil 1 (middleware isi-admin),
ainsi qu'aux développeurs ISI et à l'assistance superman. Le référentiel étant global — il n'est
cloisonné par aucun client — il n'est pas exposé aux administrateurs clients.
Tout autre profil reçoit une erreur d'autorisation, y compris en ouvrant directement l'URL, en sollicitant le tableau ou en déclenchant son export.
⚠️ Le tableau de bord
/admin, où vit la tuile, est lui-même réservé aux développeurs ISI (garde préexistante, plus stricte). Un administrateur ISI profil 1 non développeur atteint donc l'écran par son URL directe (/admin/hardware-manufacturers) mais ne voit pas la tuile.
../../.claude/technical-docs/platform/hardware-manufacturers.mdadmin-dashboard.md../store/hardware.md