cours-2020-2021

Documents de cours 2020-2021 - FX Jollois

View the Project on GitHub fxjollois/cours-2020-2021

Programmation web statique

HTML, CSS, SVG

Quel langage pour quoi ?

HTML

Langage de description de textes

Le navigateur traduit selon sa propre interprétation des recommandations le contenu de la page

Schéma de base

<!doctype html>
<html>
    <head>
        <!-- 
            méta-données sur la page :
                - titre (i.e. nom de l'onglet)
                - encodage, auteur, mots-clés, description
                - ...
        -->
    </head>
    <body>
        <!-- 
            corps de la page (ce qui sera donc affiché)
                - en-tête et pied de page, menu
                - contenu
                - ...
        -->
    </body>
</html>

Méta-données

Importance de ces méta-données

Quelques méta-données usuelles

Page d'exemple HTML

- Indique que c'est une page HTML**5**
```html
<!doctype html>

- Auteur, mots-clés et description de la page
```html
<meta name = "author" content = "FX Jollois">
<meta name = "keywords" content = "html, css, truc super bien">
<meta name = "description" content = "Super cours !!">

- Importation d'une feuille de style `CSS`
```html
<link rel = "stylesheet" href="style.css">

Les balises script et style peuvent aussi être intégré dans le corps (dans la balise body donc), selon les besoins.

Contenu du document

Le contenu est donc placé dans différentes balises, et intégré à la balise <body>. Ces balises sont de 2 types :

Ceci est un div
Toujours un div, dans le premier div
Ici, un span
Idem (un div), mais ici avec un span et un autre span
Et enfin un span avec un
div dedans

Balises sémantiques principales

Depuis HTML5, il existe des balises dites sémantiques, c’est-à-dire qu’elles ont du sens. Cela est important pour 2 choses

balise définition
header et footer en-tête et pied de page
nav menu de la page
aside partie annexe de la page (type pub)
section et article parties nous permettant d’insérer le contenu de la page
h1, h2, ..., h6 titres et sous-titres
strong et em mot(s) important(s) et un peu moins important(s)

Balises autres

Il existe d’autres balises utiles.

balise définition
p paragraphe
ol et ul liste ordonnée et non-ordonnée
li élément d’une liste
dl, dt et dd liste de définition, terme à définir et définition donc
img insertion d’une image
b et i mise en gras ou en italique
pre texte préformaté sans compactage d’espaces
code code en ligne
br saut à la ligne
hr ligne horizontale
table tableau
tr, td, th ligne, cellule et en-tête de colonnes d’un tableau

Liste non-exhaustive !

DOM

Comme indiqué plus tôt, la structure de la page est connue sous le nom de DOM ou Document Object Model

Pour avoir une idée de ce qu’est le DOM :

Paramètres communs des balises

On peut appliquer certains paramètres aux balises, permettant de les identifier (via un nom unique ou via une classe) ou de leur appliquer directement un style.

<balise style = "code CSS">
<balise width = "valeur" height = "valeur">
<balise class = "classe(s)">
<balise id = "identifiant">

CSS

Langage de formattage d’éléments d’une page web, de tous types (texte, image, vidéo, dessin)

Trois possibilités de définition du style :

Syntaxe

Définition des valeurs de paramètres à appliquer sur les éléments correspondants au sélecteur (soit une balise, soit une classe, soit un identifiant)

balise {
    parametre: valeur;
    ...
}
.classe {
    parametre: valeur;
    ...
}
#identifiant {
    parametre: valeur;
    ...
}

Quelques paramètres à connaître

Paramètre Informations
width, height largeur et hauteur
color couleur de la police
background-color couleur de fond
font-size taille de la police
text-align alignement du texte (justifié, centré, …)
display type d’affichage (permet de passer du bloc à en ligne et inversement par exemple)
z-index niveau d’affichage (grand = devant)

Les valeurs peuvent être déterminées :

Exemple (dans le code HTML)

Une balise à fond gris, sauf pour cette partie de phrase, avec un
div qui n'en est pas un finalement
et ce span qui s'échappe
blablabl
blabla
<div style = "background-color: #ddd;">
 Une balise à fond gris, sauf pour 
 <span style = "background-color: #fdb;">cette partie de phrase</span>, 
 avec un <div style = "display: inline;">div qui n'en est pas un 
 finalement</div> et ce <span style = "display: block; 
 position: relative; bottom: -50px">span qui s'échappe</span>
</div>

Sélecteurs

Pour appliquer un style à certains éléments, il faut les sélectionner. Pour cela, nous avons des sélecteurs simples.

Mais on peut aussi les combiner entre eux pour préciser la sélection

Quelques compléments

Les couleurs peuvent être déclarées :

/*
    Les commentaires se font avec cette syntaxe 
    (comme dans beaucoup d'autres langages)
*/

Voici la liste exhaustive des éléments CSS

SVG

Langage de description de dessin

Exemple de SVG

<svg width = "250" height = "50" style = "border: solid 1px black;">
    <rect x = "50" y = "0" width = "200" height = "45" fill = "orange" />
</svg>

Compléments

Ordre de dessin

<rect x=  "0" y=  "0" width="70" height="70" fill="purple"/>
<rect x= "50" y= "25" width="70" height="70" fill="blue"/>
<rect x="100" y= "50" width="70" height="70" fill="green"/>
<rect x="150" y= "75" width="70" height="70" fill="yellow"/>
<rect x="200" y="100" width="70" height="70" fill="red"/>

Outils pour développer

Sites permettant d’écrire du code web directement dans le navigateur, et de le partager :

Site permettant de faire plein choses très bien :

Sites d’apprentissage et forums