# Lecteur de code-barres

Un lecteur de code-barres ou douchette de code-barres est un appareil électronique servant à lire les informations stockées sous la forme de code-barres. Il est l'ancêtre du lecteur de code QR.
Tout d'abord implémentés sous la forme de crayons optiques avec lesquels l'utilisateur devait manuellement balayer le code à une vitesse aussi constante que possible, ils ont ensuite évolués grâce à l'application de miroirs mobiles, vers des scanners automatiques.

## Codage

Il existe de nombreuses façons de coder un code à barres, mais la plupart des méthodes utilisent, au début et à la fin, des barres de la largeur élémentaire afin de caler initialement le lecteur pour qu'il connaisse la largeur d'un code. En effet, outre le fait que le code peut avoir des tailles variable, la distance à laquelle il est présenté au scanner, va aussi faire varier sa taille apparente. Au centre du code à barres se trouvent les informations permettant de transformer les informations utiles en message.
Par exemple, on peut imaginer que « une bande noire ayant trois fois la taille d'une bande élémentaire, suivie d'une bande blanche du double de la largeur élémentaire, suivie d'une bande noire et d'une bande blanche toutes deux de largeur élémentaire » désignent le chiffre 0.
Cette information sera alors transformée en signal électrique en fonction du temps, ressemblant à ceci :
avec en abscisse le temps, et en ordonnée, le signal électrique.

### Contraintes des systèmes de codage

Il existe de nombreux systèmes de codages, tous ces systèmes doivent avoir en commun quelques propriétés :
* Ils doivent avoir un sens de lecture. Si un code est lu dans un sens, on ne doit pas pouvoir lire un autre code en le lisant dans l'autre sens. En effet, on ne sait pas dans quel sens le scanner va lire le code.
* Le code doit contenir suffisamment d'informations de cohérence pour pouvoir être déclaré non valide si une barre est « mal reconnue » (c'est-à-dire si sa largeur a été incorrectement reconnue) : Il est toujours possible qu'un code soit abîmé par la présence de taches, par exemple, et il ne faut pas oublier que si le lecteur est capable de se resynchroniser pour des petites variations de vitesse, cette capacité est limitée. En particulier dans le cas des crayons optiques, une vitesse trop instable de la main fera que le code sera mal reconnu.
Dans tous les cas, la structure des codes contient des informations permettant de vérifier que la lecture s'est bien passée. La plus simple, étant la vérification que la quantité de données lues correspond bien à ce qu'on attendait selon le type de code. on peut aussi trouver des informations de parité, de somme de contrôle, voire des informations plus complexes - sans perdre de vue qu'on est limité par la quantité de donnée contenues dans le code.
Dans tous les cas aussi la structure des codes doit garantir l'impossibilité de confondre le contenu du code avec les informations de détrompage et de reconnaissance de ses extrémités (plusieurs codes barres pourraient se suivre et devenir indistinguables), ainsi qu'une alternance suffisante des contrastes pour éviter des longues périodes sans changement de couleur, qui interdiraient toute possibilité de resynchronisation.

### Les codes utilisés

De nombreux systèmes existent, mais les principaux utilisés en France pour les produits de grande consommation sont EAN 8 et EAN 13, sur 8 et 13 chiffres respectivement, ainsi que les codes presses ISBN et ISSN sur 18 chiffres, composés d'un EAN 13 suivi d'un add-on sur 5 chiffres (dans lequel est stocké le numéro, ainsi que sa spécificité, c'est-à-dire son caractère hors-série ou non).
Les produits pharmaceutiques et médicaux en France utilisent les code 39 et code 128 (norme CIP Pharmacode), alors que les produits pharmaceutiques et médicaux en Suisse utilisent le code EAN 13.
Certaines postes utilisent POSTNET, d'autres le code-barres postal français.

## Utilisation

Les lecteurs de code-barres sont principalement utilisés dans le cadre du commerce. Plébiscités par les commerçants qui vendent des articles lourds et difficilement manipulables, le lecteur de code-barres facilite la tâche des caissiers. Les nouveaux modèles de lecteurs sont désormais sans fil ou communiquent avec la caisse enregistreuse via Bluetooth.