Tutoriels · 8 min de lecture

Comment créer un code QR en Python ? (Guide complet avec et sans installation)

Par Alexandre Vandevelde, Enseignant ·

Apprenez à générer vos propres codes QR personnalisés en Python. Découvrez le script classique, la méthode 100% native sans installation sous Windows/Mac et l'alternative Google Colab.

S'il existe des dizaines de générateurs de codes QR en ligne truffés de publicités, de limites d'utilisation ou de redirections payantes dissimulées, créer votre propre générateur en Python est d'une simplicité désarmante. Que ce soit pour rediriger vers votre portfolio web, générer des badges d'accès pour un événement ou automatiser l'étiquetage de produits, Python vous permet de générer des centaines de codes QR personnalisés en quelques secondes.

1. Méthode 1 : La méthode standard professionnelle (Bibliothèque `qrcode`)

C'est la méthode privilégiée lorsque vous développez une application locale ou un serveur. La bibliothèque externe qrcode combinée à la librairie de traitement d'images Pillow permet une personnalisation totale (taille, couleurs, niveau de correction d'erreur).

Pour commencer, ouvrez votre terminal et installez les dépendances :

# Installation via pip dans le terminal :
pip install qrcode pillow

# Script Python (app.py) :
import qrcode

# 1. Définir le contenu (URL, texte, WiFi, vCard)
donnees = "https://codeetmolecules.com"

# 2. Configurer les paramètres du QR Code
qr = qrcode.QRCode(
    version=1,                   # Taille de la grille (1 = 21x21 modules)
    error_correction=qrcode.constants.ERROR_CORRECT_H, # Haute tolérance (30% d'erreurs)
    box_size=10,                 # Taille de chaque petit carré en pixels
    border=4,                    # Épaisseur de la marge blanche
)

qr.add_data(donnees)
qr.make(fit=True)

# 3. Générer l'image avec des couleurs personnalisées
img = qr.make_image(fill_color="#242b26", back_color="#fbfaf8")

# 4. Sauvegarder sur le disque
img.save("mon_code_qr_custom.png")
print("✅ Code QR généré avec succès dans mon_code_qr_custom.png !")

2. Méthode 2 : 100% Python Native sans AUCUNE installation (Réseau d'école / PC restreint)

Si vous êtes sur un ordinateur de salle de travaux pratiques à l'université ou dans une entreprise où la commande pip install est bloquée par les administrateurs système, pas de panique ! Vous pouvez utiliser les modules natifs de Python (urllib.parse et urllib.request) pour interroger l'API publique de génération QR et enregistrer l'image en 5 lignes de code.

import urllib.parse
import urllib.request

# URL ou texte à encoder
texte_a_encoder = "https://codeetmolecules.com/python"

# Encodage sécurisé des caractères spéciaux de l'URL
lien_securise = urllib.parse.quote(texte_a_encoder)

# Construction de l'URL de l'API publique
api_url = f"https://api.qrserver.com/v1/create-qr-code/?size=400x400&data={lien_securise}"

# Téléchargement direct du fichier image QR
urllib.request.urlretrieve(api_url, "qr_code_sans_pip.png")

print("🎉 Code QR téléchargé sans aucune bibliothèque tierce !")

3. Méthode 3 : Automatiser la création d'une série de 50 codes QR

L'immense avantage de la programmation est de pouvoir exécuter une boucle pour automatiser ce qui prendrait des heures à la main. Voici un exemple complet lisant un dictionnaire d'étudiants ou de produits pour créer un dossier rempli de QR codes nommés automatiquement :

import qrcode
import os

# Créer un dossier de destination
os.makedirs("qr_codes_etudiants", exist_ok=True)

# Liste de données à traiter
etudiants = [
    {"id": "ETU_001", "nom": "Alice Martin", "url": "https://codeetmolecules.com/user/001"},
    {"id": "ETU_002", "nom": "Bob Durand", "url": "https://codeetmolecules.com/user/002"},
    {"id": "ETU_003", "nom": "Charlie Petit", "url": "https://codeetmolecules.com/user/003"}
]

for etudiant in etudiants:
    img = qrcode.make(etudiant["url"])
    nom_fichier = f"qr_codes_etudiants/{etudiant['id']}_{etudiant['nom'].replace(' ', '_')}.png"
    img.save(nom_fichier)
    print(f"Généré : {nom_fichier}")

4. Exécution simplifiée dans Google Colab

Si vous préférez exécuter vos scripts directement dans le cloud sans rien installer sur votre machine, ouvrez un Notebook sur Google Colab (colab.research.google.com), collez le code de la Méthode 1 avec un !pip install qrcode dans la première cellule, et visualisez vos codes QR directement dans le navigateur !

À retenir

  • Utilisez 'qrcode' + 'Pillow' pour des options de personnalisation avancées.
  • Utilisez 'urllib' et l'API qrserver pour exécuter du code sur des machines sans accès pip.
  • Combinez vos scripts avec des boucles 'for' pour générer des paquets de codes QR automatiquement.
  • Ajustez le paramètre 'error_correction' à 'ERROR_CORRECT_H' si vous prévoyez d'insérer un logo au centre.

Articles liés

← Tous les articles