Dev.to WebDev 🛠 Dev 👁 0 📖 4 min read

Comment j'ai construit une PWA de caisse enregistreuse 100% hors-ligne pour les commerçants du Cameroun 🇨🇲

Comment j'ai construit une PWA de caisse enregistreuse 100% hors-ligne pour les commerçants du Cameroun 🇨🇲 En résumé : En Afrique subsaharienne, concevoir un logiciel de caisse (POS) pour petits commerces ne consiste pa

Comment j'ai construit une PWA de caisse enregistreuse 100% hors-ligne pour les commerçants du Cameroun 🇨🇲

En résumé : En Afrique subsaharienne, concevoir un logiciel de caisse (POS) pour petits commerces ne consiste pas à copier Square ou Shopify. Il faut résoudre trois réalités impitoyables du terrain : les coupures de réseau télécom (MTN, Orange), le coût élevé des mégaoctets de données mobiles, et la gestion du cash. Voici l'architecture et les choix techniques derrière Caisse Boutique
, une Progressive Web App offline-first conçue pour les commerces camerounais.

  1. La réalité du terrain : Pourquoi 90% des apps occidentales échouent à Douala ou Yaoundé

Lorsque vous visitez un snack à Akwa, une alimentation à Deido ou une quincaillerie au Marché Central de Douala, voici le quotidien du commerçant :

Instabilité chronique de la connexion : Les réseaux mobiles 4G/3G s'interrompent régulièrement pendant les heures de pointe. Si votre logiciel de caisse dépend d'une API cloud synchrone, la file d'attente s'allonge et le boutiquier revient immédiatement au stylo et au cahier.
La friction du Play Store : Demander à un boutiquier de télécharger une application de 80 Mo sur le Google Play Store consomme son forfait Internet personnel. Beaucoup refusent ou abandonnent.
La perte invisible d'argent : Annulations de tickets injustifiées par les employés, calculs mentaux approximatifs, vols de stock non documentés. En moyenne, un petit commerce sans caisse informatisée perd entre 50 000 et 150 000 FCFA chaque mois sans s'en rendre compte.

  1. Le choix d'architecture : PWA Offline-First plutôt qu'App Native

Pour contourner ces contraintes, le choix s'est naturellement porté sur une Progressive Web App (PWA) avec une approche radicale Offline-First.

PWA vs Application Native au Cameroun :
Critère Application Native (Play Store / APK) Notre PWA (Caisse Boutique)
Poids au téléchargement 50 à 120 Mo de data mobile Moins de 2 Mo (chargement quasi instantané)
Installation Compte Google Play obligatoire 1 clic ("Ajouter à l'écran d'accueil")
Dépendance réseau Bloque souvent si pas de connexion 100% autonome hors-ligne (Service Worker + LocalStorage/IndexedDB)
Mises à jour Téléchargements manuels lourds Silencieuses & instantanées à chaque reconnexion
Compatibilité Limité aux versions récentes d'Android Universelle (n'importe quel smartphone, tablette ou vieux PC)
Comment fonctionne le mode 100% hors-ligne ?
Cache First pour les assets : L'ensemble des composants HTML, styles CSS Tailwind et scripts applicatifs sont mis en cache localement par le navigateur dès la première ouverture.
Stockage local des transactions : Chaque vente, modification de stock ou impression de ticket est enregistrée localement dans une file d'attente sécurisée sur l'appareil.
Réconciliation en tâche de fond : Dès que l'appareil capte à nouveau le réseau (Wifi ou données mobiles), un moteur de synchronisation pousse les transactions par lots vers la base de données centrale sans jamais bloquer l'interface d'encaissement de la caissière.

  1. Les fonctionnalités clés adaptées aux besoins locaux 🖨️ Impression Bluetooth de reçus thermiques 58mm

Le reçu papier reste le symbole absolu de confiance pour le client camerounais. Grâce aux APIs Web Bluetooth modernes, l'application se connecte directement aux mini-imprimantes thermiques 58mm vendues sur les marchés locaux (Marché Central, Avenue Kennedy) ou Jumia. Les reçus intègrent automatiquement les mentions légales requises par la DGI (NIU, RCCM, numéro de facture séquentiel).

💬 Reçus WhatsApp en 1 tap

Pas d'imprimante sous la main ou rouleau vide ? L'app génère et transmet instantanément le ticket de caisse certifié sur le compte WhatsApp du client.

🔐 Sécurité anti-vol par code PIN Patron

Toute opération sensible (annulation de vente, remise exceptionnelle, modification d'inventaire) est verrouillée par un code PIN maître. Fini les tickets supprimés en douce en fin de journée.

💰 Modèle économique en phase avec le pouvoir d'achat : Le Mobile Money

Pas de carte bancaire internationale exigée. L'abonnement mensuel (5 000 FCFA / mois) est payable directement via MTN Mobile Money (MoMo) ou Orange Money.

  1. Résultats concrets : Le retour d'expérience de Papa Jean (Deido, Douala)

Papa Jean gère une alimentation de quartier à Deido. Avant d'utiliser la solution :

"Avant, c'était le cahier. Quand je devais m'absenter pour aller voir les grossistes, les produits disparaissaient et le compte du soir ne tombait jamais juste. Depuis que la tablette est posée au comptoir, je sais exactement ce qui a été vendu, franc par franc, même sans connexion. Les 5 000 FCFA d'abonnement me paient la paix du cœur."

  1. Conclusion & Liens pour tester

Développer pour les marchés émergents exige de la sobriété technique, de la robustesse réseau et une compréhension intime des usages quotidiens.

🔗 Tester la démo en ligne : https://caisse-boutique-tau.vercel.app/
📱 Accéder directement à l'application PWA : https://caisse-boutique-tau.vercel.app/app
💬 Retours & échanges : N'hésitez pas à poser vos questions en commentaire ou à partager vos retours sur l'implémentation PWA Offline-First !

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.