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

JavaScript Discussion :

Script lecture carte identité


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut Script lecture carte identité
    Bonjour à tous,

    Je développe une application utilisant la carte d'identité électronique.

    Cependant à l'heure actuelle, pour lire les données, il faut bien entendu introduire sa carte dans le lecteur USB, cliquer sur 'Lire carte" et ensuite "Valider les données".

    Ce que je souhaiterai, c'est que dès que la carte est insérée, la lecture démarre automatiquement. Il ne resterai plus qu'à valider le formulaire.

    Je joins le script en annexe.

    Pourriez-vous y jeter un coup d'oeil svp?

    Merci de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Bienvenue à toi

    Je n'ai pas compris le rapport avec Javascript ^^

    Erreur de forum ou explications insuffisantes ?

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Que je me souvienne mes grands travaux sur l'eId, RomainVALERI a raison. Il n'y aucun rapport avec le Javascript.

    Le Javascript ne sait pas se rendre compte que la carte a été introduite dans son lecteur. C'est bel et bien le logiciel lié au lecteur qui le sait. C'est à lui d'auto-lire la carte. Ce qui est généralement le cas. Par contre, ce logiciel n'ira pas remplir votre formulaire Web mais son propre formulaire. Le Javascript non plus car il n'a pas accès aux données. Je crains qu'un clic ne soit nécessaire.

  4. #4
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Désolé de déterrer un peu mais j'ai trouvé un exemple de script en javascript qui permet de lire la carte dès qu'elle est insérée dans le lecteur.

    Je les joins en annexe.

    Par contre serait-il possible d'après vous que plutôt d'afficher les données dans un textearea, de positionner chaque données dans un champs de formulaire séparé ?

    Merci de vos éclaircissement.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    la suite...
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par legrandse Voir le message
    ... serait-il possible d'après vous que plutôt d'afficher les données dans un textearea, de positionner chaque données dans un champs de formulaire séparé ?
    C'est cette ligne, dans la fonction readCard() de ton html d'exemple qui controle l'affichage des donnees lues :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("content").value = card.toString();
    Le principe serait de modifier les deux côtés conjointement :

    - côté HTML, à la place du textarea "content" (tout à la fin) : un formulaire avec ses champs

    - côté JS, à la place de la ligne de l'extrait ci-dessus : quelques lignes pour découper les données (seul toi peux nous dire quelle forme elles ont et comment doit être fait le découpage) puis une série d'affectations vers les input correspondants.
    Exemple fictif :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var donnees = card.toString();
    donnees = donnees.split("#");
    // en imagineant par exemple un séparateur # pour tes champs dans la réponse de la carte
    document.getElementById("input_machin").value = donnees[0];
    document.getElementById("input_truc").value = donnees[1];

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  7. #7
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut Waw :o
    Ils ont dû s'amuser.
    Par contre, ça ne lit que les cartes belges, dirait-on (d'où le nom).

  8. #8
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Merci à toi RomainVALERI pour ton aide.

    J'ai modifié les lignes de code concernées et créé des champs de formulaire.

    Cependant, après essai, les données ne sont pas séparées par un "#" et sont toutes contenues dans le champs "nameField".

    Le champs firstNamesField récolte quant à lui un "undefined".

    Pourrais-je encore solliciter ton aide ?

    Voici le bout de code modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function readCard() {
    	document.getElementById("content").value = "Please wait ...";
    	var card = cardReader.read();
    	if (card != null) {
    		var donnees = card.toString();
    donnees = donnees.split("#");
    // en imagineant par exemple un séparateur # pour tes champs dans la réponse de la carte
    document.getElementById("nameField").value = donnees[0];
    document.getElementById("firstNamesField").value = donnees[1];
     
    	} else {
    		document.getElementById("content").value = "No card returned.";
    	}
    }

  9. #9
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par legrandse Voir le message
    Cependant, après essai, les données ne sont pas séparées par un "#" et sont toutes contenues dans le champs "nameField".
    Ben oui
    Comme je te le disais, j'ai pris cet exemple parce qu'il fallait bien "supposer" une manière dont les données sont retirées de ton cardReader ^^ Mais je suis bien conscient qu'il y a une chance sur 10 millions pour que ce soit justement le type de présentation des données de cet appareil... J'aurais tout aussi bien pu partir sur la supposition de donnees associatives :
    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
       identifiant: 987,
       nom: "MARTIN",
       notes: [15, 10, 11]
    }
    Mais en fin de compte ça ne dépend que des spécifications de l'appareil : à toi de nous dire sous quelle forme les données sont fournies.
    Notamment : le contenu que tu récupères dans namefield, ...sinon il nous reste éventuellement la méditation transcendantale parce que ça c'est pas dans le JS, qui lui s'arrête à un appel à l'applet de l'appareil pour récupérer les données :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    this.BEIDApplet = document.getElementById(this.appletLauncherId).getSubApplet()
    Tu as la notice ? un lien vers la doc en ligne de leur API ? ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  10. #10
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Voilà comment se positionnent les données dans un textarea:

    *********************************
    eID card
    cardNumber: xxxxxxxxxxxx
    validityBeginDate: 01/01/1970
    validityEndDate: 01/01/1970
    chipNumber:
    issuingMunicipality: blabla
    nationalNumber: xxxxxxxxxxx
    surname: Legrand
    firstName1: Sebastien
    firstName2: Christian
    firstName3: A
    nationality: Belge
    birthLocation: blabla
    birthDate: 24/07/1977
    sex: M
    nobleCondition:
    documentType: 1
    specialStatus: 0
    whiteCane: false
    yellowCane: false
    extendedMinority: false
    street: blablabla
    streetNumber:
    boxNumber:
    zipCode: 4970
    municipality: blabla
    country: be
    A picture is available.

    ***********************************
    Je ne sais pas si c'est cela dont tu parles?

  11. #11
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Je pense que le fichier joint peut t'aider.

    Sinon voici le lien vers l'EID Applet


    Encore merci de ton aide
    Fichiers attachés Fichiers attachés

  12. #12
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut Script lecture carte identité [SOLVED]
    Voilà après quelques heures de recherche j'ai trouvé la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function readCard() {
    	document.getElementById("namefield").value = "Please wait ...";
    	var card = cardReader.read();
    	if (card != null) {
    		var donnees = card.toString();
    donnees = donnees.split("#");
     
    // en imagineant par exemple un séparateur # pour tes champs dans la réponse de la carte
    document.getElementById("namefield").value = card.getSurname();
    document.getElementById("firstNamesField").value = card.getFirstName1();
    document.getElementById("birthDateField").value = card.getBirthDate();
    document.getElementById("streetField").value = card.getStreet();
    document.getElementById("municField").value = card.getZipCode() + " " + card.getMunicipality();
    document.getElementById("countryField").value = card.getCountry();
    document.getElementById("natNumberField").value = card.getNationalNumber();
    	} else {
    		document.getElementById("content").value = "No card returned.";
    	}
    }
    Merci en particulier à RomainVALERI qui m'a aidé dans la solution.

  13. #13
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Merci en particulier à RomainVALERI qui m'a aidé dans la solution.
    Je t'en prie ^^ je n'ai fait que te mettre sur la voie.

    Par contre, juste pour être sûr : il me semble qu'il te reste cette ligne "en trop" dans ta solution : (plus le commentaire qui allait avec ^^)
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function readCard() {
       document.getElementById("namefield").value = "Please wait ...";
       var card = cardReader.read();
       if (card != null) {
          var donnees = card.toString();
          donnees = donnees.split("#");
          // en imagineant par exemple un séparateur # pour tes champs dans la réponse de la carte
          document.getElementById("namefield").value = card.getSurname();
          document.getElementById("firstNamesField").value = card.getFirstName1();
          document.getElementById("birthDateField").value = card.getBirthDate();
          document.getElementById("streetField").value = card.getStreet();
          document.getElementById("municField").value = card.getZipCode() + " " + card.getMunicipality();
          document.getElementById("countryField").value = card.getCountry();
          document.getElementById("natNumberField").value = card.getNationalNumber();
       } else {
          document.getElementById("content").value = "No card returned.";
       }
    }
    (enfin j'imagine que ce n'est qu'une erreur dans le message, mais que c'est correct de ton côté ^^)

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

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

Discussions similaires

  1. Lecture d'une carte à puce
    Par info007 dans le forum Débuter
    Réponses: 14
    Dernier message: 11/01/2020, 09h30
  2. [Débutant] Lecture eiD Carte identité
    Par thierry007 dans le forum VB.NET
    Réponses: 4
    Dernier message: 18/03/2014, 12h12
  3. Lecture carte reseau local GET
    Par imalloc dans le forum Web & réseau
    Réponses: 0
    Dernier message: 20/07/2009, 20h10
  4. Lecture carte identité electronique
    Par **jouly** dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 13/06/2007, 14h14
  5. [MP3] Script lecture ID3 ?
    Par ecocentric dans le forum Multimédia
    Réponses: 3
    Dernier message: 17/05/2007, 03h32

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