Le site de l’Académie de Créteil n’accepte que deux navigateurs : Internet Explorer et Firefox

academie creteil logo

Ces derniers temps, je travaille sur le site internet du collège. Du coup, j’ai moins de temps pour le mien tiens.

Bref, j’y travaille donc et je rajoute quelques petits liens utiles comme des liens vers l’Inspection Académique, le Bulletin Officiel, le site académique… que des sites qui ne sont visités que par les personnels de l’Éducation Nationale en somme.

Vu que je fais les liens, je jette un œil aux sites sus-cités. Et là, paf!, un message d’erreur que je ne peux m’empêcher de partager ici avec vous :

creteil navigateurs

Alors là, bien joué les gars ! C’est bien la peine d’avoir un site XHTML 1.0 valid (bel effort, soulignons-le) si c’est pour mettre à la porte tous les visiteurs qui possèdent un navigateur autre qu’Internet Explorer 8 ou Firefox 3.

Si vous utilisez un navigateur alternatif comme Chrome ou Opera (dernières versions, je précise au cas où), vous êtes redirigés sur une page avec le message suivant :

  • Affichage

    Le site académique et les applications informatiques s’affichent correctement, feuilles de style et contenus dynamiques, pour Internet Explorer 8 et Mozilla Firefox 3.

    Les anciens navigateurs, en particulier Internet Explorer 6 dont la sécurité n’est plus mise à jour pour Windows XP, posent des problèmes d’affichage.

    Pour obtenir Internet Explorer 8, les mises à jour de Windows doivent être effectuées.

  • Remarques

    Avec Windows 95 et 98, vous devez utiliser Mozilla Firefox 2
    Avec Windows 2000, utilisez Mozilla Firefox 3
    Avec Mac OS X et Linux, utilisez Mozilla Firefox 3

C’est vrai que les gens adorent qu’on leur dicte quel navigateur utiliser. Et puis recommander IE8 pour la “sécurité”… euh comment dire ? Premièrement, on n’y croit pas. Deuxièmement, on sait bien que c’est pour éviter les hacks CSS pour IE6. Je voudrais également bien savoir qui utilise encore Windows 95 en 2010, ça m’intéresse beaucoup !

Le problème : tous les navigateurs sont testés alors que seuls deux sont concernés

Demander à ce que certains navigateurs soient mis à jour, d’accord, mais il ne faut pas prendre en otage tous les visiteurs qui utilisent d’autres navigateurs pour visiter le site. Et recommander uniquement deux navigateurs pour l’ensemble des systèmes d’exploitations (et des mobiles), c’est se moquer du monde.

Voilà pour la critique. Maintenant, je propose une solution possible. En regardant le fichier styles/scripts.js, on y découvre le code qui gère la détection du navigateur (vers la ligne 6694) :

 function detect()
 {
 var browser=navigator.appName;
 var b_version=navigator.appVersion;
 
    if (b_version.lastIndexOf("6",30)!=-1) {
       alert("Pour des raisons d'affichage et de s\351curit\351, vous devez utilisez les derniers navigateurs Internet Explorer 8 ou Firefox 3");
       var answer = confirm("Voulez-vous ouvrir la page 'Configuration et logiciels requis'")
       if (answer){
	  document.location = "configuration.html";
       }
   }
} Code language: JavaScript (javascript)

Ce code est évidemment très incomplet : il ne détecte que la version du navigateur, avec navigator.appVersion en plus, ce qui est une hérésie vu que cette valeur est erronée la plupart du temps.

De plus, le nom du navigateur ainsi que l’OS sont totalement ignorés, ce qui est plutôt fâcheux : tous les utilisateurs d’autres navigateurs auront droit à un avertissement qui ne les concerne pas !

La solution : tester uniquement les navigateurs concernés

Voici donc ma version :

 function detect()
{

   /* Browser/Version Detector by Matt - (c) www.skyminds.net */

   // on teste l'user-agent pour Firefox/x.x ou Firefox x.x
   if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ 
      // on capture le numero de version x.x
      var ffversion=new Number(RegExp.$1)
      if (ffversion<3) { 
         alert("Pour des raisons d'affichage et de s\351curit\351, vous devez mettre \340 jour votre navigateur vers Firefox 3.");
         var answer = confirm("Voulez-vous ouvrir la page 'Configuration et logiciels requis'")
      }
   }

   // on teste l'user-agent pour MSIE x.x
   if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
      // on capture le numero de version x.x
      var ieversion=new Number(RegExp.$1)
      if (ieversion<8){
         alert("Pour des raisons d'affichage et de s\351curit\351, vous devez utiliser mettre \340 jour votre navigateur vers Internet Explorer 8.");
         var answer = confirm("Voulez-vous ouvrir la page 'Configuration et logiciels requis'")
      }
   }
   
   if (answer){
      document.location = "configuration.html";
   }

} Code language: JavaScript (javascript)

Voilà, c’est quand même plus propre : si la version de Firefox est inférieure à 3 ou si celle d’Internet Explorer est inférieure à 8, alors la boîte d’avertissement concernant la mise à jour nécessaire s’affiche. Dans le cas contraire (navigateurs à jour, ou navigateurs autres que ceux testés), rien ne s’affiche et c’est normal.

Si l’un des admins du site de l’Académie passe par ici… vous savez comment remédier à ce problème. Je peux vous transmettre mon NUMEN pour la prime de récompense de la chasse au bug aussi.

Articles conseillés :

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

3 pensées sur “Le site de l’Académie de Créteil n’accepte que deux navigateurs : Internet Explorer et Firefox”

Opinions