Mattia A. Fritz
TECFA, Université de Genève
Se trouver entre deux systèmes computationnels complexes et distincts, en plus distribués !
Internet est un réseau de dispositifs qui échangent de l'information/des données.
À l'image, une vue partielle de internet en 2005. Chaque ligne connecte deux adresses IP.
Le Web est une manière d'échanger des informations basée sur 3 éléments principaux :
Apparence dans le navigateur (gauche) et code source HTML (droite) de la première page web publiée par le CERN en 1990.
HTML5 est la cinquème version de HTML, caractérisée par l'entête à la ligne 1 du code suivant :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document HTML5</title>
</head>
<body>
<h1>Je suis un document HTML5 !</h1>
</body>
</html>
HTML5 utilise une notation par balises, ou tags en anglais, qui consiste à contourner le contenu textuel avec des éléments qui en qualifie la nature.
Ceci est le texte d'un paragraphe.
Titre de niveaux 1
Lien vers EduTechWiki
Le langage est de nature combinatoire. On peut embôiter les éléments.
Si vous êtes intéressé-e-s par la technologie éducative,
vous devez absolument visiter
EduTechWiki
au plus vite !
Un lien hypertextuel qui permet de passer d'une page à l'autre est inséré à l'intérieur d'un paragraphe.
Pour pouvoir identifier les différents éléments dans un langage de marquage, on utilise des termes techniques illustrés à l'image.
Les éléments multimédia (images, vidéos, ...) sont incorporés par référence. Ils doivent disposer de leur propre addresse web (URL).
<img src="my-photo.jpg" alt="Ma photo" title="Me voici !" />
<img src="https://mafritz.ch/slides/fr/intro-html5/images/html5-logo.svg" alt="HTML5 Logo" title="Logo de HTML5" />
Le navigateur télécharge le code source de la page et tous les éléments externes.
Le navigateur web effectue deux opérations avec le code source HTML5 :
La relation entre noeuds influence l'affichage d'un élément par rapport à un autre (e.g. embôitement dans le DOM)
Tout élément HTML5 est une sorte de boîte rectangulaire. À l'image, une bordure rouge est appliquée à tout élément.
Il existe ~3 types de boîtes :
<h1>
et <p>
sont des
éléments block qui occupent toute la largeur
disponible indépendamment du contenu.
<a>
est un élément inline qui
occupe seulement la place nécessaire et peut même aller à la
ligne avec du contenu sur les deux côtés.
<head>
est un élément none, on ne
le voit pas.
CSS est un langage qui permet de déterminer les propriétés graphiques des éléments HTML5. Il s'occupe de :
Exemple d'un sélecteur avec trois propriétés. Les {} délimitent un bloc de code.
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Une page HTML5</title>
<meta charset="UTF-8">
<!-- Téléchargement du CSS -->
<link href="assets/css/style.css" rel="stylesheet">
</head>
<body>
<!-- Téléchargement du fichier JS -->
<script src="assets/js/app.js"></script>
</body>
</html>
Les instructions sont téléchargées avec la page.
Le code est interprété à l'intérieur du navigateur.
window
window
.
window
window.innerHeight
window.location.href
window.document
qui donne accès au
DOM.
window.document
dans la console
document
document.title
document.body
document.getElementById('slideTitle').innerHTML
document.getElementById('slideTitle').innerHTML = 'On peut
faire mieux !'
Reveal
dans la consoleReveal.getTotalSlides()
Reveal.next()
Maintenant regardez le code HTML du bouton.
<button onclick="Reveal.next()">Prochaine slide</button>
Que ce passe-t-il si vous cliquez ?
Les applications interactives sont une extension de ce mécanisme de base :
Comme pour CSS, on peut ajouter du code en dehors des balises HTML5 en utilisant, par exemple, un event listener.
<button id="nextSlideBtn">Prochaine slide</button>
// Code JavaScript
document.
getElementById("nextSlideBtn").
addEventListener("click", function() {
Reveal.next();
});
On identifie le bouton dans le DOM et on détermine l'action à déclencher lors de l'événement click
Insérez un mot pour voir l'équivalent en code binaire.
Événement keyup
Cliquez sur les parties du visage pour voir le nom en anglais.
Les slides de cette présentation sont tirés depuis trois présentations plus approfondies sur chaque technologie :
Présentation créée avec
Reveal.js.