Qu'est-ce que le mode lecteur graveur ?
Le mode lecteur graveur, c'est le téléphone dans le rôle alimenté : il produit le champ, réveille un tag passif et échange des données avec lui. Il couvre la lecture, l'écriture, le formatage et le verrouillage. C'est aussi le seul mode où une application ordinaire dispose d'une véritable liberté d'action.
Ce que fait le téléphone
Tout, énergétiquement parlant. Il produit le champ, fournit au tag l'énergie dont il a besoin pour fonctionner, envoie chaque commande et interprète chaque réponse. Le tag n'apporte rien qu'une réponse.
Dans ce cadre, les opérations disponibles sont la lecture du contenu, l'écriture d'un nouveau contenu, le formatage d'un tag vierge, la pose d'un mot de passe là où la puce en gère un, et le verrouillage définitif de la mémoire.
Le seul mode que vous maîtrisez
L'émulation de carte est verrouillée par la plateforme et, pour le paiement, par les réseaux de cartes. Le pair à pair n'existe plus en pratique. Le mode lecteur graveur est ce qui reste, et il est réellement ouvert.
Une application ordinaire peut lire tout tag auquel elle sait parler, écrire du contenu standard et inspecter des détails techniques. Personne n'a à approuver ce que vous mettez sur votre propre tag. Pour qui construit quelque chose avec le NFC plutôt que de simplement s'en servir, ce mode est tout le terrain de jeu.
Là où les plateformes diffèrent
Android expose directement les technologies, et sa documentation de référence les liste une par une, des couches radio de bas niveau jusqu'aux opérations NDEF. Une application peut descendre aussi profond que le matériel le permet.
iOS est plus contraint. Core NFC fournit la lecture et l'écriture de tags dans les règles d'Apple, et l'application doit généralement être en cours d'exécution et au premier plan pour qu'une session démarre. Concrètement, sur iOS l'utilisateur doit d'abord ouvrir l'application, ce qui change la façon de concevoir une interaction.
La différence compte à la conception plutôt qu'à la lecture. Un parcours qui suppose que le tag sera touché sans application ouverte se comportera très différemment sur les deux plateformes.
Ce qu'il ne peut toujours pas faire
Lire un tag employant un protocole propriétaire que le contrôleur n'implémente pas. Atteindre des données protégées par des clés que vous ne détenez pas. Changer un identifiant programmé en usine sur un tag standard. Réécrire un tag qui a été verrouillé.
Aucune de ces limites n'est un obstacle logiciel contournable, et la dernière mérite d'être répétée car elle piège définitivement : le verrouillage est une opération à sens unique, et c'est le mode lecteur graveur qui l'exécute.
Questions fréquentes
Faut-il une application particulière pour employer ce mode ?
Pour une simple lecture, les deux plateformes prennent en charge les contenus courants sans aucune application. L'écriture, le formatage et le verrouillage demandent un outil, puisque ni l'un ni l'autre système n'expose ces opérations dans sa propre interface.
Deux applications peuvent-elles lire le même tag à la fois ?
Non. Un échange, une application. Le système d'exploitation décide laquelle reçoit le tag, d'après le contenu et d'après les applications qui se sont déclarées intéressées.
Pourquoi iOS exige-t-il l'application ouverte quand Android ne le demande pas ?
C'est une décision de plateforme sur le moment où une application peut ouvrir une session NFC. La lecture en arrière plan sur iPhone traite certains contenus sans application, mais une application qui veut piloter l'échange doit être en cours d'exécution.
Écrire un tag est-il plus risqué que le lire ?
Oui, en un sens précis : une écriture interrompue en cours de route peut laisser un tag dans un état incohérent, et le verrouillage ne se défait pas. Lire un tag ne peut pas l'endommager.