Visualisez mes articles facilement avec Google Sheets

Dans cet article, découvrez comment créer un tableau récapitulatif de mes articles de blog, directement dans Google Sheets.

Dans ce tutoriel, je vais vous montrer comment créer un outil dans Google Sheets pour visualiser l’ensemble de mes articles.

Pourquoi utiliser Google Sheets pour visualiser mes articles ?

Google Sheets est une solution accessible, collaborative, et simple d’utilisation. En connectant votre feuille à votre flux RSS, vous obtenez :

1. Une vue centralisée de mes articles avec les informations clés.

2. Un accès rapide et filtrable de mes contenus.

3. Une automatisation pour éviter les tâches répétitives.

Étape par étape : création de l’outil d’importation d’articles

Voici le script que vous pouvez utiliser dans Google Apps Script pour importer vos articles :

function importerArticlesAvecCategories() {
  const FEED_URL = "https://atelier-informatique.com/feed/";
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // Efface toutes les données (sauf les en-têtes existants)
  sheet.clear();

  // Ajouter les en-têtes
  const headers = ["Titre", "Lien", "Date de publication", "Catégories"];
  sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
  
  // Appliquer le gras sur les en-têtes
  sheet.getRange(1, 1, 1, headers.length).setFontWeight("bold");

  // Figer la première ligne
  sheet.setFrozenRows(1);

  try {
    // Récupère le flux RSS
    const response = UrlFetchApp.fetch(FEED_URL);
    const xml = XmlService.parse(response.getContentText());
    const items = xml.getRootElement().getChild("channel").getChildren("item");

    if (items.length === 0) {
      Logger.log("Aucun article trouvé dans le flux RSS.");
      return;
    }

    let row = 2; // Commence à la deuxième ligne
    items.forEach(item => {
      const title = item.getChildText("title");
      const link = item.getChildText("link");
      const pubDate = item.getChildText("pubDate");

      // Récupérer toutes les catégories
      const categories = item.getChildren("category")
                             .map(cat => cat.getText())
                             .join(", ");

      // Remplir les données dans la feuille
      sheet.getRange(row, 1).setValue(title);
      sheet.getRange(row, 2).setValue(link);
      sheet.getRange(row, 3).setValue(new Date(pubDate));
      sheet.getRange(row, 4).setValue(categories);
      row++;
    });

    // Formater la colonne des dates
    const dateRange = sheet.getRange(2, 3, items.length);
    dateRange.setNumberFormat("dd/MM/yyyy");

    Logger.log("Importation terminée avec succès.");
  } catch (e) {
    Logger.log("Erreur lors de l'importation : " + e.message);
    throw new Error("Impossible de récupérer les articles. Vérifiez l'URL ou le format du flux RSS.");
  }
}

Analyse du code

1. Configuration de la feuille Google Sheets

  • Le script commence par effacer les anciennes données tout en conservant les en-têtes existants.
  • Les en-têtes incluent : Titre, Lien, Date de publication et Catégories. Ces colonnes permettent une organisation claire des données.

2. Lecture du flux RSS

  • L’URL du flux RSS de votre blog est utilisée pour récupérer les données des articles.
  • Chaque article est analysé pour extraire son titre, lien, date de publication et ses catégories.

3. Insertion des données

  • Les données récupérées sont insérées ligne par ligne dans la feuille.
  • Les dates sont automatiquement formatées en jj/mm/aaaa pour une lecture facilitée.

4. Gestion des erreurs

• Si le flux RSS est indisponible ou mal formaté, le script affiche un message d’erreur dans les journaux.

🌟 Résultat attendu

Après avoir exécuté le script, votre feuille Google Sheets ressemblera à ceci :

👉 Essayez ce script dès aujourd’hui et retrouvez tout le contenu publié ! Si vous avez des questions ou des suggestions, laissez un commentaire ci-dessous. 🚀