Partir de Windows pour découvrir le libre, les tutoriels libres présentés par le site
Framasoft
http://www.framasoft.net
Aller à la table des matières

J'apprends à utiliser le logiciel NVu
et à construire mon site

 Deuxième édition révisée, conforme à la version 1.0 de NVu

5 Septembre 2005

Initiation progressive à l'édition de documents web

J'apprends à saisir du texte brut et à le mettre en forme.
Je construis un site avec plusieurs documents comportant un texte principal, des images, un en-tête, une barre de menu horizontale, un bloc latéral.

Alain Boudet

http://aboudet.chez.tiscali.fr

NVu

garde
Logiciel libre
auteur: Lindows inc
plate-forme: linux, windows
version: 1.0
license: mpl/gpl/lgpl
http://nvu.com

Publié sous licence Creative Commons By-NonCommercial-ShareAlike

http://creativecommons.org/licenses/by-nc-sa/1.0/






... Vous ouvrez un éditeur de texte web pour la première fois ou presque... 

Vous voulez commencer à saisir du texte, mais vous ne savez pas par où commencer.

Vous avez l'habitude de taper en traitement de texte habituel, et sans réfléchir, vous êtes tenté de transposer vos connaissances à NVu . Malheureusement, ça ne se comporte pas comme vous vous y attendiez, et vous ne savez pas pourquoi ni comment faire.

Alors vous cherchez un manuel simple à lire pour commencer votre saisie. Vous avez des difficultés à comprendre de quoi parlent les tutoriels et les aides, certes simples à lire, mais bourrés de mots nouveaux et de références inconnues, classe, attribut, bloc, ancre, et beaucoup d'autres, en général précédés d'indications générales très techniques sur les caractéristiques du matériel et son installation. Vous voulez un vrai tutoriel, qui vous prend là où vous en êtes, et vous amène progressivement vers de plus hautes compétences, grâce à une véritable explication des notions nouvelles et à une progression dans l'exposé des notions.


Si vous êtes dans ce cas, ce texte est pour vous.


Le fil conducteur de ce manuel


On peut être à la fois débutant en éditeur de documents web tout en ayant une expérience de la bureautique et d'un éditeur de texte habituel. Le passage de l'un à l'autre n'est pas forcément évident, car il faut comprendre le mode de pensée de l'éditeur html. Certaines notions qui n'existent pas en traitement de texte habituel doivent être connues en html. Un débutant en éditeur web a besoin d'être initié à ces notions de base.

Le parti que j'ai adopté est de rédiger un manuel d'apprentissage (tiens, maintenant on dit "un "tutoriel" grâce aux anglais suivis par les informaticiens français), et non un mode d'emploi (tiens, maintenant on dit une "aide" grâce etc...). Un mode d'emploi est classé par rubriques. Par exemple dans la rubrique "style", vous trouvez tous les styles applicables à un texte, et dans la rubrique "tableau", vous trouvez toutes les fonctionnalités existantes s'y rapportant. Un tutoriel comme celui-ci vous prend là où vous en êtes, et vous amène progressivement vers de plus hautes compétences.

Mais me direz-vous, chacun en est à des endroits différents, a une culture différente selon ses expériences passées. Évidemment. C'est pourquoi il faut définir le public ciblé par un profil moyen. C'est ce que j'ai fait en haut de la page: ce sont "les gens comme moi" !!!. 

Une autre façon de dire comment j'ai conçu ce tutoriel est que j'y fais le récit de ma propre découverte de NVu, au fur et à mesure de la construction de mon site web.

Note: L'allusion aux aides et tutoriels ci-dessus n'est en aucune façon une critique pour les tutoriels concernant NVu déjà publiés auxquels je rends hommage. Ils sont véritablement le résultat d'un gros travail, et c'est grâce à eux que j'ai pu élaborer celui-ci. Je me propose d'apporter ma part à cet échafaudage construit en commun avec ce tutoriel ciblé sur d'autres personnes, pour contribuer au succès de NVu, à sa diffusion et à son apprentissage.

Le fil conducteur de ce manuel est d'accompagner le lecteur dans la réalisation de sa page web, en commençant par la première tâche, saisir du texte quand on vient d'ouvrir le logiciel NVu.  Puis en améliorant ce texte par des styles. Les notions de base sont donc introduites progressivement, non pas dans la logique de leur complexité, mais au fur et à mesure des besoins pratiques, bien évidemment en commençant par les plus simples. Par exemple, n'apparaîtra d'abord qu'une seule balise, puis un seul mode de formatage. Et puis cela deviendra plus riche et plus complexe, jusqu'à avoir les notions essentielles à la réalisation de la page, avec un texte, des images, un en-tête, une barre de menu horizontale, et une liste latérale. D'où la progression suivante rapportée par la table des matières:

Table des matières



Le fil conducteur de ce manuel


On peut être à la fois débutant en éditeur de documents web tout en ayant une expérience de la bureautique et d'un éditeur de texte habituel. Le passage de l'un à l'autre n'est pas forcément évident, car il faut comprendre le mode de pensée de l'éditeur html. Certaines notions qui n'existent pas en traitement de texte habituel doivent être connues en html. Un débutant en éditeur web a besoin d'être initié à ces notions de base.

Le parti que j'ai adopté est de rédiger un manuel d'apprentissage (tiens, maintenant on dit "un "tutoriel" grâce aux anglais suivis par les informaticiens français), et non un mode d'emploi (tiens, maintenant on dit une "aide" grâce etc...). Un mode d'emploi est classé par rubriques. Par exemple dans la rubrique "style", vous trouvez tous les styles applicables à un texte, et dans la rubrique "tableau", vous trouvez toutes les fonctionnalités existantes s'y rapportant. Un tutoriel comme celui-ci vous prend là où vous en êtes, et vous amène progressivement vers de plus hautes compétences.

Mais me direz-vous, chacun en est à des endroits différents, a une culture différente selon ses expériences passées. Évidemment. C'est pourquoi il faut définir le public ciblé par un profil moyen. C'est ce que j'ai fait en haut de la page: ce sont "les gens comme moi" !!!. 

Une autre façon de dire comment j'ai conçu ce tutoriel est que j'y fais le récit de ma propre découverte de NVu, au fur et à mesure de la construction de mon site web.

Note: L'allusion aux aides et tutoriels ci-dessus n'est en aucune façon une critique pour les tutoriels concernant NVu déjà publiés auxquels je rends hommage. Ils sont véritablement le résultat d'un gros travail, et c'est grâce à eux que j'ai pu élaborer celui-ci. Je me propose d'apporter ma part à cet échafaudage construit en commun avec ce tutoriel ciblé sur d'autres personnes, pour contribuer au succès de NVu, à sa diffusion et à son apprentissage.

Le fil conducteur de ce manuel est d'accompagner le lecteur dans la réalisation de sa page web, en commençant par la première tâche, saisir du texte quand on vient d'ouvrir le logiciel NVu.  Puis en améliorant ce texte par des styles. Les notions de base sont donc introduites progressivement, non pas dans la logique de leur complexité, mais au fur et à mesure des besoins pratiques, bien évidemment en commençant par les plus simples. Par exemple, n'apparaîtra d'abord qu'une seule balise, puis un seul mode de formatage. Et puis cela deviendra plus riche et plus complexe, jusqu'à avoir les notions essentielles à la réalisation de la page, avec un texte, des images, un en-tête, une barre de menu horizontale, et une liste latérale. D'où la progression suivante rapportée par la table des matières:


1. Je saisis mon texte dans le corps de texte

J'ouvre NVu. J'ai devant moi un document blanc. En haut à gauche, le curseur clignote.
Je vous engage à le faire vous aussi!

Figure 1-1
figure 1-1 

Par défaut, l'affichage est en mode Normal. Nous le vérifions en constatant en bas à gauche que c'est l'onglet qui est activé (figure 1-2).

Corps de texte. Balise <body>

Je tape un mot, n'importe lequel, par exemple:

bonjour

Afin de mieux comprendre le fonctionnement d'un éditeur Web, je passe en mode Source en cliquant sur l'onglet dans la barre des modes d'édition en bas de page. Vous aussi, faites-le!

Figure 1-2. Barre des modes d'édition
figure 1-2
Figure 1-3. Mode Source  fig1-3
En bas du texte, je découvre ceci:
<body>
bonjour
</body>

Remarque: Chaque fois que je vous montre quelque chose en mode Source, il est présenté dans le style ci-dessus, avec fond mauve.

Les signes, <body> et </body> sont des codes, appelés balises, qui donnent des indications au logiciel qui affiche le texte.

La balise <body> indique le début du corps de texte, et la balise </body>, la fin de ce corps. La partie comprise entre les deux est celle qui sera affichée par le navigateur. Par opposition, on trouve au-dessus la partie <head> </head> qui encadre des indications non affichées par le navigateur, des indications de style par exemple, ou l'auteur, comme on le verra dans d'autres sections (par exemple section 12).

Structurer le corps de texte en paragraphes. Balise <br> de fin de ligne

Maintenant, je commence à taper du texte, par exemple cette ligne que vous être en train de lire. En tapant sur la touche ENTRÉE (dite aussi "Retour chariot" par référence aux machines à écrire qui ont précédé les microordinateurs), je fais un changement de ligne. Je peux donc créer mes paragraphes à volonté en changeant de ligne avec cette touche.
Si je tape deux fois, cela crée un ligne vide de séparation entre deux paragraphes.

Puis je passe en mode Source pour voir ce qui se passe, et je vois ceci: (en ignorant la mise en forme des mots en gras)

<body>
Maintenant, je commence &agrave; taper du texte, par exemple cette ligne que vous &ecirc;tre en train de lire. En tapant sur la touche ENTR&Eacute;E(dite aussi "Retour chariot" par r&eacute;f&eacute;rence aux machines &agrave; &eacute;crire qui ont pr&eacute;c&eacute;d&eacute; les microordinateurs), je fais un changement de ligne. Je peux donc cr&eacute;er mes paragraphes &agrave; volont&eacute; en changeant de ligne avec cette touche.<br>
Si je tape deux fois, cela cr&eacute;e un ligne vide de s&eacute;paration entre deux paragraphes. <br><br>
Puis je passe en mode Source pour voir ce qui se passe, et je vois ceci:</body>


En mode Source, on voit qu'une balise <br> a été ajoutée à la fin de chaque ligne. La balise <br> est un code signifiant FIN DE LIGNE

Espace blanc insécable, attention

Il arrive qu'on veuille que l'espace blanc créé par la barre d'ESPACEMENT soit inséparable du mot précédent et du mot suivant pour faire une chaîne fixe. Par exemple dans l'expression "3 cm", je ne veux pas que "3" et "cm" soient séparés par un retour automatique à la ligne. Ou encore quand, dans la typographie normale française, on met un blanc entre un mot et la ponctuation ( : ; ? ! ) qui le suit, comme dans "voici :" entre "voici" et ":" (bien que je trouve que cette habitude de la typographie française introduit des complications et n'est pas particulièrement jolie. En ce qui concerne ce cas précis, je préfère la sobriété de la typographie anglaise, sans espace entre le mot et ":" ou "?"). C'est ce qu'on nomme un blanc insécable, ou blanc forcé. Les blancs insécables sont comme des caractères qui font partie du mot auquel ils sont accolés. Qu'est-ce qu'un mot? Un mot est délimité par un blanc ordinaire (sécable) avant et un après.

En mode Source, pas de problème, il suffit d'écrire son code:&nbsp;

Question pour l'espace insécable: En mode Normal, je n'ai pas trouvé de façon contrôlée de poser un blanc forcé, comme par un exemple l'équivalent de Word,  MAJ-ESPACEMENT. Il y a bien une fonction dans le menu FORMAT>STYLE DE TEXTE qui s'appelle INSÉCABLE, mais elle semble ne pas fonctionner. Elle ne pose aucune balise de style.

Par contre, j'ai constaté qu'en tapant deux ou plusieurs fois sur ESPACEMENT, le premier blanc est ordinaire, le deuxième est automatiquement insécable, puis le troisième ordinaire, le quatrième insécable et ainsi de suite de façon alternée.

Pour poser un blanc insécable, il est ainsi possible de taper deux blancs avec la touche ESPACEMENT, puis de supprimer le premier. Comme ceci: 2 cm.

Attention: Il arrive que par le jeu des "copier-coller", on colle un blanc insécable sans s'en rendre compte. C'est pourquoi lorsque vous avez modifié, corrigé un texte, des mots se trouvent accolés sans possibilité de coupure pour retour à la ligne. Si cela vous arrive, il est probable qu'un blanc forcé s'est inséré là de façon abusive. Supprimez tous les blancs entre ces deux mots, et insérez un blanc tout neuf.

Style de caractère

Résumons: nous avons appris à saisir du texte brut dans le corps de texte et à changer de ligne pour créer des paragraphes. C'est suffisant pour que vous puissiez préparer le texte de votre première page web, et saisir quelques paragraphes.

Or maintenant, je veux agrémenter le texte, le rendre plus lisible en lui appliquant des styles, des formats. Pour le moment, je n'ai pas choisi ma police de caractère, et le logiciel utilise ceux qui sont fixés par défaut. Puis-je choisir le style par défaut du corps de texte? Oui, on le verra plus loin. Commençons par changer seulement des parties de texte, comme je fais dans la phrase suivante. Certains mots sont en gras, d'autres en rouge, et certains titres sont en grosses lettres. Comment ai-je fait?

Il y a plusieurs façons. Ce tutoriel se voulant progressif, j'introduis les notions une à une, au fur et à mesure des besoins et je ne donne pas l'ensemble des possibilités maintenant. Notons que si on veut avoir un panorama de toutes les possibilités, il suffit de consulter l'Aide dans la barre de menus: [Aide]>[Contenu de l'aide].

Je commence donc par la mise en forme dans le fil du texte, celle qui est la plus immédiate lorsqu'on est par exemple habitué à un traitement de texte. Comme dans un traitement de texte habituel, après avoir écrit le texte brut, je sélectionne une partie de texte et je lui applique un élément de style de la barre de mise en forme en haut de la page, ou en me rendant dans le menu [Format] de la barre de menu.

Style gras. Notion de balise. Balise <span>

Je souhaite mettre un mot en évidence en l'affichant en caractères gras. Pour cela, je le sélectionne avec la souris, et je clique sur le symbole B de la barre de mise en forme, (cinquième case à partir de la gauche).

De façon équivalente, je peux utiliser la barre de menu: [Format]>[Style de texte]>[Gras].
Il y a également un équivalent avec le clavier, indiqué dans le menu précédent, c'est CTRL+B.

Figure 1-4. Barre de mise en forme
fig1-4

Comment cette commande est-elle traduite en mode Source?

Je choisis par exemple de mettre un mot en &eacute;vidence en le s&eacute;lectionnant
et en cliquant sur le symbole B de la <span style="font-weight: bold;">mise
en forme dans le fil du texte</span>,
(cinqui&egrave;me case &agrave; partir de la gauche.


Cela crée un code <span> avant l'expression mise en forme et un code </span> à la fin.

Remarque: Il se peut qu'à la place de <span>, vous ayez <b>. Cela dépend du réglage des préférences (voir paragraphe suivant).

Ces codes sont appelés des balises. Elles ont une importance capitale en langage Source HTML. En effet, votre texte sera lu et affiché par un logiciel lecteur, le navigateur de la personne qui consulte votre site, ou l'éditeur web en mode WYSIWYG (ce qui veut dire "ce que tu vois est ce que tu obtiens) comme par exemple le mode Normal de NVu.Ce lecteur lit le code Source de façon linéaire et obéit aux codes.

Chaque balise de début <span est suivie d'une déclaration de style style="  ">. Il est nommée une propriété, ici "font-weight", c'est-à-dire l'épaisseur du caractère, à laquelle on attribue une caractéristique ou valeur (bold, c'est-à-dire gras). Lorsque le logiciel lecteur rencontre la balise de début <span>, il sait qu'il doit afficher ce qui suit selon ce qui est déclaré dans style="" , jusqu'à ce qu'il rencontre la balise de fin </span>.  

Les balises sont la base du langagee source html. Tout est basé sur elle, et le reste de ce tutoriel consiste à peu près à apprendre à utiliser les différents types de balises et à leur attribuer des caractéristiques diverses.

Eléments html. Balises <b>, <i> et <u>. Préférences

Ce paragraphe n'est pas utile ici pour construire votre page web. C'est une subtilité. Cependant, si les préférences ne sont  pas celles par défaut de la version 1.0, il se peut qu'au lieu des balises <span>, vous ayez trouvé la balise <b>. D'autre part, en lisant des documents html créés par d'autres, vous allez rencontrer ces balises <b>. Aussi, voyons de quoi il s'agit et comment on peut revenir à la balise <span>.

La balise <b> code directement le style gras (bold) sans qu'il est besoin de lui indiquer la propriété concernée. C'est ce qu'on appelle un attribut html. C'est direct. D'autres balises codent d'autres attributs: <i> et <u> codent pour l'italique et le souligné, par exemple, et la balise <font> donnera les indications concernant les polices et les couleurs.

Alors quel est l'intérêt de la balise <span> qui semble plus compliquée? Cela apparaîtra par la suite, comme la possibilité d'extraire des styles pour créer des classes et fabriquer des feuilles de style.

Choisissons donc l'emploi des balises <span> si ce n'est déjà en usage par défaut.

Dans la barre des menus, cliquer sur
[Outils]>[Préférences]. S'ouvre alors la fenêtre d'option, section "général". Dans la fenêtre, assurez-vous que soit cochée la ligne "Edition avec des feuilles de style" (figure 1-5).

Figure 1-5. Préférences, édition avec des feuilles de style

fig1-5

Styles italique et souligné. 

Si je veux maintenant que le mot soit écrit en italique ou en souligné, je le sélectionne et j'utilise le symbole I  et le symbole U de la barre de mise en forme.

Alternativement, je peux utiliser la barre de menu: [Format]>[Style de texte]>[Italique] ou [Souligné], ou les équivalents avec le clavier, CTRL+I, CTRL+U.

Ces commandes sont traduites en mode Source par les balises <span> et </span> suivies de la déclaration de style d'une part, font-style: italic; et text-decoration: underline; d'autre part.

Si je veux maintenant que le mot soit &eacute;crit en
<span
 style="font-style: italic;">italique</span>
ou en <span style="text-decoration: underline;">soulign&eacute;</span>,

Balises SMALL et BIG

Dans la barre de mise en forme du texte (fig. 1-4), à gauche des symboles précédents, on trouve deux fonctions pour diminuer la taille des caractères (icône A, troisième case) ou l'agrandir (icône A). En mode Source, cela pose les balises <small> et <big>, ainsi que leurs balises de fin correspondantes dans lesquelles se trouve en plus le signe /. Notons en passant qu'elles ne sont pas intégrées à la déclaration de style d'une balise <span> et sont donc des éléments HTML.

La commande équivalente par le menu est [Format]>[Taille]>[Plus petite] ou [Plus grande], et l'équivalent clavier CTRL+- et CTRL++.

Remarquons que la barre d'outils de mise en forme ne permet pas d'afficher directement une valeur absolue de la taille de police en nombre de points comme dans un traitement de texte habituel. C'est parce qu'il existe une grande variété d'unités de taille, absolues ou relatives. On aura accès à ces unités lorsqu'on aura abordé la notion de boîte et de style intégré un peu plus loin.

Visualisation des balises

On peut visualiser les balises grâce au mode d'édition Balises HTML. Dans la barre des modes d'édition (figure 1-2), je clique sur l'onglet Balises HTML. Par rapport au mode Normal, on voit en plus des icônes indiquant l'existence et le positionnement des balises, et donc l'application d'un style. Dans le texte présent, je vois donc les indicateurs des balises SPAN, BIG, SMALL, B, et d'autres que j'ai utilisés pour cette présentation et que nous apprendrons à connaître plus loin.

La balise BR n'est pas représentée.

Attention, seule figure la balise de début. Alors comment reconnaître la portion de texte qu'elle gouverne? En cliquant dessus. Cela a pour effet de sélectionner cette portion, comme on peut le constater dans la figure 1-5 avec l'expression "barre de mise en forme".

Figure 1-6. Affichage en mode Balises HTML
fig1-6

La balise BR n'est pas représentée.

Choix des couleurs du texte. Les trois niveaux de déclaration de style

La couleur du texte actuel est montrée en bas à droite, avec son code hexa qui est son nom dans un langage propre.

La couleur du texte ets noire par défaut. Pour la modifier, je sélectionne la portion de texte concernée et je clique sur le carré supérieur des couleurs de la barre de mise en forme (figure 1-4) dans la deuxième case. Cela ouvre la fenêtre [Couleur du texte] (fig. 1-7).

Cette fenêtre est également accessible par la barre de menu [Format]>[Couleur de texte].

Figure 1-7. Choix d'une couleur de texte  fig1-7

La couleur actuelle du texte où se trouve le curseur est montrée en bas à droite (dans le cas de la figure 1-7, c'était l'expression ci-dessus "Pour la modifier" en rouge). Figure également son code hexa qui est son nom dans un langage codé, et éventuellement son nom si elle fait partie des quelques couleurs qui ont reçu un nom précis.

Pour appliquer une nouvelle couleur, il faut d'abord la choisir la couleur. Il est possible de
Lorsque la couleur choisie et affichée dans le carré est la bonne, je clique sur OK pour l'appliquer.

En mode Source, on constate que la balise de début est suivie d'une déclaration de style "color" qui encadre le texte en couleur. Elle annonce la couleur du texte choisie par son code RGB "255, 0, 0":

l'expression ci-dessus "<span style="color: rgb(255, 0, 0);">Pour
la modifier</span>" en rouge). Figure &eacute;galement

On remarque donc que le mode de commande de style comporte trois niveaux
Si une couleur est déjà appliquée et que je n'en veux pas, cette fenêtre n'offre pas le choix "aucune couleur". Aussi faut-il simplement effacer le code de la case hexa et cliquer sur OK. Cela a pour conséquence d'appliquer la couleur de texte par défaut, sans ajouter un autre code inutile.

L'équivalent en attributs HTML (voir paragraphe "éléments html") est la balise <font> qui encadre le texte en couleur. Elle est suivie d'une déclaration de style "color" qui annonce la couleur du texte choisie par son code hexa "FF0000".

Systèmes RGB et TLS de codage des couleurs

Le système le plus intuitif pour choisir un ensemble de couleurs dans une page est le système TLS, qui code une couleur par les trois caractéristiques: teinte - luminosité - saturation. La Teinte est la couleur parmi la palette de l'arc-en-ciel, la Saturation c'est quand elle est pure et la désaturation quand elle tire vers le gris, enfin la Luminosité est la mesure du noir au blanc. Par exemple, si vous avez une couleur claire et que vous voulez changer d'ambiance, vous pouvez garder exactement la même clarté et changer la teinte. Inversement si vous voulez un ensemble de 3 ou 4 couleurs dans les mêmes teintes, vous agissez seulement pour l'obscurcir ou l'éclaircir. Le code RVB  aboutit aux mêmes couleurs avec trois autres coordonnées, le rouge, le vert, le bleu. On peut exprimer une couleur soit dans un système, soit dans l'autre. Dans la fenêtre de couleur de texte, les deux codes sont donnés et je constate que si je modifie l'un, l'autre est modifié en conséquence.
 
Proposition de modification: Malheureusement, la présentation qui est incluse dans NVU ne respecte pas l'échelle des luminosités intuitives en TLS car elle s'étale du noir à la couleur pure et ne se prolonge pas vers le blanc comme il est fréquent et commode (voir mon article en préparation sur les couleurs). Pour aller vers le blanc, il faut ensuite désaturer. Deux petits logiciels qui sont basés sur cette présentation sont proposés dans la section de fin de ce document: "Aller plus loin".

Choix de la couleur du fond. Surligner

Dans la barre de mise en forme, on trouve de plus un carré sous-jacent au précédent. Contrairement à quoi on pourrait s'attendre, il ne commande pas la couleur de fond du texte, mais la couleur du fond de la page entière. Anticipant sur la notion de bloc que j'aborderai dans la section suivante, j'indique que la couleur de fond consignée par le carré s'applique plus précisément à l'ensemble du bloc dont il fait partie. Comme je n'ai encore créé aucun bloc, il va s'appliquer au seul bloc existant par défaut qui est la page entière.

Pour appliquer une couleur de fond à une portion de texte, ce qui revient à le surligner, on actionne l'icône qui se trouve juste à droite de la précédente et qui représente un feutre de surlignage (figure 1-4).
<span style="background-color: rgb(255, 255, 51);">Pour
appliquer une couleur de fond &agrave; une portion de texte, ce qui
revient &agrave; le surligner, on actionne l'ic&ocirc;ne qui se trouve juste &agrave; droite de la
pr&eacute;c&eacute;dente et qui repr&eacute;sente un feutre de surlignage</span>

Je constate effectivement que surligner, c'est attribuer une couleur de fond.

Anomalie pour le surlignage: la mémoire de la dernière couleur utilisée ne survit pas à la fermeture du document.

Police de caractère.

Je peux également changer la police de caractère qui est affichée par défaut, par la barre de menu, ou par la barre de mise en forme.
[Format]>[Police] puis choisir .
Le menu déroulant se trouve dans la case qui affiche [Largeur variable]. Je sélectionne un texte et je lui applique une autre police, comme celle-ci.

Figure 1-8. Case de choix de police

fig1-8

En mode Source, la commande est codée par la déclaration font-family suivie de la valeur Comic Sans MS;

 <span style="font-family: Comic Sans MS;">Je
s&eacute;lectionne un texte et je lui applique une autre police,
comme celle-ci. </span>

L'équivalent en attribut HTML est la balise <font> qui signifie "police", suivie de l'attribut "face" suivi du choix de la police. On remarque qu'il y a également trois niveaux.

Personnaliser les barres d'outils

La barre de mise en forme comporte deux lignes d'outils, qu'il est possible de modifier par le menu [Affichage]>[Barres d'outils] de la barre de menu.

Pour l'afficher ou non:
[Affichage]>[Barres d'outils]>[Mise en forme].
Bien évidemment, on peut faire de même avec les autres barres:  principale, modes d'édition, barre d'état.

Pour modifier la présentation
Menu [Affichage]>[Barre d'outils]>[Personnalisation de la barre d'outils]>[Barre d'outils de mise en forme], ou par le clic droit de la souris lorsque le pointeur se trouve dans la barre de mise en forme ([Personnalisation de la barre d'outils]). On accède à la fenêtre suivante:

Figure 1-9. Personnalisation de la barre d'outils

fig1-9

C'est une boîte de stockage d'icônes d'outils supplémentaires. On peut prélever un outil et le transporter dans la barre. Ou bien l'inverse, enlever un outil de la barre dont on ne se sert pas, et le déposer dans cette fenêtre. Exemple ici de l'outil de police de caractère: avec la souris, placer le pointeur sur la case [Largeur variable] de la barre de mise en forme, et, en maintenant enfoncé le clic gauche de la souris, transporter cette case dans la fenêtre ouverte, pour obtenir le résultat de la figure 1-9. Elle a disparu de la barre de mise en forme.

Lorsque cette fenêtre est ouverte, il est également possible de transporter un outil  d'un endroit de la barre à un autre, d'une ligne à l'autre par exemple.

On peut faire de même avec la barre d'outil  principale.

2. Boîtes en ligne. Style interne. Classes de style

Mettre en forme un texte encadré par une balise de début et une balise de fin, cela revient à le mettre dans une boîte fictive comme celle-ci, délimitée par les balises <span> ou éventuellement d'autres balises comme <b> et <i> et située dans le courant d'une ligne de texte. C'est à cette boîte que sont attribuées les différentes caractéristiques que nous avons vues: police, couleur, taille, etc. Dans cette section, je montre que la boîte existe vraiment, que je peux lui donner un cadre et quelquefois des dimensions, la décorer en sorte. Comme ceci par exemple:

boîte fictive comme celle-ci

Le cadre que j'ai ajouté ci-dessus met bien la boîte en évidence. La notion de boîte est importante dans la gestion des styles et on va la retrouver et la développer par la suite.

Notion de boîte. Sélection d'une boîte

La boîte est un véritable objet que je peux sélectionner pour la copier, la coller, la modifier, etc. Je peux le faire de la façon habituelle avec le glisser de la souris ou le clic+MAJ. Mais je peux aussi utiliser une méthode qui se sert des balises, comme expliqué ci-après. Et là, nous entrons dans la spécificité de l'éditeur web.

En mode Normal, je place le curseur dans la boîte, c'est-à-dire dans le texte
qui a été formaté: boîte fictive comme celle-ci. Essayez!

Alors, apparaît dans la barre d'état, tout en bas de la page, une nouvelle indication. Ordinairement, on trouve écrit sur la gauche <body>. A la droite de cette indication, il y a maintenant <span>. C'est l'identifiant de la balise du texte formaté, qu'on appelle le sélecteur. Si je clique dessus, alors la boîte est sélectionnée. C'est une autre façon de mettre la boîte en évidence (figure 2-1). La boîte est un véritable objet que je peux sélectionner pour la copier, la coller, la modifier, etc. 

Figure 2-1. Sélecteur de balise dans la barre d'état
fig2-1

Styles internes

Pour agrémenter la boîte, je vais lui ajouter une bordure, des marges et une couleur de fond. Pour cela, il faut qu'elle existe déjà, avec une balise SPAN ou BIG, par exemple avec un texte formaté en gras: boîte fictive comme celle-ci. A nouveau, je place le curseur dans la boîte, le sélecteur <span> apparaît donc dans la barre d'état. J'amène le pointeur de ma souris sur ce sélecteur, et j'ai alors accès à un nouveau menu contextuel avec le clic droit de la souris. Je vais explorer la rubrique  [Styles internes].

Figure 2-2. Menu contextuel des styles internes
fig2-2

Bordures

Je vais dans [Styles internes], et je clique sur [Propriétés des bordures]. Là, je peux choisir: même bordure sur les 4 côtés, ou des bordures différentes, pas de bordure, le style du trait de bordure, l'épaisseur et la couleur du trait.

Cela donne ceci: boîte fictive comme celle-ci.

Marges internes et marges externes

Je continue à exploiter les possibilités des styles internes proposés par le menu contextuel de la figure 2-2.

Pour éloigner le cadre du texte, je vais dans [Style interne]>[Propriétés de la boîte], rubrique [Espacement], et j'indique par exemple 3 pixels à gauche, à droite et 1pixel en haut. L'espacement est un écartement du trait par rapport au texte, ce que les encadreurs pourraient nommer la marie-louise.

Il y a aussi la rubrique [Marges] qui fixe un espace autour du cadre. Fixer une marge dans une boîte située sur une ligne n'a pas vraiment de sens, mais on peut éventuellement fixer une marge gauche et droite. Les rubriques des dimensions [Hauteur], [Largeur] ne sont pas opérationnelles. Elles ne fonctionneront que dans les boîtes de blocs que nous étudierons plus loin.

Agrémenter une boîte une couleur de fond. Surligner

J'ajoute une couleur de fond - ce qui est équivalent à surligner - avec [Propriétés du fond]. J'accède à la palette des couleurs en cliquant sur le bouton situé sur la droite de la fenêtre. Le fond de couleur s'ajoute en surimpression au fond du corps de texte, si toutefois j'en ai défini un, ce qui n'est pas encore le cas ici. Voici le texte précédent avec cadre, espacement et couleur de fond.

boîte fictive comme celle-ci

Style du texte en style interne

Enfin, on peut  modifier les polices, leur style, la casse, et fixer leur taille en points, en pixels ou d'autres unités, avec [Propriétés du texte].

Unités de taille de police. Les em

La taille de police et la hauteur de ligne peuvent être exprimées en diverses unités, y compris les points, et les pixels, mais aussi des pourcentages et des "em".

S'il s'agit de la hauteur de ligne ou d'autres propriétés qui ne sont pas la taille de police, l'em exprime le pourcentage de sa taille par rapport à la taille de la police.

S'il s'agit de la taille de police elle-même, le pourcentage de l'em a rapport à la taille de police du bloc qui contient le texte. Par exemple, ici, de la taille du corps de texte. Il doit être exprimé à la façon anglaise avec un point et non une virgule: 1.5 em.

Déclarations de style interne. Style intégré

Où ces nouvelles indications de style interne se trouvent-elles inscrites en HTML? Voyons ce qu'il en est pour la boîte boîte fictive comme celle-ci en mode Source:

Voyons ce qu'il en est pour la bo&icirc;te
<span style="border-style: solid; border-color: rgb(204, 153, 51); font-weight: bold; padding-left: 3px; padding-right: 3px; background-color: rgb(255, 204, 51); font-family: Verdana;">bo&icirc;te
fictive comme celle-ci</span>


Je peux constater que la balise de début <span est suivie d'une déclaration de style style=" "> . Toutes les déclarations de style ont été inscrites dans style=" ". Il est indiqué qu'une ou plusieurs propriétés (la bordure, la couleur du trait de bordure, l'épaisseur du texte, l'espacement à gauche, l'espacement à droite, la couleur de fond, la police) de la portion de texte située entre la balise de début <span style="  "> et la balise de fin </span> doivent avoir telle caractéristique ou telle valeur (trait plein, couleur (204, 153, 51), gras, 3 pixels, Verdana).

L'ensemble des propriétés regroupées sous la déclaration style=" " est appelé Style interne dans le menu.

Le style interne est une composante du Style intégré. Intégré à quoi? à la boîte, par la balise de début. Nous verrons dans la section 10 que le style intégré comprend des styles internes et des attributs html. Le style intégré est vraiment une spécificité des éditeurs web.

Substituer une balise par une autre

Il est possible de substtuer une balise par une autre: remplacer <span> par <b> éventuellement. On peut bien sûr passer en mode Source et inscrire directement <b> à la place de <span>, et </b> à la place de </span>. Mais il existe un moyen astucieux en mode Normal qui fait appel à une autre fonction du menu contextuel de l'indicateur de balise et qui s'appelle Modifier la balise. Placer le pointeur sur l'indicateur de balise <span> dans la barre d'état et faire apparaître le menu contextuel avec le clic droit de la souris (figure 2-2). Cliquer sur [Modifier la balise]. L'apparence de l'indicateur dans la barre d'état change, indiquant qu'il est modifiable. Taper "b" et appuyer sur la touche "Entrée". C'est fait.

Emboîtement des boîtes. Conteneur. Notion d'héritage

Et maintenant, que se passe-t-il si à l'intérieur d'une boîte, je surajoute un style sur une partie de cette boîte? Par exemple, il y a un texte formaté en vert, et une partie de ce texte est en gras.

une partie en couleur, et dedans un mot en gras.

J'ai ajouté des bordures pour visualiser les boîtes qui sont emboîtées l'une dans l'autre. Vous en aurez une meilleure idée si vous observez l'affichage en mode Balises HTML. On y voit l'emplacement des balises du mode Source. Une première balise ouvre la première boîte. Une deuxième balise ouvre la sous-boîte. Les balises de fin ne sont pas représentées. En mode Source, la sous-boîte est ensuite fermée par une balise de fin, et enfin la première boîte est fermée à son tour. On dit que la boîte contient la sous-boîte.

Figure 2-3. Emboîtement des boîtes en mode Balise HTML
figure 2-3

La notion de boîte contenante est évidente, mais elle est essentielle et va souvent intervenir. On a l'habitude de l'appeler le conteneur. Lorsqu'on voudra affecter un style à une partie de texte ou un paragraphe, on se posera souvent la question: quel est le conteneur de ma boîte? Quel style lui est lié? En effet la sous-boîte hérite des styles de sa boîte conteneur, sauf modifications. Dans l'exemple ci-dessus, la sous-boîte hérite de la couleur de texte verte. Par contre le style de lettre est modifié explicitement en gras.

La notion de boîte est une analogie qui reste limitée, car il y a une grande différence avec des boîtes de chaussure (outre les 3 dimensions de la boîte de chaussures): nos boîtes ont un sens, une orientation. Elles ont un début et une fin, dans le sens de l'écriture.

Je compare cela au déroulement des jeux olympiques qui se tiennent dans une grande ville. Avant le début des jeux, il y a une ville où la vie se déroule de façon banale, avec ses activités économiques, associatives, de loisirs, etc... C'est le corps de texte. Remarquez que dans cette vie ordinaire, il y a des changements de ligne: les changements de jours... Et puis, un jour particulier, a lieu la cérémonie d'ouverture: c'est la balise de début. La cérémonie de fermeture posera la balise de fin. Entre les deux, un style particulier, dont les caractéristiques sont fixées par le Comité de mise en forme. Cependant, certains moments bénéficient d'un autre style, les remises de prix. Elles commencent à une certaine heure en présence des officiels (ouverture d'une sous-boîte) et se termine selon un protocole bien établi (fermeture de la sous-boîte). A l'une de ces remises de prix, il y a même un panache particulier. Le chef de l'Etat est venu y assister en personne. On met l'accent - on dira l'emphase - sur celle-ci par un ajout de style (voir [Format]>[Style de texte]>[Mise en évidence]). C'est une sous-boîte avec un style modifié par rapport aux autres. L'orientation des boîtes est bien évidemment celle du temps.

D'où une autre question: si je veux que toutes mes sous-boîtes aient un style identique de remise de prix, est-ce que je dois à chaque fois redonner les indications aux boîtes? N'y a-t-il pas moyen de copier le style d'une boîte pour l'appliquer à une autre? Oui, et cela introduit la notion de classe, que je vais explorer plus loin.

Hiérarchie des emboîtements dans la barre d'état. Boîte <body>

Je place le curseur dans la sous-boîte "un mot" de l'expression suivante:
une partie en couleur, et dedans un mot en gras.

Faites-le vous-aussi.

Figure 2-4
figure 2-4

Dans la barre d'état apparaissent trois sélecteurs de balises, qui correspondent aux trois boîtes emboîtées dans lesquelles est situé le curseur, indiquées de façon hiérarchiques, de la plus générale et vaste à gauche, à la plus particulière à droite.

Si je clique sur le <span> de droite, alors je sélectionne la sous-boîte.

Figure 2-5
Figure 2-5

Si je clique sur le deuxième <span> vers la gauche, je sélectionne la boîte qui contient la sous-boîte.

Figure 2-6
Figure 2-6

Enfin, si je clique sur la balise <body>, je sélectionne le corps de texte en entier qui contient toutes les boîtes.

Et oui, le corps de texte est lui aussi une boîte!

Boîte <body>. Fixer le style du corps de texte avec un style interne

Enfin, si je clique sur la balise <body>, je sélectionne le corps de texte en entier qui contient toutes les boîtes.

Et oui, le corps de texte est lui aussi une boîte! Alors, puisqu'une boîte est associée au corps de texte, je vais en profiter pour lui appliquer un style interne.

Le corps de texte, c'est la vie de tous les jours avant et après les jeux. Il constitue la grande boîte qui contient toutes les autres. C'est la boîte racine. Je peux m'en assurer en voyant la présence de son sélecteur <body> dans la barre d'état quel que soit l'endroit où se trouve le curseur.  Et comme les autres boîtes, je peux la sélectionner en cliquant sur ce sélecteur.

Je peux aussi lui appliquer les styles internes de boîte. En survolant le symbole <body>, j'ai accès au menu contextuel [Styles internes] qui me permet de régler à ma convenance la police, les bordures, la couleur de fond et les marges. Voilà enfin comment changer le style par défaut s'il ne nous plaît pas!

Par défaut, le corps de texte comporte des marges. Il est parfois indiqué de les mettre à zéro (voir section 7 lors du positionnement des blocs DIV). Ou bien on peut avoir envie de la fixer à une valeur plus grande.

La couleur du fond de <body> est accessible de façon équivalente par le menu [Format]>[Couleur et fond de page]. Note: la couleur de fond du corps de texte s'applique sur tout le champ visuel de l'écran, pas seulement à l'intérieur des bordures.

Où vont se loger toutes ces indications de style? Eh bien de la même manière que pour les balises SPAN, on les retrouve dans les déclarations de style incluses dans la balise d'ouverture <body>, tout au début du texte. Vous vous souvenez? C'est la première balise avec <br> qu'on a vu écrite en Mode HTML.

<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 204);">

On pourrait en rester là en ce qui concerne la définition du style du corps de texte, mais il y a une autre méthode qui est meilleure et qui sera étudiée plus loin avec la notion de style interne à un sélecteur dans l'éditeur de style.

Sortir d'un style ou d'une boîte

Je tape du texte, dans le format de paragraphe "corps de texte". Et puis, je décide de continuer à saisir en style gras. Comme on l'a vu plus haut, je clique sur le symbole B dans la barre de mise en forme. Pour interrompre ce style, il suffit de cliquer à nouveau sur le symbole. Et je continue en corps de texte. Cela a posé la balise de fin.

Autre cas: je suis dans des boîtes emboîtées, et je veux sortir de toutes les boîtes à la fois? J'ai la possibilité de retomber au niveau "Corps de texte", soit par le menu [Format]>[Annuler le style de texte], soit par le raccourci clavier: CTRL+MAJ+Y

Je peux également faire les même opérations sur une partie de texte déjà saisie: enlever un style ou enlever tous les styles (jusqu'au niveau corps de texte). Il suffit de sélectionner la partie, et d'effectuer les mêmes manoeuvres.

Un autre procédé astucieux est de positionner le curseur, de survoler le sélecteur de la barre d'état, et dans le menu contextuel, de sélectionner [Supprimer la balise].

Créer un style de classe. Partie <head>

Imaginons maintenant que j'ai plusieurs boîtes auxquelles je veux donner le même style, comme plusieurs remises de prix à l'intérieur des jeux olympiques. Comment faire pour ne pas répéter toujours les mêmes indications? Et bien, je vais regrouper les déclarations de style dans un ensemble qu'on appelle une classe, c'est-à-dire, un style générique. A cette classe, je vais donner un nom, afin de faire appel à elle quand je veux.

Je reviens à l'exemple ci-dessus, que je place à nouveau ici par un copier-coller:  boîte fictive comme celle-ci

Je place le curseur dedans afin de faire apparaître le symbole <span> dans la barre d'état. En le survolant, je fais apparaître le menu contextuel avec le clic droit de la souris. Je clique sur [Styles internes] >[Extraire et créer un style générique].

Figure 2-7
Figure 2-7

La fenêtre [Créer un style générique] s'affiche. Enlever la sélection  [...cet élément uniquement] et cocher [...tous les éléments] et [de classe]. Enlever également la sélection [De même type]. De même type: sous-entendu que cette balise <span>. Dans le cas contraire, on ne créerait la classe que pour les éléments <span>. Je souhaite que cette classe puisse s'appliquer où je veux. Ensuite, il suffit de donner un nom à la classe de style: "boite" (en évitant tout accent dans l'orthographe).

Qu'est-ce que ça change en HTML?
D'une part, je peux observer que les déclarations de style intégré ne sont plus dans la balise <span>. A la place, une indication renvoie vers la classe "boite".

un
copier-coller: <span class="boite">bo&icirc;te fictive comme celle-ci</span><br>

Quant à la classe "boite", elle est enregistrée dans la partie <head> située en haut de la page HTML.

<head>
  <style type="text/css">
*.boite
{
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: rgb(204, 153, 51);
  border-right-color: rgb(204, 153, 51);
  border-bottom-color: rgb(204, 153, 51);
  border-left-color: rgb(204, 153, 51);
  font-weight: bold;
  background-color: rgb(255, 204, 51);
  padding-top: 1px;
  padding-left-value: 3px;
  padding-left-ltr-source: physical;
  padding-left-rtl-source: physical;
  padding-right-value: 3px;
  padding-right-ltr-source: physical;
  padding-right-rtl-source: physical;
}
  </style>
</head>

L'éditeur CSS de feuille de style interne

Cette modification de l'emplacement des déclarations de style, qu'est-ce que ça change? Le style "boite" a été extrait de son petit coin au sein d'une balise de boîte ou de paragraphe, et il est maintenant disponible quand je veux pour tout ce que je veux pour la page entière dans les déclarations de style de la partie <head>. L'ensemble des déclarations de styles consignées dans cette partie <head> est ce qu'on nomme la feuille de style interne.

Attention: Feuille de style interne parce qu'il existe aussi des feuilles de style externes. C'est pourquoi la feuille de style de la partie <head> est appelée interne, interne au document. Ne pas confondre cette feuille interne avec le style interne dans le menu contextuel, interne à la balise, c'est-à-dire intégré. Je rappelle que les styles intégrés des balises sont soit des styles internes (annoncés par style ="  "), soit des attributs html, non encore étudiés. Pour ne pas faire confusion, je parlerai de style intégré et de feuille interne.

Y a-t-il un moyen de voir cette feuille de style sans passer par le mode Source? Bien sûr grâce à l'éditeur de cette fameuse feuille de style. [Outils]>[Éditeur CSS].
Faites-le
:

La fenêtre de l'éditeur s'affiche. Dans la rubrique [Feuilles et règles], en haut à gauche, je clique sur le + de [Feuille de style interne]. On y voit bien répertorié le style ".boite". Un point (.) s'y est ajouté, indice spécifique d'une classe.

Figure 2-8
figure 2-8

Créer une classe limitée aux balises de même type

Et si j'avais coché non seulement [...tous les éléments] et [De classe] comme au-dessus, mais aussi [De même type]?

Puisque j'extrais le style d'une boîte <span>, cela voudrait dire que j'aurais créé la classe pour l'appliquer seulement aux éléments <span>. J'aurais créé la classe "span.boite".

En fait, créer la classe ".boite" et l'appliquer ensuite à l'élément <span> que je sélectionne comme j'ai fait ci-dessus est équivalent. Cela donne  <span class="boite">.

Reste à savoir comment appliquer cette classe à un élément donné.

Appliquer une classe de style à un texte sélectionné

Appliquer la classe définie à un texte sélectionné est vraiment immédiat. Je sélectionne le texte ou le paragraphe sur lequel je porte l'attention. Par exemple un mot, "bonheur". La classe est maintenant accessible par la barre de mise en forme dans le menu déroulant de la première case à gauche de la deuxième ilgne (figure 2-9). Je sélectionne la ligne "boite". Voici le résultat: bonheur

Figure 2-9
fig2-9

Si je place le curseur dans "bonheur", j'ai accès au sélecteur <span> dans la barre d'état. Ainsi, une balise <span> a été placée automatiquement en appliquant une classe.

Ensuite, j'ai accès au menu contextuel de la barre d'état comme on l'a vu plus haut pour les balises <span>, mais aussi <b>, <i>, etc.. Je peux donc voir la rubrique [Styles internes] associée. Je constate qu'il n'y a aucune indication dans la fenêtre [Propriétés de la boîte], par exemple. Bien évidemment puisqu'elles ont été extraites et propulsées dans la feuille de style. Une classe n'est pas un style intégré à la balise.

Cependant je peux utiliser cette fenêtre de style interne pour modifier localement cette boîte "bonheur" sans modifier la classe qui est un style générique. Les indications que je vais inscrire de façon locale seront prédominantes par rapport aux indications générales de la classe. Le particulier l'emporte sur le plus général.

Pour enlever le style de classe, recliquer dessus dans le menu déroulant, ou supprimer la balise dans le menu contextuel si elle ne contient pas d'autres propriétés de style.

Modifier le style d'une classe avec l'éditeur de feuille de style

Inversement, si je veux que la modification s'applique de façon uniforme à toutes les parties de texte auxquelles j'ai attribué le style ".boite", alors je dois le faire à partir de l'éditeur CSS.

[Outils]>[Editeur CSS], puis je clique sur le + devant [Feuille de style interne]. Je sélectionne la classe ".boite" , et toutes les caractéristiques de cette classe s'affichent dans la partie droite, associées à l'onglet [Général].

Figure 2-10
figure 2-10

Avec les autres onglets, je peux modifier les caractéristiques. Ils sont directement analogues aux menus des styles intégrés [Styles internes] dans la barre d'état: propriétés du [Texte], du [Fond], des [Bordures] et de la [Boîte] (et [Audio] que je n'aborde pas). Puis cliquer sur le bouton "[Fermer] en bas à droite.

3. Création de blocs "paragraphe"

Avec ce que nous avons appris au-dessus, nous avons tous les éléments pour nous permettre de saisir le texte de notre page web et de le formater de façon agréable. Lorsque j'ai saisi un paragraphe en corps de texte, il suffit que je le sélectionne et que je lui applique une classe pour lui donner les styles les plus divers.

Cependant, il me manque la possibilité d'entourer une zone entière par une bordure, de lui donner des marges et un fond coloré comme je l'ai fait dans la page de présentation au début de ce tutoriel. Car les bordures, marges et les fonds que j'ai appris à créer en corps de texte sont limités aux suites de caractères et ne s'appliquent pas à une zone entière. Ainsi, essayez d'appliquer la classe ".boite" à tout un paragraphe.

Grâce à la notion de blocs, je vais pouvoir combler ce manque et réaliser bien d'autres choses encore. Pour en comprendre le fonctionnement, je vais d'abord explorer le fonctionnement des blocs "Paragraphes".

Format de paragraphe. Balise <p>

Par défaut, j'ai saisi le texte dans le format corps de texte. Les caractéristiques de ce format sont définis également par défaut par NVu. En corps de texte, un paragraphe est une partie de texte encadrée par deux fins de lignes, deux balises <br>.

Pour lui attribuer vraiment la nature d'un paragraphe, et qu'il ne soit pas seulement une partie du corps de texte, je place le curseur dans le paragraphe de corps de texte. Puis je sélectionne [Paragraphes] dans le menu déroulant des formats de paragraphes de la barre de mise en forme (première case à gauche: "corps de texte"). C'est-ce que je vais effectuer pour le paragraphe que vous lisez, après l'avoir recopié pour voir la différence.

Figure 3-1
figure 3-1

Pour lui attribuer vraiment la nature d'un paragraphe, et qu'il ne soit pas seulement une partie du corps de texte, je place le curseur dans le paragraphe de corps de texte. Puis je sélectionne [Paragraphes] dans le menu déroulant des formats de paragraphes de la barre de mise en forme (première case à gauche: "corps de texte"). C'est-ce que je vais effectuer pour le paragraphe que vous lisez, après l'avoir recopié pour voir la différence.

Mis à part le fond jaune que je viens d'ajouter pour que vous distinguiez le paragraphe comme une figure, (grâce d'ailleurs à sa nature de bloc comme nous allons le voir), il y a vraiment peu de changements. Dans le cas présent, cela n'a fait que décaler le texte vers le bas. Pas grand intérêt? Et bien si. Maintenant, mon paragraphe est singularisé et identifié, et je vais pouvoir lui donner d'autres attributs, un autre formatage.

Comment ces paragraphes sont-ils repérés et identifiés? Par les balises html de début <p> et de fin </p>. La balise de fin de paragraphe crée un retour à la ligne qui se substitue à la balise <br>.

<p> Pour lui attribuer
vraiment la nature d'un paragraphe, et qu'il ne soit pas seulement une partie
du corps de texte, je place le curseur dans le paragraphe de
corps de texte. Puis je s&eacute;lectionne [Paragraphes] dans le
menu d&eacute;roulant des formats de paragraphes de la barre de
mise en forme (premi&egrave;re case &agrave; gauche: "corps de
texte"). C'est-ce que je vais effectuer pour le paragraphe que vous
lisez, apr&egrave;s l'avoir recopi&eacute; pour voir la
diff&eacute;rence.
</p>

En mode Balises HTML, je constate que le paragraphe est identifié par le symbole de balise P.

Figure 3-2
figure 3-2

Notion de bloc. Boîtes en ligne et boîte de bloc.

En déclarant une partie de texte en tant que paragraphe repéré par sa balise, je crée un bloc. Les blocs peuvent être mis en évidence en mode Normal ou Balises par le menu [Affichage]>[Mise en évidence des blocs].  Faites-le. 

Figure 3-3
figure 3-3

Vous voyez que le bloc est bien délimité par son cadre qui le distingue du corps de texte. La notion de bloc est proche de celle de boîte, car le bloc est en lui-même une boîte et on va pouvoir lui conférer des styles internes comme aux autres boîtes. Disons qu'on peut distinguer deux types de boîtes correspondant à deux types de balises:

Nature du format "Paragraphe". Saisie de texte et changement de paragraphe

Examinons ce qui se passe lorsqu'on saisit du texte dans un paragraphe formaté comme tel. Évidemment, j'ai la possibilité de saisir du texte à l'intérieur du bloc paragraphe, au lieu de faire la mise en forme après la saisie. Mais que se passe-t-il lorsque j'appuie sur la touche ENTRÉE? Est-il possible de faire des sauts de lignes à l'intérieur d'un paragraphe? Et comment sortir du paragraphe?

Essayez. La touche ENTRÉE crée un saut de ligne à l'intérieur du paragraphe en posant une balise <br>, mais pas de nouveau paragraphe. Mais attention, si je tape une deuxième fois sur la touche ENTRÉE, la ligne vide précédente est changée en un nouveau paragraphe,
<br></p>
<p></p>
avec une balise de fin <p> pour clore le premier paragraphe, et deux balises <p> </p> pour créer le suivant. Du coup la première balise <br> est inopérante et superflue, mais elle reste. C'est pourquoi, il y a un outil prévu pour éliminer les balise <br> superflues: [Outils]>[Nettoyeur de balise]. Cocher [Nettoyer les <br> superflus].

Question: Cela explique pourquoi quand je veux effacer cette fin de paragraphe avec la touche "Efface le dernier caractère", certaines fois (mais pas toujours!), il faut que j'appuie deux fois sur la touche. La première action efface <p></p> et la deuxième efface <br> (et quelque fois en plus un caractère!).

Cependant, attention à nouveau: cela peut se passer autrement selon l'option "Comportement de la touche ENTRÉE". Dans le menu [Outils]>[Préférences], je sélectionne [Avancées], puis dans la rubrique [Comportement de la touche Entrée], je coche: [Crée automatiquement un nouveau paragraphe]. En corps de texte, cela ne fait aucune différence, mais là, en format "Paragraphe", ça change quelque chose. Si je tape la touche ENTRÉE, je crée directement un second paragraphe-bloc avec les balises <p></p>. Les deux paragraphes sont bien séparés par un espace vide, une marge en haut et une marge en bas.

Et si je veux un retour à la ligne dans le même paragraphe? Ça peut être utile si je donne un fond de couleur au paragraphe. Si j'ai un seul paragraphe avec plusieurs lignes, il aura un fond continu. Si j'ai deux paragraphes, j'aurai deux fonds séparés par la marge blanche. Très simple: Je crée un saut de ligne en appuyant sur MAJ+ENTRÉE, comme dans les traitements de texte habituels.

Il faut donc bien distinguer les fins de ligne (retour à la ligne) par lesquelles le style n'est pas interrompu, et les fins de paragraphe qui mettent fin au paragraphe et à son style. Dans le premier cas, je reste dans le paragraphe, dans l'autre cas, j'en sors immédiatement. Autre possibilité pour sortir du format "Paragraphe", ou pour enlever le format Paragraphe, sélectionner [Corps de texte] dans le menu des styles de paragraphe (figure 3-1). Ou encore curseur dans le paragraphe, aller dans le menu contextuel du sélecteur de la barre d'état, et sélectionner [Supprimer la balise].


Figure 3-4
figure 3-4

Selon mon expérience, il est plus commode de choisir l'option [Crée automatiquement un nouveau paragraphe], et de changer de ligne à l'intérieur d'un paragraphe avec MAJ+ENTRÉE. On retrouvera le même comportement dans d'autres blocs.

Ces petits détails nous révèlent la nature des blocs paragraphes. Ils permettent de créer des paragraphes, grande découverte. Cela signifie que par défaut, le style d'un paragraphe est identique à celui du corps de texte avec une marge en haut et une marge en bas qui rend inutile l'insertion d'une ligne vide. Il y a interpénétration des marges de paragraphes successifs de telle sorte que la marge en haut du deuxième paragraphe ne s'ajoute pas à la marge en bas du précédent. Et lorsque je quitte un paragraphe en changeant de ligne, un nouveau paragraphe démarre. Idéal pour écrire une suite de paragraphes!

Évidemment! J'insiste cependant, car au fur et à mesure que j'ai avancé plus loin dans l'édition web, je me suis demandé qu'est-ce qui faisait la différence entre les différents types de blocs. Car enfin, nous allons découvrir qu'à n'importe quel bloc, on peut donner à peu près n'importe quel style.

Par exemple, si je veux, je peux donner immédiatement au paragraphe des marges nulles. C'est ce que nous allons examiner tout de suite.

4. Donner un style aux blocs paragraphes

Lorsque j'ai attribué au paragraphe en corps de texte le format "Paragraphe", nous avons constaté qu'il se décalait vers le bas, n'est-ce pas? C'est parce que le style par défaut génère des marges supplémentaires en haut et en bas. Bien sûr, on peut modifier ces marges et choisir tous les autres attributs que l'on veut (texte, boîte, bordure, fond) pour créer un style distinct du corps de texte, et cela de trois façons différentes, en fonction de ce que l'on veut obtenir.

  1. On peut avoir envie d'appliquer un style particulier à un seul paragraphe.
  2. On peut vouloir donner un style spécial à toute une classe de paragraphes (on utilisera alors la notion de classe).
  3. Ou bien, et c'est nouveau, on veut définir un style par défaut à la balise <p> qui sera systématiquement appliqué à tous les paragraphes.

Créer un style interne pour un paragraphe

Je peux donner un style particulier à un seul paragraphe, par exemple celui que je suis en train d'écrire, formaté en "Paragraphe". On connaît déjà cette façon de procéder, car elle est est la même que pour n'importe quelle balise. C'est celle qui consiste à fixer les propriétés de la boîte associée.
Je place le curseur dans le paragraphe, et le sélecteur de la balise <p> apparaît dans la barre d'état en bas de la page. Je survole ce sélecteur pour accéder au menu [Styles internes] avec le clic droit de la souris. En suite, je peux fixer le style que je veux dans ce menu (figure 4-1): [Propriétés du texte], [Propriétés des bordures], [Propriétés du fond], [Propriétés de la boîte]. Par exemple, dans ce paragraphe, j'ai fixé une taille de police de 1.2 em, et une couleur de fond rose, une largeur de 76% et des remplissages gauche et droit de 4px.

Figure 4-1
figure 4-1

De nouvelles propriétés sont réglables avec [Propriétés de la boîte], comme la largeur du bloc, fixée dans ce paragraphe à 75%, la hauteur, les marges, l'espacement. 

L'espacement est la marge interne, l'espace qu'on ajoute à la largeur de texte pour définir le fond et les bordures. Les marges s'ajoutent autour du fond et des bordures. Si l'on veut calculer l'occupation totale de la boîte en largeur, il faut ajouter les trois. 

La position sur la ligne, à gauche ou à droite, au milieu est obtenue en choisissant les marges. 

Remarque: si je veux que le paragraphe soit aligné à droite, je suis tenté de fixer la marge droite à 0. Et bien cela ne marche que si j'inscris pour la marge gauche "auto" (figure 4-2).

Figure 4-2
figure 4-2


Pour centrer, choisir la même marge à gauche et à droite, et laisser la largeur indéfinie. Car bien sûr, il faut que les chiffres soient compatibles. La somme des marges, des espacements et de la largeur ne doit pas dépasser 100% par exemple. Donc il est recommandé de choisir certaines valeurs (les marges et les espacements, ou une marge et la largeur), et laisser une propriété indéterminée afin qu'elle se règle automatiquement (la deuxième marge ou la largeur du texte qui s'ajuste à l'écran).

La manière la plus spécifique pour centrer le bloc est d'inscrire dans les cases [Marge gauche] et [Marge droite]  la valeur "auto". Ça ne s'invente pas!

Je vous rappelle que quand nous fixons ces valeurs de style, le logiciel va coller les déclarations de style à l'intérieur de la balise: <p style ="  ">, comme le montre le mode Source.

<p style="font-weight: inherit; background-color: rgb(255, 226, 226); width: 75%; padding-right: 1%; padding-left: 1%; margin-left: auto; margin-right: auto; font-size: 1.1em;"><br>
Pour <span style="font-weight: bold;">centrer</span>, choisir la m&ecirc;me marge &agrave; gauche et &agrave; droite, et laisser la largeur ind&eacute;finie. Car bien

Afficher les règles

Astucieux: Je peux aussi modifier la largeur, la hauteur et la position du bloc grâce aux règles que vous voyez probablement sur les bords en haut et à gauche de l'écran, et qui marquent les limites du bloc  (fig. 4-3). Il suffit de faire coulisser les extrémités de ces règles. Elles indiquent la largeur cumulée du texte et du remplissage. 

Figure 4-3. Utiliser les règles, en haut et à gauche
figure 4-3

Pour afficher ou non les règles, il faut aller dans la barre des menus:

[Affichage]>[Barres d'outils]>[Règles]

Créer un style de classe à partir d'un paragraphe

Afin de distinguer toute une catégorie de paragraphes de façon spécifique, par exemple les paragraphes qui me servent de démonstration et que je voudrais mettre en évidence comme une figure, je vais définir un style pour cette catégorie ou classe, appelé un style de "classe", et j'appliquerai ce style de classe aux paragraphes sélectionnés.

On sait déjà comment créer un style de classe puisqu'on s'en est servi avec la balise <span> (voir créer un style de classe). Il suffit de faire la même chose avec la balise <p>. Je formate un paragraphe tel que je le veux, tel le paragraphe mauve ci-dessus. Je place le curseur dans ce paragraphe. 

Par le menu [Styles internes] de la barre d'état, j'utilise la fonction [Extraire et créer un style générique]. La boîte de dialogue s'ouvre (figure 2-7), j'enlève la sélection [cet élément uniquement] et je coche [tous les éléments] et [de classe]. Je donne un nom à la classe: "mauve". Là j'ai encore un choix: [de même type] ou pas?

<p class="mauve">
<span style="font-weight: bold;">Astucieux:</span> Je peux aussi
modifier la largeur, la hauteur et la position du bloc gr&acirc;ce

Euh, du moins c'est ce qu'il devrait faire, mais en fait, c'est la même indication qui s'affiche en mode Source, preuve qu'elles sont équivalentes. Les deux procédés donnent le même résultat.

Remarque: Une fois que cette opération a été effectuée, la fonction [Extraire et créer un style générique] n'est plus active. Bien sûr, puisqu'une fois que vous avez extrait le style intégré pour le placer dans la feuille de style, il n'y a plus rien à extraire.

Appliquer le style de classe à d'autres paragraphes

Pour appliquer le style de classe créé (.mauve) à un autre paragraphe déjà saisi ou en cours de saisie, je procède de façon (presque) identique à ce que j'ai fait en corps de texte. Je sélectionne le paragraphe (et pour cela, il suffit que le curseur soit positionné dans le paragraphe), je vais dans le menu déroulant de la barre de mise en forme (deuxième ligne, première case à gauche), et je sélectionne la classe voulue.

La classe sélectionnée apparaît alors dans le haut du menu déroulant au-dessus d'une barre horizontale. Si je clique une deuxième fois, cela l'annule.

Autre méthode: je me rends dans la barre d'état, au-dessus de la balise <p>. On a l'habitude d'aller voir [Styles internes]. Cette fois, je vais voir [Classes]. Je clique sur la classe que je veux, et elle se retrouve en-haut du menu, séparée par une barre horizontale et cochée (figure 4-4).

Figure 4-4

figure 4-4

Créer un style générique pour <p> à partir de la barre d'état

Enfin, troisième cas, je peux avoir envie de définir un style commun à tous les éléments <p>, remplaçant le style par défaut de cet élément. On agit de la même façon que pour définir une classe vu ci-dessus. Toujours avec le curseur dans un paragraphe façonné au format voulu, j'affiche le menu contextuel de la barre d'état et je sélectionne [Extraire et créer un style générique] (figure 2-7). J'enlève la sélection [cet élément uniquement] et je coche [tous les éléments]. La différence est que je sélectionne maintenant  [de même type], et je ne coche pas [de classe]. Automatiquement, tous les paragraphes <p> sont formatés dans ce style.

En mode Source, il n'y a plus aucune déclaration après la balise <p>. Les déclarations sont reportées dans la feuille de style de l'en-tête: <head> </head>, entre les balises <style> et </style>.

  <style type="text/css"> p
{  font-size: 1.2em;
  background-color: rgb(255, 226, 226);
}

.boite { border-style: solid;
border-color: rgb(204, 153, 51);
font-weight: bold;
background-color: rgb(255, 204, 51);
padding-top: 3px;

  </style>
</head>

Créer un style générique pour <p> avec l'éditeur de style CSS

Puisque la manoeuvre d'extraction a pour effet de reporter les déclarations de style dans la feuille de style, il est également possible de les y inscrire directement. Voici donc une méthode alternative générale pour définir le style générique de <p> qui utilise directement la feuille de style, par l'intermédiaire de l'éditeur CSS. Elle a l'avantage qu'on peut y définir les styles avant même d'avoir saisi aucun paragraphe ni corps de texte, comme choix de départ.

Pour accéder à la feuille de style, je me rends dans [Outils]>[Editeur CSS]. Si aucun style n'a encore été créé, la rubrique [Feuilles et règles] est vide.


Figure 4-5
figure 4-5

Pour créer une feuille de style, il y a une méthode pour débutant et une pour expert. Je vous recommande de sélectionner [Mode Expert], cela affichera une fenêtre plus simple, puis cliquez sur [Règle]. Voici ce que nous obtenons:

Figure 4-6.Créer un style pour un type de balise
figure 4-6

Je sélectionne [style appliqué à tous les éléments d'un type], et j'inscris le sélecteur du type: "p". Puis je clique sur [Créer la règle de style]. J'obtiens ceci (figure 4-7).

Figure 4-7
figure 4-7

Puis je procède exactement comme avec les classes (section 2, figure 2-10). Avec les onglets, je peux choisir les caractéristiques: propriétés du [Texte], du [Fond], des [Bordures] et de la [Boîte]. Puis cliquer sur le bouton "[Fermer] en bas à droite.

Créer tout type de style et modifier les styles existant avec l'éditeur de style

Récapitulons ce que nous savons de la création de styles par cet éditeur de feuille. Au cours des sections précédentes, nous avons créé des classes qui s'appliquent à des portions de texte ou à des blocs, et un style de paragraphe obtenu par extraction. La feuille de style existe donc déjà (figure 2-10). A partir de cette feuille, je peux

Pour créer ou modifier un style, la méthode est toujours la même. Je clique sur le + en haut à gauche devant [Feuille de style interne]. J'y vois bien tous les styles déjà créés. Je désélectionne [Mode Expert]. Je clique sur [Règle] (figure 4-5). J'obtiens le tableau "Nouvelle règle de style". Puis:

S'il s'agit de créer de nouveaux styles, comme je viens de le faire pour le sélecteur <p>, je ne sélectionne rien à gauche, et c'est le panneau "Nouvelle règle de style" qui reste à droite.

Figure 4-8. Créer une classe
figure 4-8

Puis je clique sur [Créer la règle de style] et les onglets des propriétés sont accessibles à nouveau.

S'il s'agit de modifier un style déjà créé, je le sélectionne dans le tableau de gauche. Les règles déjà définies sont inscrites dans le tableau de droite, dans l'onglet [Général]. Je peux les modifier en cliquant sur les onglets [Texte], [Fond], [Bordures], [Boîte]. On sait déjà le faire.


Figure 4-9. Modifier un style
figure 4-9

Formater dans le fil du texte

Bien entendu, on peut toujours formater des parties de texte à l'intérieur d'un paragraphe en utilisant les styles en-ligne avec lesquels nous avons fait connaissance dans la section 1, indiqués par les balises <span>, <big>, etc.. Ce sont des balises en-ligne contenues dans un bloc.

Hiérarchie des styles de la feuille de style

Une boîte imbriquée dans une autre hérite des propriétés de la boîte conteneur. La boîte conteneur est encore dite "parent" et la boîte contenue est dite "enfant". Une classe n'est définie habituellement que par quelques valeurs de propriétés, par exemple uniquement la couleur de fond. Lorsque j'applique cette classe à un partie de texte incluse dans un paragraphe, les autres propriétés de ce texte telles que la taille de la police seront héritées du paragraphe. Si la taille n'est pas précisée dans le style du paragraphe, celui-ci la reçoit du corps de texte. Il y a donc une hiérarchie des styles. Par défaut, la marge gauche d'une boîte est alignée sur la marge gauche du bloc conteneur.

Dans la feuille de style, les styles des classes et des éléments s'inscrivent dans l'ordre de leur création. Cet ordre a-t-il une importance? Oui, en partie. Comme le navigateur lit les styles dans l'ordre de leur écriture, les éléments parents doivent être indiqués en premier. On inscrit d'abord les styles les plus généraux et on va vers les plus spécifiques et particuliers. D'abord obligatoirement "body", puis les différents éléments p, h1, etc.. suivis des classes.

Il est facile de modifier l'ordre de création en utilisant les boutons [Monter] et [Descendre] (figure 4-8).

Anomalie: Cependant, la touche [Descendre] ne fonctionne pas.

5. Je découvre d'autres types de blocs

Nous connaissons maintenant tous les principes de définition des styles. Le reste n'est que subtilités et commodités supplémentaires. Par exemple, si je désire créer un style spécifique pour les titres et les sous-titres, j'ai la possibilité de créer une classe ".titre". Eh bien, c'est complètement inutile car c'est déjà fait par le logiciel et prévu dans le langage html. Ce langage recèle quelques outils utiles. Nous allons faire connaissance avec les plus utiles pour la construction de notre site.

Dans cette boîte à outils, nous manipulerons

Blocs de titres h. Styles

Pour structurer le texte de cette page et la rendre agréable à lire et à parcourir, j'ai inséré des titres et des sous-titres. Je me suis servi pour cela des balises <h1>, <h2>, <h3>. Je procède exactement comme pour <p>. J'applique le style soit avant la saisie, soit après à un texte déjà saisi, en sélectionnant le format choisi "titre 1" etc... dans le menu déroulant de la barre de mise en forme (figure 3-1).

Les balises <h..> sont des balises blocs, et comme telles, elles bénéficient des mêmes fonctionnalités que la balise <p>. Elles sont dotées d'un formatage par défaut qui met en relief les titres de niveau 1 par rapport aux titres de niveau 2 et 3. On dispose de 6 niveaux jusqu'à h6. Bien évidemment, je peux changer les règles de style à ma convenance comme pour la balise <p>. Par exemple,  j'ai fixé une valeur 1.5 em pour  la taille de police de h2. Je peux donc:

Changement de ligne dans un bloc

Appuyer sur la touche ENTRÉE nous sort automatiquement du format Titre et nous retombons en corps de texte. C'est l'usage normal de la fonction "Titre".

Si je veux rester dans le même format afin d'écrire un titre à plusieurs lignes, j'appuie sur MAJ+ENTRÉE, comme pour les paragraphes.

Insérer une table des matières

Grâce à leur repérage par des chiffres, les titres peuvent être utilisés pour un repérage hiérarchique. Par défaut le style du format des titres est tel qu'il met en évidence les gros titres par rapport aux sous-titres, et ceci jusqu'au niveau 6 <h1> à <h6>. Cette fonction hiérarchique n'est pas une propriété en soi des blocs. Par exemple, on peut demander que le logiciel crée automatiquement une table des matières en recopiant tous les titres de la façon que l'on veut.

Cela se fait avec le menu [Insertion]>[Table des matières]>[Insérer]. Une boîte de dialogue s'ouvre, et je peux choisir quels sont les niveaux des titres que je veux voir figurer dans cette table et dans l'ordre que je veux, et même choisir de n'y voir figurer que des titres avec certaines classes. Dans le document présent, j'ai numérotés mes titres dans la saisie même du texte. J'empêche l'éditeur d'en ajouter dans la table des matières en enlevant la sélection [Numéroter toutes les entrées dans la table des matières].

Figure 5-1
figure 5-1

Les niveaux de titre jouent également un rôle dans le référencement du site lorsque les pages ont été publiées. Le site est repéré par les moteurs de recherche en fonction de certains critères, en particulier les niveaux des titres. Si l'on veut être repéré, il est important de bien choisir les titres et leurs niveaux pour que le site soit le plus visible possible par les moteurs de recherche.

Formater le corps de texte avec l'éditeur de style

Outre le format "Paragraphe" et les formats "Titre", je rappelle que le corps de texte qui est le format par défaut constitue aussi un bloc avec la balise bloc <body>. Et comme les autres blocs, je peux

Préformaté

Il existe d'autres formats possibles dans la liste du menu déroulant, moins fréquent, plus techniques, que je connais mal. Voici ce que dit l'aide:
Préformaté
 : ce format est utile pour les éléments tels que les exemples de code, les données en colonnes et les messages électroniques à afficher dans une police à chasse fixe. En texte normal, la plupart des navigateurs suppriment les espaces, tabulations et retours chariot superflus. Toutefois, le texte utilisant le style préformaté s'affiche avec l'espacement intact, ce qui préserve la mise en page du texte original.

J'espère que vous avez compris. Pas moi.

6. Arrêt sur le vocabulaire

Avec ces nouveaux termes, éléments, classes, attributs, propriétés, etc.. il y a parfois de quoi se mélanger les pinceaux et ne plus savoir à quoi ça se rapporte. D'autant plus que les mots ne sont pas forcément évocateurs de ce qu'ils représentent réellement. Le travail des traducteurs n'est pas toujours facile, surtout si l'on est un informaticien familier des mots américains... Voici donc une tentative de récapitulation des notions survolées dans le cours de ce tutoriel.

Élément

Un élément, c'est comme une personne, une fleur, un animal, une agglomération ou un objet qu'on peut voir et toucher, même si on ne connait pas son nom. Quelque chose de matériel, en somme, qui a une existence en soi, même si cette matière est faite de signes qui s'affichent sur un écran. Par exemple, si vous êtes en face d'une fleur, elle existe en tant qu'objet matériel, même si vous êtes un bébé de quelques mois et que vous ne savez pas qu'on la désigne par le mot "fleur". On distingue donc l'objet lui-même et le nom commun qui la représente. L'objet reste invariable, alors que son nom peut varier en fonction du langage employé (flower en anglais, Blume en allemand).

Dans le langage html, l'objet s'appelle un élément. On le désigne par un nom commun: un paragraphe, un titre, une image, une liste, un corps de texte, un tableau. Évidemment, ces éléments sont définis pour servir dans un éditeur de page web, et leur existence tient à leur fonction.

Sélecteur

Le sélecteur est le symbole qui désigne le nom de l'objet. C'est en somme l'étiquette de l'élément : h1, div, p, etc..

Balise

Imaginons que l'objet est une ville. La balise, c'est le poteau indicateur sur la route à l'entrée de la ville. Ce poteau est normalisé, il est le même pour toutes les villes, vous le reconnaissez même avant d'être assez proche pour pouvoir lire le nom. ................. C'est la balise de début. Un autre panneau est placé à la sortie, avec le nom barré. C'est la balise de fin de l'élément ville.

De la même façon en html, il existe une balise qui ouvre et une qui ferme. La forme est toujours la même, entre < et >. Elle est identifiée par le sélecteur de l'élément. Entre les deux balises, se trouve un contenu.
<h3>contenu du titre de niveau 3</h3>

Attribut et valeur

N'importe quel élément, n'importe quel objet, est caractérisé par ses caractéristiques, qui définissent son caractère. Pour une fleur, ce seront sa couleur, son poids, son odeur, sa forme, sa beauté, sa résistance au vent, sa résistance au gel, etc.. Dans le vocabulaire des matériaux, on appelle ça les propriétés de l'objet: propriétés mécaniques, température de fusion, conductivité électrique, transmissivité optique, etc.. (voir par ailleurs mon article sur les propriétés des polymères). Dans le vocabulaire html, on appelle ça ses attributs. ou ses propriétés.

Chacune des caractéristiques de la fleur reçoit une appréciation ou une valeur: couleur: bleutée; résistance au vent: excellente; beauté: médiocre; poids: 20 g; etc... (dans le langage courant, on dirait qu'on lui "attribue" ces valeurs ou ces appréciations). Chacune des propriétés d'un matériau reçoit une mesure, telle que température de fusion: 180°C. Le langage html a retenu le même terme de valeur pour désigner la valeur ou la mesure qu'on fixe à une propriété (un attribut). Ainsi, je peux définir le style de l'élément dont le nom est "h1" par une déclaration de style interne dans laquelle je précise la valeur des diverses propriétés du texte, de la boîte, des bordures, du fond.

Identificateur

Revenons aux agglomérations: ce sont des éléments qui ont un nom commun: "agglomération". Leurs balises: les poteaux. Le nom de la ville, par exemple Béziers: c'est le nom propre, l'identificateur d'une ville particulière. De même, je peux éprouver le besoin de nommer un paragraphe particulier, un conteneur div, un bloc, par un nom propre, c'est son identificateur. On en verra un exemple dans la section 9, identificateur et classe.

Ajouter des commentaires

commentaireSouvent, je passe en mode Source pour me rendre compte de ce qui se passe. Lorsqu'on a saisi une grande quantité de texte, cela devient difficile de reconnaître où l'on est. Tout y est écrit de la même façon sans titres ni sections. C'est pourquoi il est recommandé d'y insérer des repères, sous forme de commentaires. Il suffit de se situer, en mode Normal, là où on veut l'insérer, et de cliquer sur le menu [Insertion]>[Commentaires]. On saisit le texte dans la fenêtre. Cela ajoute la balise commentaire visible en mode Normal aussi bien qu'en mode Balises HTML.

Figure 6-1
figure 6-1

Les commentaires sont inscrits de la façon suivante en mode Source:

<h2>Ajouter des commentaires</h2>
<!--Début du paragraphe sur les commentaires-->
Souvent,je passe en mode <span style="font-style: italic;">Source</span>
pour me rendre compte de ce qui se passe. Lorsqu'on a saisi une grande


7. Je crée un en-tête dans ma page web. Le conteneur générique DIV

A ce point de notre apprentissage, j'ai saisi un texte que j'ai formaté avec des titres, des sous-titres et des paragraphes mis en évidence par le style "Paragraphe", des zones de texte distinguées par des classes de style. Avec tout cela, il y a de quoi réaliser une très belle page web.

Un en-tête avec des paragraphes

Par exemple, si je veux construire un en-tête sur la page d'accueil de mon site, je peux imaginer un bloc de couleur mauve avec deux zones de texte indépendantes, l'une qui qui annonce le thème du site, avec un texte aligné à gauche, et l'autre qui donne mon nom aligné à droite. Je crée pour cela une classe spéciale "entete" avec fond mauve, largeur de 90%, remplissages gauche et droit de 5% et bordures, que j'applique aux deux paragraphes.

Un site consacré à la musique traditionnelle

Mon nom: kelkun

Malheureusement, ils sont séparés et je voudrais qu'ils ne fassent qu'un seul bloc. Par leur nature de paragraphe, ils sont nantis d'une marge en haut et en bas. Mais cela, je peux le modifier, n'est-ce pas? Avec l'éditeur de style, je vais dans l'onglet [Boîte] (figure 4-9) et je règle les marges en haut et en bas égales à zéro.

Note sur les marges des blocs: Au moment où je fixe la marge du bas égale à zéro, rien ne se passe. Bien sûr, car l'espace entre les deux paragraphes n'est pas la somme de la marge du bas du premier et de la marge du haut du suivant. Il est égal à la marge la plus grande des deux. Elles s'interpénètrent. Si j'enlève la marge du bas, il reste celle du haut qui fixe cet espace et rien n'est visible tant que je n'ai pas annulé également la marge du haut.

Les voilà collés:

Un site consacré à la musique traditionnelle

Mon nom: kelkun


Cependant, les bordures qui séparent les deux blocs sont disgracieuses. Je les supprime grâce au style intégré [Propriétés des bordures] du menu de la barre d'état, en désactivant la case [Utiliser le même style pour tous] afin que chaque côté puisse être différent. Pour le premier paragraphe, j'indique [Style] >[Bas]: "aucun", et pour le deuxième [Style] >[Haut]: "aucun". Comme cela:

Les deux paragraphes collés sans bordure séparatrice:

Un site consacré à la musique traditionnelle

Mon nom: kelkun


Pas mal, non, comme en-tête?

Conteneur générique <div>

La méthode des paragraphes collés n'est pas très légère. Il est plus intéressant de créer un troisième bloc qui englobe les deux paragraphes, soit au total trois blocs, dont deux incrustés dans un autre appelé le bloc contenant ou conteneur. On bénéficie ainsi d'une meilleure souplesse pour le style et le positionnement du contenu global. A l'intérieur de ce bloc conteneur, chacun des deux paragraphes reçoit un style intégré indépendant. La balise <p> n'est pas adaptée pour englober d'autres paragraphes, car les paragraphes sont faits pour être des paragraphes, c'est-à-dire des entités (des éléments) qui s'empilent verticalement les unes en-dessous des autres. Par nature, les paragraphes laissent un espace entre eux.

Il est bien plus intéressant d'utiliser un nouvel élément, le bloc <div> (division), qui désigne un conteneur générique. C'est sa raison d'être. div, c'est la balise qui signifie division, ou section. Une division, c'est une partie du document de taille quelconque qui est délimitée par un bloc neutre. Neutre, ça veut dire qu'il n'a aucune fonction prédéfinie, aucun style prédéfini. Si on saisit du texte, il est par défaut en format corps de texte. Ainsi, cette division est une sorte de boîte de corps de texte, et elle fonctionne un peu pareil. A l'intérieur, on peut saisir du corps de texte, des paragraphes, des titres, insérer des images, etc. Elle peut donc contenir d'autres boîtes-blocs telles que paragraphes et titres, mais également d'autres sous-divisions DIV.

Je crée la division DIV

Le bloc se crée là où je place le curseur, sur une ligne vide, ou dans du texte déjà saisi. J'utilise le menu déroulant [Format de paragraphe] dans la barre de mise en forme et j'applique le "format" [Conteneur générique].

Si j'applique cela à la ligne précédente, voici le résultat:
Le bloc se crée là où je place le curseur, sur une ligne vide, ou dans du texte déjà saisi. J'utilise le menu déroulant [Format de paragraphe] dans la barre de mise en forme et j'applique le "format" [Conteneur générique].

Rien n'a changé en apparence (j'ai ajouté le fond jaune pour le présenter comme une figure) si ce n'est que le sélecteur de la balise DIV est apparu dans la barre d'état, indiquant que le texte est dans un bloc DIV. Cependant, comme je n'ai pas attribué de style particulier à la balise <div>, le texte a le format corps de texte. Dans le menu déroulant de format de paragraphe, c'est d'ailleurs le nom "Corps de texte" qui est affiché.

En mode Balises HTML, je peux repérer le symbole de la balise.

Figure 7-1
figure 7-1

En mode Source, également:

<div>Le bloc se cr&eacute;e l&agrave; o&ugrave; je place le curseur, sur une ligne vide, ou dans du texte
d&eacute;j&agrave; saisi. J'utilise le menu d&eacute;roulant [Format de paragraphe] dans la barre de
mise en forme et j'applique le "format" [Conteneur g&eacute;n&eacute;rique].</div>

Remarques:
Lorsque j'applique la fonction "Centrer le texte" avec la barre de mise en forme dans du "corps de texte", cela crée automatiquement un bloc "div". Appliquée à un bloc, elle l'intègre à la balise du bloc en tant que marge.

De même, la fonction "Augmenter le retrait" dans cette barre appliquée au corps de texte crée également un bloc "div". Elle lui attribue une marge gauche de 40 px. Cependant, ceci n'est vrai que si je suis toujours dans l'option "Utiliser les styles CSS" des préférences (voir plus haut). Sinon, c'est une balise <quote>, ce qui signifie "citation", qui est  employée.

Insérer du contenu dans un bloc DIV

Dans le cas où j'ai déjà saisi du texte dans le bloc <body>, comment puis-je placer une partie de ce texte dans un nouveau bloc DIV que j'ai créé sans en récrire la totalité?

Si je sélectionne plusieurs lignes du corps de texte (délimitées par des fins de ligne) et que j'applique le format div, cela ne crée pas un seul bloc englobant toutes les lignes. Cela crée autant de blocs div que de lignes sélectionnées, de la même façon que le format "Paragraphe". 

De même, si le texte comporte plusieurs paragraphes que je sélectionne et que je leur applique le format "div", cela crée autant de blocs DIV que de paragraphes.

On ne peut donc pas, en mode Normal, transformer directement toute une partie de texte en un seul bloc "div", du moins pas de cette façon. Dommage.

De plus, s'il existe des blocs internes dans la partie de texte sélectionnée, tels que "titres", ils sont ramenés au format "corps de texte".

La méthode est donc de créer un bloc sur une ligne vide, et d'y recopier ce qu'on a déjà saisi. Ensuite, je peux attribuer des styles "paragraphe" ou "titre" au texte intérieur au bloc div.

Comment sortir d'un bloc DIV?

Impossible de sortir d'un bloc div: Je suis devant ma nouvelle page vide, je n'ai encore saisi aucun texte, et je commence à créer l'en-tête en créant un bloc div. Je saisis le texte voulu, puis je cherche à sortir de ce bloc afin de continuer à saisir dans le corps de texte normal. Impossible de poser une fin à ce bloc, afin de saisir au-delà de la balise de fin. Tout ce que je saisis est systématiquement dans le bloc "div", même si je vais à la ligne, que je créé un paragraphe ou un autre bloc div.

Même chose si j'ai créé deux blocs div successifs et que je veux insérer un texte entre les deux. Il est impossible d'insérer une ligne.

Comment faire?

Le plus direct est d'aller en mode Source et de poser un <br> après la balise de fin </div>.

Mais bien sûr, ce n'est pas profiter du mode NormalIl faut avoir pris la précaution d'avoir au moins une ligne en dehors. Alors, on peut se rendre sur cette ligne vierge en-dehors du bloc. Si on a oublié de le faire, voici un moyen que j'ai trouvé: je sélectionne le conteneur DIV en cliquant sur son sélecteur dans la barre d'état. S'il n'est pas trop volumineux, je le coupe ([Edition]>[Couper]). Il reste en mémoire dans le "presse-papiers". Je me retrouve alors avec l'emplacement vide, dans lequel je peux saisir deux lignes vides dans le bloc "body". Je place le curseur sur la première et j'y colle le conteneur "div" ([Edition]>[Coller]). Et le tour est joué.

Donner des styles différents au bloc DIV d'en-tête

L'intérêt de ce bloc conteneur est que je lui attribue un style commun, un fond bleu clair, et je donne des styles particuliers au texte des paragraphes (marges, couleur de fond, bordures) avec une classe de style pour le contenant et d'autres classes pour les blocs internes. Comme ceci, par exemple:

Un site consacré à la musique traditionnelle

Mon nom: kelkun


On remarque qu'il reste cependant une marge sur la gauche du bloc conteneur bleu. Normal, car les marges d'une boîte-bloc s'alignent sur celles de son bloc contenant. La marge du bloc "div" est de 0 par défaut. Le bloc bleu est contenu dans le grand bloc <body> qui par défaut a une petite marge gauche, droite et haute. Afin d'éliminer la marge, il faut leur attribuer les valeurs 0.

Remarques

Voici un exemple dans lequel j'ai seulement donné aux paragraphes des indications de propriétés de texte, sans bordures ni couleur de fond.

Figure 7-2
figure 7-2

Un autre bloc DIV pour le contenu principal

Il ne me reste plus qu'à saisir le corps de texte à la suite.

Figure 7-3
figure 7-3

L'ennui est que le texte est collé sur le bord gauche puisque j'ai fixé la marge du corps de texte à 0. Impossible d'y toucher si je veux que le bandeau d'en-tête reste positionné. Alors je crée un autre bloc "div" pour le contenu de texte principal, dans lequel je colle mon texte. Ce nouveau bloc "div" pourra recevoir toutes les indications de style et de positionnement que je souhaite. Très commode. Je peux par exemple donner une marge suffisamment importante (20%) pour que je puisse y placer par la suite des listes verticales (section 9).

Figure 7-4
figure 7-4

8. Je crée des liens dans ma page: l'ancre

Abordons un nouvel aspect de notre apprentissage, celui qui consiste à poser des liens. La faculté de sauter par un simple clic d'un lieu du texte à un autre lieu du même texte ou à un autre document est un avantage spécifique des documents électroniques qui est largement exploité, et c'est ce que j'ai fait également dans ce tutoriel, dans deux types de situation.

La première est la création de la table des matières. Lorsque je clique sur un titre de cette table, je me retrouve dans la section correspondante. La commande [Insertion]>[Table des matières] a fabriqué les liens nécessaires. Ceux-là sont générés automatiquement, en repérant uniquement les titres.

Or si je veux pouvoir, d'un endroit quelconque de mon document, renvoyer à un autre endroit quelconque de ce document, je dois créer des liens manuellement. Par exemple, je vous parle de la palette des couleurs, et j'ai envie de vous renvoyer à la partie du document où j'ai exposé le fonctionnement de cette palette (sous-entendu pour ne pas avoir à vous le répéter!). Le mot couleurs est mis en évidence pour vous signaler qu'il existe un lien direct entre ce mot et cet endroit. Cliquez sur le mot, et vous y êtes. C'est ce second type de création de liens que j'expose ici.

Comment fonctionne un lien?

Un lien, c'est comme un fil invisible qui relie deux endroits du texte de la page. Plus exactement, il n'y a pas de fil, ça fonctionnerait plutôt comme une liaison radio ciblée. Il y a un poste émetteur qui appelle un poste récepteur bien déterminé. Lorsque j'active le poste émetteur, il se met immédiatement en relation avec le poste récepteur correspondant. Et comme en électronique on voyage à la vitesse de l'esprit, me voici transporté au lieu de ce récepteur.

Où sont les émetteurs et les récepteurs? Tout endroit du document peut être émetteur ou récepteur, à condition de lui attribuer cette fonction. Donc, si je déclare que le mot "couleurs" du paragraphe précédent est un émetteur, je dois immédiatement lui associer une cible qui aura été identifiée par un nom au préalable. C'est pourquoi il faut commencer par créer des cibles en posant des étiquettes, et c'est le rôle des ancres.

J'étiquette les cibles avec des "ancres"

Lorsque je pose une "ancre" à un endroit du document, elle devient une étiquette à laquelle je peux attribuer un nom. Elle est un signe, une lampe qui me permettra de la repérer par la suite. Elle joue également le rôle d'un crochet qui me permettra d'y attacher le fil, mais pour le moment, rien n'est relié à ce crochet. L'analogie avec une ancre est à mon avis incorrecte, car il s'agit seulement de point d'ancrage et non de l'ancre. Il attend qu'on lui attache le filon.

Pour créer une "ancre", je positionne le curseur là où je veux la placer. Pour l'exemple j'en place une à la fin de ce paragraphe. Puis j'active l'icône [Ancre] de la barre d'outils. Dans la fenêtre [Propriétés de l'ancre], j'indique un nom, celui que je veux voir figurer sur l'étiquette de ce crochet: "crochet-cible". Je choisis un nom suggestif, afin de l'identifier sans ambiguïté pour que je puisse reconnaître l'étiquette parmi toutes les autres (il y en aura beaucoup comme vous allez voir).

ancre

Comme vous le voyez, un symbole s'est affiché pour signaler l'ancre, en mode Normal et en mode Balises HTML. La bulle qui apparaît lorsque je survole le symbole porte son nom. Si je double-clique dessus, j'ai accès à ses propriétés, en premier lieu son nom que je peux modifier.

Je peux aussi créer une ancre en sélectionnant une partie du texte avant d'activer l'icône "ancre", comme ici le texte ancreen vert. Ce texte est inscrit dans la fenêtre [Propriétés de l'ancre] où il est proposé comme nom par défaut.

Je fais le lien avec la cible

Je choisis le "poste émetteur", que j'appellerai l' "appel" de lien. Si je reviens à l'image d'un câble que je lance vers une cible, ce serait la "poignée" du câble. C'est un mot tel que le mot "couleur" ci-dessus, une partie de texte, une image, que je pourrai voir et identifier, et sur laquelle j'aurai à cliquer pour me rendre à la cible. Je choisis donc cette "poignée" en sélectionnant d'abord le mot, ou le texte ou l'objet. Par exemple, si je veux que les mots suivants: voir la section 9 soient la poignée d'appel, je les sélectionne puis je clique sur l'icône [Lien] de la barre d'outil. Dans la fenêtre [Propriétés du lien] qui apparaît, le texte sélectionné est inscrit dans la partie supérieure "lien texte": voir la section 9.

Figure 8-1
figure 8-1

Je choisis maintenant ma cible dans le cadre [Emplacement du lien] dans le menu déroulant de la longue fenêtre [Entrer... sélectionner une ancre dans cette liste]. Et là, oh merveille, je vois s'afficher en ordre alphabétique tous les noms des ancres, celles que j'ai créées, et d'autres qui sont proposées automatiquement pour les titres. Il suffit que je sélectionne la cible adéquate: #9._je_crée_une_liste_verticale. Je peux encore modifier le nom dans cette fenêtre si je le souhaite (je réduis le nom à "#liste_verticale"). Puis [OK].

La balise <a>

En mode Source, les ancres et les liens sont identifiés par la balise <a>. C'est une balise en ligne, dotée de sa boîte. Comme toutes les boîtes, son sélecteur apparaît dans la barre d'état.

A titre de démonstration, j'ai créé une ancre tout en haut du document, que j'ai nommée "haut de la page". Une balise <a> a été placée au début de la partie <body> et s'inscrit de la façon suivante:

<a name="haut_de_la_page"></a>

Je constate que les balises <a>  et <a/> n'encadrent aucun texte. Elles marquent juste un point dans le corps de texte, et ce point a reçu son nom qui est identifié par "name=".

Pour comprendre comment le lien a été créé entre l'appel du texte et cette ancre, je crée ici un renvoi à titre expérimental vers le haut de la page avec le texte "revenir au début", qui renvoie à l'ancre que je viens de définir comme le haut de la page. En mode Source, je peux lire pour cette partie:

<a href="#haut_de_la_page">revenir au d&eacute;but</a>

Je constate que les balises encadrent et identifient le texte d'appel. De plus la commande "href" dit quelle ancre est la cible du lien. C'est l'adresse du lien. Dans cette adresse, le nom de l'ancre est identifié par le caractère #.

Modifier le style du lien

Il est important que le texte du lien ait une apparence différente du texte de corps afin que le lecteur puisse comprendre qu'il y a là un lien sur lequel il peut cliquer. Il est fréquent que par défaut le style appliqué soit un texte bleu souligné. Bien évidemment, j'ai la possibilité de changer ce style et de choisir mon propre style.

Puisqu'une boîte est associée à la balise <a>, je peux

Les ancres pour les titres sont proposées automatiquement

Comme je viens de le faire plusieurs fois dans les paragraphes précédents, il est fréquent de choisir le titre d'une autre section du document pour cible d'un lien. Ce  titre est identifié comme tel par son style <h1> ... <h6>. Or il est inutile de créer manuellement les ancres des titres: lorsque je crée un lien, je constate que les noms des titres sont déjà proposés dans la rubrique [Entrer... sélectionner une ancre dans cette liste] (figure 8-1).

Note: tant qu'un nom de titre n'a pas été sélectionné et validé, même si son nom est proposé dans la liste, il n'est pas posé comme ancre. On s'en aperçoit en mode Source, car aucune déclaration "name" n'y figure.  Par contre, dès que le lien est créé, l'ancre est générée automatiquement.

Remarque: Il est à signaler que dès qu'on crée la table des matières, les noms des titres qui sont proposés et pas encore validés disparaissent, sont remplacés par des numéros et validés comme ancres... Si vous voulez alors vous en servir comme ancre, ou bien vous créez une deuxième ancre au même endroit avec un autre nom, ou bien vous copiez le nouveau nom numéroté en vous rendant sur le titre et en double-cliquant sur le symbole de l'ancre en mode Normal ou Balises.  Mais il me semble que cela crée des difficultés pour reconnaître l'adresse relative de ces ancres. Il est nécessaire que le nom du document apparaissent devant le #. Cela se fait automatiquement si j'enlève la sélection [L'URL est relative à l'emplacement de la page] et que je la resélectionne!
Le mieux est de ne créer la table des matières que lorsque le document est entièrement terminé.

Figure 8-2
figure 8-2

Styles a:hover et a:visited

Vous avez remarqué que l'apparence d'un lien change dans un document lorsque le pointeur survole ce lien. C'est une façon d'attirer l'attention du lecteur sur le fait que le pointeur se trouve bien sur un lien actif. Ceci est obtenu par une commande spéciale de style. Très simple à effectuer, mais IL FAUT SAVOIR COMMENT. Ça ne s'invente pas. Comme d'habitude, je me rends dans l'éditeur de style,
[Feuille de style interne]>[Règle]>[Style appliqué à tous les éléments d'un type]. Le nom de l'élément à inscrire est a:hover. C'est lui qui commande le style d'un lien survolé. Puis je clique sur [Créer la règle de style] pour le définir (figure 4-6). On en verra un exemple dans la barre de menu horizontale de la section 11.

De même, il est possible de créer un style différent pour les liens qui ont été utilisés avec l'élément a:visited.

Suggestion aux développeurs: Le nom de cet élément doit donc être connu et copié sans faute dans l'éditeur, sinon cela ne fonctionne pas. Il serait donc particulièrement commode qu'un menu déroulant soit associé à la rubrique de l'éditeur CSS [Style appliqué à tous les éléments d'un type]. On y trouverait les noms présélectionnés des principaux éléments: body, p, h1, h2, ..., h6, div, a, a:hover, ul, etc... En attendant, je dois bien connaître leurs sélecteurs pour les inscrire moi-même. Cela limite le côté "utilisation intuitive".

Modifier les propriétés du lien

Si je veux modifier ou supprimer le lien après l'avoir créé, plusieurs possibilités se présentent à moi:

Supprimer le lien, tout en conservant le texte, cela revient à supprimer la balise <a>. Placer le curseur dans le lien. Puis, au choix:
Raccourcir le texte qui sert d'appel de lien: sélectionner la partie que l'on veut sortir de la balise, et  [Format]>[Annuler le lien]

Ou encore pour supprimer ou modifier tout ce qu'on veut: afficher la fenêtre [Propriétés du lien], et pour cela, au choix:

Vérifier les liens. L'outil Navigateur. Propriété Importance

Dans le mode d'édition, je ne peux pas vérifier si mes liens fonctionnent bien. Pour le faire, je dois afficher ma page avec le navigateur. Facile, avec la barre d'outils, cliquer sur l'icône [Navigateur].

Dans le navigateur, je peux également vérifier l'apparence des liens, et le changement qui se produit lorsque je les survole ou que je les visite. Oh surprise, ce qui se passe n'est pas ce que j'avais programmé. La raison est que le navigateur a également ses propres règles de style. Dans Mozilla par exemple, voir le menu [Outils]>[Options]>[Général]. Cliquer sur [Polices et couleurs]. On constate quels sont les choix retenus pour la couleur et le soulignement des liens non visités et visités.

Figure 8-3. Options de l'apparence des liens dans le navigateur Mozilla

figure 8-3

Mais alors, à quoi ça sert que je donne un style aux liens de mon document si le navigateur a ses règles propres et ne tient pas compte des miennes? Effectivement, les règles du navigateur ont priorité sur celles de l'éditeur. A moins que je n'affirme que ce sont les miennes, celles que j'édite, qui ont priorité. (Voir l'article http://openweb.eu.org/articles/lacher_prise pour en savoir plus).

Pour le déclarer, je me rends dans l'éditeur de style [Feuille de style interne]. Je sélectionne l'élément "a". (Voir comment modifier les styles déjà créés dans la section sur les paragraphes ). Dans la partie droite, apparaissent les propriétés que j'ai choisies pour le style de cet élément. C'est la rubrique [Importance] qui règle la priorité. En fait le terme "Priorité" serait plus approprié que "importance", car c'est ça que ça veut dire. Je coche les cases de déclaration de propriétés auxquelles je veux donner la priorité et ne pas suivre les règles du navigateur des lecteurs.

Figure 8-4
figure 8-4

9. Liste verticale. Identificateur. Positions absolue et relative

Ma page web comporte un en-tête qui la définit et un bloc de contenu principal. Je désire ajouter deux autres blocs. L'un sera la barre de menu horizontale qui permettra au lecteur de naviguer dans les différentes pages de mon site. Je le ferai dans la section 11. L'autre consiste en un petit bloc encadré dans lequel je veux mettre en évidence certaines informations de mon site, c'est-à-dire certaines pages. C'est ce que je vais faire dans cette section. Bien entendu, il s'agit là d'un choix personnel qui me permet de vous introduire les notions de listes, d'identificateur et de position. Ce n'est qu'un exemple. Il y a bien d'autres façons de concevoir un site. Cela montre combien, avant de rédiger une seule page du site, il est nécessaire d'en avoir la conception générale, et d'avoir réfléchi sur ce qu'on veut y partager (voir la section 12, le contenu du site).

Dans la section 7 sur la construction de l'en-tête, j'ai créé un deuxième bloc DIV pour le contenu principal (le premier étant l'en-tête) et je lui ai affecté une grande marge à gauche afin de pouvoir y placer un troisième bloc DIV. Je vais créer et positionner ce troisième bloc que je vais appeler mon bloc "Actualités" pour mettre en avant des informations essentielles de mon site, les prochains concerts des groupes de musique et les prochains stages de danses traditionnelles. Je réserve les autres informations du genre "informations pratiques" pour la barre de menu horizontale.

Je vous propose comme nouvel apprentissage de créer le bloc "Actualités" et de le positionner dans la marge gauche. Dans ce bloc, les concerts et les stages seront annoncés par leurs titres sous forme d'une liste.

Je crée une liste

Je crée d'abord un conteneur DIV, bloc dans lequel je vais saisir la liste. J'ai exposé dans la section 7 comment le faire. Il va être créé là où j'ai le curseur. Je peux le placer par exemple juste en-dessous de l'en-tête. Je lui donne un style général (largeur de boîte 15%, espacement gauche 10 px, couleur de fond, bordure). C'est ce qui va déterminer l'aspect du bloc.

A l'intérieur du bloc, je saisis le titre général du bloc "Actualités", et je lui attribue un style particulier avec la classe "titre-actualites". Puis je saisis en-dessous les différents articles de la liste séparés par deux sous-titres (figure 9-1). Je constate que cela décale le bloc de contenu principal vers le bas. Forcément, puisque j'ai placé ma liste au-dessus. Mais cela va s'arranger dans la phase suivante de positionnement.

Figure 9-1
figure 9-1

Pour appliquer le style "liste", j'utilise les commandes de liste de la barre de mise en forme, à droite de U (figure 9-2).

Figure 9-2
figure 9-2
Je sélectionne le groupe des trois lignes des concerts et je clique sur la deuxième icône pour créer une liste non numérotée (dite non ordonnée). Je fais de même avec le groupe des deux lignes des stages. Comme d'habitude, cela revient au même d'appliquer le style avant ou après avoir saisi le texte.

Alternativement, il est possible de créer avec l'icône de gauche des listes numérotées (dite ordonnées).

Quelle est la nature de ce nouvel outil? Si j'affiche les blocs (barre de menus [Affichage]>[Mise en évidence des blocs]), je constate que j'ai créé des blocs. Chacun des titres d'articles (Maubeuge,  ...) dispose de son bloc propre.

Figure 9-3
figure 9-3

La balise qui identifie le bloc d'un article est  <li> (list item), dont le sélecteur est bien entendu visible dans la barre d'état ainsi qu'en mode Balises HTML. L'ensemble des articles d'un groupe (tels les 3 concerts) est inclus dans un bloc global, qui donne le style pour toute la liste. Ce bloc est identifié par la balise <ul> pour les listes non numérotées (unordored list) et par la balise <ol> pour les listes numérotées (ordered list). Cliquez sur leur sélecteur de la barre d'état pour les sélectionner. Ceci est encore mieux visible en mode Balises HTML.

Style des puces de listes

Comme on peut le constater, il existe un espacement gauche de la balise <ul>par défaut assez important, puisqu'il est de 40 px. Il s'agit d'un espacement, non d'une marge, et on le voit au fait que la couleur de fond occupe l'espacement à gauche de la puce. La valeur de la marge par défaut est de 0px.

Pour changer la valeur de l'espacement, il faut la modifier dans la boîte associée à la balise <ul> (ou à la balise <ol>) qui contrôle tout le groupe. Comme d'habitude, cette boîte est accessible par le sélecteur <ul> de la barre d'état.

Editeur de propriétés avancées. Forme de la puce

Par défaut, la puce a la forme d'un cercle plein, un disque. Il est possible de la changer en cercle vide ou en carré plein. Toutefois, pour cela, il nous faut faire appel à des fonctions avancées.  On verra plus loin en quoi elles sont plus avancées, mais je donne la méthode pratique dès maintenant

La fenêtre [Editeur de propriétés avancées] est accssible de la même façon que les styles internes, par l'intermédiaire de la barre d'état. Je place le curseur dans le bloc de liste, j'affiche le menu contextuel en cliquant sur le sélecteur correspondant <ul> (ou <ol>) dans la barre d'état (en même temps ça le sélectionne pour que je vérifie si c'est le bon bloc!). Dans la rubrique [Propriétés avancées] en bas, dans la rubrique [Attribut], je sélectionne [type]. Dans la rubrique [Valeur] je choisis la forme que je veux: [disc], [square] (carré) ou [circle]. Puis OK (figure 9-4).

Figure 9-4. Editeur de propriétés avancées

fig9-4

Je peux même déclarer que je ne veux pas de puce du tout. Il suffit que j'efface "disc" dans la rubrique [Valeur], et que j'inscrive à la place "none", ce qui veut dire aucun. Mais dans ce cas, cela ressemble fort aux listes de définition avec lesquelles nous faisons connaissance ci-dessous, et il est peut-être plus judicieux de les employer.

Editeur CSS. Position de la puce

L'éditeur CSS permet également de fixer la forme des puces pour tous les éléments ul du document. Il suffit de définir le style de l'élément ul selon la méthode habituelle: [Feuille de style interne], désactiver [Expert], [Règle], puis [Style appliqué à tous les éléments d'un type]. J'inscris "ul", je clique sur [Créer la règle de style].

A cette occasion, je peux choisir les propriétés du texte: la taille de police, par exemple. (c'était une révision figure 4-6). Puis je me rends dans l'onglet [Liste]. Je choisis le type de puce. 

Dans la rubrique [Position de la puce], je peux choisir la disposition du texte qui suit la puce quand il revient à la ligne. S'il s'aligne sur la puce, c'est la position "puce à l'intérieur du texte". S'il s'aligne sur le premier mot suivant la puce, c'est la position "puce à l'extérieur". Enfin [Fermer].

Liste de définition

Pour structurer ma liste, j'ai créé 2 chapeaux: "concerts", et "stages" et j'ai fait deux listes séparées. Or il est possible de les associer en une seule liste structurée. Les 2 autres icônes de création de liste (figure 9-2) servent à cela. Comme vous pouvez le voir, je les ai mises à côté des précédentes en utilisant la fonction [Personnaliser la barre de mise en forme].

Le chapeau, ça s'appelle un "terme de définition", et les articles sont les "définitions", et oui, c'est comme ça. Ils sont respectivement identifiés par les balises <dt> (definition term) et <dd>. Le bloc général est identifié par la balise <dl> (definition list). Voir en mode Balises HTML.

Pour créer cette liste de définition, je sélectionne l'ensemble du texte, je clique sur la troisième icône ce qui a pour effet d'attribuer le style "dt" à toutes les lignes, puis je sélectionne le premier groupe de 3 articles, je clique sur la quatrième icône pour leur attribuer le style "dd", idem pour le groupe de 2 articles.

En mode Source, l'imbrication des différentes balises est bien visible.
<dl>
 <dt>
<span style="font-weight: bold;">Prochains concerts</span></dt>
     <dd>
Maubeuge</dd>
     <dd>
Perpignan</dd>
     <dd>
Cahors</dd>
 <dt>
<span style="font-weight: bold;">Prochains stages</span></dt>
     <dd>
Auvillar</dd>
     <dd>
Barcelone</dd>
</dl>
</div>

Je définis le style de la liste

Je peux maintenant définir le style de la liste au niveau des différents blocs: "dl", "dt", "dd", comme j'ai pu le faire pour les éléments "ul" et "ol". Je clique sur les sélecteurs dans la barre d'état pour sélectionner les blocs correspondant et ainsi les repérer (figure 9-5). Avec le style intégré du bloc global "dl", je fixe les marges en haut et en bas à zéro, pour ne pas créer d'espaces trop grands à l'intérieur du cadre.

Par défaut, la marge des éléments <dl> est de 0px, l'espacement des éléments <dt> de 0px et celui des éléments <dd> de 40px.

Les termes de définition <dt> reviennent 2 fois, et je veux appliquer le même style "gras" aux deux. Je peux répéter la même indication pour les deux lignes. Quant aux termes <dd>, ils reviennent 5 fois. Je veux réduire leur marge et diminuer la taille de police. Comment faire pour s'épargner cette répétition et faire les déclarations de style une fois pour toutes? Il y a 3 moyens:
Figure 9-5
figure 9-5

Identificateur. Donner un nom à un bloc

Il y a dans mon texte des parties, des blocs qui sont très caractéristiques et que je désigne par un nom "propre": le bloc "En-tête", le bloc "Actualités" par exemple. L'identificateur, c'est le nom que je donne à ce bloc. Je vais donc officiellement baptiser le bloc "Actualités", pas seulement dans mon esprit, mais dans le programme. Il y a deux façons. Je peux le faire directement avec la fenêtre [Editeur de propriétés avancées]. Ou bien je le fais à l'occasion de l'attribution d'un style intégré (paragraphe suivant: "Attribuer un style").

Pour accéder à la fenêtre [Editeur de propriétés avancées], je place le curseur dans le bloc, j'affiche le menu contextuel en cliquant sur le sélecteur correspondant <div> dans la barre d'état (en même temps ça le sélectionne pour que je vérifie si c'est le bon bloc!). Dans la rubrique [Propriétés avancées] en bas, dans la rubrique [Attribut], je sélectionne [id]. Dans la rubrique [Valeur] je donne le nom d'identification que j'ai choisi: "actualites" (j'évite les majuscules et les accents, ça simplifie). Puis OK.

Figure 9-6
figure 9-6

Astuces: il est possible d'accéder à la même fenêtre [Propriétés avancées] En mode Source, l'identificateur est repéré par le symbole "id":
<div id="actualites">

Attribuer un style à un bloc identifié

Dès lors qu'un bloc a été identifié, je peux lui attribuer des styles propres: pour l'en-tête, je veux une bordure et pour le bloc "actualites", je veux un fond vert, etc...  Comment le dire en langage html? Il y a deux façons, comme d'habitude: une à partir du style intégré, et l'autre directement dans la feuille de style interne.

En style intégré, pour un bloc non encore identifié

Je mets en forme le bloc avec les fenêtres de propriétés accessibles par le sélecteur dans la barre d'état, comme on en a l'habitude. Puis j'extrais ce style, comme on sait également le faire. Je place le curseur dans le bloc afin de faire apparaître le symbole <div> ou tout autre bloc dans la barre d'état. En le sélectionnant, je fais apparaître le menu contextuel avec le clic droit de la souris. Je clique sur [Styles internes] >[Extraire et créer un style générique] (figure 2-7). Ce qui change est que je sélectionne ici [... cet élément uniquement]. Je donne un nom d'identificateur. En cliquant sur [OK], je crée à la fois l'identificateur "id=.." et le style qui correspond dans la feuille de style. 

Avec l'éditeur de style, pour un bloc identifié

Barre de menu: [Outils]>[Editeur CSS]. L'opération n'est pas plus difficile que les précédentes déclarations de style, mais ... nous sommes passés au mode Expert. Alors, je ne désactive pas [Expert]. Je sélectionne [Feuille de style interne], je clique sur [Règle] et je coche sur la troisième ligne [Style appliqué à tous les éléments correspondant au sélecteur ci-dessous]. J'inscris l'identificateur du bloc que je veux formater, précédé de # "#actualites". Enfin je clique sur [Créer la règle de style] et je choisis les propriétés du texte: taille de police, et "gras", bordure, fond, largeur de boîte, etc... Pour finir,  [Fermer].


Figure 9-7
figure 9-7

Notez bien que l'identificateur doit être précédé du signe dièse # (en-dessous du 3 sur le clavier de frappe). C'est le symbole des identificateurs en langage html. On l'a déjà rencontré dans l'identification des ancres (figure 8-1).

Identificateur et classe

Il y a une question qui revient souvent parmi les apprentis en langage html. Pour attribuer un style au bloc choisi ("actualites"), dois-je créer une classe ou bien dois-je baptiser le bloc par un identificateur et créer un style propre à l'identificateur?

Voici ma réponse, que je crois exprimer de façon plus claire que ce que j'ai lu: techniquement, pour le navigateur, cela revient au même, il s'en fiche. Vous pouvez créer une classe ".actualites" et l'appliquer au bloc "div", ou vous pouvez définir un style "#actualites" pour le bloc "div" que vous aurez baptisé "actualites". Vous aurez seulement saisi un nom d'identificateur en plus et changé un point en #. Pas de quoi s'en faire une fête, ni se prendre la tête!

LA VRAIE DIFFÉRENCE est au niveau de notre esprit. Tandis que l'ordinateur sait impeccablement appliquer une règle, nous humains avons besoin d'être clairs dans ce que nous lui disons de faire et cette alternative est là pour nous aider à structurer notre esprit et notre page. Une classe s'applique à un ensemble de paragraphes. Exemple: parmi les objets de type "agglomérations", je peux créer une classe "préfecture" ou une classe "ville de plus de  100 000 habitants" par exemple. Un identificateur s'applique à un seul paragraphe: "Lyon". Autrement dit les classes sont comme les noms communs des objets et les identificateurs comme des noms propres. Alors pourquoi le navigateur ne fait-il pas la différence? Parce qu'on peut très bien appliquer une classe à un seul objet: "capitale de la France". Et on peut donner le même nom propre à plusieurs villes: "Valence". Mais cela entraîne des confusions dans notre esprit!

Il est donc recommandé d'utiliser les classes pour les styles qui reviennent plusieurs fois dans des parties de texte, des paragraphes, des blocs div multiples, et on réservera le style lié à un identificateur pour un bloc baptisé.

Attribuer des styles à des sous-blocs contenus dans un bloc identifié. Méthode de l'enfant

Je vais donner un autre outil car je le trouve très utile et vous serez vraiment des experts. Lorsque dans le paragraphe "Je définis le style de la liste", j'ai défini les styles des lignes de liste pour les éléments "dd" et "dt", ce style s'applique à toutes les listes de définition de ma page, y compris celles du corps de texte. Comment faire pour qu'un style de liste ou un style de lien  (ul, ol, li, a, a:hover, etc..) s'applique uniquement aux blocs et boîtes contenus dans le bloc identifié? On dit de ces blocs contenus qu'ils sont les enfants du bloc conteneur.

J'utilise à nouveau la troisième ligne de l'éditeur de style:

[Style appliqué à tous les éléments correspondant au sélecteur ci-dessous]. J'inscris le sélecteur qui est l'identificateur du bloc que je veux formater "#actualites", et je le fais suivre du sélecteur que je veux définir. 

Par exemple:
#actualites dt
#actualites dd
#actualites a
#actualites a:hover

Les sélecteurs "dt" ou "a" visés seront seulement ceux qui sont contenus dans le bloc "actualites". 

Notion de positionnement. Position absolue.

Mon bloc "actualites" est toujours placé en position inconfortable et il décale le bloc principal vers le bas (voir figure 9-1). Je vais maintenant le positionner correctement dans la marge de gauche. Pour cela, je fais appel à de nouveaux outils. Je sélectionne le bloc à positionner en y insérant le curseur et en cliquant sur son symbole dans la barre d'état <div>.

Puis je me rends avec le pointeur dans la barre de mise en forme, et je clique sur l'outil "dissocier du texte" dont l'icône est une "punaise". figure 9-7.


Figure 9-9
figure 9-9

Ça a bougé... Le bloc "Actualités" sélectionné est décoré de symboles qui vont me permettre de le manipuler.

Et le bloc de texte principal qui suit est venu se replacer plus haut.

Comme je veux comprendre ce que j'ai fait, je me rends dans [Propriétés de la boîte] du bloc <div> (rappel: curseur dans le bloc, barre d'état, pointeur sur  <div>, bouton droit de la souris, [ Styles interne]>[Propriétés de la boîte], etc..). Dans la rubrique [Position] en haut, une nouvelle indication s'est inscrite. Elle a été fixée à "Absolue" (figure 9-10). De plus, des valeurs sont apparues dans les rubriques [Excentrage]. Les autres valeurs de style intégré fixées antérieurement, comme la largeur à 15% sont restées.

Figure 9-10
figure 9-10


Explication: En cliquant sur l'icône "Punaise", je dissocie le bloc du reste de la page en lui attribuant ce qu'on appelle une position absolue. Il  devient indépendant du reste de la page. Le bloc principal se repositionne comme si le bloc "Actualités" n'existait pas, et c'est pourquoi il est remonté. L'emplacement du bloc en position absolue est repéré par rapport aux bords de la page (ou du bloc conteneur à condition que celui-ci soit lui-même en position absolue ou relative). C'est donc un "absolu" qui est relatif au monde le plus vaste qu'il connaisse.

Les valeurs de la rubrique [Excentrage] fixent les coordonnées par rapport aux 2 bords de la page. Il s'agit donc plus de "coordonnées" que d' "excentrage". Dans la fenêtre, je peux donc corriger ces données et leur donner des valeurs précises. Évidemment, je ne peux pas fixer des valeurs contradictoires comme un excentrage de 10 px à gauche et 10 px à droite si mon bloc ne fait que 15% de la largeur totale, bien sûr! Dans ce cas, seul l'excentrage de gauche serait pris en compte.

Vous l'aurez peut-être deviné, j'aurais pu donner la valeur "Absolue " à la position à partir de la fenêtre [Propriétés de la boîte], sans forcément passer par l'outil "punaise", dès le moment où j'ai fixé tous les styles du bloc "actualites", soit en style interne, soit en fixant le style d'identificateur "actualites" par l'éditeur de style (voir paragraphe Je détermine le style du bloc).

La punaise, cela évoque l'image que je prend mon bloc "division" comme une feuille de calque et que je le punaise en position fixe dans la page. C'est pourquoi on appelle quelquefois "calque" un bloc en position absolue. Et bien sûr, on peut le punaiser par-dessus (ou même par dessous) le texte du flux courant, puisqu'ils s'ignorent. Cela oblige à être attentif au placement du texte courant afin qu'il ne soit pas masqué partiellement. Dans le cas de mon site de musique traditionnel, j'ai pris soin de définir une grande marge de 20% au bloc principal, ce qui me laisse la place pour un bloc de largeur 15%.

Attention aux mesure des largeurs: sachez que la largeur indiquée est la largeur du texte. Pour la largeur totale du bloc, il faut ajouter les espacements et les marges. Ainsi mon bloc principal se découpe en 20% de marge, 1% de espacement gauche, 1% de espacement droit, et la largeur du texte est indéfinie. Elle s'ajuste à l'écran.

Position relative

Une question se pose à moi. Puisque la boîte de dialogue [Propriétés de la boîte] m'offre le choix entre plusieurs valeurs de la rubrique [Position], c'est quoi les autres? Réponse: Elles ne sont pas vraiment des alternatives pour ce que je veux faire, mais des fonctions vraiment différentes avec un autre sens. Je vais expliquer la position relative.

La position relative s'applique à la partie sélectionnée, qui peut être un bloc, mais aussi une partie de texte, comme ceci: Le texte en position relative reste dans le flux courant, il s'inscrit là où est positionné le curseur. C'est son point d'ancrage. Mais on va le décaler par rapport à ce point de certaines valeurs données par la propriété [Excentrage] (et là, il s'agit vraiment d'un excentrage). La position est relative au point d'ancrage, auquel la boîte, en bloc ou en ligne, reste liée.

Remarques

Créer des liens avec d'autres pages

J'ai créé mon bloc "Actualités" avec sa liste et je l'ai placé en bonne position. Il me reste à créer les liens. Pour les "Concerts", je souhaite renvoyer à une autre page qui donne plus de précisions. Nous avons appris à insérer des liens internes à la page, en renvoyant à des ancres. Il s'agit maintenant de liens externes, qui peuvent être soit une autre page de mon site, soit une page sur un autre site.

La méthode est la même que pour le lien interne de la section 8. Je sélectionne le texte par exemple "Cahors", et je clique sur l'icône [Lien]. Dans la rubrique [Emplacement du lien], j'indique l'adresse du lien de la façon suivante:

Figure 9-11
figure 9-11

Bien évidemment créer un lien change le style de la ligne, puisque les styles spécifiques de lien entrent en jeu. Le style appliqué au terme "Cahors" n'est plus celui défini pour le sélecteur "dd", mais celui défini pour le sélecteur "a". Je peux donc créer des styles  pour "#actualites a" et "#actualites a:hover" comme expliqué plus haut dans le paragraphe sur les identificateurs. Remarquons que si toutes les lignes "dd" de la liste sont des liens, il devient inutile de créer un style particulier pour le sélecteur "dd". Il vaut mieux le créer directement pour le sélecteur "a".

Ouvrir le lien dans une nouvelle fenêtre

Lorsque la personne qui consulte mon site web clique sur un lien que j'ai insérer, la page s'ouvre sur son écran en remplaçant la précédente. Comment faire pour que cette nouvelle page s'ouvre dans une nouvelle fenêtre?

Dans la fenêtre "Propriétés du lien" (figure 9-11), je clique sur [Plus de propriétés]. A la rubrique [Cible], je coche le carré et je choisis [dans une nouvelle fenêtre]. La cible, c'est la page où va être projeté le nouveau document.

Figure 9-12. Ouvrir le lien dans une nouvelle fenêtre

fig9-12

En mode Source, cela donne une nouvelle déclaration:

<a target="_blank" href="http://aboudet.chez.tiscali.fr/">http://aboudet.chez.tiscali.fr</a>

Cette déclaration dit que la cible (target) est une page vierge (blank).

Créer un lien avec un paragraphe dans une autre page

Je ne suis pas complètement satisfait de cet arrangement, car il m'oblige à créer une page séparée "concert_cahors.html" pour donner des explications détaillées sur le concert de Cahors, une autre pour donner des détails sur le concert de Perpignan, et une autre pour celui de Maubeuge. Or j'aimerais que le lecteur ait directement sous les yeux l'ensemble des 3 concerts prévus regroupés sur la même page que j'appelle "mapage_concerts", et qu'il puisse les l'imprimer sur une seule feuille . Mais comment créer un lien de "index" (qui est le nom obligatoire de la page d'accueil) vers la section "Concert de Cahors" à l'intérieur de "mapage_concerts"?

Au moyen d'une ancre dans cette page concerts.

Je me rends dans "mapage_concerts", et je pose une ancre là où je désire désigner la cible: au titre "Concert de Cahors". Cette ancre reçoit un nom, "Concert_de_Cahors" comme indiqué dans la section 8. Je le copie ([Edition]>[Copier] ou Ctrl+C) dans la fenêtre [Propriétés de l'ancre] au moment où je le définis avec l'icône [Ancre]. Si l'ancre existe déjà, je double-clique sur son symbole dans le texte pour faire apparaître la fenêtre [Propriétés de l'ancre], et je copie le nom qui s'affiche.

Puis je me rends dans la page où je veux créer le lien, la page "index". Je sélectionne le texte d'appel, et je procède comme dans la partie précédente "Créer des liens avec d'autres pages". Je sélectionne le texte "Cahors", et je clique sur l'icône [Lien]. Dans la rubrique [Emplacement du lien] (figure 9-11), je clique sur [Parcourir] et je sélectionne la page "mapage_concerts". Cette adresse conduit en haut de la page. Je dois la compléter pour qu'elle conduise jusqu'à l'ancre, de la façon suivante. J'ajoute un "#" qui est le symbole de l'identificateur de l'ancre. Puis je colle le nom de l'ancre (Ctrl+V), ce qui donne finalement: "mapage_concerts#Concert_de_Cahors". C'est aussi simple que çà.

10. Insérer une image. Position flottante

Dans cette nouvelle phase de notre apprentissage, nous allons apprendre à insérer des images dans le fil du texte et à les positionner selon notre désir.

J'insère un image dans le fil du texte. Propriétés de l'image

Dans la section de saisie de texte principal, je désire illustrer mon texte par des images. C'est possible et facile avec l'icône [Image] de la barre d'outils.

  1. Je dois d'abord choisir l'image que je veux insérer. C'est un document quelconque de format image (gif, jpeg, ...). J'en place une copie dans mon répertoire "monsite" et je la renomme. Je prends le cas d'une image dont le fichier est nommé "trio.gif". Il est confortable de créer dans le répertoire "monsite" un sous-dossier "images" dans lequel je vais placer cette image et les autres.
  2. Ensuite, je dois décider à quel endroit je l'insère dans mon texte. Elle sera insérée là où je positionne le curseur.
  3. Je clique sur l'icône [Image] de la barre d'outil. Dans la fenêtre [Propriétés de l'image], rubrique [Adresse de l'image], je dois indiquer quel fichier d'image je veux insérer. Il me suffit de cliquer sur [Parcourir] et d'aller cliquer sur le fichier "trio.gif". Son adresse s'affiche dans la rubrique [Adresse de l'image].
Figure 10-1
figure 10-1

Adresse relative

L'adresse qui s'affiche est relative, c'est-à-dire repérée par rapport au répertoire "monsite" et à la page en cours "index". Il est nécessaire que les pages aient été enregistrées avant d'y insérer des images, afin d'être reconnues dans le répertoire. Ceci permet à Nvu d'utiliser automatiquement les adresses relatives pour les images lorsque vous les insérez. 

Cela veut dire que la case [L'URL est relative... ] sera cochée automatiquement. Ainsi, lorsque le répertoire complet sera exporté, tout suivra ensemble sans problème. Si vous donnez une adresse absolue, donnant son emplacement dans votre disque dur, il y aura problème quand le répertoire sera installé sur un autre serveur!!!

  1. Ajouter un texte de vignette. Mais qu'est-ce donc? Lorsque ma page a été publiée et que quelqu'un l'affiche avec son navigateur, la vignette, c'est la "bulle" qui apparaît pendant quelques secondes lorsque le pointeur est placée devant l'image. J'inscris un texte descriptif mais court, du style "trio d'instruments à vent".
  2. Ajouter un texte alternatif. Au cas où un navigateur ne peut afficher mon image, il affichera ce texte.
  3. Dans l'onglet [Dimensions], j'ai la possibilité de régler les dimensions de l'image. Je peux conserver les dimensions d'origine, ou les modifier en spécifiant ses nouvelles dimensions en pixels ou en %. de la fenêtre. Cependant, pour éviter des problèmes, il vaut mieux redimensionner l'image dans son fichier original à l'aide d'un logiciel d'images, et l'insérer sans modifications.
  4. Enfin, dans l'onglet [Apparence], je fixe le positionnement du texte par rapport à l'image (et non l'inverse!), plutôt que son apparence comme le suggère le titre de l'onglet. La méthode mérite quelques explications.

Disposition du texte autour de l'image. Propriétés de l'image

Pour comprendre comment ça marche, il faut garder en tête que l'image s'insère dans le fil du texte (dans le flux), là où j'ai placé le curseur. Une boîte en ligne a été créée, dont la balise est <img>. Elle est analogue aux boîtes en ligne <span> avec lesquelles je me suis amusé dans la section 1. Seulement voilà, l'image a souvent une hauteur importante et cela veut dire que la ligne dans laquelle elle s'insère prend maintenant une hauteur égale à la hauteur de l'image.

Figure 10-2
figure 10-2

C'est le bas de l'image qui est aligné sur la ligne. Cependant, on a le choix de cet alignement. On peut placer le texte qui se trouve de part et d'autre de l'image, en haut de la ligne, au centre, ou en bas. C'est le choix possible avec la rubrique [Placement du texte].

Figure 10-3
figure 10-3

Il y a deux autres possibilités de placement: texte à gauche et texte à droite. C'est intéressant, car le texte des lignes qui suivent l'image se distribue à gauche (A gauche) ou à droite (A droite) de l'image. Attention on parle du placement du texte, pas de la position de l'image. Cependant dans ce cas, il est probablement plus intéressant encore d'utiliser la position "flottante" décrite plus loin.

Dans cet onglet [Apparence], je peux également écarter le texte de l'image en donnant des valeurs à [Espacement], [A gauche et à droite], [En haut et en bas]. Je fixe 10px. Enfin, je peux encadrer l'image par une bordure dont je peux préciser l'épaisseur. Je fixe 3px. 

Balise <img>. Bordures et marges par les styles internes

En mode Source, on peut constater que les indications de style sont intégrées à la balise nommée <img>:

<img src="images/trio.jpg" title="trio d'instruments &agrave; vents" alt="instruments"
 style="border: 3px solid ; width: 256px; height: 256px;"
 align="left" hspace="10" vspace="10">

Dans les indications de style, on reconnaît un style interne style="", qui fixe le trait et l'épaisseur de la bordure. Les autres sont des attributs html:

Si je veux un style plus élaboré et créer des classes par exemple, il est beaucoup plus intéressant d'utiliser la boîte des styles internes associée à la balise <img>. C'est une balise en ligne. Comme pour toutes les balises, une boîte associée à la balise <img> est accessible par le menu [Styles internes] du sélecteur de la barre d'état. Je place le curseur sur l'image et le sélecteur de la balise d'image s'affiche dans la barre d'état <img>. Je peux alors jouer avec la boîte pour lui donner un style comme avec la balise <span>.

En particulier je peux préciser le style de la bordure. Dans la fenêtre [Propriétés des bordures], je trouve déjà inscrite l'épaisseur 3 px choisie dans la fenêtre [Propriétés de l'image] (fig. 10-3) et indiquée en mode Source  style="border: 3px;"

Par contre l'espacement du texte qui, pour la balise <span> ou les blocs, a été spécifié dans la fenêtre [Propriétés de l'image], ne s'y trouve pas car il n'a pas été fixé par des styles internes. Il est spécifié par les attributs html hspace="10" vspace="10"

Or dans la fenêtre [Propriétés de la boîte], je peux également donner une valeur à l'écartement du texte par les valeurs des espacements ou des marges (je fixe un espacement à la valeur 7px pour la distinguer de l'autre). Et là, la déclaration est bien ce que nous connaissons déjà style="padding-left: 7px; padding-right: 7px;". A nouveau, je remarque qu'il existe deux types de déclaration de style: celles qui sont liées à l'attribut de style interne style= et celles qui sont des attributs html. J'y reviens plus bas.

Ainsi donc, on peut donner indépendamment deux déclarations d'esapcement. Et si je renseigne les deux, vont-elles se cumuler ou entrer en conflit? Ni l'un ni l'autre, c'est le style interne de la fenêtre [Propriétés de la boîte] est prioritaire que l'attribut html, qui devient inutile. Aussi, pour la suite de la construction de ma page web, (du moins après avoir exploré la fenêtre "propriétés avancées", je choisirai de préférence le style interne [Propriétés de la boîte]. 

Propriétés avancées. Styles internes et Attributs HTML

Les précisions précédentes nous conduisent à ouvrir la fenêtre [Propriétés avancées] qui affiche les attributs html. J'ai déjà eu l'occasion d'ouvrir une telle fenêtre lorsque j'ai modifié le style des puces (figure 9-4) ou encore quand j'ai donné un nom d'identificateur à un bloc (figure 9-6). Maintenant, je m'occupe des propriétés avancées de l'image et de sa boîte.

Je peux accéder à la fenêtre [Propriétés avancées] par l'une des manières suivantes

  1. en plaçant le curseur sur l'image "trio d'instruments à vent", et en survolant ou sélectionnant le sélecteur de la balise <img>. Dans le menu contextuel, je connais déjà les lignes [Styles internes], [Supprimer la balise] et [Classes]. Je sélectionne [Propriétés avancées].
  2. ou encore par la fenêtre [Propriétés de l'image]>[Edition avancée].

Et voici ce que je découvre:

Figure 10-4
figure 10-4

Note: pour certains blocs comme "p" ou "div", on accède également à cette fenêtre,

Je retrouve toutes les déclarations que j'ai fixées dans l'onglet [Attributs HTML], sauf celles qui sont dans les styles internes comme la bordure. Mais je dispose également de l'onglet [Style interne] où je trouve inscrits ces styles internes. Bien évidemment, par l'intermédiaire de cette fenêtre, je peux non seulement voir les attributs, mais également les modifier ou en ajouter par les rubriques [Attribut] et [Valeur] en bas de la fenêtre. Dans cette fenêtre, on s'exprime en langage html brut.

Récapitulons, tout s'éclaire. Dans les styles intégrés à une balise, il y a deux sortes de déclarations de style:

  1. les Styles internes s'inscrivent dans l'attribut style= en mode Source. On les contrôle par les Propriétés de Styles internes. On les connaît bien depuis le début de ce tutoriel. Il est possible de les extraire et de les inscrire dans la feuille de style interne.
  2. les Attributs HTML ne s'inscrivent pas dans ce cadre, et sont des attributs indépendants. On les contrôle par les Propriétés avancées. Ils ne peuvent pas être transférés dans la feuille de style interne.

Notons qu'on a déjà rencontré plusieurs attributs HTML. Outre l'identificateur, il y a l'attribut de l'ancre, associé à la balise <a>, name. Si je place le curseur sur une ancre (mode Normal ou mode Balises) et que j'ouvre la fenêtre de propriétés avancées, j'ai accès à son nom. Également l'attribut d'un lien, href. Pour les images, voici de nouveaux attributs: alt, title et src. Ces attributs sont proposés dans le menu déroulant de la rubrique [Attribut] en bas de la fenêtre (figure 10-4).

La grande supériorité des styles internes est qu'on peut en extraire les déclarations pour les placer dans la feuille de style. Il est donc recommandé de favoriser le style interne lorsqu'il y a doublon. A cause de cette déduction, je note cette étrangeté que dans la même fenêtre des propriétés de l'image, l'une des déclarations (bordure) est un attribut de style interne, les autres (marges gauche et droite, haut et bas) sont des attributs HTML. Je suggère aux développeurs que les marges soient déclarées de la même manière en style interne et que cette déclaration puisse se faire indifféremment par les deux voies (Propriétés de la boîte, et propriétés de l'image) comme pour la bordure. 

Placement de l'image par la position Flottante

Avec la fenêtre [Propriétés de la boîte] en style interne, j'ai la possibilité éventuelle d'attribuer une position relative ou absolue. Oui, c'est possible même pour une balise en ligne. C'est possible pour toute balise. Nous savons le faire (section 9).

Mais une autre possibilité est intéressante, la propriété "Flottante". Cette propriété permet de positionner l'image complètement à droite ou à gauche selon le choix effectué dans le menu déroulant. Bien évidemment, c'est une alternative à la façon dont je viens de la positionner avec les propriétés de l'image "Placement du texte à droite". Je retrouve le doublon [Propriétés de la boîte- styles internes] - [Propriétés de l'image - Attributs HTML].

Figure 10-5
figure 10-5

Je choisis par exemple la valeur Flottante: [Gauche] qui me positionne l'image sur la gauche du bloc conteneur. La position de l'image en hauteur ne varie pas. Le texte qui la suit se répartit sur le côté droit et en-dessous, comme on le voit sur la figure:

Figure 10-6
figure 10-6

En mode Source, la commande de la valeur de Flottante est style =" float: left;".

Elle est donc différente de celle du placement du texte avec les propriétés de l'image qui est align="left". Si on se hasarde à commander les deux en même temps, les propriétés de style interne supplantent les attributs de l'image. Comme pour les espacements, il me semble donc préférable d'employer les [Propriétés de la boîte] plutôt que l'onglet [Apparence] des [Propriétés de l'image] sauf si l'on veut un style un peu plus élaboré.

Il est à remarquer que la position "Flottante" s'applique à toute boîte de balise et pas seulement aux images. C'est une alternative très intéressante pour placer mon bloc "Actualités" à gauche. Elle n'est pas compatible avec un autre positionnement, comme position relative ou absolue. Même si on sélectionne [Flottante]>[Gauche] dans la fenêtre de propriétés de la boîte, elle reste inopérante si une autre position est sélectionnée dans la rubrique [Position].

Insérer une ligne de largeur totale. Propriété "dégagement = "clear"

Que ce soit par l'une ou par l'autre des deux méthodes, mon image est maintenant à gauche, et le texte s'écoule sur sa droite (figure 10-6). Cependant, je ne veux pas que tout le texte se mette sur le côté, et j'aimerais bien que le paragraphe suivant, le titre "Historique... ", soit placé en-dessous de l'image. Est-ce possible?

Très facile. Je place mon curseur là où je veux déplacer le texte en -dessous, donc au début de "Historique" et j'insère un saut de ligne avec le menu [Insertion]>[Saut de ligne sous les images]. Ce que ne suggère par l'expression, c'est que cette ligne est dotée d'une propriété particulière, celle de vouloir toute la place en largeur pour elle. Impossible dans la zone de l'image flottante, de sorte qu'elle va se placer là où elle trouve cette place: en-dessous de l'image.  Cette propriété est indiquée en mode Source par la déclaration  "clear" attribuée au saut de ligne: <br clear="all">.

Figure 10-7
figure 10-7

C'est la façon la plus simple et la plus rapide, mais pour celles et ceux qui veulent bien maîtriser, je vais indiquer une autre façon. Je peux carrément attribuer cette propriété "clear" à la boîte du titre "Historique...". Curseur dans le titre "Historique...", sélecteur "h2" dans la barre d'état, [Styles internes], accès à la fenêtre [Propriétés de la boîte]. A la propriété [Dégagement] (c'est la propriété "clear"), je donne la valeur [Les deux]. Cela empêche qu'une boîte en position flottante vienne s'installer dans le paragraphe. Traduction en mode Source:

style="clear: both;"

Remarque: Que veut dire "dégagement" pour un bloc? Cela veut dire qu'il prend toute la largeur, il ne supporte pas d'intrus dans l'espace sur ses côtés, il veut qu'e les côtés soient dégagés de sorte qu'il se décale vers le bas pour se positionner là où il trouve toute la place, sous l'image. "Clear", ça veut dire libérer, dégager.

Faire un lien à partir d'une image

Il est possible de faire un lien à partir d'une image pour transporter le lecteur ailleurs. Il suffit qu'il clique sur l'image, et hop, il se retrouve en face de l'agrandissement de la photo, de sa description ou d'un autre document. Ou bien votre image est une toute petite vignette dans le fil du texte et son lien conduit à un site... Comment procéder?

Placer le curseur sur l'image. L'onglet lien est accessible de quatre manières.

Remplir les rubriques comme on sait déjà le faire, soit pour un lien interne (section 8), soit pour un lien externe (section 9).

Attention, il ne suffit pas que ce lien existe. Encore faut-il que le lecteur s'en rende compte. Il faut donc qu'il en soit averti soit par un texte tel que "cliquez ici", ou par la modification flagrante de l'apparence de l'image quand le curseur la survole (style de la balise a:hover)

11. Je crée une barre de menu. Insérer un tableau

J'ai créé un répertoire "monsite" dans lequel j'ai placé la première page d'accueil déjà bien rédigée, avec son en-tête, son contenu principal, et un bloc "Actualités". Il s'y trouve également un dossier contenant les images. Et plusieurs autres pages donnant des détails sur le groupe, les prochains stages et concerts, les albums, etc.., pages nommées "index", "mapage2",  et "concert_cahors.html". Dans le bloc "Actualités", j'ai créé des liens renvoyant le lecteur à la page "concert_cahors.html" et à quelques autres concernant les actualités. Je me propose maintenant d'installer une barre de menu qui permettra au lecteur de naviguer dans les différentes pages de mon site.

Préalable: Même si je n'ai encore rédigé que la première page de mon site, je sais déjà que ce site va comporter plusieurs autres documents, et il est avantageux d'en créer les pages dès maintenant, même si elles ne contiennent qu'un seul mot par exemple, ou quelques idées jetées en vrac. Cela me permettra de construire les liens à ces pages à partir de la barre de menu.

Je choisis d'installer une barre horizontale qui reflète grosso modo le plan de mon site. Cela va se faire en deux temps.

Boîtes en ligne dans un bloc conteneur

Une solution intéressante est de créer une boîte contenante de dimensions données avec un bloc <div>, comme le montre la figure 11-1. Je lui attribue une largeur (70%), ou des marges gauche et droite. Éventuellement une couleur de fond, et des bordures, et le style du texte (alignement à droite). Je peux lui donner un nom d'identification tel que "menu" avec la fenêtre des propriétés avancées (pointeur sur le bloc, bouton droit de la souris). A l'intérieur, je saisis les titres de rubriques.

Figure 11-1
figure 11-1

Comment vais-je pouvoir transformer ces titres de rubrique en petites cellules adjacentes? Le moyen est qu'elles soient chacune dotées de leur boîte.

Une première méthode est la suivante.  Puisque chacun de ces titres sera un lien, les boîtes toutes trouvées sont celles des balises <a>. Il n'y a nul besoin d'en fabriquer d'autres. Il suffit que je donne un style spécifique à tous les liens qui seront contenus dans le bloc "menu". Je peux le faire soit par la méthode des classes (j'applique la classe ".rubrique" à chacun des liens de la barre de menu). Soit par la méthode de l'enfant en éditant le style "#menu a", qui va s'appliquer à tous les liens <a> du bloc identifié "menu", comme on l'a vu à la section 9 (ici texte gras, fond jaune, marge à droite de 15px, espacements gauche et droit de 10px, bordure). Puis j'établis les liens entre les titres de rubrique et les documents correspondants, ce qui a pour effet immédiat d'insérer la balise <a> et de leur appliquer le style "#menu a". On a déjà vu comment on pouvait renvoyer par un lien à une autre page dans la section 9 avec la création du bloc "Actualités". Il suffit de retravailler le style pour faire quelque chose de simple et efficace. Et voilà (figure 11-2).

Figure 11-2. Menu obtenu avec un bloc <div> contenant des boîtes <a>
figure 11-2

J'édite également les styles "a:hover" et "a:visited".

Inconvénient de cette méthode, l'apparence est dépendante des liens. On ne voit pas l'effet des propriétés de style tant qu'on n'a pas établi les liens. D'autre part, il faut garder à l'esprit que les navigateurs de vos lecteurs ont des styles d'affichage de liens différents. Si vous voulez qu'ils conservent l'apparence que vous avez donnée à la couleur du texte et à la présence du soulignement, il faut cocher les cases [Importance] correspondantes dans l'éditeur de style, onglet [Général] (figure 8-4).

Je modifie le style des listes avec les propriétés avancées

Une variante de cette méthode qui permet d'éviter la dépendance à l'établissement des liens est de créer les cellules avec des boîtes avant d'établir ces liens, à l'aide des autres balises comme <p> ou<div>. A l'intérieur d'un bloc DIV conteneur, je crée 3 blocs <p>. Mais comme vous le savez, pour créer trois boîtes séparées avec les formats [Paragraphe] ou [Conteneur générique], il faut que chacune des rubriques soient sur des lignes séparées. J'ajoute donc des "changements de paragraphe". Puis je sélectionne les trois lignes et j'applique le format "paragraphe" avec le menu déroulant de la barre de mise en forme. Puis je vais les disposer sur la même ligne, de la façon que j'indiquerai plus loin avec les listes.

Figure 11-3

Car au lieu de poursuivre dans cette voie, voici une deuxième méthode pour créer un bloc contenant des cellules qui utilise le format de liste car c'est encore plus génial. En effet, si je sélectionne les trois lignes séparées des rubriques comme ci-dessus, et que j'applique le format liste, par exemple la liste non ordonnée <li>, les boîtes <li> sont incluses dans une boîte <ul>. Celle-ci peut donc remplacer le bloc <div>. Autrement dit avec les listes, j'ai immédiatement un bloc contenant des cellules. Je peux recommencer à zéro, avant la figure 11-1. 

Je tape mes trois lignes de rubrique dans le corps de texte, et je leur applique la liste non ordonnée grâce à l'icône de la barre d'outils.

Figure 11-4

Supprimer les puces

Les listes non ordonnées, et d'autant plus les listes ordonnées, ont l'inconvénient d'être dotées de puces de décoration qui dans ce cas sont gênantes. Il est tout à fait possible de modifier ou de supprimer ces puces grâce aux Propriétés avancées comme on l'a vu dans la section 9. Je place le curseur dans la liste et les sélecteurs correspondants <ul> et <li> apparaissent dans la barre d'état. A partir du menu contextuel associé au sélecteur <ul>, je me rends dans [Propriétés avancées], dans le menu [Attribut] je sélectionne [Type] (figure 9-4). Les valeurs proposées par le menu déroulant me donnent le choix entre le disque, le carré, le cercle. Il y a également la possibilité de supprimer ces puces, or malheureusement cette option n'est pas proposée dans le menu déroulant. Je dois l'indiquer moi-même en inscrivant "none" dans la case [Valeur].

Annuler les espacements. Listes de définition <dt>

Les balises <ul> et <ol> ont également des espacements par défaut qu'il faut annuler. Il semble (peut-être) plus simple de travailler avec les listes de définition <dt> qui ne comportent ni puces, ni espacement, tandis que les éléments <dd> qui n'ont pas de puce ont un espacement de 40px par défaut. Pour la suite, je fais le choix des éléments <dt>. Les boîtes <dt> sont englobées dans le bloc conteneur <dl> (voir listes de définition).

Affichage de blocs en ligne

Les boîtes associées à chaque ligne de la liste sont des blocs qui prennent toute la largeur disponible (vous pouvez les matérialiser avec les bordures) et s'affichent les uns en-dessous des autres. Il faut donc que je m'arrange pour que les boîtes se collent en ligne. Et bien, comme on peut tout faire avec le langage html et que les boîtes se transforment aisément les unes en les autres, il suffit d'ajouter une règle de style qui dit que chacune de ces boîtes est une boîte en ligne et non un bloc. Par le menu [Style interne], [Propriétés de la boîte] ou avec l'éditeur de style, Onglet [Boîte], dans la propriété [Affichage] qui se trouve en haut à gauche, sélectionner la valeur [En ligne]. Les trois boîtes abandonnent leur caractère de bloc. Leur largeur n'occupe plus que celle nécessaire pour inscrire le texte, comme un texte en ligne qu'elles sont devenues. Ce texte peut bénéficier des styles de texte en ligne, d'alignement par exemple comme on va le voir avec le "menu dl".

Je crée les règles de style pour les boîtes <dd> par le "#menu dt" et pour la boîte <dl> par le "#menu dl".

Règles de style "#menu dt": premièrement, dans l'onglet [Boîte], je sélectionne l'affichage en ligne. Puis, par exemple, marge à droite de 15px pour régler l'écart entre boîtes, espacements gauche et droit de 10px pour l'encadrement du fond, texte gras, fond jaune, bordure. (Note: j'ai choisi ces règles identiques à celles de mon "#menu a" précédent puisque c'est une méthode alternative et que je veux comparer). L'écart entre les boîtes est la somme de la marge gauche d'une boîte et de la marge droite de la boîte adjacente (essayez différentes valeurs pour voir où ça se joue).

#menu dl: C'est là que j'aligne le texte à droite pour empiler les boîtes sur la droite. Exemple: une couleur de fond bleue, marges en haut et en bas éventuellement 0px (car elles ont une valeur non nulle par défaut). Les espaces supérieur et inférieur entre la bordure des blocs jaunes <dt> et la bordure du bloc bleu <dl> sont ajustés avec les espacements haut et bas. Expérimentez.

Ça marche et voici le résultat de cette deuxième méthode (figure 11-5). Le tour est joué avec seulement quelques mots saisis et une liste de définition. Comparez avec la figure 11-2 obtenue par la première méthode. Il restera à établir les liens externes, et à définir les différents styles pour "a", "a:hover" et "a:visited".

Figure 11-5. Menu obtenu avec un bloc <dl> contenant des boîtes <dt>  figure 11-5

Je crée un tableau. Lignes et colonnes

Une troisième méthode pour créer un bloc contenant des cellules est d'insérer un tableau à une seule ligne (ou plusieurs si nécessaire). Par nature, le tableau est fait de blocs qui englobent des cellules. Il est plus complexe que les constructions que nous venons de bâtir puisqu'il offre la possibilité d'être structuré en lignes et colonnes, qui comportent elles-mêmes des sous-ensembles.

Pour créer le tableau, je place le curseur là où je veux l'insérer. En ce qui concerne mon site sur la musique traditionnelle, je le place en-dessous de l'en-tête (à condition d'avoir pris la précaution de laisser une ligne vide, sinon, il y a un problème pour en placer une, mais aussi une solution. Voir la remarque comment sortir des blocs div  à la section 7).

Dans la barre d'outils, je clique sur l'icône [Tableau]. La boîte de dialogue [Insérer un tableau] s'affiche, et je peux choisir le nombre de lignes et le nombre de colonnes. Peu importe si je ne sais pas encore exactement le nombre de colonnes et de lignes dont j'aurai besoin, car je pourrai toujours modifier ces nombres par la suite. Avant de faire ma barre de menu à une seule ligne, je vais m'exercer en construisant un tableau à 2 lignes et trois colonnes pour en comprendre le fonctionnement.

Figure 11-6
figure 11-6

Voici ce qui s'affiche:

Figure 11-7
fig11-7

Le tableau s'affiche par défaut avec une largeur de 100%, une bordure extérieure en trait plein d'épaisseur 1px, des bordures identiques pour les cellules, et des séparations entre cellules de 2 px.

Attention, il y a une différence entre l'affichage en mode Normal, qui affiche les bordures du tableau et celui du navigateur, pour lequel les séparations entre cellules ne sont pas rendues visibles si aucun texte n'est saisi dans la cellule (essayez avec l'icône Navigateur). Je vous conseille donc de saisir quelques lettres dans chacune des cellules. Le mode Aperçu n'en rend pas compte, alors qu'il devrait le faire me semble-t-il.

Structure du tableau. Balises <table> <tr> <td>

Si je place le curseur dans n'importe quelle cellule du tableau, de nouveaux sélecteurs de balises apparaissent dans la barre d'état. On peut y voir les balises <table>, <tbody>, <tr>, <td>. Ces balises me montrent qu'un tableau est fait de 4 niveaux de blocs imbriqués.

La balise <table> gouverne le bloc du tableau dans son entier. Vérifiez-le en cliquant dessus pour le sélectionner.

La balise <td> gouverne le bloc de la cellule dans laquelle je suis positionné. 

La balise <tr> gouverne le bloc de la ligne contenant cette cellule. Un bloc <tr> inclut une ou plusieurs cellules <td>. Dans le cas présent  il comprend 3 cellules par lignes et le bloc <table> comprend deux lignes <tr>.

La balise <tbody> est utile lorsque le tableau comporte beaucoup de lignes et qu'on veut les assembler en différents groupes. Il y a aussi la possibilité de spécifier que certaines lignes sont des lignes de titre (balise <th> à partir de la fenêtre [Propriétés du tableau]). Je ne m'en occuperai pas ici.

Cet emboîtement de blocs et de balises est bien visible en mode Source.

<table style="text-align: left; width: 300px;" border="12" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td
align="undefined" valign="undefined"></td>
      <td
align="undefined" valign="undefined"></td>
      <td
align="undefined" valign="undefined"></td>
    </tr>
    <tr>
      <td
align="undefined" valign="undefined"></td>
      <td
align="undefined" valign="undefined"></td>
      <td
align="undefined" valign="undefined"></td>
    </tr>
  </tbody>
</table>

Ajouter ou supprimer des lignes et des colonnes

Je remarque que le nombre de lignes et de colonnes ne se traduit pas par un déclaration de style ou autre attribut html, mais par le nombre de balises qui sont posées au préalable, avant même que les cellules reçoivent du texte.

Si j'ai envie de modifier les nombres de lignes et de colonnes que j'ai déclarés au moment de la création du tableau (figure 11-6), j'ai le choix entre 4 méthodes, comme souvent.

Par les symboles affichés sur le tableau

Voici une méthode commode et immédiate pour ajouter, supprimer et manipuler lignes, colonnes et cellules. Si je place le curseur dans le tableau, je peux constater qu'il apparaît 2 sortes de symboles sur le tableau lui-même (figure 11-7). Tout autour se trouvent des carrés qui sont comme des poignées qui me permettront plus tard de redimensionner le tableau. Sur les bords du haut et à gauche de la cellule où est positionnée le curseur (dans la figure 11-7, c'est la première case de la première ligne) deux symboles s'affichent  l'un horizontal, l'autre vertical. Chacun comporte un rond central contenant une croix, une flèche à gauche et une flèche à droite.

Avec le rond on supprime (comme la croix veut le signifier), avec les flèches on ajoute. En cliquant sur le rond du symbole horizontal sur le bord supérieur, on supprime la colonne à laquelle appartient la cellule où est positionné le curseur. En cliquant sur la flèche de gauche, on ajoute une colonne immédiatement à gauche. Avec les symboles verticaux du bord gauche, on supprime et on ajoute des lignes.

Par la barre de menus

On peut aussi se rendre aisément dans la barre de menu, [Tableau], et en utiliser les divers sous-menus [Insérer] et [Supprimer]. Attention, il faut d'abord vous positionner en plaçant le curseur pour indiquer clairement où vous voulez supprimer ou ajouter.

Par le menu contextuel

Lorsque le pointeur se trouve dans le tableau, un clic droit de la souris donne accès au menu contextuel qui affiche les mêmes fonctions que le menu.

Par la fenêtre [Propriétés du tableau]

Lorsque le curseur est placé dans le tableau et que je clique sur l'icône [Tableau] de la barre d'outils, je n'obtiens plus la fenêtre [Insérer un tableau] de la figure 11-6, mais la fenêtre [Propriétés du tableau] (figure 11-8). C'est elle qui s'affiche également lorsque je double-clique sur le tableau. Elle comporte deux onglets:

Figure 11-8
figure 11-8

Dans le cadre du haut [Taille] sont inscrites les valeurs choisies auparavant des nombres de lignes et de colonnes. Je peux les modifier et cliquer sur [Appliquer]. Toutefois, on n'a pas le choix de l'emplacement des lignes ou colonnes enlevées ou ajoutées. Les colonnes ajoutées ou enlevées le sont systématiquement à droite et les lignes le sont en bas. Aussi, je trouve que la première méthode par les symboles affichés est très commode.

Emplacement du tableau: largeur et alignement

Largeur du tableau

Je veux maintenant fixer le positionnement général du tableau, par sa largeur et son alignement horizontal dans la page. Toujours dans la fenêtre [Propriétés du tableau] de la barre d'outils, onglet [Tableau] de la figure 11-8, cadre [Taille], je vérifie bien que le tableau a une largeur de 100% par défaut. Je peux la modifier en pixels ou en % de la fenêtre. Les % sont intéressants car ils assurent de conserver cette proportion et de voir le tableau dans son entier même si la fenêtre est réduite. Comme pour tous les blocs d'ailleurs. Je choisis 70%. 

La consigne que je viens de donner est déclarée en tant que Style Interne, et elle est affectée à la balise <table>. Il est important que ce soit clair, car comme on va le voir pour les bordures, certaines consignes peuvent s'entrechoquer...

Note: J'aurais pu indiquer la largeur du tableau au moment de sa création avec la fenêtre [Insérer un tableau], onglet [Précisément] (figure 11-6).

Redimensionner le tableau avec les poignées

Il y a une autre façon de modifier la largeur du tableau ainsi que la hauteur en agissant sur les poignées (petits carrés), lorsque le curseur est dans le tableau (figure 11-7). Mais il faut savoir que les nouvelles valeurs vont être attribuées en pixels. Du coup, cela enlève la valeur de 70% que j'avais fixée.

Alignement du tableau dans la largeur de la page

Par défaut, le tableau est aligné sur la gauche. Par l'onglet [Tableau], toujours dans cette fenêtre [Propriétés du tableau] de la figure 11-8, je peux choisir de le placer également à droite ou au centre. Je choisis "Centre". Dans le menu déroulant, je sélectionne pour [Alignement du tableau] la valeur "Centre".

Cette consigne est traduite en code Source en fixant les marges gauche et droite du bloc <table> en style interne. L'alignement à droite a pour effet de fixer une valeur 0 pour la marge de droite, mais également une marge gauche "auto", faute de quoi ça ne marche pas. De même, c'est là que j'ai découvert comment on fait pour centrer un bloc: marge à gauche et marge à droite reçoivent la valeur "auto".

Afficher les styles internes avec l'édition avancée

Pour constater vous-même cette opération, vous pouvez afficher les styles internes. Pour cela, on dispose de deux fenêtres.

Figure 11-9
figure 11-9

Il est possible de modifier les valeurs de la largeur et des marges dans ces fenêtres.

Anomalie: A partir de l'onglet [Tableau] de la figure 11-8, si j'ouvre [Edition avancée] et que je clique sur OK sans rien changer, cela remet le positionnement du tableau à gauche, en effaçant les valeurs "auto" des marges. Idem si j'ouvre l'éditeur de propriétés avancées avec le sélecteur de balise <table>.

Je décore le tableau. Style et épaisseur de la bordure

Nous allons maintenant ajuster la bordure extérieure du tableau. C'est celle qui est associée à la balise <table>. Je vais en fixer l'épaisseur et le style.

Épaisseur de la bordure

Dans la fenêtre [Propriétés du tableau], onglet [Tableau] (figure 11-8), cadre [Bordures et marges], l'épaisseur de la bordure est fixée par défaut à 1px, que je modifie à volonté. Pour bien visualiser comment ça fonctionne, je fixe 12px. Cela dessine une bordure ombrée qui donne l'impression de relief. 

Je constate sur la figure 11-9 que la valeur de l'épaisseur 12px n'est pas reportée en style interne. Par contre en cliquant sur l'onglet [Attribut HTML], je la retrouve (figure 11-10), ainsi que les deux autres valeurs du cadre "Bordures et marges" fixées par défaut dans la fenêtre [Propriétés du tableau].

Figure 11-10
figure 11-10

La consigne [Bordure] établit avant tout l'existence de la bordure du tableau, mais également des bordures des cellules. Par défaut, la bordure du tableau est en relief et les bordures des cellules en encart. Cependant la valeur inscrite, 12px, ne s'applique qu'à la bordure du tableau. 

Style et couleur de la bordure de <table>

Par défaut, la bordure apparaît en relief. Comment faire pour avoir un trait plein ou une cannelure? Comment en changer la couleur? Si l'existence de la bordure est posée par la déclaration précédente de son épaisseur, les modifications de style sont faites avec les styles internes propres à la balise <table>. Ceux-ci ne sont pas proposés dans la fenêtre [Propriétés du tableau]. Je dois aller les chercher ailleurs, selon la méthode habituelle, avec [Propriétés des bordures] associé au menu contextuel de la balise <table>. Je donne aux bordures le style "Arête" et une couleur verte.

Figure 11-11
figure 11-11

Remarque: dans cette même fenêtre [Propriétés des bordures], il est possible également d'indiquer une valeur de l'épaisseur. Mais cette rubrique n'est pas active. En effet,il pourrait y avoir confusion entre les deux déclarations, l'une en attribut html, et l'autre en style interne. 

Couleur de fond du tableau

Dans la fenêtre [Propriétés du tableau], je peux déterminer la couleur de fond du tableau (en vert dans la figure 11-11). C'est une consigne qui va en style interne.

Styles internes et attributs HTML Edition avancée

Récapitulons.

Toutes les déclarations de style faites par l'intermédiaire de l'onglet [Tableau] s'adressent à la balise <table>. Cette balise est un bloc. On lui retrouve donc toutes les caractéristiques des autres blocs. Ce qui suit est vrai pour tous les types de blocs.

Les déclarations de style d'un bloc sont de deux sortes. Certaines sont des propriétés de style interne et d'autres sont des attributs html.

Menu contextuel de la barre d'état

Je place le curseur dans le bloc (par exemple dans le tableau). Le sélecteur de la balise (<table>) apparaît dans la barre d'état . En positionnant le pointeur sur ce sélecteur, je clique sur le bouton droit de la souris et le menu contextuel se déroule (figure 2-2). Là j'ai accès aux styles internes par la rubrique [Styles internes]. La rubrique [Propriétés avancées] affiche les attributs html mais aussi les styles internes en langage html brut, tels qu'ils sont reportés en mode Source.  C'est donc une deuxième fenêtre pour les styles internes.

Extraire un style vers l'éditeur de styles

Je rappelle que les styles internes associés à la balise peuvent être extraits, toujours grâce à ce menu contextuel de la figure 2-2, nommés en tant que classe ou identificateur, ou associés à toutes les balises d'un même type, de sorte qu'ils sont réécrits dans l'éditeur de styles (figure 2-7). Ceci n'est pas possible avec les attributs html.

Propriétés du tableau, de l'image ou du lien

Enfin, NVu offre des fenêtres spéciales [Propriétés de...] à certaines balises comme <table> et les cellules qui lui sont associées, les images <img> et les liens <a>. Dans ces fenêtres on trouve un premier panneau où sont affichées les propriétés habituelles du tableau (figure 11-8), de l'image (figure 10-1) ou du lien (figure 8-1), dans lesquelles figurent à la fois certaines propriétés de style interne et des attributs html. En cliquant sur [Edition avancée], on retrouve la fenêtre [Propriétés avancées] du menu contextuel, avec ses deux onglets [Style interne et Attributs html].

Marge et espacement de la balise <table>

Je continue à jouer avec les styles internes associés au sélecteur de la balise <table>. Je passe à [Propriétés de la boîte].

Je peux régler les marges et l'espacement. Pour montrer l'effet du espacement, j'exagère en fixant un espacement de 10px en haut et en bas, et de 30px à gauche et à droite. On voit bien que l'espacement est interne à la bordure du tableau. C'est un espace entre la bordure du tableau et les bordures des cellules. 

Figure 11-12
figure 11-12

Anomalie: Ouvrir l'éditeur de propriétés avancées et cliquer sur [Appliquer] ou [OK] efface les espacements gauche et droit.

Style des cellules. Balise <td>

Passons à la structure intérieure du tableau donnée par l'aspect des cellules. Par défaut, des bordures de style "encart" ont été créées par la consigne [Bordure] de l'onglet tableau.

Onglet [Tableau]. Marges et espacement des cellules

Dans la fenêtre [Propriétés du tableau], onglet [Tableau], les valeurs des marges des cellules (écartement entre les cellules) et des espacements des cellules (marge intérieure de la cellule) sont déjà remplies par défaut à 2px. Je peux les modifier à volonté.

Bien que ce soient des propriétés des cellules, ce sont des consignes qui sont attachées à la balise <table>, en attribut html (figure 11-10). Ce sont de nouvelles commandes  (cellspacing et cellpadding) qui agissent sur toutes les cellules du tableau de façon unique.

Onglet [Cellules]. Taille, couleur de fond et alignement du texte des cellules

Avec l'onglet [Tableau], j'ai donné des valeurs pour les propriétés de la balise <table>. Avec l'onglet [Cellules], je donne des valeurs aux propriétés de chacune des cellules par l'intermédiaire de leurs balises <td>. C'est ce volet  que je vais explorer. Si je place mon curseur dans une cellule, l'onglet [Cellules] me permet de donner des consignes de style pour cette cellule uniquement. Ces consignes sont associées à la balise <td> de cette cellule.

Je peux y indiquer la taille, la couleur de fond, et l'alignement du texte pour une cellule. Puis je passe à la cellule suivante ou précédente pour donner d'autres consignes.

Anomalie: En principe, je peux donner les mêmes consignes à toute une rangée en sélectionnant "ligne" dans la rubrique [Sélection] ou à toute une colonne. Mais cela ne fonctionne pas. Les données ne sont pas prises en compte.

Une autre propriété de cellule est proposée, celle du style de cellule: "Normal" ou "Titre". Choisir "Titre" remplace la balise <td> par une autre balise <th>. Celle-ci peut recevoir un autre style applicable à toutes les cellules qui seront déclarées "Titre". Voici comment cela se traduit en mode Source si je déclare que la deuxième cellule de la ligne est un titre.

<tbody>
<tr>
    <td>rubrique 1</td>
    <th>rubrique 2</th>
    <td>rubrique 3</td>
</tr>

Bordure d'une cellule

Par défaut, des bordures de style "encart" ont été créées, associées à la consigne [Bordure] de l'onglet tableau. Mais leur épaisseur est fixée à 1px, quelle que soit la valeur assignée à [Bordure]. Comme puis-je modifier ce style, l'épaisseur et la couleur des bordures?

Je remarque que dans les [Propriétés du tableau] cela n'est pas prévu ni dans l'onglet [Tableau], ni dans l'onglet [Cellules]. La seule possibilité est le menu [Styles internes] du menu contextuel associé à la balise <td>. Je choisis par exemple des pointillés rouges épais de 3px.

Figure 11-13
figure 11-13"

Style commun à toutes les cellules avec l'éditeur de style

Bien évidemment, seule la cellule correspondante reçoit ce style. Comment donner un style commun à toutes les bordures des cellules d'un tableau? Ce qui est déjà commun est l'espacement entre cellules ainsi que l'espacement. Mais le reste?

Le reste étant défini par les styles internes, je définis un style commun à la balise <td> avec l'éditeur de style. Soit pour tous les éléments de type <td> (figure 4-6), soit en donnant un nom d'identificateur au tableau (id=menu) et en définissant le style pour les éléments #menu td (figure 9-6), soit en attribuant une classe à certaines cellules (figure 2-7). Le plus simple est de le faire pour une, et d'extraire le style pour l'appliquer à l'élément de même type.De la même façon je peux définir le style des titres associés à la balise <th>.

Exemple: Si je veux un quadrillage, je choisis le style trait plein (disons rouge, 2px) commun à toutes les cellules. J'ai alors un cadre identique pour toutes les cellules, mais pas de quadrillage. En effet, le quadrillage s'obtient en éliminant l'espace entre les cellules. Je fixe la marge à zéro dans l'onglet [Tableau] (figure 11-8).

Figure 11-14
figure 11-14

Remarque: il n'existe pas d'onglet réglant les propriétés d'une ligne entière <tr>. En effet, ce n'est pas utile. Cela compliquerait beaucoup. Si nécessaire, il est possible de le faire par les styles internes de la balise <tr>, comme on l'a expliqué ci-dessus pour tous les blocs.

Redimensionner les cellules avec les poignées

Les dimensions du tableau et des cellules sont visibles dans les rectangles blancs sur les règles du haut et de la gauche de l'écran (figure 11-11), à condition toutefois que l'affichage de ces règles n'ait pas été désactivé ([Affichage]>[Barres d'outils]>[Règles]). Je peux donc redimensionner les cellules en modifiant les limites de ces rectangles. 

Possibilité de fusionner des cellules

Il est parfois souhaitable qu'une cellule d'une ligne occupe la place de deux ou trois autres de la ligne en-dessous, par exemple pour en faire un titre. Après avoir créé normalement les cellules, je vais fusionner "rubrique 2" et "rubrique 3"  en une seule avec le titre "stages"

Ce n'est pas possible par les [Propriétés du tableau]. Je dois me rendre dans la barre de menus, menu [Tableau]. Deux possibilités: ou bien je sélectionne mes deux cellules et je sélectionne [Fusionner les cellules sélectionnées] dans le menu déroulant. Ou bien je place mon curseur dans une cellule et je sélectionne [Fusionner avec la cellule suivante]. Puis je saisis le texte.

Figure 11-15
figure 11-15

Fusionner recouvre plusieurs opérations. C'est d'une part supprimer la séparation entre les cellules, donc enlever la balise de fin de la première cellule et la balise de début de la seconde, et d'autre part c'est dire que la nouvelle cellule s'étale sur 2 colonnes. En mode Source , c'est la déclaration "colspan", qui veut dire étalement (span) sur plusieurs colonnes (col).

<td>rubrique 1</td>
<td colspan="2" rowspan="1">stages</td>

"Rowspan" indique de la même façon la fusion verticale de cellule en s'étalant sur des rangées (row).

Je mets en forme le texte des cellules

Il me reste à saisir le texte dans chacune des cellules, à le mettre en forme, et à créer les liens.

Par défaut, le texte est aligné à gauche dans le tableau entier. Dans l'onglet [Cellules] de la fenêtre [Propriétés du tableau], rubrique [Alignement du contenu], j'ai la possibilité de choisir le type d'alignement du texte à l'intérieur de la cellule, aussi bien en large qu'en hauteur. La hauteur n'intervient que lorsque les cellules d'une ligne du tableau ont des contenus de volumes différents. Ces deux règles sont consignées en styles internes. 

C'est la seule possibilité de règles sur le texte par l'intermédiaire de cette fenêtre. Je peux donner des styles plus élaborés par les styles internes associés à la balise <td> de la cellule sélectionnée. Ou encore par la barre de mise en forme (gras, italique, etc..).  

Alignement du texte pour une ligne entière ou le tableau entier

Plutôt que de régler le style cellule par cellule, je veux que le même style soit donné pour toute la ligne ou pour tout le tableau. Il suffit pour cela que je sélectionne la balise correspondante (<tr>, <tbody> ou <table>) dans la barre d'état et que j'agisse soit avec la barre de mise en forme, soit avec les styles internes associés à chaque balise. 

Si je sélectionne <tr> dans la barre d'état, la mise en forme de la barre de mise en forme s'applique à toutes les cellules de la ligne. Si je sélectionne <tbody>, elle s'applique aux cellules de tout le tableau, ou du moins de tout le corps contrôlé par cette balise (les tableaux plus complexes peuvent comporter plusieurs de ces balises en sous-groupes). Si je sélectionne <table> dans la barre d'état, elle s'applique à toutes les cellules du tableau.

Accueil

Souvent, la première cellule de la barre de menu correspond à notre première page, la page de bienvenue ou d'accueil.

Attention à l'orthographe du mot "Accueil". Il devient de plus en plus fréquent de le voir écrit "Acceuil". Mauvaise impression d'accueil! Cette orthographe est pourtant facile à comprendre. Le "c" suivi de "u" se prononce "k". Donc "accueil", ça se prononce comme vous le savez, "akeuil". Le "c" suivi de "e" se prononce "s". "Acceuil" se prononcerait donc "akseuil" comme "accent". Oui je sais, le "eil" ne se prononce pas "eille" comme dans "pareil" mais "euille" comme dans "feuille". Je vous suis, et je suis d'avis qu'il est urgent que l'orthographe soit réformée et simplifiée. On devrait donc écrire "Accueuil". En attendant, ce n'est pas une exception. Le mot "orgueil" vous pose problème?

Voici un exemple de barre de menu dans laquelle le tableau a une bordure extérieure nulle et un fond bleu. Les cellules ont une bordure de 2px en relief, un fond jaune, un espacement gauche de 10px, un texte gras. Au tableau, j'ai ajouté un espacement gauche de 300px pour montrer qu'on peut pratiquement obtenir le même résultat qu'avec les autres méthodes de barre de menu (comparer avec les figures 11-2 et 11-5). 

Figure 11-16. Menu obtenu avec un bloc <table> contenant des cellules <td>
figure 11-16

Dans un tableau, une cellule est imbriquée dans 3 autres blocs. Si on ajoute le lien externe, cela fera 5 balises à formater, tandis que la première méthode n'en utilise que 2, et le deuxième méthode 3. Son codage est un peu plus un peu plus volumineux, et son maniement plus complexe.

J'ai le sentiment qu'une certaine répugnance à utiliser les tableaux s'est développée chez les concepteurs de sites, parce que ces tableaux ont été utilisés abondamment et abusivement pour faire des mises en forme de pages entières, à la place des blocs <div>. Cependant, le tableau possède certains avantages, et je ne vois pas pourquoi on n'en profiterait pas. Chaque fois que dans un document, on est tenté de faire une présentation de données en tableau sur une feuille de papier, il est logique de faire de même sur une page électronique, et même pour des menus. En tant que débutant à l'édition web, j'aime bien le tableau justement parce qu'on peut poser et visualiser immédiatement sa structure, même lorsqu'aucun texte n'a été saisi dans les cellules. C'est rassurant parce qu'on pose bien les cadres avant de les remplir. Une autre différence avec les précédentes méthodes: lorsqu'on réduit la fenêtre, les cellules de bout de rangée ne sont pas reportées à la ligne. Chacune d'elle est réduite en proportion si la largeur du tableau est réglée en pourcentage.

12. Je structure mon site. Le répertoire

Publier

A ce point de mon avancement, j'ai créé une ou plusieurs pages que j'ai l'intention d'exposer sur mon site.

Je suppose que j'ai créé ces pages sous forme de fichiers "index", "mapage2", "mapage3", mapage_concerts"', etc... que j'enregistre dans un dossier (ou répertoire) de mon disque dur que j'appelle "monsite".

Publier ça veut dire que ce dossier va devenir public, c'est-à-dire accessible au public pour qu'il puisse le consulter. Ce n'est pas possible si ce dossier reste sur mon ordinateur, à moins qu'il reste allumé en permanence et qu'il soit configuré comme un serveur. Généralement cependant, je devrai déposer une copie de ce dossier chez un fournisseur d'accès internet. C'est ce qu'on appelle "publier". Le fournisseur chez qui vous gérez votre courrier électronique vous offre également cette possibilité d'installer votre site personnel chez lui. De plus, il fournit quelques outils gratuits et conseils pour le réaliser. 

Une fois votre site publié, le public internaute le découvrira à condition qu'il en connaisse l'existence. Il y a pour cela deux moyens. On bien vous écrivez à vos connaissances et correspondants pour leur donner l'adresse du site. Ou bien les moteurs de recherche le débusquent selon des critères de mots-clés.

Titre de la page

Premier travail de visibilité de vos pages, il est important que chaque page du site soit bien identifiée par son titre. Le titre de ma page est celui que je veux voir affiché par les navigateurs dans la barre de titre de la fenêtre du navigateur. Il apparaîtra également dans les résultats des recherches des moteurs.

Pour saisir le titre: je vais dans le menu [Format] et je clique sur [Titre et propriétés de la page]. Dans la boîte de dialogue ainsi ouverte, j'inscris le titre de ma page dans la rubrique "titre" (première ligne de la boîte):

Informations sur la musique traditionnelle

Figure 12-1
figure 12-1

Remarques sur le titre de page

Auteur de la page

Dans la même fenêtre, je peux inscrire le nom de l'auteur de la page.

Les indications de titre et d'auteur ne sont pas enregistrées dans le corps de texte et sont invisibles au public. Cependant, elles sont visibles en mode Source, dans la partie <head>. Voici comment elles ont été prises en compte:

<title>Informations sur la musique traditionnelle</title>
<meta content=
"Alain Boudet" name="author">

Les références de la page. Description et mots-clés

Les moteurs de recherches parcourent des millions de pages. Comment repèrent-ils mes pages en fonction des mots-clés que je leur indique? Ils ne lisent pas tout. Ils sont sensibles aux mots contenus dans l'adresse, aux titres et sous-titres de la page identifiés par les sélecteurs h1 à h6. Il lisent également des indications non-affichées qui sont contenues dans la partie <head> visible en mode Source. Ce sont le titre de la page, le nom de l'auteur, et également la "description" et les "mots-clés". C'est ce qu'on appelle le référencement.

Description de la page

J'ai accès à la rubrique [Description] avec la même fenêtre [Format]>[Titre et propriétés de la page] (figure 12-1). J'y inscris une description courte et fidèle du contenu.

Mots-clés

NVu n'a pas prévu d'insérer des mots-clés en mode Normal. Or cette opération est très utile. Il suffirait de l'ajouter dans une rubrique à [Propriétés de la page]. Dans une prochaine version? Pour inscrire des mots-clés, il est donc nécessaire d'opérer en mode Source, mais c'est facile. Belle occasion d'aller voir un peu plus la partie <head>.

Précédant la balise de fin </head>, ou suivant les autres meta-balises <title> et <meta content>, j'insère le texte suivant:

<meta name="keywords" content="j'inscris ici les mots clés">.

Attention, n'écrire que des lettres en code html. Pas de é, è ou à, mais &eacute; &egrave; &agrave;. On peut mettre ce texte n'importe où entre <head> et </head> sauf à l'intérieur d'un bloc, le bloc de style par exemple, situé entre la balise de début <style> et la balise de fin </style>.

<head> ...............
<meta content="Multiples informations sur les divers aspects de la musique traditionnelle fran&ccedil;aise et &eacute;trang&egrave;re. Articles, agenda" name="description">

<meta name="keywords" content="
musique traditionnelle, bretagne, italie, klezmer">

</head>

Les codes

Une autre question que je me suis posée: lorsque je navigue avec Mozilla, certaines pages n'affichent pas correctement les lettres spéciales comme é, è, à. Pourquoi? Est-ce que mes propres pages seront correctement affichées par les navigateurs? Merci à André de m'avoir fourni la réponse:

Ca ne vient pas de toi, mais du fait que le rédacteur de la page n'utilise pas la même page de code que toi. Je m'explique.
Le code ASCII qui permet de représenter les caractères sur un octet, n'a été normalisé à l'origine que pour les 128 premières valeurs (soit 7 bits) car l'ASCII a été créé pour les transmissions de texte. Depuis le code ASCII est utilisé de manière générale, et on a ajouté des caractères spéciaux représentés sur les 128 codes suivants (utilisant donc les 8 bits). Mais comme ce n'était pas normalisé, plusieurs interprétations ont fleuri, c'est ce qu'on appelle les pages de code (Latin occidental IS0 8859-1, UTF-8, etc.). Le monde Unix utilise de plus en plus l'UTF, alors que le monde Windows reste sur l'ISO 8859, ce qui produit ce que tu vois.

En fait, si le rédacteur de la page avait utilisé la norme html, ça ne serait pas arrivé. En effet, pour éviter ça, il y a des séquences html pour représenter les caractères spéciaux :
&eacute; pour e accent aigu
&egrave; pour e accent grave
&ecirc; pour e accent circonflexe
&agrave; pour a accent grave
&ocirc; pour o accent circonflexe
&deg; pour le petit rond qui signifie 'degré'
j'en passe et des meilleures
Ces séquences sont indépendantes des pages de code et sont interprétées par le navigateur (par toujours bien avec IE, comme d'hab) pour produire le caractère désiré.

Conclusion: comme NVu utilise les normes html, je ne risque rien.

Je structure mon site avec un répertoire

Dans mon ordinateur, j'ai créé un répertoire "monsite" dans lequel figurent mes différents fichiers de page: "index", "mapage2", "mapage3", mapage4"', etc... Le nom de fichier de la page d'accueil doit forcément être "index.html". C'est à cette condition que cette page va s'ouvrir par défaut lorsque quelqu'un indiquera l'adresse de mon site.

Lorsque je publierai le site, une copie du répertoire "monsite" sera transporté sur le serveur distant avec tout son contenu. Il faut donc qu'y soient jointes également les images que j'ai insérées dans mes pages. Comment agencer tous ces fichiers dans le répertoire? Est-il obligatoire de le structurer en sous-dossiers et lesquels?

Non, il n'est pas obligatoire de le structurer, mais c'est conseillé. Je peux très bien concevoir mon répertoire comme un vaste coffre à jouets où je fourre en vrac tous mes fichiers, pages, images, feuilles de style externe, etc... Le navigateur trouve toujours le fichier s'il a son nom. Cependant, si la machine n'est pas gênée, l'humain que je suis risque d'avoir du mal à s'y retrouver lorsque je voudrai faire des corrections ou modifier le contenu du site. Ce n'est donc pour une question technique qu'il est fortement conseillé de structurer le site, mais pour aider notre esprit. Faites-le donc selon votre goût.

Il est vivement conseillé de créer des sous-dossiers: "images" par exemple, et pourquoi pas plusieurs sous-dossiers correspondant à chacune des pages. Je peux aussi créer des sous-dossiers pour un ensemble de pages dans une arborescence: tous mes documents "musique irlandaise" dans l'un, les documents "musique italienne" dans un autre, etc...

Importer des documents de traitement de texte

Est-il possible d'importer des textes déjà saisis en traitement de texte, sans avoir à les ressaisir entièrement? Il est évidemment possible de faire des "copier-coller", et ça marche. Le problème est que ce n'est pas bien propre sur le plan des codes de mise en forme, car on importe aussi tous les styles intégrés (sauf pour les traitements de texte qui utilisent des feuilles de style). Si je veux que le texte collé bénéficie de la feuille de style interne de ma page, je dois l'importer sans aucune mise en forme. Il est nécessaire pour cela de l'"Enregistrer sous" en mode texte (.txt) avant de le copier. Utiliser également la commande [Format]>[Annuler le style de texte].

Quelques conseils avant de publier le site

Avant de publier ma page, je vais procéder à quelques vérifications pour éviter de mauvaises surprises:

J'ajoute une adresse pour me contacter

Si je souhaite que les lecteurs aient la possibilité de me contacter, je peux laisser mon adresse électronique. Je peux également créer un lien. En cliquant sur un mot, une expression ou une image, cela ouvre une nouvelle page de messagerie vierge adressée à mon adresse. Par exemple:
Pour me contacter, cliquer ici.
Il s'agit d'un lien externe et la méthode est la même que pour créer des liens avec d'autres pages (figure 9-11). Dans [Emplacement du lien], j'inscris mon adresse et je coche la case [la valeur ci-dessus est une adresse électronique].

Si de plus je souhaite que mes correspondants me laissent leurs coordonnées, il y a bien mieux employer un formulaire. Mais ceci est une autre histoire que vous pourrez apprendre dans d'autres tutoriels et dans l'Aide. Ce n'est pas plus difficile que le reste, mais je ne veux pas écrire sur toutes les possibilités de NVu, je ne n'en finirais pas. Il faut bien stopper quelque part.

Le contenu du site

Voici la partie la plus importante de tout ce tutoriel.

Vous maîtrisez l'utilisation de l'éditeur NVu et vous savez construire votre site web. Mais qu'allez-vous y mettre dedans?  La question essentielle est:
Qu'est-ce que je veux communiquer?

Faire de belles pages c'est bien. Respecter la syntaxe html, être doué et astucieux en technique, c'est SUPER. Mais quel sera le contenu des pages? Imaginez une belle vitrine, avec de nombreuses astuces et de belles décorations, mais vide, ou absurde, encombrée, incompréhensible, ennuyeuse, sans intérêt. Comment donner de l'intérêt, du sens à votre site? L'intérêt et le sens du contenu dépendent de la réponse à ces deux questions:

  1. quelle est ma motivationQu'est-ce que j'ai envie de  faire connaître, de partager? Quel est mon propre intérêt?
  2. comment mettre en forme le message pour être compris?

La réponse à la première question ne peut être que personnelle.

Pourquoi donc faire un site? Est-ce que j'ai envie de jouer avec l'outil, est-ce que c'est pour faire comme les autres, pour me sentir à la page? Est-ce pour communiquer ma passion pour un sujet? Ou parce que j'ai des documents, des opinions à proposer et partager pour apporter ma contribution à un monde meilleur? La condition pour répondre à cette question, c'est de prendre du temps pour s'interroger. Impossible d'esquiver ce temps de maturation. Prendre le temps de laisser mûrir cette réflexion avant de passer à la réalisation. Un temps de méditation. Laisser émerger ce qui vient...

Toutes les réponses sont bonnes, à condition qu'elles soient sincères. La sincérité est ce qui donnera de l'intérêt, du sens, de la cohérence, du piment, de la force, à votre site. Si c'est pour jouer, votre site sera construit réellement dans ce but. N'essayez pas de faire semblant d'être autre chose. C'est ce qui détermine la teneur du message. Un message, ce n'est pas forcément une idée intellectuelle ou une information précise, c'est ce que j'ai envie de partager, ce que j'ai envie que le lecteur perçoive de ce que je montre

Je communique

Deuxième question: sous quelle forme communiquer pour intéresser le lecteur? Comment présenter le message pour qu'il soit lisible et compréhensible?

Cette question met en lumière la distinction entre l'idée et les mots qui communiquent l'idée. Vous connaissez ça dans les conversations? Vous voulez dire quelque chose et puis, vous ne trouvez pas le mot qui l'exprime. Quelqu'un vous suggère un mot, et non, il ne représente pas votre idée. Constatez que l'idée existe en-dehors des mots. Les mots sont là pour l'habiller, lui donner un corps plus concret, je pourrais dire un corps de chair. L'idée, c'est l'esprit et le mot, c'est le corps.

Choisir les mots, ou encore d'autres langages tels que des dessins ou images, ça fait partie des techniques de communication, et ça peut se perfectionner. On peut recueillir de nombreux conseils à ce sujet. Mais ça ne peut pas fonctionner si vous n'avez pas la réponse à la première question sur le sens de ce que vous voulez communiquez. Pour donner corps au message, il faut que l'intention du message soit claire.

Exemple de conseils

Déterminer quel public vous voulez toucher. Adaptez votre langage à celui de votre public. Notez: l'idée reste la même, en accord profond avec vous, mais le langage peut changer pour être compris des autres. Ainsi, si vous adoptez un langage SMS, c'est pour toucher ceux qui parlent comme ça. Pour les autres, ce sera comme une langue étrangère, et ils n'auront pas envie de faire l'effort d'apprendre. Dans le même ordre d'idée, si vous parlez bien en français, mais avec des mots techniques compris uniquement de ceux qui ont la culture, pourquoi pas? Avec le langage de la communication informatique par exemple, blogs, php, javascript, ftp, paramètres proxy ou même des mots très courants comme "publier" qui ont un sens précis qu'on ne peut pas deviner si on est en-dehors du coup. Tout ça c'est possible à condition d'être cohérent: cela signifie que vous vous adressez à ces personnes de façon spécifique et voulue.

Le langage pour faire passer ses messages ne comporte pas seulement des mots, mais toute la présentation, avec ses couleurs, ses formes, la disposition des différents éléments, le nombre de pages, les images, les dessins, les sons, les animations, etc... Trop d'animations, de couleurs, ou trop d'informations entassées dans une même page risque de distraire le lecteur et de le détourner du vrai message.

13. Aller plus loin. Ressources supplémentaires

Le site que je vous ai conduit à créer reflète à la fois mes conceptions et une logique d'apprentissage progressif. C'est seulement un exemple. C'est comme cela que j'ai appris à utiliser NVu et que j'ai constitué mon site.

Abandonnez mon schéma et créez votre site à votre goût. Il y a bien d'autres exemples de sites à votre disposition, tels ceux proposés sur le forum NVu en français. Il y a bien d'autres outils, fonctionnalités et ressources à votre disposition, que vous pouvez utilement vous approprier. Il vous suffira d'aller consulter l'aide et d'autres tutoriels qui sont cités plus loin. Exemples d'outils et de fonctionnalités: 

Compteur

Oui, je vois, vous voulez absolument un compteur. Tout le monde en veut un. Alors rendez-vous chez votre fournisseur d'accès ou à http://www.123compteur.com.

Demandez-vous cependant dans quel but vous en voulez un. Est-ce pour votre seule information ou pour ceux qui liront votre page?

Ressources sur le logiciel NVu

NVu en français est présenté sur le site du projet Mozilla dont il est une composante. Vous y suivrez l'évolution des versions. Elles se succèdent rapidement car les développeurs s'emploient sans cesse à l'améliorer.
http://frenchmozilla.org/nvu/

Un forum sur l'utilisation de NVu est présent sur le site de Geckozone
http://www.geckozone.org/forum/

Dans le même site de Geckozone, vous trouverez une page des ressources et tutoriels concernant NVu
Ressources sur NVU (tutoriels, sites, extensions, thèmes), dont je reproduis la partie concernant les tutoriels:

Le manuel d'apprentissage que vous avez sous les yeux, ainsi que plusieurs des tutoriels cités sont installés sur le site de Framasoft, un annuaire de logiciels libres. Vous aurez avantage à vous rendre à Framasoft, rubrique tutoriels: http://www.framasoft.net/rubrique4.html.

Qu'est-ce que Framasoft? Voir http://www.framasoft.net/article3050.html

En langage html

Voici des sites et des pages web qui expliquent le langage html ou exposent des façons de mettre en page en langage html.

Pour débuter en langage html

La feuille de style

Toutes les définitions sur le langage html

De nombreuses astuces de mise en page

Conception de site web

Guide rotule
Créer un site en 4 étapes: analyser et définir les objectifs du site, créer en langage HTML, héberger, se faire connaître
http://guides.rotule.net/creation/

Construire un site
http://www.salemioche.net/

Référencement
http://www.guide-referencement.com/

Couleurs

2 logiciels gratuits à télécharger comprenant une palette de définition des couleurs de façon très simple, en RVB et TLS, avec une luminosité définie du noir au blanc, et une astucieuse pipette capable de prélever, enregistrer et recopier n'importe quelle couleur de votre écran. 

La Boîte à Couleurs, par Benjamin Chartier, http://pourpre.com/colorbox

Programme RVB. http://www.ptorris.com/