OVH Cloud OVH Cloud

Petite aide javascript

30 réponses
Avatar
fra-PasDeSp
Hello

Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.
Mais il parait qu'il n'est pas souhaitable pour le référencement.

Aussi j'aimerais mettre en place un petit javascript qui me remplacerait
tous mes apostrophes moches par des apostrophes typographiques (fonction
replace() je pense) dans toute ma page web.

Qui saurait me faire ça ?
Merci d'avance.
--
Fra

10 réponses

1 2 3
Avatar
Pierre Maurette
Fra :
Hello

Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
Vous commencez par baliser correctement votre texte, les divers
éditeurs, normaux ou en ligne, vous y aident largement. A la base vous
avez <q></q>, et selon la sémantique peut-être
<blockquote></blockquote>, <cite></cite>, etc.
Vous pouvez qualifier ces tags par un id, ou également par un parent,
ou pas du tout. Il ne vous reste plus qu'à appliquer l'attribut CSS2
quotes:
q {
quotes: "«" "»";
}
par exemple.

Mais il parait qu'il n'est pas souhaitable pour le référencement.



Les rumeurs ésotériques concernant le référencement sont à prendre avec
de très longues pincettes. Le domaine est peuplé d'empapaouteurs et
d'empapaoutés heureux de l'être.
Je suis une buse en SEO, mais je ne peux pas croire que le robot
pénalise une démarche naturelle conforme aux standards. En revanche, il
n'est pas impossible qu'il n'aime pas du tout un machin qui pourrait
avoir pour objet d'afficher autre chose que ce qui est exposé.

Aussi j'aimerais mettre en place un petit javascript qui me remplacerait
tous mes apostrophes moches par des apostrophes typographiques (fonction
replace() je pense) dans toute ma page web.



Déjà, ce serait un truc assez lourd qui tournerait (chez le client) à
chaque affichage de page. Il s'agit de bien autre chose que d'un
rechercher - remplacer, les cas de figure sont nombreux. Ce serait bien
entendu beaucoup plus simple si le contenu était balisé en conséquence,
mais dans ce cas /a priori/ inutile, puisque du CSS devrait alors
suffire.
A chaque nouveau contenu, il faudra tester le résultat dans "les"
navigateurs, avant de valider et mettre en ligne.
Un truc fiable serait sans doute une usine à gaz, gourmande en
processeur. Il faudrait jeter un oeil au code des éditeurs en ligne,
pour lesquels de telles fonctions se justifient.
Je reformule: si on peut asserter sur le contenu, c'est jouable, voire
simple. Mais si on peut asserter sur le contenu, on peut alors
certainement traiter ce contenu coté serveur et le servir prêt à
l'emploi.

Coté serveur:
Vous tentez d'obtenir des documents correctement balisés. Pour
l'existant éventuel, vous voyez s'il ne serait pas plus simple de
repasser par l'éditeur (celui qui doit savoir placer les <q></q> etc.).
Un traitement "scripté", si nécessaire, pourra être réalisé en Php (je
suppose que votre site utilise ce langage), mais ce n'est pas une
obligation, il n'est pas très complexe d'utiliser Python. Selon la
fréquence d'apparition de contenu à traiter, vous pouvez:
- Mouliner manuellement, lors de la mise en ligne.
- Laisser traiter systématiquement, en comptant sur la mise en cache.
- Gérer manuellement "un genre de cache", inadapté si par exemple un
rédacteur autre que le webmaster édite du contenu:

$cachedfilepath = fonctionnette($filename);
if (file_exists($cachedfilepath)) {
$reponse = file_get_contents($cachedfilepath);
}
else {
$reponse = putain_de_grosse_fonction($filename);
file_put_contents($cachedfilepath, $reponse);
}



Qui saurait me faire ça ?



Hum...

--
Pierre Maurette
Avatar
Paul Gaborit
À (at) Tue, 09 Jun 2015 08:27:02 +0200,
Pierre Maurette écrivait (wrote):

Fra :
Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
Vous commencez par baliser correctement votre texte, les divers
éditeurs, normaux ou en ligne, vous y aident largement. A la base vous
avez <q></q>, et selon la sémantique peut-être
<blockquote></blockquote>, <cite></cite>, etc.
Vous pouvez qualifier ces tags par un id, ou également par un parent, ou
pas du tout. Il ne vous reste plus qu'à appliquer l'attribut CSS2
quotes:
q {
quotes: "«" "»";
}
par exemple.



N'auriez-vous pas confondu « guillemet » et « apostrophe » ?

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Pierre Maurette
Paul Gaborit :
À (at) Tue, 09 Jun 2015 08:27:02 +0200,
Pierre Maurette écrivait (wrote):

Fra :
Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
Vous commencez par baliser correctement votre texte, les divers
éditeurs, normaux ou en ligne, vous y aident largement. A la base vous
avez <q></q>, et selon la sémantique peut-être
<blockquote></blockquote>, <cite></cite>, etc.
Vous pouvez qualifier ces tags par un id, ou également par un parent, ou
pas du tout. Il ne vous reste plus qu'à appliquer l'attribut CSS2
quotes:
q {
quotes: "«" "»";
}
par exemple.



N'auriez-vous pas confondu « guillemet » et « apostrophe » ?



Surtout, j'ai copié depuis le w3schools ;-)

On peut faire:
q {
quotes: "201C" "201D";
}

ou même:
q {
quotes: "201C" "201D" "'" "'";
}

J'en suis encore aux pseudo-classes :before et :after. Ça permet
d'utiliser des caractères de font-awesome (ou glyphicon), pas sûr que
ce soit possible avec quotes.

Les niveaux de quotes ouvrent d'intéressantes perspectives, avec certes
un glissement de la sémanique:

q.apparte {
quotes: "(" ")" "-" "-";
}

--
Pierre Maurette
Avatar
Eric Demeester
Bonjour,

Mac Larinett (Tue, 09 Jun 2015 07:10:49 +0200 -
fr.comp.infosystemes.www.auteurs) :

Désolé, j'ai répondu un peu vite, je parlais des guillemets
typographiques, rien à voir avec l'apostrophe.



Les guillemets typographiques, oui. Il est d'ailleurs prudent, puisqu'on
parle de web, que les espaces entourant le mot soient insécables [*], «
pour éviter les passages à la ligne intempestifs ».

Même remarque pour les espaces précédant les « ! », « ? », « ; », et
plus généralement quand le passage à la ligne est disgracieux, « 10 300
¤ », etc.

Mais on s'éloigne de la question initiale.

[*] généralement « <Alt><0160> » ou « &nbsp; ».
Avatar
Paul Gaborit
À (at) Tue, 09 Jun 2015 12:42:52 +0200,
SAM écrivait (wrote):

Le 09/06/15 10:12, Paul Gaborit a écrit :

À (at) Tue, 09 Jun 2015 08:27:02 +0200,
Pierre Maurette écrivait (wrote):

Fra :
Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
Vous commencez par baliser correctement votre texte, les divers
éditeurs, normaux ou en ligne, vous y aident largement. A la base vous
avez <q></q>, et selon la sémantique peut-être
<blockquote></blockquote>, <cite></cite>, etc.
Vous pouvez qualifier ces tags par un id, ou également par un parent, ou
pas du tout. Il ne vous reste plus qu'à appliquer l'attribut CSS2
quotes:
q {
quotes: "«" "»";
}
par exemple.



N'auriez-vous pas confondu « guillemet » et « apostrophe » ?




Je trouve ça très naturel,
d'une part, il y a ce mot "guillemet" dans le post du questionneur
d'autre part, il me semble que ce problème de « » est bien plus
important que celui de l'apostrophe(*)



???

Le mot « guillemet » n'apparaît nulle part dans l'article initial.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Paul Gaborit
À (at) Tue, 09 Jun 2015 13:45:33 +0200,
Pierre Maurette écrivait (wrote):

Paul Gaborit :
À (at) Tue, 09 Jun 2015 08:27:02 +0200,
Pierre Maurette écrivait (wrote):

Fra :
Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
Vous commencez par baliser correctement votre texte, les divers
éditeurs, normaux ou en ligne, vous y aident largement. A la base vous
avez <q></q>, et selon la sémantique peut-être
<blockquote></blockquote>, <cite></cite>, etc.
Vous pouvez qualifier ces tags par un id, ou également par un parent, ou
pas du tout. Il ne vous reste plus qu'à appliquer l'attribut CSS2
quotes:
q {
quotes: "«" "»";
}
par exemple.



N'auriez-vous pas confondu « guillemet » et « apostrophe » ?



Surtout, j'ai copié depuis le w3schools ;-)



[... suivi de plein de choses concernant les guillemets ...]

L'article initial ne parle que d'apostrophes et pas du tout de
guillemets.

Ce n'est donc plus une question mais une certitude : vous confondez
« guillemet » et « apostrophe ».

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Pierre Maurette
Paul Gaborit :
À (at) Tue, 09 Jun 2015 13:45:33 +0200,
Pierre Maurette écrivait (wrote):

Paul Gaborit :
À (at) Tue, 09 Jun 2015 08:27:02 +0200,
Pierre Maurette écrivait (wrote):

Fra :
Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
Vous commencez par baliser correctement votre texte, les divers
éditeurs, normaux ou en ligne, vous y aident largement. A la base vous
avez <q></q>, et selon la sémantique peut-être
<blockquote></blockquote>, <cite></cite>, etc.
Vous pouvez qualifier ces tags par un id, ou également par un parent, ou
pas du tout. Il ne vous reste plus qu'à appliquer l'attribut CSS2
quotes:
q {
quotes: "«" "»";
}
par exemple.



N'auriez-vous pas confondu « guillemet » et « apostrophe » ?



Surtout, j'ai copié depuis le w3schools ;-)



[... suivi de plein de choses concernant les guillemets ...]

L'article initial ne parle que d'apostrophes et pas du tout de
guillemets.

Ce n'est donc plus une question mais une certitude : vous confondez
« guillemet » et « apostrophe ».



P....., vous faites peur...

--
Pierre Maurette
Avatar
Paul Gaborit
À (at) Tue, 09 Jun 2015 15:52:31 +0200,
Pierre Maurette écrivait (wrote):

Paul Gaborit :
À (at) Tue, 09 Jun 2015 13:45:33 +0200,
Pierre Maurette écrivait (wrote):

Paul Gaborit :
À (at) Tue, 09 Jun 2015 08:27:02 +0200,
Pierre Maurette écrivait (wrote):

Fra :
Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
Vous commencez par baliser correctement votre texte, les divers
éditeurs, normaux ou en ligne, vous y aident largement. A la base vous
avez <q></q>, et selon la sémantique peut-être
<blockquote></blockquote>, <cite></cite>, etc.
Vous pouvez qualifier ces tags par un id, ou également par un parent, ou
pas du tout. Il ne vous reste plus qu'à appliquer l'attribut CSS2
quotes:
q {
quotes: "«" "»";
}
par exemple.



N'auriez-vous pas confondu « guillemet » et « apostrophe » ?



Surtout, j'ai copié depuis le w3schools ;-)



[... suivi de plein de choses concernant les guillemets ...]

L'article initial ne parle que d'apostrophes et pas du tout de
guillemets.

Ce n'est donc plus une question mais une certitude : vous confondez
« guillemet » et « apostrophe ».



P....., vous faites peur...



Ah bon. Mais à qui ? Et pourquoi donc ?

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Olivier Miakinen
Le 09/06/2015 08:27, Pierre Maurette répondait à Fra :

Je trouve l'apostrophe typographique nettement plus classe que
l'apostrophe du clavier.



C'est une préférence largement partagée. C'est pourquoi ce point est
correctement pris en charge par HTML + CSS.
[...]
q {
quotes: "«" "»";
}
par exemple.



Tiens ? Tu as fait la même erreur que SAM et Mac Larinett : répondre sur
les guillemets alors qu'il n'était question que de l'apostrophe.

Mais il parait qu'il n'est pas souhaitable pour le référencement.



Les rumeurs ésotériques concernant le référencement sont à prendre avec
de très longues pincettes. Le domaine est peuplé d'empapaouteurs et
d'empapaoutés heureux de l'être.
Je suis une buse en SEO, mais je ne peux pas croire que le robot
pénalise une démarche naturelle conforme aux standards. En revanche, il
n'est pas impossible qu'il n'aime pas du tout un machin qui pourrait
avoir pour objet d'afficher autre chose que ce qui est exposé.



Oui, là je suis entièrement d'accord.

Aussi j'aimerais mettre en place un petit javascript qui me remplacerait
tous mes apostrophes moches par des apostrophes typographiques (fonction
replace() je pense) dans toute ma page web.



Déjà, ce serait un truc assez lourd qui tournerait (chez le client) à
chaque affichage de page. [...]
A chaque nouveau contenu, il faudra tester le résultat dans "les"
navigateurs, avant de valider et mettre en ligne.
Un truc fiable serait sans doute une usine à gaz, gourmande en
processeur. [...]



Ce qui confirme combien ce serait une mauvaise idée de le faire faire en
JavaScript par les navigateurs.

Coté serveur:
[...]
Un traitement "scripté", si nécessaire, pourra être réalisé en Php (je
suppose que votre site utilise ce langage), mais ce n'est pas une
obligation, il n'est pas très complexe d'utiliser Python. Selon la
fréquence d'apparition de contenu à traiter, vous pouvez:
- Mouliner manuellement, lors de la mise en ligne.
- Laisser traiter systématiquement, en comptant sur la mise en cache.
- Gérer manuellement "un genre de cache", inadapté si par exemple un
rédacteur autre que le webmaster édite du contenu:

$cachedfilepath = fonctionnette($filename);
if (file_exists($cachedfilepath)) {
$reponse = file_get_contents($cachedfilepath);
}
else {
$reponse = putain_de_grosse_fonction($filename);
file_put_contents($cachedfilepath, $reponse);
}



Oui, sachant que la putain_de_grosse_fonction() se résume grosso modo à
un petit preg_replace, avec une RegExp dont plusieurs exemples ont déjà
été donnés.


Cordialement,
--
Olivier Miakinen
Avatar
SAM
Le 09/06/15 08:27, Pierre Maurette a écrit :
Fra :

Aussi j'aimerais mettre en place un petit javascript qui me remplacerait
tous mes apostrophes moches par des apostrophes typographiques (fonction
replace() je pense) dans toute ma page web.



Déjà, ce serait un truc assez lourd qui tournerait (chez le client) à
chaque affichage de page.



Non, pour la simple *apostrophe* ce n'est pas lourd du tout du tout :
2 lignes
allez 3, si on veut y voir clair.

A chaque nouveau contenu, il faudra tester le résultat dans "les"
navigateurs, avant de valider et mettre en ligne.



Sauf à ce qu'ils ne comprennent plus le JS, non, ce n'est pas la peine.
D'autant qu'on s'en fout un peu vu que les autres pages des copains ne
connaissent que l'apostrophe ASCII et qu'ici ce sera au mieux mieux et
au pire pas pire ;-)

Un truc fiable serait sans doute une usine à gaz, gourmande en
processeur.



Le remplacement en JS ne coute quasiment rien, on n'a pas le temps de le
voir s’effectuer !

Pour mémoire, la fonction JS évoquée sur f.c.l.javascript :

function apostrophe(){
var b = document.getElementsByTagName('BODY')[0],
d = b.innerHTML;
b.innerHTML = d.replace(/([A-Za-zÀ-ÿ])'([A-Za-zÀ-ÿ])/g,'$1’$2');
}

Je reformule: si on peut asserter sur le contenu, c'est jouable, voire
simple. Mais si on peut asserter sur le contenu, on peut alors
certainement traiter ce contenu coté serveur et le servir prêt à l'emploi.



Ce serait certainement plus élégant.

Coté serveur:



(snip l'errance à propos des guillemets dont personne ne veut s'occuper
sous prétexte que ce n'est pas le sujet)



Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
1 2 3