{{tag>Xenial sécurité entreprise}} ====== QRcode/Code_QR ====== Le code QR est un type de code-barres en deux dimensions (ou code matriciel datamatrix) constitué de modules noirs disposés dans un carré à fond blanc. QR (abréviation de Quick Response) signifie que le contenu du code peut être décodé rapidement après avoir été lu par un lecteur de code-barres, un téléphone mobile, un smartphone, ou encore une webcam. Son avantage est de pouvoir stocker plus d'informations qu'un code à barres, et surtout des données directement reconnues par des applications, permettant ainsi de déclencher facilement des actions comme : * visiter un site web ou mettre l'adresse d'un site en marque-page ; * afficher un emplacement sur une carte, telle que OpenStreetMap, Google Maps ou Bing Maps ; * regarder une vidéo en ligne ou un contenu multimédia ; * se connecter à une borne Wi-Fi * déclencher un appel vers un numéro de téléphone ou envoyer un SMS ; * envoyer un courriel ; * faire un paiement direct via son téléphone portable (Europe et Asie principalement) ; * ajouter une carte de visite virtuelle (vCard, MeCard) dans les contacts, un rendez-vous ou un événement (iCalendar) dans l'agenda électronique ; * afficher un texte ou rédiger un texte libre (sa version la plus grande permet d'inclure un texte d'environ 500 mots); * etc. ===== Les sites web ===== Soyez méfiant si les QRcode sont des données confidentielles Parmi les sites proposant les fonctionnalités de manière libre, il y a : * [[https://qrcodescan.in/]] qui propose de décoder un QRcode via la caméra de votre appareil ou via un fichier. [[https://github.com/gokulkrishh/qrcodescan.in|Dépôt de qrcodescan.in (Github)]] * [[https://qr.oisux.org/]] un service libre(([[https://www.chatons.org/search/by-service?service_type_target_id=258&field_alternatives_aux_services_target_id=All&field_software_target_id=All&field_is_shared_value=All&title=|le site apparaît parmi "les chatons"]])) pour générer des QRcode * [[https://fietkau.software/qr|fietkau.software QRcode]] permet de générer un QRcode avec beaucoup de customisations. Téléchargement en SVG/PNG * [[https://lehollandaisvolant.net/tout/tools/qrcode/]] permet de générer des QRcode. Ce site a son contenu sous licence Creation Communautaire ou Domaine public. ===== Logiciels ===== ==== Pré-requis ==== * Disposer des [[:sudo|droits d'administration]]. * Disposer d'une connexion à Internet configurée et activée. ==== Les outils graphiques : ==== Il existe des outils graphiques sous Ubuntu assez intuitifs, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] * **[[apt>qtqr|QtQR]]** permet de créer et décoder des QRcode.\\ Uniquement en anglais. Ne permet pas de capturer une région de l'écran pour la décoder\\   * En utilisant [[https://help.libreoffice.org/7.6/fr/text/shared/01/qrcode.html|une fonctionnalité]] de [[:LibreOffice]]\\   * **[[apt>qreator|Qreator]]** ((http://davidplanella.org/project-showcase/qreator/)) qui permet uniquement de créer des QRcode À la date du 23 juin 2024, Qreator provoque une erreur au lancement constaté sur 20.04 mais aussi sur 22.10 __Pour décoder__ créé un raccourci-lanceur pour capturer une région de l'écran pour ensuite la décoder localement. \\ //Voir [[:utilisateurs:amiralgaby:qrcode-scan-local|Comment décoder un QRCode localement]]// ==== Les outils en lignes de commandes ==== Il existe deux outils principaux (qrencode et zbar-tools) : * **[[apt>qrencode]]** ((http://megaui.net/fukuchi/works/qrencode/index.en.html)) : pour créer des QRcode au formats (PNG,EPS,SVG, etc.) * **[[apt>zbar-tools]]** ((http://zbar.sourceforge.net/)): pour décoder des images de QRcode au formats (PNG, JPG, TIFF) * [[https://pypi.org/project/qrcode/|La bibliothèque "qrcode" sur Pypi]], permet de générer des Qrcode pip install qrcode =====Utilisation===== ==== Exemples d'utilisation de qrencode ==== Pour créer un QRcode pour partager un réseau wifi personnel, taper la commande suivante dans un terminal : qrencode -s 7 -o qr-wifi.png "WIFI:S:$(zenity --entry --text="Network name (SSID)" --title="Create WiFi QR");T:WPA;P:$(zenity --password --title="Wifi Password");;" Pour créer un QRcode pour partager un réseau wifi personnel dont le SSID est masqué, taper la commande suivante dans un terminal : qrencode -s 7 -o qr-wifi.png "WIFI:S:$(zenity --entry --text="Hidden Network name (SSID)" --title="Create WiFi QR");T:WPA;P:$(zenity --password --title="Wifi Password");H:true;;" Une autre méthode pour se connecter a un réseau wifi masqué est de partager uniquement le password de ce dernier et de s'y connecter manuellement en récupérant le password dans le clipboard d'Android via le QRcode scanné qui est généré de la manière suivante : qrencode -s 7 -o wifi-P.png "$(zenity --password --title="Wifi Password")" Pour passer un lien vers son dépôt [[:nextcloud|Nextcloud]] pour partager les photos de vacances: qrencode -t SVG "https://nextcloud.mon-nom-de-domaine.fr/index.php/s/B7LRrx2EA97V" > lienPartagePhotos.svg * //-t SVG// permet de créer une image vectorielle au format libre [[:SVG]] qui a l'avantage d'être légère et facilement redimensionnable sans perte de résolution * la chaîne à coder entre guillemets. En cas de soucis, écrire la chaîne à encoder dans un fichier, puis utiliser //-r nom_du_fichier// dans la ligne de commande ! * //> nom-de-fichier.typ// permet de spécifier le nom du fichier image. On peut aussi utiliser //-o nom_du_fichier_destination.typ// ==== Exemple d'utilisation des zbar-tools : zbarimg et zbarcam ==== zbarimg décode les images de QRcode, exemple : zbarimg -q --raw qr-wifi.png WIFI:S:MyWifi;T:WPA;P:MyPassword!;; ===== Voir aussi ===== * https://www.linux-magazine.com/Online/Features/Generating-QR-Codes-in-Linux (en anglais) * https://nlug.ml1.co.uk/2013/10/generate-qr-codes-for-wifi-networks/4434 (en anglais) * https://manpages.ubuntu.com/cgi-bin/search.py?q=qrencode (en anglais) * https://github.com/zxing/zxing/wiki/Barcode-Contents#wifi-network-config-android (en anglais) * [[:utilisateurs:amiralgaby:qrcode-scan-local|Scanner un QRCode localement en créant un lanceur de script]]