Γνῶθι σεαυτόν, mais avec des logi­ciels libres

Γνῶθι σεαυτόν, Gnothi seau­ton, « Connais-toi toi-même » en français (hop, lien Wiki­pé­dia).

Les grecs ne pensaient sans doute pas au quan­ti­fied self (mesure de soi), mais moi, oui.

Je ne suis pas un foufou de la mesure de soi, mais ces derniers temps… disons que j’ai des raisons de m’y inté­res­ser.
Le problème, récur­rent de nos jours, est que quand on a un truc qui prend des mesures, on doit géné­ra­le­ment les refi­ler (les mesures) à une appli­ca­tion ou un site, bref, on s’en dépos­sède allè­gre­ment.

Mais nous avons de la chance, il existe des logi­ciels libres qui nous permettent de garder nos mesures pour nous.

Petit tour des logi­ciels et appli­ca­tions libres que j’uti­li­se…

Gadget­bridge

Il y a de cela plusieurs années, j’ai souhaité une montre connec­tée pour comp­ter mon nombre de pas quoti­diens : ayant un mode de vie très séden­taire, je souhai­tais m’as­su­rer que je me bougeais suffi­sam­ment les fesses.

J’ai acheté un brace­let Angel sensor car il était open source. Je vous la fais courte : j’ai eu le machin (cher pour ce que c’était), une appli­ca­tion de test (vrai­ment pas utile, c’était pour montrer les possi­bi­li­tés du SDK) et peu de temps après, la boîte a cessé tout déve­lop­pe­ment et toute commu­ni­ca­tion. Bref, c’est tombé à l’eau.
Cepen­dant, ce projet m’a fait connaître Gadget­bridge, une appli­ca­tion Android libre qui commu­nique avec de nombreux brace­lets connec­tés.

J’ai jeté mon dévolu sur un Xiaomi MiBand 2 : petit, pas cher (± 20€), basique, avec les fonc­tion­na­li­tés qui m’in­té­res­saient mais guère plus.

Ça a très bien fonc­tionné : Gadget­bridge me permet de modi­fier la confi­gu­ra­tion du MiBand, d’y mettre des alarmes, de choi­sir si je veux être averti quand je suis statique trop long­temps (le but : faire quelques exer­cices après être resté trop long­temps sur l’ordi), de récu­pé­rer le nombre de pas, l’ac­ti­vité détec­tée et le rythme cardiaque. Tout ça en gardant les données sur le télé­phone et non en les envoyant aux serveurs de Xiaomi. Et si je gardais le blue­tooth allumé sur le télé­phone, les noti­fi­ca­tions du télé­phone sont trans­mises au brace­let (ça peut être pratique).

Bref, ça fonc­tion­ne… sauf pour l’as­pect « ça va m’ai­der à me bouger », je n’ai pas réussi à me moti­ver bien long­temps 😅

Slee­pyHead

En octobre dernier, j’ai eu de très gros problèmes de sommeil, je ne dormais au mieux que 3 heures par nuit, sauf excep­tions, et ça a duré des mois 🙁

J’ai passé un examen du sommeil en mars (ouaip, pas top les délais de prise de rendez-vous) et il s’avère que je fais des hypo­pnées. Mais genre bien : 50 à 55 par heure, c’est très violent. La page Wiki­pé­dia de l’Index Apnées Hypo­pnées indique « les sujets ayant un IAH supé­rieur à 30 sont extrê­me­ment rares ». C’est violent au point qu’il m’est décon­seillé de conduire (parce qu’in­ci­dem­ment, je suis moins alerte et plus sujet aux endor­mis­se­ments que norma­le­ment).

Le remède est assez simple : un appa­reil à pres­sion posi­tive conti­nue (PPC) pendant la nuit. Un machin qui m’en­voie de l’air sous pres­sion dans le nez et/ou la bouche.

Apparté, si on vous équipe d’un machin comme ça :

  • deman­dez direc­te­ment qu’on vous donne le module qui humi­di­fie l’air, ça vous évitera d’avoir les muqueuses dessé­chées et de vous réveiller à cause de dès que l’air ambiant devient sec ;
  • si vous avez l’im­pres­sion que l’air que vous expi­rez reste dans le masque (et donc que vous respi­rez votre CO₂), resse­rez les sangles du masque. Ma barbe qui repous­sait (je l’avais rasée pour l’exa­men) faisait des mini-fuites non détec­tées par l’ap­pa­reil, m’em­pê­chant de souf­fler suffi­sam­ment fort pour ouvrir les clapets d’ex­pi­ra­tion.

L’en­tre­prise médi­cale qui m’a four­nit l’ap­pa­reil peut le confi­gu­rer et récu­pé­rer les mesures à distance. Par contre, rien n’est prévu pour que je puisse accé­der à celles-ci : les utili­sa­teurs les contac­taient dès que le résul­tat de la nuit n’était pas le même que celui de la veille alors ils ont arrêté de permettre aux utili­sa­teurs de voir leurs données. Bon, OK, mais moi je ne suis pas comme ça, et je veux pouvoir consul­ter mes données : être capable de voir si je dors plus ou moins long­temps (parce que bon, si je me contente de regar­der l’heure de réveil, je vais vite oublier), voir si j’ai eu plus d’hy­po­pnées les nuits où je dors peu, etc. Et puis tant qu’à produire des données, il me paraît natu­rel de pouvoir y accé­der.

Il existe un logi­ciel fait pour accé­der aux données des appa­reils à PPC : Slee­pyHead. Le projet est malheu­reu­se­ment à l’aban­don car le déve­lop­peur a lâché l’af­faire face aux casse-pieds. Je n’ai pas les détails, mais c’est malheu­reux de réus­sir à dégoû­ter un déve­lop­peur d’un tel logi­ciel libre.

Heureu­se­ment, il est encore possible de télé­char­ger Slee­pyHead. La version GNU/Linux propo­sée étant pour Ubuntu 15.04 (une distri­bu­tion d’il y a 5 ans, donc), j’ai préféré compi­ler le logi­ciel depuis les sources. Je n’ai pas eu trop de soucis (à savoir, instal­ler des dépen­dances au fur et à mesure des plan­tages de la compi­la­tion), le README étant clair et les instruc­tions simples.

Next­cloud et GpxPod

Je dors bien mieux depuis que j’ai mon appa­reil à PPC mais depuis à peu près un mois, quelque soit l’heure à laquelle je me couche, je me réveille tôt. Très tôt. Trop tôt : entre 4 et 5 heures du matin.

Ça m’est arrivé l’an­née dernière, pendant l’été (sans doute à cause de la chaleur) et j’en avais profité pour marcher tous les matins. Comme c’est plutôt une bonne chose de faire de l’exer­cice et que j’ai (encore) pris du poids, je me suis (re)mis à marcher tous les matins.

Afin de voir combien de kilo­mètres je faisais, en combien de temps, et si c’était à un rythme régu­lier, j’ai souhaité utili­ser mon smart­phone et Next­cloud avec l’ap­pli­ca­tion PhoneT­rack.
Pour le smart­phone, j’ai essayé l’ap­pli­ca­tion conseillée : PhoneT­rack. Zéro pointé : sur près d’un km, ça loguait à peine deux points (par contre, ça les envoyait direc­te­ment au serveur Next­cloud, c’était bien pratique). Je ne sais pas si c’était un mauvais réglage de ma part, mais c’était déce­vant.
J’ai ensuite essayé l’ap­pli­ca­tion OpenT­racks : bien meilleur suivi ! Par contre il fallait expor­ter les trajets vers le serveur Next­cloud (j’avais mis une synchro­ni­sa­tion du dossier d’ex­port vers le serveur) et impor­ter les trajets dans PhoneT­rack. Il y avait encore un souci : le suivi n’était pas très précis. En regar­dant le trajet, on avait l’im­pres­sion de suivre un homme ivre au dernier degré.

C’est à ce moment que l’en­vie d’une montre GPS m’a titillé. Pour la préci­sion et aussi pour un appa­reil moins encom­brant.
Entre prix élevés et coûts envi­ron­ne­men­taux des appa­reils neufs, je me suis tourné vers l’oc­ca­sion et j’ai trouvé une montre Garmin Fore­run­ner 110 à 30€. Pas cher, je lui offre une deuxième vie et en plus non connec­tée. Bingo !
L’as­pect « non connec­tée » est inté­res­sant car il y a moins de chances de se retrou­ver obligé de la connec­ter à une appli­ca­tion parti­cu­lière pour récu­pé­rer les données. J’avais véri­fié le modèle avant l’achat : elle est détec­tée comme clé USB sur un ordi­na­teur… Parfait, donc 🙂
Et bonus : la montre vient avec un moni­teur de fréquence cardiaque.

Petit point à noter, toute­fois : les Garmin crachent des fichiers .fit là où le stan­dard pour les traces GPS est le .gpx. Une petite recherche plus tard et je décou­vrais gpsbabel qui permet de conver­tir les .fit en .gpx (et je peux même ajou­ter au fichier .gpx les rele­vés de fréquence cardiaque).

Il me fallait récu­pé­rer les fichiers de la montre, les conver­tir avec gpsbabel, les envoyer au serveur Next­cloud et les impor­ter dans PhoneT­rack. Pas très pratique. J’ai commencé à écrire un script pour auto­ma­ti­ser tout ça avec Next­cloud work­flow : il m’au­rait alors suffi de dépo­ser les fichiers sur Next­cloud. Mais le pilo­tage d’ap­pli­ca­tions n’est pas simple depuis un script…

J’ai regardé les autres appli­ca­tions Next­cloud pour le suivi GPS dans l’es­poir d’en trou­ver une qui ne néces­si­te­rait pas d’im­por­ter manuel­le­ment les fichiers .gpx et j’ai trouvé GpxPod, du même déve­lop­peur que PhoneT­rack. Non seule­ment, cette appli­ca­tion peut lire les fichiers .gpx d’un dossier mais en plus elle peut conver­tir elle-même les fichiers .fit en .gpx (pour peu que gpsbabel soit installé sur le serveur) et permet de compa­rer les diffé­rentes traces !
Bref, tout bénéf : je monte la clé, je dépose les fichiers sur Next­cloud et c’est tout bon, pas besoin de faire un script 😊

Je vais quand même faire un script pour Next­cloud work­flow pour extraire la fréquence cardiaque des traces .gpx et utili­ser ces données avec l’ap­pli­ca­tion Analy­tics, histoire de voir s’il y a des chan­ge­ments avec l’ha­bi­tude.

OpenS­cale

Je l’ai dit : j’ai pris du poids. Encore (la dernière fois, c’était en septembre).

Ce n’est pas que je cède aux sirènes du « Sois mince pour être beau » ou que je n’aime pas mon corps, mais :

  • j’ai­me­rais beau­coup ne pas devoir rache­ter des fringues, ça me gonfle d’avoir plein de fringues dans mon armoire que je ne peux plus mettre ;
  • le poids influe sur mon sommeil (si je suis moins lourd, je ronfle moins, donc je pense que ça peut influer sur mes hypo­pnées).

Donc je veux surveiller mon poids (et tant qu’à faire, en perdre). Là-dessus, l’ap­pli­ca­tion openS­cale est nickel : elle me permet de noter mon poids, mais aussi le tour de taille et d’autres mesures, et calcule des trucs toute seule (comme l’IMC).

Elle fonc­tionne parfai­te­ment bien toute seule mais peut commu­niquer avec des balances connec­tées.

Depuis près de 3 semaines que je marche 8 kilo­mètres au petit matin et à jeun, je ne vois guère de résul­tat (et sans augmen­ter ma consom­ma­tion de nour­ri­ture, je précise). Souhai­tant savoir si je prenais de la masse muscu­laire ou si, à tout le moins, je perdais de la masse grais­seuse, j’ai acheté une balance impé­dan­ce­mètre suppor­tée par openS­cale : une Sani­tas SBF70 (je n’ai pas trouvé d’oc­ca­sion quand je l’ai ache­tée mais j’en ai trouvé une à l’ins­tant sur ebay (donc on peut en trou­ver d’oc­ca­sion, pour ceux que ça inté­resse)).

Ça fonc­tionne très bien : je me pèse, et de temps en temps, alors que la balance est encore active, je lance l’ap­pli­ca­tion qui va aller cher­cher l’his­to­rique des pesées.

Ça ne fait que 3 jours que j’ai la balance, donc je ne sais pas encore s’il y a des varia­tions (les varia­tions que je constate sont minimes, je pense qu’il n’y a rien à en tirer pour l’ins­tant).

Et si je souhaite exploi­ter les données d’openS­cale, je peux faire une sauve­garde des données et utili­ser la base de données SQLite qui en résulte comme bon me semble 🙂

Aver­tis­se­ment

Bien évidem­ment, je n’ai été payé par aucune des marques citées dans cet article. Je les ai citées parce qu’il est impor­tant de connaître les marques et modèles exact·es qui fonc­tionnent avec les logi­ciels libres : autant, au niveau ordi­na­teur, ça va plutôt bien main­te­nant, peu de compo­sants posent problème, autant les bidules connec­tés, il y en a beau­coup (la très grande majo­rité) qui sont verrouillés de partout et inex­ploi­tables par des logi­ciels libres.

Crédit : Photo par Theme Inn sur Unsplash

Scan­ner et impor­ter faci­le­ment ses livres sur Inven­taire.io

J’ai des livres. Plein. Peut-être trop. On s’en fout. Le truc, c’est qu’une belle collec­tion comme ça, c’est mieux quand elle est cata­lo­guée.

D’où mon inté­rêt pour inven­taire.io : c’est un plate-forme (libre !) sur laquelle on peut impor­ter ses livres, les marquer comme dispo­nibles au don ou au prêt, se connec­ter avec des gens, regar­der les inven­taires des uns et des autres, faire une demande de prêt…

C’est très simple d’em­ploi et si on four­nit l’ISBN d’un livre, la plate-forme va essayer de récu­pé­rer les données (auteur, couver­ture, synop­sis, etc) toute seule via wiki­data et d’autres sources de données. Très pratique donc. Le site propose même un scan­ner de code-barres ! Pile-poil avec un smart­phone, mais ça devrait même aussi fonc­tion­ner avec une webcam. On peut aussi utili­ser une appli­ca­tion de scan­ner de code-barres, on n’est pas obligé d’uti­li­ser celui du site.

Par contre, si scan­ner des codes-barres avec un télé­phone est pratique, véri­fier et vali­der les livres qui résultent du scan­nage sur le télé­pho­ne… c’est un peu bof. Surtout si comme moi vous scan­nez les livres par paquets de 50. L’idéal est donc de scan­ner avec son télé­phone et de vali­der sur l’or­di­na­teur…

KDECon­nect pour la liai­son télé­phone — ordi­na­teur

KDECon­nect est un outil très pratique pour contrô­ler son ordi­na­teur depuis son télé­phone : y envoyer des fichiers, gérer le lecteur multi­mé­dia… Et dans l’autre sens, on peut accé­der à l’es­pace disque de son télé­phone depuis son ordi­na­teur. Mais surtout, la killer feature, pour moi, c’est le partage du presse-papier : je copie un truc sur le télé­phone ou sur l’ordi et son contenu se retrouve dans le presse-papier de l’autre appa­reil.

Pour utili­ser KDECon­nect, il faut l’ap­pli­ca­tion KDECon­nect (dispo­nible sur F-Droid, je ne sais pas si elle est sur le play store) et sur l’or­di­na­teur, il faut instal­ler le paquet kdeconnect et lancer les appli­ca­tions (/usr/lib/x86_64-linux-gnu/libexec/kdeconnectd pour lancer la version ordi­na­teur depuis la ligne de commande pour une Debian). Il y a aussi une version pour Gnome : gscon­nect.

Ensuite, il faut que les deux appa­reils soient dans le même réseau. Après, il n’y a plus qu’à appa­reiller les appa­reils.

Barcode scan­ner sur le télé­phone

Instal­lez Barcode scan­ner (dispo­nible sur F-Droid) sur votre télé­phone et confi­gu­rez-le pour qu’il copie ce qu’il scanne dans le presse-papier.

On y est presque : avec ces deux outils, l’or­di­na­teur peut d’ores et déjà rece­voir dans son presse-papier les codes-barres que vous allez scan­ner.

Surveiller le presse-papier avec Clip­no­tify

J’ai trouvé un projet, Clip­no­tify qui permet de surveiller le contenu du presse-papier. Télé­char­gez la dernière version sur https://github.com/cdown/clip­no­tify/releases.

Enre­gis­trer les codes-barres dans un fichier

Vous aurez aussi besoin de xsel pour accé­der au contenu du presse-papier (Clip­no­tify ne donne pas le contenu de celui-ci, il se contente de regar­der s’il change), ainsi que de tee.

Ensuite vous n’au­rez plus qu’à lancer cette petite commande :

while clipnotify
do
    ISBN=$(xsel)
    echo $ISBN | tee -a /tmp/clip.log
done

Faites Ctrl+C pour arrê­ter.

NB: Je ne pipe pas direc­te­ment xsel vers tee car xsel ne fait pas de retour à la ligne. Notez aussi que vous pouvez vous passer de tee en faisant echo $ISBN >> /tmp/clip.log, mais j’aime bien voir direc­te­ment sur le termi­nal ce qui écrit dans /tmp/clip.log.

Pour une raison que j’ignore, chaque contenu de press-papier se retrouve écrit plusieurs fois dans le fichier /tmp/clip.log. Corri­ger le fichier n’est pas diffi­cile :

uniq /tmp/clip.log  | grep "^97"

Ou (au cas où on scanne le même livre deux fois par inad­ver­tance) :

sort -u /tmp/clip.log  | grep "^97"

Le grep est là pour se déba­ras­ser des codes-barres mal scan­nés : un ISBN comment toujours par 978 ou 979. Pensez à regar­der le numéro que vous indique avoir scanné Barcode scan­ner !

Voilà. Vous avez main­te­nant une belle liste d’ISBN qu’il nous suffit désor­mais de coller sur https://inven­taire.io/add/import 🙂

Et si vous voulez voir ce que j’ai dans ma biblio­thèque, vous pouvez aller voir sur https://inven­taire.io/inven­tory/framasky (mais je suis encore en train d’im­por­ter mes bouquins, j’ai pas fini de tout scan­ner).

EDIT (12/10/2019) : ajout du grep pour enle­ver les codes-barres mal scan­nés.

Crédit : Photo par Eli Fran­cis sur Unsplash