Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevTools Firefox

Avatar for hellosct1 hellosct1
November 15, 2022

DevTools Firefox

Présentation effectuée à Paris Web par Christophe Villeneuve sur "DevTools : La boîte à outils de développements".
Cette présentation a pour but d'aider les développeurs à améliorer leur projet en respectant les normes et standard de W3C

Avatar for hellosct1

hellosct1

November 15, 2022
Tweet

More Decks by hellosct1

Other Decks in Technology

Transcript

  1. Atos open source - afup – lemug.fr – mariadb –

    drupal – mozilla - firefox – lemugfr - sumo – webextensions – VR – AR – XR - Cause commune 93.1 FM - TechSpeaker - Lizard - eyrolles – editions eni – programmez – linux pratique – webriver – elephpant - CommonVoice – Sécurité - Cybersécurité Christophe Villeneuve • Consultant Open Source • Dresseur animaux
  2. @hellosct1 – Programmez #24 - Aujourd’hui • Le Web :

    Les problèmes de développement • Fonctionnalités standards • Mode avancé
  3. @hellosct1 – Programmez #24 - • Le Web : Les

    problèmes de développement • Fonctionnalités standards • Mode avancé
  4. @hellosct1 – Programmez #24 - Supprimer les frictions !!! •

    Offrir des expériences – qui fonctionnent parfaitement dans Firefox
  5. @hellosct1 – Programmez #24 - Problème numéro 1 : Le

    matériel • Nombreux – Tablette – Smartphone – Ordinateur portable • Différentes tailles d'écran • Des navigateurs différents
  6. @hellosct1 – Programmez #24 - Quels sont les problèmes actuels

    ? • Lors d’un développement Web • Éditeurs à retard technologique • Peu d’interactions avec le navigateur
  7. @hellosct1 – Programmez #24 - Quel est le plus gros

    problème ? • Les problèmes de connexion
  8. @hellosct1 – Programmez #24 - Autres problèmes répétitifs... • L'application

    est lente • Mon appareil semble lourd → lorsque vous utilisez votre application • L'application ne fonctionne pas ou mal → pour un utilisateur spécifique
  9. @hellosct1 – Programmez #24 - Editeurs périmés • Ancien rédacteur

    – Ils ne supportent pas les dernières spécifications – Presque pas d'interaction avec le navigateur • Le support arrive en retard
  10. @hellosct1 – Programmez #24 - Méthodologie de travail • Écrire

    le code • Exécutez votre outil d'assistance • Changer de navigateur • Rafraîchir • Voir les changements • Répéter en cas d'échec → Ennuyeux, improductif et répétitif
  11. @hellosct1 – Programmez #24 - • Le Web : Les

    problèmes de développement • Fonctionnalités standards • Mode avancé
  12. @hellosct1 – Programmez #24 - Un Profil différent • Dans

    le navigateur – About:profiles • Dans une console $ profile -p https://support.mozilla.org/fr/kb/gestionnaire-profils-creer-supprimer-changer-profils-firefox
  13. @hellosct1 – Programmez #24 - La barre d’outils • Choisir

    l’emplacement de la barre • Utilisation : – Raccourci (F12) – Choisir la position de l’ancre
  14. @hellosct1 – Programmez #24 - Quelques fonctionnalités • Inspecteur •

    Console web • Débogueur Javascript • Réseau • Performances • Responsive • Accessibilité • Mémoire • Stockage • DOM • Pipette • Editeurs – Texte, styles – Shaders, Web audio – Capture https://firefox-source-docs.mozilla.org/devtools-user/index.html
  15. @hellosct1 – Programmez #24 - Outil principal • L'inspecteur –

    Ctrl + Maj + I – Clic droit et Examiner l’élément
  16. @hellosct1 – Programmez #24 - Les basics : l’inspecteur •

    Sélectionner une zone à la volée – Clic droit puis examiner l’élément. – CTRL-Shift-C (MacOS : CMD-Shift-C) • Définissez vos préférences • Débogage de l'ordre en cascade – avec Rules & Computed • DOM & Console: – inspect (element) & $ 0.textContent
  17. @hellosct1 – Programmez #24 - CSS Flexbox inspector • Trouvez

    les conteneurs Flexbox dans l'inspecteur → Rapidement • Visualisez tous les éléments Flex – Et l'espacement entre eux https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector/How_to/Examine_Flexbox_layouts
  18. @hellosct1 – Programmez #24 - Capture écran • Utilisation :

    – Activer dans paramètres • Prendre une capture écran de la page entière • CTRL-Shift-S (MacOS : CMD-Shift-S) • Sélectionner un noeud
  19. @hellosct1 – Programmez #24 - Editeur Javascript • Utilisation –

    Onglet console – En bas : 1 ligne spécifique • Editeur de javascript dans DevTools
  20. @hellosct1 – Programmez #24 - Rendre lisible un fichier Javascript

    • Utilisation : – Onglet débogueur – Choisir le fichier JS –
  21. @hellosct1 – Programmez #24 - Editeur CSS • Utilisation –

    Editeur de style – L’icone + pour ajouter une nouvelle CSS
  22. @hellosct1 – Programmez #24 - La performance • Utilisation –

    Onglet Performances – Activer l’option – Afficher une page et regarder • Activer dans la barre outils – Menu → outils supplémentaires → Personnaliser https://profiler.firefox.com/
  23. @hellosct1 – Programmez #24 - Consommation mémoire • Utilisation :

    – Activer dans les options → Onglet mémoire • Différentes vues possible → de la consommation
  24. @hellosct1 – Programmez #24 - Réseaux • Utilisation : –

    Onglet Réseau • Inspecter les différents types de stockage – page Web peut utiliser
  25. @hellosct1 – Programmez #24 - Stockage • Utilisation : –

    Activer dans les options → Onglet mémoire • Inspecter les différents types de stockage – page Web peut utiliser
  26. @hellosct1 – Programmez #24 - • Le Web : Les

    problèmes de développement • Fonctionnalités standards • Mode avancé
  27. @hellosct1 – Programmez #24 - Expert • Designer • Webmaster

    • Dev. Back / Front • Performance • ...
  28. @hellosct1 – Programmez #24 - Afficher une règle • Utilisation

    – Paramètres – Cocher la case → Mesurer une zone de la page – Une règle apparaît
  29. @hellosct1 – Programmez #24 - Mesurer un objet dans un

    écran • Utilisation – Paramètres – Cocher la case → Mesurer une zone de la page – Un icône apparaît
  30. @hellosct1 – Programmez #24 - Pipette • Connaître la couleur

    d’un point de l’écran • Utilisation : – A partir du menu • Outils supplémentaires → Pipette – Naviguer dans la page web • Pour connaître la valeur d’un point
  31. @hellosct1 – Programmez #24 - Gestion de polices • Modification

    des tailles – Tailles de la police de caractères • Utilisation – Sélectionner un bloc de la page web (ex : Div) – Inspecteur – Onglet Polices
  32. @hellosct1 – Programmez #24 - Détecter les espaces blancs indésirables

    • Détecter les espaces de texte dans les espaces blancs • L’impact → mise en page. • Utilisation : – Onglet Inspecteur https://developer.mozilla.org/fr/docs/Outils/Inspecteur/Comment/Examiner_et_%C3%A9diter_le_code_HTML
  33. @hellosct1 – Programmez #24 - CSS (1/2) • Utilisation –

    Onglet inspecteur https://developer.mozilla.org/fr/docs/Outils/Inspecteur/Comment/Examine_grid_layouts
  34. @hellosct1 – Programmez #24 - CSS inactif (2/2) • Manipuler

    les images • Détecter les erreurs CSS • Apprendre quand et pourquoi – certaines propriétés n'ont aucun effet sur un élément. https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS
  35. @hellosct1 – Programmez #24 - CSS : Transition animation •

    Utilisation – Onglet CSS https://devtoolstips.org/tips/en/visualize-css-transforms/
  36. @hellosct1 – Programmez #24 - Sauter un attribut d’un label

    • Choisir élément – Cliquer sur le label – Arriver sur le input directement
  37. @hellosct1 – Programmez #24 - Créer des animations CSS •

    Choisir élément CSS – Créer ces règles https://developer.mozilla.org/fr/docs/Web/CSS/animation
  38. @hellosct1 – Programmez #24 - Déboguer en JS • Possible

    du pas à pas • Utilisation : – Onglet débogueur – Choisir le fichier JS – Ajouter un point d’arrêt →Clic sur un numéro de lignes – Ajouter une information → clic droit → Ajouter une sortie console → saisir message ou une alerte
  39. @hellosct1 – Programmez #24 - Déboguer DOM • Faire une

    pause dans les scripts → modifient le DOM • Utilisation : – Inspecter • Onglet DOM https://firefox-source-docs.mozilla.org/devtools-user/dom_property_viewer/index.html
  40. @hellosct1 – Programmez #24 - Points de surveillance • Utilisation

    – Débogueur – Click droit → propriétés de l'objet • Onglet débogueur → Point d’arrêt... > Get/Set • Disponible en VSCode • Possibilité : – Enregistrement d'objets dans la console – Aperçu en ligne – etc.
  41. @hellosct1 – Programmez #24 - Visualiser contenu JSON • Utilisation

    – Ouvrir le fichier JSON dans la barre de navigation
  42. @hellosct1 – Programmez #24 - Firefox Profiler • Capturez un

    profil de performance. – Analysez-le. – Partagez-le. – Rendre le web plus rapide. • Exemple : – Addon : profiler.firefox.com – Le profilage peut être de • courtes rafales ou le garder activé (Ctrl-Shift-1) • capturer (Ctrl-Shift-2) lorsque vous avez un problème de performance
  43. @hellosct1 – Programmez #24 - CMS / Framework • Construction

    d’un nouveau thème → Avec les DevTools
  44. @hellosct1 – Programmez #24 - Etendre les outils de développements

    • DevTools • Disponible sur AMO – https://addons.mozilla.org – AngularJS Inspector – React Tools – Vue.JS Inspector – Ember Inspector – DevTools Tweaks – DevTools Prototyper – React DevTools – FireQuery – Event Listener Tab – Performance Analyser
  45. @hellosct1 – Programmez #24 - WebExtension • Construisez votre outil

    • Utilisation : – Taper dans la barre de navigation • About:debugging extension devtools
  46. @hellosct1 – Programmez #24 - Containers • Inspiré de l’extension

    • Natif dans Nightly • Tester les différents profils – Pour les CMS / Frameworks
  47. @hellosct1 – Programmez #24 - Box models • Afficher et

    modifier la boite d’un élément HTML • About:config – devtools.layout.boxmodel.highlightProperty → True
  48. @hellosct1 – Programmez #24 - Web console sidebar Toogle •

    Changement placement – unlock, dock to bottom... • About:config – devtools.webconsole.sidebarToggle → True
  49. @hellosct1 – Programmez #24 - Et… (1/2) • Débogueur WebExtension

    Amélioré – popups, rechargement, lancement à partir d'une commande • Introduction de la barre d'outils du navigateur multiprocessus – Détection des processus parent de Firefox uniquement (rapide) – Tous les processus firefox (plus lent) • Un Outreachy (débogage REST)
  50. @hellosct1 – Programmez #24 - Et… (1/2) • WebDrivers BIDI

    : – protocole de test d'automatisation inter-navigateurs • Navigation dans les pages • Evénements du journal • Exécution de scripts • Amélioration des performances – Panneau de la console virtualisé – Support de nombreuses sources dans le débogueur
  51. @hellosct1 – Programmez #24 - Documentation des outils utilisateurs •

    How to • https://firefox-source-docs.mozilla.org/devtools-user/page_insp ector/how_to/ • Travailler avec Firefox – https://firefox-source-docs.mozilla.org/contributing/index.ht ml • Compatibilité entre les navigateurs – https://devtoolstips.org/
  52. @hellosct1 – Programmez #24 - Enfin... • Écrivez le code

    CSS et JS directement dans le navigateur → Visualisez les résultats en temps réel. • Pas accès à un appareil? → Simulez-le! • Avez-vous déjà fait une page? → Déboguez-le avec le navigateur. • Bien sur, assurez-vous que votre site fonctionne → dans plusieurs navigateurs. • Utilisez la version développeur ou Nightly → pour connaître les modifications apportées sur le Web.
  53. @hellosct1 – Programmez #24 - Plus loin • Firefox DevTools

    – https://developer.mozilla.org/fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools – https://developer.mozilla.org/en-US/docs/Tools/Settings • Documentation – Utilisateurs • https://firefox-source-docs.mozilla.org/devtools-user – Développeurs • https://docs.firefox-dev.tools/ • https://mozilla.github.io/standards-positions/ • Forum – https://discourse.mozilla.org/c/devtools • Mozilla hacks – https://hacks.mozilla.org/
  54. @hellosct1 – Programmez #24 - Merci Christophe Villeneuve @hellosct1 @[email protected]

    Sources : • Miguel Useche • Harald Kirschner • Jan Honza Odvarko