URL: https://linuxfr.org/users/mzf/journaux/dernieres-nouvelles-de-taptempo Title: Dernières nouvelles de TapTempo Authors: mzf Date: 2018年07月06日T11:15:32+02:00 License: CC By-SA Tags: taptempo, catch, tuxfamily et debian Score: 29 Cher journal, voici quelques nouvelles concernant l'utilitaire de calcul de tempo en ligne de commande, le fameux logiciel [TapTempo](https://linuxfr.org/users/mzf/journaux/un-tap-tempo-en-ligne-de-commande). # Changement d'hébergeur TapTempo était originellement hébergé sur GitHub, suffisant largement pour ce petit utilitaire sans ambition. Mais suite à l'engouement pour son [portage](https://linuxfr.org/tags/taptempo/public) dans d'autres langages de programmation, TapTempo a maintenant son espace internet dédié chez [TuxFamily](https://taptempo.tuxfamily.org) ! Merci à eux pour l'hébergement de qualité. Le dépôt Git officiel a aussi migré chez TuxFamily. Comme GitHub a été racheté par Microsoft entre temps et que je souhaitais depuis longtemps fermer mon compte chez eux, le dépôt sur GitHub ne fait plus que pointer vers le nouvel hébergement. # Correction de problèmes potentiels et tests unitaires Adepte du "clean code" et du [software craftmanship](https://fr.wikipedia.org/wiki/Software_craftsmanship), j'essaye toujours de maximiser la qualité du code et de limiter au maximum les problèmes qui pourraient arriver. Malgré cela, quelques soucis potentiels ont été [détectés](https://linuxfr.org/users/glaeken/journaux/portage-de-taptempo-en-perl6#comment-1731124) par la communauté de LinuxFr. Ils sont maintenant corrigés. De nouveaux tests unitaires participent à ces améliorations. Ils sont basés sur le cadriciel [Catch](https://github.com/catchorg/Catch2) qui a l'avantage de tenir dans un seul fichier d'entête. D'ailleurs j'ai eu la joie de découvrir que [Getopt](https://www.gnu.org/software/libc/manual/html_node/Getopt.html) n'est pas prévu pour être appelé plusieurs fois dans le même programme. Vous pouvez lire [cet article](https://nullprogram.com/blog/2014/10/12/) qui explique que cette méthode a un état global que l'on ne peut pas réinitialiser. Il existe une solution de contournement non-documentée qui est de forcer la variable globale `optind` à 0. Cela permet actuellement de faire fonctionner les tests unitaires avec les différentes plateformes (Windows/MSYS et Linux), mais quid de la pérennité si ce n'est pas documenté ? # Package dans Debian Puisque TapTempo semble revêtir un caractère universel, voire d'intérêt publique (⸮), je travaille à le faire entrer dans la distribution la plus populaire via un paquet Debian. Si un mécène/sponsor est intéressé, c'est par [là](https://mentors.debian.net/package/taptempo). # Jouons avec TapTempo Le meilleur pour la fin. Inspiré par les [vidéos](https://www.youtube.com/watch?v=j-Zf7-ank1U) du [portage en Chisel](https://linuxfr.org/users/martoni/journaux/integration-de-taptempo-chisel-sur-apf27) de martoni, TapTempo a maintenant un mode jeu ! Le logiciel génère un tempo secret entre 50 et 200 battements par minute et l'utilisateur doit taper à la bonne cadence pour le trouver. Le mode jeu s'active avec l'option `--game`: ``` $ taptempo --game Appuyer sur la touche entrée en cadence (q pour quitter). [Appuyer encore sur la touche entrée pour lancer le calcul du tempo...] Plus vite ! Plus vite ! Plus vite ! Plus vite ! Moins vite... Moins vite... Moins vite... Plus vite ! Plus vite ! Moins vite... Félicitation, vous avez trouvé le tempo secret ! Tempo : 162 bpm ``` Bon tap !