Forum Programmation.autre I/O en javascript ou changement de langage?

Posté par  .
Étiquettes : aucune
0
3
jan.
2011
Bonjour,

j'ai un petit de projet de programme de QCM, et je ne souhaiterais le coder en javascript. Pourquoi javascript?
- Parce que j'ai besoin de faire une gui simple.
- Parce que je souhaite un programme le plus largement portable (vous me direz tcl/ruby/perl/python/.. couplé avec tk/gtk/qt/fox/wxwindow/,,, c'est portable, et je vous répondrais que oui, mais que pour un petit bout de programme tout con je ne me vois pas demander de télécharger 30Mo d'interpréteur et de bibiliothèques avec les problèmes d'installation, de chemin d'execution et autre (c'est surtout vrai pour vinedoze))
- Parce que je ne connais pas le javascript et que je veux apprendre (ça fait partie de mes bonnes résolution de l'année).

Bref, après un peu de googlage, je me rends compte que les entrées sorties sur disque en javascript,... ben je peux un peu m'asseoir dessus. Certes, je comprends que pour des raisons de sécurités un script js ne puisse pas faire n'importe quoi, mais moi je ne demande qu'une exécution en local (j'ai pas dit, je ne souhaite pas du tout faire un site web, juste une page en local que l'on consulte en local). Est ce possible? Niveau sécurité c'est pas pire que d'exécuter n'importe quel shareware trouver sur www.jepirate.hach.

Sinon questions facultatives:
- Quels sites sont bien pour apprendre le js? Est ce que le site du w3c est complet?
- Quelles sont les blibliothèques qui sont bien pour faciliter le travail? JQuery? autre?
- C'est pas un peu le bordel le monde js entre les différentes implémentations pas compatibles?
- Connaissez vous un autre langage de prog/script permettant de faire de petite GUI toutes simples de manière portable et sans rien installer (au pire, je vous accorde 1Mo).

Merci
  • # LocalStorage

    Posté par  . Évalué à 2.

    Si tu veux stocker des données coté client en JavaScript tu peux utiliser une lib style https://github.com/StevenBlack/store.js qui va s'occuper d'utiliser la nouvelle API HTML5 si elle est disponible ou bien les APIs proprio IE le tout de manière transparente.

    Quelles sont les blibliothèques qui sont bien pour faciliter le travail? JQuery? autre?

    Vu que ce que tu recherche c'est le multi plateforme je te conseille d'utiliser ce genre de lib: jQuery / Prototype / Mootools / ExtJS / etc .
    Elles sont soit concurentes soit complémentaires à toi de voir ce que tu préfère.

    C'est pas un peu le bordel le monde js entre les différentes implémentations pas compatibles?

    Si tu utilise ce genre de libs ça te facilitera énormément la vie, mais je peux te garantir que tu tombera sur des bugs spécifiques à certains navigateurs. Le mieux pour ça c'est d'utiliser JSLint et de considérer les warnings comme des erreurs.
    • [^] # Re: LocalStorage

      Posté par  . Évalué à 1.

      Si tu veux stocker des données coté client en JavaScript tu peux utiliser une lib style https://github.com/StevenBlack/store.js qui va s'occuper d'utiliser la nouvelle API HTML5 si elle est disponible ou bien les APIs proprio IE le tout de manière transparente.

      Oui mais, il ne me semble pas que cela fasse ce que je cherche. À savoir écrire et lire dans un fichier. D'après ce que je vois, de la «doc» je ne peux pas faire une interface js pour créer mon qcm sur une machine et copier le qcm sur une autre machine/un autre brouteur pour que mes élèves y répondent.

      Merci quand même du lien, je le garde sous le coude.
      • [^] # Re: LocalStorage

        Posté par  . Évalué à 3.

        Si je comprend bien tu veux générer des _fichiers_ HTML à l'aide de Javascript, dans ce cas les solutions sont limitées:

        - Utiliser une VM "standalone" comme NodeJS qui possède une API pour écrire dans des fichiers http://nodejs.org/docs/v0.3.3/api/fs.html . C'est un peux un tank pour écraser une mouche mais pourquoi pas. Tu trouvera aussi des moteur de templates pour Node qui devrait te faciliter le boulot.

        - Écrire une extension de Firefox. C'est à ma connaissance le seul navigateur qui à une API assez souple pour autoriser les extensions à écrire sur le disque.

        - Ou bien générer tes pages avec autre chose que Javascript.
        • [^] # Re: LocalStorage

          Posté par  . Évalué à 1.

          Si je comprend bien tu veux générer des _fichiers_ HTML à l'aide de Javascript, dans ce cas les solutions sont limitées:

          Oui, c'est en partie ça. Je veux pouvoir faire des entrées/sortie de fichiers (html ou autre) sur le disque.

          Je vais regarder node.js, mais ça me parait effectivement un peu excessif comme solution.

          J'avais penser à faire une extension firefox / une appli xul, mais je ne suis pas sure que commencer la prog js par là soit le plus simple. En plus cela me créé une dépendance que je ne souhaite pas.

          - Ou bien générer tes pages avec autre chose que Javascript.

          C'est bien ce que je craignais! Il va falloir que je trouve un autre projet pour apprendre le js et je ferais mon prog de qcm avec autre choses.

          Merci
  • # Google m'a dit

    Posté par  (site web personnel) . Évalué à 1.

    http://tecfa.unige.ch/~roiron/staf2x/qcm.htm

    Voir si ça ne répondrait pas globalement à tes besoins... et sinon si ça peut s'adapter.

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: Google m'a dit

      Posté par  . Évalué à 3.

      1 - Le Javascript est terriblement mal codé
      2 - Le HTML est terriblement mal codé
      3 - Un petit ctrl + u et on a les réponses ( correct[3] = 1 )
    • [^] # Re: Google m'a dit

      Posté par  . Évalué à 1.

      Plusieurs réponses:

      Je souhaiterais que l'interface de création des QCMs soit aussi possible en standalone, sans passer par une appli php. Dans ce cas là, il faudrait alors plutôt regarder du coté de hotpotatoes (qui n'est pas libre et ne correspond pas à ma demande).

      Comme je l'ai dit je souhaite aussi me servir de ce projet pour apprendre le js et donc je ne pense pas que le plus simple soit de commencer par reprendre le code de quelqu'un. Surtout que ça a l'air un peu mort comme projet.

      J'aimerais pouvoir faire des questions paramétrables: par exemple une question prend deux valeurs au hasard compris dans un certain intervale et demande la somme. La réponse exacte ainsi que les distracteurs et les retours (feedback en bon français) sont déterminés automatiquement. Il suffit de relancer l'appli pour avoir le même qcm mais avec de nouvelle valeur qui permet de vérifier si l'on a bien compris. Ce n'est pas pris en compte dans ce projet.

      Il y avait encore une autre bonne raison, mais je l'ai oubliée, mais promis, c'était une très bonne raison ;-)

      Aux vus des points précédents, je préferre réinventer ma roue à moins que l'on m'en trouve une qui soit parfaitement ronde!

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.