Avant de foncer tête dans le guidon pour réaliser notre Machine de cryptage ENIGMA, il me semble utile de vous prévenir que toutes les images qui sont présentes dans ce didacticiel sont de très médiocres qualités. En effet, elles sont issues de copies d’écran, technique qui engendre une perte de qualité considérable.
Comme pour tous mes autres tutoriels, vous trouverez l’intégralité des « modules » dont vous pouvez avoir besoin qui sont réunis dans un fichier.ZIP que vous trouverez ICI. (Fichiers didacticiel, photographies, programmes Arduino etc.)
Une fois de plus, mon dernier projet ludique vient d’être mis en ligne sur ROBOT MAKER et je me trouve un peu tristounet car une page est tournée. La programmation tournant à l’addiction, surtout les jours d’hiver où il n’y a pas l’appel de l’extérieur, il me fallait trouver un prétexte pour m’engager dans un nouveau projet. Cette fois encore, disposer d’un jouet informatique de plus n’est pas du tout le but de ce tutoriel. La finalité consiste une fois de plus à cheminer en s’amusant dans le domaine de la programmation d’ARDUINO dans un contexte plaisant où l’on cherche à coder une application développée pour une carte NANO par l’entremise du langage C++. L’approche sera progressive, et le didacticiel rédigé au fur et à mesure du développement ce qui risque d’engendrer des remises en cause et des retours en arrière. Ce tutoriel ne sera donc pas l’exposé linéaire d’une solution peaufinée et bien au point, mais une promenade logicielle où pas à pas on va tenter de créer un programme cohérent, voir éventuellement comme pour la Machine de Turing une version du pauvre et une version autonome. J’insiste sur le fait que le petit module électronique décrit n’est absolument pas un but en sois, le bénéfice réside dans le plaisir d’apprendre dans un contexte ludique qui motive et justifie cette petite réalisation qui reste avant tout un prétexte.
Comme, par exemple, pour la Machine de Turing élémentaire décrite sur ROBOT MAKER que l’on trouve sur ICI avec la version de « luxe » ICI on va avancer pas à pas et progresser par expérimentations sur un certain nombre de petits démonstrateurs. La ligne à suivre reprend la rigueur et la méthode adoptée lors de ce tutoriel. La finalité consiste à respecter des critères qui semblent raisonnables, et ce de façon systématique.
Turing est directement associé à la codeuse ENIGMA, alors chercher à traduire le fonctionnement de cette machine à écrire spéciale sera un hommage de plus à cet illustre mathématicien qui a influencé indirectement et de façon colossale le déroulement du conflit de 1939 à 1945. Aussi, après avoir réalisé diverses versions de Machines de Turing, le choix de créer une machine ENIGMA virtuelle s’imposait presque naturellement. Il est clair que si vous proposez le mot clef ENGMA à un moteur de recherche, non seulement vous allez vous retrouver noyé par le nombre des articles qui traitent du sujet. Et surtout vous allez également trouver plusieurs programmes qui simulent cette codeuse, tous très bien faits probablement très supérieurs à ce que je vous propose. C’est donc uniquement dans l’exercice de programmation d’une « version de plus » que l’on récoltera le fruit de notre investissement. Les simulateurs disponibles sur la toile étant gratuits, il importait que notre investissement soit le plus faible possible. C’est la raison pour laquelle je vous propose une première version qui n’utilise qu’une carte Arduino NANO. C’est le Moniteur de l’IDE qui permettra le dialogue Homme/Machine et il n’y aura dans un premier temps strictement rien à souder. Du reste lorsque vous aurez terminé cette balade informatique, la carte Arduino pourra servir à tout autre chose si vous le désirez.
La suite est ici.