Les outils de développement web d'Internet Explorer

Noter ce cours :

Liens sponsorisés :

Terminologies

Front-end et back-end

Un site web est composé de deux parties :

L'outil d'inspection (appelé Inspecteur ou explorateur) est présent sur la plupart des navigateurs modernes. Nous allons présenter celui d'Internet Explorer 11, déjà présent et amélioré depuis la version 8.

Pour suivre ce cours, vous devrez avoir quelques notions de HTML et CSS.

Le DOM

Le DOM (Document Object Model) est (dans la partie qui nous intéresse à savoir les sites Web) une interface permettant à des scripts d'accéder ou de mettre à jour la structure (construite sous forme d'une arborescence), le contenu ou le style du document.

Rappelez-vous : le langage HTML utilise des balises. Ces balises forment une arborescence. DOM offre la possibilité de manipuler la structure et le contenu de cette arborescence.

<!doctype html>
<html lang="fr">
<head>
	<title>Vulgarisation-informatique.com</title>
	<meta name="description" content="Cours et tutoriels sur l'informatique tous niveaux">
	<meta charset="iso-8859-1">
	<link rel="stylesheet" href="styles/style.css" type="text/css" media="all">
	<script src="scripts/jquery-1.10.2.js"></script>
</head>
<body>
<section id="conteneur">
	<p>Mon texte</p>
</section>
</body>
</html>

Outils de développement F12

Les outils de développement F12 sont disponibles sur n'importe quelle page que vous affichez dans Internet Explorer. Pour y accéder, appuyez sur la touche F12, ou cliquez sur la roue dentée, puis cliquez sur Outils de développement F12.

Les outils s'ouvrent dans la même fenêtre (en bas) :

Outils F12
Outils F12 - vue de l'explorateur DOM

Vous pouvez détacher les outils dans une autre fenêtre pour des raisons pratiques en cliquant sur le bouton Détacher.

Détacher
Détacher les outils

En regardant la fenêtre des outils de développement, vous pouvez constater qu'il y a 8 boutons (à gauche). Nous allons voir quelles sont leurs utilités.

Outils
Outils disponibles

Explorateur DOM (CTRL+1)

Accessible en cliquant sur le premier bouton, l'explorateur DOM montre la structure de votre page Web telle qu'elle est affichée dans le navigateur.

Vous pouvez également modifier la structure HTML et CSS, de manière à changer dynamiquement en temps réel le style et le rendu de la page active, sans toucher au code source ni recharger la page !

C'est un outil que l'on utilise par conséquent généralement pour tester en live de nouveaux réglages ou tenter de diagnostiquer un problème dans le code HTML ou CSS.

Visualisation de la structure

Un bouton très intéressant est celui de la sélection d'élément (voir illustration ci-dessous). Il vous permet, en cliquant dessus, de sélectionner ensuite n'importe quel élément dans votre page web pour voir sa structure DOM correspondante :

Sélectionner l'élément
Bouton de sélection d'élément

Cliquez sur le bouton de sélection d'élément, puis cliquez ensuite sur l'élément dont vous souhaitez voir la structure DOM telle qu'affichée dans le navigateur. Pour mon exemple, je vais cliquer sur la barre de navigation de VIC :

Sélection d'un élément et visualisation de sa structure
Sélection d'un élément et visualisation de sa structure

Modification des propriétés HTML

Maintenant que nous avons accès à la structure de l'élément, déroulons sa structure, puis effectuons un clic avec le bouton droit sur l'élément. Un menu apparaît. Vous pourrez ici ajouter des attributs, supprimer l'élément ou alors faire d'autres manipulations. Le résultat de ces modifications sera appliqué en temps réel sur la page active.

Manipulation du DOM
Manipulation du DOM

Modification des propriétés CSS

A droite, vous aurez sans doute remarqué que l'ensemble des propriétés CSS appliquées à l'élément sélectionné sont affichées. Vous pouvez pour chacune d'entre-elles les décocher (annulant ainsi leur effet) ou alors les modifier, voire en rajouter. Les modifications seront là encore appliquées en temps réel, sans rafraîchissement de page.

Imaginions que je souhaite modifier la couleur de ma barre de navigation, sélectionnée depuis tout à l'heure. Je regarde la propriété CSS color, clique sur sa valeur #666. Un menu (nommé Intellisense) s'affiche et vous propose des choix, que vous pouvez respecter ou non (cela peut ne pas fonctionner si la valeur que vous saisissez n'est pas valide).

Changement d'une propriété CSS
Changement d'une propriété CSS

En optant pour la valeur aqua, voici l'effet sur ma barre de navigation :

Propriété color CSS
Le résultat ...

La console (CTRL+2)

La Console vous permet d'avoir une vue sur le code Javascript en cours d'exécution (en utilisant l'API javascript console, par exemple console.log('test'); pour stocker la valeur 'test' en console), sur les erreurs de chargement réseau mais également sur les erreurs de propriétés CSS.

La console permet de classer les informations en trois types :

Vue de la console
Vue de la console

Un clic sur chacun des boutons représentant les types d'informations vous permet de les filtrer.

Outil débogueur (CTRL+3)

Le Débogueur javascript vous permet d'examiner ce que fait votre code javascript et de voir où se situent les éventuelles erreurs qu'il contient. Vous pouvez alors suspendre l'exécution du code à l'aide de points d'arrêts, l'exécuter pas à pas (ligne par ligne) et observer l'état des variables en temps réel.

En cliquant sur l'icône symbolisant un dossier, vous avez accès à l'ensemble des fichiers javascripts appelés par la page active. Un clic sur celui ou ceux de votre choix vous permet de les ouvrir dans différents onglets.

Onglets des scripts
Le débogueur de script

Vous avez la possibilité d'insérer un point d'arrêt. Celui-ci permettra au script de s'arrêter là où vous l'aurez décidé, vous aurez alors accès (à droite) aux différentes variables et à leurs valeurs. Pour insérer un point d'arrêt, effectuez un clic avec le bouton droit à l'endroit où vous souhaitez l'insérer, puis cliquez sur Insérer un point d'arrêt.

Insertion d'un point d'arrêt
Insertion d'un point d'arrêt

Lorsque vous effectuez un clic avec le bouton droit sur votre point d'arrêt, vous pouvez le personnaliser et lui attribuer une condition (qui deviendra du coup une condition d'arrêt) en cliquant sur Condition. Vous avez également la possibilité d'afficher la prochaine instruction qui sera exécutée.

Personnalisation du point d'arrêt
Personnalisation d'un point d'arrêt et autres options

La plupart des sites internet font appel maintenant à du code javascript minifié, c'est à dire débarrassé des caractères inutiles (espaces, tabulations, sauts de lignes, etc.) afin de rendre leur code plus compact et donc plus rapide à charger. Ce n'est pas du tout pratique pour déboguer :

Code de jquery
Un sac de noeuds !

L'outil de développement d'IE dispose d'une fonctionnalité très pratique : Pretty print. Un clic sur le bouton Pretty Print, et l'affichage de votre javascript est désormais indenté correctement :

Pretty print
Pretty Print !

Outil trafic réseau (CTRL+4)

L'outil Réseau permet d'afficher l'ensemble des communications réseau entre le navigateur les différents serveurs, mais également de voir dans le détail les communications effectuées en analysant les en-têtes et réponses (headers). Pour commencer l'analyse du trafic réseau, appuyez sur l'icône lecture, puis appuyez sur l'icône STOP pour arrêter la capture du trafic.

Vue de l'outil trafic réseau
Vue de l'outil trafic réseau

Il existe certaines icônes vous permettant d'affiner les réglages :

La troisième icône s'intitule Toujours actualiser depuis le serveur (troisième icône en partant de la gauche). Elle vous évite de faire appel au cache disque du navigateur.

La sixième icône s'intitule Supprimer les entrées en naviguant et permet de supprimer les enregistrements lorsque vous rechargez ou changez de page.

Détails des requêtes HTTP

Pour accéder aux détails des headers (en-têtes et réponses), sélectionnez dans la liste la requête dont vous souhaitez afficher les détails, puis cliquez sur l'onglet Détails. En premier s'affichent les en-têtes de demande, c'est à dire la manière dont votre navigateur a demandé les informations au serveur :

En-têtes de demande
En-têtes de demandes

Pour voir comment le serveur a répondu à la requête, cliquez sur En-têtes de réponse, puis sur Corps de réponse pour avoir le contenu "visible" renvoyé.

En-têtes de réponse
En-têtes de réponse

L'onglet Minutage vous permet d'avoir une vue graphique détaillée du temps mis par le navigateur pour récupérer les données, du temps nécessaire pour générer le DOM, et du temps nécessaire pour afficher le document. C'est un indicateur précieux pour déterminer le goulot d'étranglement si votre site est lent.

La ligne DOMLoadedContent vous indique quand l'arbre DOM a été généré. Si ce temps vous paraît trop élevé et que votre ordinateur n'est pas énormément vieux, il est temps de vous pencher sur la diminution de la profondeur de l'arbre DOM et sur la réduction de la quantité de code HTML.

Minutage du temps de réponse
Minutage

La ligne load affiche quant à elle le temps qu'il a fallu pour générer complètement la page (affichage compris).

Réactivité et ressenti interface utilisateur

L'outil Réactivité d'interface utilisateur vous aide à observer ce qui se produit quand le rendu de votre page est lent ou saccadé. Vous pourrez alors afficher les endroits où la page est plus lente et savoir ce qui prend le plus de temps.

Cliquez sur le bouton Lecture jusqu'à ce que vous souhaitiez arrêter l'analyse, cliquez alors sur STOP puis visualisez la barre de débit visuel (en images/seconde) :

Ressenti - débit visuel
Ressenti utilisateur et débit visuel

En sélectionnant sur la barre de débit visuel les endroits où celui-ci diminue, vous pouvez apercevoir en un instant les goulots d'étranglements et en consulter les détails :

Goulots d'étranglement
Goulots d'étranglement du débit visuel

Profileur

Non, ce n'est pas une série à la mode ! L'outil de profiling dit profileur vous permet outil de mesurer la vitesse d'exécution des différentes fonctions du code Javascript composant votre site, le nombre de fois que ces fonctions ont été appelées. Pour démarrer l'outil de profiling js, cliquez sur l'icône lecture, puis sur stop lorsque vous souhaitez arrêter l'acquisition.

Profileur
Temps d'exécution Javascript - profileur

Pour effectuer un profiling précis, utilisez dans votre code javascript les lignes suivantes : console.profile() et console.profileEnd() qui permettent respectivement de démarrer et d'arrêter le profileur.

Il existe deux types de temps dans le profileur : le temps inclusif et le temps exclusif.

En utilisant conjointement ces temps, vous êtes en mesure de déterminer si le problème de ralentissement de votre code javascript provient de l'intérieur de la fonction ou d'une autre fonction.

Diagnostic mémoire

Un outil généralement peu utilisé par le commun des mortels : le diagnostic mémoire. C'est pourtant un outil très utile qui vous permettra d'avoir en un instant un état de l'occupation mémoire, taille et quantité, et de diagnostiquer sur une longue période les fuites de mémoire (causant généralement un ralentissement du navigateur après une longue période d'utilisation, voire un plantage).

Cliquez sur l'icône lecture puis ensuite sur l'appareil photo à chaque fois que vous souhaitez stocker des instantanés de la mémoire utilisée.

Diagnostic mémoire
Diagnostic mémoire

L'outil vous affiche les variations de mémoire consommée, ainsi que du nombre d'objets créés. Lorsque vous ne touchez à rien et que votre code n'effectue pas de traitements en arrière-plan, effectuez à quelques minutes d'intervalle des clichés, puis analysez l'évolution. Une faible évolution signifie que votre code n'a pas de fuites mémoire, ce qui est un bon point !

Outil Émulateur - simulation de navigateur

Le dernier onglet, intitulé Émulateur, va vous permettre de tester votre site web avec certaines versions d'Internet Explorer ou de Windows Phone. Vous pourrez ainsi avoir une vue temps réel du rendu de votre site sur un smartphone ou une tablette utilisant Windows.

Émulateur
Émulateur

L'outil comporte trois sections : Mode, Affichage et Géolocalisation.

Mode

L'option Edge (Par défaut) affiche votre site tel qu'il est affiché dans Internet Explorer 11. Les cinq autres options représentent les différentes versions d'Internet Explorer.

Quand vous choisissez une version autre que Edge, IE11 affiche les pages Web comme si vous utilisiez cette version du navigateur et modifie la chaîne de l'agent utilisateur (User Agent) envoyée par le navigateur. Vous pouvez néanmoins chosir votre User Agent manuellement en cliquant sur Chaîne de l'agent utilisateur.

La case profil utilisateur vous permet d'émuler un smartphone ou une tablette Windows Phone.

Affichage

La section Affichage vous permet de simuler plusieurs résolutions d'écran pour afficher votre contenu web. L'affichage des différentes résolutions (et leur correspondance en diagonales telles que vous pouvez les trouver sur les caractéristiques d'écrans) s'affiche clairement :

Résolution
Résolution

Géolocalisation

Cette section vous permet de simuler la présence d'un GPS sur l'appareil de l'internaute. Vous pourrez alors déboguer votre code Javascript utilisant les positions.

Conclusion

Nous avons fait le tour des principales fonctionnalités des outils de développement. Ceux-ci sont vite indispensables dans de gros projets. Vous pourriez avoir besoin d'une aide supplémentaire pour en tirer toute la quintescence. N'hésitez pas à poser votre question sur le Forum.

Vous avez aimé cet article intitulé Les outils de développement web d'Internet Explorer ? Partagez-le !
Vulgarisation-informatique.com
Cours en informatique & tutoriels