Sioyek, un visualiseur PDF spécialisé pour les manuels et les articles de recherche
(github.com/ahrm)- Sioyek est un visualiseur PDF conçu pour la lecture de manuels et d’articles de recherche, avec des fonctions pour retrouver rapidement les fichiers déjà ouverts et naviguer dans la structure d’un article
- Même dans les PDF sans liens, il permet de sauter vers les figures et références bibliographiques, et prend en charge la recherche des références sur Google Scholar ou Libgen
- L’outil est centré sur les fonctions de navigation utiles à la lecture de longs documents : recherche dans la table des matières, aperçu rapide, marks, signets et recherche dans les surlignages
- Les utilisateurs de plusieurs moniteurs peuvent relier la position du texte et celle d’une figure avec les Portals, et afficher automatiquement la destination du portail le plus proche dans une fenêtre séparée
- Des installateurs officiels sont proposés pour Windows, macOS et Linux, ainsi que Homebrew Cask et des paquets tiers pour plusieurs distributions Linux ; la compilation de la branche de développement nécessite Qt 6.7 ou 6.8
Vue d’ensemble du projet
- Sioyek est un visualiseur PDF axé sur les manuels et les articles de recherche
- La documentation officielle est disponible sur Sioyek documentation
- Une vidéo de présentation des fonctions et un tutoriel plus détaillé sont proposés
Installation
- Les installateurs officiels pour Windows, macOS et Linux sont disponibles sur la page Releases
- Sur macOS, l’installation peut se faire via Homebrew Cask
brew install --cask sioyek
- Des paquets tiers pour Linux sont également proposés, mais ils étant fournis par des packageurs tiers, leur utilisation se fait aux risques de l’utilisateur
Fonctions de navigation dans les documents
- Quick Open permet de rechercher rapidement et d’ouvrir les fichiers avec lesquels Sioyek a déjà interagi
- La fonction Table of Contents permet de rechercher des entrées de la table des matières et d’accéder à leur emplacement
- Smart Jump permet d’aller vers une figure référencée ou une entrée bibliographique même si le fichier PDF ne fournit pas de liens
- Un clic central ou
Shift+clic central sur le nom d’une référence permet de la rechercher sur Google Scholar ou Libgen
- Un clic central ou
- Overview permet d’ouvrir un aperçu rapide en cliquant avec le bouton droit sur des figures, références, tableaux, etc.
- Comme Smart Jump, cela fonctionne même si le document ne fournit pas de liens
Fonctions d’aide à la lecture de longs documents
- Mark permet d’enregistrer une position nommée dans un PDF et d’y revenir rapidement plus tard via ce nom
- Chaque mark porte un nom d’un seul caractère, comme
aoum - Les marks en minuscules sont locaux au document, tandis que les majuscules sont globales
- Le fonctionnement sera familier aux utilisateurs de Vim
- Chaque mark porte un nom d’un seul caractère, comme
- Bookmarks sont similaires aux marks, mais utilisent des noms sous forme de chaînes de texte et sont tous globaux
- Highlights permettent de marquer du texte avec plusieurs types de surlignage et de rechercher dans l’ensemble des surlignages
- Portals permettent de relier le paragraphe actuel à un emplacement éloigné, comme une figure
- La destination du portail le plus proche est affichée dans une fenêtre séparée
- Cette fenêtre est généralement placée sur un deuxième moniteur
- Quand l’utilisateur navigue dans le document, elle se met automatiquement à jour vers la destination du portail le plus proche
Configuration et compilation
- Configuration permet de personnaliser tous les raccourcis clavier et certains éléments de l’interface en modifiant
keys_user.configetprefs_user.config- Les paramètres par défaut se trouvent dans
keys.configetprefs.config
- Les paramètres par défaut se trouvent dans
- Lors de la compilation de la branche de développement, si une erreur de compilation avec Qt 5.* survient, il faut utiliser Qt 6.7 ou 6.8
- Si le message
"sioyek is damaged and cannot be opened. It is recommended to eject the image."apparaît sur macOS, il s’agit d’un problème lié à la quarantaine de macOS, avec une discussion associée indiquée - Pour la compilation sous Linux, des commandes pour Fedora et une procédure générale pour les autres distributions sont fournies
- Une procédure testée sur Fedora Workstation 36 est incluse
- La procédure générale indique d’installer Qt 5,
qmakeetlibharfbuzz, puis d’exécuter./build_linux.sh
- La compilation sous Windows a été testée avec Visual Studio 2019, et des versions relativement récentes peuvent également fonctionner
- Après avoir préparé Qt 5 et
qmake, il faut exécuterbuild_windows.batdans l’invite de commandes développeur Visual Studio 64 bits
- Après avoir préparé Qt 5 et
- Pour la compilation sur Mac, la procédure indique d’installer Xcode et Qt6, d’exécuter
build_mac.sh, puis de déplacer lesioyek.appcompilé vers/Applications/avant d’effectuer la signature de code
1 commentaires
Avis de Hacker News
J’ai tellement aimé que je l’ai installé avant même d’avoir fini de lire la liste des fonctionnalités, mais des améliorations semblent nécessaires, par exemple l’affichage sur 2 pages
L’interface de commande au clavier est excellente, mais l’absence de commandes de menu est regrettable. J’ai aussi trouvé étrange qu’il n’y ait aucun moyen de rouvrir l’aide dans le programme. Elle apparaît au premier lancement, mais disparaît lorsqu’on ouvre un fichier, si bien que j’ai fini par devoir aller sur la page de documentation du site web
Cela dit, il y a tellement de bonnes fonctionnalités optimisées pour la recherche que ces désagréments valent la peine d’être acceptés
:, on peut ouvrir la palette de commandes et rechercher des commandes et des raccourcis clavierJe travaille à mieux intégrer le contenu que je lis avec mes notes. J’essaie de regrouper les endroits où une idée est développée ou réfutée dans la littérature, et de collecter aussi les bonnes idées
Cahier, que je développe (https://getcahier.com), permet de créer des cartes faisant référence à des passages précis des PDF lus
Il est intéressant de voir les progrès réalisés dans ce domaine ces dernières années
Au final, on se retrouve avec plusieurs silos : les articles enfermés dans Zotero, les notes enfermées dans Obsidian. Cahier semble clairement aller dans la bonne direction en considérant la gestion des connaissances comme un workflow intégré allant de la lecture à la prise de notes, à leur organisation, puis à la génération de nouvelles intuitions et à l’écriture
Je crains toutefois que certaines parties ne reviennent à réinventer la roue. Par exemple, je me demande s’il est prévu d’intégrer aussi des fonctions comme le collecteur web intégré de Zotero. Ce serait un travail énorme, mais sans cela il sera difficile de remplacer complètement Zotero comme solution de gestion bibliographique. Je suis curieux de connaître la feuille de route, le périmètre fonctionnel final et le workflow utilisateur
Je lis et annote généralement les articles sur iPad, et j’apprécie que les surlignages et les notes soient synchronisés pour pouvoir les consulter directement quand j’écris sur mon MacBook ou mon PC Windows
En revanche, Cahier semble bien meilleur comme solution de prise de notes. Parfois, je me dis que ce serait bien de pouvoir combiner plusieurs logiciels pour créer l’outil qui convient exactement à chacun
Cela fait quelques années que je n’ai pas examiné sérieusement le sujet pour mon usage personnel, mais à l’époque j’avais été assez déçu par les options disponibles. Pour lire ou organiser des PDF, Zotero et org-noter faisaient partie des meilleures solutions, chacune d’une façon totalement différente
J’ai aussi utilisé OneNote pendant un an et je l’aimais bien sur le moment, mais comme il n’aide pas à explorer, découvrir et réviser l’information, il était difficile de tenir pour la construction d’une base de connaissances ou une revue de littérature
Je pense que les logiciels permettant de lire et de relier des informations documentaires, que ce soit sous forme de PDF, HTML, vidéo ou autre, peuvent devenir bien meilleurs que ceux que nous utilisons au quotidien aujourd’hui
Sinon, le travail d’aujourd’hui disparaît. Je me demande ce qui se passerait si le développement de Cahier s’arrêtait un jour, ou si je devais passer à un autre système
J’utilise cette appli tout le temps. C’est une bonne appli. Certaines fonctionnalités, comme le saut vers les citations, existent aussi dans l’extension Google Scholar pour Chrome, mais l’idée de rendre l’appli pilotable comme Vim est vraiment bonne
Avant Sioyek, j’avais configuré avec Karabiner des touches Vim comme
j/kdans Preview sur macOS pour me déplacer, mais c’était laborieux et il manquait beaucoup des fonctionnalités offertes par Sioyek. J’utilise aussi une couleur de fond solarized pour les PDF afin de réduire la fatigue visuelle, et cette appli prend en charge le mode nuit même pour les graphiques à l’intérieur des PDFJ’ai aussi quelques reproches. Il existe une extension pour afficher les PDF côte à côte dans deux panneaux en colonnes, mais elle modifie le fichier PDF lui-même. L’installation des plugins est globalement difficile ; j’ai trouvé une solution de contournement et l’ai signalée, mais je ne sais pas si cela a été pris en compte pour améliorer l’appli. Le fichier de configuration semble être enregistré dans le répertoire Applications de l’appli, alors que ce serait mieux s’il était dans
~/.config. La fonction d’ouverture rapide de fichiers depuis un répertoire ne fonctionne pas avec les drives cloud, y compris iCloudCôté plugins, la branche de développement prend désormais en charge des extensions JavaScript natives. Comme elle utilise le moteur JavaScript interne de Qt, il n’y a pas de dépendances externes et ce devrait être beaucoup plus facile à gérer
Je crois aussi que, dans la branche de développement, les fichiers de configuration peuvent utiliser
~/.config, mais je n’en suis pas sûr à 100 %Je n’arrive vraiment pas à retenir le nom
sioyek, alors j’en ai fait un alias dexpdfJ’ai essayé une approche plus collaborative pour lire et discuter des articles de recherche. Sur https://www.scholars.io ou https://app.scholars.io, les gens peuvent annoter des travaux de recherche, commenter et collaborer
Je me demande si la fonction de table des matières fonctionne même lorsqu’un PDF n’en contient pas. C’est une fonctionnalité que j’ai toujours voulu voir prise en charge par les lecteurs PDF.
Pour les articles de recherche, cela fonctionne plutôt bien ; il lui arrive seulement de manquer quelques sections ou d’ajouter des éléments parasites. Pour les manuels, surtout ceux avec beaucoup de mise en page mathématique, il y avait souvent trop d’éléments inutiles ou d’omissions.
Quand on n’a besoin que d’un article ou d’une partie d’un manuel, la table des matières générée automatiquement et les signets suffisent généralement. Sinon, je préfère créer une table des matières exacte de façon semi-manuelle avec pdf.tocgen (https://github.com/Krasjet/pdf.tocgen).
Si le fichier n’a pas de table des matières et que l’option est activée, il en génère une par méthode heuristique.
max_created_toc_sizepermet d’éviter la création de tables des matières trop volumineuses.https://sioyek-documentation.readthedocs.io/en/latest/config...
Je pense qu’il vaudrait mieux faire pointer le lien vers le site web.
Comme contournement simple pour la fonction permettant de faire l’aller-retour entre deux pages, facile avec un livre papier mais difficile sur ordinateur, j’ouvre le PDF deux fois si le logiciel autorise deux instances.
S’il est trop malin pour permettre ça, je copie le PDF, j’ouvre la deuxième copie, je fais défiler les deux à des positions différentes, puis je passe de l’un à l’autre avec
alt-tab.Sur téléphone, on peut utiliser Acrobat Reader et Koreader en même temps.
Sioyek a de bonnes fonctionnalités, mais il était assez bogué. Corriger les bugs et écrire des tests peut demander beaucoup d’efforts.
C’est un peu à côté, mais je me demande si quelqu’un connaît un bon lecteur PDF avec une recherche basée sur les LLM intégrée. Ce serait bien si, en cherchant « cities in USA » dans un document, il affichait toutes les occurrences comme New York, Los Angeles, Chicago, par exemple.
Ce serait bien que ce lecteur s’intègre à Zotero. Cela semble aussi possible sous forme de plugin.
J’aimais assez Sioyek, un peu comme un Zathura plus riche en fonctionnalités, mais deux choses m’ont empêché d’en faire mon lecteur PDF par défaut.
Premièrement, impossible d’ouvrir plusieurs PDF en même temps. Si un PDF est déjà ouvert et que j’essaie d’en ouvrir un second, les deux instances plantent.
Deuxièmement, les annotations sont enregistrées dans un document séparé, et non dans le PDF lui-même.
D’autres utilisateurs ont déjà mentionné les deux. Je n’ai pas trouvé de solution simple au point 1 ; pour le point 2, il existe une solution partielle via une extension, mais dans mon souvenir il fallait toujours exécuter manuellement une commande pour transférer les annotations dans le document PDF lui-même.
Idéalement, comme avec Zotero et l’extension mentionnée, il faudrait proposer les deux options, mais je préfère garder une copie propre du PDF que je peux partager avec d’autres, donc les annotations séparées me conviennent mieux.
De plus, chaque lecteur PDF qui prend actuellement en charge les annotations les gère à sa manière, et les programmes distinguent mal les surlignages ou notes créés par d’autres programmes du contenu d’origine.
Cela dit, Zotero et quelques lecteurs ont commencé à utiliser le Web Annotation Data Model (https://www.w3.org/TR/annotation-model/) comme mécanisme universel de stockage des annotations. J’espère qu’un jour je pourrai voir et modifier dans KOReader, sur liseuse, les surlignages et notes créés avec Sioyek, puis envoyer le fichier d’annotations à un collègue utilisant Zotero ou Obsidian/PMK avec une copie séparée du même PDF. C’est encore très précoce, mais c’est en cours. https://hypothes.is fonctionne aussi un peu comme ça.
En définissant
should_launch_new_instancesur 1, j’ai pu ouvrir plusieurs PDF en même temps dans Sioyek, mais seulement en ouvrant les PDF après le premier depuis le terminal. Si je les ouvre depuis Sioyek ou dmenu, le PDF déjà ouvert est remplacé. En tout cas, je n’ai jamais rencontré de plantage. J’utilise dwm sous Debian.Pour le point 2, je pense que c’est souhaitable.
new-windowou passer l’option de ligne de commande--new-window.Si cela plante, merci d’ouvrir une issue GitHub.