Mots clés du topic : hash MD5, algorithmes de Cryptage
J'ouvre ce topic pour exposer techniquement un projet sondagier puisque c'est ici que sauf erreur je devrais obtenir des infos précises sur les questions pointues en terme informatique. Je ne vois quand même pas trop comment éviter une introduction un peu générale avant de descendre à ce qu'il y a de plus précis et technique, alors allons-y.
1°Quel est donc le problème des sondages HFR ?
Eh bien, la forme en est limitative, à la base on pose une question qui peut donner lieu à 10 réponses tout au plus. En poussant le système dans des limites qui n'atteignent pas complètement l'absurde on peut quand même faire en sorte de poser jusqu'à 3 questions à la fois, avec disons avec 3 à 4 choix chacune, mais au prix de reporter certaines questions dans les lignes réservées aux choix, et en donnant à l'utilisateur la possibilité de faire plusieurs réponses tout en sachant que rien ne le contraindra à ne cocher que le nombre de fois demandé pour une question (Exemple sur le trombi, très bon topic du reste). Donc avec 3 questions Q1, Q2, et Q3, à 3 choix chacune, on laissera la possibilité de faire en tout 3 choix à répartir en théorie entre Q1, Q2, et Q3. Mais rien empêche la fâcheuse probabilité de concentrer tous les clics sur les réponses de Q1. Si Q1 propose les réponses Oui, Non, Je ne sais pas, ça pourra donner 3 fois /u]O[/u]ui, ou même une croix par réponses, ce qui est bel bien une frein à la qualité du sondage.
Bref, sur HFR on ne peut guère (jusqu'à aujourd'hui) poser convenablement un autre genre de sondage que la classique question à 10 points.
Il faut quand même admettre que c'est déjà bien, mais je pense qu'on peut faire mieux. Et l'idée ici est celle d'offrir une possibilité de gros multisondages simultanés, à voir comme une réelle extension des possibilités du forum, à l'aide d'une petite suite logiciel tierce-partie.
2°Un petit tour historique s'impose Pour l'instant j'ai mis sur pieds une solution mais elle est uniquement adaptée à l'exemple ci-après :[/u]
Assez récemment dans la rubrique discussion, j'ai proposé un sondage assez naturel (Lien) qui doit amalgamer 3 sous-sondages, dont les 2 premiers sont des classements de 10 personnalités politiques, P, puis 10 autres médiatiques, M. De la sorte on peut établir les couples de personnalités politico-médiatiques et analyser quelles sont les caractéristiques qui font leur succès relatif dans les médias. On regroupe ces 2 sondages sous le nom de sondage PM.
Une séquence miniature du couplage PM, avec 1 semaine par sondage P et M, a été réalisée et a donné un couple PM gagnant et tout un classement pour les autres. De fait on a eu Le Pen / Wilson gagnants. Ce résultat a été discuté et a montré que la question était de savoir en détail quels « Traits de Caractères politico-médiatiques » entraient en jeu comme préalable à une interprétation raffinée.
Bref, il fallait donc rechercher les traits de caractères, TdC, de chaque personnalité exposée au sondage PM. Et quoi de plus neutre qu'un sondage pour ça?
Malheureusement on fait sauter la turbine car j'ai estimé qu'ayant 4 grands TdC à déterminer, et, en se conformant au format 10 points d'HFR, qu'on peut les décliner en 10 éventualités au maximum, ce qui donne... à tel TdC, de 1 à 4, la question serait de demander de le déterminer parmi 10 choix, et ce pour chacune des 20 personnalités... En bref ça fait beaucoup! L'équivalent de plus d'1 an de sondage même en y passant moins d'une semaine par sondage.
On en arrive naturellement au programme MSDG (MultiSonDaGe).
J'admets que le logo peut bénéficier de quelques améliorations
Avec MSDG, au lieu de poser chaque sondage à la suite sur HFR, ce qui est d'une lourdeur accablante, on télécharge un petit applicatif qui pose toutes les questions à la suite, et génère une suite de nombres correspondant à la suite des réponses de l'utilisateur final : son bilan. Il lui suffit alors de déposer son bilan sur le topic. Celui-ci doit ensuite être récupéré et traité. Mais la récupération, et surtout le traitement, peuvent être semi-automatisés puisque ce n'est jamais que des nombres et déboucher sur un histogramme ou tout traitement statistique qu'on jugera utile. Il n'y a plus qu'à poster le résultat global du traitement en tête de topic comme la tradition le veut et à le mettre à jour avec l'arrivée de données. Je dois beaucoup au topic trombi pour cette démarche.
Actuellement il y a 2 programmes , MSDG et Reversi, version 1 tous deux et en test.
3°On a dit ce que faisait MSDG, poser des tas de questions d'un coup, mais que fait Reversi?[/u]
Reversi est le programme de récupération et traitement des bilans. Pour le moment il fonctionne en collant un bilan dans une fenêtre et en récupérant un tableau dans une autre. Mais je n'ai pas parlé du chiffrement des bilans. Voilà où commence les aspects pointus et les plus passionnant en terme informatique.
MSDG fournit un bilan privé que l'utilisateur peut garder et relire facilement, c'est un tableau de nombre qui n'a rien de mystérieux et qui résume ses réponses. Mais ce n'est pas ça qu'il poste sur HFR ! Même si on peut philosopher longtemps sur l'anonymat sur le net, une chose est claire, lors d'un sondage HFR classique, un utilisateur ne peut pas voir ce qu'à voté un autre utilisateur. Pour conserver le même niveau d'anonymat, 2 possibilités sont donc offertes :
1 – envoyer le bilan par MP (message privé) ,
2 – ou/et coder le bilan privé de façon à le rendre indéchiffrable lors de sa diffusion en public.
MSDG permet ce codage. Et pour le moment, Reversi réalise 2 taches. D'abord, récupérer un bloc de chiffres même légèrement souillé avec du texte alphabétique parasite comme lors d'un copier/coller rapide d'un post de forum. Puis surtout décoder la suite de chiffre pour retrouver le bilan d'origine.
Bon voilà le topo, personnellement je n'ai utilisé qu'un algorithme maison de transformation de Boulanger. Le principe est simple la transformation est issue d'une clé privée aléatoire. Tout cela c'est le travail de MSDG. Lors de la diffusion du bilan, la clé privée est incluse, Reversi la récupère et inverse la transformation.
Vue la puissance du matériel de tout un chacun, je recherche un algorithme de cryptage connu, mais complexe, et surtout robuste. Je n'en ai trouvé aucun. De plus je ne sais pas trop comment inclure les hash de type MD5 lors de ces étapes. Bien que je crois en comprendre l'intérêt en guise de contrôle d'intégrité supplémentaire.
Enfin, dernier problème pour la version de MSDG qui est diffusée. Où trouver un petit algorithme pour que l'exécutable vérifie sa propre intégrité ? sécurité basique disons. Qu'on ne puisse pas le modifier sans que le programme le sache.
Voilà, pour ce qui est de l'avenir, j'aimerais avoir des avis sur les améliorations à apporter à la version existante de MSDG, changer l'interface par exemple, ou revoir l'optique du développement. Idem pour Reversi, quoique le problème critique pour Reversi c'est uniquement le décryptage. Pour Reversi la prochaine grande étape serait de lui offrir un module de décryptage personnalisé par une clé privée à envoyer à chaque utilisateur potentiel. L'intérêt étant qu'alors le programme Reversi pourrait être diffusé à son tour librement. Pour l'instant il est forcément réservé au gestionnaire du sondage.
3°L'idée finale serait de créer un MSDG où les sondages soient personnalisables à loisir. La personne gestionnaire du sondage n'a plus qu'à créer une clé privée unique par utilisateur à retourner fondue dans le bilan pour que Reversi puisse l'interpréter. Quelqu'un aurait-il des liens vers de la doc sur ce genre de problème. J'ai plus ou moins parcouru le net, notamment la MSDN de Microsoft mais je n'ai trouvé que des idées générales, aucun exemple bien concret.
4° - État du projet
Bon faudra que je fasse un résumé mais voilà, là c'est complet. Enfin j'oublie le plus important ...
Lien vers MSDG ----> Download MSDG sur Freefactory.com
Message édité par cappa le 20-09-2008 à 15:42:34