Skip to content

LuminosWeb/Web-QRCode-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GĂ©nĂ©rateur QR Code 🚀

Une application web moderne et élégante pour générer des codes QR avec un design violet foncé sophistiqué. Développée par Luminosweb.

✹ FonctionnalitĂ©s

  • GĂ©nĂ©ration de QR codes : Convertit n'importe quel texte ou URL en code QR haute qualitĂ©
  • Formats multiples : Support PNG et SVG avec rendu optimisĂ©
  • Personnalisation avancĂ©e :
    • Taille ajustable (120px Ă  800px)
    • Niveaux de correction d'erreur (L, M, Q, H)
    • Marge personnalisable (PNG uniquement)
  • Actions pratiques :
    • TĂ©lĂ©chargement direct avec nommage automatique
    • Copie d'image dans le presse-papier
    • Copie de texte source
    • Ouverture dans un nouvel onglet
  • Interface moderne :
    • Selects customisĂ©s avec design cohĂ©rent
    • Animations fluides et micro-interactions
    • Indicateurs de chargement Ă©lĂ©gants
  • Design responsive : OptimisĂ© pour tous les appareils (mobile, tablette, desktop)
  • AccessibilitĂ© : Conforme aux standards WCAG 2.1 AA

🚀 Utilisation

  1. Ouvrez index.html dans votre navigateur web moderne
  2. Entrez votre texte ou URL dans le champ de saisie
  3. Ajustez les paramĂštres selon vos besoins :
    • Taille du QR code (slider interactif)
    • Format (PNG ou SVG via select custom)
    • Niveau de correction d'erreur
    • Marge (masquĂ©e automatiquement pour SVG)
  4. Cliquez sur "Générer" pour créer votre QR code
  5. Utilisez les actions pour télécharger, copier ou ouvrir le QR code

📁 Structure du projet

qrcode.luminosweb.com/
├── index.html                      # Structure HTML principale et accessible
├── config.js                       # Configuration globale de l'application
├── package.json                    # MĂ©tadonnĂ©es et scripts du projet
├── README.md                       # Documentation complùte
├── assets/
│   └── logo.png                    # Logo Luminosweb
└── internal/
    ├── css/
    │   ├── styles.css              # Styles principaux (design violet foncĂ©)
    │   └── breakpoints.css         # Media queries responsives
    └── javascript/
        ├── main.js                 # Point d'entrĂ©e et initialisation
        └── class/
            ├── CustomSelect.js     # Composant select personnalisĂ©
            └── QRGenerator.js      # Classe principale de l'application

đŸ› ïž Technologies utilisĂ©es

  • HTML5 : Structure sĂ©mantique avec support ARIA et accessibilitĂ©
  • CSS3 : Design moderne avec variables CSS, Grid, Flexbox et animations
  • JavaScript ES6+ :
    • Classes modulaires (QRGenerator, CustomSelect)
    • Configuration centralisĂ©e (config.js)
    • APIs modernes (Fetch, Clipboard, File)
  • API externe : QR Server API pour la gĂ©nĂ©ration des QR codes

🎹 CaractĂ©ristiques du design

  • ThĂšme violet foncĂ© : Palette de couleurs moderne et Ă©lĂ©gante
  • Composants custom : Selects personnalisĂ©s avec animations
  • Design glassmorphism : Effets de transparence et backdrop-filter
  • Animations fluides : Transitions CSS et Ă©tats de chargement
  • Typographie optimisĂ©e : HiĂ©rarchie claire et lisibilitĂ© parfaite
  • Responsive design : Adaptation intelligente sur tous les Ă©crans

⚡ Architecture technique

Organisation modulaire

  • config.js : Configuration globale avec validation et gel des objets
  • QRGenerator : Classe principale gĂ©rant l'Ă©tat et les interactions
  • CustomSelect : Composant rĂ©utilisable pour les sĂ©lecteurs
  • main.js : Point d'entrĂ©e et initialisation de l'application

Gestion d'état robuste

  • Validation des entrĂ©es : VĂ©rification en temps rĂ©el et sanitisation
  • Gestion d'erreurs : Try-catch complets avec fallbacks gracieux
  • États de chargement : Indicateurs visuels avec durĂ©e minimale
  • Cache intelligent : RĂ©utilisation des blobs gĂ©nĂ©rĂ©s

Performance optimisée

  • Chargement diffĂ©rĂ© : CSS et JS dans des fichiers sĂ©parĂ©s
  • Debouncing : Limitation des appels API redondants
  • Gestion mĂ©moire : Nettoyage automatique des URLs objets
  • Fallbacks SVG→PNG : Basculement automatique en cas d'Ă©chec

Accessibilité avancée

  • ARIA complet : Labels, Ă©tats et descriptions pour lecteurs d'Ă©cran
  • Navigation clavier : Support intĂ©gral du clavier
  • Messages d'Ă©tat : Annonces dynamiques pour les actions
  • Contraste optimisĂ© : Respect des ratios WCAG 2.1 AA

🔧 Configuration

ParamÚtres par défaut (config.js)

DEFAULT_VALUES: {
  text: 'https://luminosweb.com',
  size: 300,
  format: 'png',
  ecc: 'M',
  margin: 4
}

Limites systĂšme

LIMITS: {
  minSize: 120,
  maxSize: 800,
  minMargin: 0,
  maxMargin: 40
}

Messages utilisateur

Configuration centralisée des messages d'interface avec support multilingue potentiel.

🌐 Support navigateur

  • Chrome/Edge : 88+ (support Clipboard API complet)
  • Firefox : 85+ (toutes fonctionnalitĂ©s)
  • Safari : 14+ (iOS 14+)
  • Mobile : Android 10+, iOS 14+

APIs modernes utilisées

  • Fetch API : GĂ©nĂ©ration QR avec gestion d'erreurs robuste
  • Clipboard API : Copie d'images et de texte native
  • File API : TĂ©lĂ©chargement automatique avec nommage
  • URL.createObjectURL : Gestion des blobs SVG/PNG

đŸ“± Design responsive

Breakpoints (breakpoints.css)

  • Mobile : < 600px (interface simplifiĂ©e)
  • Tablet : 600px Ă  879px (mise en page adaptĂ©e)
  • Desktop : 880px+ (layout en grille optimisĂ©)

Adaptations mobiles

  • Boutons tactiles agrandis
  • Espacement optimisĂ©
  • Selects personnalisĂ©s adaptĂ©s au touch
  • Animations rĂ©duites pour les performances

Hébergement statique

Le projet est entiĂšrement statique et compatible avec :

  • GitHub Pages
  • Netlify
  • Vercel
  • Firebase Hosting
  • Cloudflare Pages
  • Tout serveur web standard

Optimisations de production

  • Compression gzip/brotli recommandĂ©e
  • Headers de cache agressif pour assets statiques
  • CSP (Content Security Policy) compatible
  • HTTPS fortement recommandĂ© pour Clipboard API

🔒 SĂ©curitĂ© et bonnes pratiques

  • Validation des entrĂ©es : Sanitisation complĂšte des donnĂ©es utilisateur
  • APIs externes sĂ©curisĂ©es : Utilisation exclusive de qrserver.com (HTTPS)
  • CSP ready : Compatible avec les Content Security Policies strictes
  • No-JS graceful : DĂ©gradation Ă©lĂ©gante si JavaScript dĂ©sactivĂ©
  • HTTPS recommandĂ© : Fonctionnement optimal des APIs modernes

📊 MĂ©triques de performance

Tailles des fichiers

  • HTML : ~4KB (gzippĂ©)
  • CSS total : ~12KB (styles + breakpoints)
  • JavaScript total : ~18KB (classes + config)
  • Assets : ~2KB (logo PNG optimisĂ©)
  • Total : ~36KB

Temps de chargement

  • First Paint : <100ms
  • Fully Interactive : <200ms
  • API QR : 200-500ms (selon taille)

📄 Licence

Ce projet est open source et disponible sous licence MIT.

MIT License - Copyright (c) 2025 Luminosweb
Permission is hereby granted, free of charge, to any person obtaining a copy...

đŸ‘„ Contribution

Les contributions sont les bienvenues ! Pour contribuer :

  1. Fork le projet sur GitHub
  2. Créer une branche pour votre fonctionnalité (git checkout -b feature/nouvelle-fonctionnalite)
  3. Commit vos changements (git commit -am 'Ajout nouvelle fonctionnalité')
  4. Push vers la branche (git push origin feature/nouvelle-fonctionnalite)
  5. Ouvrir une Pull Request avec description détaillée

Guidelines de contribution

  • Respecter l'architecture modulaire existante
  • Maintenir la compatibilitĂ© avec les navigateurs supportĂ©s
  • Ajouter des tests si applicable
  • Documenter les nouvelles fonctionnalitĂ©s

📞 Support et contact

Pour toute question, problĂšme ou suggestion :

🔄 Changelog

Version 1.1.0 (Actuelle)

  • ✅ Architecture modulaire : SĂ©paration en classes et fichiers dĂ©diĂ©s
  • ✅ Configuration centralisĂ©e : config.js avec validation et gel
  • ✅ Composants personnalisĂ©s : CustomSelect avec design cohĂ©rent
  • ✅ AccessibilitĂ© renforcĂ©e : ARIA complet et navigation clavier
  • ✅ Gestion d'erreurs robuste : Fallbacks SVG→PNG et messages clairs
  • ✅ Design systĂšme : Variables CSS et breakpoints organisĂ©s
  • ✅ Performance optimisĂ©e : Chargement diffĂ©rĂ© et cache intelligent

Version 1.0.0

  • ✅ Version initiale avec fonctionnalitĂ©s de base
  • ✅ Design violet foncĂ© Ă©lĂ©gant et moderne
  • ✅ GĂ©nĂ©ration QR en formats PNG/SVG
  • ✅ Interface responsive multi-appareils
  • ✅ Actions utilisateur : tĂ©lĂ©chargement, copie, ouverture

DĂ©veloppĂ© avec ❀ par Luminosweb

Générateur QR Code - Version 1.1.0

About

QR Code Web App Generator with advanced features in HTML, CSS & Javascript vanilla

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published