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

Langage Java Discussion :

Envoie d'informations vers serveur


Sujet :

Langage Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut Envoie d'informations vers serveur
    Bonjour,

    Je crée actuellement un module pour un logiciel en l'occurrence OpenErp.

    je dois développer du coté client un module pour réceptionner les données d'une carte d'identité électronique.
    Pour cela j'ai réussi à créer une applet java affichant les données dans la console sous eclipse.
    Cette applet devra être intégrer par la suite au client web, pour cela je suis actuellement en communication avec le support d'openErp pour avoir plus d'infos à ce sujet.

    Ce que j'aimerais savoir par contre c'est comment envoyer ces données vers le serveur quand l'applet sera correctement intégré au client.

    En effet ici je ne fais que les afficher avec de simples System.out.print, le résultat est correct donc pour ce point ça va mais je ne sais pas comment faire pour les envoyer du client au serveur, y a t'il des commandes spéciales à utiliser.

    N'hésitez pas à être aussi précis que possible car c'est quelque chose de complétement nouveau pour moi.

    je vous remercie d'avance pour votre aide =)

    p.s : si certains sont intéressés par ce type de programme je peux toujours poster le code de mon applet

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    j'ai déja codé une applet qui lit les cartes d'identités electroniques belges. Ici, ca servait à encoder facilement les nouveaux employés. La solution qui a été utilisée est

    L'applet, sur l'appui d'un bouton, lit les données de la carte et les transfère vers un formulaire html sur la même page. L'utilisateur peut alors compléter ce qui manque dans le formulaire ou faire des correction (ou tout encoder à la main si l'employé n'a pas d'eid). Ensuite seulement on utilise le formulaire html pour envoyer les données.

    Je te met cependant en garde contre la lecture des eid par browser. Pour faire simple, t'a une jvm par browser. La lecture nécessite des composant natifs (à préinstaller chez le client). Pour différentes raisons, une jvm (donc par extension de mon premier point, un browser) ne peux charger qu'une seule fois les librairies natives. Hors, si ton applet est présente sur plusieurs url différentes, sont code sera chargé dans des classloaders séparés autant de fois que nécessaire, donc les classes de lecture EID chargées dans le deuxième classloader vont échouer à charger les composant natifs, car ils sont déjà chargés pour le premier classloader.

    -> obligé de fermer le browser entre chaque utilisation. Une contrainte à connaitre

    Note: pour les cartes belges, on peut dire que l'état a partiellement bien fait les choses: drivers de lecture pour tous types d'os et de languages disponibles. Dommage qu'en pratique quand on lit un lot de carte on remarque vite qu'il y a des subtiles variations suivant l'année de la carte (numéro de maison soit inclu à la rue, soit dans la champ dédié, deuxième prénom et initiales soit dans les champs dédiés, soit tous concaténés dans "deuxième prénom", etc Au mois j'aurais découvert ce qu'est une canne jaune

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut
    Je te remercie beaucoup pour ta réponse rapide =).

    Pour être sur d'avoir suivi, quand tu parles de composants natives tu parles des librairies java gérant les méthodes d'extraction pour la carte d'identité ?

    La subtilité moi c'est qu'en fait sous OpenErp il existe donc un module contact avec un formulaire a remplir manuellement par défaut bien entendu.
    Je lui ai pour l'occasion rajouter un bouton "Générer données", qui lorsqu'on appuierait dessus devrait venir préremplir les champs adéquats.

    Ce module contact se trouve lui sur le serveur, et il devrait aller chercher les données de l'applet elle sur le client web.

    Dans ton cas lorsque tu remplissais un formulaire html, tu dis après les envoyer, en l'occurrence c'était aussi du client vers le serveur je suppose ?
    Et si c'est cela était-ce une étape obligatoire, ne pouvais-tu pas les envoyer direct de l'applet au serveur sans passer par ton formulaire html ?
    Parce que si ça l'est ce que je cherche c'est un code adéquat pouvant procéder à cet "envoie de données"
    Par contre si ton étape est obligatoire je suis aussi interessé par le code que tu as utilisé pour faire cela =)

    Pour ma part je travaille aussi avec des cartes belges j'ai pu aussi observer tes remarques avec l'applet que j'ai lancé : numéro avec la rue, prénom 1 et 2 ensemble,etc. d'ou le fait de venir "préremplir les champs" afin que l'utilisateur puisse y faire ses quelques petits modfis.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    Citation Envoyé par Aioros046 Voir le message
    Pour être sur d'avoir suivi, quand tu parles de composants natives tu parles des librairies java gérant les méthodes d'extraction pour la carte d'identité ?
    Je parle de la partie native (.dll/.so/...) des jars fournis par le gouvernement belge pour accéder aux cartes eid (cette partie native gère l'accès au périphérique, la partie java nétant qu'une coque autour de ces données). Elles doivent etre installées chez le client pour arriver à utiliser l'applet.

    La subtilité moi c'est qu'en fait sous OpenErp il existe donc un module contact avec un formulaire a remplir manuellement par défaut bien entendu.
    Je lui ai pour l'occasion rajouter un bouton "Générer données", qui lorsqu'on appuierait dessus devrait venir préremplir les champs adéquats.
    openerp mis à part, ca ressemble à ce que j'ai. Un formulaire de base a remplir, ensute il a été doublé d'un applet (dans la même page) qui sur l'appui d'un bouton (de l'applet) va accéder au formulaire (via javascript) et le remplir. Tout ce faisant coté client. Le serveur n'étant là que pour fournir le formulaire vie et recevoir le formulaire une fois rempli)
    Et si c'est cela était-ce une étape obligatoire, ne pouvais-tu pas les envoyer direct de l'applet au serveur sans passer par ton formulaire html ?
    J'aurais pu, mais c'était plus compliqué pour deux raisons:
    1) j'aurais eu besoin quand même d'un formulaire pour les gens n'ayant pas de carte
    2) l'applet ne bénéficie pas des cookies du navigateur hote, elle ne partage pas sa session. Ca posait donc des ennuis point de vue authentification. Le pont applet -> javascript -> formulaire était le plus facile (relativement parlant) à implémenter

    Parce que si ça l'est ce que je cherche c'est un code adéquat pouvant procéder à cet "envoie de données"
    La faut voir avec openERP comment tu peux les envoyer (webservice, simuler un formulaire, etc...)
    Pour ma part je travaille aussi avec des cartes belges j'ai pu aussi observer tes remarques avec l'applet que j'ai lancé : numéro avec la rue, prénom 1 et 2 ensemble,etc. d'ou le fait de venir "préremplir les champs" afin que l'utilisateur puisse y faire ses quelques petits modfis.
    Dans ce cas, pour moi, le plus simple est de tout faire coté client sur une seule page, enfin c'est le choix qu'on a fait

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut
    Le truc c'est qu'on m'a demandé en fait de créer un applet mais que celle-ci n'ait pas d'interface visuelle. L'applet doit juste permettre d'exploiter le lecteur smartcard. Il doit être transparent pour l'utilisateur.

    Ensuite les infos doivent être transmise sur le serveur mais je ne comprends toujours pas comment les transmettre. je veux dire concrètement ça reste encore très floue.

    J'éspère déjà recevoir des éclaircissement du support pour peut être me lancer sur des pistes.

    Pour revenir à la partie native, personnellement j'ai donc un fichier jar "beidlib" que j'ai intégré à une librairie pour que l'exécution du programme e fasse sans problème, je pense pas avoir d'autres fichiers

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    non t'as surement un .dll ou un .so, sans ca les librairies native ne fonctionnent pas. Ces .so/.dll sont installés automatiquement si tu installe les interfaces graphique d'affichage de la carte (beidreader etc), donc ca s'est probablement installé sans que tu t'en rende compte. Essaie de faire tourner l'applet sur un PC qui a jamais vu une beid de sa vie ni les applications autour et tu verra la belle erreur native

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut
    En attendant d'en savoir un peu plus avec la réponse du support (qui devrait je l'espère pas tarder ^^), aurais-tu encore des exemples du code que tu as du mettre en œuvre pour ton projet histoire que je m'imprègne bien du concept pour éclaircir certains points encore flous ? Enfin si ça ne te dérange pas bien entendu.

    Je ne sais pas si je devrais le faire de cette façon mais cela peut toujours m'être utile

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    je peux pas vraiment mettre tous le code. Pour la lecture t'y arrive déjà, donc t'as pas de soucis avec ca. tout ce qui pourrais te coincer c'est accéder au javascript depuis l'applet. Y a une api javascript a utiliser pour ça. Attention, puisque ton applet sera surement signée:
    faire javascript -> appel une méthode de l'applet -> lit la carte
    ne marchera pas mais faire
    applet lit la carte puis -> appel javascript -> met à jour le html
    marchera. La raison? Si la jvm voit du javascript dans la stack d'appel au moment ou tu veux accéder aux méthodes chargeant les classes native (qui nécessitent donc des droit et par conséquence la signature), elle considérera la signature comme non valide (le code javascript est pas signé, forcément) et donc refusera les droits et t'aura une security exception :s

    raison pour laquelle j'ai un bouton dans l'applet

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut
    Donc en gros pour bien différencier ce que tu s fait avec ce que je devrais surement mettre en place.

    Toi tu as une page html contenant l'intégration de l'applet, ensuite tu as du code javascript mais ou se trouve il exactement par rapport au reste et quel est exactement son rôle dans ta page ?

    Tu dis il va permettre d'accéder au formulaire mais à la base ton formulaire est une autre page html sur un serveur si j'ai bien compris ?

    Arrête moi si je m'égare mais c'est juste que je suis débutant, j'ai des bases en java mais en programmation internet je suis vraiment presque au néantlet j'ai envie que tout soit vraiment le plus clair possible pour avancer correctement

    je te remercie en tout cas enore de ton aide.

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    non tout est dans une seule page. L'applet tourne à coté du formulaire. Le role de javascript c'est de permettre à l'applet d'accéder au formulaire présent dans la page qui contient l'applet, comme le ferait n'importe quel code javascript, et via le DOM remplir les champs. L'applet n'est donc finalement qu'un outil interragissant avec la page sur laquelle il se trouve. L'applet ne fait donc aucune connection réseau.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut
    J'ai reçu une réponse du support qui explique un peu le chemin à suivre pour intégrer l'applet, il y a pas mal de choses propre à OpenErp donc je vais embrouiller avec ça par contre si cette phrase suivante te dit quelque chose :

    Easiest way to do this is to use AutoTyping (key stroke simulation)
    provided by some of the smartcard reader applications.
    Apparament ça serait quelque chose propre au programme de lecteur de carte mais ça me dit rien du tout, donc si par hasard ça te parle, quelques explications seraient pas de trop

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    laisse tomber, ca ne te servira pas, c'est pour les smartcard qui simule une clavier, ce qui est pas ton cas.

    Note que c'est presque ce que fait mon applet, sauf qu'elle le fait par javascript plutot que par clavier

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut
    Tu veux dire que la carte d'identité belge ne possède pas cette possibilité ?

    Quel est réellement l'intérêt et le principe d'une smartcard simulant un clavier ?

  14. #14
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    Citation Envoyé par Aioros046 Voir le message

    Quel est réellement l'intérêt et le principe d'une smartcard simulant un clavier ?
    Pas la moindre idée


    Dans le cas de la carte d'identité belge, pour que le serveur reconnaisse automatiquement la carte, on utilise du SSL, le client tappe alors son pin, et tu recois sont certificat, coté serveur, de là tu peux en tirer les informations dont tu as besoin (voir le fonctionnement des sites comme taxonweb.be ). Maintenant j'ai jamais utilisé cette fonctionnalité pour mes serveurs...

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Par défaut
    Ok ok merci beaucoup pour ton aide au moins je vais pas perdre mon temps à chercher de ce coté là.

    Je vais me plonger maintenant dans l'intégration via le client web d'open Erp on verra bien ce que ça donne =)

    Encore merci pour tout

Discussions similaires

  1. Envoi fichier vers Serveur FTP.
    Par Fabrice01 dans le forum 4D
    Réponses: 2
    Dernier message: 03/06/2008, 14h15
  2. [Mail] Envoi e-mail avec lien vers serveur FTP
    Par younes371 dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2007, 15h01
  3. Réponses: 21
    Dernier message: 06/02/2007, 13h05
  4. [PORTLET] Envoie fichier vers serveur
    Par sammm dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 29/11/2006, 10h35
  5. [MySQL] Envoi d'informations vers un script externe...
    Par tom06440 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/10/2005, 18h00

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