Se connecter / S'enregistrer
Votre question

Modification d'un fichier créé sous Hot Potatoes

Tags :
  • format
  • Programmation
Dernière réponse : dans Programmation
5 Janvier 2012 12:57:23

Salut les amis :) 
Je voudrai avoir vos avis car je n'ai trouvé aucune réponse sur Internet. J'ai des fichiers créer sous Hot Potatoes ( texte à trou par exemple ) , ils sont au format .HTM et je ne sais plus les mots qui sont placés dans ce texte.
Or je doit vraiment savoir donc je me tourne vers vous si vous avez pas une solution pour afficher le texte en modifiant le code source ou autre ..
Je vous remercie d'avance ;) 

Autres pages sur : modification fichier cree hot potatoes

a c 232 L Programmation
5 Janvier 2012 14:09:42

Salut,

Je ne connais pas Hot Potatoes, mais si c'est des .htm, tu peux ouvrir les fichiers avec n'importe quel éditeur de texte (bloc notes, notepad++, ...) Et tu verras la source du fichier.
5 Janvier 2012 14:43:25

J'ai déjà essayé de regarder la source du fichier mais il n'y a rien.
C'est un système de texte à trou, tu tape le mot dans le trou et tu valide, si c'est juste il vient s'incruster dans le texte et si c'est faux, rien ne se passe.
Contenus similaires
a c 232 L Programmation
5 Janvier 2012 15:58:46

Je viens d'essayer d'installer Hot Potatoes et de faire un texte à trou.
Quand j'ai exporté en htm, il m'a donné un fichier htm avec plein de code dedans.

Et ce qui intéresse plus précisément, c'est le tableau JavaScript nommé I :
Je n'avais fait qu'un seul trou avec la vraie valeur "test" mais qui pouvait avoir comme valeur "toto", "tata" ou "test", et voilà mon tableau I :

  1. I = new Array();
  2.  
  3. I[0] = new Array();
  4. I[0][1] = new Array();
  5. I[0][1][0] = new Array();
  6. I[0][1][0][0] = '\u0074\u0065\u0073\u0074';
  7. I[0][1][1] = new Array();
  8. I[0][1][1][0]='\u0074\u006F\u0074\u006F';
  9. I[0][1][2] = new Array();
  10. I[0][1][2][0]='\u0074\u0061\u0074\u0061';
  11. I[0][1][3] = new Array();
  12. I[0][1][3][0]='\u0074\u0065\u0073\u0074';
  13. I[0][2]='\u0068\u00E9\u0068\u00E9';


Et ce sont les mots encodés en unicode (\u0074 = t, \u0065 = e, \u0073 = s, \u006F = o, \u0061 = a)
5 Janvier 2012 16:19:38

Ah j'avais donc raison qu'on ne voyais pas les mots dans le code source mais tord car ils apparaissent sous une autre forme.
Donc il n'y a aucun moyen de trouver les mots ?
5 Janvier 2012 16:39:12

Ouai mais niveau JavaScript, je suis pas très au point :/ 
Je sais pas comment je vais faire ..
Et décoder un par un prendrai beaucoup de temps, j'ai beaucoup de mots et de fichiers alors ..
5 Janvier 2012 17:11:19

Tu serai prêt à m'aider pour la réalisation du code ? en sachant que je suis pas tellement fort en Javascript, ce n'est pas trop mon type de programmation que j'apprend.
Si tu dis non, je comprendrai, c'est pas grave ;) 
a c 232 L Programmation
5 Janvier 2012 17:37:28

Voilà ce que j'ai fait rapidement :

  1. <script type="text/javascript">
  2.  
  3.  
  4. I = new Array();
  5.  
  6. I[0] = new Array();
  7. I[0][1] = new Array();
  8. I[0][1][0] = new Array();
  9. I[0][1][0][0] = '\u0074\u0065\u0073\u0074';
  10. I[0][1][1] = new Array();
  11. I[0][1][1][0]='\u0074\u006F\u0074\u006F';
  12. I[0][1][2] = new Array();
  13. I[0][1][2][0]='\u0074\u0061\u0074\u0061';
  14. I[0][1][3] = new Array();
  15. I[0][1][3][0]='\u0074\u0065\u0073\u0074';
  16. I[0][2]='\u0068\u00E9\u0068\u00E9';
  17.  
  18.  
  19. function decode(tab)
  20. {
  21. for (i = 0; i < tab.length; i++)
  22. {
  23. document.writeln("----------------------------------<br />");
  24. document.writeln("Mot " + (i+1) + " - Choix possibles: <br/>");
  25. for (j = 1; j <= tab[i].length; j++)
  26. {
  27. if (tab[i][j] instanceof Array) {
  28. for (k = 0; k < tab[i][j].length; k++)
  29. {
  30. for (l = 0; l < tab[i][j][k].length; l++)
  31. {
  32. document.writeln(tab[i][j][k][l] + "<br />");
  33. }
  34. }
  35. }
  36. }
  37. }
  38. }
  39.  
  40. decode(I);
  41.  
  42. </script>


Il faut remplacer toute la partie qui initialise I (les lignes 4 à 16) par le code équivalent dans tes fichiers .htm
5 Janvier 2012 17:47:07

Merci beaucoup !! donc en gros je dois remplacer juste par les bonnes valeurs et je dois intégrer ce code dans le code source de la page de départ ?
a c 232 L Programmation
5 Janvier 2012 18:12:59

Tu te fais une page .html avec juste ça si tu veux.

Et pour chaque fichier .htm que tu as avec des textes à trou, tu récupères l'initialisation de I, et tu la mets à la place de celle du fichier.


Sinon, pour faire plus simple, tu peux aussi supprimer les lignes 4 à 16, et copier tout le code dans chacun des fichiers .htm (après la balise <body> si possible), et ça devrait aussi fonctionner.
5 Janvier 2012 18:15:16

Ok je vais tester ça et je te dirai si j'ai réussi grace à ton code ! :D 
5 Janvier 2012 18:21:50

Tes un génie Omar :D 
Mille merci, tu as pris un peu de temps pour concevoir le code et je t'en remercie même si je sais que tu as fait déjà des trucs largement plus compliqué que ça :lol: 
Je suis un boulet, j'ai créé une discussion à la place d'une question -_-
Si tu peux, tu peux changer pour te mettre meilleur réponse ;) 
a c 232 L Programmation
5 Janvier 2012 21:36:14

On ne peut pas encore, c'est dans les tuyaux. Mais c'est pas bien grave.
Bonne continuation ;) 
29 Janvier 2012 14:09:28

Je reviens à la charge avec ton script qui fonctionne magnifiquement bien.
Mais je voudrai demander si c'était possible de faire une page web incluant ce script avec une genre de box pour coller le "New Array" et par exemple faire entrée ou créer un bouton pour que le décryptage se fasse de façon instantané ?
Parce que la je dois, prendre le script, l'enregistrer, copie/coller le New Array dans le script, l'enregistrer en .html, et clique dessus.
Je te remercie d'avance mon grand gnou :D 
a c 232 L Programmation
30 Janvier 2012 10:01:47

Salut,

Voilà :
  1. <script type="text/javascript">
  2.  
  3. function decode(tab)
  4. {
  5. document.getElementById("resultats").innerHTML = "";
  6. for (i = 0; i < tab.length; i++)
  7. {
  8. document.getElementById("resultats").innerHTML += "----------------------------------<br />";
  9. document.getElementById("resultats").innerHTML += "Mot " + (i+1) + " - Choix possibles: <br/>";
  10. for (j = 1; j <= tab[i].length; j++)
  11. {
  12. if (tab[i][j] instanceof Array) {
  13. for (k = 0; k < tab[i][j].length; k++)
  14. {
  15. for (l = 0; l < tab[i][j][k].length; l++)
  16. {
  17. document.getElementById("resultats").innerHTML += tab[i][j][k][l] + "<br />";
  18. }
  19. }
  20. }
  21. }
  22. }
  23. }
  24.  
  25. </script>
  26.  
  27. <textarea name="donnees" id="donnees" rows="20" cols="150"></textarea>
  28.  
  29. <input type="button" value="Décoder..." onclick="eval(document.getElementById('donnees').value);decode(I);" />
  30.  
  31. <div id="resultats"></div>
30 Janvier 2012 16:59:51

Vraiment un très grand merci à toi :) 
Tu fais un gros boulot pour ta section, je retourne dans l'hardware et la section OS moi, pas encore au point dans la programmation :D 
Mais j'y compte apprendre, je programme quelques algorithmes en Python.
Je vais décomposer ton code pour voir un peu comment tu es parvenu à ce résultat, encore un grand merci :) 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS