Lecteurs et programmateurs de
cartes
Le choix d'un lecteur ou d'un programmateur de
carte dépend de ce que vous voulez faire mais aussi et surtout des
types de cartes que vous voulez lire ou programmer.
Comment choisir ?
Si vous utilisez des cartes vierges telles que
les cartes Gold,
Silver, Fun ou
Jupiter, il vous faut un
programmateur, au moins pendant la phase de développement de votre
application. C'est en effet ce programmateur qui va programmer le
microcontrôleurs de la carte et/ou sa mémoire EEPROM. Une fois cette
carte programmée, et si vous avez écrit un programme compatible des
normes ISO 7816 3 et 4, un lecteur classique pourra ensuite être
utilisé pour lire et écrire dans votre carte.
| Un programmateur
classique en boîtier Le
Multipro 2000 |
 |
| Un programmateur
"nu" L'infinity USB |
 |
Si vous utilisez des cartes personnalisables
comme les cartes ACOS 1 ou 2 de ACS par exemple ou bien encore des
cartes à puce à OS ouvert comme la Basic
Card®, un lecteur classique
suffit.
Si vous ne voulez que lire dans une carte, que
ce soit votre carte bancaire, Vitale ou tout autre carte conforme
aux normes ISO 7816 3 et 4, le lecteur classique convient aussi.
 |
 |
| Le lecteur
CyberMouse d'ACS |
Le lecteur ACR 30
d'ACS |
Notez bien que tous les lecteurs de cartes à
puce sont capables d'écrire dans les cartes à puce, pour peu que ces
dernières l'autorisent. Le programmateur en tant que tel n'est
nécessaire que pour les cartes initialement vierges car, tant
qu'elles sont vierges, elles ne peuvent pas dialoguer avec quoi que
ce soit. La Palisse n'aurait pas dit mieux.
Acheter ou réaliser soi-même ?
Si vous cherchez un lecteur classique et que vous
n'avez pas trop l'habitude des réalisations électroniques, je vous
conseille de l'acheter plutôt que de le réaliser vous-même. Un
excellent modèle tel que l'ACR 30 S ou l'ACR 30 U de ACS ne coûte en
effet qu'une trentaine d'euros. De plus il est fourni avec tous les
pilotes logiciels nécessaires pour l'utiliser sous Windows ou Linux.
Si vous voulez utiliser certains logiciels
"particuliers" disponibles sur Internet pour réaliser des
investigations "spéciales" dans certaines cartes à puce, vous vous
apercevrez vite que la majorité de ces logiciels utilise des
lecteurs compatibles Phoenix ou Smart Mouse. De tels lecteurs se
trouvent dans le commerce mais ils sont également faciles à réaliser
soi-même avec les informations que je vous fournis sur ce site à la
page correspondante.
 |
| Le lecteur Phoenix
décrit sur ce site |
Si vous avez besoin d'un programmateur, vous
pouvez acheter un modèle du commerce mais attention la qualité est très
variable (surtout au niveau du logiciel) et le prix dépasse souvent
les 60 euros, surtout si vous voulez qu'il puisse programmer tous
les modèles de cartes. Si vous ne voulez travailler qu'avec un ou
deux types de cartes (par exemple seulement les
Silver ou seulement
les Fun) vous pouvez le réaliser vous-même, ce
qui n'est pas compliqué grâce aux explications que je vous propose
dans les pages de ce site. En outre, le prix de revient sera alors beaucoup plus faible que celui des modèles commerciaux.
 |
| Un des programmateurs décrit sur ce
site |
Le logiciel nécessaire
Pour piloter un programmateur, il faut un
logiciel spécifique. Il DOIT vous être fourni avec le programmateur
si vous achetez un modèle du commerce. Si vous le réalisez vous-même
comme ceux décrits sur mon site, le logiciel est disponible à la
rubrique Logiciels.
Pour piloter un lecteur classique il faut
disposer de ses pilotes sous le système d'exploitation que vous
utilisez (Windows ou Linux par exemple). Pour les modèles ACS que je
préconise, c'est le cas. En outre, ces pilotes sont très bien
documentés (en anglais !) et des exemples de programmes qui les
utilisent sont même fournis sur
le site de ACS ou à la rubrique
Logiciels de ce site. Si vous choisissez un autre modèle de lecteur
que les ACS, assurez vous AVANT de l'acheter, que vous aurez bien
accès à tous les pilotes nécessaires et à leurs documentations.
Pilotes propriétaires ou PC/SC
Jusqu’à présent, et même si de nombreux lecteurs
compatibles d’un environnement Windows étaient disponibles sur le
marché, vous étiez pieds et poings liés avec le fabricant que vous
aviez choisi pour le développement de votre application ; tout
changement de lecteur impliquant en effet bien souvent de devoir
ré-écrire tout ou partie de votre application.
Afin de mettre un
terme à cette situation et de standardiser en quelque sorte le
lecteur de cartes à puce au même titre que les autres périphériques
reconnus par Windows, un groupe de travail s’est constitué, sous le
nom de PC/SC Workgroup. Ce groupe a mis sur pied une spécification,
appelée PC/SC pour PC Smart Card, qui permet de définir une
interface "standard" pour l’utilisation de lecteurs de cartes à puce
sous Windows. Même si on peut critiquer une fois de plus la
domination de Microsoft, il faut reconnaître que cette
standardisation simplifie le travail des développeurs d’applications
cartes à puce devant fonctionner sous Windows.
En effet, si vous
décidez de travailler dans le respect de la compatibilité PC/SC,
vous n’avez plus à vous soucier du type de lecteur qui sera employé
ni du fait qu’il utilise telle ou telle API pour dialoguer avec
votre application. Cela permet de rendre véritablement celle-ci
portable et indépendante du matériel.
Pour faire simple, il est donc souhaitable
aujourd'hui si vous achetez un utilisez un lecteur classique sous
Windows qu'il dispose de pilotes PC/SC ce qui est bien sûr le cas
des lecteurs ACS dont j'ai déjà parlé (non, rassurez-vous je ne
touche rien sur les ventes de ces produit, hélas).
|