Exécuter du code JavaScript en ligne de commande offre une flexibilité et une rapidité précieuses pour les développeurs souhaitant tester des scripts ou automatiser des tâches. Dans cet article, nous explorerons différentes méthodes pour exécuter du JavaScript en ligne de commande, en utilisant des outils intégrés aux navigateurs web ainsi que des environnements dédiés.

Utilisation du Navigateur Web

Node.js

Node.js est un environnement d’exécution JavaScript côté serveur basé sur le moteur JavaScript V8 de Chrome. Il inclut un interpréteur en ligne de commande qui permet d’exécuter des scripts JavaScript. Pour exécuter un fichier JavaScript avec Node.js, utilisez la commande suivante dans votre terminal :

node fichier.js

Assurez-vous d’avoir Node.js installé sur votre système avant d’exécuter cette commande.

Utilisation de la Console du Navigateur

Les navigateurs web modernes offrent une console JavaScript qui permet d’exécuter du code JavaScript directement dans l’environnement du navigateur. Voici comment ouvrir la console dans les navigateurs les plus courants :

Google Chrome
  1. Cliquez sur le menu de Google Chrome (les trois points verticaux) dans le coin supérieur droit de la fenêtre.
  2. Sélectionnez “Plus d’outils” > “Outils de développement”.
  3. Dans la fenêtre qui apparaît, cliquez sur l’onglet “Console”.
Mozilla Firefox
  1. Cliquez sur le menu de Firefox (les trois lignes horizontales) dans le coin supérieur droit de la fenêtre.
  2. Sélectionnez “Web Developer” > “Web Console”.
Microsoft Edge
  1. Cliquez sur le menu de Microsoft Edge (les trois points horizontaux) dans le coin supérieur droit de la fenêtre.
  2. Sélectionnez “Outils de développement” > “Console”.

Une fois la console ouverte, vous pouvez saisir du code JavaScript directement dans l’invite de commande et appuyer sur “Entrée” pour l’exécuter.

Utilisation d’outils tiers

Outre les méthodes intégrées aux navigateurs et à Node.js, il existe également des outils tiers qui permettent d’exécuter du JavaScript en ligne de commande de manière plus avancée. En voici quelques-uns :

PhantomJS

PhantomJS est un navigateur sans tête (headless) basé sur WebKit, qui permet d’exécuter des scripts JavaScript en ligne de commande et de prendre des captures d’écran de pages web. Il est largement utilisé pour l’automatisation des tests et le scraping web.

Puppeteer

Puppeteer est une bibliothèque Node.js développée par Google qui fournit une API de haut niveau pour contrôler les navigateurs Chrome et Chromium via le protocole DevTools. Avec Puppeteer, vous pouvez automatiser des actions dans le navigateur, prendre des captures d’écran, générer des fichiers PDF, et bien plus encore, le tout via une interface en ligne de commande.

Voici quelques exemples pratiques d’utilisation de l’exécution de JavaScript en ligne de commande :

1. Manipulation de fichiers

Supposons que vous souhaitiez renommer tous les fichiers d’un répertoire en remplaçant les espaces par des tirets. Vous pouvez utiliser Node.js pour parcourir les fichiers et renommer chaque fichier en utilisant du JavaScript.

Exemple de code :

const fs = require('fs');

fs.readdirSync('.').forEach(file => {
  const newFileName = file.replace(/\s/g, '-');
  fs.renameSync(file, newFileName);
});
2. Scraping web

Vous pouvez utiliser Puppeteer pour extraire des informations d’une page web. Par exemple, supposons que vous souhaitiez extraire le titre et l’URL de tous les articles d’un blog pour les enregistrer dans un fichier JSON.

Exemple de code :

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com/blog');

  const articles = await page.evaluate(() => {
    const articleNodes = document.querySelectorAll('.article');
    const articlesData = [];

    articleNodes.forEach(node => {
      const title = node.querySelector('h2').innerText;
      const url = node.querySelector('a').href;
      articlesData.push({ title, url });
    });

    return articlesData;
  });

  console.log(articles);

  await browser.close();
})();
3. Tests automatisés

Utiliser Puppeteer ou PhantomJS pour automatiser les tests de votre application web. Par exemple, vous pouvez vérifier si un formulaire fonctionne correctement en simulant des interactions utilisateur telles que le remplissage des champs et la soumission du formulaire, puis en vérifiant si la réponse est correcte.

Exemple de code avec Puppeteer :

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com/login');

  await page.type('#username', 'john_doe');
  await page.type('#password', 'password123');
  await page.click('#login-button');

  await page.waitForNavigation();

  const loggedInUrl = page.url();
  if (loggedInUrl === 'https://example.com/dashboard') {
    console.log('Login successful');
  } else {
    console.log('Login failed');
  }

  await browser.close();
})();

Ces exemples illustrent comment l’exécution de JavaScript en ligne de commande peut être utilisée dans divers scénarios pratiques, tels que la manipulation de fichiers, le scraping web et les tests automatisés.

Voici quelques erreurs courantes à éviter lors de l’exécution de JavaScript en ligne de commande, accompagnées d’exemples de code corrigés :

1. Oublier de gérer les erreurs

Erreur : Ne pas gérer les erreurs peut entraîner des plantages inattendus de votre script sans fournir de message d’erreur utile.

Exemple de code corrigé :

const fs = require('fs');

try {
  const data = fs.readFileSync('non-existent-file.txt', 'utf8');
  console.log(data);
} catch (err) {
  console.error('Une erreur s\'est produite lors de la lecture du fichier :', err);
}
2. Utiliser des variables non définies

Erreur : Utiliser une variable qui n’a pas été définie entraînera une erreur de référence.

Exemple de code corrigé :

const a = 5;
const b = 10;
const sum = a + b;
console.log('La somme est :', sum);
3. Ignorer les retours de fonctions asynchrones

Erreur : Ne pas attendre la résolution d’une fonction asynchrone peut entraîner un comportement imprévisible ou des erreurs de type “Promise non résolue”.

Exemple de code corrigé :

async function fetchData() {
  return await fetch('https://api.example.com/data');
}

(async () => {
  try {
    const data = await fetchData();
    console.log('Données récupérées avec succès :', data);
  } catch (err) {
    console.error('Une erreur s\'est produite lors de la récupération des données :', err);
  }
})();
4. Oublier de fermer les ressources

Erreur : Oublier de fermer les ressources telles que les fichiers ou les connexions réseau peut entraîner des fuites de mémoire ou des comportements inattendus.

Exemple de code corrigé :

const fs = require('fs');

const fileStream = fs.createReadStream('example.txt', 'utf8');

fileStream.on('data', (chunk) => {
  console.log('Chunk lu :', chunk);
});

fileStream.on('end', () => {
  console.log('Lecture du fichier terminée');
});

fileStream.on('error', (err) => {
  console.error('Une erreur s\'est produite lors de la lecture du fichier :', err);

  // Fermer le flux de fichier en cas d'erreur
  fileStream.close();
});
5. Utiliser des boucles infinies

Erreur : Utiliser une boucle infinie sans condition de sortie peut entraîner un blocage du script.

Exemple de code corrigé :

let count = 0;

while (count < 10) {
  console.log('Compteur :', count);
  count++;
}

En évitant ces erreurs courantes lors de l’exécution de JavaScript en ligne de commande, vous pouvez améliorer la fiabilité et la robustesse de vos scripts.

Conclusion

Exécuter du JavaScript en ligne de commande offre une grande polyvalence aux développeurs, que ce soit pour tester des scripts, automatiser des tâches, ou interagir avec des navigateurs web. Avec les outils mentionnés dans cet article, vous disposez des moyens nécessaires pour exécuter du JavaScript efficacement dans différents contextes, que ce soit sur votre machine locale ou sur des serveurs distants. Explorez ces outils et choisissez celui qui convient le mieux à vos besoins de développement JavaScript.

Autres articles

Exercices de Programmation Corrigés sur le Microprocesseur...
Le microprocesseur Motorola 6809 est un processeur 8 bits très...
Read more
Programmation ISO (ou G-code) : Guide
La programmation ISO (ou G-code) est un langage standard utilisé...
Read more
Exercices Corrigés Programmation ISO en tournage CNC
Voici une série d'exercices corrigés sur la programmation ISO en...
Read more
AZ

Recent Posts

Série d’exercices corrigés – Excel Perfectionnement

Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…

6 heures ago

Guide : Calculer une moyenne avec un filtre dans Excel

Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…

6 heures ago

Utiliser les fonctions pour afficher la date actuelle dans Excel

Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…

7 heures ago

Comment convertir des textes en chiffres dans Excel

Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…

7 heures ago

Comment extraire les chiffres d’une cellule dans Excel

Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…

8 heures ago

Comment supprimer plusieurs caractères spécifiques dans Excel

Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…

8 heures ago

This website uses cookies.