L'api Web-NFC
Qu'est-ce que le NFC?
NFC signifie Near Field Communications (communication en champ proche), une technologie sans fil à courte portée fonctionnant à 13,56 MHz qui permet la communication entre les appareils à une distance inférieure à 10 cm et un taux de transmission pouvant atteindre 424 kbit/s.
En clair, pas bcp (de données), pas vite (comparé au RFID, Bluetooth ou Wifi), pas loin (comparée aux autres technologies sans fil)... Plein d'avantages!
Ses inconvénients sont un avantage, le NFC est la technologie qui se cache derrière les cartes de transport, cantine, parking, ID et passeports. C'est aussi lui qui nous permet de payer sans contact avec nos CB, ou avec un téléphone… Tout ça en champ proche, moins de 10cm (par beau temps sans brouillard, on est plus proche des 2cm que des dix annoncés).
Le.a tag / jeton / étiquette
Un tag ou jeton ou étiquette NFC, est composé d'une "antenne" (la partie visible) et d'un composant minuscule, le tout sur/dans un support papier, pvc, plastique , caoutchouc ou métal (mais dans ce cas le tag a un sens d'utilisation, le métal bloque les ondes).
{width=640px}
Quand un tag est placé à proximité d'un lecteur, le champ électromagnétique est transformé en électricité par l'antenne et alimente momentanément le composant, le temps de la transaction (l'échange de données: "bonjour, moi c'est Marcel 23-ab-45-78-ac-ef-56, au revoir", c'est parfois un peu plus long, quand on paye, par exemple, dans ce cas le téléphone devient passif, c'est lui le tag, comme sur votre CB).
-
le tag est dit passif, il ne contient ni batterie ni pile! C'est le lecteur (le téléphone généralement) qui produit l'électricité, le temps de la transaction.
-
Chaque tag/jeton/étiquette NFC possède un identifiant unique de 7 octets (256 valeurs puissance 7), l'UID.
-
Les tags disposent d'un peu de mémoire pour stocker des informations (le fameux NDEF), et/ou des zones protégées qui contiennent les codes d'accès, de sécu ou autres.
-
Ils peuvent être en lecture simple ou en lecture/écriture
Suivant le support, ils sont plus ou moins durables (étiquette papier...) mais les informations contenues sont garanties 10 ans, certains tags sont garantis 200 ans (qui ira se plaindre?).
Certains jetons NFC (enrobés de caoutchouc) servent dans les laveries industrielles et passent dans divers produits de lavages et de décapage, sans broncher.
-
Les tags se vendent sous différentes formes:
- en rouleau de sticker papiers de différentes tailles, des stickers vinyles
- sous forme de jetons plastifiés ou caoutchoutés
- de cartes
- de porte-clefs
- de bracelets à usages uniques, etc.
-
Certains tags sont en lecture seule (ils sont "remplis" d'infos lors de leur fabrication), d'autres sont en lectures et écriture. Certains tags permettent de protéger en écriture des zones...
Je vous renvoie pour plus d'infos sur les cinq différents types de tags sur un autre article (j'ai pas le lien)
- en fonction du format, du matériaux, et du type (cf article), du nombre, le prix varie de qlq centimes l'unité, à qlq euros. J'ai acheté 10 NTGA210 pour 1 euros, 10 NTAG213 pour
{width:400px}
Qu'est-ce que l'api Web-NFC
Web NFC offre aux sites la possibilité de lire et d'écrire sur les tags NFC lorsqu'ils sont à proximité immédiate de l'appareil de l'utilisateur (généralement 5 à 10 cm, 2 à 4 pouces). La portée actuelle est limitée au NFC Data Exchange Format (NDEF), un format de message binaire, léger qui fonctionne sur différents formats de balises.
L'API WebNFC n'est pas sécurisée pour l'authenticité ou l'intégrité.
Les balises NDEF sont comme des notes post-it, tout le monde peut les lire et à moins qu'elles ne soient en lecture seule, n'importe qui peut les écrire.
Dans cette version de l'API, les technologies NFC propriétaires utilisées dans les clés d'hôtel, les passeports électroniques, etc. ne sont pas prises en charge. La gestion automatique du contenu NFC, comme l'ouverture ou l'enregistrement de fichiers, la passation d'appels ou l'enregistrement de contacts (avec des «affiches intelligentes»), ou la connexion à des réseaux WiFi ou Bluetooth (transfert NFC) n'est pas prise en charge.
Web NFC ne gère pas le chiffrement ou la signature automatique du contenu NFC (avec les signatures NDEF): la gestion de l'infrastructure PKI (Public Key Infrastructure - Infrastructure par Clé Publique) est laissée aux applications propriétaires.
(NdR: je pense que c'est pour des raisons de sécurité. Si on peut casser la sécu des cartes bancaires, des pass de transport, avec des navigateurs, les banques et les régies de transport ne vont pas être contentes... Et je vous parle pas des portes d'hotel et des portes ailleurs protégées par badge NFC...)
Exemples de sites pouvant utiliser Web NFC:
- Les musées et les galeries d'art peuvent afficher des informations supplémentaires sur un écran lorsque l'utilisateur pose son appareil contre une carte NFC à proximité de/dans l'exposition.
- proposer un contenu augmenté à une édition papier (il suffit de coller un tag sur votre livret)
- renvoyer à votre site avec une carte de visite taguée.
- Les sites de gestion des stocks peuvent lire ou écrire des données dans la balise NFC d'un conteneur pour mettre à jour les informations sur son contenu.
- Les sites de conférence peuvent l'utiliser pour analyser les badges NFC pendant l'événement.
- Enregistrer les progressions d'un jeu vidéo dans un tag.
- une affiche de spectacle, pourrait n'afficher que les informations primordiales tel que le thème et d'y ajouter un tag permettant aux personnes intéressées d'accéder à plus de détails comme le programme détaillé, les tarifs…
- Un autre exemple serait l'utilisation des tags dans les transports. Les opérateurs pourraient s'en servir pour transmettre des informations aux usagers, comme une fermeture provisoire d'une station ou autres
Utilisation de Web NFC
L'Activation du support pendant la phase d'"essai d'origine" (origin trial) Web NFC sera disponible sur Android dans Chrome 81. La trial devrait se terminer dans Chrome 84.
Mon GalaxyS6 dispose de Chrome 80, et c'est fonctionnel en activant le flag (voir plus bas)
L'api n'a de sens que sur smartphone puisque ce sont quasiment les seules machines qui disposent du composant NFC pour lire ou écrire des tags. Pour le moment la technologie n'est accessible que sur Android.
Apple est restée très prudente sur le déploiement de cette techno, on pourrait aussi dire: qu'Apple traine les pieds sur les technos qui ne sont pas de sa propre initiative. Depuis iOS 13 (2019), La Pomme a entre-ouvert l'usage du NFC sur ses mobiles mais via son langage et ses api natives, rien pour le moment dans un navigateur, et d'après Google ne semble pas intéressé par l'api. Pour rappel, le NFC sert aussi sur les passes de transport Navigo, Korrigo, Pastel et pour le paiement sans contact, dont Apple Pay par Apple pour les produits Apple (écosystème fermé? Ou joie d'être bien protégé) via l'enclave sécurisée de la puce T2.
Activation via les origin trial
Les origin trial vous permettent d'essayer de nouvelles fonctionnalités et de fournir des commentaires sur leur convivialité, leur caractère pratique et leur efficacité.
Elles fonctionnent avec un jeton (token) qu'on obtient en s'enregistrant sur la page d'inscription et en le plaçant dans l'entête de page via la balise .
Pour plus d'informations, consultez le Origin Trials Guide for Web Developers.
Activation via chrome: // flags
Pour expérimenter Web NFC localement sur Android, sans jeton (token) origine trial, activez le drapeau experimental-web-platform-features dans chrome: // flags.
ressources utilisées
Interact with NFC devices [...] Reading and writing to NFC tags.
Web NFC Sample, le même exemple web-nfc (mais avec la page html)
Le picto NFC pris sur materiel.io