NFC (Near Field Communication) est une technologie de communication sans fil à courte portée permettant l'échange de données entre appareils à une distance allant jusqu'à 10 centimètres. Le NFC est utilisé dans les téléphones mobiles pour les paiements sans contact, le transfert de fichiers et la lecture d'étiquettes. Selon Grand View Research, 2025, le marché des puces NFC a atteint 34,5 milliards de dollars grâce à l'adoption massive du NFC dans les smartphones et l'infrastructure de paiement dans le monde entier.
Points clés
NFC (Near Field Communication) est une norme de transmission de données sans fil à courte portée fonctionnant à 13,56 MHz. La technologie est basée sur la RFID (Identification par Radiofréquence) et est rétrocompatible avec l'ISO 14444 — la norme pour les cartes intelligentes sans contact. La vitesse de transfert des données est de 106, 212 ou 424 kbps selon le mode sélectionné.
Contrairement au Bluetooth, le NFC ne nécessite pas de procédure d'appairage — les appareils échangent des données instantanément lorsqu'ils sont rapprochés l'un de l'autre. La distance de communication maximale est de 10 cm, ce qui offre une protection naturelle contre l'interception. Selon le NFC Forum, la technologie est prise en charge par plus de 3 milliards d'appareils dans le monde, et ce nombre augmente de 15–20% par an.
La norme NFC est développée par le NFC Forum, un consortium fondé par Sony, Philips et Nokia en 2004. Le premier téléphone avec NFC (Nokia 6131) est sorti en 2006, mais l'adoption massive a commencé après la sortie d'Android 4.0 (Ice Cream Sandwich) en 2011 et le lancement d'Apple Pay en 2014. Aujourd'hui, presque tous les smartphones à plus de 150 dollars prennent en charge le NFC.
Le contrôleur NFC d'un smartphone prend en charge trois modes de fonctionnement, chacun conçu pour sa propre classe de tâches. Le basculement entre les modes se produit automatiquement en fonction du type d'appareil qui interagit.
Dans ce mode, le téléphone agit comme un lecteur actif d'étiquettes NFC. Lorsqu'on s'approche d'une étiquette NFC — autocollant, bracelet ou affiche — le téléphone lit les données de la mémoire de l'étiquette. Les étiquettes contiennent de 48 octets à 32 Ko de mémoire et stockent des URL, du texte ou des commandes. Android Beam (remplacé par Nearby Share) utilisait ce mode pour transférer des liens et des contacts.
Deux appareils NFC échangent des données directement. Un appareil agit comme initiateur, le second comme cible. La norme LLCP (Logical Link Control Protocol) gère la connexion, et SNEP (Simple NDEF Exchange Protocol) gère le format des données. Le mode P2P est utilisé pour le transfert rapide de contacts, de liens ou pour initier un appairage Bluetooth. La vitesse en mode P2P atteint 424 kbps.
Le téléphone émule une carte intelligente sans contact — une carte de paiement, un pass de transport ou un badge d'accès. Un appareil NFC externe (terminal POS, tourniquet) interagit avec le téléphone de la même manière qu'avec une carte en plastique ordinaire. Ce mode est utilisé dans Apple Pay, Google Pay et Samsung Pay. La sécurité des paiements est assurée par Secure Element — une puce isolée qui stocke les données des cartes de paiement.
| Mode | Exemple d'utilisation | Nécessite Secure Element |
|---|---|---|
| Reader/Writer | Lecture d'une étiquette NFC avec URL | Non |
| Peer-to-Peer | Transfert de contact entre téléphones | Non |
| Card Emulation | Paiement via Google Pay | Oui |
Le NFC et le Bluetooth LE (Low Energy) sont deux technologies de communication à courte portée souvent comparées. NFC gagne en vitesse d'établissement de connexion (0,1 s) et ne nécessite pas d'appairage, mais est inférieur en vitesse de transfert de données et en portée. Bluetooth LE nécessite un appairage (2–5 secondes) mais offre des vitesses allant jusqu'à 2 Mbps et une portée allant jusqu'à 100 mètres.
En pratique, le NFC et le Bluetooth ne sont pas en concurrence mais se complètent. Le NFC est utilisé pour l'initiation de connexion (handover) : il suffit d'approcher le téléphone de l'appareil pour que le NFC transmette les paramètres de connexion Bluetooth (NFC Bluetooth Handover). Ensuite, les appareils passent au Bluetooth pour le transfert rapide de fichiers ou le flux audio.
Le module NFC d'un smartphone se compose de trois composants : le contrôleur NFC, l'antenne NFC et Secure Element (pour les opérations sécurisées). Le contrôleur NFC est une puce séparée ou une partie d'un module de communication combiné (NFC + Bluetooth + Wi-Fi, par exemple WCN3990 de Qualcomm). Il gère l'interface radio et les protocoles d'échange.
L'antenne NFC est une bobine imprimée sur un substrat flexible (FPC) ou sur le boîtier de la batterie. La taille de l'antenne est de 20×30 mm, le nombre de spires est de 3–5. L'antenne se connecte au contrôleur via un circuit d'adaptation accordé sur la fréquence de 13,56 MHz. Selon NXP Semiconductors, un fonctionnement efficace de l'antenne nécessite un calcul précis de l'inductance et du facteur de qualité.
Secure Element (eSE) est une puce cryptographique séparée (NXP P71, Samsung S3K) ou une zone isolée dans le SoC (iSE — Secure Element intégré). Il stocke les données des cartes de paiement et effectue des opérations cryptographiques pour HCE (Host Card Emulation). Secure Element est isolé d'Android/iOS : seul le contrôleur NFC y a accès via des commandes APDU sur le bus SWP (Single Wire Protocol).
// Exemple de commande APDU pour interagir avec Secure Element
const uint8_t SELECT_APDU[] = {
0x00, 0xA4, 0x04, 0x00, // CLA, INS, P1, P2
0x07, // longueur des données (7 octets)
0xA0, 0x00, 0x00, 0x00, // RID — enregistré
0x03, 0x10, 0x10, // PIX — identifiant d'application
0x00 // Le — longueur de réponse attendue
};
// Envoi de commande via le contrôleur NFC à Secure Element
NfcStatus nfcStatus = sendApdu(SELECT_APDU, sizeof(SELECT_APDU));
Le NFC dans le téléphone est utilisé dans quatre scénarios principaux : paiement sans contact, transport, accès aux objets et automatisation des tâches. L'application la plus massive est les systèmes de paiement : Apple Pay, Google Pay et Samsung Pay. Ils utilisent le mode d'émulation de carte avec HCE (Host Card Emulation) ou Secure Element pour émuler une carte bancaire.
Les systèmes de transport du monde entier (Métro de Moscou, London Tube, New York MTA) acceptent les paiements NFC via les portefeuilles mobiles. Au Japon, la technologie FeliCa (Sony) basée sur le NFC est utilisée pour le transport, les achats et l'accès aux bureaux depuis 2004. Les smartphones avec puce FeliCa, comme les iPhones pour le marché japonais, prennent en charge Suica et PASMO.
Les étiquettes NFC permettent d'automatiser les scénarios de « maison intelligente » : approchez le téléphone d'une étiquette près du lit — l'alarme se déclenche et les notifications se désactivent. Sous Android, cela est implémenté via Android Beam / NFC Tools, sous iOS — via Shortcuts et les déclencheurs NFC. Certains smartphones utilisent également le NFC pour la charge rapide — la norme Qi utilise le NFC pour identifier le chargeur.
Android fournit une API pour le traitement des étiquettes NFC via le système d'intents. Lorsqu'une étiquette est approchée du téléphone, le système crée un intent avec l'étiquette, et l'application reçoit les données au format NDEF (NFC Data Exchange Format). Vous trouverez ci-dessous un exemple d'Activity qui lit une URL ou un texte à partir d'une étiquette NFC.
class NfcReaderActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_nfc)
handleNfcIntent(intent)
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
handleNfcIntent(intent)
}
private fun handleNfcIntent(intent: Intent) {
if (intent.action == NfcAdapter.ACTION_NDEF_DISCOVERED) {
val rawMessages = intent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
rawMessages?.forEach { rawMsg ->
val msg = rawMsg as NdefMessage
msg.records.forEach { record ->
val payload = String(record.payload)
println("NFC data: $payload")
}
}
}
}
}
Pour fonctionner avec NFC, il est nécessaire de déclarer l'autorisation android.permission.NFC dans le manifeste et de configurer un intent-filter pour ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED ou ACTION_TAG_DISCOVERED. Android filtre automatiquement les étiquettes NFC par type d'enregistrement NDEF — cela permet à l'application de répondre uniquement aux étiquettes avec un type MIME ou un préfixe d'URL spécifique. Notez que l'antenne NFC se trouve généralement dans la partie supérieure du panneau arrière du téléphone — pour lire une étiquette, approchez le haut du téléphone de l'étiquette.
Questions fréquentes
Oui, pour un paiement sans contact, le NFC doit être activé dans les paramètres du téléphone. Google Pay active automatiquement le NFC lorsqu'on s'approche d'un terminal, même si l'écran est éteint (sur les appareils avec Android 10+ et Google Wallet installé). Pour Apple Pay, le NFC s'active automatiquement et ne nécessite pas d'activation manuelle.
La portée standard du NFC est jusqu'à 10 centimètres. En pratique, pour une connexion fiable, il est recommandé d'approcher le téléphone à une distance de 2–4 cm du lecteur. La portée plus courte rend le NFC plus sûr que le Bluetooth — un attaquant ne peut pas lire les données à distance.
Théoriquement, une étiquette NFC peut contenir un lien vers un site malveillant, mais cela nécessite une action de l'utilisateur — cliquer sur le lien. L'infection automatique via le NFC est impossible car la technologie ne prend pas en charge l'exécution de code ou l'installation de fichiers sans confirmation. Les systèmes d'exploitation Android et iOS bloquent les actions NFC potentiellement dangereuses.
Sur Android : ouvrez Paramètres → Connexions → NFC (ou recherchez «NFC» dans les paramètres). Sur iPhone : tous les modèles à partir de l'iPhone 6 prennent en charge le NFC. Certains fabricants marquent le boîtier ou la boîte avec le symbole NFC. Vous pouvez également utiliser l'application NFC Check du Play Market pour le diagnostic.
Le NFC consomme de l'énergie uniquement en mode actif — pendant la transmission de données. En mode veille, le contrôleur NFC ne consomme pratiquement pas de charge (0,01 mA). Le NFC activé n'affecte pas l'autonomie de la batterie du téléphone. Cela le distingue du Bluetooth, qui consomme de l'énergie même en mode veille.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi