Journal scraplap, pour mouler offline

Posté par . Licence CC by-sa.
25
6
nov.
2018

Bonjour nal,

Je prends la plume pour présenter scraplap.

Cet outil n'avait pas de nom à sa création. Mais pour se présenter, un nom est bien utile.
J'ai donc "inventé" le terme LAP, pour link aggregation platform ; une plateforme qui agrège des liens vers du contenu sur un sujet plus ou moins large et qui permet bien souvent de les noter et les commenter. On peut penser à Reddit, à Lobsters, à Journal du hacker.
Scrap est quant à lui le diminutif de scrapy, la bibliothèque python que j'utilise pour faire le scraping.

Scraplap s'inscrit dans la mouvance weboob, qui consiste à permettre des usages web hors navigateur (gérer sa banque, faire des rencontres, etc.). Pour ma part je suis intéressé par l'usage contentoob : consulter du contenu produit pour le web hors du navigateur. Dans ce domaine, les formats rss/atom et epub sont très utiles pour proposer du contenu sans passer par le navigateur. Ils permettent de ne pas avoir à développer d'application cliente spécifique ; une tâche trop ardue à mon goût. Il y a de très bon lecteurs RSS, sur toutes les plateformes.

Une LAP comme Lobsters propose déjà un fil d'actualités en RSS. Cependant, ils ne s'autorisent pas à y inclure du contenu qui n'est pas produit par la plateforme. On y retrouve donc que les liens vers les articles, pas les articles eux-mêmes. Or c'est typiquement là que je souhaite du contentoob. Je ne souhaite pas sortir du lecteur de fils et devoir être en ligne pour lire l'article. Scraplap fait ce travail pour moi. Il parcourt le fil d'actualité de la LAP, va chercher les articles en ligne et les remets dans un nouveau flux.

fil d'actu

Pour que les articles soient lisibles dans le lecteur de fils d'actu, l'outil applique le même algorithme que le mode lecteur de Firefox, grâce à une implémentation python basée sur lxml. Ce mécanisme mériterai un article à part entière.

article

Scraplap a connu deux releases. La première, très intimiste, était stateless, elle lisait le fil source et produisait le fil résultat en même temps. Cela posait plein de problèmes qui sont expliqués dans ce document de design ; désolé, c'est en anglais. La release actuelle est statefull, elle récupère les nouveaux articles, les stocke en DB, puis construit le fil résultat.

Le code est disponible sur Framagit, l'instance gitlab de Framasoft. J'en ai profité pour mettre en place un don récurent car je veux soutenir leur initiative de dégafamisation. Les fils d’actu sont disponibles sur mon hosting, pour lobsters et pour journalduhacker.

Si ce type d'outils vous intéresse, vous pouvez alimenter la backlog, faire des PR, commenter.

  • # Chouette

    Posté par . Évalué à 3 (+2/-0).

    Salut,
    Ça fait des lustres que je pensais à coder ça mais que j'avais une grosse flemme de le faire. Donc un gros merci ! Je vais tester ça.

    • [^] # Re: Chouette

      Posté par . Évalué à 2 (+0/-0).

      Pareil, par contre je pensais pas que le faire à la volée poserait problème. Un cache en mémoire ne suffirait pas ?

      • [^] # Re: Chouette

        Posté par . Évalué à 2 (+0/-0).

        par contre je pensais pas que le faire à la volée poserait problème. Un cache en mémoire ne suffirait pas ?

        Moi aussi, au départ :)

        L'outil tourne en mode batch, dans un cron par exemple.
        Compte tenu de la fréquence d'apparition de nouveaux contenu, je le lance toutes les deux heures.
        Il n'a donc pas de cache mémoire possible entre deux exécutions.
        Entre deux exécutions, il n'y a bien souvent que deux ou trois nouveaux articles dans le flux d'origine qui en liste 25.
        Il y a deux actions couteuses pour chaque article : le télécharger et lui appliquer le readability.

        L'utilisation d'une BDD par rapport à un traitement a la volé a pour bénéfice:
        * exécution plus rapide (empiriquement 10x)
        * maintient de l'ordre des entrées dans le flux entre deux exécutions
        * possibilité de générer un flux d'une taille différente de celui d'origine (j'ai choisi 40 au lieu de 25)

  • # Lapin compris

    Posté par . Évalué à 8 (+6/-0).

    J'ai rien compris à ce journal ;-)

    En gros, ça sert à qui et pour faire quoi ?

    BeOS le faisait il y a 15 ans !

    • [^] # Re: Lapin compris

      Posté par . Évalué à 5 (+3/-0).

      Ça prend un flux rss qui ne fait que lister des liens et ça remplace les liens par le contenu.

      • [^] # Re: Lapin compris

        Posté par . Évalué à 3 (+2/-0).

        Les lecteurs de flux RSS ne font-ils pas déjà ce travail ? Avant j'utilisais Liferea qui récupérait le contenu de l'article… (en ce moment j'utilise les "marques-pages dynamiques" de firefox)

        • [^] # Re: Lapin compris

          Posté par . Évalué à 5 (+3/-0).

          Il ne le fera pas offline et ce n'est pas une fonctionnalité de tous les lecteurs rss.
          Dans le flux Atom, le lecteur affiche le contenu de la balise "content". Si ce contenu est un lien, il affiche un lien.
          D'autre part, tous les lecteurs n'appliquent pas l'algo de readability.

          • [^] # Re: Lapin compris

            Posté par . Évalué à 1 (+0/-0).

            Ok pour le contenu, mais :

            Il ne le fera pas offline

            Tu veux dire que les lecteurs de flux RSS ne gardent pas en mémoire les articles, mais les récupèrent du serveur à chaque lecture ?

            • [^] # Re: Lapin compris

              Posté par . Évalué à 5 (+3/-0).

              Tu veux dire que les lecteurs de flux RSS ne gardent pas en mémoire les articles, mais les récupèrent du serveur à chaque lecture ?

              Si le contenu d'une entrée dans un fil d'actu est un article, il fait partie du flux, il est donc conservé par le lecteur RSS.

              Mais ce qui était proposé plus haut est que, si le contenu est une URL alors l'application cliente va chercher l'article pointé. Ce n'est pas une fonction standard d'un lecteur RSS. Ce serait une fonction particulière dans une application particulière.

              C'est un particularisme que je ne souhaite pas pour ma part. Je veux un fil classique avec l'article dans le contenu et une application classique de lecture de fils d'actu comme il en existe partout.

              Si tu veux quelque chose de plus visuel, installe un lecteurs RSS, ajoute le fil lobsters et ajoute le fil créer par scraplap. Tu verra que le premier contient un lien et que si tu cliques, il charge le contenu dans un navigateur (intégré ou non). Le second contient l'article, que tu peux lire sans plus de manipulation et sans être en ligne.

        • [^] # Re: Lapin compris

          Posté par (page perso) . Évalué à 3 (+1/-0).

          (en ce moment j'utilise les "marques-pages dynamiques" de firefox)

          Profites-en bien, il me semble qu'ils vivent leurs dernières heures.

      • [^] # Re: Lapin compris

        Posté par . Évalué à 3 (+1/-0).

        Ah oui ! C'est bien ça quand on a des fils RSS tronqués :)

        BeOS le faisait il y a 15 ans !

  • # Justifier

    Posté par (page perso) . Évalué à 6 (+5/-1). Dernière modification le 06/11/18 à 09:28.

    Je comprends pas pourquoi le texte justifié semble passé de mode. Le mode lecture de firefox ne justifie pas le texte, ce qui est mon plus gros reproche, et là sur ton screenshot c’est pareil.

    Difficile au vu du screenshot de savoir si ça vient de ton outil ou de ton lecteur de flux RSS par contre. (je connais pas les détails techniques de RSS je sais pas à quel point ça contient des infos de mise en page)

    Ça me parait particulièrement pertinent de justifier dans le cas d’un écran étroit de téléphone. Mais je suis peut-être le seul à préférer ça, je le vois très peu en pratique.
    Même mastodon dans ses colonnes minuscules aligne le texte à gauche :-(

    • [^] # Re: Justifier

      Posté par (page perso) . Évalué à 5 (+3/-0).

      Justifier sur un téléphone (ou plus généralement sur une colonne étroite) est une mauvaise pratique, sauf en cas de gestion propre des césures – ce que ne font pas les navigateurs. Parce que dans ce cas, certes c'est plus joli, mais bien moins lisible à cause des espaces entre mots qui peuvent devenir énormes.

      La connaissance libre : https://zestedesavoir.com

    • [^] # Re: Justifier

      Posté par . Évalué à 3 (+1/-0).

      Readability vire les CSS la plupart du temps.
      Je dirai donc que cela provient du lecteur.
      Mauvais logiciel, changer de logiciel :) C'est ce qui me plait avec RSS, il y en a des tonnes.
      J'en ai testé un autre. Mais sur mobile, compte tenu de la largeur de page, difficile de savoir si il justifie le texte ou pas.

    • [^] # Re: Justifier

      Posté par . Évalué à 1 (+2/-1).

      Je suis complètement d'accord ! J'en ai eu marre de lire des textes non-justifiés partout sur internet alors j'ai créé un petit style utilisateur ultra simple, mais rudement efficace :

      article p {
          text-align: justify;
      }
      

      Et voilà, tu colles ça dans Stylus dans Firefox, tu le configures par défaut pour tout Internet et voilà 😀

    • [^] # Re: Justifier

      Posté par . Évalué à 4 (+3/-0).

      Le texte justifié gène la compréhension lors de la lecture.

      cf https://en.wikipedia.org/wiki/Sentence_spacing_studies. Extrait :

      A widespread observation is that increased sentence spacing creates "rivers"[14] or "holes"[15] within text, making it visually unattractive, distracting, and difficult to locate the end of sentences.[16] Comprehensive works on typography describe the negative effect on readability caused by inconsistent spacing,[17] which is supported in a 1981 study which found that "comprehension was significantly less accurate with the river condition."[18] Another 1981 study on Cathode Ray Tube (CRT) displays concluded that "more densely packed text is read more efficiently … than is more loosely packed text."[19]

      • [^] # Re: Justifier

        Posté par (page perso) . Évalué à 5 (+3/-0).

        Ça ne concerne que le texte mal justifié (faisant varier la longueur des espaces), cet extrait ne parle pas du tout d’un texte bien justifié en utilisant la césure des mots.
        Le dernier point ("more densely packed text is read more efficiently … than is more loosely packed text.") me paraît même pouvoir être interprété en faveur de la justification.

        Ce qui ne rend pas ton message moins intéressant pour autant ;)

    • [^] # Re: Justifier

      Posté par (page perso) . Évalué à 3 (+2/-0).

      Il y a quelques mois je cherchais un thème tout fait pour un blog, et je n’en ai trouvé aucun avec les paragraphes justifiés. Avant de me décider à bidouiller un thème (je n’y connais quasiment rien) j’ai cherché s’il y avait une raison à cela, je suis tombé sur ça et ça m’a convaincu de ne pas justifier : https://designforhackers.com/blog/justify-text-html-css/

      Je me demande si les navigateurs ne pourraient pas s’inspirer de LaTeX pour le rendu des paragraphes justifiés. C’est un truc que LaTeX fait depuis toujours, donc il y a sûrement des algorithmes bien établis et testés.

    • [^] # Re: Justifier

      Posté par . Évalué à 3 (+2/-0). Dernière modification le 07/11/18 à 09:53.

      Il y aurait de bonnes raisons de ne pas justifier, et si on justifie alors c'est avec des contraintes assez fortes (césures, largeur colonne, police etc.).
      un article qui en parle : https://www.fabricecourt.com/formation/doit-on-justifier-un-texte-sur-le-web/
      certains ont choisi de justifier et explique pourquoi et comment : http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions

  • # Contentoob ?

    Posté par (page perso) . Évalué à 7 (+7/-2).

    Si tu veux rester dans la mouvance Weboob, il faut te trouver un meilleur nom.

    Je te propose: Contenteub. En français, ça passe très bien. Pour l'anglais, j'ai pas d'idée mais avec des boob et du gros contenu, on doit bien pouvoir trouver un jeu de mot à la con !

    Allez, --> []

    • [^] # Re: Contentoob ?

      Posté par (page perso) . Évalué à 7 (+6/-1). Dernière modification le 06/11/18 à 11:30.

      À propos de weboobs

      La connaissance libre : https://zestedesavoir.com

      • [^] # Re: Contentoob ?

        Posté par . Évalué à 0 (+5/-7).

        Après le code de conduite de sqlite à base de merci seigneur, encore une initiative moralisatrice dans le logiciel libre. Si la bien-pensence pouvait épargner le logiciel libre, cela me réjouirai.
        Je ne suis pas sûr que censurer un logiciel pour son nom un peu potache améliore la condition de la femme dans nos sociétés.
        Pour rappel à partir de cet après midi, en France, les femmes travaillent gratuitement et ce jusqu'à la fin de l'année (salaire comparer avec un homme ayant le même poste). Si on commençait par là avant de peaufiner les détails…

        • [^] # Re: Contentoob ?

          Posté par (page perso) . Évalué à 3 (+3/-2).

          à partir de cet après midi, en France, les femmes travaillent gratuitement et ce jusqu'à la fin de l'année

          Des études indiquent que c'est vrai, d'autres indiquent que c'est l'inverse (à résultat égal les femmes sont en moyenne plus payées que les hommes au cours d'une vie).
          C'est un truc sans fin car il y a what-milliards de facteurs, d'exceptions, etc. Sans parler des études biaisées pour soutenir tel ou tel côté, comme si les genres étaient en lutte l'un contre l'autre.

          • [^] # Re: Contentoob ?

            Posté par . Évalué à 2 (+0/-0).

            "à résultat égal" on entend quoi par "résultat" ?

          • [^] # Re: Contentoob ?

            Posté par . Évalué à 3 (+2/-0).

            Des études indiquent que c'est vrai, d'autres indiquent que c'est l'inverse

            Selon ce paragraphe bien sourcé de wikipédia, en prenant bien en compte tout les facteurs, les femmes sont tout de mêmes perdantes…

            comme si les genres étaient en lutte l'un contre l'autre

            Tu n'as jamais entendu parlé de féminisme ? de domination patriarcale ? du slogan #metoo ?

            • [^] # Re: Contentoob ?

              Posté par (page perso) . Évalué à 3 (+2/-1).

              Tu n'as jamais entendu parlé de féminisme ? de domination patriarcale ? du slogan #metoo ?

              2 % de la population ne représente pas la population. Et balancer des termes à la mode non plus.
              Il y a très (très) peu de gens qui luttent contre l'autre sexe.

              • [^] # Re: Contentoob ?

                Posté par . Évalué à 2 (+1/-0).

                Les agressions sexuelles envers les femmes, le harcèlement, les inégalités diverses, le machisme ordinaire et les violences symboliques - parfois intégrées dans la loi de certains pays - concernent beaucoup (beaucoup) de gens. Tous ces gens ne luttent pas forcément, tu as raisons, contre l'autre sexe - ce serait improductif d'ailleurs - mais essaye de conserver leur pouvoir ou d'échapper à la violence comme ils/elles le peuvent, plus ou moins consciemment.
                Ce n'est que ma lecture des choses.

            • [^] # Re: Contentoob ?

              Posté par (page perso) . Évalué à 0 (+0/-2).

              Selon ce paragraphe bien sourcé de wikipédia, en prenant bien en compte tout les facteurs, les femmes sont tout de mêmes perdantes…

              La partie que tu cites est clair : il est écrit que le revenu des femmes est inférieur à celui des hommes, et qu'elles font des choix différents de ceux des hommes. Il n'est pas écrit qu'à résultat égal elles sont moins payées.

              Il y a d'autres trucs « bien sourcés » qui arrivent à toutes les conclusions possibles. Donc en gros on ne sait pas vu que c'est le foutoir (déjà que les choses pour lesquelles tout le monde est d'accord sont parfois fausses…).

              • [^] # Re: Contentoob ?

                Posté par . Évalué à 3 (+2/-0).

                Il n'est pas écrit qu'à résultat égal elles sont moins payées.

                Tu n'as pas lu jusqu'au bout :

                " Bien que les inégalités salariales sont en grande partie explicables par des différences de postes, d'expérience et de volume horaire, les femmes restent moins payées que les hommes après ajustement de ces variables. Les recherches menées aux États-Unis montrent qu'il reste un écart salarial de 7 % qui ne peut pas être causé par le nombre d'heures travaillées, le métier, le niveau d'étude ou le secteur d'emploi. Par exemple, en France selon l'observatoire de l'IESF, les femmes ingénieures sont en moyenne payées 2 000 € annuel de moins que leurs homologues masculins à la sortie de l'école en 2016 et l'écart s'agrandit au cours de la carrière et au Royaume-Uni, les femmes tradeurs bien qu'ayant le même salaire que les hommes, reçoivent deux fois moins de bonus que les hommes."

                • [^] # Re: Contentoob ?

                  Posté par (page perso) . Évalué à 2 (+1/-1).

                  Tu n'as pas lu jusqu'au bout

                  Effectivement. L'article contient une partie qui dit ça, et une partie qui dit quasi l'inverse (la partie que je cite). Encore une fois on trouve tout et son contraire dans ce débat.
                  Tu peux citer autant de sources que tu veux, il y en a autant qui trouvent le résultat opposé tout aussi valide. C'est sans fin.

                  Pareil pour la dure réalité du terrain. Par exemple pourquoi les patrons n'embauchent pas uniquement des femmes ? Dans les métiers où on trouve facilement des femmes, bien entendu. Puisqu'elles sont moins payées toutes choses égales par ailleurs, c'est contre-productif d'embaucher des hommes.
                  À cette remarque il y a autant d'explications en faveur d'un bord que de l'autre.

Envoyer un commentaire

Suivre le flux des commentaires

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