Les composants techniques développés par Concilium LESERT permettent de développer des Progressive Web Applications en s'appuyant sur une architecture client-serveur. Les composants garantissent un mode de fonctionnement connecté / hors-connexion. Par conséquent, la partie cliente contient et gère l'interface graphique et la plus grande partie des fonctionnalités de mise à jour de la base de données. Cette capacité est pilotée à l'aide d'une "pseudo-base de données" (image miroir de la base de données réelle). Tant que la partie cliente est connectée au serveur, la synchronisation des données est faite en temps réel. Dès que la connexion est perdue, les modifications sont conservées chez le client. Ces modifications sont alors synchronisées avec la base de données dès que la connexion est rétablie.

Pour garantir une sécurité maximale, l'image miroir de la base de données du client est une partie "autorisée" de la base de données réelles. Des tables et, même des colonnes, peuvent être masquées (ex: les mots de passe ou toute information de sécurité). De plus, la partie cliente reçoit et n'est notifiée qu'avec les données concernant le profil de l'utilisateur. Lors d'une mise à jour par une application client, le serveur effectue un nouveau contrôle. 

Présentation de l'architecture générale

L'architecture repose sur une serveur léger et un client lourd.

La partie serveur de l'architecture contient les composants techniques windows:

  • I.I.S (Gestionnaire de services internet de Windows)
  • ASP.NET 4 / MVC 5
  • C# 7.0 pour écrire les services, pour gérer les droits et les privilèges
  • SQL Server, SQL Server Express, Oracle, Firebird ou MySQL pour conserver les données (cette partie est extensible ...)

La partie cliente de l'architecture est adaptée pour fonctionner sur tout type de systèmes d'exploitation et supports à condition d'avoir un navigateur Web compatible HTML5 et ECMA6 (Windows, Linux, Android, ...). Elle nécessite les composants suivants:

  • Javascript (ECMAScript 6) pour les fonctionnalités
  • HTML5 / jQuery pour l'interface utilisateur (compatible Firefox, Safari, Edge ou Chrome),
  • CSS3 pour le mode responsive (mobilité et portabilité de l'application - Smartphone, tablette ou PC),
  • SignalR pour gérer l'échange de données entre le client et le serveur,
  • Moment pour gérer les dates et heures,
  • Pdfmake pour exporter les données au format PDF.

Pour garantir la sécurisation des données entre l’application cliente et le serveur d’application, l’application utilise le protocole HTTPS (les données entre le client et le serveur seront cryptées) et le protocole HTTP/2 peut être activé. Ce protocole nécessite un certificat et crypte les données échanger.

L’architecture est modulable. De nouveaux modules sont introduits au fur et à mesure des besoins sans modifier l’architecture. Il est possible de connecter des appareils au serveur pour échanger des données entre le serveur d’application et ces appareils.

Enregistrer