Caouinche

n.f : tête.

étym : bourguignon

syn : binette, bourrichon, caboche, ciboulot, caillou, trogne, tronche…

Structure et contenu

Organiser et alimenter

Suite à la création de la maquette graphique, on va devoir structurer et organiser notre code afin de concevoir la page HTML.

Pour ce faire nous allons utiliser des balises de structure. Certaines seront nommées donc ce sera simple de comprendre a quoi elles servent et/ou les positionner, pour d’autres, aucun nom n’existe, ce sera à nous de les créer.

Petite redite :
Quand on code on code dans le body du document.
Il s’agit d’un jeu de blocs dans des blocs, de boites dans des boites, de ce que vous voulez dans ce que vous voulez…

Une balise ouverte doit être fermée. Il y a quelques exceptions de balises auto fermantes que l’on verra par la suite.

    
<!--J'OUVRE MA BALISE EN UTILISANT LE CHEVRON 
ET EN PRENANT SOIN DE REFERMER LE CHEVRON-->
<body>

<!--JE FERME MA BALISE EN UTILISANT LE CHEVRON, 
EN AJOUTANT UN SLASH ET EN PRENANT SOIN DE REFERMER LE CHEVRON-->
</body>

<!--ICI MA BALISE BODY EST OUVERTE ET FERMEE-->

  

Balises de structure

Déterminer les grandes parties du document

Quand on conçoit un design, on imagine un design pour le haut du site qui est la partie qui recevra la navigation, on travaille le contenu principal et on stylise le bas du site. Toutes ces parties bénéficient d’un terme.

header : haut de site
nav : navigation
main : partie principale du site
footer : bas du site

Tout comme vu plus haut il s’agit ici de balise qui doivent être ouverte et fermée. On commence par la balise ouvrante et on termine par la balise fermante, il faut que cette notion d’ouverture fermeture devienne un automatisme.

Ces balises peuvent être en fonction du design les unes sous les autres, mais aussi les unes dans les autres

Exemple de structure simple avec les éléments les uns sous les autres

    		
<body>

<header></header>

<nav></nav>

<main></main>

<footer></footer>

</body>	
    
  

Exemple de structure simple avec une nav à l’intérieur d’un header

    		
<body>

<header>

  <nav></nav>
  
</header>

<main></main>

<footer></footer>

</body>			
	  
  

Balise générique

Quand il n'y a pas de balise de structure

    		
<div>

</div>
	  
  

Il est tout à fait normal que toutes les parties d’un site ne soient pas nommées à l’aide de ces balises de structure. Bien que l’on parle d’une généralité, tout est un cas particulier en web.

Quand il n’y a pas de balise de structure, on utilise ce qu’on appelle une balise générique, une div.

C’est cette balise que l’on doit ouvrir et fermer qui va nous permettre de structurer le reste de notre contenu.

class et id

Différencier les balises génériques

Si l’on conçoit un document avec les balises de structures et les balises génériques, ce sera facile de comprendre à quoi celle de structure fait référence, mais ce sera complexe de comprendre le sens de celles qui sont génériques, car le terme div ne parle pas.

Pour organiser et permettre par la suite une stylisation de ces balises, on va attribuer aux div des class ou des id dans le but de les différencier.

Une class est un élément qui pourra être répété au sein de la même page HTML

Un id est un élément qui sera unique dans la page HTML

C’est nous qui déterminons le nom de la class ou de l’id, donc c’est à nous de trouver un terme qui sera cohérent par rapport au contenu de la surface en question.

id : unique
class : peu être répété

Si l’on a peur de se tromper on peut tout simplement travailler à l’aide de class, cela ne sera pas faux et ne créera pas d’erreur. Si l’on veut intégrer des id on peut le faire, mais étant donné qu’il s’agit d’un élément qui ne peut être utilisé qu’une seule fois au sein de la page HTML il faut privilégier un bloc qui structurera un espace.

Au niveau de l’écriture on a la balise ouvrante et la balise fermante, l’utilisation soit de l’id ou de la class et l’ajout sur la balise ouvrante d’un égal et de guillemets pour nommer et ainsi différencier la div

Au niveau du nom à choisir pour ses id et class :
– utilisation de termes cohérents avec le contenu, pas de termes farfelus comme papa maman tonton tata
– on reste en bas de casse, on évite les capitales
– pas de numéro pour introduire le nom, même si un numéro peut être utilisé après le nommage principal (ex : 01coucou : Non/coucou-01 : possible)
– si on souhaite parler d’une div class se nommant présentation ou pourra écrire le mot, mais sans l’utilisation de caractères spéciaux, donc pas d’accents, de cédilles…
– si l’on souhaite avoir un nom de class avec plusieurs mots c’est possible, mais ne jamais laisser d’espace être ces termes. Soit on les accroche les un aux autres soit on ajoute un tiret. (ex : presentationguillaume ou presentation-guillaume)

Div class et div id

    		
<!-- ICI DIV SANS ELEMENT DE DIFFERENCIATION -->
<div></div>


<!-- DIV A LAQUELLE ON ATTRIBUE UNE CLASS -->
<div class="bloc-blanc"></div>
<!-- ICI J'AI NOMME MA CLASS BLOC-BLANC CAR POUR MOI ELLE REPRESENTE UN BLOC-BLANC-->


<!-- DIV A LAQUELLE ON ATTRIBUE UN ID -->
<div id="contenu"></div>
<!-- ICI J'AI NOMME MON ID CONTENU CAR POUR MOI IL REPRESENTE UNE GRANDE PARTIE GENERALE DE CONTENU-->

  

Répétition de la class

    		
<div></div>

<div class="bloc-blanc"></div>

<div class="bloc-blanc"></div>
<!-- JE PEUX AVOIR DANS MA PAGE DEUX BLOCS BLANCS, L'UTILISATION DE LA CLASS EST DONC ADAPTEE-->

<div id="contenu"></div>
	  
  

Structure simple de page

Balise de structure et balises génériques

Maintenant que la notion de balise de structure et de balise générique est comprise on peut imaginer une structure de document.

hulki-okan-tabak-x3kQTL7yw30-unsplash
Exemple de structure

    		
<body>

<header>
  <nav></nav>
</header>


<main>

<div id="slide">
<div>

<div class="bloc-texte">
  <div class="bloc-bleu"><div>
  <div class="bloc-bleu"><div>
  <div class="bloc-bleu"><div>
<div>

<div class="bloc-texte">
  <div class="bloc-bleu"><div>
  <div class="bloc-blanc"><div>
  <div class="bloc-rouge"><div>
<div>

<div class="bloc-texte">
  <div class="bloc-rouge"><div>
  <div class="bloc-rouge"><div>
  <div class="bloc-rouge"><div>
<div>

</main>

<footer></footer>

</body>	
    
  

Le contenu : Les titres

Différencier les types de contenus et utiliser la bonne sémantique

    		
<h1></h1>
<h2></h2>
<h3></h3>
<h4></h4>
<h5></h5>
<h6></h6>
	  
  
    		
<h1>Titre pricipal</h1>
<h2>Sous titre</h2>
<h3>Sous sous titre ou élément auquel je veux donner une importance</h3>
<h4>Sous sous sous titre ou élément auquel je veux donner une importance</h4>
<h5>Sous sous sous sous titre ou élément auquel je veux donner une importance</h5>
<h6>Sous sous sous sous sous titre ou élément auquel je veux donner une importance</h6>
	  
  

C’est quoi ce mot ? Sémantique : Signification.

Le fait d’appeler un haut de site un header, le bas de site un footer, c’est de la sémantique, car ça fait référence au sens d’une partie de code.

Le fait d’utiliser le bon balisage pour les titres, les textes, liens et image c’est respecté cette sémantique.

Tout ce qui est structure a été vu plus haut.
Quel contenu intégrer à cette structure ?

Quand on parle de titre en web on parle de la balise « h » à laquelle on ajoute un numéro pour lister l’importance de celui-ci. Les h vont de 1 à 6, le h1 est unique et tout comme un id ne peut être ré utilisé au sein de la page HTML

Les autres h allant donc du h2 au h6 peuvent être réutilisées comme on le souhaite, tant que l’ordre numérique est conservé. On peut donc passé d’un h2 à un h3, revenir sur un h2. Il est interdit de passer d’un h2 à un h4.

Le contenu du titre lui se placera entre l’ouverture et la fermeture de la balise h

Exemple avec répétition de h

    		
<h1></h1>

<h2></h2>
<h2></h2>
<h3></h3>
<h4></h4>

<h2></h2>
<h3></h3>
<h4></h4>

<h3></h3>
<h4></h4>
	  
  

Le contenu : Les textes

Différencier les types de contenus et utiliser la bonne sémantique

La gestion des titres c’est OK, maintenant, gérons les textes.
Un texte pour qu’il soit bien balisé doit être intégré dans une balise p, balise que l’on doit ouvrir et fermer.

Tout comme pour les titres, le contenu du paragraphe se place entre l’ouverture et la fermeture de la balise

    
<p></p>

  
    
<p>
Je suis du texte
</p>

  

Le contenu : Les liens

Différencier les types de contenus et utiliser la bonne sémantique

Un lien est un élément cliquable.
Ce lien peut exister en tant que tel : Je suis un lien qui renvoie quelque part et basta
Ce lien peut exciter en étant un lien hypertext : Un paragraphe et à l’intérieur un élément que l’on souhaite rendre cliquable
Ce lien peut exister autour d’un élément : je suis un bouton et je veux pouvoir être cliquer
Ce lien peut exister sur un élément : je suis une image et je veux être cliquable

Pour créer un lien on utilise la balise a qu’on ouvre et qu’on ferme à laquelle on va donner une destination, un élément à attendre comme une autre page web ou qui peut aussi être un lien mort.

Ce lien peut s’ouvrir dans le même onglet ou dans un nouvel onglet.

Présentation des différentes balises liées aux éléments mentionnés ci-dessus
balise a : le lien. Peut s’ouvrir dans la même page ou une autre page, être placé sur du texte, un bouton ou une image. Le lien de destination peut être une page web ou un lien mort.

Balise button : utilisée pour créer un bouton

Balise img : pour faire appel à une image, balise auto fermante, donc PAS BESOIN de la fermer elle le fait elle même.
La balise image bénéficie d’un attribut src qui permet de déterminer la source qui peut être locale ou distante.
Local : Elle est dans un dossier sur mon ordinateur, je parle donc d’un lien en relatif
Distante : Elle est sur un autre site, je parlerai d’un lien en absolu

Balise br : balise auto fermante pour retour chariot. Un br retour à la ligne, deux br saut de ligne

Présentation de la balise lien

    
<!-- BALISE A QUI EN L'ETAT NE SERT A RIEN -->	
<a></a>

  

Présentation de la balise bouton

    
<!-- BALISE BUTTON QUI EN L'ETAT N'EST PAS CLIQUABLE -->	
<buttonn></button>

  

Présentation de la balise image

    
<!-- BALISE IMG POUR UNE IMAGE AVEC LIEN EN RELATIVE -->	
<img src="images/logo.png">


<!-- BALISE IMG POUR UNE IMAGE AVEC LIEN EN ABSOLU -->	
<img src="https://images.france.fr/zeaejvyq9bhj/
4xCOrClXErwjyEINQQHzqi/2b67be73651f785807096e38e899b4da/
Logo-Explore-France_04.png?q=70&fm=webp&fit=fill">

  

Exemple de lien avec destination

    
<!-- BALISE A AVEC UN LIEN MORT -->	
<a href="#">Je suis un lien</a>

<!-- BALISE A QUI S'OUVRE DANS LA MEME FENETRE 
ET QUI ENVOIE A LA PAGE CONTACT -->	
<a href="contact.html">Contact</a>

<!-- BALISE A QUI S'OUVRE DANS UNE NOUVELLE FENETRE 
ET QUI ENVOIE SUR UN AUTRE SITE -->	
<a target="_blank" href="https://www.france.fr">Je suis le nouveau site</a>

<!-- BALISE A AUTOUR D'UN BOUTON QUI RENVOI VERS UNE PAGE CONTACT -->	
<a href="contact.html">
<button>
Contact
</button>
</a>

<!-- BALISE A SUR UN MOT D'UN PARAGRAPHE QUI RENVOI VERS UNE PAGE A PROPOS -->	
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
<a href="a-propos.html">Aenean commodo ligula eget dolor.</a> Aenean massa. 
Cum sociis natoque penatibus et magnis dis parturient montes, 
nascetur ridiculus mus.
</p>


<!-- BALISE A SUR UN MOT D'UN PARAGRAPHE QUI RENVOI VERS UNE PAGE A PROPOS
AVEC SAUT DE LIGNES DANS TEXTE-->	
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.<br>
<a href="a-propos.html">Aenean commodo ligula eget dolor.</a> Aenean massa. <br>
Cum sociis natoque penatibus et magnis dis parturient montes, 
nascetur ridiculus mus.
</p>


<!-- BALISE A AUTOUR D'UNE IMAGE 
QUI S'OUVRE UNE AUTRE FENETRE -->	
<a href="https://www.france.fr">
<img src="https://images.france.fr/zeaejvyq9bhj/
4xCOrClXErwjyEINQQHzqi/2b67be73651f785807096e38e899b4da/
Logo-Explore-France_04.png?q=70&fm=webp&fit=fill">
</a>

  

Exemple d’une page web

Balise de structure, génériques et contenu

Maintenant que la notion de balise de structure et de balise générique est comprise, on peut imaginer une structure de document.

Exemple visuel de structure de site

hulki-okan-tabak-x3kQTL7yw30-unsplash

Code créé en s'appuyant sur la structure visuelle

    		
<body>

<header>
  <h1>Je suis le titre pricipal</h1>
  <nav>
  <a><button>Je suis un bouton avec un lien</button></a>
  </nav>
</header>


<main>

<div id="slide">
 <img src="images/staff.jpg">
<div>

<div class="bloc-texte">
  <div class="bloc-bleu">
   <h2>Sous titre</h2>
    <p>Lorem ipsum</p>
  <div>
  
  <div class="bloc-bleu">
   <h2>Sous titre</h2>
    <p>Lorem ipsum</p>
  <div>
  
  <div class="bloc-bleu">
   <h2>Sous titre</h2>
    <p>Lorem ipsum</p>
  <div>
<div>

<div class="bloc-texte">
  <div class="bloc-bleu">
   <h2>Sous titre</h2>
    <p>Lorem ipsum</p>
  <div>
  
  <div class="bloc-blanc">
   <h2>Element<br>avec importance</h2>
    <p>Lorem ipsum</p>
  <div>
  
  <div class="bloc-rouge">
   <img src="images/image-texte-01.jpg">
  <div>
<div>

<div class="bloc-texte">
  <div class="bloc-rouge">
   <img src="images/image-texte-02.png">
  <div>
  
  <div class="bloc-rouge">
   <img src="images/image-texte-03.svg">
  <div>
  
  <div class="bloc-rouge">
   <img src="images/image-texte-04.gif">
  <div>
<div>

</main>

<footer></footer>

</body>	
    
  

Des id et class même sur les balises de structure ou de contenu

On complexifie les choses

    		
< !-- ICI JE NE PARLE QUE D'UN H2 -- >	
<h2></h2>

< !-- ICI JE PARLE D'UN H2 AUQUEL J'ATTRIBU UN ID -- >	
<h2 id="logo"></h2>

< !-- ICI JE PARLE D'UN H2 AUQUEL J'ATTRIBU UNE CLASS -- >	
<h2 class="logo-footer"></h2>

< !-- ICI JE PARLE D'UN H2 AUQUEL J'ATTRIBU UN ID ET UNE CLASS -- >	
<h2 id=logo class="logo-footer"></h2>

< !-- ICI JE PARLE D'UN H2 AUQUEL J'ATTRIBU DEUX CLASS -- >	
<h2 class="logo-footer marge"></h2>
	  
  

On a vu qu’on attribuait une class ou un id sur les balises génériques que sont les div, dans le but de les différenciées. Il est aussi tout à fait possible d’attribuer des class et id aux balises de structure ou de contenu. On attribue une class ou un id, voir même une class et un id à une balise et cette balise peut être une balise générique, une balise de structure, une balise de contenu. Toute balise peut se voir ajouter une class, un id, un id et une class ou encore deux class Exemple sur un h2 qui serait réalisable sur une balise p, sur une balise header, sur une balise générique…

Balise générique qui se joue uniquement en ligne

Mettre en exergue ou styliser un élément dans un contenu

    		
<div class="contenu">
Je suis du contenu textuel et <span class="fat">je veux qu'on puisse me voir.</span>
</div>


<h2>
<span class="number">02</span> Je suis un sous titre
</h2>

< !-- Source http://dalaipsum.com/ -- >
<p>
The first drawback of anger is that it <span class="rouge">destroys</span> 
your inner peace; the second is that it <span class="rouge">distorts</span> 
your view of reality. If you think about this and come to understand 
that <span class="rouge">anger</span> is really unhelpful, that it is only 
<span class="rouge">destructive</span>, you can begin to distance yourself from anger.
</p>
	  
  

La div est une balise générique qu’on utilise quand il n’y a pas de balise de structure ou de balise de contenu nommée. Pour mettre un élément en avant ou pour styliser différemment un élément dans une div et pour éviter d’avoir à la refermer ce qui pourrait casser le sens du bloc, il est possible d’utiliser une span. La span est comme la div, à la différence qu’elle se joue en ligne. La span peut se trouver à l’intérieur d’une div, d’une balise p, d’un h etc. Elle est juste là pour permettre une stylisation visuelle différente des éléments du bloc dans laquelle elle se trouve, et même un placement de l’élément ciblé différent de celui du reste du bloc.