EXPLICATION

Le code à barres est présent partout : grande distribution, industrie, monde médical, transport express...
Mais comment cela se passe-t-il ?

Qu´importe l'instrument de lecture (douchette à diodes, scanner laser), le traitement consiste toujours à éclairer les raies à l'aide d'une rampe lumineuse : les raies noires absorbent la lumière, les blanches la réfléchissent. La lumière est ensuite reçue et analysée par une série de capteurs placés dans la tête de la douchette. Ils modulent un signal électrique qui est converti en valeurs numériques binaires 0 (correspondant à une raie étroite) ou 1 (une raie large).
Il existe plusieurs variantes du code à barres (code EAN pour la grande distribution, code Monarch utilisé dans le domaine médical, code 39, code "2 parmi 5 entrelacé",etc.) qui diffèrent par la densité, la présence de codes de contrôle et par leur disposition.

Aujourd'hui on rencontre également des codes à barres à lecture tridimensionnelle qui permettent le stockage de nombreux caractères numériques et alphanumériques.

CALCUL DU DIGIT DE CONTROLE DES CODES UPC/EAN

Procédure générale :
Désigner le chiffre le plus à droite comme impair.
Additionner tous les chiffres en position impaire et multiplier le résultat par 3.
Additionner tous les chiffres en position paire.
Additionner le résultat des 2 points précédents.
Déterminer le chiffre le plus petit qui additionné au résultat du point précédent nous donne un multiple de 10. Ce chiffre est le digit de contrôle.

Par exemple, le calcul du digit de contrôle des codes UPC-A et UPC-E peut être effectué comme suit :

Chiffre système    0
Code 0123456789
Code complet 0 0 1 2 3 4 5 6 7 8 9
Position I P I P I P I P I P I
Somme des positions impaires 0 + 1 + 3 + 5 + 7 + 9 = 25
Somme * 3 25 * 3 = 75
Somme des positions paires 0 + 2 + 4 + 6 + 8 = 20
Somme des pairs et impairs 20 + 75 = 95
Plus petit chiffre pour obtenir un multiple de 10 : 5
Digit de contrôle = 5
Code à utiliser = 001234567895

Le calcul du digit de contrôle des codes EAN/JAN-13 peut être effectué comme suit :

Chiffre système    20
Code 0123456789
Code complet 2 0 0 1 2 3 4 5 6 7 8 9
Position P I P I P I P I P I P I
Somme des positions impaires 0 + 1 + 3 + 5 + 7 + 9 = 25
Somme * 3 25 * 3 = 75
Somme des positions paires 2 + 0 + 2 + 4 + 6 + 8 = 22
Somme des pairs et impairs 22 + 75 = 97
Plus petit chiffre pour obtenir un multiple de 10 : 3
Digit de contrôle = 3
Code à utiliser = 2001234567893

PREFIXES

Les premiers chiffres du code à barres nous renseignent sur la provenance du produit.
Voici une liste des Instituts nationaux associé aux préfixes :

Préfixes
Associations nationales
00 - 09 UCC (U.S.A. + Canada)
20 - 29 In-store numbers
30 - 37 GENCOD (France)
40 - 43 CCG (Germany)
460 - 469 USSR CCI (USSR)
471 ANC of ROC (Taiwan)
489 HKANA (Hong Kong)
49 Distribution Code Center (Japan)
50 ANA Ltd. (UK) and ANA of Ireland
520 HELLICAN (Greece)
5299 Cyprus Chamber of Commerce and Industry (Cyprus)
54 ICODIF (Belgium + Grand Duchy of Luxemburg)
560 CODIPOR (Portugal)
569 Iceland EAN-Committee (Iceland)
57 Dansk Varekode Administation (Denmark)
590 Polish Chamber of Foreign Trade (Poland)
599 Humgarian Chamber of Commerce (Hungary)
600 - 601 SAANA (South Africa)
64 Central Chamber of Commerce (Finland)
70 Norsk Varekodeforening (Norway)
729 Israel Coding Associaton (Israel)
73 Swedish EAN Committee (Sweden)
750 AMECOP (Mexico)
759 CIP (Venezuela)
76 SACV (Switzerland)
770 IAC (Colombia)
773 CUNA (Uruguay)
775 APC (Peru)
779 CODIGO (Argentina)
780 CNC - DEPCO (Chile)
789 ABAC (Brazil)
80 - 83 INDICOD (Italy)
84 AECOC (Spain)
850 Camera di Commercio de la Republica de Cuba (Cuba)
859 Czechoslovak CCI (Czechoslovakia)
860 JANA (Jugoslavia)
869 Union of Chambers of Commerce of Turkey (Turkey)
87 STICHTING UAC (Netherlands)
880 KORREA CCI (South-Korea)
885 Thai Product Numbering Association Ltd. (Thailand)
888 SANC (Singapore)
90 - 91 EAN - AUSTRIA (Austria)
93 APNA Ltd. (Australia)
94 NZPNA Ltd. (New Zealand)
955 Malaysian Article Numbering Council (Malaysia)
959 PNGPNA (Papua New Guinea)
977 Periodicals (ISSN)
978 - 979 Book (ISBN)
98 - 99 Coupon numbers

LIENS

MISE A JOUR DU 22/02/2008 :
En savoir plus sur les codes barres à 2 dimensions (QR Code), via Wikipedia (FR) et plus complet en anglais. Logiciels de (dé)codage pour QR Code.

MISE A JOUR DU 11/02/2010 :
QRCode est une fonction PHP permettant de générer facilement des codes barres de type QR : PHP QR Code Generator.

MISE A JOUR DU 25/08/2014 :
Un code QR, c'est quoi ? http://open-freax.fr/code-qr-explications/