Générateur de QR codes en PHP : aperçu des meilleures bibliothèques
Les QR codes sont devenus une partie intégrante du web moderne. Ils sont utilisés pour un accès rapide aux liens, la transmission de coordonnées, l'authentification dans les services et même pour les paiements. Si vous développez en PHP et souhaitez intégrer la génération de QR codes sur votre site, vous n'avez pas besoin de réinventer la roue — il existe des bibliothèques éprouvées qui accomplissent cette tâche en quelques lignes de code.
Dans cet article, nous allons examiner trois solutions populaires : la classique phpqrcode, la moderne endroid/qr-code et la légère chillerlan/php-qrcode. Vous apprendrez comment installer chacune d'elles, générer un QR code et l'afficher à l'écran ou le sauvegarder dans un fichier.
1. Bibliothèque phpqrcode (version classique)
C'est l'une des premières bibliothèques pour la génération de QR codes en PHP. Elle ne nécessite pas de dépendances externes, fonctionne « prête à l'emploi » et est encore utilisée sur de nombreux projets legacy. Son principal inconvénient est l'absence de support des normes modernes PSR et Composer (bien qu'elle puisse être installée manuellement).
Installation
Téléchargez l'archive depuis SourceForge et décompressez-la dans le dossier de votre projet. Incluez le fichier qrlib.php :
require_once 'phpqrcode/qrlib.php';Exemple de génération et d'affichage PNG
<?phprequire_once 'phpqrcode/qrlib.php';
// Données à encoder$text = 'https://pythonlib.ru';
// Chemin pour sauvegarder le fichier$filename = 'qrcode.png';
// Génération du QR code avec niveau de correction L (7%) et taille 10QRcode::png($text, $filename, QR_ECLEVEL_L, 10, 2);
// Affichage de l'image dans le navigateurheader('Content-Type: image/png');QRcode::png($text, false, QR_ECLEVEL_L, 10, 2);?>Le deuxième paramètre false signifie que l'image est affichée directement dans le navigateur, et non sauvegardée dans un fichier.
2. Bibliothèque endroid/qr-code (moderne et flexible)
C'est la solution la plus populaire sur Packagist. La bibliothèque supporte PSR-4, s'intègre facilement avec n'importe quel framework (Laravel, Symfony) et permet de personnaliser les couleurs, la taille, les marges et même d'ajouter un logo.
Installation via Composer
composer require endroid/qr-codeExemple de base de génération
<?phprequire 'vendor/autoload.php';
use Endroid\\QrCode\\QrCode;use Endroid\\QrCode\\Writer\\PngWriter;
$qrCode = QrCode::create('https://pythonlib.ru') ->setSize(300) ->setMargin(10);
$writer = new PngWriter();$result = $writer->write($qrCode);
// Affichage dans le navigateurheader('Content-Type: '.$result->getMimeType());echo $result->getString();?>QR code avec logo
<?phpuse Endroid\\QrCode\\Logo\\Logo;use Endroid\\QrCode\\Color\\Color;
$logo = Logo::create('path/to/logo.png') ->setResizeToWidth(60);
$qrCode = QrCode::create('https://pythonlib.ru') ->setSize(400) ->setForegroundColor(new Color(0, 123, 255)); // couleur bleue
$writer = new PngWriter();$result = $writer->write($qrCode, $logo);
header('Content-Type: image/png');echo $result->getString();?>3. Bibliothèque chillerlan/php-qrcode (légère et rapide)
Un excellent choix si vous avez besoin d'une dépendance minimale et de hautes performances. La bibliothèque supporte tous les modes d'encodage standard, les masques et les niveaux de correction d'erreurs. Idéale pour les projets à forte charge.
Installation
composer require chillerlan/php-qrcodeExemple de génération
<?phprequire 'vendor/autoload.php';
use chillerlan\\QRCode\\QRCode;use chillerlan\\QRCode\\QROptions;
$options = new QROptions([ 'outputType' => QRCode::OUTPUT_IMAGE_PNG, 'eccLevel' => QRCode::ECC_L, Aussi dans la bibliothèque
Envoi d'Email en Java : bibliothèques JavaMail et Simple Java Mail
Guide complet Glide/Coil Kotlin : méthodes et exemples
Migrations de bases de données en Swift : outils et approches pour iOS/macOS
Génération Swagger/OpenAPI pour Rust : Utoipa et Aide
Travailler avec Excel en Rust : bibliothèques et exemples de code