~~NOCACHE~~ ~~REVEAL transition=convex&controls=1&show_progress_bar=1&build_all_lists=1&open_in_new_window=1~~ ====== On cause codes (de l’ASCII au QR) ! ====== Atelier du 17/06/2023 - document en préparation ===== Avant les codes, déjà des codes ===== * Écriture manuscrite. Le papier est cher ! * → Abréviations ! * Gutenberg & l'imprimerie (nocode) ===== Les deux états du binaire ===== * [[https://commons.wikimedia.org/wiki/File:Indicateur_chou_rouge.jpg|Chou rouge, vinaigre et bicarbonate]] → acide ou basique * Allumé/éteint, babord/tribord, côté cour & côté jardin * Noir/blanc * 0 V ou 5 V * Pôle nord ou pôle sud * 0 ou 1 (le bit) ===== Rmq : Homo Sapiens Sapiens et le décimal... ===== * 10 doigts → compter de 1 à 10 * écriture décimale → chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 * [[https://fr.wikipedia.org/wiki/Système_de_numération_indo-arabe]] * [[https://fr.wikipedia.org/wiki/Développement_décimal]] * Le monde 2D des [[https://fr.wikipedia.org/wiki/Les_Shadoks|Shadoks]] Ga-Bu-Zo-Meu ===== Rmq bis : les cerveaux comptent ===== * De l'abeille aux dauphins : 1, 2, 3, 4, 5, c'est pas pareil * Les neurones stockent des infos dont le codage est inconnu * codage, décodage ? * ... ou transcodage (passage d'un code à un autre) ===== En prélude de l'informatique ===== * 1825 : Braille (et modificateurs, assemblages, extensions braille informatique) * 1838 : Morse (court / long) ===== Dénombrer/classer avec des 0 et 1 ===== * Combiner plusieurs bits, en reproduisant en binaire le principe du décimal * Combien ? ($ $) 6, 7, 8 ? * 3 fois 3 bits en octal "ugo rwx" ===== Coder des caractères ===== * [[https://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange|ASCII]] (7 bits) * L'octet et les ordinateurs "modernes" * Autre que "American" → les pages de code 8859-xx * Le Graal : [[https://fr.wikipedia.org/wiki/Unicode|Unicode]], et son codage en UTF-32, UTF-16 et UTF-8 * UTF-8 * le plus fréquent pour les langues occidentales * imprévisibilité du nombre d'octets * plusieurs codes pour un même Unicode... * Plusieurs octets (mots) → [[https://fr.wikipedia.org/wiki/Boutisme|Boutisme]] * Gulliver à Lilliput : big-endian et little-endian * pour l'encodage en code barre ou code 2D de caractères unicode au de là de l'ASCII, une procédure stricte doit être respectée. Cf. [[https://www.barcodefaq.com/2d/utf8-unicode-encoding/]] "To properly encode characters above U+007F two or more bytes are necessary. To encode these characters in 2D barcodes such as PDF417, Data Matrix, and QR Code, the data must first be converted to a string of bytes in little-endian mode without the byte order mark (BOM). In addition, the decoder must be able to properly decode the data. This conversion should take place before encoding the bytes into the barcode. If it is possible to encode ASCII characters instead of UTF-8 it is recommended." ===== Codes barres - barcodes ===== * Les contributions des techniques, du "possible" (industriellement, financièrement, techniquement,...) * concepts : start, stop, checksum, chiffres, lettres,... * 1973-1974 UPC [[https://fr.wikipedia.org/wiki/Code_universel_des_produits]] * ISBN [[https://fr.wikipedia.org/wiki/International_Standard_Book_Number]] * EAN [[https://fr.wikipedia.org/wiki/Code-barres_EAN]] * EAN-8 [[https://fr.wikipedia.org/wiki/EAN_8]] * EAN-13 [[https://fr.wikipedia.org/wiki/EAN_13]] * 1981 : code39 * code128 [[https://fr.wikipedia.org/wiki/Code_128]] * GS1 et approbations, **répertoires**... [[https://en.wikipedia.org/wiki/GS1|GS1 - Wikipedia]] * post... et autres * codes propriétaires * symbologie et exemples * opensource et autre, sur les codes,... * Applis (ou après les codes 2D ?) ===== Les index, identifiants uniques,... ===== * Les clés sont particulièrement importantes ! * EAN (codes produits) * openfoodfacts [[https://fr.openfoodfacts.org/]] * ISBN (catalogues mondiaux de livres, bibliothèques,...) * ISWC [[https://fr.wikipedia.org/wiki/International_Standard_Musical_Work_Code]] * DOI (articles de chercheurs) * ... ===== Codes 2D ===== * QR [[https://www.barcodefaq.com/2d/qr-code/]] & [[https://fr.wikipedia.org/wiki/Code_QR]] * DataMatrix [[https://www.barcodefaq.com/2d/data-matrix/]] & [[https://fr.wikipedia.org/wiki/Datamatrix]] * PDF417 : [[https://www.barcodefaq.com/2d/pdf417/]] & [[https://fr.wikipedia.org/wiki/PDF-417]] * Aztec : [[https://www.barcodefaq.com/2d/aztec/]] & [[https://fr.wikipedia.org/wiki/Code_Aztec]] * ... ===== Applications, programmation,... ===== * gLabels : libre, génère des étiquettes, peut inclure des codes barres * [[https://github.com/jimevins/glabels-qt|jimevins/glabels-qt: gLabels Label Designer (Qt/C++)]] * [[https://github.com/jimevins/glbarcode|jimevins/glbarcode: Prototype for new C++ version of glbarcode library from gLabels]] * [[http://jimevins.github.io/glbarcode/doc/html/|glbarcode++: Main Page]] * Python * [[https://python-barcode.readthedocs.io/en/stable/]] * plugin DokuWiki [[https://www.dokuwiki.org/plugin:barcodes]] * apps sur smartphone * F-Droid Barcode Scanner par Atharok (??) * Barcode Scanner de ZXing Team * [[https://twitter.com/rowancheung/status/1667921737600892929]] AI-generated QR codes * [[https://qrbtf.com/]] * [[https://twitter.com/dr_cintas/status/1669091434924847104]] * ... ===== Références ===== * Conversion de codes : * [[http://www.unit-conversion.info/texttools/ascii/]] * [[https://checkserp.com/encode/unicode/]] * [[https://www.rapidtables.com/convert/number/ascii-hex-bin-dec-converter.html]] * [[https://dnschecker.org/binary-to-text-translator.php]] * [[https://www.barcode-generator.org/|Free Barcode Generator - Create barcodes here]] * [[https://www.zint.org.uk/|Zint | Home]] * [[https://opensource.com/article/21/2/zint-barcode-generator|Generate QR codes with this open source tool | Opensource.com]] * [[https://www.unitag.io/fr/qrcode|Unitag | Maison du QR | Générateur de QR Codes]] * [[https://www.the-qrcode-generator.com/|QR Code Generator]] * [[https://qr.io/?gclid=CjwKCAjw04yjBhApEiwAJcvNof0-qn0H-m3VcxFsUAzIwkwsLcdc5mDpJeR1c4JYvU58mQ5UmN_kzhoCLVsQAvD_BwE|QR.io: QR Code Generator | Create QR Codes]] * [[https://goqr.me/|QR Code Generator – create QR codes for free (Logo, T-Shirt, vCard, EPS)]] * octal ugo rwx * [[https://unix.stackexchange.com/questions/9509/is-there-a-web-based-converter-between-rwx-and-the-octal-version|permissions - Is there a web based converter between rwx and the octal version? - Unix & Linux Stack Exchange]] * http://permissions-calculator.org/ * [[https://fr.wikipedia.org/wiki/Les_Shadoks|Les Shadoks — Wikipédia]] * [[https://en.wikipedia.org/wiki/GS1|GS1 - Wikipedia]] * [[https://en.wikipedia.org/wiki/International_Article_Number|International Article Number - Wikipedia]] * [[https://en.wikipedia.org/wiki/Global_Trade_Item_Number|Global Trade Item Number - Wikipedia]] * [[https://en.wikipedia.org/wiki/List_of_GS1_country_codes|List of GS1 country codes - Wikipedia]] * [[https://en.wikipedia.org/wiki/Barcode|Barcode - Wikipedia]] * [[https://www.gs1.org/|GS1 | The Global Language of Business]]