Problème avec le module Resource

Re: Problème avec le module Resource

par Service informatique Le Repuis,
Nombre de réponses : 0

Rebonjour

J'ai tout de même poursuivi mes investigations pour mieux comprendre pourquoi cela ne fonctionnait pas avec MSIE et que cela fonctionnait avec FireFox. Je peux paraître entêté comme cela, mais MSIE est notre seul navigateur installé sur le parc machines ...smile

Je ne parle plus de noms DNS acentués mais vraiment de mots accentués dans l'URL qui sont situés après la partie nom de domaine et je prends toujours mon exemple : http://fr.wikipedia.org/wiki/Pédagogique

Quelque soit le navigateur (MSIE ou FireFox), cette page est affichée tout à fait correctement. On voit donc que MSIE fonctionne avec des accents pour autant qu'il ne se trouve pas dans la partie nom de domaine de l'URL.

Donc qu'est-ce qui fait que si ce même lien est appelé depuis Moodle (en prenant une config du genre "ouvrir dans une nouvelle fenêtre"), cela fonctionnne avec FireFox mais pas avec MSIE.

J'ai analysé le déroulement d'ouverture d'un lien web sur Moodle et voici mes observations :

Au moment du clic sur le lien, Moodle fait appel à la page /mod/resource/view.php?id=xxx. Pour savoir ce qu'est réellement cette page, j'ai fait un STOP sur le navigateur. Cette page php n'est autre qu'une redirection sur le lien préciser dans la ressource. Le contenu de cette page contient le code suivant :

<meta http-equiv="refresh" content="0; url=http://fr.wikipedia.org/wiki/p&Atilde;&copy;dagogique" /><script type="text/javascript">
<!--
location.replace('http://fr.wikipedia.org/wiki/pédagogique');
//-->
</script>

A ce moment là, FireFox me donne comme information qu'il voit cette page (donc toujours celle de redirection view.php) au format UTF8, par contre MSIE n'a pas encore déterminé le codage.

En laissant ensuite faire la redirection, MSIE affiche dans sa zone d'adresse URL la valeur suivante http://fr.wikipedia.org/wiki/P%C3%83%C2%A9dagogique alors que FireFox affiche dans la sienne la valeur http://fr.wikipedia.org/wiki/P%C3%A9dagogique. Autant dire qu'à ce moment là MSIE "part dans les choux" et que FireFox affiche fièrement la bonne page.

Cette différence de valeur m'interpelle car on peut voir :

  • Pour FireFox le é a bien été traduit en UTF8 (%39%A9)
  • Pour MSIE le é semble tout d'abord été traduit en latin (é) puis en UTF8 (%C3%83 pour le à et %C2%A9 pour le ©). Il y a eu donc double transformation pour MSIE. Etrange non ?

Puis en continuant mes recherches, j'ai créé  deux fichiers contenant les deux la même chose à savoir le même contenu que celui se trouvant dans la page view.php décrit plus haut :  

<meta http-equiv="refresh" content="0; url=http://fr.wikipedia.org/wiki/p&Atilde;&copy;dagogique" /><script type="text/javascript">
<!--
location.replace('http://fr.wikipedia.org/wiki/pédagogique');
//-->
</script>

Un en lui donnant l'extension .html et l'autre avec l'extension .php et ensuite je les ai lancé les deux avec MSIE et FireFox. Le résultat est que cela fonctionne dans tous les cas ( MSIE avec le fichier .html, MSIE avec le fichier .php, Firefox avec le fichier .html et Firefox avec le fichier .php). Dans ces 4 cas de figure, l'adresse affichée dans la zone d'adresse URL du navigateur est http://fr.wikipedia.org/wiki/P%C3%A9dagogique. Donc dans tous les cas é a bien été traduit en UTF8 (%39%A9)

N'étant pas du tout un expert dans la programmation php, je me demandais s'il n'y avait pas moyen d'influencer le contenu de la page view.php pour faire différents essais.

Merci pour des nouvelles à ce sujet