L’obsolescence programmée et le capteur Nike+iPod

Le capteur Nike+iPod, lancé en 2006, semble être un des rares véritables cas d’obsolescence programmées. Car oui, ça existe. Petite démonstration en mode journalisme total.

Depuis très longtemps, un truc m’énerve : les références continuelles à l’obsolescence programmée (bon, il y a aussi les gens qui disent la Game Boy). Beaucoup de gens semblent persuadés que les constructeurs font des appareils qui tombent en panne un peu après la fin de la garantie, alors que la principale raison des pannes vient de l’utilisation de composants bas de gamme. Par définition, l’obsolescence programmée implique une programmation, une action délibéré. Or quand votre téléviseur tombe en panne, ce n’est pas délibéré même si certains choix techniques et financiers (surtout) impliquent une durée de vie assez faible. De même, un iPhone qui n’accepte plus une application récente (par exemple) n’est pas un exemple d’obsolescence programmée, mais de l’obsolescence technologique. Cette dernière reste d’ailleurs fortement liée à la mode. Sur ce blog, j’utilise régulièrement des machines obsolètes qui fonctionnent et peuvent tout de même fournir globalement les mêmes services qu’il y quelques années, mais nos attentes évoluent, elles. Ne criez pas à l’obsolescence programmée sans raison, donc.

Pourtant, il existe de rares exemples d’obsolescence programmée. Pour moi, de l’obsolescence programmée implique une panne délibérée qui empêche le fonctionnement de l’appareil pour forcer au renouvellement. Le cas du capteur Nike+iPod est du coup parfaitement représentatif du problème. Pour résumer la suite, le capteur utilise une pile interne qui n’est pas remplaçable et le logiciel de l’iPhone considère a priori que le capteur ne fonctionne plus au-delà de 1 000 heure de fonctionnement, même s’il fonctionne encore parfaitement.

Le capteur de Nike et mon récepteur

Le capteur Nike+iPod

Lancé en 2006 avec Nike, ce capteur se place dans des chaussures – idéalement Nike, des modèles avec un emplacement dédié existent – et sert à mesurer le nombre de pas parcourus. A l’origine, le capteur nécessitait un récepteur à placer dans le connecteur dock d’un iPod nano, mais Apple a proposé une compatibilité directe dans les iPod touch de seconde génération et dans les iPhone 3GS (à partir d’iOS 2, donc). La page d’Apple ne l’indique pas mais Nike le fait : le capteur ne fonctionne pas sur les iPhone 6 sous iOS 8 ni sur les appareils sous iOS 9 (et plus). Techniquement, en interne, il contient une pile 3 V classique (CR2032) et une puce qui effectue la transmission des données dans la bande des 2,4 GHz, celle du Bluetooth et du Wi-Fi.

L’obsolescence du capteur

Le capteur contient donc une pile, et Apple n’indique pas la durée de vie de celle-ci. La société indique juste qu’il faut racheter un capteur quand elle est vide, étant donné qu’elle n’est pas remplaçable officiellement. Nike indique que la durée de vie peut atteindre 1 000 heures, une valeur qui n’a pas été choisie au hasard.

Ce qui va suivre est empirique, basé sur des tests et sur les travaux de Dmitry Grinberg. Je n’ai malheureusement pas les compétences pour vérifier directement dans le code de l’application iPhone comme l’a fait Dmitry. Si quelqu’un est capable de comprendre du code ARM désassemblé, ça m’intéresse. Certains m’ont proposé sur les réseaux sociaux de porter plainte contre Apple, mais ça me semble impossible : je n’ai que des preuves indirectes sur un seul capteur.

Concrètement, selon Dmitry, l’application iOS considère que la batterie est vide après 1 000 heures de fonctionnement. De ce que j’ai pu vérifier, c’est le cas avec un iPod Touch de 4e génération et un iPhone 3GS. Avec un iPod nano de seconde génération, l’application affiche un message qui indique « Batterie faible » mais le capteur continue à fonctionner. Pourquoi 1 000 heures ? Je suppose que la moyenne d’utilisation sur la pile interne est à peu près de cette durée, une valeur assez élevée dans la pratique : ça représente 1 heure de course par jour pendant environ 3 ans. A noter que j’ai aussi trouvé quelques exemples de personnes dont l’iPod indique que la batterie est bientôt vide bien avant la limite, ainsi que pas mal d’exemples ou le message en question apparaît quand la batterie a été changée manuellement.

Comment le vérifier ? J’utilise un adaptateur USB vers dock qui se base sur le lien série présent dans le connecteur. Concrètement, il s’agit d’un adaptateur USB vers série qui permet de lire les données envoyées par le capteur avec le récepteur officiel pour iPod nano. Ensuite, un programme en python permet de lire les données en temps réel et un autre logiciel en C permet de transformer les informations en données lisibles. Le capteur envoie son nombre d’heures en fonctionnement, le nombre de pas en marchant, le nombre de pas en courant et les distances en miles dans les deux cas.

Les données brutes


Les données analysées

Ensuite, j’ai fait un test simple et très long : atteindre 1 000 heures de fonctionnement. Je me suis promené pendant presque deux ans avec le capteur sur une paire de chaussures. Comme je ne suis pas toujours en chaussures chez moi et que je ne bouge pas énormément dans mon métier, il a fallu longtemps pour atteindre la limite.

Ce que ça donne Avant d’atteindre 1 000 heures, l’iPod touch et l’iPhone détectaient le capteur en quelques secondes et l’iPod nano l’acceptait sans soucis (même à 998 heures). Après 1 000 heures (1 003 au moment où j’écris ces lignes) mon adaptateur lit encore parfaitement les données du capteur, mais ni l’iPhone ni l’iPod ne le détectent. L’iPod nano, lui, indique que la batterie est vide. J’ai testé avec un second capteur, neuf, et il est parfaitement détecté en quelques secondes.

Après 1 000 heures, il devient indétectable


l’iPod nano indique « batterie faible »

Au conditionnel

Je ne suis pas ingénieur, je n’ai pas accès au code source de l’application iOS et pas les compétences pour désassembler (plus exactement, pour comprendre le résultat). Je me suis fié à ce qu’indique Dmitry Grinberg et j’ai effectué des tests. Test qui semblent confirmer que le capteur est désactivé par Apple de façon délibérée à un moment précis, 1 000 heures dans le cas présent. Etant donné que la batterie du capteur ne peut pas être remplacée, le capteur devient obsolète après 1 000 heures. Dans la pratique, ça ressemble furieusement à de l’obsolescence programmée, donc.

Enfin, si quelqu’un a une explication plus concrète sur cette limite, ou une explication de sa présence, ça m’intéresse.