Comment lancer Hotpotatoes-java

Résolu
Bonjour,
Je cherche à suivre le tutoriel suivant : <ital>

Download Java Hot Potatoes which will run on Mac OS X, Windows, Linux or any computer running a Java Virtual Machine. To install and run Java Hot Potatoes on Mac OS X:
Download the file javahotpot61.zip from the link above.
Unzip that file on your computer, you will have a folder called JavaHotPot6.
Drag the JavaHotPot6 folder to the Applications directory on your computer.
Open the folder and double-click the JavaHotPotatoes6 application icon.
Trash the javahotpot61.zip file.</ital>

J'ai téléchargé le répertoire suivant : javahotpot61.zip (pour linux)
à l'emplacement : /home/philippe
Je n'ai pas d'option "extraire"(clic droit), mais j'ai Ark , qui affiche 2 répertoires (contenant 11 fichiers en tout):
MACOSX
javahotpot

Dans le répertoire javahotpot, , sans chercher à extraire, j'ai : LinuxStartHotpot.sh
Si je clique dessus, j'ai le script shell suivant, mais ça ne démarre pas :
cp JavaHotPotatoes6.app/Contents/Resources/Java/hotpot6.jar .
java -jar hotpot6.jar

Dans Ark, j'ai choisis : Action>extraire , j'obtiens le répertoire javahotpot61
Emplacement : home/philippe
En cliquant de nouveau sur <LinuxStartHotpot.sh >, ça ne démarre toujours pas.

J'ai suivi les conseils suivants pour me donner des droits sur le répertoire HotPot :

[root@(none) philippe]# cd /home/philippe
[root@(none) philippe]# ls -l javahotpot61.zip
-rwxrwxrwx 1 philippe philippe 2781428 janv. 26 2011 javahotpot61.zip*
[root@(none) philippe]# chmod 777 javahotpot61.zip
[root@(none) philippe]#

J'ai cherché à démarrer le logiciel en ligne de commande sans résultats.
J'ai réussi à faire tourner HotPotatoes avec Wine. Je peux créer des exercices, mais il refuse de les transformer en pages web et, de plus, ça bloque Dophin très rapidement(entre autres bugs). J'ai désinstallé Wine et mis la version Wine de Hotpot à la corbeille.

J'ai installé java :
Pour satisfaire les dépendances, les paquetages suivants vont être installés :
Paquetage Version Révision Dist DEpoch Arch
(média « Main Updates »)
libffi4 4.6.1 3.1 mdv 2011.0 i586
(média « Contrib »)
classpath 0.97.2 5mdv2010.0 i586
jamvm 1.5.3 2mdv2011.0 i586

Merci à toute aide.

21 réponses

  1. Modérateur
    Il faut effectivement installer au préalable java. Ensuite, place toi dans le fichier où se trouve le fichier .jar et lance la commande :

    java -jar hotpot6.jar


    ... et reporte-nous ce qui est écrit dans ton terminal. Même principe pour le script shell, sauf que tu le lances avec la commande

    ./LinuxStartHotpot.sh


    Bonne chance
    1. Bonjour,
      Je ne sais pas me placer dans le fichier où se trouve le fichier .jar (cd .....).
      1. Modérateur
        Peux-tu nous donner un lien vers le logiciel que tu tentes d'installer ?
        1. J'ai peur de ne pas comprendre des choses élémentaires par manque de bases.
          Pour moi, un lien, c'est ce sur quoi je clique pour accéder à une page web.
          J'ai téléchargé Hotpotatoes à la page suivante : http://hotpot.uvic.ca/
          en cliquant sur le lien dans la page suivant : Download Java Hot Potatoes

          Sur mon ordinateur, les propriétés du fichier donnent l'adresse suivante : /home/philippe
          Mais en console, j'ai :
          [philippe@(none) ~]$ whereis javahotpot61.zip
          javahotpot61:

          Pour java, j'ai :
          [philippe@(none) ~]$ whereis java
          java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java

          Peux-tu me préciser à quoi appartient le fichier .jar?
          Pouvez-vous viser un cran plus bas pour les explications(par exemple, je connais cd= se déplacer, mais guère plus.)?
          Merci pour vos aides.
          1. Modérateur
            J'ai téléchargé Hotpotatoes à la page suivante : http://hotpot.uvic.ca/

            Parfait c'est ce que je te demandais :-)

            Voici ce que j'ai fait, ça a lancé le logiciel directement :

            1) Installation

            Je décide de placer arbitrairement ton archive dans ~/hostpot, où ~ correspond à ton home, par exemple /home/philippe, mais tu peux choisir autre chose et adapter ce qui suit en conséquence)

            cd    
            mkdir hotpot    
            cd hotpot    
            wget http://hotpot.uvic.ca/javahotpot61.zip    
            unzip javahotpot61.zip    
            


            2) Lancement

            cd ~/hotpot/javahotpot    
            sh LinuxStartHotPot.sh


            Bonne chance
            1. Chère mamiemando,
              Je suis ravi, ça marche(et tu n'as rien oublié).
              J'ai cru comprendre que tu m'avais fais recharger le fichier en console, genre urpmi, , histoire d'éliminer toutes les manip hasardeuses que j'aurais pu faire, et c'est drôlement malin.
              Je suis bien content d'avoir une trace de cette manip sur commentçamarche, et te souhaite, ainsi qu'à la personne qui du précédent post sur le me thème, une bonne fin de WE.
              1. Modérateur
                J'ai cru comprendre que tu m'avais fais recharger le fichier en console, genre urpmi, , histoire d'éliminer toutes les manip hasardeuses que j'aurais pu faire, et c'est drôlement malin.

                Ah non je n'ai rien fait de tout ça :-) J'ai même considéré que tu avais installé java correctement.

                Je te rappelle que tu peux utiliser le man pour avoir une explication sur chaque commande linux (hormis cd qui n'est pas une "vraie" commande, bref) :
                http://www.mistra.fr/tutoriels-linux-mode-texte/tutoriel-linux-man.html

                Exemple :

                man mkdir


                Ainsi :

                1) Dans l'installation
                - cd : te place dans ton home
                - mkdir hotspot : crée un repertoire (hotspot) dans le répertoire courant
                - cd hotspot : te place dans le répertoire hotspot (à partir du répertoire courant, donc dans /home/philippe/hostpot)
                - wget : télécharge quelque chose disponible sur une adresse http ou https
                - unzip : décompresse un fichier zip

                2) Dans le lancement
                - cd ~/hotspot/javahotpot : te place dans le répertoire /home/philippe/hostpot, dans lequel se trouve le script de lancement de ton programme
                - sh LinuxStartHotPot.sh : lance le script LinuxStartHotPot.sh

                Je suis bien content d'avoir une trace de cette manip sur commentçamarche, et te souhaite, ainsi qu'à la personne qui du précédent post sur le me thème, une bonne fin de WE.--

                Bon week-end également !
                1. Bonsoir,
                  Je m'excuse de revenir sur ce sujet.
                  Après l'installation et le lancement réussi, j'ai échoué à lancer une deuxième fois :

                  [philippe@(none) ~]$ cd ~/hotspot/javahotpot
                  bash: cd: /home/philippe/hotspot/javahotpot: Aucun fichier ou dossier de ce type

                  javahotpot61.zip se trouve toujours à l'adresse suivante : /home/philippe

                  Il y a aussi un file: ///home/philippe/javahotpot61.zip.1
                  et un file:///home/philippe/javahotpot61.zip.2

                  et aussi , décompressé, file:///home/philippe/javahotpot61

                  Je ne dois pas me placer au bon endroit pour lancer l'incantation décisive : sh LinuxStartHotPot.sh

                  Voilà. Désolé, et en attente de vos conseils.
                  1. Modérateur
                    Tu as dû faire une faute de frappe en tapant le chemin derrière "cd". Compare ce que tu as tapé derrière cd et les noms de répertoires que tu vois dans ton explorateur de fichiers (dolphin ?). Je t'invite à utiliser la touche tabulation pour auto-compléter ce que tu saisis, ça évite pas mal de fautes de frappe.

                    Par ailleurs la commande "sh ..." ne peut marcher que si tu es dans positionnée dans le bon répertoire. Sinon il faudrait passer le chemin complet du fichier ".sh".

                    Bonne chance
                    1. Bonjour,
                      Voici trois tentatives pour me positionner dans le bon répertoire :
                      La première avec espace...
                      [philippe@(none) ~]$ cd /hotpot/javahotpot
                      bash: cd: /hotpot/javahotpot: Aucun fichier ou dossier de ce type

                      La deuxième sans espace :
                      [philippe@(none) ~]$ cd/hotpot/javahopot
                      bash: cd/hotpot/javahopot: Aucun fichier ou dossier de ce type

                      La troisième en copié/collé de ce que tu m'avais donné dans "lancement"
                      [philippe@(none) ~]$ cd ~/hotpot/javahotpot
                      bash: cd: /home/philippe/hotpot/javahotpot: Aucun fichier ou dossier de ce type

                      Et un essai pour savoir où se cache le fichier
                      [philippe@(none) ~]$ whereis javahopot
                      javahopot:
                      [philippe@(none) ~]$

                      Je sais, je fais honte. Mais merci d'avance pour toute aide à ce stade.
                      1. Modérateur
                        Il faut mettre un espace entre cd et le chemin.

                        Ensuite fais attention entre hotspot et hotpot (j'ai corrigé mon message entre temps pour être cohérent mais il se peut que tu aies créé un répertoire hotspot au lieu de hotpot). C'est la raison pour laquelle je t'invite à utiliser l'auto completion. Si on symbolise par <tab> le fait d'appuyer sur la touche tabulation, je taperais par exemple :

                        cd ~/hot<tab>/jav<tab>
                        sh Lin<tab>


                        ... ce qui écrira le bon chemin dans les deux cas. Si ce n'est pas clair, lis dans cet article le passage sur l'auto-complétion :
                        http://www.mistra.fr/tutoriel-linux-mode-texte.html

                        Et sinon, non il ne faut pas avoir "honte", il n'y a pas de question bête. Si tu bloques sur quelque chose, tu n'es sans doute pas le seul et les explications méritent donc a priori d'être clarifiées ;-)

                        Enfin, la commande whereis n'a rien retourné dans ton cas car l'exécutable n'est pas dans un répertoire standard d'exécutable (typiquement /bin, /sbin, /usr/bin, /usr/sbin etc...) selon le principe de la FHS (la manière dont est organisée l'arborescence linux) :
                        http://www.mistra.fr/tutoriel-linux-fhs.html

                        Pour conclure, on peut imaginer écrire un script shell qu'on placera dans /usr/local/bin qui contient les directives à taper pour lancer ton programme. Par exemple, en root, on peut créer le fichier /usr/local/bin/hotpot qui contient (adapte éventuellement le chemin dans le script qui suit) :

                        #!/bin/sh
                        
                        cd /home/philippe/hotpot/javahotpot 
                        sh LinuxStartHotPot.sh 


                        Ensuite on met les droits en exécution sur ce script :

                        chmod a+x /usr/local/bin/hotpot


                        Du coup, comme /usr/local/bin est dans ton PATH, tu peux lancer directement la commande :

                        hotpot


                        Pour information la variable PATH indique dans quels répertoire on va fouiller pour chercher une commande.

                        Exemple :

                        (mando@aldur) (~) $ echo $PATH
                        /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


                        Ici on fouille d'abord dans /usr/local/bin, si on ne trouve pas dans /usr/bin etc... Si on n'a pas trouvé, on renvoie "command not found".

                        Bonne chance
                        1. Bonjour,
                          Désolé d'avoir été un peu long.
                          Voici quelques tentatives pour me placer dans le répertoire de lancement de hopotatoes :
                          Un premier chemin : [philippe@(none) ~]$ cd /home/philippe/hotpot/javahotpot
                          bash: cd: /home/philippe/hotpot/javahotpot: Aucun fichier ou dossier de ce type


                          Le même, en tenant compte de la création involontaire d'un fichier hotspot :
                          [philippe@(none) ~]$ cd /home/philippe/hotspot/javahotpot
                          bash: cd: /home/philippe/hotspot/javahotpot: Aucun fichier ou dossier de ce type


                          Une tentative de l'auto complétion (cd ~/hot<tab>/jav<tab>) que tu m'as conseillée :
                          (après avoir tapé </hot>, j'appuie sur tab, et spot/ s'affiche à la suite.
                          cependant, quand j'ajoute <jav> et que j'appuie de nouveau sur tab, rien de plus ne s'affiche..?
                          [philippe@(none) ~]$ cd ~/hotspot/jav
                          bash: cd: /home/philippe/hotspot/jav: Aucun fichier ou dossier de ce type


                          Peut-on détricoter l'installation proposée le 29 janv. 2012 à 13:38 , et refaire propre?
                          Sinon, qu'est ce que je fais de travers dans l'auto complétion qui devrait me placer au bon répertoire?
                          1. Modérateur
                            Eh bien regarde ce qu'il y a dans ~/hotspot ?!

                            ls ~/hotspot


                            Le répertoire ne dois pas s'appeler comme tu crois. Copie colle moi le résultat de :

                            find ~/hotspot


                            (au passage tu peux peut-être renommer ton répertoire hotspot en hotpot afin d'être cohérent avec ce que je t'ai indiqué dans mes messages), et adapter tes commandes en conséquence.

                            mv ~/hostpot ~/hotpot
                            1. Bonjour,
                              J'ai l'impression que le répertoire hotspot n'existe pas.

                              [philippe@(none) ~]$ ls ~/hotspot
                              [philippe@(none) ~]$ find ~/hotspot
                              /home/philippe/hotspot
                              [philippe@(none) ~]$ mv ~/hostpot ~/hotpot
                              mv: impossible d'évaluer « /home/philippe/hostpot »: Aucun fichier ou dossier de ce type

                              J'ai essayé avec hotpot : mêmes réponses.

                              Si je résume : au départ, dans /home/philippe, j'ai
                              javahotpot61.zip
                              Ainsi que : javahotpot61
                              Et aussi : hotspot (taille :4Kio , un fichier, un sous-dossier, mais rien de visible , même en affichant les fichiers cachés).

                              Ensuite, la manip suivante :
                              cd
                              mkdir hotpot
                              cd hotpot
                              wget http://hotpot.uvic.ca/javahotpot61.zip
                              unzip javahotpot61.zip

                              2) Lancement

                              cd ~/hotpot/javahotpot
                              sh LinuxStartHotPot.sh


                              Sur le coup, le script de lancement fonctionne, et le logiciel fonctionne.

                              Et depuis, impossible de trouver où se positionner pour lancer hotpotatoes.
                              As-tu une idée?(merci pour ta patience).
                              1. Modérateur
                                J'ai l'impression que le répertoire hotspot n'existe pas.

                                Oui il s'appelle hotpot.

                                Et depuis, impossible de trouver où se positionner pour lancer hotpotatoes.

                                Tu l'as écrit toi-même :

                                cd ~/hotpot/javahotpot 
                                sh LinuxStartHotPot.sh 


                                Si tu bloques toujours reporte moi le résultat de :

                                find /home/philippe | grep LinuxStartHotPot.sh


                                Bonne chance
                                1. Bonjour,
                                  Comme tu le sais, j'ai essayé les commandes cd ~/hotpot/javahotpot
                                  sh LinuxStartHotPot.sh
                                  un bon nombre de fois.

                                  Voici mon denier écran :

                                  [philippe@(none) ~]$ cd ~/hotpot/javahotpot
                                  bash: cd: /home/philippe/hotpot/javahotpot: Aucun fichier ou dossier de ce type
                                  [philippe@(none) ~]$ sh LinuxStartHotPot.sh
                                  sh: LinuxStartHotPot.sh: Aucun fichier ou dossier de ce type
                                  [philippe@(none) ~]$ find /home/philippe | grep LinuxStartHotPot.sh
                                  /home/philippe/javahotpot/LinuxStartHotPot.sh

                                  Bon we.
                                  1. Modérateur
                                    Ok je pense que j'ai besoin de clarifier ce que je te fais taper, car sinon tu aurais immédiatement vu ce qui cloche.

                                    La commande cd permet de changer le répertoire courant. On note ~ le home de l'utilisateur (/home/philippe dans ton cas). Le chemin courant apparaît dans ton prompt (l'invite de commande) :

                                    [philippe@(none) ~]$


                                    Exemple : si tu allais par exemple dans /home/philippe/toto ou dans /tmp/tata (en supposant qu'ils existent) tu verrais donc :

                                    [philippe@(none) ~/toto]$ 
                                    [philippe@(none) /tmp/tata]$


                                    Revenons à ta commande cd :

                                    [philippe@(none) ~]$ cd ~/hotpot/javahotpot  
                                    bash: cd: /home/philippe/hotpot/javahotpot: Aucun fichier ou dossier de ce type  
                                    [philippe@(none) ~]$


                                    Tu vois donc que ton cd ne marche pas. Fatalement tu restes donc où tu étais (dans /home/philippe) :

                                    Cela signifie (et c'est écrit en toute lettre) que le répertoire dans lequel tu cherches à aller n'existe pas. Et donc aucune chance d'être arrivé dans le répertoire qui contient LinuxStartHotPot.sh. Ainsi la commande qui suit (sh LinuxStartHotPot.sh) ne peut pas marcher (car il n'est pas dans le répertoire courant, à savoir ~ = /home/philippe). Il est donc normal qu'il te dise :

                                    cd ~/javahotpot/ sh LinuxStartHotPot.sh  
                                    sh: LinuxStartHotPot.sh: Aucun fichier ou dossier de ce type 


                                    Du coup on cherche où il est grâce à find :

                                    [philippe@(none) ~]$ find /home/philippe | grep LinuxStartHotPot.sh  
                                    /home/philippe/javahotpot/LinuxStartHotPot.sh 


                                    On voit qu'ici, contrairement à ce que j'ai expliqué dans le message
                                    https://forums.commentcamarche.net/forum/affich-24306514-comment-lancer-hotpotatoes-java#5

                                    ... le chemin est /home/philippe/javahotpot/LinuxStartHotPot.sh et non /home/philippe/hotpot/javahotpot/LinuxStartHotPot.sh

                                    En d'autres termes tu n'as pas décompressé ton archive dans /home/philippe/hotpot mais directement dans /home/philippe et c'est pour ça que les chemins que je t'ai donné ne marchent pas (ou alors tu l'as déplacé dans dolphin ?). Je te rappelle au passage que les noms de répertoire que tu tapes derrière cd correspondent exactement à l'arborescence que tu pourrais observer dans dolphin, donc normalement si tu as compris que ton prompt te dit où tu es placé, et qu'à côté avec dolphin tu vois comment sont rangés tes fichiers, tu ne peux pas te perdre :-)

                                    On voit en effet que le chemin exact du fichier est /home/philippe/javahotpot/LinuxStartHotPot.sh, ce qui signifie que tu dois lancer :

                                    cd /home/philippe/javahotpot/


                                    Note que cette commande peut aussi s'écrire avec ces deux autres approches :

                                    cd ~/javahotpot/ 
                                    cd ~philippe/javahotpot/


                                    Ton prompt doit alors ressembler à ceci :

                                    [philippe@(none) ~/javahotpot/]$


                                    Si c'est le cas, tu es maintenant dans le bon répertoire (qui existe et qui contient LinuxStartHotPot.sh) et tu peux donc lancer :

                                    sh LinuxStartHotPot.sh


                                    Bonne chance
                                    1. Bonjour,
                                      Ça fonctionne et je te remercie de ne pas m'avoir laissé tomber.
                                      Une remarque : voilà ce qui s'affiche au lancement :

                                      [philippe@(none) ~]$ cd /home/philippe/javahotpot/
                                      [philippe@(none) javahotpot]$ sh LinuxStartHotPot.sh
                                      cp: impossible de créer le fichier standard « ./hotpot6.jar »: Permission non accordée

                                      Merci pour tes explications.
                                      1. Modérateur
                                        Si tu regardes le contenu du script ".sh" tu verras qu'il tante de copier le fichier ".jar" dans un répertoire (le répertoire courant il me semble). Il faut donc que tu aies les droits en écriture sur ce répertoire. J'imagine que tu as du décompresser ton archive en root et donc ces fichiers appartiennent à root. Du coup si tu tentes de lancer le script en philippe, comme celui-ci n'a pas les droits pour écrire dans ce répertoire, ça plante.

                                        Je pense que dans ton cas il suffit de lancer en root :

                                        chown -R philippe  /home/philippe/javahotpot/ 
                                        chmod -R u+rw  /home/philippe/javahotpot/ 


                                        Ainsi ce dossier et son contenu appartiendront à philippe et il aura les droits en lecture et écriture dessus.

                                        Ensuite tu peux lancer ton programme normalement :

                                        cd /home/philippe/javahotpot/ 
                                        sh LinuxStartHotPot.sh 


                                        Bonne chance
                                        1. Bravo, tu as raison.
                                          Merci pour tes résultats et surtout pour le temps pris à m'expliquer.
                                          • 1
                                          • 2