# Kobo hacks & mods

Un petit billet pour recenser toute ce que je trouve pertinents comme modifications software (dictionnaires custom, patch de firmware, logiciels tiers à installer, etc.) pour les liseuses Kobo

## Un meilleur dictionnaire 

S'il y a un seul truc à changer sur votre liseuse, c'est certainement celui-ci

On va pas se mentir, les dictionnaires fournis de base pas Kobo sont très limités
Personellement, quasiment chaque fois que je cherche un mot (j'ai un vocabulaire assez développé, parce que j'ai grave nerdé les dictionnaires enfant et ado), c'est soit du jargon chelou, soit un mot inusité ; résultat le dictionnaire francophone inclu ne me répond jamais autre chose que "je connais pas non plu, déso"

Heureusement, un hacker assez déter, Mickaël Schoentgen, a eu le meme problème que moi et a fait autre chose que chouiner (cependant je ne sais pas s'il a aussi chouiné)
=> https://www.tiger-222.fr/?d=2020/04/17/22/14/21-un-dictionnaire-alternatif-et-complet-pour-votre-kobo Il a tout expliqué dans un beau billet sur son blog, que je vous invite à lire :)

=> https://fr.wiktionary.org/ Il s'est basé sur la gigantesque (!!) base de donnée du Wiktionnaire
Cette base de donnée et bénévole et ouverte, et compte actuellement 1 814 584 mots francophones, ce qui est super impressionnant !
Le français est la langue la plusse documentée de toutes dans le wiktionnaire :
- anglais : 732 844 mots
- allemand : 805 282 mots
- espagnol : 745 243 mots
- italien : 53 077 mots
- portugais : 60 722 mots

Pour rester dans les dictionnaires francophones (dont j'ai trouvé des chiffres sur leur site) :
=> https://www.larousse.fr/dictionnaires/francais-monolingue le Larousse : 135 000 mots
=> https://www.littre.org/statistiques le Littré : 78 600 mots

En bref, si vous etes francophones, c'est le dictionnaire le plus complet existant dans le monde, et n'importe qui est libre de le télécharger et l'utiliser gratuitement

Vous pouvez télécharger les différents dictionnaires basés sur le Wiktionnaire à ces adresses (prenez le fichier intitulé "Kobo") :
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/fr Français
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/ca Catalan
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/de Allemand
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/en Anglais
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/es Espagnol
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/el Grec
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/it Italien
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/no Norvégien
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/pt Portugais
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/ru Russe
=> https://github.com/BoboTiG/ebook-reader-dict/releases/tag/sv Suédois

Enregistrez simplement un ou plusieurs de ces dictionnaires dans le dossier '.kobo/custom-dict' (que vous devrez peut-etre créer pour l'occasion) de votre liseuse
Vous aurez besoin de redémarrer votre liseuse afin qu'elle prenne en compte ces nouveaux fichiers
Ensuite dans l'interface de votre liseuse, lorsque vous cherchez une définition dans le dictionnaire, basculez de "français" (le dictionnaire francophone de base) à "français - français" (ou l'équivalent pour les autres langues) afin d'utiliser vos nouveaux dictionnaires

## Plato & KOReader

Plato et KOReader sont deux logiciels gratuits et open source que vous pouvez installer sur votre liseuses, qui serviront d'interface de lecture alternatives
Ceux-ci ont chacun une interface complètement différente et une manière différente d'interpréter vos livres numériques

Ma petite préférence va à Plato, qui est cependant moins connu que KOReader

=> https://github.com/baskerville/plato Plato
=> http://koreader.rocks/ KOReader

Il existe des packages qui vous permettent d'installer l'un ou l'autre ou les deux très simplement, il s'agit de simples fichiers compressés à décompresser dans votre liseuse, à la racine
=> https://www.mobileread.com/forums/showthread.php?t=314220 One-Click Install Packages for KOReader & Plato par NiLuJe
Ces fichiers compressés sont mis à jour à chaque nouvelle version de Plato, Koreader ou d'une des dépendances,KFMon ou NickelMenu (NickelMenu, dont nous causerons un peu plus tard)

Je vous conseille une manipulation supplémentaire afin d'éviter que Nickel (le logiciel interface par défaut de Kobo) n'affiche plein de fichiers inutilement
Rendez-vous dans le dossier ".kobo/Kobo" de votre liseuse et éditez le fichier "Kobo eReader.conf" afin d'y ajouter les lignes suivantes à la toute fin :
```
[FeatureSettings]
ExcludeSyncFolders=(\\.(?!kobo|adobe).+|([^.][^/]*/)+\\..+)
```

Une fois l'archive de votre choix décompressée dans votre liseuse et celle-ci éjectée (proprement) de votre ordinateur, elle devrait redémarrer automatiquement afin d'appliquer la mise à jour permettant l'installation des dépendances qui seront utiles pour lancer votre ou vos interfaces personnalisées depuis l'interface par défaut

Lorsque votre liseuse aura redémarrée, un nouveau menu sera affiché en bas de l'interface, c'est NickelMenu
NickelMenu permet de lancer diverses actions sur votre liseuse, telles que démarrer Plato ou KOReader, mais aussi accéder au navigateur intégré, éteindre ou redémarrer facilement votre liseuse, activer ou désactiver la fonction screeshots (qui permet de capturer l'image à l'écran en appuyant sur le bouton de veille de la machine), ou des scripts arbitraires
=> https://github.com/pgaskin/NickelMenu/blob/master/res/doc La documentation complète de NickelMenu est accessible ici (en anglais)
(Je vous expliquerai quelques bases et vous donnerai quelques configurations que j'utilise plu loin dans cette page)

=> NickelMenu.jpg NickelMenu affiché sur l'écran de ma liseuse (98 ko)

Une fois NickelMenu ouvert (en appuyant dessus) vous pouvez selectionner Plato ou Koreader pour les démarrer
Une fois dans l'une de ces interfaces, si vous voulez revenir à Nickel (linterface par défaut), procédez comme suit :
- Plato : toucher l'icone de menu "hamburger" (les 3 lignes supperposées) en haut à droite, puis selectionner "Quit"
- KOReader : toucher l'inscription "KOReader en haut de l'écran au milieu, puis "Exit" et encore "Exit"

### Dictionnaires pour Plato & KOReader

Les dictionnaires que vous avez peut etre installé plus tot ne sont pas compatibles avec Plato ou KOReader, qui utilisent un autre format
Je vais donc vous expliquer comment installer ces meme dictionnaires pour Plato et KOReader

Vous devez télécharger le fichier "StarDict (dict-fr-fr.zip)" (dans le cas du français) que vous trouverez au meme endroit que les dictionnaires présentés précédemment

Puis rendez-vous dans le dossier '.adds/plato/dictionaries/' (pour Plato) ou '.adds/koreader/data/dict/' (pour KOReader) et créez un dossier avec un nom arbitraire tel que "fr" (afin d'avoir la possibilité d'en installer plusieurs) puis décompressez le fichier dedans

Vous pouvez désormais éjecter votre liseuse et lancer Plato ou Koreader
Notez que le premier lancement peut etre long en raison du traitement du dictionnaire

## NickelMenu

Comme vu plus haut, NickelMenu est un menu additionnel présent sur l'écran d'accueil de votre liseuse
Mais il est aussi capable d'ajouter des options dans divers autres menus :
- l'interface de lecture
- l'explorateur de livres (ou vos livres sont listés)
- le navigateur Web

Les fichiers de configuration de NickelMenu sont situés dans le dossier '.adds/nm/'
Je vous conseille de ne jamais toucher aux fichiers "kfmon", "plato" et "koreader", puisqu'il seront systématiquement remplacés à chaque mise à jour du package d'installation de Plato et Koreader

Sinon, vous pouvez créer des fichiers aux noms arbitraires comme vous le voulez, tant que vous n'interférez pas avec les fichiers listés ci-dessus
Vous pouvez soit faire un gros fichier avec toutes vos configurations personnalisées, soit plusieurs petits fichiers distincts

Je vous donne à présent des configurations que je trouve interessantes :

### Éteindre ou redémarrer la liseuse

```
menu_item :main :Éteindre :power :shutdown
menu_item :main :Redémarrer :power :reboot
```
(Notez que le 3ème mot (ici "Éteindre" et "Redémarrer" sera à chaque fois un nom arbitraire qui s'affichera dans les menus, vous pouvez le personnaliser)

### Ouvrir et fermer le navigateur Web

```
menu_item :main :Web :nickel_browser :
menu_item :browser :Quitter :nickel_misc :home
```
(Conservez toujours la seconde ligne, car sans elle vous serez bloqué-e dans le navigateur et devrez impérativement redémarrer la liseuse pour le quitter)

### Ouvrir Pocket

```
menu_item :main :Pocket :nickel_open :library :pocket
menu_item :reader :Pocket :nickel_open :library :pocket
```

### Mode sombre / mode nuit

Pour celui-ci il y a 2 méthodes, la première inverse la couleur de l'écran uniquement dans les interfaces de lecture mais pas ailleurs, tandis que la seconde inverse partout mais nécessite un redémarrage de la liseuse

```
menu_item :main :Mode nuit :nickel_setting :toggle :dark_mode
menu_item :reader :Mode nuit :nickel_setting :toggle :dark_mode
```

```
menu_item :main :Inverser écran :nickel_setting :toggle :invert
    chain_success:power:reboot
menu_item :reader :Inverser écran :nickel_setting :toggle :invert
    chain_success:power:reboot
```

### Forcer la connexion USB

Cette option vous permet de relancer l'invitation à la connexion USB sans avoir à débrancher et rebrancher votre cable USB

menu_item :main :USB :nickel_misc :force_usb_connection

### Captures d'écran

Permet d'activer et désactiver le mode de capture d'écran
Une fois activé, chaque fois que vous appuierez sur le bouton "Power" de la liseuse une capture d'écran sera facilement
Attention à bien penser à désactiver ce mode une fois vos captures réalisées, car si vous n'avez pas d'étui qui sort la liseuse de veille lorsque vous l'ouvrez, vous ne pourrez plu la sortir de veille
Une façon de contourner ce problème serait de brancher la liseuse en USB afin de la réveiller
Quoi qu'il en soit, pensez-y

menu_item :main :Screenshots :nickel_setting :toggle :screenshots
menu_item :reader :Screenshots :nickel_setting :toggle :screenshots

### Lancer un scan manuel de vos livres

Parfois Nickel ne relance pas de scan après l'import de vos livres, cette option permet de forcer ce scan

menu_item :main :Rescan :nickel_misc :rescan_books_full

## Plugins Calibre

Afin de gérer votre bibliothèque numérique, il est courant d'utiliser le logiciel Calibre
=> https://calibre-ebook.com/fr Télécharger Calibre 

Je vais vous conseiller quelques plugins afin d'améliorer l'usage de Calibre avec votre liseuse Kobo

Pour les installer vous devrez vous rendre dans le menu "Préférences" (via la petite flèche située juste à coté) puis "Obtenir des extensions pour améliorer Calibre"

### KePub

Le format KePub est un format de livre électroniques similaire à l'ePub mais développé par Kobo afin de proposer des fonctionnalités et des améliorations pour la lecture sur ses liseuses

=> https://pgaskin.net/KePubify/ Selon le site KePubify, les fonctionnalités du format KePub sont les suivantes :

- Performance : Tourner les pages, les changements de police, le surlignage et la recherche sont beaucoup plus réactifs sur les KePub.
- Prise en charge de l'ePub 3 : La mise en page fixe, l'étalement des pages, MathML, HTML5 et d'autres fonctionnalités ePub 3 ne sont prises en charge que par le lecteur KePub.
- Statistiques : Les KePub permettent d'obtenir des statistiques, notamment un graphique de chapitre et une estimation du temps de lecture.
- "Page Flip" : La fonction "Page Flip" [des marque pages, en gros], qui vous permet de parcourir rapidement les pages en appuyant sur le coin de l'écran, n'est disponible que sur les KePub.
- Notes de bas de page : Sur les KePub, les notes de bas de page apparaissent sous la forme d'une boîte de dialogue contextuelle lorsque le livre original le permet. [Au lieu de sur une autre page]
- Zoom sur une image : Appuyez sur une image pour l'agrandir et la déplacer dans une fenêtre contextuelle.
- Images de couverture : Kobo affiche correctement les images de couverture pour les KePub, contrairement aux ePub normaux qui se retrouvent souvent avec une affreuse marge blanche.
- Polices supplémentaires : À partir de la version 4.32.19501 du firmware, il est possible de sélectionner des polices de repli pour afficher les caractères manquants.

=> https://www.mobileread.com/forums/showthread.php?t=220565 KePub Output (permet l'export manuel d'un livre en KePub)
=> https://www.mobileread.com/forums/showthread.php?t=261009 KePub Metadata Reader (permet à Calibre de lire les métadonnées des fichiers KePub)
=> https://www.mobileread.com/forums/showthread.php?t=261010 KePub Metadata Writer (permet à Calibre d'écrire les métadonnées des fichiers KePub envoyés sur votre liseuse)

### KoboTouchExtended

> Ce plugin permet d'activer certaines fonctionnalités supplémentaires pour tous les appareils Kobo pris en charge par Calibre à partir du Kobo Touch.
> Les livres ePub traités avec ce plugin seront rendus à l'aide du moteur de rendu interne KePub de Kobo au lieu du moteur de rendu ePub standard.

Ce plugin permet notamment de convertir automatiquement vos ebooks au format KePub

Pour forcer cette conversion, vous pouvez décocher "epub" dans le menu "Périphérique" (via la petite flèche située juste à coté) puis "Configurer ce périphérique"
Je vous conseille de cocher uniquement "kepub", "pdf", "cbr" et "cbz" et laisser le reste décoché

=> https://www.mobileread.com/forums/showthread.php?t=211135 Kobo Touch Extended Driver

### Kobo Utilities

Ce plugin ajoute des fonctions supplémentaires à Calibre concernant les liseuses Kobo

Selon l'auteur du plugin, les principales fonctionnalités sont :

- Définir ou supprimer les paramètres de police pour des livres spécifiques.
- Désactiver les tuiles de l'écran d'accueil.
- Mettre à jour les métadonnées directement dans la base de données de l'appareil.
- Modifier l'état de la lecture.
- Gérer les informations de série pour les livres sur l'appareil. Ceci concerne principalement les livres qui ne sont pas dans la bibliothèque Calibre, y compris les KePub.
- Stocker et enregistrer la position de lecture actuelle pour les ePubs. Cette opération peut être effectuée manuellement ou automatiquement lorsque le lecteur Kobo est connecté. Les profils peuvent être utilisés pour gérer les positions de lecture de plusieurs appareils.
- Télécharger ou supprimer les couvertures de tous les livres de la bibliothèque. Cela inclut les KePub.
- Quelques options d'annotations dont je ne suis pas satisfait.
- Lister les livres manquants dans la base de données des appareils. Cela ne liste que les livres que Calibre pense devoir être dans la base de données.
- Sauvegarde de la base de données du périphérique.
- Exécuter un contrôle d'intégrité sur la base de données. Cela ne répare rien, mais cela vous indique si la base de données est correcte ou non.
- Nettoyer les étagères en double.
- Supprimer les fichiers d'annotations.
- Définir "Livres associés" pour les livres téléchargés sur la liseuse.

=> https://www.mobileread.com/forums/showthread.php?t=215339 Kobo Utilities

### De meilleurs métadonnées

Lorsque vous éditez les métadonnées d'un livre dans Calibre, le logiciel va chercher des informations sur plusieurs sources
Les plugins suivants ajoutent des sources

=> https://www.mobileread.com/forums/showthread.php?t=253838 Kobo Books

Kobo Books ira chercher dans la base de données de Kobo des métadonnées ainsi que des couvertures (d'excellentes qualité), comme Kobo a un très gros catalogue, ça fonctionne presque toujours et les données sont très bonnes

=> https://www.mobileread.com/forums/showthread.php?t=286970 Kindle High-res Covers

Kindle High-res Covers va chercher uniquement des couvertures dans la b&ase de donnée Kindle de Amazon, pour etre honnete, ce plugin rend pas souvent de couvertures, mais quand il le fait ça dépanne bien

## Pirates ! 🏴‍☠️ (ou non)

DeDRM_tools & Obok sont 2 outils qui permettent de casser des DRM variés pour le premier et d'importer vos livres achetés sur votre liseuse Kobo dans votre bibliothèque Calibre pour le second

=> https://github.com/noDRM/DeDRM_tools DeDRM_tools & Obok

Vu que ça touche tangantiellement au piratage, sachez que je ne vous recommande absolument pas d'y toucher, c'est pourquoi je vous donne les liens afin que vous sachiez que ça existe et de savoir les repérer afin de ne jamais vous y rendre et encore moins de les utiliser 😌

De la meme manière, je vous conseille de ne pas aller sur les sites suivants, qui regorgent de livres illégaux :
=> https://z-lib.org/ Z-Library
=> https://biat.ch/ Biat.ch (qui recense les torrents de yggtorrent mais sans quota)
=> https://nyaa.si/?f=0&c=3_0&q= nyaa.si 

Pour remplacer tout cela, je vous conseille le très sérieux site epagine.fr, qui indique clairement si un livre est "protégé" par un DRM, et si oui lequel :
=> https://www.epagine.fr/ Epagine

Ou sinon, 7switch.com, mais il y a moins de choix :
=> https://www.7switch.com/fr 7switch

En gratuit et légal je peux conseiller : 
=> https://openlibrary.org/ Open Library (par la Internet Archive)
=> https://fr.theanarchistlibrary.org/special/index Bibliothèque Anarchiste
=> https://www.gutenberg.org/browse/languages/fr Project Gutenberg
=> http://efele.net/ebooks/ ÉFÉLÉ
=> https://www.bibebook.com/ Bibebook

ou Standard Ebooks (mais c'est uniquement anglophone) :
=> https://standardebooks.org/ Standard Ebooks

## NickelSeries

NickelSeries débugue la fonctionnalité "Séries" qui permet de regrouper les livres d'une meme série ensemble. Quand on a plein de livres de séries, c'ets vraiment utile.

=> https://www.mobileread.com/forums/showthread.php?p=4013888 NickelSeries

Pour l'installer, décompresser le fichier téléchargé dans votre dossier '.kobo'

## Kobo-UNCaGED

Kobo-UNCaGED permet de connecter votre liseuse Kobo à Calibre via WiFi (donc sans la brancher en USB) afin de gérer vos livres dessus

=> https://github.com/shermp/Kobo-UNCaGED Kobo-UNCaGED

Pour l'installer, décompresser simplement le fichier à la racine de votre liseuse, éjectez la liseuse puis laissez la redémarrer

Pour l'utiliser, activez la connection réseau de Calibre via "Connecter/partager" puis "Activer la connexion aux périphériques sans-fil"

Ensuite lancez Kobo-UNCaGED depuis NickelMenu et appuyez sur "Start" (vous pouvez cocher ou décocher des formats de fichiers avant d'appuyer sur "Start")

Lors du premier lanbcement, la liseuse va automatiquement installer une dépendance puis redémarrer. Vous pourrez ensuite relancer Kobo-UNCaGED de la meme manière

Vous pouvez désormais gérer les livres de votre liseuse sans devoir la brancher en USB à votre ordinateur !

## Kobo Firmware Downloads

Sur le site Kobo Firmware Downloads, vous pouvez télécharger les différentes versions de firmware (logiciel de votre liseuse) et voir leur changelog (liste des changements)

=> https://pgaskin.net/KoboStuff/kobofirmware.html Kobo Firmware Downloads

Vous pouvez aussi rejoindre le canal Telegram pour etre averti-e des sorties de firmware

=> https://t.me/KoboFirmware Canal Telegram "Kobo Firmware Releases"

Attention cependant, je vous conseille de ne pas mettre à jour votre liseuse avant que Calibre supporte le nouveau firmware (généralement dès la  version de Calibre qui suit la sortir d'un firmware), sinon vous pourriez avoir erreurs lors du tranfert de vos livre, car Calibre désactive les écritures dans la base de donnée de la liseuse en cas de firmware non supporté (ce qui est la cas lorsqu'une nouvelle version du firmware sort et que Calibre n'a pas été mis à jour)

## kobopatch

Kobopatch permet de modifier les firmware de votre liseuse afin de le personnaliser ou désactiver des fonctions

C'est une chose relativement avancée et je ne conseille pas de le faire par défaut, mais sachez que ça existe et que si vous souhaitez jeter un oeil c'est possible
Je vous conseille de maitriser l'anglais pour utiliser kobopatch et de ne rien activer sans comprendre ce que vous faites

=> https://pgaskin.net/kobopatch-patches/ kobopatch

Pour patcher un firmware, vous devez tout d'abord vous assurer de faire la procédure pour le firmware actuellement installé sur votre liseuse, c'est très important
Si vous voulez le faire pour la dernière version du firmware, installez-le d'abord sur votre liseuse
En cas de doute, vérifiez dans les paramètres de votre liseuse ou installer le dernier firmware (il n'y a aucun risque à installer identique à celle déjà installée)

Installer un fichier de patch d'un firmware différent de celui de votre liseuse peut occasionner de gros problèmes, vérifier toujours (au moins 2 fois) avant de faire quoi que ce soit

Décompressez le fichier téléchargé correspondant au firmware à patcher dans un dossier arbitraire
Pour configurer les patchs, rendez vous dans le dossier 'src'
Placez le fichier .zip du firmware, que vous téléchargerez sur le site Kobo Firmware Downloads
Puis modifiez les fichier présent dans ce dossier 'src'


Dans ces fichiers sont présents différentes modifications, qui vous seront expliquées à chaque fois (en anglas)

Pour activer un patch, passer simplement le tag "Enabled" de "no" à "yes" pour chacun de ceux que vous choisissez d'activer

Attention, certaines modificatons sont incompatibles entre elles, mais le programme de compilation vous avertira et refusera de continuer si c'est le cas, et vous pourrez régler le problème

Une fois vos modifications choisies, vous pouvez compiler votre patch en exécutant le fichier "kobopatch.bat" si vous utilisez Windowsn ou le fichier "kobopatch.sh" si vous utilisez Linux

Un fichier "KoboRoot.tgz" a été généré dans le dossier 'out', vous n'avez plu qu'à le placer dans le dossier '.kobo' de votre liseuse et à la laisser redémarrer après l'avoir éjectée proprement

Votre liseuse devrait maintenant etre patchée !

Je vais vous conseiller quelques modifications que j'ai activé sur ma liseuse :

### libadobe.so.yaml

Je n'ai rien activé ici

### libnickel.so.1.0.0.yaml

- Set KePub hyphenation
- Always show confirmation dialog before upgrading
- Remove beta features not supported yet
- Disable all tutorial dialogs
- Remove recommandations (row1col2) from home screen
- Only show Pocket Smartlink
- FeatureSettings - BookSpecificStats
- FeatureSettings - ExportHighlights
- Unify font sizes

### librmsdk.so.1.0.0.yaml

Je n'ai rien activé ici

### nickel.yaml

- Remove footer (row3) and increase cover size on new home screen
- Show all games
- Dictionnary pop-up - increase available text area


## Pour finir

Si cet article vous a aidé et que vous souhaitez me remercier pour le travail et les conseils fournis, vous avez la possibilité de me faire un pourboire sur uTip, merci !

=> https://utip.io/oniricorpe/ Ma page uTip pour me faire un don

Bravo pour avoir lu jusqu'à la fin ! ^w^


Le 08 octobre 2022,
Émy.