L'objet `document` contient de <em>nombreuses</em> propriétés, mais pour l'instant on s'occupe de :
<!-- * Certaines propriétés aux noms explicites, comme : `forms`, `links`, `scripts` qui
référencent respectivement les formulaires, liens, et scripts présents dans le document. -->
* `children`, pour laquelle est indiquée le type `HTMLCollection` : elle contient les <em>descendants directs</em> de `document` : ici, un seul élement, créé via la balise `<html>`.
* `childNodes`, similaire mais subtilement différente.

Pour détailler cette différence, déplie `children`, puis la clé 0 sur laquelle se trouve `html`.
On trouve à nouveau `children` et `childNodes`, ce qui confirme la notion d'arborescence.

Examine-les attentivement.

Ils contiennent <em>presque</em> la même chose : les deux ont en commun `head` et `body` qui correspondent aux balises de même nom.
Mais `childNodes` contient, entre `head` et `body`, un noeud `text`.

Déplie le et regarde sa propriété `data` : une chaîne de 3 caractères : le symbole du retour chariot,
suivi de deux espaces. Si tu regardes dans `empty.html`, ça correspond exactement à ce qui se trouve après
la balise fermante `</head>` et avant la balise ouvrante `<body>`. &Ccedil;a nous amène à l'explication...

<blockquote>
On distingue deux types de noeuds dans l'arbre du document :
<ul>
  <li>Des <em>éléments</em>, qui correspondent aux balises.</li>
  <li>Des <em>noeuds texte</em>, qui sont du contenu textuel situé <em>entre deux balises</em>,
  ou <em>à l'intérieur</em> d'une balise.</li>
</ul>
Donc, <code>children</code> contient <em>seulement</em> les éléments enfants, alors que <code>childNodes</code> contient <em>en plus</em> les noeuds textes.
</blockquote>

Remarque : certains éléments ne peuvent pas avoir de descendants ! C'est le cas par exemple de `<br>` (saut de ligne),
et de `<img src="" />` qui est une balise "auto-fermante".


<!-- cela à partir d'un autre exemple, que tu peux ajouter au script. -->

<!-- ```javascript
console.dir(document.getElementsByTagName('html'));
```
L'objet `document`, en plus des propriétés affichées par `console.dir(document)`,
a aussi de nombreuses méthodes qui, elles, ne sont pas affichées.

`getElementsByTagName()` permet de récupérer les éléments du
document à partir de leur nom de balise (`html`, `div`, `img`, etc.).

Avant de déplier, on voit que `getElementsByTagName` nous a renvoyé une `HTMLCollection` :
le même type que la propriété `children` de `document`: un ensemble d'éléments HTML.
Ici on en a qu'un car n'y a qu'une balise `<html>` dans un document valide.

Page suivante ! -->
