Aller au contenu
Langue : FR

Un tag peut-il porter des données qui ne sont pas du NDEF ?

Oui. NDEF est une convention plutôt qu'une contrainte physique, et beaucoup de puces autorisent un accès direct à leur mémoire. Ce que vous perdez est l'interopérabilité : un contenu hors NDEF n'a aucun sens pour un lecteur qui ne connaît pas déjà votre organisation, y compris celui du système d'exploitation.

Pourquoi c'est possible

Un tag est de la mémoire avec un protocole d'accès. NDEF est un accord sur la façon d'y ranger les octets pour que des inconnus puissent les interpréter, et rien n'empêche physiquement de les ranger autrement.

Android expose séparément les technologies sous-jacentes, comme le montre sa référence des technologies : une application peut donc lire et écrire des blocs bruts sur les familles qui le permettent, sans passer par la couche NDEF.

Ce que vous abandonnez

Tout ce qui rend un tag utile à quelqu'un d'autre. Le système d'exploitation ne reconnaîtra pas le contenu, aucun outil générique ne l'affichera de façon exploitable, et le logiciel d'aucun autre développeur n'en fera quoi que ce soit.

Vous abandonnez aussi tout l'écosystème de diagnostic. Quand quelque chose tourne mal, un outil de lecture vous dit que le tag est non formaté ou porte des données inconnues, ce qui est vrai et sans secours, et vous déboguez seul.

Pour tout ce que le public touche, c'est éliminatoire. Une affiche dont le tag ne fonctionne qu'avec votre application est une affiche qui ne fait rien pour les gens qui passent devant.

Quand c'est légitime

Des systèmes fermés dont vous maîtrisez les deux bouts. Votre application, vos tags, vos lecteurs, et aucune attente qu'autre chose interagisse avec eux.

Des données binaires compactes là où le surcoût NDEF ne tient réellement pas, ce qui est une contrainte réelle sur les plus petites puces et rare ailleurs.

Des fonctions propres à une puce qui vivent entièrement hors de la zone NDEF : pages de configuration, compteurs, zones de mot de passe. Les employer n'est pas vraiment un choix entre NDEF et accès brut, puisqu'elles ne font tout simplement pas partie de la région NDEF.

Faire coexister les deux

Sur beaucoup de puces, vous pouvez avoir les deux. NDEF occupe sa région définie, et la mémoire au-delà porte ce que vous voulez.

C'est d'ordinaire la bonne réponse quand l'accès brut vous tente. Une adresse en NDEF donne à tout le monde un résultat sensé, et votre propre application retrouve les données supplémentaires là où elle les a laissées.

Le tag fonctionne alors pour les inconnus et fonctionne mieux pour vous, ce qui est strictement préférable au fait de choisir un seul public. Cela coûte le surcoût NDEF, et c'est le prix d'être lisible.

Questions fréquentes

Un téléphone affiche-t-il quelque chose pour un tag non NDEF ?

Il détectera le tag et signalera sa technologie, puis dira qu'il n'y a rien sur quoi agir. Pour un utilisateur, cela ressemble exactement à un tag cassé, et c'est le coût pratique de quitter la convention.

Peut-on cacher des données sur un tag de cette façon ?

Pas de qui va regarder. La mémoire hors de la région NDEF est lisible par toute application prête à lire des blocs bruts : c'est de l'obscurité plutôt que de la protection. Les zones protégées par mot de passe relèvent d'un autre mécanisme.

Tous les tags autorisent-ils l'accès brut à la mémoire ?

Cela dépend de la famille de puce et de ce que la plateforme expose. Certaines permettent l'accès direct aux blocs, d'autres seulement par la couche NDEF : la capacité doit être confirmée pour la puce précise.

Un tag qui porte du NDEF et des données brutes reste-t-il standard ?

Oui, tant que la région NDEF est correctement formée. Les lecteurs emploient la structure pour trouver le contenu NDEF et ignorent le reste, ce qui est précisément ce qui rend la coexistence possible.