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

Applets Java Discussion :

connexion d'une applet à mysql


Sujet :

Applets Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut connexion d'une applet à mysql
    Bonjour,

    Je veux enregistrer les données entrées dans une applet dans une base de données mysql.
    et aussi pouvoir retrouver mon travail de saisie à l'état dans lequel je l'ai enregistré à l'instant t-1.
    ma question est la suivante : y-a-t-il un moyen de faire tout ça ?
    Merci à vous

  2. #2
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Bonjour,
    - pour ce qui est de sauvegarder ta saisie, pas de probleme, tu n'as qu'a enregistrer tout ca dans des variables java dans l'applet (mais ca ne sauvegardera pas si l'applet est arreté dans ce cas la), ou dans un fichier ...
    - pour ce qui est de connecter ton applet au serveur mysql, ca doit etre possible, mais je te le déconseille fortement pour des raisons de sécurité. Tu devrais plutot emettre une requete http à ton serveur web et laisser celui-ci faire les manips sur la BD.
    Voila, a+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut connexion d'une applet java à mysql
    Merci ça va donc pour la sauvegarde .
    Pour ce que vous appelz laisser le serveur se charcger d'une partie de la tache peut on faire communiquer l'applet avec un code php dans le sens utiliser des objets java dans du php ? côté sécurité y a rien à craindre?

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Points : 314
    Points
    314
    Par défaut
    Tu peux mettre une applet Java dans une page Php, je vois pas le problème, ce que te sors du php c'est du html...
    Quand à les faire communiquer ensemble, tu peux expliquer un peu plus ?

  5. #5
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    peut on faire communiquer l'applet avec un code php dans le sens utiliser des objets java dans du php ?
    => NON
    Par contre, ton applet peut tres bien appeler, via http, une url derriere laquelle se trouve un script php. Ce script php peut alors traiter la requete http, faire si besoin les opérations sur la base de données via une base sql, puis éventuellement envoyer dans la réponse http des données, ou un code representant le succes ou l'echec de l'opération, ou ce que tu veux ....

    NB : quand je dis
    pour ce qui est de connecter ton applet au serveur mysql, ca doit etre possible, mais je te le déconseille fortement pour des raisons de sécurité
    Je veux dire, dans le cas de figure "classique" ou tu as un serveur de données, un serveur web http acessible via internet, et des navigateurs clients que tu ne connais pas sur internet.
    Dans ce cas, il est dangereux de faire une connexion directe entre l'applet (donc le client) et le serveur de données car cela supposerait que l'applet connait et transmet le mot de passe pour se connecter au serveur de données. (meme si tu code ce mdp "en dur" dans l'applet, il est facile de l'intercepter avec un sniffeur reseau genre ethereal au moment ou l'applet fourni ce mdp pour se connecter au serveur de données).
    Pour éviter cela, il est plus sain que ton applet demande juste une url (une requete http) au serveur web, et ensuite c'est le serveur web qui va se charger d'effectuer la connexion vers la BD. Seul le serveur web connait le mot de passe, et le client ne peut pas l'intercepter puisqu'il se trouve en dehors du reseau (en principe).

    Tu peux mettre une applet Java dans une page Php, je vois pas le problème, ce que te sors du php c'est du html...
    FAUX !
    Une page php genere effectivement du html en général (mais ce n'es pas obligé, tu peux générer pleins d'autres choses), et dans ce html tu peut tout à fait mettre des balises appelant une applet. Cependant, l'applet lui-meme c'est un programme java indépendant qui tourne sur la machine cliente et qui n'est donc ni du html, ni du php.
    Meme si l'applet se trouve dans une page nommée quelquechose.php, L'APPLET N'EST PAS GENERE PAR DU CODE PHP ! Attention aux confusions ...

    Pour résumer : rerrhad, je te conseille de mettre dans ton applet une (ou plusieurs) émission de requete http. Tu trouvera sans probleme des packages contenant des classes deja toutes faites qui te permettront d'envoyer des requetes http facilement en quelques lignes de code.
    Cette requete apelle un script php en lui envoyant au passage des parametres si besoin est (via le post ou le get).
    Ensuite, c'est tres facile de coder le script php qui va répondre à la requete: tu récupere les parametres comme si ils venaient d'un formulaire, tu fais éventuellement tes requetes sql sur ta bd, et chaque fois que tu veux envoyer des infos vers ton applet, tu n'a que faire un print($mesînfos);.
    NB si ton applet à besoin de recevoir des données un tant soit peu structurées, je te conseille tres fortement d'utiliser XML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                  requete http                           requete sql
              ------------------>                   ------------------>
    Applet |                        | Script php |                        | BD
             <------------------                   <------------------
                 XML (via http)                             données
    Voila, avec tout ca je pense que tu devrais avoir une vision plus claire (enfin j'espere)
    a+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut Connexion applet à mysql
    Je veux dire que php peut se charger de la connexion au serveur mysql et d'un autre côté l'applet envoie par exemple un fichier xml ( une hypothèse) qui sera transformé par un code php et envoyé à la base de données comme ça on évite la connexion directe de l'applet au serveur de base de données. qu'en pensez vous ?

  7. #7
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Je veux dire que php peut se charger de la connexion au serveur mysql et d'un autre côté l'applet envoie par exemple un fichier xml ( une hypothèse) qui sera transformé par un code php et envoyé à la base de données comme ça on évite la connexion directe de l'applet au serveur de base de données. qu'en pensez vous ?
    Oui, voila c'est ça qu'il faut faire
    Sauf que :
    l'applet envoie par exemple un fichier xml
    envoyer un fichier xml, c'est valable si tu as vraiment une quantité importante de données à envoyer au script php, ou si elles sont structurés d'une façon complexe.
    Si ce n'est pas le cas, je te conseille plutot d'envoyer ces données comme parametres de la requete http, ca sera bien plus simple

  8. #8
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    NB ce que tu va faire ressemble comme deux gouttes d'eau à un mécanisme AJAX à la différence que avec ajax, on a du javascript coté client et que toi tu as du java tout court (ton applet).
    Je te conseille de te documenter la dessus ...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    j'ai à envoyer des tableurs de 400 à 500 lignes que faut il faire du xml ou l'autre approche?

  10. #10
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    ah bon, ok, dans ce cas là envoyer un fichier complet me semble justifié

  11. #11
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    des tableurs de 400 a 500, c'est plutot structuré et ca risque d'etre un peu gros pour passer comme argument de ta requete http... je pencherai plutot pour le xml.

    Sinon, une autre voie que le php est de connecter ton applet a une Servlet sur le serveur. C'est une autre facon de faire.

  12. #12
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Oui mais je ne vois pas trop l'interet par rapport au php ?
    Le mécanisme reste le même (à moins que je ne t'aie mal compris) sauf qu'il code en java au lieu de php coté serveur.
    Au final ca revient au meme, sauf que entre temps il devra installer un container de servlet s'il n'en a pas

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 68
    Points : 40
    Points
    40
    Par défaut conaxion applet mysql
    Tout le pb vient du fait que je ne dispose pas de java coté serveur. j'ai que du php .

  14. #14
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Bon ben dans ce cas, c'est vite reglé ...

  15. #15
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    Un an plus tard
    Il est possible aussi de serialiser les objets java entre une applet et une servlet. Le BODY de la requete HTTP contient alors le flux de l'objet. Cela evite de construire et déconstruire du XML.

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Hervé Saladin Voir le message
    => NON
    Par contre, ton applet peut tres bien appeler, via http, une url derriere laquelle se trouve un script php. Ce script php peut alors traiter la requete http, faire si besoin les opérations sur la base de données via une base sql, puis éventuellement envoyer dans la réponse http des données, ou un code representant le succes ou l'echec de l'opération, ou ce que tu veux ....

    NB : quand je dis
    Je veux dire, dans le cas de figure "classique" ou tu as un serveur de données, un serveur web http acessible via internet, et des navigateurs clients que tu ne connais pas sur internet.
    Dans ce cas, il est dangereux de faire une connexion directe entre l'applet (donc le client) et le serveur de données car cela supposerait que l'applet connait et transmet le mot de passe pour se connecter au serveur de données. (meme si tu code ce mdp "en dur" dans l'applet, il est facile de l'intercepter avec un sniffeur reseau genre ethereal au moment ou l'applet fourni ce mdp pour se connecter au serveur de données).
    Pour éviter cela, il est plus sain que ton applet demande juste une url (une requete http) au serveur web, et ensuite c'est le serveur web qui va se charger d'effectuer la connexion vers la BD. Seul le serveur web connait le mot de passe, et le client ne peut pas l'intercepter puisqu'il se trouve en dehors du reseau (en principe).

    FAUX !
    Une page php genere effectivement du html en général (mais ce n'es pas obligé, tu peux générer pleins d'autres choses), et dans ce html tu peut tout à fait mettre des balises appelant une applet. Cependant, l'applet lui-meme c'est un programme java indépendant qui tourne sur la machine cliente et qui n'est donc ni du html, ni du php.
    Meme si l'applet se trouve dans une page nommée quelquechose.php, L'APPLET N'EST PAS GENERE PAR DU CODE PHP ! Attention aux confusions ...

    Pour résumer : rerrhad, je te conseille de mettre dans ton applet une (ou plusieurs) émission de requete http. Tu trouvera sans probleme des packages contenant des classes deja toutes faites qui te permettront d'envoyer des requetes http facilement en quelques lignes de code.
    Cette requete apelle un script php en lui envoyant au passage des parametres si besoin est (via le post ou le get).
    Ensuite, c'est tres facile de coder le script php qui va répondre à la requete: tu récupere les parametres comme si ils venaient d'un formulaire, tu fais éventuellement tes requetes sql sur ta bd, et chaque fois que tu veux envoyer des infos vers ton applet, tu n'a que faire un print($mesînfos);.
    NB si ton applet à besoin de recevoir des données un tant soit peu structurées, je te conseille tres fortement d'utiliser XML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                  requete http                           requete sql
              ------------------>                   ------------------>
    Applet |                        | Script php |                        | BD
             <------------------                   <------------------
                 XML (via http)                             données
    Voila, avec tout ca je pense que tu devrais avoir une vision plus claire (enfin j'espere)
    a+

  17. #17
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    C'est pas très clair Mais l'architecture n'est jamais très simple en réseau.

    Sinon tout ceci peux très bien se faire en Java, et la serialisation d'un objet en Java se fait automatiquement en XML (voir l'interface Serialization). Il n'y a en tout cas aucun intérêt à utiliser du php par rapport à une servlet ou du jsp, si ce n'est la simplicité de démarrer le serveur.

    En tout cas, pour envoyer du xml, le JSP/JSF est bien plus pratique que le php. Pas besoin de se compliquer la vie avec des print, et le parcage via JSTL est très efficace.

    Ensuite l'architecture php a quand même ses limite quand il s'agit de clusteriser tout ca. Bon, cela dit, je suppose que Facebook y arrive très bien

  18. #18
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 489
    Points
    15 489
    Par défaut
    Dans ce cas, il est dangereux de faire une connexion directe entre l'applet (donc le client) et le serveur de données car cela supposerait que l'applet connait et transmet le mot de passe pour se connecter au serveur de données. (meme si tu code ce mdp "en dur" dans l'applet, il est facile de l'intercepter avec un sniffeur reseau genre ethereal au moment ou l'applet fourni ce mdp pour se connecter au serveur de données).
    Je m'y connais pas énormément sur le sujet mais les bases de données ne gèrent pas des connections sécurisées? Je trouve ca bizarre.

  19. #19
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    C'est sécurisé dans le sens ou une tierce eprsonne ne peut pas intercepter les requestes. Par contre la personne qui a l'applet sur son PC peut décompiler le code Java et lire le mot de passe, ou bien chercher dans la ROM ce qui s'y passe.

    Pas évident, mais largement faisable.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2007, 09h17
  2. Voir le nombre de connexion d'une base MYSQL ?
    Par zmania69 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 31/08/2006, 18h22
  3. [MFC] et connexion a une base MySql en C++
    Par Nelmo dans le forum MFC
    Réponses: 13
    Dernier message: 11/05/2006, 19h48
  4. [VB6]Connexion a une BD mysql qui n'est pas en local
    Par aude_1603 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 02/03/2006, 09h05
  5. Connexion sur une base Mysql distante (non locale)
    Par externa dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 20/02/2006, 11h34

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