The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →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.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →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
- 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
- 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.
- Créer le panier. Ajouter, retirer et modifier les quantités, calculer le total, accepter un paiement comptant et calculer la monnaie à rendre.
- 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.
- 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.
- 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 ».
- 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
- 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.
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
- 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
- 【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.
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
- 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).
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.
Quick Recap
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.

