27/12/2024

Astuces

Windows : comment effectuer un test de débit Internet en ligne de commande ?

I. Présentation

Sur une machine Windows, vous pouvez utiliser le client CLI du service Speedtest d'Ookla pour effectuer un test de débit Internet en ligne de commande. Dans ce tutoriel, nous allons découvrir comment l'utiliser.

Cette méthode est particulièrement utile pour ceux qui souhaitent utiliser un script ou qui veulent automatiser la vérification de la qualité de leur connexion Internet sans passer par l'interface web du service Speedtest. De plus, nous verrons que le résultat est interprétable avec PowerShell, ce qui ouvre la porte à d'autres usages tels que la remontée de l'information dans un système de supervision.

Voici d'autres articles qui pourraient vous intéresser :

II. Installation du client CLI de Speedtest

Pour commencer, nous devons installer le client CLI de Speedtest d'Ookla sur la machine Windows.

Pour installer le client, commencer par télécharger l'exécutable. Accédez au site officiel d'Ookla (https://www.speedtest.net/apps/cli) et téléchargez l'exécutable pour Windows.

Ensuite, décompressez l'archive ZIP afin d'obtenir un fichier nommé "speedtest.exe". C'est lui que nous allons exécuter via la ligne de commande, car l'outil ne nécessite pas d'installation. Nous pouvons considérer qu'il s'agit d'un outil portable.

Voyons comment l'utiliser pour tester la vitesse de la connexion Internet.

III. Tester le débit Internet avec Speedtest CLI

Avec le client CLI de Speedtest en place sur notre machine Windows, nous pouvons exécuter un test de débit. Ceci permettra de mesurer la latence (via le ping), la vitesse de téléchargement (download) et la vitesse d'envoi (upload).

Il est à noter que "speedtest.exe" peut être exécuté via l'Invite de commande (cmd) et PowerShell. Nous allons préférer l'usage de la console PowerShell pour la suite de cet article.

Ouvrez la console PowerShell et exécutez simplement cette commande :

.\speedtest.exe

La première fois que l'outil est lancé, vous devez accepter la licence d'utilisation. Saisissez "YES" et appuyez sur la touche Entrée du clavier. Ensuite, patientez pendant l'exécution du test de débit Internet.

Remarque : vous pouvez forcer l'activation de la licence à partir de la ligne de commande via l'ajout du paramètre "--accept-license".

Le test de débit retourne donc 3 informations principales, au même titre que lors de l'utilisation de l'interface web du service Speedtest d'Ookla :

  • Ping : le temps de réponse en millisecondes, qui indique la latence de votre connexion.
  • Download : la vitesse de téléchargement mesurée en Mbps.
  • Upload : la vitesse d'envoi mesurée en Mbps.

Par défaut, Speedtest sélectionne lui-même le serveur distant sur lequel effectué le test. Vous pouvez choisir le serveur de votre choix. Commencez par lister les serveurs disponibles :

.\speedtest.exe -L

Puis, exécutez un test de débit en spécifiant le serveur via son ID (première colonne dans le résultat de la commande précédente) :

.\speedtest.exe -s <ID>
.\speedtest.exe -s 52534

IV. Exploiter le résultat de Speedtest avec PowerShell

Le client CLI de Speedtest présente l'avantage de pouvoir retourner un résultat formaté en JSON. PowerShell étant capable d'interpréter un objet au format JSON, ceci nous permet de le parser facilement et d'exploiter les informations du test de débit.

Pour demander à Speedtest de nous retourner un résultat au format JSON, nous devons utiliser cette syntaxe :

.\speedtest.exe --format=json

Ainsi, nous pouvons coupler l'utilisation de Speedtest avec PowerShell pour personnaliser la sortie.

& "C:\temp\speedtest.exe" --accept-license --format=json | ConvertFrom-Json | Select-Object @{ 
                                  label='Download' 
                                  expression={([math]::round($_.download.bandwidth/1MB, 4)*8).ToString('F2')} 
                               }, @{ 
                                  label='Upload' 
                                  expression={([math]::round($_.upload.bandwidth/1MB, 4)*8).ToString('F2')} 
                               }
Script PowerShell pour un test de débit Internet

Nous devons créer des propriétés calculées (ou passer par un objet personnalisé) afin de convertir les valeurs pour le Download et l'Upload. Vous pouvez aussi ajouter d'autres informations à la sortie de la commande, selon vos besoins. Dans ce cas, stockez le résultat JSON dans une variable pour l'explorer plus facilement.

V. Conclusion

Nous avons vu comment installer et utiliser le client CLI de Speedtest sur Windows pour effectuer un test de débit de la connexion Internet. Vous pouvez utiliser l'outil simplement en l'exécutant sans option, ou décider d'aller plus loin en le couplant à PowerShell. Comme nous l'avons vu, cela ouvre diverses possibilités… Enfin, n'effectuez pas des tests de débit trop fréquent pour ne pas surcharger le service Speedtest (et vous faire bannir).

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.