Bonjour tous le monde,
J'ai rencontré un phénomène étrange lors de mes diverses expériences.
En temps normale, lorsque l'on va dans notre bien aimé navigateur (FireFox ou IE) nous pouvons voir le résultat de notre laborieux travail. Seulement voila, il arrive parfois que le navigateur affiche le code source au lieu de l'interpréter.
Ne comprenant pas vraiment la raison de cette affichage, je viens solliciter votre aide.

Je pense mais sans en être sûr à 100% que le problème vient d'un navigateur trop ancien.
Si quelqu'un a un début d'explication, je l'attend avec impatience Smiley biggrin .

Le problème arrive sur mes créations mais aussi celle de connaissances, ce qui me fais penser à un problème de navigateur plutôt que de code.

Merci
Pour que ce soit un problème de navigateur il faut vraiment qu'il soit vieux, le navigateur. Enfin ça dépend du langage bien sûr, mais pour du HTML, CSS ou JavaScript il n'y a pas de raison.

Je pencherais plutôt pour un problème de type MIME mal déclaré. Si le serveur déclare un type MIME text/plain pour une page HTML (dans les en-têtes HTTP) au lieu de text/html, le navigateur va directement afficher le code source de la page.
Donc si je comprend bien, il s'agirait plutôt d'un problème au niveau du serveur et non de la page ?

Je me suis un peu documenté sur les types MIME et il y a une chose que je n'arrive pas a savoir Smiley confus . Le type MIME doit-il être défini dans la page web (HTML/CSS comme language) ou c'est le serveur qui s'occupe de le définir ?
Une fois que j'aurrai cette réponse sa paraitra déja beaucoup plus clair pour moi Smiley biggrin .
lucifel a écrit :
Le type MIME doit-il être défini dans la page web (HTML/CSS comme language) ou c'est le serveur qui s'occupe de le définir ?

Le type MIME est déclaré par l'en-tête HTTP Content-Type. Quand un serveur envoie une page HTML (ou tout autre fichier), il n'envoie pas seulement le code HTML, mais une série d'en-têtes. Tu peux voir les en-têtes pour une page donnée avec la Web Developer Toolbar, par exemple.

Tu as à priori deux possibilités pour déclarer un en-tête HTTP:
1. Via la configuration du serveur (par exemple avec un fichier .htaccess pour un serveur Apache).
2. Avec certains langages de script exécutés côté serveur, tu peux déclarer ou modifier des en-têtes HTTP. Par exemple en PHP, avec la fonction header().

Pour en savoir plus: google, yahoo, etc. Smiley cligne

Mais déjà il faudrait vérifier si le problème constaté vient des en-têtes HTTP envoyées (ou manquantes), savoir avec quel navigateur ça se produit, être capable de reproduire le problème.
J'ai résolu le problème.
Il n'est pas question de type MIME (bien que j'ignorais de quoi il s'agissait donc merci Smiley cligne ) ou de navigateur périmé.
En effet, le problème est dû à TextEdit qui enregistre en RTF par défaut. Pour travailler en HTML avec TextEdit, il faut aller dans "Format/Convertir au format texte"(cmd+T).

a écrit :
Pour ceux qui l'ignore (et j'en faisais partie Smiley confused ):
Le RTF, c'est du texte enrichit avec des balises, un peu comme du HTML.

Raison pour laquelle on obtient :
<p class="p1"><meta http-equiv="Content-Type" content="text/html;</p>
<p class="p1">charset=iso-8859-1" /></p>

au lieu de :
<meta http-equiv="Content-Type" content="text/html;

charset=iso-8859-1" />


TextEdit utilises aussi une syntaxe différente de celle de Windows (ou l'inverse...) pour les fins de ligne, et du coup on peut avoir quelques ennuis si on changes d'OS.

En tous cas merci Florent V. pour ton aide Smiley cligne .
Modifié par lucifel (16 Feb 2009 - 15:32)