Le code EAN ou EAN () est un code-barres utilisé par le commerce et l'industrie conformément aux spécifications d’, organisme aujourd'hui renommé GS1. Il est aussi connu en France sous le nom de Gencod, à tort puisque Gencod était le nom de l'organisme chargé de sa régulation nationale.vignette|Code EAN 13.
Historiquement, le code EAN est dérivé du code universel des produits (UPC, ou Universal Product Code) développé dans les années 1970 par George Laurer.
La dénomination actuelle est GTIN (Global Trade Item Number).
Description sommaire
EAN est un système global destiné à l'identification univoque d'objets. Le code UPC, précurseur des codes EAN, a été englobé dans ces derniers simplement en ajoutant un préfix qui va de 0 à 9, le chiffre 0 (zéro) étant réservé aux codes UPC. Le système UPC s'est rallié au système EAN en "The Universal Product Code or UPC barcode was the first bar code symbology widely adopted. Its birth is usually set at April 3, 1973, when the grocery industry formally established UPC as the standard bar code symbology for product marking. Foreign interest in UPC led to the adoption of the EAN code format, similar to UPC, in December 1976. " https://www.adams1.com/upccode.html.
Le numéro EAN identifie des articles ou des unités logistiques de façon unique. Codé sous forme de codes à barres, le numéro EAN peut être lu par un lecteur spécifique, dit lecteur de codes-barres. Le numéro EAN constitue la base de contrôle du flux des marchandises, du fabricant jusqu'au consommateur final.
L'EAN est composé de 8, 13 ou représentés sous forme de séquences de barres noires et blanches formant un code à barres. droite|vignette|Code au dos d'un ancien livre publié avant 2007, sous son code correspondant.
gauche|vignette|Code EAN 8.Ce type de code à barres se trouve sur presque la totalité des produits courants (alimentation, vêtements, pharmacies, papeterie, électroménager, etc.). Le code est lu lors du passage aux caisses des commerces et plus généralement au moyen de lecteurs de code à barres qui peuvent être disposés dans les grandes surfaces, à la disposition des clients comme au service des caisses.
Il existe des codes EAN 8 et des codes EAN 13, composés respectivement de 8 ou : 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 dans les domaines alimentaire et non-alimentaire ; Le Code 128 (anciennement EAN 128) est un code-barres qui encode plusieurs informations numériques et alphanumériques structurées par la présence d'identifiants d'application (AI); l'AI (01) indique la présence d'un GTIN sur 14 positions, l'AI (21) un numéro de série jusqu'à 20 caractères, etc. . Il est essentiellement utilisé pour la logistique et certains produits de santé. Le système des codes EAN, comme tous les systèmes de codes à barres, fait appel à des notions d'arithmétique modulaire. Sa structure tient compte des contraintes physiques liées aux conditions de leur impression et de leur lecture.
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, é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(s) supplémentaire(s) sans élargir le code-barres, tout en respectant les mêmes contraintes de lecture.
Les barres verticales noires et blanches utilisées sont des Codes Linéaires dont les barres élémentaires sont toutes de même largeur, dite largeur élémentaire ou module. Il en résulte que les largeurs des barres verticales sont toutes des multiples de ce module : une barre de largeur 1 correspond à une seule barre élémentaire ; une barre de largeur 2 correspond à élémentaires de même couleur ; une barre de largeur 3 correspond à élémentaires de même couleur ; une barre de largeur 4 correspond à élémentaires de même couleur ;
Les codes à barres sont destinés à être lus à des distances différentes, et donc les lecteurs ne mesurent pas la largeur réelle des barres, mais leurs largeurs relatives, en détectant uniquement les zones de transition selon leur propre référence de mesure.
Cela induit des contraintes élevées sur le codage, car ces lecteurs n’ont au départ aucune information sur 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éterminer si ce qu’ils ont détecté correspond à la réalité du codage initial. Par conséquent, le codage intègre plusieurs points de contrôle permettant de régler automatiquement le lecteur 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 lecteur sera utilisé.
É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 vaut toujours 7 modules. Il y a donc au total 7 barres élémentaires dans un élément. Chacune de ces barres est elle-même constituée de la juxtaposition de 1 à 4 barres élémentaires de même couleur.
Chaque élément peut être représenté en binaire par une suite de 7 bits : un X ou 1 correspondant à une barre élémentaire noire, un _ ou 0 correspondant à une barre élémentaire blanche
Voici les représentations des 10 chiffres comme éléments A, B ou C : Fichier:codbar EAN abc.png
Les éléments ci-dessus peuvent aussi être représentés sous la forme équivalente suivante où seules les largeurs des quatre barres successives (décrites de gauche à droite) sont indiquées (les éléments A et C se distinguent uniquement par la couleur de la première barre) : chiffre élément A ou C élément B 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
Remarques La structure du code permet de reconnaître facilement le type d'un élément par sa parité (à savoir si le nombre de 1 est pair ou impair) et par son premier ou son dernier bit : parité impaire, commence par 0, se termine par 1 → élément A parité paire, commence par 0, se termine par 1 → élément B parité paire, commence par 1, se termine par 0 → élément C parité impaire, commence par 1, se termine par 0 → élément incorrect
Les codages B et C d'un même chiffre (donc situés ci-dessus sur la même ligne du premier tableau) sont toujours symétriques l'un de l'autre. Il en résulte que si le code est lu à l'envers, un élément de type B apparaît comme un élément de type C et un élément de type C apparaît de type B. Par contre un élément de type A lu à l'envers est incorrect. Il y a donc toujours au moins un élément de type A dans le code afin de déterminer le sens de lecture : pour le code EAN-8 ce sont tous les éléments de gauche, et pour le code EAN-13, le deuxième élément est toujours de type A.
Le codage d'un même chiffre comme élément C est toujours le complément de son codage comme élément A (les 1 et les 0 sont permutées). il en résulte que si un élément qui devrait être de type A est de type C, c'est que les couleurs sont inversées : blanc → 1 et noir → 0
Il découle des remarques précédentes que le codage EAN permet de lire le code : 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).
Le codage EAN peut permettre de différencier 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 de figurant dans le deuxième tableau représentent exactement l'ensemble des possibles de 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
É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 latérales et une zone de garde centrale obligatoire séparant les types d'éléments codants autorisés de part et d'autre de celle-ci.
Zone de garde normale La zone de garde normale () 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 (début et fin).
zone de garde normale :
Ce codage impose que les éléments qui suivent la zone de garde de début ne peuvent être que de type A ou B (ou une zone de garde centrale) pour ne pas accoler des modules de même couleur élargissant une barre noire ou blanche. De même il impose que les éléments qui précèdent la zone de garde de fin ne peuvent être que de type C (ou une zone de garde centrale).
Le codage complet nécessite également d'inclure une marge d'au moins deux modules nuls de chaque côté du code-barres complet pour identifier correctement la zone de garde.
La lecture du code barre se fait de façon différentielle en balayant le code dans un sens quelconque avec un pinceau laser au moins deux fois plus fin que les largeurs de barres imprimées mais plus large que les imperfections d'impression, afin de détecter les points de contraste qui provoquent deux pics de signal très rapprochés (un pic positif et un pic négatif), puis en ne tenant compte que des pics positifs (Cela permet de lire un code dont les couleurs seraient inversées et pas parfaitement blanches et noires).
Le calibrage se fait ensuite en mesurant le temps avec une horloge de fréquence élevée (au moins deux fois supérieure à celle séparant le passage du laser d'un module à l'autre) les pics de signal qui doivent se situer dans des intervalles de tolérance. La lecture est possible malgré les imperfections de géométrie du support (non parfaitement plat) et même quand celui-ci est en mouvement (avec une vitesse à peu près stable par rapport au lecteur).
Du fait de la présence des marges, des zones de garde et des contraintes de type d'élément codés à côté, il y aura toujours au moins la séquence [001010] en tête de code créant quatre points de contraste à distance égale : un début de code est détecté et calibre la lecture du reste du code lorsque les trois intervalles de temps mesurés entre ces quatre points de contraste sont à peu près égaux (avec une marge de tolérance), ce qui permet ensuite de détecter les autres points de contraste de la totalité du code.
La lecture est validée dans un premier temps lorsque les zones de garde médianes et finales sont détectées à une distance égale à un multiple connu du calibrage initial (avec une tolérance dépendant de la longueur maximale du code entre les zones de garde) et que les autres éléments codants (entre les zones de garde) ont des points de contraste également détectés à ces multiples du temps de calibrage mesuré sur les barres les plus fines des zones de garde.
Zone de garde centrale
La zone de garde centrale () ou zone médiane 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 : [01010]