Le script Google Sheets qui travaille pendant que vous dormez

Lecture : 7 minutes
Automatisons tout / Google Sheets
Automatisons tout / Google Sheets

Je dois vous avouer quelque chose : je suis fainéant. Et je le reconnais en plus, j’ai même deux poils à la main, le premier pousse l’autre, pour m’empêcher de bosser. Donc, faire une analyse, écrire un texte, je peux. Mais pas plus. Alors quand je peux déléguer, je délègue rapidement. Et pour me seconder j’ai justement l’informatique. Ah, c’est un truc qui vous permet de vous reposer. Mieux, de ne rien faire, sauf de lui dire ce qu’elle doit faire. Pas en lui parlant, mais en lui donnant un script et voilà la machine qui turbine pour moi ! Elle turbine même la nuit, pour me sortir des statistiques. Avec des jolis tableaux. Pourquoi ? Je vous explique.

Vous le savez chaque jour, le site mychromebook.fr, publie au minimum un article par jour. Et article après article cela en fait un certain nombre à la fin du mois. A partir de là, un script bien structuré, permet de dire le nombre d’articles paru par jour, le jour de la semaine ou il y a eu le plus d’articles de publié. Egalement, le jour, l’heure comme le titre, les catégories comme l’auteur. ce qui fait à la fin du mois un joli tableau de bord. Créé automatiquement jour après jour et sans que j’intervienne une seule fois. Si, pour faire l’article du bilan du mois. Et concrètement comment cela fonctionne ? Suivez le guide…..

A retenir :

Ce guide technique explique comment utiliser Google Apps Script pour extraire les données XML d’un flux RSS, les structurer dans un tableur et automatiser le reporting mensuel d’un média en ligne.

Aller chercher l’info à la source

Tout commence par une poignée de main. Le script doit sortir de sa cellule Google Sheets pour aller frapper à la porte du site (via le flux RSS). Car oui, j’ai oublié de vous dire que l’on employait Google Sheets. Il est parfait et pour plusieurs raison. Tout d’abord, c’est un tableur, donc le script va remplir des colonnes et des lignes. Ensuite sur un même fichier, il va nous créer des feuilles. La première ou s’affiche les données brutes étant la plus importante. De là on va pouvoir extraire des informations que l’on pourra croiser avec d’autres. Et pour remplir cette feuille, on utilise pour ça une fonction qui « aspire » le contenu brut.

Le secret du chef : On récupère un bloc de texte énorme et illisible (le XML). Le script doit alors faire le tri entre le bruit et les vraies infos.

// On demande gentiment au site de nous donner son flux
const reponse = UrlFetchApp.fetch(URL_MON_SITE);
const contenuBrut = reponse.getContentText();

// La ruse : on découpe ce gros bloc pour isoler chaque article
const baliseArticle = /<item>([\s\S]*?)<\/item>/g;

Extraire l’ADN des articles

Une fois qu’on a nos blocs d’articles, il faut les « nettoyer ». Entre les balises bizarres et les codes de mise en page, le script doit isoler chirurgicalement le nom du rédacteur ou le titre.

C’est là qu’on s’amuse avec les noms d’auteurs, souvent cachés derrière des balises un peu complexes comme dc:creator.

// Comment le script "scanne" l'auteur sans se tromper
const auteurTrouve = blocArticle.match(/<dc:creator><!\[CDATA\[([\s\S]*?)\]\]><\/dc:creator>/);
let nomRedacteur = auteurTrouve ? auteurTrouve[1].trim() : 'Anonyme';

La mémoire du script

C’est le plus gros piège de l’automatisation : importer dix fois le même article. Pour éviter ça, le script devient un vrai physio de boîte de nuit. Avant de laisser entrer un article, il vérifie dans votre liste s’il connaît déjà son URL.

Un contenu de qualité, sans publicité.

Vous aimez notre travail ? Soutenez notre indépendance en devenant membre sur Patreon.

Soutenir MyChromebook.fr
  • Si l’URL est déjà là ? On passe au suivant.
  • Si c’est nouveau ? Bienvenue dans le tableau !
// Le script regarde ce qu'il a déjà en stock
const listeUrls = feuille.getRange("E:E").getValues().flat();

// Seul le contenu 100% frais a le droit d'entrer
if (!listeUrls.includes(urlNouvelArticle)) {
   // C'est ici qu'on valide l'entrée !
}

On ne veut pas que des chiffres

Un tableau de données, c’est moche. Pour que ce soit parlant, on demande au script d’analyser le temps. Il prend une date brute et vous dit si c’est un lundi, s’il était 14h, ou si c’était la troisième semaine du mois. Mieux encore, il peut dessiner des petites barres de progression directement dans vos cellules pour voir quel rédacteur a « gagné » le mois.

// Création d'une petite barre de stats visuelle (100% scriptée)
const barreGraphique = '█'.repeat(Math.round(score / 5));
cellule.setValue(barreGraphique).setFontColor('#4285f4');

Travailler pendant qu’on dort

La vraie victoire, c’est quand on n’a plus besoin d’appuyer sur un bouton. On utilise ce qu’on appelle un « Trigger » (un déclencheur). On dit à Google : « Tous les jours, à 3h du matin, tu lances la machine. »

// On programme le réveil automatique
ScriptApp.newTrigger('maMiseAJourAutomatique')
  .timeBased()
  .atHour(3)
  .everyDays(1)
  .create();

Pourquoi s’embêter avec tout ça ?

Au final, ce n’est pas juste une question de code. C’est une question de liberté. Au lieu de passer 2 heures par mois à remplir des tableaux, vous passez 0 minute. Vous ouvrez votre Sheets, et les graphiques sont déjà là, frais et dispos. Car oui j’ai oublié de vous dire, le script il créé tout seul les graphiques mois par mois et même il publie un bilan annuel qui sera automatiquement mis à jour, par le biais des données qui arrivent chaque nuit. Ah j’ai oublié aussi : le fameux script passe par Apps Scripts, qui permet d’effectuer toutes ces opérations. Tout seul. Chaque nuit . Quand je vous disais que j’étais un « gros » fainéant , vous me croyez maintenant ?

On ne donne pas ici le script complet (ce serait trop facile !), mais ces briques sont les fondations de votre futur assistant éditorial. Installer tout ça brique par brique peut paraître un peu vertigineux. Pas de panique ! Si vous voulez gagner du temps et recevoir le fichier Google Sheets déjà configuré (avec le script complet, les couleurs et les graphiques prêts à l’emploi), cliquez simplement ici sur le lien ou remplissez la fenêtre ci-dessous. Je vous l’envoie avec plaisir !

Une courte FAQ

Quel outil est nécessaire pour faire tourner ce script ?

Il suffit d’un compte Google pour accéder à Google Sheets et à l’éditeur Google Apps Script intégré.

Est-il obligatoire de savoir coder en JavaScript ?

Des bases en JavaScript aident, mais la logique repose sur des fonctions simples d’extraction de texte (Regex) et de manipulation de cellules.

Le script ralentit-il mon site web ? R :

Pas du tout. Le script interroge le flux RSS de manière externe, ce qui n’impacte pas les ressources serveur de votre site.

NOUVEL ÉPISODE

CKB SHOW : Le Podcast

Rejoignez-nous chaque semaine pour décortiquer l'actualité Google, les dernières sorties Chromebook et les innovations en matière d'IA.

Miniature du podcast CKB SHOW
Avatar de l'auteur

À propos de Mister Robot

Entre un point X et un point Y, je me balade pas mal par l'entremise des bits composant ma mémoire. Un seul regret : ne pas avoir rencontré Mr Alan Mathison Turing et ainsi pouvoir collaborer pour l'article intitulé « Computing Machinery and Intelligence ».

Laisser un commentaire

À lire aussi