La première version du code-barre, brevetée en 1952, était circulaire. Cela était censé en faciliter la lecture, mais les défauts d'impression pouvaient rendre le code illisible. Il fut donc remplacé par le code barre horizontal.
Nos applications mobilesFacebookTwitterFeeds16402 anecdotes - 368 lecteurs connectés
La première version du code-barre, brevetée en 1952, était circulaire. Cela était censé en faciliter la lecture, mais les défauts d'impression pouvaient rendre le code illisible. Il fut donc remplacé par le code barre horizontal.
Commentaires préférés (3)
Depuis des décennies, j'avais toujours entendu dire que le premier à utiliser les code-barres, avaient été la NASA, afin de suivre les milliers de pièces nécessaires à ses programmes spatiaux.
Or en fouillant le Net, je trouve surtout référence de l'emploi du code Datamatrix, pour le suivi des pièces utilisées dans la construction des navettes Spatiales.
fr.m.wikipedia.org/wiki/Datamatrix
Une petite anecdote à propos du code-barres.
Depuis l'implémentation des caisses automatiques dans les supermarchés, des filous ont trouvé la combine pour tromper les code barres.
Ceci fut, par exemple, le cas d'un jeune à Montbéliard, qui réussit à acheter une PS4, pour son poids équivalent en oranges... 9,29 €uros, pour un bien à 340 €.
Fort de son succès, il voulut répéter sa prouesse le lendemain... Il s'est fait gauler.
www.lefigaro.fr/conso/2018/06/26/20010-20180626ARTFIG00015-avec-les-caisses-en-libre-service-les-supermarches-face-a-une-hausse-des-vols.php
Avec une console, ou bouteille avec une alarme dessus, forcément la ça se voit...
Merci pour le datamatrix, ça ressemble beaucoup au QR code, je vais creuser le truc me suis jamais posé la question de l'origine j'avoue.
En effet, le problème initial (entre autre, le cahier des charges demandait également qu'il soit peu cher, imprimable facilement, prenant peu de place, lisible sur différent supports dont certains mous...) était de le lire quel que soit l'orientation d laser, d'ou le premier prototype de code barre circulaire symétrique.
Mais la solution était très simple : faire rebondir le laser dans des miroirs, pour le dupliquer, avec deux lasers perpendiculaire. Quelque soit le sens de lecture, au moins un des deux lasers permet de lire un code barre carré en entier.
Et c'est pas le seul problème auquel a du faire face le code barre :
- comment faire si le code barre commence par du blanc ? => toujours délimiter le carré par une triple bande noir-blanc-noir (ce qui permet en plus de calibrer le laser)
- comment rajouter un max d'info sans trop agrandir le carré ? => mettre un deuxième carré a coté, pour éviter d'avoir un code barre trop haut. Réutiliser le marqueur noir-blanc-noir entre les deux carrés. Le code barre devait faire 10 chiffres, on a ainsi 5 chiffres d'un coté, 5 de l'autre. chaque chiffre est codé par 7 barres, 128 possibilité pour 10 chiffres, on est large... a priori.
- comment éviter les erreurs de lecture (reflets, déformations...) => utiliser la parité. imposer par exemple que le nombre de traits noir par chiffre soit pair, ça permet de détecter les erreurs simple, au prix d'une barre. Il en reste 6, 64 possibilité.
- comment ne pas se tromper entre gauche et droite ? => utiliser la parité, le premier carré sera impair, le deuxième pair.
- comment gérer le cas ou un code barre a 17 bandes noires de large, sans erreur de lecture => alterner le noir et le blanc, pas plus de 4 bandes d'une même couleur. On impose du blanc au début, du noir a la fin : on divise par 4, on est a 16. On enlève ceux ne respectant pas les combinaisons de plus de 4 bandes noire/blanche d'affilés, on arrive à ... 10 chiffres.
- Parfois, des erreurs arrivent quand même, sans détection, il faut plus de robustesse => faire la somme des impairs * 3, plus la somme des pairs, modulo 10 (ça détecte plus d'erreur que de faire la somme des chiffres, modulo 10).
- comment rajouter ce chiffre sans réimprimer et refaire des machines ? => revoir le système d'impair a gauche et pair a droite. tant que le premier et le dernier chiffre d'un code est de la même parité, on détecte le sens de lecture. On peux utiliser les 8 chiffres du milieu comme des bits, rajoutant de l'info : on peut ainsi sans problème rajouter cette information.
source : la conf de Gilles Debunne au DevFest Toulouse 2019 (www.youtube.com/watch?v=3XIAC098fAI)
Tous les commentaires (41)
La difficulté de l'invention des codes à barres linéaires étaient, il me semble, la lecture dans les deux sens.
Depuis des décennies, j'avais toujours entendu dire que le premier à utiliser les code-barres, avaient été la NASA, afin de suivre les milliers de pièces nécessaires à ses programmes spatiaux.
Or en fouillant le Net, je trouve surtout référence de l'emploi du code Datamatrix, pour le suivi des pièces utilisées dans la construction des navettes Spatiales.
fr.m.wikipedia.org/wiki/Datamatrix
Une petite anecdote à propos du code-barres.
Depuis l'implémentation des caisses automatiques dans les supermarchés, des filous ont trouvé la combine pour tromper les code barres.
Ceci fut, par exemple, le cas d'un jeune à Montbéliard, qui réussit à acheter une PS4, pour son poids équivalent en oranges... 9,29 €uros, pour un bien à 340 €.
Fort de son succès, il voulut répéter sa prouesse le lendemain... Il s'est fait gauler.
www.lefigaro.fr/conso/2018/06/26/20010-20180626ARTFIG00015-avec-les-caisses-en-libre-service-les-supermarches-face-a-une-hausse-des-vols.php
Avec une console, ou bouteille avec une alarme dessus, forcément la ça se voit...
Merci pour le datamatrix, ça ressemble beaucoup au QR code, je vais creuser le truc me suis jamais posé la question de l'origine j'avoue.
Pour les fruits et légumes et en plus avec le COVID, je ne connais plus aucun supermarché (dans mon coin) qui laisse les balances en libre service.
Pour les caisses automatiques, j'avais lu qu'il y avait moins de vols finalement que prévus voire même moins de vols qu'avec les caisses normales. Je ne sais pas si c'est encore vrai.
Par contre, j'avais entendu parler d'un supermarché du Pays Basque, où tous les produits étaient équipés d'une étiquette RFID. Au passage à la caisse, plus besoin de décharger le caddie. La machine se chargeait de lire toutes les étiquettes... Et toi de payer.
rfid.ooreka.fr/comprendre/etiquette-rfid
Aux US, notamment au moment de Noël il y a tellement de retours, que la chaîne Target aurait perdu pas mal juste avec cette arnaque. (Me lancez pas sur les arnaques, c est ma tour Eiffel en allumette à moi ;)
Savez-vous que pour le QR code la capacité de stockage est bien plus importante que pour un code barre. On peut stocker jusqu'à 7089 caractères numériques ou 4296 caractères alphanumériques pour un QR code de 2 cm de côté ?
"Le coût unitaire de mise en œuvre d'un code-barres est environ 0,005 USD, donc nettement inférieur à celui d'une étiquette RFID (identification par radio-fréquence) qui est de l'ordre de 0,07 USD à 0,30 USD. Le coût de mise en œuvre comprend l'installation et l'achat de scanner, l'impression des codes-barres sur les produits."
Personnellement j'ai testé plusieurs fois, le scanner individuel qui permet de scanner soi même ses courses et les mettre dans le caddie. C'est pratique pendant les courses car on se rend compte du montant total et on achète moins de bêtises. Par contre je n'ai pas du tout eu l'impression de gagner du temps. En effet sur 10 pleins de course, je me suis fait contrôler 3 fois (à chaque fois, quand j'avais acheté de l'alcool) et donc cela veut dire 10 minutes de contrôle avec une vendeuse qui vérifie entre 10 et 20 articles au hasard. Les autres fois, j'ai perdu du temps car la machine n'accepte pas directement les tickets restau donc il faut attendre la vendeuse ou alors les réductions ponctuelles ne sont pas prises en compte par la machine et il faut aussi attendre la vendeuse. Bref, c'est pas encore super efficace selon mon expérience personnelle. Après c'est toujours rigolo de jouer à la caissière (oui oui je rigole pas, c'est ludique).
En effet, le problème initial (entre autre, le cahier des charges demandait également qu'il soit peu cher, imprimable facilement, prenant peu de place, lisible sur différent supports dont certains mous...) était de le lire quel que soit l'orientation d laser, d'ou le premier prototype de code barre circulaire symétrique.
Mais la solution était très simple : faire rebondir le laser dans des miroirs, pour le dupliquer, avec deux lasers perpendiculaire. Quelque soit le sens de lecture, au moins un des deux lasers permet de lire un code barre carré en entier.
Et c'est pas le seul problème auquel a du faire face le code barre :
- comment faire si le code barre commence par du blanc ? => toujours délimiter le carré par une triple bande noir-blanc-noir (ce qui permet en plus de calibrer le laser)
- comment rajouter un max d'info sans trop agrandir le carré ? => mettre un deuxième carré a coté, pour éviter d'avoir un code barre trop haut. Réutiliser le marqueur noir-blanc-noir entre les deux carrés. Le code barre devait faire 10 chiffres, on a ainsi 5 chiffres d'un coté, 5 de l'autre. chaque chiffre est codé par 7 barres, 128 possibilité pour 10 chiffres, on est large... a priori.
- comment éviter les erreurs de lecture (reflets, déformations...) => utiliser la parité. imposer par exemple que le nombre de traits noir par chiffre soit pair, ça permet de détecter les erreurs simple, au prix d'une barre. Il en reste 6, 64 possibilité.
- comment ne pas se tromper entre gauche et droite ? => utiliser la parité, le premier carré sera impair, le deuxième pair.
- comment gérer le cas ou un code barre a 17 bandes noires de large, sans erreur de lecture => alterner le noir et le blanc, pas plus de 4 bandes d'une même couleur. On impose du blanc au début, du noir a la fin : on divise par 4, on est a 16. On enlève ceux ne respectant pas les combinaisons de plus de 4 bandes noire/blanche d'affilés, on arrive à ... 10 chiffres.
- Parfois, des erreurs arrivent quand même, sans détection, il faut plus de robustesse => faire la somme des impairs * 3, plus la somme des pairs, modulo 10 (ça détecte plus d'erreur que de faire la somme des chiffres, modulo 10).
- comment rajouter ce chiffre sans réimprimer et refaire des machines ? => revoir le système d'impair a gauche et pair a droite. tant que le premier et le dernier chiffre d'un code est de la même parité, on détecte le sens de lecture. On peux utiliser les 8 chiffres du milieu comme des bits, rajoutant de l'info : on peut ainsi sans problème rajouter cette information.
source : la conf de Gilles Debunne au DevFest Toulouse 2019 (www.youtube.com/watch?v=3XIAC098fAI)
(après perso je ne veux pas scanner mes courses histoire de ne pas participer à la réduction d'effectifs car mine de rien cela reste un des rares travail accessibles à des jeunes et moins jeunes sans trop de qualification).
De toutes façons, le mieux c'est d'aller au marché finalement :)
fr.m.wikipedia.org/wiki/Code-barres_EAN
En complément : derrière code bar il y a en effet tout un monde ;)
Ici, la première chaîne nationale de supermarchés (Mercadona), se résiste à toute initiative qui consisterait à supprimer la caissière (ou caissier), tant ils ont compris leur rôle social (contact humain). Elles sont non seulement bien payées et en CDI, mais la sélection du personnel est rude, incluant une valoration du comportement du postulant, selon diverses situations. Ceci n'est pas donné à tout le monde.
La chaîne Lidl suit aussi la même démarche, quitte à ne plus avoir des pris hard discount aussi attractifs qu'il y a dix ans. Par contre, pas de carte de fidélité, de bons de réduction personnalisés, etc... Qui au final, fait perdre du temps à tous ceux qui attendent dans la queue, et réduit au final, l'efficacité et la rentabilité.
Toute cette technologie a certes réduit le temps d'attente aux caisses (ce que le consommateur aime le moins), mais je ne crois pas que la solution définitive, tant pour le client comme la chaîne de supermarché, soit encore là.
Pour limiter les erreurs de lecture des codes-barres, le dernier chiffre est une clé, c'est à dire que c'est un chiffre qui est calculé en fonction de tous les autres de telle sorte que si l'un des chiffres est modifié, la valeur de la clé ne correspondra plus et le lecteur de codes-barres détectera une erreur de lecteur. C'est pourquoi parfois les codes-barres ne "passent" pas à la caisse : si le code-barre est un peu abimé, au lieu de donner un résultat erroné, le lecteur verra que l'ensemble n'est pas cohérent et ne fera pas "bip". J'avais étudié l'algorithme qui permet de calculer cette clé et j'avais été surpris de constater que la position des chiffres est importante : les chiffres qui ont une position impaire (le 1er chiffre du code, le 3e, le 5e, et ainsi de suite) sont traités d'une part et les chiffres qui ont une position paire d'autre part avant d'être rassemblés pour calculer la clé, afin d'éviter les inversions. Si on inverse le 1er chiffre et le 3e chiffre par exemple la clé sera la même et le lecteur ne pourra pas détecter l'erreur, en revanche si on inverse deux chiffres successifs (le 1er et le 2e ou le 6e et le 7e par exemple), la clé ne sera plus bonne et une erreur sera détectée. Je m'étais demandé pourquoi détecter les inversions de chiffres, alors que le lecteur laser ne risque pas de lire les barres dans le désordre... C'est parce que les concepteurs ont prévu le cas où le code-barre est difficilement lisible avec le laser et la caissière doit taper le code sur le clavier de la caisse : quand on tape rapidement des chiffres les inversions sont une erreur fréquente. Mais un seul chiffre pour vérifier la cohérence de 11 autres chiffres ce n'est pas parfaitement sécurisé : en lisant mal le code on a une chance sur 10 de tomber quand même sur un nombre dont la clé correspond aux reste du code. Ca m'était arrivé en passant à la caisse au supermarché : quelques carottes que j'avais pesées et pour lesquelles j'avais collé sur le sachet le code-barre imprimé par la balance du rayon fruits et légumes étaient passées en caisse à 73 euros ! Quand je me suis étonné du total que j'avais payé et j'ai trouvé l'erreur sur le ticket de caisse, j'ai vérifié mon sachet de carottes et j'ai constaté que l'étiquette était un peu pliée ; ça avait modifié les barres et c'était apparemment tombé sur un code-barre valable, dont la clé correspondait au reste des barres mais qui ne correspondait pas au prix de mes carottes !