Script de menu QR avec appel au serveur

Site de menu QR avec un code QR distinct pour chaque table, appel au serveur, deux thèmes et un panneau d’administration

Restaurant & Menu QR
Note sur les langues

L’interface du site et du panneau d’administration est disponible en turc et en anglais. Vous choisissez séparément la langue du site et celle du panneau dans « Site ayarları » (Paramètres du site) ; vous pouvez aussi changer la langue du panneau avec l’icône de globe en haut à droite du panneau.

D’autres langues peuvent être ajoutées : copiez le fichier en.php du dossier dil du paquet et traduisez-le (les étapes figurent dans dil/OKUBENI.txt). La langue ajoutée apparaît automatiquement dans les listes de langues des paramètres du site, et les mises à jour ne touchent pas à vos fichiers de langue. Les textes non traduits s’affichent en anglais ; si vous le souhaitez, ils peuvent s’afficher en turc.

Les contenus que vous rédigez vous-même (produits, catégories, noms de table, texte « À propos ») ne sont pas traduits ; ils restent dans la langue où vous les écrivez. Les messages d’avertissement et les formats de montant suivent la langue choisie.

Lorsque cette page nomme une rubrique du panneau ou du site, le nom est donné tel qu’il apparaît dans l’interface turque, entre guillemets, suivi de sa traduction entre parenthèses ; dans l’interface anglaise, les mêmes rubriques apparaissent sous leur nom anglais.

À qui s’adresse-t-il

Conçu pour les restaurants, les bistrots, les cafés et les pâtisseries, ainsi que pour les agences qui créent leurs sites. Votre client scanne avec l’appareil photo de son téléphone le code QR posé sur la table ; le menu, réparti en catégories, s’ouvre avec ses prix sur le téléphone, et le nom de la table (par exemple Table 5) s’affiche en haut de la page. Lorsque le client appuie sur le bouton « Garson Çağır » (Appeler le serveur), l’appel arrive avec le nom de la table sur la page « Garson Çağrıları » (Appels au serveur) du panneau d’administration. Quand vous mettez à jour le menu et les prix dans le panneau, le code QR imprimé ouvre le même menu ; vous ne réimprimez les codes que si l’adresse de votre site change ou si vous renouvelez la clé d’une table.

Vous définissez vos tables dans le panneau, une par une ou en lot, et un code QR distinct est prêt pour chaque table. Vous téléchargez les codes en PNG ou en SVG, ou vous les imprimez sous forme de cartes de table avec votre logo et le nom de la table. Un code principal du menu et un code distinct pour chaque catégorie sont également prêts dans le panneau.

Le site est livré avec deux thèmes prêts à l’emploi : « Tema 1: Uygulama » (Thème 1 : Application), sur fond sombre et d’aspect application mobile, et « Tema 2: Kafe » (Thème 2 : Café), dans des tons sombres chaleureux avec une mise en page de café sur une seule page. Vous choisissez le thème dans le panneau ; votre menu, vos tables et vos codes QR restent les mêmes. Des sections pour les offres, un blog, une galerie, l’équipe et des pages supplémentaires, ainsi qu’un formulaire de contact, sont également prêtes.

Vous n’avez pas besoin de savoir coder. L’assistant dans le navigateur se charge de l’installation, et vous saisissez vos contenus dans le panneau d’administration.

Périmètre

Ce script est un site de menu QR, de présentation de restaurant et d’appel au serveur. Les produits du menu sont affichés avec leurs prix ; le site n’a ni panier, ni paiement en ligne, ni commande en ligne. Le bouton « Garson Çağır » (Appeler le serveur) n’est montré qu’au visiteur qui arrive par le code QR d’une table, et l’appel va au panneau d’administration ; aucun SMS, e-mail ni notification push n’est envoyé au téléphone du serveur. L’alerte sonore du panneau et le nombre d’appels en attente dans le titre de l’onglet ne fonctionnent que lorsque la page « Garson Çağrıları » est ouverte dans le navigateur ; les appels reçus pendant que la page est fermée apparaissent dans la liste à son ouverture. Nous vous conseillons de regarder la démo avant de décider.

Fonctionnalités du site
Deux thèmes
  • Choix du thème dans le panneau : sur la page « Ön yüz teması » (Thème du site) du menu Paramètres, vous voyez les deux thèmes avec des images d’aperçu et vous en choisissez un. Quand le thème change, seul l’aspect que voient vos visiteurs change ; votre menu, vos produits, vos tables et vos codes QR restent les mêmes.
  • « Tema 1: Uygulama » (Thème 1 : Application) : un thème sur fond sombre, d’aspect application mobile. Sur la page d’accueil, des sections comme Menu, Offres et Galerie sont alignées sous forme de cases avec icône ; pour un visiteur venu d’un code de table, une case Appeler le serveur apparaît aussi. Les catégories et les produits sont disposés en tuiles carrées, et les tuiles de produit affichent une pastille de prix. Des boutons de menu et de recherche se trouvent en haut ; sur téléphone, une barre avec les boutons d’accueil et de retour apparaît en bas (avec un bouton Appeler le serveur au centre pour les visiteurs venus d’un code de table), et sur un écran de bureau cette barre est masquée.
  • « Tema 2: Kafe » (Thème 2 : Café) : un thème dans des tons sombres chaleureux, avec une mise en page de café. La page d’accueil se déroule comme une seule page : une grande zone d’accueil, les catégories du menu, l’équipe et la section contact se suivent. Les catégories et les produits sont listés en lignes avec une petite image ; une ligne de produit montre la description courte et le prix. Des liens de menu et un bouton de recherche se trouvent en haut, et sur un écran étroit le menu est regroupé derrière un bouton. Pour un visiteur venu d’un code de table, un bouton Appeler le serveur flotte en bas à droite. Sur la page du produit, le prix s’affiche dans la barre du bas.
  • Votre propre fichier CSS : si vous placez un fichier nommé ozel.css dans le dossier du thème choisi, il est chargé automatiquement sur le site ; le paquet de mise à jour ne touche pas à ce fichier.
Menu, produits et recherche
  • Catégories : dans le thème 1, elles sont listées sur la page Menu sous forme de tuiles carrées avec image, dans le thème 2 sous forme de lignes montrant l’image, le nom et le nombre de produits. Chaque catégorie a une adresse qui ne montre que ses propres produits ; le code QR de la catégorie ouvre cette page.
  • Liste des produits : sur une page de catégorie, les produits sont affichés avec image, nom et prix. Un produit dont le prix n’a pas été saisi n’affiche pas de prix, et un produit sans image apparaît avec une icône neutre.
  • Page produit : une grande image, le nom du produit, un lien vers la catégorie, la description courte, un texte détaillé mis en forme et le prix. Un produit dont l’état est « Taslak » (Brouillon) n’apparaît pas sur le site.
  • Prix : ils sont saisis et affichés en livres turques (₺). Un produit dont le prix est laissé vide ou à 0 s’affiche sans prix.
  • Ordre : vous classez les catégories et les produits avec le champ « Sıra » (Ordre) ; le plus petit numéro passe en premier.
  • Grille ordonnée : le nombre de colonnes suit la largeur de l’écran et le nombre d’éléments ; quand c’est possible, les colonnes sont choisies pour qu’aucune tuile ne reste seule sur la dernière ligne.
  • Recherche en direct : les visiteurs cherchent dans le nom du produit et dans la description courte ; dès que deux lettres au moins sont saisies, les résultats s’ouvrent au fil de la frappe, avec image, nom, catégorie et prix (jusqu’à 30 résultats). Dans les deux thèmes, le champ de recherche s’ouvre avec le bouton en forme de loupe en haut. Si JavaScript est désactivé, la page de recherche fonctionne quand même.
Code QR propre à chaque table
  • Le nom de la table s’affiche sur la page : quand le code QR d’une table est scanné, le menu s’ouvre et le nom de la table (par exemple Table 5) s’affiche en haut de la page. Le nom reste pendant que le visiteur parcourt le menu et les autres sections.
  • Clé de table impossible à deviner : l’adresse QR de chaque table (?masa=…) contient une clé générée au hasard ; le numéro de la table n’apparaît pas dans l’adresse, de sorte qu’on ne peut pas faire un appel au nom d’une autre table en changeant un chiffre dans l’adresse. Si un code tombe entre de mauvaises mains, vous changez la clé de cette table avec le bouton « Anahtarı yenile » (Renouveler la clé) de la liste des tables et vous imprimez la nouvelle carte ; l’administrateur peut aussi renouveler les clés de toutes les tables en une fois.
  • Code supprimé ou renouvelé : si l’ancien code imprimé d’une table supprimée dans le panneau, ou dont la clé a été renouvelée, est scanné, le menu s’ouvre normalement ; seuls le nom de la table et le bouton Appeler le serveur n’apparaissent pas.
  • Moteurs de recherche : les adresses propres à une table et les pages de résultats de recherche sont fermées aux moteurs de recherche (noindex) ; l’adresse canonique d’une page ne contient pas de table.
Appel au serveur
  • Bouton Appeler le serveur : un visiteur qui arrive par le code QR d’une table atteint la page Appeler le serveur, dans le thème 1, par la case de la page d’accueil et par la barre du bas sur téléphone, et dans le thème 2 par le bouton flottant en bas à droite, puis envoie l’appel en appuyant sur le bouton. Le visiteur qui arrive avec le code du menu (sans table) ne voit pas le bouton ; la page l’invite à scanner le code QR posé sur la table.
  • Retour au visiteur : quand l’appel est envoyé, le message « Garson çağrınız iletildi » (Votre appel au serveur a été envoyé) s’affiche ; la page demande l’état de l’appel toutes les 10 secondes et indique « Garsonumuz çağrınızı yanıtladı » (Notre serveur a répondu à votre appel) dès que le serveur le marque « Yanıtlandı » (Répondu) dans le panneau. Une table qui a un appel en attente ne peut pas en ouvrir un second ; un nouvel appel est possible une minute après le dernier appel.
Offres, blog, galerie et équipe
  • Offres : des cartes d’offre composées d’un titre, d’une description courte et d’une image. Si vous le souhaitez, vous ajoutez un lien à une carte et la carte devient cliquable. Une offre dont le statut est « Taslak » (Brouillon) n’apparaît pas ; les cartes sont classées selon l’ordre.
  • Blog : des articles d’annonces, d’actualités et d’événements. Les articles sont listés du plus récent au plus ancien ; chaque article a une image, une date, une description courte et un contenu mis en forme. Un article au statut « Taslak » (Brouillon) n’apparaît pas.
  • Galerie : les images que vous téléversez sont disposées en petits carrés ; l’image sur laquelle on clique s’ouvre en grand dans un nouvel onglet. Vous pouvez écrire une légende facultative pour chaque image. Jusqu’à 200 images peuvent être ajoutées à la galerie.
  • Équipe : les membres de l’équipe sont listés avec une photo, un nom et une fonction (par exemple Chef, Serveur). Dans le thème 2, l’équipe apparaît aussi sur la page d’accueil.
  • Pages supplémentaires : vous écrivez dans le panneau vos propres pages, comme la notice d’information de la loi turque sur la protection des données personnelles (KVKK). Les pages pour lesquelles vous choisissez « Alt bilgide göster » (Afficher dans le pied de page) apparaissent sous forme de liens dans la partie basse du site.
À propos et informations de contact
  • À propos : une page de présentation de votre établissement composée d’un titre et d’un texte mis en forme.
  • Page de contact : affiche l’adresse, un numéro de téléphone qui lance un appel quand on le touche, l’e-mail, les horaires d’ouverture, des icônes de réseaux sociaux et une carte (un code d’intégration Google Maps ou OpenStreetMap) ; les informations que vous laissez vides n’apparaissent pas. La même page comporte un formulaire de message.
  • Formulaire de contact : le visiteur envoie un nom, un e-mail, un numéro de téléphone et un message. Pour l’envoyer, il doit cocher la case par laquelle il confirme avoir lu la notice d’information prévue par la loi turque sur la protection des données personnelles (KVKK) ; le lien de la case ouvre la page que vous choisissez dans le panneau. Vous rédigez vous-même la notice d’information ; le texte du contenu d’exemple n’est qu’un exemple. Les messages reçus sont listés dans le panneau ; si « E-posta ayarları » (Paramètres e-mail) est activé, un e-mail de notification vous parvient aussi.
  • Horaires d’ouverture : vous saisissez un texte pour chaque jour de la semaine (par exemple 11:00 - 23:00, ou « Kapalı » (Fermé) pour un jour de fermeture). Le texte est montré au visiteur tel que vous le saisissez ; un jour laissé vide n’est pas affiché.
  • Réseaux sociaux : vos liens Facebook, X (Twitter), YouTube, Instagram et WhatsApp apparaissent sous forme d’icônes sur la page de contact. Une icône que vous n’avez pas renseignée n’est pas dessinée.
Apparence et moteurs de recherche
  • Couleur principale : vous choisissez une couleur principale dans le panneau. Elle s’applique aux tuiles, aux boutons, à la barre du bas et aux éléments actifs ou sélectionnés. La couleur du texte placé dessus est choisie automatiquement pour rester lisible.
  • Logo, icône du site et pied de page : vous téléversez votre logo et l’icône de votre site (favicon) ; sans logo, le nom de l’établissement s’affiche en texte. Le pied de page comporte les liens du menu rapide, la ligne de copyright et la signature.
  • Signature du pied de page : vous pouvez modifier ou supprimer le texte « TiklaWeb tarafından geliştirildi » (Développé par TiklaWeb) en bas du site.
  • Adapté au mobile : le site s’adapte aux écrans de téléphone, de tablette et d’ordinateur ; les polices et les icônes sont stockées localement dans le paquet, et aucun service externe de polices ou d’icônes n’est appelé.
  • Titre et description propres à chaque page : chaque page porte son propre titre (« Page | Établissement »), sa description et ses balises de partage sur les réseaux sociaux (Open Graph). Sur une page produit, l’image de partage provient de l’image du produit, sur une page de catégorie de l’image de la catégorie. Vous saisissez le titre, la description et les mots-clés du site dans « Site ayarları » (Paramètres du site).
Panneau d’administration
  • « Garson Çağrıları » (Appels au serveur) : les appels venant des tables sont listés sous « Bekleyen çağrılar » (Appels en attente) et « Son yanıtlananlar » (Derniers appels traités) ; chaque appel montre le nom de la table, l’heure de l’appel et le temps écoulé. Vous marquez un appel un par un ou avec « Tümü yanıtlandı » (Tous répondus). La page se rafraîchit d’elle-même toutes les 15 secondes ; quand un nouvel appel arrive, le nombre d’appels en attente est écrit dans le titre de l’onglet du navigateur et un court son facultatif est joué (le son et le nombre ne fonctionnent que lorsque la page est ouverte dans le navigateur). La pastille du menu de gauche et la page « Özet » (Résumé) montrent le nombre d’appels en attente. Les appels sont supprimés automatiquement après 7 jours.
  • « Masalar » (Tables) : vous ajoutez, modifiez et supprimez des tables ; pour chaque table, vous saisissez un nom (60 caractères au plus) et un ordre, et le même nom ne peut pas servir deux fois. Sur la page « Toplu masa oluştur » (Créer des tables en lot), vous ajoutez d’un coup des tables consécutives en saisissant un préfixe (par exemple Masa), le nombre de tables et le premier numéro (jusqu’à 200 à la fois ; une table du même nom est ignorée). Jusqu’à 500 tables peuvent être définies au total. La liste des tables comporte, pour chaque table, un lien vers son code QR et un bouton « Anahtarı yenile » (Renouveler la clé) ; le bouton « Tüm anahtarları yenile » (Renouveler toutes les clés) n’est ouvert qu’à l’administrateur.
  • « QR Kod » (Code QR) : la partie haute de la page contient les codes du menu (page d’accueil et chaque catégorie), et en dessous chaque table a son propre code. Chaque boîte comporte un aperçu, l’adresse ouverte par le code et des boutons de téléchargement : PNG aux tailles 512, 1024 et 2048 pixels, et SVG.
  • Impression des cartes de table : l’affichage d’impression existe en A6, en A4 et en quatre cartes A6 sur une feuille A4 (à découper) ; la carte montre votre logo (ou le nom de l’établissement s’il n’y a pas de logo), le nom de la table, le code QR, une ligne de texte et l’adresse du site. Le texte par défaut des cartes de table est « Menü ve garson çağırma için okutun » (Scannez pour le menu et pour appeler le serveur) si la section Appeler le serveur est activée, et « Menüyü görmek için okutun » (Scannez pour voir le menu) si elle est désactivée ; vous changez le texte (80 caractères au plus) dans l’écran d’impression.
  • Impression de toutes les cartes de table : les cartes de toutes les tables s’impriment avec un seul lien en A6, en A4 ou à quatre par A4. Au-delà de 100 tables, vous choisissez une plage de tables et imprimez jusqu’à 100 cartes à la fois. Sur la page Code QR, les tables sont affichées par 24 par page et peuvent être recherchées par nom ; les boutons de téléchargement fonctionnent pour chaque table séparément.
  • Adresse du code QR : les codes portent l’adresse de votre site à partir de laquelle le panneau a été ouvert. Si l’adresse change, vous devez télécharger et imprimer de nouveau les codes ; vous pouvez aussi saisir l’adresse à la main et actualiser les codes.
  • « Özet » (Résumé) : les nombres de produits publiés, de catégories, de tables, d’appels au serveur en attente, de messages non lus et de produits en brouillon, un raccourci vers la page « QR Kod » (Code QR) et le thème actif.
  • Gestion du menu : pour les produits, vous saisissez un nom, une catégorie, un prix, un ordre, un état (publié ou brouillon), une description courte, une description détaillée et une image. Pour les catégories, vous saisissez un nom, un ordre et une image. La liste des produits peut être filtrée par catégorie ; les listes offrent la recherche et le tri.
  • Offres, Blog, Galerie, Équipe et Contenu du site : chacun a dans le panneau des pages d’ajout, de modification et de suppression ; les offres et les articles de blog sont enregistrés comme « Yayında » (Publié) ou « Taslak » (Brouillon). Sous « Site içeriği » (Contenu du site), vous trouvez « Hakkımızda » (À propos), les pages supplémentaires, « Çalışma saatleri » (Horaires d’ouverture) et les liens de réseaux sociaux. L’éditeur Summernote est utilisé dans les champs de texte enrichi.
  • « Site bölümleri » (Sections du site) : sur la page « Ayarlar > Site bölümleri » (Réglages > Sections du site), vous activez et désactivez une par une les sections Offres, Appeler le serveur, Galerie, Équipe, Blog, À propos et Contact ; une section désactivée ne s’ouvre ni sur le site, ni dans le menu, ni par son adresse. Le menu est toujours activé. Cette page n’est ouverte qu’à l’administrateur.
  • « Mesajlar » (Messages) : les messages du formulaire de contact sont listés ; le nombre de messages non lus apparaît dans le menu et sur la page Résumé. Chaque message montre le nom, l’e-mail et le téléphone de l’expéditeur, la date du message et l’heure de confirmation de la notice d’information ; vous pouvez supprimer un message.
  • « Ön yüz teması » (Thème du site) : le choix entre les deux thèmes ; accessible uniquement à l’administrateur.
  • Téléversement d’images : des fichiers JPG, PNG ou WebP sont téléversés (jusqu’à 8 Mo). Si l’extension GD est active sur le serveur, les images sont converties en WebP et celles dont le grand côté dépasse 1600 pixels sont réduites ; le menu ouvert sur téléphone se charge ainsi plus vite.
  • « E-posta ayarları » (Paramètres e-mail) : dès que vous saisissez vos informations SMTP et activez l’envoi, la notification du formulaire de contact et l’e-mail « Mot de passe oublié » fonctionnent. Vous testez les réglages avec le bouton « Deneme e-postası gönder » (Envoyer un e-mail de test). Aucun e-mail n’est envoyé pour les appels au serveur.
  • « Site ayarları » (Paramètres du site) : titre du site, nom de l’établissement, description et mots-clés, téléphone, lien WhatsApp, e-mail, adresse, ligne de copyright, page de la notice d’information (KVKK), couleur principale, carte, logo, icône du site, champs de code personnalisé, langue du site et langue du panneau.
  • Utilisateurs et droits : vous ajoutez des comptes administrateur et éditeur. L’éditeur gère les appels au serveur, les messages, les tables, la page « Code QR », le menu, les sections offres, blog, galerie et équipe ainsi que le contenu du site ; « Site ayarları », « Site bölümleri », « Ön yüz teması », « E-posta ayarları » et « Kullanıcılar » (Utilisateurs) du menu Réglages ne sont ouverts qu’à l’administrateur. Les droits sont contrôlés côté serveur. Chaque utilisateur modifie son propre nom et son mot de passe sur la page « Profil ve şifre » (Profil et mot de passe).
  • Mot de passe oublié : le mot de passe se réinitialise par e-mail grâce au lien de la connexion au panneau (si « E-posta ayarları » est configuré). Le lien de réinitialisation est valable 1 heure et ne s’utilise qu’une fois.
  • Code personnalisé : dans « Site ayarları », vous ajoutez votre propre code (par exemple un script de statistiques) dans l’en-tête du site, au début de son corps et en fin de page. Ces champs sont réservés à l’administrateur.
Installation et mises à jour
  • Assistant d’installation en cinq étapes : prérequis, licence, base de données, informations du site et de l’administrateur, finalisation. L’assistant vérifie lui-même votre serveur.
  • Langue d’installation : le turc ou l’anglais se choisit en haut à droite de l’assistant. Avec une installation en anglais, le contenu de départ et d’exemple est aussi en anglais.
  • Installation avec contenu d’exemple ou vide : vous pouvez démarrer avec un site rempli comme la démo, avec des catégories, des produits, des tables, des images et des horaires d’exemple, et le modifier, ou saisir les contenus à partir de zéro.
  • Mise à jour depuis le panneau : vous téléchargez le paquet zip de la nouvelle version depuis votre espace client tiklaweb.net et le téléversez sur la page « Güncelleme ve lisans » (Mise à jour et licence) du panneau d’administration. Une sauvegarde des fichiers et de la base est effectuée avant l’opération. En cas d’erreur, le site revient à son état précédent. Les images que vous avez téléversées, vos paramètres et vos contenus sont conservés.
  • Paquets vérifiés : la signature du paquet de mise à jour est contrôlée ; seuls les paquets téléchargés depuis tiklaweb.net sont installés.

Le guide d’installation détaillé est fourni dans le paquet que vous téléchargez, sous la forme du fichier KURULUM.html (rédigé en turc).

Licence

Chaque licence est valable pour un seul nom de domaine, que vous indiquez lors de la commande. Le changement de nom de domaine est payant et se fait par une demande d’assistance. La licence n’est pas transférée gratuitement. Le site ne s’ouvre pas sur un nom de domaine sans licence, et le visiteur est redirigé vers une page d’avertissement de licence. Pour l’utiliser sur un autre nom de domaine, une licence distincte est nécessaire.

Caractéristiques techniques
  • PHP 8.2 ou supérieur, MySQL ou MariaDB
  • Base : PHP pur, PDO et requêtes préparées. Site : ni framework ni jQuery, chacun des deux thèmes a son propre petit script ; les icônes sont Font Awesome Free 6 et les polices (Roboto et Montserrat) sont stockées localement dans le paquet, aucun service externe de polices n’est appelé. Panneau : Bootstrap 4, DataTables et l’éditeur de contenu Summernote
  • Les codes QR sont générés sur votre serveur avec la bibliothèque chillerlan/php-qrcode, sous licences MIT et Apache-2.0 ; aucune requête n’est envoyée à un service QR externe. Le fichier PNG est écrit sans l’extension GD
  • Seules les adresses propres de votre site sont écrites dans les codes QR, avec les numéros de catégorie et les clés de table ; une adresse de site saisie à la main est transmise par des liens signés
  • L’envoi d’e-mails se fait avec PHPMailer 6.9 ; le mot de passe SMTP est stocké chiffré
  • Les textes de l’interface sont conservés dans les fichiers de langue du paquet (turc et anglais fournis, de nouvelles langues peuvent être ajoutées)
  • Vérification CSRF sur les actions du panneau ; limites de tentatives sur la connexion au panneau et la réinitialisation du mot de passe
  • Appel au serveur : la clé de table est une valeur aléatoire de 20 caractères (80 bits) et le numéro de la table n’apparaît pas dans l’adresse ; le formulaire d’appel fonctionne avec un jeton signé et limité dans le temps ; la règle par table est appliquée dans la base de données par un verrou de ligne (des appuis simultanés ne produisent qu’un appel) ; au plus 60 nouveaux appels du même réseau sont acceptés en 10 minutes ; les enregistrements d’appel sont supprimés après 7 jours
  • Le formulaire de contact comporte une confirmation obligatoire de la notice d’information, un jeton de formulaire signé, un champ piège masqué et une limite d’envois (8 envois en 10 minutes)
  • Le type des images téléversées dans le panneau est vérifié à partir du contenu (JPG, PNG, WebP ; jusqu’à 8 Mo) ; PHP ne s’exécute pas dans le dossier de téléversement
  • Les champs de texte enrichi du panneau sont filtrés côté serveur à l’enregistrement (HTMLPurifier) ; le panneau d’administration envoie un en-tête de politique de sécurité du contenu (CSP) ; les mots de passe des administrateurs sont stockés sous forme de hachage
  • Le champ de carte n’accepte que les adresses d’intégration de Google Maps et d’OpenStreetMap
  • Les gabarits des thèmes ne peuvent pas être ouverts directement par leur adresse ; les requêtes de recherche s’exécutent en requêtes préparées et la sortie est échappée
  • Les informations de base de données et les sauvegardes sont conservées, si l’hébergement le permet, dans un dossier situé hors de la racine web
  • En-têtes de sécurité, HSTS en HTTPS ; fuseau horaire Europe/Istanbul
  • Un audit de sécurité composé d’une revue de code et de tests d’attaque en conditions réelles a été réalisé avant la vente
Démo

Vous pouvez explorer le site et le panneau d’administration dans une démo en lecture seule. Avec les liens « Demo teması » (Thème de la démo) en bas du site de démo, ou en ajoutant ?tema=tema2 à l’adresse, vous parcourez les deux thèmes ; ce choix ne vaut que dans la démo, et sur votre propre site vous choisissez le thème dans le panneau. Pour essayer l’appel au serveur, utilisez le lien « Garson çağırmayı denemek için örnek masayla aç » (Ouvrir avec une table d’exemple pour essayer l’appel au serveur) en bas du site : le nom de la table s’affiche et le bouton Appeler le serveur apparaît. Dans la démo, aucun appel n’est enregistré et un message indiquant que l’appel n’a pas été enregistré s’affiche à l’écran ; le formulaire de contact n’affiche que le message de réussite et n’enregistre aucun message. Dans le panneau, les pages « Garson Çağrıları » et « Mesajlar » contiennent des enregistrements d’exemple. La démo est installée en turc ; dans le panneau d’administration, vous pouvez passer la langue du panneau en anglais avec l’icône de globe en haut à droite (ce choix n’est conservé que dans votre navigateur). Le nom de l’établissement, les produits, les prix, les tables, les offres, les articles et les photos de la démo sont tous du contenu d’exemple. Dans le panneau de démo, vous pouvez ouvrir les pages « Masalar » (Tables) et « QR Kod » (Code QR), télécharger les codes et essayer l’affichage des cartes de table ; les codes portent l’adresse du site de démo. La carte et le lien WhatsApp sont laissés vides dans la démo ; ils apparaissent sur la page de contact une fois remplis dans le panneau.

Aucune modification ne peut être enregistrée dans la démo. La démo est réinitialisée chaque nuit. Les pages sensibles comme les paramètres e-mail, les utilisateurs et les formulaires de mot de passe ne peuvent pas être consultées en mode démo, et « Mot de passe oublié » est désactivé dans la démo. Ces identifiants ne valent que pour le site de démo. Dans l’installation que vous achetez, vous définissez vous-même le compte administrateur.

Assistance

Si vous êtes bloqué, vous pouvez ouvrir une demande d’assistance depuis votre espace client tiklaweb.net ou écrire à destek@tiklaweb.net.

Site de menu QR avec appel au serveur. Un code QR par table, deux thèmes, menu, offres et prix gérés dans le panneau. Installation par assistant.
  • Étape 1, préparation : Sur votre hébergement, réglez la version de PHP sur 8.2 ou supérieure et créez une base de données MySQL/MariaDB vide ainsi qu’un utilisateur.
  • Étape 2, fichiers : Téléversez le contenu du dossier public_html du paquet téléchargé (y compris le fichier caché .htaccess) dans le dossier de publication de votre nom de domaine.
  • Étape 3, assistant : Ouvrez votre nom de domaine dans le navigateur. L’assistant d’installation se lance automatiquement ; vous pouvez choisir le turc ou l’anglais avec les liens en haut de la page.
  • Étape 4, installation : Dans l’assistant, vérifiez les prérequis et la licence, saisissez les informations de la base de données, puis celles du site et de l’administrateur. Choisissez l’installation avec contenu d’exemple ou vide.
  • Étape 5, panneau : Connectez-vous à votredomaine.com/admin avec votre compte administrateur et renseignez la page « Site ayarları » (Paramètres du site), ajoutez vos catégories et vos produits dans la section « Menü » (Menu) et vos tables dans « Masalar » (Tables), téléchargez vos codes depuis la page « QR Kod » (Code QR), puis essayez un code de table en gardant ouverte la page « Garson Çağrıları » (Appels au serveur).

Le guide d’installation détaillé est fourni dans le paquet que vous téléchargez, sous la forme du fichier KURULUM.html (rédigé en turc).

2.0.0 — Première version commerciale

Première version commerciale du script de menu QR avec appel au serveur.

Ajouts
  • Assistant d’installation dans le navigateur (contrôle des prérequis, licence, base de données, étapes du site et de l’administrateur).
  • Choix d’une installation avec contenu d’exemple ou vide.
  • Interface en turc et en anglais pour le site, le panneau d’administration et l’assistant d’installation ; choix de la langue dans « Site ayarları » (Paramètres du site) ; ajout d’une nouvelle langue par copie du fichier de langue.
  • Licence liée au nom de domaine ; le site ne s’ouvre pas sur un nom de domaine sans licence.
  • Mise à jour par zip depuis le panneau : sauvegarde automatique, retour à la version précédente en cas d’erreur, conservation des contenus et des fichiers de langue ajoutés.
  • Tables : ajout de tables une par une ou en lot (500 au total), une clé QR impossible à deviner pour chaque table, un lien QR dans la liste des tables et le renouvellement de la clé.
  • Appel au serveur : un bouton Appeler le serveur pour les visiteurs venus d’un code QR de table, une règle d’attente par table, l’état de l’appel montré au visiteur ; la page « Garson Çağrıları » (Appels au serveur) dans le panneau (appels en attente et traités, rafraîchissement toutes les 15 secondes, nombre dans le titre de l’onglet, son facultatif, nettoyage automatique après 7 jours). Il n’y a ni panier, ni paiement, ni commande.
  • Page « Code QR » dans le panneau : un code QR pour le menu (page d’accueil), chaque catégorie et chaque table ; téléchargement en PNG (512, 1024, 2048 pixels) et en SVG ; affichage d’impression en A6, A4 et quatre cartes A6 sur une feuille A4, texte de carte modifiable ; impression de toutes les cartes de table (par choix d’une plage au-delà de 100 tables), recherche de table et pagination. Un code de table ouvre le menu, affiche le nom de la table et fait apparaître le bouton Appeler le serveur.
  • Deux thèmes (Thème 1 : Application, Thème 2 : Café) et choix du thème dans le panneau ; ajout de votre propre fichier ozel.css.
  • Catégories et vitrine de produits avec prix : ordre, état, description courte, texte mis en forme et image ; recherche de produits en direct. Il n’y a ni panier ni commande.
  • Offres, blog, galerie, équipe et pages supplémentaires ; activation et désactivation des sections une par une depuis le menu Réglages.
  • À propos, informations de contact, un formulaire de contact avec case de consentement KVKK et une section « Mesajlar » (Messages) dans le panneau, horaires d’ouverture et liens de réseaux sociaux.
  • Choix de la couleur principale dans le panneau, couleur du texte choisie automatiquement selon le fond.
  • Conversion en WebP au téléversement d’images (si GD est actif) et limitation du grand côté à 1600 pixels.
  • Modification ou suppression de la signature du pied de page depuis le panneau.
  • Mot de passe oublié : lien de réinitialisation par e-mail, valable 1 heure et utilisable une seule fois.
  • Autorisations d’utilisateur administrateur et éditeur.
Corrections
  • Les adresses invalides et celles des produits, articles et pages supplémentaires non publiés affichent une page 404 au lieu d’une erreur.
  • Les champs d’image, de réseaux sociaux et de carte laissés vides ne sont pas dessinés sur le site.
Sécurité
  • Vérification CSRF, limites de tentatives et contrôles d’autorisation sur les actions du panneau.
  • Les adresses de table portent une clé aléatoire impossible à deviner ; l’appel au serveur fonctionne avec un jeton de formulaire signé et limité dans le temps et des limites par table et par réseau ; le formulaire de contact comporte une confirmation KVKK, un champ piège et une limite d’envois.
  • Seules les adresses définies par le serveur sont écrites dans les codes QR ; une adresse de site saisie à la main est transportée par des liens signés.
  • Le type des images téléversées dans le panneau est vérifié à partir du contenu.
  • Les champs de texte mis en forme du panneau sont filtrés à l’enregistrement, et une politique de sécurité du contenu (CSP) a été ajoutée au panneau.
  • Les mots de passe des administrateurs sont stockés hachés et le mot de passe SMTP est stocké chiffré.
  • Les gabarits des thèmes ne peuvent pas être ouverts directement par leur adresse ; les requêtes de recherche s’exécutent en requêtes préparées et la sortie est échappée.

Le guide d’installation est le fichier KURULUM.html à l’intérieur du paquet.

Chaque licence couvre un seul domaine ; une licence distincte est nécessaire pour chaque site. Le domaine ne peut pas être modifié après l'installation, et le changement d'extension du même domaine est payant.

Oui. Votre hébergement doit toutefois répondre aux « exigences serveur » indiquées sur la page du produit.

Les nouvelles versions apparaissent dans votre espace client tant que votre licence est active.

L'installation est payante ; il n'existe pas d'installation gratuite du script. Vous pouvez l'installer vous-même grâce au guide pas à pas fourni dans le paquet. Si vous souhaitez que nous nous en chargions, vous pouvez recourir à notre service d'installation payant.

Script de menu QR avec appel au serveur

Restaurant & Menu QR
  • Site de menu QR avec appel au serveur. Un code QR par table, deux thèmes, menu, offres et prix gérés dans le panneau. Installation par assistant.
$20 Unique
159 vues
Détails du produit
Date de sortie2 novembre 2026
Dernière mise à jour2 novembre 2026
Version2.0.0
Développé avecPHP 8.2+, MySQL/MariaDB, Düz PHP (PDO), Font Awesome 6, DataTables, Summernote, PHPMailer, php-qrcode
Pages incluses12 sections prêtes à l'emploi
Licence1 domaine, utilisation à vie
Mises à jourIncluses tant que la licence est active
Prérequis
  • PHP 8.2 ou supérieur
  • Extensions PHP : pdo_mysql, mbstring, openssl, curl, zip, fileinfo, json, sodium (gd recommandée)
  • MySQL ou MariaDB : une base de données neuve et vide. Saisissez localhost dans le champ du serveur de base de données.
  • Un nom de domaine et un certificat SSL sont recommandés.
  • Hébergement Apache avec prise en charge de .htaccess (mod_rewrite n’est pas nécessaire). Si vous utilisez Nginx, ouvrez un ticket de support avant l’installation.
  • Dossiers accessibles en écriture : tiklaweb, uploads
  • Pour la notification du formulaire de contact et l’e-mail « Mot de passe oublié », les informations SMTP fournies par votre hébergeur (saisies sur la page « E-posta ayarları » (Paramètres e-mail))
  • Le site et le panneau d’administration sont disponibles en turc et en anglais, et une nouvelle langue peut être ajoutée. Le guide d’installation (KURULUM.html) est en turc.
Étiquettes
menu qr avec appel au serveurmenu qrmenu par code qrappel au serveurmenu numériquesite web de restaurantcode qr de tablegénérateur de code qrsite de menu de caféscript de site web phpsite avec panneau d’administrationinstallation par assistant

Autres produits

Parcourir tous les produits

Script de site web pour lavage auto et entretien automobile

Automobile, Transport & Logistique $20 Unique

Script de site web pour entreprise de nettoyage

Nettoyage & Services à domicile $20 Unique
Contact

Contacter le service commercial et l'assistance

Vous avez une question avant votre achat ou besoin d'aide pour un compte existant ? Appelez-nous ou envoyez-nous un e-mail.