Application HTML/Javascript et Données Locales

Bonjour à tous,

Je ne sais pas si c'est possible, mais j'aimerais réaliser une petite appli toute bête nécessitant le stockage de données. J'aurais voulu créer ça en HTML / Javascript, mais comme une "application de bureau". L'idée est d'avoir un fichier de données sur un disque partagé sur un réseau, et de pouvoir consulter et modifier ce fichier via une simple page HTML qui offrira l'interface graphique. Derrière, c'est simplement la gestion d'un "labo" de physique/chimie : inventaire du matériel, dans quelles salles il est rangé etc. Un simple tableau ne suffit pas et il faut une petite "architecture" de données, avec une interface simple pour l'utilisateur qui n'est pas forcément habile avec l'informatique. On a tous des ordis différents (Mac, PC etc...) ce qui rend la conception d'une appli native compliquée (je connais SwiftUI etc, mais beaucoup moins les frameworks windowsiens, et Python : pas trop fan en ce qui concerne l'interface graphique).

Mon idée c'est donc : l'utilisateur va sur le réseau, double-clic sur le fichier html, et hop, il a l'appli sous les yeux et l'utilise directement.

Est-ce envisageable ou est-ce une mauvaise idée ?

Mots clés:

Réponses

  • RocouRocou Membre

    Salut,

    Ce n'est pas du tout mon domaine alors je me suis permis d'interroger Mistral AI et voici sa réponse:

    Votre idée est tout à fait envisageable, mais elle comporte quelques défis et limitations.

    HTML, CSS et JavaScript sont des technologies web et sont conçus pour fonctionner dans un navigateur. Ils peuvent certainement créer une interface utilisateur riche et interactive, et avec des technologies comme LocalStorage ou IndexedDB, ils peuvent même stocker des données localement. Cependant, ils ne sont pas conçus pour accéder directement au système de fichiers d'un ordinateur pour des raisons de sécurité.

    Pour contourner cette limitation, vous pourriez envisager d'utiliser un serveur local pour servir votre application et gérer les données. Vous pourriez utiliser Node.js, par exemple, pour créer un serveur qui lit et écrit des données dans un fichier sur le réseau. Les utilisateurs pourraient alors accéder à l'application en se connectant au serveur via leur navigateur.

    Une autre option serait d'utiliser Electron. Electron est un framework open source qui permet de créer des applications de bureau avec des technologies web. Il empaquette essentiellement une application web dans un exécutable de bureau, ce qui vous permet d'accéder aux fonctionnalités du système d'exploitation, comme le système de fichiers, tout en utilisant HTML, CSS et JavaScript pour l'interface utilisateur.

    Cependant, gardez à l'esprit que si vous stockez des données dans un fichier sur un réseau, vous devrez gérer les conflits qui pourraient survenir si plusieurs utilisateurs essaient de modifier le fichier en même temps.

    Enfin, il est important de noter que si vos utilisateurs ne sont pas à l'aise avec l'informatique, ils pourraient avoir du mal à comprendre comment accéder à l'application, surtout si elle nécessite de se connecter à un serveur ou d'accéder à un fichier sur un réseau. Vous devrez peut-être fournir des instructions claires et une assistance pour vous assurer que tout le monde peut utiliser l'application.

    En résumé, il est possible de créer une application de bureau avec HTML, CSS et JavaScript, mais cela nécessite quelques étapes supplémentaires et il y a des défis à prendre en compte.

  • CéroceCéroce Membre, Modérateur
    2 avril modifié #3

    Salut Mick,

    Je ne suis pas un spécialiste du développement web, mais il me semble que le JavaScript à travers les navigateurs ne peut pas modifier des fichiers (c'est faisable en Node.js). Un autre problème est les conflits d'accès aux fichiers sur le serveur (comme dit par Mistral plus haut).

    Je te conseille d'envisager une autre solution, par exemple AirTable, ce sera beaucoup plus simple, même si vous n'aurez plus la main sur les données.

  • MickMick Membre

    Merci pour vos réponses ! Je vais essayer de creuser la chose.

Connectez-vous ou Inscrivez-vous pour répondre.