J'écris une page dans laquelle <tt>C:\Program Files (x86)\</tt> et <b>Inno Setup</b> reviennent assez souvent.

Est-il possible de raccourcir le code HTML en évitant les répétitions de texte ?

Par exemple, écrire PF pour <tt>C:\Program Files (x86)\</tt> et IS pour <b>Inno Setup</b> ?
adrien881 a écrit :
si c’est pour un soucis de temps de chargement conserve ton code html tel quel
Je ne pense pas que du texte brut puisse être un soucis technique face aux vidéos et autres publicités indésirables.

Je cherche uniquement à améliorer la lisibilité du code source : je pense qu'un code source débarrassé de toute lourdeur sera d'autant plus compréhensible par les humains qui le liront.

adrien881 a écrit :
puis suit les instructions de cette page pour activer la compression gzip.
Intéressant. Je comprends que le code HTML généré côté serveur doive être compressé à la volée, mais est-il possible de pré-compresser les fichiers *.html ne contenant pas de code PHP ?

adrien881 a écrit :
si c’est pour un soucis de maintenance, tu peux utiliser un langage comme PHP ou autre.
Le PHP est pratique côté serveur, mais ne facilite pas la lecture du HTML côté client, or c'est justement cela que je cherche.
Bonsoir e-miel,

dans ton premier message tu souhaites je te cite «raccourcir le code» dans le deuxième tu souhaites le rendre lisible.

Tu sais bien que les deux ne sont pas toujours compatibles.

Quel est ton intérêt de rendre le plus lisible le code HTML côté client. Est-ce à des fins pédagogiques ? Tu sais il y a peu de masos comme nous qui mettent leurs nez dans le code source des pages HTML. Si cependant pour je ne sais quelle raison, la lisibilité côté client est ta priorité indente ton code avec des espaces (la longueur des tabulations varie selon les éditeurs de texte) pour que toutes les parties du code qui se répètent soient alignées verticalement.
De toute façon il n’y a pas de notion de variables en HTML.

Les balises <tt> datent du temps où le contenu et la présentation n’étaient pas séparés. Utilise plutôt la css. D’ailleurs à partir du HTML5 elles ne seront plus valides.
adrien881 a écrit :
Quel est ton intérêt de rendre le plus lisible le code HTML côté client.
J'ai toujours travaillé proprement, et cela m'a toujours servi, surtout dans les situations les plus improbables. Le but n'est pas de grappiller des octets (d'ailleurs mon code est commenté) mais d'en faciliter la lecture humaine. En ce moment, mon code sent trop le "copier-coller", ça fait genre le gars lourd qui ne sait pas coder autrement qu'en faisant Ctrl+C Ctrl+V, mais si on ne peut pas faire autrement, alors je l'accepterai.

adrien881 a écrit :
Si cependant pour je ne sais quelle raison, la lisibilité côté client est ta priorité indente ton code avec des espaces (la longueur des tabulations varie selon les éditeurs de texte) pour que toutes les parties du code qui se répètent soient alignées verticalement.
Il est vrai que la longueur des tabulations pouvant varier d'un utilisateur à l'autre, mélanger espaces et tabulations est une très mauvaise idée. N'utiliser que des espaces (ta solution) résout le problème, n'utiliser que des tabulations le résout aussi, et c'est la solution que j'ai choisie car je ne souhaite pas imposer une longueur de tabulation : je souhaite que l'utilisateur voit mon code de la façon dont il a paramétré son éditeur de texte.

adrien881 a écrit :
De toute façon il n’y a pas de notion de variables en HTML.
C'est bien ce que je pensais, merci d'avoir confirmé qu'il n'existe ni variables ni autre solution de secours pour mon problème.

adrien881 a écrit :
Les balises <tt> datent du temps où le contenu et la présentation n’étaient pas séparés. Utilise plutôt la css. D’ailleurs à partir du HTML5 elles ne seront plus valides.
J'utilise de toute façon CSS pour redéfinir la fonte par défaut de <tt>. Utiliser CSS n'épargne pas d'encadrer le texte par des balises, et j'ai pensé que la balise <tt> était la plus logique structurellement parlant. Je me vois mal redéfinir en CSS <i> ou <span> pour y mettre une fonte à chasse fixe, tu pensais à quelle balise ?

Au fait, est-il possible de n'utiliser aucune balise, de ne formater un texte qu'avec CSS qui ferait une reconnaissance des chaînes concernées ("C:\Program Files (x86)\" dans mon cas) ?
pour remplacer les balises <tt> je pense que le plus simple serait d'utiliser la balise <samp>.

Sinon ce que tu chercher à faire, c'est à dire remplacer le texte répétitif par un raccourcis et appliquer automatiquement un style à une chaine de caractère, est tout à fait faisable en javascript. C'est à mon avis une très mauvaise idée, mais c'est faisable.
Modifié par BlueScreenJunky (06 Aug 2012 - 20:59)
BlueScreenJunky a écrit :
pour remplacer les balises <tt> je pense que le plus simple serait d'utiliser la balise <samp>.
Merci, je ne connaissais pas cette balise.

BlueScreenJunky a écrit :
Sinon ce que tu cherches à faire, c'est à dire remplacer le texte répétitif par un raccourci et appliquer automatiquement un style à une chaine de caractère, est tout à fait faisable en javascript. C'est à mon avis une très mauvaise idée, mais c'est faisable.
Pourquoi serait-ce une mauvaise idée ?

Normalement, les balises HTML servent à structurer une page, mais pour afficher tous les Citroën en gras-rouge et tous les Peugeot en gras-bleu, je me vois mal encadrer tous les Citroën et Peugeot par des balises HTML, car ce n’est que du visuel.
e-miel a écrit :
je me vois mal encadrer tous les Citroën et Peugeot par des balises HTML.

3 secondes montre en main avec un remplacer partout.

Si on était intelligent on le ferait côté serveur. Ton idée d’utiliser une variable ou une fonction pour simplifier la lecture du code et éviter les redondances a toute sa raison d’être côté serveur et c’est un bon réflexe que tu as. Mais ne le fait pas côté client.

La dinde mange un ver de terre. L’internaute mange de la dinde.

Pour la lisibilité du code HTML côte client, il faut que ce soit clair. Le HTML n’a qu’un unique but. Être interprété par un navigateur. Tu penses que s’il est lisible aussi par des programmeurs ce n’est que mieux. C’est bien de penser aux rares internautes qui se nourrissent de vers de terre mais c’est courir après deux lièvres. L’expérience montre que tout ce qui tente de faire 2 choses à la fois, le fait mal.

La lisibilité du code HTML côté client a à peu près autant d’intérêt que la lisibilité d’un exécutable binaire issu d’un compilateur.

Tu auras un code HTML qui répétera 1000 fois
<span class="marqueDeVoiture1">Citroën</span>
. Et alors ? Qui va se plaindre ? Le navigateur ? L’internaute ? En fait personne. Tu auras même fait du bon boulot puisque tu rajoutes de la sémantique a ton contenu HTML, tout en séparant la présentation. Tu seras 100% en phase avec la philosophie du web moderne.