Mobile & PWA
Une seule base de code, qui marche sans réseau.
Comment nous construisons des applications mobiles : ce que le navigateur sait faire aujourd’hui, comment les données survivent à une coupure, et quand une application native reste nécessaire.
Le choix de la PWA
Installable, sans passer par un magasin.
Une PWA — application web progressive — s’installe depuis le navigateur : l’utilisateur ouvre un lien, ajoute l’icône à son écran d’accueil, et l’application se comporte comme une application native. Pas de compte développeur, pas de validation par un magasin, pas d’attente de plusieurs jours pour corriger une anomalie.
C’est aussi une seule base de code pour Android, iOS et les tablettes, au lieu de deux applications natives à écrire et à maintenir en parallèle — puis à faire valider séparément à chaque version.
Quand une fonction n’est réellement accessible qu’en natif — usage intensif du Bluetooth, traitement en arrière-plan permanent, intégration profonde au système — nous le disons et nous orientons vers une application native. Le détail de cet arbitrage est traité dans le guide application web, mobile ou PWA.
Capacités de l’appareil
Ce que le navigateur sait faire aujourd’hui.
La liste des choses qu’une application web ne pouvait pas faire s’est considérablement réduite. Voici ce sur quoi nous nous appuyons réellement.
Stockage local
Base de données embarquée dans le navigateur (IndexedDB). L’application garde ses données sur l’appareil et démarre sans aucune requête.
Fonctionnement hors réseau
Un service worker sert l’application depuis le cache. Elle s’ouvre et reste utilisable en mode avion.
File de synchronisation
Les écritures sont mises en file d’attente locale, rejouées dans l’ordre au retour du réseau, avec reprise après échec.
Capture photo
Accès à l’appareil photo, compression et redimensionnement sur l’appareil avant envoi — pour rester envoyable en 3G.
Scan de codes
Lecture de QR codes et de codes-barres par la caméra, sans application tierce à installer.
Géolocalisation
Position ponctuelle ou suivi pendant un déplacement, avec demande de consentement explicite de l’utilisateur.
Notifications
Notifications système poussées depuis le serveur, y compris application fermée, sur Android et sur iOS depuis l’écran d’accueil.
Mise à jour instantanée
Un déploiement met tous les appareils à jour au rechargement suivant. Pas de version bloquée sur un téléphone oublié.
Un code, trois supports
Téléphone, tablette et poste fixe partagent la même base ; seule la mise en page s’adapte au format.
Le point difficile
La synchronisation, et ce qu’elle doit décider.
Faire fonctionner une application sans réseau est simple. Ce qui est difficile, c’est ce qui se passe au retour du réseau — et c’est là que se joue la confiance des utilisateurs dans l’outil.
Deux appareils ont pu modifier la même donnée pendant la coupure. Une écriture a pu partir deux fois parce que l’utilisateur a rechargé. Une donnée locale a pu être saisie contre une version du référentiel qui n’existe plus. Ces trois cas arrivent, et une application qui ne les a pas prévus perd des saisies silencieusement — le pire des défauts, puisque personne ne le voit avant des semaines.
Nous traitons ces situations explicitement : chaque écriture porte un identifiant qui la rend rejouable sans doublon, la file est ordonnée et reprise après échec, et un conflit non résoluble automatiquement est montré à un humain plutôt que tranché au hasard. L’état de la synchronisation est visible en permanence dans l’application : combien d’éléments attendent, depuis quand, et ce qui bloque.
Et la sécurité des données sur l’appareil ?
Un téléphone se perd. Les données stockées localement sont donc limitées au strict nécessaire — ce dont l’utilisateur a besoin aujourd’hui, pas l’historique complet — et purgées après synchronisation. L’accès est protégé par un code, la session expire, et un appareil peut être révoqué à distance sans attendre sa restitution.
- Données locales réduites au périmètre utile
- Purge après synchronisation réussie
- Session expirante et code d’accès
- Révocation d’un appareil à distance
Et concrètement, pour qui ?
Cette page décrit la mécanique. Si votre besoin est d’équiper des techniciens en déplacement — planning, missions, contrôles, comptes rendus, signatures — la page application pour techniciens terrain décrit la journée telle qu’elle se déroule.
Une application mobile à construire ?
Parlons technique.
Dites-nous où vos utilisateurs travaillent et ce qu’ils doivent pouvoir faire sans réseau. Nous vous dirons ce que la PWA couvre et ce qui exigerait du natif.