Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
FREEDOM251

Freedom251 › Blog › caisse enregistreuse

Comment j’ai conçu une PWA de caisse enregistreuse 100 % hors ligne pour les commerçants du Cameroun 🇨🇲

By Freedom251 Team · · 7 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Une caisse PWA peut continuer à vendre sans Internet si elle sépare clairement trois fonctions : le service worker conserve l’interface dans le cache, IndexedDB conserve les données de caisse sur l’appareil, puis une file d’opérations exporte ou synchronise les ventes quand la connexion revient. Une imprimante thermique 80 mm compatible ESC/POS complète le dispositif, avec un aperçu PDF si le navigateur ne peut pas imprimer directement.

Le principe : séparer l’interface, les données et la synchronisation

La perte de réseau ne doit pas empêcher d’ouvrir la caisse, d’ajouter des articles, d’encaisser ou de consulter les tickets déjà enregistrés. Pour y parvenir, j’ai retenu une architecture locale d’abord : chaque action est écrite sur l’appareil avant d’être éventuellement envoyée à un serveur.

As an Amazon Associate I earn from qualifying purchases.

Un app shell servi par le service worker

Le service worker intercepte les requêtes de la PWA et peut répondre avec des ressources déjà en cache lorsque le réseau est indisponible. Le Cache Storage contient l’HTML, le CSS, le JavaScript, les images et les polices nécessaires à l’ouverture de la caisse. Ainsi, l’écran de vente reste accessible même après la coupure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Les données métier dans IndexedDB

Les produits, catégories, prix, unités, clients, tickets, paiements et mouvements de stock sont des données structurées : IndexedDB convient mieux à ce rôle qu’un simple stockage texte. L’API est asynchrone et peut être utilisée par l’application comme par le service worker. La documentation Microsoft Edge la présente comme « the best option for storing data in your PWA » pour ce type de données.

#1 Best Overall
Square Handheld - Portable POS - Credit Card Machine to Accept Payments for Restaurants, Retail, Beauty, and Professional Services
  • With Square Handheld, you can accept payments, take tableside orders, or scan barcodes anywhere. With a slim design and comfortable grip, the POS is easy to carry in your palm or pocket. Square Handheld is designed to withstand water splashes and dust. Add an optional protective case for accidental drops. A long-lasting battery and offline payments let you keep selling.
  • Slim, pocketable, and lightweight so you can accept payments wherever your customers are.
  • Take tableside orders, bust lines, or use the built-in barcode scanner, all with one sleek device.
  • A battery that can power through your shift and offline payments let you keep selling, even if your internet is down.
  • Accept all major credit and debit cards and pay one simple rate with no hidden fees and no long-term contracts required.

Un journal local rejouable

Chaque vente reçoit un identifiant client unique. La caisse enregistre d’abord la transaction, diminue le stock local, affiche « en attente de synchronisation » puis place l’opération dans une file. Au retour du réseau, la file est rejouée vers une API idempotente : renvoyer deux fois le même identifiant ne doit pas créer deux tickets.

Construire la première version de la caisse

  1. Préparer le catalogue. Enregistrer pour chaque article le nom, le prix, l’unité, la catégorie et, si nécessaire, le code-barres. Prévoir une recherche rapide par nom ou scan.
  2. Créer le panier. Ajouter, retirer et modifier les quantités, calculer le total, accepter un paiement comptant et calculer la monnaie à rendre.
  3. Rendre l’écriture atomique. Lors de la validation, écrire le ticket, ses lignes, le paiement et la décrémentation du stock dans une transaction IndexedDB unique. Si une étape échoue, aucune partie de la vente ne doit rester seule.
  4. Numéroter localement. Utiliser un numéro lisible pour le ticket et un identifiant technique aléatoire pour la synchronisation. Le numéro local continue d’avancer sans serveur.
  5. Afficher l’état réel. Montrer la connectivité, le nombre de ventes non synchronisées et, pour chaque ticket, un état tel que « local », « en attente », « synchronisé » ou « erreur ».
  6. Rejouer avec reprise. À la reconnexion, envoyer les opérations dans l’ordre, conserver celles qui échouent et réessayer plus tard. L’API doit vérifier l’identifiant client avant de créer une nouvelle vente.

Des projets open source tels que pos-pro et studio-pos illustrent des fonctions utiles pour ce périmètre : recherche par code-barres, calcul de monnaie, tickets thermiques, export/import et fonctionnement sans backend.

Rank #2
Sale
Square Stand (Countertop) for iPad - Fits 10.9 and 11 inch USB-C iPads
  • iPad to POS in Minutes: Slide in an iPad and download the included Square point of sale app to get started. No training or service visits needed.
  • Your entire business in one place: Power every part of what you do, all on one device. That’s payments, your website, daily reporting, and so much more.
  • No extra readers required: Super fast built-in payments mean far fewer cords, zero fears of disconnecting, and a cleaner counter from here on out.
  • Keep selling, even offline: Keep taking payments with offline payments even when your Wi-Fi or connectivity is down. Just reconnect to the internet within 24 hours to upload transactions. Terms and conditions apply.
  • Stay powered even without power: if you need to unplug or if you lose power, Square Stand can run off a full iPad battery. iPad-powered mode only on USB-C compatible version.

Où sont stockées les ventes hors ligne ?

Elles restent dans le profil du navigateur, dans la base IndexedDB de l’origine de la PWA. Le cache de l’interface se trouve dans Cache Storage, séparé des tables métier. Une autre application, un autre domaine ou un autre profil de navigateur ne voit pas ces données.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ce que cela implique en pratique

  • Changer de téléphone ou d’ordinateur ne transfère pas automatiquement les tickets.
  • Deux caisses installées sur deux appareils ne partagent pas leur stock sans synchronisation avec un serveur.
  • Le navigateur applique des quotas et peut évincer du stockage local. Une sauvegarde externe est donc indispensable.

Sauvegarder, restaurer et récupérer après un incident

Export visible dans l’interface

Ajouter un bouton d’export clairement accessible produit un fichier JSON complet pour la restauration et, si besoin, un CSV lisible dans un tableur. L’export doit inclure les produits, tickets, lignes, paiements, mouvements de stock, numéros locaux et états de synchronisation.

Rank #3
Elo EloPOS POS Terminal
  • Meet and exceed your business needs with intel core i5 3.60 GHz processor
  • The ultra-advanced interface that Windows 10 offers is well suited to any hardware or computer program that you are directly using
  • 128 GB SSD offers amazing storage room for all your critical data
  • With 8 GB DDR4 SDRAM of memory

Import contrôlé

L’import ne doit pas écraser silencieusement la base. Afficher le nombre d’enregistrements, vérifier le format, proposer une sauvegarde préalable et signaler les doublons d’identifiants. Après restauration, recalculer les index et afficher la date du dernier import.

Routine recommandée

  • Exporter à intervalles réguliers vers un support différent de l’appareil de caisse.
  • Conserver au moins une copie hors du magasin.
  • Tester périodiquement un import sur un profil de navigateur séparé.
  • Ne pas supprimer l’ancien fichier tant qu’une nouvelle restauration n’a pas été vérifiée.

Imprimer un ticket au Cameroun

Le format le plus simple à intégrer est le ticket de 80 mm envoyé à une imprimante thermique compatible ESC/POS. Prévoir une largeur fixe, le nom du commerce, les lignes d’articles, le total, le montant reçu, la monnaie et le numéro de ticket.

Rank #4
All-in-One Cash Register, Pos Terminal Machine
  • 【Wide Industry Adaptability】This versatile system fits diverse commercial scenarios, perfectly matching small businesses, convenience stores, grocery stores, food trucks, catering shops, bubble tea stores, coffee shops and bakeries. It supports daily checkout and business settlement for multiple retail and catering industries with strong compatibility.
  • 【HD Clear Display Experience】Equipped with a 15.6-inch high-definition touch screen and 8-bit LED display, it presents clear order data and customer information in real time. The sensitive touch operation adapts to all retail and point-of-sale environments, bringing intuitive and efficient checkout interaction.
  • 【Powerful Smooth Performance】Adopts I3 dual-core CPU, 4G RAM and 128G configuration, built-in WIFI module. It runs various professional checkout software stably with fast response speed, no lag during long-term continuous use, ensuring fluent daily business operation.
  • 【Ergonomic Practical Design】Integrated with a 58mm high-speed thermal printer, it outputs clear and neat receipts rapidly to improve checkout efficiency. The rotatable screen supports multi-angle adjustment, adapting to different working postures and effectively reducing operational fatigue for cashiers during peak business hours.
  • 【Rich Expandable Interfaces】Comes with complete functional interfaces including 6 USB ports, Gigabit Ethernet port, parallel port, serial port, VGA port and dual audio ports. The comprehensive expansion design supports connection with various peripheral devices, meeting diverse equipment docking and business expansion needs for long-term commercial use.

Quand l’impression directe échoue

Un navigateur ne donne pas toujours à une PWA un accès direct à une imprimante locale. La caisse doit donc proposer un aperçu imprimable, un PDF ou le partage du reçu. Le ticket reste disponible même si l’imprimante est débranchée : l’impression devient une action séparée de l’encaissement.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Matériel complémentaire

  • Imprimante thermique 80 mm ESC/POS pour les reçus.
  • Lecteur de codes-barres si le volume d’articles le justifie.
  • Téléphone, tablette ou ordinateur doté d’un navigateur moderne.

Aucun modèle, prix ou service de livraison précis n’est garanti ici : la compatibilité ESC/POS et la disponibilité doivent être vérifiées auprès du vendeur au Cameroun.

Best Value
Sale
Square Reader for magstripe (with Lightning connector)
  • Pay one transparent rate per swipe for Visa, Mastercard, Discover and American Express.
  • Works in conjunction with most downloadable Square point-of-sale apps on your device. Customers can pay, tip and sign directly on your device. Track payments in cash, gift cards and more. Also lets you send receipts via e-mail or text message, makes it easy to apply discounts, keeps a data and sales history log and more.
  • Accepts magstripe credit card payments, including those from Visa, Mastercard, Discover and American Express (fees apply).
  • App sends deposits to your bank account within 1 to 2 business days, or enjoy instant deposits (fees apply).
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Téléphone, tablette ou ordinateur : que peut utiliser un commerçant ?

La même PWA peut s’ouvrir sur un téléphone, une tablette ou un ordinateur, à condition que chaque appareil ait chargé l’app shell et possède son propre stockage local. L’écran de vente doit être responsive, les boutons suffisamment grands pour le tactile et la recherche accessible au clavier comme au scan.

Changer de navigateur ou d’appareil

Le stockage étant lié à l’origine et au profil du navigateur, passer de Chrome à un autre navigateur, effacer les données du site ou changer d’appareil donne une base vide. Avant la migration, exporter la caisse, installer la PWA sur le nouvel appareil, puis importer le fichier et contrôler l’historique.

PWA hors ligne ou caisse cloud ?

Critère PWA avec stockage local Caisse cloud classique
Dépendance au réseau Vente possible pendant une coupure ; synchronisation différée. Les fonctions centrales dépendent généralement de la connexion.
Partage entre appareils Pas automatique ; nécessite export/import ou serveur de synchronisation. Centralisé quand tous les appareils atteignent le même service.
Risque principal Perte ou éviction du stockage du navigateur sans sauvegarde. Indisponibilité du service ou de la connexion, compensée par les sauvegardes du fournisseur.
Déploiement Installation légère dans un navigateur, sans logiciel natif dédié. Configuration du compte et dépendance à l’infrastructure distante.
Impression ESC/POS 80 mm si le navigateur l’autorise, sinon PDF ou aperçu. Selon les outils d’impression proposés par le service.

IndexedDB locale ou backend central ?

Besoin IndexedDB Backend
Disponibilité immédiate Très bonne sur l’appareil déjà initialisé, même hors ligne. Dépend de la connexion au serveur.
Consolidation de plusieurs caisses Non, sans mécanisme de synchronisation. Oui, si l’API et les règles de conflit sont prévues.
Récupération Export/import JSON ou CSV à organiser par le commerçant. Sauvegardes et restauration gérées côté serveur, selon le fournisseur.
Synchronisation File locale, identifiants uniques et API idempotente nécessaires. Écritures centralisées, mais toujours exposées aux pannes réseau.

Les tests indispensables avant l’utilisation

  • Ouvrir la PWA une première fois, couper le réseau puis redémarrer le navigateur.
  • Créer une vente, fermer l’onglet, le rouvrir et vérifier que le ticket et le stock sont présents.
  • Enregistrer plusieurs ventes hors ligne, rétablir le réseau et confirmer qu’elles ne sont envoyées qu’une seule fois.
  • Forcer une erreur serveur et vérifier que la file conserve l’opération sans bloquer les nouvelles ventes.
  • Exporter, effacer les données du site sur une copie de test, importer puis comparer le nombre de tickets et le stock.
  • Tester l’impression 80 mm, l’aperçu PDF et le partage lorsque l’imprimante est indisponible.

Limites à valider localement

Cette architecture garantit la continuité technique de la caisse, pas la conformité réglementaire. Les paiements mobiles, la fiscalité, le contenu légal d’un reçu et les exigences camerounaises de conservation ou de déclaration ne sont pas établis par les éléments disponibles ici : ils doivent être confirmés avec un professionnel ou l’autorité compétente avant déploiement commercial.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
Square Handheld - Portable POS - Credit Card Machine to Accept Payments for Restaurants, Retail, Beauty, and Professional Services
Square Handheld - Portable POS - Credit Card Machine to Accept Payments for Restaurants, Retail, Beauty, and Professional Services
Slim, pocketable, and lightweight so you can accept payments wherever your customers are.
$399.00
Bestseller No. 3
Elo EloPOS POS Terminal
Elo EloPOS POS Terminal
Meet and exceed your business needs with intel core i5 3.60 GHz processor; 128 GB SSD offers amazing storage room for all your critical data
$777.45
SaleBestseller No. 5
Square Reader for magstripe (with Lightning connector)
Square Reader for magstripe (with Lightning connector)
Pay one transparent rate per swipe for Visa, Mastercard, Discover and American Express.
$9.40

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

caisse enregistreuseCamerounESC/POShors ligneIndexedDBPWAservice worker

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.