1
Ce qu'il vous faut
eID 2 FMP fonctionne sur un iPhone ou un iPad sous iOS ou iPadOS 26.5 ou plus récent. Pour lire une carte, il vous faut deux choses qui ne sont pas dans l'app.
- Un lecteur de cartes Bluetooth. Le Zetes Sipiro M BT 4.0, vendu aussi sous le nom FEITIAN bR301BLE. C'est le modèle sur lequel l'app a été construite et réglée.
- Une carte d'identité belge. La puce à contact, pas le côté NFC.
Et pour le pont vers FileMaker
- FileMaker Go sur le même appareil, version 19 ou plus récente.
- Un fichier FileMaker avec le privilège étendu
fmurlscriptactivé. Sans lui, Go refuse tout script venant de l'extérieur.
Où acheter un lecteur ?
- Prix indicatif — 85 € hors TVA
- Livraison — 1 à 2 jours ouvrables
- Expédition — gratuite à partir de deux appareils
- En vente chez — eidshop.be
- Dans la boîte — le lecteur et un câble de charge USB-A vers USB-C, 24 mois de garantie
2
Appairer le lecteur
L'appairage ne se fait pas dans les réglages Bluetooth d'iOS, mais dans l'app elle-même. Ce n'est pas une bizarrerie d'eID 2 FMP : ces lecteurs ne s'annoncent ni comme clavier ni comme casque, et n'apparaissent donc jamais dans cette liste.
- Allumez le lecteurMaintenez le bouton jusqu'à ce que la lumière bleue clignote.
- Ouvrez eID 2 FMP et touchez LezerL'écran de recherche s'ouvre et lance immédiatement le balayage.
- Attendez que votre appareil apparaisseLes lecteurs de cette marque sont listés en premier, avec une indication de proximité. Les autres appareils Bluetooth du voisinage sont montrés aussi — pratique pour vérifier que la recherche fonctionne.
- Touchez-leC'est tout. Le choix est mémorisé, même après avoir quitté l'app.
3
Lire une carte
- Insérez la cartePuce vers le haut, jusqu'au fond.
- Appuyez sur Kaart lezenL'app se connecte au lecteur, met la carte sous tension et lit le fichier d'identité.
- Lisez le résultatNom, prénoms, date de naissance, nationalité, numéro de carte, date d'expiration, adresse et la photo.
La première lecture après le démarrage est la plus longue — une dizaine de secondes. L'app doit encore trouver le lecteur dans les airs, s'y appairer et mettre la carte sous tension. Ensuite, chaque lecture est rapide.
Effacer
Le bouton Wissen jette le résultat. De toute façon rien n'est conservé : fermez l'app et la lecture a disparu. Voir le chapitre 10.
Le trafic APDU
En haut à gauche se trouve APDU-verkeer. On y voit chaque commande envoyée à la carte et chaque réponse revenue, mots d'état compris. C'est de là que vient le nom Lab, et c'est le premier endroit à consulter quand une lecture échoue.
4
Ce qui est lu
eID 2 FMP lit le fichier d'identité de la carte. C'est la partie librement lisible : aucun code PIN, aucun certificat, aucune autorisation d'une autorité ne sont nécessaires. N'importe quel lecteur ordinaire lit la même chose.
| Champ | Contenu |
|---|---|
| achternaam | Nom |
| voornamen | Tous les prénoms tels qu'imprimés sur la carte |
| volledigeNaam | Prénoms et nom réunis, prêts à afficher |
| geboortedatum | Comme sur la carte, en texte |
| geboorteplaats | Puce à contact uniquement |
| geslacht | M ou V |
| nationaliteit | En général Belg |
| documentnummer | Le numéro de carte |
| vervaldatum | Valable jusqu'au |
| straat | Rue et numéro |
| postcode | Code postal |
| gemeente | Commune |
| adres | Les trois champs d'adresse sur une ligne |
| pasfoto | La photo de la carte, en JPEG |
Ce qui n'a pas lieu
- L'app n'utilise ni l'authentification ni la signature numérique de la carte, et ne demande donc jamais de code PIN.
- L'app n'utilise pas les certificats de la carte.
- L'app ne contacte aucun service public ni le Registre national.
5
Configurer eID 2 FMP pour FileMaker
En haut de l'écran principal se trouve FileMaker. C'est là que vous indiquez où les données doivent aller.
- BestandLe nom de votre fichier FileMaker, sans
.fmp12. - ScriptLe script qui reçoit les données.
eIDOntvangenpar défaut. - HostÀ laisser vide pour un fichier sur l'appareil même. Sinon l'adresse ou le nom de votre FileMaker Server.
- Automatisch versturenActivé. Dès qu'une carte est lue, elle part vers FileMaker sans étape intermédiaire. À un comptoir, chaque tape en trop est une tape de trop.
- PasfotoDans l'URL en base64 (par défaut), via le presse-papiers, ou pas du tout.
Pourquoi la photo doit faire ce détour
Le schéma fmp:// n'accepte qu'un seul paramètre de script, et tout doit passer par une URL. La photo d'une eID belge est petite — quelques kilo-octets — donc le base64 y tient largement. Si l'URL devenait tout de même trop longue, eID 2 FMP bascule automatiquement sur le presse-papiers et le signale. Vous récupérez cela avec l'étape de script Coller.
6
Construire le côté FileMaker
Côté FileMaker, il vous faut une table, un script et un réglage.
1. Le privilège
Fichier → Gérer → Sécurité → Privilèges étendus → cochez fmurlscript pour le jeu de privilèges que vous utilisez. Si vous l'oubliez, rien ne se passe et aucun message d'erreur n'apparaît.
2. Les rubriques
Créez des rubriques texte portant les mêmes noms qu'au chapitre 4, une rubrique conteneur Pasfoto, et une rubrique texte ID avec entrée automatique Get ( UUID ).
3. Le script eIDOntvangen
Set Variable [ $json ; Get ( ScriptParameter ) ]
Set Field [ Persoon::Achternaam
; JSONGetElement ( $json ; "achternaam" ) ]
Set Field [ Persoon::Voornamen
; JSONGetElement ( $json ; "voornamen" ) ]
Set Field [ Persoon::Geboortedatum
; JSONGetElement ( $json ; "geboortedatum" ) ]
# ... et ainsi de suite pour chaque rubrique
Set Variable [ $foto ; JSONGetElement ( $json ; "pasfoto" ) ]
If [ not IsEmpty ( $foto ) ]
Set Field [ Persoon::Pasfoto
; Base64Decode ( $foto ; "pasfoto.jpg" ) ]
End If
Commit Records/Requests [ With dialog: Off ]
JSONGetElement sur un champ absent renvoie donc simplement du texte vide — vous n'écrasez jamais rien avec une erreur.7
Faire demander une carte par FileMaker
Jusqu'ici, eID 2 FMP poussait les données vers FileMaker. L'inverse fonctionne aussi : un bouton dans votre fichier qui ouvre eID 2 FMP, fait lire une carte, et récupère la réponse dans le même enregistrement.
New Record/Request
Commit Records/Requests [ With dialog: Off ]
Set Variable [ $terug ; Value:
"fmp://$/" & Get ( FileName ) & "?script=eIDOntvangen" ]
Open URL [ With dialog: Off ;
"eid2fmp://lees" &
"?terug=" & GetAsURLEncoded ( $terug ) &
"&sleutel=" & GetAsURLEncoded ( Persoon::ID ) ]
Ce qui se passe alors : eID 2 FMP passe au premier plan avec une barre jaune FileMaker wacht op een kaart, lit tout seul, et revient dans FileMaker avec les données et la clé. Votre script eIDOntvangen peut retrouver le bon enregistrement grâce à cette clé.
fmp://$/ par fmp://votreserveur/.GetAsURLEncoded autour de l'adresse de retour. Sans cela, tout casse dès que votre URL de retour porte un second paramètre.8
L'autotest
Sous FileMaker → Zelftest, l'app passe neuf contrôles. Chacun indique ce qui a été testé et, en cas d'échec, ce que vous pouvez y faire.
- si le SDK du lecteur est réellement intégré
- si l'autorisation Bluetooth est accordée
- si un lecteur a été choisi
- si ce lecteur est présent dans les airs en ce moment
- si FileMaker Go est installé sur cet appareil
- si le fichier et le script sont renseignés
- si l'URL reste dans une longueur sûre
- si votre FileMaker Server est joignable, quand vous en avez indiqué un
- si le fichier est ouvert — l'app ne peut pas le savoir avec certitude, et elle le dit
Il y a aussi un essai avec une carte fictive. Il envoie des données d'exemple vers votre fichier FileMaker sans carte ni lecteur. Si FileMaker s'ouvre avec un enregistrement rempli, toute la chaîne est saine et il ne reste qu'à tester la lecture elle-même.
9
Quand cela ne marche pas
eID 2 FMP ne s'affiche pas quand j'appuie sur le bouton dans FileMaker
C'est que l'URL n'est jamais partie. iOS ne lance jamais une app invisiblement en arrière-plan : soit elle passe au premier plan, soit rien ne se passe. Pour vérifier, tapez eid2fmp://lees dans Safari — l'app doit s'ouvrir avec une barre rouge De oproep bevatte geen terug-adres. Si c'est le cas, le schéma fonctionne et le problème est dans votre calcul.
eID 2 FMP s'ouvre avec une barre rouge
L'appel est bien arrivé mais sans adresse de retour, ou avec une adresse inutilisable. La barre montre exactement ce qui est entré.
La lecture échoue
- geen lezer — le SDK ne voit pas l'appareil. Est-il allumé ? Chargé ? Encore connecté à un autre appareil ?
- verbinden mislukt — il est vu mais ne s'appaire pas. Éteignez-le et rallumez-le.
- une erreur SCardConnect — la carte ne se met pas sous tension. Enfoncez-la à fond, puce vers le haut.
Les données arrivent, la photo non
Vérifiez que la rubrique conteneur est bien un conteneur et non du texte, et que vous donnez un nom de fichier à Base64Decode — sans ce nom, FileMaker ne sait pas quel type de fichier il tient.
Rien ne se passe dans FileMaker
Neuf fois sur dix, fmurlscript n'est pas coché, ou le nom du script n'est pas exact. Go ne le signale pas : il ne fait simplement rien.
10
La vie privée en bref
- Les données restent sur l'appareil. Il n'y a aucun serveur de notre part et rien ne nous est envoyé.
- Rien n'est conservé. Fermez l'app ou appuyez sur Wissen et la lecture a disparu.
- La carte n'est lue que lorsque vous le demandez, ou lorsque FileMaker le demande.
- Si vous transmettez vers FileMaker, les données vont dans votre fichier — sur l'appareil ou sur votre serveur. Où elles résident ensuite, c'est vous qui en décidez.
Le texte complet se trouve dans la déclaration de confidentialité.