BlaBla Calut

Reader

Read the latest posts from BlaBla Calut.

from Jélatine

La version distribuée de WriteFreely ne permet pas la publication d'image facilement. Voici une solution simple, avec du Nextcloud derrière.

Épure

WriteFreely (ce moteur de blog que j'utilise là en ce moment) a été écrit avec une idée principale en toile de fond : la simplicité (pour les rédacteur⋅ices). Pas de distractions, pas de plugins, les thèmes se réduisent à une feuille de style,... Il n'y a qu'à voir la documentation.

Learn how to do more than publish plain text in this guide for writers.

Alors oui, certes, mais pas beaucoup more (ce qui est très bien de mon point de vue).

... Et pas d'upload d'image

Si la documentation nous explique comment intégrer une image au fil du texte en markdown, il n'y a rien qui permet d'envoyer cette image sur le serveur !

![Cosmic radiation](https://i.snap.as/T05UTpx.jpg)

D'après ce que je comprends, c'est possible dans les versions payantes proposées sur write.as, qui est une plateforme maintenue par l'équipe de développement de WriteFreely (donc n'hésitez pas si vous voulez les soutenir !)

Liens internes

Malgré tout, WriteFreely reste un site web, et le favicon.ico, par exemple (mais si vous savez, le petit icône du site dans l'onglet de votre navigateur !), est bien dans l'arborescence du site sous /var/www/writefreely/static, et je remarque que dans les templates, il y est fait référence tout simplement avec

<link rel="shortcut icon" href="/favicon.ico" />

Ce qui signifie que les liens relatifs ont pour racine ce répertoire static.

Un répertoire partagé, un lien symbolique, et c'est gagné

Vu que j'ai installé WriteFreely et Nextcloud grâce à Yunohost pour autohéberger tout ça sur une même machine, il existe un répertoire partagé dans /home/yunohost.multimedia/ qui s'appelle share/Pictures. J'y ai rajouté un sous-dossier blog_res (pour “blog resources” mais vous faites bien comme vous voulez) que je peux synchroniser avec mes différents terminaux.

Pour finir, je crée un lien symbolique dans static/ que j'appelle share et qui pointe vers blog_res :

ln -s /home/yunohost.multimedia/share/Picture/blog_res share

Et voilà !

Maintenant, je peux écrire

![Prudence !!](/share/prudence.jpg)

au fil du texte pour vous afficher ça : Prudence !!

Pour aller plus loin...

... mais clairement ce sera sans moi, c'est juste quelques idées comme ça :

  • proposer la création de ce répertoire et de ce lien symbolique au moment de l'installation de WriteFreely dans yunohost
  • organiser le repertoire blog_res avec les noms des posts
 
Lire la suite...

from Jélatine

Pourquoi ??

Je n'ai plus de facebook ni de twitter depuis belle lurette, jamais eu X ni insta, et ceci grâce à Framasoft et son instance mastodon “Framapiaf”. Puis j'ai suivi le mouvement de deframasoftisation en montant ma propre instance Misskey il y a 4 ans (à 5 jours près).

Après ces quelques années de présence sur le fedivers grâce à ce serveur de microblogging, mon bilan est le suivant : * trop de gadgets pour l'utilisation que j'en ai, * un bug à la connexion m'oblige à ouvrir l'outil de developpement du navigateur pour changer le “disabled” sur le bouton, * le “Drive” intégré ne fonctionne plus : je ne peux plus uploader des fichiers, * l'erreur du Drive est différente selon l'origine de l'upload (client web ou android) ! * la doc et les tickets github n'aide pas, * le maintien du dépôt Yunohost n'est pas assuré (et je n'ai pas le temps ni les compétences de prendre des initiatives à ce propos).

J'ai donc sauté le pas, installé Mastodon sur mon serveur Yunohost, et migré mes abonnements/abonné⋅es sur cette nouvelle instance!

Parlons technique...

Première étape : récupérer mes abonnements

Autant du côté de misskey que mastodon, il est dit que la migration est supportée, et c'est documenté. Tant mieux ! Et ça parait simple : un système d'alias sur les 2 instances permet de récupérer automatiquement les abonnée⋅es. Par contre, pour les abonnements, ça doit se faire manuellement : export côté misskey, import côté mastodon.

Problème : le CSV créé au moment de l'export est forcément dépose sur le Drive ! Oui, celui-là même qui ne marche plus ! Il a donc fallu que je trifouille dans la base de donnée de Misskey.

  1. connexion à la BDD misskey :
    • chercher les infos de base de donnée dans var/www/misskey/.config/default.yml. On y récupère un password, un misskey user et un misskey db
    • dans le terminal : PGPASSWORD='<password>' psql -h localhost -p 5432 -U <misskey user> <misskey db>
    • ce qui ouvre un prompt postgresql à partir duquel on peut executer des requêtes
  2. Requêtes : select id,username from "user" where host IS NULL; permet de récupérer l'id de l'utilisateur misskey à migrer. select "user".username,following."followeeHost" from "user",following where "user".id = following."followeeId" and following."followerId" = '<id à migrer>'; Ceci affichera l'ensemble des abonnements sous la forme "nom", "serveur". Pour enregistrer le résultat de cette requête dans un fichier, il faut l'orner de la commande \\copy(...) to fichier.csv with csv header : \\copy (select "user".username,following."followeeHost" from "user",following where "user".id = following."followeeId" and following."followerId" = '<id à migrer>';) to /…/following.csv with csv header
  3. Récupérer le csv localement scp -P <port> …@<serveur>:/…/misskey_following.csv following.csv
  4. Formater le csv pour mastodon D’apres un export sur un vieux compte mastodon, l'en-tête du CSV doit ressembler à ça : Account address, Show boosts, Notify on new posts, Languages, avec
    • Account address : username@followeeHost (construit à partir des deux colonnes du csv extrait de la bdd misskey)
    • Show boosts : true,
    • Notify on new posts : false,
    • Languages : vide.

Ce qui peut se faire en 2 sed (mais il y a certainement plus élégant) :

sed -i 's/,/@/g' misskey_following.csv
sed -i 's/$/,true,false,/g' misskey_following.csv

J'ai donc un fichier qui contient mes abonnements misskey comme si je l'avais exporté depuis mon profil.

Deuxième étape : configurer les alias

Côté mastodon pas de soucis. Il suffit de naviguer dans les paramètres du profil. Côté misskey, j'ai une erreur : “cannot migrate root account“. Et effectivement, le seul compte existant est “root” au sens de misskey. J'ai suivi ce post : https://korhonen.cc/posts/migrate_misskey_root_account/, et surtout le commentaire qui apporte une mise à jour fort utile : dans la base de donnée misskey, il suffit d'executer la commande suivante :

UPDATE meta SET "rootUserId" = '<l'id d'un autre utilisateur>';

Il faudra peut-être créer un autre utilisateur pour l'occasion. C'était déjà le cas chez moi, pour des tests, donc je l'ai mis en root pour “libérer” le compte à migrer.

Et voilà ! J'ai pu alors définir l'alias vers mastodon dans misskey (rappel, l'inverse avait été fait de l'autre côté aussi ! Et oui, ça veut dire que l'instance mastodon était installée avant tout se bazar).

Final

Import du CSV des abonnements dans mastodon, constatation que les abonné⋅es se réabonnent automatiquement – sauf pour les comptes avec autorisation : il faut que j'attende que celleux-là me ré-acceptent !

 
Lire la suite...

from Jélatine

Petit point annuel sur mon environnement numérique qui me permet d'héberger un certain nombre de services (si je m'y tiens, je m'impressionnerai tout seul...).

Matériel

Toujours le vieux XPS de 2015 derrière la Freebox. Rien n'a vraiment changé finalement. On peut dire qu'il est amorti !

Logiciel

La base n'a pas changé non plus (à part les versions bien sûr) : Fedora Server sur le XPS – que j'administre à partir de l'interface web Cockpit –, qui gère une machine virtuelle #Yunohost.

Ce Yunohost gère quant à lui deux domaines, le perso calut.fr et un autre pro, avec les e-mails bien sûr.

Blog

J'ai laissé tombé Pelican pour WriteFreely. J'aimais beaucoup le côté statique de Pelican, et ma bidouille pour le faire marcher avec Nextcloud était presque pas trop mal. Mais force est de constater que je ne m'en suis pas servi !

Avec #WriteFreely, je me dis que la diffusion sur le fediverse me motivera un peu plus. J'ai rapatrié mes posts #Pelican (il y a une fonction d'import, pas trop d'effort à fournir), l'interface est ultra-sobre... On verra !

Microblog

Plus ça allait, et plus mon instance #Misskey me faisait soucis. Le “Drive” intégré ne me permettait plus de télécharger des fichiers, plus de photos à partager donc, plus d'image de profil, et la documentation est peu instructive tout comme les fils des tickets github.

Après tergiversations et scrutation du catalogue yunohost, j'ai décidé de migrer vers une instance #mastodon. @djelouze@social.calut.fr est donc devenu @djelouze@mstdn.calut.fr, parce que je n'ai pas trouvé le moyen de conservé le sous-domaine social.

La migration n'a pas été compliquée, à part quelques bidouillages côté misskey pour l'export des abonnements. J'y reviendrai dans un autre post je pense.

Cloud

#Nextcloud est toujours en service, c'est la plus vieille application de mon yunohost et je lui ai adjoint #Collabora pour de l'édition WYSIWYG.

Gestionnaire de mot de passe

Je suis en train de passer de KeepassXC (que j'utilisais sur mes différents terminzux grâce à nextcloud) à Vaultwarden, un fork de Bitwarden. Le but est de proposer le service à une personne que je ne vois pas gérer des synchronisations nextcloud.

En vrac

  • Dépôt de code : #Forgejo est très mieux, j'en ai deux, mais je les utilise peu
  • Funkwhale, toujours là, je n'utilise pas la fédération pour l'instant
  • Calibre-web pour partager mes livres avec mes collègues
  • Dolibarr pour la gestion de ma petite entreprise
  • SoGo pour que le fiston puisse aller voir ses mails de partout
  • Kresus pour la gestion des finances quotidiennes
  • Et plein d'autres que je teste (dont RustDesk pour dépanner la famille) !
 
Lire la suite...

from Jélatine

Une mise en veille (un peu) longue

Ceci n'est pas un billet technique

Ou pas que. La sortie d'hibernation concerne uniquement ce blog, qui n'a pas eu de nouveau billet depuis 2 ans. Et il s'en est passé, des choses, depuis...

(À commencer par ma reprise d'étude, que j'espérais raconter depuis la décision en 2021!)

Évolution de mon auto-hébergement

Donc voyons voir. À l'époque, je me lançais dans l'auto-hébergement. Une machine à la maison (XPS de 2015) derrière une freebox pour différents services ludiques, un VPS chez hetzner pour un nextcloud familial et un nom de domaine chez gandi qui gérait également mes mails.

Le XPS est sur une Fedora server pour gérer quelques machines virtuelles, dont une Yunohost – et c'est la seule, finalement !

Yunohost a fait largement ses preuves depuis, et je ne l'ai pas épargné : installation d'applications en tout genre “pour voir”, désinstallation évidemment parce que “en fait je m'en sers pas”, serveur minetest pour l'ado qui finalement préfère fortnite sur switch, mon instance Misskey qui me relie au fédivers,...

La première grande évolution a été de laisser Yunohost gérer mes mails perso, Gandi ne devenant plus qu'un fournisseur de nom de domaine. Ça fait maintenant plus d'un an que c'est le cas. Je n'ai pas souvenir de problème de configuration, éventuellement quelques passages en spam chez quelques destinataires, mais rien d'alarmant.

La deuxième évolution importante : rapatrier mon nextcloud (et accessoirement un serveur Calibre et ce blog) à la maison pour fermer le VPS et faire quelques économies. Encore une fois, Yunohost gère très bien Nextcloud, Pelican et Calibre-web donc à part le temps de transfert des données ça n'a pas été très difficile[1]. J'ai juste fait attention avec les enregistrements DNS, les IP ayant changé ! Et justement...

Dernière évolution : le passage de Gandi à Infomaniak pour le nom de domaine. Là, j'ai perdu un peu de confort, car Yunohost gére automatiquement les enregistrements DNS avec Gandi. Ce n'est pas le cas (pour l'instant ?) avec Infomaniak. J'ai commencé par exporter les enregistrements Gandi, effectuer le transfert vers infomaniak, puis mettre à jour quelques enregistrements. Et voilà (en anglais dans le texte).

Aujourd'hui

Pour résumer, tout est chez moi sur un PC de 10 ans d'âge. Le serveur Fedora avec son interface Cockpit ne gère qu'une seule VM Yunohost, aussi je me tâte à tout simplement installer Yunohost directement sur la machine. Mais je dois avouer que pour les sauvegardes, faire un petit snapshot de la VM de temps en temps, c'est facile quand même 😅

Le passage à Yunohost 12 a quand même fait une victime collatérale : mon instance Funkwhale[^2], que j'appréciais pour écouter mes musiques ailleurs que chez moi. Je n'ai pas le temps de m'occuper de ça, et heureusement mon audiothèque est intacte. Pour l'instant, je laisse Nextcloud me proposer son player mais j'aimais bien le côté fédéré de funkwhale.

Depuis mes migrations récentes, Yunohost gère aussi mon nom de domaine pro, ses mails, son nextcloud et son dolibarr. Encore une fois, rien à redire. J'ai remplacé Gitea par Forgejo, sans avoir eu l'occasion de tester.

Pour ce blog, j'ai tâtonné concernant les droits d'accès des fichiers de façon à pouvoir synchroniser les fichiers “sources” de Pelican avec Nextcloud. C'est chose faite : j'édite les billets en markdown sur ma machine (j'ai installé et découvre Apostrophe[^3] qui est très bien) ou directement dans le navigateur depuis mon nextcloud. Quand je sauvegarde, les fichiers HTML du blog sont générés automatiquement. J'aurais voulu passer à WriteFreely pour la fédération, mais une erreur m'empêche de l'installer sur Yunohost.

Plus tard...

La prochaine étape serait de migrer mon Misskey (ma porte d'entrée vers le fedivers) vers une instance Pleroma, mais l'application n'est plus disponible sur Yunohost. J'ai été déçu par une mise à jour récente, qui m'a imposé des fonctionnalités de gamification qui ne m'intéressent pas. Mais je n'ai pas le courage/temps/argent d'installer un autre serveur.

Dorénavant ce serveur auto-hébergé qui tourne comme une horloge va servir surtout à soutenir ma reprise d'étude. Je tenterai donc quelques expériences qui lient médecine, cours, et informatique (serveur d'image médicale, différents projets autour de Anki pour la préparation du concours EDN,...)

[1]: Je ne me suis pas lancé dans une migration de serveur : sur le VPS, l'installation avait été faite “à la main”, et je préfère laisser Yunohost gérer la configuration à la maison. Donc transfert “à l'ancienne” du répertoire nextcloud-data et resynchronisation finale. [^2]: C'est un problème connu, et la solution est... d'attendre :) [^3]: Dépôt gnome d'Apostrophe

#selfHosting #yunohost #nextcloud #pelican

 
Lire la suite...

from Jélatine

Ressusciter un Samsung A5 de 2016 avec une ROM /e/ OS ?

Contexte

Un Galaxy A5 (2016 ou A510F) en bout de course, c'est dommage. Plus de mise à jour d'Android, et pourtant une mémoire saturée en tout point, une batterie qui tient à peine une journée... Il fallait faire quelque-chose.

J'ai déjà installé LineageOS sur mon One Plus en mode extrémiste (aka pas de Google Service). L'utilisation prévue de ce A5 est un peu différente, et je ne peux pas imposer un no-google absolu.

Je suis depuis longtemps (le début ?) les avancées de /e/ OS, et il me semble que le compromis est tout à fait acceptable. Le A5 2016 est supporté et on a accès aux applis du Play Store en mode anonyme. Bref, je tente.

(Presque) pas de mauvaises surprises

La documentation proposée sur le site de la fondation /e/ est complète, claire et suffisante. À suivre donc, pas à pas. Dans mon cas cependant, j'ai dû bidouiller un peu :

  • Le recovery TWRP ne se chargeait pas avec heimdall. Il m'a fallu changer les droits de l'image pour autoriser l'execution (+x)
  • La grande frayeur : au redémarrage après le chargement du custome recovery, logo, puis écran noir ! Aurais-je “briqué” la bête ?? Seul le mode download était accessible avec un comportement de reboot plutôt lunatique... Je suis allé récupérer l'avant-dernière version de TWRP pour cet appareil, et j'ai retrouvé un boot recovery fonctionnel. Ouf.

Une prise en main agréable

La suite de l'installation s'est faite sans encombre, /e/OS démarre et me propose les configurations initiales classiques sans création de comptes bidons, de CLUF intempestifs et autres joyeusetés.

“ça juste marche”.

Premier réflexe : installation de nextcloud. Le store d'application peut être configuré pour ne montrer que les apps libres. Sinon, une connexion en mode anonyme sur le Play Store permet d'installer des apps moins propres si besoin. J'installe Davx5 (agenda, contacts synchronisé avec Nextcloud), KeepassDX (gestion de mot de passe, la base de donnée est synchronisée sur Nextcloud), je configure les mails.

re “ça juste marche”.

Nickel. La batterie a perdu moins de 10% en une journée.

#Android #Samsung #eos #recovery #twrp

 
Lire la suite...