Article original : My Favorite Chrome Dev Tools Tips and Tricks

Par Dor Shinar

Les outils de développement Chrome sont une suite d'outils extrêmement puissante pour le développement d'applications web. Ils permettent de faire tant de choses, des opérations très basiques comme la navigation dans le DOM, à l'inspection des requêtes réseau ou même au profilage des performances de votre application.

Parmi les grandes fonctionnalités qu'ils offrent au quotidien, il y a pas mal de pépites à découvrir si l'on creuse suffisamment. Des fonctionnalités qui peuvent vous faire économiser un clic ou deux – et n'est-ce pas ce que nous recherchons tous ici ?

Requêtes DOM style jQuery dans la console

jQuery est génial. Il a régné sur le web pendant plus d'une décennie, et certaines statistiques indiquent que plus de 70 % des pages web les plus populaires au monde exécutent une version de jQuery. C'est fou pour une bibliothèque qui remonte à 2006.

L'API la plus populaire fournie par jQuery est le $, utilisé pour sélectionner des éléments DOM. La console des outils de développement Chrome vous permet d'utiliser ce sélecteur $, et plus encore. Sous le capot, $ est un alias pour document.querySelector().

Par exemple, si vous souhaitez simuler un clic sur un élément, vous pouvez faire :

Image Utilisation du sélecteur $ pour cliquer sur un bouton

De même, $$ est un alias pour document.querySelectorAll() :

Image Utilisation du sélecteur $$ pour imprimer les noms de classe

Il y a encore quelques astuces dans la manche du $. Parfois, un sélecteur peut être trop compliqué à écrire de mémoire, ou vous ne connaissez tout simplement pas un sélecteur suffisamment spécifique. Si vous sélectionnez un élément dans l'onglet Éléments, vous pouvez le récupérer avec la variable $0 dans la console :

Image Un gif montrant l'utilisation du sélecteur $0 dans la console

La console va encore plus loin, en nous permettant d'accéder non seulement à la dernière sélection, mais aux cinq dernières, dans l'ordre. Les sélections sont exposées via les variables $0 - $4 :

Image Un gif montrant l'utilisation du sélecteur $0 - $4 dans la console

Copier les propriétés d'un élément

L'onglet Éléments est vraiment utile. Il stocke l'arborescence DOM de notre site web, il nous permet de voir le CSS appliqué à chaque élément, et nous pouvons apporter des modifications aux éléments à la volée depuis celui-ci.

Une astuce vraiment cool que j'ai découverte est la possibilité de copier les propriétés d'un élément (et pas seulement les propriétés) depuis le menu contextuel.

Par exemple, vous pouvez copier le sélecteur d'un élément :

Image Un gif montrant comment copier le sélecteur d'un élément

Ce sélecteur peut ne pas être suffisamment spécifique, ou trop spécifique pour la production, mais il devrait faciliter un peu votre vie lors du débogage.

Comme vous pouvez le voir dans le gif précédent, le menu contextuel de copie cache quelques autres choses utiles que vous pouvez copier. Vous pouvez copier les styles de l'élément, le chemin JS (document.querySelector(SELECTOR)) ou le XPath.

Filtrer les requêtes réseau

Parfois, vous travaillez sur une page qui a beaucoup de requêtes. Je veux dire, BEAUCOUP.

Image Faire défiler une très longue liste de requêtes réseau

Travailler à travers toutes ces requêtes peut être difficile lorsque vous cherchez quelque chose de spécifique. Heureusement, vous pouvez très facilement filtrer les requêtes.

La barre de filtres dispose de bascules rapides pour divers types de requêtes, telles que XHR/Fetch, feuilles de style, scripts JS, images et plus encore :

Image Utilisation des filtres de la barre d'outils pour filtrer les requêtes réseau

Si vous devez être encore plus spécifique, ou pour que vous puissiez trouver plus rapidement, vous pouvez simplement écrire un critère de filtre dans l'entrée filter juste au-dessus de la barre d'outils pour rechercher dans les noms des requêtes :

Image Filtrer les requêtes réseau par nom

Émuler différentes vitesses de réseau

En utilisant à nouveau l'onglet Network, nous pouvons tester notre site avec différentes vitesses d'internet. Le préréglage par défaut est online, et vous profiterez de la pleine bande passante de votre connexion internet.

Image Un menu permettant la sélection de diverses vitesses d'internet

Outre online, il y a quelques autres préréglages disponibles : Fast 3G, Slow 3G et offline, qui varient en vitesse de téléchargement, vitesse de téléversement et latence. Si vous devez émuler une vitesse différente, plus exotique, vous pouvez ajouter votre propre profil via le bouton Add... :

Image Ajout d'un profil de limitation personnalisé

Utiliser les expressions en direct dans la console

Qu'est-ce que les Live Expressions ?

Les Live Expressions sont des expressions qui s'évaluent constamment en haut de votre console. Supposons que vous souhaitiez suivre la valeur d'une variable au fil du temps. Vous pouvez la journaliser encore et encore :

Image Impimer une variable encore et encore

Avec les Live Expressions, vous pouvez vous concentrer sur votre code et laisser Chrome faire le suivi :

Image Stocker une variable dans une expression en direct

Cela s'applique aux variables définies à la fois dans la console et dans un script.

Émuler différents appareils

Ceux d'entre nous qui travaillent sur des applications réactives connaissent le sentiment où vous travaillez très dur pour créer une belle mise en page, seulement pour la voir mal se comporter sur des appareils avec différentes résolutions.

Je ne suis pas ici pour vous parler des media queries, mais plutôt d'une manière pratique de tester qu'elles fonctionnent.

Image Un bouton pour basculer vers la vue appareil

Lorsque vous cliquez sur le bouton qui ressemble à une tablette et un téléphone, vous verrez que la fenêtre d'affichage de votre navigateur change pour refléter les dimensions d'un autre appareil.

Vous pouvez choisir un appareil parmi une liste de préréglages contenant divers appareils populaires, tels que l'iPhone X, l'iPad Pro, le Pixel 2, le Pixel 2 XL et plus encore. La liste est admettons un peu obsolète, mais je pense qu'elle est suffisamment bonne pour la plupart des cas.

Si vous ne trouvez pas d'appareil qui correspond à vos besoins, vous pouvez définir une résolution personnalisée. Comme vous pouvez le voir, j'ai défini une résolution personnalisée pour émuler un OnePlus 6 (qui est mon appareil quotidien).

Image Appareil simulé OnePlus 6

Forcer l'état d'un élément

Avez-vous déjà été confronté à une situation où vous vouliez jouer avec le CSS spécifique à :hover d'un élément, mais chaque fois que vous déplaciez votre souris vers la section des styles dans les outils de développement, l'élément n'était plus survolé ?

Eh bien, les outils de développement Chrome exposent une manière agréable de verrouiller l'état d'un élément, afin que vous puissiez manipuler ses propriétés en paix. De cette manière, vous pouvez rapidement basculer les propriétés :active, :hover, :focus, :focus-within et :visited d'un élément :

Image Un menu pour basculer l'état d'un élément

Ce sont mes astuces et conseils que je pense que tout le monde peut utiliser. Merci d'avoir lu !

Cet article a été précédemment publié sur mon blog : dorshinar.me. Si vous souhaitez lire plus de contenu, vous pouvez consulter mon blog, cela me ferait très plaisir.

Si vous souhaitez me soutenir, vous pouvez Buy Me a Coffee at ko-fi.com