Automatisez votre veille tech : connectez GitHub à Google Sheets en 5 minutes

Aujourd’hui, nous allons faire communiquer deux géants : Google Sheets et GitHub.

Imaginez un instant : vous souhaitez suivre l’activité d’un développeur prolifique (ou la vôtre !) sans avoir à rafraîchir sa page GitHub tous les jours. Mieux encore, vous voulez recevoir un email automatique dès qu’un nouveau projet est publié, et que tout cela soit archivé proprement dans un tableau Google Sheets.

C’est exactement ce que fait le script que nous allons décortiquer aujourd’hui. C’est un excellent exemple de la puissance de Google Apps Script pour connecter des services entre eux.

L’objectif du script

Ce script ne se contente pas de copier des données. Il agit comme un véritable assistant de veille technologique. Voici son flux de travail :

  1. Récupération : Il interroge l’API de GitHub pour lister tous les dépôts publics d’un utilisateur.
  2. Comparaison intelligente : Il regarde ce qu’il y a déjà dans votre Google Sheet.
  3. Notification : S’il trouve un dépôt qui n’était pas là avant, il vous envoie un email récapitulatif. 📧
  4. Mise à jour : Il efface et réécrit la liste complète pour que les statistiques (comme le nombre d’étoiles ⭐) soient toujours à jour.

Tutoriel : Comment installer ce tableau de bord

Pas besoin d’être un expert en code, suivez simplement ces étapes :

1. Préparez le terrain

Ouvrez une nouvelle feuille de calcul Google Sheets. Donnez-lui un nom, par exemple « Suivi GitHub ».

2. Ouvrez l’éditeur de script

Dans le menu du haut, allez dans Extensions > Apps Script.

3. Le Code

Supprimez tout le code qui s’y trouve par défaut et collez le script présent sur Code.gs.

Note importante pour la personnalisation :

À la ligne 21, repérez const NOM_UTILISATEUR = ‘FabriceFx’;. Remplacez ‘FabriceFx’ par le nom d’utilisateur GitHub que vous souhaitez surveiller (par exemple ‘google’, ‘facebook’, ou votre propre pseudo).

4. Sauvegardez et lancez

Cliquez sur l’icône de disquette 💾 pour sauvegarder. Ensuite, actualisez votre page Google Sheets.

Vous verrez apparaître un nouveau menu personnalisé en haut : ⚡ GitHub Actions.

Cliquez sur Importer & Notifier. Lors de la première exécution, Google vous demandera des autorisations (accès à Gmail pour envoyer la notif, et à UrlFetchApp pour contacter GitHub). Acceptez-les.

Zoom sur les fonctionnalités « Pro » du script

Pour ceux qui veulent comprendre pourquoi ce script est performant, voici une analyse rapide de ses meilleures pratiques.

1. La performance avant tout

Le script utilise une technique très efficace pour comparer les données :

anciensNomsSet = new Set(valeursActuelles.flat());
// ...
const nouveauxDepots = listeDepots.filter(depot => !anciensNomsSet.has(depot.name));

Au lieu de comparer chaque nouveau dépôt à chaque ligne du fichier (ce qui serait lent), il crée un Set (un ensemble unique). La vérification de l’existence d’un dépôt est quasi instantanée, même si vous avez 5000 lignes !

2. Gestion de la pagination API

L’API de GitHub ne renvoie que 100 résultats par page. Si l’utilisateur a 250 dépôts, un script basique en raterait 150.

La fonction recupererTousLesDepots utilise une boucle while pour tourner les pages automatiquement jusqu’à ce qu’il n’y ait plus de résultats. C’est robuste et complet.

3. Notification ciblée

Le script n’envoie pas d’email inutilement.

if (nouveauxDepots.length > 0) {
  envoyerNotificationEmail(...);
}

Vous ne serez dérangé que s’il y a réellement du nouveau contenu.

Le résultat

Une fois le script exécuté, votre feuille de calcul sera formatée automatiquement avec des en-têtes grisés et en gras. Vous aurez les colonnes suivantes :

  • Nom du Dépôt (avec lien cliquable)
  • Description
  • Langage Principal
  • Nombre d’étoiles (Stars)
  • Date de dernière mise à jour

Et si des nouveautés sont détectées, vérifiez votre boîte Gmail, vous aurez reçu un rapport HTML propre avec les liens directs !

Une petite astuce pour la route ? 💡

Si vous voulez que ce script s’exécute tout seul chaque matin :

  1. Dans l’éditeur Apps Script, cliquez sur l’icône d’horloge (Déclencheurs) à gauche.
  2. Ajoutez un déclencheur.
  3. Sélectionnez la fonction importerDepotsGitHub.
  4. Choisissez « Source de l’événement » : Basé sur le temps > Déclencheur journalier.

Et voilà ! Votre veille technologique est maintenant 100% automatisée.

Commentaires

Laisser un commentaire