- European Article Numbering
-
Code-barres EAN
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[1]. 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[2].
Sommaire
Description sommaire
Le code UPC est 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[Quand ?] 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 à Taïwan 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.). Le code est lu lors du passage aux caisses des commerces.
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 structure tient compte des contraintes physiques liées aux conditions de leur impression et de leur lecture. En effet, leur reconnaissance nécessite de pouvoir séparer et mesurer les largeurs des 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-barres, 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, on adopte les conventions suivantes :
- une largeur dite de « 1 » correspond à une barre de largeur élémentaire ;
- une largeur dite de « 2 » correspond à une barre de largeur double de la largeur élémentaire, et ainsi de suite.
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 écartements relatifs, 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. Ils doivent donc 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é.
Les éléments EAN
Les éléments EAN se caractérisent par une succession de quatre barres (deux barres claires qui alternent avec deux barres sombres) dont la somme des largeurs élémentaires vaut toujours 7. Plus précisément :
- chaque élément est constitué d'une succession de quatre barres de largeurs différentes ;
- mais dont l'ensemble a une largeur totale de sept 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 codages B et C d'un même chiffre (donc situés ci-dessus sur la même ligne) sont toujours symétriques l'un 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).
- 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.
- Ce type de codage permet donc de reconnaître un chiffre :
- quel que soit le sens de lecture (c'est pourquoi on peut, à une caisse de supermarché, présenter un produit dans n'importe quelle position) ;
- quelle que soit la couleur d'impression du code-barres (blanc sur fond noir, ou noir sur fond blanc par exemple).
- Les colonnes des éléments A et B ci-dessus peuvent aussi être écrites sous la forme équivalente suivante où seules les largeurs des quatre 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
- On voit que cette méthode de codage peut permettre de différencier 10 caractères distincts (ici, ce sont les dix chiffres de 0 à 9) ;
- En revanche, elle ne pourrait pas servir à coder des caractères supplémentaires (donc pas de lettre) ;
- En effet : 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 ; en effet
- p4(7) vaut 3 et
- l'on ne peut écrire 7 - sous la forme d'une somme de 4 entiers positifs - que de 3 façons différentes :
- 7 = 4 + 1 + 1 + 1 = 3 + 2 + 1 + 1 = 2 + 2 + 2 + 1
- ces 3 "façons" générant respectivement, par permutation de leurs 4 chiffres, les 4 + 12 + 4 variantes suivantes :
- 4+1+1+1=1+4+1+1=1+1+4+1=1+1+1+4
- 3+2+1+1=3+1+2+1=3+1+1+2=2+3+1+1=2+1+3+1=2+1+1+3=1+3+2+1=1+2+3+1=1+1+3+2=1+1+2+3=1+2+1+3=1+3+1+2
- 2+2+2+1=2+2+1+2=2+1+2+2=1+2+2+2
-
-
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, à savoir deux zones de garde normales (généralement latérales) et une zone de garde centrale.
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]
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_]
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-
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 ou d'un élément B
- 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.
De la valeur du 1er chiffre se déduisent les 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-barres est lu à l'envers, ou quand le code-barres est imprimé en négatif. Et si un élément B est présent, il ne peut y en avoir que deux ou trois 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 ][ 6C ][ 9C ][ 0C ][ ]
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 livre, et son ISBN-10 est alors : 2-218-04869-8.
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.
Certains codes EAN13 sont suivis d'un « supplément » de 2 ou 5 chiffres, notamment sur les livres et magazines.
Ce supplément est codé à l'aide des tables A et B.
Le choix, pour chaque chiffre du supplément, de la table A ou B dépend d'une somme de contrôle qu'il faut calculer.
Supplément à 2 chiffres :
Calcul de la somme de contrôle :
Soit x, la valeur du supplément
Soit m le nombre divisible par 4
immédiatement inférieur à xLa somme de contrôle est :
x - m
Exemple :
x = 35 --> m = 32
Somme contrôle = 35 - 32 = 3Somme
de contrôlechiffre 1 chiffre 2 0 A A 1 A B 2 B A 3 B B Supplément à 5 chiffres
Calcul de la somme de contrôle :
Soit x, la somme des chiffres de rang pairs
et y la somme des chiffres de rang impairsCalculons
Soit m le nombre divisible par 10
immédiatement inférieur à zvoir : Modulo (informatique)
La somme de contrôle est :
z - m
Exemple :
Soit le supplément = 12345
x = 2 + 4 = 6
et
y = 1 + 3 + 5 = 9
donc
z = 9 * 6 + 3 * 9 = 81
Somme contrôle = 81 - 80 = 1Somme
de contrôlechiffre 1 chiffre 2 chiffre 3 chiffre 4 chiffre 5 0 B B A A A 1 B A B A A 2 B A A B A 3 B A A A B 4 A B B A A 5 A A B B A 6 A A A B B 7 A B A B A 8 A B A A B 9 A A B A B Un supplément débute par un délimiteur spécial de quatre modules dont la formule est
- 1011 et
- chaque caractère, sauf le dernier, est suivi d'un séparateur de formule 01.
L'EAN 128
L'EAN 128 est un standard international permettant l'échange de données entre producteurs et distributeurs. Les codes sont représentés graphiquement sous forme d'un code à barres, de taille variable mais ne devant pas dépasser quarante-huit caractères de données.
L'EAN 128 n'est pas à proprement parler un code à barres ; c'est une normalisation utilisant la symbologie code 128 pour sa représentation graphique[3] : un code EAN 128 commence par le caractère Fonction 1 (FNC1)[3] et se termine par un code de contrôle. Ces deux caractères obligatoires ne sont pas comptés dans la longueur disponible[3].
Les codes EAN 128 sont composés de un ou plusieurs identifiants (de taille fixe) et de la donnée correspondante (de taille fixe ou variable suivant la normalisation de l'identifiant précédent).
Ils servent à identifier et tracer des produits dans une optique logistique. Entre autres : un marquage des unités logistiques (cartons contenant plusieurs articles), un suivi de produits expédié en palettes ainsi que d'éventuelles dates de péremption des articles.
Identifiants principaux Identifiant Description Longueur identifiant Longueur donnée Longueur totale 00 Identifie le numero de palette ou colis suivie du code SSCC (numéro séquentiel de colis) 2 18 20 01 Identifie le contenu de la palette ou du carton par un Code EAN 13 sur 14 (précédé du 0) ou un ITF 14 ; le dernier caractère est toujours une clef EAN calculée sur les 13 caractères précédents. 2 14 16 02 Identifie le produit contenu dans la palette ou le carton comme l'identifiant 01, mais implique la présence de l'identifiant 37 pour indiquer combien de ces produits sont contenus dans la palette ou le carton. 2 14 16 10 Indique un numéro de lot. Le numéro de lot suivant cet identifiant est de taille variable (jusqu'à 20 caractères) 2 1 à 20 3 à 22 15 Indique une DLUO (date limite d'utilisation optimum) suivie de cette date au format AAMMJJ (année sur deux caractères + mois sur deux caractères + jours sur deux caractères) 2 6 8 17 Indique une DLC (Date limite de consommation) suivie de cette date au format AAMMJJ (année sur deux caractères + mois sur deux caractères + jours sur deux caractères) 2 6 8 310X Identifie le poids net de produit contenu dans la palette ou le colis. X indique le nombre de décimales à prendre en compte dans la donnée qui suit. Celle-ci est présentée sur 6 caractères y compris les X décimales (le point décimal ou la virgule ne doit pas figurer parmi les 6 caractères). Cet identifiant ne doit être présent que pour les articles à poids variable. Cela implique que, dans les identifiants 01 ou 02, l'ITF14 commence par un 9 et que la clef de ces identifiants soit recalculée en conséquence. 4 6 10 37 Identifie le nombre de produits contenu dans la palette ou le colis. Implique l'utilisation de l'identifiant 02 et l'absence de l'identifiant 01 2 1 à 8 3 à 10 ... 91 a 99 Pour applications internes. Permet aux entreprises de s'appuyer sur l'EAN 128 pour gérer des spécifications ou des codifications non prévues par la norme. 2 1 à 30 3 à 32 Si les identifiants avec des données à taille variable sont suivis d'un autre identifiant (avec des données de taille fixe ou variable) et que la taille de la donnée n'est pas la taille maximum, il faut faire suivre la donnée variable du caractère de contrôle GS (code ASCII 29). Ce caractère permet d'indiquer la fin de la donnée. Dans le cas où la donnée est à sa taille maximale ou positionnée à la fin du code-barres, ce caractère ne doit pas être renseigné. C'est pour cette raison que, la plupart du temps, les zones variables sont positionnées à la fin des codes barres (par exemple le numéro de lot (10) ou les quantités (37)).
Pour des raisons de décodage des identifiants, il n'est pas possible de trouver deux identifiants commençant par les mêmes chiffres (par exemple (10) et (101)) puisque la lecture chiffre à chiffre du code-barres empêcherait de les décoder (cet exemple explique qu'aucun identifiant de 100 à 109 ne peut donc exister).
Un code EAN 128 est très souvent accompagné d'une représentation textuelle des données. Dans cette symbolisation, les identifiants sont entourés de parenthèses pour permettre une lecture visuelle simplifiée pour une personne ayant des connaissances minimales en EAN 128. Ces parenthèses ne sont pas encodées dans le code-barres.
Ainsi dans l'agro-alimentaire il n'est pas rare d'avoir des colis identifiés comme ceci :
(01)0312345600001C(15)071231(10)LOTA Identifiant article 0312345600001C Date limite au 31/12/2007 Lot no LOTA
(01)9312345600002C(15)071231(3103)012000(10)LOTB Identifiant article 9312345600002C c'est donc un poids variable Date limite au 31/12/2007 Poids net produit 012,000 Kg Lot no LOTB
Toutes les informations sur les codes EAN 128 sont disponibles auprès de GS1[4] ou d'autre organisme agréé.
Pays
Les deux ou trois 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[5]. 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.
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. Ceux-ci sont fréquemment utilisés dans les supermarchés pour des produits qui pour une raison ou une autre ne sont pas marqués du symbole EAN, comme les produits vendus à la coupe, venant d'un pays en voie de développement ou d'une petite entreprise.
Notes et références
- ↑ (en) Site officiel de GS1, GS1. Consulté le 16 mai 2007
- ↑ Historique du code-barres, Gomaro. Consulté le 16 mai 2007
- ↑ a , b et c UCC ou EAN 128, Gomaro. Consulté le 16 mai 2007
- ↑ Site de GS1 France
- ↑ Préfixes EAN, Gomaro. Consulté le 16 mai 2007
- ↑ (en) Préfixes EAN, GS1. Consulté le 16 mai 2007
- ↑ (en) URL des organismes de régulation nationaux, GS1. Consulté le 16 mai 2007
Voir aussi
- EAN 13
- EAN 8
- UPC
- ISBN
- Échange de données informatisées
- Code QR
- Datamatrix
- Semacode
- Barcode battler, console
- Portail de l’informatique
- Portail de l’industrie
- Portail des transports
Catégories : Code-barres | Identifiant
Wikimedia Foundation. 2010.