Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierRaspbian-France

Article introductif 2/2, comment fonctionne l’analyse, la recherche et la reconnaissance d’empreinte digitale ?

29 décembre 2022 à 13:11
Analyse d'une empreinte digitale.

Petit rappel, cet article est le second de notre série introductive sur la lecture d’empreinte digitale et fait suite à notre premier article intitulé un lecteur d’empreintes digitales, comment ça marche ? Nous vous invitons à le lire avant celui-ci pour une compréhension optimale.

Le troisième article, cette fois-ci sous la forme d’un tutoriel plus technique, porte quand à lui sur l’utilisation du lecteur d’empreintes R307 avec le Raspberry Pi. Cette introduction faite, passons à l’article !

Maintenant que nous avons fait le tour des différentes technologies pour l’acquisition des empreintes, il nous reste à comprendre comment il est possible d’analyser et de reconnaître deux empreintes similaires.

À priori, on pourrait imaginer que la comparaison de deux empreintes est une tâche très simple. Après tout, ne suffit-il pas de superposer les deux images pour voir si elles correspondent ? Et bien en fait non, dans un monde parfait dans lequel chaque capture d’image serait parfaite et ou chaque empreinte resterait toujours la même, cela fonctionnerait effectivement, mais ce n’est hélas pas comme ça que les choses se passent !

Comparaison de deux empreintes
L’analyse d’une empreinte digitale, ne consiste pas simplement à superposer deux images. En effet, il s’agit ici de la même empreinte, et pourtant même si elles se ressemblent les deux images sont en fait complètement différentes.
Source : Le Hong, Hai & Nguyễn, Hoá & Nguyen, Tri-Thanh. (2016). A Complete Fingerprint Matching Algorithm on GPU for a Large Scale Identification System.

Lors de la capture d’une empreinte, celle-ci n’est jamais parfaite, l’empreinte n’est jamais capturée dans son intégralité, la capture peut avoir quelques défauts, le capteur (ou même l’empreinte elle-même) peut être sale. L’empreinte peut aussi avoir un peu changé (une coupure, des travaux manuels qui ont abîmé quelques sillons, etc.). Sans compter que pour que l’image soit toujours la même, il faudrait que la pression appliquée par l’utilisateur lors de la lecture de l’empreinte soit, elle aussi, toujours exactement la même.

Vous l’aurez compris, la tâche est plus complexe que prévue, et comparer deux empreintes, ne revient en fait pas à comparer deux images telles quelles. En fait, la reconnaissance d’empreinte n’est absolument pas comme un mot de passe pour lequel on cherche une correspondance exacte. Dans le cas de la reconnaissance d’empreinte, tout est une question de taux de ressemblance, de probabilité, de motifs et de points de repères.

Le premier niveau de reconnaissance, le motif des empreintes.

Dans la reconnaissance d’empreinte, comme dans beaucoup de domaines liés à l’informatique d’ailleurs, on parle en fait de plusieurs niveaux de reconnaissance, chaque niveau supplémentaire permettant une correspondance plus précise, mais généralement aussi plus complexe.

Au début de cet article nous avons expliqué qu’une empreinte était en fait un ensemble de sillons arrangés généralement selon l’un de ces trois motifs, arche, spirale ou boucle, vous vous souvenez ? Et bien ce type de motif, c’est déjà un premier niveau de reconnaissance d’une empreinte digitale !

Le niveau le plus simple de reconnaissance consiste à extraire le point central autour duquel se construit l’empreinte, puis à en extraire le motif.

Alors évidement, à première vue ce niveau 1 ne parait pas bien précis. Avec un simple calcul on en déduit que chaque empreinte à au minimum 1 chance sur 20 (5%, le pourcentage de motif « arche ») de correspondre à n’importe quelle autre empreinte. Et c’est absolument vrai, mais n’allez pas pensez pour autant que ce niveau 1 de la reconnaissance est inutile, loin de là !

Bien sûr, si vous avez déjà deux empreintes connues et que vous souhaitez simplement les comparer, cela n’a pas beaucoup d’intérêt, le taux d’erreur serait beaucoup trop important. Mais maintenant, imaginez la situation suivante, vous avez d’un côté une empreinte appartenant à une personne inconnue, par exemple une empreinte retrouvée sur une scène de crime, et de l’autre une base de données de plusieurs centaines de milliers d’empreintes, par exemple un registre de police. Votre objectif, retrouver dans cette base de données la personne à laquelle appartient cette empreinte.

Et bien, d’un seul coup, ce niveau 1 devient très intéressant ! En effet, déterminer le type d’empreinte est un travail simple, très rapide, et dont le résultat peut sans problème être calculé dès l’enregistrement de l’empreinte puis stocké directement à côté de l’empreinte de base sans devoir être recalculée à chaque fois. Il s’agit donc d’un critère sur lequel le travail de tri prendra moins d’une seconde pour le dernier des ordinateurs du dernier des commissariats du dernier village du bout du monde. À une époque, il s’agit même d’un travail de tri qui aurait été possible manuellement par une petite équipe de moustachus armés d’une machine à café en ordre de marche !

Hors, ce premier tri vous permet déjà d’éliminer de 40% à 95% des suspects, vous libérant le temps nécessaire à la réalisation des vérifications plus poussées du niveau suivant !

Par ailleurs, ce niveau 1 ne se résume pas seulement au motif, mais également à son orientation, au doigt ciblé, etc ! Oui, 5% des empreintes ont un motif d’arche, mais combien d’empreintes ont un motif arche, penché de 12° dans le sens horaire, sur le pouce gauche ? Et si vous possédez plusieurs empreintes à chercher en même temps, la liste se réduit encore !

Je ne crois pas que les lecteurs d’empreinte numérique aient jamais utilisé le niveau 1 de la reconnaissance comme un critère de reconnaissance suffisant, et si cela a jamais été le cas, ça ne l’est plus depuis longtemps. Mais le niveau 1 reste employé, non pas comme un moyen de reconnaissance formel, mais bien comme un système de tri ultra rapide !

Le deuxième niveau de reconnaissance, les minuties.

Quand on parle de reconnaissance d’empreinte, on parle en fait généralement de ce niveau 2, lequel se base sur l’analyse de ce que l’on appelle des « minuties ».

Nous l’avons dit, une empreinte c’est un ensemble de sillons arrangés selon un schéma. En théorie, une empreinte digitale, ça devrait donc ressembler à l’image ci-dessous à gauche, un ensemble de lignes bien parallèles suivant un schéma parfait. Dans les faits, une empreinte digitale, ça ressemble plutôt à l’image de droite.

Fausse empreinte et vrai empreinte.
À gauche une empreinte théorique, sans défaut, à droite une vraie empreinte.

Certains sillons se rejoignent, d’autres se créent au milieu de nul part, certains s’arrêtent, il y a des coupures, des sillons qui bifurquent, etc. Au final on compte au moins 11 types de « défauts » différents et notables, parmi lesquels les plus remarquables sont les bifurcations (et leurs variantes), les fins et débuts de crêtes, les îlots, et les coupures de crêtes.

Représentation (un peu discutable, je l’admet) des différents types de minuties.

Tous ces défauts sont appelés des « minuties », et ce sont ces minuties qui vont nous servir à identifier une empreinte. Pour cela, on va noter l’emplacement de toutes les minuties visibles dans notre empreinte, leur type, leur orientation, et on va dresser une sorte de carte de leur positionnement relatif les unes par rapport aux autres.

Par exemple, on pourrait dire que la minutie A, est une interruption de crête, à un angle de 12°, et que la minutie B est un îlot de 5 pixels, à un angle de 17°, et que la minutie B est située à 25 pixels sur une ligne à 32° au dessus de la minutie A. Il s’agit ici d’une méthode de représentation relativement simple, mais des méthodes beaucoup plus poussées sont utilisées et font intervenir des notions de mathématiques et de géométrie que je ne maîtrise absolument pas, si le sujet vous intéresse, voici un exemple de papier scientifique sur le sujet.

Exemple de minuties vue par un logiciel.
De gauche à droite, l’image de base, l’image avec l’extraction des sillons, l’image avec uniquement les crêtes, et enfin l’emplacement de différentes minuties.

Source : Minutiae-based Fingerprint Extraction and Recognition, Naser Zaeri, 2010.

Au moment de comparer une empreinte, ce sont donc ces minuties qui vont êtres extraites et analysées. Comme nous l’avons dit plus tôt, l’image d’une empreinte n’est jamais une copie parfaite de celle-ci, et de nombreux défauts peuvent perturber l’image. C’est pour cette raison que les minuties sont stockées comme des références les unes par rapport aux autres, avec un niveau élevé de redondance. De façon à pouvoir être reconnues, non pas dans un cadre toujours identique, mais bien les unes par rapport aux autres, peu importe le cadre.

Par ailleurs, l’algorithme de correspondance ne va pas chercher une correspondance de toutes les minuties, ni une correspondance totale, car l’image d’une empreinte digitale étant toujours incomplète et de qualité variable, certaines minuties seront toujours manquantes. L’algorithme va donc plutôt chercher une correspondance suffisamment bonne et sur un nombre suffisamment élevé de minuties pour calculer un score de fiabilité quand à la correspondance des deux empreintes.

Un troisième niveau, plus rarement utilisé.

En plus du deuxième niveau, un troisième niveau de reconnaissance est possible. Celui-ci se base majoritairement sur la détection des pores de la peau, ainsi que les formes individuelles des crêtes, leur taille, leur orientation.

Exemple de pores dans une empreinte digitale.
Différents types de minuties, avec à droite des pores, minuties de niveau 3.
Source : Zhang et al., 2011

Ce niveau de détection reste aujourd’hui relativement rare, notamment car il demande des capteurs de très haute qualité, des empreintes très propres, etc., parce-que que le niveau 2 reste suffisant pour la vaste majorité des usages, et parce qu’ajouter davantage de minuties augmente de façon finalement peu utile l’espace nécessaire au stockage des données.

Un dernier défi, le stockage et la recherche des empreintes.

Si nous savons maintenant comment une empreinte est analysée afin de pouvoir être comparée, il reste un défi de taille, le stockage de ces empreintes. Là encore, on pourrait se dire que la solution est simple, il nous suffit de stocker les photos originales des empreintes.

Effectivement, la chose est faisable, après tout, stocker les empreintes de 10 millions de personnes, à raison de 10 empreintes par personnes, et pour des fichiers de 256*256 pixels, cela représente, environ 3 Ko par empreinte, sans aucune compression, c’est-à-dire 30 Ko par personne, soit 300 Go, un petit disque dur. Il serait donc tout à fait possible sur le plan technique de stocker toutes ces images, et c’est d’ailleurs à priori ce que fait la justice.

Seulement, tout l’intérêt d’une base d’empreintes ce n’est pas simplement de stocker les empreintes, mais bien de pouvoir rechercher des empreintes à l’intérieur de cette base ! Si nous stockons uniquement nos empreintes sous forme de photos, nous sommes obligés de refaire le processus de calcul pour chaque image de la base à chaque recherche d’empreinte. Autant vous le dire tout de suite, ce serait très long et très cher.

Par ailleurs, si on peut espérer (on a le droit de rêver) qu’un état est capable, dans un cadre centralisé, de stocker de façon sécurisée ce type de données hautement sensibles sur le plan de la vie privée, qu’en est-il pour des entreprises privées, toujours prêtes à vendre nos données personnelles, et pour des objets hautement décentralisés et par nature dérobables physiquement, comme les téléphones ?

Photo d'Edward Snowden
Personnellement, je ne ferais pas non plus tellement confiance à l’état pour utiliser et stocker correctement nos données…

Pour ces différentes raisons, la plupart du temps les empreintes ne sont en fait pas (ou pas uniquement) stockées sous forme d’images, mais sous forme de signature, généralement désignée comme un « template ». Cette signature contient habituellement un certain nombre de minuties (souvent uniquement les X plus importantes, ceci pour réduire le poids de la signature), lesquelles sont représentées selon leurs différentes propriétés selon un encodage adapté. Il peut exister différents formats de template, avec certains formats propriétaires, mais globalement et malgré quelques critiques, la norme ISO/IEC 19794-2 semble être ce que nous avons de plus proche d’un standard reconnu en la matière.

Grâce à cette représentation simplifiée, l’ensemble du traitement relatif à l’extraction des données est effectué une seule fois puis stocké, ne laissant plus à faire que le travail de comparaison et de calcul du taux de correspondance. Ainsi, en combinant des techniques de recherche rapide de niveau 1 et en stockant une partie du travail de niveau 2, il devient possible de faire des recherches dans de grands volumes de données dans des temps qui restent raisonnables.

Par ailleurs, cette forme de stockage permet de limiter les risques en cas de vol des données, car même s’il est théoriquement possible de recréer une empreinte qui produira une signature valide à partir d’une signature donnée, il semble pour l’heure impossible de reconstruire une empreinte parfaitement similaire à l’originale à partir de cette signature par essence incomplète.

Représentation des données relatives à une minutie.
Extraction des données d’une minutie.

De nombreux lecteurs d’empreintes sont capables d’effectuer directement ces traitements pour ne transmettre à l’ordinateur connecté que le template final, voir de sauvegarder en interne les templates et d’effectuer la recherche de correspondances directement en interne.

Mais au final, les empreintes digitales sont-elles vraiment fiables ?

Comme nous l’avons vu, contrairement à une vérification par mot de passe pour laquelle on obtient une réponse booléenne, avec une comparaison qui sera soit vraie, soit fausse, une empreinte retournera plutôt une probabilité, un taux de confiance quand à la correspondance de deux empreintes.

En matière d’empreinte et de traitement numérique, il n’existe jamais de certitude absolue, il nous appartient de fixer un seuil que nous considérerons comme adapté selon nos besoins. Ce seuil sera nécessairement un compromis entre le niveau de certitude, le temps de traitement et le taux de faux négatifs, c’est à dire d’empreintes qui auraient du correspondre, mais sont considérées comme différentes par le lecteur, par exemple en raisons de défauts dans l’image capturée.

Ce seuil peut et dois donc varier selon les besoins, il est la plupart du temps adaptable soit par l’utilisateur soit par le constructeur de l’appareil.

Déverrouiller son téléphone sous la pluie, une de ces choses si simples qui vous donnent envie de voir le monde brûler dans des hurlements…

Pour déverrouiller votre téléphone ou votre porte de maison, certes, la sécurité est importante. Mais, si cela vous permet d’ouvrir sous la pluie avec le doigt un peu humide, il est préférable que votre empreinte soit considérée comme valide avec seulement 7 points correspondants et risques de faux positif de 0.00001%, plutôt que de passer la nuit dehors avec un taux d’erreur 10 fois plus faible.

Pour qu’une empreinte soit valide dans une affaire criminelle en revanche, on peut estimer qu’une fiabilité très forte est la règle primordiale, quitte à utiliser une fiabilité plus faible lors des phases de recherches pour limiter la puissance de calcul nécessaire, et donc le temps de recherche, et faire un second examen par la suite.

En France, le système judiciaire considère qu’il faut 12 minuties suffisamment proches de l’originale pour déclarer que deux empreintes correspondent. Ce chiffre représente globalement assez bien la moyenne en Europe. Aux USA en revanche, la barre est fixée à 8. Enfin, les français se souviendront du cas dit du « faux Xavier Dupont de Ligonnès », quand un homme avait été arrêté à tort à Glasgow, les enquêteurs ayant détecté une concordance partielle de ses empreintes avec celles de l’homme en fuite. Les enquêteurs n’avaient en fait que 5 points de correspondance…

Par ailleurs, il est à noté que des attaques sur les lecteurs d’empreintes ont non seulement été théorisées, mais également démontrées et exploitées. Les capteurs les plus performants peuvent être dotés de contre-mesures de sécurité plus ou moins efficaces, mais oui, dans une certaine mesure, le truc de la colle qu’on voit dans les films fonctionne vraiment. Pour plus d’infos sur le sujet, je vous conseille l’excellente vidéo de Scilabus sur le sujet.

La vidéo de Scilabus sur le sujet est vraiment intéressante, d’ailleurs toutes les vidéos de Scilabus sont intéressantes.

Enfin, l’empreinte digitale souffre, en comparaison à un mot de passe de bonne qualité, de certains défauts, parmi lesquels on peut citer : l’impossibilité de changer son empreinte digitale (par exemple en cas de vol du fichier contenant l’empreinte originale) ; l’impossibilité de transmettre son empreinte digitale à une autre personne en cas de besoin ; la possible altération de l’empreinte digitale (par exemple en cas de blessure grave) ; l’existence physique de l’empreinte digitale qui permet sont utilisation illégitime par la contrainte ou la ruse.

J’espère que cet article vous aura intéressé et permis de mieux comprendre le processus complexe derrière la reconnaissance d’empreinte. Je vous retrouve dans quelques semaines pour le dernier article de notre série, avec cette fois un article plus technique pour apprendre à utiliser un lecteur d’empreinte digitale avec le Raspberry Pi. D’ici là soyez sage, et ne jouez pas avec la colle !

5/5 - (3 votes)

Lire l'article complet : Article introductif 2/2, comment fonctionne l’analyse, la recherche et la reconnaissance d’empreinte digitale ?

Article introductif 1/2, un lecteur d’empreinte digitale, comment ça marche ?

8 décembre 2022 à 08:15

Ces derniers temps, nous avons eu l’occasion de travailler un peu sur la reconnaissance d’empreinte digitale, et nous allons publier, dans les semaines qui viennent, un article sur l’utilisation d’un lecteur d’empreinte digitale avec le Raspberry Pi.

Lors de la rédaction de cet article plus technique, il nous est apparu intéressant de rédiger deux premiers articles introductifs et plus théoriques, ceci afin de présenter à nos lecteurs les plus curieux le fonctionnement d’un lecteur d’empreinte digitale, et plus particulièrement de répondre à deux questions : comment le lecteur peut-il lire l’empreinte digitale, et comment fait-il pour savoir si deux empreintes sont similaires ?

Cet article est donc le premier de cette introduction théorique au fonctionnement d’un lecteur d’empreintes digitales et sera suivi en temps voulu par un second article traitant de la reconnaissance des empreintes, avant de faire place à un troisième et dernier article plus technique, sur l’utilisation concrète d’un lecteur d’empreintes avec un Raspberry Pi.

Pour commencer, c’est quoi une empreinte digitale ?

Bon, à priori j’imagine que vous savez globalement ce qu’est une empreinte digitale… Mais prenons tout de même un moment pour définir quelques points.

Une empreinte digitale c’est ce motif que tous les êtres humains, sauf la reine d’Angleterre, qui comme chacun le sait est en fait un lézard reptilien mangeur d’enfant, et maladies ou mutations génétiques rares, ont au bout des doigts.

Évidemment tout le monde sait aujourd’hui que les empreintes digitales sont uniques à chaque individu (oui, même pour des jumeaux), et la chose est en fait connue depuis l’antiquité, puisqu’on retrouve des traces d’utilisation de l’empreinte digitale comme moyen de signature chez les scribes de Babylonien aux alentours de -5000 av. J.-C, et que la pratique s’est retrouvée tout au long des siècles.

Ancien sceau chinois en argile avec empreinte digitale.
Un sceau chinois avec une empreinte digitale.

Bien sûr aujourd’hui la notion d’empreinte digitale nous renvoie immédiatement à son utilisation dans le cadre de la police scientifique. En effet, depuis la fin du XIXème siècle les empreintes digitales ont été un moyen d’identification des individus dans le cadre des enquêtes de police, et ont longtemps été considérées, jusqu’à l’apparition des technologies de prélèvement, d’extraction et de séquençage de l’ADN, comme la preuve scientifique ultime de l’identité d’une personne, et potentiellement donc de son implication dans un crime ou délit.

Pour aller un peu plus loin et afin de pouvoir nous servir de ces termes par la suite, prenons encore un peu de temps pour décrire une empreinte digitale.

Une empreinte digitale est constituée de sillons, avec un partie creuse, la vallée, et une partie haute, la crête. Ces sillons sont généralement (95% des cas), arrangés selon 3 motifs distincts, la boucle (~60% des cas), la spirale (~30% des cas) et l’arche (~5% des cas). Un individu peut avoir 1, 2, 3, et parfois plus motifs répartis entre ses (normalement) 10 doigts.

3 exemples d'empreintes digitales, une de chaque type.
Les différents types d’empreintes.

Ces premiers points sur les empreintes digitales étant définis (nous aborderons certains points plus poussés quand nous nous intéresserons à la reconnaissance des empreintes), nous pouvons passer à la première question technique qui nous intéresse, le fonctionnement d’un lecteur d’empreinte digitale !

C’est quoi un lecteur d’empreinte digitale ?

Pour commencer, prenons quelques paragraphes pour expliquer ce qu’est un lecteur d’empreinte digitale et comment ça fonctionne.

Vision hollywoodienne du lecteur d'empreintes.
Hollywood est formel, un lecteur d’empreinte ça lis toujours toute la main, c’est toujours bleu, sauf quand c’est rouge, ça laisse l’image de la main après, et si possible ça fait des bruits de type rigolos et appartenant à la sous-catégorie dite du bip bip.

Un lecteur d’empreinte digitale, comme son nom l’indique, est un appareil électronique visant à lire, à capturer, une empreinte digitale. Concrètement, le rôle minimum de cet appareil est donc de retranscrire dans un format numérique lisible par un ordinateur, une empreinte digitale physique, c’est-à-dire de reproduire les crêtes et les vallées d’une empreinte.

Généralement ces modules proposent, en plus de la fonction d’acquisition décrite précédemment, d’autres fonctions telles que le traitement de l’image, le stockage des empreintes et, bien sûr, la comparaison d’empreintes digitales. Nous reviendrons sur ces différentes fonctions plus en détails plus tard.

Comment un lecteur d’empreinte digitale fonctionne-t-il et quelles sont les différentes technologies employées ?

Du point de vue technique, les lecteurs d’empreintes digitales visent tous, dans un premier temps, à générer une image (généralement en noir et blanc ou en nuances de gris) d’une empreinte digitale.

Si tous les lecteurs d’empreintes cherchent à générer une image, ils emploient en revanche pour cela des techniques différentes, qui ont toutes pour point commun de chercher à détecter les crêtes et les vallées de l’empreinte digitale afin de transformer le résultat final en une image.

Pour obtenir ce résultat, on peut distinguer au moins 5 grandes catégories de lecteurs.

Les lecteurs optiques

Les lecteurs optiques utilisent un système de caméra et d’éclairage pour prendre une photo de l’empreinte. La technique est finalement très semblable à ce que vous pouvez faire quand vous regardez vous-même vos empreintes.

Lecteur optique d'empreintes digitales.
Émission de lumière, vitre sur laquelle poser le doigt, ici on a typiquement affaire à un lecteur optique.

Grâce aux ombres et aux différences de couleurs entre les crêtes et les vallées de votre empreinte, particulièrement mises en contraste par un éclairage généralement à 45°, l’image capturée peut ensuite être analysée pour en extraire les motifs de votre empreinte.

C’est une technologie relativement historique et c’est probablement l’image que la plupart d’entre nous se faisait du lecteur d’empreinte (en dehors du cliché hollywoodien de la main bleu ou rouge sur un écran de contrôle holographique), avant que la technologie ne débarque dans nos smartphones.

C’est ce type de lecteur que nous utiliserons avec le Raspberry Pi, et plus précisément ce lecteur ci.

Les lecteurs capacitifs passifs

Les lecteurs capacitifs (passifs) utilisent la différence de capacité électrique entre la peau et l’air. La surface de ces lecteurs et composée de centaines ou de milliers de petites cellules électroniques capables de détecter la différence de capacité électrique des matériaux à leur contact. Quand vous pressez votre doigt contre la surface votre peau est en contact direct avec celle-ci sur les crêtes de votre empreinte, mais dans les vallées une fine couche d’air isole votre peau de la surface. En détectant la capacité de chaque cellule, le capteur peur alors reformer une image des sillons de votre empreinte !

Lecteur d'empreinte capacitif sur un téléphone.
Les lecteurs à l’arrière des téléphones sont typiquement des lecteurs capacitifs passifs.

C’est cette technologie qui est aujourd’hui massivement employée dans nos portables, ou sur les lecteurs de nos ordinateurs, tablettes, ou les systèmes de double authentification, car c’est la technologie qui offre la meilleure capacité de miniaturisation (au passage, n’hésitez pas à lire notre article sur les limites de la miniaturisation).

Les lecteurs à champs électriques, aussi appelés capacitifs actifs.

Ces lecteurs sont relativement comparables aux lecteurs capacitifs passifs, mais utilisent à la place un champs électrique qui parcours les couches internes de la peau, lesquelles présentent des conductances électriques variables, entraînant des variations dans le champs électrique des crêtes et des vallées de l’empreinte. Là encore des cellules capables de mesurer ces différences de champs forment la surface du capteur et permettent de retranscrire l’emprunte.

Ici on a visiblement affaire à un lecteur capacitif actif, avec la barre conductrice métallique en bas du capteur.

Cette technologie est aujourd’hui moins utilisée, car plus complexe et contraignante à mettre en œuvre que les lecteurs capacitifs passifs pour un résultat finalement assez proche. Même s’ils peuvent sembler assez semblables aux lecteurs passifs, il est possible de reconnaître ces lecteurs car il est nécessaire lors de leur utilisation de toucher un point conducteur (le plus souvent une barre en métal en bas du lecteur) qui est chargée de transmettre le champs électriques dans le doigt.

Globalement les lecteurs capacitifs passifs semblent donc être une bien meilleure alternative.

Les lecteurs thermiques

Probablement mes lecteurs préférés, sur le papier, parce que je trouve leur fonctionnement drôle et improbable. Bonus, j’ai découvert en écrivant cet article que cette technologie a été inventée par un français, Jean-François Mainguet, lequel a un super site sur le sujet !

Ces lecteurs utilisent des matériaux pyroélectriques, c’est à dire qui ont la capacité d’émettre un faible courant lorsque leur température varie, pour détecter des changements de température. Comme pour les lecteurs capacitifs passifs, une fine couche d’air est piégée entre votre peau et la surface du lecteur quand vous pressez votre doigt à sa surface. L’air étant un très bon isolant thermique, la température à surface du lecteur va donc changer beaucoup plus rapidement là ou votre peau touche directement le lecteur (les crêtes de l’empreinte), et plus lentement là ou ils ne sont pas en contact (les vallées). Grâce aux nombreuses cellules pyroélectriques, le capteur peur alors reformer votre empreinte !

Lecteur d'empreinte thermique du thinkpad.
Le lecteur d’empreinte par balaiement des Thinkpad était probablement un capteur thermique.

Même si je trouve leur fonctionnement très amusant, ces lecteurs tendent aujourd’hui fortement à disparaître car jugés peu pratiques. En premier lieu le temps de détection de l’empreinte est assez court, car la température à la surface du lecteur va rapidement atteindre un équilibre, ne permettant plus de détecter l’empreinte. Ensuite, parce qu’en raison des coûts de fabrication ces lecteurs ont souvent été construits sous forme de barres nécessitant de faire glisser le doigt pour lire l’empreinte, ce qui est considéré comme moins pratique.

À noter quand même que ces lecteurs offrent l’avantage d’être relativement petits tout en étant très simples à intégrer dans un produit à la construction moins millimétrée que celle d’un smartphone.

Les lecteurs à ultra-sons

Dernière technologie à présenter, les lecteurs à ultra-sons, qui utilisent la différence de résistance au passage des sons (impédance acoustique) entre les crêtes de l’empreinte, qui touchent directement le capteur, et les vallées qui sont séparées par notre éternelle couche d’air.

Là encore, la surface du capteur est constituée de nombreuses cellules qui vont à la fois jouer le rôle d’émetteur et de capteurs des ultrasons, permettant pour chaque cellule de détecter la distance entre sa surface et l’objet le plus proche, ce qui lui permet donc de détecter les vallées et les crêtes de notre empreinte.

Capteur d'empreinte à ultrasons
L’arrivée des lecteurs d’empreintes digitales sous les écrans des appareils donne un élan nouveau aux lecteurs à ultrasons.

Si ces capteurs sont historiquement beaucoup plus chers à produire, les avancées récentes dans le domaine de la micro-électronique des ultra-sons, notamment portées par les recherches médicales, a largement réduit les coûts de ces technologies. Aujourd’hui cette technologie qui a longtemps été considérée comme trop chère et moins intéressante que les capteurs capacitifs passifs revient en force, notamment avec l’apparition de capteurs d’empreintes situés sous les écrans des téléphones.

Les techniques varient, mais tout fini en images !

Après ce petit tour d’horizon des différentes technologies disponibles, vous pouvez constater que si les techniques varient, le résultat final est lui toujours le même, une image, généralement en nuances de gris, de l’empreinte digitale d’origine. Mais maintenant il s’agit de savoir quoi en faire…

Cela tombe bien, ce sera justement le sujet du prochain article de cette série qui sortira dans quelques semaines et qui traitera de l’analyse, de la comparaison et de la recherche des empreintes digitales ! Alors abonnez-vous à la newsletter pour ne pas rater la suite, et à dans quelques semaines !

4/5 - (1 vote)

Lire l'article complet : Article introductif 1/2, un lecteur d’empreinte digitale, comment ça marche ?

Lancement du Raspberry Pi Pico W, un microcontrôleur avec le Wi-Fi !

2 juillet 2022 à 09:00
Photo du Raspberry Pi Pico W, ajout du Wi-Fi

En Janvier 2021, la fondation Raspberry Pi annonçait son arrivée dans le marché des microcontrôleurs avec le Raspberry Pi Pico, un microcontrôleur puissant à seulement 4$. Aujourd’hui la fondation Raspberry Pi annonce le lancement d’une nouvelle version, le Pi Pico W, venant ajouter la connectivité Wi-Fi à sa petite machine !

Petit tour d’horizon des nouveautés et des fournisseurs.

Voir le prix chez Kubii Voir le prix chez Amazon

Une précédente version très bien accueillie par le public.

Avec le lancement du premier Raspberry Pi Pico la fondation avait réussi un joli coup en offrant un produit simple d’accès, petit, puissant, versatile et bon marché. Le Pi Pico répondait donc aussi bien aux besoins des professionnels désireux de trouver une solution clé en main pour embarquer un microcontrôleur relativement puissant, qu’à ceux des hobbyistes désireux de se lancer plus avant dans l’électronique embarquée sans forcément avoir à passer par l’apprentissage du langage C ou la conceptions de circuits électroniques trop avancés, tout en offrant une alternative encore plus abordable au célèbre Arduino, le standard de facto en matière de microcontrôleur grand public.

Un arduino Uno
L’Arduino était et reste un standard aussi bien du grand public que de l’industrie en matière de carte microcontrôleur.

Preuve que le Pi Pico répondait à un réel besoin, un an après son lancement la fondation en a déjà écoulé plus de 2 millions d’unités, un chiffre impressionnant pour un produit qui, malgré toutes ses qualités, concerne une communauté plus experte que celle du Raspberry, et un marché sur lequel une offre standard et diversifiée était déjà largement accessible, à la différence de la situation rencontrée lors du lancement des Raspberry Pi classiques.

Il convient néanmoins de noter que ce succès a probablement été amplifié par une disponibilité du Pi Pico relativement irréprochable, dans un secteur touché de plein fouet par les pénuries de composants, pénuries dont le Raspberry Pi classique est d’ailleurs largement victime.

Avec l’ajout du Wi-Fi, le Raspberry Pi Pico W s’oriente plus que jamais vers l’IoT.

Avec ce nouveau Raspberry Pi Pico W, la fondation ajoute une puce Wi-Fi à son microcontrôleur, venant ainsi combler ce qui nous semblait être le dernier manque majeur du modèle précédent, en simplifiant très largement son usage pour l’embarqué et l’internet des objets.

En arrivant sur le marché des cartes microcontrôleur, il est évident que la fondation se plaçait en concurrence avec l’Arduino, lequel est le standard historique à la fois des hobbyistes, makers et hackers, comme des industriels cherchant une solution polyvalente et prête à l’emploi en matière de carte microcontrôleur.

Si le Pi Pico semblait avoir tout pour réussir (une plus grande puissance ; un encombrement réduit ; un prix plus faible ; une plus grande simplicité d’utilisation ; moins de barrières techniques à l’entrée), il restait néanmoins un autre marché sur lequel il était en retard, celui de l’internet des objets.

L'ESP32 un microcontrôleur avec Wifi
L’ESP32, est aujourd’hui probablement la solution la plus utilisée en matière de microcontrôleur avec Wi-Fi.

En effet, sur le papier le Pi Pico avait à la fois un encombrement, un prix et une consommation électrique suffisamment faibles pour être la base parfaite de tout objet connecté, mais il lui manquait encore une chose, la connexion à internet… Une limitation d’autant plus complexe que l’ajout d’internet à un microcontrôleur qui en est originellement dépourvu est loin d’être une tâche aisée.

Historiquement la communauté amateurs, mais aussi industrielle, s’est souvent tournée pour ce type de tâche vers les module ESP8266 et son successeur l’ESP32, soit en les utilisant seuls comme cœur du système, soit en combinant avec un Arduino.

Grâce à l’ajout du Wi-Fi, le Raspberry Pi Pico W devrait donc désormais non seulement entrer en concurrence avec l’Arduino, mais également avec l’ESP32, en faisant définitivement un outil de choix pour la création d’objets connectés nécessitant un accès à internet.

Côté technique, comment ça fonctionne ?

Sur le plan technique l’ajout du Wi-Fi s’est fait via l’ajout sur le Raspberry Pi Pico d’une puce Wi-Fi CX43439 de chez Infineon, laquelle est embarquée sur le Pi Pico W sous un bouclier métallique chargé d’éviter les interférences, point important pour les professionnels car permettant de réduire les coûts liés aux certifications de conformités sur les émissions radio.

La puce Wi-Fi est sous le bouclier métallique à gauche de la carte.

Point très intéressant à noter, la puce Wi-Fi d’Infineon offre le support du Bluetooth et du Bluetooth Low-Energy. Si ces fonctionnalités ne sont pas activées au lancement du produit, la fondation a indiqué qu’elle pourrait les activer dans de futures mises à jour.

Côté logiciel, des mises à jours sont disponibles dès à présent, notamment une image UF2 avec le support du réseau pour les utilisateurs de MicroPython et une mise à jour du Pico SDK pour les développeurs C. Une documentation très détaillée sous la forme d’un guide intitulé « Connecting to the Internet with Raspberry Pi Pico W » est également disponible pour les deux langages.

D’après ces documents, lister les réseaux Wi-Fi et s’y connecter ne devrait donc pas prendre plus d’une dizaine de lignes en Python (en C, on imagine qu’il faudra probablement créer 300 pointeurs et organiser le transport de chaque bit par pigeon voyageur, une opération donc relativement simple comparée au fait d’écrire un helloworld.c sans faille de sécurité…).

Comme à son habitude, la fondation a également veillé à conserver la forme actuelle du Pi Pico afin de permettre le passage direct de l’ancienne à la nouvelle version.

Un Raspberry Pi Pico H et Pico WH en bonus, avec des connecteurs GPIO déjà soudés.

Dernier point à noter, en plus du lancement du Pico W, la fondation a également lancé le Pico H à 5$ qui est tout simplement un Raspberry Pi Pico classique avec des connecteurs GPIO déjà soudés à la carte, comme cela avait été le cas pour le Pi Zero et le Pi Zero H.

Photo d'un Raspberry Pi Pico H avec ses ports GPIO soudés.
Le Raspberry Pi Pico H avec ses ports GPIO soudés et visiblement conçus sur-mesure pour la fondation.

Un Pico WH sera disponible d’ici quelques temps à 7$ et ajoutera les connecteurs GPIO pré-soudés au nouveau Pico W.

Quelle disponibilité prévoir et où peut-on acheter le Raspberry Pi Pico W ?

Contrairement aux Raspberry Pi classiques, le Pi Pico W, comme son prédécesseur, a été conçu et lancé durant la pénurie de composants électroniques, et la fondation semble avoir fait particulièrement attention à pouvoir assurer la production et la livraison de ces machines. S’il faut en croire l’expérience passée du Raspberry Pi Pico, nous ne devrions donc pas avoir de rupture de stock.

Quant à acheter le Raspberry Pi Pico W, vous pouvez vous le procurer dès maintenant chez notre partenaire kubii.fr ou bien ici chez Amazon.

Vérifier la disponibilité chez Kubii Vérifier la disponibilité chez Amazon

Notez cet article.

Lire l'article complet : Lancement du Raspberry Pi Pico W, un microcontrôleur avec le Wi-Fi !

La miniaturisation infinie n’existe pas, ou pourquoi l’informatique atteindra bientôt ses limites.

22 février 2022 à 14:00
Photo d'ordinateurs assemblés en forme de ville.

Aujourd’hui plutôt qu’un des habituels tutoriels et autres articles d’actualités habituellement publiés ici, je vous propose plutôt une réflexion, une analyse sur le sujet suivant : La loi de Moore est mourante, le progrès de la puissance informatique touche à sa fin et le Raspberry Pi Zero 2 W en est une illustration.

Cet article est donc davantage un article de fond, une explication et une analyse des limites auxquelles semble devoir se confronter l’industrie électronique. Bien que ne nécessitant pas de connaissances techniques, scientifiques ou économiques, il demande néanmoins probablement un peu plus d’attention que les articles habituellement publiés ici.

Dans cet article, je commencerai donc par revenir sur le nouveau produit lancé par la fondation, le Raspberry Pi Zero 2 W et sur ses évolutions vis à vis du modèle précédent. Par la suite, je chercherai à dresser un modèle et à proposer un cadre de référence offrant des aspects similaires, afin de permettre d’analyser et de théoriser les difficultés, les raisons et les enjeux de ces améliorations. À partir de ce modèle et de ce cadre de référence, je m’attacherai à analyser les techniques mises en œuvre pour apporter ces améliorations, et ce que ces techniques nous disent de l’état d’avancement du Raspberry Pi. Enfin, je conclurai cet article en commençant par montrer comment les propos développés pour le cas particulier du Raspberry Pi peuvent être élargis au reste de l’industrie électronique, avant d’offrir des pistes de réflexions sur ce vers quoi semble tendre le futur de cette industrie, pour terminer en interrogeant les décisions que nous pourrions alors êtres amenés à prendre.

Mais avant de rentrer dans l’analyse et la théorie, et à des fins de contexte, revenons dans un premier temps sur le nouveau modèle de Raspberry Pi qui servira d’exemple concret tout au long de cet article.

Le Raspberry Pi Zero 2 W, qu’est-ce et qu’est-ce qui change ?

Le Raspberry Pi est un micro-ordinateur de la taille d’une carte bleu, qui est bien connu des amateurs d’informatique. Historiquement, la gamme « Zero » du Raspberry Pi correspond à des machines plus petites, consommant moins d’électricité, et vendues à un prix plus bas (5€ ou 10€) que les autres modèles de Raspberry Pi. Cette gamme est donc naturellement considérée comme étant destinée à l’informatique embarquée, à la domotique, à l’IoT et de façon plus générale aux applications nécessitant peu de puissance de calcul et une consommation électrique ainsi qu’un espace physique réduits.

Le 18 Octobre 2021, la fondation Raspberry Pi a annoncé le lancement d’un nouveau modèle, le Raspberry Pi Zero 2 W, une évolution du Raspberry Pi Zero W.

Nouveau modèle, nouveau processeur, même mémoire vive…

Avec ce nouveau modèle, la fondation affiche la volonté d’améliorer la puissance de sa gamme dédiée à l’embarquée, sans offrir de nouvelles fonctionnalités. Il s’agit donc de permettre à ses ordinateurs mono-carte d’entrée de gamme de gagner en puissance, sans pour autant modifier la cible technique et commerciale du produit.

Cette stratégie est classique et correspond globalement à l’évolution naturelle d’un produit issu de l’industrie informatique dont la forme est déjà ancrée et aboutie. On est donc dans le cadre d’une évolution, comme le passage des disques dur 512 Go à 1 To, par opposition à une révolution, comme le passage des disques dur à plateau aux disques SSD.

La principale nouveauté avec ce modèle est l’arrivée, à la place de l’ancien processeur monocœur à architecture ARM11, d’un processeur quad-core à architecture ARM53, basé sur l’architecture du Raspberry Pi 4 et le processeur du Raspberry Pi 3.

Si ce nouveau processeur quad-core devrait offrir des gains importants en matière de puissance de calcul et donc de performances (la fondation annonce une multiplication par 5 des performances pour les applications multi-thread), on ne pourra s’empêcher de remarquer que la mémoire vive, elle, n’a pas été revue à la hausse, ce qui est pourtant la norme avec ce type d’évolution.

Cette stagnation de la RAM n’a pas manqué d’interroger les consommateurs et les observateurs médiatiques mais, vous allez le voir, elle n’a rien d’un hasard et semble pointer une sorte d’impasse vers laquelle se dirige doucement la fondation Raspberry Pi, comme le reste de l’industrie.

Prix, Encombrement, Puissance, une question d’équilibre.

Avec un nouveau modèle clairement axé sur la puissance plutôt que sur les nouvelles fonctionnalités, beaucoup se demandent pourquoi la fondation a choisi de n’intégrer « que » 512 Mo de RAM sur le Pi Zero 2 W. En fait, il y a fort à parier que la fondation n’a pas tellement eu le choix…

D’après l’article de blog accompagnant la sortie de ce nouveau modèle, augmenter la puissance du Pi Zéro semble en effet avoir été des plus compliqués. En cause ? Une sorte d’équivalent électronique de la crise du logement de nos grandes villes : plus il y a de monde, moins il y a de place et moins il y a de place, plus c’est cher…

En 1982 déjà, puis en 2010 avec sa suite, le film Tron représente l’intérieur d’un ordinateur et d’un programme informatique comme une ville, ancrant cette image dans l’inconscient collectif.
Un concept qui peut également être retrouvé en partie au sein du livre « Snow Crash », en français « Le samouraï virtuel », à l’origine de la notion de métavers dont on entend beaucoup parler en ce moment.

Petite modélisation simplifiée de la théorie de l’encombrement à l’usage de l’industrie électronique.

Un ordinateur mono-carte comme le Raspberry Pi, c’est plein de composants électroniques, reliés entre eux sur un seul circuit imprimé.

Si nous faisons abstraction des principes de fonctionnement interne, nous pouvons considérer qu’un composant offre un service dans une certaine quantité (vitesse de calcul, capacité de stockage, type de connectique et vitesse de transfert). Appelons cela de la « Puissance ».

Pour fournir cette puissance, le composant va imposer 3 contraintes, que l’on pourrait aussi modéliser comme l’utilisation d’un stock de ressources : il consomme de l’énergie ; il prend de la place ; il doit être relié aux autres composants. Appelons l’ensemble de ces contraintes « Encombrement », une notion qui peut être à rapprocher de celle abordée au sein de la théorie de l’encombrement.

Dans les faits de nombreuses autres contraintes peuvent être associées aux composants, comme des plages de tensions électriques, une sensibilité électromagnétique, une plage de températures d’utilisation, une vitesse de fonctionnement, une émission de chaleur, etc. Mais pour faire un modèle, c’est-à-dire une représentation approximative mais suffisamment bonne de la réalité pour nous permettre de la manipuler et de l’analyser dans un cadre donné, nous pouvons nous limiter à ces 3 contraintes. Les autres contraintes pouvant souvent être représentées par ces 3 contraintes de base, comme l’émission de chaleur qui se traduit classiquement sous forme de contraintes de consommation d’énergie et de place.

Enfin, un composant va avoir un coût monétaire, un prix, que nous appellerons donc avec beaucoup d’imagination« Prix ».

Je pense que vous l’aurez vu venir, il y existe un rapport direct entre Puissance, Encombrement et Prix. Pour simplifier, on pourrait modéliser ce rapport sous la forme Prix = Puissance / Encombrement. Ou pour l’exprimer d’une façon plus compréhensible encore : plus la puissance augmente pour le même encombrement, plus c’est cher.

À puissance égale, en payant un composant plus cher, il est souvent possible de diminuer son encombrement, et à l’inverse, en utilisant un composant plus encombrant, il est possible de le payer moins cher.

Comme on sature une ville, on sature un ordinateur.

Si nous prenons une ville, chacun sait qu’elle ne peut étendre sa taille à l’infini, a minima parce que le territoire dont nous disposons n’est pas infini. Chacun sait aussi que plus une ville offre de potentiel économique, culturel, etc., plus elle est considérée comme attractive, et plus nombreux sont les gens à vouloir y vivre. Il en résulte habituellement qu’une fois la taille maximale de la ville atteinte, par l’effet de contraintes de nature géographiques, historiques, politiques ou tout simplement structurelles (réseaux de transports, temps de trajets, etc.), celle-ci se met à transformer et optimiser son habitat.

Concrètement, cela se traduit habituellement de la façon suivante, le nombre des logements augmente tandis que leurs surfaces individuelles diminuent, et que le prix pour une même surface grimpe. Ou, dit plus simplement, chacun sait qu’on loue ou que l’on achète à Paris un appartement de 9m2 le prix d’une maison de 150m2 dans la Creuse.

Mais chacun sait aussi que cette optimisation atteint naturellement une limite, laquelle est habituellement imposée par l’espace minimal nécessaire à un habitat ― que cet espace soit fixé par la loi ou simplement dérivé de contraintes physiques et d’habitabilité ―, par l’exclusion de la partie de la population constituée des classes sociales ne pouvant plus payer le prix des logements, par la saturation des réseaux de transports, ou plus généralement par un mélange des trois, la ville étant alors qualifiée en français de « Capitale ».

C’est que, de même qu’il n’existe pas de croissance infinie, il n’existe pas non plus de diminution infinie, et comme il en va des villes, il en va des ordinateurs.

Un ordinateur mono-carte n’est pas si différent d’une ville. Lui aussi ne peut pas s’étendre à l’infini, étant limité par les dimensions du circuit imprimé porteur. Lui aussi dispose d’un équivalent aux logements, commerces et habitants, les composants électroniques, qui, comme leurs équivalents urbains, consomment tous un peu d’encombrement. Lui aussi doit avoir un réseau de transport, les pistes de cuivre. Et l’on pourrait encore trouver d’autres comparaisons, comme le traitement des eaux usées d’une ville, qui semble trouver un reflet dans la question de la dissipation thermique des composants électroniques.

Montage d'une carte mère qui se transforme en ville.
Ville ou carte mère ?

Vous vous en doutez, le chemin suivi par un ordinateur ressemble, lui aussi, à celui d’une ville : l’optimisation de l’habitat. De même que se réduit la taille des appartements, se réduit la taille des composants. Et comme augmente le prix au mètre carré des appartements à mesure que leur surface diminue, augmente le prix des composants à puissance égale, à mesure que l’encombrement diminue.

Là aussi existe, comme pour celle des habitats, une limite à l’optimisation des composants. De même qu’un habitant ne peut pas vivre dans un appartement plus petit que lui, certains composants nécessitent un espace minimal (par exemple pour dissiper la chaleur émise). D’une façon similaire à celle par laquelle les réseaux de transports finissent par être saturés, on en arrive à ne plus avoir la place de relier des composants. Et comme l’augmentation des prix finit par rendre l’habitation inaccessible au plus grand nombre, l’augmentation des coûts des composants les plus performants empêche leur utilisation standard.

Et le Raspberry Pi dans tout ça ?

Vous l’aurez compris, toute la difficulté pour la fondation Raspberry Pi est donc de trouver l’équilibre entre l’encombrement du Raspberry Pi Zero 2 W (sa taille, sa consommation électrique, etc.), sont prix et sa puissance.

Aujourd’hui cet équilibre est à sa limite, et la fondation ne peut pas ajouter plus de RAM, principalement parce que la réserve d’encombrement disponible sur un Pi Zero, et notamment sa composante d’espace physique, est déjà presque totalement épuisée.

Le stock d’encombrement du Raspberry Pi Zero est fixe, il ne peut pas changer. Les dimensions de la carte doivent rester les mêmes, le nombre de couches de cuivre est limité pour des raisons économiques, la consommation électrique ne peut pas, ou à peine, augmenter.

Pour augmenter la puissance, la seule solution semble alors être une augmentation du prix. C’est d’ailleurs en partie ce que la fondation a fait, puisque ce nouveau modèle coûte 5€ de plus que le précédent, soit une augmentation de tout de même 50 %…

Mais là encore, l’augmentation du prix n’est pas une solution magique. D’abord parce qu’il faut que le produit reste achetable par une masse suffisante d’utilisateurs. Ensuite parce que, l’augmentation du prix est une conséquence, et non une cause, de la diminution de l’encombrement, laquelle, nous l’avons vu, ne saurait être illimitée.

La solution à cette crise du logement électronique ? Une sortie par le haut, pour le moment…

La situation de saturation que nous avons décrite n’est pas une nouveauté apparue avec la Raspberry Pi Zero 2 W, mais elle existait déjà depuis le premier modèle du Raspberry Pi Zero. Mais alors, avec un encombrement saturé et un prix encadré, comment la fondation a-t-elle pu augmenter la puissance du Pi Zero ?

En matière technologique, quand ce qui était impossible devient possible, une fois le mensonge éhonté mis de coté, il ne reste que l’innovation technologique. Reprenons notre comparaison immobilière.

Tout un chacun l’aura observé, quand une ville ne peut plus optimiser la taille de ses logements, et que s’étendre sur le territoire devient impossible, celle-ci se met alors à découvrir la troisième dimension et commence à se développer verticalement.

Photo des grattes-ciel de Chicago.
Chicago est un bon exemple de ville que des limites géographiques fortes (le lac Michigan) ont poussé au développement vertical.

Ce développement à la verticale peut se faire dans deux sens, soit en creusant, soit en construisant des bâtiments plus hauts.

Même si des villes souterraines existent, et que les souplex semblent fleurir partout où cela est possible, creuser reste une solution rarement retenue pour la constructions de bâtiments, et est plutôt utilisée pour les réseaux de transports. Une situation, nous le verrons, là encore assez similaire avec celle des circuits imprimés.

Augmenter la hauteur des bâtiments reste donc la solution privilégiée la très vaste majorité du temps. Cette solution relève du point de vue architecturale d’une innovation technique, et elle connaît bien évidemment des limites, qu’il s’agisse de limites techniques, physiques, logistiques ou tout simplement de coûts. Et comme toute innovation technique, elle devient plus accessible techniquement et économiquement avec le temps, ce qui participe à augmenter son utilisation et sa rentabilité.

Si nous revenons au secteur informatique, la solution retenue par la fondation, et par l’industrie en général, est sans surprise la même, investir la verticale, et là aussi deux solutions sont possibles, creuser ou empiler.

Exploiter l’espace souterrain des circuits imprimés.

Dans le cadre de l’informatique, bâtir en sous-terrain prend deux formes bien distinctes. Puisque les circuits imprimés sont classiquement des plaques d’environ un millimètre d’épaisseur, constituées habituellement de résine époxy isolante et d’une ou plusieurs couches de cuivre conducteur, ces plaques sont susceptibles de présenter deux faces accessibles pouvant recevoir des composants électroniques, la face supérieure et la face inférieure.

Sur cette coupe d'un circuit imprimé on distingue 4 couches de cuivre.
Sur cette coupe d’un circuit imprimé on distingue 4 couches de cuivre, un chiffre qui peut être considéré comme relativement standard aujourd’hui.

Creuser peut alors, en premier lieu, être le fait d’utiliser la face inférieure du circuit en plus de la face supérieure pour souder des composants. On parle alors de circuit « double-sided » ou double-face en français. C’est une solution qui augmente sensiblement l’espace disponible, en allant au maximum jusqu’à le doubler, mais qui ne permet en revanche pas, ou pas totalement, de répondre à d’autres aspect de l’encombrement, comme la consommation électrique. Bien-sûr, réaliser un circuit double face implique des opérations d’assemblage plus complexes que d’utiliser un simple face, ce qui augmente mécaniquement le coût du circuit.

Mais creuser peut aussi s’apparenter, comme pour une ville, à répartir le réseau de transport, ici les pistes de cuivre sur plusieurs niveaux. C’est là la principale utilisation du développement « sous-terrain » des circuits imprimés. Pour cela, plusieurs couches de cuivre sont empilées et séparées par des couches d’isolant, puis reliées entre elles aux endroits nécessaires par la réalisation de trous, nommés « vias », qui seront ensuite rendus conducteurs par le dépôt d’une couche de cuivre.

Modèle 3D d'un circuit imprimé multi-couche.
Illustration d’un circuit imprimé à 6 couches, reliées entre elles par différents type de vias. Source : altium.com

C’est que le problème du branchement des composants entre eux se heurte à deux principales difficultés, la résistance électrique des pistes de cuivre et leurs croisements.

Le problème de la résistance, c’est que le cuivre n’est pas un conducteur parfait, et l’électricité en passant fait chauffer le cuivre. Pour diminuer cet effet, il est nécessaire de raccourcir les pistes, et d’augmenter leur largeur. Mais plus le nombre de composants est grand, plus il devient difficile de trouver des pistes courtes pour les relier, et plus les pistes sont larges, moins on peut en mettre dans un espace donné. En augmentant le nombre de couches, on simplifie leur tracé et on augmente la surface totale de cuivre disponible.

Le problème des croisements, c’est qu’il n’est pas possible sur une seule couche de cuivre en deux dimensions de faire se croiser des routes, celles-ci étant conductrices. Il devient alors nécessaire d’introduire une troisième dimension par l’ajout d’une ou plusieurs couches de cuivre. Plus il y aura de couches de cuivre, plus il sera simple de faire se chevaucher des routes, notamment en dédiant certaines couches à un type particulier de signal électrique. Évidemment, plus les couches sont nombreuses, plus le circuit est complexe à produire et donc cher.

Aujourd’hui il n’y a plus guère que les PCB produits par des particuliers pour n’utiliser qu’une seule couche de cuivre. L’industrie quant à elle utilise au minimum 2 couches de cuivre, et jusqu’à 6 dans des usages grand public.
Les produits issus de la haute industrie peuvent même, dans des cas extrêmes, recourir à une centaine de couches.

Aujourd’hui, la famille des Raspberry Pi Zero exploite déjà largement la répartition verticale du routage, avec un PCB qui semble contenir 6 couches de cuivre.

En revanche, les Raspberry Pi Zero n’utilisent qu’une seule face du circuit imprimé pour monter des composants. De cette façon, la chaîne de production est simplifiée, presque entièrement automatisée et ne nécessite pas l’étape plus complexe de retournement du circuit. C’est pour cette raison que les pins GPIO du Raspberry Pi ne sont pas livrés soudés.

Une solution pour permettre l’ajout de plus de RAM serait donc d’ajouter ou de déplacer des composants existants sur la face inférieure du Raspberry Pi Zero, pour libérer l’espace nécessaire à une puce de RAM supplémentaire. Cependant une telle modification impliquerait un changement du form-factor du Raspberry Pi Zero, susceptible d’introduire des incompatibilités avec certains matériels physiques, ainsi qu’une augmentation du coût de production.

Pour l’instant la fondation semble donc avoir rejeté l’idée de modifier le form-factor du Pi Zero et de passer à un format double-sided. À l’avenir ― et sauf évolution technologique majeure ou diminution drastique du coût de la RAM sur certaines solutions technologiques actuelles ― cette solution risque pourtant de s’avérer la seule possible si la fondation veut augmenter la mémoire vive de sa machine.

Construire des gratte-ciels de composants électroniques.

Puisqu’il n’est pas possible d’augmenter la capacité d’encombrement par le dessous, il ne reste alors qu’une solution à la fondation, gagner de la place par le haut en empilant les étages de composants.

Figurez-vous que c’est déjà ce que font les versions précédentes de la Raspberry Pi Zero et de la Raspberry Pi 1, en utilisant une technologie appelée Package On Package, ou PoP. Comme son nom l’indique, cette technologie consiste à empiler un composant (package désigne le composant, soit l’ensemble de la puce de silicium et du boîtier permettant son isolation et sa connexion), sur un autre composant. C’est une technologie relativement récente, puisqu’elle n’est utilisée dans un produit industriel que depuis 2004 avec la PSP de Sony (devinez dans l’usine de qui sont produites les Raspberry Pi), et qui n’a vraiment connu une utilisation massive qu’avec l’avènement des smartphones, nécessitant une mémoire vive importante dans un volume réduit.

Jusqu’à présent, c’est grâce à la technologie PoP que la fondation pouvait intégrer la puce de mémoire vive au dessus de son processeur dans les Raspberry Pi Zero, permettant ainsi de créer la carte avec les dimensions que nous lui connaissons.

Illustration du fonctionnement de la technologie PoP.
jusqu’à présent, la technologie PoP était utilisée pour permettre d’empiler la RAM par-dessus du processeur.

Cependant, comme vous pouvez le constater sur le schéma ci-dessus, l’utilisation de la technologie PoP implique que le composant inférieur soit suffisamment fin et petit pour pouvoir être placé entre les billes de soudure reliant le composant supérieur et le PCB servant de support. Et il se trouve que la fondation n’est pas la seule qui cherche à améliorer le rapport puissance / encombrement en passant à la verticale. Broadcom, le fabricant des System On Chip fournissant notamment le processeur de la Raspberry Pi fait de même, et avec son nouveau processeur, le System On Chip du Raspberry Pi Zero 2 W n’est plus suffisamment fin pour permettre le PoP.

Pour permettre le passage au nouveau processeur tout en conservant la même mémoire vive, la fondation a donc dû utiliser un autre procédé, le System In Package, ou SiP, qui consiste à superposer deux puces de silicium au sein d’un même boîtier, il s’agit là encore d’une technique assez récente et qui ne semble réellement utilisée par l’industrie que depuis quelques années.

Ici les deux « die », c’est-à-dire les puces de silicium nues sont directement empilées avec un film isolant entre les deux.

Cependant, comme PoP, la technologie SiP a elle aussi ses limites, la plus importante étant la nécessiter de créer une puce dédiée.

En effet, là ou la technologie PoP exploite des composants pré-existants en les empilant sur un substrat qui n’est jamais qu’un mini-PCB très fin, rendant cette solution relativement accessible. La technologie SiP, elle, nécessite la création d’un nouveau composant dédié et fabriqué sur mesure, une opération beaucoup plus complexe, réalisable uniquement par quelques entreprises de pointe. Cette technologie est donc plus coûteuse, moins souple, implique un prototypage nettement plus compliqué et est, par nature, réservée à des entreprises disposant de volumes de commande importants et de liens privilégiés avec des entreprises majeures des semi-conducteurs, comme c’est évidemment le cas de la fondation avec son partenaire Broadcom…

Mais même si la technologie SiP a pu repousser certaines limites, là encore il n’existe pas de croissance infinie. Comme il n’est pas possible de faire des immeubles de 2 000 étages, il n’est pas possible d’empiler une infinité de puces de silicium. Sans même parler de l’épaisseur qu’auraient les composants, l’occupation d’espace physique n’est qu’une des composantes de l’encombrement, la quantité d’électricité consommée, l’émission de chaleur, le nombre de connexions sont autant de limites qui finissent toutes, tôt ou tard, par devenir insurmontables que ce soit pour des raisons de coûts ou des raisons physiques.

La fondation l’a d’ores et déjà dit, actuellement un modèle du Raspberry Pi Zero qui respecte le même form-factor et qui embarque plus de mémoire RAM semble exclu. Les puces de silicium nues de plus de 512 Mo de RAM n’existent pas, et empiler davantage de puces est aujourd’hui technologiquement trop compliqué et coûteux.

La dissipation thermique est également un problème. La fondation a pu, par l’ajout de pistes de cuivre, améliorer la dissipation thermique afin de permettre d’évacuer la chaleur supplémentaire générée par le nouveau processeur, mais là encore, cette solution touche à ses limites.

Le Raspberry Pi Zero 2 W dans sa forme actuelle semble arriver aux limites de la puissance atteignable à ce prix et dans cette forme.

Pour augmenter sa puissance il faudra donc augmenter son prix ou son encombrement (consommer plus d’électricité, augmenter la taille du produit, etc.). Ou bien aller chercher les améliorations et la plus-value ailleurs, dans la réduction de la consommation électrique, dans la spécialisation via le retrait de fonctionnalités au profit d’autres, etc.

Ce qu’il est important de comprendre, c’est que le Raspberry Pi Zero, loin d’être une exception, un cas particulier, est en fait l’illustration de la situation dans laquelle se trouve l’industrie de l’électronique des semi-conducteurs toute entière.

La croissance infinie n’existant pas, bientôt la loi de Moore prendra fin.

Toute personne s’étant intéressé à l’informatique connaît normalement la « loi de Moore », loi empirique formulée en 1965 par Gordon Earle Moore (lequel devait devenir 3 ans plus tard co-fondateur d’Intel), et qui voudrait que la puissance des processeurs double tous les ans ou tous les deux ans à coût comparable.

Si cette loi s’est jusqu’à aujourd’hui montrée assez juste, c’est en partie parce que l’industrie s’y est accrochée avec une ténacité forçant l’admiration, n’hésitant pas à consentir d’énormes investissements dans la recherche pour maintenir le rythme, effort économique qui n’a pu être consenti que parce que supporté financièrement par l’augmentation constante et effrénée de l’informatisation de nos sociétés. Et en partie parce que l’industrie et la presse ont souvent, par idéologie, intérêt ou simple méconnaissance, pris soin d’oublier la notion de « coût comparable ».

Pourtant et depuis quelques années déjà, un ralentissement se fait sentir, et le discours des constructeurs change, s’orientant moins sur la puissance et davantage vers une diminution de la consommation électrique, l’amélioration des performances par la spécialisation des circuits imprimés pour des tâches précises (intelligence artificielle, traitements graphiques, etc.), ou vers des bonds technologiques, comme l’informatique quantique.

Courbe illustrant l’évolution des semi-conducteurs depuis 1970.

Si la courbe du nombre de transistors par puce continue de suivre la loi de Moore jusqu’en 2015 (tendance qui tend désormais à disparaître), on observe en revanche clairement que les gains de performance thermique et de vitesse d’horloge diminuent depuis 2005 en allant vers une stagnation aux alentours de 2015. Simultanément le nombre de transistors par dollar suit une courbe plus lente avant de totalement stagner voir de régresser à partir de 2012.

Il semblerait que nous nous approchions chaque jour un peu plus des limites physiques de cette croissance, et que sa fin soit imminente. Depuis 2010 le progrès des micro-processeurs semble ralentir à l’échelle de toute l’industrie, les fréquences des processeurs semblent bloquées depuis 2015 par l’apparition d’effets quantiques, la finesse de gravure se dirige dans la même direction, et la « International Technology Roadmap for Semiconductors », qui avait jusque là guidé l’industrie en se basant très largement sur la loi de Moore a émis sa dernière feuille de route en 2016, appelant à s’en détacher.

Nous ne respections déjà plus la loi de Moore en en ignorant la notion de coût, bientôt nous ne la respecterons plus tout court. En fait, d’après de nombreux prévisionnistes, dont Moore lui même, la « loi de Moore » devrait prendre fin aux alentours de 2025.

Sans surprise, comme nos villes ont, en dernier recours, extrait à la verticale les derniers mètres carrés utilisables. De même les constructeurs de semi-conducteurs ne pouvant plus miniaturiser, arrachent-ils désormais, et déjà depuis quelques temps, les dernières améliorations de performances par la création de puces de silicium en trois dimensions. Hélas, une fois la verticale totalement conquise, il n’y aura plus d’autres dimensions physiques accessibles…

Nos villes semblent désormais êtres saturées et ne pas pouvoir accueillir plus de population, amenant nos sociétés à remettre en cause un modèle d’ultra-urbanisation qui les a longtemps guidées et à repenser notre rapport au territoire, au travail, au transport.

En cela, comme en tout le reste, il me semble y avoir fort à parier que l’industrie des semi-conducteurs et à travers elle toute l’industrie informatique, suive le modèle de nos villes. Bientôt, nous aurons tiré toute la puissance brute que nous pouvions espérer extraire d’un morceau de silicium. Pour la première fois depuis 1965, l’évolution des vitesses de calcul ne sera plus dépendante d’une évolution si ce n’est prédictible, au moins estimable, mais d’une révolution technologique qui pourrait ne jamais venir.

Il va alors nous falloir repenser notre rapport à la puissance de calcul et à son optimisation, comme nous repensons notre rapport au territoire et à la centralisation. Nous allons devoir optimiser d’autres aspects de l’encombrement trop longtemps négligés, comme la consommation électrique, la dissipation voir la réutilisation de la chaleur. Nous devrons optimiser la fabrication pour diminuer les coûts et la consommation de ressources afin de réduire les prix.

Ou alors, simplement, nous satisfaire de notre puissance de calcul disponible, après tout, peut-être déjà suffisante. Accepter que nous n’avons pas nécessairement besoin de calculer plus, de partager plus, de surveiller plus, de prédire toujours et toujours plus, toujours plus vite. Accepter que toute limite n’appelle pas, forcément, à être dépassée. Que parfois, s’arrêter est non seulement nécessaire, mais souhaitable, profitable, raisonnable.

Il n’y a pas de miniaturisation infinie, pas plus qu’il n’y a de croissance infinie. En un monde fini, seuls les fous et les économistes peuvent croire en de telles choses.

4.7/5 - (28 votes)

Lire l'article complet : La miniaturisation infinie n’existe pas, ou pourquoi l’informatique atteindra bientôt ses limites.

❌
❌