Comment extraire ses highlights reMarkable et les envoyer sur Anki ? [prompts IA & github]

Sur Kindle, on peut exporter très facilement les passages surlignés mais ce n’est pas le cas sur reMarkable.

J’ai utilisé CODEX pour créer une interface web locale où je peux sélectionner mes fichiers (epub/PDF) reMarkable, extraire les highlights et les envoyer à Anki. Voici l’interface :

Vous pouvez voir qu’on peut :

  • exporter les highlights d’un document dans un deck ANKI
  • regrouper les highlights de plusieurs fichiers dans un deck ANKI
  • les highlights qui s’étalent sur plusieurs lignes sont regroupés et considérés comme un seul highlight

Le tout est exporté directement vers ANKI via Anki Connect. Il faut juste que l’app Anki soit installée et ouverte sur Windows. Ensuite, les decks seront synchronisés avec Ankiweb. Pour chaque carte, vous voyez le passage surligné en recto, et en verso, son contexte (une phrase avant, une phrase après).

Si le même fichier a de nouveaux highlights, les anciennes cartes ANKI ne seront pas supprimées, seuls les nouveaux highlights vont être ajoutés.

Le dépôt GitHub est dispo ici : https://github.com/tdm5c/remarkable-highlights-to-anki

Si vous ne voulez pas exporter les highlights vers ANKI, c’est possible aussi, il suffit juste de demander à CODEX de les exporter dans un fichier .html ou .txt ou vers Google Docs…(comme vous voulez). Je vais vous donner des exemples de prompts pour que vous puissiez vous amuser et créer votre outil.

Accès SSH

Pour récupérer les accès SSH à votre reMarkable, allumez votre reMarkable, activez le Wifi, et allez dans HELP => Copyrights and licenses, lisez les instructions, branchez le câble USB à l’ordinateur, autorisez l’accès SSH, et puis récupérez l’adresse MAC ainsi que le mot de passe.

Pour reMarkable Paper Pro, il faut activer le Developer Mode avant de faire tout ça. Le Developer Mode va faire un reset de la liseuse mais vous ne perdrez pas de documents, il faudra juste relier la liseuse au compte reMarkable pour récupérer les docs synchronisés.

Je suis désolée si je ne peux pas être plus claire, cet article s’adresse un peu aux geeks. Plus d’infos

Prompt 1 – Interface reMarkable vers Anki

Copiez-collez le bloc ci-dessous dans votre outil IA/développement. Les placeholders entre crochets servent à montrer où ces valeurs seront configurées localement.

Tu es un agent de developpement senior. Je veux que tu construises une interface web locale et un pipeline deterministe pour exporter mes highlights reMarkable vers Anki.

Contexte local a adapter
------------------------
- Dossier de travail: [CHEMIN PROJET LOCAL ICI]
- Interface web locale souhaitee: http://[ADRESSE IP LOCALE]:8787
- URL AnkiConnect: http://[ADRESSE IP ANKI CONNECT]:8765
- Add-on AnkiConnect: 2055492159
- reMarkable SSH user: root
- reMarkable SSH port: 22
- reMarkable MAC: a garder dans .env.local, pas dans le prompt
- Mot de passe SSH reMarkable: a garder dans .env.local, pas dans le prompt

Regles de securite
------------------
- Ne demande pas les vrais acces dans le prompt.
- Ne stocke jamais le mot de passe reMarkable dans le code source, le README ou les notes Markdown.
- Cree un fichier .env.local git-ignore pour les secrets locaux.
- Mets les vrais acces uniquement dans .env.local, par exemple:
  RM_REMARKABLE_MAC=[ADRESSE MAC ICI]
  RM_SSH_PASSWORD=[MOT DE PASSE SSH ICI]
  ANKI_CONNECT_URL=http://[ADRESSE IP ANKI CONNECT]:8765
- Ne modifie jamais les fichiers sur le reMarkable, sauf demande explicite.
- Utilise SSH uniquement pour lire/copier les donnees depuis le reMarkable.
- N'utilise pas d'OCR.
- N'utilise pas d'API IA ni de tokens IA pour extraire les highlights.
- L'extraction doit etre locale, deterministe et relancable.

Objectif fonctionnel
--------------------
Construire un outil local qui:
1. decouvre l'adresse IP actuelle du reMarkable a partir de RM_REMARKABLE_MAC, car DHCP peut changer l'IP;
2. liste les documents PDF/EPUB disponibles sur le reMarkable;
3. copie localement les fichiers necessaires;
4. extrait les highlights;
5. cree ou met a jour les cartes Anki via AnkiConnect;
6. synchronise AnkiWeb apres la mise a jour, sauf option de desactivation.

Extraction des highlights
-------------------------
- Une annotation continue sur plusieurs lignes ou pages doit devenir un seul highlight.
- Si du texte source non surligne se trouve entre deux fragments, ce sont deux highlights distincts.
- Preserve l'ordre document: ordre des pages, puis ordre d'apparition sur la page.
- Pour les PDF/EPUB, prefere le texte du document source quand disponible; utilise les donnees .rm comme ancres.
- Pour les EPUB copies depuis reMarkable, prefere le PDF sidecar rendu pour l'alignement, car les pages .rm correspondent a cette pagination.
- La citation/front ne doit jamais etre etendue pour completer un mot ou une phrase.
- Le verso peut contenir du contexte: exactement une phrase precedente non-titre + phrase contenant le highlight avec le highlight en gras + exactement une phrase suivante non-titre.

Integration Anki
----------------
- Par defaut, cree un deck Anki par document reMarkable, nomme exactement comme le document.
- Cree une carte Anki par highlight.
- Recto: citation/highlight exact.
- Verso: highlight en contexte quand disponible.
- Utilise des IDs stables pour que les reruns mettent a jour les notes existantes et ajoutent seulement les nouveaux highlights.
- Supprime les notes Anki obsoletes pour le meme UUID de document quand l'ensemble stable de highlights change.
- Apres sync locale Anki, repositionne seulement les nouvelles cartes dans l'ordre d'apparition du document.
- Ne modifie pas la planification des cartes deja revues/apprises.
- Si AnkiConnect est inaccessible, demarre Anki Desktop automatiquement et attends que la collection soit disponible.
- Apres mise a jour locale Anki, lance AnkiWeb sync automatiquement, sauf option --no-sync-ankiweb.
- Pour les gros documents, utilise des appels AnkiConnect par lots afin d'eviter les blocages.

Interface web locale
--------------------
Construis une interface web locale simple et efficace:
- affichage par defaut: les 10 derniers documents PDF/EPUB;
- choix 10/20/30/tous;
- recherche uniquement sur Entree ou clic sur la loupe, pas a chaque frappe;
- bouton Actualiser qui relance la detection/liste et les retries SSH;
- si le reMarkable est en veille, affiche un message clair demandant de reveiller la tablette puis de reessayer;
- tri: recent, nom A-Z, nom Z-A, PDF d'abord, EPUB d'abord;
- multi-selection de documents;
- bouton "Tout selectionner";
- les documents selectionnes doivent rester visibles/pinnes meme si une recherche ou un tri les masquerait;
- l'export multi-documents doit suivre l'ordre actuellement affiche, pas l'ordre des clics;
- option supplementaire "Deck unique" disponible seulement si plusieurs fichiers sont selectionnes;
- si "Deck unique" est active, envoyer tous les highlights selectionnes dans un meme deck Anki dont le nom est configurable;
- sinon garder un deck par document;
- afficher les etapes de l'export en direct;
- afficher les erreurs et le journal en direct dans l'interface, sans rester bloque sur "running";
- en cas d'erreur, marquer le document courant comme error et afficher le message exploitable.

CLI attendue
------------
Prevois aussi une CLI:
- --list pour lister les documents;
- --document pour exporter un document precis;
- --all pour exporter tous les documents PDF/EPUB avec highlights;
- --no-anki pour tester sans modifier Anki;
- --no-sync-ankiweb pour desactiver la sync AnkiWeb;
- --single-deck et --single-deck-name pour exporter plusieurs documents dans un seul deck;
- --host pour forcer une IP reMarkable si necessaire;
- --mac pour forcer une MAC;
- --no-discover pour ne pas faire la detection par MAC.

Livrables attendus
------------------
- Code source complet.
- README avec commandes d'installation et d'utilisation.
- Fichier de notes projet Markdown expliquant les decisions et limites.
- .gitignore qui exclut .env.local, caches, exports temporaires et secrets.
- Interface web locale lancee sur http://[ADRESSE IP LOCALE]:8787.
- Tests ou checks minimaux montrant que:
  - l'extraction ne depend pas d'OCR;
  - les highlights restent dans l'ordre;
  - les reruns ne dupliquent pas les cartes;
  - les erreurs web sont visibles dans l'interface.

Contraintes importantes
-----------------------
- Ne jamais afficher mes secrets dans les logs, README ou reponses finales.
- Si un secret est necessaire, utilise un placeholder ou une variable d'environnement.
- Garde l'outil local, reproductible et comprehensible.
- Avant de terminer, verifie la syntaxe, lance les tests disponibles, puis donne les commandes exactes pour demarrer l'interface.

Prompt 2 – Extraction reMarkable vers fichiers TXT

Copiez-collez le bloc ci-dessous dans votre outil IA/developpement. Les placeholders entre crochets servent à montrer où ces valeurs seront configurées localement.

Tu es un agent de developpement senior. Je veux que tu construises une interface web locale et un pipeline deterministe pour extraire mes highlights reMarkable et les enregistrer dans des fichiers .txt. Je ne veux pas d'export Anki dans cette version.

Contexte local a adapter
------------------------
- Dossier de travail: [CHEMIN PROJET LOCAL ICI]
- Interface web locale souhaitee: http://[ADRESSE IP LOCALE]:8787
- reMarkable SSH user: root
- reMarkable SSH port: 22
- reMarkable MAC: a garder dans .env.local, pas dans le prompt
- Mot de passe SSH reMarkable: a garder dans .env.local, pas dans le prompt

Regles de securite
------------------
- Ne demande pas les vrais acces dans le prompt.
- Ne stocke jamais le mot de passe reMarkable dans le code source, le README ou les notes Markdown.
- Cree un fichier .env.local git-ignore pour les secrets locaux.
- Mets les vrais acces uniquement dans .env.local, par exemple:
RM_REMARKABLE_MAC=[ADRESSE MAC ICI]
RM_SSH_PASSWORD=[MOT DE PASSE SSH ICI]
- Ne modifie jamais les fichiers sur le reMarkable, sauf demande explicite.
- Utilise SSH uniquement pour lire/copier les donnees depuis le reMarkable.
- N'utilise pas d'OCR.
- N'utilise pas d'API IA ni de tokens IA pour extraire les highlights.
- L'extraction doit etre locale, deterministe et relancable.
- Ne jamais afficher mes secrets dans les logs, README ou reponses finales.

Objectif fonctionnel
--------------------
Construire un outil local qui:
1. decouvre l'adresse IP actuelle du reMarkable a partir de RM_REMARKABLE_MAC, car DHCP peut changer l'IP;
2. liste les documents PDF/EPUB disponibles sur le reMarkable;
3. copie localement les fichiers necessaires;
4. extrait les highlights;
5. ecrit les resultats dans des fichiers .txt locaux.

Extraction des highlights
-------------------------
- Une annotation continue sur plusieurs lignes ou pages doit devenir un seul highlight.
- Si du texte source non surligne se trouve entre deux fragments, ce sont deux highlights distincts.
- Preserve l'ordre document: ordre des pages, puis ordre d'apparition sur la page.
- Pour les PDF/EPUB, prefere le texte du document source quand disponible; utilise les donnees .rm comme ancres.
- Pour les EPUB copies depuis reMarkable, prefere le PDF sidecar rendu pour l'alignement, car les pages .rm correspondent a cette pagination.
- La citation extraite ne doit jamais etre etendue pour completer un mot ou une phrase.
- Ne deduis pas du texte avec une IA. Si un alignement echoue, signale-le clairement dans le journal.

Format des sorties .txt
-----------------------
Ecris un fichier .txt par document dans un dossier local, par exemple:
exports/remarkable_txt/[NOM_DU_DOCUMENT].txt

Chaque fichier doit contenir:
- titre du document;
- UUID du document si disponible;
- date d'export locale;
- nombre total de highlights;
- liste des highlights dans l'ordre du document.

Format conseille pour chaque highlight:

---
Highlight 001
Page: [PAGE SI DISPONIBLE]
Texte:
[TEXTE EXACT DU HIGHLIGHT]
---


Interface web locale
--------------------
Construis une interface web locale simple et efficace:
- affichage par defaut: les 10 derniers documents PDF/EPUB;
- choix 10/20/30/tous;
- recherche uniquement sur Entree ou clic sur la loupe, pas a chaque frappe;
- bouton Actualiser qui relance la detection/liste et les retries SSH;
- si le reMarkable est en veille, affiche un message clair demandant de reveiller la tablette puis de reessayer;
- tri: recent, nom A-Z, nom Z-A, PDF d'abord, EPUB d'abord;
- multi-selection de documents;
- bouton "Tout selectionner";
- les documents selectionnes doivent rester visibles/pinnes meme si une recherche ou un tri les masquerait;
- l'export multi-documents doit suivre l'ordre actuellement affiche, pas l'ordre des clics;
- bouton "Exporter en TXT";
- afficher le chemin des fichiers .txt produits;
- afficher les etapes de l'export en direct;
- afficher les erreurs et le journal en direct dans l'interface, sans rester bloque sur "running";
- en cas d'erreur, marquer le document courant comme error et afficher le message exploitable.

CLI attendue
------------
Prevois aussi une CLI:
- --list pour lister les documents;
- --document pour exporter un document precis;
- --all pour exporter tous les documents PDF/EPUB avec highlights;
- --output-dir pour choisir le dossier de sortie .txt;
- --host pour forcer une IP reMarkable si necessaire;
- --mac pour forcer une MAC;
- --no-discover pour ne pas faire la detection par MAC.

Livrables attendus
------------------
- Code source complet.
- README avec commandes d'installation et d'utilisation.
- Fichier de notes projet Markdown expliquant les decisions et limites.
- .gitignore qui exclut .env.local, caches, exports temporaires et secrets.
- Interface web locale lancee sur http://[ADRESSE IP LOCALE]:8787.
- Tests ou checks minimaux montrant que:
- l'extraction ne depend pas d'OCR;
- les highlights restent dans l'ordre;
- les fichiers .txt sont recreables sans doublons;
- les erreurs web sont visibles dans l'interface.

Contraintes importantes
-----------------------
- Ne jamais afficher mes secrets.
- Si un secret est necessaire, utilise un placeholder ou une variable d'environnement.
- Garde l'outil local, reproductible et comprehensible.
- Avant de terminer, verifie la syntaxe, lance les tests disponibles, puis donne les commandes exactes pour demarrer l'interface et exporter les fichiers .txt.

[Réflexion] #40 : Pourquoi Augmenter son Seuil de Risque est la clé de la Liberté ?
Déjà 3 mois à Tahiti ! (Polynésie Française)
    Anh

    Anh est franco-vietnamienne et a vécu dans de nombreux pays (Russie, Australie, France, Norvège, Vietnam). Elle aime par dessus tout les chats, le DIY et la bonne cuisine. Ayant une très bonne mémoire, Anh est capable de vous donner le tarif du petit bus pris entre le Chili et la Bolivie qu'elle a pris il y a 3 ans.

    Tous Mes Articles
    Write a comment

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.