Forum Programmation.java JRE or not JRE ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
15
déc.
2004
Bonjour,

je souhaiterai savoir s'il existe un moyen de verifier la présence d'un JRE adequate au chargement d'une applet ?

je m'explique, j'ai tenté de mettre du texte entre mes balises <applet>, mais celui ci ne s'affiche a priori que quand AUCUN jre n'est installé.
Lorsqu'un jre est là, mais que ce n'est pas le bon, alors ce dernier plutot que d'afficher le texte alternatif tente malgrès tout de charger l'applet, et retourne une erreur abstraite dans la status bar du navigateur.

En fait l'applet utilise des nouvelles fonctions de java 1.5, et la plupart des gens ont soit java 0.2 d'il y a 10 ans, soit au mieux java 1.4.2, donc je dois trouver un moyen de leur dire que leur jre n'est plus bon.

Si quelqu'un a une idée de la chose

Merci.
  • # Et si tu évitais les applets java ?

    Posté par  . Évalué à 3.

    Juste une idée... Les applets java, personne n'y croit plus de nos jours (ni en performances, ni en portabilité, ni en pérennité), sauf pour des besoins très spécifiques. Si je me réfère à ton post précédent, J'ai cru comprendre que c'était pour un menu de navigation, or pour ce genre de choses java est objectivement un mauvais choix.
    • [^] # Re: Et si tu évitais les applets java ?

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

      Dans le cas présent, je n'ai pas trouvé de menu qui me convenait. J'ai codé un menu con comme la lune et presque sans aucune mise en forme (quelques border), bah j'ai eu 3 résultats d'executions différents : parfait avec firefox, quelques bugs sous Opera, ignoble sous IE.
      Au moins mon applet marche partout, elle est superfacilement configurable a la volée (c'est un menu dynamique), et en plus, ce qui ne gache rien, je trouve que le design de java 1.5 est très beau :)

      Sinon pour ceux qe ca interresse quand meme, je crois avoir trouvé un moyen. Je vais le tester mais a priori ca va etre la solution retenue :
      je créé une page temporaire plop.html contenant un texte genre "Veuillez patienter nous verifions la présence du JRE. Si dans quelques secondes rien ne se passe, veuillez vous rendre sur http:///(...) ....."
      Dans cette meme page j'insere une applet de 2 lignes, se contenant de rediriger vers index.html.

      Donc 2 cas :
      - l'applet se charge et le navigateur se rend sur index.html
      - l'applet se charge pas et au bout de quelques secondes l'utilisateur en déduit que sa jre est obsolète

      Voilou
      • [^] # Re: Et si tu évitais les applets java ?

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

        Reste a savoir ce que les gens apellent quelques secondes. C'est une notion tres subjective qui depend aussi de la connexion.

        sinon tu peut pas faire une applet ultra basique (genre qui utilise des truc compatible java 0.2) qui recupere la version du java du client? Ca existe pas?
        • [^] # Re: Et si tu évitais les applets java ?

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

          J'y ai pensé au début, mais non seulement les jdk de ya 10 ans sont dur a trouver (dans les archives de sun on en trouve plein mais alors pour faire marcher quoi que ce soit dedans...) Puis ensuite le resultat serait plus ou moins le meme. Autant faire une applet récente, checker si elle s'ouvre ou non. Vu que l'applet de test pèse 1.8ko, c'est vraiment pas "lourd" en soit, et on est ainsi vite fixé si au bout de 3 secondes ya rien qui s'affiche.
          • [^] # Re: Et si tu évitais les applets java ?

            Posté par  . Évalué à -2.

            au lieu d'utiliser java 0.2 (?) tu aurais pu utiliser jdk 1.4.2 et ses fonctionnalités.

            D'ailleurs tu peux compiler avec le jdk 5 por la jre 1.4.2 ( non ?) à moins que tu es utilisé des choses spécifiques à jdk 5 ???
      • [^] # Re: Et si tu évitais les applets java ?

        Posté par  . Évalué à 1.

        C'est lourd.
        Il ya une fonction javascript pour tester si le navigateur a java d'activé.
        • [^] # Re: Et si tu évitais les applets java ?

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

          Oui mais ca ne me dira pas si le java qui est activé est le bon, et tentera de lire l'applet avec sans se poser de question, l'ammenant droit au crash si c'est une applet plus récente que la jre
    • [^] # Re: Et si tu évitais les applets java ?

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

      Si, aux trèsors publics, ils y croient encore!
      Je n'aime pas déclarer mes impôts, mais pas pour la même raison que la majorité des français ;)!
  • # J'ai de la chance sur google + "applet determine jre client version"

    Posté par  . Évalué à 1.

    Et je tombe sur : javatester.org/version.html
    (c'est tout en bas de la page)
    • [^] # Re: J'ai de la chance sur google + "applet determine jre client version"

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

      Je pense que tu n'as pas compris mon probleme, tout comme le monsieur au dessus. Ce qui m'interresse ce n'est pas de savoir uniquement si java est installé ou non, je veux savoir en plus la version de java installée. La fonction javascript javaEnabled se contente juste de dire si un jre est présent, mais en aucun cas elle me dit si c'est le bon ou pas. De meme le texte alternatif des balises ne s'affiche qu'en cas d'absence de JRE. Lorsqu'il y en a un d'installé, le navigateur tente alors de lancer l'applet, sans verifier la version, puis c'est le crash de l'applet...

      D'où mon systeme très con, mais relativement efficace puisque je l'ai testé, et c'est quasiment instantanné (la page temporaire s'affiche a peine 1 demi-seconde avant de rebalancer sur la page avec la vrai applet java)
  • # RTFM

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

    if (!System.getProperty("java.version").equals(laVersionQuiVaBien)) {
    /* arf */
    }

    Ou mieux (mais dispo "que" depuis la version 1.0):
    try {
    ...
    }
    catch(LinkageError e) {
    /* arf */
    }

    Mais faire un menu de navigation en Java c'est n'importe quoi.

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

Suivre le flux des commentaires

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