5566 sujets

Sémantique web et HTML

Il m'arrive d'écrire, pas souvent mais à chaque nouveau texte, je dois modifier tous mes fichiers texte, chaque page de texte contenant un menu qui permet de naviguer d'un texte à l'autre.

Je ne vois pas bien comment utiliser :
<link rel="import" href="_aside_txt.html"> 


Pour être exact, je ne vois pas du tout où je dois placer ce lien.
Je vois que ça se place dans
<head> ... </head>
mais rien de plus et je ne pense pas que ce soit le bon endroit.
Y a-t-il une suite à ce
<link>
?

rel="import" sur le site du w3c : https://www.w3.org/TR/html-imports/

un seul texte pour l'instant, le menu ne fonctionne donc pas, c'est normal Smiley smile
http://brischri.angelfire.com/textes_css3/sandra.html
Modifié par brischri (20 Feb 2016 - 19:34)
Modérateur
Bonjour,

Cette fonctionnalité n'est pas encore très bien supportée par les navigateurs : pas supportée ni par firefox, ni par safari, ni par ie (ça fait du monde). Voir http://caniuse.com/#search=import

Considère plutôt l'emploi de php si c'est possible sur ton serveur.

<?php include "_aside_txt.html";?>

EDIT : ce morceau de code se place dans le html à l'endroit où tu mets ton menu. Le fichier html contenant cette ligne de code doit avoir l'extention ".php". Si le serveur sait faire du php, il n'y a rien d'autre à faire.

Sinon, considère l'emploi d'un éditeur de texte capable de remplacer une chaine de caractère par une autre dans un ensemble de fichiers au lieu d'un seul fichier.

Amicalement,
Modifié par parsimonhi (20 Feb 2016 - 19:43)
Je n'ai pas accès à PhP chez mon hébergeur.
Je vais devoir tout refaire à la main en attendant que ce soit supporté, c'est bien dommage car, en plus de modifier les css (et donc, d'adapter mes fichiers), j'ai l'intention de modifier aussi le site, un "include" de la barre de navigation aurait été intéressant aussi.
Bref, 2 modifications à prévoir.

Merci pour la réponse qui, si elle n'est pas celle que j'espérais, confirme que je ne me suis pas trompé : c'est trop tôt.
Zut Smiley cligne
Administrateur
Aucun langage côté hébergeur ? Hum.

Sinon il est possible d'utiliser des générateurs de sites statiques avant d'envoyer les fichiers pour faire des pseudo-includes au préalable. Du type Jekyll...
Modérateur
brischri a écrit :

Je vais devoir tout refaire à la main en attendant que ce soit supporté...


Je pense que ça ne sera pas supporté d'ici au moins 10 ans, et peut-être jamais. Ne compte pas là-dessus. T'as 100 fois plus de chances d'avoir php à disposition dans les 10 ans qui viennent.

De plus, ce type d'import" n'inclut pas le html. Il faut faire du javascript pour finir l'inclusion. Vraiment pas adapté à ton cas.

Si tu n'as pas php, alors éventuellement tu peux générer ton menu via du javascript, et inclure le fichier javascript via une balise <script> tout simplement (comme tu as déjà des tonnes de lignes javascript dans tes pages, ça ne devrait pas être trop génant d'en avoir quelques unes de plus). Exemple :

1) Le fichier javascript (on suppose qu'on va le nommer menu.js, ce n'est qu'un exemple, il peut contenir n'importe quoi d'autre selon tes besoins):

document.write("<a href='page1.html'>Page 1</a>");
document.write("<a href='page2.html'>Page 2</a>");
...

2) Dans toutes tes pages à l'endroit où on doit voir le menu, tu vas remplacer le html actuel de ton menu par l'inclusion de ton fichier javascript (et éventuellement, pour les internautes qui n'ont pas javascript, tu rajoutes un lien dans une balise <noscript> vers une page spéciale que j'ai appelée ici menu.html, mais ça peut être n'importe quoi d'autre, ne contenant que le menu) :
<script src="menu.js"></script>
<noscript><a href="menu.html">Menu</a></noscript>
A peaufiner évidemment selon la nature de ton menu et la décoration que tu souhaites.

Amicalement,
dew a écrit :
Aucun langage côté hébergeur ? Hum.

Sinon il est possible d'utiliser des générateurs de sites statiques avant d'envoyer les fichiers pour faire des pseudo-includes au préalable. Du type Jekyll...

Et non, je ne fais un site que pou apprendre.
On peut faire mieux, je vais m'y atteler, mais plus tard.

Il est possible que je doive en faire pour le bureau, j'utiliserai les connaissances acquises pendant le travail pour améliorer le côté ludique, textes, photos, etc.
parsimonhi a écrit :

Je pense que ça ne sera pas supporté d'ici au moins 10 ans, et peut-être jamais. Ne compte pas là-dessus. T'as 100 fois plus de chances d'avoir php à disposition dans les 10 ans qui viennent.
...
Amicalement,

Pour l'instant, je refais tout, je verrai plus tard ce que je peux automatiser, ce qui m'imposera de tout refaire encore une fois.
J'ai l'habitude, la première version du site était sur geocities.com qui a disparu il y a bien longtemps.
Une nouvelle version est apparue à chaque changement de html Smiley smile
Sans jamais utiliser les frames que gogole n'apprécie pas.
Comme le signale Dew, Jekyll peut être une solution pour regénérer l'ensemble d'un site statique.
Si j'ai bien compris le problème :
- tu ajoutes de temps en temps de nouveaux textes à la liste de ceux offerts à la lecture
- tu dois actualiser chaque page, puisque cette même liste figure sur le côté dans une balise <aside>.
Me trompe-je ?
Compte tenu de l'absence de scripting côté hébergeur (comme sur les "pages perso" de chez Orange, par exemple), pourquoi ne pas :
- abandonner la liste de chaque page
- opter pour une page récapitulative (une sorte de "plan du site") sur laquelle pointerait l'option "Texte" du menu en haut des pages HTML
Ceci permettrait de n'avoir pas à retoucher les pages HTML existantes, hormis la page récapitulative.
L'utilisateur n'aurait plus qu'à sélectionner le texte de son choix à partir d'une vision d'ensemble (comme cela aurait été le cas avec le bloc <aside> importé).
Par rapport à la situation actuelle, cela ne ferait qu'un clic souris de plus pour appeler le "plan du site" (qui peut aussi s'intituler "textes").
Juste une suggestion.
Cerise sur le gâteau, ça fonctionne avec ou sans javascript activé côté client...
Modifié par sepecat (20 Feb 2016 - 22:52)
sepecat a écrit :
pourquoi ne pas :
- abandonner la liste de chaque page
- opter pour une page récapitulative (une sorte de "plan du site") sur laquelle pointerait l'option
...
Juste une suggestion.
Cerise sur le gâteau, ça fonctionne avec ou sans javascript activé côté client...

C'est ce qui tourne actuellement, la page "Texte" est une liste de ce qui est disponible à la lecture.
Je pensais changer ça facilement, malheureusement l'import ne fonctionne pas pour l'instant, je fais une refonte du site, la version définitive ne sera pas pour aujourd'hui.
Si c'était professionnel, je chercherais à résoudre le problème, ici, ça peut attendre.
Je vais me réintéresser à PhP, avec MySQL ou MariaDB, je ne sais pas encore, je ferai ce qu'il faut alors.

Ancienne version, très sobre, peu colorée, pas beaucoup moins que la nouvelle d'ailleurs.
http://brischri.angelfire.com/textes/index.html
brischri a écrit :
C'est ce qui tourne actuellement, la page "Texte" est une liste de ce qui est disponible à la lecture.

Apparemment sur mon site (Firefox), je n'obtiens rien lorsque je clique sur la mention "Texte" en haut de la page.
Je pensais que c'était un problème Javascript (j'utilise NoScript en standard), mais même en le désactivant je n'obtiens aucune réaction au clic souris.
A voir ultérieurement... lorsque le site sera refondu.
Si c'est le lien du premier message de ce fil, il n'y a rien derrière, seuls 2 textes sont adaptés, le reste est décoratif Smiley smile
dew a écrit :
Sinon il est possible d'utiliser des générateurs de sites statiques avant d'envoyer les fichiers pour faire des pseudo-includes au préalable. Du type Jekyll...

Jade c'est pas mal aussi. J'ai fais ce site uniquement via cette syntaxe qui permet les annotations.