first commit

This commit is contained in:
OniriCorpe 2024-06-20 04:55:27 +02:00
commit 8298c15349
93 changed files with 2886 additions and 0 deletions

View file

@ -0,0 +1,6 @@
+++
title = "Tech"
template = "section.html"
page_template = "blog-page.html"
sort_by = "date"
+++

View file

@ -0,0 +1,6 @@
+++
title = "Tech"
template = "section.html"
page_template = "blog-page.html"
sort_by = "date"
+++

View file

@ -0,0 +1,211 @@
+++
title = "Configuration de capteurs millimétriques LD2410C avec Wemos S2 Mini pour ESPHome"
date = 2023-11-25
authors = []
theme = "anemone"
template = "blog-page.html"
+++
Je fais cet article pour complémenter la vidéo des frères Poulain du 13 novembre 2023 sur les capteurs de présence à ondes millémétriques.
Je vais fournir la configuration que j'ai dû reconstruire à partir de la documentation ainsi que de quelques passages de la vidéo, ainsi que le descriptif pas à pas que j'ai dû réaliser afin de faire fonctionner ces capteurs dans Home Assistant
Je le fais aussi pour moi carj'ai une mauvaise mémoire et que j'aime documenter les choses ^w^
## Brasure du capteur LD2410C sur le Wemos S2 mini
- Coller un bout de chatterton sur le capteur, afin de l'isoler carune partie sera en contact du port USB-c
- Placer le capteur comme illustré et décrit sur les photos, et réaliser les brasures de "VBUS", "GND", "16", "18" et "33"
[Photo vue du dessus : le Wemos S2 Mini est positionné avec le port USB-C vers le bas de la photo et vers le plafond, le capteur est posé dessus en bas à droite, près du bouton "0"](../capteurs-millimetriques-esphome_dessus.jpg)
[Photo vue du dessous : le Wemos S2 Mini est retourné, port USB-C vers le bas, laissant apparaitre le marquage des ports, la capteur est positionné complètement en bas à gauche, entre les ports "VBUS" et "33"](../capteurs-millimetriques-esphome_dessous.jpg)
## Création de la configuration dans ESPHome sur Home Assistant
Si ce n'est pas fait, installez le Dashboard ESPHome tel qu'expliqué sur le lien suivant :
[Getting Started with ESPHome and Home Assistant](https://esphome.io/guides/getting_started_hassio)
- Rendez-vous dans l'onglet ESPHome de votre Home Assistant
- Cliquer sur "Secrets" en haut à droite
- Renseigner le nom de votre wifi après "wifi_ssid:" ainsi que son mot de passe après "wifi_password:", en respectant la casse (les majuscules et minuscules) et en mettant des guillements avant et après
- Cliquer sur "Save" en haut à droite, puis sur la croix en haut à gauche
- Cliquer sur "New Device" en bas à droite, puis sur "Continue"
- Nommer votre futur capteur, par exemple "Présence Bureau", puis cliquer sur "Next"
- Décocher "Use recommanded settings", puis sélectionner "ESP32-S2" puis "WEMOS LOLIN S2 MINI"
- Copier votre clé de chiffrement et garder là en lieu sûr, puis cliquer sur Skip
- Cliquer sur "Edit" sous le nom donné à votre capteur et copiez cette configuration dans un éditeur de texte
## Premier flashage
- Modifier la configuration précédemment copiée dans un éditeur de texte (ne pas directement modifier dans Home Assistant !)
- Remplacer "!secret wifi_ssid" par le nom de votre réseau wifi, en respectant la casse (les majuscules et minuscules) et en mettant des guillements avant et après
- Remplacer "!secret wifi_password" par le mot de passe de votre réseau wifi, toujours en respectant la casse et en mettant des guillements avant et après
- Ajouter les lignes suivantes sous "friendly_name:" dans la catégorie "esphome:" tout en haut de la configuration :
```yaml
platformio_options:
board_build.extra_flags:
- "-DARDUINO_USB_CDC_ON_BOOT=0" # Override, defaults to '-DARDUINO_USB_CDC_ON_BOOT=1'
```
- Ajouter ces même lignes dans la configuration sur Home Assistant au même endroit que précédemment, cliquer sur "Save" puis la croix
- Enregistrer la configuration dans votre éditeur de texte en lui donnant un nom finissant par ".yaml", tel que "capteur-bureau.yaml"
[Votre fichier de configuration devrait ressembler à celui-ci !](../capteurs-millimetriques-esphome_premiere-config.txt)
[Vous pouvez désormais visionner la vidéo des frères Poulain au chapitre "Installation de ESP Home et python"](https://youtu.be/DjN9L8Cagnw?t=389)
Une fois Python et ESPHome installés sur votre ordinateur et le Wemos S2 Mini branché à votre PC en maintenant le bouton "0" puis en le relanchant une fois branché, vous pouvez lancer la commande suivante (en remplaçant "capteur-bureau.yaml" par votre nom de configuration) :
```bash
python3 -m esphome run capteur-bureau.yaml
```
Sélectionnez le choix numéro 1 quand le script vous le demande, en entrant "1" puis en validant avec votre touche Entrée
Le firmware va être écrit sur la carte Wemos S2 Mini
Une fois fini, débranchez et rebranchez le Wemos S2 Mini pour le faire redémarrer, puis rendez-vous dans "Paramètres" puis "Appareils et Services" sur Home Assistant
Vous devriez voir votre capteur tout juste découvert par Home Assistant !
Cliquez sur "Configurer" puis "Valider", enfin, renseignez lui une localisation si demandé et cliquez sur "Terminé"
Si la clé d'API vous est demandée (normalement non), c'est la clé de chiffrement qui vous a été donnée plus tôt et que vous trouverez dans la configuration flashée au niveau de "encryption:" puis "key:"
## Second flashage, mais en wifi
- Aller dans l'onglet ESPHome de Home Assistant
- Cliquer sur "Edit" sous le nom de votre nouveau capteur
- Normalement la partie concernat le wifi estrestée comme ceci (si ce n'est pas le cas, remettre correctement) :
```yaml
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
```
- Coller le texte suivant après "captive_portal:", en sautant deux lignes et en veillant à supprimer les espaces ajoutés automatiquement :
```yaml
ld2410:
uart:
tx_pin: GPIO18
rx_pin: GPIO33
baud_rate: 256000
parity: none
stop_bits: 1
sensor:
- platform: ld2410
light:
name: light
moving_distance:
name : Moving Distance
still_distance:
name: Still Distance
moving_energy:
name: Move Energy
still_energy:
name: Still Energy
detection_distance:
name: Detection Distance
binary_sensor:
- platform: ld2410
has_target:
name: Presence
has_moving_target:
name: Moving Target
has_still_target:
name: Still Target
number:
- platform: ld2410
timeout:
name: timeout
light_threshold:
name: light threshold
max_move_distance_gate:
name: max move distance gate
max_still_distance_gate:
name: max still distance gate
g0:
move_threshold:
name: g0 move threshold
still_threshold:
name: g0 still threshold
g1:
move_threshold:
name: g1 move threshold
still_threshold:
name: g1 still threshold
g2:
move_threshold:
name: g2 move threshold
still_threshold:
name: g2 still threshold
g3:
move_threshold:
name: g3 move threshold
still_threshold:
name: g3 still threshold
g4:
move_threshold:
name: g4 move threshold
still_threshold:
name: g4 still threshold
g5:
move_threshold:
name: g5 move threshold
still_threshold:
name: g5 still threshold
g6:
move_threshold:
name: g6 move threshold
still_threshold:
name: g6 still threshold
g7:
move_threshold:
name: g7 move threshold
still_threshold:
name: g7 still threshold
g8:
move_threshold:
name: g8 move threshold
still_threshold:
name: g8 still threshold
switch:
- platform: ld2410
engineering_mode:
name: "engineering mode"
bluetooth:
name: "control bluetooth"
select:
- platform: ld2410
distance_resolution:
name: "distance resolution"
light_function:
name: light function
```
[Votre fichier de configuration devrait ressembler à celui-ci !](../capteurs-millimetriques-esphome_config-finale.txt)
[Lien vers la documentation, pour savoir quelle option fait quoi](https://esphome.io/components/sensor/ld2410.html)
- Cliquer sur les 3 points verticaux dans le rectangle de votre nouveau capteur de présence, puis sélectionner "Validate"
- Si "INFO Configuration is valid!" est indiqué tout en bas, c'est que tout est bon et que vous pouvez passer à la suite ! Sinon c'est que vous avez fait une erreur dans votre configuration
- Fermer la fenêtre en cliquant sur "Close"
- Cliquer à nouveau sur les 3 points verticaux de votre capteurs et sélectionner "Install" puis "Wirelessly"
- Attendre que la compilation se fasse et se télécharge sur votre capteur en wifi (cela prend pas mal de temps, vous pouvez souffler)
- Si des lignes turquoise et magenta défilent ensuite sur votre écran, c'est que tout s'est bien passé et que le capteur envoit désormais ses mesures à Home Assistant en wifi !
- Cliquer sur "Stop" pour fermer la fenêtre
## C'est la fin
C'est déjà fini !
Vous trouverez votre capteur dans "Paramètres" puis "Appareils et Services" puis en cliquant sur "n Appareils" sous "ESPHome", tous vos capteurs ajoutés avec cette méthodes apparaitront ici ! :)
Profitez désormais de votre ou vos capteurs !!
Le 25 novembre 2023,
Émy

View file

@ -0,0 +1,138 @@
esphome:
name: presence-bureau
friendly_name: Présence Bureau
platformio_options:
board_build.extra_flags:
- "-DARDUINO_USB_CDC_ON_BOOT=0" # Override, defaults to '-DARDUINO_USB_CDC_ON_BOOT=1'
esp32:
board: lolin_s2_mini
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "Nc7FgnMmVURqsIDNOe9BJ500f86fXPN0ar00pgBQb5g="
ota:
platform: esphome
password: "c27ed55a655306897d779dec5e642a5f"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Presence-Bureau Fallback Hotspot"
password: "WnpkIdcznbOM"
captive_portal:
ld2410:
uart:
tx_pin: GPIO18
rx_pin: GPIO33
baud_rate: 256000
parity: none
stop_bits: 1
sensor:
- platform: ld2410
light:
name: light
moving_distance:
name : Moving Distance
still_distance:
name: Still Distance
moving_energy:
name: Move Energy
still_energy:
name: Still Energy
detection_distance:
name: Detection Distance
binary_sensor:
- platform: ld2410
has_target:
name: Presence
has_moving_target:
name: Moving Target
has_still_target:
name: Still Target
number:
- platform: ld2410
timeout:
name: timeout
light_threshold:
name: light threshold
max_move_distance_gate:
name: max move distance gate
max_still_distance_gate:
name: max still distance gate
g0:
move_threshold:
name: g0 move threshold
still_threshold:
name: g0 still threshold
g1:
move_threshold:
name: g1 move threshold
still_threshold:
name: g1 still threshold
g2:
move_threshold:
name: g2 move threshold
still_threshold:
name: g2 still threshold
g3:
move_threshold:
name: g3 move threshold
still_threshold:
name: g3 still threshold
g4:
move_threshold:
name: g4 move threshold
still_threshold:
name: g4 still threshold
g5:
move_threshold:
name: g5 move threshold
still_threshold:
name: g5 still threshold
g6:
move_threshold:
name: g6 move threshold
still_threshold:
name: g6 still threshold
g7:
move_threshold:
name: g7 move threshold
still_threshold:
name: g7 still threshold
g8:
move_threshold:
name: g8 move threshold
still_threshold:
name: g8 still threshold
switch:
- platform: ld2410
engineering_mode:
name: "engineering mode"
bluetooth:
name: "control bluetooth"
select:
- platform: ld2410
distance_resolution:
name: "distance resolution"
light_function:
name: light function

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

View file

@ -0,0 +1,34 @@
esphome:
name: presence-bureau
friendly_name: Présence Bureau
platformio_options:
board_build.extra_flags:
- "-DARDUINO_USB_CDC_ON_BOOT=0" # Override, defaults to '-DARDUINO_USB_CDC_ON_BOOT=1'
esp32:
board: lolin_s2_mini
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "Nc7FgnMmVURqsIDNOe9BJ500f86fXPN0ar00pgBQb5g="
ota:
platform: esphome
password: "c27ed55a655306897d779dec5e642a5f"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Presence-Bureau Fallback Hotspot"
password: "WnpkIdcznbOM"
captive_portal:

View file

@ -0,0 +1,80 @@
+++
title = "Comment c'est fait ? La technique derrière ce log"
date = 2023-08-19
authors = []
theme = "anemone"
template = "blog-page.html"
+++
⚠️ Ce billet n'est plus valable aujourd'hui, mon setup est très différent
## Comment j'écris
C'est très simple, j'écris avec n'importe quel éiteur de texte (et non pas traitement de texte), habituellement j'utilise VSCode, mais je pourrais aussi utiliser le Bloc Note Windows ou n'importe quoi !
Actuellement j'écris avec Runestone (une app légère et indépendante d'édition de texte orienté programmation) sur mon iPad avec un clavier Logitech Combo Touch qui fait aussi coque de protection
[Donc, j'utilise Runestone sur ma tablette car je suis dans mon lit et que j'ai envie de tester cette app avant d'éventuellement l'acheter [Lien Web]](https://runestone.app/)
[J'utilise la syntaxe Gemtext par défaut [Lien Web et Gemini]](//gemini.circumlunar.space/docs/fr/gemtext.gmi)
J'aime avoir peu de choix quand j'écris, ça évite de me perdre dans les possibilités de formatage et de ne pas avancer dans ma rédaction !
J'aime aussi écrire pour un réseau frugal comme Gemini avant tout, et dont la culture des petites capsules (petits espaces personnels sans grande ambition) fait que peu importe que je ne sois pas très fière d'un texte, je saurai qu'il y trouvera quand même sa place et ne sera pas jugé
C'est un peu comme le Web des années 90 ou tout début 2000, quand c'était pas rare d'avoir son site perso sans prétention où on racontait ce qu'on voulait sans chercher la visibilité
Peu de gens connaissent mon site, encore moins s'y rendent régulièrement, et ça me va
C'est en premier lieu un jardin personnel, où je dépose des pensées que j'ai ainsi que des texte que j'ai envie de conserver
## Comment j'enregistre et je stocke
Ensuite je pousse mes fichiers textes, organisés dans des dossiers, sur un dépôt Git hébergé quelque part
[À l'heure actuelle, vous pourrez le trouver chez Codeberg, mais ça peut changer à tout moment [Lien Web]](https://codeberg.org/OniriCorpe/log)
J'utilise Git pour garder une trace de chaque modification, mais aussi comme un cloud que je peux facilement synchroniser entre les différents appareils ammenés à utiliser les données de ce log, soit pour la rédaction (mon PC, mon téléphone ou ma tablette), soit pour la publication (mon serveur et son système de traitement automatisé, j'y reviendrai)
[Sur mon téléphone et ma tablette, de marque Apple, j'utilise Working Copy comme client Git (il me sert aussi pour d'autres dépôts que celui de mon log) [Lien Web]](https://workingcopy.app/)
## Comment je publie pour Gemini
C'est très simple, j'ai un serveur Gemini qui tourne sur mon serveur que j'auto-héberge chez moi, dans mon atelier
Ce serveur Gemini pointe (notamment) vers un dossier dédié à ma capsule, qui contient ma homepage ainsi que ce log
[Ma homepage est distincte du log, elle est aussi hébergé sur un serveur Git, toujours Codeberg [Lien Web]](https://codeberg.org/OniriCorpe/homepage)
Dans le dossier de ma homepage, il y a un sous dossier pour le log, éponyme
Et ce dossier contient un clone du dépôt Git du log, synchronisé automatiquement chaque jour vers 5 heures, donc mes modifications arrivent automatiquement sur Gemini
Tout ce que j'ai à faire c'est écrire, enregistrer et pousser les changement ou les nouvelles pages sur le dépôt Git
Et si j'ai envie je peux synchroniser le serveur manuellement si je ne veux pas attendre qu'il soit 5 heures pour que mes modifications soient disponibles
## Comment je publie pour le Web
Là c'est un peu plusse complexe, car il faut convertir le format Gemtext (Gemini) vers du HTML (Web)
J'utilise un petit programme pour le faire automatiquement, mais il formate bêtement juste le contenu de la page, sans faire de header avec du CSS et tout ce qui rend une page Web jolie
[J'ai donc écris mon propre script pour réaliser cela : Genlog (pour Générateur du Log) ^w^ [Lien Web]](https://codeberg.org/OniriCorpe/genlog)
C'est un petit script bash qui ajoute un header avec tout ce qu'il faut et le personnalise un peu pour chaque page, notamment pour ajouter le titre dans une balise 'title' pour qu'il s'affiche sur les onglets du navigateur Web
J'avais réalisé un peu de CSS pour embellir les pages, mais il était bancal :
* Le rendu était mauvais sur mobile (textes trop gros par rapport à la norme alors que c'était OK sur PC)
* Il y avait seulement un mode sombre, ce qui est inaccessible pour certaines personnes
* Les blocs préformatés pouvaient dépasser sur la droite de la page sur mobile à cause de la faible largeur d'écran
J'ai récemment décidé de retravailler tout ça et d'utiliser un CSS déjà fait par quelqu'un qui sait mieux faire que moi, parce que je n'ai pas l'énergie de corriger ces problèmes
[Mon choix s'est porté sur Water.css, qui supporte la bascule automatique entre thème clair et sombre selon la configuration de l'utilisateurice sur son navigateur ou système d'exploitation [Lien Web]](https://watercss.kognise.dev/)
Finalement j'ai réglé moi même le bug des blocs préformatés qui dépassaient avec un peu de recherche, puis j'ai fait le ménage dans le code CSS que j'avais écrit pour retirer ce qui était devenu inutile avec Water.css
Et enfin, j'ai amélioré un peu mon code CSS afin de rendre mieux les blocs de citation et les blocs préformatés et que ça soit OK en mode clair comme en mode sombre
Pour revenir à Genlog, ce script regarde dans chacun des sous-dossiers du dossier qu'on lui a donné, voir s'il y a des fichier .gmi (le format dans lequel j'écris) et si c'est le cas il le convertir en page Web toute propre et l'enregistre dans le même dossier, puis il continue sa recherche jusqu'à ce qu'il ait regardé partout
Il peut donc convertir automatiquement un log entier en quelques secondes, c'est parfait pour du travail automatisé (ou pour des tests) !
Ensuite il suffit de dire à mon serveur Web (nginx) de servir les fichier générés lorsqu'on visite l'adresse Web de mon log, et voilà !
Donc, à l'aide de cron, chaque jour vers 5 heures, ce script travaille après la récupération éventuelle des nouveaux textes, afin de tout convertir en Web, ainsi tout est facilement accessible pour tout le monde sans que j'ai à faire quoi que ce soit d'autre que d'écrire et de pousser mes modifications dans mon dépôt
## Pour terminer
Pouvoir écrire depuis n'importe quel appareil grace à Git me permet vraiment de me sentir libre et d'écrire dès que j'en ai l'envie
Et l'automatisation me permet d'etre sereine et de ne pas me préocuper de si c'est à jour ou non : chaque jour les fichiers du dépôt sont récupérés et servis sur Gemini, puis convertis en HTML et servis sur le Web
Tout est en fichiers statiques donc c'est économe en ressources et facile à gérer
Je voulais un système frugal et low-tech, je l'ai fait ^w^
À plusse !
Le 19 août 2023,
Typhen

View file

@ -0,0 +1,425 @@
+++
title = "Kobo hacks & mods"
date = 2022-10-08
authors = []
theme = "anemone"
template = "blog-page.html"
+++
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é)
[Il a tout expliqué dans un beau billet sur son blog, que je vous invite à lire :)](https://www.tiger-222.fr/?d=2020/04/17/22/14/21-un-dictionnaire-alternatif-et-complet-pour-votre-kobo)
[Il s'est basé sur la gigantesque (!!) base de donnée du Wiktionnaire](https://fr.wiktionary.org/)
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) :
[le Larousse : 135 000 mots](https://www.larousse.fr/dictionnaires/francais-monolingue)
[le Littré : 78 600 mots](https://www.littre.org/statistiques)
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") :
[Français](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/fr)
[Catalan](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/ca)
[Allemand](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/de)
[Anglais](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/en)
[Espagnol](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/es)
[Grec](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/el)
[Italien](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/it)
[Norvégien](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/no)
[Portugais](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/pt)
[Russe](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/ru)
[Suédois](https://github.com/BoboTiG/ebook-reader-dict/releases/tag/sv)
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
[Plato](https://github.com/baskerville/plato)
[KOReader](http://koreader.rocks/)
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
[One-Click Install Packages for KOReader & Plato par NiLuJe](https://www.mobileread.com/forums/showthread.php?t=314220)
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 :
```conf
[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
[La documentation complète de NickelMenu est accessible ici (en anglais)](https://github.com/pgaskin/NickelMenu/blob/master/res/doc)
(Je vous expliquerai quelques bases et vous donnerai quelques configurations que j'utilise plu loin dans cette page)
![NickelMenu affiché sur l'écran de ma liseuse (98 ko)](../kobo-hacks-mods_NickelMenu.jpg)
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
```conf
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
```conf
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
```conf
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
```conf
menu_item :main :Mode nuit :nickel_setting :toggle :dark_mode
menu_item :reader :Mode nuit :nickel_setting :toggle :dark_mode
```
```conf
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
```conf
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
Vous retrouverez vos capture d'écran à la racine de la liseuse, lorsque vous la connecterez à votre ordinateur
```conf
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
```conf
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
[Télécharger Calibre](https://calibre-ebook.com/fr)
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
[Selon le site KePubify, les fonctionnalités du format KePub sont les suivantes :](https://pgaskin.net/KePubify/)
* 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.
[KePub Output (permet l'export manuel d'un livre en KePub)](https://www.mobileread.com/forums/showthread.php?t=220565)
[KePub Metadata Reader (permet à Calibre de lire les métadonnées des fichiers KePub)](https://www.mobileread.com/forums/showthread.php?t=261009)
[KePub Metadata Writer (permet à Calibre d'écrire les métadonnées des fichiers KePub envoyés sur votre liseuse)](https://www.mobileread.com/forums/showthread.php?t=261010)
### 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é
[Kobo Touch Extended Driver](https://www.mobileread.com/forums/showthread.php?t=211135)
### 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.
[Kobo Utilities](https://www.mobileread.com/forums/showthread.php?t=215339)
### De meilleures 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
Notez que vous n'avez pas besoin d'une liseuse Kobo pour utiliser ces plugins là, et que si ceux-ci vous satisfont, vous pouvez aisément les conseiller à n'importe qui :)
[Kobo Books](https://www.mobileread.com/forums/showthread.php?t=253838)
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
[Kindle High-res Covers](https://www.mobileread.com/forums/showthread.php?t=286970)
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
[DeDRM_tools & Obok](https://github.com/noDRM/DeDRM_tools)
Vu que ça touche tangantiellement au piratage, sachez que je ne vous recommande absolument pas d'utiliser ces logiciels, 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 :
[Z-Library](https://z-lib.org/)
[Archives d'Anna](https://fr.annas-archive.org/)
[nyaa.si](https://nyaa.si/?f=0&c=3_0&q=)
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 :
[Epagine](https://www.epagine.fr/)
Ou sinon, 7switch.com, mais il y a moins de choix :
[7switch](https://www.7switch.com/fr)
En gratuit et légal je peux conseiller :
[Open Library (par la Internet Archive)](https://openlibrary.org/)
[Bibliothèque Anarchiste](https://fr.theanarchistlibrary.org/special/index)
[Project Gutenberg](https://www.gutenberg.org/browse/languages/fr)
[ÉFÉLÉ](http://efele.net/ebooks/)
[Bibebook](https://www.bibebook.com/)
ou Standard Ebooks (mais c'est uniquement anglophone) :
[Standard Ebooks](https://standardebooks.org/)
## 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.
[NickelSeries](https://www.mobileread.com/forums/showthread.php?p=4013888)
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
[Kobo-UNCaGED](https://github.com/shermp/Kobo-UNCaGE)
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)
[Kobo Firmware Downloads](https://pgaskin.net/KoboStuff/kobofirmware.html)
Une fois la bonne version, correspondant à votre modèle de liseuse, téléchargée, extrayez là dans votre dossier '.kobo', éjectez votre appareil et attendez son redémarrage complet sans jamais l'interrompre
Assurez-vous que votre liseuse est chargée de manière décente avant cette manipulation
Vous pouvez aussi rejoindre le canal Telegram pour etre averti-e des sorties de firmware
[Canal Telegram "Kobo Firmware Releases"](https://t.me/KoboFirmware)
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
[kobopatch](https://pgaskin.net/kobopatch-patches/)
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
## Vrac
Quelques petits conseils en vrac avant la fin :
Si vous avez une liseuse avec boutons physiques, je suis personellement plus confortable et je trouve cela + ergonomique d'inverser les fonctions des touches
C'est à dire faire en sorte que la touche supérieure soit utilisée pour passer à la page suivante, et inversement pour la touche inférieure
Je trouve cela + ergonomique parce que mon pouce tombe naturellement pile sur la touche supérieure (avec une Kobo Libre H2O ou Libra 2) et j'ai donc une meilleure prise en main comme cela, puisque la touche la plus souvent utilisée (pour passer à la page suivante) et celle qui tombe naturellement sous mon pouce
Ce réglage se trouve dans le menu "Paramètres de lecture"
Lorsque vous n'avez pas l'usage du WiFi, pensez à le désactiver, cela aura un effet bénéfique sur le durée de vie de votre batterie
Cela peut sembler sous le sens, mais n'hésitez pas à fouiller dans les divers paramètres de votre liseuse et d'expérimenter, c'est comme ça qu'on trouve ce qui nous convient le mieux et qu'on est le + satisfait-e de notre usage d'un appareil, surtout que les liseuses Kobo proposent plein de paramètres interessants qui sont assez peu mis en avant
C'est à la technologie de s'adapter à l'utilisateur-ice, et non l'inverse
Si vous voulez creuser les modifications de votre liseuse, je vous conseille le forum de MobileRead (en anglais) :
[MobileRead (lien direct vers la section dédiée aux liseuses Kobo)](https://www.mobileread.com/forums/forumdisplay.php?f=223)
## 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 !
[Ma page Ko-Fi pour me faire un don](https://ko-fi.com/oniricorpe)
Bravo pour avoir lu jusqu'à la fin ! ^w^
Le 08 octobre 2022,
Émy.

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View file

@ -0,0 +1,84 @@
+++
title = "Mes apps sur iPhone et iPad"
date = 2023-08-20
authors = []
theme = "anemone"
template = "blog-page.html"
+++
Une liste des apps que j'utilise, si jamais ça peut servir à quelqu'un ^w^
## Ménager
[OurGroceries : liste de courses (aussi en Web et app Android ; usage gratuit et achat unique pour supprimer les pubs)](https://www.ourgroceries.com/overview)
[Mela : gestion de recettes (gratuit limité à 10 recettes, achat unique)](https://mela.recipes/)
## Internet
[Bitwarden : gestionnaire de mot de passe cloud (aussi disponible Android, Mac, Linux et navigateurs ; gratuit avec fonctionnalités limitées (pas d'OTP ni de 2FA sauf en auto-hébergement) sinon abonnement)](https://bitwarden.com/)
[NextDNS : bloqueur de publicité et de trackers par DNS, configuré pour être utilisé uniquement hors de mon Wi-Fi domestique, qui utilise AdGuard Home (aussi dispo Android, Windows, Mac, Linux, ChromeOS, navigateurs et routeurs ; plan gratuit amplement suffisant pour un usage personnel)](https://nextdns.io/)
[WireGuard : VPN vers mon domicile ou vers d'autres connexions de confiance (aussi dispo sur Android, Windows, Mac, Linux)](https://www.wireguard.com/install/)
[Lagrange : client Gemini, alternative simple et légère au web (installé avec Testflight ; aussi dispo sur Android, Windows, Mac, Linux)](https://gmi.skyjake.fi/lagrange/)
## Navigation Web (extensions Safari)
[Wipr : bloqueur de publicités et éléments indésirables dans Safari ; simple, très rapide et vraiment efficace (achat unique)](https://kaylees.site/wipr.html)
[Consent-O-Matic : pour remplir automatiquement les formulaires RGPD (aussi dispo pour Firefox et les navigateurs basés sur Chromium)](https://consentomatic.au.dk/)
[Vinegar : remplace le lecteur YouTube par celui standard Apple, restaure aussi le mode Picture in picture (achat unique)](https://andadinosaur.com/launch-vinegar)
[Baking Soda : comme Vinegar mais pour n'importe quel site Web (achat unique)](https://andadinosaur.com/launch-baking-soda)
[SponsorBlock : permet de zapper automatiquement les segments spondorisés dans les vidéos YouTube (aussi dispo sur tous les navigateurs, achat unique)](https://sponsor.ajay.app/)
[DeArrow : change les miniatures et les titres des videos YouTube pour diminuer le clickbait et le FOMO (aussi dispo sur tous les navigateurs, achat unique)](https://dearrow.ajay.app/)
## Adminsys / autohébergement / dev
[WebSSH : client SSH léger et parfait ! Propose aussi du SFTP et tunnel (aussi dispo sur Mac ; payant pour un usage avec de multiples connexions simultanées, sinon totalement gratuit !)](https://apps.apple.com/fr/app/webssh-sysadmin-tools/id497714887)
[AdGuard Home Remote : client pour gérer mon instance AdGuard Home et voir ses logs (gratuit avec fonctionnalités limitées, achat ponctuel pour tout débloquer)](https://rocketscience-it.nl/#adguardhome)
[Nextcloud : l'app propose une bonne intégration dans Finder ! (aussi dispo sur Windows, Mac, Linux et Android)](https://nextcloud.com/install/#install-clients)
[Home Assistant : domotique auto-hébergée (j'utilise en + un bridge vers Homekit pour une meilleure intégration domotique sur les appareils Apple)](https://www.home-assistant.io/)
[Working Copy : client Git (gratuit avec fonctionnalités limitées, achat unique)](https://workingcopy.app/)
[Runestone : éditeur de texte (gratuit avec fonctionnalités limitées, achat unique)](https://runestone.app/)
[DataJar : variables persistantes pour Apple Raccourcis / Shortcuts (gratuit)](https://datajar.app/)
- Raccourcis : application d'automatisation par programmation visuelle native aux appareils Apple
## Lectures / animés
[Fluent Reader Lite : client pour mon agrégateur RSS, FreshRSS (achat unique)](https://fluent-reader-lite.appstor.io/)
[Mangacollec : gestion de bibliothèque de manga et des sorties suivies (gratuit, sinon abonnement pour les fonctionnalités de "pile à lire" et de statistiques de collection ; aussi dispo sur Android)](https://www.mangacollec.com/)
[Aidoku (sideloadé avec SideStore) : lecture de manga en ligne depuis diverses sources non légales](https://aidoku.app/)
[ManGo : gestion des animés (quelles séries on suit, quels épisodes sont vus) et des chapitres et tomes de manga lus, c'est un client My Anime List (gratuit avec fonctionnalités limitées, achat unique)](https://rocketscience-it.nl/mango/)
[Wikipedia, client officiel Wikipedia](https://apps.apple.com/fr/app/wikip%C3%A9dia/id324715238)
[Omnivore : alternative open-source à Pocket, je suis en train de migrer dessus (gratuit, aussi dispo sur Android, Mac, Web et extensions pour navigateurs)](https://omnivore.app/)
## Adultage
- Apps Apple : Météo, Music, Santé, Mail, Calendrier, Notes, Plans, Rappels, Freeform, Numbers, etc.
[SimpleMind : mind mapping (gratuit avec fonctionnalités limitées, sinon achat unique par plateforme, aussi dispo sur Windows, Mac et Android)](https://simplemind.eu/)
[Road Trip MPG : suivi de consommation de carburant (et des frais d'entretien) pour voiture et moto (achat unique sur iPhone et un autre achat nécessaire pour iPad)](https://darrensoft.ca/roadtrip/)
[AfterShip : suivi de colis en temps réel et avec notifications (aussi dispo Web et Android ; gratuit)](https://apps.apple.com/fr/app/aftership-suivi-de-colis/id507014023)
## Langues
[Duolingo : application d'apprentissage de langues par petits exercices récurrents (gratuit avec publicités et fonctionnalités limitées, sinon abonnement payant)](https://www.duolingo.com/)
[motî : client Wiktionnaire multilingue optimisé pour l'apprentissage de langues (gratuit, affichage et définitions des mots en anglais uniquement)](https://motî.net/)
## Fédi
[Feditext : fork de Metatext (en beta, lien d'accès sur demande aux devs, gratuit)](https://github.com/feditext/feditext)
[Ivory, en beta publique (aussi disponible sur Mac, essai gratuit d'une semaine puis abonnement obligatoire)](https://tapbots.com/ivory/)
## Divers
[Picsew : retouche rapide dimages et concaténation de screenshots (gratuit avec fonctionnalités limitées, achat unique)](https://apps.apple.com/fr/app/picsew-screenshot-stitching/id1208145167)
[SideStore : pour installer des applications hors App Store, détournement du mode développeur gratuit de Apple, qui nécessite de renouveler les apps tous les 7 jours](https://sidestore.io/)
[Organic Maps : app GPS en complement de Plans, je l'utilise principalement à pied ou en fauteuil roulant (aussi dispo Android)](https://organicmaps.app/fr/)
[Lapz : timer dexercices de sport (gratuit avec fonctionnalités limitées, sinon abonnement)](https://lapz.app/en/)
[Procreate : dessin numérique sur iPad (achat unique, Apple Pencil très fortement conseillé !)](https://procreate.com/)
[Calcbot : calculatrice avec beaucoup d'outils de conversion (gratuit avec fonctionnalités limitées, achat unique)](https://www.tapbots.com/calcbot/)
[Steam Link : pour streamer des jeux depuis mon PC vers mon iPad aussi bien à domicile qu'en dehors (aussi dispo Android)](https://store.steampowered.com/remoteplay#anywhere)
[ExoVoice : une app simple mais jolie et efficace de synthèse vocale, pratique en mutisme (gratuite)](https://kaylees.site/exovoice.html)
[PlantNet : reconnaissance de végétaux à l'aide de photo (aussi dispo Android et Web, gratuit)](https://plantnet.org/)
Le dimanche 20 août 2023, (mis à jour le 15 septembre 2023)
Émy.

View file

@ -0,0 +1,48 @@
+++
title = "Modifier le mot de passe d'un utilisateur Matrix dans la base de donnée sous Yunohost"
date = 2024-01-06
authors = []
theme = "anemone"
template = "blog-page.html"
+++
Si comme moi vous êtes bien eu car vous avez oublié votre mot de passe Matrix, voici comment le changer facilement.
## Hash du nouveau mot de passe
```bash
/opt/yunohost/matrix-synapse/bin/hash_password -c /etc/matrix-synapse/homeserver.yaml
```
Entrer 2 fois le mot de passe souhaité, puis copier le hash dans un bloc note
## Récupérer le mot de passe de la base de donnée
```bash
grep synapse_db_pwd /etc/yunohost/apps/synapse/settings.yml
```
Copier le mot de passe dans un bloc note
## Connexion à la base de donnée
```bash
psql -d matrix_synapse -U matrix_synapse
```
Puis renseigner le mot de passe récupéré à l'étape précédente
## Edition du mot de passe dans la base de donnée
Changer les valeurs pour `password_hash` et `name`, puis entrer la commande
```sql
UPDATE users SET password_hash='$2a$12$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
WHERE name='@oniricorpe:im.emelyne.eu';
```
Le mot de passe est désormais changé !
Quitter la base de donnée avec la commande `quit`
Et voilà !!

View file

@ -0,0 +1,50 @@
+++
title = "Motion"
date = 2022-02-09
authors = []
theme = "anemone"
template = "blog-page.html"
+++
> TODO
Pour gérer mon agenda j'utilise Notion, une sorte d'outil pour créer des outils d'organisation ou + simplement de wiki personnel. Ça permet de se construire sur mesure à peu près n'importe quoi.
Mon usage de Notion est principalement organisationnel : mon agenda avec mes prochains rendez-vous médicaux, administratifs ou personnels ainsi que la gestion de mon stock de médicaments ou de matériel médical consommable.
[Cependant j'ai des troubles de la permanence de l'objet, lié à mon autisme/TDA.](https://fr.wikipedia.org/wiki/Permanence_de_l%27objet)
C'est à dire que lorsqu'une chose n'est pas visible, bien souvent, elle n'existe pas pour moi.
J'ai donc besoin, dans un but de fiabilité de mon organisation, d'avoir très facilement sous les yeux les prochains événements de mon agenda. Ceci afin de ne pas les oublier par mégarde, ce qui serait vraiment désastreux pour certains de mes rendez-vous.
J'ai donc réfléchi à un moyen simple et efficace de combler ce besoin et je me suis arrêtée sur un script Python (l'un des seuls languages de programmation que j'avais déjà touché) qui interroge l'API de Notion, traite les informations puis les affiche sur un petit écran e-ink.
Je souhaitais que lorsqu'un événement survenait le jour même, un signe distinctif soit visible sur l'écran. J'ai opté pour un contour rouge.
Je voulais, si possible, que l'objet final puisse être facilement emporté ou déplaçable et soit autonome énergie afin qu'il puisse être posé n'importe où sans nécessiter de le brancher.
Le matériel est donc le suivant :
* Un Raspberry Pi Zéro W avec support GPIO (environ 15 € fdpin, mais j'en possédais déjà un),
* Un écran e-ink Inky pHAT 2.13" noir/blanc/rouge (environ £30 fdpin, soit environ 35 €),
* Une batterie Pisugar 3, optionelle, permettant de rendre l'objet autonome en énergie un moment ($40 fdpin, soit environ 35 € + 5 € de douane).
Comptez donc environ 70 € de matériel sans la batterie ou environ 85 € avec la batterie.
## La programmation
Je n'avais jamais géré de projet logiciel de bout en bout, les seules fois précédentes où j'avais touché à du code, c'était pour bidouiller de l'existant. Devoir comprendre le code de quelqu'un d'autre et l'adapter ou devoir écrire entièrement soi-même un code sont deux choses complétements différentes avec leur logique propre.
Étant technicienne, je suis habituée à remonter des cheminements logiques lorsque je dépanne ou bidouille des appareils. C'est avec plusse ou moinsse les même techniques que j'appréhende le code de quelqu'un d'autre et que je l'adapte à mes besoins.
Cette fois je ne peux pas faire ça, je dois tout écrire moi-même, mais l'expérience de mes bidouilles passées me sera extrêmement précieuse ! J'ai toujours préféré apprendre par la pratique et de la pratique j'en ai eu par mes bidouilles et j'en aurai avec ce projet.
J'apprends des tas de choses en Python, principalement des choses basiques, c'est vrai, mais ça me fait plaisir.
Je fais des tas d'erreurs vraiment grossières, mais j'apprends à ne plu les faire, à faire proprement.
J'ai deux personnes qui m'aident ponctuellement lorsque je bloque ou que j'ai des questions spécifiques.
Je met un mois complet à programmer les quelques lignes que comporte mon script.
Xana.
2022-02-09
## Annexe
[Notion](https://www.notion.so/product)
[Inky Phat](https://shop.pimoroni.com/products/inky-phat)
[Pisugar 3](https://www.pisugar.com/)
[Le dépôt git du projet](https://labo.emelyne.eu/oniricorpe/motion)

View file

@ -0,0 +1,83 @@
+++
title = "Pico stuff"
date = 2024-04-07
authors = []
theme = "anemone"
template = "blog-page.html"
[extra]
lang = "en"
+++
just a page to hoard stuff around Pico-8 and Picotron for quick access and memory
[Lexaloffle forum, the 'BBS'](https://www.lexaloffle.com/bbs/)
note: Pico-8 is included in the infamous itch.io 'Bundle for Racial Justice and Equality', so if you purchased it, you already have Pico-8:
[Pico-8 on itch.io](https://lexaloffle.itch.io/pico-8)
[Bundle for Racial Justice and Equality](https://itch.io/b/520/bundle-for-racial-justice-and-equality)
## Pico-8
[official website](https://www.lexaloffle.com/pico-8.php)
[ressources page (with many nice stuff too)](https://www.lexaloffle.com/pico-8.php?page=resources)
[manual.html official manual](https://www.lexaloffle.com/dl/docs/pico-8_manual.html)
[changelog](https://www.lexaloffle.com/dl/docs/pico-8_changelog.txt)
[free web version](https://www.pico-8-edu.com/)
### cheatsheets
[summarized API cheatsheet](https://www.lexaloffle.com/bbs/?tid=28207)
[in depth API cheatsheet](https://iiviigames.github.io/pico8-api/)
## Picotron
[official website](https://www.lexaloffle.com/picotron.php)
[ressources page](https://www.lexaloffle.com/picotron.php?page=resources)
[official manual](https://www.lexaloffle.com/dl/docs/picotron_manual.html)
[changelog](https://www.lexaloffle.com/dl/docs/picotron_changelog.txt)
### cheatsheets
Picotron is not well documented for now, use the Pico-8 API but bear in mind that some things are not compatibles and may not work
the Picotron official manual is also a really good ressource for now
### tutos
[Picotron instrument design rudiments by packbat](https://www.lexaloffle.com/bbs/?tid=141467)
### random interesting stuff
[Random Picotron discoveries](https://www.lexaloffle.com/bbs/?tid=140758)
[List of Picotron special characters (P8SCII)](https://www.lexaloffle.com/bbs/?tid=141493)
### nice carts
[Enview (API viewer)](https://www.lexaloffle.com/bbs/?tid=140816)
[SLATE - Window based code editor](https://www.lexaloffle.com/bbs/?tid=140703)
[Picotron Wiki](https://www.lexaloffle.com/bbs/?tid=140925)
[PicoNet Explorer, With Sitebuilder!](https://www.lexaloffle.com/bbs/?tid=140960)
[Picotron Solitaire Suite](https://www.lexaloffle.com/bbs/?tid=141288)
[Paint](https://www.lexaloffle.com/bbs/?tid=140716)
## common tools
[A little helper tool for generating fillp patterns, really handy](https://seansleblanc.itch.io/pico-8-fillp-tool)
- my favorite fillp pattern: 0x7dbe
## various stuff
### pixel art tutos
[MortMort youtube channel](https://www.youtube.com/@MortMort/videos)
[Brandon James Greer youtube channel](https://www.youtube.com/@BJGpixel/videos)
### dev tutos
[LazyDevs youtube channel (Breakout, Roguelite, Shmup, Advanced Shmup)](https://www.youtube.com/@LazyDevs/playlists)
[Lua track on Exercism, to learn Lua (the language used in Pico-8 and Picotron) from scratch with small exercises](https://exercism.org/tracks/lua)
xana,
published the 07/04/2024
updated the 07/04/2024

View file

@ -0,0 +1,182 @@
+++
title = "Why am I publishing under a non-FLOSS license?"
date = 2024-04-30
authors = []
theme = "anemone"
template = "blog-page.html"
[extra]
lang = "en"
+++
> “FLOSS: Abbreviation of free/libre/open source software.”
> “Coordinate terms: FOSS, OSS”
[Wiktionary page for FLOSS.](https://en.wiktionary.org/wiki/FLOSS)
Well... an interesting and highly controversial question, right? Absolutely!
You probably think that a non-free licence is necessarily a bad thing and any good license must respect the 4 golden FLOSS freedoms?
Ehhh, on that subject I think not, let me explain my opinion on this.
I hope it will make a lot more sense to you after that!
## Some necessary introduction
This text will mainly talk about my GoToSocial package for YunoHost, released under the "i'm so tired" software license 1.0 since 2024-01-18.
[A text from the creator of this license, explaining why this license exists and some of the design choices made. I strongly recommend reading it to understand the situation.](https://olmewe.com/notes/istsl/)
Some people are criticizing me for that choice and I wanted to address this with the text you're currently reading.
I advise librists and liberals to breathe in and out deeply, because some arguments can make them lose their composure.
## Because I can
So let's begin with the easy part! ^w^
### Other main YunoHost volunteers are okay with that
I can't speak for every single person who were involved with the YunoHost development from the beginning, but most of the current main volunteers have approved the release of the GTS package I created and maintained under the "i'm so tired" license.
YunoHost already made the choice to permit apps “under an overall free license, but with clauses that restrict its use”, so the same for packages is in this continuity.
### We can publish a YunoHost package under another license that the packaged app
YunoHost allows publishing of packages with any non proprietary license. That's all.
And even with software released under GPL (and it's derivatives, well know for “contaminating” all derived software with the identical license), the YunoHost package can use another license, because the package is not a “derivative work” but a totally distinct software program that installs another one.
### I don't care about the 4 technocratic freedoms
I'm not that committed to the “holy rules” of the Free/Libre and open-source software.
In fact, I see many things to criticize in them.
More on that subject further in the text!
### You're not limited: there is a large choice of fedi software
[I mean, currently there are 13 fedi software available on YunoHost (without counting GTS).](https://apps.yunohost.org/catalog?category=social_media)
Yes, GTS is the lightweight and is currently gaining popularity but you technically have choice, eh.
Which ties in with the next point...
### Many things are inaccessible to many people and that's usually seen as fine
Like, really, who cares that things are inaccessible? “Very few people” is the answer.
Otherwise the world wouldn't be a complete hell for disabled people. I say that as a disabled person.
So yeah some things are inaccessible to some people, and as a disabled person, I really don't care if my software is not available to someone because of the “you must not endorse cops” clause.
## Because I want
### I want my work to be political
Because I'm looking towards a better world. The “i'm so tired” license I'm using is a way to defend and assert it.
> “this is anti-capitalist, anti-bigotry software, made by people who are tired of ill-intended organisations and individuals, and would rather not have those around their creations.”
> the "i'm so tired" software license 1.0
I do NOT want my work used against me or people like me (so used to spread transphobia, ableism, eugenics, anti-poor speeches, etc.). I also do NOT want to help such people in their life. I do NOT want these people near me at all.
I don't want to help malicious, antisocial people or more specifically people who take advantage of the oppression that concern me (or anyone if fact) or who would like to see me in misery or dead. And yes, I assure you that such people exist.
If by my work I can make them feel a little bit insecure or not welcomed, I see it as a fair return.
They have basically access to everything. Not me. In my daily life I'm excluded from many things for various reasons I don't want to mention now. So yeah: fair return.
[Did you know the paradox of tolerance?](https://en.wikipedia.org/wiki/Paradox_of_tolerance)
Basically, it states that intolerant people must be punched in their nazi face, as it should be.
This license is simply doing that, accordingly to my ideals.
It also tells people like me that they have a place, that they will be protected, that their lives are worthwhile.
And that they can have a little trust in me and in the people who stay around, because it self-selects for trustworthy people.
### FLOSS licenses are lying
FLOSS licenses are technocratic and libertarian, but it's hidden, thank to a big omission lie.
And that stinks (in a bad way).
#### The “freedom to use” is already limited
Does the person own the hardware to run it? (Money, space, life stability, etc.)
Does the person use the right OS to run it?
Does the person talk the language of the app? (You know, not everyone talk English…)
Does the person have the know-how to run it? (And yes, the lack of good documentation for your software is increasing the required know-how.)
Does the person have the time to run it? (And yes, the lack of good documentation for your software is also increasing the required time.)
#### The “freedom to study” is already limited
Did the person learn how to program? How computers works? How a forge works?
The “freedom to use” prerequisites are intensified here. Same thing but even harder: money, social status, available time, cognitive abilities, etc.
#### The “4 freedoms” are politics and are defending a certain worldview that I don't share
That's not a secret that most programmers are white cisgender able-bodied dudes with a nice income and few constraints in their lives.
Maybe the self-selection I talked earlier in the “I want my work to be political” section is done here too, but in an insidious and disgusting way? (That's a rhetorical question, the answer is obviously “yes”.)
Ask any woman, any trans person, any BIPOC person, any disabled person how they are living their work in the marvelous (sarcasm) computer industry, you'll be surprised (no, lol).
Maybe you don't meet any women, trans, BIPOC or disabled people at work or in techy online spaces, or very few? That's proving my entire point.
There is some things we can collectively do to reduce those inequalities:
- active activism against capitalism;
- active activism for socialism (abolish money, free home, free food, free education for everyone);
- active activism for anarchism (abolish social status, community-based organization);
- active activism against any oppression (based on gender, race, disabilities, age, etc);
- actively punish socially hurtful people (that's what the "i'm so tired" software license is doing);
- and the hardest for some people: be a nice and respectful person that embraces human diversity and aspires to a truly just and fulfilling world for everyone.
When a so-called freedom cannot be experienced by everyone, it's NOT a freedom, but a privilege.
Until all the structures that perpetuate oppression have been dismantled, until all individuals have been collectively emancipated, these "4 freedoms" will remain nothing more than elitist rhetoric.
## Conclusions
### Why couldn't I add limitations since there are several (but hidden) ones?
People are mad because I'm limiting their choices but they don't care that the actual limitations of the FLOSS licenses are already doing that to marginalized people. Or worse: they endorse it.
I acknowledge that FLOSS licenses are not perfect and I understand their design when I consciously add limitations. I don't alter their spirit when I add limitations, I use a tool already well designed for that purpose.
Maybe the FLOSS' hidden limitations suit you: that's fine. As long as you understand what's at stake.
The point is: I don't like their consequences, that's all.
The limitations of the “non-FLOSS” licences I'm using suit me, that's fine and I understand what's at stake.
The point is: if you disagree with me, you don't like their consequences, that's all.
### It will piss off privileged people…
... because they can't have a thing when they usually have everything. That makes me really happy! ^w^
If you're one of those people who usually has everything effortlessly:
The feeling you're experiencing is the one I feel every time I can't buy myself a nice thing for pleasure because I'm poor.
The feeling I have when I can't go to a friend's house because their apartment has stairs and I'm a wheelchair user.
The feeling I have when I can't join my friends at the bar because it's too noisy and I can't stand it for neurodivergent reasons.
That's called frustration, and I promise: the more you're experiencing it, the sooner you get used to it and resign yourself.
And that's why I'm fighting you to defend me and people like me: we have a place to be and our lives are worth living in peace.
I'm fighting for a better world so that no one has to suffer like this. And if that means frustrating non-frustrated people (so, privileged people), that's fine with me. You'll get used to it, it'll be fine, I promise. 😌
### Yes, the licenses I am using are not perfect, but…
1. I don't have to fix the world alone.
2. I still prefer my “non-FLOSS” licenses over your FLOSS ones.
### You have a different opinion?
Great. I don't care. Keep it to yourself if you do not apply the points listed in the “The 4 freedoms are politics and are defending a certain worldview that I don't share” section. Thanks.
Émy,
published the 30/04/2024
Thanks to all the people who took the time to proofread this text and suggest improvements before final publication!