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[1].
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[2].
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. Plus précisément :
- 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 :
- On peut remarquer que 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'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.
- 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 super-marché, 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 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
- On voit que cette méthode de codage peut permettre de différencier 10 caractères distincts (ici, ce sont les 10 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
-
[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...), à savoir deux zones de garde normales (généralement latérales) et une zone de garde centrale.
[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 ][ 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 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] L'EAN 128
L'EAN 128 est un standard international permettant l'échange de données entre producteurs et distributeurs. Ils sont représentés graphiquement sous forme d'un code à barres, de taille variable mais ne devant pas dépasser 48 caractères de données.
L'EAN128 utilise la symbologie du code 128, il 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 donc pas comptés dans la longueur disponible[3].
L'EAN 128 n'est pas un code à barres, c'est une normalisation utilisant la symbologie code 128 pour sa représentation graphique[3].
Il sont composés de un ou plusieurs identifiant (de taille fixes) et de la donnée correspondante (de taille fixe ou variable suivant la normalisation de l'identifiant précédant).
Ils servent à identifier et tracer des produits dans une optique logistique. Entre autre 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.
Identifiant | Description | Longueur identifiant | Longueur donnée | Longueur totale |
---|---|---|---|---|
00 | Identifie le N° 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é sur les 13 caractères précédant. | 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 des ces produits sont contenu 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'a 20 cractères) | 2 | 1 a 20 | 3 a 22 |
15 | Indique une DLUO (date limite d'utilisation optimum) suivi de cette date au format AAMMJJ (année sur 2 caractères + Mois sur 2 caractères + jours sur 2 caractères) | 2 | 6 | 8 |
17 | Indique une DLC (Date limite de consomation) suivi de cette date au format AAMMJJ (année sur 2 caractères + Mois sur 2 caractères + jours sur 2 caractères) | 2 | 6 | 8 |
310X | Identifie le poids net de produit contenu dans la palette ou le colis. X doit donner le nombre de décimale a prendre en compte dans la données qui suit. Cette donnée est sur 6 caractères sans la virgule (ou le point) avec X décimales. Cet identifiant ne doit être présent que pour les articles a poids variable. Ca implique que dans les identifiants 01 ou 02 l'ITF14 commence par un 9 et que la clef de ces identifiant soient recalculé 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 a 8 | 3 a 10 |
... | ||||
91 a 99 | Applications interne. Permet aux entreprises de s'appuyer une l'EAN128 et de gérer des spécifications ou des codifications non prévues par la norme. | 2 | 1 a 30 | 3 a 32 |
Attention : 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 ou la donnée est à sa taille maximale ou positionnée a la fin du code barre, 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 N° 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 EAN128 est très souvent accompagné d'une représentation textuelle des données. Dans cette symbolisation, les identifiants sont entouré de parenthèses pour permettre une lecture visuelle simplifie pour une personne ayant des connaissance minimales en EAN 128. Ces parenthèses ne sont pas encodées dans le code barre.
Ainsi dans l'agro-alimentaire il n'est pas rare d'avoir des colis identifié comme ceci :
(01)0312345600001C(15)071231(10)LOTA Identifiant article 0312345600001C Date limite au 31/12/2007 Lot N°LOTA
(01)9312345600002C(15)071231(3103)012000(10)LOTB Identifiant article 9312345600001C c'est donc un poids variable Date limite au 31/12/2007 Poids net produit 012,000 Kg Lot N°LOTB
Toutes Les informations sur les codes EAN128 sont disponibles auprès de GS1 [1] ou autre organisme agrée.
[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[4].
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.
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
- EAN 13
- EAN 8
- UPC
- ISBN
- Échange de données informatisées
- Code QR
- Datamatrix
- Une "console" : Le Barcode Battler
[modifier] Notes
- ↑ Site officiel, GS1. Consulté le 16 mai 2007
- ↑ Historique du code barres, Gomaro. Consulté le 16 mai 2007
- ↑ a b c UCC ou EAN 128, Gomaro. Consulté le 16 mai 2007
- ↑ Préfixes EAN, Gomaro. Consulté le 16 mai 2007
- ↑ Préfixes EAN, GS1. Consulté le 16 mai 2007
- ↑ URL des organismes de régilation nationaux, GS1. Consulté le 16 mai 2007