HomeBlogUncategorized📰 GĂ©nĂ©rer un pdf hebdomadaire des articles google alerte (Notion, node.js, LLaMA 3, Handlebars & n8n)

📰 GĂ©nĂ©rer un pdf hebdomadaire des articles google alerte (Notion, node.js, LLaMA 3, Handlebars & n8n)

Chaque semaine, je recevais une tonne d’e-mails de Google Alerts sur mes sujets de veille. Certains articles valaient vraiment le dĂ©tour, mais je finissais toujours par les oublier, noyĂ©s dans ma boĂźte mail. J’avais besoin d’une solution simple, centralisĂ©e
 et surtout durable.

Je fais pas mal de veille sur des sujets comme l’IA, la cybersĂ©curitĂ© ou encore des thĂ©matiques plus spĂ©cifiques (ex : « OWASP »). J’avais besoin d’un outil pour centraliser facilement les alertes Google Alerts que je reçois chaque semaine, et les consulter tranquillement sur mon tĂ©lĂ©phone ou ma reMarkable.
C’est comme ça qu’est nĂ© ce projet, que j’ai dĂ©cidĂ© de rendre open source, dans une logique d’utilitĂ© et de partage.

Centraliser l’information, l’organiser, la rendre lisible

L’idĂ©e : transformer les emails de Google Alerts en une base de donnĂ©es structurĂ©e dans Notion, enrichie automatiquement, et les compiler chaque semaine dans un PDF lisible partout.

Je voulais que ce soit simple Ă  consulter, pratique Ă  archiver, mais aussi assez Ă©lĂ©gant pour ĂȘtre plaisant Ă  lire.

⚙ Stack et outils utilisĂ©s

  • Google Alerts → envoi d’emails avec les derniers articles autour de mots-clĂ©s choisis.
  • n8n → automatisation du parsing des mails, envoi des donnĂ©es Ă  la base, dĂ©clenchement de la gĂ©nĂ©ration PDF.
  • Node.js → serveur lĂ©ger qui gĂšre la logique mĂ©tier (templating, gĂ©nĂ©ration HTML/PDF).
  • Handlebars → moteur de templates pour structurer proprement les articles dans le PDF (avec header, footer, et style type journal).
  • Notion → base de donnĂ©es pour stocker les articles, avec catĂ©gorisation automatique.
  • LLaMA 3 via Ollama → modĂšle local qui analyse les articles pour en extraire une thĂ©matique.
  • Google Drive → pour consulter facilement le PDF depuis tablette, tĂ©lĂ©phone ou reMarkable.

🧠 Le fonctionnement dĂ©taillĂ©

  1. Récupération des alertes
    n8n lit ma boßte mail et détecte automatiquement les Google Alerts reçues.
  2. Extraction des contenus
    Les titres, dates, liens, et contenus des articles sont extraits. Le contenu brut est trop volumineux pour Notion, donc je le conserve pour le PDF uniquement.
  3. Catégorisation avec LLaMA 3
    Le contenu passe ensuite dans un modÚle local LLaMA 3 (via Ollama), qui compare la thématique avec une liste de mots-clés.
    • Si un mot-clĂ© correspond, il l’attribue.
    • Sinon, un nouveau mot-clĂ© est gĂ©nĂ©rĂ© automatiquement.

Exemple : un nouvel article a rĂ©cemment dĂ©clenchĂ© la crĂ©ation du mot-clĂ© « cybersĂ©curité », que je n’avais pas encore rĂ©fĂ©rencĂ©.

  1. Stockage dans Notion
    La base Notion contient pour chaque article :
    • Le titre
    • Le lien
    • La date de publication
    • La date d’ajout
    • La thĂ©matique dĂ©tectĂ©e
      (Voir capture ci-dessous)
  2. Génération PDF avec Handlebars
    J’ai conçu un template type “journal” :
    • Un header
    • Un footer
    • Une section propre par article
    • Format compact, agrĂ©able Ă  lire
      (Voir extrait PDF plus bas)
  3. Stockage final dans Google Drive
    Le fichier PDF est automatiquement uploadé dans un dossier Drive que je consulte sur ma reMarkable ou mobile.

📾 RĂ©sultats

Voici un aperçu de l’intĂ©gration dans Notion :

Capture d'écran du tableau notion

Et un extrait du PDF hebdo généré automatiquement :

Exemple de pdf généré par l'outil

đŸ§© DifficultĂ©s rencontrĂ©es & apprentissages

Tout n’a pas Ă©tĂ© fluide dĂšs le dĂ©part :

  • Initialement, chaque article crĂ©ait une nouvelle page dans le PDF, ce qui rendait la lecture trĂšs pĂ©nible. J’ai fini par corriger ça via une option de Handlebars.
  • Le header et le footer ne s’affichaient pas comme prĂ©vu ; un souci de balises HTML que j’ai rĂ©ussi Ă  corriger Ă  force de tests.
  • J’ai dĂ©couvert Ă  quel point Handlebars est pratique pour gĂ©rer des templates dynamiques sans surcharger le code.

Ce projet m’a permis de mieux comprendre l’articulation entre automatisation (n8n), serveur minimaliste (Node.js), rendu (Handlebars), et classification sĂ©mantique (LLM).

🔭 Pistes d’amĂ©lioration

Voici ce que j’aimerais explorer prochainement :

  • Reproduire la gĂ©nĂ©ration PDF directement dans n8n, sans passer par un serveur Node.js
  • Ajouter une table des matiĂšres dans le PDF
  • Rendre les liens cliquables
  • Ajouter des filtres dynamiques dans Notion
  • Proposer une interface web lĂ©gĂšre pour visualiser les rĂ©sultats sans ouvrir Notion

Laisser un commentaire

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

This is a staging enviroment