IX. Euh… parfois, ça passe, parfois ça casse … (14 juillet 2025 06:12)
Ceux qui me connaissent savent que je suis un lève-tôt 🙂 Et avec ce long week-end de trois jours, j’en ai profité pour faire quelques tests, notamment sur la gestion des itinéraires.
En théorie, tout fonctionnait… mais en connectant quelques aiguillages à mon décodeur 8 sorties, je me suis rendu compte qu’en pratique, c’était une autre histoire. Sur un itinéraire comportant plus de deux aiguilles, une seule se déclenchait… et pas dans le bon sens 🙂 Rien de grave : un petit souci de trame et de temporisation. Après correction, tout roule : les aiguilles se renversent toutes, et dans la bonne direction.
En plus de la gestion des itinéraires impliquant plusieurs appareils de voie, j’ai ajouté une fonctionnalité pour les manipuler individuellement. Simple et efficace : un tableau avec, pour chaque ligne, le nom de l’appareil et deux boutons radio. Pour mes aiguilles (je n’ai que ça pour l’instant), on choisit entre position directe ou déviée. Ça peut paraître anodin, mais c’est quand même super pratique de pouvoir tracer son itinéraire manuellement si on en a envie 😉
Jusqu’à présent, je m’étais concentré sur les interactions au clavier. Mais… il n’y a pas que les utilisateurs de clavier dans la vie ! Il y a aussi ceux qui préfèrent la souris, ou le tactile. Et si je veux que mon application soit accessible sur un maximum de terminaux, je dois penser à tout le monde. Du coup, toutes les fonctions – déplacement, activation des fonctions F0 à F29 – sont désormais cliquables. J’ai même créé 3 boutons pour « remplacer » J, k et L, si tu as suivi, ce sont les 3 touches de raccourci clavier pour permettre le déplacement de la machine.
Mais crois-moi, ça n’a pas été simple…
Jusque-là, j’avais surtout raconté les bons côtés. Mais en implémentant ces interactions visuelles, j’ai fini par casser tout mon code. J’ai résolu le problème, mais… comble du comble, : tous les raccourcis clavier avaient disparu ! 😅
Il m’a fallu plusieurs jours pour retrouver une version pleinement fonctionnelle, à la fois pour les interactions visuelles et clavier. J’ai même dû repartir d’une sauvegarde, tellement le débogage devenait infernal.
Évidemment, après toutes ces améliorations et ces corrections, j’ai pensé à sauvegarder le code… mais aussi, ne l’oublions pas : la base de données ! 😉