# Scanner les UID

Poser les puces vierges une par une, relever leur UID, écarter les doublons et exporter la liste en CSV.

Source : https://docs.sealtrust.io/console/scanner-les-uid/

---

C'est l'inventaire des puces, à l'adresse `/scan-tags`. Vous posez les tags un par un sur le lecteur, l'écran relève leur UID, écarte ceux qu'il a déjà vus et vous rend un fichier CSV. Aucun UID relevé ici n'est envoyé au serveur : tant que le CSV n'est pas téléchargé, la liste n'existe que dans ce navigateur.

![L'écran de scan des UID, avec ses compteurs, la boucle de lecture en cours et le journal](/console/scanner-les-uid.fr.webp)

## Ce que l'écran affiche

Une carte de compteurs qui suit la séance : les tags scannés, les uniques et les doublons. La liste des lignes relevées vit dans le navigateur, plafonnée à 5000 lignes à l'enregistrement comme à la relecture.

Un journal reprend chaque lecture, garde les 200 dernières lignes et les conserve lui aussi dans le navigateur. Pour chaque tag, l'écran calcule le `uid_hash` sur place, par keccak256 sur les octets de l'UID, avec la même fonction que l'encodeur.

## Ce que vous pouvez y faire

- « Démarrer le scan » lance la boucle de lecture, un tag après l'autre. « Arrêter » la referme.
- « Télécharger CSV » produit un fichier nommé `scan_tags_` suivi de la date du jour. Il porte les colonnes `index`, `uid_hex`, `uid_hash` et `scanned_at`, du premier tag scanné au dernier. La liste à l'écran met le dernier scanné en tête, le fichier reprend l'ordre inverse.
- « Vider la liste » efface les lignes, les compteurs et ce que le navigateur en gardait.

## Ce qui conditionne l'accès

L'entrée « Scannér les UIDs » vit dans la rubrique « Outils » du menu, portée par la capacité `nfc_encoding` et masquée pour les profils de marque `basic` et `dpp`.

La route `/scan-tags` est soumise à cette même capacité. Sans elle, la console remplace l'écran par « Fonctionnalité non disponible » et « Cette fonctionnalité n'est pas incluse dans votre plan actuel. », suivis d'une invitation à nous contacter pour changer d'offre.

Le bouton de démarrage n'est actif que si le lecteur est connecté, ce qui se règle sur l'écran de connexion au lecteur. « Télécharger CSV » est inerte si la liste est vide ou pendant un scan. « Vider la liste » est inerte pendant un scan.

## Ce que l'écran refuse

- Sans lecteur, la boucle s'arrête aussitôt sur « WS non connecté. »
- Un tag laissé sur le lecteur n'est pas recompté. Le même `uid_hash` revu en moins de 2000 millisecondes est ignoré, avec la ligne de journal « Same tag still present (ignored) ».
- Un tag déjà présent dans la liste incrémente le compteur des doublons et n'ajoute pas de ligne.
- Chaque demande de lecture part avec un délai de 60 secondes, et l'écran attend la réponse du lecteur au plus 65 secondes.

Une précision sur l'absence d'envoi au serveur : arriver sur la page déclenche quand même le chargement de la liste des marques, comme sur n'importe quelle page de la console. Ce sont les UID relevés qui ne partent nulle part.
