Webmaster Hub: Nettoyer les pages HTML du javascript - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Nettoyer les pages HTML du javascript Noter : -----

#1 L'utilisateur est hors-ligne   philippe69 

  • Groupe : Hubmaster
  • Messages : 132
  • Inscrit(e) : 13-septembre 06
  • Genre:Homme
  • Localisation:Lyon

Posté 26 octobre 2010 - 16:30

Bonjour à tous,

Mon code PHP génère dynamiquement du code javascript.
actuellement pour inclure ce code je fais un classique :
<script language="text/javaScript" type="text/javascript">Mon code js</script>'

Le problème c'est que ça fait des pages trop chargées en js et peu optimisées pour le référencement.

Est-il possible, sans passer par la création d'un fichier dans lequel je mets mon js, d'envoyer le code comme si c'était un fichier séparé.

exemple: en php le code js est créé dans $fichierjs puis l'appel se ferai avec un truc du genre
<script language="text/javaScript" type="text/javascript" src=<"'.$fichierJS.'"></script>'

J'ai volontairement mis "<" derrière "src=" pour faire comme une redirection de flux
Merci de votre aide
Cordialement
0

#2 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 26 octobre 2010 - 22:51

Salut,

Je n'ai strictement rien compris à cette question :

Citation

Est-il possible, sans passer par la création d'un fichier dans lequel je mets mon js, d'envoyer le code comme si c'était un fichier séparé.


Mais je suppose que tu veux éviter de lier un fichier JS ?

Ta solution, dans la pratique, est possible, mais plutôt comme ça :

<?php $fichier_js = file_get_contents('url_du_fichier_js'); ?>

Et ensuite dans la page:

<script type="text/javascript"><?php echo $fichier_js; ?></script>

Mais je ne vois pas l'intérêt profond de cette méthode. Au final, la quantité de lignes de code sera la même. La différence c'est que ça tiendra en un seul fichier au lieu d'avoir un fichier JS séparé. Certes, ça représente un petit gain pour le chargement, mais tellement infime (comparé au volume de données), que c'est vraiment se compliquer la vie pour rien.
0

#3 L'utilisateur est hors-ligne   philippe69 

  • Groupe : Hubmaster
  • Messages : 132
  • Inscrit(e) : 13-septembre 06
  • Genre:Homme
  • Localisation:Lyon

Posté 27 octobre 2010 - 10:35

Bonjour, et merci de ta réponse.
Mais ce n'est pas ça.
En fait, je voudrais éviter de faire apparaître du code js dans mais page mais plutôt utiliser des fichiers externes js. Ceci afin d'éviter le code directement à l'intérieur des pages html.

Quand tu fais ça :
<script type="text/javascript">code js</script>
les moteurs de recherche lisent le code et doivent d'abord faire le ménage pour passer ensuite au référencement.

alors que quand tu fais:
<script language="text/javascript" type="text/javascript" src="monjs.js"></script>'
les moteurs ne cherchent pas à lire l'inclusion de fichier js.

C'est pour cela que je souhaite un mix des 2 :
- je souhaite conserver la notation src="xxxx"
- mais mon xxx n'est pas un fichier mais mon code js généré dynamiquement

...hummmm, pas facile à expliquer
0

#4 L'utilisateur est hors-ligne   captain_torche 

  • Danacol / Orangina rouge
  • Voir le blog
  • Groupe : Admin
  • Messages : 6 722
  • Inscrit(e) : 08-février 06
  • Genre:Homme
  • Localisation:Savigny / Orge

Posté 27 octobre 2010 - 10:58

Dans ce cas, tu seras obligé de passer par une étape de génération de fichier.

Par contre, en ce qui concerne le référencement, le souci ne vient pas du fait qu'il y ait du javascript dans la page (Il est très facile pour un moteur de supprimer le code inutile), mais plutôt du poids de la page.

Pour contourner ton problème, pourquoi ne pas faire un fichier statique, et générer des variables de personnalisation dans ta page ?
Vous avez rêvé cette nuit ? Partagez vos rêves sur l'Onironaute !
Bijoux fantaisie
Recherche nounou
0

#5 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 27 octobre 2010 - 11:09

Que le code JS soit inclus directement dans la page, ou bien dans un fichier séparé, ça ne fait aucune différence pour les moteurs de recherche : le javascript est simplement ignoré. Il n'y a aucun bénéfice, du point de vue référencement, à vouloir séparer le fichier.
Mais c'est quand même bien de le faire pour la propreté du code.

Pour résoudre ton problème tu peux cacher des champs dans ta page comme ça :
<input type="hidden" id="truc" value="<?php echo 'machin'; ?>" />

(le value est donc généré dynamiquement en php)

Ensuite dans le fichier JS, tu récupères la valeur du champ truc en javascript :
var truc = document.getElementById('truc').value;

et le tour est joué.
0

#6 L'utilisateur est hors-ligne   paolodelmare 

  • Groupe : Hubmaster
  • Messages : 274
  • Inscrit(e) : 19-février 09
  • Genre:Homme
  • Localisation:toulon

Posté 27 octobre 2010 - 14:35

En dehors du référencement, c'est une bonne pratique de mettre son js en externe (perf et mise en cache).
Comme l'a écrit captain, tu peux génerer via php un fichier css (tout comme un sitemap.xml par exemple).
Il faudra placer
header("content-type: application/x-javascript");");
en tête dudit fichier.

Ce message a été modifié par paolodelmare - 27 octobre 2010 - 14:39.

Entrainement trail
Rendre à la communauté un peu de ce qu'elle m'a donné.
0

#7 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 28 octobre 2010 - 10:49

Il est également possible de créer un fichier javascript avec l'extension .php, ça marche pareil, et de l'inclure :
<script type="text/javascript" src="monscript.php"></script>

Ça permet de mettre des tags php dans le javascript.

Et si vraiment on veut conserver l'extension .js pour faire plus propre, on met dans le htaccess :
RewriteRule ^.*monscript\.js$ monscript.php [L]

Et on inclue simplement :
<script type="text/javascript" src="monscript.js"></script>


PS : en fait je viens de dire la même chose que Captain et Paolo.
0

#8 L'utilisateur est hors-ligne   captain_torche 

  • Danacol / Orangina rouge
  • Voir le blog
  • Groupe : Admin
  • Messages : 6 722
  • Inscrit(e) : 08-février 06
  • Genre:Homme
  • Localisation:Savigny / Orge

Posté 28 octobre 2010 - 11:03

Pas vraiment : je lui conseillais de faire un fichier statique en JS, et de mettre dans la page des variables de personnalisation en javascript, mais générées par PHP. C'est un peu gore, mais ça peut marcher.
Vous avez rêvé cette nuit ? Partagez vos rêves sur l'Onironaute !
Bijoux fantaisie
Recherche nounou
0

#9 L'utilisateur est hors-ligne   philippe69 

  • Groupe : Hubmaster
  • Messages : 132
  • Inscrit(e) : 13-septembre 06
  • Genre:Homme
  • Localisation:Lyon

Posté 28 octobre 2010 - 18:24

Merci à tous.
C'est bien ce que je craignais. Il n'y a pas vraiment de solution hors celle que vous citez et que j'avais envisagé.
Cordialement
Philippe
0

#10 L'utilisateur est hors-ligne   Leonick 

  • Groupe : Hubmaster
  • Messages : 1 313
  • Inscrit(e) : 07-mars 05
  • Genre:Homme
  • Localisation:Val de Marne

Posté 01 novembre 2010 - 20:16

Voir le messageErnestine, le 28 octobre 2010 - 10:49, dit :

Et si vraiment on veut conserver l'extension .js pour faire plus propre, on met dans le htaccess :
RewriteRule ^.*monscript\.js$ monscript.php [L]
ou une méthode plus "subtile" : appeler son script monscript.js.php et avec le multiview activé sur le serveur, il va te servir ce fichier quand tu appelleras monscript.js :)
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)