Sobes.tech
Junior

Comment mesurer la vitesse de chargement d'un site Web?

sobes.tech IA

Réponse de l'IA

La vitesse de chargement d’un site web peut être mesurée de plusieurs façons :

  1. Outils de développement dans le navigateur :

    • Ouvrir l’onglet "Network" (Réseau) dans les outils de développement (F12).
    • Actualiser la page.
    • Analyser les indicateurs de temps pour chaque ressource (HTML, CSS, JS, images) :
      • Waiting (TTFB) : Temps jusqu’à la réception du premier octet du serveur.
      • Content Download : Temps de téléchargement du contenu.
      • Total : Temps total de chargement de la ressource.
    • Faire attention au diagramme Waterfall (cascade) pour visualiser la séquence de chargement des ressources.
    • Analyser le résumé (Summary) en bas de l’onglet pour le temps total de chargement et le nombre de requêtes.
  2. Services en ligne pour mesurer la vitesse :

    • Google PageSpeed Insights : Analyse la performance sur appareils mobiles et de bureau, fournit des recommandations d’optimisation.
    • GTmetrix : Fournit des métriques PageSpeed et YSlow, rapport détaillé de chargement, performance et recommandations.
    • Pingdom Website Speed Test : Mesure la vitesse depuis différentes localisations, fournit une analyse détaillée de la performance.
    • WebPageTest : Permet de tester depuis différentes localisations et navigateurs, fournit de nombreuses métriques et visualisations.
  3. Métriques à surveiller :

    • Time to First Byte (TTFB) : Temps jusqu’à la réception du premier octet du serveur.
    • Largest Contentful Paint (LCP) : Temps d’apparition du plus grand élément de contenu dans la partie visible de l’écran.
    • First Input Delay (FID) : Temps entre la première interaction de l’utilisateur avec le site et la réponse du navigateur.
    • Cumulative Layout Shift (CLS) : Indicateur total du déplacement du layout pendant le chargement.
    • DOMContentLoaded : Temps où le navigateur a complètement chargé et analysé le document HTML.
    • Load : Temps de chargement complet de toutes les ressources de la page.
  4. Automatisation avec des frameworks :

    • Lighthouse (outil de Google) : Peut être utilisé en ligne de commande ou intégré dans des pipelines CI/CD.
    # Exemple d’utilisation de Lighthouse CLI
    lighthouse https://www.exemple.com --output json,html --output-path ./rapport.json
    
    • Selenium/WebDriver : Peut être utilisé pour charger la page et obtenir le temps de chargement via l’API Performance de JavaScript.
    # Exemple d’obtention du temps de chargement avec Selenium et Performance API
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome() # Ou un autre navigateur
    driver.get("https://www.exemple.com")
    
    # Attendre que la page soit complètement chargée
    time.sleep(5) # Des attentes plus fiables peuvent être utilisées
    
    # Obtenir l’objet PerformanceTiming
    performance_timing = driver.execute_script("return window.performance.timing")
    
    # Calculer le temps de chargement
    load_time = performance_timing['loadEventEnd'] - performance_timing['navigationStart']
    print(f"Temps de chargement : {load_time} ms")
    
    driver.quit()
    
    • Cypress : Fournit également un accès à l’API Performance.
  5. Systèmes de surveillance en temps réel (RUM) :

    • Outils qui collectent des données de performance directement auprès des utilisateurs réels du site. Exemples : Sentry, New Relic Browser.

Le choix de la méthode dépend des objectifs : pour une évaluation rapide, les services en ligne conviennent ; pour une analyse détaillée et le débogage, les outils de développement ; et pour une surveillance régulière et l’intégration dans les processus de développement, l’automatisation et les systèmes RUM.