Les codes barres
Introduction Omniprésents, les codes barres sont des acteurs discrets de la vie courante. Destinés à automatiser
l'acquisition d'une information généralement numérique, ils trouvent leurs applications dans des
domaines aussi variés que la gestion des prêts d'une bibliothèque, les caisses enregistreuses à
lecture optique, ou le contrôle de la production dans l'industrie...
Toutes les informations peuvent êtres codées sous forme de mots binaires, c'est à la base de
l'électronique numérique. Afin de permettre une acquisition rapide et automatique des données,
différents procédés ont étés créés. Les codes barres sont
particulièment bien adaptés au codage d'un chaîne numérique ou alphanumérique
n'excédant pas quelques dizaines de caractères.
Impression d'un code Il est très facile d'imprimer un code barres, il suffit pour cela de disposer d'une imprimante. Les
codes-barres sont donc particulièrement économiques et c'est certainement là l'une des principales raisons
de leur généralisation.
Lecture d'un code Il existe deux moyens courants de lire les codes barres. Le plus classique est la lecture optique qui
consiste à envoyer sur le code barres un faisceau lumineux (souvent un laser de très faible puissance)
puis, à analyser la lumière réfléchie. Les codes barres utilisés sur les carnets de chèques sont
imprimés à l'aide d'une encre magnétisable, dans ce cas la lecture sera alors magnétique. Le principe
est alors le même que celui d'un lecteur de bande magnétique : une tête de lecture traduit en signaux
électriques la succession de barres magnétisées.
Des lecteurs optiques de type « douchette » sont aujourd'hui connectables sur tous les
micro-ordinateurs.
Normalisation EAN L'EAN ou European Article Number
est une norme garantissant que le code barres d'un article sera reconnu dans tous les pays de
l'Union Européenne. L'EAN assure aussi une compatibilité avec les codes
U.P.C. utilisés en Amérique du Nord.
Le mot codé est constitué de 8 ou 13 caractères répartis entre trois zone. En lisant de la gauche
vers la droite, on trouve :
- le « drapeau » codant sur deux caractères l'origine du code
la « zone utile de codage » qui comprend 10 caractères dont les 4 premiers représentent le
fabricant et les 6 derniers l'article (cas d'un code sur 13 chiffres). Dans le cas de cette zone, le
codage dépend de la zone d'origine.
le dernier caractère est le « code de contrôle » déterminant la validité du
code. Il est calculé à l'aide d'un algorithme normalisé.
Note : Devant le grand nombre de pays utilisant les codes barres EAN, il a été décidé
que le code pays pouvait comporter 2 ou 3 caractères. Dans ce dernier cas, le code fabricant ne comporte
que 3 caractères.
La norme EAN 8 chiffres La norme EAN 13 chiffres En France, il a été décidé par l'association GENCOD d'inclure
à la zone utile de codage le deuxième caractère du « drapeau », le premier caractère de
celui-ci n'étant pas codé. Pour rechercher le fabricant d'un code barres d'origine francaise, suivez
ce lien.
Interprétation selon la norme EAN Les différents caractères sont représentés par la concaténation de deux symboles de base
de largeur égales à 0,5 mm. Il existe deux symboles de base :
- la barre noire, qui représente le 1 binaire,
- la barre blanche, qui représente le 0 binaire.
Le code doit être lisible de la gauche vers la droite et de la droite vers la gauche, celui-ci a donc
été divisé en deux parties par un séparateur. On trouve 01010 entre les parties
droite et gauche du code et 101 aux extrémités du code, on notera que les séparateurs
ont des barres plus hautes que les barres qu'il encadrent. Chaque caractère est codé à
l'aide de 7 barres, c'est donc un codage sur 7 bits.
Trois jeux différents sont utilisés selon la position du chiffre dans le code. Les jeux A et B
sont utilisés uniquement à gauche du milieu du code barres, sans ordre particulier, tandis que
le jeu C est utilisé uniquement à droite de ce même milieu.
Caractère codé
Jeu A
Jeu B
Jeu C
0
0001101
0100111
1110010
1
0011001
0110011
1100110
2
0010011
0011011
1101100
3
0111101
0100001
1000010
4
0100011
0011101
1011100
5
0110001
0111001
1001110
6
0101111
0000101
1010000
7
0111011
0010001
1000100
8
0110111
0001001
1001000
9
0001011
0010111
1110100
Les codes des jeux A et B commencent tous par 0 et finissent tous par 1. Inversement, les
codes du jeu C commencent tous par 1 et finissent tous par 0. Le codage d'un caractère
n'implique donc que 5 bits sur 7.
Calcul du caractère de contrôle Voici un exemple de calcul du caractère de contrôle d'un code EAN 13.
Pour un code EAN 8, la procédure est la même, il y a seulement moins de chiffres
à prendre en compte.
Code EAN 4 007630 00011X
Chiffres 4 0 0 7 6 3 0 0 0 0 1 1
Multiplier par 1 3 1 3 1 3 1 3 1 3 1 3
Résultat 4 0 0 21 6 9 0 0 0 0 1 3
Somme 4 + 0 + 0 + 21 + 6 + 9 + 0 + 0 + 0 + 0 + 1 + 3 = 44
Division par 10 44 / 10 = 4 reste 4
Caractère de contrôle 10 - reste = 6
Le code EAN final est donc dans ce cas 4 007630 000116.
Les codes pays Le code pays dans la normalisation EAN est composé de 2 à 3 chiffres suivants les pays.
Code pays
Pays
Code ISO du pays
00 à 13
USA & Canada
us & ca
20 à 29
Usage privé uniquement
30 à 37
France
fr
380
Bulgarie
bg
383
Slovénie
si
385
Croatie
hr
387
Bosnie Herzegovine
ba
400 à 440
Allemagne
de
45 & 49
Japon
jp
460 à 469
Fédération de Russie
ru
471
Taiwan
tw
474
Estonie
ee
475
Lettonie
lv
476
Azerbaijan
az
477
Lithuanie
lt
478
Ouzbekistan
uz
479
Sri Lanka
lk
480
Philippines
ph
481
Belarus
by
482
Ukraine
ua
484
Moldavie
md
485
Arménie
am
486
Georgie
ge
487
Kazakhstan
kz
489
Honk-Kong
hk
50
Royaume-Uni
uk
520
Grèce
gr
528
Liban
lb
529
Chipre
cy
531
Macédoine
mk
535
Malte
mt
539
Irlande
ie
54
Belgique & Luxembourg
be & lu
560
Portugal
pt
569
Islande
is
57
Danemark
dk
590
Pologne
pl
594
Roumanie
ro
599
Hongrie
ie
609
Ile Maurice
mu
611
Maroc
ma
613
Algérie
ie
619
Kenya
ke
619
Tunisie
tn
621
Syrie
sy
622
Égypte
eg
624
Lybie
ly
625
Jordanie
jo
626
Iran
ir
627
Koweit
kw
628
Arabie Saoudite
sa
629
Émirats Arabes Unis
ae
64
Finland
fi
690 à 693
Chine
cn
70
Norvège
no
729
Israël
il
73
Suède
se
740
Guatemala
gt
741
Salvador
sv
742
Honduras
hn
743
Nicaragua
ni
744
Costa Rica
cr
745
Panama
pa
746
République Dominicaine
do
750
Mexique
mx
759
Venezuela
ve
76
Suisse
ch
770
Colombie
co
773
Uruguay
uy
775
Pérou
pe
777
Bolivie
bo
779
Argentine
ar
780
Chili
cl
784
Paraguay
py
786
Équateur
ec
789
Brésil
br
80 à 83
Italy
it
84
Espagne
es
850
Cuba
cu
858
Slovaquie
sk
859
République Tchèque
cz
860
Yougoslavie
yu
867
Corée du Nord
kp
869
Turquie
tr
87
Pays-Bas
nl
880
Korée du Sud
kr
885
Thailande
th
888
Singapour
sg
890
Inde
in
893
Vietnam
vn
899
Indonésie
id
90 et 91
Autriche
at
93
Australie
au
94
Nouvelle-Zélande
nz
955
Malaysie
my
958
Macao
mo
977
Périodiques (ISSN)
978 & 979
Livres (ISBN)
980
Reçus de remboursement
981 et 982
Coupons
99
Coupons
Note : Les codes non actuellement attribués sont réservés pour une utilisation future.
Normalisation CMC7 Les banques de l'Union Européenne ont adopté le codage CMC7 qui permet la
représentation des caractères alphanumériques à l'aide de 7 bâtonnets imprimés avec
une encre magnétisable (voir en bas d'un chèque). Les 7 bâtonnets délimitent 6 intervalles qui
peuvent être larges ou étroits, on obtient ainsi 26=64 combinaisons distinctes. La norme CMC7 permet
aussi une lecture à "l'oeil nu" puisque les caractères sont dessinés à l'aide des
bâtonnets.
Pour des raisons de fiabilité et de sécurité, les règles suivantes ont été respectées :
les caractères numériques ne sont codés qu'à partir de combinaisons comprenant deux
intervalles larges et quatre intervalles étroits,
les caractères alphabétiques sont codés avec un à trois intervalles larges parmi les
six intervalles.
Pour vous aider à décoder vos chèques, sachez qu'un intervalle large représente un 1
binaire alors qu'un intervalle étroit représente un 0 binaire.
© 1998-2006 [email]Aurélien Jarno[/email]