<aside>
<img src="/icons/list-indent_blue.svg" alt="/icons/list-indent_blue.svg" width="40px" /> Table des matières
<aside>
<img src="/icons/chat_blue.svg" alt="/icons/chat_blue.svg" width="40px" /> 📢 Français
</aside>
</aside>

Une idée nommée Gramps2Notion
Gramps2Notion, ou plus exactement Gramps2Notion: Alimenter automatiquement GenPlx depuis Gramps, ou G2N, est l'idée que j'ai eu lorsque j'ai vu arriver quasiment au même moment l'API Notion et l'API Gramps. La question qui se pose alors est: Comment faire?
Que faut il faire dans Gramps pour que ça fonctionne? Et, que faut il faire dans Notion pour que ça fonctionne? Que faut-il faire entre les deux pour que ça fonctionne?
J'ai déjà un peu réfléchi à ce sujet, mes toutes premières réflexions qui sont surement à compléter étant:
- La database Notion Généalogie de Patrice Legoux (GenPlx) pourrait être alimentée automatiquement via un script en python du style de celui du Tuto d'accès à l'API @NotionHQ en Python
- Il pourrait s'appuyer sur l'API Gramps (Using database API - Gramps)
- Il faudrait que je rapatrie dans Gramps toutes les informations que j'ai mises dans GenPlx qui ne se trouvent pas déjà dans Gramps
- Il faudrait que je détermine un moyen normalisé de noter l'information dans Gramps afin de savoir ce que les API doivent chercher/publier
- Idée de workflow à programmer:
- mise à jour GenPlx;
- lire la base Notion
- comparer les infos à celles de Gramps
- les updater si elles ont évolué
- Nouveautés gramps à mettre dans GenPlx
- Intégration des deux:
- Quels champs Gramps à scruter?
- Quels champs de Notion a ajouter dans Gramps pour que Gramps dispose de champs pour suivre mes actions dans Notion, champs que le programme python scruterait dans un premier temps pour metre c'e qui a changé dans Notion, et quand l'API Gramps sera bidirectionnelle, mettre à jour Gramps si bottin change
Certaines de ces réflexions sont purement techniques:
D'autres sont plutôt de l'ordre de l'organisationnel dans ma pratique des deux outils:
- Normaliser l'information dans Gramps (dans le but de la trouver automatiquement et pouvoir l'importer dans Notion) → ‣
- Etre certain que je pars d'une base identique dans les deux outils (en rapatriant dans Gramps ce que j'ai pu mettre dans Notion qui ne s'y trouverait pas déjà)
- Concevoir le ou les workflows de mise à jour (n'exportant pas de données privées, exportant les données au moment où je le souhaite, etc)
Enfin, un bon nombre de ces réflexions sont encore à mener car en liant les deux logiciels, je vais me créer un Système d'Information auquel il va m'être nécessaire de réfléchir plus longuement. Par exemple:
- Que vais-je utiliser de l'un pour mettre dans l'autre ?
- Actuellement, l'API de Gramps ne permet que de lire sa base pas d'y écrire; qu'elles contraintes cela génère t'il ou quelles sont les fonctions que j'utilise dans ces deux outils que je ne peux alors pas implémenter ?
Que faut il faire dans Notion pour que ça fonctionne?
Dans un premier temps, je vais partir de Notion. En me posant quelques questions sur mes usages de cet outil et aussi en listant comment je l'ai utilisé jusqu'à ce jour, alors qu'il était autonome, maintenant que je veux le lier à Gramps et pourquoi pas d'autres outils disposants aussi d'une API.
Qu'est ce que je fais avec Notion que j'aimerai automatiser? Qu'est-ce qu'il est possible d'automatiser? Et parmi ce qui est possible que vais-je faire en priorité?
Qu'ai-je mis dans Notion que je ne trouve pas dans Gramps? Est-ce que je souhaite les maintenir séparés?
- Des biographies et des informations généalogiques → Les maintenir séparés: non
- Des fiches de recherches généalogiques → Les maintenir séparés: je ne sais pas
- Des actions liées aux événements, sources, personnes et autres objets Gramps traduites en projets de recherche dans Notion → Les maintenir séparés: probablement
Qu'elle implémentation j'ai faite de mes données généalogiques dans Notion? Où se trouvent elles? Dans quels champs? Parmi ces champs quels sont ceux avec lesquels on peut travailler avec l'API Notion (dans sa version actuelle seule une base de donnée et ses attributs sont manipulables, pas les blocs au sein d'une page de cette base) ?