<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Jélatine</title>
    <link>https://bla.calut.fr/djelouze/</link>
    <description>Partage d&#39;expériences d&#39;autohébergement et autres aventures trépidantes. &lt;br&gt;_Les posts d&#39;avant avril 2026 ne sont ici qu&#39;à titre d&#39;archives_</description>
    <pubDate>Mon, 13 Apr 2026 14:33:39 +0200</pubDate>
    <item>
      <title>État des lieux d&#39;auto-hébergement</title>
      <link>https://bla.calut.fr/djelouze/etat-des-lieux-dauto-hebergement</link>
      <description>&lt;![CDATA[Petit point annuel sur mon environnement numérique qui me permet d&#39;héberger un certain nombre de services (si je m&#39;y tiens, je m&#39;impressionnerai tout seul...).&#xA;&#xA;Matériel&#xA;Toujours le vieux XPS de 2015 derrière la Freebox. Rien n&#39;a vraiment changé finalement. On peut dire qu&#39;il est amorti !&#xA;&#xA;Logiciel&#xA;La base n&#39;a pas changé non plus (à part les versions bien sûr) : Fedora Server sur le XPS - que j&#39;administre à partir de l&#39;interface web Cockpit -, qui gère une machine virtuelle #Yunohost.&#xA;&#xA;Ce Yunohost gère quant à lui deux domaines, le perso calut.fr et un autre pro, avec les e-mails bien sûr.&#xA;&#xA;Blog&#xA;J&#39;ai laissé tombé Pelican pour WriteFreely. J&#39;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&#39;en suis pas servi !&#xA;&#xA;Avec #WriteFreely, je me dis que la diffusion sur le fediverse me motivera un peu plus. J&#39;ai rapatrié mes posts #Pelican (il y a une fonction d&#39;import, pas trop d&#39;effort à fournir), l&#39;interface est ultra-sobre... On verra !&#xA;&#xA;Microblog&#xA;Plus ça allait, et plus mon instance #Misskey me faisait soucis. Le &#34;Drive&#34; intégré ne me permettait plus de télécharger des fichiers, plus de photos à partager donc, plus d&#39;image de profil, et la documentation est peu instructive tout comme les fils des tickets github.&#xA;&#xA;Après tergiversations et scrutation du catalogue yunohost, j&#39;ai décidé de migrer vers une instance #mastodon. @djelouze@social.calut.fr est donc devenu @djelouze@mstdn.calut.fr, parce que je n&#39;ai pas trouvé le moyen de conservé le sous-domaine social.&#xA;&#xA;La migration n&#39;a pas été compliquée, à part quelques bidouillages côté misskey pour l&#39;export des abonnements. J&#39;y reviendrai dans un autre post je pense.&#xA;&#xA;Cloud&#xA;#Nextcloud est toujours en service, c&#39;est la plus vieille application de mon yunohost et je lui ai adjoint #Collabora pour de l&#39;édition WYSIWYG.&#xA;&#xA;Gestionnaire de mot de passe&#xA;Je suis en train de passer de KeepassXC (que j&#39;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.&#xA;&#xA;En vrac&#xA;Dépôt de code : #Forgejo est très mieux, j&#39;en ai deux, mais je les utilise peu&#xA;Funkwhale, toujours là, je n&#39;utilise pas la fédération pour l&#39;instant&#xA;Calibre-web pour partager mes  livres avec mes collègues&#xA;Dolibarr pour la gestion de ma petite entreprise&#xA;SoGo pour que le fiston puisse aller voir ses mails de partout&#xA;Kresus pour la gestion des finances quotidiennes&#xA;Et plein d&#39;autres que je teste !]]&gt;</description>
      <content:encoded><![CDATA[<p>Petit point annuel sur mon environnement numérique qui me permet d&#39;héberger un certain nombre de services (si je m&#39;y tiens, je m&#39;impressionnerai tout seul...).</p>

<h2 id="matériel">Matériel</h2>

<p>Toujours le vieux <a href="https://bla.calut.fr/djelouze/ohm-serveur-resistance-a-la-centralisation" rel="nofollow">XPS de 2015</a> derrière la Freebox. Rien n&#39;a vraiment changé finalement. On peut dire qu&#39;il est amorti !</p>

<h2 id="logiciel">Logiciel</h2>

<p>La <a href="https://bla.calut.fr/djelouze/sortie-dhibernation" rel="nofollow">base</a> n&#39;a pas changé non plus (à part les versions bien sûr) : Fedora Server sur le XPS – que j&#39;administre à partir de l&#39;interface web Cockpit –, qui gère une machine virtuelle <a href="/djelouze/tag:Yunohost" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Yunohost</span></a>.</p>

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

<h3 id="blog">Blog</h3>

<p>J&#39;ai laissé tombé Pelican pour WriteFreely. J&#39;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&#39;en suis pas servi !</p>

<p>Avec <a href="/djelouze/tag:WriteFreely" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">WriteFreely</span></a>, je me dis que la diffusion sur le fediverse me motivera un peu plus. J&#39;ai rapatrié mes posts <a href="/djelouze/tag:Pelican" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Pelican</span></a> (il y a une fonction d&#39;import, pas trop d&#39;effort à fournir), l&#39;interface est ultra-sobre... On verra !</p>

<h3 id="microblog">Microblog</h3>

<p>Plus ça allait, et plus mon instance <a href="/djelouze/tag:Misskey" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Misskey</span></a> me faisait soucis. Le “Drive” intégré ne me permettait plus de télécharger des fichiers, plus de photos à partager donc, plus d&#39;image de profil, et la documentation est peu instructive tout comme les fils des tickets github.</p>

<p>Après tergiversations et scrutation du catalogue yunohost, j&#39;ai décidé de migrer vers une instance <a href="/djelouze/tag:mastodon" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">mastodon</span></a>. <code><a href="https://bla.calut.fr/@/djelouze@social.calut.fr" class="u-url mention" rel="nofollow">@<span>djelouze@social.calut.fr</span></a></code> est donc devenu <code><a href="https://bla.calut.fr/@/djelouze@mstdn.calut.fr" class="u-url mention" rel="nofollow">@<span>djelouze@mstdn.calut.fr</span></a></code>, parce que je n&#39;ai pas trouvé le moyen de conservé le sous-domaine <code>social</code>.</p>

<p>La migration n&#39;a pas été compliquée, à part quelques bidouillages côté misskey pour l&#39;export des abonnements. J&#39;y reviendrai dans un autre post je pense.</p>

<h3 id="cloud">Cloud</h3>

<p><a href="/djelouze/tag:Nextcloud" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Nextcloud</span></a> est toujours en service, c&#39;est la plus vieille application de mon yunohost et je lui ai adjoint <a href="/djelouze/tag:Collabora" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Collabora</span></a> pour de l&#39;édition WYSIWYG.</p>

<h3 id="gestionnaire-de-mot-de-passe">Gestionnaire de mot de passe</h3>

<p>Je suis en train de passer de KeepassXC (que j&#39;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.</p>

<h3 id="en-vrac">En vrac</h3>
<ul><li>Dépôt de code : <a href="/djelouze/tag:Forgejo" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Forgejo</span></a> est très mieux, j&#39;en ai deux, mais je les utilise peu</li>
<li>Funkwhale, toujours là, je n&#39;utilise pas la fédération pour l&#39;instant</li>
<li>Calibre-web pour partager mes  livres avec mes collègues</li>
<li>Dolibarr pour la gestion de ma petite entreprise</li>
<li>SoGo pour que le fiston puisse aller voir ses mails de partout</li>
<li>Kresus pour la gestion des finances quotidiennes</li>
<li>Et plein d&#39;autres que je teste !</li></ul>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/etat-des-lieux-dauto-hebergement</guid>
      <pubDate>Sun, 12 Apr 2026 17:57:13 +0200</pubDate>
    </item>
    <item>
      <title>Sortie d&#39;hibernation  </title>
      <link>https://bla.calut.fr/djelouze/sortie-dhibernation</link>
      <description>&lt;![CDATA[Une mise en veille (un peu) longue&#xA;&#xA;Ceci n&#39;est pas un billet technique&#xA;&#xA;Ou pas que. La sortie d&#39;hibernation concerne uniquement ce blog, qui n&#39;a pas eu de nouveau billet depuis 2 ans. Et il s&#39;en est passé, des choses, depuis...&#xA;&#xA;(À commencer par ma reprise d&#39;étude, que j&#39;espérais raconter depuis la décision en 2021!)&#xA;&#xA;Évolution de mon auto-hébergement&#xA;&#xA;Donc voyons voir. À l&#39;époque, je me lançais dans l&#39;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.&#xA;&#xA;Le XPS est sur une Fedora server pour gérer quelques machines virtuelles, dont une Yunohost - et c&#39;est la seule, finalement !&#xA;&#xA;Yunohost a fait largement ses preuves depuis, et je ne l&#39;ai pas épargné : installation d&#39;applications en tout genre &#34;pour voir&#34;, désinstallation évidemment parce que &#34;en fait je m&#39;en sers pas&#34;, serveur minetest pour l&#39;ado qui finalement préfère fortnite sur switch, mon instance Misskey qui me relie au fédivers,...&#xA;&#xA;La première grande évolution a été de laisser Yunohost gérer mes mails perso, Gandi ne devenant plus qu&#39;un fournisseur de nom de domaine. Ça fait maintenant plus d&#39;un an que c&#39;est le cas. Je n&#39;ai pas souvenir de problème de configuration, éventuellement quelques passages en spam chez quelques destinataires, mais rien d&#39;alarmant.&#xA;&#xA;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&#39;a pas été très difficile[1]. J&#39;ai juste fait attention avec les enregistrements DNS, les IP ayant changé ! Et justement...&#xA;&#xA;Dernière évolution : le passage de Gandi à Infomaniak pour le nom de domaine. Là, j&#39;ai perdu un peu de confort, car Yunohost gére automatiquement les enregistrements DNS avec Gandi. Ce n&#39;est pas le cas (pour l&#39;instant ?) avec Infomaniak. J&#39;ai commencé par exporter les enregistrements Gandi, effectuer le transfert vers infomaniak, puis mettre à jour quelques enregistrements. Et voilà (en anglais dans le texte).&#xA;&#xA;Aujourd&#39;hui&#xA;&#xA;Pour résumer, tout est chez moi sur un PC de 10 ans d&#39;âge. Le serveur Fedora avec son interface Cockpit ne gère qu&#39;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&#39;est facile quand même 😅 &#xA;&#xA;Le passage à Yunohost 12 a quand même fait une victime collatérale : mon instance Funkwhale, que j&#39;appréciais pour écouter mes musiques ailleurs que chez moi. Je n&#39;ai pas le temps de m&#39;occuper de ça, et heureusement mon audiothèque est intacte. Pour l&#39;instant, je laisse Nextcloud me proposer son player mais j&#39;aimais bien le côté fédéré de funkwhale. &#xA;&#xA;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&#39;ai remplacé Gitea par Forgejo, sans avoir eu l&#39;occasion de tester.&#xA;&#xA;Pour ce blog, j&#39;ai tâtonné concernant les droits d&#39;accès des fichiers de façon à pouvoir synchroniser les fichiers &#34;sources&#34; de Pelican avec Nextcloud. C&#39;est chose faite : j&#39;édite les billets en markdown sur ma machine (j&#39;ai installé et découvre Apostrophe 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&#39;aurais voulu passer à WriteFreely pour la fédération, mais une erreur m&#39;empêche de l&#39;installer sur Yunohost.&#xA;&#xA;Plus tard...&#xA;La prochaine étape serait de migrer mon Misskey (ma porte d&#39;entrée vers le fedivers) vers une instance Pleroma, mais l&#39;application n&#39;est plus disponible sur Yunohost. J&#39;ai été déçu par une mise à jour récente, qui m&#39;a imposé des fonctionnalités de gamification qui ne m&#39;intéressent pas. Mais je n&#39;ai pas le courage/temps/argent d&#39;installer un autre serveur.&#xA;&#xA;Dorénavant ce serveur auto-hébergé qui tourne comme une horloge va servir surtout à soutenir ma reprise d&#39;étude. Je tenterai donc quelques expériences qui lient médecine, cours, et informatique (serveur d&#39;image médicale, différents projets autour de Anki pour la préparation du concours EDN,...)&#xA;&#xA;a id=&#34;footnote1&#34;[1]/a: Je ne me suis pas lancé dans une migration de serveur : sur le VPS, l&#39;installation avait été faite &#34;à la main&#34;, et je préfère laisser Yunohost gérer la configuration à la maison. Donc transfert &#34;à l&#39;ancienne&#34; du répertoire nextcloud-data et resynchronisation finale.&#xA;: C&#39;est un problème connu, et la solution est... d&#39;attendre :) &#xA;: Dépôt gnome d&#39;Apostrophe&#xA;&#xA;#selfHosting #yunohost #nextcloud #pelican]]&gt;</description>
      <content:encoded><![CDATA[<p><em>Une mise en veille (un peu) longue</em></p>

<h2 id="ceci-n-est-pas-un-billet-technique">Ceci n&#39;est pas un billet technique</h2>

<p>Ou pas que. La sortie d&#39;hibernation concerne uniquement ce blog, qui n&#39;a pas eu de nouveau billet depuis 2 ans. Et il s&#39;en est passé, des choses, depuis...</p>

<p>(À commencer par ma reprise d&#39;étude, que j&#39;espérais raconter depuis <a href="%7Bfilename%7D/passerelle/prologue.md" rel="nofollow">la décision</a> en 2021!)</p>

<h2 id="évolution-de-mon-auto-hébergement">Évolution de mon auto-hébergement</h2>

<p>Donc voyons voir. <a href="%7Bfilename%7D/sci-tech/ohm-serveur.md" rel="nofollow">À l&#39;époque</a>, je me lançais dans l&#39;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.</p>

<p>Le XPS est sur une Fedora server pour gérer quelques machines virtuelles, dont une Yunohost – et c&#39;est la seule, finalement !</p>

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

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

<p>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&#39;a pas été très difficile<a href="#footnote_1" rel="nofollow">[1]</a>. J&#39;ai juste fait attention avec les enregistrements DNS, les IP ayant changé ! Et justement...</p>

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

<h2 id="aujourd-hui">Aujourd&#39;hui</h2>

<p>Pour résumer, tout est chez moi sur un PC de 10 ans d&#39;âge. Le serveur Fedora avec son interface Cockpit ne gère qu&#39;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&#39;est facile quand même 😅</p>

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

<p>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&#39;ai remplacé Gitea par Forgejo, sans avoir eu l&#39;occasion de tester.</p>

<p>Pour ce blog, j&#39;ai tâtonné concernant les droits d&#39;accès des fichiers de façon à pouvoir synchroniser les fichiers “sources” de Pelican avec Nextcloud. C&#39;est chose faite : j&#39;édite les billets en <em>markdown</em> sur ma machine (j&#39;ai installé et découvre <em>Apostrophe[^3]</em> 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&#39;aurais voulu passer à <em>WriteFreely</em> pour la fédération, mais une erreur m&#39;empêche de l&#39;installer sur Yunohost.</p>

<h2 id="plus-tard">Plus tard...</h2>

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

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

<p><a id="footnote_1">[1]</a>: Je ne me suis pas lancé dans une migration de serveur : sur le VPS, l&#39;installation avait été faite “à la main”, et je préfère laisser Yunohost gérer la configuration à la maison. Donc transfert “à l&#39;ancienne” du répertoire <code>nextcloud-data</code> et resynchronisation finale.
[^2]: C&#39;est un problème connu, et la <a href="https://dev.funkwhale.audio/funkwhale/funkwhale/-/issues/2412" rel="nofollow">solution</a> est... d&#39;attendre :)
[^3]: <a href="https://gitlab.gnome.org/World/apostrophe" rel="nofollow">Dépôt gnome d&#39;Apostrophe</a></p>

<p><a href="/djelouze/tag:selfHosting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">selfHosting</span></a> <a href="/djelouze/tag:yunohost" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">yunohost</span></a> <a href="/djelouze/tag:nextcloud" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">nextcloud</span></a> <a href="/djelouze/tag:pelican" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">pelican</span></a></p>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/sortie-dhibernation</guid>
      <pubDate>Thu, 13 Mar 2025 08:26:18 +0100</pubDate>
    </item>
    <item>
      <title>Installation d&#39;/e/ OS sur un Samsung Galaxy A5 2016</title>
      <link>https://bla.calut.fr/djelouze/installation-d-e-os-sur-un-samsung-galaxy-a5-2016</link>
      <description>&lt;![CDATA[Ressusciter un Samsung A5 de 2016 avec une ROM /e/ OS ?&#xA;&#xA;Contexte&#xA;&#xA;Un Galaxy A5 (2016 ou A510F) en bout de course, c&#39;est dommage. Plus de mise à jour d&#39;Android, et pourtant une mémoire saturée en tout point, une batterie qui tient à peine une journée... Il fallait faire quelque-chose.&#xA;&#xA;J&#39;ai déjà installé LineageOS sur mon One Plus en mode extrémiste (aka pas de Google Service). L&#39;utilisation prévue de ce A5 est un peu différente, et je ne peux pas imposer un no-google absolu.&#xA;&#xA;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. &#xA;&#xA;(Presque) pas de mauvaises surprises&#xA;&#xA;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&#39;ai dû bidouiller un peu :&#xA;&#xA;Le recovery TWRP ne se chargeait pas avec heimdall. Il m&#39;a fallu changer les droits de l&#39;image pour autoriser l&#39;execution (+x)&#xA;La grande frayeur : au redémarrage après le chargement du custome recovery, logo, puis écran noir ! Aurais-je &#34;briqué&#34; la bête ?? Seul le mode download était accessible avec un comportement de reboot plutôt lunatique... Je suis allé récupérer l&#39;avant-dernière version de TWRP pour cet appareil, et j&#39;ai retrouvé un boot recovery fonctionnel. Ouf.&#xA;&#xA;Une prise en main agréable&#xA;&#xA;La suite de l&#39;installation s&#39;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. &#xA;&#xA;&#34;ça juste marche&#34;.&#xA;&#xA;Premier réflexe : installation de nextcloud. Le store d&#39;application peut être configuré pour ne montrer que les apps libres. Sinon, une connexion en mode anonyme sur le Play Store permet d&#39;installer des apps moins propres si besoin. J&#39;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.&#xA;&#xA;re &#34;ça juste marche&#34;.&#xA;&#xA;Nickel. La batterie a perdu moins de 10% en une journée. &#xA;&#xA;#Android #Samsung #eos #recovery #twrp &#xA;&#xA; &#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><em>Ressusciter un Samsung A5 de 2016 avec une ROM /e/ OS ?</em></p>

<h2 id="contexte">Contexte</h2>

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

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

<p>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.</p>

<h2 id="presque-pas-de-mauvaises-surprises">(Presque) pas de mauvaises surprises</h2>

<p>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&#39;ai dû bidouiller un peu :</p>
<ul><li>Le recovery TWRP ne se chargeait pas avec heimdall. Il m&#39;a fallu changer les droits de l&#39;image pour autoriser l&#39;execution (+x)</li>
<li>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&#39;avant-dernière version de TWRP pour cet appareil, et j&#39;ai retrouvé un boot recovery fonctionnel. Ouf.</li></ul>

<h2 id="une-prise-en-main-agréable">Une prise en main agréable</h2>

<p>La suite de l&#39;installation s&#39;est faite sans encombre, /e/OS démarre et me propose les configurations initiales classiques <strong>sans création de comptes bidons, de CLUF intempestifs et autres joyeusetés</strong>.</p>

<p>“ça juste marche”.</p>

<p>Premier réflexe : installation de nextcloud. Le store d&#39;application peut être configuré pour ne montrer que les apps libres. Sinon, une connexion en mode anonyme sur le Play Store permet d&#39;installer des apps moins propres si besoin. J&#39;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.</p>

<p>re “ça juste marche”.</p>

<p>Nickel. La batterie a perdu moins de 10% en une journée.</p>

<p><a href="/djelouze/tag:Android" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Android</span></a> <a href="/djelouze/tag:Samsung" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Samsung</span></a> <a href="/djelouze/tag:eos" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">eos</span></a> <a href="/djelouze/tag:recovery" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">recovery</span></a> <a href="/djelouze/tag:twrp" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">twrp</span></a></p>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/installation-d-e-os-sur-un-samsung-galaxy-a5-2016</guid>
      <pubDate>Thu, 04 May 2023 17:39:28 +0200</pubDate>
    </item>
    <item>
      <title>Ohm serveur - résistance à la centralisation</title>
      <link>https://bla.calut.fr/djelouze/ohm-serveur-resistance-a-la-centralisation</link>
      <description>&lt;![CDATA[Le moment idéal&#xA;&#xA;Une conjoncture favorable me motive à tenter un auto-hébergement avancé :&#xA;&#xA;L&#39;écran de mon Dell XPS de 2015 donne des signes de faiblesse, mais reste une configuration honorable (i7, 16G RAM, 500Go SSD)&#xA;Le macbook de la même année revit grâce à une Fedora 35, il devient mon ordinateur quotidien (voir ce billet)&#xA;J&#39;ai le temps&#xA;&#xA;Voici mon plan framasoftien pour participer, à mon humble niveau, à la &#xA;décentralisation. Le XPS deviendra un simple gestionnaire de machines virtuelles dédiées à différents services. Le premier sera un  serveur YunoHost, au coeur de la démarche de décentralisation.&#xA;&#xA;Ce serveur hébergera des instances de plusieurs services en ligne :&#xA;&#xA;Misskey ou Pleroma, en remplacement  de Mastodon et ainsi décharger Framasoft   de mon compte framapiaf&#xA;Peertube, pour voir&#xA;Funkwhale, pour voir&#xA;EtherPad, EtherCalc, pour la collaboration dans différentes assos&#xA;Serveur XMPP, pour montrer d&#39;autres solutions de messagerie instantanée autour de moi&#xA;... et en fonction des besoins, on verra bien.&#xA;&#xA;Je ne compte pas ouvrir les inscriptions sur les instances sociales - je ne me&#xA;sens pas l&#39;âme d&#39;un administrateur-modérateur. Tous les autres services anonymes seront eux bien accessibles, dans la limite des ressources réseaux disponibles.&#xA;&#xA;Test local&#xA;&#xA;Il est extrêmement facile de créer des machines virtuelles (VM) sur Linux. KVM  est intégré au noyau, et le gestionnaire de VM souvent installé par défaut.&#xA; &#xA;Une fois l&#39;ISO de YunoHost récupéré, l&#39;installation se fait sans douleur. L&#39;interface d&#39;administration est censée se trouver sur https://yunohost.local, mais pas dans mon cas : le gestionnaire de VM créé un sous-réseau. Je dois donc passer par l&#39;IP pour afficher l&#39;interface.&#xA;&#xA;Par curiosité, je tente l&#39;installation de Pleroma. A priori, ça fonctionne avec mon nom de domaine, même si je dois l&#39;ajouter dans mon /etc/hosts pour cela - il faut que je change le mode réseau de la VM pour un mode bridge plutôt que NAT, à mon avis.&#xA;&#xA;Mon compte Pleroma voit mon compte framapiaf \o/ La VM étant isolée, &#xA;l&#39;inverse n&#39;est pas vrai, et la communication est perdue rapidement mais c&#39;est prometteur.&#xA;&#xA;Concernant XMPP : YunoHost installe automatiquement un serveur ! Je teste localement avec Gajim (un client XMPP pour linux) : ça marche \o/&#xA;&#xA;Idem, je ne peux pas rejoindre de salon, mais c&#39;est très certainement lié au caractère très local de ma configuration.&#xA;&#xA;Grandeur nature&#xA;&#xA;La première chose à faire est d&#39;installer Fedora Server sur le XPS en faisant table rase du passé. Une fois l&#39;installation terminée, j&#39;ai accès à l&#39;interface de gestion du serveur via Cockpit sur le réseau local. Une mise à jour des paquets et l&#39;installation des outils de virtualisation est nécessaire avant de pouvoir installer l&#39;application Machine qui offre une entrée Virtual Machines dans le menu principal.&#xA;&#xA;Une petite bidouille nécessaire : [éviter que la machine se mette en veille&#xA;lorsqu&#39;elle est fermée](https://leochavez.org/index.php/2019/05/15/prevent-sleep-on-lid-close-in-the-fedora-30-terminal/).&#xA;&#xA;Bridge&#xA;&#xA;Les VM devront être sur le réseau local. Il faut configurer l&#39;hôte&#xA;de manière à proposer une interface réseau en mode Bridge&#xA;&#xA;Yunohost&#xA;&#xA;La première machine virtuelle installée sera donc YunoHost. Après la création de la VM, l&#39;interface réseau choisie par défaut est le bridge, rien à faire donc de ce côté. Yunohost s&#39;installe comme n&#39;importe quel OS headless, l&#39;interface de configuration est accessible par un navigateur sur une machine du réseau local. Contrairement à la documentation,&#xA;https://yunohost.local ne marche pas et je  dois passer par l&#39;IP que je trouve grâce à l&#39;interface de configuration de la Freebox.&#xA;&#xA;Ensuite, c&#39;est la configuration du domaine :&#xA;&#xA;je désactive les mails entrants/sortants et garde XMPP&#xA;je lance la configuration DNS. Heureusement je suis chez [Gandi] et tout cela semble automatisé !&#xA;&#xA;Mais après la récupération de la clé d&#39;API, j&#39;obtiens :&#xA;&#xA;Échec de l&#39;enregistrement create AAAA/xxxx.org : list indices must be integers or slices, not str&#xA;Échec de l&#39;enregistrement create CAA/xxxx.org : list indices must be integers or slices, not str&#xA;Et &#xA;Attente de la réponse du serveur&#xA;qui tourne en boucle sur [POST] /domains/xxx.org/dns/push?dryrun&#xA;&#xA;Pourtant, dans ma configuration DNS Gandi, toutes les entrées de Yunohost apparaissent bien (sauf les deux entrées AAAA et CAA en erreurs évidemment). &#xA;Il n&#39;y a que deux erreurs; je les crée à la main depuis l&#39;interface de gestion de Gandi et c&#39;est bon.&#xA;&#xA;C&#39;est la seule VM sur le réseau qui mérite d&#39;être accessible depuis l&#39;extérieur pour l&#39;instant. J&#39;active la DMZ de la Freebox de manière à rediriger tout le trafic entrant vers elle.&#xA;&#xA;La génération d&#39;un certificat avec letsencrypt passe sans soucis. &#xA;&#xA;La foire aux services&#xA;&#xA;Yunohost est fonctionnel, et avec lui le catalogue d&#39;application qui me happe. Résultat :&#xA;&#xA;Pleroma ne fonctionne pas sur ma configuration, erreur à l&#39;installation&#xA;Misskey s&#39;installe correctement, mais j&#39;ai tâtonné pour créer le premier utilisateur.&#xA;Etherpad, easy peazy&#xA;Funkwhale, easy peazy. Le système de fédération reste obscur pour moi, mais je vais creuser ça&#xA;Excalidraw s&#39;installe correctement mais reste bloqué sur Loading scene lors d&#39;une visite sur la page&#xA;Peertube s&#39;installe proprement, mais le LDAP et l&#39;envoi de mail ne fonctionne pas&#xA;&#xA;Bidouilles&#xA;&#xA;Peertube&#xA;&#xA;Je n&#39;ai pas reçu le mail contenant le mot de passe initial de l&#39;utilisateur root. Il s&#39;agit sûrement d&#39;un défaut de configuration au niveau Yunohost : en effet, je ne souhaite pas utiliser l&#39;auto-hébergement des mails, mais je veux le même nom de domaine. Même si Peertube a son propre sous-domaine, l&#39;envoi initial se fait sur xxx@domaine.tld et les journaux de service postfix et dovecot semble me dire que le mail a bien été envoyé et reçu, sans sortir de localhost après l&#39;installation.&#xA;&#xA;Je me connecte en SSH sur le serveur Yunohost et scrute le répertoire local du serveur de mail :&#xA;&#xA;sudo ls /var/mail/xxx/new&#xA;&#xA;Le dernier mail est bien celui contenant le mot de passe pour l&#39;utilisateur root de Peertube !&#xA;&#xA;En root sur Peertube, je configure le LDAP comme expliqué dans ce mail, puis je me connecte en tant que xxx (mon utilisateur principal Yunohost). L&#39;utilisateur n&#39;est pas connu. Je tente de le créer à la main : un utilisateur avec cet identifiant existe déjà !&#xA;&#xA;Test rapide : je me connecte avec un autre utilisateur Yunohost qui n&#39;est pas partie prenante dans l&#39;installation.&#xA;Ça fonctionne. Il s&#39;agit donc d&#39;un conflit entre root et xxx, qui sont les mêmes utilisateurs Yunohost. &#xA;&#xA;Je créé un utilisateur yunohost@ynh.domain.tld et j&#39;en profite pour configurer le mail.&#xA;Je réinstalle Peertube avec cet utilisateur comme root, et c&#39;est tout bon.&#xA;&#xA;Peertube installe un service Prosody (serveur XMPP) pour le live chat, même si je ne l&#39;utilise pas. Il entre en conflit avec Metronome, le serveur XMPP de Yunohost. À suivre.&#xA;&#xA;Misskey&#xA;&#xA;Il faut que l&#39;application soit dans les applications autorisées pour les visiteurs (Groupes et autorisations), sinon on a une page vide (à part les logos fork sur github et yunohost).&#xA;&#xA;L&#39;import de mes contacts framapiaf ne marchait pas. Le journal du service misskey de Yunohost indiquait &#xA;Blocked address : 127.0.0.1&#xA;Il y a effectivement une variable de configuration allowedPrivateNetworks qui permet d&#39;autoriser localhost. Je le modifie en ligne de commande dans /var/www/misskey/.config/default.yml&#xA;&#xA;Je redémarre le service misskey, et ça importe !&#xA;&#xA;Je n&#39;ai plus qu&#39;à attendre que mes anciens contacts accepte ma demande de suivi et qu&#39;elles et ils me suivent.&#xA;&#xA;Premiers soucis !&#xA;&#xA;Il n&#39;aura pas fallu longtemps pour mettre tout ça KO ! Et pas de mon fait : le switch optique sur lequel je suis connecté a subit un incident. Résultat : mon serveur Yunohost n&#39;est plus accessible.&#xA;&#xA;Redondance&#xA;&#xA;Dans l&#39;idéal, il faudrait, je pense, une sorte de miroir qui prend le relais dans ces cas là. C&#39;est beaucoup d&#39;investissement pour pas grand chose. Au pire, je déplace le serveur ailleurs (rappel: c&#39;est un XPS 13&#39;, donc très facile à transporter) et mets à jour le DNS chez mon fournisseur de nom de domaine.&#xA;&#xA;Par contre, ça confirme que j&#39;ai bien fait de garder mon Nextcloud sur un VPS externe. Si besoin, je me connecte en partage de connexion avec mon téléphone (ce que je fais pour publier ce billet)&#xA;&#xA;Ma musiiiiiiiique !&#xA;&#xA;Alors bien sûr, le web n&#39;est pas mon métier, l&#39;administration système non plus, donc il y en a qui vont bien rigoler. Soyez indulgent⋅es.&#xA;&#xA;Mon instance Funkwhale est accessible depuis funkw.xxx.tld. Ce nom de domaine est défini par une entrée chez mon fournisseur de domaine. Donc... je ne peux pas accèder à ma musique en réseau local ! Il va me falloir me débrouiller pour que les connexions locales restent locales. À savoir : si je suis chez moi, la navigation vers funkw.xxx.tld me dirige directement vers 192.168.0.xx plutôt que DNS -  fournisseur NDD -  IP publique -  192.168.0.xx. &#xA;&#xA;Conclusion&#xA;&#xA;Après une semaine d&#39;auto-hébergement, je suis très satisfait. Les services supportés par Yunohost sont facilement déployés, même si il faut mettre un peu les mains dans le cambouis. Avec mes modestes connaissances, j&#39;ai pu me dépatouiller seul donc je ne connais pas la réactivité de la communauté pour la résolution des problèmes - même si j&#39;ai ma petite idée : j&#39;ai eu quelques mentions en peu de temps sur le fediverse !&#xA;&#xA;Funkwhale remplace maintenant totalement Kodi pour la musique, avec le gros avantage d&#39;être accessible partout (sauf quand Free est cassé !).&#xA;&#xA;#selfHosting #yunohost #misskey #peertube #funkwhale]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="le-moment-idéal">Le moment idéal</h2>

<p>Une conjoncture favorable me motive à tenter un auto-hébergement avancé :</p>
<ul><li>L&#39;écran de mon Dell XPS de 2015 donne des signes de faiblesse, mais reste une configuration honorable (i7, 16G RAM, 500Go SSD)</li>
<li>Le macbook de la même année revit grâce à une Fedora 35, il devient mon ordinateur quotidien (voir <a href="%7Bfilename%7D/sci-tech/fedora-mac.md" rel="nofollow">ce billet</a>)</li>
<li>J&#39;ai <strong>le temps</strong></li></ul>

<p>Voici mon plan <a href="https://framablog.org/2019/09/24/deframasoftisons-internet/" rel="nofollow">framasoftien</a> pour participer, à mon humble niveau, à la
décentralisation. Le XPS deviendra un simple gestionnaire de machines virtuelles dédiées à différents services. Le premier sera un  serveur <a href="https://yunohost.org" rel="nofollow">YunoHost</a>, au coeur de la démarche de décentralisation.</p>

<p>Ce serveur hébergera des instances de plusieurs services en ligne :</p>
<ul><li><a href="https://misskey-hub.net/en/" rel="nofollow">Misskey</a> ou <a href="https://pleroma.social/" rel="nofollow">Pleroma</a>, en remplacement  de <a href="https://mastodon.social/about" rel="nofollow">Mastodon</a> et ainsi décharger Framasoft   de mon compte framapiaf</li>
<li><a href="https://joinpeertube.org" rel="nofollow">Peertube</a>, pour voir</li>
<li><a href="https://funkwhale.audio/" rel="nofollow">Funkwhale</a>, pour voir</li>
<li><a href="https://etherpad.org/" rel="nofollow">EtherPad</a>, <a href="https://ethercalc.net/" rel="nofollow">EtherCalc</a>, pour la collaboration dans différentes assos</li>
<li><a href="https://xmpp.org/" rel="nofollow">Serveur XMPP</a>, pour montrer d&#39;autres solutions de messagerie instantanée autour de moi</li>
<li>... et en fonction des besoins, on verra bien.</li></ul>

<p>Je ne compte pas ouvrir les inscriptions sur les instances sociales – je ne me
sens pas l&#39;âme d&#39;un administrateur-modérateur. Tous les autres services anonymes seront eux bien accessibles, dans la limite des ressources réseaux disponibles.</p>

<h2 id="test-local">Test local</h2>

<p>Il est extrêmement facile de créer des machines virtuelles (<em>VM</em>) sur Linux. <a href="https://www.linux-kvm.org/" rel="nofollow">KVM</a>  est intégré au noyau, et le gestionnaire de <em>VM</em> souvent installé par défaut.</p>

<p>Une fois l&#39;ISO de <em>YunoHost</em> récupéré, l&#39;installation se fait sans douleur. L&#39;interface d&#39;administration est censée se trouver sur <code>https://yunohost.local</code>, mais pas dans mon cas : le gestionnaire de <em>VM</em> créé un sous-réseau. Je dois donc passer par l&#39;<em>IP</em> pour afficher l&#39;interface.</p>

<p>Par curiosité, je tente l&#39;installation de <em>Pleroma</em>. A priori, ça fonctionne avec mon nom de domaine, même si je dois l&#39;ajouter dans mon <code>/etc/hosts</code> pour cela – il faut que je change le mode réseau de la <em>VM</em> pour un mode <em>bridge</em> plutôt que <em>NAT</em>, à mon avis.</p>

<p>Mon compte <em>Pleroma</em> voit mon compte <em>framapiaf</em> \o/ La <em>VM</em> étant isolée,
l&#39;inverse n&#39;est pas vrai, et la communication est perdue rapidement mais c&#39;est prometteur.</p>

<p>Concernant <em>XMPP</em> : <em>YunoHost</em> installe automatiquement un serveur ! Je teste localement avec <em>Gajim</em> (un client XMPP pour linux) : ça marche \o/</p>

<p>Idem, je ne peux pas rejoindre de salon, mais c&#39;est très certainement lié au caractère très local de ma configuration.</p>

<h2 id="grandeur-nature">Grandeur nature</h2>

<p>La première chose à faire est d&#39;installer <em>Fedora Server</em> sur le XPS en faisant table rase du passé. Une fois l&#39;installation terminée, j&#39;ai accès à l&#39;interface de gestion du serveur via <em>Cockpit</em> sur le réseau local. Une mise à jour des paquets et l&#39;installation des outils de virtualisation est nécessaire avant de pouvoir installer l&#39;application <em>Machine</em> qui offre une entrée <em>Virtual Machines</em> dans le menu principal.</p>

<p>Une petite bidouille nécessaire : <a href="https://leochavez.org/index.php/2019/05/15/prevent-sleep-on-lid-close-in-the-fedora-30-terminal/" rel="nofollow">éviter que la machine se mette en veille
lorsqu&#39;elle est fermée</a>.</p>

<h3 id="bridge">Bridge</h3>

<p>Les <em>VM</em> devront être sur le réseau local. Il faut configurer l&#39;hôte
de manière à proposer une <a href="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_systems_using_the_rhel_8_web_console/configuring-network-bridges-in-the-web-console_system-management-using-the-rhel-8-web-console" rel="nofollow">interface réseau en mode Bridge</a></p>

<h3 id="yunohost">Yunohost</h3>

<p>La première machine virtuelle installée sera donc <em>YunoHost</em>. Après la création de la <em>VM</em>, l&#39;interface réseau choisie par défaut est le <em>bridge</em>, rien à faire donc de ce côté. <em>Yunohost</em> s&#39;installe comme n&#39;importe quel OS <em>headless</em>, l&#39;interface de configuration est accessible par un navigateur sur une machine du réseau local. Contrairement à la documentation,
<code>https://yunohost.local</code> ne marche pas et je  dois passer par l&#39;<em>IP</em> que je trouve grâce à l&#39;interface de configuration de la <em>Freebox</em>.</p>

<p>Ensuite, c&#39;est la configuration du domaine :</p>
<ul><li>je désactive les mails entrants/sortants et garde <em>XMPP</em></li>
<li>je lance la configuration <em>DNS</em>. Heureusement je suis chez [Gandi] et tout cela semble automatisé !</li></ul>

<p>Mais après la récupération de la clé d&#39;<em>API</em>, j&#39;obtiens :</p>

<pre><code>Échec de l&#39;enregistrement create AAAA/xxxx.org : list indices must be integers or slices, not str
Échec de l&#39;enregistrement create CAA/xxxx.org : list indices must be integers or slices, not str
</code></pre>

<p>Et</p>

<pre><code>Attente de la réponse du serveur
</code></pre>

<p>qui tourne en boucle sur <code>[POST] /domains/xxx.org/dns/push?dry_run</code></p>

<p>Pourtant, dans ma configuration <em>DNS Gandi</em>, toutes les entrées de <em>Yunohost</em> apparaissent bien (sauf les deux entrées <code>AAAA</code> et <code>CAA</code> en erreurs évidemment).
Il n&#39;y a que deux erreurs; je les crée à la main depuis l&#39;interface de gestion de <em>Gandi</em> et c&#39;est bon.</p>

<p>C&#39;est la seule <em>VM</em> sur le réseau qui mérite d&#39;être accessible depuis l&#39;extérieur pour l&#39;instant. J&#39;active la <em>DMZ</em> de la Freebox de manière à rediriger tout le trafic entrant vers elle.</p>

<p>La génération d&#39;un certificat avec <em>letsencrypt</em> passe sans soucis.</p>

<h3 id="la-foire-aux-services">La foire aux services</h3>

<p><em>Yunohost</em> est fonctionnel, et avec lui le catalogue d&#39;application qui me happe. Résultat :</p>
<ul><li><em>Pleroma</em> ne fonctionne pas sur ma configuration, erreur à l&#39;installation</li>
<li><em>Misskey</em> s&#39;installe correctement, mais j&#39;ai tâtonné pour créer le premier utilisateur.</li>
<li><em>Etherpad</em>, easy peazy</li>
<li><em>Funkwhale</em>, easy peazy. Le système de fédération reste obscur pour moi, mais je vais creuser ça</li>
<li><em>Excalidraw</em> s&#39;installe correctement mais reste bloqué sur <em>Loading scene</em> lors d&#39;une visite sur la page</li>
<li><em>Peertube</em> s&#39;installe proprement, mais le <em>LDAP</em> et l&#39;envoi de mail ne fonctionne pas</li></ul>

<h2 id="bidouilles">Bidouilles</h2>

<h3 id="peertube">Peertube</h3>

<p>Je n&#39;ai pas reçu le mail contenant le mot de passe initial de l&#39;utilisateur <code>root</code>. Il s&#39;agit sûrement d&#39;un défaut de configuration au niveau <em>Yunohost</em> : en effet, je ne souhaite pas utiliser l&#39;auto-hébergement des mails, mais je veux le même nom de domaine. Même si <em>Peertube</em> a son propre sous-domaine, l&#39;envoi initial se fait sur <code>xxx@domaine.tld</code> et les journaux de service <code>postfix</code> et <code>dovecot</code> semble me dire que le mail a bien été envoyé et reçu, sans sortir de <code>localhost</code> après l&#39;installation.</p>

<p>Je me connecte en <em>SSH</em> sur le serveur <em>Yunohost</em> et scrute le répertoire local du serveur de mail :</p>

<pre><code>sudo ls /var/mail/xxx/new
</code></pre>

<p>Le dernier mail est bien celui contenant le mot de passe pour l&#39;utilisateur <code>root</code> de <em>Peertube</em> !</p>

<p>En <code>root</code> sur <em>Peertube</em>, je configure le <em>LDAP</em> comme expliqué dans ce mail, puis je me connecte en tant que <code>xxx</code> (mon utilisateur principal <em>Yunohost</em>). L&#39;utilisateur n&#39;est pas connu. Je tente de le créer à la main : un utilisateur avec cet identifiant existe déjà !</p>

<p>Test rapide : je me connecte avec un autre utilisateur <em>Yunohost</em> qui n&#39;est pas partie prenante dans l&#39;installation.
Ça fonctionne. Il s&#39;agit donc d&#39;un conflit entre <code>root</code> et <code>xxx</code>, qui sont les mêmes utilisateurs <em>Yunohost</em>.</p>

<p>Je créé un utilisateur <code>yunohost@ynh.domain.tld</code> et j&#39;en profite pour configurer le mail.
Je réinstalle <em>Peertube</em> avec cet utilisateur comme <code>root</code>, et c&#39;est tout bon.</p>

<p>Peertube installe un service <em>Prosody</em> (serveur <em>XMPP</em>) pour le <em>live chat</em>, même si je ne l&#39;utilise pas. Il entre en conflit avec <em>Metronome</em>, le serveur <em>XMPP</em> de <em>Yunohost</em>. À suivre.</p>

<h3 id="misskey">Misskey</h3>

<p>Il faut que l&#39;application soit dans les applications autorisées pour les visiteurs (Groupes et autorisations), sinon on a une page vide (à part les logos <em>fork sur github</em> et <em>yunohost</em>).</p>

<p>L&#39;import de mes contacts framapiaf ne marchait pas. Le journal du service <code>misskey</code> de <em>Yunohost</em> indiquait</p>

<pre><code>Blocked address : 127.0.0.1
</code></pre>

<p>Il y a effectivement une variable de configuration <code>allowedPrivateNetworks</code> qui permet d&#39;autoriser <code>localhost</code>. Je le modifie en ligne de commande dans <code>/var/www/misskey/.config/default.yml</code></p>

<p>Je redémarre le service <code>misskey</code>, et ça importe !</p>

<p>Je n&#39;ai plus qu&#39;à attendre que mes anciens contacts accepte ma demande de suivi et qu&#39;elles et ils me suivent.</p>

<h2 id="premiers-soucis">Premiers soucis !</h2>

<p>Il n&#39;aura pas fallu longtemps pour mettre tout ça KO ! Et pas de mon fait : le <em>switch</em> optique sur lequel je suis connecté a subit un incident. Résultat : mon serveur <em>Yunohost</em> n&#39;est plus accessible.</p>

<h3 id="redondance">Redondance</h3>

<p>Dans l&#39;idéal, il faudrait, je pense, une sorte de miroir qui prend le relais dans ces cas là. C&#39;est beaucoup d&#39;investissement pour pas grand chose. Au pire, je déplace le serveur ailleurs (rappel: c&#39;est un XPS 13&#39;, donc très facile à transporter) et mets à jour le <em>DNS</em> chez mon fournisseur de nom de domaine.</p>

<p>Par contre, ça confirme que j&#39;ai bien fait de garder mon <a href="https://web2.nextcloud.com/" rel="nofollow">Nextcloud</a> sur un VPS externe. Si besoin, je me connecte en partage de connexion avec mon téléphone (ce que je fais pour publier ce billet)</p>

<h3 id="ma-musiiiiiiiique">Ma musiiiiiiiique !</h3>

<p>Alors bien sûr, le <em>web</em> n&#39;est pas mon métier, l&#39;administration système non plus, donc il y en a qui vont bien rigoler. Soyez indulgent⋅es.</p>

<p>Mon instance <em>Funkwhale</em> est accessible depuis <code>funkw.xxx.tld</code>. Ce nom de domaine est défini par une entrée chez mon fournisseur de domaine. Donc... je ne peux pas accèder à ma musique en réseau local ! Il va me falloir me débrouiller pour que les connexions locales restent locales. À savoir : si je suis chez moi, la navigation vers <code>funkw.xxx.tld</code> me dirige directement vers <code>192.168.0.xx</code> plutôt que <code>&lt;DNS&gt; -&gt; &lt;fournisseur NDD&gt; -&gt; IP publique -&gt; 192.168.0.xx</code>.</p>

<h2 id="conclusion">Conclusion</h2>

<p>Après une semaine d&#39;auto-hébergement, je suis très satisfait. Les services supportés par <em>Yunohost</em> sont facilement déployés, même si il faut mettre un peu les mains dans le cambouis. Avec mes modestes connaissances, j&#39;ai pu me dépatouiller seul donc je ne connais pas la réactivité de la communauté pour la résolution des problèmes – même si j&#39;ai ma petite idée : j&#39;ai eu quelques mentions en peu de temps sur le fediverse !</p>

<p>Funkwhale remplace maintenant totalement Kodi pour la musique, avec le gros avantage d&#39;être accessible partout (sauf quand Free est cassé !).</p>

<p><a href="/djelouze/tag:selfHosting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">selfHosting</span></a> <a href="/djelouze/tag:yunohost" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">yunohost</span></a> <a href="/djelouze/tag:misskey" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">misskey</span></a> <a href="/djelouze/tag:peertube" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">peertube</span></a> <a href="/djelouze/tag:funkwhale" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">funkwhale</span></a></p>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/ohm-serveur-resistance-a-la-centralisation</guid>
      <pubDate>Tue, 19 Apr 2022 00:00:00 +0200</pubDate>
    </item>
    <item>
      <title>Configurer Fedora pour la MAO</title>
      <link>https://bla.calut.fr/djelouze/configurer-fedora-pour-la-mao</link>
      <description>&lt;![CDATA[installer le dépôt audinux&#xA;installer a2jmidid&#xA;installer midisport-firmware (Clavier M-Audio)&#xA;mode temps réel&#xA;&#xA;Sous fedora 35, le groupe PAM est audio.&#xA;&#xA;Reboot plutôt que juste fermer/rouvrir la session&#xA;&#xA;sudo dnf install a2jmidid qjackctl raysession midisport-firmware sooperlooper guitarix ardour6 hydrogen musescore calf&#xA;&#xA;Problèmes de latence Jack/Pipewire&#xA;&#xA;Solution Leodagan (&#34;Tout cramer pour repartir sur des bases saines&#34;)&#xA;sudo dnf --allowerasing install jack-audio-connection-kit&#xA;&#xA;Problème : plus de son sur les haut-parleurs via jack.&#xA;&#xA;Solution &#xA;&#xA;Editer le fichier /usr/share/pipewire/jack.conf&#xA;changer #node.latency&#x9;= 1024/48000 en node.latency&#x9;= 256/48000&#xA;&#xA;#fedora #mao&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<ul><li>installer le dépôt audinux</li>
<li>installer a2jmidid</li>
<li>installer midisport-firmware (Clavier M-Audio)</li>
<li><a href="http://linuxmao.org/Temps-r%C3%A9el+pour+les+applications" rel="nofollow">mode temps réel</a></li></ul>

<p>Sous fedora 35, le groupe PAM est <em>audio</em>.</p>

<p>Reboot plutôt que juste fermer/rouvrir la session</p>

<pre><code>sudo dnf install a2jmidid qjackctl raysession midisport-firmware sooperlooper guitarix ardour6 hydrogen musescore calf
</code></pre>

<h2 id="problèmes-de-latence-jack-pipewire">Problèmes de latence Jack/Pipewire</h2>

<h3 id="solution-leodagan-tout-cramer-pour-repartir-sur-des-bases-saines">Solution Leodagan (“Tout cramer pour repartir sur des bases saines”)</h3>

<pre><code>sudo dnf --allowerasing install jack-audio-connection-kit
</code></pre>

<p>Problème : plus de son sur les haut-parleurs via jack.</p>

<h3 id="solution">Solution</h3>
<ul><li>Editer le fichier <code>/usr/share/pipewire/jack.conf</code></li>
<li>changer <code>#node.latency    = 1024/48000</code> en <code>node.latency  = 256/48000</code></li></ul>

<p><a href="/djelouze/tag:fedora" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">fedora</span></a> <a href="/djelouze/tag:mao" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">mao</span></a></p>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/configurer-fedora-pour-la-mao</guid>
      <pubDate>Thu, 07 Apr 2022 01:03:38 +0200</pubDate>
    </item>
    <item>
      <title>Installer Fedora sur un Macbook</title>
      <link>https://bla.calut.fr/djelouze/installer-fedora-sur-un-macbook</link>
      <description>&lt;![CDATA[Installer Fedora sur un Macbook&#xA;&#xA;Mon matériel informatique commence à dater un peu :&#xA;&#xA;Dell XPS 13 de 2015&#xA;Macbook Pro 13 de 2015 également&#xA;&#xA;Il ne m&#39;a pourtant jamais fait défaut. Le Dell héberge un Windows, utilisé uniquement dans mon ancien cadre professionnel (finalement assez peu) et une Fedora, ma distribution préférée depuis bientôt 20 ans. Le MacBook a subi ses mises à jour régulièrement jusqu&#39;à Mojave (MacOS 10.14).&#xA;&#xA;Hélas, le Dell fatigue physiquement : scintillement d&#39;écran dès le démarrage, donc pas lié au système d&#39;exploitation, batterie complétement rincée (5 min d&#39;autonomie) et impossible de la trouver en pièce détachée.&#xA;&#xA;Je me décide donc à faire valser tout ça : le Dell gérera le centre multimédia familial et j&#39;installerai Fedora sur le Mac. Je vais suivre la démarche d&#39;Eric Schabell&#xA;&#xA;Préparation des ressources&#xA;&#xA;Je voulais rester sur le Mac. Je récupère le Fedora Media Writer sur le site Fedora pour la bonne plateforme. Première déconvenue : il me faut un MacOS 10.15 pour installer le package, alors que je suis sur 10.14. Contraint, je lance la mise à jour proposée vers Monterey.&#xA;&#xA;Une fois la mise à jour terminée, j&#39;execute le Fedora Media Writer et suis les instructions. Le téléchargement de Fedora 35 à proprement parler commence.&#xA;&#xA;Une fois téléchargé, l&#39;utilitaire copie l&#39;image sur la clé sélectionnée. C&#39;est à la fin de la copie que j&#39;ai le message &#34;Ce disque n&#39;est pas lisible par le système&#34;. Merci ! Quand je relance l&#39;utilitaire, j&#39;ai pourtant un message &#34;Vous avez inséré xxx qui contient un système live&#34;. Dans le doute, je contenu la procédure : reboot en appuyant sur &#34;alt&#34;. Et ma clé n&#39;apparait pas dans la liste...&#xA;&#xA;Je tente de refaire une clé avec BalenaEtcher, un utilitaire de flashage.&#xA;&#xA;Je formate la clé pour Mac -  elle est détectée par le système&#xA;J’exécute balena en choisissant l&#39;iso de Fedora Live (téléchargé par Fedora Media Writer )&#xA;&#34;Flash Complete! 1 Successful Target&#34;. C&#39;est de bonne augure ?&#xA;Hé bien non : une pop-up système apparait en même temps : &#34;Le disque que vous avez connecté n&#39;est pas lisible par cet ordinateur&#34;&#xA;&#xA;Idem, dans le doute je redémarre la machine, et cette fois la clé est visible dans le menu de boot. C&#39;est parti pour l&#39;installation de Fedora !&#xA;&#xA;Installation&#xA;&#xA;Petite entorse à ma règle, j&#39;accepte l&#39;utilisation de dépôts tiers. Mon peu de connaissances du matériel Apple me pousse à éventuellement installer des pilotes propriétaires, si besoin.&#xA;&#xA;Pour le reste, c&#39;est une installation de Fedora tout ce qu&#39;il a de plus classique et ce n&#39;est pas le sujet ici !&#xA;&#xA;Dès que j&#39;ai un environnement opérationnel, je lance&#xA;&#xA;$  sudo dnf update&#xA;&#xA;Le wifi cafouille un peu, je dois déconnecter/reconnecter pour avoir une connexion stable. Ce ne sera plus le cas pour le reste de l&#39;installation.&#xA;&#xA;Le double écran marche sans réglage particulier. Après l&#39;installation du client Nextcloud et une synchronisation sans douleur, je passe sur le mac pour continuer la rédaction de ce billet.&#xA;&#xA;C&#39;est donc une Fedora tout à fait opérationnelle que j&#39;ai le plaisir de voir s&#39;égayer sur mon écran retina. La webcam n&#39;est cependant pas reconnue nativement, mais je ne l&#39;utilise pas.&#xA;&#xA;Par contre, je n&#39;ai pas de son ! Et ça c&#39;est plus embêtant. Une fois ce problème réglé, il me restera à voir si les périphériques audio sont bien gérés : clavier MIDI/USB et interface 6 entrées/sorties USB. Je n&#39;ai pas d&#39;USB-C, mais deux connecteurs Thunderbolt 2 et 2 connecteurs USB.&#xA;&#xA;Épilogue&#xA;&#xA;Voici deux semaines que j&#39;utilise ce macbook comme ordinateur principal. J&#39;ai acheté un hub USB3 qui étend le nombre de ports à 3 USB et un ethernet.&#xA;&#xA;L&#39;environnement audio fonctionne correctement (un billet est en préparation, mais pas trop de surprise de ce côté-là).&#xA;&#xA;Le réveil de la machine après fermeture du capot est long, plus de 30s. D&#39;après journalctl, la dernière action avant une pose longue est :&#xA;SERVICE_STOP [...] NetworkManager-dispatcher [...]&#xA;&#xA;L&#39;étape finale sera de gonfler la RAM en passant de 8Go à 16Go, mais pour ça il me faut le tournevis qui va bien, évidemment ! Pentalobe P5 1.2, si ça vous intéresse.&#xA;&#xA;#fedora #linux #recyclage]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="installer-fedora-sur-un-macbook">Installer Fedora sur un Macbook</h2>

<p>Mon matériel informatique commence à dater un peu :</p>
<ul><li>Dell XPS 13 de 2015</li>
<li>Macbook Pro 13 de 2015 également</li></ul>

<p>Il ne m&#39;a pourtant jamais fait défaut. Le Dell héberge un Windows, utilisé uniquement dans mon ancien cadre professionnel (finalement assez peu) et une Fedora, ma distribution préférée depuis bientôt 20 ans. Le MacBook a subi ses mises à jour régulièrement jusqu&#39;à Mojave (MacOS 10.14).</p>

<p>Hélas, le Dell fatigue physiquement : scintillement d&#39;écran dès le démarrage, donc pas lié au système d&#39;exploitation, batterie complétement rincée (5 min d&#39;autonomie) et impossible de la trouver en pièce détachée.</p>

<p>Je me décide donc à faire valser tout ça : le Dell gérera le centre multimédia familial et j&#39;installerai Fedora sur le Mac. Je vais suivre la <a href="https://www.schabell.org/2020/11/installing-fedora33-on-macbook-pro-13inch-late-2011.html" rel="nofollow">démarche d&#39;Eric Schabell</a></p>

<h2 id="préparation-des-ressources">Préparation des ressources</h2>

<p>Je voulais rester sur le Mac. Je récupère le Fedora Media Writer sur le site <a href="https://getfedora.org/en/workstation/download/" rel="nofollow">Fedora</a> pour la bonne plateforme. Première déconvenue : il me faut un MacOS 10.15 pour installer le package, alors que je suis sur 10.14. Contraint, je lance la mise à jour proposée vers Monterey.</p>

<p>Une fois la mise à jour terminée, j&#39;execute le Fedora Media Writer et suis les instructions. Le téléchargement de Fedora 35 à proprement parler commence.</p>

<p>Une fois téléchargé, l&#39;utilitaire copie l&#39;image sur la clé sélectionnée. C&#39;est à la fin de la copie que j&#39;ai le message “Ce disque n&#39;est pas lisible par le système”. Merci ! Quand je relance l&#39;utilitaire, j&#39;ai pourtant un message “Vous avez inséré xxx qui contient un système live”. Dans le doute, je contenu la procédure : reboot en appuyant sur “alt”. Et ma clé n&#39;apparait pas dans la liste...</p>

<p>Je tente de refaire une clé avec BalenaEtcher, un utilitaire de flashage.</p>
<ul><li>Je formate la clé pour Mac –&gt; elle est détectée par le système</li>
<li>J’exécute balena en choisissant l&#39;iso de Fedora Live (téléchargé par Fedora Media Writer )</li>
<li>“Flash Complete! 1 Successful Target”. C&#39;est de bonne augure ?</li>
<li>Hé bien non : une pop-up système apparait en même temps : “Le disque que vous avez connecté n&#39;est pas lisible par cet ordinateur”</li></ul>

<p>Idem, dans le doute je redémarre la machine, et cette fois la clé est visible dans le menu de boot. C&#39;est parti pour l&#39;installation de Fedora !</p>

<h2 id="installation">Installation</h2>

<p>Petite entorse à ma règle, j&#39;accepte l&#39;utilisation de dépôts tiers. Mon peu de connaissances du matériel Apple me pousse à éventuellement installer des pilotes propriétaires, si besoin.</p>

<p>Pour le reste, c&#39;est une installation de Fedora tout ce qu&#39;il a de plus classique et ce n&#39;est pas le sujet ici !</p>

<p>Dès que j&#39;ai un environnement opérationnel, je lance</p>

<pre><code>$&gt; sudo dnf update
</code></pre>

<p>Le wifi cafouille un peu, je dois déconnecter/reconnecter pour avoir une connexion stable. Ce ne sera plus le cas pour le reste de l&#39;installation.</p>

<p>Le double écran marche sans réglage particulier. Après l&#39;installation du client Nextcloud et une synchronisation sans douleur, je passe sur le mac pour continuer la rédaction de ce billet.</p>

<p>C&#39;est donc une Fedora tout à fait opérationnelle que j&#39;ai le plaisir de voir s&#39;égayer sur mon écran retina. La webcam n&#39;est cependant pas reconnue nativement, mais je ne l&#39;utilise pas.</p>

<p>Par contre, je n&#39;ai pas de son ! Et ça c&#39;est plus embêtant. Une fois ce problème réglé, il me restera à voir si les périphériques audio sont bien gérés : clavier MIDI/USB et interface 6 entrées/sorties USB. Je n&#39;ai pas d&#39;USB-C, mais deux connecteurs Thunderbolt 2 et 2 connecteurs USB.</p>

<h2 id="épilogue">Épilogue</h2>

<p>Voici deux semaines que j&#39;utilise ce macbook comme ordinateur principal. J&#39;ai acheté un hub USB3 qui étend le nombre de ports à 3 USB et un ethernet.</p>

<p>L&#39;environnement audio fonctionne correctement (un billet est en préparation, mais pas trop de surprise de ce côté-là).</p>

<p>Le réveil de la machine après fermeture du capot est long, plus de 30s. D&#39;après <code>journalctl</code>, la dernière action avant une pose longue est :</p>

<pre><code>SERVICE_STOP [...] NetworkManager-dispatcher [...]
</code></pre>

<p>L&#39;étape finale sera de gonfler la RAM en passant de 8Go à 16Go, mais pour ça il me faut le tournevis qui va bien, évidemment ! Pentalobe P5 1.2, si ça vous intéresse.</p>

<p><a href="/djelouze/tag:fedora" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">fedora</span></a> <a href="/djelouze/tag:linux" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">linux</span></a> <a href="/djelouze/tag:recyclage" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">recyclage</span></a></p>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/installer-fedora-sur-un-macbook</guid>
      <pubDate>Wed, 06 Apr 2022 00:00:00 +0200</pubDate>
    </item>
    <item>
      <title>Configuration SSL - les galères d&#39;un naïf</title>
      <link>https://bla.calut.fr/djelouze/configuration-ssl-les-galeres-dun-naif</link>
      <description>&lt;![CDATA[Nextcloud et Pelican sont sur un bateau. Le https de Pelican tombe à l&#39;eau, qui l&#39;a poussé ?&#xA;&#xA;Contexte&#xA;&#xA;J&#39;ai un VPS chez Hetzner et mon nom de domaine chez Gandi. Par confort d&#39;utilisation, c&#39;est une Fedora qui tourne sur le VPS. Après plusieurs années d&#39;utilisation d&#39;une instance Nextcloud sur un Simple Hosting Gandi, j&#39;ai voulu passer au niveau supérieur et gérer un serveur intégralement. La migration s&#39;est plutôt bien passée : j&#39;ai maintenant une instance Nextcloud sur mon VPS et j&#39;y ai retrouvé toutes mes données. Le serveur http est Apache, encore une fois pour confort personnel.&#xA;&#xA;J&#39;ai directement configuré Nextcloud pour être servi via https en utilisant les outils recommandés dans la documentation de Nextcloud, en particulier certbot pour générer un certificat Let&#39;s encrypt.&#xA;&#xA;Sans mettre les mains dans le cambouis, j&#39;ai une configuration qui semble opérationnelle. Une redirection permanente permet, en bonus, de servir uniquement du https quand le navigateur pointe vers http.&#xA;&#xA;Le début des problèmes&#xA;&#xA;Ce modeste blog vous est généré grâce à Pelican (cf À propos). Il s&#39;agit donc d&#39;un site statique, tout ce qu&#39;il y a de plus basique à gérer pour un serveur Apache. Aucun inconvénient à ce qu&#39;il cohabite sur le même serveur que Nextcloud, d&#39;autant que je voulais justement faire interagir&#xA;les deux. Je me retrouve alors avec deux racines de site :&#xA;&#xA;/var/www/html/nextcloud&#xA;/var/www/html/pelican&#xA;&#xA;J&#39;ajoute un fichier de configuration pour le site .../pelican en me basant sur /etc/httpd/conf.d/nextcloud.conf mais en gardant uniquement ce que je connais : la configuration de Nextcloud a été plutôt transparente, et je ne maitrise pas les sections concernant les réécriture d&#39;URL et les proxy. Tout au plus, je sais que je n&#39;en ai pas besoin pour un site de simple facture. Ce qui donne :&#xA;VirtualHost :80&#xA;  DocumentRoot /var/www/html/pelican/&#xA;  ServerName  djelly.calut.fr&#xA;  Redirect permanent / https://djelly.calut.fr/&#xA;  Directory /var/www/html/pelican/&#xA;    Require all granted&#xA;    AllowOverride All&#xA;    Options FollowSymLinks MultiViews&#xA;  /Directory&#xA;/VirtualHost&#xA;J&#39;ai alors dans mes fichiers de configuration http un pelican.conf (ci0-dessus) et un nextcloud.conf qui ressemble à celui-ci, mais pointant vers le DocumentRoot correct et un sous-domaine différent de djelly. Nul doute que les yeux avertis auront déjà repéré une bévue, mais ce n&#39;est pas mon cas.&#xA;&#xA;Constat amiable&#xA;&#xA;Après redémarrage du serveur apache sudo service httpd restart, la partie nextcloud est toujours fonctionnelle : http://... renvoie bien vers  https://..., et les différentes synchronisations en place (contact sur Android, calendrier, fichiers en local) sont toujours actives.&#xA;&#xA;Par contre, http://djelly.calut.fr redirige bien vers https://djelly.calut.fr, mais c&#39;est le index.php de Nextcloud qui est affiché !&#xA;À noter que la navigation sur le site nextcloud à partir de ce sous-domaine est impossible : &#xA;&#xA;  Accès à partir d&#39;un domaine non approuvé&#xA;    Veuillez contacter votre administrateur. Si vous êtes un administrateur, éditez la variable &#34;trusteddomains&#34; dans le fichier config/config.php comme l&#39;exemple dans le fichier config/config.sample.php.&#xA;    Vous trouverez d&#39;autres informations sur la configuration dans la documentation .&#xA;&#xA;Je renomme nextcloud.conf en nextcloud.conf.old puis redémarre le service httpd (de cette manière, il ne prendra pas en compte la configuration nextcloud).&#xA;J&#39;avais dans l&#39;idée que http://xxx.calut.fr ne serait plus accessible. Que nenni ! Il renvoie vers toujours vers https://djelly.calut.fr/index.php&#xA;&#xA;Donc de nouveau un fichier appartenant au DocumentRoot de nextcloud, mais avec le sous-domaine de ce site (djelly). Bien sûr, je parle de Pelican, mais il n&#39;y est pour rien. D&#39;ailleurs, il n&#39;est même pas installé sur le VPS. Il ne fait que générer localement les fichiers html. Le problème se situe au niveau de la configuration Apache, j&#39;en suis convaincu.&#xA;&#xA;Configuration SSL&#xA;&#xA;J&#39;ai noté que les VirtualHostnextcloud et pelican sont définis pour le port 80... Mais où est donc 443, le port utilisé pour servir https ? Le répertoire /etc/httpd/conf.d contient un ssl.conf. Il ne fallait pas chercher bien loin ! On trouve assez rapidement :&#xA;VirtualHost default:443&#xA;&#xA;General setup for the virtual host, inherited from global configuration&#xA;DocumentRoot &#34;/var/www/html/nextcloud&#34;&#xA;ServerName xxx.calut.fr:443&#xA;...&#xA;&#xA;Qu&#39;est-ce que default:443 comparé à :80 ? &#34;RTFM!&#34; ! Où l&#39;on apprend que &#34;La chaîne default_, dont la signification est identique à celle du caractère `` [...]&#34;.&#xA;Rien à voir de ce côté là, donc. Mais par contre, je n&#39;ai aucun VirtualHost pour un ServerName djelly.calut.fr:443... et pourquoi le sous-domaine djelly renvoie sur le VirtualHost nextcloud ?&#xA;&#xA;Je supprime la ligne Redirect permanent / https://djelly.calut.fr/   de pelican.conf, et on commence à retrouver quelque chose de normal :&#xA;&#xA;http://djelly.calut.fr sert bien ce site, en http donc&#xA;https://xxx.calut.fr est bien mon instance nextcloud&#xA;&#xA;Mais !&#xA;https://djelly.calut.fr sert toujours le index.php de nextcloud&#xA;http://xxx.calut.fr sert le index.html de ce site!!&#xA;&#xA;Je reste dubitatif : si le VirtualHost :80 n&#39;existe pas pour ServerName xxx.calut.fr, pourquoi est-il quand même interprété comme DocumentRoot &#34;.../pelican&#34; ? &#xA;En testant avec un sous-domaine inexistant, j&#39;ai bien une erreur de mon navigateur qui ne trouve pas le site.&#xA;&#xA;Je pense, tout candide que je suis, que ma configuration DNS entre en jeu ici. J&#39;ai :&#xA;&#xA;une entrée type A pour xxx qui renvoie vers l&#39;IP de mon VPS&#xA;une entrée type A pour djelly qui renvoie vers l&#39;IP de mon VPS&#xA;pas d&#39;entrée pour yyy&#xA;&#xA;Petite analyse :&#xA;&#xA;J&#39;ai une erreur pour yyy.calut.fr : normal, le navigateur ne sait pas où aller chercher les fichiers&#xA;http://xxx ou http://djelly renvoient tous les deux vers /var/www/html/pelican&#xA;https://xxx ou https://djelly renvoient tous les deux vers /var/www/html/nextcloud&#xA;&#xA;On dirait que le VirtualHost de djelly écrase celui de nextcloud...&#xA;&#xA;La réponse !&#xA;&#xA;Tout ça pour ça : en plus de ServerName, il faut aussi ServerAlias... &#xA;&#xA;Je récupère un certificat let&#39;s encrypt pour djelly.calut.fr et sépare le fichier ssl.conf en 3 fichiers différents :&#xA;&#xA;ssl.conf garde la configuration globale du SSL de ce serveur apache&#xA;ssl-nextcloud.conf déclare le VirtualHost pour nextcloud&#xA;ssl-pelican.conf déclare le VirtualHost pour ce site, en modifiant simplement les références à nextcloud et xxx pour correspondre à djelly.&#xA;&#xA;Je réactive la redirection permanente pour pelican.conf, redémarre httpd, et tout fonctionne à merveille.&#xA;&#xA;Ce n&#39;était pas si compliqué. Mais je ne sais toujours pas pourquoi ServerName ne suffit pas.&#xA;&#xA;: Je ne suis pas passé par la migration de base de donnée documentée. J&#39;ai simplement synchronisé mes comptes localement, installer le nouveau Nextcloud, et resynchronisé en changeant le nom du serveur.&#xA;: Voir le billet Le choix d&#39;un moteur de blog&#xA;: Read The Fantastic/Funny/... Manual&#xA;&#xA;#Web #SSL #Pelican #Nextcloud  #selfHosting&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><em>Nextcloud et Pelican sont sur un bateau. Le https de Pelican tombe à l&#39;eau, qui l&#39;a poussé ?</em></p>

<h2 id="contexte">Contexte</h2>

<p>J&#39;ai un VPS chez <em>Hetzner</em> et mon nom de domaine chez <em>Gandi</em>. Par confort d&#39;utilisation, c&#39;est une Fedora qui tourne sur le VPS. Après plusieurs années d&#39;utilisation d&#39;une instance Nextcloud sur un <em>Simple Hosting</em> Gandi, j&#39;ai voulu passer au niveau supérieur et gérer un serveur intégralement. La migration s&#39;est plutôt bien passée : j&#39;ai maintenant une instance Nextcloud sur mon VPS et j&#39;y ai retrouvé toutes mes données[^1]. Le serveur <strong>http</strong> est Apache, encore une fois pour confort personnel.</p>

<p>J&#39;ai directement configuré Nextcloud pour être servi <em>via</em> <strong>https</strong> en utilisant les outils recommandés dans la documentation de Nextcloud, en particulier <code>certbot</code> pour générer un certificat <em>Let&#39;s encrypt</em>.</p>

<p>Sans mettre les mains dans le cambouis, j&#39;ai une configuration qui semble opérationnelle. Une redirection permanente permet, en bonus, de servir uniquement du <strong>https</strong> quand le navigateur pointe vers <strong>http</strong>.</p>

<h2 id="le-début-des-problèmes">Le début des problèmes</h2>

<p>Ce modeste blog vous est généré grâce à Pelican (cf <a href="/pages/a-propos.html" rel="nofollow">À propos</a>). Il s&#39;agit donc d&#39;un site statique, tout ce qu&#39;il y a de plus basique à gérer pour un serveur Apache. Aucun inconvénient à ce qu&#39;il cohabite sur le même serveur que Nextcloud, d&#39;autant que je voulais justement faire interagir
les deux[^2]. Je me retrouve alors avec deux racines de site :</p>
<ul><li><code>/var/www/html/nextcloud</code></li>
<li><code>/var/www/html/pelican</code></li></ul>

<p>J&#39;ajoute un fichier de configuration pour le site <code>.../pelican</code> en me basant sur <code>/etc/httpd/conf.d/nextcloud.conf</code> mais en gardant uniquement ce que je connais : la configuration de Nextcloud a été plutôt transparente, et je ne maitrise pas les sections concernant les réécriture d&#39;URL et les <em>proxy</em>. Tout au plus, je sais que je n&#39;en ai pas besoin pour un site de simple facture. Ce qui donne :</p>

<pre><code>&lt;VirtualHost *:80&gt;
  DocumentRoot /var/www/html/pelican/
  ServerName  djelly.calut.fr
  Redirect permanent / https://djelly.calut.fr/
  &lt;Directory /var/www/html/pelican/&gt;
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
  &lt;/Directory&gt;
&lt;/VirtualHost&gt;
</code></pre>

<p>J&#39;ai alors dans mes fichiers de configuration <strong>http</strong> un <code>pelican.conf</code> (ci0-dessus) et un <code>nextcloud.conf</code> qui ressemble à celui-ci, mais pointant vers le <code>DocumentRoot</code> correct et un sous-domaine différent de <code>djelly</code>. Nul doute que les yeux avertis auront déjà repéré une bévue, mais ce n&#39;est pas mon cas.</p>

<h2 id="constat-amiable">Constat amiable</h2>

<p>Après redémarrage du serveur apache <code>sudo service httpd restart</code>, la partie nextcloud est toujours fonctionnelle : <strong>http://...</strong> renvoie bien vers  <strong>https://...</strong>, et les différentes synchronisations en place (contact sur Android, calendrier, fichiers en local) sont toujours actives.</p>

<p>Par contre, <code>http://djelly.calut.fr</code> redirige bien vers <code>https://djelly.calut.fr</code>, mais c&#39;est le <code>index.php</code> de Nextcloud qui est affiché[^3] !
À noter que la navigation sur le site nextcloud à partir de ce sous-domaine est impossible :</p>

<blockquote><p>Accès à partir d&#39;un domaine non approuvé</p>

<p>Veuillez contacter votre administrateur. Si vous êtes un administrateur, éditez la variable “trusted_domains” dans le fichier config/config.php comme l&#39;exemple dans le fichier config/config.sample.php.</p>

<p>Vous trouverez d&#39;autres informations sur la configuration dans la documentation .</p></blockquote>

<p>Je renomme <code>nextcloud.conf</code> en <code>nextcloud.conf.old</code> puis redémarre le service <code>httpd</code> (de cette manière, il ne prendra pas en compte la configuration nextcloud).
J&#39;avais dans l&#39;idée que <code>http://xxx.calut.fr</code> ne serait plus accessible. Que nenni ! Il renvoie vers toujours vers <code>https://djelly.calut.fr/index.php</code></p>

<p>Donc de nouveau un fichier appartenant au <code>DocumentRoot</code> de nextcloud, mais avec le sous-domaine de ce site (djelly). Bien sûr, je parle de Pelican, mais il n&#39;y est pour rien. D&#39;ailleurs, il n&#39;est même pas installé sur le VPS. Il ne fait que générer localement les fichiers <code>html</code>. Le problème se situe au niveau de la configuration Apache, j&#39;en suis convaincu.</p>

<h2 id="configuration-ssl">Configuration SSL</h2>

<p>J&#39;ai noté que les <code>VirtualHost</code>nextcloud et pelican sont définis pour le port <code>80</code>... Mais où est donc <code>443</code>, le port utilisé pour servir <code>https</code> ? Le répertoire <code>/etc/httpd/conf.d</code> contient un <code>ssl.conf</code>. Il ne fallait pas chercher bien loin ! On trouve assez rapidement :</p>

<pre><code>&lt;VirtualHost _default_:443&gt;

# General setup for the virtual host, inherited from global configuration
DocumentRoot &#34;/var/www/html/nextcloud&#34;
ServerName xxx.calut.fr:443
...
</code></pre>

<p>Qu&#39;est-ce que <code>_default_:443</code> comparé à <code>*:80</code> ? “RTFM!”[^3] ! Où l&#39;on apprend que “La chaîne <code>_default_</code>, dont la signification est identique à celle du caractère <code>*</code> [...]“.
Rien à voir de ce côté là, donc. Mais par contre, je n&#39;ai aucun <code>VirtualHost</code> pour un <code>ServerName djelly.calut.fr:443</code>... et pourquoi le sous-domaine <code>djelly</code> renvoie sur le <code>VirtualHost</code> nextcloud ?</p>

<p>Je supprime la ligne <code>Redirect permanent / https://djelly.calut.fr/&gt;</code> de <code>pelican.conf</code>, et on commence à retrouver quelque chose de normal :</p>
<ul><li><code>http://djelly.calut.fr</code> sert bien ce site, en <strong>http</strong> donc</li>
<li><code>https://xxx.calut.fr</code> est bien mon instance nextcloud</li></ul>

<p>Mais !
– <code>https://djelly.calut.fr</code> sert toujours le <code>index.php</code> de nextcloud
– <code>http://xxx.calut.fr</code> sert le <code>index.html</code> de ce site!!</p>

<p>Je reste dubitatif : si le <code>&lt;VirtualHost *:80&gt;</code> n&#39;existe pas pour <code>ServerName xxx.calut.fr</code>, pourquoi est-il quand même interprété comme <code>DocumentRoot &#34;.../pelican&#34;</code> ?
En testant avec un sous-domaine inexistant, j&#39;ai bien une erreur de mon navigateur qui ne trouve pas le site.</p>

<p>Je pense, tout candide que je suis, que ma configuration DNS entre en jeu ici. J&#39;ai :</p>
<ul><li>une entrée type <code>A</code> pour <code>xxx</code> qui renvoie vers l&#39;IP de mon VPS</li>
<li>une entrée type <code>A</code> pour <code>djelly</code> qui renvoie vers l&#39;IP de mon VPS</li>
<li>pas d&#39;entrée pour <code>yyy</code></li></ul>

<p>Petite analyse :</p>
<ul><li>J&#39;ai une erreur pour <code>yyy.calut.fr</code> : normal, le navigateur ne sait pas où aller chercher les fichiers</li>
<li><a href="http://xxx" rel="nofollow">http://xxx</a> ou <a href="http://djelly" rel="nofollow">http://djelly</a> renvoient tous les deux vers <code>/var/www/html/pelican</code></li>
<li><a href="https://xxx" rel="nofollow">https://xxx</a> ou <a href="https://djelly" rel="nofollow">https://djelly</a> renvoient tous les deux vers <code>/var/www/html/nextcloud</code></li></ul>

<p>On dirait que le <code>VirtualHost</code> de djelly écrase celui de nextcloud...</p>

<h2 id="la-réponse">La réponse !</h2>

<p>Tout ça pour ça : en plus de <code>ServerName</code>, il faut aussi <code>ServerAlias</code>...</p>

<p>Je récupère un certificat <code>let&#39;s encrypt</code> pour <code>djelly.calut.fr</code> et sépare le fichier <code>ssl.conf</code> en 3 fichiers différents :</p>
<ul><li><code>ssl.conf</code> garde la configuration globale du SSL de ce serveur apache</li>
<li><code>ssl-nextcloud.conf</code> déclare le <code>VirtualHost</code> pour nextcloud</li>
<li><code>ssl-pelican.conf</code> déclare le <code>VirtualHost</code> pour ce site, en modifiant simplement les références à nextcloud et xxx pour correspondre à djelly.</li></ul>

<p>Je réactive la redirection permanente pour <code>pelican.conf</code>, redémarre <code>httpd</code>, et tout fonctionne à merveille.</p>

<p>Ce n&#39;était pas si compliqué. Mais je ne sais toujours pas pourquoi <code>ServerName</code> ne suffit pas.</p>

<p>[^1]: Je ne suis pas passé par la migration de base de donnée documentée. J&#39;ai simplement synchronisé mes comptes localement, installer le nouveau Nextcloud, et resynchronisé en changeant le nom du serveur.
[^2]: Voir le billet <a href="le-choix-dun-moteur-de-blog.html" rel="nofollow">Le choix d&#39;un moteur de blog</a>
[^3]: Read The Fantastic/Funny/... Manual</p>

<p><a href="/djelouze/tag:Web" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Web</span></a> <a href="/djelouze/tag:SSL" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">SSL</span></a> <a href="/djelouze/tag:Pelican" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Pelican</span></a> <a href="/djelouze/tag:Nextcloud" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Nextcloud</span></a>  <a href="/djelouze/tag:selfHosting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">selfHosting</span></a></p>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/configuration-ssl-les-galeres-dun-naif</guid>
      <pubDate>Tue, 05 Apr 2022 15:39:28 +0200</pubDate>
    </item>
    <item>
      <title>Le choix d&#39;un moteur de blog  </title>
      <link>https://bla.calut.fr/djelouze/le-choix-dun-moteur-de-blog</link>
      <description>&lt;![CDATA[Besoins&#xA;&#xA;Dure tâche que de choisir un moteur de site personnel. En bon(?) ingénieur, la première chose à faire est de définir les besoins :&#xA;&#xA;Publication de billets type blog&#xA;Pages statiques de présentations&#xA;Gestion de la syndication de contenu&#xA;Catégorisation des billets&#xA;Étiquetage des billets&#xA;&#xA;Contraintes perso&#xA;&#xA;À ces besoins s&#39;ajoutent des contraintes éthiques :&#xA;&#xA;Hébergeable sur un VPS&#xA;Basé sur des logiciels libres&#xA;Respectueux de la vie privée&#xA;Faible consommation de ressources&#xA;&#xA;Ces contraintes sont très subjectives, et on pourrait débattre du &#34;pourquoi&#34; sans trouver d&#39;issue honorable. Pour le volet technique, j&#39;ai suffisamment de bagage pour me lancer dans différentes expérimentations tout en connaissant mes limites.&#xA;&#xA;Tentatives&#xA;&#xA;Par le passé, j&#39;ai tenté Dotclear(%5Bhttps://dotclear.org%5D\(https://dotclear.org\)) et WordPress(%5Bhttps://wordpress.org/%5D\(https://wordpress.org/\)). Je n&#39;avais aucune envie de me relancer dans la gestion de bases de données - j&#39;ai déjà un Nextcloud(%5Bhttps://nextcloud.com/%5D\(https://nextcloud.com/\)) en place -, et, concernant WordPress, je trouve que c&#39;est un bien gros morceau pour la finalité recherchée : ce site perso me servira plus à archiver mes pensées, éventuellement partager modestement certaines expériences, mais pas plus.&#xA;&#xA;Encore plus loin dans le temps (~2005), j&#39;avais construit ma page de CV à la main en PHP. Avec gestion fr/en et génération de bibliographie bibtex ! Mais je suis trop vieux pour ces conneries.&#xA;&#xA;Le statique c&#39;est fantastique&#xA;&#xA;De plus, la contrainte de faible consommation de ressources dictée par le rapport du GIEC m&#39;a conduit, par les conseils de gens qui savent, vers la génération de sites statiques. Il s&#39;agit d&#39;éditer &#34;à l&#39;ancienne&#34; les fichiers html qui seront servies par un serveur http classique.&#xA;&#xA;Ce billet vous est donc offert par Pelican, générateur de site statique, nettement mieux décrit sur cette page que ce que je pourrais faire.&#xA;&#xA;Hackerman, ou la publication via Nextcloud&#xA;&#xA;Lors de la génération d&#39;un nouveau projet, l&#39;assistant propose plusieurs types de publication : FTP, SSH, Github Pages,... Aucune ne me convenait : je sors d&#39;une petite déception avec Pico, integré dans Nextcloud grâce à une App très bien faite. Mais finalement, mes limites techniques ont eu raison de ma persevérence (notamment sur la configuration de la réécriture d&#39;URL, j&#39;y reviendrai).&#xA;&#xA;Mais j&#39;ai gardé à l&#39;esprit cette démarche : je veux pouvoir éditer mes billets confortablement sur ma machine locale et publier le contenu sur mon VPS qui héberge aussi mon instance Nextcloud.&#xA;&#xA;Facile : mon espace disque Nextcloud est synchronisé localement. Il suffit donc d&#39;éditer les fichiers de content/ !&#xA;&#xA;Lors de la publication, le contenu généré en html va dans un répertoire output, toujours dans mon espace Nextcloud partagé localement : j&#39;ai donc simplement créé un lien symbolique vers ce répertoire dans le DocumentRoot de mon serveur apache (/var/www/html chez moi).&#xA;&#xA;Il y a deux méthodes de publication :&#xA;&#xA;$  pelican content/&#xA;$  make publish&#xA;&#xA;La première utilise le fichier de configuration pelicanconf.py. La deuxième utilise publishconf.py, qui ne fait que reprendre les valeurs du premier et réécrit certaines autres. Afin de créer une sorte de pre-release, le repertoire de sortie de pelicanconf.py est output/draft/. Cela me permet de tester dans le navigateur la génération de contenu. Le fichier publishconf.py réécrit OUTPUT_PATH = &#39;output/&#39;&#xA;&#xA;Et après...&#xA;&#xA;Il me reste à gérer correctement le SSL et les réécritures d&#39;URL, la présence de Nextcloud sur le même serveur ne me simplifie pas la tâche. Surtout parce que j&#39;ai laissé faire une installation &#34;par défaut&#34;. A priori, la configuration d&#39;Apache est telle qu&#39;elle considère Nextcloud comme le seul point d&#39;entrée sur le serveur.&#xA;&#xA;Vous pouvez tenter https://djelly.calut.fr. Vous serez renvoyés sur mon cloud, avec une erreur de domaine non approuvé (ce qui est un peu rassurant quand même !)&#xA;&#xA;Et bien sûr, personnaliser tout cela de belle façon - pour l&#39;instant, le thème par défaut est utilisé.&#xA;&#xA;Disclaimer: ne vous syndiquez pas pour l&#39;instant !!&#xA;&#xA;: Page des rapports du GIEC: https://blog.getpelican.com/&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="besoins">Besoins</h2>

<p>Dure tâche que de choisir un moteur de site personnel. En bon(?) ingénieur, la première chose à faire est de définir les besoins :</p>
<ul><li>Publication de billets type blog</li>
<li>Pages statiques de présentations</li>
<li>Gestion de la syndication de contenu</li>
<li>Catégorisation des billets</li>
<li>Étiquetage des billets</li></ul>

<h2 id="contraintes-perso">Contraintes perso</h2>

<p>À ces besoins s&#39;ajoutent des contraintes éthiques :</p>
<ul><li>Hébergeable sur un VPS</li>
<li>Basé sur des logiciels libres</li>
<li>Respectueux de la vie privée</li>
<li>Faible consommation de ressources</li></ul>

<p>Ces contraintes sont très subjectives, et on pourrait débattre du “pourquoi” sans trouver d&#39;issue honorable. Pour le volet technique, j&#39;ai suffisamment de bagage pour me lancer dans différentes expérimentations tout en connaissant mes limites.</p>

<h2 id="tentatives">Tentatives</h2>

<p>Par le passé, j&#39;ai tenté Dotclear^1 et WordPress^2. Je n&#39;avais aucune envie de me relancer dans la gestion de bases de données – j&#39;ai déjà un Nextcloud^3 en place –, et, concernant WordPress, je trouve que c&#39;est un bien gros morceau pour la finalité recherchée : ce site perso me servira plus à archiver mes pensées, éventuellement partager modestement certaines expériences, mais pas plus.</p>

<p>Encore plus loin dans le temps (~2005), j&#39;avais construit ma page de CV à la main en PHP. Avec gestion fr/en et génération de bibliographie bibtex ! Mais je suis trop vieux pour ces conneries.</p>

<h2 id="le-statique-c-est-fantastique">Le statique c&#39;est fantastique</h2>

<p>De plus, la contrainte de faible consommation de ressources <strong>dictée par le rapport du GIEC</strong>[^4] m&#39;a conduit, par les conseils de gens qui savent, vers la génération de sites statiques. Il s&#39;agit d&#39;éditer “à l&#39;ancienne” les fichiers html qui seront servies par un serveur http classique.</p>

<p>Ce billet vous est donc offert par Pelican[^5], générateur de site statique, nettement mieux décrit sur <a href="https://www.bortzmeyer.org/generateurs-web-statiques.html" rel="nofollow">cette page</a> que ce que je pourrais faire.</p>

<h2 id="hackerman-ou-la-publication-via-nextcloud">Hackerman, ou la publication via Nextcloud</h2>

<p>Lors de la génération d&#39;un nouveau projet, l&#39;assistant propose plusieurs types de publication : FTP, SSH, Github Pages,... Aucune ne me convenait : je sors d&#39;une petite déception avec Pico, integré dans Nextcloud grâce à une App très bien faite. Mais finalement, mes limites techniques ont eu raison de ma persevérence (notamment sur la configuration de la réécriture d&#39;URL, j&#39;y reviendrai).</p>

<p>Mais j&#39;ai gardé à l&#39;esprit cette démarche : je veux pouvoir éditer mes billets confortablement sur ma machine locale et publier le contenu sur mon VPS qui héberge aussi mon instance Nextcloud.</p>

<p>Facile : mon espace disque Nextcloud est synchronisé localement. Il suffit donc d&#39;éditer les fichiers de <code>content/</code> !</p>

<p>Lors de la publication, le contenu généré en html va dans un répertoire <code>output</code>, toujours dans mon espace Nextcloud partagé localement : j&#39;ai donc simplement créé un lien symbolique vers ce répertoire dans le <code>DocumentRoot</code> de mon serveur apache (<code>/var/www/html</code> chez moi).</p>

<p>Il y a deux méthodes de publication :</p>
<ul><li><code>$&gt; pelican content/</code></li>
<li><code>$&gt; make publish</code></li></ul>

<p>La première utilise le fichier de configuration <code>pelicanconf.py</code>. La deuxième utilise <code>publishconf.py</code>, qui ne fait que reprendre les valeurs du premier et réécrit certaines autres. Afin de créer une sorte de <em>pre-release</em>, le repertoire de sortie de <code>pelicanconf.py</code> est <code>output/draft/</code>. Cela me permet de tester dans le navigateur la génération de contenu. Le fichier <code>publishconf.py</code> réécrit <code>OUTPUT_PATH = &#39;output/&#39;</code></p>

<h2 id="et-après">Et après...</h2>

<p>Il me reste à gérer correctement le SSL et les réécritures d&#39;URL, la présence de Nextcloud sur le même serveur ne me simplifie pas la tâche. Surtout parce que j&#39;ai laissé faire une installation “par défaut”. A priori, la configuration d&#39;Apache est telle qu&#39;elle considère Nextcloud comme le seul point d&#39;entrée sur le serveur.</p>

<p>Vous pouvez tenter <a href="https://djelly.calut.fr" rel="nofollow">https://djelly.calut.fr</a>. Vous serez renvoyés sur mon <em>cloud</em>, avec une erreur de domaine non approuvé (ce qui est un peu rassurant quand même !)</p>

<p>Et bien sûr, personnaliser tout cela de belle façon – pour l&#39;instant, le thème par défaut est utilisé.</p>

<p><strong>Disclaimer: ne vous syndiquez pas pour l&#39;instant !!</strong></p>

<p>[^4]: <a href="https://www.ipcc.ch/reports/" rel="nofollow">Page des rapports du GIEC</a>[^5]: <a href="https://blog.getpelican.com/" rel="nofollow">https://blog.getpelican.com/</a></p>
]]></content:encoded>
      <guid>https://bla.calut.fr/djelouze/le-choix-dun-moteur-de-blog</guid>
      <pubDate>Fri, 01 Apr 2022 20:53:40 +0200</pubDate>
    </item>
  </channel>
</rss>