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

Bases de données Discussion :

Est-ce pertinent de faire une application Qt pour travailler sur une base de données distante ?


Sujet :

Bases de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 40
    Points : 27
    Points
    27
    Par défaut Est-ce pertinent de faire une application Qt pour travailler sur une base de données distante ?
    Bonjour à tous,

    Cela fait plusieurs années que j'utilise le langage C++ et Qt pour des applications industrielles mais sans base de données.
    J'ai tapé un peu de code pour me faire la main et pour comprendre les bases de ce mode de stockage. Cela fonctionne très bien en local.
    Maintenant je me pose la question s'il est pertinent d'utiliser ce langage si je dois faire une application qui travaille sur une base de données située à distance.
    phpmyadmin est encore trop complexe pour une personne à qui on demande juste de saisir des données ou faire des requêtes.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    Par défaut


    Oui, c'est une solution qui a beaucoup de sens. Tu peux aussi envisager une application Web, hébergée très près de la base de données (par exemple, sur le même serveur), ce qui réduit les problèmes d'administration (il faut autoriser les accès de l'extérieur à la base de données, ce qui devrait allumer toutes les alarmes de danger : mieux vaut préférer le développement d'une API, avec une couche de sécurité — mais ça dépend encore du contexte ).

    (phpMyAdmin n'est surtout pas prévu pour un autre public que des développeurs et administrateurs ! Pour des utilisateurs lambda, il est nécessaire de développer une couche par-dessus, que ce soit avec Qt ou toute autre technologie.)
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci pour cette réponse,
    mais justement, comment devrais je m'y prendre si je ne suis pas disposé à faire une application web ?
    C'est pour une association qui veut mettre des données en commun, donc je pourrais distribuer l'application qui fait l'interface.

    L'alternative c'est d'apprendre le PHP et y mettre un serveur web ? combien de temps pour apprendre ?

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    Par défaut
    Il te faudra de toute façon une partie serveur et une partie client. Le serveur fournira un accès aux données (une API REST ou SOAP — ou un autre terme qui donne l'impression d'être à la mode — par-dessus ta couche d'accès à la base de données ou un truc du genre : par exemple, avec https://github.com/KDAB/KDSoap), le client communiquera avec cette API (au lieu d'appeler directement le module de base de données). Ainsi, tu pourras gérer ta sécurité comme tu le désires (alors que, en utilisant directement ta base de données depuis l'extérieur, tu ouvres d'énormes brèches impossibles à vraiment colmater).

    Ou alors tu fais tout côté serveur. Pas besoin de passer à des "langages" comme PHP, tu peux rester en C++ avec un outil comme Wt (http://www.webtoolkit.eu/wt). Ça t'évitera de faire une API, mais tu devras générer une sortie HTML (avec une dose de CSS pour que ça ne soit pas trop dégueulasse, puis du JavaScript pour un poil d'interactivité… beaucoup de langages pour quelque chose que tu pourrais faire entièrement en C++ avec un client lourd).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci pour ces précisions

    Je comprends la nécessité du couple serveur-client et ne pas donner un accès direct à la base de données.
    Je vais faire un tour dans les tutoriels PHP pour me faire une idée.

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 481
    Points : 4 238
    Points
    4 238
    Par défaut


    J'apporte une réponse car je pense que la bibliothèque QxOrm peut répondre à ta problématique :
    - la gestion de la couche d'accès aux données : un manuel utilisateur sur la bibliothèque QxOrm est disponible ici ;
    - la mise en place client/serveur, serveur d'application C++ et couche cliente : un tutoriel est disponible ici ;
    - et tu peux retrouver la communauté francophone sur developpez.com

    Et pour te faciliter la mise en place de ton soft, l'application QxEntityEditor peut générer le code source nécessaire (opérations CRUD sur tes entités + couche client/serveur par exemple).
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci pour ces informations sur QxOrm.

    J'ai jeté un œil et je pense que c'est une solution robuste mais peut être trop lourde pour une association.
    Il faudra distribuer l'application "client" aux membres et nous n'avons pas trop de données à partager.

    Je vais me lancer dans une solution html,php,mysql,javascript.
    Le sujet reste intéressant dans un monde où l'échange d'information via l'Internet est plus que présent.

    Je pourrais éventuellement me reconvertir dans ce domaine un jour où l'autre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/10/2014, 11h19
  2. Menu sur une application développée pour Android 2.1 tournant sous 4.0
    Par burgraf_yann dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 11/01/2013, 13h44
  3. Un serveur AMP sur une clé USB pour fonctionner sur une tablette Android ?
    Par bastien31000 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 30/11/2012, 19h09
  4. Réponses: 3
    Dernier message: 07/04/2012, 13h09
  5. Réponses: 9
    Dernier message: 06/01/2011, 17h53

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