Lecteur d'ebook Kobo
Le Kobo by Fnac (Kobo touch) est un ebook reader (une liseuse électronique en français dans le texte) né de l'association de Kobo, fabricant d 'ebook reader et distributeur d'ebooks et de la Fnac, qui utilise la technologie Eink.
Il dispose du wifi et d'une capacité de 2Go (1400Mo utilisables) et d'un slot microSD afin d'augmenter sa capacité de stockage.
Il est possible de télécharger des ebooks gratuits et payants (ceux-ci avec un DRM donc non copiables), via la boutique en ligne Kobo ou le site de la Fnac, l'ajout se fera alors automatiquement lors de la synchronisation, après installation du logiciel gratuit Kobo Desktop. Mais il est également possible de télécharger des ebooks sur d'autres sites que ces deux derniers, et de copier/coller les ebooks directement dans le Kobo.
Le Kobo est compatible avec les ebooks aux formats .epub et .pdf.
Installation de Kobo Desktop
Kobo ne propose pas le logiciel pour Linux, or c'est avec ce logiciel que s'effectuent les mises à jour, la synchronisation des achats sur les serveurs Kobo et Fnac et l'utilisation du wifi n'est disponible qu'après avoir enregistré son appareil via Kobo Desktop.
Téléchargement
Le paquet kobo-desktop.deb est téléchargeable ici.
Installation
Après avoir téléchargé le paquet kobo-desktop.deb, ouvrez le terminal et lancez:
sudo dpkg -i kobo-desktop.deb
En 64 bits : voir ceci http://ubuntuforums.org/showpost.php?p=11232322&postcount=9.
Tout fonctionne, sauf qu'il faut un autre paquet sur Ubuntu 12.04 : libicu44. Vous pouvez la télécharger sur https://launchpad.net/ubuntu/precise/i386/libicu44/4.4.2-2. À part ça tout fonctionne parfaitement.
Une fois l'installation effectuée, vous pouvez lancer le Kobo Desktop via le menu (rubrique Autres) et brancher votre Kobo touch pour le configurer.
J'ai installé libicuuc.so.44 (pour Ubuntu 11.10 (?) depuis : http://pkgs.org/ubuntu-11.10/ubuntu-updates-main-i386/libicu44_4.4.2-2ubuntu0.11.10.1_i386.deb/download/
Activation du Kobo sans installer Kobo Desktop
Il est possible d'activer le Kobo sans avoir à installer Kobo Desktop, sans passer par Windows et sans même créer de compte Kobo. Pour cela, il suffit de :
- taper la commande suivante dans un terminal:
sudo apt-get install sqlite3
- relier le Kobo à l'ordinateur Ubuntu via USB
- monter le Kobo (monté automatiquement normalement)
- noter le point de montage utilisé (ici, on suppose /media/KOBOeReader)
Kobo touch/mini
echo "insert into user values('foo', 'foo', 'foo', 'foo', 'foo');" | sqlite3 /media/KOBOeReader/.kobo/KoboReader.sqlite
Le procédé a été testé avec succès sur un Kobo Touch acheté aux USA. Ce blog en anglais indique qu'il fonctionne également pour les Kobo Fnac (je confirme sur un kobo mini).
Kobo glo
Le procédé fonctionne avec les Kobo Glo (Fnac) mais il faut utiliser l'instruction suivante:
echo "insert into user values('foo', 'foo', 'foo', 'foo', 'foo', 'foo', 'foo');" | sqlite3 /media/KOBOeReader/.kobo/KoboReader.sqlite
Sur un Kobo Touch Mark 3, donc Kobo "original" acheté à la Fnac en début 2012, c'est la commande à sept paramètres qui est acceptée comme pour le Glo (10/12/2013 après régression au firmware 2.4.0b).
Attention pour une Kobo Glo achetée en décembre 2015 ne fonctionne pas ! La commande suivante fera l'affaire:
echo "insert into user values('foo', 'foo', 'foo', 'foo', 'foo', 'foo', 'foo', '0', '0', '0', '0', '0', '0');" | sqlite3 /media/TON_USER/KOBOeReader/.kobo/KoboReader.sqlite
Kobo Glo HD achetée en juillet 2016 à la FNAC, succès de la commande suivante après plusieurs essais (La liseuse se monte après le choix de la langue puis de l'installation sans accès wifi. Attention remplacer l'UserID de l'exemple - ici 'abcdef12-3456-789a-bcde-f123456789ab' - par le votre, affiché par la commande .dump user de sqlite) :
sqlite3 KoboReader.sqlite sqlite> .dump user BEGIN TRANSACTION; CREATE TABLE user(UserID TEXT NOT NULL,UserKey TEXT NOT NULL,UserDisplayName TEXT,UserEmail TEXT,___DeviceID TEXT,FacebookAuthToken TEXT,HasMadePurchase BIT DEFAULT FALSE, IsOneStoreAccount BIT DEFAULT FALSE, IsChildAccount BIT DEFAULT FALSE, RefreshToken TEXT, AuthToken TEXT, AuthType TEXT, Loyalty BLOB,PRIMARY KEY (UserID)); INSERT INTO "user" VALUES('abcdef12-3456-789a-bcde-f123456789ab','abcdef12-3456-789a-bcde-f123456789ab','demobundle06_13@kobo.com','demobundle06_13@kobo.com',NULL,NULL,'false','true','false',NULL,NULL,NULL,NULL); sqlite> INSERT INTO "user" VALUES('Linux User','Linux User',NULL,NULL,NULL,NULL,'false','false','false',NULL,NULL,NULL,NULL); sqlite> DELETE from user WHERE UserID="abcdef12-3456-789a-bcde-f123456789ab"; sqlite> .dump user PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE user(UserID TEXT NOT NULL,UserKey TEXT NOT NULL,UserDisplayName TEXT,UserEmail TEXT,___DeviceID TEXT,FacebookAuthToken TEXT,HasMadePurchase BIT DEFAULT FALSE, IsOneStoreAccount BIT DEFAULT FALSE, IsChildAccount BIT DEFAULT FALSE, RefreshToken TEXT, AuthToken TEXT, AuthType TEXT, Loyalty BLOB,PRIMARY KEY (UserID)); INSERT INTO "user" VALUES('Linux User','Linux User',NULL,NULL,NULL,NULL,'false','false','false',NULL,NULL,NULL,NULL); COMMIT; sqlite> .exit
Kobo aura
Selon la version du système, le procédé peut attendre non pas 7 mais 9 paramètres comme celle-ci-dessous :
echo "insert into user values('foo', 'foo', 'foo', 'foo', 'foo', 'foo', 'foo', 'foo', 'foo');" | sqlite3 /media/laurent/KOBOeReader/.kobo/KoboReader.sqlite
Le présent sujet prend un intérêt accru parce que Kobo vient de resserrer fortement les contraintes empêchant une utilisation indépendante de sa liseuse : les mises à jour du Kobo Desktop et du firmware sous Windows sont à présent imposées, avec des services commerciaux qui apparaissent en page d'accueil au lieu des livres. Les réseaux sociaux, les fonctionnalités indiscrètes sont difficiles ou impossibles à désactiver, de sorte que le passage par Linux devient quasi indispensable lorsqu'on veut régresser vers une version encore indépendante du logiciel de la liseuse (⇐ 2.4 ou 2.5).
Procédure plus générale
Voici une procédure qui va permettre de suivre les évolutions de la Kobo (ou autre) : Avant tout, on est prudent, on fait une petite sauvegarde :
Linux-prompt> export MYUSERNAME=`whoami` Linux-prompt> cd /media/${MYUSERNAME}/KOBOeReader Linux-prompt> cp -R .kobo .kobo_save
maintenant on va regarder la structure de la table :
Linux-prompt> cd .kobo Linux-prompt> sqlite3 KoboReader.sqlite SQLite version 3.8.2 2013-12-06 14:53:30 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .schema user CREATE TABLE user(UserID TEXT NOT NULL,UserKey TEXT NOT NULL,UserDisplayName TEXT,UserEmail TEXT,___DeviceID TEXT,FacebookAuthToken TEXT,HasMadePurchase BIT DEFAULT FALSE,PRIMARY KEY (UserID)); sqlite> select * from user; dec75cef-493f-4da1-af8d-d7a7183fa3e5|0a0e4b93-68fd455ab716-039e7c973dce|demobundle06_13@kobo.com|demobundle06_13@kobo.com|||false
Avec cette description de la table on va entrer une ligne bidon qui va contenter la kobo et permettre de passer la procédure d'enregistrement via le web. Les champs suggérés ici doivent être adaptés en fonction de la description de la table user obtenue à l'étape précédente. J'ai constaté que la ligne suivante fonctionnait. Elle a l'avantage de bien se repérer.
sqlite> insert into user values ('UserBidon','KeyBidon','DisplayBidon','MailBidon','DeviceBidon','FaceBidon','PurchBidon');
Maintenant on vérifie :
sqlite> select * from user where userId='UserBidon'; UserBidon|KeyBidon|DisplayBidon|MailBidon|DeviceBidon|FaceBidon|PurchBidon
C'est OK, on quitte sqlite
sqlite> .exit Linux-prompt>
Maintenant redémarrez la kobo est utilisez la comme une clef mémoire USB. Si vous êtes avare de mémoire, détruisez la sauvegarde mais pour 24Mega, est-ce bien utile ?