Non classé

Aux sources du code

Parlons un peu du concours 🙂

Ce concours de programmation est réservé aux lycéens de l’Académie de Montpellier. Il a eu lieu du 4 janvier au 27 mars 2010.
Le but était de réaliser un programme qui puisse crypter et décrypter des messages textes d’une limite de 140 caractères. Tous les langages de programmation étaient autorisés.
Vous pouvez voir le sujet plus en détail en se rendant sur le site du concours:
http://www.sourcesducode.epitech.eu

Pour pouvoir réussir, je me suis dit qu’il fallait se différencier des autres participants en utilisant un langage autre qu’orienté web. Un des critères de notation est sa portabilité vers d’autres plateformes (windows, mac os, linux pour les principaux). Ce qui me laissait trois choix: wxwidgets, QT4, et GTK+.
Au début, j’ai commencé à créer mon programme en C++ avec QT4, mais j’ai eu des difficultés avec les signaux. J’ai donc tout recommencé mais cette fois ci en C avec GTK+. Cette fois ça, j’ai réussi à faire ce que je voulais.
Une fois l’interface codée, il a fallu mettre en place l’algorithme de cryptage/décryptage. Après de multiples recherches, je me suis orienté vers le chifre de Vigenère car il chiffre assez bien le message, et il n’est pas possible de le décoder sans faire d’analyses de fréquences. Bien que le chiffrement soit vulnérable, il correspond dans mon cas au problème posé. J’ai eu quelques difficultés à coder le déchiffrement, car je je m’emmêlais à la lecture du tableau. Le problème a été résolu avec une feuille et un stylo en essayant de trouver le problème 🙂
Bref, une fois le projet rendu, j’ai été sélectionné dans les dix premiers projets sur 70 rendus, et par conséquent convoqué pour la soutenance du projet le 27 mars.
Malgrès une mauvaise prestation, j’ai quand même réussi à finir 3ème du concours, ce qui est une bonne chose. Une petite remarque en passant, j’étais la seule personne n’étant pas en Bac S, ce qui fait d’autant plus plaisir que je viens d’un Bac Pro en bâtiment (comme quoi, quand on est passionné). Les membres du jury se demandaient ce que je faisais ici :p .
Donc, 3ème, c’est plutôt pas mal, mais je suis déçu, car je sais que j’aurai pu faire mieux!! Oui, la première place était à portée de main. Il suffisait juste d’approfondir un peu plus le programme, de mettre des choses qui me paraissent logique maintenant. En particulier une meilleure prise en charge des caractères, ainsi qu’un algo de cryptage plus évolué. Toutefois, je trouve des points positifs, je trouve mon programme ergonomique, simple d’utilisation ce qui permet une adaptation rapide, et celui qui respecte le plus le sujet (enfin, c’est ce que je pense, me tapez pas sur les doigts :p). Pour compenser, je pourrai dire tous les défauts du programme, mais ça casserait tout.

Mais, le but de ce concours était avant tout de savoir ce que je valais par rapport aux autres, et de prouver ainsi ce que je pouvais faire. Je pense avoir accompli la mission.

Pour finir, voilà une capture d’écran du programme sur les trois principales plateformes.

Windows (Sept)
Mac OS (Snow Leopard)
Linux (Ubuntu 9.04)

Et, petit bonus, un petit article ^^