Soyons clairs, je ne suis pas fan de Lua en tant que langage de programmation. Le simple fait que les tableaux débutent à l'indice 1 me perturbe totalement et constitue pour moi une véritable aberration. Mais, d'un autre côté, Lua est aussi le langage par excellence lorsqu'il s'agit d'embarquer des fonctionnalités de scripting au sein d'une application ou d'un outil. Du moins, c'est ce que tend à montrer sa popularité dans ce domaine et, si l'on n’a jamais tenté l'expérience, on peut se demander pourquoi. La réponse est évidente après quelques lignes de code et on se surprend soi-même à dire, à haute voix qui plus est, « Ah ! Mais c'est excellent, en fait ! ».
La petite histoire débute avec un de mes projets dont je vous avais déjà parlé [1], permettant d'interagir avec des tags RFDI/NFC dans leur langage natif, à savoir par l'échange d'APDU. L'outil en question, nommé NFCapdu [2], repose pour le moment sur les bibliothèques LibNFC, Readline et GLib pour tout ce qui concerne la gestion du fichier de configuration permettant de régler certains paramètres et de définir une liste d'alias de commandes facilitant l'usage et l'envoi d'APDU-C utilisés fréquemment. Avoir une dépendance à la GLib pour quelque chose d'aussi « mondain » est quelque chose qui ne me plaît guère, mais devoir gérer moi-même une configuration clé/valeur ne m'enchante pas davantage, bien au contraire (oui, il existe aussi des choses légères comme la libConfuse).
Puis arrive le moment où une idée pointe le bout de son nez dans votre esprit : l'outil envoie des APDU et interprète (dans une certaine mesure) les réponses, ce serait pratique de...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première