Je me heurte depuis quelques années au besoin de l'un de mes "clients". Sans rentrer inutilement dans les détails, il dispose pour bosser au boulot et en déplacement d'un SI type client léger (côté serveur on a Nginx/Serveur J2EE Payara/SQL Server). Cela fonctionne parfaitement mais dans certaines circonstances en déplacement (train, zones blanches) lors desquelles il doit avoir pleinement accès à certaines fonctionnalités du SI, il ne dispose d'aucune couverture réseau.
Ce qui nous a amené à développer un second client lourd JavaFX, sans DB (les données sont stockées sous forme de fichiers sérialisés), allégé en fonctionnalité pour ne garder que les indispensables, mais qui représente tout de même une charge conséquente en terme de maintenance.
Pour simplifier le principe est le suivant : avant de quitter le bureau pour un déplacement, le user lance le client lourd, update les données locales (700MB à 1GB de données à télécharger soit environ 30mn). Au retour, il synchro ses saisies vers le central via une fonction dédiée.
Je n'ai pas trouvé de solution miracle ou d'idée brillante qui permettrait de mutualiser les technos et la maintenance. Si vous avez connu une situation similaire, je suis preneur de quelques pistes