Développement web 10

HTML/CSS

Remerciements

Leçons

HTML

  1. Leçon 1
  2. Leçon 2
  3. Leçon 3
  4. Leçon 4
  5. Leçon 5

CSS

  1. Leçon 6
  2. Leçon 7
  3. Leçon 8
  4. Leçon 9
  5. Leçon 10
  6. Leçon 11
  7. Leçon 12

Exercices

  1. Exercices Emmet
    1. Exercice 1

Ressources

  1. Validateur HTML
  2. Validateur CSS
  3. Outliner HTML
  4. Ressources Emmet
  5. Solutions aux erreurs trouvées par le validateur

Leçons

Leçon 2

Lis les articles suivants sur les concepts de :

  1. Structure minimale d’une page HTML valide
  2. L’indentation et les commentaires en HTML

Valider le code HTML ou CSS

Les navigateurs (Firefox, Chrome, Safari, etc.) feront de leur mieux pour rendre une page web HTML, même s'il y a des erreurs dans le code. C'est l'une des grandes différences entre un langage de balisage et un langage de programmation.

Ainsi, les validateurs HTML et CSS sont incontournables pour s'assurer que le code est valide puisque le navigateur va ignorer ces erreurs.

Les erreurs soulignées par les validateurs sont généralement assez descriptives, mais certaines pourraient être difficiles à comprendre. Alors, il y a une section solutions aux erreurs trouvées par le validateur dans les ressources pour vous aider.

La structure minimale pour une page web valide

Pour qu'une page soit valide, il faut inclure certaines balises avec certains attributs.

Voici le code <!DOCTYPE html> <html lang="fr" dir="ltr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> </head> <body> </body> </html>

Leçon 3

Nous allons apprendre les concepts suivants :

  1. les listes (comme celle-ci)
  2. les balises br, hr et pre
  3. Les entités HTML
    • &nbsp; - espace insécable, très utile en français pour les guillemets et les unités, 10 km/h, 73,25 $ etc.
    • &thinsp; - demi-espace, utile en français pour après les ? et !

Lis les articles suivants.

  1. Créer des listes en HTML
  2. Les espaces et retours à la ligne en HTML

Leçon 4

Nous allons approfondir notre compréhension des hyperliens :

  1. la balises a qui permet de créer des hyperliens externes et internes.
  2. les hyperliens externes
  3. les hyperliens internes (de la page)
    • les « id » et la référence « # »
    • les « id » doivent être uniques (comparés aux classes qui pourraient être utilisées à volonté)
    • contrôler le défilement
  4. les hyperliens internes (du site)
    • les pages dans le même dossier
    • les pages qui se trouvent dans un autre dossier (avec « .. » et « / »)
  5. Comment structurer un site web
    • index.html - page principale (ou d'acceuil)
    • toutes les images dans un dossier (généralement nommé « media »)
    • tous tes fichiers .css dans un dossier (généralement nommé « css »)
    • bien organisé et structuré comme un dossier sur l'ordinateur
    • bonne convention d'appellation

Lis les articles suivants.

  1. HTML - Ancre
  2. (facultatif) - Une explication très complète de comment Créer des liens en HTML

Leçon 5

Nous allons apprendre les concepts suivants :

  1. les balises strong et em
  2. les entités HTML

Lis les articles suivants.

  1. Définir le niveau d’importance des contenus en HTML
  2. lis seulement la section Les entités HTML (vers le bas)

La convention d'appellation

Pour éviter des bogues et du comportement non voulu, il est important de respecter les règles suivantes lorsqu'on nomme les fichiers.

  1. utiliser des noms descriptifs
  2. pas d'espaces
  3. pas de caractères spéciaux ($, *, @, #, etc.)
  4. pas de lettres accentuées (É, ô, à, etc.)
  5. le premier caractère devrait être une lettre
  6. toutes les lettres en minuscule
  7. faire attention aux extensions
    • Chaque fichier doit avoir une extension valide (.html, .css, .jpg, .png, etc).
    • Le nom de fichier doit ne contenir qu'un seul point « . ». Alors, pas de nom_photo.png.jpg
    • Fais attention aux espaces invisibles dans l'extension (Ex. index.html_ où le soulignement représente un espace.)

Entités HTML

Voici une liste d'entités HTML communes
Symbole Description (français) Description (anglais) Nom d’entité Nombre d’entité
  espace insécable non-breaking space &nbsp; &#160;
< signe inférieur à less than &lt; &#60;
> signe supérieur à greater than &gt; &#62;
& perluète ampersand &amp; &#38;
" guillemet anglais double double quotation mark &quot; &#34;
' apostrophe single quotation mark (apostrophe) &apos; &#39;
¢ cenne cent &cent; &#162;
£ livre (britannique) pound &pound; &#163;
¥ yen yen &yen; &#165;
euro euro &euro; &#8364;
© droit d’auteur copyright &copy; &#169;
® symbole de marque déposée registered trademark &reg; &#174;

Leçon 8

Lis les articles suivants :

  1. Les attributs HTML class et id et les sélecteurs CSS associés
  2. SMNArnold - Sélecteurs
  3. SMNArnold - Police
  4. SMNArnold - Unités de couleur

Voici un exemple de ressource utile pour générer une palette (de couleurs). Note que ce n'est pas la seule qui existe. Il y a des centaines sur l'internet. Pour l'utiliser :

  • Si tu n'as pas trop de temps ou veux une palette déjà bien choisie, sélectionne Explore trending palettes
  • Si tu as déjà au moins une couleur en tête, ou tu as le temps d'explorer sélectionne Start Generator


Largeur, hauteur et les problèmes de dépassement

Voici la leçon de référence.

chat dans une boîte - même css

Les concepts inline et block

See the Pen Cours HTML CSS 5.2.1 by Pierre (@pierregiraud) on CodePen.

Essaie de répliquer l'image suivante et modifiant le code ci-haut.

exemple
Solution

See the Pen Largeur, hauteur et les problèmes de dépassement - solution 1 by o (@snufflufikist) on CodePen.

Pour centrer un élément (de type block), on peut simplement assigner margin: auto;

Essaie maintenant de répliquer l'image suivante.

exemple
Solution h1 { background-color: red; width: 75%; color: white; margin: auto; text-align: center; } 3e rang pour avoir centré un <div>

Lis cet article au complet pour apprendre des problèmes de dépassement. N'oublie pas de modifier le code dans les CodePen pour bien comprendre les concepts.


Sémantique HTML

Dans cette section, nous allons introduire la sémantique HTML.

Soupe de <div> versus éléments sémantiques
Source : Interneting is Hard

Pour compléter cette leçon, fais les choses suivantes :

  1. Lis cet article sur la sémantique HTML.
  2. Lis cet article (en anglais) qui parle de la sémantique plus généralement.
  3. Relis cet article sur l'inspecteur et plus spécifiquement la section sur le DOM tree pour te préparer à faire les exercices suivants.
  4. Quand tu cherches des éléments sémantiques dans les pages, fais la distinction entre un élément sémantique (Ex. <nav>) et une classe (Ex. <div class="nav">)
  5. L'outil HTML5 Outliner te permet à générer un plan de site web. Vous pouver fournir une adresse URL ou copier/coller directement le code HTML. En utilisant l'Outliner, tu peux voir comment les moteurs de recherche (comme Google, Baidu, DuckDuckGo) et des lecteurs d'écran voient ta page. Cette ressource a été ajouté à la section Ressources en haut.
  6. Analyse les sites suivants. Essaie de voir comment le site est structuré sémantiquement. Utilise l'outliner HTML et l'inspecteur aussi. Penses-tu que ces sites utilisent une bonne sémantique HTML? Compare avec un partenaire.
  7. Complète ce quiz sur le sujet

Les éléments iframe, figure, details et les citations

Dans cette leçon, nous allons aborder plusieurs éléments HTML utiles.

Suis les instructions suivantes, te référant à la liste d'hyperliens pour chaque concept en dessous.

  1. Crée un site web.
    • Ajoute un thème avec des couleurs complémentaires. Utilise un outil comme Coolors ou autre.
  2. Lis cet article sur iframe.
    • Ajoute une carte Google à ton site centrée sur le parc Stanley
    • Ajoute une carte OpenStreetMap à ton site centrée sur l'île de Vancouver'
    • Ajoute du texte pour expliquer ce que contiennent ces cartes.
    • Ajoute trois (3) vidéos YouTube et trois (3) vidéos Vimeo à ton site avec du texte pour mettre ces vidéos en contexte. Ex. « voici 3 vidéo-clips de mon artiste musicale préférée. »
    • Ajoute deux (2) sites web (dont le site sur lequel tu es en ce moment et un autre site web de ton choix) dans des iframe.
  3. Lis cet article sur figure et figcaption.
    • Ajoute au moins 3 images à ton site avec des légendes
    • Ajoute du CSS pour changer la mise en forme des légendes
  4. Lis cet article et cet article sur q, blockquote et cite.
    • Créer deux pages web avec des attributes « lang » différents avec une citation (q) pour démontrer comment cet attribut change le comportement
    • Intègre ces deux pages directement dans ton site avec des éléments iframe qui ont une taille appropriée
    • Crée une citation q qui utilise un emoji pour entourer la citation.
  5. Trouve toutes les valeurs CSS par défaut pour les éléments appris dans cette leçon et ajoute cette information dans ton site web. (Rappelles-tu où trouver cette information?)
  6. Ajoute du CSS pour faire en sorte que la taille des éléments suivants soit standardisée (ex. toutes les cartes ont la même taille)
    • images
    • cartes
    • vidéos
    • autres sites webs dans un iframe
  7. Lis cet article sur details et summary
    • Cache chaque partie de ton site web, la rendant visible seulement quand on fais un clic là-dessus.
  8. Téléverse ton site web sur ManageBac

Enseigner un concept


Sites web réactif (Responsive web design)


Selon Wikipédia :

Un site web réactif est un site web dont la conception vise, grâce à différents principes et techniques, à offrir une consultation confortable sur des écrans de tailles très différentes. L'utilisateur peut ainsi consulter le même site web à travers une large gamme d'appareils (moniteurs d'ordinateur, smartphone, tablettes, télévision…) avec le même confort visuel et sans avoir recours au défilement horizontal ou au zoom avant/arrière sur les appareils tactiles notamment, manipulations qui peuvent parfois dégrader l'expérience utilisateur, tant en lecture qu'en navigation.
content is like water
Source : Stéphanie Walter via Wikipédia

Viewport

Article SMNArnold sur les viewports.

Le code suivant inséré dans votre section head servira bien dans la majorité des cas :

<meta name="viewport" content="width=device-width, initial-scale=1">

Exercices Emmet

Exercice 1

See the Pen Untitled by o (@snufflufikist) on CodePen.



Ressources

Emmet

Pour voir la liste de raccourcis clavier dans Atom, faire Fichier > Paramètres et ensuite selectionner Keybindings.

Un conseil directement des développeurs d'Emmet :

You don’t really need to write complex abbreviations... You’ll quickly find out that constructing a single complex abbreviation is much slower and error-prone than constructing and typing a few short ones.

Solutions aux erreurs trouvées par le validateur

Le validateur html est incontournable pour trouver certaines erreurs dans le code html, mais il n’est pas toujours évident ce que veut dire les messages d’erreur. Voici une liste d’erreurs communes et leur solution.