Aller au contenu
Langue : FR

Dans quel ordre plusieurs enregistrements sont-ils traités ?

Les enregistrements sont stockés dans l'ordre où vous les écrivez, et les plateformes agissent en général sur le premier qu'elles reconnaissent. Tout ce qui suit reste accessible à un logiciel qui va le chercher, et invisible pour tous les autres. L'ordre est donc une décision à prendre délibérément.

Stockés dans l'ordre, traités sélectivement

Un message NDEF est une suite ordonnée, et un lecteur reçoit les enregistrements dans l'ordre où ils ont été écrits. Rien ne les réordonne et rien ne les trie par importance.

Ce qui varie est ce que le système d'exploitation en fait ensuite. Il parcourt les enregistrements en cherchant quelque chose qu'il sait traiter, et il s'arrête au premier qu'il trouve.

Pourquoi le premier enregistrement reconnu l'emporte

Parce que présenter un téléphone à un tag est un geste unique à l'issue unique. Une plateforme qui proposerait un menu de tous les enregistrements transformerait ce geste en décision, ce qui en annulerait l'intérêt.

Notez la formulation : le premier enregistrement qu'elle reconnaît, non simplement le premier enregistrement. Un enregistrement de tête d'un type que la plateforme ignore est sauté plutôt que bloquant pour ceux qui suivent. C'est ce qui rend la conception d'un repli possible.

Concevoir un repli

Placez en premier l'enregistrement sur lequel vous voulez le plus qu'on agisse, et le repli après lui.

Une adresse suivie d'un enregistrement de texte simple fonctionne bien. Là où l'adresse est reconnue, elle l'emporte et le texte n'est jamais montré. Là où elle ne l'est pas, le texte est au moins lisible par ce qui va regarder.

Inverser cet ordre casse le montage sur les plateformes qui, elles, reconnaissent les enregistrements de texte, car le repli l'emporte et la vraie action ne s'exécute jamais.

Testez l'ordre, ne le raisonnez pas

Le comportement des plateformes face à plusieurs enregistrements a varié d'une version à l'autre et diffère entre Android et iOS. Écrire un tag et le présenter aux deux prend deux minutes et tranche la question pour votre public réel.

L'erreur que cela provoque

Un tag écrit en ajoutant les enregistrements un par un, dans l'ordre où ils sont venus à l'esprit, puis déployé sans contrôler lequel se déclenche.

Cela fonctionne d'ordinaire sur le téléphone de celui qui l'a écrit, parce qu'il a écrit l'enregistrement important en premier par accident. Cela échoue ailleurs pour des raisons que personne ne relie à l'ordre, et le diagnostic est difficile précisément parce que le tag se lit parfaitement et contient tout ce qu'il devrait.

Le correctif est de décider l'ordre plutôt que d'en hériter, et de vérifier par une lecture qui montre tous les enregistrements plutôt que par un contact qui en montre un.

Questions fréquentes

Peut-on réordonner des enregistrements sans réécrire le tag ?

Non. L'ordre est celui du stockage : le changer suppose de réécrire le message. Sur un tag déverrouillé c'est trivial, sur un tag verrouillé c'est impossible.

Le même ordre se comporte-t-il pareil sur Android et sur iPhone ?

Pas nécessairement, les deux plateformes ne reconnaissant pas les mêmes types d'enregistrements. Un enregistrement ignoré par l'une est sauté et traité par l'autre, ce qui peut faire différer le comportement d'un même tag.

Peut-on forcer l'emploi d'un enregistrement précis ?

Pas depuis le tag, au-delà de le placer en premier et de choisir un type que la plateforme visée reconnaît. La décision appartient au système d'exploitation et n'est pas quelque chose qu'un tag puisse outrepasser.

Les applications voient-elles les enregistrements que le système a ignorés ?

Une application qui lit le tag directement reçoit tout le message et peut employer l'enregistrement qu'elle veut. La sélection décrite ici concerne le système décidant quoi faire au contact.