2020 Front 1 Slides
2020 Front 1 Slides
Partie I - Front
Séance 1 : HTML / CSS
2
Ressources à télécharger sur http://forma-dev.viarezo.fr
Organisation des formations
Dev Web – Front 1 EA007 22/09 et 01/10
SysAdmin EA007 29/09
Dev Web – Front 2 EA007 05/10
Bonnes pratiques et IDE Amphi I 08/10
Dev Web – Back 1 EA007 12/10 et 13/10
Git EA007 15/10
LaTeX Amphi I 19/10
Dev Web – Back 2 EA007 20/10
Requête HTTP
/section/page.html
Réponse
Fichier HTML
5
Les langages utilisés
En back :
→ Presque n'importe lesquels
• Spécifiques au développement web : PHP
• Aussi possibles : Python, Java...
• Dans cette formation : JavaScript (ou JS)
(avec la plateforme Node.js)
6
Le HTML
7
Avant tout…
Si vous n'avez pas d'éditeur de texte qui gère le HTML (Visual Studio
Code, Notepad++, Sublime Text, emacs si vous êtes tarés… PyCharm
c'est pour Python !), installez-en un !
8
Exemple
Un langage de balisage : Mélange de texte et de balises
9
Anatomie d'une balise
10
Imbrication des balises
On « encapsule » les balises les unes dans les autres, on ne
peut pas fermer une balise parente avant sa balise fille.
<balise1> <balise1>
<balise2> <balise2>
Mon contenu Mon contenu
</balise2> </balise1>
</balise1> </balise2>
11
Structure globale d'un fichier HTML
Contenu
12
Éléments et DOM (Document Object Model)
html
body
html
body/p p
14
Éléments interactifs
15
Disclaimer : contient un peu de CSS, parce que c’est vraiment trop moche sans
Éléments conteneurs et organisation
← table row
table header →
table data →
16
Disclaimer : contient un peu de CSS pour colorer, et pour rendre la table moins moche
Éléments multimédias
17
Éléments d’intégration de contenu
18
Éléments conteneurs sémantiques
- <nav>
- <header>
- <footer>
- <section>
- …et bien plus encore !
20
Time’s up!
21
Le CSS
22
Généralités
CSS : Cascading Style Sheets
23
Syntaxe de base
sélecteur {
propriété: valeur;
propriété: valeur;
sélecteur {
propriété: valeur;
24
Syntaxe de base
p {
color: red;
font-size: 15px;
div {
display: block;
background: blue;
}
25
Sélecteurs simples
- N’importe quel élément : *
- Les pseudo-classes :
a:hover, a:visited, input:checked, :first-child, :not(…) 27
Modèle en boîte
28
Propriétés de dimensionnement
- padding: <✥> / <↕> <↔> / <↑> <↔> <↓> / <↑> <→> <↓> <←>
(Propriété "raccourci")
(Valeur = Longueur ou pourcentage de la largeur du bloc conteneur*)
- 1px = 1 pixel logique (peut être égal à plusieurs vrais pixels si haute résolution) Unités
absolues
- 1em = hauteur de police de l’élément (ou du parent si utilisé dans font-size) Unités
1rem = hauteur de police de l’élément racine (<html>) relatives
(à privilégier)
30
Propriétés de formatage de texte
- color: #rrggbb / <nom de couleur>
(Propriété héritable)
- font-size: <taille>
- line-height: <multiplicateur>
(On peut aussi mettre une longueur ou un pourcentage, mais c'est déconseillé)
- border-radius: <longueur>
→ permet d'arrondir le bord apparent de l'élément avec un rayon donné
32
Position & display
33
Cascade, héritage, et spécificité
Si on précise plusieurs valeurs différentes pour une même propriété, laquelle est
choisie ? Une règle est prioritaire sur l’autre si : (à appliquer dans l’ordre)
• Elle est directement sur l’élément plutôt qu’héritée (pour les propriétés qui s’héritent)
• Elle contient le mot clé !important à la fin et pas l’autre (avant le ‘;’)
• Elle est spécifiée dans le HTML via l’attribut style plutôt que dans un fichier lié
34
Exemple : index.html
35
Exemple : style.css
36
Exemple : Résultat
#BLOCK1 #BLOCK2 #BLOCK3
37
#global
D'autres trucs en vrac
- z-index
- transition
- @media
- list-style
38
Le TD !
Votre tâche : Réaliser une jolie liste de tâches (pas interactive pour l'instant), un peu
comme ci-dessous (mais pas aussi joli, sinon on va être vexé⋅e⋅s) :
39
Ciao ! 😘
40