Journal S'abonner par email à un site statique ?

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
15
15
août
2020

Salut Nal,

Je suis en train de chercher à simplifier grandement mes workflows et mon blog par la même occasion. Je suis très inspiré par les sites statiques générés par les logiciels de type Hugo, Zola, etc. (voir https://www.getzola.org/ )

L'idée de pouvoir publier sur le web avec un simple git push sans même ouvrir mon navigateur me fait assez rêver.

Dans le même temps, j'aimerais diminuer ma dépendance aux réseaux sociaux propriétaires et j'aimerais que mes lecteurs puissent s'abonner soit par RSS, soit par email.

Et c'est là que le bât blesse…

J'ai beau me torturer les méninges, je ne vois pas comment mettre en place un système de mailing list ultra simple (un simple champs pour s'abonner, après cela chaque nouveau billet est envoyé par mail. Dans le style de ce qu'offre WriteFreely: http://writefreely.org ) avec un site statique.

Mais mes méninges sont assez rouillées alors que les tiennes, cher Journal, sont astiquées régulièrement.

Du coup, aurais-tu des pistes de réflexion sur le sujet ?

Je lance d'ailleurs la réflexion plus profondément :

Dois-je selon toi viser le site statique avec un logiciel de newsletter sur le côté et un bon gros hack pour les lier ou bien dois-je plutôt migrer mon blog vers WriteFreely (qui m'attire beaucoup mais me semble de moins en moins minimaliste).

  • # rss2email

    Posté par  . Évalué à 10. Dernière modification le 15/08/20 à 22:59.

    J'utilise rss2email sur mon serveur pour envoyer par mail les nouveaux articles d'un flux RSS aux gens qui me l'ont demandé. Une tâche cron exécute régulièrement rss2email, qui est configuré pour envoyer des mails en utilisant le serveur mail aussi présent sur cette machine.

    Il y a probablement moyen d'automatiser la création d'une configuration de rss2email lors de la saisie d'une adresse email dans un champs.

  • # Pour le RSS, pas de problème, pour l'email par contre...

    Posté par  (site Web personnel) . Évalué à 8.

    Comme tu peux le voir sur mon site perso en Jekyll https://www.kevin-messer.net/feed.xml, le RSS fonctionne très bien avec un plugin : https://github.com/jekyll/jekyll-feed puisque le RSS est généré en même temps que le reste du HTML.

    Pour l'email par contre, l'idéal est d'utiliser quelque chose comme mailerlite qui peut entre autre convertir ton flux RSS en newsletter. Tu as juste à mettre le formulaire là où tu veux sur ton site : https://www.mailerlite.com/features/forms et le tour est joué.

    Ils ont même un plan gratuit pour 1000 abonnés et 12000 emails par mois. Si tu compte en avoir plus, je me tournerais plutôt sur une solution custom avec AWS, ce sera moins cher. Un exemple ici : http://christopher5106.github.io/cloud/2015/12/26/future-cloud-programming-AWS-lambda-functions-jekyll-github-pages-newsletter-emailing.html

  • # git

    Posté par  . Évalué à 4.

    Tu veux publier via un git push, donc envoie tes mails via un git push :)

    • solution tu pauvre : crée toi un hook dans ton dossier de travail
    • solution plus pérenne : voit comment ton serveur git peut réagir (ça peut être facilité par une force qui tu en utilise)

    Il y a juste à gérer l'inscription. Selon le trafic tu peux gérer ça manuellement sinon ça dépend de ce que tu as comme serveur (si tu es root ou si c'est un lamp par exempl).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: git

      Posté par  . Évalué à 3. Dernière modification le 16/08/20 à 12:30.

      Je rejoins les avis du dessous pour garder les choses séparées et donc d'avoir une mailing-list à part.

      L'email pourrait en effet être envoyé directement par le hook.

      Un exemple de hook post-receive que j'utilise pour générer un site Hugo sur un git push :

      #!/bin/bash
      HUGO_WORK_DIR="/chemin/gitworkdir"
      HUGO_ARGS="--noChmod"
      
      set -e
      
      # le hook est non-interactif, s'assurer du umask
      umask 0027
      
      # Ce workdir ne sera jamais pushé. On peut donc forcer son contenu depuis le
      # bare.
      GIT_WORK_TREE="$HUGO_WORK_DIR" git checkout -f
      
      # On génère le site Hugo si le push est sur la branche master.
      while read oldrev newrev ref
      do
          if [[ $ref =~ .*/master$ ]];
          then
              hugo --source "$HUGO_WORK_DIR" "$HUGO_ARGS"
          else
              echo "Branche inconnue : on ne fait rien."
          fi
      done

      J'oubliais, une particularité, le hook est ici sur le dépot bare, le dépot de travail n'existe que pour fournir les fichiers à Hugo : c'est installé sur un serveur distant, l'usage typique de Hugo étant plutôt de générer le site sur sa propre machine.

      • [^] # Re: git

        Posté par  . Évalué à 3.

        J'oubliais, une particularité, le hook est ici sur le dépot bare[…]

        Oui oui, mon exemple c'est surtout parce que si tu utilise un server git hébergé tu n'a pas le loisir d'ajouter un hook sur le serveur, il faut passer par des CI. Ce n'est pas impossible, mais c'est différent.

        Je rejoins les avis du dessous pour garder les choses séparées et donc d'avoir une mailing-list à part.

        La plupart des solutions de mailing présentées sont faites pour gérer des mailinglist complète qui servent à échanger (des forum en mail). Ce qui me semble gros pour un usage simple.

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # maillist

    Posté par  (site Web personnel) . Évalué à 4.

    Salut
    Une liste de diffusion chez ton fournisseur.
    Un mail pour s'inscrire, un maim pour se desincrire.

    • [^] # Re: maillist

      Posté par  . Évalué à 2.

      Je pense que c'est le plus pertinent oui, surtout que bon, envoyer des mails c'est bien, mais l'idéal c'est qu'ils arrivent à destination et pour ça il ne faut pas figurer sur les listes noires… Si tu envoies trop de mails avec un compte "normal" ça risque bien d'arriver.

      • [^] # Re: maillist

        Posté par  . Évalué à 2.

        Je pense que c'est le plus pertinent oui[…]

        Il faut pouvoir désactiver les envoies de mails par les utilisateurs. Ces solutions sont généralement faites pour servir de "forum mail" (type LKML par exemple).

        Si tu envoies trop de mails avec un compte "normal" ça risque bien d'arriver.

        De ce que je vois du blog de ploum ou parle ~20 mails/an, je ne sais pas combien de destinataire il espère.

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

        • [^] # Re: maillist

          Posté par  . Évalué à 3.

          je ne sais pas combien de destinataire il espère.

          C'est ce point la qui est important, de ce que j'ai vu les services de mailing ont des quotas par période, genre par heure, puis par semaine, puis par mois. Du coup si tu envoies la sauce en 5 minutes, ben…
          Après, je voulais surtout rappeler que ce point est à prendre en compte, parce que hein, le mail c'est important, dommage de se le faire bloquer bêtement.

  • # blog statique et minimalisme

    Posté par  . Évalué à 3.

    Je ne suis pas sûr que l'on puisse vraiment considérer un générateur de site statique comme étant forcément minimaliste (vu que tu as l'air de le penser: " WriteFreely (qui m'attire beaucoup mais me semble de moins en moins minimaliste)")?

    Je comprend bien l'intérêt de ces outils, je ne suis juste pas persuadé que le minimalisme soit vraiment leur raison d'être (ou même atteint).
    La simplicité (technique, à minima), probablement plus, puisque par nature il me semble peu logique d'y implémenter un système de formulaires.
    Les performances côté serveur aussi, pas besoin d'exécuter du code, il suffit de transférer un jeu de fichiers… On pourrais même les servir avec un serveur TFTP au final :D

    Un truc qui serait vraiment minimaliste, par contre, ça serait un truc qui convertit simplement un tas de fichiers d'un format utilisable par l'homme (non, pas html, clairement. Et puis, ce n'est pas si lourd d'utiliser discount), et qui fait grosso merdo un cat header body article_foo footer > article_foo.html mais ça perds pas mal de fonctionnalités (recherche, tags, etc).
    Le résultat, pour peu qu'on soit efficace en css, pourrais par exemple ressembler à ça.
    Je suis déjà tombé sur un moteur de blog en ksh, d'autres qui se basaient uniquement sur des makefiles de quelques dizaines de lignes… à côté de ça, jekill ou hugo, dépassent probablement largement les 10KLoC (mais, ont plus de fonctionnalités, offrent des thèmes déjà existants, etc).

    Perso, j'y vois surtout un intérêt côté tranquillité de l'admin: ces outils peuvent fonctionner avec un serveur httpd qui ne supporte pas les CGI, ce qui réduit considérablement la surface d'attaque.
    Suckless en cite quelques-uns, parfois ils ne supportent pas le SSL, et dans ce cas il faut mettre en place un intermédiaire (hitch par exemple) qui fera le boulot. Pas super compliqué à faire non plus.

  • # Buttondown.email

    Posté par  (site Web personnel) . Évalué à 3.

    On dirait que ce service fait ce que tu veux (d’au moins deux façons : intégration directe avec d’autres services, ou par une API si tu veux coder ta propre solution): https://buttondown.email/features/integrations
    https://buttondown.email/features/api

    Apparemment c’est moins cher que Mailchimp. Et bien sûr il y a une option gratuite.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.