lien flash - excel en vba sans etre en réseau

lien flash - excel en vba sans etre en réseau - Flash/ActionScript - Programmation

Marsh Posté le 17-08-2022 à 13:18:36    

Bonjour a tous !
 
j'ai récupéré (car libre de droit), des exercices de maths de type fichier .swf.
Je les utilise dans une présentation powerpoint et je voudrais récupérer le score des exercices (avec une macro vba par exemple) afin de les sauvegarder dans un fichier excel (ou autre type de fichier) pour le suivi des élèves.
Je ne suis pas en réseau.
Je ne sais pas si je peux mettre un exemple de fichier swf que j'utilise  en piece jointe ...
 
J'utilise le lecteur flash_32 pour les lire via powerpoint.
J'espere avoir été clair, quelqu'un a une idée ?  
merci bcp.

Reply

Marsh Posté le 17-08-2022 à 13:18:36   

Reply

Marsh Posté le 17-08-2022 à 19:02:46    

Waouh, du Flash en 2022 !? :o  
Je ne suis pas sur que ce soit possible sans avoir les fla (ou décompiler les swf pour en refaire de nouveau).
A la glorieuse époque ou je faisais du Flash (il y a 20 ans ^^), je crois me souvenir que pour faire sortir des infos du swf (que ce soit à une page html ou un conteneur en director, mais j’imagine que ce sera la même chose pour du powerpoint), il fallait le prevoir dans le code de l'application.
Après il est possible que les swf existant que tu as récupéré "communique" en html ou en ajax pour stocker les résultats des élèves et que tu puisses utiliser ça mais ça me semble plutôt mal partit.
 
Je ne connais pas flash_32, existe t'il une doc quelque part pour voir quel interactions sont possible entre le flash et powerpoint ?


---------------
D3
Reply

Marsh Posté le 17-08-2022 à 19:07:38    

Oui, je pense la même chose. A moins de monter toute une usine à gaz pour intercepter des éventuelles requêtes web du flash c'est mal parti. Autant recoder ça dans un autre language plus adapté (et plus moderne :o ).

Reply

Marsh Posté le 17-08-2022 à 19:24:28    

rat de combat a écrit :

Oui, je pense la même chose. A moins de monter toute une usine à gaz pour intercepter des éventuelles requêtes web du flash c'est mal parti. Autant recoder ça dans un autre language plus adapté (et plus moderne :o ).


 
Tout d'abord, merci d'avoir répondu.
 
Alors ... le fichier swf, que j'ai decompilé avec JPEXS flash decompiler contient un appel php, mais comme je n'y connais rien en autoscript et/ou en réseau, je sais pas comment faire pour intercepter l'info en vba (c'est le seul truc que je connais un peu) dans powerpoint.
 
Reprogrammer, c'est un vaste chantier car j'ai une centaine d'exercices !!!
Ca peut aider si je mets le fichier swf en question pour voir comment il est ?
 

Reply

Marsh Posté le 17-08-2022 à 19:29:59    

Je ne connais pas le VBA moi, mais je pense que c'est mal parti pour intercepter des requêtes web. Il te faudrait un serveur web local. Avec du Python p.ex. ça doit être faisable, mais en VBA?? Et encore, si les exos utilisent du https (ce qui est très très peu probable quand même :o ) c'est encore plus mal parti.

Reply

Marsh Posté le 18-08-2022 à 10:36:08    

rat de combat a écrit :

Je ne connais pas le VBA moi, mais je pense que c'est mal parti pour intercepter des requêtes web. Il te faudrait un serveur web local. Avec du Python p.ex. ça doit être faisable, mais en VBA?? Et encore, si les exos utilisent du https (ce qui est très très peu probable quand même :o ) c'est encore plus mal parti.


 
merci a vous deux d'avoir répondu, je vois que ce n'est pas simple et surement  au dela de mes compétences ... je cherchais une solution simple qui visiblement n'existe pas.
 

Reply

Marsh Posté le 18-08-2022 à 10:39:35    

mechkurt a écrit :

Waouh, du Flash en 2022 !? :o  
Je ne suis pas sur que ce soit possible sans avoir les fla (ou décompiler les swf pour en refaire de nouveau).
A la glorieuse époque ou je faisais du Flash (il y a 20 ans ^^), je crois me souvenir que pour faire sortir des infos du swf (que ce soit à une page html ou un conteneur en director, mais j’imagine que ce sera la même chose pour du powerpoint), il fallait le prevoir dans le code de l'application.
Après il est possible que les swf existant que tu as récupéré "communique" en html ou en ajax pour stocker les résultats des élèves et que tu puisses utiliser ça mais ça me semble plutôt mal partit.
 
Je ne connais pas flash_32, existe t'il une doc quelque part pour voir quel interactions sont possible entre le flash et powerpoint ?


 
 
Tout d'abord, merci d'avoir répondu.
 
Alors ... le fichier swf, que j'ai decompilé avec JPEXS flash decompiler contient un appel php, mais comme je n'y connais rien en autoscript et/ou en réseau, je sais pas comment faire pour intercepter l'info en vba (c'est le seul truc que je connais un peu) dans powerpoint.
 
Reprogrammer, c'est un vaste chantier car j'ai une centaine d'exercices !!!
Ca peut aider si je mets le fichier swf en question pour voir comment il est ?
 
flash_32 est juste un lecteur flash ... j'en sais pas plus ...

Reply

Marsh Posté le 18-08-2022 à 14:30:47    

robnum a écrit :

Tout d'abord, merci d'avoir répondu.


De rien, c'est un forum d'entraide ! ^^

robnum a écrit :

Alors ... le fichier swf, que j'ai decompilé avec JPEXS flash decompiler contient un appel php, mais comme je n'y connais rien en autoscript et/ou en réseau, je sais pas comment faire pour intercepter l'info en vba (c'est le seul truc que je connais un peu) dans powerpoint.


Essayes de poster le morceau de code source ou il y'a l'appel php, ça peut aider...

robnum a écrit :

Reprogrammer, c'est un vaste chantier car j'ai une centaine d'exercices !!!
Ca peut aider si je mets le fichier swf en question pour voir comment il est ?


Bof, ça doit faire 15 ans que je n'ai pas décompiler un swf et sans ça on ne vas pas apprendre grand chose, donc si tu l'a déjà fait... :o  

robnum a écrit :

flash_32 est juste un lecteur flash ... j'en sais pas plus ...


C'est possible que les appels du swf soit captable en vba, difficile de dire comment l'info sort du swf et si oui ou non powerpoint peut écouter.
 
Dans mon souvenir pour parler en javascript a la page html hébergeant le swf on faisait :

Code :
  1. getURL("javascript:alert('Ca marche !');" );


( Y'avait un truc similaire pour director ou on remplaçait javascript: par event: )
 
Je suis allé regarder comment j'enregistrais des données coté serveur en php et apparemment je passais par un objet loadvar:

Code :
  1. var send_lv = new LoadVars();
  2. var load_lv = new LoadVars();
  3. send_lv.titre = titre_txt.text;
  4. send_lv.auteur = auteur_txt.text;
  5. load_lv.onLoad = function(success) {
  6. if (success) {
  7.  if (load_lv.statut == "ok" ) {
  8.   error_txt.text = "Enregistré";
  9.  } else {
  10.   error_txt.text = load_lv.statut;
  11.  }
  12. } else {
  13.  error_txt.text = "Erreur inconnu lors de l'enregistrement.";
  14. }
  15. };
  16. send_lv.sendAndLoad("save.php", load_lv, "POST" );


---------------
D3
Reply

Marsh Posté le 18-08-2022 à 15:15:17    

mechkurt a écrit :


De rien, c'est un forum d'entraide ! ^^


 

mechkurt a écrit :


Essayes de poster le morceau de code source ou il y'a l'appel php, ça peut aider...


 

mechkurt a écrit :


Bof, ça doit faire 15 ans que je n'ai pas décompiler un swf et sans ça on ne vas pas apprendre grand chose, donc si tu l'a déjà fait... :o  


 

mechkurt a écrit :


C'est possible que les appels du swf soit captable en vba, difficile de dire comment l'info sort du swf et si oui ou non powerpoint peut écouter.
 
Dans mon souvenir pour parler en javascript a la page html hébergeant le swf on faisait :

Code :
  1. getURL("javascript:alert('Ca marche !');" );


( Y'avait un truc similaire pour director ou on remplaçait javascript: par event: )
 
Je suis allé regarder comment j'enregistrais des données coté serveur en php et apparemment je passais par un objet loadvar:

Code :
  1. var send_lv = new LoadVars();
  2. var load_lv = new LoadVars();
  3. send_lv.titre = titre_txt.text;
  4. send_lv.auteur = auteur_txt.text;
  5. load_lv.onLoad = function(success) {
  6. if (success) {
  7.  if (load_lv.statut == "ok" ) {
  8.   error_txt.text = "Enregistré";
  9.  } else {
  10.   error_txt.text = load_lv.statut;
  11.  }
  12. } else {
  13.  error_txt.text = "Erreur inconnu lors de l'enregistrement.";
  14. }
  15. };
  16. send_lv.sendAndLoad("save.php", load_lv, "POST" );



 
 
voila la partie ou il communique avec php j'imagine !!
 
_______________________________________________________________
 
         if(numquestions < nbre_questions)
         {
            message_reponse = "Non ! Regarde bien l\'aide !";
            commentaire.setTextFormat(format_faux);
            _root.chrono2.gotoAndPlay(2);
         }
         else
         {
            pause = 2;
            message_reponse = "Faux !";
            commentaire.setTextFormat(format_faux);
            _root.chrono2.gotoAndPlay(2);
         }
         btn_efface._visible = false;
         btn_valider._visible = false;
         affiche_score = score + " sur " + numquestions;
      }
   }
  commphp()
__________________________________________________________________
 
le commphp, qui n'est nul part ailleurs dans le code ... si ca t'eclaire ...

Reply

Marsh Posté le 18-08-2022 à 15:17:55    

moi je dois j'imagine faire sortir la variable score de ce swf, mais comment !!!

Reply

Marsh Posté le 18-08-2022 à 15:17:55   

Reply

Marsh Posté le 18-08-2022 à 16:42:41    

commphp(); n'est pas une fonction native d'Actionscript donc elle est forcement déclaré quelque part...
Il n'y a pas d'inclusion de fichier .as ou d'autre swf (ça peut être avec des loadmovie ou autre moyen d'inclusion) ?
 
Sinon tu peux essayer d'ajouter ce code à la suite de :

Code :
  1. affiche_score = score + " sur " + numquestions;
  2.          //ceci écrit dans la console de débogage de Flash
  3.          trace( affiche_score );
  4.          //ceci envoie une information sous forme de code javascript
  5.          getURL("javascript:alert('"+affiche_score +"');" );


Puis recompiler le swf et voir si as quelque chose de visible dans Powerpoint...


Message édité par mechkurt le 18-08-2022 à 16:45:13

---------------
D3
Reply

Marsh Posté le 18-08-2022 à 17:07:55    

ok, merci, je vais essayer ca dès que j'ai 5 minutes ... plutôt ce week end

Reply

Marsh Posté le 18-08-2022 à 17:20:00    

j'ai pas pu resister, j'ai essayé, et ca me donne une alerte comme quoi le fichier swf tente de communiquer avec une adresse "unknwon" , etc ... et je suis bloqué. faut il autoriser quelque chose ?

Reply

Marsh Posté le 18-08-2022 à 21:30:25    

il me faudrait une instruction qui ecrive affiche-score dans un fichier type excel ou notepad ...

Reply

Marsh Posté le 19-08-2022 à 00:15:43    

On a bien compris ton besoin, mais tu utilises une technologie morte et enterré depuis au moins 10 ans et qui plus est, dans des conditions "exceptionnel"...
En effet l'incorporation d'un swf dans un powerpoint, même dans le cas d'une animation simple, me semble plus l’exception que la règle, du coups il va être compliqué de trouver des ressources exploitables.
 
Qui te donnes une alerte: Windows ? Powerpoint ?
Il est possible que quelque part il soit possible d'autoriser cette communication tenté par Flash, mais si j'étais toi je ne serais pas trop optimiste ! ^^


---------------
D3
Reply

Marsh Posté le 19-08-2022 à 09:08:07    

c'est flash qui donne l'alerte, mais je ne peux pas autoriser l'accès car il me renvoi sur une page internet qui n'existe plus.
En tout cas merci d'avoir essayé.

Reply

Marsh Posté le 19-08-2022 à 09:57:49    

j'ai trouvé ca, mais je ne maitrise pas AS3, est ce que ca parait adaptable a mon cas ?
 
https://stackoverflow.com/questions [...] ile-in-as3

Reply

Marsh Posté le 19-08-2022 à 22:24:01    

Je me suis arrêté avant l'AS3, mais y'a pas de raison que ça ne marche pas, faudra juste recompiler (et ptet modifier le code pour que TOUT soit en AS3, a vérifier, dans mon souvenir fallait choisir à la création du projet).
 
Mais en fait, te rend tu bien compte que le fichier sera généré sur l'ordi de la personne qui fait le test, et que donc il aura tout le loisir de modifier le fichier avant de te l'envoyer ?
Du coups, n'est il pas plus simple de lui faire confiance et de lui demander quel résultat il a eu...
 
C'est un peu le soucis quand on ne passe pas un serveur (déjà que là, c'est pas non plus évident de gérer la tricherie ^^).


---------------
D3
Reply

Marsh Posté le 20-08-2022 à 09:00:30    

en fait c'est pour s'entrainer sur les ordis de l'ecole, et je pensais que comme il ne connait pas l'emplacement du fichier (le code sera protégé par un mot de passe) il ne pourra pas le modifier, on peut ecrire dans des fichiers sans les ouvrir a l'ecran, j'ai fait ca en vba. Apres il y a toujours des tricheurs, mais bon ...
Je vais creuser cette voie ... Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed