IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Solution bdd application de bureau avec bdd partagée entre ordi distants


Sujet :

Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Par défaut Solution bdd application de bureau avec bdd partagée entre ordi distants
    Bonjour tout le monde,

    Je travaille sur une application de bureau pour plusieurs points de vente. Je cherche la meilleure solution pour la BDD partagée.
    Est-ce qu'ouvrir la connexion serveur MySQL (XAMPP) d'un des ordinateurs est une bonne solution sachant que je voudrais y accéder plus tard avec une application mobile pour avoir accès aux informations facilement ?
    Je ne pense pas qu'il aura besoin d'être connecté à n'importe quel moment sinon y-a-t-il une autre solution meilleure ?
    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Par défaut
    Ce n'est peut être pas une bonne solution parce qu'on m'a dit qu'il faut une bonne sécurité
    et je n'ai pas le temps de me pencher dessus. Il faut peut être que je prenne une offre
    chez un hébergeur mais je suis obligé de prendre un nom de domaine.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    D'une manière générale, c'est une mauvaise idée de donner un accès direct à la DB. Ce n'est pas vraiment prévu pour.

    N'importe qui ayant accès à l'application aura un accès direct à la DB, inévitablement, puisque l'application contiendra le user/pass pour s'y connecter. Il pourra tripatouiller son contenu en contournant toute forme de logique que tu implémenterait dans ton code (permissions, cohérence des totaux, supprimer des données, changer des données, etc). On pourrait limiter les risques en donnant explicitement un compte utilisateur sur la DB à chaque utilisateur du programme. Mais ça va être galère pour l'audit des actions (mysql a un fichier d'audit qu'on peut installer, mais si ça donne les commande mysql entrées, ça ne donne pas l'état de la DB avant et après), et ça ne résoudera pas les risques d'incohérence de la DB ou d'erreur utilisateur bien intentionnés.

    Mysql n'a pas un niveau suffisament fin pour gérer les permissions sur les données (genre X peux modifier Y, mais pas Z) et ce sera comme si chaque utilisateur a un contrôle total type admin à peu de choses près. Sans parler du fait qu'exposer un telm service, ça nécessite de se tenir à jour sur la sécurité. Et si tu va sur, par exemple http://www.shodan.io/search?query=po...country%3A"FR" Tu verra que mysql est assez sympatique pour t'aider à le violer en te précisant bien quelle version et quel OS il tourne



    En gros c'est un peu comme avoir des relation avec un inconnu sans protection. Ca peut se faire, c'est pas pour ça que c'est une bonne idée.

    D'un point de vue technique, tu va en plus te faire chier à rendre ce service accessible de l'extérieur à travers les firewall / NAT de l'entreprise, tenter de convaincre les intermédiare que c'est une bonne idée (indice, ça n'en est pas une), ça va pas aider.

    Enfin, tu parles d'une application pour point de vente, ce qui veux probalbement dire données financière, voir données dans le scope GDPR. Dans le premier cas c'est appeler à se faire violer par le premier venu qui verra le moyen de détourner de l'argent de la boite, dans le second cas, c'est carrément se mettre hors la loi

    En général, pour ce genre d'application, on travaille en multi tiers: le mysql fait son boulot: gérer les données, le tiers intermédiaire faire son boulot: gérer la cohérence des données et les permissions, et le troisième tiers fait aussi sont boulot sur le desktop / mobile: gérer la présentation.





    mysql (data: insert/select) <==(1 user/pass mysql)====> serveur applicatif (Sécurité, aggrégation des données, mises à jours, processus internes) <===(plein de user / pass avec des permissions diverses) ====> Dekstop / Mobile (écrans, encodage, ...)


    Puisque t'en est à mettre un mysql sur un desktop avec XAMPP , profite du serveur apache présent pour coder un service REST en PHP qui contient ta logique business, que ton application attaquera avec un client REST, plutôt que d'accéder directement à la DB. C'est pas beaucoup plus lourd à développer et tu pourra gérer la sécurité dans un endroit où tu as le contrôle: le serveur WEB

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Par défaut
    merci pour les pistes il est vrai que j'ai encore des choses à apprendre sur les solutions informatiques à portée.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Par défaut
    Je retiens ta solution pour une prochaine fois mais par manque de temps et vu que j'ai déjà commencé
    je vais devoir me tourner vers une offre hébergeur. il n'y aura pas de problème d'accès avec android ?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tu veux dire mis à part le fait que tu es parti sur du mysql et que les driver mysql Connector/J sont réputés ne pas fonctionner sous android?

    https://forums.mysql.com/read.php?39...687#msg-645687

    Qu'une connection base de données est une connection en générale permanente mais que les téléphone on tendance à se faire deconnecter régulièrement?

  7. #7
    Membre actif Avatar de Runhide
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 35
    Par défaut
    Ne te prends pas la tête, va droit au but.

    En gros tu as besoin:

    _ une bdd
    _ une application qui gère les requêtes des utilisateurs (i/o et présentation), la validation des données et leur mise à jour dans la bdd (un serveur d'application)
    _ avoir accès depuis des pc et des mobiles.

    Met la bdd sur un pc, avec un serveur d'application comme apache tomcat par exemple(rajouter un serveur http en frontal dans l'idée...).

    Ensuite de n'importe quel navigateur web tu pourras accéder aux informations dont tu auras besoin en contactant ton serveur sur le pc que tu as mis en place, le serveur d'application t'enverra ça dans des page HTML/CSS/JavaScript et tu t'enverra les infos de la même manière avec des formulaires.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/11/2017, 03h01
  2. application Builder C++ avec BDD access.
    Par débutant11 dans le forum C++Builder
    Réponses: 3
    Dernier message: 09/12/2010, 01h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo