Code-barres EAN
Un article de Wikipédia, l'encyclopédie libre.
Le code EAN (European Article Numbering) est un code à barres utilisé par le commerce et l'industrie conformément aux spécifications d'EAN International, organisme aujourd'hui remplacé par GS1.
Note : Il est connu en France sous le nom de GENCODE, à tort, puisque GENCOD était le nom de l'organisme français chargé de sa régulation nationale.
Historiquement, le code EAN est dérivé du code universel des produits développé dans les années 1970 par George Laurer (voir Historique du code barres).
Sommaire |
[modifier] Description sommaire
Le code UPC est en fait un code EAN commençant par 0 (zéro). EAN est un système global destiné à l'identification univoque d'objets. Le système UPC s'est maintenant rallié au système EAN.
Le numéro EAN identifie des articles ou des unités logistiques de façon unique. Sous forme de codes à barres, le numéro peut être lu par un scanner optique. Le numéro EAN constitue la base de contrôle du flux des marchandises, du fabricant à Taiwan jusqu'au consommateur final à Paris.
L'EAN est composé de 8 ou 13 chiffres représentés sous forme de séquences de barres noires et blanches formant un code à barres.
Ce type de code à barres se trouve sur la presque totalité de produits courants (alimentation, vêtements, droguerie, papeterie, électroménager, etc.).
- C'est le code qui est lu lors du passage aux caisses d'un supermarché.
Il existe des codes EAN 8 et des codes EAN 13, composés respectivement de 8 ou 13 chiffres.
- Les codes EAN 8 sont réservés à l'usage sur des produits de petite taille (paquets de cigarettes par exemple).
- Les codes EAN 13 sont utilisés sur tous les autres produits.
Le code EAN, comme tous les codes à barres, fait appel à des notions mathématiques assez pointues. Leur composition s'appuie sur des théories développées par de grands mathématiciens, pour tenir compte de nombreuses contraintes physiques permettant leur reconnaissance liées aux conditions de leur impression et de leur lecture (conditions qui nécessitent de pouvoir mesurer, séparer et mesurer les largeurs de barres, à des distances de lecture variable, sur différents types de capteurs et en l’absence de toute horloge ou mesure de référence).
Chacun des chiffres composant l’EAN peut, selon sa position dans le code, avoir trois représentations distinctes nommées :
- élément A,
- élément B ou
- élément C.
Les éléments B ne sont utilisés que pour certains types de codes basés sur EAN, quand le nombre de chiffres est suffisant. Ils permettent dans certaines conditions de coder un (voire plusieurs) chiffre supplémentaire sans élargir le code barre, tout en respectant les mêmes contraintes de lecture.
Les barres verticales noires et blanches utilisées sont caractérisées par une certaine largeur, qui est toujours multiple d'une certaine largeur élémentaire (nommée module).
- Dans la suite de ce document, une largeur dite de « 1 » correspond à une barre de largeur élémentaire,
- une largeur dite de « 2 » correspondra à une barre de largeur double de la largeur élémentaire, et ainsi de suite.
On doit noter que les codes à barres sont destinés à être lus à des distances différentes, et donc les capteurs ne mesurent pas la largeur réelle des barres, mais leurs écartement relatif, en détectant uniquement les zones de transition selon leur propre référence de mesure.
Cela induit des contraintes très élevées sur le codage, car ces capteurs n’ont au départ aucune idée de la largeur élémentaire utilisée dans le codage, et ils doivent la déduire de ce qu’ils captent, et être en mesure de détecter si ce qu’ils ont détecté correspond à la réalité du codage initial. Par conséquent, le codage intègre de nombreux points de contrôle permettant de régler automatiquement le décodeur aux particularités du support où ces codes à barres sont imprimés, et de vérifier la qualité de cette lecture dans les conditions variables où le capteur sera utilisé.
[modifier] Les éléments EAN
Les éléments EAN se caractérisent par une succession de quatre barres (deux barres claires alternées avec deux barres sombres) dont la somme des largeurs élémentaires vaut toujours 7.
- Chaque élément est constitué d'une succession de 4 barres de largeurs différentes,
- mais dont l'ensemble a une largeur totale de 7 fois la largeur élémentaire.
Le codage des éléments A, B et C se décompose comme suit :
- (un X représente une partie de barre noire, de largeur 1, un _ représente une partie de barre blanche, de largeur 1)
Remarques :
- Les colonnes des éléments A et B ci-dessus peuvent aussi être écrites sous la forme équivalente suivante où seules les largeurs des 4 barres successives (décrites de gauche à droite) sont indiquées (les largeurs de barres des éléments C sont identiques à celles des éléments A, elles sont seulement transcrites en négatif) :
- 0 : 3211 1123
- 1 : 2221 1222
- 2 : 2122 2212
- 3 : 1411 1141
- 4 : 1132 2311
- 5 : 1231 1321
- 6 : 1114 4111
- 7 : 1312 2131
- 8 : 1213 3121
- 9 : 3112 2113
- Les 20 groupes de 4 chiffres figurant ci-dessus représentent exactement
- l'ensemble des 20 permutations possibles de 4 chiffres non nuls telles que
- la somme de ces chiffres soit égale à 7 (ceci a un lien avec p4(7), le symbole pk(n) correspondant à la fonction partage d'un entier) ;
- p4(7) vaut 3 et
- l'on peut en effet écrire de 3 façons différentes :
7 = 4 + 1 + 1 + 1 = 3 + 2 + 1 + 1 = 2 + 2 + 2 + 1
- l'ensemble des 20 permutations possibles de 4 chiffres non nuls telles que
- On peut remarquer que les 2 permutations correspondant au codage d'un même chiffre (donc situées ci-dessus sur la même ligne) sont toujours symétriques l'une de l'autre.
- Le codage d'un chiffre par l'élément C est toujours le négatif de son codage par l'élément A (les barres noires et les barres blanches sont permutées), tandis que le codage d'un chiffre par l'élément B est toujours le symétrique de son codage par l'élément C !
- La structure du code permet de déterminer facilement le sens de lecture :
- la première colonne de codage des chiffres des éléments A et B est toujours vide, celle des chiffres des éléments C est toujours pleine ;
- la dernière colonne de codage des chiffres des éléments A et B est toujours pleine, celle des chiffres des éléments C est toujours vide.
- On peut donc en déduire que cette méthode de codage ne peut permettre de différencier
- que 10 caractères distincts (ici, les 10 chiffres de 0 à 9) et
- qu'elle ne pourrait donc pas servir à coder des caractères supplémentaires (donc pas de lettre !), et ainsi
- le codage permettra de reconnaître le chiffre, quel que soit le sens de lecture, et
- quelle que soit la couleur d'impression du code-barres (blanc sur fond noir, ou noir sur fond blanc par exemple)
[modifier] Les éléments spéciaux EAN
En plus des éléments servant à coder les chiffres, les codes EAN contiennent des éléments de zones de garde, permettant de « calibrer » les lecteurs de code-barres (voir cet article pour plus d'informations à ce sujet...)
[modifier] La zone de garde normale
La zone de garde normale (normal guard) est composée d'une bande noire, d'une bande blanche et d'une bande noire, et est située généralement à chacune des extrémités du code.
zone de garde normale [X_X]
[modifier] La zone de garde centrale
La zone de garde centrale (central guard) est composée d'une bande blanche, d'une bande noire, d'une bande blanche, d'une bande noire et d'une bande blanche et est située généralement au centre du code.
zone de garde centrale [_X_X_]
[modifier] Les codes EAN 8
Les codes EAN 8 sont composés de 8 chiffres.
La séquence des barres est alors :
- une zone de garde normale
- le 1er chiffre sous la forme d'un élément A
- le 2e chiffre sous la forme d'un élément A
- le 3e chiffre sous la forme d'un élément A
- le 4e chiffre sous la forme d'un élément A
- une zone de garde centrale
- le 5e chiffre sous la forme d'un élément C
- le 6e chiffre sous la forme d'un élément C
- le 7e chiffre sous la forme d'un élément C
- le 8e chiffre sous la forme d'un élément C
- une zone de garde normale
exemple : 90006323 se codera ainsi :
[X_X___X_XX___XX_X___XX_X___XX_X_X_X_X_X____X____X_XX_XX__X____X_X_X] -n-[ 9A ][ 0A ][ 0A ][ 0A ]--c--[ 6C ][ 3C ][ 2C ][ 3C ]-n-
[modifier] Les codes EAN 13
Les codes EAN 13 sont composés de 13 chiffres.
La séquence des barres est alors :
- une zone de garde normale
- le 2e chiffre sous la forme d’un élément A
- le 3e chiffre sous la forme d’un élément A ou d'un élément B
- le 4e chiffre sous la forme d’un élément A ou d'un élément B
- le 5e chiffre sous la forme d’un élément A ou d'un élément B
- le 6e chiffre sous la forme d’un élément A ou d'un élément B
- le 7e chiffre sous la forme d’un élément A ou d'un élément B
- une zone de garde centrale
- le 8e chiffre sous la forme d’un élément C
- le 9e chiffre sous la forme d’un élément C
- le 10e chiffre sous la forme d’un élément C
- le 11e chiffre sous la forme d’un élément C
- le 12e chiffre sous la forme d’un élément C
- le 13e chiffre sous la forme d’un élément C (chiffre clé)
- une zone de garde normale
La particularité des codes EAN 13 est que leur premier chiffre n'est pas codé sous la forme d'un élément EAN, mais dans la séquence d'enchaînement des types d'éléments des 6 chiffres qui le suivent.
La valeur du 1er chiffre se déduit des types d'éléments entre le 2e chiffre et le 7e chiffre à l’aide du tableau suivant :
1er chiffre Suite des éléments EAN entre le 2e et le 7e chiffre 0 [AAAAAA] 1 [AABABB] 2 [AABBAB] 3 [AABBBA] 4 [ABAABB] 5 [ABBAAB] 6 [ABBBAA] 7 [ABABAB] 8 [ABABBA] 9 [ABBABA]
On peut remarquer que la structure de ce code oblige la présence d'un élément de type A en première position, afin de permettre la distinction avec un élément de type C en dernière position quand le code barre est lu à l'envers, ou quand le code barre est imprimé en négatif. Et si un élément B est présent, il ne peut y en avoir que 2 ou 3 dans le codage des 6 chiffres suivant le premier chiffre du code EAN.
Exemple :
Prenons l’exemple d'un code à 13 chiffres : 9782218048690
Le premier chiffre étant un 9, la séquence doit donc être :
[ABBABACCCCCC]
soit :
[X_X_XXX_XX___X__X__XX_XX__X__XX_XX__XX_XX_XXX_X_X_XXX__X_X_XXX__X__X___X__X___XXX_X__XXX__X_X_X] [ ][ 7A ][ 8B ][ 2B ][ 2A ][ 1B ][ 8A ][ ][ 0C ][ 4C ][ 8C ][ 8C ][ 9C ][ 0C ][ ]
Notons que le dernier chiffre d'un code EAN 13 est toujours une clé de contrôle (check digit), calculée à partir des douze premiers chiffres (somme de produits modulo 10).
Ce 13e chiffre peut être calculé en sachant qu'il représente toujours le chiffre des unités du complément à 10 du chiffre des unités d'un nombre dont le calcul est le suivant :
- Trois fois la somme des chiffres « un sur deux » (chiffres de rang pair) en partant du second de droite à gauche,
- augmentée de la somme des chiffres « un sur deux » (chiffres de rang impair) en partant du premier de droite à gauche.
Exemple :
978221804869x se décompose comme :
_7_2_1_0_8_9 → somme : 27 9_8_2_8_4_6_ → somme : 37 3*27+37 = 118 dont le chiffre des unités est 8. 10-8= 2 dont le chiffre des unités est 2.
2 est donc la « clé » du code-barres EAN 13 : 9782218048692.
(Ce code commençant par 978, il s'agit d'un code à barres utilisé sur un ouvrage littéraire, et son ISBN est alors le 2-218-04869-8)
Pour plus de détails, voir Code ISBN.
[modifier] Les codes EAN 13+2 et EAN 13+5
Les codes EAN 13 peuvent être suivis d'un « add-on » (complément) de 2 ou 5 chiffres dont voici la structure.
|
[modifier] Pays
Les 2 ou 3 premiers chiffres de l'EAN indiquent dans quel pays l'entreprise est membre du système EAN.
La liste ci-dessous donne la correspondance entre les premiers chiffres et les pays ainsi que leur organisme de régulation national.
Attention, ils n'indiquent pas toujours le pays de production,
il peut s'agir du pays où est situé le siège social de l'entreprise ou l'un de ses sièges sociaux.
L'organisme de régulation national est chargé de l'octroi des numéros de membres pour chacun des pays.
Le numéro de membre est le code à 4 ou 5 positions qui suit l'identifiant du pays.
Sources : http://www.gs1.org/productssolutions/barcodes/support/prefix_list.html (code)
et http://www.gs1.org/contact/worldwide.php?action=alphabetically (site ou courriel)
Note: les codes commençant par 2 sont libres d'utilisation, il n'est pas nécessaire d'être membre du système EAN pour les utiliser.
Ils ne peuvent en revanche pas servir à l'identification du producteur.
Ils sont fréquemment utilisés dans les supermarchés pour les produits qui pour une raison ou une autre ne sont pas marqués du symbole EAN (produits vendus à la coupe, venant d'un pays en voie de développement ou d'une petite entreprise)
[modifier] Voir aussi
- Échange de données informatisées
- Code QR
- Datamatrix
- Une "console" : Le Barcode Battler