# motd : Message Of The Day 2025-10-05T20:23:32Z Au cours de quelques échanges avec f6k, on s'interrogeait sur le paradoxe d'avoir besoin de publier des textes parfois personnels, mais en même temps souhaiter les conserver un peu cachés. => http://huld.re (javascript requis ^^) Publier mais cacher... Rendre publique mais dissimuler, ça n'a pas de sens me direz-vous! Il y a dans cette démarche une sorte de pudeur : ne pas vouloir afficher en grand ni faire la publicité de ce qu'on compose. Il y a aussi une forme de honte, c'est très personnel, qui cela pourrait-il bien intéresser? À cela s'ajoute un peu de syndrome de l'imposteur, compensé par le fait d'avoir son propre site sur lequel, après tout, on fait bien ce qu'on veut! En parallèle, on discutait des pages /now de l'Indieweb. => https://indieweb.org/now Une telle page me plaisait bien, mais je craignais de ne pas être capable de la tenir à jour, simplement d'y penser. f6k quant à lui, a choisi d'utiliser finger pour publier de ses nouvelles. À la place, je me disais qu'un fichier twtxt.txt serait tout à fait suffisant. => https://github.com/buckket/twtxt J'adore l'idée d'un fichier twtxt. Le peu d'interaction avec d'autres me plaisait beaucoup. Pour m'affranchir dee l'abonnement nécessitant un client spécifique, j'en faisais même un flux atom : => https://si3t.ch/code/twtxt2atom/ Sauf que voilà, il me posait finalement quelques problèmes : * Je ne peux l'éditer que depuis mon ordinateur. Alors que je veux passer moins de temps devant ce dernier, il devenait un peu inutile, et je prenais finalement davantage de notes sur un bloc-note ou avec Markor sur Android. * Je me sentais limité par les entrées sur une ligne simple. En parallèle, j'avais un script "notd" qui ajoutait à un fichier texte la date du jour, puis l'ouvrait à la ligne correspondante avec vi, dans lequel je déposais des liens intéressants, des remarques, des idées... Ajoutez à ceci l'utilisation de Syncthing pour avoir mes notes sur mon smartphone et sur mon ordinateur, et vous avez la genèse de motd. J'aurais pu reprendre scribo, qui permet d epublier par mail, mais le souci c'est qu'on ne peut pas éditer facilement un message si on veut faire une édition en plusieurs fois. => gopher://z3bra.org/0/projects/scribo.txt Pour remplacer mon twtxt et moins m'auto censurer, je me décide à ouvrir un "message of the day", qui ne sera qu'un flux atom à la mode "shinobi" et un petit gopherhole pour lister plus facilement chaque entrée. => https://shinobi.btxx.org/ > Quoi??? Gopher? Mais, t'avais dit que... Oui, c'est ma façon de garder cet espace de publication "semi privé". C'est à dire que si quelqu'un a envie de lire mes jérémiades, c'est qu'il se sera vraiment donné la peine de faire la démarche d'aller sur le gopherhole. C'est d'ailleurs pour cela que j'hésite à garder le flux atom... ## MOTD : mise en place (description rapide...) Tout d'abord, j'installe Syncthing sur tous mes appareils, (ordinateur, téléphone, serveur). => https://syncthing.net/ Je configure Syncthing pour que les 3 appareils ci-dessus disposent des notes écrites avec Markor. De cette façon, je pourrai écrire tant sur mon ordinateur que smartphone. => https://github.com/gsantner/markor Dans Markor, je crée un dossier "motd" qui contiendra toutes mes notes. J'installe geomyidae pour configurer un gopherhole: => https://si3t.ch/ah/fr/09-services/#Gophergeomyidae Je crée un dossier pour contenir le gopher hole et j'ajuste la façon dont geomyidae sera lancé: ``` # mkdir -p /var/gopher/motd.si3t.ch # chmod 666 /var/gopher/motd.si3t.ch # rcctl enable geomyidae # rcctl set geomyidae flags -c -e -b /var/gopher/motd.si3t.ch -l /var/log/motd.si3t.ch.log # rcctl start geomyidae ``` J'ajuste le roulement des logs: ``` # cat /etc/newsyslog.conf /var/log/motd.si3t.ch.log 644 4 * * Z "rcctl reload geomyidae" ``` Je crée un espace http et ajuste la configuration de httpd pour servir le flux atom par défaut: ``` # mkdir -p /var/www/htdocs/motd.si3t.ch # chmod 666 /var/www/htdocs/motd.si3t.ch # cat /etc/httpd.conf server "motd.si3t.ch" { listen on * port 80 directory index "atom.xml" root "/htdocs/motd.si3t.ch" gzip-static } # rcctl reload httpd ``` J'ajoute une tâche cron qui copiera les notes dans le gopherhole chaque nuit et générera le flux atom pour la partie http: ``` $ crontab -e # motd 0 0 * * * /home/bibi/jobs/motd.sh ``` le script motd.sh ressemble à ça : ``` #!/bin/sh -e # generate motd text files to atom file # the file must start with publication date : # YYYY-MM-DD-title.txt # or # YYYY-MM-DD.txt # srcdir=/var/syncthing/Notes-x/motd/ motd=/var/gopher/motd.si3t.ch/ atom="/var/www/htdocs/motd.si3t.ch/atom.xml" domain="motd.si3t.ch" id="http://motd.si3t.ch/" url="//${domain}" feedtitle="prx's Message Of The Day" author="prx" email="prx@si3t.ch" tag="motd" # sync files openrsync -vr --delete ${srcdir} ${motd} # header template of the atom cat << EOF > "${atom}" ${id} ${feedtitle} ${author} ${email} $(date -u +%FT%TZ) EOF for f in "${motd}"/*.txt; do bn="$(basename $f)" pubdate="$(printf "${bn})" | cut -c-10)" timestamp="$(printf "${bn}" | tr -cd '[^[:digit:]]')" entryid="tag:${domain},${pubdate}:${tag}${timestamp}" cat << EOF >> "${atom}" ${entryid} ${bn} ${pubdate}T23:59:59Z ", "]]]]>")}1' ${f}) ]]> EOF done printf '%s' '' >> "${atom}" gzip -k9 "${atom}" exit 0 ``` Je reviendrai peut-être une autre fois sur la génération d'un flux ATOM. C'est vraiment facile une fois qu'on a chopé le truc, et c'est tellement génial! ## Publication Concrètement, si j'ai mon téléphone, je crée un nouveau fichier avec Markor. Ce dernier permet de directement choisir un nom de fichier suivant le modèle YYYY-MM-DD-blablabla.txt. Sinon, avec mon ordinateur, je lance le script "motd": ``` #!/bin/sh # motd : message of the day. # open a new YYYY-MM-dd.txt in $MOTDDIR with $EDITOR # Author: prx MOTDDIR=~/work/notes/motd dotd="$(date +%Y-%m-%d)" title="$(echo "$@" | awk ' { gsub(/[[:space:]]/, "-") gsub(/[éèêë]/, "e") gsub(/[àâ]/, "a") gsub(/[ùû]/, "u") gsub("ç", "c") gsub(/[^[:alnum:]_-]/, "") print } ')" if [ -n "${title}" ]; then f="${MOTDDIR}/${dotd}-${title}.txt" else f="${MOTDDIR}/${dotd}.txt" fi # add date of the day and title inside if [ -z "$(grep $dotd $f)" ]; then printf "# %s %s\n\n" "${dotd}" "${@}" >> "${f}" fi # edit à la fin du fichier: ${EDITOR} + "${f}" ``` Ce script permet juste d'ajouter un titre éventuel si je le passe à la ligne de commande et de retirer les caractères spéciaux du nom de fichier. --- Une réaction? Envoyez votre commentaire par mail ✉️: => mailto:prx@si3t.ch?subject=motd--Message-Of-The-Day Ou rejoignez le salon XMPP 💬: => xmpp:fremen@chat.si3t.ch?join ~*´¨¨) ⹁.•´¸.•*´¨) ¸.•*¨) (¸.•´ (¸.• ;⹁.~!prx