Meta-Press.eshttps://www.meta-press.es/2025-11-06T00:00:00+01:00Decentralized search engine & automatized press reviewsIs Google making search worse to sell more ads?2025-11-06T00:00:00+01:002025-11-06T00:00:00+01:00Siltaartag:www.meta-press.es,2025-11-06:/journal/2025/20251106_Is_Google_making_search_worse_to_sell_more_ads.html<div class="paragraph"> <p>As Google faces the prospect of a court-ordered breakup following a recent monopoly ruling, new research suggests the tech giant’s declining search quality may be a deliberate strategy to boost advertising revenue at the expense of consumer experience.</p> </div> <div class="paragraph"> <p><a href="https://journalrecord.com/2025/02/20/is-google-making-search-worse-to-sell-more-ads/" class="bare">https://journalrecord.com/2025/02/20/is-google-making-search-worse-to-sell-more-ads/</a></p> </div> <div class="paragraph"> <p><a href="https://www.justice.gov/d9/2023-11/417557.pdf" class="bare">https://www.justice.gov …</a></p></div><div class="paragraph"> <p>As Google faces the prospect of a court-ordered breakup following a recent monopoly ruling, new research suggests the tech giant’s declining search quality may be a deliberate strategy to boost advertising revenue at the expense of consumer experience.</p> </div> <div class="paragraph"> <p><a href="https://journalrecord.com/2025/02/20/is-google-making-search-worse-to-sell-more-ads/" class="bare">https://journalrecord.com/2025/02/20/is-google-making-search-worse-to-sell-more-ads/</a></p> </div> <div class="paragraph"> <p><a href="https://www.justice.gov/d9/2023-11/417557.pdf" class="bare">https://www.justice.gov/d9/2023-11/417557.pdf</a></p> </div>Google dégrade-t-il ses recherches pour vendre plus de pubs ?2025-11-06T00:00:00+01:002025-11-06T00:00:00+01:00Siltaartag:www.meta-press.es,2025-11-06:/fr/journal/2025/20251106_Is_Google_making_search_worse_to_sell_more_ads.html<div class="paragraph"> <p>Vous avez l&#8217;impression que la qualité des résultats de Google est de pire en pire ? Vous n&#8217;êtes pas le/la seul(e).</p> </div> <div class="paragraph"> <p>Et il se pourrait que ça soit une volonté de Google : Des documents internes montrent que la dégradation de la qualité n&#8217;a pas d&#8217;impact …</p></div><div class="paragraph"> <p>Vous avez l&#8217;impression que la qualité des résultats de Google est de pire en pire ? Vous n&#8217;êtes pas le/la seul(e).</p> </div> <div class="paragraph"> <p>Et il se pourrait que ça soit une volonté de Google : Des documents internes montrent que la dégradation de la qualité n&#8217;a pas d&#8217;impact sur le business de Google. C&#8217;est même le contraire: les gens passant plus de temps à parcourir les pages de résultats voient plus de publicité, ce qui est bénéfique à Google. Et Google peut se permettre cela car il a de fait un monopole de la recherche : Tout le monde utilise Google, est tout le monde est convaincu qu&#8217;il a les meilleurs résultats. Mais ce n&#8217;est plus le cas ! Il est temps d&#8217;aller faire nos recherches ailleurs.</p> </div> <div class="paragraph"> <p>L&#8217;origine de ce bordel date de juin 2020 où la division "moteur de recherche" a été fusionnée avec la division "publicité" (auparavant strictement séparées). C&#8217;est bien une <a href="https://fr.wikipedia.org/wiki/Merdification">merdification</a>.</p> </div> <div class="ulist"> <ul> <li> <p>Texte emprunté (avec l&#8217;accord de l&#8217;auteur) : <a href="https://sebsauvage.net/links/?ivYaNw" class="bare">https://sebsauvage.net/links/?ivYaNw</a></p> </li> <li> <p>Source presse américaine : <a href="https://journalrecord.com/2025/02/20/is-google-making-search-worse-to-sell-more-ads/" class="bare">https://journalrecord.com/2025/02/20/is-google-making-search-worse-to-sell-more-ads/</a></p> </li> <li> <p>Source justice américaine : <a href="https://www.justice.gov/d9/2023-11/417557.pdf" class="bare">https://www.justice.gov/d9/2023-11/417557.pdf</a></p> </li> </ul> </div>Version 1.9 : Big speed improvement, command-line interface and book search2025-10-22T00:00:00+02:002025-10-22T00:00:00+02:00Siltaartag:www.meta-press.es,2025-10-22:/journal/2025/v1.9_speed_improvement_CLI_books.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_speed_improvements">1. Speed improvements</a></li> <li><a href="#_meta_press_es_command_line_interface">2. Meta-Press.es command line interface</a></li> <li><a href="#_contributions">3. Contributions</a> <ul class="sectlevel2"> <li><a href="#_book_result_type">3.1. Book result type</a></li> <li><a href="#_better_design">3.2. Better design</a></li> <li><a href="#_tamil_from_weblate">3.3. Tamil from Weblate</a></li> <li><a href="#_review_by_korben_info">3.4. Review by Korben.info</a></li> </ul> </li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Even being quite, Meta-Press.es was an active project this year. Let&#8217;s announce some exciting features, such …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_speed_improvements">1. Speed improvements</a></li> <li><a href="#_meta_press_es_command_line_interface">2. Meta-Press.es command line interface</a></li> <li><a href="#_contributions">3. Contributions</a> <ul class="sectlevel2"> <li><a href="#_book_result_type">3.1. Book result type</a></li> <li><a href="#_better_design">3.2. Better design</a></li> <li><a href="#_tamil_from_weblate">3.3. Tamil from Weblate</a></li> <li><a href="#_review_by_korben_info">3.4. Review by Korben.info</a></li> </ul> </li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Even being quite, Meta-Press.es was an active project this year. Let&#8217;s announce some exciting features, such as the new command-line interface, considerable speed improvements a new result type : book, a rework of the design and the availability of a contributed Tamil translation !</p> </div> </div> </div> <div class="sect1"> <h2 id="_speed_improvements">1. Speed improvements</h2> <div class="sectionbody"> <div class="paragraph"> <p>This new release of Meta-Press.es bring many speed improvements. First, the source definitions are now kept in the browser storage, this allows to avoid reading the 25 000 lines of the definitions at each new Meta-Press.es tab. Loading sources from the browser storage is 3x faster than reading them from my NVME drive (using Firefox Nightly ASAN, a slow version).</p> </div> <div class="paragraph"> <p>Then Meta-Press.es improved the way it performs the searches. The previous method was to query a source, wait for its answer and start over with the next source. The new method is to launch all queries at once (but no more than 500 per second to respect <a href="https://quad9.net">Quad9</a> recommandations) and only after that starting to study the responses. This allows to start waiting for the slowest sources right from the beginning, giving it more time to answer before actually delaying the request. On a french LTE connexion its 3x faster, with measured 620 sources fetched in 9s. This query scheduling improvement was achieve thanks to the <code>microTask</code> JavaScript API.</p> </div> <div class="paragraph"> <p>The last speed improvement is the multi-thread approach (thanks to the Wau Holland Foundation). You can turn it on from the settings, clicking the corresponding box. This allows to divide a search in batches, approximatively one by CPU core (minus a small percentage of spared cores), to get more CPU working on the search as JavaScript is otherwise single-threaded. This is done using different search tabs, automatically opened and closed. Results are gathered in the original tab. It might help in scenarios where the task is CPU-bound like on an old smartphones with good WiFi or an old computer with an optic fiber connexion. But usually, and with my LTE connexion for instance, the CPU is just waiting for the data to come from the network (so the option is not activated by default).</p> </div> </div> </div> <div class="sect1"> <h2 id="_meta_press_es_command_line_interface">2. Meta-Press.es command line interface</h2> <div class="sectionbody"> <div class="paragraph"> <p>As per NLnet and NGI0 support, Meta-Press.es searches can now be run out of web browser, from the command-line, via a <a href="https://deno.com">Deno</a> script.</p> </div> <div class="paragraph"> <p>This is the final stage of the code architecture rework initiated on NLnet impulse to introduce a clean separation between the core functions and the interface. This way, most of the Meta-Press.es core code is reused in this new command line interface.</p> </div> <div class="paragraph"> <p>This should allow to embed Meta-Press.es in more situations, even server-side.</p> </div> <div class="paragraph"> <p>Currently, this implementation is not faster than the regular in-browser web-interface. It&#8217;s due to the fact that all web page analysis (aka as DOM operations) are emulated via the <a href="https://github.com/jsdom/jsdom">jsdom</a> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> library, while the DOM is native on web-browsers. Deno, nor NodeJS are giving access to a compiled DOM. So searches are CPU-bound when started from the command-line and run for minutes when single-threaded. Fortunately, the multi-threaded searches (done via the WebWorker API here <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>) are improving things a lot, getting searches on par with the web-interface on a big (16 threads) machine.</p> </div> <div class="paragraph"> <p>For instructions about the Meta-Press.es command-line interface, please check the corresponding project <a href="https://framagit.org/Siltaar/meta-press-ext#user-content-run-the-command-line-interface">README section</a>.</p> </div> </div> </div> <div class="sect1"> <h2 id="_contributions">3. Contributions</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_book_result_type">3.1. Book result type</h3> <div class="paragraph"> <p>Meta-Press.es v1.9 welcomes a new type of results : books. This have been made possible thanks to the work of Alexiane Senechaud, whom added a lot of new sources and electronic book libraries among them.</p> </div> <div class="paragraph"> <p>To keep things clear, the previous "text" result type covering press articles have been renamed "article", so we now have two text result types : books and articles.</p> </div> <div class="paragraph"> <p>You&#8217;re welcome to point us to more online libraries.</p> </div> </div> <div class="sect2"> <h3 id="_better_design">3.2. Better design</h3> <div class="paragraph"> <p>Alexiane also contributed a wide redesign of the Meta-Press.es WebExtension interface. Most of her ideas have been implemented in this new version :</p> </div> <div class="ulist"> <ul> <li> <p>new font</p> </li> <li> <p>a popup menu instead of the previous header-bar</p> </li> <li> <p>a better setup presentation</p> </li> <li> <p>a redesign of the footer with direct donation links…</p> </li> </ul> </div> <div class="paragraph"> <p>It was a great work from her and I did not implement all of her ideas yet.</p> </div> </div> <div class="sect2"> <h3 id="_tamil_from_weblate">3.3. Tamil from Weblate</h3> <div class="paragraph"> <p>A great (but currently anonymous to me) contributor did translate entirely Meta-Press.es into Tamil language via <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>. This new version get it available. This have been possible thanks to Weblate a wonderful online translation management plateform, with high quality service and professional support.</p> </div> </div> <div class="sect2"> <h3 id="_review_by_korben_info">3.4. Review by Korben.info</h3> <div class="paragraph"> <p>To finish, this release log comes a bit late after some hurry releases this summer. It&#8217;s because the french tech-blog Korben.info published an unexpected (but welcome) <a href="/revues/2025/20250711_korben.html">review of Meta-Press.es</a>. It lead to an urgent release of the state of the art development version, to showcase improvements.</p> </div> <div class="paragraph"> <p>This review lead to 100+ downloads in a few days and raised our average daily users to nearly 900. This website was visited more than 11 000 times during the corresponding month.</p> </div> </div> </div> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. jsdom is the only NodeJS / Deno DOM library supporting XPathEvaluator. Don&#8217;t hesitate to prove me wrong when something better will be available. </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. Regular in-browser WebWorkers are DOM-less also. </div> </div>Version 1.9 : Accélérations, interface en ligne de commande et recherche de livres2025-10-22T00:00:00+02:002025-10-22T00:00:00+02:00Siltaartag:www.meta-press.es,2025-10-22:/fr/journal/2025/v1.9_speed_improvement_CLI_books.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_accélérations">1. Accélérations</a></li> <li><a href="#_meta_press_es_en_ligne_de_commande">2. Meta-Press.es en ligne de commande</a></li> <li><a href="#_contributions">3. Contributions</a> <ul class="sectlevel2"> <li><a href="#_le_type_de_résultat_livre">3.1. Le type de résultat : livre</a></li> <li><a href="#_refonte_de_linterface_graphique">3.2. Refonte de l&#8217;interface graphique</a></li> <li><a href="#_traduction_tamoul_via_weblate">3.3. Traduction tamoul via Weblate</a></li> <li><a href="#_revue_par_korben_info">3.4. Revue par Korben.info</a></li> </ul> </li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Bien que l&#8217;année fut calme en apparence, le projet Meta-Press.es …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_accélérations">1. Accélérations</a></li> <li><a href="#_meta_press_es_en_ligne_de_commande">2. Meta-Press.es en ligne de commande</a></li> <li><a href="#_contributions">3. Contributions</a> <ul class="sectlevel2"> <li><a href="#_le_type_de_résultat_livre">3.1. Le type de résultat : livre</a></li> <li><a href="#_refonte_de_linterface_graphique">3.2. Refonte de l&#8217;interface graphique</a></li> <li><a href="#_traduction_tamoul_via_weblate">3.3. Traduction tamoul via Weblate</a></li> <li><a href="#_revue_par_korben_info">3.4. Revue par Korben.info</a></li> </ul> </li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Bien que l&#8217;année fut calme en apparence, le projet Meta-Press.es a été très actif. Voici les principales fonctionnalités ajoutées cette année : une interface en ligne de commande, de grosses accélérations dans les traitements, un nouveau type de résultats (les livres), une refonte progressive de l&#8217;interface web et la contribution d&#8217;une traduction en tamoul de l&#8217;outil.</p> </div> </div> </div> <div class="sect1"> <h2 id="_accélérations">1. Accélérations</h2> <div class="sectionbody"> <div class="paragraph"> <p>Cette nouvelle version de Meta-Press.es introduit plusieurs améliorations dans les délais de traitement. Tout d&#8217;abord, les définitions de source sont désormais gardées dans le stockage du navigateur, pour éviter d&#8217;avoir à relire les 25 000 lignes de définition à chaque ouverture d&#8217;un onglet Meta-Press.es. Lire la définition des sources depuis le stockage du navigateur s&#8217;avère 3x plus rapide que de lire cette information depuis le stockage NVME de ma machine (tests effectués avec Firefox Nightly ASAN, une version lente).</p> </div> <div class="paragraph"> <p>Ensuite c&#8217;est la façon dont les recherches sont effectuées qui a été améliorée. La précédente méthode consistait à interroger une source, attendre puis traiter sa réponse, et recommencer avec la source suivante. La nouvelle méthode consiste à lancer toutes les requêtes en même temps dès le début (en respectant le nombre maximum de requêtes DNS recommandé par <a href="https://quad9.net">Quad9</a>, soit 500 par seconde) et de ne commencer à analyser les réponses qu&#8217;après. Ceci permet de masquer partiellement les temps d&#8217;attente des sources les plus lentes. Sur une connexion 4G en France c&#8217;est 3x plus rapide et 620 sources peuvent être interrogées en 9s. Cette amélioration de l&#8217;ordonnancement des requêtes s&#8217;appuie sur l&#8217;API JavaScript <code>microTask</code>.</p> </div> <div class="paragraph"> <p>La dernière amélioration concerne l&#8217;introduction d&#8217;une approche multi-tâches des recherches (grâces à la Wau Holland Foundation). Cette fonctionnalité est activable d&#8217;un clic dans les réglages. Cela permet de répartir les requêtes sur plusieurs tâches, environ une par noyau de CPU (moins quelques tâches conservées libres pour le système et rassembler les résultats), afin de mobiliser plus de ressources du micro-processeur alors que le JavaScript est lui mono-tâche. Pour ce faire, une recherche multi-tâches ouvre (puis referme automatiquement) plusieurs onglets dans le navigateur. Les résultats sont ensuite rassemblés dans l&#8217;onglet ayant lancé la recherche. Ce fonctionnement devrait permettre de gagner du temps dans les environnements d&#8217;exécution où c&#8217;est le CPU qui ralenti le traitement (comme avec un vieux smartphone sur une bonne connexion WiFi ou un vieil ordinateur connecté en fibre optique). Mais sur une connexion 4G, le CPU passe le plus clair de son temps à attendre les réponses, donc l&#8217;option n&#8217;est pas activée par défaut.</p> </div> </div> </div> <div class="sect1"> <h2 id="_meta_press_es_en_ligne_de_commande">2. Meta-Press.es en ligne de commande</h2> <div class="sectionbody"> <div class="paragraph"> <p>Grâce au soutien de la NLnet et du programme européen NGI0, il est désormais possible de réaliser des recherches Meta-Press.es hors d&#8217;un navigateur web, depuis la ligne de commande via un script <a href="https://deno.com">Deno</a>.</p> </div> <div class="paragraph"> <p>Cette nouvelle manière d&#8217;utiliser Meta-Press.es représente la dernière étape de la restructuration de code impulsée par la NLnet pour introduire une séparation claire entre moteur et interface, alors que ce dernier s&#8217;est considérablement compliqué ces dernières années. Aujourd&#8217;hui, la majeure partie du code de Meta-Press.es a pu être réutilisée pour le fonctionnement en ligne de commande, prouvant que tout a bien été rangé.</p> </div> <div class="paragraph"> <p>Cette nouvelle interface devrait permettre d&#8217;utiliser Meta-Press.es dans de nouvelles situations, par exemple sur un serveur.</p> </div> <div class="paragraph"> <p>Toutefois ce n&#8217;est pour l&#8217;instant pas plus rapide que d&#8217;utiliser Meta-Press.es dans un navigateur web. Ceci est dû au fait que l&#8217;analyse des pages web téléchargées par Meta-Press.es est lente dans ce contexte car elle passe par la bibliothèque de fonction <a href="https://github.com/jsdom/jsdom">jsdom</a> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> qui simule les parties manquantes du navigateur web. Un navigateur web propose ces fonctionnalités à partir de code compilé 100x plus rapide qu&#8217;une version singée en JavaScript. Une recherche Meta-Press.es en ligne de commande est donc limitée par le CPU de la machine et s&#8217;étalait sur plusieurs minutes dans la première version mono-tâche. Heureusement, il a été possible de proposer une exécution multi-tâches (en s&#8217;appuyant sur l&#8217;API WebWorker <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> cette fois), qui ramène le temps d&#8217;exécution à quelque chose de comparable au Meta-Press.es classique, du moins sur une machine avec 16 fils d&#8217;exécution.</p> </div> <div class="paragraph"> <p>Pour plus d&#8217;information sur comment utiliser Meta-Press.es en ligne de commande, reportez vous à la <a href="https://framagit.org/Siltaar/meta-press-ext#user-content-run-the-command-line-interface">section correspondante du README</a> du projet.</p> </div> </div> </div> <div class="sect1"> <h2 id="_contributions">3. Contributions</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_le_type_de_résultat_livre">3.1. Le type de résultat : livre</h3> <div class="paragraph"> <p>Meta-Press.es v1.9 se voit doté d&#8217;un nouveau type de résultat : les livres. Cela a été rendu possible grâce au travail d&#8217;Alexiane Sénéchaud, qui a ajouté plein de sources dont de nombreuses librairies électroniques en ligne.</p> </div> <div class="paragraph"> <p>Pour clarifier la situation, le précédent type de résultat "texte" (qui correspondait aux articles de presse) a été renommé : "article". Il y a donc désormais deux types de résultats majoritairement textuels : les articles et les livres numériques.</p> </div> <div class="paragraph"> <p>N&#8217;hésitez pas à nous indiquer d&#8217;autres bonne librairies en ligne.</p> </div> </div> <div class="sect2"> <h3 id="_refonte_de_linterface_graphique">3.2. Refonte de l&#8217;interface graphique</h3> <div class="paragraph"> <p>Alexiane a aussi travaillé à la conception des pages de Meta-Press.es en version WebExtension. La plupart de ses idées ont été implémentées dans cette nouvelle version :</p> </div> <div class="ulist"> <ul> <li> <p>nouvelle police de caractère</p> </li> <li> <p>menu unique et simplifié à la place de la barre d&#8217;entête</p> </li> <li> <p>meilleure présentation des réglages</p> </li> <li> <p>refonte du pieds de page avec des liens directs pour faire des dons…</p> </li> </ul> </div> <div class="paragraph"> <p>Elle a fait un travail formidable et je n&#8217;ai pas encore tout intégré de ses idées.</p> </div> </div> <div class="sect2"> <h3 id="_traduction_tamoul_via_weblate">3.3. Traduction tamoul via Weblate</h3> <div class="paragraph"> <p>Un incroyable contributeur (encore anonyme à ce stade) a traduit toute l&#8217;interface de Meta-Press.es en tamoul. Cette nouvelle version de Meta-Press.es embarque son travail. Cette contribution a été rendue possible par <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>, une très bonne plateforme de gestion en ligne des traductions d&#8217;un logiciel (avec un support professionnel et de nombreuses fonctionnalités de travail en équipe).</p> </div> </div> <div class="sect2"> <h3 id="_revue_par_korben_info">3.4. Revue par Korben.info</h3> <div class="paragraph"> <p>Pour finir, ces notes de version arrivent un peu tard après plusieurs versions intermédiaires sorties un peu précipitamment cet été. C&#8217;est parce que le blog technique français Korben.info a publié une <a href="/fr/revues/2025/20250711_korben.html">revue</a> inattendue (mais bienvenue) de Meta-Press.es. Cet évènement étant de nature à faire découvrir l&#8217;outil à plein de monde en peu de temps, il a semblé préférable de fournir une version à jour (notamment de la liste des sources) pour présenter l&#8217;outil sous son meilleur jour.</p> </div> <div class="paragraph"> <p>Cette revue a entrainé un peu plus de 100 téléchargements en quelques jours et remonté le nombre moyen d&#8217;utilisateurs quotidien à presque 900. Ce site a de son côté été visité plus de 11 000 fois en juillet cette année.</p> </div> </div> </div> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. jsdom est la seule bibliothèque NodeJS / Deno qui propose la fonction XPathEvaluator. N&#8217;hésitez pas à me contredire dès que quelque chose de plus rapide sera disponible. </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. Il est à noter que l&#8217;API DOM est absente des WebWorker, même s&#8217;ils sont lancés depuis un navigateur web. </div> </div>[Korben.info] Meta-Press.es - the press search engine that doesn't spy on you2025-07-25T00:00:00+02:002025-07-25T00:00:00+02:00Siltaartag:www.meta-press.es,2025-07-25:/revues/2025/20250711_korben.html<div class="paragraph"> <p>Tired of Google News, its bubbles, its filters and its shitty articles written by AI ? Know that there is a guy in France developing Meta-Press.es, a decentralized press search engine, running directly from your Firefox. No tracking, no ad and it searches through 900 newspapers at once.</p> </div> <div class="paragraph"> <p>[…]</p> </div> <div class="paragraph"> <p>So if …</p></div><div class="paragraph"> <p>Tired of Google News, its bubbles, its filters and its shitty articles written by AI ? Know that there is a guy in France developing Meta-Press.es, a decentralized press search engine, running directly from your Firefox. No tracking, no ad and it searches through 900 newspapers at once.</p> </div> <div class="paragraph"> <p>[…]</p> </div> <div class="paragraph"> <p>So if you monitor some subjects, do press reviews, or just get informed without giving your data to GAFAM, Meta-Press.es is a real choice. And it&#8217;s cool to support french based projects with ethical values.</p> </div> <div class="paragraph"> <p><a href="https://korben.info/meta-press-moteur-recherche-presse-decentralise-firefox.html">Meta-Press.es - le moteur de recherche de presse qui ne vous espionne pas</a> (<em>fr</em>)</p> </div>[Korben.info] Meta-Press.es - le moteur de recherche de presse qui ne vous espionne pas2025-07-25T00:00:00+02:002025-07-25T00:00:00+02:00Siltaartag:www.meta-press.es,2025-07-25:/fr/revues/2025/20250711_korben.html<div class="paragraph"> <p>Vous en avez marre de Google News, de ses bulles de filtre et de ses articles de merde écrit par IA ? Et bien sachez qu’il y a un mec en France qui a développé Meta-Press.es , un moteur de recherche de presse décentralisé qui tourne directement dans votre Firefox …</p></div><div class="paragraph"> <p>Vous en avez marre de Google News, de ses bulles de filtre et de ses articles de merde écrit par IA ? Et bien sachez qu’il y a un mec en France qui a développé Meta-Press.es , un moteur de recherche de presse décentralisé qui tourne directement dans votre Firefox. Zéro tracking, zéro pub, et ça cherche dans 900 journaux d’un coup.</p> </div> <div class="paragraph"> <p>[…]</p> </div> <div class="paragraph"> <p>Voilà, donc si vous faites de la veille, des revues de presse, ou si vous voulez juste vous informer sans alimenter la machine à données des GAFAM, Meta-Press.es est vraiment une alternative crédible. En plus, ça fait plaisir de soutenir un projet français qui défend des valeurs éthiques.</p> </div> <div class="paragraph"> <p><a href="https://korben.info/meta-press-moteur-recherche-presse-decentralise-firefox.html">Meta-Press.es - le moteur de recherche de presse qui ne vous espionne pas</a> (<em>fr</em>)</p> </div>Version 1.8.17.4 : Mozilla quality enforcement, manifest v3 and Scrutari2024-10-16T00:00:00+02:002024-10-16T00:00:00+02:00Siltaartag:www.meta-press.es,2024-10-16:/journal/2024/v1.8.16_mv3_mozilla_quality_scrutari.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_mozilla_automated_add_ons_code_quality_checks">1. Mozilla automated add-ons code quality checks</a> <ul class="sectlevel2"> <li><a href="#_missing_sources_or_instructions">1.1. Missing sources or instructions</a></li> <li><a href="#_please_provide_the_origin_of_the_exact_library_version">1.2. Please provide the origin of the exact library version</a></li> <li><a href="#_no_more_one_letter_variables">1.3. No more one letter variables</a></li> <li><a href="#_utf_16_ranges_in_regex_are_considered_obfuscation">1.4. UTF-16 ranges in RegEx are considered obfuscation</a></li> </ul> </li> <li><a href="#_switch_to_manifest_version_3">2. Switch to manifest version 3</a> <ul class="sectlevel2"> <li><a href="#_embrace_extend_and_extinguish">2.1. Embrace …</a></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_mozilla_automated_add_ons_code_quality_checks">1. Mozilla automated add-ons code quality checks</a> <ul class="sectlevel2"> <li><a href="#_missing_sources_or_instructions">1.1. Missing sources or instructions</a></li> <li><a href="#_please_provide_the_origin_of_the_exact_library_version">1.2. Please provide the origin of the exact library version</a></li> <li><a href="#_no_more_one_letter_variables">1.3. No more one letter variables</a></li> <li><a href="#_utf_16_ranges_in_regex_are_considered_obfuscation">1.4. UTF-16 ranges in RegEx are considered obfuscation</a></li> </ul> </li> <li><a href="#_switch_to_manifest_version_3">2. Switch to manifest version 3</a> <ul class="sectlevel2"> <li><a href="#_embrace_extend_and_extinguish">2.1. Embrace, extend and extinguish</a></li> <li><a href="#_manifest_v2_vs_manifest_v3">2.2. Manifest v2 vs Manifest v3</a></li> </ul> </li> <li><a href="#_no_dates_on_results">3. No dates on results ?</a></li> <li><a href="#_20_new_scrutari_based_sources">4. 20 new Scrutari-based sources</a></li> <li><a href="#_when_asking_for_too_much_results">5. When asking for too much results</a></li> <li><a href="#_javascript_code_linting_quick_lint_js">6. JavaScript code linting : quick-lint-js</a></li> <li><a href="#_fixtheworld_francetvinfo">7. #FixTheWorld : FranceTVInfo</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Things have been rushed a little bit for Meta-Press.es in mid-septembre with a series of releases in close proximity responding to the urgency that represented the disabling of Meta-Press.es by Mozilla&#8217;s due to automatic enforcement of new code quality rules.</p> </div> </div> </div> <div class="sect1"> <h2 id="_mozilla_automated_add_ons_code_quality_checks">1. Mozilla automated add-ons code quality checks</h2> <div class="sectionbody"> <div class="paragraph"> <p>Everything began with an email received the 17th of September 2024 warning me that Meta-Press.es would soon be disabled from Addons.Mozilla.org (aka AMO). Apparently I did miss a previous email allegedly sent two weeks before (but I rarely miss an email).</p> </div> <div class="sect2"> <h3 id="_missing_sources_or_instructions">1.1. Missing sources or instructions</h3> <div class="paragraph"> <p>The reason invoked for this radical measure was that the Meta-Press.es WebExtension was missing « sources or instructions » on how to get the original sources of embedded dependencies.</p> </div> <div class="paragraph"> <p>When using embedded minified third party libraries the rule was to provide also the link to the source of this library. So, for each release since 5 years, I provided (copy/pasted from the README file) the list of official websites for every dependencies of Meta-Press.es.</p> </div> <div class="paragraph"> <p>The review history were the message appeared is presented like a chat. I got this message :</p> </div> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>Sources, specifically Sources or instructions missing: Your add-on contains minified, concatenated or otherwise machine-generated code. You need to provide the original sources, together with instructions on how to generate the exact same code used in the add-on. Source code must be provided as an archive and uploaded using the source code upload field, which can be done during submission or on the version page in the developer hub. Instructions can be provided in a top-level README file inside the source code package or in the "Notes to Reviewers" field on the version page in the developer hub.</p> </div> </blockquote> <div class="attribution"> &#8212; Initial message from the Add-ons review Team </div> </div> <div class="paragraph"> <p>And answered by :</p> </div> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>Hi, I provided links to non-minified code in the Reviewer&#8217;s notes. Did I missed one ?</p> </div> </blockquote> <div class="attribution"> &#8212; Answer from a developer by Siltaar<br> <cite>2024-09-19 15:09</cite> </div> </div> <div class="paragraph"> <p>Well, I never got any answer and the add-on were disabled 48h later. All of the previous version, since 5 years. Suddenly you don&#8217;t appear anymore in the add-ons search results and the URL of the add-on at AMO is 404.</p> </div> </div> <div class="sect2"> <h3 id="_please_provide_the_origin_of_the_exact_library_version">1.2. Please provide the origin of the exact library version</h3> <div class="paragraph"> <p>I issued a new version with no minimized code, replacing 14 minimized CSS or JavaScript files by their original (and updated for the occasion) versions. After all, a <a href="https://www.gnu.org/software/librejs/">libre JavaScript</a> is not minimized. But this new release got refused, with the same previous message, plus another one.</p> </div> <div class="quoteblock"> <blockquote> <div class="ulist"> <ul> <li> <p>Sources, specifically Third party library information: Your add-on includes a third-party library. Please provide the origin of the exact library version you were using and make sure you are using an exact copy of the original maintainer&#8217;s release version.</p> </li> </ul> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review Team </div> </div> <div class="paragraph"> <p>Ok, this makes sense also : I imagine that they built an automated verification of embedded third party libraries and they need us to provide exact links (while a human could have manage to deal with official landing page of each dependency before). And this time I got a link toward an online documentation about how to deal with third party libraries.</p> </div> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>For more information, refer to <a href="https://extensionworkshop.com/documentation/publish/third-party-library-usage/" class="bare">https://extensionworkshop.com/documentation/publish/third-party-library-usage/</a></p> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review Team </div> </div> <div class="paragraph"> <p>So I issued a new version with exact link of official versions of each libraries. If a library does not provide an online version of its release code, you can&#8217;t use it. Again, this is what it takes to setup an automated verification of third party libraries, and it&#8217;s a good point to know that there is no mysterious code in Mozilla&#8217;s Add-ons.</p> </div> <div class="paragraph"> <p>But <a href="https://codemirror.net/5/">CodeMirror v5</a> for instance, uses hundreds of files to store its development code, and compiles minified one-file releases (package in .zip files), which are simpler to load in your web pages. As it still uses plugins, with eventual dependencies (to highlight JSON and JSON errors for instance), it turned out to be a too big maintenance burden for Meta-Press.es. Now sources are added as raw text in a standard textarea. CodeMirror v6 might fit here one day.</p> </div> </div> <div class="sect2"> <h3 id="_no_more_one_letter_variables">1.3. No more one letter variables</h3> <div class="paragraph"> <p>It took a lot of work, out of schedules to address this priority. But this new release was rejected with the following message.</p> </div> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>[…]</p> </div> <div class="paragraph"> <p>Your extension contains multiple parts of code with one letter variables, making the code difficult to reviews. As our policies state, that you can read at <a href="https://extensionworkshop.com/documentation/publish/add-on-policies/#submission-guidelines" class="bare">https://extensionworkshop.com/documentation/publish/add-on-policies/#submission-guidelines</a>, code must be provided in a way that is reviewable</p> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review Team </div> </div> <div class="paragraph"> <p>The top cut part is the copy of the previous message, repeated as a preamble each time. But then comes a new problem about a new rule with a new link to online documentation.</p> </div> <div class="paragraph"> <p>Well, I&#8217;ve been taught at my engineering school to use « i » as the iterator variable in for loops for instance. It looks like a common practice… To be true, I was using some other one letter variables, by convention, with the same letters everywhere in the code (for source definitions, for source keys and so on…). What was a small usage in a single place grown with the code and was spread everywhere.</p> </div> <div class="paragraph"> <p>With no other feedback and still in a hurry to fix things, I decided to replace all my one letter variables by trigrams or trigrams groups (src for source definition, src_key for source key…). I was not in the mood of searching by dichotomy the exact threshold of tolerance of the automated reviewing script regarding one letter variables using.</p> </div> <div class="paragraph"> <p>I sent 3 messages trying to get more details on the problems and explaining my moves. But the next release was rejected.</p> </div> </div> <div class="sect2"> <h3 id="_utf_16_ranges_in_regex_are_considered_obfuscation">1.4. UTF-16 ranges in RegEx are considered obfuscation</h3> <div class="paragraph"> <p>At least I got a new error message :</p> </div> <div class="quoteblock"> <blockquote> <div class="ulist"> <ul> <li> <p>Other, specifically Issue not covered by other reasons: As per our Source Code Submission guidelines, the source code code provided must be human readable.</p> </li> </ul> </div> <div class="paragraph"> <p>A file subbmitted as part of the source code (js/core/source_fetching.js) is not readable. Please ensure that all files submitted as part of the source code submission are readable.</p> </div> <div class="paragraph"> <p>For more information, please refer to <a href="https://extensionworkshop.com/documentation/publish/source-code-submission/" class="bare">https://extensionworkshop.com/documentation/publish/source-code-submission/</a></p> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review team </div> </div> <div class="paragraph"> <p>This one was easy, I was using a big regular expression with lots of unicode (UTF-16) defined ranges (to cut words in strings, for potentially all the languages supported by unicode). Searching to fix this new issue, I discovered a way to get rid of this previous big definition work, using RegEx <a href="https://unicode.org/reports/tr18/#General_Category_Property">general category property</a> (<code>\p{Letter}\p{Number}</code>) instead of my previous ranges of word-wild punctuation.</p> </div> <div class="paragraph"> <p>I submitted this new version the 9th of October, having a talk at <a href="/journal/2024/20240917_meta-press_es_at_ossym24.html">OSSym24</a> the day after. If we are to deal with automated tests, we could hope those tests to perform quickly… but this v1.8.17.4 was finally approved on October the 16th, nearly one month after the whole story began for me.</p> </div> <div class="paragraph"> <p>No new feature here, but an admittedly improved code.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_switch_to_manifest_version_3">2. Switch to manifest version 3</h2> <div class="sectionbody"> <div class="paragraph"> <p>Another silent modification since the previous release is the upgrade of Meta-Press.es to MV3 : the manifest version 3.</p> </div> <div class="paragraph"> <p>Here we talk about the file <code>manifest.json</code> which contain meta-data about the WebExtension, to allow the web-browser to load it. The manifest file lists, for instance, what is the name and icon of the WebExtension, which version is actually presented, what actions should be registered… If you don&#8217;t fill it correctly, the web browser won&#8217;t load the WebExtension (not knowing what to do with it).</p> </div> <div class="sect2"> <h3 id="_embrace_extend_and_extinguish">2.1. Embrace, extend and extinguish</h3> <div class="paragraph"> <p>Back in 2017 when Meta-Press.es development started the current version for this manifest file was manifest v2. It was already a move from Mozilla toward the WebExtension norm proposed by Google, and it forced Mozilla to abandon all the work put in the developpement of the add-ons of their previous form in Firefox (XUL). To be true, I was really happy to get avoid using XUL stack when I started Meta-Press.es.</p> </div> <div class="paragraph"> <p>5 years later, in 2022, the main JavaScript stakeholders had work a lot to prepare an evolution of this norm to allow new usages and improve security. But not only. As per the famous <a href="https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish">Embrace, extend, and extinguish</a> strategy developed by Microsoft to attack open standards in favor of its proprietary products, Google decided to use this coming evolution of the WebExtension norm (became a standard as per Firefox&#8217;s and Edge&#8217;s adoption) to push it&#8217;s own commercial agenda of online advertisement seller. To cut it short, with the manifest v3 as imposed by Google, there is no more possibility to code ad-blockers (like <a href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/">uBlock Origin</a>).</p> </div> <div class="paragraph"> <p>So Mozilla got back to work and decided of a way to support the manifest v3 in Firefox, extending it to maintain the existence of ad-blockers.</p> </div> <div class="paragraph"> <p>Google was really disappointed and took 2 years to think about the opportunity to continue unraveling manifest v3 or not. Finally they announced a new schedule for the manifest v3 adoption in their web-browser along the year 2024. Will they really abandon to Mozilla a feature used by millions of users (9 millions if we just focus on Firefox when writing this blog post). This would be a new sensible reason to use Firefox : there should be no more ad-blockers in Chromium et al in a near future. As of the time of this writing, the up to date Chromium under Artix Linux only states that uBlock Origin will perhaps soon not be available anymore.</p> </div> <div class="paragraph"> <p>As Firefox can also work with manifest version 3, Meta-Press.es got upgraded to it thanks to the NGI Zero program operated by the NLnet.</p> </div> </div> <div class="sect2"> <h3 id="_manifest_v2_vs_manifest_v3">2.2. Manifest v2 vs Manifest v3</h3> <div class="paragraph"> <p>The differences are not marvelous regarding our use-case.</p> </div> <div class="paragraph"> <p>Previous background pages, which were the way to get a script running in the browser instead of in a particular web page are replaced by official background scripts (with no more web page features) in Firefox and by <code>service_workers</code> in Chromium. Both are dozed after a certain time of idling so the automated searches of Meta-Press.es are not working well currently (despite using the recommended <code>alarms</code> API).</p> </div> <div class="paragraph"> <p>The permissions required by WebExtensions to run was refined and I took this opportunity to implement a feature suggested years ago : to embed the exact list of reachable sources in the manifest. Each version of Meta-Press.es now comes with it&#8217;s list of host permissions fully declared allowing to avoid asking for them later. But the optional host permission <code>&lt;all_urls&gt;</code> is still present, to allow users to add new sources by their selves.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_no_dates_on_results">3. No dates on results ?</h2> <div class="sectionbody"> <div class="paragraph"> <p>What makes a type of web entries or search results directly manageable from a source in Meta-Press.es is the presence of dates on results. It our eternal quest : can we get this meta-data ? With this model, Meta-Press.es could have seamlessly extends its sources scope (and so search capabilities) from news to podcasts, agendas, videos and even jobs.</p> </div> <div class="paragraph"> <p>But there is also a lot of legit newspapers that are failing from presenting dates for results on their internal search engine.</p> </div> <div class="paragraph"> <p>In a previous blog post we seen a source were dates only appeared if results were sorted in chronological order (in <a href="/journal/2023/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html#_hacking_la_charente_libre_for_its_dates">La Charente Libre</a>). But it was a lucky strike.</p> </div> <div class="paragraph"> <p>Here is another trick, used for some Meta-Press.es sources like RadioClassique.fr or VoxEurope.eu. It might regards only sources with illustrated results. Often, those illustrations are unitary uploaded as part of the making of the publication usually the day that the article is released. I addition, it happen that the URL of the illustrations contains this date of upload (for instance Wordpress can have this behavior).</p> </div> <div class="paragraph"> <p>In such cases we just have to direct the silver scissors of Meta-Press.es toward the illustration URL (via a CSS selector) and extract the date from it with a simple RegEx. Et voilà !</p> </div> <div class="paragraph"> <p>Asking the sources to improve their presentation rarely gives results. On the contrary Meta-Press.es already works with a thousand sources because there is no need to ask for their permission. It works despite the sources. And sometimes, even despite the sources that omit their result dates.</p> </div> </div> </div> <div class="sect1"> <h2 id="_20_new_scrutari_based_sources">4. 20 new Scrutari-based sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>About sources, this new release embed its lot of novelty. 20 sources were added in Meta-Press.es for the different registered users of the <a href="https://www.scrutari.net/dokuwiki/">Scrutari</a> search-engine (and their different languages).</p> </div> <div class="paragraph"> <p>Scrutari is a libre software search engine project. It can fetch metadata from registered user-websites, create indexes and offer a feature-full web interface to search through those contents.</p> </div> <div class="paragraph"> <p>It was a pleasure to work with the Scrutari developer which did a great job of data presentation to facilitate the integration of the 20 Scrutari sources in Meta-Press.es. It&#8217;s the exact opposite of the previous section where Meta-Press.es had to hack the metadata out of a source. Here, Scrutari created a special Meta-Press.es profile to present its JSON API answers in the way Meta-Press.es expects them.</p> </div> <div class="paragraph"> <p>This new sources are opening a window on more than 70 000 documents, gathered in the <a href="https://scrutari.coredem.info/">Coredem.info</a> initiative gathering 40 entities…</p> </div> </div> </div> <div class="sect1"> <h2 id="_when_asking_for_too_much_results">5. When asking for too much results</h2> <div class="sectionbody"> <div class="paragraph"> <p>Some sources allow to set the number of excepted results in their queries. Usually 10 to 30 are safe values. Tests have been conducted with 999 and guess what, it breaks a lot of sources.</p> </div> <div class="paragraph"> <p>So a new source-definition notation was created to reflect those upper limits. For instance Reuters accepts to provide 99 results max, so its search URL now includes a <code>{&lt;100}</code> query parameter replacement token and Meta-Press.es won&#8217;t try to fetch more results for this source, even if you ask for 5000.</p> </div> <div class="paragraph"> <p>Working on this subject revealed a variety of scenarios with Der Spiegel is using <code>{&lt;51}</code> for instance, FAZ.net <code>{&lt;101}</code> or MediHAL / Archives-Ouvertes.fr accepting only three values : 30, 50 or 100.</p> </div> </div> </div> <div class="sect1"> <h2 id="_javascript_code_linting_quick_lint_js">6. JavaScript code linting : quick-lint-js</h2> <div class="sectionbody"> <div class="paragraph"> <p>After having lost a couple of hours again trying to get ESlint working with its new flat-file configuration, alternatives were seek and found with <a href="https://quick-lint-js.com/">quick-lint-js</a>.</p> </div> <div class="paragraph"> <p>It&#8217;s a mature solution, widely packaged. It&#8217;s immediate to put in action (zero configuration) and exquisitely fast when running (claiming to be 90x faster than ESlint).</p> </div> <div class="paragraph"> <p><code>quick-lint-js</code> is revealed itself to be a tool, not another problem to solve.</p> </div> </div> </div> <div class="sect1"> <h2 id="_fixtheworld_francetvinfo">7. #FixTheWorld : FranceTVInfo</h2> <div class="sectionbody"> <div class="paragraph"> <p>To finish, here is a call for action.</p> </div> <div class="paragraph"> <p>FranceTVInfo is a main state owned source of information in France. It started as a state-owned official radio station with only loops of "news", then it was turned into a TV news stream (to contribute to this worst level of "journalism") and is now also a website.</p> </div> <div class="paragraph"> <p>It&#8217;s THE propaganda voice of the state. But still, it can&#8217;t be added to Meta-Press.es because there is no date on search results.</p> </div> <div class="paragraph"> <p>If you, reading this, can whisper to the right ears, it would be great to get this basic feature : dates on results…</p> </div> <div class="paragraph"> <p>Plenty other missions are enlisted with the <a href="https://piaille.fr/tags/FixTheWorld">#FixTheWorld</a> hash-tag issued by the official <a href="https://pouet.chapril.org/@metapress">@MetaPress</a> mastodon account.</p> </div> <div class="paragraph"> <p>For instance, Mediapart still can&#8217;t provide exact results (nor providing them as an RSS flux).</p> </div> <div class="paragraph"> <p>You turn to play !</p> </div> </div> </div>Version 1.8.17.4 : Qualité du code, manifest v3, Scrutari2024-10-16T00:00:00+02:002024-10-16T00:00:00+02:00Siltaartag:www.meta-press.es,2024-10-16:/fr/journal/2024/v1.8.16_mv3_mozilla_quality_scrutari.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_vérification_de_qualité_du_code_des_webextensions_chez_mozilla">1. Vérification de qualité du code des WebExtensions chez Mozilla</a> <ul class="sectlevel2"> <li><a href="#_sources_ou_instructions_manquantes">1.1. Sources ou instructions manquantes</a></li> <li><a href="#_veuillez_fournir_lorigine_exacte_de_la_version_utilisée_pour_chaque_bibliothèque_de_fonctions">1.2. Veuillez fournir l&#8217;origine exacte de la version utilisée pour chaque bibliothèque de fonctions</a></li> <li><a href="#_pas_de_variables_à_une_seule_lettre">1.3. Pas de variables à une seule lettre</a></li> <li><a href="#_lutf_16_dans_une_expression_régulière_considéré_comme_une_mystification">1.4. L&#8217;UTF-16 dans une expression régulière …</a></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_vérification_de_qualité_du_code_des_webextensions_chez_mozilla">1. Vérification de qualité du code des WebExtensions chez Mozilla</a> <ul class="sectlevel2"> <li><a href="#_sources_ou_instructions_manquantes">1.1. Sources ou instructions manquantes</a></li> <li><a href="#_veuillez_fournir_lorigine_exacte_de_la_version_utilisée_pour_chaque_bibliothèque_de_fonctions">1.2. Veuillez fournir l&#8217;origine exacte de la version utilisée pour chaque bibliothèque de fonctions</a></li> <li><a href="#_pas_de_variables_à_une_seule_lettre">1.3. Pas de variables à une seule lettre</a></li> <li><a href="#_lutf_16_dans_une_expression_régulière_considéré_comme_une_mystification">1.4. L&#8217;UTF-16 dans une expression régulière considéré comme une mystification</a></li> </ul> </li> <li><a href="#_passage_au_manifest_version_3">2. Passage au manifest version 3</a> <ul class="sectlevel2"> <li><a href="#_adoption_extension_extinction">2.1. Adoption, extension, extinction</a></li> <li><a href="#_manifest_v2_contre_manifest_v3">2.2. Manifest v2 contre Manifest v3</a></li> </ul> </li> <li><a href="#_quand_il_ny_a_pas_de_dates_sur_les_résultats">3. Quand il n&#8217;y a pas de dates sur les résultats</a></li> <li><a href="#_20_nouvelles_sources_basées_sur_scrutari">4. 20 nouvelles sources basées sur Scrutari</a></li> <li><a href="#_quand_on_demande_trop_de_résultats">5. Quand on demande trop de résultats</a></li> <li><a href="#_peaufinage_de_code_javascript_quick_lint_js">6. Peaufinage de code JavaScript : quick-lint-js</a></li> <li><a href="#_fixtheworld_francetvinfo">7. #FixTheWorld : FranceTVInfo</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Les choses se sont un peu précipitées fin septembre, avec une série rapprochée de nouvelles versions de Meta-Press.es, sorties pour répondre à l&#8217;urgence représentée par la désactivation de Meta-Press.es par Mozilla des suites d&#8217;une application automatique de nouvelles règles concernant la qualité du code.</p> </div> </div> </div> <div class="sect1"> <h2 id="_vérification_de_qualité_du_code_des_webextensions_chez_mozilla">1. Vérification de qualité du code des WebExtensions chez Mozilla</h2> <div class="sectionbody"> <div class="paragraph"> <p>Tout commença par courriel reçu le 17 septembre 2024, me prévenant que Meta-Press.es seraient désactivé du catalogues de WebExtension Addons.Mozilla.org (ou AMO) sous 48h. Tout était présenté comme si j&#8217;avais raté un courriel envoyé 15 jours plus tôt à ce même propos (or ça m&#8217;arrive rarement de rater un courriel).</p> </div> <div class="sect2"> <h3 id="_sources_ou_instructions_manquantes">1.1. Sources ou instructions manquantes</h3> <div class="paragraph"> <p>La raison invoquée pour cette mesure radicale était un manque de sources ou d&#8217;instructions sur comment obtenir les sources des dépendances embarquées avec le code de Meta-Press.es.</p> </div> <div class="paragraph"> <p>Lorsqu&#8217;on utilise des bibliothèques de fonctions écrites par d&#8217;autres et minifiées (pour prendre moins de place) la règle était de fournir un lien vers la source de cette bibliothèque. Alors, depuis 5 ans, je copiais à chaque nouvelle version la liste des dépendances depuis le fichier README du projet dans les Notes adressées aux inspecteurs.</p> </div> <div class="paragraph"> <p>Le message de rejet était présenté dans une interface façon forum de discussion, commençant par leur message de menace.</p> </div> <div class="paragraph"> <p>J&#8217;ai donc tenté une réponse :</p> </div> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>Bonjour, j&#8217;ai fourni les liens vers versions non minifiées des dépendances dans les Notes aux inspecteurs. En ai-je oublié un ?</p> </div> </blockquote> <div class="attribution"> &#8212; Réponse d'un développeur par Siltaar<br> <cite>2024-09-19 15:09</cite> </div> </div> <div class="paragraph"> <p>Je n&#8217;ai jamais reçu de réponse et Meta-Press.es fut effectivement désactivée le surlendemain. La version incriminée, ainsi que toutes les versions précédentes depuis 5 ans. D&#8217;un coup vous n&#8217;apparaissez plus dans le moteur de recherche et la page de l&#8217;extension est inconnue sur AMO (erreur 404).</p> </div> </div> <div class="sect2"> <h3 id="_veuillez_fournir_lorigine_exacte_de_la_version_utilisée_pour_chaque_bibliothèque_de_fonctions">1.2. Veuillez fournir l&#8217;origine exacte de la version utilisée pour chaque bibliothèque de fonctions</h3> <div class="paragraph"> <p>J&#8217;ai alors fourni une nouvelle version de Meta-Press.es n&#8217;incluant plus de code minifié. J&#8217;ai trouvé 14 fichiers JavaScript ou CSS à remplacer par leurs originaux, mis à jour pour l&#8217;occasion, à quelque chose malheur est bon). Et puis, un <a href="https://www.gnu.org/software/librejs/">JavaScript libre</a> ne doit pas être minifié…</p> </div> <div class="paragraph"> <p>Mais cette nouvelle version fut elle aussi refusée, avec le même message d&#8217;erreur, plus un nouveau ! (ouf)</p> </div> <div class="quoteblock"> <blockquote> <div class="ulist"> <ul> <li> <p>Sources, specifically Third party library information: Your add-on includes a third-party library. Please provide the origin of the exact library version you were using and make sure you are using an exact copy of the original maintainer&#8217;s release version.</p> </li> </ul> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review Team </div> </div> <div class="paragraph"> <p>Ils réclamaient en fait l&#8217;URL exacte des fichiers utilisés comme bibliothèques de fonctions tierces. Pourquoi pas, s&#8217;il s&#8217;agit de vérifier que la version embarquée dans Meta-Press.es est une copie fidèle de l&#8217;originale ça a du sens. Et puis, cette fois j&#8217;ai eu droit à un lien vers de la documentation en ligne pour éclairer le problème et me guider vers une solution :</p> </div> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>For more information, refer to <a href="https://extensionworkshop.com/documentation/publish/third-party-library-usage/" class="bare">https://extensionworkshop.com/documentation/publish/third-party-library-usage/</a></p> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review Team </div> </div> <div class="paragraph"> <p>J&#8217;ai donc pu produire une nouvelle version de Meta-Press.es ainsi que la bonne liste de liens. On notera au passage que si une bibliothèque de fonction n&#8217;est pas directement accessible en ligne, il devient compliqué de l&#8217;utiliser dans une extension… il faut bien en passer par là pour vérifier automatiquement le code embarqué et c&#8217;est un bon point de savoir qu&#8217;il n&#8217;y a plus l&#8217;ombre d&#8217;un code mystérieux sur AMO.</p> </div> <div class="paragraph"> <p>Toutefois, le projet <a href="https://codemirror.net/5/">CodeMirror v5</a> par exemple, réparti son code de développement dans plusieurs centaines de fichiers et compile tout pour produire une archive (.zip) unique contenant le code minifié pour chaque nouvelle version. C&#8217;est bien pratique pour lors du développement d&#8217;avoir un code bien structuré, et c&#8217;est pratique pour les utilisateurs de n&#8217;avoir qu&#8217;un fichier à intégrer.</p> </div> <div class="paragraph"> <p>Mais bon, dans notre cas, comme en fait CodeMirror v5 utilise aussi des plugins, qui entrainent parfois eux-mêmes des dépendances (pour la coloration syntaxique et/ou la détection des erreurs dans du JSON), la maintenance de l&#8217;intégration de CodeMirror a Meta-Press.es a été abandonnée à cette occasion. Les sources ajoutées par les utilisateurs le sont désormais en texte brut dans un textarea standard. Peut être que CodeMirror v6 serait plus pratique à utiliser…</p> </div> <div class="paragraph"> <p>Il fallut donc encore plusieurs heures de travail, hors de tout planning, pour se mettre en conformité. Mais bientôt une nouvelle version de Meta-Press.es était proposée à Mozilla.</p> </div> </div> <div class="sect2"> <h3 id="_pas_de_variables_à_une_seule_lettre">1.3. Pas de variables à une seule lettre</h3> <div class="paragraph"> <p>Mais ce ne fut toujours pas suffisant et cette version fut elle aussi rejetée. Seule consolation : un nouveau message d&#8217;erreur était fourni.</p> </div> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>[…]</p> </div> <div class="paragraph"> <p>Your extension contains multiple parts of code with one letter variables, making the code difficult to reviews. As our policies state, that you can read at <a href="https://extensionworkshop.com/documentation/publish/add-on-policies/#submission-guidelines" class="bare">https://extensionworkshop.com/documentation/publish/add-on-policies/#submission-guidelines</a>, code must be provided in a way that is reviewable</p> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review Team </div> </div> <div class="paragraph"> <p>La partie coupée au début correspond au premier paragraphes de message d&#8217;erreur répétés encore et toujours en préambule. Puis vint le nouveau message d&#8217;erreur, correspondant à une nouvelle règle, étayée par une nouvelle documentation.</p> </div> <div class="paragraph"> <p>Si vous apprenez à coder, vous verrez qu&#8217;on utilise souvent une variable nommée simplement « i » comme itérateur dans les boucles <em>for</em>. C&#8217;est une convention, issue des notations mathématiques et plutôt pratique à l&#8217;usage… mais là non, ce n&#8217;est plus possible.</p> </div> <div class="paragraph"> <p>Bon, à vrai dire j&#8217;utilisais plusieurs autres variables nommées d&#8217;une seule lettre dans le code de Meta-Press.es. En effet, ce qui avait commencé comme des situations claires, contenues dans un seul écran d&#8217;affichage, où une variable courte était bien lisible, s&#8217;est progressivement répandu dans tout le code, en suivant sa croissance et sa structuration en différents fichiers…</p> </div> <div class="paragraph"> <p>Sans autre consigne et toujours dans l&#8217;urgence de la situation, il fut décidé de remplacer toutes les variables nommées d&#8217;une seule lettre par de confortables trigrammes (voir des groupes de trigrammes : <code>src</code> pour une définition de source, <code>src_key</code> pour la clé d&#8217;une définition de source…). Qui aurait été d&#8217;humeur a chercher par dichotomie le seuil exact de tolérance de l&#8217;algorithme de vérification ?</p> </div> <div class="paragraph"> <p>Habitué à m&#8217;adresser à des machines j&#8217;en profitai pour accompagner cette nouvelle version de 3 messages expliquant ma démarche… mais, suspens, cette nouvelle version fut refusée !</p> </div> </div> <div class="sect2"> <h3 id="_lutf_16_dans_une_expression_régulière_considéré_comme_une_mystification">1.4. L&#8217;UTF-16 dans une expression régulière considéré comme une mystification</h3> <div class="paragraph"> <p>Au moins, je reçu un nouveau message d&#8217;erreur (signe que la précédente réaction avait bien réglé le problème visé) :</p> </div> <div class="quoteblock"> <blockquote> <div class="ulist"> <ul> <li> <p>Other, specifically Issue not covered by other reasons: As per our Source Code Submission guidelines, the source code code provided must be human readable.</p> </li> </ul> </div> <div class="paragraph"> <p>A file subbmitted as part of the source code (js/core/source_fetching.js) is not readable. Please ensure that all files submitted as part of the source code submission are readable.</p> </div> <div class="paragraph"> <p>For more information, please refer to <a href="https://extensionworkshop.com/documentation/publish/source-code-submission/" class="bare">https://extensionworkshop.com/documentation/publish/source-code-submission/</a></p> </div> </blockquote> <div class="attribution"> &#8212; Message from the Add-ons review team </div> </div> <div class="paragraph"> <p>Bon, cette fois ce fut facile, en plus de la documentation pointée ils m&#8217;indiquèrent le fichier incriminé. Il ne fut pas long de constater qu&#8217;une grosse expression régulière était utilisée dans ce fichier pour découper des textes en mots (en essayant de tenir compte de la ponctuation de toutes les langues supportées par Unicode).</p> </div> <div class="paragraph"> <p>En cherchant une autre approche à ce problème une solution plus simple fut découverte, basées sur les récentes <a href="https://unicode.org/reports/tr18/#General_Category_Property">catégories générales</a> (<code>\p{Letter}\p{Number}</code>) dans les expression régulières Unicode (alors que la précédente solution s&#8217;étalait sur 15 lignes de définition de <em>ranges</em> bordés d&#8217;UTF-16 dans une expression régulière relativement absconse.</p> </div> <div class="paragraph"> <p>Cette nouvelle version fut postée le 9 octobre alors qu&#8217;une conférence de présentation de Meta-Press.es lors de l' <a href="/journal/2024/20240917_meta-press_es_at_ossym24.html">OSSym24</a> était prévue le lendemain. Tant qu&#8217;à parler avec un automate, on pourrait au moins espérer qu&#8217;il réponde vite… mais cette version 1.8.17.4 n&#8217;a finalement été approuvée que le 16 octobre, presqu&#8217;un mois après le début des hostilités.</p> </div> <div class="paragraph"> <p>Aucune nouvelle fonctionnalité dans cette histoire, mais objectivement un meilleur code.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_passage_au_manifest_version_3">2. Passage au manifest version 3</h2> <div class="sectionbody"> <div class="paragraph"> <p>Une autre modification silencieuse arrivée récemment fut la mise à jour de Meta-Press.es vers le manifest version 3.</p> </div> <div class="paragraph"> <p>Il s&#8217;agit du fichier <code>manifest.json</code> qui contient les métadonnées décrivant une WebExtension afin d&#8217;expliquer au navigateur web comment la charger. Ce manifeste liste par exemple le nom de l&#8217;extension et son icône, quelle est la version présentée, quelles actions elle permet… Si ce n&#8217;est pas rempli correctement, le navigateur web ne sait pas comment charger l&#8217;extension.</p> </div> <div class="sect2"> <h3 id="_adoption_extension_extinction">2.1. Adoption, extension, extinction</h3> <div class="paragraph"> <p>Fin 2017 quand le développement de Meta-Press.es démarrait vraiment, la version courante utilisable pour ce manifeste était la version 2. Il s&#8217;agissait déjà d&#8217;un mouvement de conciliation de la part de Mozilla qui adoptait ainsi la norme proposée par Google, abandonnant toutes les précédentes extensions basées sur la technologie XUL. Ils n&#8217;ont jamais eu peur de jeter du travail, fusse-t-il bénévole. Après, objectivement, j&#8217;étais ravi de m&#8217;éviter l&#8217;utilisation de la pile logicielle XUL au profit d&#8217;une solution un peu plus JavaScriptesque.</p> </div> <div class="paragraph"> <p>5 ans plus tard, en 2022, les principales parties prenantes du JavaScript avaient travaillé à une évolution de cette norme pour permettre de nouveaux usages, simplifier certaines API inutilement complexes et améliorer un peu partout la sécurité. Mais pas seulement.</p> </div> <div class="paragraph"> <p>Appliquant la fameuse méthode de Microsoft pour attaquer les standards ouverts bien établis au profit de ces propres produits commerciaux (<a href="https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish">Embrace, extend, and extinguish</a>), Google décida d&#8217;utiliser cette évolution de la norme des WebExtensions (devenue un standard suite à l&#8217;adoption par Firefox) pour améliorer le rendement de son activité commerciale de vendeur de publicité en ligne. En effet, ce qui était proposé n&#8217;était rien moins qu&#8217;un cadre de développement dans lequel il n&#8217;était plus possible de faire tenir un bloqueur de publicité.</p> </div> <div class="paragraph"> <p>C&#8217;est assez surprenant quand on sait que la WebExtension la plus utilisée, et de très loin, c&#8217;est <a href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin">uBlock Origin</a>, un bloqueur de pub efficace et honnête, adopté par 9 millions d&#8217;utilisateurs de Firefox.</p> </div> <div class="paragraph"> <p>Saisissant l&#8217;opportunité au vol, Mozilla se remit au travail et élabora un moyen d&#8217;accepter le <em>manifest v3</em> comme imposé par Google, mais en gardant les API nécessaires au fonctionnement d&#8217;un bloqueur de pub.</p> </div> <div class="paragraph"> <p>Google a semble-t-il été très déçu, car ils ont tout simplement abandonné leur calendrier de déploiement du <em>manifest version 3</em> pendant 2 ans. Et ce n&#8217;est qu&#8217;en 2024 qu&#8217;ils se décidèrent à abandonner à Mozilla l&#8217;exclusivité d&#8217;une fonctionnalité recherchée par des millions d&#8217;utilisateurs en annonçant un nouveau calendrier de déploiement du <em>MV3</em> pour 2024.</p> </div> <div class="paragraph"> <p>À l&#8217;heure d&#8217;écrire ces lignes, uBlock Origin est toujours fonctionnel dans un Chromium à jour, mais un message annonce que : « Ces extensions ne seront peut-être bientôt plus prises en charge ». Voilà une bonne information, bien fiable et solide comme on est fondé d&#8217;en attendre d&#8217;une multinationale planétaire dont le chiffre d&#8217;affaires dépasse le PIB du Portugal ou de la Roumanie (env. 280 milliards de dollars) et une capitalisation boursière supérieure au PIB du Brésil, ou de la Russie (vers 1500 milliards de dollars).</p> </div> <div class="paragraph"> <p>Puisque Firefox fonctionne désormais aussi avec des WebExtension en <em>manifest version 3</em>, Meta-Press.es a été mise à jour vers cette version, avec l&#8217;aide du programme NGI Zero via la NLnet.</p> </div> </div> <div class="sect2"> <h3 id="_manifest_v2_contre_manifest_v3">2.2. Manifest v2 contre Manifest v3</h3> <div class="paragraph"> <p>En l&#8217;espèce, pour Meta-Press.es, les différences ne sont pas extraordinaires.</p> </div> <div class="paragraph"> <p>Les précédentes <em>background pages</em>, qui permettaient de laisser un script tourner en arrière plan au lieu de le rattacher forcément à une page web sont remplacés par d&#8217;officiels <em>background scripts</em> (sans plus accès aux fonctionnalités d&#8217;une page web) côté Firefox et par des <em>service_workers</em> dans Chromium. Dans les deux cas le script en arrière plan se fait suspendre au bout d&#8217;un moment s&#8217;il n&#8217;est pas sollicité. Cela impacte encore actuellement la fonctionnalité de recherches programmées de Meta-Press.es bien que l&#8217;API recommandée <code>alarms</code> soit mise en œuvre.</p> </div> <div class="paragraph"> <p>Autre point, les permissions réclamables par la WebExtension ont été revues et l&#8217;opportunité en fut saisie pour déclarer une liste exhaustive des sources connues par Meta-Press.es directement dans le manifeste ce qui évite d&#8217;avoir à demander ces permissions après l&#8217;installation de l&#8217;extension. Toutefois, la permission optionnelle <code>&lt;all_urls&gt;</code> a du être conservée afin de permettre aux utilisateurs d&#8217;ajouter eux-mêmes leurs sources à Meta-Press.es.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_quand_il_ny_a_pas_de_dates_sur_les_résultats">3. Quand il n&#8217;y a pas de dates sur les résultats</h2> <div class="sectionbody"> <div class="paragraph"> <p>Ce qui fait qu&#8217;un moteur de recherche est intégrable comme source dans Meta-Press.es, c&#8217;est la présence de dates permettant de trier ses résultats. C&#8217;est l&#8217;éternelle quête de Meta-Press.es : peut-on récupérer cette métadonnée ?</p> </div> <div class="paragraph"> <p>En s&#8217;appuyant sur ce modèle, Meta-Press.es a déjà pu étendre, sans changement d&#8217;architecture, son rayon d&#8217;action des articles de presse aux podcasts et aux vidéos, puis aux agendas et dernièrement aux offres d&#8217;emploi.</p> </div> <div class="paragraph"> <p>Mais il y a malheureusement plein de journaux légitimes qui ne peuvent pas être ajoutés à Meta-Press.es car ils ne présentent pas de date sur leurs résultats de recherche.</p> </div> <div class="paragraph"> <p>Dans un précédent billet de blog, il avait été question du cas de la <a href="/journal/2023/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html#_hacking_la_charente_libre_for_its_dates">La Charente Libre</a> pour laquelle il fut possible de faire apparaitre les dates en demandant à trier les résultats par ordre chronologique… mais ce n&#8217;était qu&#8217;un coup de chance.</p> </div> <div class="paragraph"> <p>Voici une autre astuce, utilisées pour des sources comme RadioClassique.fr ou VoxEurope.eu. Elle ne concerne que les sources présentant des résultats illustrés. Ces illustrations sont souvent mises en ligne spécifiquement pour un article donné, et ce, le jour de sa publication. De plus, il arrive que ces illustrations soient rangées par un dossier par année, dans lequel on retrouve un dossier par mois contenant un dossier par jour (c&#8217;est notamment le cas pour certaines configurations de WordPress).</p> </div> <div class="paragraph"> <p>Dans cette situation, il est tout simplement possible de diriger les ciseaux d&#8217;argent de Meta-Press.es vers l&#8217;URL de cette illustration (via un sélecteur CSS) et d&#8217;en extraire la date à l&#8217;aide d&#8217;une expression régulière. Et voilà !</p> </div> <div class="paragraph"> <p>Demander aux sources d&#8217;améliorer la présentation de leur résultats ne donne pas souvent de résultat… au contraire, Meta-Press.es fonctionne aujourd&#8217;hui avec un millier de sources parce qu&#8217;il n&#8217;y a aucune permission à demander. Meta-Press.es fonctionne malgré les sources, et parfois même malgré les sources qui cachent les dates de leurs résultats.</p> </div> </div> </div> <div class="sect1"> <h2 id="_20_nouvelles_sources_basées_sur_scrutari">4. 20 nouvelles sources basées sur Scrutari</h2> <div class="sectionbody"> <div class="paragraph"> <p>Tant qu&#8217;on parle de sources, cette nouvelle version apporte son lot de nouveautés. Par exemple une vingtaine de sources ont été ajoutées à Meta-Press.es en provenance des médias utilisateurs du moteur de recherche <a href="https://www.scrutari.net/dokuwiki/">Scrutari</a>.</p> </div> <div class="paragraph"> <p>Scrutari est un moteur de recherche en logiciel libre. Ce dernier collecte les méta-données présentées par ses utilisateurs, s&#8217;arrange pour les indexer puis fourni une interface web riche permettant des recherches avancées à travers ces contenus.</p> </div> <div class="paragraph"> <p>Ce fut un plaisir de travailler avec le développeur de Scrutari qui implémenta un profil de présentation des données exprès pour Meta-Press.es. C&#8217;est l&#8217;exacte opposée de la situation précédente où les développeurs de Meta-Press.es doivent se tordre les boyaux de la tête pour rassembler toutes les informations nécessaires. Ici, Meta-Press.es bénéficie de sa porte d&#8217;entrée personnelle dans l&#8217;API JSON de Scrutari.</p> </div> <div class="paragraph"> <p>De plus, ces nouvelles sources ouvrent sur rien moins que 70 000 documents, rassemblés au sein de l&#8217;initiative <a href="https://scrutari.coredem.info/">Coredem.info</a> (qui rassemble 40 entités).</p> </div> </div> </div> <div class="sect1"> <h2 id="_quand_on_demande_trop_de_résultats">5. Quand on demande trop de résultats</h2> <div class="sectionbody"> <div class="paragraph"> <p>Certaines sources permettent de choisir le nombre de résultats qu&#8217;on souhaite recevoir pour une recherche. On trouve généralement des valeurs entre 10 et 30.</p> </div> <div class="paragraph"> <p>Des tests ont récemment été conduits avec une demande de 999 résultats et devinez quoi : ça casse un paquet de sources.</p> </div> <div class="paragraph"> <p>Pour faire face à cette question il est désormais possible de spécifier, dans la définition d&#8217;une source, le nombre de maximum de résultats qu&#8217;elle accepte de renvoyer. Par exemple Reuters accepte de renvoyer au maximum 99 résultats, donc son URL de recherche comporte désormais un jeton <code>{&lt;100}</code> à la place du nombre de résultats demandés, de manière à indiquer à Meta-Press.es de ne pas aller au delà, même si l&#8217;utilisateur en demande des milliers.</p> </div> <div class="paragraph"> <p>Travailler sur ce sujet a mis en lumière une variété de situations avec par exemple Der Spiegel limité à <code>{&lt;51}</code>, FAZ.net à <code>{&lt;101}</code> ou MediHAL / Archives-Ouvertes.fr qui n&#8217;accepte que trois valeurs : 30, 50 ou 100.</p> </div> </div> </div> <div class="sect1"> <h2 id="_peaufinage_de_code_javascript_quick_lint_js">6. Peaufinage de code JavaScript : quick-lint-js</h2> <div class="sectionbody"> <div class="paragraph"> <p>Après avoir encore perdu des heures à tenter de faire fonctionner ESlint malgré son changement de paradigme pour les fichiers de configuration (désormais à base de <em>flat-file</em>), une recherche d&#8217;alternatives fut lancée. Elle a abouti à l&#8217;utilisation de <a href="https://quick-lint-js.com/">quick-lint-js</a>.</p> </div> <div class="paragraph"> <p>C&#8217;est une solution mature et largement packagée. Elle tombe directement en marche (<em>zero configuration</em>) et est agréablement rapide à l&#8217;usage (clamant d&#8217;être 90x plus rapide qu&#8217;ESlint).</p> </div> <div class="paragraph"> <p><code>quick-lint-js</code> s&#8217;est révélé être un bon outil et non un problème de plus à gérer.</p> </div> </div> </div> <div class="sect1"> <h2 id="_fixtheworld_francetvinfo">7. #FixTheWorld : FranceTVInfo</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pour finir, voici un petit appel à action.</p> </div> <div class="paragraph"> <p>FranceTVInfo est une importante source d&#8217;information en France. Elle a débuté en tant que radio d&#8217;état avec de l&#8217;info en continu (et en boucle), puis a été transformée en chaîne de TV (pour participer à ce bas fond du journalisme qu&#8217;on nomme les chaînes d&#8217;actualité en continu) et en site web.</p> </div> <div class="paragraph"> <p>C&#8217;est l&#8217;organe de propagande par excellence de l&#8217;état français. Mais il n&#8217;est pas possible de l&#8217;intégrer à Meta-Press.es car il n&#8217;y a pas de date sur ces résultats de recherche.</p> </div> <div class="paragraph"> <p>Si vous, qui me lisez, vous pouvez murmurer aux bonnes oreilles, ça ne serait pas du luxe pour France Info d&#8217;avoir des dates sur ses résultats de recherche…</p> </div> <div class="paragraph"> <p>Il y a plein d&#8217;autre missions qui ont été listées avec le mot-dièse : <a href="https://piaille.fr/tags/FixTheWorld">#FixTheWorld</a> émis par le compte Mastodon officiel <a href="https://pouet.chapril.org/@metapress">@MetaPress</a>.</p> </div> <div class="paragraph"> <p>Par exemple, Mediapart ne peut toujours pas fournir de résultats exacts (ni les fournir au format RSS).</p> </div> <div class="paragraph"> <p>C&#8217;est à votre tour de jouer !</p> </div> </div> </div>#ossym24 : Meta-Press.es at the International Open Search Symposium2024-09-17T00:00:00+02:002024-09-17T00:00:00+02:00Siltaartag:www.meta-press.es,2024-09-17:/journal/2024/20240917_meta-press_es_at_ossym24.html<div class="paragraph"> <p>The 6th <a href="https://opensearchfoundation.org/en/events-osf/ossym24/#osf-callforcontributions">International Open Search Symposium</a> (#ossym24) will take place the 9-11 October 2024 in Munich and online.</p> </div> <div class="quoteblock"> <blockquote> The Open Search Symposium #ossym24 brings together the Open Web Search community in Europe for the sixth time. The hybrid conference provides a forum to discuss and further develop the ideas and …</blockquote></div><div class="paragraph"> <p>The 6th <a href="https://opensearchfoundation.org/en/events-osf/ossym24/#osf-callforcontributions">International Open Search Symposium</a> (#ossym24) will take place the 9-11 October 2024 in Munich and online.</p> </div> <div class="quoteblock"> <blockquote> The Open Search Symposium #ossym24 brings together the Open Web Search community in Europe for the sixth time. The hybrid conference provides a forum to discuss and further develop the ideas and concepts of open internet search, search and AI, and related topics in various formats including scientific talks, panels, workshops, demonstrations, student challenges and informal discussion spaces. Participants include researchers, data centres, libraries, policy makers, legal and ethical experts, and society. </blockquote> <div class="attribution"> &#8212; https://opensearchfoundation.org<br> <cite>#ossym24</cite> </div> </div> <div class="paragraph"> <p>Meta-Press.es will be presented during this event on day 2, in English :</p> </div> <div class="ulist"> <ul> <li> <p>2024-10-10 10:00 UTC+2, <a href="https://opensearchfoundation.org/en/events-osf/ossym24/#av_section_6">Search Engine Track, „Alternative Search Engines“</a> Session</p> </li> </ul> </div> <div class="paragraph"> <p>For an insight of what it will look like you can read the transcription of the <a href="https://www.meta-press.es/revues/2023/20230929_freewebsearchday_meet_the_makers.html">interview gave to the NLnet</a> during the last Free Web Search Day.</p> </div>#ossym24 : Meta-Press.es au symposium international Open Search2024-09-17T00:00:00+02:002024-09-17T00:00:00+02:00Siltaartag:www.meta-press.es,2024-09-17:/fr/journal/2024/20240917_meta-press_es_at_ossym24.html<div class="paragraph"> <p>Le 6e <a href="https://opensearchfoundation.org/en/events-osf/ossym24/#osf-callforcontributions">Symposium international <em>Open Search</em></a> (#ossym24) aura lieu du 9 au 11 octobre 2024 à Munich et en ligne.</p> </div> <div class="quoteblock"> <blockquote> Le symposium <em>Open Search</em> #ossym24 rassemble la communauté de la recherche ouverte sur le web en Europe pour la 6e fois. Cette conférence hybride permet de discuter des avancées de …</blockquote></div><div class="paragraph"> <p>Le 6e <a href="https://opensearchfoundation.org/en/events-osf/ossym24/#osf-callforcontributions">Symposium international <em>Open Search</em></a> (#ossym24) aura lieu du 9 au 11 octobre 2024 à Munich et en ligne.</p> </div> <div class="quoteblock"> <blockquote> Le symposium <em>Open Search</em> #ossym24 rassemble la communauté de la recherche ouverte sur le web en Europe pour la 6e fois. Cette conférence hybride permet de discuter des avancées de la recherche sur le web, récemment bousculée par l&#8217;IA, à travers divers formats de la conférence scientifique à l&#8217;atelier pratique en passant par la table ronde. Les participants sont généralement des chercheurs, des bibliothécaires, des juristes, des experts en éthique… </blockquote> <div class="attribution"> &#8212; https://opensearchfoundation.org<br> <cite>#ossym24</cite> </div> </div> <div class="paragraph"> <p>Meta-Press.es sera présenté en anglais le 2e jour de cet évènement :</p> </div> <div class="ulist"> <ul> <li> <p>2024-10-10 à 10:00 UTC+2, <a href="https://opensearchfoundation.org/en/events-osf/ossym24/#av_section_6">Search Engine Track, „Alternative Search Engines“</a> Session</p> </li> </ul> </div> <div class="paragraph"> <p>Pour avoir un aperçu de ce à quoi ça devrait ressembler vous pouvez lire la <a href="https://www.meta-press.es/fr/revues/2023/20230929_freewebsearchday_meet_the_makers.html">transcription de l&#8217;entrevue donnée à la NLnet</a> lors de la dernière journée de la recherche libre sur le web.</p> </div>The European Union must keep funding free softwares2024-07-12T00:00:00+02:002024-07-12T00:00:00+02:00Siltaartag:www.meta-press.es,2024-07-12:/journal/2024/L_Union_Europeenne_doit_poursuivre_le_financement_des_logiciels_libres.html<div class="paragraph"> <p>Initially published by <a href="https://ps.zoethical.org/pub/lettre-publique-aux-ncp-au-sujet-de-ngi/">petites singularités</a>.</p> </div> <div class="paragraph"> <p>Open Letter to the European Commission.</p> </div> <div class="paragraph"> <p>This english translation is provided thanks to <a href="https://www.ow2.org/view/Events/The_European_Union_must_keep_funding_free_software_open_letter">OW2</a> and copied from <a href="https://forum.yunohost.org/t/lunion-europeenne-doit-poursuivre-le-financement-des-logiciels-libres/30411/3">YUNoHost</a> forum.</p> </div> <div class="paragraph"> <p>Since 2020, Next Generation Internet (<a href="https://www.ow2.org/view/Events/The_European_Union_must_keep_funding_free_software_open_letter">NGI</a>) programmes, part of European Commission’s Horizon programme, fund free software in Europe using a cascade funding mechanism (see for …</p></div><div class="paragraph"> <p>Initially published by <a href="https://ps.zoethical.org/pub/lettre-publique-aux-ncp-au-sujet-de-ngi/">petites singularités</a>.</p> </div> <div class="paragraph"> <p>Open Letter to the European Commission.</p> </div> <div class="paragraph"> <p>This english translation is provided thanks to <a href="https://www.ow2.org/view/Events/The_European_Union_must_keep_funding_free_software_open_letter">OW2</a> and copied from <a href="https://forum.yunohost.org/t/lunion-europeenne-doit-poursuivre-le-financement-des-logiciels-libres/30411/3">YUNoHost</a> forum.</p> </div> <div class="paragraph"> <p>Since 2020, Next Generation Internet (<a href="https://www.ow2.org/view/Events/The_European_Union_must_keep_funding_free_software_open_letter">NGI</a>) programmes, part of European Commission’s Horizon programme, fund free software in Europe using a cascade funding mechanism (see for example NLnet’s <a href="https://www.nlnet.nl/commonsfund">calls</a>). This year, according to the Horizon Europe working draft detailing funding programmes for 2025, we notice that Next Generation Internet is not mentioned any more as part of Cluster 4.</p> </div> <div class="paragraph"> <p>NGI programmes have shown their strength and importance to support the European software infrastructure, as a generic funding instrument to fund digital commons and ensure their long-term sustainability. We find this transformation incomprehensible, moreover when NGI has proven efficient and ecomomical to support free software as a whole, from the smallest to the most established initiatives. This ecosystem diversity backs the strength of European technological innovation, and maintaining the NGI initiative to provide structural support to software projects at the heart of worldwide innovation is key to enforce the sovereignty of a European infrastructure. Contrary to common perception, technical innovations often originate from European rather than North American programming communities, and are mostly initiated by small-scaled organizations.</p> </div> <div class="paragraph"> <p>Previous Cluster 4 allocated 27 millions euros to:</p> </div> <div class="ulist"> <ul> <li> <p>“Human centric Internet aligned with values and principles commonly shared in Europe” ;</p> </li> <li> <p>“A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life” ;</p> </li> <li> <p>“A structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet commons” .</p> </li> </ul> </div> <div class="paragraph"> <p>In the name of these challenges, more than 500 projects received NGI funding in the first 5 years, backed by 18 organisations managing these European funding consortia.</p> </div> <div class="paragraph"> <p>NGI contributes to a vast ecosystem, as most of its budget is allocated to fund third parties by the means of open calls, to structure commons that cover the whole Internet scope - from hardware to application, operating systems, digital identities or data traffic supervision. This third-party funding is not renewed in the current program, leaving many projects short on resources for research and innovation in Europe.</p> </div> <div class="paragraph"> <p>Moreover, NGI allows exchanges and collaborations across all the Euro zone countries as well as “widening countries” <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> currently both a success and and an ongoing progress, likewise the Erasmus programme before us. NGI also contributes to opening and supporting longer relationships than strict project funding does. It encourages to implement projects funded as pilots, backing collaboration, identification and reuse of common elements across projects, interoperability in identification systems and beyond, and setting up development models that mix diverse scales and types of European funding schemes.</p> </div> <div class="paragraph"> <p>While the USA, China or Russia deploy huge public and private resources to develop software and infrastructure that massively capture private consumer data, the EU can’t afford this renunciation. Free and open source software, as supported by NGI since 2020, is by design the opposite of potential vectors for foreign interference. It lets us keep our data local and favors a community-wide economy and know-how, while allowing an international collaboration. This is all the more essential in the current geopolitical context: the challenge of technological sovereignty is central, and free software allows to address it while acting for peace and sovereignty in the digital world as a whole.</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. As defined by Horizon Europe, widening Member States are Bulgaria, Croatia, Cyprus, the Czech Republic, Estonia, Greece, Hungary, Latvia, Lituania, Malta, Poland, Portugal, Romania, Slovakia and Slovenia. Widening associated countries (under condition of an association agreement) include Albania, Armenia, Bosnia, Feroe Islands, Georgia, Kosovo, Moldavia, Montenegro, Morocco, North Macedonia, Serbia, Tunisia, Turkey and Ukraine. Widening overseas regions are : Guadeloupe, French Guyana, Martinique, Reunion Island, Mayotte, Saint-Martin, The Azores, Madeira, the Canary Islands. </div> </div>L'Union Européenne doit poursuivre le financement des logiciels libres2024-07-12T00:00:00+02:002024-07-12T00:00:00+02:00Siltaartag:www.meta-press.es,2024-07-12:/fr/journal/2024/L_Union_Europeenne_doit_poursuivre_le_financement_des_logiciels_libres.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_lettre_ouverte_à_la_commission_européenne">1. Lettre ouverte à la Commission Européenne</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Publiée initialement par les <a href="https://ps.zoethical.org/pub/lettre-publique-aux-ncp-au-sujet-de-ngi/">petites singularités</a>.</p> </div> <div class="paragraph"> <p>Si vous souhaitez signer la lettre, merci de la publier sur votre site et de compléter le tableau situé en fin d&#8217;article : <a href="https://pad.public.cat/lettre-NCP-NGI" class="bare">https://pad.public.cat/lettre-NCP-NGI</a></p> </div> </div> </div> <div class="sect1"> <h2 id="_lettre_ouverte_à_la_commission_européenne">1. Lettre ouverte à la Commission Européenne</h2> <div class="sectionbody"> <div class="paragraph"> <p>Depuis …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_lettre_ouverte_à_la_commission_européenne">1. Lettre ouverte à la Commission Européenne</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Publiée initialement par les <a href="https://ps.zoethical.org/pub/lettre-publique-aux-ncp-au-sujet-de-ngi/">petites singularités</a>.</p> </div> <div class="paragraph"> <p>Si vous souhaitez signer la lettre, merci de la publier sur votre site et de compléter le tableau situé en fin d&#8217;article : <a href="https://pad.public.cat/lettre-NCP-NGI" class="bare">https://pad.public.cat/lettre-NCP-NGI</a></p> </div> </div> </div> <div class="sect1"> <h2 id="_lettre_ouverte_à_la_commission_européenne">1. Lettre ouverte à la Commission Européenne</h2> <div class="sectionbody"> <div class="paragraph"> <p>Depuis 2020, les programmes Next Generation Internet (NGI), sous-branche du programme Horizon Europe de la Commission Européenne financent en cascade (via les appels de NLNet) le logiciel libre en Europe. Cette année, à la lecture du brouillon du Programme de Travail de Horizon Europe détaillant les programmes de financement de la commission européenne pour 2025, nous nous apercevons que les programmes Next Generation Internet ne sont plus mentionnés dans le Cluster 4.</p> </div> <div class="paragraph"> <p>Les programmes NGI ont démontré leur force et leur importance dans le soutien à l’infrastructure logicielle européenne, formant un instrument générique de financement des communs numériques qui doivent être rendus accessibles dans la durée. Nous sommes dans l’incompréhension face à cette transformation, d’autant plus que le fonctionnement de NGI est efficace et économique puisqu’il soutient l’ensemble des projets de logiciel libre des plus petites initiatives aux mieux assises. La diversité de cet écosystème fait la grande force de l’innovation technologique européenne et le maintien de l’initiative NGI pour former un soutien structurel à ces projets logiciels, qui sont au cœur de l’innovation mondiale, permet de garantir la souveraineté d’une infrastructure européenne. Contrairement à la perception courante, les innovations techniques sont issues des communautés de programmeurs européens plutôt que nord-américains, et le plus souvent issues de structures de taille réduite.</p> </div> <div class="paragraph"> <p>Le Cluster 4 allouait 27.00 millions d’euros au service de :</p> </div> <div class="ulist"> <ul> <li> <p>“Human centric Internet aligned with values and principles commonly shared in Europe” ;</p> </li> <li> <p>“A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life” ;</p> </li> <li> <p>“A structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet common”.</p> </li> </ul> </div> <div class="paragraph"> <p>Au nom de ces enjeux, ce sont plus de 500 projets qui ont reçu un financement NGI0 dans les 5 premières années d’exercice, ainsi que plus de 18 organisations collaborant à faire vivre ces consortia européens.</p> </div> <div class="paragraph"> <p>NGI contribue à un vaste écosystème puisque la plupart du budget est dévolue au financement de tierces parties par le biais des appels ouverts (open calls). Ils structurent des communs qui recouvrent l’ensemble de l’Internet, du matériel aux applications d’intégration verticale en passant par la virtualisation, les protocoles, les systèmes d’exploitation, les identités électroniques ou la supervision du trafic de données. Ce financement des tierces parties n’est pas renouvelé dans le programme actuel, ce qui laissera de nombreux projets sans ressources adéquates pour la recherche et l’innovation en Europe.</p> </div> <div class="paragraph"> <p>Par ailleurs, NGI permet des échanges et des collaborations à travers tous les pays de la zone euro et aussi avec ceux widening countries <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, ce qui est actuellement une réussite tout autant qu’un progrès en cours, comme le fut le programme Erasmus avant nous. NGI0 est aussi une initiative qui participe à l’ouverture et à l’entretien de relation sur un temps plus long que les financements de projets. NGI encourage également à l’implémentation des projets financés par le biais de pilotes, et soutient la collaboration au sein des initiatives, ainsi que l’identification et la réutilisation d’éléments communs au travers des projets, l’interopérabilité notament des systèmes d’identification, et la mise en place de modèles de développement intégrant les autres sources de financements aux différentes échelles en Europe.</p> </div> <div class="paragraph"> <p>Alors que les États-Unis d’Amérique, la Chine ou la Russie déploient des moyens publics et privés colossaux pour développer des logiciels et infrastructures captant massivement les données des consommateurs, l’Union Européenne ne peut pas se permettre ce renoncement. Les logiciels libres et open source tels que soutenus par les projets NGI depuis 2020 sont, par construction, à l’opposée des potentiels vecteurs d’ingérence étrangère. Ils permettent de conserver localement les données et de favoriser une économie et des savoirs-faire à l’échelle communautaire, tout en permettant à la fois une collaboration internationale. Ceci est d’autant plus indispensable dans le contexte géopolitique que nous connaissons actuellement. L’enjeu de la souveraineté technologique y est prépondérant et le logiciel libre permet d’y répondre sans renier la nécessité d’œuvrer pour la paix et la citoyenneté dans l’ensemble du monde numérique.</p> </div> <div class="paragraph"> <p>Dans ces perspectives, nous vous demandons urgemment de réclamer la préservation du programme NGI dans le programme de financement 2025.</p> </div> </div> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Tels que définis par Horizon Europe, les États Membres élargis sont la Bulgarie, la Croatie, Chypre, la République Tchèque, l’Estonie, la Grèce, la Hongrie, la Lettonie, la Lithuanie, Malte, la Pologne, le Portugal, la Roumanie, la Slovaquie et la Slovénie. Les pays associés élargies (sous conditions d’un accord d’association) l’Albanie, l’Arménie, la Bosnie Herzégovine, les Iles Feroé, la Géorgie, le Kosovo, la Moldavie, le Monténégro, le Maroc, la Macédoine du Nord, la Serbie, la Tunisie, la Turquie et l’Ukraine. Les régions élargies d’outre-mer sont: la Guadeloupe, la Guyane Française, la Martinique, La Réunion, Mayotte, Saint-Martin, Les Açores, Madère, les Iles Canaries. </div> </div>Version 1.8.16 : source maintenance, headlines and broken JSON2024-06-19T00:00:00+02:002024-06-19T00:00:00+02:00Siltaartag:www.meta-press.es,2024-06-19:/journal/2024/v1.8.16_source_maintenance_headlines_broken_json.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a> <ul class="sectlevel2"> <li><a href="#_120_more_lines_276_edited_in_the_source_definition_file">1.1. 120 more lines, 276 edited in the source definition file</a></li> </ul> </li> <li><a href="#_fixed_bugs">2. Fixed bugs</a></li> <li><a href="#_miscellaneous">3. Miscellaneous</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>A bug in the headline loading forced us to release a new version, but as a lot of maintenance have also been done with sources it&#8217;s not a …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a> <ul class="sectlevel2"> <li><a href="#_120_more_lines_276_edited_in_the_source_definition_file">1.1. 120 more lines, 276 edited in the source definition file</a></li> </ul> </li> <li><a href="#_fixed_bugs">2. Fixed bugs</a></li> <li><a href="#_miscellaneous">3. Miscellaneous</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>A bug in the headline loading forced us to release a new version, but as a lot of maintenance have also been done with sources it&#8217;s not a bad thing.</p> </div> </div> </div> <div class="sect1"> <h2 id="_source_maintenance">1. Source maintenance</h2> <div class="sectionbody"> <div class="paragraph"> <p>Mediapart in its 3 languages have been fixed and is now a precise (for many words) source !</p> </div> <div class="paragraph"> <p>AFP Factual and its 21 languages changed their date format, so we had to parse all of them again.</p> </div> <div class="paragraph"> <p>LaLibre.be, LAvenir.net and DHnet now serves results in faulty JSON format that we have to fix on the fly.</p> </div> <div class="paragraph"> <p>A bunch of sources have been cleared from "many words" search as they were providing unfocused results.</p> </div> <div class="paragraph"> <p>Linforme.com and a few other sources were added, some removed… <code>json/source.json</code> now counts 119 more lines and 4260 of them were edited in 2024.</p> </div> <div class="sect2"> <h3 id="_120_more_lines_276_edited_in_the_source_definition_file">1.1. 120 more lines, 276 edited in the source definition file</h3> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 100%;"> </colgroup> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2019 586</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2020 879</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2021 3004</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2022 6910</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2023 8735</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2024 4260</p></td> </tr> </tbody> </table> <div class="paragraph"> <p>For a total line number of : 24.374 (+120)</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_fixed_bugs">2. Fixed bugs</h2> <div class="sectionbody"> <div class="ulist"> <ul> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/83">#83</a> Status line does not report precisely the number of sources we&#8217;re waiting for under 30 (a new step has been added at 15 and we now display "&gt; 15" while waiting for the last sources)</p> </li> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/84">#84</a> Inconsistency in request duration digits (now it&#8217;s limited to 2 or 3 meaningful digits)</p> </li> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/85">#85</a> [1.8.15.2] Broken load_headlines</p> </li> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/86">#86</a> Bad JSON sent by sources (where we explain how we escape in-value double-quotes, based on <code>JSON.parse</code> exceptions).</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_miscellaneous">3. Miscellaneous</h2> <div class="sectionbody"> <div class="paragraph"> <p>The ESlint flat file config of the project have been updated resulting in more <code>const</code> usage.</p> </div> <div class="paragraph"> <p>To finish, the testing tool design have been improved a bit with a compact and colorful statistics.</p> </div> </div> </div>Version 1.8.16 : maintenance des sources et chargement des gros titres2024-06-19T00:00:00+02:002024-06-19T00:00:00+02:00Siltaartag:www.meta-press.es,2024-06-19:/fr/journal/2024/v1.8.16_source_maintenance_headlines_broken_json.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a> <ul class="sectlevel2"> <li><a href="#_120_lignes_en_plus_276_éditées">1.1. 120 lignes en plus, 276 éditées</a></li> </ul> </li> <li><a href="#_bogues_corrigés">2. Bogues corrigés</a></li> <li><a href="#_divers">3. Divers</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Un bug dans le chargement des actualités hors recherche nous a forcé à sortir rapidement une novelle version, mais puisqu&#8217;entre temps pas mal de travail de maintenance avait été fait sur …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a> <ul class="sectlevel2"> <li><a href="#_120_lignes_en_plus_276_éditées">1.1. 120 lignes en plus, 276 éditées</a></li> </ul> </li> <li><a href="#_bogues_corrigés">2. Bogues corrigés</a></li> <li><a href="#_divers">3. Divers</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Un bug dans le chargement des actualités hors recherche nous a forcé à sortir rapidement une novelle version, mais puisqu&#8217;entre temps pas mal de travail de maintenance avait été fait sur les sources ce n&#8217;est pas une mauvaise chose.</p> </div> </div> </div> <div class="sect1"> <h2 id="_maintenance_des_sources">1. Maintenance des sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Mediapart, dans ses 3 langues, a été réparé et est désormais une source précise (pour plusieurs mots) !</p> </div> <div class="paragraph"> <p>AFP Factuel et ces 21 langues ont changé l&#8217;affichage de leurs dates, il a donc fallu les analyser toutes à nouveau.</p> </div> <div class="paragraph"> <p>LaLibre.be, LAvenir.net et DHnet servent désormais leurs résultats dans un format JSON non conforme, ce qui oblige à le réparer à la volée…</p> </div> <div class="paragraph"> <p>Une poignée de sources on été retirées de l&#8217;étiquette "plusieurs mots" car elles polluaient les résultats avec du contenu hors sujet (approximatif).</p> </div> <div class="paragraph"> <p>Linforme.com et quelques autres sources ont été ajoutées, d&#8217;autres retirées… <code>json/source.json</code> compte désormais 120 lignes en plus donc 4260 éditées en 2024.</p> </div> <div class="sect2"> <h3 id="_120_lignes_en_plus_276_éditées">1.1. 120 lignes en plus, 276 éditées</h3> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 100%;"> </colgroup> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2019 586</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2020 879</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2021 3004</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2022 6910</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2023 8735</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2024 4260</p></td> </tr> </tbody> </table> <div class="paragraph"> <p>Pour un total de : 24 374 lignes (+120)</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_bogues_corrigés">2. Bogues corrigés</h2> <div class="sectionbody"> <div class="ulist"> <ul> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/83">#83</a> La ligne d&#8217;état d&#8217;une recherche n&#8217;indique pas précisément combien de sources on attend encore en dessous de 30 (un nouveau pallier à 15 sources et le signes « &gt; »&#8201;&#8212;&#8201;moins de&#8201;&#8212;&#8201;ont été ajoutés)</p> </li> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/84">#84</a> La durée d&#8217;une requête est affichée d&#8217;une manière inconsistante en nombre de chiffres derrière la virgule (c&#8217;est désormais maitrisé à 2 ou 3 chiffres significatifs)</p> </li> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/85">#85</a> [1.8.15.2] Chargement des gros titres cassé</p> </li> <li> <p><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/86">#86</a> Mauvais JSON envoyé par certaines sources (est expliqué dans ce ticket comment Meta-Press.es se retrouve à échapper les guillemets doubles à l&#8217;intérieur des valeurs délimitées par des guillemets doubles… en s&#8217;appuyant sur les exceptions renvoyées par <code>JSON.parse</code>).</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_divers">3. Divers</h2> <div class="sectionbody"> <div class="paragraph"> <p>Le fichier de configuration plat d&#8217;ESlint a été mis à jour et de nombreuses variables ont ainsi été converties en <code>const</code>.</p> </div> <div class="paragraph"> <p>Et pour finir l&#8217;outil de test des sources a été amélioré avec des statistiques plus compactes et en couleurs !</p> </div> </div> </div>[NAOS] Meta-Press.es: the free and decentralized press search engine2024-06-04T00:00:00+02:002024-06-04T00:00:00+02:00Siltaartag:www.meta-press.es,2024-06-04:/revues/2024/20240604_naos.html<div class="paragraph"> <p>Discover Meta-Press.es, a free and decentralized online press search engine. Launched in 2020 by Simon Descarpentries, Meta-Press.es est freely available and can reach more than 900 newspapers around the world. Its built to work without ads and user tracking, making it fast, light on bandwidth and privacy friendly …</p></div><div class="paragraph"> <p>Discover Meta-Press.es, a free and decentralized online press search engine. Launched in 2020 by Simon Descarpentries, Meta-Press.es est freely available and can reach more than 900 newspapers around the world. Its built to work without ads and user tracking, making it fast, light on bandwidth and privacy friendly. Join this collaborative effort and help to shape the future of online information access.</p> </div> <div class="ulist"> <ul> <li> <p>An ethical and comprehensive alternative to Big Techs</p> </li> <li> <p>A decentralized system honest with its users</p> </li> <li> <p>An expanding libre software</p> </li> </ul> </div> <div class="paragraph"> <p>To sum it up, Meta-Press.es its :</p> </div> <div class="ulist"> <ul> <li> <p>A full featured press search engine (still expanding)</p> </li> <li> <p>No middleman between your web browser and your newspapers (so no tracking)</p> </li> <li> <p>An advanced search panel allowing to refine results and giving full control over queried sources</p> </li> <li> <p>Human validated sources only</p> </li> <li> <p>Scheduled searches and exportable press reviews</p> </li> </ul> </div> <div class="paragraph"> <p><a href="https://naos-cluster.com/2024/06/04/meta-press-es-le-moteur-de-recherche-libre-et-decentralise-dedie-a-la-presse/"><strong>Meta-Press.es : le moteur de recherche libre et décentralisé dédié à la presse</strong></a> (<em>fr</em>)</p> </div>[NAOS] Meta-Press.es : le moteur de recherche libre et décentralisé dédié à la presse2024-06-04T00:00:00+02:002024-06-04T00:00:00+02:00Siltaartag:www.meta-press.es,2024-06-04:/fr/revues/2024/20240604_naos.html<div class="paragraph"> <p>Découvrez Meta-Press.es, un moteur de recherche décentralisé et libre dédié à la presse en ligne. Lancé en 2020 par Simon Descarpentries, Meta-Press.es est téléchargeable gratuitement et permet d’interroger 900 journaux dans le monde. Sa conception sans tracking ni publicité le rend rapide, économe en bande passante et …</p></div><div class="paragraph"> <p>Découvrez Meta-Press.es, un moteur de recherche décentralisé et libre dédié à la presse en ligne. Lancé en 2020 par Simon Descarpentries, Meta-Press.es est téléchargeable gratuitement et permet d’interroger 900 journaux dans le monde. Sa conception sans tracking ni publicité le rend rapide, économe en bande passante et respectueux de la vie privée. Rejoignez cette initiative collaborative et contribuez à façonner l’avenir de l’accès à l’information en ligne.</p> </div> <div class="ulist"> <ul> <li> <p>Une alternative aux Big Tech plus éthique et plus exhaustive</p> </li> <li> <p>Un système décentralisé et pensé pour optimiser l&#8217;expérience utilisateur</p> </li> <li> <p>Un logiciel collaboratif en pleine expansion</p> </li> </ul> </div> <div class="paragraph"> <p>En résumé, Meta-Press.es c&#8217;est :</p> </div> <div class="ulist"> <ul> <li> <p>Un moteur de recherche pour la presse très complet (et encore en développement !)</p> </li> <li> <p>Aucun intermédiaire entre vos journaux et votre navigateur web ni aucun suivi publicitaire</p> </li> <li> <p>Un système de recherche avancée pour affiner les résultats et avoir la maîtrise des sources interrogées</p> </li> <li> <p>Des sources vérifiées et validées par un humain</p> </li> <li> <p>La possibilité de programmer des recherches et d’exporter directement des revues de presse</p> </li> </ul> </div> <div class="paragraph"> <p><a href="https://naos-cluster.com/2024/06/04/meta-press-es-le-moteur-de-recherche-libre-et-decentralise-dedie-a-la-presse/"><strong>Meta-Press.es : le moteur de recherche libre et décentralisé dédié à la presse</strong></a></p> </div>Version 1.8.15 : source maintenance, bugfix and big exports2024-05-13T00:00:00+02:002024-05-13T00:00:00+02:00Siltaartag:www.meta-press.es,2024-05-13:/journal/2024/v1.8.15_source_maintenance_bugfix_and_big_exports.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a> <ul class="sectlevel2"> <li><a href="#_800_lines_were_edited_in_the_source_definition_file">1.1. 800 lines were edited in the source definition file</a></li> </ul> </li> <li><a href="#_bugs_fixed">2. Bugs fixed</a> <ul class="sectlevel2"> <li><a href="#_80_1_8_14_rss_re_import_failure">2.1. #80 [1.8.14] RSS re-import failure</a></li> <li><a href="#_73_1_8_14_search_in_the_full_list_of_sources_interprets_signs">2.2. #73 [1.8.14] Search in the full list of sources interprets '-' signs</a></li> <li><a href="#_66_1_8_12_cant_schedule_a_new_search_failed_to_parse_next_run_date_invalid_date">2.3. #66 [1.8.12] Can&#8217;t …</a></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a> <ul class="sectlevel2"> <li><a href="#_800_lines_were_edited_in_the_source_definition_file">1.1. 800 lines were edited in the source definition file</a></li> </ul> </li> <li><a href="#_bugs_fixed">2. Bugs fixed</a> <ul class="sectlevel2"> <li><a href="#_80_1_8_14_rss_re_import_failure">2.1. #80 [1.8.14] RSS re-import failure</a></li> <li><a href="#_73_1_8_14_search_in_the_full_list_of_sources_interprets_signs">2.2. #73 [1.8.14] Search in the full list of sources interprets '-' signs</a></li> <li><a href="#_66_1_8_12_cant_schedule_a_new_search_failed_to_parse_next_run_date_invalid_date">2.3. #66 [1.8.12] Can&#8217;t schedule a new search : Failed to parse next run date Invalid Date</a></li> <li><a href="#_64_1_8_11_date_filter_is_reset_when_all_results_are_in">2.4. #64 [1.8.11] Date filter is reset when all results are in</a></li> <li><a href="#_79_1_8_14_investigate_json_export_failure_for_10448_results">2.5. #79 [1.8.14] Investigate JSON export failure for 10448 results</a></li> </ul> </li> <li><a href="#_mvc_refactoring_and_nodejs_client">3. MVC refactoring and NodeJS client</a></li> <li><a href="#_v1_8_15_2_removing_two_sources">4. v1.8.15.2 : Removing two sources</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This new version mainly contains under-the-hood improvements that should stay invisible but required a lot work… The way Meta-Press.es decides if a URL is valid or not, it&#8217;s internal organisation, how Meta-Press.es creates timezoned dates or import files… important pieces of code were worked on for this release, fixing a few apparent bugs.</p> </div> </div> </div> <div class="sect1"> <h2 id="_source_maintenance">1. Source maintenance</h2> <div class="sectionbody"> <div class="paragraph"> <p>After the big source re-tagging of the previous release, it appears that some sources where less precise than hopped. 200 of them were tagged back as "approx" for approximative sources.</p> </div> <div class="paragraph"> <p>In fact I wanted to have a unique scale for source precision from :</p> </div> <div class="ulist"> <ul> <li> <p>approx</p> </li> <li> <p>one word</p> </li> <li> <p>many words</p> </li> </ul> </div> <div class="paragraph"> <p>For source giving approximative results, exact results for only one word or good results even for many words. But there are two concepts : <em>exact / approx</em> and <em>one word / many words</em>. If a source is "one word" only, it is in fact applying a logical-OR between the given search terms, and a many words is applying a logical-AND. Being exact or approx is orthogonal, and some sources will, in the future be tagged as many words and approx.</p> </div> <div class="paragraph"> <p>Meanwhile, sources were added again to reach a total of 988 as of 1.8.15 across 75 countries and 75 languages.</p> </div> <div class="sect2"> <h3 id="_800_lines_were_edited_in_the_source_definition_file">1.1. 800 lines were edited in the source definition file</h3> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Year</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"># lines</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2019</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">593</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2020</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">881</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2021</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3066</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2022</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">6970</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2023</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">8759</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2024</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3984</p></td> </tr> </tbody> </table> <div class="paragraph"> <p>For a total of 24.253 lines (+535).</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_bugs_fixed">2. Bugs fixed</h2> <div class="sectionbody"> <div class="paragraph"> <p>A total of 12 issues were fixed. Here are the most important ones.</p> </div> <div class="sect2"> <h3 id="_80_1_8_14_rss_re_import_failure">2.1. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/80">#80</a> [1.8.14] RSS re-import failure</h3> <div class="paragraph"> <p>After a big search with thousands of results, I like to export everything and then re-import it. But here it failed. Some hours of work allowed to find that illegal XML characters could be introduced to Meta-Press.es generated RSS files via the URL of some illustrations. In particular the one talking to PHP Thumbnailer like <a href="https://www.journal-ipns.org" class="bare">https://www.journal-ipns.org</a> is.</p> </div> <div class="paragraph"> <p>Some unencoded '&amp;' were passing through, luring the XML parser into unfinished XML entities. My first move was to encoding those '&amp;' with some <code>&amp; # 2 6 ;</code> (without spaces) but this lead to miss interpretation of the URL by the server-side PHP Thumbnailer.</p> </div> <div class="paragraph"> <p>Encoding them with <code>&amp; amp ;</code> did the trick.</p> </div> </div> <div class="sect2"> <h3 id="_73_1_8_14_search_in_the_full_list_of_sources_interprets_signs">2.2. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/73">#73</a> [1.8.14] Search in the full list of sources interprets '-' signs</h3> <div class="paragraph"> <p>Here the problem was that searching for <code>journal-ipns.org</code> in the source list were not giving any results, while the source exists. It was due to the fact that the ListJS library used by Meta-Press.es is interpreting the scheme <code>-atext</code> as : do not include results containing <code>atext</code> in the ListJS search results.</p> </div> <div class="paragraph"> <p>As ListJS is not maintained, Meta-Press.es is now equipped with the <a href="https://github.com/lovasoa/list.js">Lovasoa</a> version, containing fix for such bugs.</p> </div> </div> <div class="sect2"> <h3 id="_66_1_8_12_cant_schedule_a_new_search_failed_to_parse_next_run_date_invalid_date">2.3. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/66">#66</a> [1.8.12] Can&#8217;t schedule a new search : Failed to parse next run date Invalid Date</h3> <div class="paragraph"> <p>When a timezone were not explicitly chosen by the user (so the default "Browser timezone" setting was used), french users could not schedule new automated search during summer time.</p> </div> <div class="paragraph"> <p>This was fixed by some solid improvements in how Meta-Press.es creates timezoned dates.</p> </div> </div> <div class="sect2"> <h3 id="_64_1_8_11_date_filter_is_reset_when_all_results_are_in">2.4. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/64">#64</a> [1.8.11] Date filter is reset when all results are in</h3> <div class="paragraph"> <p>This was a (very well) user reported bug. It was the kind of small bugs that should be simple to fix : just re-apply filters each time you add new results to a query. But it was just in the middle of the way of the MVC refactoring of the code (detailed bellow), and the fix needed to import big files.</p> </div> </div> <div class="sect2"> <h3 id="_79_1_8_14_investigate_json_export_failure_for_10448_results">2.5. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/79">#79</a> [1.8.14] Investigate JSON export failure for 10448 results</h3> <div class="paragraph"> <p>If you search for "europe" across all the known sources (which is approximately how sources are tested) you end up with more than 10 000 results. Meta-Press.es was able to export them in RSS or CSV, but not in JSON !? And <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs#lack_of_error_handling">without any error message</a>.</p> </div> <div class="paragraph"> <p>It appears that all the current export procedure might be limited to 20MO files only (it should be <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs#length_limitations">32MO</a>). In our case RSS and CSV files are just smaller than JSON ones, because JSON files include more information, especially the list of sources and their alleged number of results.</p> </div> <div class="paragraph"> <p>The fastest fix was to remove JSON presentation / indentation characters to get a smaller file and pretend that you currently can&#8217;t produce searches with more results with Meta-Press.es, but a better solution will have to be found soon.</p> </div> <div class="paragraph"> <p>It might look like an export feature that splits big exports into 20MO file slices and a reworked import feature and dialog to be able to import many slices.</p> </div> <div class="paragraph"> <p>Being focused at it, imports were globally improved in user feedback reactivity while performance penalty for MVC refactoring (impacting JSON imports) have been mitigated by a 15x factor, reducing how often ListJS' lists were re-ordered. Ordering a list is time consuming, and you can&#8217;t loose that time when importing a file (as you&#8217;re not just waiting for the next source to answer).</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_mvc_refactoring_and_nodejs_client">3. MVC refactoring and NodeJS client</h2> <div class="sectionbody"> <div class="paragraph"> <p>MVC stands for model-view-controler. Its a code architecture that helps to maintain the codebase via clear separations between code and data, and among the code between core and interface code.</p> </div> <div class="paragraph"> <p>Meta-Press.es started as a single web page embedded in a WebExtension and grown a lot since to reach 8000 lines of JavaScript today.</p> </div> <div class="paragraph"> <p>According to the <code>cloc</code> command the code was ventilated into 19 files and 7586 lines as of 2023 mid-may.</p> </div> <div class="paragraph"> <p>It is now ventilated into 32 files and 8073 lines as of 2024 mid-may.</p> </div> <div class="paragraph"> <p>Core functions were isolated in a <code>js/core</code> folder and will be usable in a Meta-Press.es NodeJS client in addition to the current WebExtension one. This work helped to distinguish and isolate the required dependencies that the NodeJS client will have to provide (such as <code>DOM_parser()</code>, <code>XPath_evaluator()</code>, <code>HTML_decode_entities()</code>…).</p> </div> <div class="paragraph"> <p>Also, useful generic JavaScript functions were stored in separate libraries in <code>js/lib/js</code>:</p> </div> <div class="ulist"> <ul> <li> <p>array.js</p> </li> <li> <p>date.js (including <code>timezoned_date()</code> to parse or create a new date with the given timezone)</p> </li> <li> <p>math.js</p> </li> <li> <p>object.js</p> </li> <li> <p>text.js</p> </li> <li> <p>types.js</p> </li> <li> <p>URL.js (including <code>is_valid_HTTP_URL()</code> elaborated from 5 different sources)</p> </li> <li> <p>UUID.js</p> </li> <li> <p>XML.js (including <code>encode_XML()</code> that allowed to fix <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/80">#80</a>)</p> </li> </ul> </div> <div class="paragraph"> <p>It&#8217;s only 211 lines of JavaScript, mainly made of obvious shortcuts, but if volunteers arise to help turning it into a viable separate lib I would help.</p> </div> </div> </div> <div class="sect1"> <h2 id="_v1_8_15_2_removing_two_sources">4. v1.8.15.2 : Removing two sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Two sources were slowing down searches, and got them stuck into never-ending requests.</p> </div> <div class="paragraph"> <p>A quickfix is the to mark them as broken. A better approach will be to fix the timeout and AbortController implementation.</p> </div> </div> </div>Version 1.8.15 : maintenance des sources, correction de bogues et gros exports2024-05-13T00:00:00+02:002024-05-13T00:00:00+02:00Siltaartag:www.meta-press.es,2024-05-13:/fr/journal/2024/v1.8.15_source_maintenance_bugfix_and_big_exports.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a> <ul class="sectlevel2"> <li><a href="#_800_lignes_ajoutées_dans_les_définitions_de_sources">1.1. 800 lignes ajoutées dans les définitions de sources</a></li> </ul> </li> <li><a href="#_correction_de_bogues">2. Correction de bogues</a> <ul class="sectlevel2"> <li><a href="#_80_1_8_14_échec_au_re_import_dun_fichier_rss">2.1. #80 [1.8.14] Échec au re-import d&#8217;un fichier RSS</a></li> <li><a href="#_73_1_8_14_les_recherche_dans_la_liste_des_sources_interprêtent_les_signes">2.2. #73 [1.8.14] Les recherche dans la liste des sources interprêtent les signes '-'</a></li> <li><a href="#_66_1_8_12_impossible_de_programmer_une_nouvelle_recherche_failed_to_parse_next_run_date_invalid_date">2.3 …</a></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a> <ul class="sectlevel2"> <li><a href="#_800_lignes_ajoutées_dans_les_définitions_de_sources">1.1. 800 lignes ajoutées dans les définitions de sources</a></li> </ul> </li> <li><a href="#_correction_de_bogues">2. Correction de bogues</a> <ul class="sectlevel2"> <li><a href="#_80_1_8_14_échec_au_re_import_dun_fichier_rss">2.1. #80 [1.8.14] Échec au re-import d&#8217;un fichier RSS</a></li> <li><a href="#_73_1_8_14_les_recherche_dans_la_liste_des_sources_interprêtent_les_signes">2.2. #73 [1.8.14] Les recherche dans la liste des sources interprêtent les signes '-'</a></li> <li><a href="#_66_1_8_12_impossible_de_programmer_une_nouvelle_recherche_failed_to_parse_next_run_date_invalid_date">2.3. #66 [1.8.12] Impossible de programmer une nouvelle recherche : Failed to parse next run date Invalid Date</a></li> <li><a href="#_64_1_8_11_le_filtre_par_date_est_remis_à_zéro_une_fois_les_derniers_résultats_arrivés">2.4. #64 [1.8.11] Le filtre par date est remis à zéro une fois les derniers résultats arrivés</a></li> <li><a href="#_79_1_8_14_investigate_json_export_failure_for_10448_results">2.5. #79 [1.8.14] Investigate JSON export failure for 10448 results</a></li> </ul> </li> <li><a href="#_ré_organisation_mvc_du_code_et_client_nodejs">3. Ré-organisation MVC du code et client NodeJS</a></li> <li><a href="#_v1_8_15_2_retrait_de_deux_sources">4. v1.8.15.2 : Retrait de deux sources</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Cette nouvelle version ne contient presqu&#8217;aucune amélioration visible, mais elle a pourtant nécessité énormément de travail. Ce qui a changé, c&#8217;est par exemple la façon dont Meta-Press.es détermine si une URL est valide ou non, son organisation interne, comment les dates sont créées (avec des fuseaux horaires) ou encore comment les fichiers sont importés… du gros œuvre dans le code donc, mais pour ne s&#8217;attaquer (en apparence) qu&#8217;à quelques bogues.</p> </div> </div> </div> <div class="sect1"> <h2 id="_maintenance_des_sources">1. Maintenance des sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Après le gros travail mené sur les sources pour la précédent version, il est apparu que certaines sources n&#8217;étaient pas aussi précises qu&#8217;espérées. Aussi, 200 d&#8217;entre elles sont à nouveau étiquetées "approx" pour approximatives.</p> </div> <div class="paragraph"> <p>J&#8217;ai longtemps espéré pouvoir utiliser une échelle unique de précision pour qualifier les sources :</p> </div> <div class="ulist"> <ul> <li> <p>approx</p> </li> <li> <p>un mot</p> </li> <li> <p>plusieurs mots</p> </li> </ul> </div> <div class="paragraph"> <p>Pour les sources donnant des résultats approximatifs, précis pour un mot ou pour plusieurs. Mais cette approche mélange en fait deux concepts : <em>exact / approx</em> et <em>un mot / plusieurs mots</em>. Le premier critère correspond à la capacité de la source à donner des résultats exacts ou approchés, et le deuxième à la capacité de la source de s&#8217;assurer qu&#8217;au moins un des mots recherché par l&#8217;utilisateur est présent dans ses résultats, oubien tous à la fois (applique-t-elle un ET-logique entre les termes de recherche ou un OU-logique). Ces deux problématiques sont orthogonales et certaines sources devront pouvoir être étiquetées "approx" et "plusieurs mots".</p> </div> <div class="paragraph"> <p>Ce faisant, des sources furent encore ajoutées pour atteindre un total de 988 avec cette version 1.8.15 (et 1.8.15.1) réparties en 75 pays et 75 langues.</p> </div> <div class="sect2"> <h3 id="_800_lignes_ajoutées_dans_les_définitions_de_sources">1.1. 800 lignes ajoutées dans les définitions de sources</h3> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Année</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"># lignes</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2019</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">593</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2020</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">881</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2021</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3066</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2022</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">6970</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2023</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">8759</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2024</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3984</p></td> </tr> </tbody> </table> <div class="paragraph"> <p>Pour un total de 24 253 lignes (+535).</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_correction_de_bogues">2. Correction de bogues</h2> <div class="sectionbody"> <div class="paragraph"> <p>Un total de 12 problèmes furent résolus pour cette nouvelle version. En voici les principaux.</p> </div> <div class="sect2"> <h3 id="_80_1_8_14_échec_au_re_import_dun_fichier_rss">2.1. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/80">#80</a> [1.8.14] Échec au re-import d&#8217;un fichier RSS</h3> <div class="paragraph"> <p>Une grosse recherche peut télécharger des milliers de résultats, et je profite de ces cas là pour tester les fonctionnalités d&#8217;export et de re-import des résultats. Généralement ça marche, mais là je suis tombé sur un os. Quelques heures de recherche permirent d&#8217;identifier ce que l&#8217;analyseur de fichier XML dénonçait comme caractères XML illégaux dans les fichiers RSS générés par Meta-Press.es. Ce qui enduisait l&#8217;interpréteur d&#8217;erreur était l&#8217;absence d&#8217;un caractère qui aurait permis de fermer un motif qu&#8217;il était bien le seul à voir, et le message d&#8217;erreur pointait donc au milieu d&#8217;un texte parfaitement valide si on ne commençait à regarder le fichier qu&#8217;à partir de l&#8217;erreur rapportée. Ces mystérieux caractères illégaux étaient donc cachés un peu plus tôt dans les URL des illustrations de certains articles, par exemple les URL à destination du vigneteur interactif de <a href="https://www.journal-ipns.org" class="bare">https://www.journal-ipns.org</a> (PHP Thumbnailer).</p> </div> <div class="paragraph"> <p>Il s&#8217;agissait tout simplement de plusieurs éperluètes "nues" dans ces URL, or le seul usage autorisé des '&amp;' dans un fichier XML est celui d&#8217;annoncer le début d&#8217;une entité XML (c&#8217;est à dire de la description d&#8217;un caractère à remplacer lors du décodage du fichier). Une éperluète peut par exemple être remplacé l&#8217;entité XML <code>&amp; # 2 6 ;</code> (sans les espaces) mais si on fait ça, c&#8217;est le vigneteur en face qui ne s&#8217;y retrouve plus.</p> </div> <div class="paragraph"> <p>Il fallut donc remplacer les '&amp;' de ces URL par des <code>&amp; amp ;</code> pour que tout le monde soit content.</p> </div> </div> <div class="sect2"> <h3 id="_73_1_8_14_les_recherche_dans_la_liste_des_sources_interprêtent_les_signes">2.2. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/73">#73</a> [1.8.14] Les recherche dans la liste des sources interprêtent les signes '-'</h3> <div class="paragraph"> <p>Ici le problème était que chercher <code>journal-ipns.org</code> dans la liste complète des sources ne donnait aucun résultat. C&#8217;était dû au fait que la bibliothèque de fonction ListJS que Meta-Press.es utilise pour paginer cette liste (et qui fourni également une fonctionnalité de recherche) interprétait les schémas du type <code>-untexte</code> comme une négation : ne pas chercher ce qui contient <code>untexte</code>.</p> </div> <div class="paragraph"> <p>Puisque ListJS n&#8217;est plus maintenu, Meta-Press.es est désormais équipé de la version <a href="https://github.com/lovasoa/list.js">Lovasoa</a> de cette bibliothèque, nommée de part le pseudo du mainteneur qui a entre autre corrigé ce bogue.</p> </div> </div> <div class="sect2"> <h3 id="_66_1_8_12_impossible_de_programmer_une_nouvelle_recherche_failed_to_parse_next_run_date_invalid_date">2.3. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/66">#66</a> [1.8.12] Impossible de programmer une nouvelle recherche : Failed to parse next run date Invalid Date</h3> <div class="paragraph"> <p>Lorsqu&#8217;aucun fuseau horaire n&#8217;était explicitement choisi par un utilisateur (et donc que le fuseau horaire par défaut du navigateur était utilisé), les utilisateurs français ne pouvaient plus programmer de nouvelles recherches automatique durant la période des heures d&#8217;été.</p> </div> <div class="paragraph"> <p>Quelques sérieux ajustements dans la fonction qui crée des dates avec fuseau horaire pour Meta-Press.es ont permis de corriger ce problème (il était question de savoir gérer plus de situations, notamment des fuseaux horaires exprimés en heure, en heure avec minutes, ou juste en minutes comme : -120…).</p> </div> </div> <div class="sect2"> <h3 id="_64_1_8_11_le_filtre_par_date_est_remis_à_zéro_une_fois_les_derniers_résultats_arrivés">2.4. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/64">#64</a> [1.8.11] Le filtre par date est remis à zéro une fois les derniers résultats arrivés</h3> <div class="paragraph"> <p>Celui-ci était un bogue (très bien) signalé par un utilisateur. Typique du genre des petits bugs qui n&#8217;ont l&#8217;air de rien mais qui se mettent complètement en travers du flot d&#8217;exécution mis en place pour accueillir les résultats. On aurait pas dû avoir à s&#8217;éloigner du simple : ré-applique les filtres à chaque fois que ajoute des résultats sur la page. Mais pour le coup, je m&#8217;en suis occupé en même temps que la ré-organisation MVC du code (dont je parle plus bas) et ça a passablement compliqué les choses (et la correction du bug suivant), tout en mettant bien en évidence le besoin de réorganisation.</p> </div> </div> <div class="sect2"> <h3 id="_79_1_8_14_investigate_json_export_failure_for_10448_results">2.5. <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/79">#79</a> [1.8.14] Investigate JSON export failure for 10448 results</h3> <div class="paragraph"> <p>Pour faire une grosse recherche, c&#8217;est facile, il suffit de chercher "europe" dans toutes les sources connues. C&#8217;est à peu prêt comme ça que les sources sont testées et ça ramène plus de 10 000 résultats. Meta-Press.es était alors capable d&#8217;exporter ces résultats en RSS, en CSV, mais pas en JSON !? Et <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs#lack_of_error_handling">sans le moindre message d&#8217;erreur</a>.</p> </div> <div class="paragraph"> <p>Il semble en effet que Meta-Press.es se heurtait à une limite sur la taille des fichiers générables (via <code>data:</code> URL) fixée à 20MO (ça devrait être <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs#length_limitations">32MO</a> a priori). Dans notre cas, les fichiers RSS et CVS étaient plus petits que leur homologue JSON car ils embarquent moins d&#8217;information, perdant notamment le nombre de résultats revendiqués par chaque source.</p> </div> <div class="paragraph"> <p>En diminuant le nombre de caractères de présentation utilisés dans le JSON produit, l&#8217;export JSON passait à 19,9MO et avait bien lieu. Ces limites existent et varient au cours du temps et au gré des navigateurs. Une meilleur solution devrait être trouvée rapidement.</p> </div> <div class="paragraph"> <p>Cela pourrait être une fonctionnalité d&#8217;export découpé en plusieurs fichiers de 20MO chacun, et une amélioration de l&#8217;import, pour être capable de ré-importer une série de fichiers (et pourquoi pas de deviner le type d&#8217;un fichier importé en fonction de son extension).</p> </div> <div class="paragraph"> <p>Tant qu&#8217;à se pencher sur les exports et les imports, leur code a été globalement amélioré pour fournir plus de réactivité aux utilisateurs et mitiger d&#8217;un facteur 15x la perte de performance due à la ré-organisation du code (qui impactait les imports JSON). Il s&#8217;agissait là tout simplement de ne ré-ordonner les résultats qu&#8217;une fois toutes les 15 sources, et pas à chaque source, car on a pas de temps à perdre quand on import un gros fichier JSON, c&#8217;est pas comme si on passait son temps à attendre les résultats de la prochaine source… (comme c&#8217;est habituellement le cas)</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_ré_organisation_mvc_du_code_et_client_nodejs">3. Ré-organisation MVC du code et client NodeJS</h2> <div class="sectionbody"> <div class="paragraph"> <p>MVC, ça veut dire modèle-vue-controleur. C&#8217;est un type d&#8217;architecture logicielle qui facilite la maintenance du code en séparant clairement les données du code, puis le code "métier" du code d&#8217;interface.</p> </div> <div class="paragraph"> <p>Meta-Press.es a été codé comme une simple page web au départ (une architecture ou le contraire est possible, tout dans le même fichier : l&#8217;interface (HTML, CSS), le code (JavaScript) et les données. Cette page a été embarquée dans une WebExtension et a pas mal grossi depuis, atteignant 8000 lignes de code aujourd&#8217;hui.</p> </div> <div class="paragraph"> <p>En utilisant la commande <code>cloc</code> on peut constater que le code était ventilé en 19 fichiers et 7586 lignes à la mi-mai 2023.</p> </div> <div class="paragraph"> <p>Il est désormais réparti en 32 fichiers pour 8073 lignes en cette mi-mai 2024.</p> </div> <div class="paragraph"> <p>Les fonctionnalités "métier" ont été isolées dans un dossier <code>js/core</code> et seront utilisables par par un client NodeJS en ligne de commande en plus de la WebExtension. Ce travail a permis de distinguer et d&#8217;isoler les dépendances requises au fonctionnement de Meta-Press.es et que le client NodeJS va devoir fournir (comme les fonctions <em>DOM_parser</em>, <em>XPath_evaluator</em>, <em>HTML_decode_entities</em>…).</p> </div> <div class="paragraph"> <p>De plus, les fonctions génériques étendant le langage JavaScript codée au fil du développement de Meta-Press.es ont été séparées dans un ensemble de fichiers rangés dans <code>js/lib/js</code> :</p> </div> <div class="ulist"> <ul> <li> <p>array.js</p> </li> <li> <p>date.js (dont <code>timezoned_date()</code> qui permet de créer des dates dans un fuseau horaire choisi)</p> </li> <li> <p>math.js</p> </li> <li> <p>object.js</p> </li> <li> <p>text.js</p> </li> <li> <p>types.js</p> </li> <li> <p>URL.js (dont <code>is_valid_HTTP_URL()</code> qui vérifie la validité d&#8217;une URL, et rassemble des idées de 5 sources différentes)</p> </li> <li> <p>UUID.js</p> </li> <li> <p>XML.js (dont <code>encode_XML()</code> qui permit de corriger le problème <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/80">#80</a>)</p> </li> </ul> </div> <div class="paragraph"> <p>Il s&#8217;agit seulement de 211 lignes de JavaScript, principalement composées de raccourcis évidents qui me rendent le JavaScript plus agréable, mais si des volontaires se manifestent pour en faire une bibliothèque de fonction indépendante je serai là pour aider.</p> </div> </div> </div> <div class="sect1"> <h2 id="_v1_8_15_2_retrait_de_deux_sources">4. v1.8.15.2 : Retrait de deux sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Deux sources ralentissaient considérablement les recherches, l&#8217;une d&#8217;elle les bloquant dans une situation sans fin.</p> </div> <div class="paragraph"> <p>Une réparation rapide consiste à les marquer comme cassées. Une meilleur approche consistera à réparer le mécanisme de coupure automatique des recherches trop longues (actuellement basé sur l&#8217;API AbortController).</p> </div> </div> </div>Version 1.8.14 : source maintenance and access content tag2024-04-04T00:00:00+02:002024-04-04T00:00:00+02:00Siltaartag:www.meta-press.es,2024-04-04:/journal/2024/v1.8.14_global_source_maintenance_access_content_and_direct_content.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_sources_spring_cleaning">1. Sources' Spring cleaning</a></li> <li><a href="#_access_content_and_direct_content_tags">2. <code>access content</code> and <code>direct content</code> tags</a></li> <li><a href="#_monitoring_the_age_of_the_lines">3. Monitoring the age of the lines</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>As I was to do some source maintenance to verify Meta-Press.es recovered from the previous date parsing problem, I decided to perform a global source maintenance, trying to fix every …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_sources_spring_cleaning">1. Sources' Spring cleaning</a></li> <li><a href="#_access_content_and_direct_content_tags">2. <code>access content</code> and <code>direct content</code> tags</a></li> <li><a href="#_monitoring_the_age_of_the_lines">3. Monitoring the age of the lines</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>As I was to do some source maintenance to verify Meta-Press.es recovered from the previous date parsing problem, I decided to perform a global source maintenance, trying to fix every broken source as per automated full testing procedure.</p> </div> </div> </div> <div class="sect1"> <h2 id="_sources_spring_cleaning">1. Sources' Spring cleaning</h2> <div class="sectionbody"> <div class="paragraph"> <p>It turned out to be a lot of work… I had hundreds of sources to fix. With this momentum I tried to fix also the sources already marked as "broken" I would encounter in the <code>json/sources.json</code> file… 15 of them got back to work ! (including some which needed tokens to be fetched).</p> </div> <div class="paragraph"> <p>It was:</p> </div> <div class="literalblock"> <div class="content"> <pre>2743 insertions(+), 1824 deletions(-)</pre> </div> </div> <div class="paragraph"> <p>And it took more time than I expected.</p> </div> <div class="paragraph"> <p>Meta-Press.es now counts 953 working sources, including 510 french speaking ones and it&#8217;s still more than Google Actualités (which claims to limit itself to 500 sources).</p> </div> <div class="paragraph"> <p>The approximative sources (which are difficult to use) dropped down to 99 (because many of them were converted to more precision via the <code>filter_results</code> mechanism).</p> </div> </div> </div> <div class="sect1"> <h2 id="_access_content_and_direct_content_tags">2. <code>access content</code> and <code>direct content</code> tags</h2> <div class="sectionbody"> <div class="paragraph"> <p>But the biggest improvment is with this two new tags : <code>access content</code> and <code>direct content</code>.</p> </div> <div class="paragraph"> <p>The first one allows to search only through sources with online accessible content : true web without paywall. 692 sources were tagged this way, it represents 72% of all the known sources in Meta-Press.es. So what was though as a weakness of Meta-Press.es (not giving access to the content of the articles) turns out to be a strength instead because Meta-Press.es is in fact mainly leading you to readable content.</p> </div> <div class="paragraph"> <p>And even better, it appeared that 127 sources are pushing their content on demand so Meta-Press.es allows you to read a lot of content directly in its result pages. This content is embedded in exports and you can share it or archives it. Those sources got the <code>direct content</code> tag.</p> </div> <div class="paragraph"> <p>This two tags are currently findable among the "tech" tags, but might get their own category one day.</p> </div> </div> </div> <div class="sect1"> <h2 id="_monitoring_the_age_of_the_lines">3. Monitoring the age of the lines</h2> <div class="sectionbody"> <div class="paragraph"> <p>As this source maintenance was a lot of work, I made a small script to compute the age of the lines in the <code>json/sources.json</code> file. Smartly used it will allow to follow the maintenance work needed between two source-addition sessions.</p> </div> <div class="paragraph"> <p>For the moment it already allows to follow the amount of work done each of the last years.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Year</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"># lines</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2019</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">598</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2020</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">924</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2021</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3177</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2022</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7024</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2023</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">8895</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2024</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3111</p></td> </tr> </tbody> </table> <div class="paragraph"> <p>This source definition file counts 23.718 lines, all crafted by human beings.</p> </div> </div> </div>Version 1.8.14 : maintenance des sources et étiquettes access content2024-04-04T00:00:00+02:002024-04-04T00:00:00+02:00Siltaartag:www.meta-press.es,2024-04-04:/fr/journal/2024/v1.8.14_global_source_maintenance_access_content_and_direct_content.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_grand_ménage_de_printemps_pour_les_sources">1. Grand ménage de printemps pour les sources</a></li> <li><a href="#_étiquettes_access_content_et_direct_content">2. Étiquettes <code>access content</code> et <code>direct content</code></a></li> <li><a href="#_suivi_de_lage_des_ligne_dans_jsonsources_json">3. Suivi de l&#8217;age des ligne dans <code>json/sources.json</code></a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Puisque j&#8217;en était à faire de la maintenance sur le sources pour vérifier la corretion d&#8217;un bug sur l&#8217;interprétation des …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_grand_ménage_de_printemps_pour_les_sources">1. Grand ménage de printemps pour les sources</a></li> <li><a href="#_étiquettes_access_content_et_direct_content">2. Étiquettes <code>access content</code> et <code>direct content</code></a></li> <li><a href="#_suivi_de_lage_des_ligne_dans_jsonsources_json">3. Suivi de l&#8217;age des ligne dans <code>json/sources.json</code></a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Puisque j&#8217;en était à faire de la maintenance sur le sources pour vérifier la corretion d&#8217;un bug sur l&#8217;interprétation des dates, je me suis lancé dans un sprint de maintenance globale des sources, en me penchant sur chaque source signalée comme en panne par la procédure de test automatisée.</p> </div> </div> </div> <div class="sect1"> <h2 id="_grand_ménage_de_printemps_pour_les_sources">1. Grand ménage de printemps pour les sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Ça a demandé beaucoup de travail… des centaines de sources ont été réparées. J&#8217;en ai également profité pour redonner une chances aux sources marquées comme cassées dans le fichier <code>json/sources.json</code> et 15 d&#8217;entres elles sont de nouveau fonctionnelles (dont certaines qui avaient besoin du encore nouveau mécanisme de récupération préliminaire de jeton).</p> </div> <div class="paragraph"> <p>Cette petite tâche de maintenance s&#8217;est muée en remuage de millier de lignes :</p> </div> <div class="literalblock"> <div class="content"> <pre>2743 insertions(+), 1824 deletions(-)</pre> </div> </div> <div class="paragraph"> <p>Le tout prenant un peu plus de temps que prévu.</p> </div> <div class="paragraph"> <p>Mais le résultat est là, Meta-Press.es compte désormais 953 sources fonctionnelles, dont 510 sources francophones ce qui est, pour rappel, plus que Google Actualités (qui annonce se limiter à 500 sources).</p> </div> <div class="paragraph"> <p>Le nombre de sources dîtes "approximatives" (avec lesquelles il est difficile de travailler parce qu&#8217;elle renvoient un peu n&#8217;importe quoi) est repassé sous la barre des 100 (à 93) grâce à la qualitication de nombreuses sources en "one word" (précise pour au moin un mot) via le mécanisme <code>filter_results</code> présenté précédemment.</p> </div> </div> </div> <div class="sect1"> <h2 id="_étiquettes_access_content_et_direct_content">2. Étiquettes <code>access content</code> et <code>direct content</code></h2> <div class="sectionbody"> <div class="paragraph"> <p>Toutefois l&#8217;amélioration principale de cette version c&#8217;est l&#8217;apparition des étiquettes : <code>access content</code> et <code>direct content</code>.</p> </div> <div class="paragraph"> <p>La première permet de ne chercher que dans les sources présentant un contenu accessible en ligne : vraiment sur le web, sans <em>paywall</em> in inscription obligatoire. Toutes les sources de Meta-Press.es ont été vérifiée et 692 d&#8217;entre elles se sont révélées coopératives, soit 72% des sources de Meta-Press.es. Ce qui était jusque là vu comme une faiblesse de l&#8217;outil (ne pas donner accès au contenu des articles) se révèle finalement être une force : dans la majorité des cas Meta-Press.es renvoi vers du contenu lisible.</p> </div> <div class="paragraph"> <p>Et ce n&#8217;est pas tout, il est apparu que 127 sources poussent en pratique l&#8217;intégralité de leur contenu sur demande, ce qui permet à Meta-Press.es de présenter des articles entiers à lire dans ses pages. Ces contenus peuvent également être exportés, portagés et archivés. Ces sources on reçu l&#8217;étiquette <code>direct content</code>.</p> </div> <div class="paragraph"> <p>Ces deux étiquettes sont pour l&#8217;instant à retrouver dans les étiquettes "techniques" mais pourrait bientôt avoir leur propre catégorie.</p> </div> </div> </div> <div class="sect1"> <h2 id="_suivi_de_lage_des_ligne_dans_jsonsources_json">3. Suivi de l&#8217;age des ligne dans <code>json/sources.json</code></h2> <div class="sectionbody"> <div class="paragraph"> <p>Vu le temps qu&#8217;a pris cette maintenance des sources et le travail que ça représente, j&#8217;ai fait un petit script permettant de retrouver l&#8217;age des lignes, année par année. En utilisant bien ce script il permettra de suivre le volume de maintenance nécessaire entre deux séances d&#8217;ajout de source.</p> </div> <div class="paragraph"> <p>Pour le moment il permet déjà de se faire une idée du travail accompli sur ce fichier chaque année.</p> </div> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Année</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">lignes</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2019</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">598</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2020</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">924</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2021</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3177</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2022</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">7024</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2023</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">8895</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">2024</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">3111</p></td> </tr> </tbody> </table> <div class="paragraph"> <p>Ce fichier comportant un total de 23 718 lignes, toutes écrites à la main par des humains.</p> </div> </div> </div>Version 1.8.13 : fetch token and source maintenance2024-03-08T00:00:00+01:002024-03-08T00:00:00+01:00Siltaartag:www.meta-press.es,2024-03-08:/journal/2024/v1.8.13_fetch_token_source_maintenance.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_v1_8_12_use_meta_press_es_to_improve_wikipedia">1. v1.8.12 : use Meta-Press.es to improve Wikipedia</a></li> <li><a href="#_v1_8_13_some_source_maintenance_as_per_user_feedback">2. v1.8.13 : some source maintenance as per user feedback</a></li> <li><a href="#_meta_press_es_is_now_indexing_more_french_speaking_sources_than_google_actualités">3. Meta-Press.es is now indexing more french speaking sources than Google Actualités</a></li> <li><a href="#_token_sel_fetch_a_token_to_build_your_search_url">4. <code>token_sel</code> : fetch a token to build your search URL</a></li> <li><a href="#_v1_8_13_1_fix_a_bug_on_date_parsing">5. v1.8.13.1 …</a></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_v1_8_12_use_meta_press_es_to_improve_wikipedia">1. v1.8.12 : use Meta-Press.es to improve Wikipedia</a></li> <li><a href="#_v1_8_13_some_source_maintenance_as_per_user_feedback">2. v1.8.13 : some source maintenance as per user feedback</a></li> <li><a href="#_meta_press_es_is_now_indexing_more_french_speaking_sources_than_google_actualités">3. Meta-Press.es is now indexing more french speaking sources than Google Actualités</a></li> <li><a href="#_token_sel_fetch_a_token_to_build_your_search_url">4. <code>token_sel</code> : fetch a token to build your search URL</a></li> <li><a href="#_v1_8_13_1_fix_a_bug_on_date_parsing">5. v1.8.13.1 : fix a bug on date parsing</a></li> </ul> </div> <div class="sect1"> <h2 id="_v1_8_12_use_meta_press_es_to_improve_wikipedia">1. v1.8.12 : use Meta-Press.es to improve Wikipedia</h2> <div class="sectionbody"> <div class="paragraph"> <p>Version 1.8.12 was a small release mainly made for source maintenance and to adding a "secondary source" source type useful for improving Wikipedia (adding secondary sources on articles). The timing of the release was driven by a debate an April.org mailing list.</p> </div> </div> </div> <div class="sect1"> <h2 id="_v1_8_13_some_source_maintenance_as_per_user_feedback">2. v1.8.13 : some source maintenance as per user feedback</h2> <div class="sectionbody"> <div class="paragraph"> <p>Version 1.8.13 is also a small release. It responds to a user feedback about "dates in future" for SubInfo.be. This newspaper does not provide years in the dates of its results. It was naively added to Meta-Press.es simply adding the current year on each date but this only works hot and abundant news. So unless someone convince SubInfo.be to improve their search result presentation, they will stay in the Meta-Press.es' <a href="https://framagit.org/Siltaar/meta-press-ext/-/blob/master/wiki/incompatible_sources.adoc?ref_type=heads">incompatible sources</a> list.</p> </div> <div class="paragraph"> <p>Off-Investigation also needed to be fixed, as they suddenly stopped to serve results via RSS.</p> </div> </div> </div> <div class="sect1"> <h2 id="_meta_press_es_is_now_indexing_more_french_speaking_sources_than_google_actualités">3. Meta-Press.es is now indexing more french speaking sources than Google Actualités</h2> <div class="sectionbody"> <div class="paragraph"> <p>By the way I added 16 new sources. They are french ones, so now Meta-Press.es is indexing 513 french speaking sources, which is more than the number of sources Google News advertises for it&#8217;s <a href="https://fr.wikipedia.org/wiki/Google_Actualit%C3%A9s">french speaking version</a>.</p> </div> <div class="paragraph"> <p>So it&#8217;s a small release for Meta-Press.es, but a great achievement for the free software community and the freedom of the press.</p> </div> </div> </div> <div class="sect1"> <h2 id="_token_sel_fetch_a_token_to_build_your_search_url">4. <code>token_sel</code> : fetch a token to build your search URL</h2> <div class="sectionbody"> <div class="paragraph"> <p>On a technical point of view, this release is adding the <code>token_sel</code> mechanism. It&#8217;s a way to fetch a token somewhere on a page of the source before launching the search. As stated in the source documentation (at a <a href="https://www.meta-press.es/pages/meta-press.es_source_documentation.html#_setup_a_preliminary_request_token_url">new URL</a>) :</p> </div> <div class="paragraph"> <p>Some sources need a token (present on the regular search page for instance) to serve results. Others need a preliminary request to setup the next response language…</p> </div> <div class="paragraph"> <p>In those cases it’s possible to define a preliminary request that Meta-Press.es will perform before the search.</p> </div> <div class="paragraph"> <p>In addition to the <code>token_url</code> field, a <code>token_sel</code> field now exists and allows to choose which element of the page to extract and re-inject in the search URL of the source via a replacement token "{T}".</p> </div> <div class="paragraph"> <p>This allowed to fix the issue <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/54">#54</a> and to integrate AfricaIntelligence.fr / IntelligenceOnline.fr to Meta-Press.es. I also allowed to add back ScienceDirect.com.</p> </div> </div> </div> <div class="sect1"> <h2 id="_v1_8_13_1_fix_a_bug_on_date_parsing">5. v1.8.13.1 : fix a bug on date parsing</h2> <div class="sectionbody"> <div class="paragraph"> <p>Everyone knows that nothing is to be pushed in production a friday evening, Meta-Press.es is no exception. This version fixes a bug on date parsing, and at least one other sub-release will be needed.</p> </div> </div> </div>Version 1.8.13 : capture de jeton et maintenance de source2024-03-08T00:00:00+01:002024-03-08T00:00:00+01:00Siltaartag:www.meta-press.es,2024-03-08:/fr/journal/2024/v1.8.13_fetch_token_source_maintenance.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_v1_8_12_utiliser_meta_press_es_pour_améliorer_wikipedia">1. v1.8.12 : utiliser Meta-Press.es pour améliorer Wikipedia</a></li> <li><a href="#_v1_8_13_retour_utilisateur_et_maintenance_de_source">2. v1.8.13 : retour utilisateur et maintenance de source</a></li> <li><a href="#_meta_press_es_indexe_désormais_plus_de_sources_francophones_que_google_actualités">3. Meta-Press.es indexe désormais plus de sources francophones que Google Actualités</a></li> <li><a href="#_token_sel_capturer_un_jeton_pour_compléter_lurl_de_recherche">4. <code>token_sel</code> : capturer un jeton pour compléter l&#8217;URL de recherche</a></li> <li><a href="#_v1_8_13_1_correction_dun_bug_dans_lanalyse_des_dates">5. v1.8.13.1 : correction …</a></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_v1_8_12_utiliser_meta_press_es_pour_améliorer_wikipedia">1. v1.8.12 : utiliser Meta-Press.es pour améliorer Wikipedia</a></li> <li><a href="#_v1_8_13_retour_utilisateur_et_maintenance_de_source">2. v1.8.13 : retour utilisateur et maintenance de source</a></li> <li><a href="#_meta_press_es_indexe_désormais_plus_de_sources_francophones_que_google_actualités">3. Meta-Press.es indexe désormais plus de sources francophones que Google Actualités</a></li> <li><a href="#_token_sel_capturer_un_jeton_pour_compléter_lurl_de_recherche">4. <code>token_sel</code> : capturer un jeton pour compléter l&#8217;URL de recherche</a></li> <li><a href="#_v1_8_13_1_correction_dun_bug_dans_lanalyse_des_dates">5. v1.8.13.1 : correction d&#8217;un bug dans l&#8217;analyse des dates</a></li> </ul> </div> <div class="sect1"> <h2 id="_v1_8_12_utiliser_meta_press_es_pour_améliorer_wikipedia">1. v1.8.12 : utiliser Meta-Press.es pour améliorer Wikipedia</h2> <div class="sectionbody"> <div class="paragraph"> <p>La version 1.8.12 fut une petite mise à jour, principalement de la maintenance des sources et l&#8217;ajoute d&#8217;un type de source « Source secondaire » pensée pour aider à enrichir les pages de Wikipédia avec des sources secondaires en utilisant Meta-Press.es. La sortie de cette version fut un peu précipitée pour répondre aux besoins d&#8217;un débat sur une liste de diffusion de l&#8217;April.org.</p> </div> </div> </div> <div class="sect1"> <h2 id="_v1_8_13_retour_utilisateur_et_maintenance_de_source">2. v1.8.13 : retour utilisateur et maintenance de source</h2> <div class="sectionbody"> <div class="paragraph"> <p>La version 1.8.13 peut aussi être vue comme une petite mise à jour, précipitée pour répondre à plusieurs retours utilisateurs. En effet les dates "dans le futur" des articles de SudInfo.be ne sont pas passées inaperçues. C&#8217;est que cette source ne donne pas d&#8217;années à ses résultats et ajouter simplement l&#8217;année courante à chaque date incomplète s&#8217;avère être une approche un peu trop naïve. Ça faisait bien illusion en fin d&#8217;année sur les sujets abondamment traités.</p> </div> <div class="paragraph"> <p>À moins que quelqu&#8217;un ne parviennent à convaincre SudInfo.be d&#8217;améliorer ses pages de résultats de recherche (en y mettant des dates entières), cette source restera désormais dans la <a href="https://framagit.org/Siltaar/meta-press-ext/-/blob/master/wiki/incompatible_sources.adoc?ref_type=heads">liste des sources incompatibles</a>.</p> </div> <div class="paragraph"> <p>Off-Investigation a eu plus de chance elle, car il a été possible de la réparer. Elle s&#8217;était pourtant tout simplement mise à ne plus servir ses résultats sous forme de flux RSS (servant son flux RSS principal à la place). Elle bénéficie désormais d&#8217;une intégration web classique.</p> </div> </div> </div> <div class="sect1"> <h2 id="_meta_press_es_indexe_désormais_plus_de_sources_francophones_que_google_actualités">3. Meta-Press.es indexe désormais plus de sources francophones que Google Actualités</h2> <div class="sectionbody"> <div class="paragraph"> <p>En effet cette nouvelle version ajoute 16 nouvelles sources francophones à Meta-Press.es, ce qui porte le nombre de sources francophones indexées à 513, or <a href="https://fr.wikipedia.org/wiki/Google_Actualit%C3%A9s">Google Actualités</a> a communiqué sur le fait que seulement 500 sources francophones sont indexées dans ce moteur de recherche.</p> </div> <div class="paragraph"> <p>C&#8217;est donc une petite mise à jour pour Meta-Press.es, mais un grand pas pour la communauté du logiciel libre et pour la liberté de la presse.</p> </div> </div> </div> <div class="sect1"> <h2 id="_token_sel_capturer_un_jeton_pour_compléter_lurl_de_recherche">4. <code>token_sel</code> : capturer un jeton pour compléter l&#8217;URL de recherche</h2> <div class="sectionbody"> <div class="paragraph"> <p>Sur le plan technique, cette nouvelle version de Meta-Press.es embarque le mécanisme <code>token_sel</code> permettant de récupérer un jeton sur une page de la source avant de lancer une recherche. Comme indiqué dans la documentation technique sur l&#8217;ajout des sources (déménagée dans une page unique <a href="https://www.meta-press.es/fr/pages/meta-press.es_source_documentation.html#_setup_a_preliminary_request_token_url">ici</a>) :</p> </div> <div class="paragraph"> <p>Certaines sources ont besoin d’un jeton généré lors de l’affichage de leur page de recherche pour servir des résultats. D’autres ont besoin d’une requête préliminaire pour pouvoir configurer la langue dans laquelle seront servis les résultats…</p> </div> <div class="paragraph"> <p>Dans ces différents cas il est possible de définir une requête à réaliser avant de lancer la recherche (via la directive <code>token_url</code>). Désormais un champs <code>token_sel</code> est également disponible afin d’extraire un élément de la page chargée et de pouvoir l’injecter dans l’URL de recherche de la source via le jeton de remplacement "{T}".</p> </div> <div class="paragraph"> <p>L&#8217;implémentation de ce mécanisme a permis d&#8217;ajouter la source AfricaIntelligence.fr / IntelligenceOnline.fr à Meta-Press.es, et de fermer le fameux bug <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/54">#54</a> (plus facilement que prévu).</p> </div> </div> </div> <div class="sect1"> <h2 id="_v1_8_13_1_correction_dun_bug_dans_lanalyse_des_dates">5. v1.8.13.1 : correction d&#8217;un bug dans l&#8217;analyse des dates</h2> <div class="sectionbody"> <div class="paragraph"> <p>Tout le monde sait qu&#8217;il ne faut rien mettre en production un vendredi soir… Meta-Press.es ne fait pas exception. Au moins une autre version sera nécessaire sur le sujet.</p> </div> </div> </div>Google don't filter AI generated news2024-01-19T00:00:00+01:002024-01-19T00:00:00+01:00Siltaartag:www.meta-press.es,2024-01-19:/journal/2024/20240119_google_dont_filter_artificially_generated_news.html<div class="paragraph"> <p>Today in Next.ink the journalist Jean-Marc Manach reports the official position of Google regarding AI generated content in its news search engine Google News.</p> </div> <div class="paragraph"> <p>« <a href="https://next.ink/124555/google-se-moque-de-savoir-si-un-article-a-ete-redige-par-une-ia-ou-par-un-humain/">Google don&#8217;t care if a news is written by a human or an AI (fr)</a> »</p> </div> <div class="paragraph"> <p><em>Since months a lot of fakenews websites are made …</em></p></div><div class="paragraph"> <p>Today in Next.ink the journalist Jean-Marc Manach reports the official position of Google regarding AI generated content in its news search engine Google News.</p> </div> <div class="paragraph"> <p>« <a href="https://next.ink/124555/google-se-moque-de-savoir-si-un-article-a-ete-redige-par-une-ia-ou-par-un-humain/">Google don&#8217;t care if a news is written by a human or an AI (fr)</a> »</p> </div> <div class="paragraph"> <p><em>Since months a lot of fakenews websites are made from AI content only. This tool can produce numerous hallucinated news H24, but without any form of verification or contextualisation like journalists are supposed to do. For Google, it&#8217;s officially not a problem, they don&#8217;t care whom or what write the news.</em></p> </div> <div class="paragraph"> <p><em>Interviewed by 404 Media, Google answered : « even if it tries to struggle against spam on Google News, the Google society do not care whether a news is written by a human or an AI »</em></p> </div> <hr> <div class="paragraph"> <p>Meta-Press.es is proud to be presenting only human verified content to its users.</p> </div> <div class="paragraph"> <p>Humanly adding sources one by one allows Meta-Press.es to achieve what Google can&#8217;t provide, officially letting it&#8217;s users with a known dishonest service (Google News).</p> </div>Google ne filtre pas les contenus générés par IA2024-01-19T00:00:00+01:002024-01-19T00:00:00+01:00Siltaartag:www.meta-press.es,2024-01-19:/fr/journal/2024/20240119_google_dont_filter_artificially_generated_news.html<div class="paragraph"> <p>Aujourd&#8217;hui dans Next.ink le journaliste Jean-Marc Manach rapporte la position officielle de Google concernant les contenus générés par intelligence artificielle dans son moteur de recherche Google Actualités.</p> </div> <div class="paragraph"> <p>« <a href="https://next.ink/124555/google-se-moque-de-savoir-si-un-article-a-ete-redige-par-une-ia-ou-par-un-humain/">Google se moque « de savoir si un article a été rédigé par une IA ou par un humain »</a> »</p> </div> <div class="paragraph"> <p><em>Depuis des mois …</em></p></div><div class="paragraph"> <p>Aujourd&#8217;hui dans Next.ink le journaliste Jean-Marc Manach rapporte la position officielle de Google concernant les contenus générés par intelligence artificielle dans son moteur de recherche Google Actualités.</p> </div> <div class="paragraph"> <p>« <a href="https://next.ink/124555/google-se-moque-de-savoir-si-un-article-a-ete-redige-par-une-ia-ou-par-un-humain/">Google se moque « de savoir si un article a été rédigé par une IA ou par un humain »</a> »</p> </div> <div class="paragraph"> <p><em>Depuis des mois, un florilège de faux sites d’information sont générés de toutes pièces grâce à l’intelligence artificielle. Cette dernière peut produire très rapidement du contenu (24h/24), mais sans les vérifications et contextualisation que sont censés réaliser les journalistes. Pour Google, ce n’est pas un problème, peu importe qui écrit les articles.</em></p> </div> <div class="paragraph"> <p><em>Interrogé par 404 Media, Google explique que, « bien qu’elle tente de lutter contre le spam sur Google Actualités, la société ne se préoccupe pas de savoir si un article a été rédigé par une IA ou par un humain ».</em></p> </div> <hr> <div class="paragraph"> <p>Meta-Press.es est fier de ne présenter à ses utilisateur que des contenus vérifiés par des humains.</p> </div> <div class="paragraph"> <p>En n&#8217;intégrant que des sources validées par des humains, Meta-Press.es atteint un résultat hors de portée pour Google, qui préfère officiellement laisser ses utilisateurs face à un service (Google Actualités) qu&#8217;ils savent malhonnête.</p> </div>Meta-Press.es works on Android again2024-01-10T00:00:00+01:002024-01-10T00:00:00+01:00Siltaartag:www.meta-press.es,2024-01-10:/journal/2024/20240110_working_with_android_again.html<div class="admonitionblock tip"> <table> <tr> <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> <td class="content"> As of 2024-01-31 the number of Android Meta-Press.es users grown by a 10 factor since two weeks ! Ok, it&#8217;s a jump from 2 to 20, but who knows what will be the next step !? </td> </tr> </table> </div> <div class="paragraph"> <p>After years of Mozilla based privation of addons for mobile versions of their web …</p></div><div class="admonitionblock tip"> <table> <tr> <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> <td class="content"> As of 2024-01-31 the number of Android Meta-Press.es users grown by a 10 factor since two weeks ! Ok, it&#8217;s a jump from 2 to 20, but who knows what will be the next step !? </td> </tr> </table> </div> <div class="paragraph"> <p>After years of Mozilla based privation of addons for mobile versions of their web browser, Meta-Press.es is installable on Android again via <a href="https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/">Fennec F-Droid</a>.</p> </div> <div class="paragraph"> <p>The according mention in our <em>À propos</em> page was restored in consequance.</p> </div> <div class="paragraph"> <p>We&#8217;re glad to be among <a href="https://blog.mozilla.org/addons/2023/12/14/a-new-world-of-open-extensions-on-firefox-for-android-has-arrived/">the 450 extensions newly authorized by Mozilla</a> over more than <a href="https://blog.mozilla.org/addons/2023/11/01/is-your-extension-ready-for-firefox-for-android/">40 000 existing WebExtensions for desktop Firefox</a> and proud to have get back our the mention :</p> </div> <div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>Available on Firefox for Android™</code></pre> </div> </div> <div class="paragraph"> <p>In our addon page : <a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/" class="bare">https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/</a></p> </div>Meta-Press.es fonctionne sur Android à nouveau2024-01-10T00:00:00+01:002024-01-10T00:00:00+01:00Siltaartag:www.meta-press.es,2024-01-10:/fr/journal/2024/20240110_working_with_android_again.html<div class="admonitionblock tip"> <table> <tr> <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> <td class="content"> Ce mercredi 31 janvier 2024, le nombre d&#8217;utilisateurs de Meta-Press.es sous Android a été multiplié par 10x en deux semanes (bon, d&#8217;accord, on partait de 2, mais qui sais où cela s&#8217;arrêtera !?) </td> </tr> </table> </div> <div class="paragraph"> <p>Après des années de privation par Mozilla des extensions sur son navigateur web, Meta-Press …</p></div><div class="admonitionblock tip"> <table> <tr> <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> <td class="content"> Ce mercredi 31 janvier 2024, le nombre d&#8217;utilisateurs de Meta-Press.es sous Android a été multiplié par 10x en deux semanes (bon, d&#8217;accord, on partait de 2, mais qui sais où cela s&#8217;arrêtera !?) </td> </tr> </table> </div> <div class="paragraph"> <p>Après des années de privation par Mozilla des extensions sur son navigateur web, Meta-Press.es est à nouveau installable sur Android via <a href="https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/">Fennec F-Droid</a>.</p> </div> <div class="paragraph"> <p>La mention correspondante a donc été restaurée sur notre page <em>À propos</em>.</p> </div> <div class="paragraph"> <p>Nous sommes heureux de faire partie des <a href="https://blog.mozilla.org/addons/2023/12/14/a-new-world-of-open-extensions-on-firefox-for-android-has-arrived/">450 WebExtensions autorisées à nouveau par Mozilla</a> sur plus de <a href="https://blog.mozilla.org/addons/2023/11/01/is-your-extension-ready-for-firefox-for-android/">40 000 existantes pour Firefox version bureau</a> et fiers d&#8217;avoir retrouvé la mention :</p> </div> <div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>Disponible sur Firefox pour Android™</code></pre> </div> </div> <div class="paragraph"> <p>Sur notre page dans le catalogue des WebExtensions de Firefox : <a href="https://addons.mozilla.org/fr/firefox/addon/meta-press-es/" class="bare">https://addons.mozilla.org/fr/firefox/addon/meta-press-es/</a></p> </div>Forum ESS 2024 : How to make your NGO press review with Meta-Press.es ?2023-12-20T00:00:00+01:002023-12-20T00:00:00+01:00Siltaartag:www.meta-press.es,2023-12-20:/journal/2023/2024_Forum_ESS.html<div class="paragraph"> <p>After a shy presentation at Forum ESS in Niort (France) last year, Meta-Press.es will the subject of a 1h workshop at the next edition of this forum.</p> </div> <div class="paragraph"> <p>I&#8217;ll explain how to setup automated requests in Meta-Press.es at this time slot during the event :</p> </div> <div class="ulist"> <ul> <li> <p>2024-01-31 16:30 UTC …</p></li></ul></div><div class="paragraph"> <p>After a shy presentation at Forum ESS in Niort (France) last year, Meta-Press.es will the subject of a 1h workshop at the next edition of this forum.</p> </div> <div class="paragraph"> <p>I&#8217;ll explain how to setup automated requests in Meta-Press.es at this time slot during the event :</p> </div> <div class="ulist"> <ul> <li> <p>2024-01-31 16:30 UTC+1 in Niort : <a href="https://www.forum-ess.fr/?RealiserLaRevueDePresseDeSonAssociation2">Réaliser la revue de presse de son association</a> (place : Coopérer et s&#8217;accompagner : Bienvenue dans l&#8217;ESS).</p> </li> </ul> </div>Forum ESS 2024 : Réaliser la revue de presse de son association2023-12-20T00:00:00+01:002023-12-20T00:00:00+01:00Siltaartag:www.meta-press.es,2023-12-20:/fr/journal/2023/2024_Forum_ESS.html<div class="paragraph"> <p>Après une présentation timide lors de l&#8217;édition 2023 du Forum de l&#8217;ESS à Niort (France), Meta-Press.es fera l&#8217;objet d&#8217;un atelier d'1h lors de la prochaine édition.</p> </div> <div class="paragraph"> <p>J&#8217;y expliquerai comment configurer des requêtes automatiques :</p> </div> <div class="ulist"> <ul> <li> <p>2024-01-31 16:30 UTC+1 à Niort : <a href="https://www.forum-ess.fr/?RealiserLaRevueDePresseDeSonAssociation2">Réaliser la revue de …</a></p></li></ul></div><div class="paragraph"> <p>Après une présentation timide lors de l&#8217;édition 2023 du Forum de l&#8217;ESS à Niort (France), Meta-Press.es fera l&#8217;objet d&#8217;un atelier d'1h lors de la prochaine édition.</p> </div> <div class="paragraph"> <p>J&#8217;y expliquerai comment configurer des requêtes automatiques :</p> </div> <div class="ulist"> <ul> <li> <p>2024-01-31 16:30 UTC+1 à Niort : <a href="https://www.forum-ess.fr/?RealiserLaRevueDePresseDeSonAssociation2">Réaliser la revue de presse de son association</a> (espace : Coopérer et s&#8217;accompagner : Bienvenue dans l&#8217;ESS).</p> </li> </ul> </div>[NLnet] FreeWebSearch Day: Meet the Makers2023-09-29T00:00:00+02:002023-09-29T00:00:00+02:00Siltaartag:www.meta-press.es,2023-09-29:/revues/2023/20230929_freewebsearchday_meet_the_makers.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_interview_with_simon_descarpentries_from_meta_press_es">1. Interview With Simon Descarpentries from Meta-Press.es</a> <ul class="sectlevel2"> <li><a href="#_no_censorship">1.1. No censorship</a></li> <li><a href="#_problems_with_search_today">1.2. Problems with search today</a></li> <li><a href="#_information_has_a_price">1.3. Information has a price</a></li> <li><a href="#_a_solution_to_decentralized_indexing">1.4. A solution to decentralized indexing</a></li> <li><a href="#_the_future_of_search_should_be_collaborative">1.5. The future of search should be collaborative</a></li> <li><a href="#_we_mustnt_rely_on_search_engines_to_know_the_world">1.6. We mustn&#8217;t rely on search engines …</a></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_interview_with_simon_descarpentries_from_meta_press_es">1. Interview With Simon Descarpentries from Meta-Press.es</a> <ul class="sectlevel2"> <li><a href="#_no_censorship">1.1. No censorship</a></li> <li><a href="#_problems_with_search_today">1.2. Problems with search today</a></li> <li><a href="#_information_has_a_price">1.3. Information has a price</a></li> <li><a href="#_a_solution_to_decentralized_indexing">1.4. A solution to decentralized indexing</a></li> <li><a href="#_the_future_of_search_should_be_collaborative">1.5. The future of search should be collaborative</a></li> <li><a href="#_we_mustnt_rely_on_search_engines_to_know_the_world">1.6. We mustn&#8217;t rely on search engines to know the world</a></li> <li><a href="#_ways_to_get_involved_with_meta_press">1.7. Ways to get involved with Meta-Press</a></li> </ul> </li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Interviews with Viktor Lofgren (from <strong>Marginalia</strong> search engine) and Simon Descarpentries (from Meta-Press.es search engine).</p> </div> <div class="paragraph"> <p><a href="https://freewebsearch.org/en/">FreeWebSearch Day</a> is held each year on September 29. It is a day for freedom of information and democracy. Everyone can join by organising or attending events or other actions.</p> </div> <div class="paragraph"> <p><strong>Simon’s Meta-Press.es</strong> lets you explore the news without middle man between news papers and your browser. The search engine in the form of a browser add-on helps you avoid the swamp of third-party trackers on most newspaper websites and news aggregators that give you little choice how to search and select.</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://nlnet.nl/events/20230929/index.html">Page of the event</a> on NLnet website</p> </li> <li> <p><a href="https://nlnet.nl/media/simon-metapress.opus">The interview audio</a> (45 minutes)</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_interview_with_simon_descarpentries_from_meta_press_es">1. Interview With Simon Descarpentries from Meta-Press.es</h2> <div class="sectionbody"> <div class="quoteblock"> <blockquote> "We should not rely on search engines to free us from the effort to know the world" </blockquote> <div class="attribution"> &#8212; Simon Descarpentries<br> <cite>Meta-Press.es</cite> </div> </div> <div class="paragraph"> <p>Initially published here : <a href="https://nlnet.nl/news/2023/20231012-meta-press.html" class="bare">https://nlnet.nl/news/2023/20231012-meta-press.html</a></p> </div> <div class="paragraph"> <p>The <a href="https://www.meta-press.es/">Meta-Press.es</a> search engine lets you explore the news without middle men or trackers. Creator and lead developer Simon Descarpentries is a free software enthusiast for over twenty years and former <a href="https://framasoft.org/en/">Framasoft employee</a>, he currently is CEO at Acoeuro.com and treasurer of <a href="https://www.fdn2.org/en/presentation.html">Fund for Defense of Net Neutrality</a>. We interviewed Simon for <a href="https://nlnet.nl/events/20230929/index.html">#FreeWebSearchDay</a>. You can listen to the recording of the interview or read the edited transcript below.</p> </div> <div class="paragraph"> <p><strong>Question: Can you tell us something about Meta-Press.es?</strong></p> </div> <div class="paragraph"> <p>Answer: Meta-Press is a free software allowing everyone to search through online press. With one click you can search through 930 online newspapers. All these sources are indexed one-by-one by humans. Currently, if you query GAFAM news search engines, you&#8217;ll get results which include fake or forged newspapers. Some are just copying content from other sites to sell advertisement. These GAFAM news search tools can’t sort out the real sources from the false ones because everything in the process is automated. In Meta-Press we did it all by hand, so it is all verified by humans. Meta-press also includes about 700 newspapers which give free access to their content because that is the economic model they chose. Unlike Google News, Meta-Press does not lead you to a dead end: this exists but you can’t reach it.</p> </div> <div class="sect2"> <h3 id="_no_censorship">1.1. No censorship</h3> <div class="paragraph"> <p>Meta-press is a Firefox browser add-on and is free software, accessible for everyone. It&#8217;s built with a software architecture which guarantees there are no bottle-necks, no single point of failure and no censorship. Because once you install the add-on in your web browser your requests are not send to a hypothetical Meta-Press server which could control things. Instead, it&#8217;s your computer that is instructed how to do the search. It’s your web browser that has gained the superpower to request results from nearly 1000 newspapers. Therefore it is virtually uncensorable because you have plenty news papers on the one side and plenty of computers on the other. And that is how the internet works : no central point that we all have to cross. The more people use Meta-Press the better it will work.</p> </div> </div> <div class="sect2"> <h3 id="_problems_with_search_today">1.2. Problems with search today</h3> <div class="paragraph"> <p><strong>Q: What problems do you see with search today?</strong></p> </div> <div class="paragraph"> <p>A: My main concern with GAFAM news search engines is what I mentioned before: they serve fake newspapers. It is easy to feed GAFAM news search engines with fake content designed exactly to go through their ranking algorithm. And since nobody ever checks, you can fool them. It is possible already possible for you to fool them, so it is for a government or a company. It’s flawed, we need something else. It is bloated, dishonest and not working anymore. And it will only get worse because there is money at stake. And there are political stakes too.</p> </div> <div class="sect3"> <h4 id="_mass_surveillance_as_an_economic_model">1.2.1. Mass surveillance as an economic model</h4> <div class="paragraph"> <p>Another big problem with search online is that it&#8217;s currently dominated by a handful of megacorporations following no rules except their own and whose economic model is based on mass surveillance. They follow everyone, knowing who came back to the website and what they were interested in, what click they made… If you had a screen next to the newspaper, displaying all the information GAFAM extract from your online activity, you would just turn your computer off. They sell that information to companies, governments and political parties. That is not a conspiracy theory, we know it&#8217;s true from Snowden and the Cambridge Analytica scandal. It would be more comfy to live in a world where we could forget about those scandals but it’s a reality we have to face.</p> </div> </div> <div class="sect3"> <h4 id="_decreasing_accuracy_of_search_results">1.2.2. Decreasing accuracy of search results</h4> <div class="paragraph"> <p>A third problem is that the accuracy of Google search is decreasing. More and more content is created just to score high in their ranking algorithm. It shows up even if it was not exactly what you wanted to see. It&#8217;s called an injection attack. Google is an open security breach regarding injection attacks. That is a technical problem in search today.</p> </div> </div> <div class="sect3"> <h4 id="_were_losing_our_ability_to_be_inquisitive">1.2.3. We&#8217;re losing our ability to be inquisitive</h4> <div class="paragraph"> <p>And last but not least, regular humans are abandoning their ability to search in favor of those dishonest tools. You could compare it to GPS. When you use GPS for navigation you’ll slowly lose your ability to read a map and other navigation skills. If GPS was dishonest and provided you with the wrong information, you would be lost and abandon the tool. It is exactly the same thing with online search. The tool is dishonest and you have to abandon it. You need to work on your skills to search for things: cross check your information, compare your sources, publish your results so others can verify them. You must become a bit of a journalist. Like Viktor Lofgren of Marginalia Search said: the more you use Google the more you&#8217;ll become fenced into a small park Google allows you to reach. The best search tool is your brain.</p> </div> </div> </div> <div class="sect2"> <h3 id="_information_has_a_price">1.3. Information has a price</h3> <div class="paragraph"> <p><strong>Q: How does Meta-press address these problems?</strong></p> </div> <div class="paragraph"> <p>A: Meta-press addresses the fake news problem because it only searches through sources that are validated by humans. You&#8217;re guaranteed to search in real newspapers with articles written by real humans. Humans who were trained and paid for it, which is what we call journalists. This type of information has a price and we should pay that price. If you do not pay for the information you get, than it&#8217;s you who is the product sold in the transaction. And you&#8217;re not getting the information that you need. So you should pay for the services you use (or run them on your own computer). If you don’t change the way the world is turning, it will continue to turn the wrong way.</p> </div> </div> <div class="sect2"> <h3 id="_a_solution_to_decentralized_indexing">1.4. A solution to decentralized indexing</h3> <div class="paragraph"> <p>There are multiple projects working on free software search engines to make general purpose search available such as YaCy, Searx and Marginalia. They are addressing a difficult problem: how to make a distributed index of the world that is reliable and honest. With Meta-Press we addressed this by limiting our scope to online newspapers. Newspapers provide honest indexes, because their reputation is at stake. With Meta-Press we just stitched those indexes together. This is a small window to the rest of the world with only information created by journalists. But hopefully information that covers the entire world because journalists are looking everywhere.</p> </div> <div class="paragraph"> <p>General purpose indexes are a complicated problem and I am better at solving simple problems. When I started the project it was small compared to Google. But I decided I would pull one hair out of the head of Google. I invite you to do the same. Get your own hair off the head of Google and we will win quite fast. It is my collibri approach to this thing. You address a small part of the problem but you address it well.</p> </div> </div> <div class="sect2"> <h3 id="_the_future_of_search_should_be_collaborative">1.5. The future of search should be collaborative</h3> <div class="paragraph"> <p><strong>Q: What do you think will happen with search in the future?</strong></p> </div> <div class="paragraph"> <p>A: ChatGPT could be the end of Google Search in a year if it continues to rise like this. Not because the results are better. ChatGPT is a stochastic parrot. It has no idea what it says. You can ask it what the French presidents of the Republic are and you get the right list. Ask it who the female presidents are and you&#8217;ll also get a list, while no woman ever been French PR yet. Despite that ChatGPT works because it is simple for people to use. That is always what wins (the simplest, not the best).</p> </div> <div class="paragraph"> <p>ChatGPT works with so-called AI algorithms and fortunately for us they are not the same kind of AI as in the Matrix or Terminators movies. It’s just a statistic matrix and this technology, which is 40 years old, can be used for the good of humanity. For instance you have <a href="https://plantnet.org/">Pl@ntNet</a>. You send it the picture of a plant and it will tell you what plant it looks like. This is access to knowledge. This is the same technology but used in a good way. This is search made well. iNaturalist.org helps you find out which insect you are seeing. BirdNET from Cornell University will tell you what bird you are hearing.</p> </div> <div class="paragraph"> <p>These are examples of online search tools I am the most excited about. They are collaborative efforts. The more you use it, the more accurate it will get. Take Pl@ntNet for instance, if you upload a picture of a rare plant (something that is missing in their database) they will display a pop-up inviting you to upload more photo’s of it once it will be flowering or when the seeds will be fully grown to improve the database. That way humanity works together to get better knowledge of what surrounds us. That looks like the way to go for me. Going to Mars is not an interesting thing to do as long as we don’t have maps of the ocean floors.</p> </div> </div> <div class="sect2"> <h3 id="_we_mustnt_rely_on_search_engines_to_know_the_world">1.6. We mustn&#8217;t rely on search engines to know the world</h3> <div class="paragraph"> <p><strong>Q: Is that how you would like to see search evolve in the future? Becoming more collaborative?</strong></p> </div> <div class="paragraph"> <p>A: Yes. There are two sides of the problem. Is it search that has to be improved? Or is it the way we publish things? Searching for something in a library is easy because it is an organized world. You have shelves, you have books in alphabetical order, that works great. If we publish things better we won’t have a problem searching for them. But hoping that search engines will free us from the efforts to know the world and to sort it, is a bad way to go. Something that won’t work and will catch people in the glue like small birds.</p> </div> <div class="paragraph"> <p>Keep in mind the limits of the dream sold to us nowadays: artificial intelligence is just another algorithm to sort things automatically and we have absolutely no idea of what the content is. Tools won’t solve society’s problems. If humans work together it will be better.</p> </div> <div class="paragraph"> <p>Collaborative efforts to discover the world, to map it, like OpenStreetMap is the way to go. People working together and giving each other knowledge that will help to know the world and to search through it. For instance, you can help Meta-Press mapping the newspapers of the world. It is a collaborative effort. The project is open to all your contributions. Help us to map the world! And thanks to NLnet it will soon be possible for people who aren&#8217;t computer science engineers to do this, I promise.</p> </div> </div> <div class="sect2"> <h3 id="_ways_to_get_involved_with_meta_press">1.7. Ways to get involved with Meta-Press</h3> <div class="paragraph"> <p><strong>Q: How can we contribute to Meta-Press?</strong></p> </div> <div class="paragraph"> <p>A: You can add your own sources to Meta-Press. On the Meta-Press.es website you find much documentation on how Meta-Press sees the world and how it can read your favorite newspapers. It’s currently a long process available for someone who knows how to make a CSS selector. But with funding from NLnet I am working on an interface in which you will just have to copy paste the address of the source and click to point where is the search engine, where is the title of the results, where is the link, the date and it will be enough.</p> </div> <div class="paragraph"> <p>Once you have this newspaper definition it’s recorded somewhere in Meta-Press and you have a button in the settings to manage your local sources. You will have the JSON object (text) describing how to fetch the results from this source. You can send it by mail to Meta-Press or you can create a pull request on FramaGit.org. You can also reach us via IRC or Mastodon.</p> </div> <div class="paragraph"> <p>Adding sources is the contribution you can do. But every kind of help to the project would be welcome. You can help with translations (which are managed with <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>, a great free software project and enterprise). You can also help the project by just speaking about it. Introduce it to people or to your local university. There are a lot of configurations possible in Meta-Press to search for specific topics or in one language or country (among 75 of them currently). Just try it, use it and make it known.</p> </div> </div> </div> </div>[NLnet] Journée de la recherche libre sur le Web : rencontres2023-09-29T00:00:00+02:002023-09-29T00:00:00+02:00Siltaartag:www.meta-press.es,2023-09-29:/fr/revues/2023/20230929_freewebsearchday_meet_the_makers.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_entrevue_avec_simon_descarpentries_de_meta_press_es">1. Entrevue avec Simon Descarpentries de Meta-Press.es</a> <ul class="sectlevel2"> <li><a href="#_pas_de_censure">1.1. Pas de censure</a></li> <li><a href="#_les_problèmes_de_la_recherche_sur_internet_aujourdhui">1.2. Les problèmes de la recherche sur Internet aujourd&#8217;hui</a></li> <li><a href="#_linformation_a_un_prix">1.3. L&#8217;information a un prix</a></li> <li><a href="#_un_index_décentralisé">1.4. Un index décentralisé</a></li> <li><a href="#_le_futur_de_la_recherche_en_ligne_devrait_être_collaboratif">1.5. Le futur de la recherche en ligne devrait être collaboratif</a></li> <li><a href="#_nous_ne_devrions_pas_nous_reposer_sur_les_moteurs_de_recherche_pour_connaître_le_monde">1 …</a></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_entrevue_avec_simon_descarpentries_de_meta_press_es">1. Entrevue avec Simon Descarpentries de Meta-Press.es</a> <ul class="sectlevel2"> <li><a href="#_pas_de_censure">1.1. Pas de censure</a></li> <li><a href="#_les_problèmes_de_la_recherche_sur_internet_aujourdhui">1.2. Les problèmes de la recherche sur Internet aujourd&#8217;hui</a></li> <li><a href="#_linformation_a_un_prix">1.3. L&#8217;information a un prix</a></li> <li><a href="#_un_index_décentralisé">1.4. Un index décentralisé</a></li> <li><a href="#_le_futur_de_la_recherche_en_ligne_devrait_être_collaboratif">1.5. Le futur de la recherche en ligne devrait être collaboratif</a></li> <li><a href="#_nous_ne_devrions_pas_nous_reposer_sur_les_moteurs_de_recherche_pour_connaître_le_monde">1.6. Nous ne devrions pas nous reposer sur les moteurs de recherche pour connaître le monde</a></li> <li><a href="#_comment_simpliquer_dans_meta_press_es">1.7. Comment s&#8217;impliquer dans Meta-Press.es</a></li> </ul> </li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Interviews de Viktor Lofgren (du projet de moteur de recherche <strong>Marginalia</strong>) et Simon Descarpentries (fondateur du méta-moteur de recherche Meta-Press.es).</p> </div> <div class="paragraph"> <p>Le <em><a href="https://freewebsearch.org/en/">FreeWebSearch Day</a></em> est un évènement annuel qui se tient autour du 29 septembre. C&#8217;est un jour pour faire vivre la liberté d&#8217;information et la démocratie. Tout le monde est invité à rejoindre le mouvement et organiser un évènement local et des actions sur ce thème.</p> </div> <div class="paragraph"> <p>Le projet <strong>Meta-Press.es</strong> de Simon Descarpentries vous permet d&#8217;explorer l&#8217;actualité en ligne sans intermédiaire entre votre ordinateur et les journaux en ligne consultés. Ce moteur de recherche se présente sous la forme d&#8217;une extension de navigateur web et vous aide à franchir les marécages de publicité, de <em>fake-news</em> et de collecte de vos données personnelles en ligne. Avec Meta-Press.es, vous reprenez le contrôle de vos recherches et lectures en ligne en sélectionnant vos sources.</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://nlnet.nl/events/20230929/index.html">Page de l&#8217;évènement</a> sur le site d&#8217;NLnet</p> </li> <li> <p><a href="https://nlnet.nl/media/simon-metapress.opus">L&#8217;enregistrement audio</a> de l&#8217;interview (45 minutes)</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_entrevue_avec_simon_descarpentries_de_meta_press_es">1. Entrevue avec Simon Descarpentries de Meta-Press.es</h2> <div class="sectionbody"> <div class="quoteblock"> <blockquote> « Les moteurs de recherche ne nous libèrent pas de l&#8217;effort à faire pour connaître le monde » </blockquote> <div class="attribution"> &#8212; Simon Descarpentries<br> <cite>Meta-Press.es</cite> </div> </div> <div class="paragraph"> <p>Initialement publié sur : <a href="https://nlnet.nl/news/2023/20231012-meta-press.html" class="bare">https://nlnet.nl/news/2023/20231012-meta-press.html</a></p> </div> <div class="paragraph"> <p>Le moteur de recherche <a href="https://www.meta-press.es/">Meta-Press.es</a> vous permet d&#8217;explorer la presse en ligne sans intermédiaire ni suivi publicitaire. Créateur et principal développeur, Simon Descarpentries est un fervent supporteur des logiciels libres depuis (plus de 20 ans). Il a été <a href="https://framasoft.org">employé de Framasoft</a> et est actuellement gérant de la SSII Acoeuro.com et trésorier du <a href="https://www.fdn2.org/en/presentation.html">Fond de défense de la neutralité du Net</a>. Nous l&#8217;avons interviewé pour le <a href="https://nlnet.nl/events/20230929/index.html">#FreeWebSearchDay</a>. Vous pouvez écouter l&#8217;enregistrement de cette entrevue ou lire la transcription suivante.</p> </div> <div class="paragraph"> <p><strong>Question : Pouvez-vous nous dire quelque chose à propos de Meta-Press.es ?</strong></p> </div> <div class="paragraph"> <p>Réponse : Meta-Press est un logiciel libre permettant à chacun de chercher dans la presse en ligne. En un clic vous pouvez chercher dans 930 journaux. Toutes ces sources sont indexées une par une par des humains. Actuellement, si vous faîtes une recherche sur la presse via le moteur de recherche d&#8217;un GAFAM vous risquez d&#8217;obtenir des résultats en provenance de faux journaux forgés sur mesure pour les berner. Certains se contentent de de copier du vrai contenu ailleurs et d&#8217;y coller leurs pub à côté. Les GAFAM ne font pas la différence car leur processus de découverte et d&#8217;indexation des journaux en ligne est entièrement automatisé. Avec Meta-Press.es, nous avons fait le travail à la main, donc tout est vérifié par des humains. De plus, Meta-Press.es intègre plus de 700 journaux donnant accès à leur contenu, parce que c&#8217;est le modèle économique qu&#8217;ils ont choisi. Contrairement à Google News, Meta-Press.es ne vous mène pas à un cul de sac en vous montrant surtout ce qui existe mais que vous ne pourrez pas lire (sans abonnement).</p> </div> <div class="sect2"> <h3 id="_pas_de_censure">1.1. Pas de censure</h3> <div class="paragraph"> <p>Meta-press est une extension du navigateur web Firefox, accessible à tous. Elle est construite avec une architecture qui garanti qu&#8217;il n&#8217;y a pas de goulot d&#8217;étranglement, de point unique de passage pour les requêtes, d&#8217;où on peut facilement surveiller le trafic et en censurer une partie. Une fois l&#8217;extension Meta-Press.es installée dans votre navigateur, vos requêtes de recherche ne sont pas envoyées vers un hypothétique serveur Meta-Press.es pour être traitées. En fait c&#8217;est votre ordinateur qui apprend à faire les recherches pour vous. C&#8217;est votre navigateur web qui gagne le super-pouvoir d&#8217;interroger un millier de journaux en quelques secondes. En s&#8217;organisant comme ça, il est plus difficile de censurer quelque chose, d&#8217;une part parce qu&#8217;il y a beaucoup de journaux interrogés et d&#8217;autre part parce que c&#8217;est chaque utilisateur qui fait tourner le service. Et c&#8217;est comme ça que fonctionne l&#8217;internet : pas de point unique de passage où une défaillance entrainerait la défaillance du système. Plus il y a de personnes qui utilisent Meta-Press.es, mieux il fonctionne.</p> </div> </div> <div class="sect2"> <h3 id="_les_problèmes_de_la_recherche_sur_internet_aujourdhui">1.2. Les problèmes de la recherche sur Internet aujourd&#8217;hui</h3> <div class="paragraph"> <p><strong>Q : Quels problèmes voyez-vous avec les moteurs de recherche aujourd&#8217;hui ?</strong></p> </div> <div class="paragraph"> <p>R : Mon principal problème avec les moteurs de recherche des GAFAM est celui que j&#8217;ai mentionné en introduction : ils servent (aussi) des résultats provenant de faux journaux. Il est assez facile de forger du contenu sur mesure pour percer à travers leurs algorithmes de classement des résultats. Et comme personne ne vérifie jamais, on peut les leurrer. C&#8217;est à votre portée, et c&#8217;est à la portée des entreprises et des gouvernements. C&#8217;est troué, y&#8217;a besoin d&#8217;autre chose. Ces moteurs de recherche sont ballonnés de mauvais contenus, malhonnêtes, cassés en quelque sorte. Et ça ne va faire qu&#8217;empirer parce qu&#8217;il y a de l&#8217;argent en jeu et des enjeux politiques.</p> </div> <div class="sect3"> <h4 id="_la_surveillance_de_masse_comme_modèle_économique">1.2.1. La surveillance de masse comme modèle économique</h4> <div class="paragraph"> <p>Un autre problème qu&#8217;on rencontre quand on veut lancer une recherche sur le net, c&#8217;est que le marché est dominé par une poignée de mégacorp' qui ne respectent aucune règle et dont le modèle économique est basé sur la surveillance de masse. Ils espionnent tout le monde, notant les habitudes de chacun (qui li quoi, qu&#8217;est-ce qui vous intéresse, où est-ce que vous avez cliqué…). Si on vous ajoutait un écran pour lister toutes les informations que les GAFAM arrivent à extraire de vos navigations sur le web, vous éteindriez tout simplement votre ordinateur. Et ces informations sont vendues aux plus offrants (entreprises, gouvernements, partis politiques…). On est pas dans de la théorie du complot là, je rappelle juste ce qu&#8217;on a appris grâce à Edward Snowden ou au scandale Cambridge Analytica. Ce serait plus confortable de vivre dans un monde où nous pourrions oublier ces scandales, mais ils constituent la réalité à laquelle nous devons faire front.</p> </div> </div> <div class="sect3"> <h4 id="_déclin_de_la_précision_des_moteurs_de_recherche">1.2.2. Déclin de la précision des moteurs de recherche</h4> <div class="paragraph"> <p>Un 3e problème vient du fait que les moteurs de recherche classiques perdent en précision. De plus en plus de contenu commercial sans grand intérêt est créé sur mesure pour sortir en premier sur les moteurs de recherche. Ils apparaissent même s&#8217;ils ne répondent pas vraiment à vos questions. Dans le domaine de la sécurité informatique on appelle ça une attaque par injection. Google peut être vu comme une faille de sécurité béante, ouverte aux attaques par injection. C&#8217;est un problème technique rencontré aujourd&#8217;hui par les moteurs de recherche.</p> </div> </div> <div class="sect3"> <h4 id="_et_lesprit_critique_dans_tout_ça">1.2.3. Et l&#8217;esprit critique dans tout ça ?</h4> <div class="paragraph"> <p>Un dernier point concerne le fait que si les humains gagnent du temps à utiliser les moteurs de recherche, ils s&#8217;en trouvent également ramollis dans leurs compétences. La situation est comparable avec l&#8217;utilisation des GPS. En utilisant un GPS on perd lentement son sens de l&#8217;orientation (ou du moins l&#8217;habitude de préparer un trajet à l&#8217;aide d&#8217;une carte avant de prendre la route). Or si un GPS devenait malhonnête et imprécis, ne vous menant plus vraiment là où vous voulez aller <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>, vous abandonneriez l&#8217;outil. Les moteurs de recherche sont malhonnêtes et imprécis, il faut les abandonner. Vous devriez vous entrainer à rechercher des informations autrement : à croiser vos informations, à comparer vos sources, à publier le résultats de vos recherches pour que d&#8217;autres puissent vérifier à leur tour… Il s&#8217;agit de devenir un peu journaliste à son tour. Comme l&#8217;a dit Viktor Lofgren du projet Marginalia : plus vous utilisez Google et plus vous vous retrouvez enfermé dans le petit parc de ce que Google veut bien vous montrer. Le meilleur moteur de recherche, c&#8217;est votre cerveau !</p> </div> </div> </div> <div class="sect2"> <h3 id="_linformation_a_un_prix">1.3. L&#8217;information a un prix</h3> <div class="paragraph"> <p><strong>Q : Comment est-ce que vous résolvez ces problèmes avec Meta-Press ?</strong></p> </div> <div class="paragraph"> <p>R : Meta-Press.es répond au problème des <em>fake news</em> en ne fournissant que des sources qui ont été reconnues et validées par des humains. Meta-Press ne cherche que dans de vrais journaux, avec des articles écris par de vrais humains. Des humains qui ont été entrainés et payés pour ça et qu&#8217;on appelle des journalistes. Ce type d&#8217;information a un prix, il faut bien le payer. Si vous ne payez pas votre information, c&#8217;est vous le dindon de la transaction. Et en plus vous ne recevez pas vraiment l&#8217;information que vous cherchiez (entre contenus publicitaires ou lubies nauséabondes de milliardaires en guerre civilisationnelle). Vous devriez donc payer pour les services que vous utilisez (ou alors les faire tourner sur votre machine). Si nous ne changeons pas la façon dont fonctionne le monde, il continuera à tourner de travers.</p> </div> </div> <div class="sect2"> <h3 id="_un_index_décentralisé">1.4. Un index décentralisé</h3> <div class="paragraph"> <p>Il y a plusieurs projets de logiciel libre qui travaillent à réaliser un moteur de recherche généraliste comme YaCy, Searx ou Marginalia. Ils s&#8217;attaquent à un problème difficile : comment co-construire un indexe distribué qui soit honnête et fiable ? Avec Meta-Press on a simplifié le problème en ne nous occupant que de recherche dans la presse. Les journaux en ligne fournissent généralement un index honnête de leur contenu, par le biais de leur recherche interne. Leur réputation serait entachée si leur moteur de recherche interne était mauvais. Meta-Press ne fait que rassembler ces index de journaux. C&#8217;est une petite fenêtre ouverte sur le monde, ça ne permet d&#8217;atteindre que ce que des journalistes ont écrit. Mais c&#8217;est une fenêtre qui donne sur une grosse partie du monde quand même, car "regarder un peu partout" c&#8217;est justement le métier des journalistes.</p> </div> <div class="paragraph"> <p>Créer un index de moteur de recherche généraliste est un problème compliqué et moi je suis meilleur pour résoudre les problèmes simples. Je me suis donc limité à un problème simple. Quand j&#8217;ai commencé, Meta-Press.es était tout petit comparé à Google, mais j&#8217;ai décidé de persévérer, de m&#8217;occuper de ce problème là (la recherche d&#8217;actu sur le web) et d&#8217;arracher ce cheveux de la tête du géant Google plutôt que de chercher à le terrasser à moi tout seul. Je vous invite à en faire de même, choisissez un combat, arrachez votre cheveux de la tête de Google. Attaquez-vous à un problème, et faîtes les choses bien.</p> </div> </div> <div class="sect2"> <h3 id="_le_futur_de_la_recherche_en_ligne_devrait_être_collaboratif">1.5. Le futur de la recherche en ligne devrait être collaboratif</h3> <div class="paragraph"> <p><strong>Q : Que pensez-vous qu&#8217;il va se passer avec la recherche en ligne à l&#8217;avenir ?</strong></p> </div> <div class="paragraph"> <p>R : ChatGPT pourrait signifier la fin des moteurs de recherche comme Google d&#8217;ici un an ou deux si sa popularité continue de grimper à cette allure. Pas parce que les résultats obtenus sont meilleurs mais parce qu&#8217;il est plus simple à utiliser. ChatGPT n&#8217;est qu&#8217;un perroquet stochastique. Il n&#8217;a aucune idée de ce qu&#8217;il raconte. Vous pouvez lui demander la liste des présidents de la république française et vous obtiendrez une liste. Demandez lui quelles furent les présidentes et vous obtiendrez aussi une liste, alors qu&#8217;aucune femme n&#8217;a encore présidé la France. Malgré ça, ChatGPT cartonne parce qu&#8217;il est plus simple à utiliser pour les gens. Or c&#8217;est toujours ça qui gagne (le plus simple, pas le meilleur).</p> </div> <div class="paragraph"> <p>ChatGPT fonctionne grâce à un algorithme qui se revendique d&#8217;intelligence artificielle et heureusement pour nous ça n&#8217;a rien à voir avec l&#8217;intelligence artificielle des films Matrix ou Terminator. Il ne s&#8217;agit cette fois que d&#8217;une matrice de statistiques et cette technologie, vieille de 40 ans, peut aussi être utilisée pour le bien de l&#8217;humanité. Par exemple il existe <a href="https://plantnet.org/">Pl@ntNet</a>, un site web où vous pouvez envoyer des photos de plantes et qui vous répondra à quelle espèce votre spécimen ressemble le plus. Voilà une porte ouverte vers le savoir. Il s&#8217;agit de la même technologie (que ChatGPT), mais utilisée de la bonne manière. iNaturalist.org vous aide, de la même manière, à identifier l&#8217;insecte qu&#8217;il y a en face de vous. BirdNet de l&#8217;université de Cornell vous dira quels oiseaux vous êtes entrain d&#8217;entendre (et avez réussi à enregistrer avec votre mobile).</p> </div> <div class="paragraph"> <p>Voilà des exemples de moteur de recherche en ligne qui m&#8217;enthousiasment. Il s&#8217;agit d&#8217;efforts collaboratifs. Plus ils sont utilisés et plus ils s&#8217;améliorent. Pl@ntNet par exemple, lorsqu&#8217;on lui envoi la photo d&#8217;une plante rare (quelque chose qui manque dans leur base de donnée), vous invite à envoyer plus de photos et à revenir lorsqu&#8217;il y aura des fleurs ou des fruits… De cette manière l&#8217;humanité travaille ensemble pour améliorer notre connaissance du monde. C&#8217;est à mon avis dans cette direction qu&#8217;il faut aller. Je ne vois pas l&#8217;intérêt d&#8217;aller sur Mars tant que nous n&#8217;aurons pas fini de cartographier le fond des océans.</p> </div> </div> <div class="sect2"> <h3 id="_nous_ne_devrions_pas_nous_reposer_sur_les_moteurs_de_recherche_pour_connaître_le_monde">1.6. Nous ne devrions pas nous reposer sur les moteurs de recherche pour connaître le monde</h3> <div class="paragraph"> <p><strong>Q : Est-ce la direction que vous souhaitez voir prendre à la recherche en ligne, devenir plus collaborative ?</strong></p> </div> <div class="paragraph"> <p>R : Oui. Il y a deux aspects au problème. Est-ce le moteur de recherche qui a besoin d&#8217;être amélioré, ou est-ce plutôt la façon dont nous publions les choses ? Chercher un livre dans une bibliothèque est facile parce que c&#8217;est un espace organisé. Il y a des étagères où les livres sont rangés par ordre alphabétique et ça marche très bien. Si nous publions mieux nos contenus, il ne sera pas compliqué de les rechercher. Mais espérer que les moteurs de recherche vont nous libérer de l&#8217;effort à faire pour connaître le monde est une illusion. L&#8217;outil s&#8217;interpose entre le savoir et vous, vous retenant prisonniers comme des passereaux englués (dans le respect de la tradition).</p> </div> <div class="paragraph"> <p>Il me semble préférable de garder en tête les limites du rêves qui nous est vendu : la soi-disante intelligence artificielle n&#8217;est qu&#8217;un algorithme de tri automatique des données qui n&#8217;a aucune idée de ce qu&#8217;il manipule. Les outils ne vont pas régler les problèmes de société. C&#8217;est aux humains de travailler ensembles.</p> </div> <div class="paragraph"> <p>Pour moi la direction à suivre est celle des efforts collaboratifs visant à découvrir et à cartographier le monde, comme OpenStreetMap. Des gens travaillant ensemble pour mettre leurs connaissances du monde en commun de manière à pouvoir chercher dedans ensuite. Vous pouvez par exemple aider Meta-Press.es à cartographier les journaux du monde. C&#8217;est aussi un effort collaboratif. Le projet est ouvert aux contributions. Aidez-nous à découvrir le monde ! Et grâce à la NLnet il y aura bientôt un formulaire permettant d&#8217;ajouter une source à Meta-Press en quelques clics (sans avoir besoin de connaissances en développement web).</p> </div> </div> <div class="sect2"> <h3 id="_comment_simpliquer_dans_meta_press_es">1.7. Comment s&#8217;impliquer dans Meta-Press.es</h3> <div class="paragraph"> <p><strong>Q : Comment contribuer à Meta-Press.es ?</strong></p> </div> <div class="paragraph"> <p>R : Vous pouvez ajouter vos propres sources à Meta-Press. Sur le site du projet Meta-Press.es vous trouverez une documentation détaillant comment Meta-Press.es voit le monde et comment il peut lire vos journaux favoris. Pour l&#8217;instant c&#8217;est un processus assez long, accessible seulement à quelqu&#8217;un qui n&#8217;a pas peur du développement web. Mais grâce au financement de la NLnet je suis entrain de développer une interface qui vous permettra de copier simplement l&#8217;adresse d&#8217;un journal dans un formulaire, puis de pointer à la souris où est le moteur de recherche, puis où sont les résultats, leur lien, leur date et se sera déjà suffisant pour commencer.</p> </div> <div class="paragraph"> <p>Une fois que vous avez cette définition de journal fonctionnelle dans Meta-Press sur votre ordinateur, vous pouvez nous l&#8217;envoyer par courriel à l&#8217;adresse contact@ ou créer une demande d&#8217;ajout sur le FramaGit.org. Vous pouvez également nous joindre par IRC ou Mastodon.</p> </div> <div class="paragraph"> <p>Ajouter des sources est une contribution ouverte à tous, mais toute aide est la bienvenue. Vous pouvez aider le projet en aidant aux traductions (qui sont gérées via <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>, un super logiciel libre portée par une équipe au modèle économique éthique). Vous pouvez aussi aider le projet en en parlant autour de vous. Présentez-le à vos amis, dans votre université, votre médiathèque… Meta-Press.es est configurable et permet de cibler ses recherches (texte, photo, évènements…), thème ou langue (parmi les 75 accessibles aujourd&#8217;hui). Essayez Meta-Press.es, utilisez-le et faîtes-le connaître.</p> </div> </div> </div> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Mais par exemple systématiquement devant des centres commerciaux et en passant devant un maximum de pubs </div> </div>Version 1.8.11 : 900 sources, event and job result type, #fixtheworld2023-08-09T00:00:00+02:002023-08-09T00:00:00+02:00Siltaartag:www.meta-press.es,2023-08-09:/journal/2023/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a> <ul class="sectlevel2"> <li><a href="#_new_result_types_event_and_job">1.1. New result types : event and job</a></li> </ul> </li> <li><a href="#_source_definition_evolution">2. Source definition evolution</a> <ul class="sectlevel2"> <li><a href="#_token_url">2.1. <code>token_url</code></a></li> <li><a href="#_date_locale">2.2. <code>date_locale</code></a></li> </ul> </li> <li><a href="#_source_list_pagination_bug">3. Source list pagination bug</a></li> <li><a href="#_fun_facts">4. Fun facts</a> <ul class="sectlevel2"> <li><a href="#_hacking_la_charente_libre_for_its_dates">4.1. Hacking La Charente Libre for its dates</a></li> </ul> </li> <li><a href="#_fix_the_world">5. Fix the world</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Over 185 commits were made since the …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a> <ul class="sectlevel2"> <li><a href="#_new_result_types_event_and_job">1.1. New result types : event and job</a></li> </ul> </li> <li><a href="#_source_definition_evolution">2. Source definition evolution</a> <ul class="sectlevel2"> <li><a href="#_token_url">2.1. <code>token_url</code></a></li> <li><a href="#_date_locale">2.2. <code>date_locale</code></a></li> </ul> </li> <li><a href="#_source_list_pagination_bug">3. Source list pagination bug</a></li> <li><a href="#_fun_facts">4. Fun facts</a> <ul class="sectlevel2"> <li><a href="#_hacking_la_charente_libre_for_its_dates">4.1. Hacking La Charente Libre for its dates</a></li> </ul> </li> <li><a href="#_fix_the_world">5. Fix the world</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Over 185 commits were made since the previous release, an extraordinary bump into those statistics made possible by 3 interns whom made a great work adding around 250 sources:</p> </div> <div class="ulist"> <ul> <li> <p>Jérome Bertin</p> </li> <li> <p>Céline Duguet</p> </li> <li> <p>Vincent Gay</p> </li> </ul> </div> <div class="paragraph"> <p>With quite some proofreading work and other additions on my side the number of sources shipped with this new release is 930 (it&#8217;s a 50% growth of the source collection).</p> </div> </div> </div> <div class="sect1"> <h2 id="_source_maintenance">1. Source maintenance</h2> <div class="sectionbody"> <div class="paragraph"> <p>In particular all the compatible members of the <a href="https://spiil.org">SPIIL</a> (french independent online press union) have been added rising the "indep." french sources number to 132 (over a total of 373 "indep." sources).</p> </div> <div class="paragraph"> <p>Reference press sources are now 89 (and 40 more might be added soon, as the <a href="https://en.wikipedia.org/wiki/Newspaper_of_record">corresponding Wikipedia page grown</a>).</p> </div> <div class="paragraph"> <p>There are 386 sources providing results as RSS feeds, mainly because it&#8217;s the WordPress default, and that a lot of newspapers are using WordPress as a backend. It would be cool if the 20 SPIP sources could do the same !</p> </div> <div class="paragraph"> <p>Illustrations were got back from a great proportions of these 386 RSS sources, thanks to a simple regex prospection trick, and it&#8217;s a happy ending for an item stayed years in my todo-list :)</p> </div> <div class="paragraph"> <p>Also, mainly over those RSS sources, the <code>filter_results</code> rule is now applied over 79 sources, ensuring exact results, and the rule were improved to match exact words with better word separators. Despite this quest for exact truth, a setting should soon allow to declutch this filtering to let approximate results flow at will if needed.</p> </div> <div class="sect2"> <h3 id="_new_result_types_event_and_job">1.1. New result types : event and job</h3> <div class="paragraph"> <p>To help searching across the 49 agendas a result type <code>event</code> have been added and a <code>job</code> result type were added to suit the 3 first job search-engines integrated into Meta-Press.es.</p> </div> <div class="paragraph"> <p>It&#8217;s not every year that a new type of results if added to Meta-Press.es and a lot of job search-engine are still to be added. But it&#8217;s a new door that opens for Meta-Press.es.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_source_definition_evolution">2. Source definition evolution</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_token_url">2.1. <code>token_url</code></h3> <div class="paragraph"> <p>A <code>token_url</code> source definition entry appeared to instruct that this URL should be called before any search. It allows to setup a cookie (which can be used to set the language of the next search) or to grab a token that would be mandatory to perform a search. If the language selection scheme is actually used, the token grabbing one is not met yet.</p> </div> </div> <div class="sect2"> <h3 id="_date_locale">2.2. <code>date_locale</code></h3> <div class="paragraph"> <p>A new special value is now recognized by Meta-Press.es for the <code>date_local</code> source definition entry, it&#8217;s : <code>browser</code>.</p> </div> <div class="paragraph"> <p>This means that the dates of this sources are display using the user browser locale… so it changes from a user to another.</p> </div> <div class="paragraph"> <p><em>Corriere della Sera</em> is behaving like that.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_source_list_pagination_bug">3. Source list pagination bug</h2> <div class="sectionbody"> <div class="paragraph"> <p>In the list of all the sources, you can pick up sources one by one. But the pagination was reset at each selection, making this feature hard to work with. In this new release you&#8217;ll stay on your page while selecting all what you want.</p> </div> </div> </div> <div class="sect1"> <h2 id="_fun_facts">4. Fun facts</h2> <div class="sectionbody"> <div class="paragraph"> <p>I noticed that the Monde Diplomatique in esperanto now serves its dates in esperanto. It was a pleasant update to make.</p> </div> <div class="paragraph"> <p>Less obvious, El Watan (famous Algerian newspaper) did change its domain after 30 years of existence, creating a lot of 404 links around the world… It&#8217;s now elwatan-dz.com.</p> </div> <div class="paragraph"> <p>We were quite surprised to figure out that Mediabask produces articles in several languages (fr, es, eus) but don&#8217;t let you choose in which language you want to perform your search ! Results of each language are served each time.</p> </div> <div class="paragraph"> <p>Special mention for the Otago Daily Times which domain looks more like an wrongly named LibreOffice Text document than a big newspaper : www.odt.co.nz</p> </div> <div class="paragraph"> <p>And to finish, El Paìs (spanish Reference Press organ) can find you results for :</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://elpais.com/ciencia/2023-07-26/bbbb.html">bbbb</a> (it&#8217;s a 404)</p> </li> <li> <p><a href="https://elpais.com/babelia/2023-07-25/cccc.html">cccc</a> (it&#8217;s also a 404)</p> </li> <li> <p><a href="https://elpais.com/elpais/2015/04/13/album/1428920476_297608.html">ffff</a> (and it exists)</p> </li> <li> <p><a href="https://elpais.com/diario/2001/06/13/paisvasco/992461212_850215.html">vvvv</a> (and it exists)</p> </li> <li> <p><a href="https://elpais.com/diario/2001/07/12/paisvasco/994966799_850215.html">xxxx</a> (and it exists)</p> </li> <li> <p><a href="https://elpais.com/diario/2001/06/20/paisvasco/993066002_850215.html">zzzz</a> (and it exists)</p> </li> </ul> </div> <div class="paragraph"> <p>All these fun facts were pushed to Mastodon with the <a href="https://pouet.chapril.org/tags/metapress">#metapress</a>.</p> </div> <div class="sect2"> <h3 id="_hacking_la_charente_libre_for_its_dates">4.1. Hacking La Charente Libre for its dates</h3> <div class="paragraph"> <p>La Charente Libre is an important regional newspaper in the south-west of France. It offers no date on its results but many people were interested to search through it via Meta-Press.es.</p> </div> <div class="paragraph"> <p>The web interface gives no hope to sort results by date or so… but if you have the idea to try adding <code>&amp;sort=date</code> at the end of a search URL, TADA, dates are added to the results when the web page reloads.</p> </div> <div class="paragraph"> <p>La Charente Libre seems to be using a custom web application, but this trick could be tried for every source missing dates on results that are listed <a href="https://framagit.org/Siltaar/meta-press-ext/-/blob/master/wiki/incompatible_sources.adoc">here</a>.</p> </div> <div class="paragraph"> <p>Don&#8217;t hesitate to report me where it works !</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_fix_the_world">5. Fix the world</h2> <div class="sectionbody"> <div class="paragraph"> <p>You will also find on Mastodon a dozen of opportunities to help Meta-Press.es with no code, contacting the sources I mentioned and asking them to fix their problems, for instance:</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://pouet.chapril.org/@metapress/110593201543282969">Mediapart</a> could improve it&#8217;s search precision</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110548107355647350">Telerama.fr</a> has no date on its results</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110553992372967821">YemenPost.net</a> neither</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110577309617537999">Kathimerini.gr</a> no more</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110650541129922704">Disclose</a> has just no search at all…</p> </li> </ul> </div> <div class="paragraph"> <p>You can get the full list here : <a href="https://pouet.chapril.org/tags/fixtheworld">#fixtheworld</a></p> </div> </div> </div>Version 1.8.11 : 900 sources, types de résultat évènement et emploi, #fixtheworld2023-08-09T00:00:00+02:002023-08-09T00:00:00+02:00Siltaartag:www.meta-press.es,2023-08-09:/fr/journal/2023/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a> <ul class="sectlevel2"> <li><a href="#_nouveaux_types_de_résultats_évènement_et_emploi">1.1. Nouveaux types de résultats : évènement et emploi</a></li> </ul> </li> <li><a href="#_évolution_dans_la_définition_des_sources">2. Évolution dans la définition des sources</a> <ul class="sectlevel2"> <li><a href="#_token_url">2.1. <code>token_url</code></a></li> <li><a href="#_date_locale">2.2. <code>date_locale</code></a></li> </ul> </li> <li><a href="#_bug_dans_la_pagination_de_la_liste_des_sources">3. Bug dans la pagination de la liste des sources</a></li> <li><a href="#_anecdotes">4. Anecdotes</a> <ul class="sectlevel2"> <li><a href="#_hacker_la_charente_libre_pour_ces_dates">4.1. Hacker La Charente Libre pour ces dates</a></li> </ul> </li> <li><a href="#_fix_the_world">5. Fix …</a></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a> <ul class="sectlevel2"> <li><a href="#_nouveaux_types_de_résultats_évènement_et_emploi">1.1. Nouveaux types de résultats : évènement et emploi</a></li> </ul> </li> <li><a href="#_évolution_dans_la_définition_des_sources">2. Évolution dans la définition des sources</a> <ul class="sectlevel2"> <li><a href="#_token_url">2.1. <code>token_url</code></a></li> <li><a href="#_date_locale">2.2. <code>date_locale</code></a></li> </ul> </li> <li><a href="#_bug_dans_la_pagination_de_la_liste_des_sources">3. Bug dans la pagination de la liste des sources</a></li> <li><a href="#_anecdotes">4. Anecdotes</a> <ul class="sectlevel2"> <li><a href="#_hacker_la_charente_libre_pour_ces_dates">4.1. Hacker La Charente Libre pour ces dates</a></li> </ul> </li> <li><a href="#_fix_the_world">5. Fix the world</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Plus de 185 <em>commits</em> ont été poussés depuis la précédent version, un joli saut en avant rendu possible par 3 valeureux stagiaires ayant ajouté 250 sources à Meta-Press.es en 3 semaines:</p> </div> <div class="ulist"> <ul> <li> <p>Jérôme Bertin</p> </li> <li> <p>Céline Duguet</p> </li> <li> <p>Vincent Gay</p> </li> </ul> </div> <div class="paragraph"> <p>Ça m&#8217;a fait pas mal de travail de relecture, et en comptant mais autres additions on en arrive à 930 sources dans cette nouvelle version de Meta-Press.es (soit une croissance de +50% de la base de sources).</p> </div> </div> </div> <div class="sect1"> <h2 id="_maintenance_des_sources">1. Maintenance des sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Et non des moindres, parmi les sources ajoutées il y a tous les membres compatibles du <a href="https://spiil.org">SPIIL</a> le Syndicat de la Presse Indépendante d&#8217;Information en Ligne, soit 132 sources indépendantes francophones pour un total de 373 sources dans la catégorie <code>indé.</code>.</p> </div> <div class="paragraph"> <p>Les journaux de référence (Presse de Référence) sont désormais au nombre de 89 (et 40 pourrait encore s&#8217;ajouter prochainement vu que la <a href="https://en.wikipedia.org/wiki/Newspaper_of_record">page Wikipedia correspondante a été enrichie</a>).</p> </div> <div class="paragraph"> <p>Ensuite on compte 386 sources fournissant leurs résultats sous la forme de flux RSS, principalement parce que c&#8217;est le comportement par défaut dans WordPress et que bon nombre de journaux en ligne utilisent ce moteur. Ce serait chouette si la vingtaine de sources utilisant SPIP pouvaient en faire de même !</p> </div> <div class="paragraph"> <p>Beaucoup d&#8217;illustrations de résultats ont été retrouvées parmi ces sources RSS, grâce à une astuce simple d&#8217;exploration du contenu par expression rationnelle. C&#8217;est une fin heureuse pour un élément resté plusieurs années dans ma liste de choses à faire.</p> </div> <div class="paragraph"> <p>Enfin, la règle <code>filter_results</code> s&#8217;applique désormais sur 79 sources, principalement parmi ces sources RSS (et ce nombre grandira encore avec la prochaine version). Cette règle permet d&#8217;assurer d&#8217;aucun résultat approximatif voire franchement hors sujet n&#8217;importune l&#8217;utilisateur. Toutefois, à côté de cette quête de vérité, un réglage viendra prochainement permettre de désactiver ces filtres justement pour s&#8217;intéresser aux résultats voisins des termes saisis (ce qui peut être utile quand on cherche la bonne orthographe d&#8217;un mot par exemple).</p> </div> <div class="sect2"> <h3 id="_nouveaux_types_de_résultats_évènement_et_emploi">1.1. Nouveaux types de résultats : évènement et emploi</h3> <div class="paragraph"> <p>Le type de résultat <code>évènement</code> s&#8217;ajoute aux texte, image, vidéo et audio existants. Il aidera à chercher parmi les 49 agendas en ligne référencés dans Meta-Press.es.</p> </div> <div class="paragraph"> <p>Et, vraie nouveauté, le type de résultats <code>emploi</code> fait son apparition, avec 3 moteurs de recherche d&#8217;offre d&#8217;emploi intégrés à Meta-Press.es pour l&#8217;instant. L&#8217;actualité d&#8217;une offre d&#8217;emploi est un critère prépondérant lors d&#8217;une recherche et Meta-Press.es peut déjà rendre de bon services dans le domaine.</p> </div> <div class="paragraph"> <p>Ce n&#8217;est pas tous les ans que de nouveaux types de résultats sont ajoutés à Meta-Press.es alors c&#8217;est la fête.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_évolution_dans_la_définition_des_sources">2. Évolution dans la définition des sources</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_token_url">2.1. <code>token_url</code></h3> <div class="paragraph"> <p>Une entrée <code>token_url</code> fait son apparition pour aider à la définition de certaines sources, elle permet de signaler une URL à charger avant chaque recherche. Cela permet aujourd&#8217;hui en pratique de choisir dans quelle langue s&#8217;effectuera la recherche, car certaines sources rangent cette information dans un cookie (qu&#8217;il faut donc mettre en place avant la recherche). Cela devrait également permettre de récupérer un jeton en amont d&#8217;une recherche pour le fournir lors de la recherche mais le cas ne s&#8217;est pas encore présenté.</p> </div> </div> <div class="sect2"> <h3 id="_date_locale">2.2. <code>date_locale</code></h3> <div class="paragraph"> <p>Une valeur spéciale est désormais reconnue pour le champs <code>date_locale</code> et c&#8217;est <code>browser</code>.</p> </div> <div class="paragraph"> <p>Elle signifie que les dates de cette sources sont affichées dans la langue du navigateur de l&#8217;utilisateur (et non pas dans la langue du journal par exemple).</p> </div> <div class="paragraph"> <p>C&#8217;est notamment le <em>Corriere della Sera</em> qui agit comme ça.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_bug_dans_la_pagination_de_la_liste_des_sources">3. Bug dans la pagination de la liste des sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Dans la grande liste des sources, vous pouvez choisir quelles sources interroger pour votre prochaine recherche, et ce, une par une. Toutefois, un bug remettait la pagination à zéro à chaque sélection, rendant la sélection des sources hors première page particulièrement pénible. Dans cette nouvelle version de Meta-Press.es, vous sélectionner à tout va sans changer de page.</p> </div> </div> </div> <div class="sect1"> <h2 id="_anecdotes">4. Anecdotes</h2> <div class="sectionbody"> <div class="paragraph"> <p>J&#8217;ai remarqué que la version esperanto du Monde Diplomatique sert désormais ses dates en esperanto, bravo à l&#8217;équipe de développement du site.</p> </div> <div class="paragraph"> <p>Moins simple à trouver, El Watan (famaux journal algérien) a carrément changé de nom de domaine, après 30 ans d&#8217;existence ! Cela crée beaucoup d&#8217;erreur 404 dans le monde… et le site est désormais accessible via : elwatan-dz.com.</p> </div> <div class="paragraph"> <p>Nous avons été surpi, avec les stagiaires, de constater que Mediabask, qui produit d&#8217;excellents articles dans plusieurs langues (fr, en, eus), ne permet pas de choisir dans quelle langue on effectue ses recherches ! Des résultats des trois langues arrivent à chaque fois…</p> </div> <div class="paragraph"> <p>Mention spéciale pour l&#8217;Otago Daily Times, dont le domaine ressemble plus à un bug dans un nom de fichier LibreOffice qu&#8217;au nom d&#8217;un prestigieux journal neo-zelandais : www.odt.co.nz.</p> </div> <div class="paragraph"> <p>Pour finir, El Paìs (organe de Presse de Référence espagnol) est capable de vous trouver des résultats pour :</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://elpais.com/ciencia/2023-07-26/bbbb.html">bbbb</a> (mais c&#8217;est une 404)</p> </li> <li> <p><a href="https://elpais.com/babelia/2023-07-25/cccc.html">cccc</a> (404 aussi)</p> </li> <li> <p><a href="https://elpais.com/elpais/2015/04/13/album/1428920476_297608.html">ffff</a> (et ça existe vraiment !)</p> </li> <li> <p><a href="https://elpais.com/diario/2001/06/13/paisvasco/992461212_850215.html">vvvv</a> (et ça existe)</p> </li> <li> <p><a href="https://elpais.com/diario/2001/07/12/paisvasco/994966799_850215.html">xxxx</a> (et ça existe)</p> </li> <li> <p><a href="https://elpais.com/diario/2001/06/20/paisvasco/993066002_850215.html">zzzz</a> (et ça existe…)</p> </li> </ul> </div> <div class="paragraph"> <p>Toutes ces anecdotes ont d&#8217;abord été postées sur Mastodon et vous pouvez les retrouver via le mot-dièse : <a href="https://pouet.chapril.org/tags/metapress">#metapress</a>.</p> </div> <div class="sect2"> <h3 id="_hacker_la_charente_libre_pour_ces_dates">4.1. Hacker La Charente Libre pour ces dates</h3> <div class="paragraph"> <p>La Charente Libre, journal régional important localement, ne présente pas de date sur ces résultats de recherche et rien (dans l&#8217;interface web) ne laisse présager que les résultats soient triable par ordre chronologique.</p> </div> <div class="paragraph"> <p>Toutefois, s&#8217;il vous prend l&#8217;envie d&#8217;ajouter l&#8217;argument <code>&amp;sort=date</code> à la fin de l&#8217;adresse de votre page de recherche et de recharger la page, c&#8217;est magique, les résultats sont triés et des dates apparaissent sur la page !</p> </div> <div class="paragraph"> <p>La Charente Libre semble utiliser une application web maison pour publier son journal, mais cette astuce peut sûrement s&#8217;appliquer à d&#8217;autres journaux en ligne parmi ceux listés <a href="https://framagit.org/Siltaar/meta-press-ext/-/blob/master/wiki/incompatible_sources.adoc">ici</a>.</p> </div> <div class="paragraph"> <p>N&#8217;hésitez pas à me faire part de vos trouvaille s&#8217;il vous prends l&#8217;envie d&#8217;essayer !</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_fix_the_world">5. Fix the world</h2> <div class="sectionbody"> <div class="paragraph"> <p>Vous retrouverez aussi des dizaines d&#8217;opportunités d&#8217;aider Meta-Press.es sans savoir programmer, mais juste en contactant les sources mentionnées pour leur demander de réparer leurs problèmes. Par exemple :</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://pouet.chapril.org/@metapress/110593201543282969">Mediapart</a> pourrait améliorer la précision de ses recherches</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110548107355647350">Telerama.fr</a> n&#8217;a pas de date sur ses résultats de recherche</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110553992372967821">YemenPost.net</a> non plus</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110577309617537999">Kathimerini.gr</a> les a enlevées</p> </li> <li> <p><a href="https://pouet.chapril.org/@metapress/110650541129922704">Disclose</a> ne propose pas de recherche du tout…</p> </li> </ul> </div> <div class="paragraph"> <p>Vous pouvez retrouver toute la liste ici : <a href="https://pouet.chapril.org/tags/fixtheworld">#fixtheworld</a></p> </div> </div> </div>Version 1.8.10 : Filter results, ergonomy and source maintenance2023-06-06T00:00:00+02:002023-06-06T00:00:00+02:00Siltaartag:www.meta-press.es,2023-06-06:/journal/2023/v1.8.10_filter_results_ergonomy_and_source_maintenance.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a></li> <li><a href="#_ergonomy">2. Ergonomy</a></li> <li><a href="#_filter_results">3. Filter results</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This release was long awaited and announces the beginning of a new development campaign.</p> </div> </div> </div> <div class="sect1"> <h2 id="_source_maintenance">1. Source maintenance</h2> <div class="sectionbody"> <div class="paragraph"> <p>During this semester an intern fixed and added some sources, thank you <a href="https://framagit.org/ovslash">OVSlash</a>. Then I extensively used the source maintenance page to bring the …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_maintenance">1. Source maintenance</a></li> <li><a href="#_ergonomy">2. Ergonomy</a></li> <li><a href="#_filter_results">3. Filter results</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This release was long awaited and announces the beginning of a new development campaign.</p> </div> </div> </div> <div class="sect1"> <h2 id="_source_maintenance">1. Source maintenance</h2> <div class="sectionbody"> <div class="paragraph"> <p>During this semester an intern fixed and added some sources, thank you <a href="https://framagit.org/ovslash">OVSlash</a>. Then I extensively used the source maintenance page to bring the percentage of working sources up to 95%. Well, to be true, I only added this percentage to the statistic line of <code>test_sources.html</code> after I updated most of the sources…</p> </div> </div> </div> <div class="sect1"> <h2 id="_ergonomy">2. Ergonomy</h2> <div class="sectionbody"> <div class="paragraph"> <p>Then the major ergonomic improvements are :</p> </div> <div class="ulist"> <ul> <li> <p>A CSS animation and a dedicated scroll bar added to long descriptions, improving the browsing and reading experience</p> </li> <li> <p>A <em>keep open</em> checkbox in the news feed frame to keep it open the next time you&#8217;ll open a Meta-Press.es tab</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_filter_results">3. Filter results</h2> <div class="sectionbody"> <div class="paragraph"> <p>But the most exciting new feature of this release is a trick that allows to improve the accuracy of some sources. Among the sources giving approximate results, some are showing (for each results) the matching part of the text as result description.</p> </div> <div class="paragraph"> <p>In this case Meta-Press.es can now filter those results to keep only what really matches your search terms.</p> </div> <div class="paragraph"> <p>Sources tagged as "approx" (for approximative) where 98 in the previous version of Meta-Press.es and this number dropped to 55 as I checked them to up-tag the accuracy of the eligible ones (as accurate for "one word" or "many words").</p> </div> <div class="paragraph"> <p>Some important french and international sources are now usable in press review context such as : The Times (.co.uk), MondeDiplo.com, NouvelObs.com, Enbata.info, CanardPC.com, ActuaLitté, Folha de S.Paulo, Globo.com, Northernstar.info…</p> </div> <div class="paragraph"> <p>I&#8217;m happy to welcome those sources above the surface of accuracy in Meta-Press.es !</p> </div> </div> </div>Version 1.8.10 : Résultats filtrés, ergonomie et maintenance sur sources2023-06-06T00:00:00+02:002023-06-06T00:00:00+02:00Siltaartag:www.meta-press.es,2023-06-06:/fr/journal/2023/v1.8.10_filter_results_ergonomy_and_source_maintenance.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a></li> <li><a href="#_ergonomie">2. Ergonomie</a></li> <li><a href="#_résultats_filtrés">3. Résultats filtrés</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Cette nouvelle version s&#8217;est fait attendre et elle annonce le début d&#8217;une nouvelle campagne de développement.</p> </div> </div> </div> <div class="sect1"> <h2 id="_maintenance_des_sources">1. Maintenance des sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pendant ce semestre, un stagiaire a entrepris de réparer les sources devenues défectueuses depuis la dernière version, merci …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_maintenance_des_sources">1. Maintenance des sources</a></li> <li><a href="#_ergonomie">2. Ergonomie</a></li> <li><a href="#_résultats_filtrés">3. Résultats filtrés</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Cette nouvelle version s&#8217;est fait attendre et elle annonce le début d&#8217;une nouvelle campagne de développement.</p> </div> </div> </div> <div class="sect1"> <h2 id="_maintenance_des_sources">1. Maintenance des sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pendant ce semestre, un stagiaire a entrepris de réparer les sources devenues défectueuses depuis la dernière version, merci <a href="https://framagit.org/ovslash">OVSlash</a>. Je me suis également mis de la partie et le taux de sources fonctionnelles est remonté à 95%. Enfin, pour être exact, je n&#8217;ai ajouté ce taux dans les stat' de la page qu&#8217;après l&#8217;avoir atteint.</p> </div> </div> </div> <div class="sect1"> <h2 id="_ergonomie">2. Ergonomie</h2> <div class="sectionbody"> <div class="paragraph"> <p>Ensuite, les deux principales améliorations ergonomiques sont :</p> </div> <div class="ulist"> <ul> <li> <p>une animation CSS et un ascenseur de défilement dédiés aux longues descriptions de résultats</p> </li> <li> <p>une case à cocher <em>Garder ouvert</em> dans l&#8217;encart des actualités pour choisir sur place si on veut que l&#8217;encart soit encore ouvert au prochain chargement d&#8217;un onglet Meta-Press.es.</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_résultats_filtrés">3. Résultats filtrés</h2> <div class="sectionbody"> <div class="paragraph"> <p>Dernière amélioration, mais non des moindres, cette version embarque une astuce permettant d&#8217;améliorer la précision de certaines sources. En effet, parmi les sources renvoyant des résultats approximatifs, certaines affichent (en guise de description de leurs résultats) la portion de texte contenant les termes recherchés (ou leur version approximée).</p> </div> <div class="paragraph"> <p>Dans ce cas, Meta-Press.es sait désormais vérifier la présence des termes de recherche et ne garder que les résultats correspondant effectivement.</p> </div> <div class="paragraph"> <p>Les sources étiquetées "approx" (pour approximatives) étaient 98 dans la précédente version de Meta-Press.es, et ce nombre a chuté à 55 dans cette nouvelle version. J&#8217;ai pour cela vérifié quelles sources étaient éligibles au post-traitement et ajouté les étiquettes "un mot" et/ou "plusieurs mots" suivant les cas.</p> </div> <div class="paragraph"> <p>D&#8217;importantes sources françaises et internationales sont donc devenues utilisables dans un contexte de revue de presse, on compte ainsi : The Times (.co.uk), le MondeDiplo.com, le NouvelObs.com, Enbata.info, CanardPC.com, ActuaLitté, Folha de S.Paulo, Globo.com, Northernstar.info…</p> </div> <div class="paragraph"> <p>Je suis heureux de les compter désormais parmi les sources précises de Meta-Press.es !</p> </div> </div> </div>Conferences around Meta-Press.es at Lyon for the JdLL 20232023-03-14T00:00:00+01:002023-03-14T00:00:00+01:00Siltaartag:www.meta-press.es,2023-03-14:/journal/2023/2023_JDLL.html<div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>After a great presentation of Meta-Press.es in Lyon <a href="/journal/2022/2022_JDLL.html">last year</a> we&#8217;ll get back to the city during the edition 2023 of the <em>Journées du Logiciel Libre</em> with nothing less than <strong>2 conferences</strong> !</p> </div> <div class="paragraph"> <p>This event is a part of the broader french <a href="https://www.libre-en-fete.net/2023/">Libre en Fête</a> manifestation from 20 of …</p></div></div></div><div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>After a great presentation of Meta-Press.es in Lyon <a href="/journal/2022/2022_JDLL.html">last year</a> we&#8217;ll get back to the city during the edition 2023 of the <em>Journées du Logiciel Libre</em> with nothing less than <strong>2 conferences</strong> !</p> </div> <div class="paragraph"> <p>This event is a part of the broader french <a href="https://www.libre-en-fete.net/2023/">Libre en Fête</a> manifestation from 20 of march to 2 of april.</p> </div> <div class="paragraph"> <p>I&#8217;ll meet you there :</p> </div> <div class="ulist"> <ul> <li> <p>2023-04-01 14:00 UTC+2 in Lyon : <a href="https://pretalx.jdll.org/jdll2023/talk/review/3EKJQHH7GBP9GFQXTUZPJPZNDNQ7BYCQ">Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien à Meta-Press.es</a> (cultures room)</p> </li> <li> <p>2023-04-02 13:00 UTC+2 in Lyon : <a href="https://pretalx.jdll.org/jdll2023/talk/review/PZ99XPTQVWNV9SHLZTTTUKEGKLR3RRTF">Web scrapping : lessons tirées de l&#8217;intégration de 675 sources à Meta-Press.es</a> (possibles room)</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_free_software_funding_via_the_european_commission_and_the_nlnet_3_years_support_of_meta_press_es">1. Free software funding via the European Commission and the NLnet : 3 years support of Meta-Press.es</h2> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="https://pretalx.jdll.org/media/jdll2023/submissions/EUYG38/NGI-NLnet-Meta-Press.es_k3zG7b3.png" alt="NGI NLnet Meta Press.es k3zG7b3"> </div> <div class="title">Figure 1. NGI &gt; NLnet &gt; Meta-Press.es logos</div> </div> </div> </div> <div class="sect1"> <h2 id="_web_scrapping_lessons_learned_from">2. Web scrapping : lessons learned from</h2> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="https://pretalx.jdll.org/media/jdll2023/submissions/JW8KFL/XML_Parsing_Error_unfVKI0.png" alt="XML Parsing Error unfVKI0"> </div> <div class="title">Figure 2. Screenshot of XML parsing Error in developper tools of Mozilla Firefox</div> </div> </div> </div>Conférences autour de Meta-Press.es à Lyon pour les JdLL 20232023-03-14T00:00:00+01:002023-03-14T00:00:00+01:00Siltaartag:www.meta-press.es,2023-03-14:/fr/journal/2023/2023_JDLL.html<div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Après une présentation en bonne et due forme <a href="/journal/2022/2022_JDLL.html">l&#8217;an dernier</a> Meta-Press.es sera encore présent aux Journées du Logiciel Libre en 2023 de Lyon avec pas moins de <strong>2 conférences</strong> !</p> </div> <div class="paragraph"> <p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;opération <a href="https://www.libre-en-fete.net/2023/">Libre en Fête 2023</a> partout en France à partir …</p></div></div></div><div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Après une présentation en bonne et due forme <a href="/journal/2022/2022_JDLL.html">l&#8217;an dernier</a> Meta-Press.es sera encore présent aux Journées du Logiciel Libre en 2023 de Lyon avec pas moins de <strong>2 conférences</strong> !</p> </div> <div class="paragraph"> <p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;opération <a href="https://www.libre-en-fete.net/2023/">Libre en Fête 2023</a> partout en France à partir du 20 mars.</p> </div> <div class="paragraph"> <p>Vous pourrez me retrouver ici :</p> </div> <div class="ulist"> <ul> <li> <p>2023-04-01 14:00 UTC+2 à Lyon : <a href="https://pretalx.jdll.org/jdll2023/talk/review/3EKJQHH7GBP9GFQXTUZPJPZNDNQ7BYCQ">Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien à Meta-Press.es</a> (salle des cultures)</p> </li> <li> <p>2023-04-02 13:00 UTC+2 à Lyon : <a href="https://pretalx.jdll.org/jdll2023/talk/review/PZ99XPTQVWNV9SHLZTTTUKEGKLR3RRTF">Web scrapping : lessons tirées de l&#8217;intégration de 675 sources à Meta-Press.es</a> (salle des possibles)</p> </li> </ul> </div> <div class="paragraph"> <p>Programme complet : <a href="https://jdll.org/programme" class="bare">https://jdll.org/programme</a></p> </div> </div> </div> <div class="sect1"> <h2 id="_financement_du_logiciel_libre_par_leurope_3_ans_de_soutien_à_meta_press_es">1. Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien à Meta-Press.es</h2> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="https://pretalx.jdll.org/media/jdll2023/submissions/EUYG38/NGI-NLnet-Meta-Press.es_k3zG7b3.png" alt="NGI NLnet Meta Press.es k3zG7b3"> </div> <div class="title">Figure 1. NGI &gt; NLnet &gt; Meta-Press.es logos</div> </div> <div class="paragraph"> <p>Découvrez avec quelle simplicité et quelle efficacité la NLnet peut soutenir votre logiciel libre.</p> </div> <div class="paragraph"> <p>Quelques courriels, beaucoup de sérieux et des dizaines de milliers d&#8217;euros… Voilà à quoi se résume le tour de force qu&#8217;opère la NLnet en tant qu&#8217;intermédiaire entre la Commission Européenne (via son programme Next Generation Internet) et le fourmillant monde du logiciel libre.</p> </div> <div class="paragraph"> <p>Votre projet ouvre de nouveaux usages du net ? Il est éthiquement en logiciel libre ? Vous ne perdrez probablement pas de temps à répondre à un appel à candidature de la NLnet. C&#8217;est simple, direct et efficace… surtout en comparaison avec les 2 années de parcours du combattant pour obtenir la même chose de l&#8217;administration d&#8217;une grande région française (également décrites dans cette conférence).</p> </div> </div> </div> <div class="sect1"> <h2 id="_web_scrapping_lessons_tirées_de_lintégration_de_675_sources_à_meta_press_es">2. Web scrapping : lessons tirées de l&#8217;intégration de 675 sources à Meta-Press.es</h2> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="https://pretalx.jdll.org/media/jdll2023/submissions/JW8KFL/XML_Parsing_Error_unfVKI0.png" alt="XML Parsing Error unfVKI0"> </div> <div class="title">Figure 2. Capture d&#8217;écran d&#8217;un message d&#8217;erreur corriace de la console développeur de Mozilla Firefox</div> </div> <div class="paragraph"> <p>Florilège de bizarreries qu&#8217;on croise vraiment sur le web…</p> </div> <div class="paragraph"> <p>Analyser une page web à partir de JavaScript dans une WebExtension, ça avait l&#8217;air simple pourtant !</p> </div> <div class="paragraph"> <p>Oui, mais le serveur il répond du JSONP en fait et le content-type ment comme un patient du DrHouse ! En plus y&#8217;a d&#8217;abord une redirection et puis le charset, bah c&#8217;est pas UTF8 … T_T</p> </div> <div class="paragraph"> <p>Florilège de ce que l&#8217;humanité fait vraiment du web dans 64 pays et 71 langues…</p> </div> </div> </div>2022 recap2023-02-28T00:00:00+01:002023-02-28T00:00:00+01:00Siltaartag:www.meta-press.es,2023-02-28:/journal/2023/2022_recap.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_summary_of_2022">1. Summary of 2022</a></li> <li><a href="#_2023_roadmap">2. 2023 roadmap</a> <ul class="sectlevel2"> <li><a href="#_from_nlnet_support">2.1. From NLnet support</a> <ul class="sectlevel3"> <li><a href="#_migration_to_the_webextension_to_manifest_v3_mv3">2.1.1. Migration to the WebExtension to manifest v3 (MV3)</a></li> <li><a href="#_modularization_mvc_refactoring_js_librarymodule">2.1.2. Modularization: MVC refactoring (JS library/module)</a></li> <li><a href="#_android_version_via_a_kotlin_wrapper_with_geckoview">2.1.3. Android version: via a Kotlin wrapper with Geckoview</a></li> <li><a href="#_finish_the_new_source_form_managing_html_and_json_source_responses">2.1.4. Finish the new …</a></li></ul></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_summary_of_2022">1. Summary of 2022</a></li> <li><a href="#_2023_roadmap">2. 2023 roadmap</a> <ul class="sectlevel2"> <li><a href="#_from_nlnet_support">2.1. From NLnet support</a> <ul class="sectlevel3"> <li><a href="#_migration_to_the_webextension_to_manifest_v3_mv3">2.1.1. Migration to the WebExtension to manifest v3 (MV3)</a></li> <li><a href="#_modularization_mvc_refactoring_js_librarymodule">2.1.2. Modularization: MVC refactoring (JS library/module)</a></li> <li><a href="#_android_version_via_a_kotlin_wrapper_with_geckoview">2.1.3. Android version: via a Kotlin wrapper with Geckoview</a></li> <li><a href="#_finish_the_new_source_form_managing_html_and_json_source_responses">2.1.4. Finish the new source form: managing HTML and JSON source responses</a></li> <li><a href="#_new_fetching_cases_need_cookies_and_need_token_sources">2.1.5. New fetching cases: need-cookies and need-token sources</a></li> <li><a href="#_qualification_of_approximate_sources_to_one_word_sources">2.1.6. Qualification of approximate sources to 'one word' sources</a></li> </ul> </li> <li><a href="#_from_nouvelle_aquitaine_support">2.2. From Nouvelle-Aquitaine support</a> <ul class="sectlevel3"> <li><a href="#_vigipress_com">2.2.1. Vigipress.com</a></li> </ul> </li> <li><a href="#_presence_at_the_jdll_2023">2.3. Presence at the JdLL 2023</a> <ul class="sectlevel3"> <li><a href="#_european_funding_of_free_software_3_years_of_support_to_meta_press_es">2.3.1. European funding of free software : 3 years of support to Meta-Press.es</a></li> <li><a href="#_web_scrapping_lesson_learnt_after_the_integration_of_675_sources_in_meta_press_es">2.3.2. Web scrapping : lesson learnt after the integration of 675 sources in Meta-Press.es</a></li> </ul> </li> <li><a href="#_new_intern">2.4. New intern</a></li> </ul> </li> <li><a href="#_meta_press_es_needs_user_feedback">3. Meta-Press.es needs user feedback</a></li> </ul> </div> <div class="sect1"> <h2 id="_summary_of_2022">1. Summary of 2022</h2> <div class="sectionbody"> <div class="paragraph"> <p>Let&#8217;s start with some statistics.</p> </div> <div class="paragraph"> <p><a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/versions/">7 big versions</a> (for 14 releases, including bug fix and source maintainance versions) of Meta-Press.es have been published in 2022 and 12 communications were pushed on this official website.</p> </div> <div class="paragraph"> <p><a href="https://framagit.org/Siltaar/meta-press-ext/activity">301 commits</a> were made by 3 people (thank you : Baignoirphe and Matthieu Rakotojaona) using 14 merge-requests on Framagit. This represents roughly a third of the 1088 commits of the project so far. So it looks like 2022 was a good year for Meta-Press.es.</p> </div> <div class="paragraph"> <p>The last release is counting <strong>675 sources</strong> and it&#8217;s roughly twice the number it was in late 2021.</p> </div> <div class="paragraph"> <p>The main new features of the year were :</p> </div> <div class="ulist"> <ul> <li> <p>the child mode to limit in one click the features of Meta-Press.es to child compatible sources</p> </li> <li> <p>the user feedback button to report a problem with a source</p> </li> <li> <p>the source creation form, to easily add a new source without any programmer knowledge (currently limited to RSS sources only, like most of the WordPress based sources)</p> </li> <li> <p>Exports now possible in CSV format also</p> </li> <li> <p>New source list and cherry-pick source selections</p> </li> </ul> </div> <div class="paragraph"> <p>But big reworks and under-the-surface improvement were also performed :</p> </div> <div class="ulist"> <ul> <li> <p>the translations are now made via <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate</a> (new strings to come soon)</p> </li> <li> <p>the general purpose news are now fetched from RSS feeds (instead of the source main web page) and is now displayed with illustrations when available in the feed</p> </li> <li> <p>Meta-Press.es uses <code>Intl.DisplayNames</code> for the name of languages or countries and <code>Intl.DateTimeFormat</code> for month numbers</p> </li> <li> <p>creation of a dedicated source testing page (testing all sources in one click)</p> </li> <li> <p>some end-to-end (Selenium) testing to avoid regressions in releases (WIP)</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_2023_roadmap">2. 2023 roadmap</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_from_nlnet_support">2.1. From NLnet support</h3> <div class="imageblock"> <div class="content"> <img src="https://nlnet.nl/image/logos/NGI0_tag.svg" alt="NGI0 tag"> </div> <div class="title">Figure 1. NGI0 logo</div> </div> <div class="paragraph"> <p>Meta-Press.es secured a third round of support from the <a href="https://nlnet.nl/core/">NGI0</a> initiative of the European Commission, via the NLnet.</p> </div> <div class="paragraph"> <p>This support is again of 20k€ and is agreed for the following targets.</p> </div> <div class="sect3"> <h4 id="_migration_to_the_webextension_to_manifest_v3_mv3">2.1.1. Migration to the WebExtension to manifest v3 (MV3)</h4> <div class="paragraph"> <p>"manifest v3" is an evolution of how WebExtensions have to be architectured. It introduces new concepts and removing others. Some of them are core-concepts requiring special attention and potentially big efforts and refactoring to keep an existing WebExtension working. "MV3" was due on Chromium-based browser for January 2023 but might be delayed until June.</p> </div> </div> <div class="sect3"> <h4 id="_modularization_mvc_refactoring_js_librarymodule">2.1.2. Modularization: MVC refactoring (JS library/module)</h4> <div class="paragraph"> <p>Meta-Press.es has grown from 1000 to 5000 lines of code and was made as a monolithic application. A model-view-controller refactoring would allow to distribute the core independently as a JavaScript library to help reuse of it in new contexts.</p> </div> <div class="paragraph"> <p>As a proof of concept of the MVC refactoring a NodeJS command line interface for Meta-Press.es core library will allow to perform searches without a web browser, directly from a terminal.</p> </div> </div> <div class="sect3"> <h4 id="_android_version_via_a_kotlin_wrapper_with_geckoview">2.1.3. Android version: via a Kotlin wrapper with Geckoview</h4> <div class="paragraph"> <p>There are <a href="/journal/2021/2021_recap.html">1000x</a> more users of Android world-wide than users of Firefox WebExtensions. Allowing Meta-Press.es distribution through Android apps channel must increase the user base. This 1st step will produce an <a href="https://sammacbeth.eu/blog/2019/09/04/geckoview-extensions.html">empty shell</a> to inject Meta-Press.es into Android.</p> </div> <div class="paragraph"> <p>Then Meta-Press.es will be ran with full feature set in the empty shell, and the resulting "app" will be registered for distribution to Android users via <a href="https://f-droid.org">F-Droid.org</a> and Google Play.</p> </div> </div> <div class="sect3"> <h4 id="_finish_the_new_source_form_managing_html_and_json_source_responses">2.1.4. Finish the new source form: managing HTML and JSON source responses</h4> <div class="paragraph"> <p>Meta-Press.es is open to user contribution of sources since it&#8217;s version 1.0 but contributions was only achievable to computer-science enabled people. To open this up to more users a new approach have been put in place with a semi-automatic dynamic form to simplify the task as much as possible. A 1st version of this form has already been released but it was limited to sources providing results via an RSS feed (like WordPress does). This step will allow to handle the general case (HTML responses from sources) and also JSON responses.</p> </div> </div> <div class="sect3"> <h4 id="_new_fetching_cases_need_cookies_and_need_token_sources">2.1.5. New fetching cases: need-cookies and need-token sources</h4> <div class="paragraph"> <p>With GDPR enforcement a growing number of sources started to require cookies (or other tokens) to deliver results. This implies a preliminary request to fetch the token before sending the regular search. This target will add this possibility to Meta-Press.es via a new entry in the source-scraping definition API and its <a href="https://www.meta-press.es/pages/meta-press.es_documentation.html">documentation</a>.</p> </div> </div> <div class="sect3"> <h4 id="_qualification_of_approximate_sources_to_one_word_sources">2.1.6. Qualification of approximate sources to 'one word' sources</h4> <div class="paragraph"> <p>This is another modification of the source-scraping definition API to add a post-treatment for certain sources to handle a curation of their false positive results (for the sources exposing search-keywords in result excerpts).</p> </div> </div> </div> <div class="sect2"> <h3 id="_from_nouvelle_aquitaine_support">2.2. From Nouvelle-Aquitaine support</h3> <div class="imageblock"> <div class="content"> <img src="https://i1.createsend1.com/ei/r/C0/BD9/3A6/223854/csfinal/logo1rouge.png" alt="logo1rouge"> </div> <div class="title">Figure 2. Region Nouvelle-Aquitaine banner</div> </div> <div class="paragraph"> <p>The french administrative region Nouvelle Aquitaine also have a free software support program called NAOS (Nouvelle-Aquitaine Open Source).</p> </div> <div class="paragraph"> <p>After some long and complicated administrative work (over many years) a support of 49k€ have been granted to the company <a href="https://acoeuro.com">Acoeuro</a> to work on Meta-Press.es.</p> </div> <div class="paragraph"> <p>This funding will allow to build a business around Meta-Press.es in order to achieve self sustainability of the project.</p> </div> <div class="sect3"> <h4 id="_vigipress_com">2.2.1. Vigipress.com</h4> <div class="paragraph"> <p>The economical activity will be bared by the coming Vigipress.com web platform, that will offer paid hosting of press-reviews (private or public) with a good integration between Meta-Press.es exports and Vigipress imports. This web platform will also provide a web version of Meta-Press.es (breaking out from WebExtension corner) and other valuable services like email notifications for new search results or customer-branded PDF exports of press-reviews…</p> </div> <div class="paragraph"> <p>This new platform will be hosted with the help of <a href="https://www.globenet.org/Lettre-d-information-novembre-2022.html">Globenet.org</a>, a venerable old french web hosting association which already announced this partnership.</p> </div> </div> </div> <div class="sect2"> <h3 id="_presence_at_the_jdll_2023">2.3. Presence at the JdLL 2023</h3> <div class="paragraph"> <p>I applied to hold 2 conferences during the next <a href="https://jdll.org/">JdLL</a> event, the 1st and 2nd of April 2023.</p> </div> <div class="paragraph"> <p>I&#8217;ll be pleased to present the following subjects.</p> </div> <div class="sect3"> <h4 id="_european_funding_of_free_software_3_years_of_support_to_meta_press_es">2.3.1. European funding of free software : 3 years of support to Meta-Press.es</h4> <div class="paragraph"> <p>Discover how easy it can be to get supported via the NLnet (with comparison between NLnet and the french administration).</p> </div> </div> <div class="sect3"> <h4 id="_web_scrapping_lesson_learnt_after_the_integration_of_675_sources_in_meta_press_es">2.3.2. Web scrapping : lesson learnt after the integration of 675 sources in Meta-Press.es</h4> <div class="paragraph"> <p>It should have been 675 newspapers (I mean : similar to each others), it was an ode to human creativity…</p> </div> <div class="paragraph"> <p>It should have been simple, but the server is responding JSONP, the content-type is lying like a DrHouse patient, there is a redirection in the middle and the charset, guess what, it&#8217;s not UTF-8 … T_T</p> </div> <div class="paragraph"> <p>Best-of what humanity is really doing over the web in 64 countries and 71 languages !</p> </div> </div> </div> <div class="sect2"> <h3 id="_new_intern">2.4. New intern</h3> <div class="paragraph"> <p>Who would have bet on the fact that so many interns would have reach Pougne-Hérisson (a small countryside place of less than 300 inhabitants) to work on the state of the art of Google News decentralized alternative ?</p> </div> <div class="paragraph"> <p>Soon this spring Olivier VILLAVERDE will come by Meta-Press.es headquarters in Deux-Sèvres.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_meta_press_es_needs_user_feedback">3. Meta-Press.es needs user feedback</h2> <div class="sectionbody"> <div class="paragraph"> <p>Since merely one year that the source feedback button appeared in Meta-Press.es interface, no one ever tried to report anything. The only signal I got was me testing the feature (again and again) to be sure that it works.</p> </div> <div class="paragraph"> <p>As you can see the Meta-Press.es project is going very well, but I would mitigate this observation as the current main weakness is lacking users. Despite more than one download a day, the user statistics from Mozilla remain at near to 700 users on the good days since two years.</p> </div> <div class="paragraph"> <p>So we&#8217;re loosing a lot of users after their download, they try the tool but don&#8217;t keep it.</p> </div> <div class="paragraph"> <p>If you ever tried Meta-Press.es but got disappointed by something please send me an email to detail what was not at the level of your expectations (and might be improved).</p> </div> <div class="paragraph"> <p>The address is : contact@ &lt;project-name&gt;</p> </div> </div> </div>2022 recap2023-02-28T00:00:00+01:002023-02-28T00:00:00+01:00Siltaartag:www.meta-press.es,2023-02-28:/fr/journal/2023/2022_recap.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_2022_en_résumé">1. 2022 en résumé</a></li> <li><a href="#_perspectives_pour_2023">2. perspectives pour 2023</a> <ul class="sectlevel2"> <li><a href="#_grâce_au_soutien_financier_de_la_nlnet">2.1. Grâce au soutien financier de la NLnet</a> <ul class="sectlevel3"> <li><a href="#_migration_de_la_webextension_au_format_manifest_v3_mv3">2.1.1. Migration de la WebExtension au format manifest v3 (MV3)</a></li> <li><a href="#_modularisation_réorganisation_en_modèle_vue_controleur">2.1.2. Modularisation : réorganisation en Modèle-Vue-Controleur</a></li> <li><a href="#_version_android_via_geckoview_dans_une_coquille_vide_en_kotlin">2.1.3. Version Android: via Geckoview dans une coquille vide en Kotlin …</a></li></ul></li></ul></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_2022_en_résumé">1. 2022 en résumé</a></li> <li><a href="#_perspectives_pour_2023">2. perspectives pour 2023</a> <ul class="sectlevel2"> <li><a href="#_grâce_au_soutien_financier_de_la_nlnet">2.1. Grâce au soutien financier de la NLnet</a> <ul class="sectlevel3"> <li><a href="#_migration_de_la_webextension_au_format_manifest_v3_mv3">2.1.1. Migration de la WebExtension au format manifest v3 (MV3)</a></li> <li><a href="#_modularisation_réorganisation_en_modèle_vue_controleur">2.1.2. Modularisation : réorganisation en Modèle-Vue-Controleur</a></li> <li><a href="#_version_android_via_geckoview_dans_une_coquille_vide_en_kotlin">2.1.3. Version Android: via Geckoview dans une coquille vide en Kotlin</a></li> <li><a href="#_terminer_le_formulaire_dajout_de_sources_gestion_des_réponses_html_et_json">2.1.4. Terminer le formulaire d&#8217;ajout de sources (gestion des réponses HTML et JSON)</a></li> <li><a href="#_gérer_le_besoin_de_cookies_de_certaines_sources">2.1.5. Gérer le besoin de cookies de certaines sources</a></li> <li><a href="#_re_qualification_de_certaines_sources_approximatives_en_sources_précises_sur_un_mot">2.1.6. Re-qualification de certaines sources approximatives en sources précises sur 'un mot'</a></li> </ul> </li> <li><a href="#_grâce_au_soutien_financier_de_la_région_nouvelle_aquitaine">2.2. Grâce au soutien financier de la Région Nouvelle-Aquitaine</a> <ul class="sectlevel3"> <li><a href="#_vigipress_com">2.2.1. Vigipress.com</a></li> </ul> </li> <li><a href="#_présence_aux_jdll_2023">2.3. Présence aux JdLL 2023</a> <ul class="sectlevel3"> <li><a href="#_financement_du_logiciel_libre_par_leurope_3_ans_de_soutien_à_meta_press_es">2.3.1. Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien à Meta-Press.es</a></li> <li><a href="#_web_scrapping_retrospective_et_lessons_tirées_de_lintégration_de_675_sources_à_meta_press_es">2.3.2. Web scrapping : retrospective et lessons tirées de l&#8217;intégration de 675 sources à Meta-Press.es</a></li> </ul> </li> <li><a href="#_nouveau_stagiaire">2.4. Nouveau stagiaire</a></li> </ul> </li> <li><a href="#_meta_press_es_a_besoin_de_retour_utilisateur">3. Meta-Press.es a besoin de retour utilisateur</a></li> </ul> </div> <div class="sect1"> <h2 id="_2022_en_résumé">1. 2022 en résumé</h2> <div class="sectionbody"> <div class="paragraph"> <p>Commençons par quelques statistiques.</p> </div> <div class="paragraph"> <p>Il y a eu <a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/versions/">7 grosses sorties</a> (pour un total de 14 nouvelles versions si on compte aussi les corrections de bogue et la maintenance des sources) en 2022 et 12 communications sur ce site.</p> </div> <div class="paragraph"> <p><a href="https://framagit.org/Siltaar/meta-press-ext/activity">301 <em>commits</em></a> ont été poussés par 3 personnes (merci à : Baignoirphe et Matthieu Rakotojaona) via 14 <em>merge requests</em> sur Framagit. Cela représente à peu près un tier des 1088 <em>commits</em> qui compte le projet. 2022 a donc été une bonne année pour Meta-Press.es.</p> </div> <div class="paragraph"> <p>La dernière version publiée affiche <strong>675 sources</strong> ce qui est grosso modo le double du nombre de sources accessibles fin 2021.</p> </div> <div class="paragraph"> <p>Les principales fonctionnalités ajoutées en 2022 furent :</p> </div> <div class="ulist"> <ul> <li> <p>le mode enfant, qui limite d&#8217;un clic les sources de Meta-Press.es à celles approuvées pour les enfants</p> </li> <li> <p>le bouton de signalement d&#8217;une source défectueuse</p> </li> <li> <p>le formulaire de création de sources, pour ajouter facilement sa source préférée même sans connaissance particulières en programmation (pour l&#8217;instant encore limité aux sources servant leurs résultats sous forme de flux RSS comme c&#8217;est le cas avec WordPress)</p> </li> <li> <p>les exports de résultats au format CSV</p> </li> <li> <p>la nouvelle liste des sources permettant de les parcourir et de les choisir une par une</p> </li> </ul> </div> <div class="paragraph"> <p>De gros changement ont également été opéré en profondeur dans le code :</p> </div> <div class="ulist"> <ul> <li> <p>la prise en charge des traductions via <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate</a> (et de nouvelles chaînes de caractères arriveront bientôt)</p> </li> <li> <p>la récupération des actualités à partir des flux RSS des sources (au lieu de leur page d&#8217;accueil qui bouge tout le temps) et qui comportent désormais une illustration lorsqu&#8217;elle est disponible dans le flux</p> </li> <li> <p>l&#8217;utilisation de <code>Intl.DisplayNames</code> pour les noms de pays et de la langue ainsi que de <code>Intl.DateTimeFormat</code> pour récupérer les numéros de mois à partir de leurs noms</p> </li> <li> <p>la création d&#8217;une page dédiée au test des sources, toutes d&#8217;un coup (erreur, avertissements, problèmes réseaux…)</p> </li> <li> <p>les premiers tests de bout en bout (via Selenium) pour éviter les régressions entre deux versions (travail encore en cours)</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_perspectives_pour_2023">2. perspectives pour 2023</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_grâce_au_soutien_financier_de_la_nlnet">2.1. Grâce au soutien financier de la NLnet</h3> <div class="imageblock"> <div class="content"> <img src="https://nlnet.nl/image/logos/NGI0_tag.svg" alt="NGI0 tag"> </div> <div class="title">Figure 1. NGI0 logo</div> </div> <div class="paragraph"> <p>Meta-Press.es a obtenu, pour la 3e fois, une aide via l&#8217;initiative <a href="https://nlnet.nl/core/">NGI0</a> de la Comission Européenne, piloté par la NLnet.</p> </div> <div class="paragraph"> <p>Il s&#8217;agit à nouveau de 20k€ et cela en vue de financer les 8 développements suivants.</p> </div> <div class="sect3"> <h4 id="_migration_de_la_webextension_au_format_manifest_v3_mv3">2.1.1. Migration de la WebExtension au format manifest v3 (MV3)</h4> <div class="paragraph"> <p>Le "manifest v3" est une évolution de la manière d&#8217;organiser une WebExtension. Cette version imposée par Google introduit de nouveaux conceptes et en retire d&#8217;autres. Parmis les conceptes retirés certains sont utiles à Meta-Press.es et risquent de nécessiter de gros efforts pour pouvoir s&#8217;en passer. "MV3" était initialement annoncé pour janvier 2023 mais a été repoussé à juin 2023 par Google, alors que Mozilla a sorti en janvier sa propre implémentation sapant du même les efforts de Google pour réduire via le MV3 l&#8217;efficacité des bloqueurs de publicité.</p> </div> <div class="paragraph"> <p>Voir :</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://www.nextinpact.com/article/70851/firefox-109-premier-navigateur-a-supporter-manifest-v3-mais-a-sauce-mozilla">Firefox 109, premier navigateur à supporter le Manifest V3, mais à la sauce Mozilla</a></p> </li> <li> <p><a href="https://www.phonandroid.com/firefox-109-offre-un-repit-aux-bloqueurs-de-pubs-mais-on-ne-sait-pas-pour-combien-de-temps.html">Firefox 109 offre un répit aux bloqueurs de pubs, mais on ne sait pas pour combien de temps</a></p> </li> </ul> </div> </div> <div class="sect3"> <h4 id="_modularisation_réorganisation_en_modèle_vue_controleur">2.1.2. Modularisation : réorganisation en Modèle-Vue-Controleur</h4> <div class="paragraph"> <p>Meta-Press.es est passé d&#8217;un petit projet de 1000 lignes de JavaScript à 5000 lignes de code, alors que son organisation est restée monolithique. Cette réorganisation permettra d&#8217;isoler un noyau de fonctionnalités sous la forme d&#8217;un module JavaScript indépendant auquel différentes interfaces pourront se greffer.</p> </div> <div class="paragraph"> <p>Un client en ligne de commande servira de preuve de concept à la réorganisation MVC. Il devra permettre de réaliser des recherches en dehors d&#8217;un navigateur web, en listant les résultats directement dans le terminal.</p> </div> </div> <div class="sect3"> <h4 id="_version_android_via_geckoview_dans_une_coquille_vide_en_kotlin">2.1.3. Version Android: via Geckoview dans une coquille vide en Kotlin</h4> <div class="paragraph"> <p>Il y a probablement <a href="/journal/2021/2021_recap.html">1000x</a> d&#8217;utilisateurs d&#8217;Android dans le monde qu&#8217;il n&#8217;y a d&#8217;utilisateurs de Firefox ayant installé une WebExtension. Permettre à Meta-Press.es d&#8217;être distribué sous la forme d&#8217;une application Android devrait mécaniquement augmenter son nombre d&#8217;utilisateurs.</p> </div> <div class="paragraph"> <p>Cette première étape consiste à créer un conteneur vide permettant l&#8217;exécution d&#8217;une WebExtension via <a href="https://sammacbeth.eu/blog/2019/09/04/geckoview-extensions.html">Geckoview</a>.</p> </div> <div class="paragraph"> <p>Puis il s&#8217;agira de faire fonctionner une version complète de Meta-Press.es dans la précédente coquille vide, et à enregistrer cette nouvelle "app" Android Meta-Press.es auprès des principaux canaux de distribution : <a href="https://f-droid.org">F-Droid.org</a> et Google Play.</p> </div> </div> <div class="sect3"> <h4 id="_terminer_le_formulaire_dajout_de_sources_gestion_des_réponses_html_et_json">2.1.4. Terminer le formulaire d&#8217;ajout de sources (gestion des réponses HTML et JSON)</h4> <div class="paragraph"> <p>Meta-Press.es permet la contribution de nouvelles sources par les utilisateurs depuis sa version 1.0, mais les contributions n&#8217;étaient en pratique possible que pour les développeurs. Pour permettre à tous les utilisateurs d&#8217;ajouter leurs sources favorites à Meta-Press.es, un formulaire semi-automatique a été mis en place. Il vise à simplifier la tâche au maximum. Une première version de ce formulaire a déjà été publiée mais elle est limitée aux sources fournissant leurs résultats sous la forme de flux RSS (comme WordPress). Il s&#8217;agira donc ici d&#8217;ajouter d&#8217;autres cas de figure au formulaire : les réponses servies sous forme de page web ou d&#8217;objet JSON.</p> </div> </div> <div class="sect3"> <h4 id="_gérer_le_besoin_de_cookies_de_certaines_sources">2.1.5. Gérer le besoin de cookies de certaines sources</h4> <div class="paragraph"> <p>Avec l&#8217;application du RGPD un nombre grandissant de sources imposent désormais la présence de leur <em>cookie</em> pour pouvoir faire une recherche. Il faut donc que Meta-Press.es apprenne à récupérer ces <em>cookie</em> (et autres jetons) via une requête préliminaire pour les sources les plus pénibles. Ceci implique une évolution de l&#8217;API définissant l&#8217;intégration des sources (ainsi que de sa <a href="https://www.meta-press.es/pages/meta-press.es_documentation.html">documentation</a>).</p> </div> </div> <div class="sect3"> <h4 id="_re_qualification_de_certaines_sources_approximatives_en_sources_précises_sur_un_mot">2.1.6. Re-qualification de certaines sources approximatives en sources précises sur 'un mot'</h4> <div class="paragraph"> <p>Il s&#8217;agit d&#8217;un autre ajout à l&#8217;API d&#8217;intégration des sources à Meta-Press.es afin d&#8217;ajouter un post-traitement à certaines sources pour ne garder que leurs résultats contenant effectivement le mot clé recherché. Certaines sources garnissent en effet leurs résultats d&#8217;un extrait contenant les mots clés recherchés et il est alors facile de vérifier leur présence.</p> </div> </div> </div> <div class="sect2"> <h3 id="_grâce_au_soutien_financier_de_la_région_nouvelle_aquitaine">2.2. Grâce au soutien financier de la Région Nouvelle-Aquitaine</h3> <div class="imageblock"> <div class="content"> <img src="https://i1.createsend1.com/ei/r/C0/BD9/3A6/223854/csfinal/logo1rouge.png" alt="logo1rouge"> </div> <div class="title">Figure 2. Région Nouvelle-Aquitaine bandeau</div> </div> <div class="paragraph"> <p>La Région Nouvelle-Aquitaine dispose d&#8217;un programme de financement du logiciel libre innovant nommé NAOS (Nouvelle-Aquitaine Open Source).</p> </div> <div class="paragraph"> <p>Après plusieurs années de démarches administratives compliquées un financement de 49k€ a été accordé à l&#8217;entreprise <a href="https://acoeuro.com">Acoeuro</a> pour travailler sur Meta-Press.es.</p> </div> <div class="paragraph"> <p>Ce financement permettra de développer un modèle économique autour de l&#8217;outil Meta-Press.es dans le but de le rendre auto-suffisant.</p> </div> <div class="sect3"> <h4 id="_vigipress_com">2.2.1. Vigipress.com</h4> <div class="paragraph"> <p>Une nouvelle plateforme web sera ainsi développée afin de proposer un service payant d&#8217;hébergement de revues de presses (publiques ou privées) facilement alimentables par Meta-Press.se. Cette plateforme proposera également à ses utilisateurs une version web de Meta-Press.es (rendant l&#8217;outil accessible à de nouveaux publics) ainsi que d&#8217;autres services à valeur ajoutée comme des notifications par courriel de nouveaux résultats ou une édition PDF personnalisée (avec logo) des revues de presse.</p> </div> <div class="paragraph"> <p>Cette nouvelle plateforme s&#8217;appellera Vigipress.com et sera hébergée par <a href="https://www.globenet.org/Lettre-d-information-novembre-2022.html">Globenet.org</a>, un hébergeur associatif français vénérable et reconnu. Ce partenariat fut annoncé dans sa lettre d&#8217;information de novembre 2022.</p> </div> </div> </div> <div class="sect2"> <h3 id="_présence_aux_jdll_2023">2.3. Présence aux JdLL 2023</h3> <div class="paragraph"> <p>J&#8217;ai proposé deux conférences pour la prochaine édition des <a href="https://jdll.org">JdLL</a> les 1 et 2 avril prochain.</p> </div> <div class="paragraph"> <p>Les deux conférences ont été retenues et j&#8217;aurais donc la chance d&#8217;y présenter les sujets suivants.</p> </div> <div class="sect3"> <h4 id="_financement_du_logiciel_libre_par_leurope_3_ans_de_soutien_à_meta_press_es">2.3.1. Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien à Meta-Press.es</h4> <div class="paragraph"> <p><strong>Découvrez avec quelle simplicité et quelle efficacité la NLnet peut soutenir votre logiciel libre.</strong></p> </div> <div class="paragraph"> <p>Quelques courriels, beaucoup de sérieux et des dizaines de milliers d&#8217;euros… Voilà à quoi se résume le tour de force qu&#8217;opère la NLnet en tant qu&#8217;intermédiaire entre la Commission Européenne (via son programme Next Generation Internet) et le fourmillant monde du logiciel libre.</p> </div> <div class="paragraph"> <p>Votre projet ouvre de nouveaux usages du net ? Il est éthiquement en logiciel libre ? Vous ne perdrez probablement pas de temps à répondre à un appel à candidature de la NLnet. C&#8217;est simple, direct et efficace… surtout en comparaison avec les 2 années de parcours du combattant pour obtenir la même chose de l&#8217;administration d&#8217;une grande région française (également décrites dans cette conférence).</p> </div> </div> <div class="sect3"> <h4 id="_web_scrapping_retrospective_et_lessons_tirées_de_lintégration_de_675_sources_à_meta_press_es">2.3.2. Web scrapping : retrospective et lessons tirées de l&#8217;intégration de 675 sources à Meta-Press.es</h4> <div class="paragraph"> <p><strong>Ça aurait dû être 675 journaux (qui se ressemblent), mais ça s&#8217;est transformé en ode à la créativité humaine !</strong></p> </div> <div class="paragraph"> <p><strong>Florilège de bizarreries qu&#8217;on croise vraiment sur le web.</strong></p> </div> <div class="paragraph"> <p>Analyser une page web à partir de JavaScript dans une WebExtension, ça avait l&#8217;air simple pourtant !</p> </div> <div class="paragraph"> <p>Oui, mais le serveur il répond du JSONP en fait et le content-type ment comme un patient du DrHouse ! En plus y&#8217;a d&#8217;abord une redirection et puis le charset, bah c&#8217;est pas UTF8 … T_T</p> </div> <div class="paragraph"> <p>Florilège de ce que l&#8217;humanité fait vraiment du web dans 64 pays et 71 langues !</p> </div> </div> </div> <div class="sect2"> <h3 id="_nouveau_stagiaire">2.4. Nouveau stagiaire</h3> <div class="paragraph"> <p>Qui aurait parié que tant stagiaires seraient passés par Pougne-Hérisson (un petit village de moins de 300 irréductibles Deux-Sèvriens) pour travailler sur l&#8217;état de l&#8217;art de l&#8217;alternative décentralisée à Google Actualités ?</p> </div> <div class="paragraph"> <p>Ce printemps pourtant Olivier Villaverde se rendra au quartier général de Meta-Press.es pour un stage en immersion facilitée.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_meta_press_es_a_besoin_de_retour_utilisateur">3. Meta-Press.es a besoin de retour utilisateur</h2> <div class="sectionbody"> <div class="paragraph"> <p>Depuis presqu&#8217;un an que le bouton de signalement d&#8217;une source défectueuse est apparu sur l&#8217;interface utilisateur de Meta-Press.es, personne n&#8217;a jamais cliqué dessus. Le signal que j&#8217;ai reçu c&#8217;était moi qui testais le truc (encore et encore) pour vérifier que ça fonctionne.</p> </div> <div class="paragraph"> <p>Comme vous pouvez le constater à la lecture de ce billet, le projet Meta-Press.es va très bien, mais il faut mitiger un peu cette observation. En fait la principale faiblesse du projet aujourd&#8217;hui c&#8217;est son faible nombre d&#8217;utilisateurs. Avec plus d&#8217;un téléchargement par jour, les statistiques d&#8217;utilisation fournies par Mozilla montrent que le nombre d&#8217;utilisateurs quotidien reste à 700 (les bons jours) depuis 2 ans.</p> </div> <div class="paragraph"> <p>Il y a donc un grand nombre d&#8217;utilisateurs qui sont perdus en route… ils téléchargent, testent, mais ne gardent pas.</p> </div> <div class="paragraph"> <p>Si vous vous reconnaissez dans cette description, ou si ayant testé Meta-Press.es vous la moindre remarque à formuler (vous auriez voulu ça, ou autre chose) je vous encourage vivement à me parler de votre expérience par courriel. Il y a quelque chose à améliorer quelque part…</p> </div> <div class="paragraph"> <p>L&#8217;adresse c&#8217;est : contact@ &lt;project-name&gt;</p> </div> </div> </div>Formation Meta-Press.es online and on demand2022-11-10T00:00:00+01:002022-11-10T00:00:00+01:00Siltaartag:www.meta-press.es,2022-11-10:/journal/2022/formation_on_demand.html<div class="paragraph"> <p>New concept, on demand Meta-Press.es formations via : <a href="https://meet.jit.si/meta-press.es" class="bare">https://meet.jit.si/meta-press.es</a></p> </div> <div class="paragraph"> <p>Get in touch by email (contact@…) via Mastodon <a href="https://pouet.chapril.org/@metapress">@metapress</a>, via Framagit.org, or via IRC (#<a href="mailto:[email protected]">[email protected]</a>)…</p> </div> <div class="paragraph"> <p>Let&#8217;s setup a rendez-vous !</p> </div> <div class="paragraph"> <p>2 formats possible :</p> </div> <div class="ulist"> <ul> <li> <p>20 minutes (you already have questions)</p> </li> <li> <p>40 minutes (you …</p></li></ul></div><div class="paragraph"> <p>New concept, on demand Meta-Press.es formations via : <a href="https://meet.jit.si/meta-press.es" class="bare">https://meet.jit.si/meta-press.es</a></p> </div> <div class="paragraph"> <p>Get in touch by email (contact@…) via Mastodon <a href="https://pouet.chapril.org/@metapress">@metapress</a>, via Framagit.org, or via IRC (#<a href="mailto:[email protected]">[email protected]</a>)…</p> </div> <div class="paragraph"> <p>Let&#8217;s setup a rendez-vous !</p> </div> <div class="paragraph"> <p>2 formats possible :</p> </div> <div class="ulist"> <ul> <li> <p>20 minutes (you already have questions)</p> </li> <li> <p>40 minutes (you just start)</p> </li> </ul> </div> <div class="paragraph"> <p>Formation "add sources" to Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>20 min (all by mouse, but for RSS sources only)</p> </li> <li> <p>40 min (required knowledge in JSON and CSS)</p> </li> </ul> </div> <div class="paragraph"> <p>It&#8217;s free, but you can support the project via Liberapay or HelloAsso.</p> </div>Formation Meta-Press.es en ligne et à la demande2022-11-10T00:00:00+01:002022-11-10T00:00:00+01:00Siltaartag:www.meta-press.es,2022-11-10:/fr/journal/2022/formation_on_demand.html<div class="paragraph"> <p>Nouveau concept, les formations Meta-Press.es à la demande sur : <a href="https://meet.jit.si/meta-press.es" class="bare">https://meet.jit.si/meta-press.es</a></p> </div> <div class="paragraph"> <p>Faîtes-moi signe par courriel (contact@…) via Mastodon <a href="https://pouet.chapril.org/@metapress">@metapress</a>, via le Framagit, sur IRC (#<a href="mailto:[email protected]">[email protected]</a>)…</p> </div> <div class="paragraph"> <p>Choisissons un rendez-vous et c&#8217;est parti !</p> </div> <div class="paragraph"> <p>Deux formats disponibles :</p> </div> <div class="ulist"> <ul> <li> <p>20 minutes (vous avez des questions)</p> </li> <li> <p>40 …</p></li></ul></div><div class="paragraph"> <p>Nouveau concept, les formations Meta-Press.es à la demande sur : <a href="https://meet.jit.si/meta-press.es" class="bare">https://meet.jit.si/meta-press.es</a></p> </div> <div class="paragraph"> <p>Faîtes-moi signe par courriel (contact@…) via Mastodon <a href="https://pouet.chapril.org/@metapress">@metapress</a>, via le Framagit, sur IRC (#<a href="mailto:[email protected]">[email protected]</a>)…</p> </div> <div class="paragraph"> <p>Choisissons un rendez-vous et c&#8217;est parti !</p> </div> <div class="paragraph"> <p>Deux formats disponibles :</p> </div> <div class="ulist"> <ul> <li> <p>20 minutes (vous avez des questions)</p> </li> <li> <p>40 minutes (en partant de rien)</p> </li> </ul> </div> <div class="paragraph"> <p>Formation "ajout de sources" à Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>20 min (tout à la souris mais limité aux sources RSS pour l&#8217;instant) ;</p> </li> <li> <p>40 min (compétences en JSON et CSS requises)</p> </li> </ul> </div> <div class="paragraph"> <p>C&#8217;est gratuit, mais vous pouvez soutenir le projet via Liberapay ou HelloAsso.</p> </div>Version 1.8.9 : Ergonomy, sources and maintenance2022-10-31T00:00:00+01:002022-10-31T00:00:00+01:00Siltaartag:www.meta-press.es,2022-10-31:/journal/2022/v1.8.9_ergonomy_sources_maintenance.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_got_plans_for_october">1. Got plans for October?</a></li> <li><a href="#_about_sources">2. About sources</a></li> <li><a href="#_ergonomy">3. Ergonomy</a></li> <li><a href="#_thanks_to_the_nlnet">4. Thanks to the NLnet</a></li> <li><a href="#_some_clouds_in_the_sky">5. Some clouds in the sky</a></li> <li><a href="#_you_can_help_the_project_with_just_an_email">6. You can help the project, with just an email</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This is an unexpected new release, made possible by the support of the NLnet, that covered the elapsed …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_got_plans_for_october">1. Got plans for October?</a></li> <li><a href="#_about_sources">2. About sources</a></li> <li><a href="#_ergonomy">3. Ergonomy</a></li> <li><a href="#_thanks_to_the_nlnet">4. Thanks to the NLnet</a></li> <li><a href="#_some_clouds_in_the_sky">5. Some clouds in the sky</a></li> <li><a href="#_you_can_help_the_project_with_just_an_email">6. You can help the project, with just an email</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This is an unexpected new release, made possible by the support of the NLnet, that covered the elapsed year and extended one more month.</p> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> Mozilla&#8217;s statistics show that around 50 daily users are stuck since 2 years with the version 1.6. Meta-Press.es have been greatly improved since. To get the lastest upgrades you might have to activate auto-upgrades for this addon or remove it to re-install a newer one from <a href="https://addons.mozilla.org/firefox/addon/meta-press-es/">addons.mozilla.org</a>. </td> </tr> </table> </div> </div> </div> <div class="sect1"> <h2 id="_got_plans_for_october">1. Got plans for October?</h2> <div class="sectionbody"> <div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>Date: Wed, 5 Oct 2022 14:55:22 +0200 From: Jos van den Oever &lt;…&gt; Subject: Got plans for October? As we make up the balance at the end of NGI0 Discovery, we still have a bit of budget left that we’d be glad to put to good use — but with less than a month to spend it. Given your project’s proven productivity, we thought you might be willing and able to still complete a planned task; or to add another task to your project. Are you interested ?</code></pre> </div> </div> <div class="paragraph"> <p>I just spent months working hard to complete all the due tasks of this 2nd round of support, and well I was feeling sorry regarding some unfinished business… The 150 broken sources that the new test source procedure was reporting for instance.</p> </div> <div class="paragraph"> <p>So, I gladly accepted to post-pone everything for one more month.</p> </div> <div class="paragraph"> <p>And here we are, this new version of Meta-Press.es is delivered with 667 tested working sources (against ±450 of the previous version). No secret : sources were fixed one by one.</p> </div> </div> </div> <div class="sect1"> <h2 id="_about_sources">2. About sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>I got some help from <a href="https://framagit.org/Baignoirphe">Benoit Lanceau</a> in this task, as he spent 6 weeks of internship with me at Pougne-Hérisson. He also added 40 more languages for GlobalVoices.org. It&#8217;s this kind of initiatives that extends the country and languages coverage of Meta-Press.es to 64 countries and 71 languages !</p> </div> <div class="paragraph"> <p>This version also brings its batch of new sources : - for kids sources (kids.keskonfai.com ; science-et-vie-junior.fr …) - independant sources (mostly via the automated source creation form : Causette.fr, Vert.eco, Chut.media, fij.ng, LeQuotidien.re, Pieuvre.ca…) - Mobilizon sources</p> </div> <div class="paragraph"> <p>And for this last point I thanks <a href="https://framagit.org/rakoo">Matthieu Rakotojaona</a>. He selected the 10 biggest instances of Mobilizon and provided their definition JSON object.</p> </div> </div> </div> <div class="sect1"> <h2 id="_ergonomy">3. Ergonomy</h2> <div class="sectionbody"> <div class="paragraph"> <p>I fixed a bunch of declared bugs. Don&#8217;t hesitate to declare more of them via Framagit.</p> </div> <div class="paragraph"> <p>I worked on the ergonomy fixing the appearance of the timezone widget in the settings, or adding a "clear input" cross button in the main search input…</p> </div> </div> </div> <div class="sect1"> <h2 id="_thanks_to_the_nlnet">4. Thanks to the NLnet</h2> <div class="sectionbody"> <div class="paragraph"> <p>I want to thanks the NLnet for it&#8217;s support. They will open more calls, I can testify that you won&#8217;t loose your time trying this application if you develop good internet related libre software.</p> </div> <div class="paragraph"> <p>I can help you with some details if you want to apply but feel shy about it.</p> </div> <div class="paragraph"> <p>With the NLnet : one short online form, a few emails exchanged with meaningful content and you&#8217;re set for a year or more.</p> </div> </div> </div> <div class="sect1"> <h2 id="_some_clouds_in_the_sky">5. Some clouds in the sky</h2> <div class="sectionbody"> <div class="paragraph"> <p>To finish, some clouds appeared in the sky of Meta-Press.es… more and more sources are trying to protect them against DDOS attack via their search features, requiring a cookie or a token to respond. This we&#8217;ll be able to deal with, it just requires some more code.</p> </div> <div class="paragraph"> <p>But some sources also started to remove their online search feature or to make it available only for registered users, and this represent a threat.</p> </div> </div> </div> <div class="sect1"> <h2 id="_you_can_help_the_project_with_just_an_email">6. You can help the project, with just an email</h2> <div class="sectionbody"> <div class="paragraph"> <p>To finish, there is a lot of sources that should be contacted to signal them that they miss dates on their search results (like Arte.tv, Reflets.info, Regards.fr, Socialter.fr, CourrierDesBalkans.fr or YemenPost.net, and a lot of others…), or that they are missing a search feature or it&#8217;s broken (like Philstar.com) or it&#8217;s not providing date sort for results (like Marianne.net, Nation.co.ke, Timesofindia.Indiatimes.com, Haaretz.com…) or they provide content in several languages but a search feature only for the main language (OpenDemocracy.net, cn.helsinkitimes.fi, …).</p> </div> <div class="paragraph"> <p>All of this is listed here : <a href="https://framagit.org/Siltaar/meta-press-ext/-/blob/master/wiki/incompatible_sources.adoc">incompatible_sources</a>.</p> </div> <div class="paragraph"> <p>Reaching sources requires just to write an email, it&#8217;s accessible to non-programmers, please help me on this.</p> </div> <div class="paragraph"> <p>Oh, and I also need help with arab (urdu ; farci ; arz) RTL dates and month name parsing (for instance with Aawsat.com). Don&#8217;t hesitate to reach me out about it.</p> </div> </div> </div>Version 1.8.9 : Ergonomie, sources et maintenance2022-10-31T00:00:00+01:002022-10-31T00:00:00+01:00Siltaartag:www.meta-press.es,2022-10-31:/fr/journal/2022/v1.8.9_ergonomy_sources_maintenance.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_vous_avez_des_plans_en_octobre">1. Vous avez des plans en octobre ?</a></li> <li><a href="#_point_sources">2. Point sources</a></li> <li><a href="#_ergonomie">3. Ergonomie</a></li> <li><a href="#_remerciement_à_la_nlnet">4. Remerciement à la NLnet</a></li> <li><a href="#_des_nuages_dans_le_ciel">5. Des nuages dans le ciel</a></li> <li><a href="#_vous_pouvez_aider_le_projet_avec_un_simple_courriel">6. Vous pouvez aider le projet, avec un simple courriel</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Voici une nouvelle version qui n&#8217;était pas prévue, rendue possible grâce ou soutien de la …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_vous_avez_des_plans_en_octobre">1. Vous avez des plans en octobre ?</a></li> <li><a href="#_point_sources">2. Point sources</a></li> <li><a href="#_ergonomie">3. Ergonomie</a></li> <li><a href="#_remerciement_à_la_nlnet">4. Remerciement à la NLnet</a></li> <li><a href="#_des_nuages_dans_le_ciel">5. Des nuages dans le ciel</a></li> <li><a href="#_vous_pouvez_aider_le_projet_avec_un_simple_courriel">6. Vous pouvez aider le projet, avec un simple courriel</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Voici une nouvelle version qui n&#8217;était pas prévue, rendue possible grâce ou soutien de la NLnet, qui a couvert l&#8217;année passée et ce mois de plus.</p> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> Les statistiques d&#8217;usage de Meta-Press.es calculées par Mozilla révèlent qu&#8217;environ 50 "utilisateurs" quotidiens sont bloqués depuis deux ans à la version 1.6. Meta-Press.es a connu de grandes améliorations depuis. Pour en profiter il faut soit activer les mises à jour automatiques de l&#8217;extension, soit la désinstaller et la ré-installer (à partir d&#8217;<a href="https://addons.mozilla.org/firefox/addon/meta-press-es/">addons.mozilla.org</a>). </td> </tr> </table> </div> </div> </div> <div class="sect1"> <h2 id="_vous_avez_des_plans_en_octobre">1. Vous avez des plans en octobre ?</h2> <div class="sectionbody"> <div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>Date: Wed, 5 Oct 2022 14:55:22 +0200 From: Jos van den Oever &lt;…&gt; Subject: Vous avez des plans en octobre ? Après avoir fait le compte du budget NGI0 Discovery, nous avons encore un peu de budget disponible et nous aimerions le mettre tout de même à profit, mais nous n'avons qu'un moins pour le dépenser. Vu la productivité de votre projet, nous nous sommes dit que vous voudriez peut être (et pourriez) compléter ou ajouter d'autres tâches pour votre projet. Êtes-vous intéressé ?</code></pre> </div> </div> <div class="paragraph"> <p>J&#8217;ai justement passé les derniers mois à travailler dur pour compléter les tâches prévues lors de ce second soutien de la NLnet à Meta-Press.es, et j&#8217;étais justement un peu déçu de devoir laisser certaines choses en plan… comme les 150 sources rapportées comme cassées pour la nouvelle procédure de test.</p> </div> <div class="paragraph"> <p>Alors j&#8217;ai joyeusement rempilé pour un mois, décalant à nouveau toute autres activités en cours.</p> </div> <div class="paragraph"> <p>Et nous y voilà, cette nouvelle version de Meta-Press.es est livrée est avec 667 sources fonctionnelles testées (contre ±450 pour la précédente version). Et il n&#8217;y a pas de secret : les sources ont été réparées, une par une.</p> </div> </div> </div> <div class="sect1"> <h2 id="_point_sources">2. Point sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>J&#8217;ai eu un peu d&#8217;aide pour ce faire de la parte de <a href="https://framagit.org/Baignoirphe">Benoit Lanceau</a> qui a passé un total de 6 semaines de stage avec moi à Pougne-Hérisson. C&#8217;est aussi lui qui a ajouté 40 nouvelles langues pour la source GlobalVoices.org. C&#8217;est ce genre d&#8217;initiatives qui arrive encore a étendre la couverture de langues et de pays de Meta-Press.es, et nous en sommes donc à 64 pays et 71 langues !</p> </div> <div class="paragraph"> <p>Cette nouvelle version apporte également son lot de nouvelles sources :</p> </div> <div class="ulist"> <ul> <li> <p>pour enfant (avec kids.keskonfai.com ; science-et-vie-junior.fr …)</p> </li> <li> <p>indépendantes (principalement via le formulaire de création automatique de sources : Causette.fr, Vert.eco, Chut.media, fij.ng, LeQuotidien.re, Pieuvre.ca…)</p> </li> <li> <p>Mobilizon</p> </li> </ul> </div> <div class="paragraph"> <p>Et pour ce dernier point je remercie chaleureusement <a href="https://framagit.org/rakoo">Matthieu Rakotojaona</a> qui a sélectionné les 10 plus grosses instances de Mobilizon et a fourni leur définition.</p> </div> </div> </div> <div class="sect1"> <h2 id="_ergonomie">3. Ergonomie</h2> <div class="sectionbody"> <div class="paragraph"> <p>J&#8217;ai sinon réparé un paquet de bugs déclarés sur le Framagit, n&#8217;hésitez pas à en rapporter d&#8217;autres.</p> </div> <div class="paragraph"> <p>J&#8217;ai travaillé sur l&#8217;ergonomie, en réparant l&#8217;apparence du sélecteur de fuseau horaire dans les réglages ou en ajoutant un bouton pour vider le champs de recherche d&#8217;un clic…</p> </div> </div> </div> <div class="sect1"> <h2 id="_remerciement_à_la_nlnet">4. Remerciement à la NLnet</h2> <div class="sectionbody"> <div class="paragraph"> <p>Je tiens vraiment a remercier la NLnet pour son soutien.</p> </div> <div class="paragraph"> <p>Ils ouvriront bientôt de nouveau appels à projets et je peux témoigner qu&#8217;on ne perds pas son temps à candidater quand on développe du logiciel libre pour internet.</p> </div> <div class="paragraph"> <p>D&#8217;ailleurs je peux également vous aider à cadrer votre candidature si la démarche vous intimide encore.</p> </div> <div class="paragraph"> <p>Avec la NLnet, c&#8217;est : un petit formulaire en ligne, quelques bons courriels échangés et en route vers une année de développement ! (voire plus)</p> </div> </div> </div> <div class="sect1"> <h2 id="_des_nuages_dans_le_ciel">5. Des nuages dans le ciel</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pour finir, j&#8217;ai vu apparaitre quelques nuages dans le ciel dégagé de Meta-Press.es récemment… en effet, de plus en plus de sources essayent de se protéger contre des attaques en déni de service opérées via leur fonctionnalité de recherche en ligne. Elles imposent par exemple la présence d&#8217;un jeton (ou d&#8217;un cookie) pour fournir des réponses. Ça, ce n&#8217;est pas encore très grave, ça va demander un peu plus de code mais ça reste accessible.</p> </div> <div class="paragraph"> <p>D&#8217;autres sources commencent à réserver leur fonctionnalité de recherche en ligne à leur abonnés… et là, il reste à espérer que ça ne va pas se généraliser.</p> </div> </div> </div> <div class="sect1"> <h2 id="_vous_pouvez_aider_le_projet_avec_un_simple_courriel">6. Vous pouvez aider le projet, avec un simple courriel</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pour finir, il y a plein de sources qui devraient être contactées pour leur signaler que leur recherche est cassée par exemple (comme le Philstar.com) ou qu&#8217;il n&#8217;y a pas de date sur leurs résultats de recherche (comme Arte.tv, Reflets.info, Regards.fr, Socialter.fr, CourrielDesBalkans.fr ou le YemenPost.net) ou encore qu&#8217;ils n&#8217;offrent pas de tri par date des résultats (comme Marianne.net, Nation.co.ke, TimesOfIndia.Indiatimes.com, Haaretz.com…) ou enfin qu&#8217;ils fournissent du contenu dans plusieurs langues, mais que leur recherche ne débouche que sur leur langue principale (comme OpenDemocracy.net ou cn.helsinkitimes.fi, …).</p> </div> <div class="paragraph"> <p>Toutes ces anomalies à faire corriger sont listées ici : <a href="https://framagit.org/Siltaar/meta-press-ext/-/blob/master/wiki/incompatible_sources.adoc">incompatible_sources</a>.</p> </div> <div class="paragraph"> <p>Contacter ces sources ne demande qu&#8217;un courriel, c&#8217;est accessible au non-programmeurs et j&#8217;ai besoin de votre aide sur ça.</p> </div> <div class="paragraph"> <p>Oh et puis tant que j&#8217;y suis, j&#8217;ai également besoin d&#8217;aide sur les dates en langues arabes (Urdu, Farci, Égyptien) écrites de droite à gauche et avec des déclinaisons dans les noms de mois (par rapport à ce que Firefox fourni). N&#8217;hésitez pas à me contacter si vous pouvez m&#8217;éclairer à ce propos.</p> </div> <div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>aawsat.com est une source qui propose des actualités en "Arabe", Urdu, Farci… Or, autant j'ai réussi à gérer les déclinaisons de mois du Wikipedia Russe, autant pour le Urdu j'arrive à attraper l'année, et pour l'instant, au mieux, le mois de mars… mais surtout je patauge dans mon manque de culture sur ces langues (la façon dont les mois sont déclinés) et la façon dont Firefox gère ce qui s'écrit de droite à gauche. Besoin d'aide…</code></pre> </div> </div> <div class="paragraph"> <p><em>30 oct. 2022, 12:20, <a href="https://pouet.chapril.org/web/@metapress/109257189684440419" class="bare">https://pouet.chapril.org/web/@metapress/109257189684440419</a></em></p> </div> </div> </div>Version 1.8.7 : Mobilizon, source testing, end-to-end testing2022-09-30T00:00:00+02:002022-09-30T00:00:00+02:00Siltaartag:www.meta-press.es,2022-09-30:/journal/2022/v1.8.7_mobilizon_source-testing_end-to-end_testing.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_testing">1. Source testing</a></li> <li><a href="#_end_to_end_testing">2. End to end testing</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Meta-Press.es slowly acquires more maturity, for this new version the focus was on : testing.</p> </div> <div class="ulist"> <ul> <li> <p>testing of all the sources</p> </li> <li> <p>testing of all the features</p> </li> </ul> </div> <div class="paragraph"> <p>But that&#8217;s not all, quite some bugs where corrected and following the discussions with Code …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_source_testing">1. Source testing</a></li> <li><a href="#_end_to_end_testing">2. End to end testing</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Meta-Press.es slowly acquires more maturity, for this new version the focus was on : testing.</p> </div> <div class="ulist"> <ul> <li> <p>testing of all the sources</p> </li> <li> <p>testing of all the features</p> </li> </ul> </div> <div class="paragraph"> <p>But that&#8217;s not all, quite some bugs where corrected and following the discussions with Code Lutin&#8217;s crew met in Nantes earlier this month, a new source was <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/57">contributed</a> : Mobilizon !</p> </div> <div class="paragraph"> <p>You can find it in the Agenda source type, and this 1st instance is opening the door for the 88 known instances of Mobilizon, that will soon join the 27 instances of Demosphere, the AgendaMilitant.org, while we still wait for the AgendaDuLibre.org to implement a full-text search.</p> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> Users reported that the v1.8.8 was opening the Welcome tab at each Firefox start… It&#8217;s fixed with version 1.8.8.1. (And yes : the v1.8.8 is in fact the v1.8.7 because of a numbering mistake…). </td> </tr> </table> </div> </div> </div> <div class="sect1"> <h2 id="_source_testing">1. Source testing</h2> <div class="sectionbody"> <div class="paragraph"> <p>A source testing feature existed, made by Christopher Gauthier, it was able to verify that all the sources were still reachable and giving results. We tried many approaches for this first version and it was slow, running in around 600 seconds for 300 sources.</p> </div> <div class="paragraph"> <p>The new version keeps most of the presentation improvement made by Christopher over the 1st iteration, but I simplified a lot of the operations. I, more or less, removed 1000 code lines from the main page JavaScript and got it into separate files, keeping around 300 lines.</p> </div> <div class="paragraph"> <p>Before, it was needed to change some Firefox settings (to allow it to open one tab by source to test). Now it&#8217;s just a page to visit and a button to click. All the sources are tested at once, in the same tab, with the same word. Because there is one magic word that at least 75% of all the sources are responding to… and it&#8217;s « Europe ». (yes, some newspapers did not spoke about COVID, at all ; and yes, I have 25% of the sources to fix).</p> </div> <div class="paragraph"> <p>This new version of the test procedure runs in 1'30" with a recent Firefox (it&#8217;s 3x time slower with the ASAN version of Firefox).</p> </div> <div class="paragraph"> <p>I tested various browsers with no noticeable differences in speed. Firefox is regularly the fastest WebExtension supporting browser in the world according to this test.</p> </div> <div class="paragraph"> <p>One funny point to finish : there are groups of sources hosted on the same web server. It can be different languages of the same newspapers (Euronews), or a group of local newspapers (Dauphiné libéré and its numerous extends) or even already just the image and video versions of the same source (ANSA). And they fail when queried all at once by the source testing procedure. I guess that when their common server sees 10 requests from the same IP within a few milliseconds, it hangs up the connexions.</p> </div> <div class="paragraph"> <p>Fortunately, Firefox introduced a DNS handling API for WebExtensions about a year ago. So IPs of the sources are collected prior to send queries and a delay is added for sources sharing their IP. This improves the overall Meta-Press.es behavior and this need would have been difficult to spot without this test procedure.</p> </div> <div class="paragraph"> <p>Bad web browsers don&#8217;t have support for DNS handling (all the others) and I&#8217;m left with the shuffling of the source list and a static delay between each sources. To be true, as it takes around 50ms to lookup for a domain IP results are comparable…</p> </div> <div class="paragraph"> <p>But regarding this core Meta-Press.es need, Firefox is also shinning world wide.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220930_source_testing.png" alt="20220930 source testing"> </div> <div class="title">Figure 1. Capture of the source testing matrix result.</div> </div> </div> </div> <div class="sect1"> <h2 id="_end_to_end_testing">2. End to end testing</h2> <div class="sectionbody"> <div class="paragraph"> <p>I should have done it before, as it would have avoid quite some regressions… (regarding <strong>one-word</strong> / <strong>many-words</strong> tag auto-selection for instance, reported on <a href="https://mamot.fr/web/@Siltaer/109048095446472306">Mastodon</a> and fixed with this release)</p> </div> <div class="paragraph"> <p>I chose Selenium for this over Karma to be able to click on JavaScript alerts, and over Puppeteer also to be able to run the tests in several browsers.</p> </div> <div class="paragraph"> <p>I used a bit of Python to manipulate Selenium (which is made of Java) and needed some JavaScript too.</p> </div> <div class="paragraph"> <p>I did only put the basis of what will still be a long journey to achieve a 100% test coverage. But we&#8217;re heading to it, and we already have a 100% coverage for internal image loading, internal links loading and static external links loading. This looks like something basic, everyone needs this, but it&#8217;s not easy to achieve. To start with something it required external dependencies (Selenium, Python-Selenium, Geckodriver…) and a combination of Python and JavaScript code.</p> </div> <div class="paragraph"> <p>Then I was left with one question:</p> </div> <div class="literalblock"> <div class="content"> <pre>Why is #Selenium so famous ? Ok, it can open a headless Firefox and execute some JavaScript in. But it can't get you JavaScript exceptions back. It can't get you HTTP status. It can't get you span text if an alert is open. It can't click on a browser permission popup. What are we left with ? Be water.</pre> </div> </div> <div class="paragraph"> <p><em>- @<a href="mailto:[email protected]">[email protected]</a> 30 septembre 2022 12:32, <a href="https://mamot.fr/@Siltaer/109087368503328477" class="bare">https://mamot.fr/@Siltaer/109087368503328477</a></em></p> </div> <div class="paragraph"> <p>To manage to get a reliable behavior from Selenium, you need to wait until all the JavaScript of your web page loads. This is not something Selenium provides. I got 2 methods working for this : setting a CSS class on the <code>body</code> HTML tag (for instance) of your web page, via JavaScript, when it finishes to load, or setting a JavaScript variable in the <code>window</code> object and wait for it from the Selenium side.</p> </div> <div class="paragraph"> <p>Then, Selenium can&#8217;t tell me if an image is loaded or not. So I had to figure out how to tell this using JavaScript code, injected or called from Selenium.</p> </div> <div class="paragraph"> <p>Here are two ways to find out if an image loaded or not :</p> </div> <div class="ulist"> <ul> <li> <p>is the image having a non-zero <code>.naturalWidth</code> property ?</p> </li> <li> <p>is the image supports a call to <code>.decode()</code> ?</p> </li> </ul> </div> <div class="paragraph"> <p>The good point is : you don&#8217;t need a side request to get the information.</p> </div> <div class="paragraph"> <p>But you need those to tell if the links are broken or not (indeed).</p> </div> <div class="paragraph"> <p>As ranted in the Mastodon toot, Selenium won&#8217;t let you access the HTTP status code of a loaded page.</p> </div> <div class="paragraph"> <p>So lets try with JavaScript. It works great for WebExtension internal links. But external links are blocked by CORS policy. So those other links are to be tested from the Python driver script, but with a side <code>request</code> that Selenium ignores about (and deal with your error reporting to keep it homogeneous).</p> </div> <div class="paragraph"> <p>I pass on the genuine bugs that you&#8217;ll discover meanwhile… (exhaustively testing stuff)</p> </div> <div class="paragraph"> <p>And eventually it runs and reports no errors : so much emotions in front of this new lovely kind of "nothing".</p> </div> <div class="paragraph"> <p>It will be a long journey to write the tests of all the settings, one by one…</p> </div> </div> </div>Version 1.8.7 : Mobilizon, test des sources et test de bout en bout2022-09-30T00:00:00+02:002022-09-30T00:00:00+02:00Siltaartag:www.meta-press.es,2022-09-30:/fr/journal/2022/v1.8.7_mobilizon_source-testing_end-to-end_testing.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_test_des_sources">1. Test des sources</a></li> <li><a href="#_test_de_bout_en_bout">2. Test de bout en bout</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Meta-Press.es gagne progressivement en maturité, ainsi pour cette nouvelle version l&#8217;objectif était d&#8217;avancer sur les tests :</p> </div> <div class="ulist"> <ul> <li> <p>test de toutes les sources ;</p> </li> <li> <p>test de toutes les fonctionnalités.</p> </li> </ul> </div> <div class="paragraph"> <p>Mais ce n&#8217;est pas tout, un certain nombre de …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_test_des_sources">1. Test des sources</a></li> <li><a href="#_test_de_bout_en_bout">2. Test de bout en bout</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Meta-Press.es gagne progressivement en maturité, ainsi pour cette nouvelle version l&#8217;objectif était d&#8217;avancer sur les tests :</p> </div> <div class="ulist"> <ul> <li> <p>test de toutes les sources ;</p> </li> <li> <p>test de toutes les fonctionnalités.</p> </li> </ul> </div> <div class="paragraph"> <p>Mais ce n&#8217;est pas tout, un certain nombre de bugs ont été corrigés et les discussions menées durant les Escales du Libre à Nantes un peu plus tôt ce mois-ci avec les employés de Code Lutin ont abouti à la <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/57">contribution</a> d&#8217;une nouvelle source : Mobilizon !</p> </div> <div class="paragraph"> <p>Vous pouvez la retrouver parmi les sources de type Agenda et cette 1ère instance ouvre la voie pour les 88 autres instances de connues de Mobilizon, qui vont ainsi rejoindre les 27 instances de Demosphere ainsi que l&#8217;AgendaMilitant.org, alors qu&#8217;on attend toujours que l&#8217;AgendaDuLibre.org implémente une recherche textuelle globale…</p> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> Des utilisateurs ont rapporté un problème avec la fenêtre de bienvenue dans la v1.8.8, qui s&#8217;ouvre à chaque lancement de Firefox. C&#8217;est corrigé avec la version 1.8.8.1. (et oui : la v1.8.8 c&#8217;est en fait la v1.8.7, à cause d&#8217;une petite erreur de numérotation) </td> </tr> </table> </div> </div> </div> <div class="sect1"> <h2 id="_test_des_sources">1. Test des sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Une procédure de test des sources existait déjà, créée par Christopher Gauthier, permettant de vérifier que les sources étaient encore joignables et qu&#8217;on savait lire leurs résultats. Cette procédure était le fruit de nombreux essais et se révélait lente, requérant environ 600s pour tester 300 sources.</p> </div> <div class="paragraph"> <p>Cette nouvelle version conserve la présentation élaborée (et améliorée) avec Christopher, mais j&#8217;en ai simplifié le fonctionnement. Des 1000 lignes de JavaScript retirées du fichier principal, j&#8217;en ai gardé environ 300, réparties dans plusieurs fichiers.</p> </div> <div class="paragraph"> <p>De plus, avant il fallait changer un réglage interne de Firefox (pour permettre d&#8217;ouvrir un onglet par source à tester), alors que maintenant ce n&#8217;est qu&#8217;une page à visiter et un bouton à cliquer. Toutes les sources sont désormais testées en même temps, dans le même onglet, avec le même terme de recherche (pour l&#8217;instant). En effet, il existe un mot magique qu&#8217;au moins 75% des sources ont utilisé, et ce n&#8217;est pas COVID ! Mais « Europe ». (et oui, j&#8217;ai environ 25% des sources à réparer en l&#8217;état).</p> </div> <div class="paragraph"> <p>Cette nouvelle version de la procédure est bouclée en 1'30" avec un Firefox récent et en 1er lancé, quand les sources mettent du temps à répondre parce que la recherche n&#8217;est pas en cache. (c&#8217;est environ 3x plus lent avec un <em>Firefox nightly ASAN</em>).</p> </div> <div class="paragraph"> <p>J&#8217;ai testé cette procédure sur différents navigateurs sans noter de différence visible dans les résultats, ni concernant la durée d&#8217;exécution. Firefox est même régulièrement le navigateur web supportant les WebExtensions le plus rapide du monde, d&#8217;après ce test.</p> </div> <div class="paragraph"> <p>Une anecdote pour finir : il y a des groupes de sources hébergées sur un même serveur. Cela peut être les différentes langues d&#8217;un même journal (Euronews), un groupe de journaux locaux rachetés par une même <em>holding</em> (Dauphiné libéré et ses nombreux <em>extends</em>), ou déjà rien que les versions <code>image</code> et <code>vidéo</code> d&#8217;un grand journal (ANSA). Et malheureusement ces sources ressortent en erreur quand on lance la procédure de test. J&#8217;imagine que le serveur voyant arriver 10 requêtes en même temps (à quelques millisecondes d&#8217;intervalle) en provenance d&#8217;une même IP, s&#8217;empresse de raccrocher les connexions.</p> </div> <div class="paragraph"> <p>Fort heureusement Firefox a récemment introduit une nouvelle API de résolution de domaine pour les WebExtensions (il y a moins d&#8217;un an). Ainsi, il est possible de collecter les adresses IP des sources avant de lancer les requêtes et d&#8217;ajouter un délais pour celles qui partiront vers le même serveur. Au final ça améliore le fonctionnement le plus central de Meta-Press.es et il aurait été difficile de remarquer le besoin sans coder une cette procédure de test des sources.</p> </div> <div class="paragraph"> <p>Évidemment, les mauvais navigateurs web ne supportent pas encore cette API de gestion de DNS (c&#8217;est à dire tous les autres navigateurs web) ce qui oblige à chercher un palliatif sous la forme d&#8217;un mélange aléatoire de la liste des sources à interroger et de l&#8217;ajout d&#8217;un délais fixe entre chaque requêtes.</p> </div> <div class="paragraph"> <p>À vrai dire, vu que la résolution d&#8217;un domaine via Firefox prends quelques dizaines de millisecondes, les résultats des deux méthodes sont équivalents…</p> </div> <div class="paragraph"> <p>Mais à nouveau, concernant cet élément fondamental du fonctionnement de Meta-Press.es, Firefox se distingue mondialement.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220930_source_testing.png" alt="20220930 source testing"> </div> <div class="title">Figure 1. Capture of the source testing matrix result.</div> </div> <div class="paragraph"> <p>Force est de constater qu&#8217;une exposition prolongée au défragmenteur de Windows durant l&#8217;enfance laisse des séquelles durables…</p> </div> </div> </div> <div class="sect1"> <h2 id="_test_de_bout_en_bout">2. Test de bout en bout</h2> <div class="sectionbody"> <div class="paragraph"> <p>Que ne m&#8217;y suis-je mis plus tôt ? Ça aurait évité des régressions, comme celle concernant la sélection automatique des sources sachant chercher <strong>un mot</strong> ou <strong>plusieurs mots</strong>, comme il a été rapporté sur <a href="https://mamot.fr/web/@Siltaer/109048095446472306">Mastodon</a> et corrigé pour cette version.</p> </div> <div class="paragraph"> <p>J&#8217;ai utilisé Selenium pour implémenter ces tests, car on ne peut pas cliquer sur une fenêtre modale d' <code>alert</code> avec Karma, et que Puppeteer est en plus limité à un seul navigateur web.</p> </div> <div class="paragraph"> <p>J&#8217;ai utilisé un peu de Python pour manipuler Selenium (une bibliothèque de fonction écrite en Java) et eu besoin de pas mal de JavaScript aussi.</p> </div> <div class="paragraph"> <p>Seules les bases de ce grand chantier ont été jetées et un long chemin s&#8217;annonce pour arriver à une couverture fonctionnelle intégrale. M&#8217;enfin on est déjà à une couverture de 100% de la vérification du chargement des pages, des images, et des liens codés en dur (pas ceux liés aux sources, qui sont testées indépendamment… Vous ai-je parlé de la nouvelle procédure de test des sources !?).</p> </div> <div class="paragraph"> <p>Tester si les images se chargent ou si les liens sont morts pourrait sembler basique. Tout le monde à besoin de ça. Mais non, ce n&#8217;est pas évident à mettre en place… Pour commencer la solution s&#8217;appuie sur des dépendances (Selenium, Python-Selenium, Geckodriver…) et sur une combinaison de Python et de JavaScript pour piloter l&#8217;ensemble.</p> </div> <div class="paragraph"> <p>Et je me suis rapidement senti seul, avec une dernière question en tête (librement traduite) :</p> </div> <div class="literalblock"> <div class="content"> <pre> Pourquoi est-ce que #Selenium est si célèbre ? D'accord ça ouvre un Firefox sans fenêtre et y exécute du JavaScript dedans, Mais ça ne retourne pas les exceptions du JavaScript ! Ça ne retourne pas les codes de réponse HTTP. Ça ne peut pas lire le texte d'un span si une fenêtre modale est ouverte. ça ne peut pas cliquer sur les fenêtres de demande de permissions… Qu'est-ce qu'il nous reste finalement ? Un gros besoin de créativité.</pre> </div> </div> <div class="paragraph"> <p><em>- @<a href="mailto:[email protected]">[email protected]</a> 30 septembre 2022 12:32, <a href="https://mamot.fr/@Siltaer/109087368503328477" class="bare">https://mamot.fr/@Siltaer/109087368503328477</a></em></p> </div> <div class="paragraph"> <p>Pour obtenir un comportement rationnel de Selunium, il faut attendre que les pages soient complètement chargées, JavaScript compris. Mais ça, c&#8217;est encore quelque chose que Selenium ne propose pas. J&#8217;ai trouvé deux méthodes pour attendre l&#8217;exécution du JavaScript : faire placer par le JavaScript, et en fin de chargement, une classe CSS sur la balise <code>body</code> de la page web par exemple, ou déclarer une variable dans l&#8217;objet <code>window</code> et attendre qu&#8217;elle soit définie côté Selenium.</p> </div> <div class="paragraph"> <p>Ensuite, Selenium ne sait pas dire si une image a bien été chargée. J&#8217;ai donc dû trouver un moyen de faire ça avec du JavaScript, injecté ou appelé depuis Selenium.</p> </div> <div class="paragraph"> <p>Voici deux méthodes pour découvrir si une image a bien été chargée :</p> </div> <div class="ulist"> <ul> <li> <p>est-ce que sa propriété <code>.naturalWidth</code> vaut 0 ? (et alors c&#8217;est un échec de chargement)</p> </li> <li> <p>est-ce que l&#8217;image supporte un appel à la fonction <code>.decode()</code> ? (si l&#8217;image lance une exception parce qu&#8217;elle n&#8217;a rien à décoder, ce n&#8217;est pas bon signe)</p> </li> </ul> </div> <div class="paragraph"> <p>Un bon point c&#8217;est qu&#8217;il n&#8217;y a pas besoin de requêtes additionnelles pour obtenir l&#8217;info.</p> </div> <div class="paragraph"> <p>Mais on a par contre évidemment besoin de requêtes additionnelles pour déterminer si les liens sont bons (ou cassés).</p> </div> <div class="paragraph"> <p>Comme signalé dans le pouet sur Mastodon, Selenium ne peut pas fournir les codes HTTP de chargement des pages. On peut obtenir cette info en JavaScript, mais seulement pour les liens internes, car on se heurte à la politique CORS dès qu&#8217;on vise un autre domaine. Alors pour les liens externes, on repasse côté Python et on lance des requêtes additionnelles indépendantes de Selenium (et on s&#8217;arrange pour homogénéiser l&#8217;affichage des erreurs).</p> </div> <div class="paragraph"> <p>Je passe sur les découvertes d&#8217;authentiques bugs découverts chemins faisant (vu qu&#8217;on s&#8217;est mis à tester des choses de manière exhaustives…).</p> </div> <div class="paragraph"> <p>Et alors on a une chance d&#8217;arriver enfin à faire tourner les tests sans afficher d&#8217;erreur dans la console : beaucoup d&#8217;émotion face à cette ravissante nouvelle sorte de "rien".</p> </div> <div class="paragraph"> <p>Ça va être un long chemin pour coder les tests de tous les réglages, un par un…</p> </div> </div> </div>Free software "stopovers" in Nantes: new presentation of Meta-Press.es2022-09-14T00:00:00+02:002022-09-14T00:00:00+02:00Siltaartag:www.meta-press.es,2022-09-14:/journal/2022/2022_escales_du_libre.html<div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>A day of discussions not to miss out ! The Free software "stopovers" (ex- Regional Meetings of Free softwares) are targeted at IT crowds and IT businesses to find answers about technical and functionnal problems. The Free software "stopovers" are the occasion to meet sysadmins, small and mid-size collectivities, industries and …</code></pre></div></div><div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>A day of discussions not to miss out ! The Free software "stopovers" (ex- Regional Meetings of Free softwares) are targeted at IT crowds and IT businesses to find answers about technical and functionnal problems. The Free software "stopovers" are the occasion to meet sysadmins, small and mid-size collectivities, industries and enterprises using Free softwares in addition to local service providers.</code></pre> </div> </div> <div class="ulist"> <ul> <li> <p><a href="https://eventyay.com/e/d78c8bb0" class="bare">https://eventyay.com/e/d78c8bb0</a></p> </li> </ul> </div> <div class="paragraph"> <p>Meta-Press.es, the alternative to GAFAM that allows to explore the online press will be presented during this regional event.</p> </div> <div class="paragraph"> <p>The presentation is scheduled at :</p> </div> <div class="ulist"> <ul> <li> <p>2022-09-20 11:00 UTC+2 in Nantes: more info via the <a href="https://eventyay.com/e/d78c8bb0/schedule">event web site</a></p> </li> </ul> </div> <div class="paragraph"> <p>The presentation will be a good occasion de demonstrate the new features such as : the source list allowing to cherry-pick, the child mode, the illustrated news loading, the source creation form…</p> </div>Escales du Libre à Nantes : nouvelle présentation de Meta-Press.es2022-09-14T00:00:00+02:002022-09-14T00:00:00+02:00Siltaartag:www.meta-press.es,2022-09-14:/fr/journal/2022/2022_escales_du_libre.html<div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>Une journée d'échanges à ne pas manquer ! Les Escales du Libre (anciennement Rencontres Régionales du Logiciel Libre) s'adressent aussi bien aux services informatiques qu'aux services métiers qui trouveront des réponses à leurs problématiques techniques et besoins fonctionnels. Les Escales du Libre sont ainsi l'occasion de rencontrer des …</code></pre></div></div><div class="listingblock"> <div class="content"> <pre class="pygments highlight"><code>Une journée d'échanges à ne pas manquer ! Les Escales du Libre (anciennement Rencontres Régionales du Logiciel Libre) s'adressent aussi bien aux services informatiques qu'aux services métiers qui trouveront des réponses à leurs problématiques techniques et besoins fonctionnels. Les Escales du Libre sont ainsi l'occasion de rencontrer des administrations, collectivités, industries et entreprises ayant déployé des solutions libres ainsi que les prestataires locaux.</code></pre> </div> </div> <div class="ulist"> <ul> <li> <p><a href="https://eventyay.com/e/d78c8bb0" class="bare">https://eventyay.com/e/d78c8bb0</a></p> </li> </ul> </div> <div class="paragraph"> <p>Meta-Press.es, l&#8217;alternative aux GAFAM pour explorer la presse en ligne, sera présentée lors de cet évènement régional.</p> </div> <div class="paragraph"> <p>La présentation est prévue le :</p> </div> <div class="ulist"> <ul> <li> <p>2022-09-20 11:00 UTC+2 à Nantes : plus d&#8217;info sur <a href="https://eventyay.com/e/d78c8bb0/schedule">le site de l&#8217;évènement</a></p> </li> </ul> </div> <div class="paragraph"> <p>Elle sera assortie d&#8217;une démonstration des nouvelles fonctionnalités : liste des sources pour sélection une à une, mode enfant, le chargement des gros titres illustrés, le formulaire de création de source…</p> </div>Version 1.8.6 : Illustrated headlines from RSS feeds and child mode2022-08-13T00:00:00+02:002022-08-13T00:00:00+02:00Siltaartag:www.meta-press.es,2022-08-13:/journal/2022/v1.8.6_news-rss_child-mode.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_child_mode">1. Child mode</a></li> <li><a href="#_rss_news_feeds">2. RSS news feeds</a></li> <li><a href="#_fancy_or_serious_sources">3. Fancy or serious sources</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>For the v1.8.6 the development was focused on two main objectives :</p> </div> <div class="ulist"> <ul> <li> <p>the child mode</p> </li> <li> <p>headlines feature</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_child_mode">1. Child mode</h2> <div class="sectionbody"> <div class="paragraph"> <p>Regarding the <strong>child mode</strong>, a new checkbox appeared in the settings. It allows to enable the …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_child_mode">1. Child mode</a></li> <li><a href="#_rss_news_feeds">2. RSS news feeds</a></li> <li><a href="#_fancy_or_serious_sources">3. Fancy or serious sources</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>For the v1.8.6 the development was focused on two main objectives :</p> </div> <div class="ulist"> <ul> <li> <p>the child mode</p> </li> <li> <p>headlines feature</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_child_mode">1. Child mode</h2> <div class="sectionbody"> <div class="paragraph"> <p>Regarding the <strong>child mode</strong>, a new checkbox appeared in the settings. It allows to enable the child mode, in which only child compatible sources are available (and access to settings and source creation is removed from the main interface).</p> </div> <div class="paragraph"> <p>This is intended for school purposes. With this feature, you can turn your back a few minutes while kids are using the tool. As long as they are on the main interface, they&#8217;re safe.</p> </div> <div class="paragraph"> <p>When you need to disable the child mode, reach the settings via the Firefox' standard way of reaching the settings of a WebExtension (via the menu or the <code>about:addons</code> internal address).</p> </div> <div class="paragraph"> <p>The sources available when the child mode is activated are marked with the <strong>for kids</strong> tech. tag, so you can easily list them to check them via the <em>source list</em> feature of the main interface. Two other tags have been set : <strong>for kids &lt; 9</strong> and <strong>for kids &gt; 9</strong> ; to address specific needs of a thinner audience based on it age.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220813_child-mode_.jpg" alt="20220813 child mode "> </div> <div class="title">Figure 1. Child mode source listing</div> </div> <div class="paragraph"> <p>Currently 26 sources are marked <em>for kids</em> and I warmly encourage you to send me references to more sources for this category.</p> </div> <div class="paragraph"> <p>All the instances of Vidipedia and Wikikids have been added to Meta-Press.es as declared in this post : <a href="https://pouet.chapril.org/@metapress/108770494843123872" class="bare">https://pouet.chapril.org/@metapress/108770494843123872</a></p> </div> <div class="paragraph"> <p> <p><a href="https://commons.wikimedia.org/wiki/File:Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg#/media/Fichier:Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg/1200px-Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg.png" alt="Map children wiki encyclopedias in Europe Jan 2015.svg"></a><br>Par <a href="//commons.wikimedia.org/wiki/User:Ziko" title="User:Ziko">Ziko van Dijk</a> — <span class="int-own-work" lang="fr">Travail personnel</span> <a href="//commons.wikimedia.org/wiki/File:Map_children_wiki_encyclopedias_in_Europe_Jan_2015.pdf" title="File:Map children wiki encyclopedias in Europe Jan 2015.pdf">Map children wiki encyclopedias in Europe Jan 2015.pdf</a>, <a href="https://creativecommons.org/licenses/by-sa/4.0" title="Creative Commons Attribution-Share Alike 4.0">CC BY-SA 4.0</a>, <a href="https://commons.wikimedia.org/w/index.php?curid=76933098">Lien</a></p> </p> </div> </div> </div> <div class="sect1"> <h2 id="_rss_news_feeds">2. RSS news feeds</h2> <div class="sectionbody"> <div class="paragraph"> <p>Regarding the headlines, a radical change occurred. Headlines are now fetched from main RSS feeds of sources (if they provide one). This brings 3 main advantages :</p> </div> <div class="ulist"> <ul> <li> <p>every compatible source can now provide up to 10 general purpose news (your setting)</p> </li> <li> <p>those news are now fitted with excerpts in addition to titles</p> </li> <li> <p>half of the compatible sources now provide illustrations</p> </li> </ul> </div> <div class="paragraph"> <p>Meta-Press.es is not to become a general purpose news feed reader, but it is now a news feed reader for its indexed sources.</p> </div> <div class="paragraph"> <p>Settings have been added to chose how many news to display from each sources.</p> </div> <div class="paragraph"> <p>On my own Meta-Press.es instance, I saved a new "scheduled search" setup with my favourite independent sources (among current 224 ones). I let it on its default "Stop" run frequency and I open it from the settings only to load the news ! Also, the <code>indep.</code> tag is not a source type anymore but a <code>tech</code> tag that can be crossed with many source types (such as: <code>encyclo.</code> <code>press</code> <code>agenda</code> …).</p> </div> <div class="paragraph"> <p>This new feature was introduced thanks to a modification in the source definition API. I scripted the upgrade for the current 600+ sources and half of them was found to provide an RSS feed. Maybe some are missing for sources you know, don&#8217;t hesitate to signal them, it&#8217;s easy to add back for the next release.</p> </div> <div class="paragraph"> <p>This was a simplification trade between the <em>headline_url</em> + <em>h_title</em> selectors in source definitions for a single <em>news_rss_url</em> and even if we&#8217;re losing half the sources currently, it&#8217;s removing the heaviest maintenance burden. 2/3 of the source upgrading tasks where about the headlines (as the frontpage of newspapers is constantly evolving). The only foreseeable evolution in RSS news feeds are their possible removal, but they have been doomed dead long ago already.</p> </div> <div class="paragraph"> <p>Another modification that this work introduced in the source definition API was the removal of the <code>xml_type</code> entry. No need anymore. The work on the dynamic source creation form (introduced in v1.8.5) lead to the creation of a "detect_RSS_variant" function, that were re-used and battle proven for RSS headline fetching and so extended to the search feature of RSS based source definitions. So defining a new source is a bit easier now in the case of RSS based sources, and the new source creation form have been updated accordingly.</p> </div> <div class="paragraph"> <p>An expected visible effect is more illustrations on results (because we might have missed some with the previous "manually setup" system).</p> </div> <div class="paragraph"> <p>The <a href="/pages/meta-press.es_documentation.html">online documentation</a> have been update also. (and it&#8217;s the kind of lines that do not reflect the work it have been).</p> </div> </div> </div> <div class="sect1"> <h2 id="_fancy_or_serious_sources">3. Fancy or serious sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Aside to sources that should be easy to index, but finally provides bad RSS results like the DailyTelegraph.com or Arabnews.jp (the two of them were discovered the same day) :</p> </div> <div class="literalblock"> <div class="content"> <pre>Big up for the #DailyTelegraph which manage to publish a half empty #RSS feed without any date on entries !! https://www.dailytelegraph.com.au/news/breaking-news/rss Over 235 RSS feeds, its the deadliest broken one. The good news is that you'll be able to fetch all the other feeds from the next version of #MetaPress.</pre> </div> </div> <div class="paragraph"> <p><em>- 9 août 2022 à 19:25 - <a href="https://pouet.chapril.org/@metapress/108794553815547789" class="bare">https://pouet.chapril.org/@metapress/108794553815547789</a></em></p> </div> <div class="paragraph"> <p>There is a source that is hard to work with. It&#8217;s the serious <a href="https://www.intelligenceonline.fr">IntelligenceOnline.fr</a> dealing with infosecs (sounds great). This source already lead to some improvements in the source definition API of Meta-Press.es like the new <code>search_ctype</code> which allows to specify the content-type used to send the request to the server (every 608 currently working sources are using <code>application/x-www-form-urlencoded</code>, but this one requires <code>application/json</code>). But it&#8217;s not enough to work with IntelligenceOnline as this source also encode (maybe encrypt) the search terms before it sends them to the server… OK, why not. As it&#8217;s all open-hearted client-side JavaScript, the exact mechanism might be studied and a cipher key might be extracted and I would love to enrich Meta-Press.es source definition API with <em>term_cipher_method</em> and <em>term_cipher_key</em> entries.</p> </div> <div class="paragraph"> <p>As it wont be in my priorities anytime soon, a contributer might earn a lot of consideration, some Meta-Press.es stickers and badges, and an in-depth blog-post here (10k visitors a month) diving into this problem. An issue were created to track this subject : <span class="line-through"><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/54" class="bare">https://framagit.org/Siltaar/meta-press-ext/-/issues/54</a></span></p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> <td class="content"> 2024-02-26: a mechanism of preliminary request to grab a token to inject into the search URL have been implemented. It fixes this issue. </td> </tr> </table> </div> <div class="paragraph"> <p>To finish, some new tendencies… Some sources are still using <em>jsonp</em> to serve results (it&#8217;s a workaround CORS limitations on JSON that was heavily used 20 years ago). It&#8217;s the case of LaNacion.com.ar (OK, it&#8217;s the south-half of the word, with an insane climate and a terrible economic crisis 20 years ago…) and Liberation.fr. So it exists a <code>jsonp_to_json_re</code> entry for source definitions that allows to specify a RegExp used to extract the JSON data the JSONP script source file.</p> </div> <div class="paragraph"> <p>But a something new is emerging and appears to be the contrary : JSON is used to encapsulate server-side computed regular HTML… Why not sending bare HTML ? Still, the new <code>json_to_html</code> source definition entry allows to extract and parse the HTML. I imagine that I&#8217;ll have to detail this mechanism on a per-field level soon.</p> </div> </div> </div>Version 1.8.6 : Actu RSS illustrées et mode enfant2022-08-13T00:00:00+02:002022-08-13T00:00:00+02:00Siltaartag:www.meta-press.es,2022-08-13:/fr/journal/2022/v1.8.6_news-rss_child-mode.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_mode_enfant">1. Mode enfant</a></li> <li><a href="#_actu_rss">2. Actu RSS</a></li> <li><a href="#_des_sources_originales_et_dautres_plus_sérieuses">3. Des sources "originales" et d&#8217;autres plus sérieuses…</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Pour la version 1.8.6 l&#8217;attention fut portée sur deux objectifs :</p> </div> <div class="ulist"> <ul> <li> <p>le mode enfant</p> </li> <li> <p>le chargement des gros titres de l&#8217;actualité générale hors recherche ;</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_mode_enfant">1. Mode enfant</h2> <div class="sectionbody"> <div class="paragraph"> <p>Concernant le <strong>mode enfant …</strong></p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_mode_enfant">1. Mode enfant</a></li> <li><a href="#_actu_rss">2. Actu RSS</a></li> <li><a href="#_des_sources_originales_et_dautres_plus_sérieuses">3. Des sources "originales" et d&#8217;autres plus sérieuses…</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Pour la version 1.8.6 l&#8217;attention fut portée sur deux objectifs :</p> </div> <div class="ulist"> <ul> <li> <p>le mode enfant</p> </li> <li> <p>le chargement des gros titres de l&#8217;actualité générale hors recherche ;</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_mode_enfant">1. Mode enfant</h2> <div class="sectionbody"> <div class="paragraph"> <p>Concernant le <strong>mode enfant</strong> une nouvelle case à cocher est apparue dans les réglages. Elle permet d&#8217;activer le mode enfant ce qui ne laisse plus que les sources étiquetées comme adaptées aux enfants de disponibles dans Meta-Press.es. De plus l&#8217;accès aux réglages et l&#8217;ajout de nouvelles sources ne sont plus accessibles depuis l&#8217;interface principale.</p> </div> <div class="paragraph"> <p>Cette fonctionnalité est destinée aux écoles, grâce à elle un prof. peut tourner le dos 5 minutes (pour faire le tour des postes de la classe) l&#8217;esprit serein. Tant que les élèves sont devant l&#8217;interface principale, c&#8217;est sans danger.</p> </div> <div class="paragraph"> <p>Pour désactiver le mode enfant, il faut atteindre les réglages depuis la liste des WebExtensions de Firefox (soit via le menu de Firefox, soit via l&#8217;adresse interne <code>about:addons</code>).</p> </div> <div class="paragraph"> <p>Les sources qui restent disponibles lorsque le mode enfant est activé sont étiquetées <strong>for kids</strong> dans le logiciel (et ce terme sera probablement traduit par "mode enfant" à l&#8217;affichage). Il est donc facile de les lister dans l&#8217;interface principale. De plus, les étiquettes <strong>for kids &lt; 9</strong> et <strong>for kids &gt; 9</strong> sont également disponibles pour cibler plus finement l&#8217;age de son audience.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220813_child-mode_.jpg" alt="20220813 child mode "> </div> <div class="title">Figure 1. Liste des sources pour enfant</div> </div> <div class="paragraph"> <p>Il y a pour l&#8217;instant 26 sources compatibles avec le mode enfant et vous êtes chaudement encouragés à en signaler d&#8217;autres pour étoffer la catégorie !</p> </div> <div class="literalblock"> <div class="content"> <pre>Il y a plus de 10 encyclopédies "pour enfants" en Europe… Elles seront toutes dans la prochaine version de Meta-Press.es #metapress (v1.8.6) et "seulement elles" avec le mode enfants ! Si vous connaissez des sources (journaux en ligne) "pour enfants" c'est le moment !! (de me les signaler) Source : https://fr.wikipedia.org/wiki/WikiKids</pre> </div> </div> <div class="paragraph"> <p><em>- 5 août 2022 à 13:27 - <a href="https://pouet.chapril.org/@metapress/108770494843123872" class="bare">https://pouet.chapril.org/@metapress/108770494843123872</a></em></p> </div> <div class="paragraph"> <p> <p><a href="https://commons.wikimedia.org/wiki/File:Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg#/media/Fichier:Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg/1200px-Map_children_wiki_encyclopedias_in_Europe_Jan_2015.svg.png" alt="Map children wiki encyclopedias in Europe Jan 2015.svg"></a><br>Par <a href="//commons.wikimedia.org/wiki/User:Ziko" title="User:Ziko">Ziko van Dijk</a> — <span class="int-own-work" lang="fr">Travail personnel</span> <a href="//commons.wikimedia.org/wiki/File:Map_children_wiki_encyclopedias_in_Europe_Jan_2015.pdf" title="File:Map children wiki encyclopedias in Europe Jan 2015.pdf">Map children wiki encyclopedias in Europe Jan 2015.pdf</a>, <a href="https://creativecommons.org/licenses/by-sa/4.0" title="Creative Commons Attribution-Share Alike 4.0">CC BY-SA 4.0</a>, <a href="https://commons.wikimedia.org/w/index.php?curid=76933098">Lien</a></p> </p> </div> </div> </div> <div class="sect1"> <h2 id="_actu_rss">2. Actu RSS</h2> <div class="sectionbody"> <div class="paragraph"> <p>Concernant les gros titres, un changement radical a eu lieu et ils sont désormais récupérés depuis les flux RSS principaux des sources (qui en proposent). Cela apporte 3 améliorations :</p> </div> <div class="ulist"> <ul> <li> <p>les sources compatibles fournissent maintenant 10 actu. ou plus (via réglage)</p> </li> <li> <p>une description accompagne chaque actu</p> </li> <li> <p>la moitié des actus sont même illustrées désormais !</p> </li> </ul> </div> <div class="paragraph"> <p>Meta-Press.es ne vise pas à devenir un agrégateur de flux RSS, mais c&#8217;était dommage de se passer des flux RSS des sources indexées. Si vous cherchez l&#8217;inspiration avant de faire une recherche, maintenant y&#8217;a de quoi faire.</p> </div> <div class="paragraph"> <p>Un réglage a été ajouté pour choisir combien d&#8217;actu. de chaque source sont affichées dans la liste.</p> </div> <div class="paragraph"> <p>Dans mon instance de Meta-Press.es, j&#8217;ai enregistré une "recherche programmée" avec mes sources indépendantes favorites (parmi les 224 désormais disponibles). Je la laisse sur la fréquence d&#8217;exécution par défaut, c&#8217;est à dire Stop et l&#8217;ouvre depuis la page des réglages pour lire l&#8217;actu. Par ailleurs, <code>indep.</code> n&#8217;est plus un type de source mais un critère technique désormais, ce qui permet de croiser ce critère avec les types de source justement (comme: <code>encyclo.</code> <code>press</code> <code>agenda</code> …).</p> </div> <div class="paragraph"> <p>Cette modification a entrainé une modification de la façon dont les sources sont définies. J&#8217;ai scripté une mise à jour des (plus de) 600 sources connues et un flux RSS a été trouvée pour une source sur deux. Il en manque donc probablement encore, et peut être sur des sources que vous connaissez, alors n&#8217;hésitez pas à les signaler, c&#8217;est facile à ajouter pour la prochaine version.</p> </div> <div class="paragraph"> <p>Cette modification a permis de simplifier les définitions de source (en remplaçant plusieurs champs par un seul <em>news_rss_url</em>. Et puis, même si on perd les actu. de la moitiés des sources pour l&#8217;instant, c&#8217;est aussi une grosse simplification dans la maintenance de l&#8217;outil car au moins les 2/3 des mises à jour de définition de source concernaient les gros titres (car les journaux rivalisent d&#8217;inventivité quand il s&#8217;agit de mettre un gros titre en avant, alors qu&#8217;il y a un dossier spécial à la Une et un live en cours !). Là, avec les flux RSS, la principale évolution envisagée c&#8217;est la suppression du flux or ça fait des décennies déjà qu&#8217;on a annoncé leur mort…</p> </div> <div class="paragraph"> <p>Une autre modification indirectement apportée à la définition des sources par cette fonctionnalité est la suppression des entrées <code>xml_type</code>. Il n&#8217;y en a plus besoin. Le travail sur le formulaire dynamique d&#8217;ajout de sources a entrainé la création d&#8217;une fonction "detect_RSS_variant", qui a été ré-utilisée pour la lecture des actu. depuis leurs flux et finalement étendue (vu les bons résultats dans la détection des illustrations) aux résultats de recherche des sources définies via flux RSS. Définir une nouvelle source est donc plus simple aujourd&#8217;hui avec ces petites simplifications et le formulaire de création de source a été mis à jour en conséquence.</p> </div> <div class="paragraph"> <p>Le résultat le plus concret de ce changement c&#8217;est qu&#8217;il y a plus d&#8217;illustrations dans les résultats affichés par Meta-Press.es (vu qu&#8217;on en avait sûrement manqués dans les définitions manuelles).</p> </div> <div class="paragraph"> <p>La <a href="/pages/meta-press.es_documentation.html">documentation</a> en ligne du projet a également été mise à jour (et c&#8217;est le genre de phrase qui reflète mal tout le travail que ça a demandé).</p> </div> </div> </div> <div class="sect1"> <h2 id="_des_sources_originales_et_dautres_plus_sérieuses">3. Des sources "originales" et d&#8217;autres plus sérieuses…</h2> <div class="sectionbody"> <div class="paragraph"> <p>Il y a des sources qui devraient être faciles à indexer, vu qu&#8217;elles fournissent leurs résultats de recherche en RSS, mais dont l&#8217;intégration échoue quand même, parce que leur RSS ne comporte pas de date sur ses entrées ! C&#8217;est notamment le cas du DailyTelegraph.com ou d&#8217;Arabnews.jp (les deux ayant été découverts le même soir) :</p> </div> <div class="literalblock"> <div class="content"> <pre>Faîtes moi un maximum de bruit pour le Daily Telegraph qui réussi l'exploit de publier un flux #RSS à moitié vide, sans date sur les résultats !! https://www.dailytelegraph.com.au/news/breaking-news/rss Sur 235 flux RSS gérés par la prochaine version de #metapress c'est le seul qui est pété à ce point. La bonne nouvelle, c'est que la lecture d'actualités générales depuis Meta-Press.es prend une autre tournure : 10 actu par sources, descriptions et illustrations… Et stable comme du RSS, alors que c'était le pire à maintenir.</pre> </div> </div> <div class="paragraph"> <p><em>- 9 août 2022 à 19:15 - <a href="https://pouet.chapril.org/@metapress/108794515280867796" class="bare">https://pouet.chapril.org/@metapress/108794515280867796</a></em></p> </div> <div class="paragraph"> <p>Il y a des sources qui se prennent très au sérieux, comme <a href="https://www.intelligenceonline.fr">IntelligenceOnline.fr</a> traitant de sécurité au sens large et scrutant les agences de renseignement. Il a déjà fallu améliorer des points de Meta-Press.es pour tenter d&#8217;intégrer cette source, en créant notamment l&#8217;entrée <code>search_ctype</code> qui permet de préciser le <em>content-type</em> des données envoyées au serveur pour faire une recherche (car les 608 premières sources de Meta-Press.es se contentaient du format <code>application/x-www-form-urlencoded</code> mais qu&#8217;IntelligenceOnline.fr préfère utiliser l' <code>application/json</code>). Et ce ne fut pas suffisant pour ajouter cette source, car elle chiffre les termes de recherche avant de les envoyer au serveur !</p> </div> <div class="paragraph"> <p>Du coup, sur le principe c&#8217;est généré par du JavaScript côté client, donc c&#8217;est étudiable et je serai heureux d&#8217;ajouter de nouvelles entrées <em>term_cipher_method</em> et <em>term_cipher_key</em> au format de définition des sources…</p> </div> <div class="paragraph"> <p>Mais vu que ça ne va pas être dans mes priorité tout de suite, un valeureux contributeur pourrait gagner beaucoup de considération, des autocollants et des badges de Meta-Press.es ainsi qu&#8217;un billet sur ce blog (10k visiteurs uniques mensuels) revenant en détail sur son aventure… J&#8217;ai créé le bug suivant dans Framagit pour suivre le sujet : <span class="line-through"><a href="https://framagit.org/Siltaar/meta-press-ext/-/issues/54" class="bare">https://framagit.org/Siltaar/meta-press-ext/-/issues/54</a></span></p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> <td class="content"> 2024-02-26 : un mécanisme de requête préliminaire permettant la récupération d&#8217;un jeton à injecter dans l&#8217;URL de recherche a été implémenté et documenté. Il règle ce problème. </td> </tr> </table> </div> <div class="paragraph"> <p>Pour finir, parlons d&#8217;une tendance qui m&#8217;étonne…</p> </div> <div class="paragraph"> <p>Tout d&#8217;abord, il y a encore des sources qui utilisent le protocole <em>jsonp</em> pour servir leurs résultats de recherche (il s&#8217;agit d&#8217;un moyen de contourner certaines sécurités mises en place dans l&#8217;accès aux ressources JSON, et c&#8217;était très utilisé il y a une vingtaine d&#8217;années). C&#8217;est notamment le cas de LaNacion.com.ar (alors bon d&#8217;accord, l&#8217;Argentine c&#8217;est dans la moitié sud du globe, le climat du pays est fou et il y a eu une crise économique terrible il y a 20 ans…) mais c&#8217;est aussi le cas de Liberation.fr. Du coup il existe une entrée de définition de source nommée <code>jsonp_to_json_re</code> qui permet de spécifier un motif de remplacement par expression rationnelle utilisé pour extraire les données JSON d&#8217;un script JSONP.</p> </div> <div class="paragraph"> <p>Mais il y a aussi le contraire qui émerge sur le web en ce moment… du JSON utilisé pour encapluser du HTML normal, calculé côté serveur. Pourquoi ne pas se contenter d&#8217;envoyer du HTML (comme tout le monde). Du coup il existe une entrée <code>json_to_html</code> dans les définitions de source qui permet de préciser un chemin JSON où trouver du contenu HTML à analyser pour la suite et je sens qu&#8217;il va bientôt falloir affiner ce mécanisme champs par champs…</p> </div> </div> </div>Presentation of Meta-Press.es at the MCH20222022-07-27T00:00:00+02:002022-07-27T00:00:00+02:00Siltaartag:www.meta-press.es,2022-07-27:/journal/2022/2022_MCH2022.html<div class="paragraph"> <p>After the cancelation of the event in 2021, the <a href="https://mch2022.org/">MCH2022</a> is about to happen.</p> </div> <div class="paragraph"> <p>Meta-Press.es will be presented live during the event, which takes place in the Netherlands.</p> </div> <div class="paragraph"> <p>It is the continuation of OHM2013 and SHA2017.</p> </div> <div class="paragraph"> <p>The event will take place from the 22 to the 26 of july …</p></div><div class="paragraph"> <p>After the cancelation of the event in 2021, the <a href="https://mch2022.org/">MCH2022</a> is about to happen.</p> </div> <div class="paragraph"> <p>Meta-Press.es will be presented live during the event, which takes place in the Netherlands.</p> </div> <div class="paragraph"> <p>It is the continuation of OHM2013 and SHA2017.</p> </div> <div class="paragraph"> <p>The event will take place from the 22 to the 26 of july 2022.</p> </div> <div class="paragraph"> <p>The presentation is scheduled for :</p> </div> <div class="ulist"> <ul> <li> <p>2022-07-25 10:00 UTC+2 at the Clairvoyance place of the <a href="https://mch2022.org/">MCH2022</a>, (<a href="https://program.mch2022.org/mch2021-2020/talk/ZRSJMG/">program</a>, <a href="https://media.ccc.de/v/mch2022-249-meta-press-es-decentralized-search-engine-for-press-reviews">video</a>)</p> </li> </ul> </div> <div class="paragraph"> <p>It will be held in english.</p> </div> <div class="paragraph"> <p>A car-pool from Deux-Sèvre is organised via Mobicoop.fr where I posted an announce (and can&#8217;t gat any URL to point at…).</p> </div> <div class="paragraph"> <p>To finish, you can vote for the conference and get it a better time-slot :</p> </div> <div class="paragraph"> <p><a href="https://votes.mch2022.org/" class="bare">https://votes.mch2022.org/</a></p> </div> <div class="paragraph"> <p>(it&#8217;s currently: 112 / 144 ; 2022-06-07 16:50 CEST)</p> </div> <div class="paragraph"> <p>(updated position: 78 / 144 ; 2022-06-09 14:20 CEST)</p> </div> <div class="paragraph"> <p>(updated position: 66 / 144 ; 2022-06-10 16:30 CEST)</p> </div>Présentation de Meta-Press.es au MCH20222022-07-27T00:00:00+02:002022-07-27T00:00:00+02:00Siltaartag:www.meta-press.es,2022-07-27:/fr/journal/2022/2022_MCH2022.html<div class="paragraph"> <p>Après l&#8217;annulation de l&#8217;évènement en 2021, le <a href="https://mch2022.org/">MCH2022</a> est bien parti pour avoir lieu.</p> </div> <div class="paragraph"> <p>Meta-Press.es sera présenté en présentiel lors de l&#8217;évènement, qui se tient au Pays-Bas.</p> </div> <div class="paragraph"> <p>Il s&#8217;agit de la nouvelle iteration des OHM2013 et SHA2017 (et la liste est longue depuis 1989).</p> </div> <div class="paragraph"> <p>L …</p></div><div class="paragraph"> <p>Après l&#8217;annulation de l&#8217;évènement en 2021, le <a href="https://mch2022.org/">MCH2022</a> est bien parti pour avoir lieu.</p> </div> <div class="paragraph"> <p>Meta-Press.es sera présenté en présentiel lors de l&#8217;évènement, qui se tient au Pays-Bas.</p> </div> <div class="paragraph"> <p>Il s&#8217;agit de la nouvelle iteration des OHM2013 et SHA2017 (et la liste est longue depuis 1989).</p> </div> <div class="paragraph"> <p>L&#8217;évènement au lieu du 22 au 26 juillet 2022.</p> </div> <div class="paragraph"> <p>La présentation est prévue pour :</p> </div> <div class="ulist"> <ul> <li> <p>2022-07-25 10:00 UTC+2 à "Clairvoyance" au <a href="https://mch2022.org/">MCH2022</a> (<a href="https://program.mch2022.org/mch2021-2020/talk/ZRSJMG/">programme</a>, <a href="https://media.ccc.de/v/mch2022-249-meta-press-es-decentralized-search-engine-for-press-reviews">vidéo</a>)</p> </li> </ul> </div> <div class="paragraph"> <p>La présentation se tiendra en <em>broken-english</em>.</p> </div> <div class="paragraph"> <p>Un covoiturage en partance des Deux-Sèvres est envisagé et une annonce a été déposée dans ce sens sur Mobicoop.fr (mais pas moyen d&#8217;en obtenir une URL…).</p> </div> <div class="paragraph"> <p>Pour finir, vous pouvez voter pour cette conférence et lui obtenir un meilleur créneau ici :</p> </div> <div class="paragraph"> <p><a href="https://votes.mch2022.org/" class="bare">https://votes.mch2022.org/</a></p> </div> <div class="paragraph"> <p>(Meta-Press.es est pour l&#8217;instant : 112 / 144 ; 2022-06-07 16:50 CEST)</p> </div> <div class="paragraph"> <p>(Meta-Press.es est arrivé à : 78 / 144 ; 2022-06-09 14:20 CEST)</p> </div> <div class="paragraph"> <p>(Meta-Press.es est arrivé à : 66 / 144 ; 2022-06-10 16:36 CEST)</p> </div>Version 1.8.5 : Independent sources and dynamic source creation form2022-07-21T00:00:00+02:002022-07-21T00:00:00+02:00Siltaartag:www.meta-press.es,2022-07-21:/journal/2022/v1.8.5_indep_src_dyn_src_form.html<div class="paragraph"> <p>This new version brings nearly a hundred more sources (so more than 512 !), and a lot of this new sources are independent newspapers (mainly french ones) gathered in the new <strong>Indep.</strong> source type (with nearly 128 sources in it).</p> </div> <div class="ulist"> <ul> <li> <p>MediaCites.fr</p> </li> <li> <p>Rue89 : Bordeaux, Strasbourg, Lyon</p> </li> <li> <p>SineMensuel.com</p> </li> <li> <p>Lundi.am</p> </li> <li> <p>La …</p></li></ul></div><div class="paragraph"> <p>This new version brings nearly a hundred more sources (so more than 512 !), and a lot of this new sources are independent newspapers (mainly french ones) gathered in the new <strong>Indep.</strong> source type (with nearly 128 sources in it).</p> </div> <div class="ulist"> <ul> <li> <p>MediaCites.fr</p> </li> <li> <p>Rue89 : Bordeaux, Strasbourg, Lyon</p> </li> <li> <p>SineMensuel.com</p> </li> <li> <p>Lundi.am</p> </li> <li> <p>La Relève et la Peste</p> </li> <li> <p>Sciences-Critiques.fr</p> </li> <li> <p>Bellingcat</p> </li> <li> <p>Zelium.info</p> </li> </ul> </div> <div class="paragraph"> <p>Or big ones :</p> </div> <div class="ulist"> <ul> <li> <p>Actu.fr</p> </li> <li> <p>Actualite.Nouvelle-Aquitaine.Science</p> </li> <li> <p>Jacobin.com</p> </li> </ul> </div> <div class="paragraph"> <p>In fact, all the sources from the map of the <a href="https://lagedefaire-lejournal.fr/carte-de-la-presse-pas-pareille/">Presse pas pareille</a> from l&#8217;Age de Faire have been integrated to Meta-Press.es for this release and I contributed back to them suggestions of sources to add (or stopped one to remove).</p> </div> <div class="paragraph"> <p>Suggested new sources for this map :</p> </div> <div class="ulist"> <ul> <li> <p>NextInpact.com</p> </li> <li> <p>QG.media</p> </li> <li> <p>Blast-info.fr</p> </li> <li> <p>Reflets.info</p> </li> <li> <p>Novastan.org/fr</p> </li> <li> <p>AOC.media</p> </li> <li> <p>ReseauMutu.info</p> </li> </ul> </div> <div class="paragraph"> <p>But it&#8217;s not all, the 2nd big new feature is the dynamic form to add sources without any computer science knowledge ! It&#8217;s included in v1.8.5 and you can test it now. The current main limitation is that the form only accepts sources that provide results in RSS format (like it&#8217;s the case by default with WordPress, and should be with SPIP). Currently a third of all the Meta-Press.es sources could have been added using the mouse only and this new source creation form.</p> </div> <div class="paragraph"> <p>The form is in English only, but translations will soon be synchronised with the <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate</a> account.</p> </div> <div class="paragraph"> <p>Once a source is created, it can be saved in your custom sources. If it works, don&#8217;t hesitate to post the definition to Meta-Press.es Framagit repository for the next release (provided it complies with the public <a href="/pages/principles.html#_of_the_indexed_newspapers">principles</a> of the project).</p> </div> <div class="paragraph"> <p>The next release will bring the full form allowing to deal with nearly all the sources (RSS, CSS, JSON… GET and POST…). But in the mean time, I&#8217;ll be tomorrow at the <a href="/journal/2022/2022_MCH2022.html">MCH2022 to present Meta-Press.es</a> on Monday.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220721_edit_RSS_source.png" alt="20220721 edit RSS source"> </div> <div class="title">Figure 1. Source creation form</div> </div>Version 1.8.5 : Sources indépendantes et formulaire dynamique de création de sources2022-07-21T00:00:00+02:002022-07-21T00:00:00+02:00Siltaartag:www.meta-press.es,2022-07-21:/fr/journal/2022/v1.8.5_indep_src_dyn_src_form.html<div class="paragraph"> <p>Cette nouvelle version ajoute une centaine de nouvelles sources (pour un total dépassant 512 !) et un grand nombre de ces nouvelles sources (principalement françaises) sont retrouvable via le type de source <strong>Indep.</strong> (avec presque 128 sources dedans déjà).</p> </div> <div class="ulist"> <ul> <li> <p>MediaCites.fr</p> </li> <li> <p>Rue89 : Bordeaux, Strasbourg, Lyon</p> </li> <li> <p>SineMensuel.com</p> </li> <li> <p>Lundi.am</p> </li> <li> <p>La Relève …</p></li></ul></div><div class="paragraph"> <p>Cette nouvelle version ajoute une centaine de nouvelles sources (pour un total dépassant 512 !) et un grand nombre de ces nouvelles sources (principalement françaises) sont retrouvable via le type de source <strong>Indep.</strong> (avec presque 128 sources dedans déjà).</p> </div> <div class="ulist"> <ul> <li> <p>MediaCites.fr</p> </li> <li> <p>Rue89 : Bordeaux, Strasbourg, Lyon</p> </li> <li> <p>SineMensuel.com</p> </li> <li> <p>Lundi.am</p> </li> <li> <p>La Relève et la Peste</p> </li> <li> <p>Sciences-Critiques.fr</p> </li> <li> <p>Bellingcat</p> </li> <li> <p>Zelium.info</p> </li> </ul> </div> <div class="paragraph"> <p>Il y a aussi quelques gros poissons :</p> </div> <div class="ulist"> <ul> <li> <p>Actu.fr</p> </li> <li> <p>Actualite.Nouvelle-Aquitaine.Science</p> </li> <li> <p>Jacobin.com</p> </li> </ul> </div> <div class="paragraph"> <p>En pratique, toutes les sources de la carte de la <a href="https://lagedefaire-lejournal.fr/carte-de-la-presse-pas-pareille/">Presse pas pareille</a> de l&#8217;Age de Faire ont été intégrées à Meta-Press.es pour cette nouvelle version et une suggestion de sources à ajouter (ou retirer) a été postée à la rédaction du journal.</p> </div> <div class="paragraph"> <p>Voici les sources proposées à l&#8217;ajout sur la carte :</p> </div> <div class="ulist"> <ul> <li> <p>NextInpact.com</p> </li> <li> <p>QG.media</p> </li> <li> <p>Blast-info.fr</p> </li> <li> <p>Reflets.info</p> </li> <li> <p>Novastan.org/fr</p> </li> <li> <p>AOC.media</p> </li> <li> <p>ReseauMutu.info</p> </li> </ul> </div> <div class="paragraph"> <p>Mais ce n&#8217;est pas tout, la 2e grosse nouveauté consiste en un nouveau formulaire de création de sources. Ce dernier permet de créer des sources sans disposer de connaissances poussées en informatique. Vous pouvez le tester dès à présent, mais sa principale limite actuelle est de ne pouvoir traiter que les sources servant leurs résultats sous forme de fichier RSS (comme c&#8217;est le cas par défaut avec WordPress, et comme ça pourrait l&#8217;être aussi avec SPIP…). Actuellement un tiers des sources de Meta-Press.es auraient pu être ajoutées à la souris via ce nouveau formulaire.</p> </div> <div class="paragraph"> <p>Le formulaire n&#8217;est pour l&#8217;instant disponible qu&#8217;en anglais, mais les traductions seront bientôt possible via le compte <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate du projet</a>.</p> </div> <div class="paragraph"> <p>Une fois la source créée, elle peut être sauvée dans vos sources locales (custom sources), et si elle fonctionne, n&#8217;hésitez pas à la poster via le dépôt Framagit du projet (pour la retrouver dans la prochain version si elle est compatible avec les <a href="/pages/principles.html#_of_the_indexed_newspapers">principles</a> du projet).</p> </div> <div class="paragraph"> <p>La prochaine mise à jour devrait embarquer le reste du formulaire, permettant d&#8217;ajouter quasiment toutes les sources de la terre (RSS, CSS, JSON… GET and POST…). Mais pour l&#8217;instant, je serai demain au <a href="/journal/2022/2022_MCH2022.html">MCH2022 pour y présenter Meta-Press.es</a> lundi.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220721_edit_RSS_source.png" alt="20220721 edit RSS source"> </div> <div class="title">Figure 1. Source creation form</div> </div>Version 1.8.3 : translations and investigation2022-06-01T00:00:00+02:002022-06-01T00:00:00+02:00Siltaartag:www.meta-press.es,2022-06-01:/journal/2022/v1.8.3_translations_investigation.html<div class="paragraph"> <p>Version 1.8.3 brings an updated and complete french transalation of Meta-Press.es. But, what&#8217;s interesting is how this translation was made.</p> </div> <div class="paragraph"> <p>Meta-Press.es have been elected for Libre hosting plan by <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>. Weblate is a great translation platform that provide smooth work flows in a dedicated …</p></div><div class="paragraph"> <p>Version 1.8.3 brings an updated and complete french transalation of Meta-Press.es. But, what&#8217;s interesting is how this translation was made.</p> </div> <div class="paragraph"> <p>Meta-Press.es have been elected for Libre hosting plan by <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>. Weblate is a great translation platform that provide smooth work flows in a dedicated user interface.</p> </div> <div class="paragraph"> <p>The Weblate arms are wide open to your contributions for any language you like. You can work on it on your side as long as you want, and you&#8217;ll be helped away by Weblate automated checks (about string ending spaces or colons or comas…).</p> </div> <div class="paragraph"> <p>I&#8217;ve been impressed by the auto-detection of my locale folder, locale files and native support of my JSON format. Regarding work flow, Weblate creates an internal Git repository to store contributions and then tries to push or merge back changes (and one might have to clone the Weblate repository to fix merge-conflicts, but it&#8217;s easy and once in front of this you already know how to fix it, no wheel re-invention).</p> </div> <div class="paragraph"> <p>I&#8217;ve setup a Framagit / GitLab webhook to allow Weblate to pull changes from the main repository as soon as they arrives, and I&#8217;m still working on getting merge requests back (instead of opening a full push access).</p> </div> <div class="paragraph"> <p>Widgets have been added to Meta-Press.es <a href="https://framagit.org/Siltaar/meta-press-ext">README</a>, like this one (its part of the requirements to get the Libre hosting plan ;-) ) :</p> </div> <div class="paragraph"> <p> <a href="https://hosted.weblate.org/engage/meta-press-es/"> <img src="https://hosted.weblate.org/widgets/meta-press-es/-/meta-press-es-webextension-interface/multi-auto.svg" alt="Translation status" /> </a> </p> </div> <div class="paragraph"> <p>I hope it will bring a lot of new languages for Meta-Press.es interface. For the moment, Meta-Press.es knows how fetch sources from 50+ languages, but is only presented in 4.</p> </div> <div class="paragraph"> <p>By the way this new release brings the number of sources up to 450, including a new source theme called <code>investigation</code>.</p> </div> <div class="paragraph"> <p>It gather international sources such as :</p> </div> <div class="ulist"> <ul> <li> <p>Mediapart</p> </li> <li> <p>The Intercept</p> </li> <li> <p>Correctiv</p> </li> </ul> </div> <div class="paragraph"> <p>But not :</p> </div> <div class="ulist"> <ul> <li> <p>Disclose.ngo (no search feature)</p> </li> <li> <p>Propublica.org (not own search)</p> </li> </ul> </div> <div class="paragraph"> <p>Newly listed among the incompatible sources.</p> </div> <div class="paragraph"> <p>And also some french sources :</p> </div> <div class="ulist"> <ul> <li> <p>Reporterre</p> </li> <li> <p>Blast</p> </li> <li> <p>60 Millions de consommateurs</p> </li> <li> <p>Bastamag</p> </li> <li> <p>Fakir</p> </li> <li> <p>Le Poulpe</p> </li> <li> <p>Le Ravi</p> </li> <li> <p>Le Sans-Culotte (85)</p> </li> <li> <p>MarsActu</p> </li> <li> <p>Leglob Journal (53)</p> </li> </ul> </div> <div class="paragraph"> <p>If you know more of them (great, independent, investigation newspapers) don&#8217;t hesitate to send your recommendations.</p> </div>Version 1.8.3 : traductions et investigation2022-06-01T00:00:00+02:002022-06-01T00:00:00+02:00Siltaartag:www.meta-press.es,2022-06-01:/fr/journal/2022/v1.8.3_translations_investigation.html<div class="paragraph"> <p>La version 1.8.3 apporte une traduction française complétée et mise à jour de Meta-Press.es. Mais ce qui est intéressant, c&#8217;est comment cette traduction a été réalisée.</p> </div> <div class="paragraph"> <p>Meta-Press.es a été élue au tarif "Logiciel Libre" de <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>. Weblate est une super plateforme de traduction en …</p></div><div class="paragraph"> <p>La version 1.8.3 apporte une traduction française complétée et mise à jour de Meta-Press.es. Mais ce qui est intéressant, c&#8217;est comment cette traduction a été réalisée.</p> </div> <div class="paragraph"> <p>Meta-Press.es a été élue au tarif "Logiciel Libre" de <a href="https://hosted.weblate.org/engage/meta-press-es/">Weblate.org</a>. Weblate est une super plateforme de traduction en ligne, qui simplifie grandement le travail des traducteurs et propose une bonne expérience utilisateur.</p> </div> <div class="paragraph"> <p>Les bras de Weblate vous sont désormais grand ouverts pour contribuer à la traduction de Meta-Press.es, dans toutes les langues que vous voulez. Vous pourrez travailler de votre côté aussi longtemps que nécessaire et serez aidé par les vérifications automatiques de Weblate (concernant les espaces en fin de chaîne de caractère, les « : » et es virgules…).</p> </div> <div class="paragraph"> <p>J&#8217;ai été assez impressionné par leur auto-détection des locales et de mon format JSON lors de l&#8217;inscription. De plus, Weblate commence par cloner votre dépôt de code pour y stocker les contributions reçues, puis essaye de les renvoyer par <em>push</em> ou <em>merge</em>. Si quelque chose coince (parce que mal configuré) il est toujours possible de cloner leur version du dépôt et d&#8217;y travailler localement avec les commandes <code>git</code> qu&#8217;on maîtrise déjà, pas de nouvelle API à apprendre.</p> </div> <div class="paragraph"> <p>J&#8217;ai mis en place une boucle de rétro-action <em>webhook</em> entre Framagit (GitLab) et Weblate afin que ce dernier puisse aller puiser au plus tôt les changements intervenus dans le dépôt principal, et je travaille encore à faire revenir correctement les <em>merge requests</em> dans l&#8217;autre sens (au lieu d&#8217;ouvrir simplement un accès <em>push</em>).</p> </div> <div class="paragraph"> <p>Des gadgets ont été ajoutés au <a href="https://framagit.org/Siltaar/meta-press-ext">README</a> de Meta-Press.es pour rendre compte de l&#8217;état d&#8217;avancement des traductions (et puis ça fait partie des pré-requis pour obtenir l&#8217;hébergement gratuit pour les projets Libres) :</p> </div> <div class="paragraph"> <p> <a href="https://hosted.weblate.org/engage/meta-press-es/"> <img src="https://hosted.weblate.org/widgets/meta-press-es/-/meta-press-es-webextension-interface/multi-auto.svg" alt="Translation status" /> </a> </p> </div> <div class="paragraph"> <p>J&#8217;espère que ça motivera à créer plein de nouvelles langues pour l&#8217;interface de Meta-Press.es. Parce que pour l&#8217;instant, Meta-Press.es sait chercher dans des sources de plus de 50 langues mais son interface n&#8217;est disponible qu&#8217;en 4.</p> </div> <div class="paragraph"> <p>À ce propos, cette nouvelle version embarque quelques nouvelles sources (pour atteindre un total de 450) incluant un nouveau thème de sources appelé <code>investigation</code>.</p> </div> <div class="paragraph"> <p>Il rassemble des sources internationales comme :</p> </div> <div class="ulist"> <ul> <li> <p>Mediapart</p> </li> <li> <p>The Intercept</p> </li> <li> <p>Correctiv</p> </li> </ul> </div> <div class="paragraph"> <p>Mais pas :</p> </div> <div class="ulist"> <ul> <li> <p>Disclose.ngo (pas de fonctionnalité de recherche)</p> </li> <li> <p>Propublica.org (pas souverain sur sa recherche)</p> </li> </ul> </div> <div class="paragraph"> <p>Et qui ont donc été ajoutés à la liste des sources incompatibles (wiki/) dans le dépôt de code.</p> </div> <div class="paragraph"> <p>Et aussi des sources françaises comme :</p> </div> <div class="ulist"> <ul> <li> <p>Reporterre</p> </li> <li> <p>Blast</p> </li> <li> <p>60 Millions de consommateurs</p> </li> <li> <p>Bastamag</p> </li> <li> <p>Fakir</p> </li> <li> <p>Le Poulpe</p> </li> <li> <p>Le Ravi</p> </li> <li> <p>Le Sans-Culotte (85)</p> </li> <li> <p>MarsActu</p> </li> <li> <p>Leglob Journal (53)</p> </li> </ul> </div> <div class="paragraph"> <p>Si vous connaissez d&#8217;autres journaux d&#8217;investigation, indépendants, n&#8217;hésitez pas à m&#8217;en faire la recommandation.</p> </div>[Vivant-le-media] Ethical digital: read the news without GAFAMs2022-05-18T00:00:00+02:002022-05-18T00:00:00+02:00Siltaartag:www.meta-press.es,2022-05-18:/revues/2022/20220518_vivant-le-media.html<div class="paragraph"> <p>Energy hungry data centers, private life impairments, sharp user targeting based on searches… GAFAMs are calling for both ethical and environnemental stakes. To help user accessing GAFAM emancipated news, Simon Descarpentries, computer science engineer, made Meta-Press.es. This decentralized search engine lets you explore the press without any third-parties between …</p></div><div class="paragraph"> <p>Energy hungry data centers, private life impairments, sharp user targeting based on searches… GAFAMs are calling for both ethical and environnemental stakes. To help user accessing GAFAM emancipated news, Simon Descarpentries, computer science engineer, made Meta-Press.es. This decentralized search engine lets you explore the press without any third-parties between the newspapers and your web browser. Meeting and explanations from his company located at Pougne-Hérisson (79).</p> </div> <div class="ulist"> <ul> <li> <p>How your search engine is working ?</p> </li> <li> <p>How Meta-Press.es can work without datacenters ?</p> </li> <li> <p>Why is it better on a ecological and ethical points of view than traditional search engines ?</p> </li> <li> <p>Why Meta-Press.es puts forward it free / libre software status ?</p> </li> <li> <p>Why did you make Meta-Press.es ?</p> </li> </ul> </div> <div class="paragraph"> <p><a href="https://vivant-le-media.fr/numerique-ethique-meta-press-es/"><strong>Numérique éthique : s’informer en marge des GAFAMs</strong></a> (<em>fr</em>)</p> </div> <div class="paragraph"> <p>And you can find where Pougne-Herisson is on their map of local initiatives : <a href="https://vivant-le-media.fr/la-carte/" class="bare">https://vivant-le-media.fr/la-carte/</a></p> </div>[Vivant-le-media] Numérique éthique : s’informer en marge des Gafam2022-05-18T00:00:00+02:002022-05-18T00:00:00+02:00Siltaartag:www.meta-press.es,2022-05-18:/fr/revues/2022/20220518_vivant-le-media.html<div class="paragraph"> <p>Data centers énergivores, atteintes à la vie privée, ciblage précis de l’utilisateur selon ses recherches… Les GAFAMs soulèvent des enjeux à la fois éthiques et environnementaux. Pour faciliter l’accès à une information émancipée de ces géants du web, Simon Descarpentries, ingénieur en informatique a développé Meta-Press.es. Ce …</p></div><div class="paragraph"> <p>Data centers énergivores, atteintes à la vie privée, ciblage précis de l’utilisateur selon ses recherches… Les GAFAMs soulèvent des enjeux à la fois éthiques et environnementaux. Pour faciliter l’accès à une information émancipée de ces géants du web, Simon Descarpentries, ingénieur en informatique a développé Meta-Press.es. Ce moteur de recherche décentralisé permet d’explorer la presse sans intermédiaire entre les journaux et son navigateur web. Rencontre et explications depuis son entreprise située à Pougne-Hérisson (79).</p> </div> <div class="ulist"> <ul> <li> <p>Comment fonctionne ce moteur de recherche ?</p> </li> <li> <p>Comment fait Meta-Press.es pour s’affranchir des data centers ?</p> </li> <li> <p>En quoi est-ce plus écologique et éthique d’éviter de passer par un moteur de recherche traditionnel ?</p> </li> <li> <p>Pourquoi Meta-Press.es se revendique-t-il comme un logiciel libre ?</p> </li> <li> <p>Qu’est-ce qui vous a incité à créer Meta-Press.es ?</p> </li> </ul> </div> <div class="paragraph"> <p><a href="https://vivant-le-media.fr/numerique-ethique-meta-press-es/"><strong>Numérique éthique : s’informer en marge des GAFAMs</strong></a></p> </div> <div class="paragraph"> <p>Et Meta-Press.es est désormais référencé sur la carte des initiatives locales de Vivant-le-media : <a href="https://vivant-le-media.fr/la-carte/" class="bare">https://vivant-le-media.fr/la-carte/</a></p> </div>Version 1.8.1 : less bugs, more sources and no more month_nb2022-05-12T00:00:00+02:002022-05-12T00:00:00+02:00Siltaartag:www.meta-press.es,2022-05-12:/journal/2022/v1.8.1_no_more_month_nb.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_month_nb">1. month_nb</a> <ul class="sectlevel2"> <li><a href="#_name_of_languages_and_countries">1.1. Name of languages and countries</a></li> </ul> </li> <li><a href="#_dependency_updates_and_bugs_fix">2. Dependency updates and bugs fix</a> <ul class="sectlevel2"> <li><a href="#_browser_storage_limitations">2.1. Browser storage limitations</a></li> </ul> </li> <li><a href="#_new_sources">3. New sources</a></li> <li><a href="#_new_files">4. New files</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This new version 1.8.1 was intended as maintenance release:</p> </div> <div class="ulist"> <ul> <li> <p>updating dependencies</p> </li> <li> <p>fixing induced bugs</p> </li> <li> <p>adding sources</p> </li> </ul> </div> <div class="paragraph"> <p>But it turned out to …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_month_nb">1. month_nb</a> <ul class="sectlevel2"> <li><a href="#_name_of_languages_and_countries">1.1. Name of languages and countries</a></li> </ul> </li> <li><a href="#_dependency_updates_and_bugs_fix">2. Dependency updates and bugs fix</a> <ul class="sectlevel2"> <li><a href="#_browser_storage_limitations">2.1. Browser storage limitations</a></li> </ul> </li> <li><a href="#_new_sources">3. New sources</a></li> <li><a href="#_new_files">4. New files</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>This new version 1.8.1 was intended as maintenance release:</p> </div> <div class="ulist"> <ul> <li> <p>updating dependencies</p> </li> <li> <p>fixing induced bugs</p> </li> <li> <p>adding sources</p> </li> </ul> </div> <div class="paragraph"> <p>But it turned out to become the release that got rid of one of my own dependencies : <a href="https://framagit.org/Siltaar/month_nb">month_nb</a>.</p> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> At first launch, this version opens tabs frenetically… Sorry for the inconvenience it won&#8217;t happen at 2nd launch (it&#8217;s a problem linked to automated search and summer time). </td> </tr> </table> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> Users reported a frantic tab opening on the Setting page, that persisted at each page opening. This bug is fixed in version 1.8.2. </td> </tr> </table> </div> </div> </div> <div class="sect1"> <h2 id="_month_nb">1. month_nb</h2> <div class="sectionbody"> <div class="paragraph"> <p>This library, presented <a href="/journal/2019/month_nb-released.html">here</a> and <a href="https://linuxfr.org/users/siltaar/journaux/convertir-des-dates-avec-month_nb">there</a>, allows to convert a month name in its corresponding month number, without having to know the month name language. It&#8217;s working for 72 languages. It was a minimalistic approach based on a compact RegExp tree of month-name starting-letters…</p> </div> <div class="paragraph"> <p>It was interesting in JavaScript as it was 20x smaller than alternatives and unique regarding the language knowledge-free approach.</p> </div> <div class="paragraph"> <p>Using the <code>Intl.DateTimeFormat</code> API (which might have been operational since 2014 but was still moving in last august), it&#8217;s now possible to replace the ~300 lines of <code>month_nb</code> by 5 lines of JavaScript code encapsulated in 3 functions (as this first <a href="https://framagit.org/Siltaar/meta-press-ext/-/commit/5015e357f386e0106b8c3f825bb2f51d4b311058">commit</a> showed).</p> </div> <div class="paragraph"> <p>The principle is simple, the web browser is knowing how month names are written for 218 locales (in Firefox 102.0a1) so when a month name needs to be converted into its number, Firefox can provide the list of the month names of this language and I check the index of the good one in the list. It worked out of the box for most sources.</p> </div> <div class="paragraph"> <p>Notable exceptions were:</p> </div> <div class="ulist"> <ul> <li> <p>the Esperanto version of Le Monde Diplomatique, which uses English month names for its dates (so I introduced a new <code>date_locale</code> property in source descriptions)</p> </li> <li> <p>the Dutch (nl) language, which uses an abbreviated version of "marsh" which is not just the 3-first letters of the month name: <em>maart</em> abbreviation is <em>mrt.</em> (so I also compare with browser&#8217;s provided <code>"short"</code> versions of the month names)</p> </li> <li> <p>Russian month names from Wikipedia weren&#8217;t recognized. After some exchanges on Mastodon I learnt that it was due to declinations of the names in this context of their usage. I decided to add the list of the declined month names at the right spot in the code to support this case.</p> </li> <li> <p>And the Arabic languages, such as the Egyptian Wikipedia (ar-eg) or the Iranian Le Monde Diplomatique (fa-ir) and I think I&#8217;ll need help for those ones as I <a href="https://pouet.chapril.org/@metapress/108284060490257024">tooted via the Meta-Press.es official Mastodon account</a>.</p> </li> </ul> </div> <div class="paragraph"> <p>I created month_nb for the early prototypes of Meta-Press.es and was working on it since 2013. It costed me nightly tears of blood (and recently daily ones for Christopher) but after hours of right-to-left quirks in our editors, not really knowing what we were doing, we managed to get those Arabic languages working via month_nb… but abbreviations could not be supported for all languages (too many collisions). With the new solution, the correct list of the 12 strings used by Wikipedia for the different Arabic locales might be enough (like for Russian).</p> </div> <div class="sect2"> <h3 id="_name_of_languages_and_countries">1.1. Name of languages and countries</h3> <div class="paragraph"> <p>Then, as I was in the momentum for it, I also replaced our interns-made list of language names by similar <code>Intl.DisplayNames</code> browser introspections and added country names that we previously decided to skip. Both are now shown in the browser locale (so supposedly in your language), while precedent list was presented in the language&#8217;s locale only.</p> </div> <div class="paragraph"> <p>By the way, all in all (and per <code>cloc</code> measurements) I already trashed 25% of interns code lines (saving features, loosing hours).</p> </div> <div class="paragraph"> <p>I also wanted to go for a browser introspected list of all the timezones (used in Meta-Press.es settings) but the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/timeZones#browser_compatibility">Intl.Locale.timeZones</a> API is not supported by Firefox yet (so here we keep our own list for the moment).</p> </div> <div class="paragraph"> <p>I&#8217;ll keep an eye on this to drop this last list as soon as possible.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_dependency_updates_and_bugs_fix">2. Dependency updates and bugs fix</h2> <div class="sectionbody"> <div class="paragraph"> <p>Aside from removing month_nb, other dependencies were simply updated for this release:</p> </div> <div class="ulist"> <ul> <li> <p>Choices.js v10.1.0 (at last a new release after a long period of dead looking project, a new team gathered around the project)</p> </li> <li> <p>Browser-polyfill.js v3.0.1</p> </li> <li> <p>Gettext.js v1.1.0</p> </li> </ul> </div> <div class="paragraph"> <p>Those updates bring small bugs to fix and deprecation warnings to manage. I also fixed a bug on the ListJS pagination (which was scrolling up to the top at each page change) using a solution that I took the time to <a href="https://github.com/javve/list.js/issues/711#issuecomment-1120184233">report upstream</a>. This bug, introduced by ListJS v2.3.1 might have been there for 9 months.</p> </div> <div class="paragraph"> <p>I also fixed the result-removing which was slow and did not work for sources with parenthesis in the name, like: "Wikipedia (pl)". The new system is 4x faster and displays a waiting cursor while you&#8217;re waiting.</p> </div> <div class="paragraph"> <p>Imports and exports of results should also display this waiting cursor. This might be the third time I announce this feature, mais it trickier than it might seem to achieve. The treatment covered should be asynchroneous, else the browser just perform the treatment and the cursor is not updated, and you must enforce the waiting cursor even when the mouse hovers links, where a link-signaling cursor is set by default (or by my class to get buttons looking like links). It might give the feeling that one must shake the mouse to get that damned waiting cursor !</p> </div> <div class="sect2"> <h3 id="_browser_storage_limitations">2.1. Browser storage limitations</h3> <div class="paragraph"> <p>Another annoying bug was introduced by the previous version in the new list of sources. There is a button to remove all selection. It works well in the last two tabs (added sources and removed sources) but if you click on it on the list of all sources or on the list of all selected sources, you&#8217;ll create an empty selection and a popup tells you so and load the default tags to get you a non-empty selection of sources. Unfortunately, this action was trapping users in popup loops.</p> </div> <div class="paragraph"> <p>I fixed this, but it learnt me a lot. There should not have been a loop. It was created by the fact that you can&#8217;t save big strings (such as the big source exclusion list that the "remove all" button creates) in the <code>browser.storage</code>. You are limited to 512 elements of 8 ko each (for a total size of 100 ko max).</p> </div> <div class="paragraph"> <p>It represents approximately a custom selection list of 200 sources (added or removed). <strong>Bigger lists will work but won&#8217;t be saved</strong>.</p> </div> <div class="paragraph"> <p>If you avoid trying to save too big objects, it fixes the loop problem, but a better solution is yet to be found. Currently I use the main URL of the source as source-key, it allows to find a source from an RSS file and guaranties that old exports will be coherent with updated Meta-Press.es (it was "at no cost" before this <code>browser.storage</code> limit reaching).</p> </div> <div class="paragraph"> <p>Those limits are now monitored and reported in the JavaScript console when you open a new Meta-Press.es tab.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_new_sources">3. New sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>This release embed 62 more sources for a total of 378, 59 countries (+4) and 33 languages (+10).</p> </div> <div class="paragraph"> <p>The <strong>Agenda</strong> source type now includes <em>agendamilitant.org</em> (in addition of all the Demospheres instances for a total of 30 agendas, waiting for this feature request to get fixed in <a href="https://framagit.org/framasoft/mobilizon/-/issues/584#note_1825538">Mobilizon</a>'s developper).</p> </div> <div class="paragraph"> <p>The <strong>Encyclo.</strong> source type now includes 14 languages of Wikipedia for a total of 20 indexed encyclopedias.</p> </div> <div class="paragraph"> <p>And a <strong>Social Network</strong> source type is introduce in this release with 14 elements including <em>Invidious</em> and several languages of Dailymotion for the moment. Other "web" sources will follow and feel free to suggest a better name for this category.</p> </div> <div class="paragraph"> <p>But the new star is the <a href="https://www.scrutari.net">Scrutari</a> instance of the <a href="https://scrutari.coredem.info/">Coredem</a> (<a href="https://www.coredem.info/rubrique59.html">Scrutari description in english</a>) in a renammed <strong>Doc.</strong> source type (along with <em>Wikileaks</em> and <em>ArretSurImages.net</em>).</p> </div> <div class="paragraph"> <p>Scrutari is a libre software search engine indexing 58 663 resources from 38 sites promoting a world-wide democracy. It&#8217;s ventilated into 14 languages in Meta-Press.es.</p> </div> </div> </div> <div class="sect1"> <h2 id="_new_files">4. New files</h2> <div class="sectionbody"> <div class="paragraph"> <p>To finish, 3 files appeared in the repository:</p> </div> <div class="ulist"> <ul> <li> <p><code>.eslintrc.json</code> which contains configuration directives for ESLint, to help enforcing some coding style rules</p> </li> <li> <p><code>wiki/incompatible_sources.adoc</code> which is not really new as it is the previous wiki page of the project that moved into the repository itself (might be more visible here, and easier for me to maintain)</p> </li> <li> <p><code>json/broken_sources.json</code> a file where I moved the remains of broken source definitions (around 50 of them) that were never finished or broke afterwards. The motivation was to avoid sending 1440 lines of JSON uselessly to users… and I fixed some of them by the way</p> </li> </ul> </div> <div class="paragraph"> <p>Before trying to add a new source, one might not lost his time searching through those last two files for hints about hypothetical previous attempts.</p> </div> </div> </div>Version 1.8.1 : moins de bugs, plus de sources, plus de month_nb (du tout)2022-05-12T00:00:00+02:002022-05-12T00:00:00+02:00Siltaartag:www.meta-press.es,2022-05-12:/fr/journal/2022/v1.8.1_no_more_month_nb.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_month_nb">1. month_nb</a> <ul class="sectlevel2"> <li><a href="#_nom_des_langues_et_des_pays">1.1. Nom des langues et des pays</a></li> </ul> </li> <li><a href="#_mise_à_jour_des_dépendances_et_petites_réparations">2. Mise à jour des dépendances et petites réparations</a> <ul class="sectlevel2"> <li><a href="#_limitations_du_browser_storage">2.1. Limitations du <code>browser.storage</code></a></li> </ul> </li> <li><a href="#_nouvelles_sources">3. Nouvelles sources</a></li> <li><a href="#_nouveaux_fichiers">4. Nouveaux fichiers</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>La v1.8.1 ne devait être qu&#8217;une opération de maintenance :</p> </div> <div class="ulist"> <ul> <li> <p>mettre à jour les dépendances</p> </li> <li> <p>réparer …</p></li></ul></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_month_nb">1. month_nb</a> <ul class="sectlevel2"> <li><a href="#_nom_des_langues_et_des_pays">1.1. Nom des langues et des pays</a></li> </ul> </li> <li><a href="#_mise_à_jour_des_dépendances_et_petites_réparations">2. Mise à jour des dépendances et petites réparations</a> <ul class="sectlevel2"> <li><a href="#_limitations_du_browser_storage">2.1. Limitations du <code>browser.storage</code></a></li> </ul> </li> <li><a href="#_nouvelles_sources">3. Nouvelles sources</a></li> <li><a href="#_nouveaux_fichiers">4. Nouveaux fichiers</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>La v1.8.1 ne devait être qu&#8217;une opération de maintenance :</p> </div> <div class="ulist"> <ul> <li> <p>mettre à jour les dépendances</p> </li> <li> <p>réparer les bugs introduits</p> </li> <li> <p>ajouter des sources…</p> </li> </ul> </div> <div class="paragraph"> <p>Mais les évènements prirent une toute autre tournure et cette version restera comme celle à laquelle j&#8217;ai pu me débarrasser d&#8217;une de mes propres dépendances : <a href="https://framagit.org/Siltaar/month_nb">month_nb</a>.</p> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> À la 1ère ouverture, cette version ouvre des onglets frénétiquement, ça n&#8217;arrive plus aux ouvertures suivantes (c&#8217;est un problème lié aux recherches automatiques et à l&#8217;heure d&#8217;été). </td> </tr> </table> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> Des utilisateurs ont reporté une frénézie d&#8217;ouverture d&#8217;onglet depuis la page des réglages, persistante à chaque ouverture de page. Ce bug est corrigé avec la version 1.8.2 </td> </tr> </table> </div> </div> </div> <div class="sect1"> <h2 id="_month_nb">1. month_nb</h2> <div class="sectionbody"> <div class="paragraph"> <p>Cette bibliothèque de fonction (une seule fonction…), présentée <a href="/journal/2019/month_nb-released.html">ici</a> et <a href="https://linuxfr.org/users/siltaar/journaux/convertir-des-dates-avec-month_nb">là</a>, permet de convertir un nom de mois en son numéro, sans même avoir à connaître la langue employée. Ça marche pour 72 langues. C&#8217;était une approche minimaliste (±300 lignes de code), basée sur un arbre compact d&#8217;expressions régulières attrapant, lettre par lettre, des débuts de nom de mois.</p> </div> <div class="paragraph"> <p>C&#8217;était intéressant en JavaScript parce que c&#8217;était 20x plus compacte que les alternatives et c&#8217;était unique par l&#8217;aspect : pas besoin de connaissance a priori de la langue des noms de mois convertis.</p> </div> <div class="paragraph"> <p>En utilisant l&#8217;API <code>Intl.DateTimeFormat</code> (qui étaient peut être déjà opérationnelle en 2014 mais bougeait encore en août dernier), il est désormais possible de remplacer les 300 lignes de <code>month_nb</code> par 5 lignes de JavaScript encapsulées dans 3 fonctions (comme le montre ce premier commit <a href="https://framagit.org/Siltaar/meta-press-ext/-/commit/5015e357f386e0106b8c3f825bb2f51d4b311058">commit</a> sur le sujet).</p> </div> <div class="paragraph"> <p>Le principe est simple ici : le navigateur sait comment les noms de mois s&#8217;écrivent pour 218 locales (dans un Firefox 102.0a1) alors quand il y a besoin d&#8217;en convertir un en son numéro, il suffit de parcourir la liste des mois d&#8217;une langue donnée et de voir quel est l&#8217;index du mois dans la liste… Ça a fonctionné du premier coup pour presque toutes les sources !</p> </div> <div class="paragraph"> <p>Voici les quelques exceptions notables :</p> </div> <div class="ulist"> <ul> <li> <p>la version espéranto du Monde Diplomatique utilise des noms de mois en anglais pour les dates de ses résultats (j&#8217;ai donc ajouté une propriété <code>date_locale</code> dans la définition des sources pour préciser la langue des dates quand ce n&#8217;est pas celle des résultats)</p> </li> <li> <p>le néerlandais (nl) qui utilise une abréviation pour le mois de mars qui n&#8217;est pas le début du nom du mois tronqué : <em>maart</em> est abrégé en <em>mrt.</em> (j&#8217;ai donc ajouté une comparaison sur les versions courtes des noms de mois, que le navigateur peut aussi fournir, en cas d&#8217;échec avec la version longue)</p> </li> <li> <p>les noms de mois en Russe sur Wikipedia n&#8217;étaient pas reconnus. Après quelques échanges sur Mastodon j&#8217;ai appris que c&#8217;était dû à un mécanisme de déclinaison "d&#8217;appartenance" des noms dans cette langue en fonction de leur contexte d&#8217;utilisation (on marque bien le genre et le nombre nous…). J&#8217;ai donc ajouté, à la suite des mois en version courte, une comparaison sur les noms de mois déclinés dans le cas du Russe</p> </li> <li> <p>enfin, les langues arabes comme la version égyptienne de Wikipedia (ar-eg) ou la version iranienne du Monde Diplomatique (fa-ir) ne fonctionnent pas non plus et je pense que je vais avoir besoin d&#8217;aide pour les réparer (comme <a href="https://pouet.chapril.org/@metapress/108284060490257024">signalé sur le compte Mastodon officiel de Meta-Press.es</a>).</p> </li> </ul> </div> <div class="paragraph"> <p>J&#8217;ai créé <em>month_nb</em> avec les premiers prototypes de Meta-Press.es en 2013… ce projet m&#8217;a coûté des larmes de sang nocturne (et plus récemment diurnes pour Christopher), mais après des heures de pagaille de droite-à-gauche dans nos éditeurs et sans vraiment savoir ce qu&#8217;on faisait, au moins on avait réussi à faire fonctionner ces langues arabes avec <em>month_nb</em>. Toutefois, la gestion des abréviations dans toutes les langues n&#8217;était pas envisageable elle (trop de collisions).</p> </div> <div class="paragraph"> <p>Ce coup-ci, les bonnes listes de noms de mois, ajoutées au bon endroit, seront sûrement suffisantes pour faire à nouveau fonctionner ces langues (comme pour le Russe).</p> </div> <div class="sect2"> <h3 id="_nom_des_langues_et_des_pays">1.1. Nom des langues et des pays</h3> <div class="paragraph"> <p>Sur ma lancée j&#8217;ai aussi remplacé la liste des noms de langue (mise en place par l&#8217;un des stagiaires) par une approche similaire d&#8217;introspection du navigateur via l&#8217;API <code>Intl.DisplayNames</code>, et puis ajouté les noms de pays (que nous n&#8217;avions pas jugée suffisamment utile avant). Les deux sont désormais affichées dans la langue du navigateur de l&#8217;utilisateur (alors que les langues étaient affichées dans leur langue avant).</p> </div> <div class="paragraph"> <p>D&#8217;ailleurs dans l&#8217;ensemble (et comme le mesure la commande <code>cloc</code>) j&#8217;ai déjà "harmonisé" (vers le néant) 25% des lignes de code produites par les stagiaires (conservant les fonctionnalités, perdant plein de temps).</p> </div> <div class="paragraph"> <p>Je voulais aussi remplacer notre liste de fuseaux horaires (utilisée dans les réglages) mais l&#8217;API correspondante : <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/timeZones#browser_compatibility">Intl.Locale.timeZones</a> ; n&#8217;est pas encore supportée par Firefox.</p> </div> <div class="paragraph"> <p>Je vais garder un œil là dessus pour éliminer cette surface de maintenance le plus vite possible.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_mise_à_jour_des_dépendances_et_petites_réparations">2. Mise à jour des dépendances et petites réparations</h2> <div class="sectionbody"> <div class="paragraph"> <p>Outre le retrait de <em>month_nb</em> certaines dépendances ont simplement été mises à jour pour cette nouvelle version :</p> </div> <div class="ulist"> <ul> <li> <p>Choices.js v10.1.0 (enfin une mise à jour disponible pour ce projet qui cherchait de nouveaux mainteneurs et semble les avoir trouvés)</p> </li> <li> <p>Browser-polyfill.js v3.0.1</p> </li> <li> <p>Gettext.js v1.1.0</p> </li> </ul> </div> <div class="paragraph"> <p>Ces mise à jour ont entrainé quelques petites réparations et précautions à prendre suite à des annonces de fonctionnalités abandonnées prochainement. J&#8217;ai également réglé le problème avec la pagination de ListJS (qui entraînait un défilement en haut de page à chaque changement de page) par une solution que j&#8217;ai pris le temps de <a href="https://github.com/javve/list.js/issues/711#issuecomment-1120184233">remonter au projet</a>. Ce bug fut probablement introduit par la version 2.3.1 de ListJS, mise à jour il y a 9 mois dans Meta-Press.es…</p> </div> <div class="paragraph"> <p>La fonctionnalité de retrait des résultats d&#8217;une source a également été réparée pour les sources comportant des parenthèses dans leur nom comme : "Wikipedia (pl)". La nouvelle méthode est nettement plus rapide et affiche désormais un curseur d&#8217;attente pendant l&#8217;opération.</p> </div> <div class="paragraph"> <p>Les imports et les exports aussi affichent un curseur d&#8217;attente. Ça doit faire 3x que j&#8217;annonce cette fonctionnalité mais c&#8217;est moins simple qu&#8217;il n&#8217;y parait. Il faut que le traitement derrière le changement de curseur soit asynchrone, sinon le navigateur se lance dans le calcul avant que le curseur d&#8217;attente ne soit rendu visible et il faut forcer ce curseur d&#8217;attente même sur les liens (et les boutons que je maquille en lien) car le curseur signalant le lien reste affiché sinon (ce qui peut donner l&#8217;impression qu&#8217;il faut secouer la souris pour que le curseur d&#8217;attente s&#8217;affiche…).</p> </div> <div class="sect2"> <h3 id="_limitations_du_browser_storage">2.1. Limitations du <code>browser.storage</code></h3> <div class="paragraph"> <p>Un autre bug assez pénible fut introduit avec la précédente version de Meta-Press.es et sa nouvelle liste des sources. Un bouton de cette interface permet de retirer toutes les sources de la sélection courante (en les ajoutant à la liste des sources explicitement dé-selectionnées). Ça fonctionne bien avec les deux derniers onglets (les sources ajoutées ou les sources retirées de la sélection courante), mais si on clique dessus sur l&#8217;un des deux premiers onglets (toutes les sources ou toutes les sources sélectionnées) cela abouti à une sélection vide et Meta-Press.es le signale puis restaure les tags par défaut. Le problème c&#8217;était que les utilisateurs se retrouvaient bloqués dans une boucle infinie de popup signalant une sélection vide.</p> </div> <div class="paragraph"> <p>J&#8217;ai réparé ça et ai beaucoup appris ce faisant. Il n&#8217;y aurait pas dû y avoir cette boucle, elle était créée par une limitation du stockage proposé par le navigateur aux WebExtensions. Ces limites sont : 512 objets, de 8 ko maximum chacun, pour un total ne dépassant pas 100 ko.</p> </div> <div class="paragraph"> <p>Ça représente une liste de ±200 sources (ajoutées ou retirées de la sélection). <strong>Les listes plus grosses fonctionnent mais ne sont plus sauvegardées</strong>.</p> </div> <div class="paragraph"> <p>En évitant de sauvegarder de trop gros objets dans le stockage de l&#8217;extension, il n&#8217;y a plus de boucle infinie, mais une meilleure solution est encore à trouver. Pour l&#8217;instant, j&#8217;utilise l&#8217;URL principale d&#8217;une source en guise de clé d&#8217;identification. Ça présente l&#8217;avantage de permettre de retrouver une source connue à partir d&#8217;un fichier RSS pris sur le web, ou de garantir qu&#8217;un vieil export sera encore reconnu par une version mise à jour de Meta-Press.es (et tout ça sans le moindre "coût" pensais-je jusqu&#8217;à ce qu&#8217;on atteigne une limite du <code>browser.storage</code>).</p> </div> <div class="paragraph"> <p>Ces limites sont désormais surveillées de près et un rapport s&#8217;affiche dans la console JavaScript quand on ouvre un nouvel onglet de Meta-Press.es.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_nouvelles_sources">3. Nouvelles sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Cette nouvelle version embarque 62 sources de plus, pour un total de 378, de 59 pays (+4) et en 33 langues (+10).</p> </div> <div class="paragraph"> <p>Le type de source <strong>Agenda</strong> accueille l' <em>agendamilitant.org</em> (en plus de toutes les instances de Demosphère, pour un total de 30 agendas, et attendant que cette <a href="https://framagit.org/framasoft/mobilizon/-/issues/584#note_1825538">feature-request</a> soit traitée du côté de Mobilizon).</p> </div> <div class="paragraph"> <p>Le type de source <strong>Encyclo.</strong> comporte désormais 14 langues de Wikipedia, pour un total de 20 sources encyclopédiques indexées.</p> </div> <div class="paragraph"> <p>Un type de source <strong>Réseaux sociaux</strong> fait son apparition, regroupant 14 sources dont Invidious et plusieurs langues de Dailymotion. D&#8217;autres sources "web" suivront et n&#8217;hésitez pas à proposer un meilleur nom pour cette catégorie.</p> </div> <div class="paragraph"> <p>Mais la nouvelle star des sources c&#8217;est l&#8217;instance <a href="https://www.scrutari.net">Scrutari</a> du <a href="https://scrutari.coredem.info/">Coredem</a> dans le type de source renommé <strong>Doc.</strong> (incluant <em>Wikileaks</em> et <em>ArretSurImages.net</em>).</p> </div> <div class="paragraph"> <p>Scrutari est un moteur de recherche en logiciel libre qui indexe 58 663 ressources en provenance de 38 sites promouvant une démocratie mondiale. Cette source se retrouve ventilée en 14 langues.</p> </div> </div> </div> <div class="sect1"> <h2 id="_nouveaux_fichiers">4. Nouveaux fichiers</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pour finir, 3 fichiers ont fait leur apparition dans le dépôt :</p> </div> <div class="ulist"> <ul> <li> <p><code>.eslintrc.json</code> qui contient des directives de configuration pour l&#8217;analyseur de code ESLint, pour aider à appliquer les règles de présentation du code</p> </li> <li> <p><code>wiki/incompatible_sources.adoc</code> qui n&#8217;est pas vraiment nouveau puisque c&#8217;est tout simplement la page du wiki du projet listant les sources qu&#8217;il n&#8217;a pas été possible d&#8217;ajouter… (elle sera probablement plus visible là, et assurément plus facile à maintenir pour moi)</p> </li> <li> <p><code>json/broken_sources.json</code> un fichier où j&#8217;ai déplacé les restes d&#8217;environ 50 définitions de sources impossibles à finir ou cassées depuis. La motivation était là de ne plus envoyer ces 1440 lignes de JSON pour rien aux utilisateurs… et j&#8217;en ai profité pour en réparer certaines.</p> </li> </ul> </div> <div class="paragraph"> <p>Avant d&#8217;ajouter une nouvelle source, il est recommandé de jeter un œil à ces deux derniers fichiers pour trouver des traces d&#8217;hypothétiques essais précédents.</p> </div> </div> </div>Version 1.8.0 : new source list, user feedback2022-04-25T00:00:00+02:002022-04-25T00:00:00+02:00Siltaartag:www.meta-press.es,2022-04-25:/journal/2022/v1.8.0_new-source-list.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_improving_code_architecture">1. Improving code architecture</a></li> <li><a href="#_managing_relative_dates_for_all_sources">2. Managing relative dates for all sources</a></li> <li><a href="#_major_improvements_of_the_release">3. Major improvements of the release</a> <ul class="sectlevel2"> <li><a href="#_csv_format">3.1. CSV format</a></li> <li><a href="#_user_feedback_about_sources">3.2. User feedback about sources</a></li> <li><a href="#_new_source_list_and_cherry_pick_source_selections">3.3. New source list and cherry-pick source selections</a></li> </ul> </li> <li><a href="#_other_improvements_ergonomics_source_fixes">4. Other improvements (ergonomics, source fixes…)</a></li> <li><a href="#_what_will_come_next">5. What will come next ?</a></li> <li><a href="#_donate_to_help_the_project">6. Donate …</a></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_improving_code_architecture">1. Improving code architecture</a></li> <li><a href="#_managing_relative_dates_for_all_sources">2. Managing relative dates for all sources</a></li> <li><a href="#_major_improvements_of_the_release">3. Major improvements of the release</a> <ul class="sectlevel2"> <li><a href="#_csv_format">3.1. CSV format</a></li> <li><a href="#_user_feedback_about_sources">3.2. User feedback about sources</a></li> <li><a href="#_new_source_list_and_cherry_pick_source_selections">3.3. New source list and cherry-pick source selections</a></li> </ul> </li> <li><a href="#_other_improvements_ergonomics_source_fixes">4. Other improvements (ergonomics, source fixes…)</a></li> <li><a href="#_what_will_come_next">5. What will come next ?</a></li> <li><a href="#_donate_to_help_the_project">6. Donate to help the project</a></li> </ul> </div> <div class="sect1"> <h2 id="_improving_code_architecture">1. Improving code architecture</h2> <div class="sectionbody"> <div class="paragraph"> <p>After a long work here is the version 1.8.0. It required longer than usual as I integrated work from interns. It lead me to establish <a href="https://framagit.org/Siltaar/meta-press-ext#user-content-javascript-coding-style">coding style rules</a>. It&#8217;s also the reflect of a big "under the surface" work to migrate the code base to the modern modular design of JavaScript. Meta-Press.es is now following this architecture, which helped to minimize redundancies in the code (you want redundancies in your hardware, but note in your code). This will help for the maintenance of the application.</p> </div> </div> </div> <div class="sect1"> <h2 id="_managing_relative_dates_for_all_sources">2. Managing relative dates for all sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Another "invisible" change occurred regarding the possible date format definitions in sources. Now documented <a href="https://www.meta-press.es/pages/meta-press.es_documentation.html#_date_formats">here</a>, this evolution of the source definitions allows to handle as many formats as needed for each source. This is the solution of the different relative date format that we could find on sources (such as : Published one hour ago) which no JavaScript date libraries were able to handle in different languages. This Meta-Press.es evolution is not a generic solution for everyone like <a href="https://framagit.org/Siltaar/month_nb">month_nb</a> but it allows to handle several problems with dates (such as relative dates or inconsistencies betweens dates in archives of a same source…).</p> </div> </div> </div> <div class="sect1"> <h2 id="_major_improvements_of_the_release">3. Major improvements of the release</h2> <div class="sectionbody"> <div class="paragraph"> <p>This new version also brings visible improvements:</p> </div> <div class="ulist"> <ul> <li> <p>export / import in CSV format (to easily reuse results)</p> </li> <li> <p>per-source feedback mechanism (to report broken sources)</p> </li> <li> <p>new list of sources (to fine tune source selection)</p> </li> </ul> </div> <div class="sect2"> <h3 id="_csv_format">3.1. CSV format</h3> <div class="paragraph"> <p><strong>CSV format</strong> appeared in the import and export drop-down format menus. It currently only includes results (excluding research parameters that can be exported via RSS, ATOM or JSON).</p> </div> </div> <div class="sect2"> <h3 id="_user_feedback_about_sources">3.2. User feedback about sources</h3> <div class="paragraph"> <p><strong>The source feedback</strong> mechanism is a new button that appears when hovering a source in the searched source list of a finished research (also knowns as meta finding list, first box at the right of finished search). Clicking on this button open a pop-in frame that allows to describe the problem encountered with this source and to send your feedback in one click. This is the only way to send a request to the <a href="https://meta-press.es" class="bare">https://meta-press.es</a> server from the Meta-Press.es application.</p> </div> <div class="paragraph"> <p>From a technical point of view, this generates 404 HTTPS requests that I&#8217;ll review using goaccess, my web log analyser tool. This way, everything gets automatically erased (with the rest of the logs) after the default Debian erasing log period of time (currently 15 days). This way, with a minimal effort it&#8217;s goaccess that will perform on demand statistics over the feedbacks, allowing to focus on the most reported sources. Information must flow.</p> </div> </div> <div class="sect2"> <h3 id="_new_source_list_and_cherry_pick_source_selections">3.3. New source list and cherry-pick source selections</h3> <div class="paragraph"> <p><strong>The new source list</strong> answers two needs:</p> </div> <div class="ulist"> <ul> <li> <p>users did ask for a human readable list of the available sources</p> </li> <li> <p>this list is the new source cherry-pick mechanism</p> </li> </ul> </div> <div class="paragraph"> <p>From this new source list you&#8217;ll be able to edit the tag-based source-selection. For instance, you chose to search only in french sources (via the french language tag), you can then click on the new <kbd>list sources</kbd> button (situated under the two rows of the tag selection mechanism) and you&#8217;ll open a new frame, with 4 tabs.</p> </div> <div class="ulist"> <ul> <li> <p>The 1st tab lists all the sources</p> </li> <li> <p>the second tab lists only the selected sources</p> </li> <li> <p>the 3rd tab lists only the explicitly added sources to the selection</p> </li> <li> <p>the 4th tab lists only the explicitly removed sources from the selection</p> </li> </ul> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220721_advanced_search.png" alt="20220721 advanced search"> </div> <div class="title">Figure 1. New source list</div> </div> <div class="paragraph"> <p>So you can add some English sources to your french selection, or remove some french sources.</p> </div> <div class="paragraph"> <p>On a technical point of view, sources are selected from their tags, and a remove sources from the selection is applied, then an add source to selection list. You can edit those lists and they are exported with RSS, ATOM or JSON exports, they are added to the parameters of the permalinks and so saved for your scheduled searches.</p> </div> <div class="paragraph"> <p>In each tabs you can filter out the content via a search input, or act on batches (all the listed sources or just the current page) to add or remove sources to / from the current selection.</p> </div> <div class="paragraph"> <p>So you can visually check in which sources the next search will perform and then you can edit this selection.</p> </div> <div class="paragraph"> <p>Those parameters will be kept for your next searches and the source list will be automatically re-opened if you are using an edited source selection to search in, at least to help you remembering the choices.</p> </div> <div class="paragraph"> <p>Also for each source in this list, a magnifier button allows you to search only in this source, in one click.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_other_improvements_ergonomics_source_fixes">4. Other improvements (ergonomics, source fixes…)</h2> <div class="sectionbody"> <div class="paragraph"> <p>This new release also brings presentation improvements : results are presented with more density, their background color now alternates to help the reading and a lot of small glitches have been fixed (button sizes, margins…).</p> </div> <div class="paragraph"> <p>The source creation page have been improved to allow searching in the source definitions listed here (the row JSON file of all the provided source definition accessible here, and searchable from Firefox <span class="keyseq"><kbd>CTRL</kbd>+<kbd>F</kbd></span> mechanism).</p> </div> <div class="paragraph"> <p>The previous released version introduced a source-definition automatic reloading mechanism when Meta-Press.es tabs where let down for others (such as Custom Source ones) and so your custom sources where automatically reloaded in a quite slow way. The naive implementation have been improved to reload sources only if custom sources where actually modified.</p> </div> <div class="paragraph"> <p>This previous version also had a bug regarding all the RSS based sources (±25%) which is now fixed along with a lot of source fixes. So we are, at date, with more than 315 working sources.</p> </div> </div> </div> <div class="sect1"> <h2 id="_what_will_come_next">5. What will come next ?</h2> <div class="sectionbody"> <div class="paragraph"> <p>There is still of work to do, to improve source testing for instance, or to automate releases testing.</p> </div> <div class="paragraph"> <p>But I also have some new features in mind, such as:</p> </div> <div class="ulist"> <ul> <li> <p>a child mode to lock the source selection on child compatible ones to help schools using Meta-Press.es</p> </li> <li> <p>a dynamic form to allow regular users to create new sources using their mouse only (in 80% of the cases)</p> </li> <li> <p>a port of Meta-Press.es as a regular Android application (to target more audience)</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_donate_to_help_the_project">6. Donate to help the project</h2> <div class="sectionbody"> <div class="paragraph"> <p>To finish, every donations would be warmly welcome to push the project further, or to thanks Meta-Press.es for this great tip : <a href="https://www.meta-press.es/journal/2022/PressReader_via_BnF.html">Access content of 7400 from the French national library for 15 € / year</a>.</p> </div> </div> </div>Version 1.8.0 : nouvelle liste de sources, retours utilisateurs2022-04-25T00:00:00+02:002022-04-25T00:00:00+02:00Siltaartag:www.meta-press.es,2022-04-25:/fr/journal/2022/v1.8.0_new-source-list.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_amélioration_de_larchitecture_du_code">1. Amélioration de l&#8217;architecture du code</a></li> <li><a href="#_gestion_des_dates_relatives_pour_toutes_les_sources">2. Gestion des dates relatives pour toutes les sources</a></li> <li><a href="#_améliorations_principales_de_cette_nouvelle_version">3. Améliorations principales de cette nouvelle version</a> <ul class="sectlevel2"> <li><a href="#_format_csv">3.1. Format CSV</a></li> <li><a href="#_retour_utilisateur_sur_les_sources">3.2. Retour utilisateur sur les sources</a></li> <li><a href="#_nouvelle_liste_de_source_permettant_la_sélection_à_lunité">3.3. Nouvelle liste de source permettant la sélection à l&#8217;unité</a></li> </ul> </li> <li><a href="#_autres_améliorations_ergonomie_sources_réparées">4. Autres améliorations …</a></li></ul></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_amélioration_de_larchitecture_du_code">1. Amélioration de l&#8217;architecture du code</a></li> <li><a href="#_gestion_des_dates_relatives_pour_toutes_les_sources">2. Gestion des dates relatives pour toutes les sources</a></li> <li><a href="#_améliorations_principales_de_cette_nouvelle_version">3. Améliorations principales de cette nouvelle version</a> <ul class="sectlevel2"> <li><a href="#_format_csv">3.1. Format CSV</a></li> <li><a href="#_retour_utilisateur_sur_les_sources">3.2. Retour utilisateur sur les sources</a></li> <li><a href="#_nouvelle_liste_de_source_permettant_la_sélection_à_lunité">3.3. Nouvelle liste de source permettant la sélection à l&#8217;unité</a></li> </ul> </li> <li><a href="#_autres_améliorations_ergonomie_sources_réparées">4. Autres améliorations (ergonomie, sources réparées…)</a></li> <li><a href="#_et_pour_la_suite">5. Et pour la suite ?</a></li> <li><a href="#_donnez_pour_soutenir_le_projet">6. Donnez pour soutenir le projet</a></li> </ul> </div> <div class="sect1"> <h2 id="_amélioration_de_larchitecture_du_code">1. Amélioration de l&#8217;architecture du code</h2> <div class="sectionbody"> <div class="paragraph"> <p>Après un long travail, voici la version 1.8.0. Elle a nécessité plus de travail que d&#8217;habitude, notamment parce que j&#8217;ai intégré une grande partie du travail de mes précédents stagiaires. Cela m&#8217;a amené à établir des règles de bonne conduite dans l&#8217;écriture du code (<a href="https://framagit.org/Siltaar/meta-press-ext#user-content-javascript-coding-style">coding style rules</a>). Cela reflète également beaucoup de travail "sous la surface", notamment pour rendre le code compatible avec la vision moderne et modulaire du JavaScript. Meta-Press.es suis désormais cette architecture logicielle qui permet de minimiser les redondances dans le code (de la redondance, on en veut concernant le matériel, mais pas dans du code). Ce changement aidera à la maintenance du code.</p> </div> </div> </div> <div class="sect1"> <h2 id="_gestion_des_dates_relatives_pour_toutes_les_sources">2. Gestion des dates relatives pour toutes les sources</h2> <div class="sectionbody"> <div class="paragraph"> <p>Un autre gros changement "invisible" concerne la possibilité de définir différents formats de date pour une même source. La documentation a été mise à jour en conséquences <a href="https://www.meta-press.es/fr/pages/meta-press.es_documentation.html#_format_de_date">ici</a>. Cette évolution du format de définition des sources permet de gérer autant de format de date que nécessaire pour chaque source. C&#8217;est la solution adoptée pour le problème des dates relatives (Il y a une heure) utilisée par certaines sources pour les résultats très récent. Or, aucune bibliothèque JavaScript de gestion de date n&#8217;offre de support pour l&#8217;analyse de ces dates, et encore moins dans un contexte multi-lingue. Cette évolution de Meta-Press.es n&#8217;est pas une solution aussi générique que <a href="https://framagit.org/Siltaar/month_nb">month_nb</a>, mais c&#8217;est une solution très souple, permettant de régler plusieurs problèmes d&#8217;un coup (dates relatives, formats de date inconsistants dans les archives d&#8217;une même source…).</p> </div> </div> </div> <div class="sect1"> <h2 id="_améliorations_principales_de_cette_nouvelle_version">3. Améliorations principales de cette nouvelle version</h2> <div class="sectionbody"> <div class="paragraph"> <p>Cette nouvelle version apporte également son lot de changements visibles :</p> </div> <div class="ulist"> <ul> <li> <p>export / import au format CSV (permettant une réutilisation facile des résultats)</p> </li> <li> <p>un méchanisme de retour utilisateurs source par source (pour rapporter une source cassée…)</p> </li> <li> <p>une nouvelle liste des sources (pour gérer finement ses sélections de source)</p> </li> </ul> </div> <div class="sect2"> <h3 id="_format_csv">3.1. Format CSV</h3> <div class="paragraph"> <p>Le <strong>format CSV</strong> apparait désormais dans les menu déroulant de choix de format des exports et imports de résultats. Il n&#8217;inclut pour l&#8217;instant que les résultats eux-même (excluant donc les paramètres de recherche, qui sont embarqués dans les exports aux format RSS, ATOM et JSON).</p> </div> </div> <div class="sect2"> <h3 id="_retour_utilisateur_sur_les_sources">3.2. Retour utilisateur sur les sources</h3> <div class="paragraph"> <p>Il est désormais possible de signaler une source défectueuse en deux clics. Le mécanisme de <strong>retour utilisateurs sur les sources</strong> se matérialise par un bouton qui apparait au survol d&#8217;une source dans la liste des sources interrogées pour une recherche (première boîte de la colonne de gauche d&#8217;une recherche finie). En cliquant sur ce bouton on déplie un cadre permettant de préciser le problème rencontré et d&#8217;envoyer l&#8217;info. C&#8217;est le seul moyen de générer une requête depuis le logiciel Meta-Press.es vers les serveur <a href="https://meta-press.es" class="bare">https://meta-press.es</a>.</p> </div> <div class="paragraph"> <p>D&#8217;un point de vue technique, ça génère une requête HTTPS 404, qui sera relevée lors de l&#8217;analyse des logs du serveur web par le logiciel libre goaccess. En procédent ainsi, tout est automatiquement effacé au bout du délais par défaut de conservation des logs dans Debian (15j actuellement). De plus, aucun logiciel supplémentaire n&#8217;est requis, c&#8217;est goaccess qui compile les statistiques de retour utilisateur (pour signaler les plus rapportées). L&#8217;information doit couler à flot. (mais ne pas s&#8217;accumuler sans raisons).</p> </div> </div> <div class="sect2"> <h3 id="_nouvelle_liste_de_source_permettant_la_sélection_à_lunité">3.3. Nouvelle liste de source permettant la sélection à l&#8217;unité</h3> <div class="paragraph"> <p><strong>La nouvelle liste de source</strong> répond à deux besoins :</p> </div> <div class="ulist"> <ul> <li> <p>des utilisateurs ont demandé une visualisation conviviale de la liste des sources</p> </li> <li> <p>cette liste est le nouveau mécanisme de sélection des sources à l&#8217;unité</p> </li> </ul> </div> <div class="paragraph"> <p>Depuis cette nouvelle liste des sources il est possible d&#8217;éditer une sélection de source à postériori de la sélection par étiquettes. Par exemple, si vous souhaitez ne chercher que dans les sources en français (via l&#8217;étiquette "français" du choix de langue), vous pouvez ensuite cliquer sur le nouveau bouton <kbd>Liste des sources</kbd> (situé sous les deux rangées de sélecteurs à choix multiples pour les étiquettes) et un nouveau cadre apparaitra, découpé en 4 onglets.</p> </div> <div class="ulist"> <ul> <li> <p>Le premier onglet liste toutes les sources</p> </li> <li> <p>le second onglet liste les sources sélectionnées pour la prochaine recherche</p> </li> <li> <p>le troisième onglet liste les sources explicitement ajoutées à la sélection</p> </li> <li> <p>le quatrième onglet liste les sources explicitement retirées de la sélection</p> </li> </ul> </div> <div class="imageblock"> <div class="content"> <img src="/images/20220721_advanced_search.png" alt="20220721 advanced search"> </div> <div class="title">Figure 1. Nouvelle liste des sources</div> </div> <div class="paragraph"> <p>Il est donc possible d&#8217;ajouter quelques sources en anglais en plus d&#8217;une sélection des sources en français, ou de retirer certaines sources française.</p> </div> <div class="paragraph"> <p>D&#8217;un point de vue technique, les sources sont d&#8217;abord sélectionnées à partir de leurs étiquettes, puis les sources explicitement retirées sont retirées de la sélection, puis les sources à ajouter sont ajoutées. Vous pouvez éditer ces deux listes de sources (retirées et ajoutées) et elle sont exportées avec les résultats en RSS, ATOM et JSON. Elles sont également ajoutées en paramètre des permaliens et donc sauvées pour les recherches programmées.</p> </div> <div class="paragraph"> <p>Dans chaque onglet de cette nouvelle liste des sources vous retrouverez une case de recherche (pour filtrer les sources affichées) et des boutons d&#8217;actions groupées (jour ajouter ou retirer toutes les sources listées, ou seulement celle de la page courante).</p> </div> <div class="paragraph"> <p>Il est donc possible de vérifier visuellement dans quelles sources la prochaine recherche aura lieu avant de la lancer et d&#8217;éditer cette sélection finement.</p> </div> <div class="paragraph"> <p>Ces paramètres seront conservés pour vos prochaines recherches, et le volet de recherche avancée sera automatiquement rouvert tant que des paramètres spécifiques seront appliqués (ça permet de se souvenir qu&#8217;on changé les réglages).</p> </div> <div class="paragraph"> <p>Enfin, pour chaque source listée un bouton à l&#8217;effigie d&#8217;une loupe permet de régler la cherche pour cette unique source directement (c&#8217;est au moins pratique pour les développeurs !).</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_autres_améliorations_ergonomie_sources_réparées">4. Autres améliorations (ergonomie, sources réparées…)</h2> <div class="sectionbody"> <div class="paragraph"> <p>Cette nouvelle version apporte également des amélioration graphiques : les résultats sont présentés de manières plus compacte, leur couleur de fond alterne (pair / impair) pour aider à la lisibilité de la page de résultats (qui ne sont parfois pas tous de la même hauteur) et d&#8217;autres petites coquilles de l&#8217;affichage ont été corrigées (comme la taille de certains boutons, des marges…).</p> </div> <div class="paragraph"> <p>La page de création des sources a été améliorée pour permettre d&#8217;effectuer des recherche dans le texte de la liste des sources brutes présentées là à titre d&#8217;exemple. Une recherche est désormais possible là via la fonctionnalité de recherche dans une page proposée par Firefox : <span class="keyseq"><kbd>CTRL</kbd>+<kbd>F</kbd></span>.</p> </div> <div class="paragraph"> <p>La précédente version introduisait un mécanisme de rechargement automatique des sources d&#8217;un onglet Meta-Press.es ouvert, si un changement d&#8217;onglet était détecté (par exemple après un passage sur un onglet de création de sources). Cela permet de garder les sources courantes d&#8217;un onglet ouvert à jour, mais c&#8217;était systématique et plutôt lent. Cette première implémentation naïve a été remplacées par un mécanisme qui ne recharge que les sources créées localement, seulement si elles ont été modifiées.</p> </div> <div class="paragraph"> <p>Enfin la précédente version embarquait un bug impactant toutes les sources définies à l&#8217;aide de leur flux RSS (±25%). Cette erreur est désormais corrigée, tout comme de nombreuses sources normale (mais ayant eu besoin de corrections). Nous en sommes donc à plus de 315 sources fonctionnelles.</p> </div> </div> </div> <div class="sect1"> <h2 id="_et_pour_la_suite">5. Et pour la suite ?</h2> <div class="sectionbody"> <div class="paragraph"> <p>Il y a toujours beaucoup de pain sur la planche : pour améliorer le test automatique des sources, mettre en place des tests automatiques de bout en bout…</p> </div> <div class="paragraph"> <p>Mais j&#8217;ai également de nouvelles grosses fonctionnalités en tête :</p> </div> <div class="ulist"> <ul> <li> <p>un mode enfant pour verrouiller la sélection de sources courante sur des sources pour enfant, pour aider les écoles et CDI souhaitant utiliser Meta-Press.es</p> </li> <li> <p>un formulaire dynamique d&#8217;ajout de sources simplement à la souris (dans 80% des cas)</p> </li> <li> <p>présenter Meta-Press.es comme une application Android standard (et augmenter ainsi drastiquement l&#8217;audience potentielle)</p> </li> </ul> </div> </div> </div> <div class="sect1"> <h2 id="_donnez_pour_soutenir_le_projet">6. Donnez pour soutenir le projet</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pour finir, chaque don est chaudement accueilli aide le projet à avancer.</p> </div> <div class="paragraph"> <p>Vous pouvez aussi considérer un petit don pour me remercier de cette astuce qui fait gagner beaucoup d&#8217;argent : <a href="https://www.meta-press.es/fr/journal/2022/PressReader_via_BnF.html">Accéder au contenu de 7400 journaux via PressReader et la BnF pour 15 € / an</a></p> </div> </div> </div>Presentation of Meta-Press.es in Lyon at the JdLL 20222022-03-04T00:00:00+01:002022-03-04T00:00:00+01:00Siltaartag:www.meta-press.es,2022-03-04:/journal/2022/2022_JDLL.html<div class="paragraph"> <p>After the cancelations of the event in 2020 and 2021, the JdLL (Days of Libre Software in France) team accepted the Meta-Press.es presentation again this year.</p> </div> <div class="paragraph"> <p>This event is a part of the broader french <a href="https://www.libre-en-fete.net/2022/">Libre en Fête</a> manifestation from 20 of march to 3 of april.</p> </div> <div class="paragraph"> <p>The event …</p></div><div class="paragraph"> <p>After the cancelations of the event in 2020 and 2021, the JdLL (Days of Libre Software in France) team accepted the Meta-Press.es presentation again this year.</p> </div> <div class="paragraph"> <p>This event is a part of the broader french <a href="https://www.libre-en-fete.net/2022/">Libre en Fête</a> manifestation from 20 of march to 3 of april.</p> </div> <div class="paragraph"> <p>The event will take place the 2nd and 3rd april 2022.</p> </div> <div class="paragraph"> <p>The presentation is scheduled for :</p> </div> <div class="ulist"> <ul> <li> <p>2022-04-03 17:00 UTC+2 in Lyon, more info here : <a href="https://pretalx.jdll.org/jdll2022/talk/LE8QQ9/">JdLL.org</a></p> </li> </ul> </div> <div class="paragraph"> <p>I accumulated experience about this exercice during my previous presentations (in visio or in public) and I&#8217;m re-working the speech.</p> </div>Présentation de Meta-Press.es à Lyon pour les JdLL 20222022-03-04T00:00:00+01:002022-03-04T00:00:00+01:00Siltaartag:www.meta-press.es,2022-03-04:/fr/journal/2022/2022_JDLL.html<div class="paragraph"> <p>Après une annulation de l&#8217;évènement en 2020 et 2021 l&#8217;organisation des Journées du Logiciel Libre a de nouveau accepté ma proposition de présentation de Meta-Press.es à l&#8217;évènement qui aura lieu les 2 et 3 avril prochain.</p> </div> <div class="paragraph"> <p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;opération …</p></div><div class="paragraph"> <p>Après une annulation de l&#8217;évènement en 2020 et 2021 l&#8217;organisation des Journées du Logiciel Libre a de nouveau accepté ma proposition de présentation de Meta-Press.es à l&#8217;évènement qui aura lieu les 2 et 3 avril prochain.</p> </div> <div class="paragraph"> <p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;opération <a href="https://www.libre-en-fete.net/2022/">Libre en Fête 2022</a> partout en France à partir du 20 mars.</p> </div> <div class="paragraph"> <p>La présentation de Meta-Press.es est prévue pour le :</p> </div> <div class="ulist"> <ul> <li> <p>2022-04-03 17:00 UTC+2 à Lyon : plus d&#8217;info sur <a href="https://pretalx.jdll.org/jdll2022/talk/LE8QQ9/">JdLL.org</a></p> </li> </ul> </div> <div class="paragraph"> <p>J&#8217;ai accumulé une certaine expérience lors de mes présentations précédentes (en visio ou en public) et retravaillé le fond et la forme en conséquences (merci à ceux qui m&#8217;y ont aidé).</p> </div>Access content of 7400 from the French national library for 15 € / year2022-02-02T00:00:00+01:002022-02-02T00:00:00+01:00Siltaartag:www.meta-press.es,2022-02-02:/journal/2022/PressReader_via_BnF.html<div class="paragraph"> <p>This service is only accessible to french citizens, based on identity card review by humans at the <em>Bibliothèque nationale de France</em>.</p> </div>Accéder au contenu de 7400 journaux via PressReader et la BnF pour 15 € / an2022-02-02T00:00:00+01:002022-02-02T00:00:00+01:00Siltaartag:www.meta-press.es,2022-02-02:/fr/journal/2022/PressReader_via_BnF.html<div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_première_étape_pressreader_com">1. Première étape : PressReader.com</a></li> <li><a href="#_deuxième_étape_bnf_fr">2. Deuxième étape : BnF.fr</a></li> <li><a href="#_consultation_bnf_pressreader">3. Consultation : BnF &#8594; PressReader</a></li> <li><a href="#_consultation_rapide_easybnf_fr">4. <strong>Consultation rapide</strong> : EasyBnF.fr</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Les amis de <a href="https://revue-de-presse.org">Revue-de-presse.org</a> m&#8217;ont fait part de l&#8217;astuce micro-bloguée par <a href="https://twiter.com/Silvae/status/1482037482858463236">@Silvae</a> donnant accès à tout le bouquet de journaux du site PressReader.com pour une fraction …</p></div></div></div><div id="toc" class="toc"> <div id="toctitle">Index</div> <ul class="sectlevel1"> <li><a href="#_première_étape_pressreader_com">1. Première étape : PressReader.com</a></li> <li><a href="#_deuxième_étape_bnf_fr">2. Deuxième étape : BnF.fr</a></li> <li><a href="#_consultation_bnf_pressreader">3. Consultation : BnF &#8594; PressReader</a></li> <li><a href="#_consultation_rapide_easybnf_fr">4. <strong>Consultation rapide</strong> : EasyBnF.fr</a></li> </ul> </div> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Les amis de <a href="https://revue-de-presse.org">Revue-de-presse.org</a> m&#8217;ont fait part de l&#8217;astuce micro-bloguée par <a href="https://twiter.com/Silvae/status/1482037482858463236">@Silvae</a> donnant accès à tout le bouquet de journaux du site PressReader.com pour une fraction du prix habituel de l&#8217;abonnement.</p> </div> <div class="paragraph"> <p>L&#8217;abonnement à PressReader, qui donne accès aux contenus de 7400 journaux, est fixé à 29€ / mois (en abonnement individuel) mais il est possible d&#8217;y avoir accès via la Bibliothèque nationale de France pour 1,25€ / mois (payés 15€ à l&#8217;année).</p> </div> <div class="paragraph"> <p>Il suffit pour cela de créer un compte sur PressReader.com, un autre BnF.fr et de se connecter aux deux successivement en commençant par la BnF.</p> </div> </div> </div> <div class="sect1"> <h2 id="_première_étape_pressreader_com">1. Première étape : PressReader.com</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pour créer un compte sur PressReader vous avez le choix entre leur site web ou leur application mobile : c&#8217;est la partie facile.</p> </div> <div class="paragraph"> <p>La procédure valide l&#8217;adresse de courriel fournie.</p> </div> </div> </div> <div class="sect1"> <h2 id="_deuxième_étape_bnf_fr">2. Deuxième étape : BnF.fr</h2> <div class="sectionbody"> <div class="paragraph"> <p>C&#8217;est la partie délicate, le site de la BnF est en effet très riche en fonctionnalités et il est facile de s&#8217;y perdre. De plus, la création du compte n&#8217;est pas automatique.</p> </div> <div class="paragraph"> <p>Rendez-vous sur : <a href="https://inscriptionbilletterie.bnf.fr/accueil" class="bare">https://inscriptionbilletterie.bnf.fr/accueil</a></p> </div> <div class="paragraph"> <p>Choisissez « Accès tous publics Bibliothèque tous publics » en bleu à gauche de l&#8217;écran, puis « Pass BnF lecture / culture illimité » à 15 € en mauve au centre de l&#8217;écran suivant.</p> </div> <div class="paragraph"> <p>Un encart surgit en accroche de l&#8217;écran pour vous confirmer l&#8217;ajout d&#8217;un pass à votre panier et vous propose de vous y rendre. Vous avez alors la possibilité de valider le panier ce qui dirige vers l&#8217;écran de connexion à votre compte, ou d&#8217;ouverture. Plusieurs champs sont à remplir (notamment sur vos motivations) et il faut fournir deux documents dont votre carte d&#8217;identité (et un justificatif de domicile si ma mémoire est bonne). Ce service public n&#8217;est ouvert qu&#8217;aux résidents français.</p> </div> <div class="paragraph"> <p>Le service sera facturé dans les jours suivants, une fois la création du compte validée par un humain <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>.</p> </div> </div> </div> <div class="sect1"> <h2 id="_consultation_bnf_pressreader">3. Consultation : BnF &#8594; PressReader</h2> <div class="sectionbody"> <div class="paragraph"> <p>Une fois le compte BnF créé et l&#8217;abonnement réglé vous avez accès à toutes les bases de données de : <a href="https://bdl.bnf.fr" class="bare">https://bdl.bnf.fr</a></p> </div> <div class="paragraph"> <p>@Silvae note qu&#8217;il y a pas mal de choses cryptiques lorsqu&#8217;on est pas chercheur, mais en consultant la liste des ressources électroniques (externes) on retrouve, à la lettre « P », un lien vers PressReader <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup>.</p> </div> <div class="paragraph"> <p>En cliquant dessus la BnF demande une authentification puis redirige vers PressReader qui demande la sienne… et là, c&#8217;est la fête, il y a 430 publications francophones (dont les principaux titres de la presse nationale).</p> </div> <div class="paragraph"> <p>Si PressReader vous parle d&#8217;un quota de lecture atteint, il suffit de vous déconnecter et d&#8217;y revenir.</p> </div> </div> </div> <div class="sect1"> <h2 id="_consultation_rapide_easybnf_fr">4. <strong>Consultation rapide</strong> : EasyBnF.fr</h2> <div class="sectionbody"> <div class="paragraph"> <p>Pour gagner du temps à la consultation <a href="https://easybnf.fr">@jeremypgn</a> a créé le site : <a href="https://easybnf.fr"><strong>EasyBnF.fr</strong></a></p> </div> <div class="paragraph"> <p>Il donne accès aux principales ressources (PressReader en tête) via une interface prévue pour petits écrans tactiles.</p> </div> </div> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Prenez garde à démarrer l&#8217;opération dans un navigateur capable de suivre des redirections et de faire des paiements en lignes, ce qui n&#8217;est plus vraiment le cas d&#8217;un Firefox à sécurité renforcée et équipé de <a href="https://addons.mozilla.org/fr-FR/firefox/addon/multi-account-containers/">Multi-Account Containers</a>, j&#8217;utilise alors une fenêtre privée de Firefox… </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. Un PressReader proxyfié par la BnF </div> </div>2021 recap2021-12-14T00:00:00+01:002021-12-14T00:00:00+01:00Siltaartag:www.meta-press.es,2021-12-14:/journal/2021/2021_recap.html<div class="paragraph"> <p>A new version of Meta-Press.es will soon be released (but maybe just after the end-year celebrations). A lot of things happened this year, including during the last 3 months.</p> </div> <div class="paragraph"> <p>2021 seen <a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/versions/">9 releases</a> of Meta-Press.es publishing <a href="https://framagit.org/Siltaar/meta-press-ext/activity">541 commits</a> from 14 forks on Framagit.</p> </div> <div class="paragraph"> <p>4 people worked with me …</p></div><div class="paragraph"> <p>A new version of Meta-Press.es will soon be released (but maybe just after the end-year celebrations). A lot of things happened this year, including during the last 3 months.</p> </div> <div class="paragraph"> <p>2021 seen <a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/versions/">9 releases</a> of Meta-Press.es publishing <a href="https://framagit.org/Siltaar/meta-press-ext/activity">541 commits</a> from 14 forks on Framagit.</p> </div> <div class="paragraph"> <p>4 people worked with me on Meta-Press.es in my Deux-Sèvres' office :</p> </div> <div class="ulist"> <ul> <li> <p>Christopher Gauthier (apprentice)</p> </li> <li> <p>Marin Portet (intern)</p> </li> <li> <p>Hugo Porchet (intern)</p> </li> <li> <p>Aurèle Motard (intern)</p> </li> </ul> </div> <div class="paragraph"> <p>We went from 500 daily users to 750 daily users in average over worked days, with more 1100 downloads of the WebExtension in 2021 and more 400 kilometers run with Christopher.</p> </div> <div class="paragraph"> <p>6 online presentations of Meta-Press.es (some french-speaking replays are available <a href="/journal/2021/2021_meta-press.es_spring_viso-conferences_2nd_batch.html">here</a>) and 2 on-stage presentations occurred (I wrote about the B-Boost one in <em>Linux Pratique</em> #128, available online <a href="https://connect.ed-diamond.com/linux-pratique/lp-128/le-b-boost-comme-si-vous-y-etiez">here</a> behind a paywall).</p> </div> <div class="paragraph"> <p>All the previous <a href="/journal/2020/funds-from-the-nlnet-foundation.htm">NLnet-bound</a> roadmap was covered, and the NLnet renewed its support to me for one more year.</p> </div> <div class="paragraph"> <p>During this year, a <a href="https://www.patreon.com/metapress">Patreon</a> page was opened in addition to the <a href="https://liberapay.com/Siltaar">Liberapay</a> one. 22 recurrent donors are giving a total of around 120 € by month to the Meta-Press.es project, and I thank them a lot !</p> </div> <div class="paragraph"> <p>A Meta-Press.es non-for-profit association was created during the summer and it allowed to open an <a href="https://www.helloasso.com/associations/meta-press-es/formulaires/1">HelloAsso</a> one-shot credit-card donation mechanism. Contributions are coming from here also.</p> </div> <div class="paragraph"> <p>It&#8217;s time to publish a new roadmap for the year to come :</p> </div> <div class="ulist"> <ul> <li> <p>First, the v1.7.9 (to come soon) will bring some cool features (mainly from Hugo Porchet&#8217;s internship work) :</p> <div class="ulist"> <ul> <li> <p>users will be able to generate feedback about deceitful sources (off-topic results, inappropriate content, broken source…)</p> </li> <li> <p>a better source cherry-picking feature, with personal collections</p> </li> <li> <p>support for a CSV format in import/export operations</p> </li> <li> <p>better support for relative dates in results (e.g. "1 hour ago", "yesterday"…)</p> </li> </ul> </div> </li> <li> <p>Then, Meta-Press.es will be fitted with a child mode to comply school needs (limiting sources to advised ones for children)</p> </li> <li> <p>The general purpose news loading feature will be reworked from RSS feeds to get more news from the sources, and more stability over the time (as the biggest news presentation is what changes the most in newspapers)</p> </li> <li> <p>Then come big things, such as a source creation dynamic form, to help regular users to add new sources to Meta-Press.es. It will allow automatic creation of RSS served result sources, and point-and-click definition of regular sources. It&#8217;s Marin Portet whom spent it&#8217;s whole internship prototyping this ambitious feature.</p> </li> <li> <p>Improving the source testing framework, because the current one takes around 10 minutes to tests 300 sources.</p> </li> <li> <p>End to end testing of primary features to ensure stability of features over the time.</p> </li> </ul> </div> <div class="paragraph"> <p>But the best is to come, with business models that start to outline themself for the Meta-Press.es project :</p> </div> <div class="ulist"> <ul> <li> <p>Port of Meta-Press.es for Android platform to install it like regular applications (might be a Progressive Web Application) because around <a href="https://www.statista.com/forecasts/1143723/smartphone-users-in-the-world">80% of the world population uses a smartphone</a>, and 80% of them are using Android for the moment, while the best WebExtension of Firefox (the add blocker <a href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/">uBlock</a>) is used by around 5 000 000 users (so 0,1% of the internet users).</p> </li> <li> <p>A standalone server-side version of Meta-Press.es, because it&#8217;s what the general population is expecting, and because too many people still report me that the internal Meta-Press.es <strong>blog</strong> search feature did not returned results for hot press topics…</p> </li> <li> <p>An independent press review hosting platform, with good integration from Meta-Press.es, to easily push selected results to your paid hosting account, with private and public reviews and the possibility to show your press review on your website.</p> </li> </ul> </div> <div class="paragraph"> <p>To finish, the Meta-Press.es project is seeking partnerships in the context of a French administration funding support.</p> </div> <div class="paragraph"> <p>Don&#8217;t hesitate to contact (at meta-press.es) me about it and to spread the news around !</p> </div>2021 recap2021-12-14T00:00:00+01:002021-12-14T00:00:00+01:00Siltaartag:www.meta-press.es,2021-12-14:/fr/journal/2021/2021_recap.html<div class="paragraph"> <p>Une nouvelle version de Meta-Press.es sera bientôt publiée (mais peut être juste après les fêtes de fin d&#8217;année). Il y a déjà beaucoup de choses qui ont eu lieu cette année, et y compris durant les 3 derniers mois !</p> </div> <div class="paragraph"> <p>2021 a vu défiler <a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/versions/">9 nouvelles versions</a> de Meta-Press …</p></div><div class="paragraph"> <p>Une nouvelle version de Meta-Press.es sera bientôt publiée (mais peut être juste après les fêtes de fin d&#8217;année). Il y a déjà beaucoup de choses qui ont eu lieu cette année, et y compris durant les 3 derniers mois !</p> </div> <div class="paragraph"> <p>2021 a vu défiler <a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/versions/">9 nouvelles versions</a> de Meta-Press.es, publiant <a href="https://framagit.org/Siltaar/meta-press-ext/activity">541 commits</a> depuis les 14 forks du projet sur Framagit.</p> </div> <div class="paragraph"> <p>4 personnes sont venues travailler avec moi sur Meta-Press.es dans mon bureau dans les Deux-Sèvres :</p> </div> <div class="ulist"> <ul> <li> <p>Christopher Gauthier (en apprentissage)</p> </li> <li> <p>Marin Portet (stage)</p> </li> <li> <p>Hugo Porchet (stage)</p> </li> <li> <p>Aurèle Motard (stage, de 3e ;-)</p> </li> </ul> </div> <div class="paragraph"> <p>Le nombre d&#8217;utilisateurs a grimpé de 500 en début d&#8217;année à 750 utilisateurs quotidiens en moyenne, en semaine, avec plus de 1100 téléchargements de l&#8217;extension et plus de 400 km courus avec Christopher.</p> </div> <div class="paragraph"> <p>6 présentations de Meta-Press.es en vision conférence ont eu lieues (quelques enregistrements sont consultables par <a href="/fr/journal/2021/2021_meta-press.es_spring_viso-conferences_2nd_batch.html">ici</a>) ainsi que deux présentations en public (j&#8217;ai raconté celle du B-Boost dans le numéro 128 du magazine Linux Pratique, article consultable <a href="https://connect.ed-diamond.com/linux-pratique/lp-128/le-b-boost-comme-si-vous-y-etiez">ici</a> sur abonnement). Un bel enregistrement audio (<em>podcast</em>) est également dans les tuyaux chez <a href="https://vivant-le-media.fr/">Vivant, le média</a>, une source qui pourrait bien se retrouver dans la porchaine version de Meta-Press.es.</p> </div> <div class="paragraph"> <p>Tous les objectifs de la <a href="/fr/journal/2020/funds-from-the-nlnet-foundation.htm">planification</a> annoncée avec le financement de la NLnet ont été atteint.</p> </div> <div class="paragraph"> <p>Durant cette année, une page <a href="https://www.patreon.com/metapress">Patreon</a> a été ouverte, en plus de la page <a href="https://liberapay.com/Siltaar">Liberapay</a> et 22 donateurs récurrents ont donné une moyenne de 120 € par mois au projet Meta-Press.es, je les en remercie grandement ! (pour être honnête, il y a aussi des membres de ma famille dans le décompte).</p> </div> <div class="paragraph"> <p>Une association Meta-Press.es, sans but lucratif a également vu le jour cet été, et c&#8217;est sous ce régime fiscal qu&#8217;arrivent les dons réalisés via le compte <a href="https://www.helloasso.com/associations/meta-press-es/formulaires/1">HelloAsso</a> associé, ce qui ouvre une porte de collecte de dons ponctuels. C&#8217;est une demande qui a été formulée au projet, et des dons arrivent effectivement par ce biais.</p> </div> <div class="paragraph"> <p>Il est désormais temps de publier une nouvelle projection du travail à accomplir pour le développement de Meta-Press.es pour l&#8217;année qui vient :</p> </div> <div class="ulist"> <ul> <li> <p>Tout d&#8217;abord, la version 1.7.9 de Meta-Press.es apportera quelques chouettes fonctionnalités (principalement tirées du travail de Hugo Porchet) :</p> <div class="ulist"> <ul> <li> <p>les utilisateurs vont pouvoir signaler les sources décevantes (hors-sujet, offensantes ou cassées)</p> </li> <li> <p>un meilleur mécanisme de sélection des sources à l&#8217;unité va venir remplacer l&#8217;actuel (qui montre ses limites maintenant que le projet compte plusieurs centaines de sources)</p> </li> <li> <p>le support d&#8217;un format CSV pour les exports (et les imports)</p> </li> <li> <p>un meilleur support des dates relatives pour les résultats de recherche (ex: « il y a 1h » ; « hier »)</p> </li> </ul> </div> </li> <li> <p>Ensuite, Meta-Press.es sera enrichi d&#8217;un mode « enfant » (limitant les sources interrogées à celles conseillées pour les enfants) afin de répondre aux besoins exprimés par des enseignants et responsables de CDI de collège</p> </li> <li> <p>La fonctionnalité de chargement de gros titres va muscler son jeu en se basant sur les flux RSS des sources pour charger plus d&#8217;actu et simplifier la maintenance associée (car la façon d&#8217;afficher un gros titre en Une d&#8217;un journal est probablement ce qu&#8217;il y a de moins stable dans la présentation d&#8217;un journal en ligne)</p> </li> <li> <p>Viendrons ensuite de gros chantiers, comme l&#8217;ajout d&#8217;un formulaire dynamique de création de sources pour Meta-Press.es. Avec une gestion complètement automatique des sources servant leurs résultats de recherche en RSS, et du "tout à la souris" pour la plupart des sources (collectées via sélecteurs CSS). C&#8217;est pour l&#8217;instant surtout Marin Portet qui a travaillé sur le sujet, dédiant quasiment tout son stage à cette cause ambitieuse.</p> </li> <li> <p>Il est encore prévu d&#8217;améliorer la fonctionnalité de test automatique des sources, entre autre parce qu&#8217;elle prend actuellement environ 10 minutes pour tester les 300 sources</p> </li> <li> <p>Une suite de test de bout en bout est également au programme, pour assurer la pérennité des fonctionnalités dans le temps.</p> </li> </ul> </div> <div class="paragraph"> <p>Mais le meilleur est encore à venir, plusieurs modèles économiques se dessinent pour Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>Un portage de Meta-Press.es pour la plate-forme Android, afin de pouvoir installer Meta-Press.es comme une application normale (probablement à base de <em>progressive web application</em>) car <a href="https://www.statista.com/forecasts/1143723/smartphone-users-in-the-world">80% de la population mondiale</a> utilise un ordiphone, et que 80% de ces ordiphones tournent (pour l&#8217;instant) sous Android, alors que la meilleure extension de Firefox (le bloqueur de pub <a href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/">uBlock</a>) compte environ 5 millions d&#8217;utilisateurs (soit 0,1% des utilisateurs d&#8217;Internet).</p> </li> <li> <p>Une version serveur de Meta-Press.es (basée sur NodeJS) est également au programme, parce que c&#8217;est ce que les internaute s&#8217;attendent à trouver, et que trop de personnes me signalent que le moteur interne de recherche du <strong>blog</strong> de Meta-Press.es ne leur a pas fourni de résultat concernant un sujet brûlant d&#8217;actualité.</p> </li> <li> <p>Une plate-forme indépendante d&#8217;hébergement de revues de presse, bien intégrée dans Meta-Press.es (sans pas encombrante) afin de permettre la publication d&#8217;une sélection de résultats d&#8217;un clic vers le compte payant d&#8217;un utilisateur de cette plate-forme. Des revues de presse privées et publiques sont au programme avec une intégration facilité d&#8217;une revue de presse publique dans votre site web.</p> </li> </ul> </div> <div class="paragraph"> <p>Pour finir, le projet Meta-Press.es est à la recherche de partenariats, dans le contexte d&#8217;une demande de subvention auprès de la région Nouvelle-Aquitaine.</p> </div> <div class="paragraph"> <p>N&#8217;hésitez pas à m&#8217;écrire à contact (à meta-press.es) à ce propos et surtout à faire passer le mot !</p> </div>Version 1.7.8 : ergonomic enhancements2021-10-01T00:00:00+02:002021-10-01T00:00:00+02:00Siltaartag:www.meta-press.es,2021-10-01:/journal/2021/v1.7.8_ergonomic_enhancements.html<div class="paragraph"> <p>A month and a half after the last release, the version 1.7.8 of Meta-Press.es is now online. This new version is bringing ergonomic enhancements and a major round of fix for the known sources.</p> </div> <div class="paragraph"> <p>The enhancements are including some long awaited requests :</p> </div> <div class="ulist"> <ul> <li> <p>a slice date filter, with …</p></li></ul></div><div class="paragraph"> <p>A month and a half after the last release, the version 1.7.8 of Meta-Press.es is now online. This new version is bringing ergonomic enhancements and a major round of fix for the known sources.</p> </div> <div class="paragraph"> <p>The enhancements are including some long awaited requests :</p> </div> <div class="ulist"> <ul> <li> <p>a slice date filter, with two inputs, to work on local results</p> </li> <li> <p>a search input to easily find a particular source in the source box of a finished search, when there are more than 30 sources listed here</p> </li> <li> <p>some "select all" / "select none" and "toggle selection" buttons when selecting results to export. Those buttons only affect the results visible in the current page (and it&#8217;s still possible to choose how many elements are listed on a page)</p> </li> <li> <p>the list of the sources we&#8217;re waiting for, when a search is taking a noticeable time (which can be expanded from the search status line when there are less than 30 awaited sources)</p> </li> <li> <p>a Cancel button that actually stops the running search where it is and let you work on the results (the previous solution was just refreshing the page, loosing the results, this is done via the recent JavaScript promise aborting API, thanks to a mention from <a href="https://mastodon.libre-entreprise.com/@lutindiscret/106091986206170964">@lutindiscret</a>)</p> <div class="ulist"> <ul> <li> <p>subsequently, a new setting appeared : a request timeout ; which automatically finish a search after 90s (but can be set to 0 to wait "forever")</p> </li> </ul> </div> </li> <li> <p>a new source statistic line which displays the number of selected sources and the number of needed permissions to perform the next search, along with a button to give those permissions</p> </li> </ul> </div> <div class="paragraph"> <p>In addition, every regular expressions of the 314 sources (which represent already 10k lines of formated JSON) have been screen for ReDOS vulnerabilities using <a href="https://github.com/NicolaasWeideman/RegexStaticAnalysis">RegexStaticAnalysis</a>.</p> </div> <div class="paragraph"> <p>25 regex were flagged with exponential degree of ambiguity (EDA) or infinite degree of ambiguity (IDA) over 180 regex analysed. Each time it was related to unclear boundaries, multiple infinite quantifiers <code>*</code> or <code>+</code>, or an OR construct <code>(a|a)*</code> with an infinite quantifier.</p> </div> <div class="paragraph"> <p>Surprisingly it have been possible for each case to improve the RegExp and have it passing the test and running faster (being more tightly bound to the subject to capture). For example, this simple and easy to read regular expression :</p> </div> <div class="ulist"> <ul> <li> <p><code>(\d+) (.) (\d)</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> ;</p> </li> </ul> </div> <div class="paragraph"> <p>Captures a date (for instance : '23 july 2021') and was replaced by :</p> </div> <div class="ulist"> <ul> <li> <p><code>^(\d{1,2}) ([^ ]{3,9}) (\d{4})$</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> ;</p> </li> </ul> </div> <div class="paragraph"> <p>Which captures the same date but with boundaries around the portion of string (<code>^</code> at the beginning and <code>$</code> at the end) and sharper descriptions of each field to capture (sharp number of digits), month name that can contain french accented letters (like <em>décembre</em>) but no spaces… Real life examples are usually a bit more complex but the main idea is here.</p> </div> <div class="paragraph"> <p>Again, like with the <a href="/journal/2020/v1.6_newspapers_of_record_accessibility_and_android_compatibility.html">Accessibility audit</a>, this work generally resulted in improvements in the parsing of the concerned source so a general improvement for Meta-Press.es.</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. The 1st symbols between parenthesis are capturing a number, here it&#8217;s the date number, the second parenthesis group is capturing everything between the two spaces, here it&#8217;s the month name, and the last parenthesis group captures another number, the year number </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. There are still 3 parenthesis groups, the first can only be two digits long (we only need to capture a 31 as the biggest number here), then the month can&#8217;t contain spaces in its name (and can be 3 to 9 characters long) and the year is expected to be four digits long. I would be happy to fix this 'bug' myself when years will be 5 digits long, provided that no other religion messes with the currently used Gregorian calendar </div> </div>Version 1.7.8 : améliorations d'ergonomie2021-10-01T00:00:00+02:002021-10-01T00:00:00+02:00Siltaartag:www.meta-press.es,2021-10-01:/fr/journal/2021/v1.7.8_ergonomic_enhancements.html<div class="paragraph"> <p>Un mois et demi après la précédente <em>release</em>, la version 1.7.8 de Meta-Press.es est maintenant en ligne. Cette nouvelle version apporte des améliorations d&#8217;ergonomie et un gros effort de mise à jour des sources connues.</p> </div> <div class="paragraph"> <p>Ces améliorations étaient pour certaines attendues de longue date :</p> </div> <div class="ulist"> <ul> <li> <p>un filtre …</p></li></ul></div><div class="paragraph"> <p>Un mois et demi après la précédente <em>release</em>, la version 1.7.8 de Meta-Press.es est maintenant en ligne. Cette nouvelle version apporte des améliorations d&#8217;ergonomie et un gros effort de mise à jour des sources connues.</p> </div> <div class="paragraph"> <p>Ces améliorations étaient pour certaines attendues de longue date :</p> </div> <div class="ulist"> <ul> <li> <p>un filtre par tranche de date, avec deux sélecteurs de date, pour travailler sur les résultats locaux</p> </li> <li> <p>une recherche dans les noms des sources ayant donné des résultats (visible si plus de 30 sources ont donné des résultats)</p> </li> <li> <p>des aides à la sélection de résultats pour l&#8217;export avec un bouton "sélectionner tout", ou rien, ou inverser la sélection. Ces boutons ne concernant que les résultats visibles sur la page courante (et il est toujours possible de choisir combien d&#8217;éléments sont listés par page)</p> </li> <li> <p>la liste des sources en attente, lorsqu&#8217;une recherche prends suffisamment de temps pour qu&#8217;on puisse cliquer sur le petit bouton "+" apparu dans la ligne de statistiques d&#8217;une recherche en cours, dès lors que moins de 30 sources sont encore attendues</p> </li> <li> <p>un bouton "Annuler" qui stoppe la recherche là où elle en est et vous laisser travailler sur les résultats déjà récupérés (quand la précédente implémentation rafraichissait simplement la page, perdant les résultats) Meta-Press.es utilise pour ce faire la récente API JavaScript permettant d&#8217;annuler une promesse (qui avait envie de rendre ça possible ?). Un grand merci à <a href="https://mastodon.libre-entreprise.com/@lutindiscret/106091986206170964">@lutindiscret</a> pour nous l&#8217;avoir signalée.</p> <div class="ulist"> <ul> <li> <p>En conséquence, un nouveau réglage est apparu : un délais maximum de recherche ; qui termine automatiquement une recherche au bout de 90s (mais peut être réglé sur 0 pour attendre "à tout jamais" si vous le souhaitez)</p> </li> </ul> </div> </li> <li> <p>une nouvelle ligne de statistiques affichant le nombre de sources sélectionnées ainsi que le nombre de permissions requises pour réaliser la prochaine recherche, le tout avec un bouton pour donner directement les permissions en question</p> </li> </ul> </div> <div class="paragraph"> <p>De plus, les expressions régulières des 314 sources actuelles (qui représentent déjà 10k lignes de JSON formaté) ont toutes été scannées par l&#8217;outil <a href="https://github.com/NicolaasWeideman/RegexStaticAnalysis">RegexStaticAnalysis</a> pour vérifier leur vulnérabilité aux attaques de type ReDOS.</p> </div> <div class="paragraph"> <p>25 regex ont été signalées par l&#8217;outil comme contenant un degré exponentiel ou infini d&#8217;ambiguité (EDA ou IDA) sur les 180 expression analysées. Il s&#8217;agissait chaque fois de bornes manquantes, d&#8217;utilisation de plusieurs quantificateurs infinis (<code>*</code> or <code>+</code>) à la suite ou d&#8217;une construction en 'ou' logique <code>(a|a)*</code> avec en plus un quantificateur infini.</p> </div> <div class="paragraph"> <p>De manière assez surprenante, il a été possible à chaque fois d&#8217;améliorer l&#8217;expression en question, à la fois pour quelle passe le test et qu&#8217;elle fonctionne plus vite (étant définie plus précisément). Par exemple, voici une expression régulière simple et lisible :</p> </div> <div class="ulist"> <ul> <li> <p><code>(\d+) (.) (\d)</code> <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> ;</p> </li> </ul> </div> <div class="paragraph"> <p>Qui capture une date (par exemple '23 juillet 2021'), et a été remplacée par :</p> </div> <div class="ulist"> <ul> <li> <p><code>^(\d{1,2}) ([^ ]{3,9}) (\d{4})$</code> <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> ;</p> </li> </ul> </div> <div class="paragraph"> <p>Qui capture la même date, mais avec des bornes autour de la portion de chaîne de caractère (<code>^</code> pour le début de la chaîne, parce que dans ce cas là on commence au tout début, et <code>$</code> pour la fin et donc il n&#8217;y a rien après le numéro de l&#8217;année) et une description plus précise des champs à attraper (nombres précis de chiffres à capturer), nom de mois ne contenant pas d&#8217;espace, mais pouvant contenir des lettres accentuées comme ça peut être le cas en français (pour décembre par exemple…). Les exemples trouvés dans les définitions de sources sont généralement un peu plus complexes, mais l&#8217;idée principale est bien là.</p> </div> <div class="paragraph"> <p>À nouveau, comme lors de l&#8217;<a href="/fr/journal/2020/v1.6_newspapers_of_record_accessibility_and_android_compatibility.html">audit d&#8217;accessibilité</a>, ces modifications résultent en un meilleur code, plus robuste et plus rapide et donc une amélioration globale de Meta-Press.es.</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Ici les 1ers symboles entre parenthèse permettent de capturer un nombre, celui du jour de la date traitée, la seconde parenthèse attrape n&#8217;importe quoi entre deux espaces et dans notre cas ça tombe sur un nom de mois et la dernière parenthèse capture un autre nombre qu&#8217;on espère être l&#8217;année </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. Où il y a toujours 3 groupes de symboles entre parenthèses, le premier capturant des nombres d&#8217;un à deux chiffres (ce qui est suffisant pour capture un 31), puis le nom du mois ne peut plus contenir d&#8217;espace (et mesure entre 3 et 9 caractères), et enfin le numéro de l&#8217;année comporte forcément 4 chiffres. Je serai très heureux de corriger ce 'bug' moi-même dès que les années seront comptées avec des nombres à 5 chiffres, à conditions qu&#8217;aucune religion ne vienne perturber le calendrier grégorien utilisé actuellement) </div> </div>Version 1.7.7 : security audit2021-08-11T00:00:00+02:002021-08-11T00:00:00+02:00Siltaartag:www.meta-press.es,2021-08-11:/journal/2021/v1.7.7_security_audit.html<div class="paragraph"> <p>As a last step planned in late 2019 and announced <a href="https://www.meta-press.es/journal/2020/funds-from-the-nlnet-foundation.html">here</a>, the <a href="https://nlnet.nl">NLnet</a> (via the NGI0 consortium which was granted funds from the European Horizon 2020 project) and the <a href="https://radicallyopensecurity.com">RadicallyOpenSecurity</a> company was providing Meta-Press.es a security audit.</p> </div> <div class="paragraph"> <p>The new v1.7.7 release is the result of this audit …</p></div><div class="paragraph"> <p>As a last step planned in late 2019 and announced <a href="https://www.meta-press.es/journal/2020/funds-from-the-nlnet-foundation.html">here</a>, the <a href="https://nlnet.nl">NLnet</a> (via the NGI0 consortium which was granted funds from the European Horizon 2020 project) and the <a href="https://radicallyopensecurity.com">RadicallyOpenSecurity</a> company was providing Meta-Press.es a security audit.</p> </div> <div class="paragraph"> <p>The new v1.7.7 release is the result of this audit, with mainly (small) security improvements.</p> </div> <div class="paragraph"> <p>After some delays (in months) in the planning of the audit, everything went smoothly. First I provided credentials to get an account in RadicallyOpenSecurity infrastructure (including a private GitLab repository hosting the audit results and a web chat).</p> </div> <div class="paragraph"> <p>Then came some more waiting (in weeks) for a penetration tester to select Meta-Press.es for its next task (and reviewing a WebExtension seemed not so common). Once a courageous pen.-tester showed up, we started with a video-conference during which we discussed about what Meta-Press.es is and what it intends to do. I was also asked about what potential security issues I would foresee and I was pleased to list points I was wanting to get checked.</p> </div> <div class="paragraph"> <p>Results came during the next weeks with some text chat to keep heading in the right direction. The collaboration was efficient : I learnt a lot, was happy to get mainly good results and finally quite occupied with the effective findings to fix and the recommendations to implement.</p> </div> <div class="paragraph"> <p>The methodology was simple : inspect the castle walls. What comes in, what goes out. All the dependencies were checked, and then the data from fetched sources (with an elaborated network frame inspection setup) and the exported files.</p> </div> <div class="paragraph"> <p>The basics principles of Meta-Press.es were confirmed (no third-party trackers are activated while using Meta-Press.es), source data were correctly sanitized (except in the exotic scenario of JSON-responding sources, which is fixed by this release) and the recommended Two-Factor Authentication (2FA) was already activated for all online services Meta-Press.es relies on (domain name registration, web hosting, Mozilla Addons repository…).</p> </div> <div class="paragraph"> <p>I was advised to further document intended behavior regarding security aspects in addition to how-to report security issues to the project. Stricter Content Security Policy (CPS) rules were also advised as this was already my naïve implementation of this mechanism that got me covered against severe issues in the JSON-responding sources scenario. A fire-wall approach with everything disabled by default and only what&#8217;s needed allowed was elected and implemented (which required quite some work to avoid inline CSS for instance).</p> </div> <div class="paragraph"> <p>To finish with security, I&#8217;ve been introduced to <strong>ReDOS</strong> attacks : denial of service through regular expression slow edge-case feeding. Now on, Meta-Press.es source-definitions will be tested against Nicolaas Weidman <a href="https://github.com/NicolaasWeideman/RegexStaticAnalysis">RegexStaticAnalysis</a> tool (despite the fact that it&#8217;s written in Java :-p).</p> </div> <div class="paragraph"> <p>Then, as I updated dependencies I activated the CodeMirror <code>json-lint</code> plugin which allows to underline malformed JSON content in the source creation textarea. I also traded 15 small try/catch blocks in the code against one big that ensure every searches will now have an end (even if a source is causing a bug in Meta-Press.es with an unanticipated answer). Try/catch blocks were non-optimizable portions of code since a long time but things have evolved. Let me know if you hit measurable performance penalties.</p> </div> <div class="paragraph"> <p>A last word about statistics, we can guess that the majority of the users are French (not only because Mozilla reports 75% of french-speaking users, or because I mainly presented Meta-Press.es to french audiences) but also because statistics are dramatically dropping during holidays : from 800 users a day to 550 in mid-august.</p> </div> <div class="paragraph"> <p>Fortunately, the number of sources is still growing, with currently 310 !</p> </div> <div class="paragraph"> <p>PS: A new way of supporting Meta-Press.es has recently been introduced, it&#8217;s <a href="https://www.helloasso.com/associations/meta-press-es/formulaires/1/en">HelloAsso</a>. It allows one shot donations and to get 100% of your donation sent to the new Meta-Press.es non-profit association (if you click to remove their self-added tip). For the record, the complete list of how to support Meta-Press.es is available <a href="https://www.meta-press.es/pages/a_propos.html#_you_can_support_this_work">here</a>.</p> </div>Version 1.7.7 : l'audit de sécurité2021-08-11T00:00:00+02:002021-08-11T00:00:00+02:00Siltaartag:www.meta-press.es,2021-08-11:/fr/journal/2021/v1.7.7_security_audit.html<div class="paragraph"> <p>Pour la dernière étape du planning prévisionnel de 2019 annoncé <a href="https://www.meta-press.es/fr/journal/2020/funds-from-the-nlnet-foundation.html">ici</a>, la <a href="https://nlnet.nl">NLnet</a> (via le consortium NGI0, qui a reçu des fonds de la commission européenne via le projet européen Horizon 2020) et la société <a href="https://radicallyopensecurity.com">RadicallyOpenSecurity</a> engageaient le projet Meta-Press.es dans un audit de sécurité.</p> </div> <div class="paragraph"> <p>La version 1.7 …</p></div><div class="paragraph"> <p>Pour la dernière étape du planning prévisionnel de 2019 annoncé <a href="https://www.meta-press.es/fr/journal/2020/funds-from-the-nlnet-foundation.html">ici</a>, la <a href="https://nlnet.nl">NLnet</a> (via le consortium NGI0, qui a reçu des fonds de la commission européenne via le projet européen Horizon 2020) et la société <a href="https://radicallyopensecurity.com">RadicallyOpenSecurity</a> engageaient le projet Meta-Press.es dans un audit de sécurité.</p> </div> <div class="paragraph"> <p>La version 1.7.7 est donc le résultat de cet audit, apportant principalement de petits renforts à la sécurité du projet.</p> </div> <div class="paragraph"> <p>Après un certain délais (en mois) dans la planification de l&#8217;audit tout s&#8217;est bien passé. J&#8217;ai fourni des identifiants pour l&#8217;ouverture d&#8217;un compte sur l&#8217;infrastructure de RadicallyOpenSecurity (qui comprend un GitLab privé pour stocker les résultats de l&#8217;audit et un <em>web chat</em>).</p> </div> <div class="paragraph"> <p>Une fois cette étape passé, quelques semaines d&#8217;attente supplémentaires furent nécessaires pour qu&#8217;un analyste en sécurité se planifie Meta-Press.es comme prochaine tâche (et force est de constater que l&#8217;analyse d&#8217;une <em>WebExtension</em> semblait sortir de l&#8217;ordinaire). Un courageux <em>penetration tester</em> s&#8217;est finalement signalé et nous avons pu faire connaissance lors d&#8217;une visio-conférence inaugurale, au cour de laquelle nous avons pu discuter de la nature du projet Meta-Press.es et de ses objectifs. J&#8217;ai également été consulté sur ce qui me semblaient être les points faibles du projet, et j&#8217;étais bien content de pouvoir fournir une liste de points délicats à vérifier (ou contre-vérifier).</p> </div> <div class="paragraph"> <p>Les premiers résultats sont arrivés la semaine suivante, guidés par quelques séances de claviotage pour rester en phase entre les attentes et le terrain exploré. La collaboration fut efficace, j&#8217;ai beaucoup appris, j&#8217;étais content d&#8217;avoir principalement de bons retours, et fut finalement fort occupé à régler les quelques problèmes rencontrés et implémenter les recommandations.</p> </div> <div class="paragraph"> <p>La méthodologie était simple : faire le tour des remparts, inspecter ce qui entre et ce qui sort de l&#8217;extension. Les dépendances furent passées au crible, puis les données obtenues depuis les sources interrogées (via un environnement élaboré d&#8217;interception de trafic réseau) et enfin les fichiers exportés.</p> </div> <div class="paragraph"> <p>Les principes de bases de Meta-Press.es furent confirmés, comme le fait que les mécanismes de suivi publicitaire des journaux ne sont pas activés par l&#8217;utilisation de Meta-Press.es, les données étaient correctement nettoyées à l&#8217;entrée (sauf dans un cas exotique de source répondant en JSON, ce qui a été corrigé avec cette nouvelle version) et les authentifications à deux facteurs (2FA) recommandées pour les services en ligne auxquels Meta-Press.es fait appel (réservation du nom de domaine, hébergement web, envoi des nouvelles versions à Mozilla…) étaient déjà activées.</p> </div> <div class="paragraph"> <p>Il m&#8217;a également été recommandé de documenter un peu plus ce que Meta-Press.es est sensé faire ou ne pas faire et comment prendre contact avec le projet en cas de découverte d&#8217;un problème. Ces deux initiatives servant à encourager les experts en sécurité à regarder le code et rapporter leurs découvertes. Il m&#8217;a également été conseillé de mettre en place des règles CSP (<em>Content Security Policy</em>) plus strictes, ce que je me suis empressé de faire vu que c&#8217;est déjà l&#8217;implémentation initiale de ce mécanisme dans le projet qui nous a protégé d&#8217;une faille qui aurait pu être sévère dans le traitement des résultats des sources répondant en JSON. Sur ce point une approche en <em>fire-wall</em> a donc été adoptée en désactivant tout par défaut (y compris les règles inutilisées ou à venir) et en ré-autorisant un par un les cas utiles. Cela a demandé pas mal de travail, par exemple pour éviter les règles CSS embarquées dans le HTML, mais c&#8217;est à ce prix qu&#8217;on s&#8217;assure qu&#8217;une nouvelle règle CSS ne sera injectée avec un fragment de HTML dans la page…</p> </div> <div class="paragraph"> <p>Pour en finir avec la sécurité, j&#8217;ai découvert un nouveau type d&#8217;attaque contre un logiciel, le <strong>ReDOS</strong>. Un déni de service engendré par un traitement trop long d&#8217;une entrée par une expression rationnelle (ou régulière). Cela peut se produire lorsqu&#8217;on envoi une chaîne de caractères forgée spécialement pour représenter un cas extrême de difficulté pour l&#8217;expression régulière qu&#8217;on suppose appliquée à un champs de saisie. À partir de maintenant, les définitions de source de Meta-Press.es seront vérifiées à l&#8217;aide de l&#8217;outil <a href="https://github.com/NicolaasWeideman/RegexStaticAnalysis">RegexStaticAnalysis</a> (malgré le fait qu&#8217;il soit écrit en Java :-p).</p> </div> <div class="paragraph"> <p>Pour cette nouvelle version j&#8217;ai également mis à jour les dépendances qui pouvaient l&#8217;être (en me notant de le faire à chaque nouvelle version). J&#8217;ai aussi activé le module <code>json-lint</code> de l&#8217;éditeur de code CodeMirror qui aide à définir de nouvelles sources dans Meta-Press.es afin d&#8217;avoir un signalement rapide des erreurs dans le format du JSON saisi. Enfin j&#8217;ai échangé 15 petits blocs <em>try/catch</em> contre un gros pour couvrir un peu plus de code et garantir que toutes les recherches aient une fin (même quand une source déclenche un bug dans le code de Meta-Press.es en fournissant une réponse d&#8217;un format inattendu). Les blocs <em>try/catch</em> du JavaScript n&#8217;étaient pas optimisables par les navigateurs web jusqu&#8217;à il y a peu, la modification devrait donc faire gager du temps, mais n&#8217;hésitez pas à m&#8217;indiquer si vous mesurez au contraire une perte de performance gênante.</p> </div> <div class="paragraph"> <p>Un dernier mot à propos des statistiques d&#8217;utilisation, on imagine bien que la majorité des utilisateurs sont français (non seulement parce que Mozilla m&#8217;indique que 75% des utilisateurs ont un navigateur réglé en français, ou parce que j&#8217;ai principalement présenté Meta-Press.es à des audiences francophones) mais aussi parce que les statistiques s&#8217;écroulent durant les vacances d&#8217;été : de 800 utilisateurs quotidiens à 550 mi-août.</p> </div> <div class="paragraph"> <p>Heureusement, le nombre de sources continue de grandir lui, avec plus de 310 sources actuellement !</p> </div> <div class="paragraph"> <p>PS: Une nouvelle façon de soutenir le projet Meta-Press.es a récemment vu le jour sur ce site, il s&#8217;agit d' <a href="https://www.helloasso.com/associations/meta-press-es/formulaires/1/">HelloAsso</a>. Ce mécanisme permet aux dons ponctuels d&#8217;arriver entiers (sans commission) sur le compte de l&#8217;Association Meta-Press.es (si vous retirez le pourboire ajouté par la plate-forme). Pour mémoire, la liste complète des moyens de soutenir Meta-Press.es est disponible <a href="https://www.meta-press.es/fr/pages/a_propos.html#_vous_pouvez_soutenir_ce_projet">ici</a>.</p> </div>3 presentations of Meta-Press.es in public this year2021-07-28T00:00:00+02:002021-07-28T00:00:00+02:00Siltaartag:www.meta-press.es,2021-07-28:/journal/2021/2021_presentations_of_Meta-Press.es_in_public.html<div class="paragraph"> <p>Three presentations of Meta-Press.es are already scheduled (or in process to be scheduled) before the end of the year:</p> </div> <div class="ulist"> <ul> <li> <p>2021-10-14 15:00 UTC+2 at La Rochelle : <a href="https://b-boost.fr/"><strong>B-Boost.fr</strong></a> (it&#8217;s a thursday)</p> </li> <li> <p>2021-10-21 11:00 UTC+2 at Niort : <a href="https://www.forum-ess.fr/?Contributions2021#collapse2_MetaPressEsOutilEcologiqueDeRechercheDa"><strong>6th ForumESS</strong></a> (social economy and solidarity) (<a href="https://www.forum-ess.fr/?Programme2021Jeudi&amp;facette=listeListeThemaprog2021=Ecologie|listeListeSecteur2021=PD|listeListeFormatcontribution=Inspiration">in the program …</a></p></li></ul></div><div class="paragraph"> <p>Three presentations of Meta-Press.es are already scheduled (or in process to be scheduled) before the end of the year:</p> </div> <div class="ulist"> <ul> <li> <p>2021-10-14 15:00 UTC+2 at La Rochelle : <a href="https://b-boost.fr/"><strong>B-Boost.fr</strong></a> (it&#8217;s a thursday)</p> </li> <li> <p>2021-10-21 11:00 UTC+2 at Niort : <a href="https://www.forum-ess.fr/?Contributions2021#collapse2_MetaPressEsOutilEcologiqueDeRechercheDa"><strong>6th ForumESS</strong></a> (social economy and solidarity) (<a href="https://www.forum-ess.fr/?Programme2021Jeudi&amp;facette=listeListeThemaprog2021=Ecologie|listeListeSecteur2021=PD|listeListeFormatcontribution=Inspiration">in the program</a>)</p> </li> <li> <p><span class="line-through">2021-11-09 --:-- at Paris : Open Source Experience</span></p> </li> </ul> </div>3 présentations de Meta-Press.es en public cette année2021-07-28T00:00:00+02:002021-07-28T00:00:00+02:00Siltaartag:www.meta-press.es,2021-07-28:/fr/journal/2021/2021_presentations_of_Meta-Press.es_in_public.html<div class="paragraph"> <p>Trois présentations publiques de Meta-Press.es sont prévues (ou en candidatures) pour avant la fin de l&#8217;année :</p> </div> <div class="ulist"> <ul> <li> <p>2021-10-14 15:00 UTC+2 à La Rochelle : <a href="https://b-boost.fr/"><strong>B-Boost.fr</strong></a></p> </li> <li> <p>2021-10-21 11:00 UTC+2 à Niort : <a href="https://www.forum-ess.fr/?Contributions2021#collapse2_MetaPressEsOutilEcologiqueDeRechercheDa"><strong>6th Forum ESS</strong></a> (<a href="https://www.forum-ess.fr/?Programme2021Jeudi&amp;facette=listeListeThemaprog2021=Ecologie|listeListeSecteur2021=PD|listeListeFormatcontribution=Inspiration">dans le programme</a>)</p> </li> <li> <p><span class="line-through">2021-11-09 --:-- à Paris : Open Source Experience</span></p> </li> </ul> </div>[Ouest-France] Pougne-Herisson: "Defend net neutrality"2021-06-08T00:00:00+02:002021-06-08T00:00:00+02:00Siltaartag:www.meta-press.es,2021-06-08:/revues/2021/20210608_ouest-france.html<div class="paragraph"> <p>Simon Descarpentries, computer science engineer, created it&#8217;s compagny Meta-Press.es. He made a search engine for the press, an alternative solution to Google News.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20210608_ouest-france.jpg" alt="20210608 ouest france"> </div> <div class="title">Figure 1. Simon D. in his office © 2021 Ouest-France</div> </div> <div class="paragraph"> <p>Portrait of a free / libre software developer.</p> </div> <div class="paragraph"> <p><a href="https://www.ouest-france.fr/nouvelle-aquitaine/pougne-herisson-79130/defendre-la-neutralite-du-net-849a5ee3-18dd-472b-89ae-34098c7b1dfd"><strong>Pougne-Hérisson. « Défendre la neutralité du net »</strong></a> (<em>fr</em>)</p> </div>[Ouest-France] Pougne-Hérisson. « Défendre la neutralité du net »2021-06-08T00:00:00+02:002021-06-08T00:00:00+02:00Siltaartag:www.meta-press.es,2021-06-08:/fr/revues/2021/20210608_ouest-france.html<div class="paragraph"> <p>Simon Descarpentries, ingénieur en informatique, vient de créer son entreprise Meta-press.es. Il a créé un moteur de recherche dédié à la presse, une solution alternative à Google actualités.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20210608_ouest-france.jpg" alt="20210608 ouest france"> </div> <div class="title">Figure 1. Simon D. dans son bureau © 2021 Ouest-France</div> </div> <div class="paragraph"> <p>Portrait d&#8217;un développeur de logiciels libres.</p> </div> <div class="paragraph"> <p><a href="https://www.ouest-france.fr/nouvelle-aquitaine/pougne-herisson-79130/defendre-la-neutralite-du-net-849a5ee3-18dd-472b-89ae-34098c7b1dfd"><strong>Pougne-Hérisson. « Défendre la neutralité du …</strong></a></p></div><div class="paragraph"> <p>Simon Descarpentries, ingénieur en informatique, vient de créer son entreprise Meta-press.es. Il a créé un moteur de recherche dédié à la presse, une solution alternative à Google actualités.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/20210608_ouest-france.jpg" alt="20210608 ouest france"> </div> <div class="title">Figure 1. Simon D. dans son bureau © 2021 Ouest-France</div> </div> <div class="paragraph"> <p>Portrait d&#8217;un développeur de logiciels libres.</p> </div> <div class="paragraph"> <p><a href="https://www.ouest-france.fr/nouvelle-aquitaine/pougne-herisson-79130/defendre-la-neutralite-du-net-849a5ee3-18dd-472b-89ae-34098c7b1dfd"><strong>Pougne-Hérisson. « Défendre la neutralité du net »</strong></a></p> </div>[ZDNet France] Almost a Google News in free software: Meta-Press.es, tailor-made news aggregator2021-04-28T00:00:00+02:002021-04-28T00:00:00+02:00Siltaartag:www.meta-press.es,2021-04-28:/revues/2021/20210428_zdnet_meta-press.es.html<div class="paragraph"> <p>Open Source : Firefox&#8217;s extension, under a free / libre licence and to configure by yourself, Meta-Press.es aims to replace news aggregators like Google News for Bing News "in most occasions".</p> </div> <div class="ulist"> <ul> <li> <p>300 sources</p> </li> <li> <p>Impossible to track users</p> </li> <li> <p>Press review helper</p> </li> <li> <p>[About] opposition between Google and online press editors</p> </li> <li> <p>Light budget …</p></li></ul></div><div class="paragraph"> <p>Open Source : Firefox&#8217;s extension, under a free / libre licence and to configure by yourself, Meta-Press.es aims to replace news aggregators like Google News for Bing News "in most occasions".</p> </div> <div class="ulist"> <ul> <li> <p>300 sources</p> </li> <li> <p>Impossible to track users</p> </li> <li> <p>Press review helper</p> </li> <li> <p>[About] opposition between Google and online press editors</p> </li> <li> <p>Light budget for XXL project</p> </li> </ul> </div> <div class="paragraph"> <p><a href="https://www.zdnet.fr/blogs/l-esprit-libre/presque-un-google-actus-libre-meta-presses-agregateur-de-news-sur-mesure-39921735.htm"><strong>Presque un Google Actus libre: Meta-Press.es, agrégateur de news sur mesure</strong></a> (<em>fr</em>)</p> </div>[ZDNet France] Presque un Google Actus libre: Meta-Press.es, agrégateur de news sur mesure2021-04-28T00:00:00+02:002021-04-28T00:00:00+02:00Siltaartag:www.meta-press.es,2021-04-28:/fr/revues/2021/20210428_zdnet_meta-press.es.html<div class="paragraph"> <p>Open Source : Extension de Firefox, sous licence libre et à paramétrer soi-même, Meta-Press.es ambitionne de remplacer les agrégateurs d’actus comme Google News ou Bing News « dans la plupart des cas ».</p> </div> <div class="ulist"> <ul> <li> <p>300 sources</p> </li> <li> <p>Traçage impossible des utilisateurs</p> </li> <li> <p>Aide à la réalisation de revues de presse</p> </li> <li> <p>[À propos du] Bras …</p></li></ul></div><div class="paragraph"> <p>Open Source : Extension de Firefox, sous licence libre et à paramétrer soi-même, Meta-Press.es ambitionne de remplacer les agrégateurs d’actus comme Google News ou Bing News « dans la plupart des cas ».</p> </div> <div class="ulist"> <ul> <li> <p>300 sources</p> </li> <li> <p>Traçage impossible des utilisateurs</p> </li> <li> <p>Aide à la réalisation de revues de presse</p> </li> <li> <p>[À propos du] Bras de fer entre Google et les éditeurs de presse en ligne</p> </li> <li> <p>Budget light pour projet XXL</p> </li> </ul> </div> <div class="paragraph"> <p><a href="https://www.zdnet.fr/blogs/l-esprit-libre/presque-un-google-actus-libre-meta-presses-agregateur-de-news-sur-mesure-39921735.htm"><strong>Presque un Google Actus libre: Meta-Press.es, agrégateur de news sur mesure</strong></a></p> </div>6 presentations of Meta-Press.es via visio-conference in 5 weeks2021-04-27T00:00:00+02:002021-04-27T00:00:00+02:00Siltaartag:www.meta-press.es,2021-04-27:/journal/2021/2021_meta-press.es_spring_viso-conferences_2nd_batch.html<div class="paragraph"> <p>Six online events are scheduled for Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>thursday the <strong>25th of march 2021 at 21h00</strong> (Paris time) on the impulsion of <a href="https://www.coagul.org">Goagul</a> for its usual "3rd thursday of Free Software" and held via Meet Jit.si:</p> <div class="ulist"> <ul> <li> <p><a href="https://meet.jit.si/rencontre25mars">Click here to join</a> (<em>fr</em>)</p> </li> <li> <p><a href="https://coagul.org/drupal/evenement/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses">Click here for more info…</a> (<em>fr</em>)</p> </li> </ul> </div> </li> <li> <p>saterday the …</p></li></ul></div><div class="paragraph"> <p>Six online events are scheduled for Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>thursday the <strong>25th of march 2021 at 21h00</strong> (Paris time) on the impulsion of <a href="https://www.coagul.org">Goagul</a> for its usual "3rd thursday of Free Software" and held via Meet Jit.si:</p> <div class="ulist"> <ul> <li> <p><a href="https://meet.jit.si/rencontre25mars">Click here to join</a> (<em>fr</em>)</p> </li> <li> <p><a href="https://coagul.org/drupal/evenement/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses">Click here for more info…</a> (<em>fr</em>)</p> </li> </ul> </div> </li> <li> <p>saterday the <strong>27th of march 2021 at 19h30</strong> (Paris time) on the impulsion of <a href="https://facil.qc.ca/">FACiL</a> for the "State of Free culture in 2021" event:</p> <div class="ulist"> <ul> <li> <p><a href="https://bbb3.services-conseils-linux.org/SQIL">Click here to join</a> (<em>fr</em>)</p> </li> <li> <p><a href="https://agendadulibre.qc.ca/events/2142">Click here for more info…</a> <em>(Confirmed)</em> <em>(fr)</em></p> </li> <li> <p><a href="https://archive.org/details/sqil2021-03"><strong>Click here for the replay</strong></a> (<em>fr</em>)</p> </li> </ul> </div> </li> <li> <p>tuesday the <strong>6 avril 2021 at 23h59</strong> (so wed. early morning, Paris time) Meta-Press.es at the Linux-Meetup Montréal via BigBlueButton:</p> <div class="ulist"> <ul> <li> <p><a href="https://bbb3.services-conseils-linux.org/Linux-Meetup">Click here to join</a> (<em>fr</em>)</p> </li> <li> <p><a href="https://www.meetup.com/fr-FR/Linux-Montreal/events/htstdsyccgbjb/">Click here for more info…</a> (<em>fr</em>)</p> </li> </ul> </div> </li> <li> <p>saterday <strong>10th of april 2021 at 9h30</strong> (Paris time) on the impulsion of <a href="https://oisux.org">Oisux</a> for their usual "evening chats" saterday of Free Software" and held via BigBlueButton:</p> <div class="ulist"> <ul> <li> <p><a href="https://url.oisux.org/samedi-du-libre">Click here to join</a> (<em>fr</em>)</p> </li> <li> <p><a href="https://www.agendadulibre.org/events/23360">Click here for more info…</a> (<em>fr</em>)</p> </li> </ul> </div> </li> <li> <p>thursday <strong>15th of april 2021 at 20h30</strong> (Paris time) on the impulsion of <a href="https://parinux.org">Parinux</a> for their usual "Free software evening chats" and held via BigBlueButton:</p> <div class="ulist"> <ul> <li> <p><a href="https://parinux.org/Soiree-de-Conversations-autour-du-Libre-SCL-du-jeudi-15-avril-2021">Click here for more info…</a> (<em>fr</em>)</p> </li> <li> <p><a href="https://tube.fdn.fr/videos/watch/9ae43c36-3dc8-4d85-844b-c5a5335d77ed"><strong>Click here for the replay</strong></a> (<em>fr</em>)</p> </li> </ul> </div> </li> <li> <p>wednesday <strong>21st of april 2021 at 18h00</strong> (Paris time) on the impulsion of <a href="https://montpellibre.fr/">Montpel&#8217;Libre</a> via Meet Jit.si:</p> <div class="ulist"> <ul> <li> <p><a href="https://meet.jit.si/webinaire_montpellibre_vienumerique">Click here to join</a> (<em>fr</em>)</p> </li> <li> <p><a href="https://montpellibre.fr/spip.php?article5141">Click here for more info…</a> (<em>fr</em>)</p> </li> </ul> </div> </li> </ul> </div> <div class="paragraph"> <p>For each events regular members of each associations will be connected, but the servers are open and capable of hosting numerous participants. Don&#8217;t hesitate to note the date that suits you.</p> </div> <div class="paragraph"> <p>The idea is simple, to present Meta-Press.es : why, how to install it, working principles, choices of architecture, new features, how to join the team and contribute…</p> </div> <div class="paragraph"> <p>Don&#8217;t hesitate to handover this announcement, and to contact me if you want to setup other events like this worldwide and in english or spanish (or even in esperanto).</p> </div>6 présentations de Meta-Press.es en visioconférences en 5 semaines2021-04-27T00:00:00+02:002021-04-27T00:00:00+02:00Siltaartag:www.meta-press.es,2021-04-27:/fr/journal/2021/2021_meta-press.es_spring_viso-conferences_2nd_batch.html<div class="paragraph"> <p>Six évènements en ligne sont prévus pour Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>le <strong>jeudi 25 mars 2021 à 21h00</strong> à l&#8217;initiative de <a href="https://coagul.org">Coagul</a> lors de son habituel 3e jeudi du libre et via Meet Jit.si :</p> <div class="ulist"> <ul> <li> <p><a href="https://meet.jit.si/rencontre25mars">Cliquez ici pour rejoindre l&#8217;évènement</a></p> </li> <li> <p><a href="https://coagul.org/drupal/evenement/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses">Cliquez ici pour plus d&#8217;informations…</a></p> </li> </ul> </div> </li> <li> <p>le <strong>samedi 27 mars …</strong></p></li></ul></div><div class="paragraph"> <p>Six évènements en ligne sont prévus pour Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>le <strong>jeudi 25 mars 2021 à 21h00</strong> à l&#8217;initiative de <a href="https://coagul.org">Coagul</a> lors de son habituel 3e jeudi du libre et via Meet Jit.si :</p> <div class="ulist"> <ul> <li> <p><a href="https://meet.jit.si/rencontre25mars">Cliquez ici pour rejoindre l&#8217;évènement</a></p> </li> <li> <p><a href="https://coagul.org/drupal/evenement/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses">Cliquez ici pour plus d&#8217;informations…</a></p> </li> </ul> </div> </li> <li> <p>le <strong>samedi 27 mars 2021 à 19h30</strong> (heure de Paris) à l&#8217;initiative de <a href="https://facil.qc.ca/">FACiL</a> pour l&#8217;évènement « L&#8217;état du libre en 2021 » :</p> <div class="ulist"> <ul> <li> <p><a href="https://bbb3.services-conseils-linux.org/SQIL">Cliquez ici pour rejoindre l&#8217;évènement</a></p> </li> <li> <p><a href="https://agendadulibre.qc.ca/events/2142">Cliquez ici pour plus d&#8217;informations…</a> <em>(la participation de Meta-Press.es est confirmée)</em></p> </li> <li> <p><a href="https://archive.org/details/sqil2021-03"><strong>Cliquez ici pour revoir l&#8217;évènement</strong></a></p> </li> </ul> </div> </li> <li> <p>le <strong>mardi 6 avril 2021 à partir de 23h59</strong> (donc le mercredi 7 avril, très tôt, heure de Paris) présentation Meta-Press.es au Linux-Meetup Montréal via BigBlueButton :</p> <div class="ulist"> <ul> <li> <p><a href="https://bbb3.services-conseils-linux.org/Linux-Meetup">Cliquez ici pour rejoindre l&#8217;évènement</a></p> </li> <li> <p><a href="https://www.meetup.com/fr-FR/Linux-Montreal/events/htstdsyccgbjb/">Cliquez ici pour plus d&#8217;information…</a></p> </li> </ul> </div> </li> <li> <p>le <strong>samedi 10 avril 2021 à 9h30</strong> à l&#8217;initiative d&#8217;<a href="https://oisux.org/">Oisux</a> à l&#8217;occasion de ses évènements réguliers les « samedi(s) du libre » et via BigBlueButton :</p> <div class="ulist"> <ul> <li> <p><a href="https://url.oisux.org/samedi-du-libre">Cliquez ici pour rejoindre l&#8217;évènement</a></p> </li> <li> <p><a href="https://www.agendadulibre.org/events/23360">Cliquez ici pour plus d&#8217;informations…</a></p> </li> </ul> </div> </li> <li> <p>le <strong>jeudi 15 avril 2021 à 20h30</strong> à l&#8217;initiative de <a href="https://parinux.org">Parinux</a> à l&#8217;occasion de ses évènements réguliers « SCL » (Soirées Conversation autour du Libre) et via BigBlueButton :</p> <div class="ulist"> <ul> <li> <p><a href="https://parinux.org/Soiree-de-Conversations-autour-du-Libre-SCL-du-jeudi-15-avril-2021">Cliquez ici pour plus d&#8217;informations…</a></p> </li> <li> <p><a href="https://tube.fdn.fr/videos/watch/9ae43c36-3dc8-4d85-844b-c5a5335d77ed"><strong>Cliquez ici pour revoir l&#8217;évènement</strong></a></p> </li> </ul> </div> </li> <li> <p>le <strong>mercredi 21 avril 2021 à 18h00</strong> à l&#8217;initiative de <a href="https://montpellibre.fr/">Montpel&#8217;Libre</a> via Meet Jit.si :</p> <div class="ulist"> <ul> <li> <p><a href="https://meet.jit.si/webinaire_montpellibre_vienumerique">Cliquez ici pour rejoindre l&#8217;évènement</a></p> </li> <li> <p><a href="https://montpellibre.fr/spip.php?article5141">Cliquez ici pour plus d&#8217;information…</a></p> </li> </ul> </div> </li> </ul> </div> <div class="paragraph"> <p>Dans chaque cas des membres des associations organisatrices seront présents mais les serveurs sont ouverts et capables d&#8217;accueilir de nombreux participants. N&#8217;hésitez donc pas à retenir la date qui vous convient.</p> </div> <div class="paragraph"> <p>L&#8217;idée est simple, présenter Meta-Press.es : quel est le besoin, comment on l&#8217;installe, son architecture, ses nouvelles fonctionnalités, comment contribuer…</p> </div> <div class="paragraph"> <p>N&#8217;hésitez pas à relayer cette annonce, et contactez-moi si vous souhaitez vous aussi organiser un évènement de ce type.</p> </div>Video of the Meta-Press.es' presentation for Parinux2021-04-20T00:00:00+02:002021-04-20T00:00:00+02:00Siltaartag:www.meta-press.es,2021-04-20:/journal/2021/2021_video_presentation_of_meta-press.es_for_Parinux.html<div class="paragraph"> <p>The Parinux association just uploaded the video of the presentation of Meta-Press.es held for their "Free software evening chat" of the thursday 15th of april 2021.</p> </div> <div class="paragraph"> <p><a href="https://tube.fdn.fr/videos/watch/9ae43c36-3dc8-4d85-844b-c5a5335d77ed"><strong>Meta-Press.es : decentralized and ecological search engine protecting your privacy, by Simon D.</strong></a> (1h 28min 24sec) (<em>fr</em>)</p> </div> <div class="paragraph"> <p>More than 160 people attended Meta-Press …</p></div><div class="paragraph"> <p>The Parinux association just uploaded the video of the presentation of Meta-Press.es held for their "Free software evening chat" of the thursday 15th of april 2021.</p> </div> <div class="paragraph"> <p><a href="https://tube.fdn.fr/videos/watch/9ae43c36-3dc8-4d85-844b-c5a5335d77ed"><strong>Meta-Press.es : decentralized and ecological search engine protecting your privacy, by Simon D.</strong></a> (1h 28min 24sec) (<em>fr</em>)</p> </div> <div class="paragraph"> <p>More than 160 people attended Meta-Press.es presentations so far and there were 600 downloads during the last 90 days.</p> </div> <div class="paragraph"> <p>By the way, the next presentation will take place the wednesday <strong>21st of april 2021 at 18h00</strong> (Paris time) on the impulsion of <a href="https://montpellibre.fr/">Montpel&#8217;Libre</a> via Meet Jit.si. <a href="https://meet.jit.si/webinaire_montpellibre_vienumerique"><strong>Click here to join</strong></a>. <a href="https://montpellibre.fr/spip.php?article5141">Click here for more info…</a> (<em>fr</em>)</p> </div>Vidéo de la présentation de Meta-Press.es pour Parinux2021-04-20T00:00:00+02:002021-04-20T00:00:00+02:00Siltaartag:www.meta-press.es,2021-04-20:/fr/journal/2021/2021_video_presentation_of_meta-press.es_for_Parinux.html<div class="paragraph"> <p>L&#8217;association Parinux a mis en ligne la vidéo de la présentation de Meta-Press.es réalisée lors de la « Soirée Conversation autour du Libre » du jeudi 15 avril 2021.</p> </div> <div class="paragraph"> <p><a href="https://tube.fdn.fr/videos/watch/9ae43c36-3dc8-4d85-844b-c5a5335d77ed"><strong>Meta-Press.es : moteur de recherche décentralisé, écologique et protégeant la vie privée, par Simon D.</strong></a> (1h 28min 24sec)</p> </div> <div class="paragraph"> <p>Plus de 160 …</p></div><div class="paragraph"> <p>L&#8217;association Parinux a mis en ligne la vidéo de la présentation de Meta-Press.es réalisée lors de la « Soirée Conversation autour du Libre » du jeudi 15 avril 2021.</p> </div> <div class="paragraph"> <p><a href="https://tube.fdn.fr/videos/watch/9ae43c36-3dc8-4d85-844b-c5a5335d77ed"><strong>Meta-Press.es : moteur de recherche décentralisé, écologique et protégeant la vie privée, par Simon D.</strong></a> (1h 28min 24sec)</p> </div> <div class="paragraph"> <p>Plus de 160 personnes ont assisté aux présentations de Meta-Press.es cette année et il y a eu 600 téléchargements dans les 90 derniers jours.</p> </div> <div class="paragraph"> <p>Au passage une présentation aura encore lieu le <strong>mercredi 21 avril 2021 à 18h00</strong> à l&#8217;initiative de <a href="https://montpellibre.fr/">Montpel&#8217;Libre</a> via Meet Jit.si. <a href="https://meet.jit.si/webinaire_montpellibre_vienumerique"><strong>Cliquez ici pour rejoindre l&#8217;évènement</strong></a>. <a href="https://montpellibre.fr/spip.php?article5141">Cliquez ici pour plus d&#8217;information…</a></p> </div>[C mon Territoire 79] Europe funds a project made in the Belly button of the World2021-03-30T00:00:00+02:002021-03-30T00:00:00+02:00Siltaartag:www.meta-press.es,2021-03-30:/revues/2021/20210330_c_mon_territoire_79.html<div id="preamble"> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="/images/20210300_Meta-Press_C-mon-territoire___.jpg" alt="20210300 Meta Press C mon territoire "> </div> <div class="title">Figure 1. Simon D. in his office © 2021 cmonterritoire79.fr</div> </div> <div class="paragraph"> <p>Offering an alternative solution to the digital giant Google News, Simon Descarpentries, computer science engineer, did it !</p> </div> <div class="paragraph"> <p>This web enthusiast just created <em>meta-press.es</em>, a decentralized search engine that helps to automatize press reviews. Settled with his little familly at …</p></div></div></div><div id="preamble"> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="/images/20210300_Meta-Press_C-mon-territoire___.jpg" alt="20210300 Meta Press C mon territoire "> </div> <div class="title">Figure 1. Simon D. in his office © 2021 cmonterritoire79.fr</div> </div> <div class="paragraph"> <p>Offering an alternative solution to the digital giant Google News, Simon Descarpentries, computer science engineer, did it !</p> </div> <div class="paragraph"> <p>This web enthusiast just created <em>meta-press.es</em>, a decentralized search engine that helps to automatize press reviews. Settled with his little familly at Pougne-Hérisson since 5 years, his home is also his work place. Hours dedicated to the developpement of free software that help to liberate from Google.</p> </div> </div> </div> <div class="sect2"> <h3 id="_free_access_for_all">1. Free access for all</h3> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>« During 5 years I&#8217;ve been benevolant in an association to make its press review, so I had the opportunity to imagine the perfect tool. In 2019, the dutch foundation NLnet accepted my application and helped me to set up the project with european funds. »</p> </div> </blockquote> </div> <div class="paragraph"> <p>Without middleman and freely distributed, once installed on Firefox <em>meta-press.es</em> is decentralized. Respecting your private life and without advertisement, it&#8217;s your computer that handle the searches, with no need for an server somewhere else. You can select the sources to search in, export your results, it&#8217;s simple with just a few clicks ! Today 285 newspapers are accessible from 53 countries and in 22 languages <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>. Allow the medias to gain independence from digital giants, it might be the solution !</p> </div> </div> <div class="sect2"> <h3 id="_call_for_donations">2. Call for donations</h3> <div class="paragraph"> <p>Sponsorships, partnerships and <a href="https://patreon.com/metapress">donations</a> are now essential to perpetuate this economic model, which already attracts more than 550 users per day <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup></p> </div> <div class="paragraph"> <p><a href="https://cmonterritoire79.fr/gatine/leurope-finance-un-projet-realise-dans-le-nombril-du-monde/">L&#8217;Europe finance un projet réalisé dans le Nombril du Monde</a> (<em>fr</em>)</p> </div> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. At the time of copying this, it&#8217;s 326 sources. </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. The original article mistakenly reported the user count as users by week. </div> <div class="footnote" id="_footnotedef_3"> <a href="#_footnoteref_3">3</a>. The 2021-03-30 Meta-Press.es has 700 daily users. </div> </div>[C mon Territoire 79] L'Europe finance un projet réalisé dans le Nombril du Monde2021-03-30T00:00:00+02:002021-03-30T00:00:00+02:00Siltaartag:www.meta-press.es,2021-03-30:/fr/revues/2021/20210330_c_mon_territoire_79.html<div id="preamble"> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="/images/20210300_Meta-Press_C-mon-territoire___.jpg" alt="20210300 Meta Press C mon territoire "> </div> <div class="title">Figure 1. Simon D. dans son bureau © 2021 cmonterritoire79.fr</div> </div> <div class="paragraph"> <p>Proposer une solution alternative au géant du numérique, Google Actualités, Simon Descarpentries, ingénieur en informatique l’a fait !</p> </div> <div class="paragraph"> <p>Ce passionné du web vient de créer <em>meta-press.es</em>, un moteur de recherche décentralisé et une revue de presse automatisée. Installé avec …</p></div></div></div><div id="preamble"> <div class="sectionbody"> <div class="imageblock"> <div class="content"> <img src="/images/20210300_Meta-Press_C-mon-territoire___.jpg" alt="20210300 Meta Press C mon territoire "> </div> <div class="title">Figure 1. Simon D. dans son bureau © 2021 cmonterritoire79.fr</div> </div> <div class="paragraph"> <p>Proposer une solution alternative au géant du numérique, Google Actualités, Simon Descarpentries, ingénieur en informatique l’a fait !</p> </div> <div class="paragraph"> <p>Ce passionné du web vient de créer <em>meta-press.es</em>, un moteur de recherche décentralisé et une revue de presse automatisée. Installé avec sa petite famille à Pougne-Hérisson depuis bientôt 5 ans, son domicile est aussi son lieu de travail. Des heures consacrées à développer des logiciels libres et ainsi éviter Google.</p> </div> </div> </div> <div class="sect2"> <h3 id="_accès_libre_tout_public">1. Accès libre tout public</h3> <div class="quoteblock"> <blockquote> <div class="paragraph"> <p>« Bénévole pendant 5 ans dans une association à m’occuper de la revue de presse, j’ai pu imaginer l’outil. En 2019, la fondation néerlandaise NLnet a retenu ma candidature et m’a aidé à monter mon projet sur des fonds européens. »</p> </div> </blockquote> </div> <div class="paragraph"> <p>Sans intermédiaire et distribué gratuitement, une fois installé sur Firefox, <em>meta-press.es</em> est décentralisé. Dans le respect de votre vie privée, sans publicité, c’est votre ordinateur qui fait la recherche sans passer par un serveur. Filtrer les sources, les thèmes recherchés, exporter l’information, c’est simple en un clic ! Aujourd’hui 285 journaux sont accessibles dans 53 pays et 22 langues <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>. Permettre aux médias de gagner en indépendance vis-à-vis du géant du numérique, c’est peut-être ça, la solution !</p> </div> </div> <div class="sect2"> <h3 id="_un_appel_aux_dons">2. Un appel aux dons</h3> <div class="paragraph"> <p>Mécénats, partenariats, <a href="https://patreon.com/metapress">dons</a> sont aujourd’hui indispensables pour pérenniser ce modèle économique, qui séduit déjà plus de 550 utilisateurs par jours <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup>.</p> </div> <div class="paragraph"> <p><a href="https://cmonterritoire79.fr/gatine/leurope-finance-un-projet-realise-dans-le-nombril-du-monde/">L&#8217;Europe finance un projet réalisé dans le Nombril du Monde</a></p> </div> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Au moment de recopier cet article, Meta-Press.es compte 326 sources. </div> <div class="footnote" id="_footnotedef_2"> <a href="#_footnoteref_2">2</a>. Correction apportée sur l&#8217;article original qui mentionnait par erreur un décompte d&#8217;utilisateurs par "semaines". </div> <div class="footnote" id="_footnotedef_3"> <a href="#_footnoteref_3">3</a>. Au 30 mars 2021 Meta-Press.es compte 700 utilisateurs quotidiens. </div> </div>CANCELLED : Meta-Press.es at the JDLL 20212021-03-22T00:00:00+01:002021-03-22T00:00:00+01:00Siltaartag:www.meta-press.es,2021-03-22:/journal/2021/2021_JDLL.html<div class="paragraph"> <p>The exact date and time are not known yet, but a presentation of Meta-Press.es will take place at the JDLL 2021, the saterday 3rd of April 2021 or sunday the 4th.</p> </div> <div class="paragraph"> <p>"<a href="https://jdll.org/">22nd days of Free Software in Lyon : concrete and accessible utopias Utopies</a>"</p> </div> <div class="paragraph"> <p>The event, that the association ALDIL …</p></div><div class="paragraph"> <p>The exact date and time are not known yet, but a presentation of Meta-Press.es will take place at the JDLL 2021, the saterday 3rd of April 2021 or sunday the 4th.</p> </div> <div class="paragraph"> <p>"<a href="https://jdll.org/">22nd days of Free Software in Lyon : concrete and accessible utopias Utopies</a>"</p> </div> <div class="paragraph"> <p>The event, that the association ALDIL has the courage to organise despite the risk of sanitary lock-in, is calling for <a href="https://www.helloasso.com/associations/aldil/collectes/jdll-2021-logiciel-libre-utopies-concretes-et-accessibles">crowdfunding</a>.</p> </div> <div class="paragraph"> <p>This blog entry will be updated as soon as the exact date and time of Meta-Press.es presentation will be known.</p> </div> <div class="paragraph"> <p>PS the 2021-02-19 : the Meta-Press.es presentation will be saterday the 3rd of april 2021 in the « Vie citoyenne » space.</p> </div> <div class="paragraph"> <p>PPS the 2021-03-22 : the JDLL team just announced to speakers that the event is cancelled (due to restrictive measures running against COVID-19 sanitary crisis). The JDLL website will soon presents the subjects that should have been discussed.</p> </div>ANNULÉ : Meta-Press.es aux JDLL 20212021-03-22T00:00:00+01:002021-03-22T00:00:00+01:00Siltaartag:www.meta-press.es,2021-03-22:/fr/journal/2021/2021_JDLL.html<div class="paragraph"> <p>La date exacte et le créneau horaire ne sont pas encore connus, mais une présentation de Meta-Press.es aura lieu aux JDLL 2021 les samedi 3 avril 2021 et dimanche 4.</p> </div> <div class="paragraph"> <p>« <a href="https://jdll.org/">Les 22e Journées du Logiciel Libre, Lyon : Utopies concrètes et accessibles</a> »</p> </div> <div class="paragraph"> <p>L&#8217;évènement, que l&#8217;ALDIL a le courage …</p></div><div class="paragraph"> <p>La date exacte et le créneau horaire ne sont pas encore connus, mais une présentation de Meta-Press.es aura lieu aux JDLL 2021 les samedi 3 avril 2021 et dimanche 4.</p> </div> <div class="paragraph"> <p>« <a href="https://jdll.org/">Les 22e Journées du Logiciel Libre, Lyon : Utopies concrètes et accessibles</a> »</p> </div> <div class="paragraph"> <p>L&#8217;évènement, que l&#8217;ALDIL a le courage de s&#8217;organiser malgré le risque de reconfinement, fait d&#8217;ailleurs l&#8217;objet d&#8217;une campagne de <a href="https://www.helloasso.com/associations/aldil/collectes/jdll-2021-logiciel-libre-utopies-concretes-et-accessibles">financement participatif</a>.</p> </div> <div class="paragraph"> <p>Ce billet sera mis à jour dès que le créneau de la présentation de Meta-Press.es sera connu.</p> </div> <div class="paragraph"> <p>PS du 2021-02-19 : la présentation de Meta-Press.es aura lieu le samedi 3 avril 2021 à 12h30 dans l&#8217;espace « Vie citoyenne ».</p> </div> <div class="paragraph"> <p>PPS du 2021-03-22 : l&#8217;équipe d&#8217;organisation des JDLL vient d&#8217;annoncer aux conférenciers que l&#8217;évènement n&#8217;aura pas lieu (pour cause de restrictions dues à la crise sanitaire engendrée par le COVID-19). Le site web de l&#8217;évènement se fera prochainement l&#8217;écho des sujets qui auraient dûs être présentés.</p> </div>[Sources!] Siltaar presents Meta-Press.es2021-03-19T00:00:00+01:002021-03-19T00:00:00+01:00Siltaartag:www.meta-press.es,2021-03-19:/revues/2021/20210319_src.brussels_siltaar_presente_meta-press.es.html<div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://src.brussels/Siltaer-presente-meta-press-es.html">Siltaar presents meta-press.es</a> (<em>fr</em>)</p> </div> <div class="paragraph"> <p><a href="https://mamot.fr/@Siltaer">Siltaar</a> presents us the <a href="https://meta-press.es">meta-press.es</a> WebExtension for Firefox, that he developped starting from the <a href="https://www.laquadrature.net">laquadrature</a> press review needs.</p> </div> <div class="paragraph"> <p>Meta-Press.es ease the search and monitoring of news, querying directly the search feature of newspaper websites (285 sources are available currently), or other (date …</p></div><div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://src.brussels/Siltaer-presente-meta-press-es.html">Siltaar presents meta-press.es</a> (<em>fr</em>)</p> </div> <div class="paragraph"> <p><a href="https://mamot.fr/@Siltaer">Siltaar</a> presents us the <a href="https://meta-press.es">meta-press.es</a> WebExtension for Firefox, that he developped starting from the <a href="https://www.laquadrature.net">laquadrature</a> press review needs.</p> </div> <div class="paragraph"> <p>Meta-Press.es ease the search and monitoring of news, querying directly the search feature of newspaper websites (285 sources are available currently), or other (date driven) contents like scientific publications or agendas (<a href="https://demosphere.net">Demosphere.net</a>).</p> </div> <div class="paragraph"> <p>From the 1st version released of Meta-Press.es, it was possible, for tech savvy users to add their own sources to Meta-Press.es, with a dedicated interface in the WebExtension, and the existing sources as example. This task is also well documented.</p> </div> <div class="paragraph"> <p>In addition to browse search results from the differents sources, and present them to the user in chronological order, this WebExtension protects the users against ad-trackers, newspapers and social ones too.</p> </div> <div class="paragraph"> <p>To finish Meta-Press.es is working on <a href="https://torproject.org">Tor Browser</a>!</p> </div>[Sources!] Siltaar présente Meta-Press.es2021-03-19T00:00:00+01:002021-03-19T00:00:00+01:00Siltaartag:www.meta-press.es,2021-03-19:/fr/revues/2021/20210319_src.brussels_siltaar_presente_meta-press.es.html<div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://src.brussels/Siltaer-presente-meta-press-es.html">Siltaar présente meta-press.es</a></p> </div> <div class="paragraph"> <p><a href="https://mamot.fr/@Siltaer">Siltaar</a> nous présente l&#8217;extension <a href="https://meta-press.es">meta-press.es</a> qu&#8217;il a développé en partant des besoins de revue de presse de <a href="https://www.laquadrature.net">laquadrature</a>.</p> </div> <div class="paragraph"> <p>Elle facilite la recherche et le suivi d&#8217;actualités en allant interroger les fonctions de recherche directement disponibles sur les différents sites de presse …</p></div><div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://src.brussels/Siltaer-presente-meta-press-es.html">Siltaar présente meta-press.es</a></p> </div> <div class="paragraph"> <p><a href="https://mamot.fr/@Siltaer">Siltaar</a> nous présente l&#8217;extension <a href="https://meta-press.es">meta-press.es</a> qu&#8217;il a développé en partant des besoins de revue de presse de <a href="https://www.laquadrature.net">laquadrature</a>.</p> </div> <div class="paragraph"> <p>Elle facilite la recherche et le suivi d&#8217;actualités en allant interroger les fonctions de recherche directement disponibles sur les différents sites de presse (285 sources actuellement) ou d&#8217;autres contenus comme certaines publications scientifiques ou les agendas de <a href="https://demosphere.net">Demosphère</a>.</p> </div> <div class="paragraph"> <p>Dès la première version chaque utilisateur·ice qui ne craint pas quelques lignes de codes, peut ajouter ses propres sources et peut s&#8217;inspirer des sources déjà présentes dans l&#8217;extension. Cette partie est bien documentée.</p> </div> <div class="paragraph"> <p>En plus d&#8217;aller parcourir les résultats de recherche des différentes sources pour en ramener un contenu triés par date de publication, elle protège contre les traqueurs publicitaires.</p> </div> <div class="paragraph"> <p>L&#8217;extension fonctionne sur <a href="https://torproject.org">Tor Browser</a> !</p> </div>Version 1.7.1 : ergonomic improvements and feedback from Rochelug2021-03-16T00:00:00+01:002021-03-16T00:00:00+01:00Siltaartag:www.meta-press.es,2021-03-16:/journal/2021/v1.7.1_ergonomic_improvements.html<div class="paragraph"> <p>The Meta-Press.es v1.7.1 has just been validated by Mozilla and will arrives in the web browsers of its users in the next hours (but you can still uninstall and re-install it to get the update sooner ^_^ or if you encounter a problem with scheduled searches :-/).</p> </div> <div class="paragraph"> <p>This …</p></div><div class="paragraph"> <p>The Meta-Press.es v1.7.1 has just been validated by Mozilla and will arrives in the web browsers of its users in the next hours (but you can still uninstall and re-install it to get the update sooner ^_^ or if you encounter a problem with scheduled searches :-/).</p> </div> <div class="paragraph"> <p>This new version brings a lot of under the surface things (like the <a href="https://framagit.org/Siltaar/meta-press-ext#user-content-how-to-test-the-sources">automated test of sources</a>, at last, acceleration of some treatments…), fix of dozens of sources (consequently), but most of all ergonomic improvements :</p> </div> <div class="ulist"> <ul> <li> <p>the main interface is now more sober</p> </li> <li> <p>a welcome page has been added, which opens up only after the installation and tells the user to click on the button in the toolbar</p> </li> <li> <p>the source creation feature is now separated from the regular settings in its own page</p> </li> <li> <p>the headlines (now news) have a better presentation (border, width…)</p> </li> <li> <p>better presentation also for the results, especially with images and/or long texts</p> </li> </ul> </div> <div class="paragraph"> <p>The screenshots have been updated accordingly here : <a href="https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/" class="bare">https://addons.mozilla.org/en-US/firefox/addon/meta-press-es/</a></p> </div> <div class="paragraph"> <p>Moreover, the communication efforts of the last months are fruitful with more than 500 downloads within 90 days and a recent record of 690 users in 24h. This last statistic may be surprising while compared with the ciphers announced last year, but Mozilla changed its way count users this summer <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> and rewrote the history of statistics of Meta-Press.es, cutting it by a half (ouch !). So we will soon reach 800 daily users, again, and it&#8217;s just a beginning.</p> </div> <div class="paragraph"> <p>Most of the ergonomic improvements bring by this new version are in fact due to feedback from the members of the 3 associations which where represented during the video-presentation of Meta-Press.es organized last week by the <a href="https://www.rochelug.org">Rochelug</a> association.</p> </div> <div class="paragraph"> <p>Ten persons were connected and I met different profiles : retired users, web developers, researchers and even an university librarian ! Talks were constructives et already turn into new lines of code in this new version.</p> </div> <div class="paragraph"> <p>Don&#8217;t forget the live presentation of Meta-Press.es next <a href="/journal/2021/2021_meta-press.es_spring_viso-conferences.html">sat. 10th of april</a>.</p> </div> <div class="paragraph"> <p>To finish, don&#8217;t hesitate to test Meta-Press.es again, to talk about it <a href="/journal/2021/now_is_the_time.html">around you</a> and to <a href="https://patreon.com/metapress">financially support</a> it if you can.</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Seems to have been the sun. 9th of august 2020 as I haven&#8217;t any previous download history </div> </div>Version 1.7.1 : améliorations d'ergonomie et retours du Rochelug2021-03-16T00:00:00+01:002021-03-16T00:00:00+01:00Siltaartag:www.meta-press.es,2021-03-16:/fr/journal/2021/v1.7.1_ergonomic_improvements.html<div class="paragraph"> <p>La version 1.7.1 de Meta-Press.es vient d&#8217;être validée par Mozilla et arrivera dans les navigateurs des utilisateurs l&#8217;ayant installé dans les prochaines heures (il est sinon possible de retirer et ré-installer Meta-Press.es pour l&#8217;avoir plus vite ^_^ ou si vous rencontrez un problème …</p></div><div class="paragraph"> <p>La version 1.7.1 de Meta-Press.es vient d&#8217;être validée par Mozilla et arrivera dans les navigateurs des utilisateurs l&#8217;ayant installé dans les prochaines heures (il est sinon possible de retirer et ré-installer Meta-Press.es pour l&#8217;avoir plus vite ^_^ ou si vous rencontrez un problème avec les recherches programmées :-/).</p> </div> <div class="paragraph"> <p>Cette nouvelle version ajoute pas mal de choses sous la surface (<a href="https://framagit.org/Siltaar/meta-press-ext#user-content-how-to-test-the-sources">test automatisé des sources</a>, enfin, accélération de certains traitements…), réparation de dizaines de sources (du coup), mais surtout beaucoup d&#8217;améliorations concernant l&#8217;ergonomie de l&#8217;extension :</p> </div> <div class="ulist"> <ul> <li> <p>une page d&#8217;accueil plus sobre par exemple</p> </li> <li> <p>une page de bienvenue, qui ne s&#8217;ouvre qu&#8217;à l&#8217;installation et rappelle de cliquer sur l&#8217;icône de la barre d&#8217;outils</p> </li> <li> <p>la fonctionnalité d&#8217;ajout des sources séparée dans une page dédiée (pour ne pas encombrer les réglages)</p> </li> <li> <p>une meilleure intégration des actualités dans l&#8217;interface principale</p> </li> <li> <p>une meilleure présentation des résultats comportant des images et/ou un long texte.</p> </li> </ul> </div> <div class="paragraph"> <p>Les captures ont été mises à jour ici : <a href="https://addons.mozilla.org/fr-FR/firefox/addon/meta-press-es/" class="bare">https://addons.mozilla.org/fr-FR/firefox/addon/meta-press-es/</a></p> </div> <div class="paragraph"> <p>De plus, les efforts de communication des derniers mois portent leurs fruits, avec plus de 500 téléchargements en 90 jours et une récente pointe à 690 utilisateurs sur 24 heures. Cette dernière statistique peut paraître surprenante par rapport aux chiffres avancés l&#8217;année dernière, mais cet été <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> Mozilla a changé de méthode de comptage des utilisateurs et a ré-écrit son historique de données en le divisant par deux (ouch !). Du coup nous allons bientôt à nouveau arriver à 800 utilisateurs quotidiens, et ce n&#8217;est qu&#8217;un début !</p> </div> <div class="paragraph"> <p>La plupart des améliorations ergonomiques apportées par cette nouvelles version correspondent à des retours des membres des trois associations représentées lors de la présentation de Meta-Press.es organisée en visio-conférence par l&#8217;association <a href="https://www.rochelug.org">Rochelug</a>.</p> </div> <div class="paragraph"> <p>10 personnes étaient connectées pour cette présentation. J&#8217;ai pu y rencontrer divers profils : utilisateurs retraités, développeurs, chercheurs et même un bibliothécaire universitaire ! Les échanges furent très constructifs et ont donc déjà débouchés sur des améliorations concrêtes dans cette nouvelle version.</p> </div> <div class="paragraph"> <p>N&#8217;oubliez pas la prochaine présentation de Meta-Press.es en visio-conférence le samedi <a href="/fr/journal/2021/2021_meta-press.es_spring_viso-conferences.html">10 avril prochain</a>.</p> </div> <div class="paragraph"> <p>Pour finir, n&#8217;hésitez pas à tester à nouveau Meta-Press.es, à présenter ce projet <a href="/fr/journal/2021/now_is_the_time.html">autour de vous</a> et à le <a href="https://patreon.com/metapress">soutenir financièrement</a> si vous le pouvez.</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. A priori le 9 août 2020, vu que je n&#8217;ai plus d&#8217;historique de téléchargement avant cette date. </div> </div>Two presentations of Meta-Press.es via visio-conference this spring2021-02-24T00:00:00+01:002021-02-24T00:00:00+01:00Siltaartag:www.meta-press.es,2021-02-24:/journal/2021/2021_meta-press.es_spring_viso-conferences.html<div class="paragraph"> <p>Two online events are scheduled for Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>thursday the <strong>4th of march 2021 at 20h00</strong> (Paris time) on the impulsion of <a href="https://www.rochelug.org">Rochelug</a> for its usual "1st thursday of Free Software" and held via Jit.si Meet <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p> </li> <li> <p>saterday <strong>10th of april 2021 at 9h30</strong> (Paris time) on the impulsion …</p></li></ul></div><div class="paragraph"> <p>Two online events are scheduled for Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>thursday the <strong>4th of march 2021 at 20h00</strong> (Paris time) on the impulsion of <a href="https://www.rochelug.org">Rochelug</a> for its usual "1st thursday of Free Software" and held via Jit.si Meet <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p> </li> <li> <p>saterday <strong>10th of april 2021 at 9h30</strong> (Paris time) on the impulsion of <a href="https://oisux.org/">Oisux</a> for their usual "saterday of Free Software" and held via <a href="https://url.oisux.org/samedi-du-libre">BigBlugButton</a></p> </li> </ul> </div> <div class="paragraph"> <p>For both events regular members of each associations will be connected, but the servers are open and capable of hosting numerous participants. Don&#8217;t hesitate to note the date that suits you : a week evening or a saterday morning.</p> </div> <div class="paragraph"> <p>The idea is simple, to present Meta-Press.es : installation, working principles, choice of architecture, new features, how to join the team and contribute…</p> </div> <div class="paragraph"> <p>Don&#8217;t hesitate to handover this announcement, and to contact me if you want to setup other events like this worldwide and in english or spanish (or even in esperanto).</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Contact meta-press.es arobase d12s.fr to get the URL of the right channel. </div> </div>Deux présentations de Meta-Press.es en visioconférences ce printemps2021-02-24T00:00:00+01:002021-02-24T00:00:00+01:00Siltaartag:www.meta-press.es,2021-02-24:/fr/journal/2021/2021_meta-press.es_spring_viso-conferences.html<div class="paragraph"> <p>Deux évènements en ligne sont prévus pour Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>le <strong>jeudi 4 mars 2021 à 20h00</strong> à l&#8217;initiative du <a href="https://www.rochelug.org">Rochelug</a> lors de son habituel 1er jeudi du libre et via Jit.si Meet <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p> </li> <li> <p>le <strong>samedi 10 avril 2020 à 9h30</strong> à l&#8217;initiative d&#8217;<a href="https://oisux.org/">Oisux</a> à l&#8217;occasion …</p></li></ul></div><div class="paragraph"> <p>Deux évènements en ligne sont prévus pour Meta-Press.es :</p> </div> <div class="ulist"> <ul> <li> <p>le <strong>jeudi 4 mars 2021 à 20h00</strong> à l&#8217;initiative du <a href="https://www.rochelug.org">Rochelug</a> lors de son habituel 1er jeudi du libre et via Jit.si Meet <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup></p> </li> <li> <p>le <strong>samedi 10 avril 2020 à 9h30</strong> à l&#8217;initiative d&#8217;<a href="https://oisux.org/">Oisux</a> à l&#8217;occasion de ses évènements réguliers les « samedi(s) du libre » et via <a href="https://url.oisux.org/samedi-du-libre">BigBlugButton</a></p> </li> </ul> </div> <div class="paragraph"> <p>Dans les deux cas des membres des associations organisatrices seront présents, mais les serveurs sont ouverts et capables d&#8217;accueilir de nombreux participants. N&#8217;hésitez donc pas à retenir la date qui vous convient, un soir en semaine ou un samedi matin.</p> </div> <div class="paragraph"> <p>L&#8217;idée est simple, présenter Meta-Press.es : son installation pas à pas, son fonctionnement, ses choix d&#8217;architecture, ses nouvelles fonctionnalités, comment contribuer…</p> </div> <div class="paragraph"> <p>N&#8217;hésitez pas à relayer cette annonce, et contactez-moi si vous souhaitez vous aussi organiser un évènement de ce type.</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Contacter meta-press.es arobase d12s.fr pour avoir l&#8217;adresse du salon utilisé. </div> </div>Version 1.7 : scheduled searches and agenda source type2021-02-10T00:00:00+01:002021-02-10T00:00:00+01:00Siltaartag:www.meta-press.es,2021-02-10:/journal/2021/v1.7_scheduled_searches.html<div class="paragraph"> <p>A lot of work was needed to add a simple &#9200; <strong>schedule search</strong> button in the main interface. It required quite some design work to keep things simple in appearance, a shipment of WebExtension specific code (quite different from usual web code) and it required dealing with <a href="https://xkcd.com/1883/">time zones</a>…</p> </div> <div class="paragraph"> <p>Here is …</p></div><div class="paragraph"> <p>A lot of work was needed to add a simple &#9200; <strong>schedule search</strong> button in the main interface. It required quite some design work to keep things simple in appearance, a shipment of WebExtension specific code (quite different from usual web code) and it required dealing with <a href="https://xkcd.com/1883/">time zones</a>…</p> </div> <div class="paragraph"> <p>Here is an extract from the newly written documentation about it :</p> </div> <div class="paragraph"> <p>Once you typed your search terms and selected the sources you wanna search in, it&#8217;s possible to save the search for later instead of launching it immediately. It&#8217;s the role of the &#9200; <strong>Schedule search</strong> button under the source selection. This button opens a new tab on the "Settings" scrolled to the Scheduled searches part.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/doc/20210210_recherche_automatique.png" alt="20210210 recherche automatique"> </div> <div class="title">Figure 1. Scheduled searches, on dark background interface</div> </div> <div class="paragraph"> <p>This table shows a scheduled search by line. When created, a scheduled search is in "Stop" state, but you just have to select the date, time and periodicity you want for this search to have it activated.</p> </div> <div class="paragraph"> <p>So you can schedule a daily search in a few clicks.</p> </div> <div class="paragraph"> <p>Actions are possible on scheduled searches:</p> </div> <div class="ulist"> <ul> <li> <p>the &#9999;&#65039; "pen" button allows to edit the search, it opens the main search interface with the scheduled search settings (search terms, source selection). Once modified, your search settings can be saved clicking on the "Schedule search" button of the main interface ;</p> </li> <li> <p>the 2nd button, with a copy/paste icon, allows to clone a scheduled search to get another one, that you can configure with the previously described button ;</p> </li> <li> <p>the 3rd button, with a cross on it allows to delete a scheduled search ;</p> </li> <li> <p>the 4th and last button allows to manually start the search from the table.</p> </li> </ul> </div> <hr> <div class="paragraph"> <p>You can also schedule many different searches, or use the feature just to bookmark your favorite searches. But in this last case, you might prefer to check the documentation on <strong>&#128279; permalinks and bookmarks</strong> :</p> </div> <div class="paragraph"> <p>When a search is finished a statistics line appears on top of the listed results. This line is fitted with a &#128279; "chain link" icon at the end. This icon allows you to launch the same search again.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/doc/20210128_permalink.png" alt="20210128 permalink"> </div> <div class="title">Figure 2. Search permalink icon</div> </div> <div class="paragraph"> <p>So it&#8217;s possible to create bookmarks for your favorite searches (sparing configuration time).</p> </div> <hr> <div class="paragraph"> <p>To get back to the scheduled searches, an interesting feature is that they come with own <strong>notifications</strong>, which only pops up if news results where found since the last occurrence of the search. This feature is a big step toward the claimed "Automatized press reviews".</p> </div> <div class="paragraph"> <p>About documentation, the source "<strong>cherry-picking</strong>" feature has also been added to the documentation page :</p> </div> <div class="paragraph"> <p>It is possible to select the sources you wanna query, one by one.</p> </div> <div class="paragraph"> <p>To do so, you first need to deploy the advanced search panel, clicking on the [ + ] sign in "Advanced search [+]" title. This will display 2 lines of source filtering criterion, and a line of buttons :</p> </div> <div class="ulist"> <ul> <li> <p>reset filters</p> </li> <li> <p>list source</p> </li> <li> <p>add source</p> </li> <li> <p>scheduled search</p> </li> </ul> </div> <div class="paragraph"> <p>A click on the "list source" button displays a 2nd panel showing the list of all the sources. Different tabs allow you add a specific source to the next search, or remove some others.</p> </div> <div class="paragraph"> <p>The "magnifier" icon, on each source line, set the next search to be performed in this specific source only.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/doc/20230414_advanced_search.png" alt="20230414 advanced search"> </div> <div class="title">Figure 3. Cherry-pick sources</div> </div> <hr> <div class="paragraph"> <p>This was very easy to implement, but still it represents a huge difference between Google News and Meta-Press.es. With this feature in particular, and the whole tag-based source filtering mechanism, Meta-Press.es is giving control back to the users instead of popping up results out of the blue. With Meta-Press.es, you know in which sources you searched in, with Google News you have to believe that the selection made was the good one.</p> </div> <div class="paragraph"> <p>And it&#8217;s still this tag-based source filtering mechanism which allows to add more and more source types. After the newspapers, the scientific press, the photos and videos, here comes the new <strong>Agenda source type</strong>, illustrated by nothing less than 28 instances of the militants online agendas <a href="https://demosphere.net/">Demosphere.net</a>, from 4 different countries. Waiting for Peertube v3 to add a global search feature across all its instances, Meta-Press.es allows you today to search in all the instances of Demosphere (or in the <strong>286 registered sources</strong>).</p> </div> <div class="paragraph"> <p>Imagination is the main limitation of the source types that can be added to Meta-Press.es, every date-driven contents can be queried. Don&#8217;t hesitate to suggest new source types opening "<a href="https://framagit.org/Siltaar/meta-press-ext/-/issues">issues</a>" in the code repository.</p> </div> <div class="paragraph"> <p>To finish, you might have to set back some of your parameters in the settings as the <code>persist()</code> storage mechanism changed its behavior during the new year celebrations, obliging us to switch to another browser storage API. Your custom defined sources should remain safe (<em>but what, you have some sources that you didn&#8217;t sent to us ;-)</em>.</p> </div>Version 1.7 : recherches programmées et type de sources Agenda2021-02-10T00:00:00+01:002021-02-10T00:00:00+01:00Siltaartag:www.meta-press.es,2021-02-10:/fr/journal/2021/v1.7_scheduled_searches.html<div class="paragraph"> <p>Il aura fallu beaucoup de travail pour ajouter ce simple bouton &#9200; <strong>recherche programmée</strong> dans l&#8217;interface principale. Cela demandait pas mal de travail de conception pour garder les choses simples en apparence, une cargaison de code spécifique aux WebExtensions (différent du code habituel des pages web) et enfin il fallu …</p></div><div class="paragraph"> <p>Il aura fallu beaucoup de travail pour ajouter ce simple bouton &#9200; <strong>recherche programmée</strong> dans l&#8217;interface principale. Cela demandait pas mal de travail de conception pour garder les choses simples en apparence, une cargaison de code spécifique aux WebExtensions (différent du code habituel des pages web) et enfin il fallu affronter l&#8217;enfer des <a href="https://xkcd.com/1883/">fuseaux horaire</a>.</p> </div> <div class="paragraph"> <p>Voici un extrait de la documentation (rédigée pour l&#8217;occasion) :</p> </div> <div class="paragraph"> <p>Une fois les termes de recherche saisis et la sélection des sources faites, vous pouvez sauver ces réglages et programmer la recherche pour plus tard au lieu de la lancer immédiatement. Il suffit pour ça de cliquer sur le bouton &#9200; <strong>Recherche programmée</strong>. Ce bouton ouvre l&#8217;onglet des réglages sur la partie réservée à la gestion des recherches programmées.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/doc/20210210_recherche_automatique.png" alt="20210210 recherche automatique"> </div> <div class="title">Figure 1. Recherches programmées, avec interface en fond sombre</div> </div> <div class="paragraph"> <p>Ce tableau montre une ligne par recherche programmée. À sa création, une recherche programmée est "Désactivée", mais il suffit de régler la date et l&#8217;heure de sa prochaine exécution et de choisir sa périodicité pour qu&#8217;elle s&#8217;active.</p> </div> <div class="paragraph"> <p>Vous pouvez ainsi programmer une recherche quotidienne en quelques clics.</p> </div> <div class="paragraph"> <p>Des actions sont possibles sur chaque recherche :</p> </div> <div class="ulist"> <ul> <li> <p>le 1er bouton, avec un crayon &#9999;&#65039;, ouvre un onglet sur l&#8217;interface principale, configurée avec les paramètres de cette recherche (termes de recherche, choix des sources). Si vous modifiez ces réglages vous pouvez les sauver en cliquant sur le bouton de recherches programmées de l&#8217;interface principale ;</p> </li> <li> <p>le 2e bouton, avec une icône copier/coller permet de cloner une recherche programmée pour en faire une deuxième, configurée différemment ;</p> </li> <li> <p>le 3e bouton, avec une croix, permet de supprimer une recherche programmée ;</p> </li> <li> <p>le 4e et dernier bouton permet de lancer manuellement la recherche en question.</p> </li> </ul> </div> <hr> <div class="paragraph"> <p>Vous pouvez donc programmer différentes recherches sur différents sujets à différentes fréquences, ou encore simplement utiliser cette fonctionnalité en guise de marque-pages pour vos recherche favorites. Toutefois, si vous voulez vraiment créer des &#128279; <strong>marque-pages</strong>, c&#8217;est aussi prévu :</p> </div> <div class="paragraph"> <p>Lorsqu&#8217;une recherche est terminée une ligne de statistiques apparait au dessus des premiers résultats. Cette ligne comporte une icône "maillons de chaîne" &#128279; en fin de ligne. Cette icône est un lien permettant de lancer cette recherche à nouveau.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/doc/20210128_permalink.png" alt="20210128 permalink"> </div> <div class="title">Figure 2. Icône "maillons de chaîne" du permalien</div> </div> <div class="paragraph"> <p>Il est ainsi possible de créer un marque page sur sa recherche favorite, sans avoir à la configurer à chaque fois.</p> </div> <hr> <div class="paragraph"> <p>Pour en revenir aux recherches programmées, un détail important est qu&#8217;elles viennent avec leur propre <strong>notifications</strong>, qui n&#8217;apparaissent que si de nouveaux résultats ont été trouvés lors de la recherche, par rapport à sa dernière exécution programmée. Cette fonctionnalité est un grand pas en avant sur le chemin des « Revues de presse automatisées ».</p> </div> <div class="paragraph"> <p>À propos de documentation, la sélection de source à l&#8217;unité est elle aussi désormais documentée :</p> </div> <div class="paragraph"> <p>Il est possible de choisir une par une les sources dans lesquelles ont souhaite chercher.</p> </div> <div class="paragraph"> <p>Pour cela, il faut déplier le panneau de recherche avancée, en cliquant sur le [ + ] du titre "Recherche avancée [+]". Deux lignes apparaissent alors comportant divers critères et une 3e ligne présente des boutons :</p> </div> <div class="ulist"> <ul> <li> <p>remise à zéro des filtres,</p> </li> <li> <p>lister les sources,</p> </li> <li> <p>ajouter une source,</p> </li> <li> <p>automatiser une recherche.</p> </li> </ul> </div> <div class="paragraph"> <p>Un clic sur le bouton "Liste des sources" fait apparaitre un 2e volet permettant de parcourir la liste des sources, d&#8217;ajouter des sources à la sélection courante ou d&#8217;en retirer.</p> </div> <div class="paragraph"> <p>L&#8217;icône de loupe, sur chaque ligne de source, permet de régler la prochaine recherche sur cette source uniquement.</p> </div> <div class="imageblock"> <div class="content"> <img src="/images/doc/20230414_advanced_search.png" alt="20230414 advanced search"> </div> <div class="title">Figure 3. Recherche avancée</div> </div> <hr> <div class="paragraph"> <p>Ça c&#8217;était facile à implémenter et pourtant ça représente une grosse différence entre Google Actualités et Meta-Press.es. Avec cette fonctionnalité en particulier, et sinon tout le mécanisme de sélection des sources par étiquettes, Meta-Press.es redonne à l&#8217;utilisateur le contrôle de ses sources d&#8217;information, au lieu de se contenter de résultats venus d&#8217;on ne sait où. Avec Meta-Press.es, vous savez dans quelles sources la recherche s&#8217;est effectuée, alors qu&#8217;avec Google vous devez espérer que leur sélection soit la bonne.</p> </div> <div class="paragraph"> <p>Et c&#8217;est à nouveau ce mécanisme de sélection de sources par étiquettes qui permet d&#8217;ajouter toujours plus de types de sources. Après les journaux, la presse scientifique, les photos et les vidéos, cette version ajoute le <strong>type de source Agenda</strong>, représenté en premier lieu par la collection complète des 28 instances de <a href="https://demosphere.net/">Demosphere.net</a> (étalées sur 4 pays). En attendant que Peertube v3 ajoute une fonctionnalité de recherche à travers toutes ses instances, Meta-Press.es permet dès aujourd&#8217;hui de faire des recherche à travers toutes les instances de Demosphere, ou dans l&#8217;ensemble des <strong>286 sources référencées</strong>.</p> </div> <div class="paragraph"> <p>D&#8217;ailleurs c&#8217;est surtout notre imagination qui limite les types de source qu&#8217;il est possible d&#8217;ajouter à Meta-Press.es. Tous les contenus dont la date fait la pertinence peuvent être traités par Meta-Press.es. N&#8217;hésitez pas à en suggérer de nouveaux, en ouvrant un <a href="https://framagit.org/Siltaar/meta-press-ext/-/issues">ticket</a> (en français) dans le dépôt de code.</p> </div> <div class="paragraph"> <p>Pour finir, vous aurez peut être à remettre en place quelques réglages avec cette nouvelle version car la méthode d&#8217;enregistrement des paramètres (<code>API storage</code> et méthode <code>persist()</code>) a changé de comportement pendant les vacances de fin d&#8217;année, nous obligeant à changer d&#8217;API. Vos sources personnalisées ne seront toutefois pas impactées (mais comment !? vous avez des sources que vous n&#8217;avez pas encore envoyées à Meta-Press.es ? ;-).</p> </div>[La voix est libre - Picasoft] Meta-press.es, a tool to search in news2021-02-07T00:00:00+01:002021-02-07T00:00:00+01:00Siltaartag:www.meta-press.es,2021-02-07:/revues/2021/20210207_picasoft.html<div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://radio.picasoft.net/co/2021-02-01.html"><strong>Meta-Press.es, a tool to search in news</strong></a> (<em>fr</em>)</p> </div> <div class="paragraph"> <p>The guest : Simon Descarpentries aka <a href="https://mamot.fr/@Siltaer">Siltaar</a>, CEO at Acoeuro.com, main developper of Meta-Press.es</p> </div> <div class="paragraph"> <p>Questions of the interview :</p> </div> <div class="ulist"> <ul> <li> <p>Why wanting to avoid Google News ? What is the power of News search engines ?</p> </li> <li> <p>What is Meta-Press.es ? Why is it …</p></li></ul></div><div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://radio.picasoft.net/co/2021-02-01.html"><strong>Meta-Press.es, a tool to search in news</strong></a> (<em>fr</em>)</p> </div> <div class="paragraph"> <p>The guest : Simon Descarpentries aka <a href="https://mamot.fr/@Siltaer">Siltaar</a>, CEO at Acoeuro.com, main developper of Meta-Press.es</p> </div> <div class="paragraph"> <p>Questions of the interview :</p> </div> <div class="ulist"> <ul> <li> <p>Why wanting to avoid Google News ? What is the power of News search engines ?</p> </li> <li> <p>What is Meta-Press.es ? Why is it a good answer ?</p> </li> <li> <p>How to use Meta-Press.es ?</p> </li> <li> <p>How are sources of Meta-Press.es keept up to date ?</p> </li> <li> <p>How are chosen the available sources of Meta-Press.es and how to choose in which you want to search ?</p> </li> <li> <p>Why a Firefox add-on ?</p> </li> <li> <p>What are AMPs and what troubles do they make for newspapers ?</p> </li> <li> <p>Why certains sources are incompatible with Meta-Press.es ?</p> </li> <li> <p>How many users do Meta-Press.es already count ?</p> </li> <li> <p>How to help and support the project ?</p> </li> </ul> </div>[La voix est libre - Picasoft] Meta-press.es, un outil de recherche dans l'actualité2021-02-07T00:00:00+01:002021-02-07T00:00:00+01:00Siltaartag:www.meta-press.es,2021-02-07:/fr/revues/2021/20210207_picasoft.html<div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://radio.picasoft.net/co/2021-02-01.html"><strong>Meta-Press.es, un outil de recherche dans l&#8217;actualité</strong></a></p> </div> <div class="paragraph"> <p>L&#8217;invité : Simon Descarpentries aka <a href="https://mamot.fr/@Siltaer">Siltaar</a>, associé d&#8217;Acoeuro.com, développeur principal de Meta-Press.es</p> </div> <div class="paragraph"> <p>Principaux points abordés :</p> </div> <div class="ulist"> <ul> <li> <p>Pourquoi ne plus vouloir utiliser Google Actualités ? Quel pouvoir ont les moteurs de recherche d&#8217;actualité ? Pourquoi l&#8217;article 11 ?</p> </li> <li> <p>Qu&#8217;est-ce …</p></li></ul></div><div class="paragraph"> <p><strong>Podcast</strong> : <a href="https://radio.picasoft.net/co/2021-02-01.html"><strong>Meta-Press.es, un outil de recherche dans l&#8217;actualité</strong></a></p> </div> <div class="paragraph"> <p>L&#8217;invité : Simon Descarpentries aka <a href="https://mamot.fr/@Siltaer">Siltaar</a>, associé d&#8217;Acoeuro.com, développeur principal de Meta-Press.es</p> </div> <div class="paragraph"> <p>Principaux points abordés :</p> </div> <div class="ulist"> <ul> <li> <p>Pourquoi ne plus vouloir utiliser Google Actualités ? Quel pouvoir ont les moteurs de recherche d&#8217;actualité ? Pourquoi l&#8217;article 11 ?</p> </li> <li> <p>Qu&#8217;est-ce que méta presse ? En quoi est-ce une bonne réponse ?</p> </li> <li> <p>Pourquoi développer méta-presse ? En quoi est-il fondamentalement différent de méta press.es ?</p> </li> <li> <p>Comment utiliser Meta-Press.es</p> </li> <li> <p>Comment sont choisies les sources disponibles sur Meta press.es</p> </li> <li> <p>Pourquoi un add-on mozilla ?</p> </li> <li> <p>Que sont les AMP ? En quoi sont-elles un problème pour les patrons de presse ?</p> </li> <li> <p>Certains journaux comme le monde sont incompatibles, pourquoi ?</p> </li> <li> <p>Combien d&#8217;utilisateurs sur Méta press.es ?</p> </li> <li> <p>Comment soutenir méta press.es ?</p> </li> </ul> </div>[Underscore] Émission Underscore #214 of the 31st jan. 20212021-01-31T00:00:00+01:002021-01-31T00:00:00+01:00Siltaartag:www.meta-press.es,2021-01-31:/revues/2021/20210131_underscore_214.html<div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Radio podcast.</p> </div> <div class="paragraph"> <p>Here is a transcription of the big lines :</p> </div> </div> </div> <div class="sect1"> <h2 id="_subject_meta_press_es_interview_siltaer">1. Subject : Meta-Press.es (interview <a href="https://mamot.fr/@Siltaer">Siltaer</a>)</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_how_can_we_introduce_you">1.1. How can we introduce you ?</h3> <div class="paragraph"> <p>Web artisan…</p> </div> </div> <div class="sect2"> <h3 id="_how_came_the_idea_of_meta_press_es">1.2. How came the idea of Meta-Press.es ?</h3> <div class="paragraph"> <p>From 5 years of press review of La Quadrature du Net…</p> </div> </div> <div class="sect2"> <h3 id="_what_is_it_userful_for">1.3. What is it …</h3></div></div></div><div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Radio podcast.</p> </div> <div class="paragraph"> <p>Here is a transcription of the big lines :</p> </div> </div> </div> <div class="sect1"> <h2 id="_subject_meta_press_es_interview_siltaer">1. Subject : Meta-Press.es (interview <a href="https://mamot.fr/@Siltaer">Siltaer</a>)</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_how_can_we_introduce_you">1.1. How can we introduce you ?</h3> <div class="paragraph"> <p>Web artisan…</p> </div> </div> <div class="sect2"> <h3 id="_how_came_the_idea_of_meta_press_es">1.2. How came the idea of Meta-Press.es ?</h3> <div class="paragraph"> <p>From 5 years of press review of La Quadrature du Net…</p> </div> </div> <div class="sect2"> <h3 id="_what_is_it_userful_for">1.3. What is it userful for ?</h3> <div class="paragraph"> <p>To search in newspapers…</p> </div> </div> <div class="sect2"> <h3 id="_how_is_it_different_from_rss_readers">1.4. How is it different from RSS readers ?</h3> <div class="paragraph"> <p>It use newspapers own search engines…</p> </div> </div> <div class="sect2"> <h3 id="_how_to_help_you_giving_money">1.5. How to help you ? (giving money ?)</h3> <div class="paragraph"> <p>The best way to help me is to contribute, source code, or new sources.</p> </div> <div class="paragraph"> <p>Then one can help getting Meta-Press.es known.</p> </div> <div class="paragraph"> <p>Lastly, you can help me dedicating time to the project via <a href="https://patreon.com/metapress">Patreon</a> (or Liberapay).</p> </div> </div> <div class="sect2"> <h3 id="_you_have_other_projects_if_im_right_can_you_tell_us_about_them">1.6. You have other projects if I&#8217;m right, can you tell us about them ?</h3> <div class="paragraph"> <p>There are Meta-Press.es side projects : <a href="https://framagit.org/Siltaar/month_nb">month_nb</a>, and <a href="https://framagit.org/Siltaar/gettext_html_auto.js">gettext_html_auto</a>.</p> </div> <div class="paragraph"> <p>But also the <a href="https://www.grimoire-command.es">Grimoire-Command.es</a> blog.</p> </div> <div class="paragraph"> <p><a href="https://www.triplea.fr/blog/podcast/emission-underscore-214-du-31-janvier-2021/"><strong>Émission Underscore #214 du 31 janvier 2021</strong></a> <em>(fr)</em></p> </div> </div> </div> </div>[Underscore] Émission Underscore #214 du 31 janvier 20212021-01-31T00:00:00+01:002021-01-31T00:00:00+01:00Siltaartag:www.meta-press.es,2021-01-31:/fr/revues/2021/20210131_underscore_214.html<div class="sect1"> <h2 id="_actu">1. Actu</h2> <div class="sectionbody"> <div class="paragraph"> <p>[…]</p> </div> </div> </div> <div class="sect1"> <h2 id="_sujet_meta_press_es_interview_siltaer">2. Sujet : Meta-Press.es (interview <a href="https://mamot.fr/@Siltaer">Siltaer</a>)</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_comment_te_présente_t_on">2.1. Comment te présente-t-on ?</h3> <div class="paragraph"> <p>Artisan du web (à mon compte via Acoeuro.com), ingénieur en informatique, engagé dans des associations (April, FDN, LQDN…).</p> </div> <div class="paragraph"> <p>Aujourd’hui, plus localement sur Bressuire, je m’investi dans le LUG de la ville GEBULL (qui couvre …</p></div></div></div></div><div class="sect1"> <h2 id="_actu">1. Actu</h2> <div class="sectionbody"> <div class="paragraph"> <p>[…]</p> </div> </div> </div> <div class="sect1"> <h2 id="_sujet_meta_press_es_interview_siltaer">2. Sujet : Meta-Press.es (interview <a href="https://mamot.fr/@Siltaer">Siltaer</a>)</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_comment_te_présente_t_on">2.1. Comment te présente-t-on ?</h3> <div class="paragraph"> <p>Artisan du web (à mon compte via Acoeuro.com), ingénieur en informatique, engagé dans des associations (April, FDN, LQDN…).</p> </div> <div class="paragraph"> <p>Aujourd’hui, plus localement sur Bressuire, je m’investi dans le LUG de la ville GEBULL (qui couvre toute la moitier nord du département) et j’y répare entre autre bénévolement des Fairphones…</p> </div> </div> <div class="sect2"> <h3 id="_comment_tes_venue_lidée_de_meta_press_es">2.2. Comment t’es venue l’idée de Meta-Press.es ?</h3> <div class="paragraph"> <p>Justement en travaillant sur la revue de presse de la Quadrature du Net (pendant 5 ans). Il y avait beaucoup de travail et un outil sur mesure m’aurait permis d’être plus efficace et d’économiser du sommeil. Meta-Press.es c’est cet outil, il permet d’économiser 80% du temps qu’il me fallait pour réaliser la revue de presse en s’affranchissant de la plupart des copier/coller.</p> </div> <div class="paragraph"> <p>Mais Meta-Press.es, c’est aussi l’outil dont j’ai rêvé à l’époque pour remettre de la cohérence dans ma tâche. En effet, jusque là la revue de presse de la Quadrature s’appuyait surtout sur Google Actualités, alors que Google c’est le fer de lance des GAFAM, et donc une entreprise qui se retrouve souvent sous le feu des critiques de la Quadrature du Net. C’était assez inconfortable de dépendre d’un outil fourni par un ennemi.</p> </div> <div class="paragraph"> <p>C’est l’occasion de dire que la revue de presse c’est une action assez méconnue mais essentielle dans le fonctionnement de LQDN, qui permet notamment de monter en compétence sur des sujets puisqu’on est obligé du coup de lire tous les articles qui en parlent et s’en imprégner. (Coucou quota, coucou G0f !) C’est donc un bon point de départ pour contribuer à La Quadrature !</p> </div> </div> <div class="sect2"> <h3 id="_et_ça_sert_à_quoi_à_qui_sadresse_cet_outil">2.3. Et ça sert à quoi ? À qui s’adresse cet outil ?</h3> <div class="paragraph"> <p>Alors Meta-Press.es, ça sert à effectuer des recherches dans plusieurs journaux en même temps. Des centaines de journaux, qui permettrent de récupérer des milliers de résultats. Meta-Press.es les trie par ordre chronologique et on retrouve rapidement ce qui fait l’actualité d’un sujet.</p> </div> <div class="paragraph"> <p>Meta-Press.es va vite, protège la vie privée de ses utilisateurs (en évitant de charger les trackers publicitaires des journaux) et permet de s’affranchir de tout intermédiaire entre votre ordinateur et les journaux consultés. Rien ne passe par les serveurs de Meta-Press.es avec la promesse qu’on y touche pas, car il n’y a pas de serveurs pour Meta-Press.es. C’est bon pour le climat, exit les datacenters au cercle polaire… L’outil est véritablement décentralisé, c’est votre ordinateur qui bosse.</p> </div> <div class="paragraph"> <p>Meta-Press.es s’adresse à tous ceux qui utilisent Google Actualités, ou qui se retenaient de l’utiliser parce que c’était un outil Google. À toutes les associations qui ont une revue de presse à faire, à tous les journalistes qui font de la veille sur la presse… À tous ceux qui veulent approfondir un sujet d’actualité et croiser les sources. Ou encore à ceux qui contribuent à Wikipedia et cherchent plus de sources pour un article. Les usages sont nombreux.</p> </div> <div class="paragraph"> <p>Après, l’outil s’adresse à ceux qui utilisent Firefox, puisqu’il s’agit d’une extension du navigateur web Firefox. On l’installe depuis le magasin d’extensions de Mozilla, ça ajoute une icône à la barre de tâche et on ouvre le moteur de recherche en cliquant sur cette icône.</p> </div> <div class="paragraph"> <p>Au delà des simples recherches, il est possible d’exporter et importer des résultats (tous où une sélection seulement), de les filtrer par date ou par mots-clés, de choisir finement de quels sources chercher (il y a des journaux, des photos de la presse scientifique), et on pourra même prochainement programmer une recherche pour qu’elle se lance toute seule !</p> </div> </div> <div class="sect2"> <h3 id="_en_quoi_est_il_différent_doutils_comme_flus_ou_des_aggrégateurs_rss">2.4. En quoi est-il différent d’outils comme Flus ou des aggrégateurs RSS ?</h3> <div class="paragraph"> <p>(On rappelle qu’on a fait une émission au sujet des flux RSS)</p> </div> <div class="paragraph"> <p>Un agrégateur de flux RSS permet de s’abonner à des “sites webs” pour aller en chercher le nouveau contenu régulièrement. Il conserve ces contenus et permet de parcourir l’historique. Meta-Press.es par contre, va chercher du contenu (éventuellement ancien) à partir des moteurs de recherche des journaux référencés.</p> </div> <div class="paragraph"> <p>Une fois la recherche terminée, quand on lance une nouvelle recherche, les précédents résultats récupérés sont évacués.</p> </div> <div class="paragraph"> <p>La confusion pourrait venir du fait que Meta-Press.es utilise le format RSS pour exporter les résultats d’une recherche, et donc les ré-importer.</p> </div> <div class="paragraph"> <p>Et même encore mieux, Meta-Press.es permet de sélectionner des résultats, pour n’exporter que les résultats voulus.</p> </div> </div> <div class="sect2"> <h3 id="_dailleurs_techniquement_on_utilise_aussi_les_flux_rss_y_en_a_pas_toujours_à_disposition_si">2.5. D’ailleurs, techniquement, on utilise aussi les flux RSS ? Y en a pas toujours à disposition, si ?</h3> <div class="paragraph"> <p>Parmis les 250 sources dans lesquelles Meta-Press.es sait chercher, un quart proposer un flux RSS des résultats d’une recherche. On utilise alors prioritairement ces flux, car leur mise en forme est standard et constante. Pour les autres sources, il faut analyser l’interface web de la page des résultats, et cette interface est susceptible de changer au gré des caprices du département marketing…</p> </div> <div class="paragraph"> <p>Donc non, il n’y a pas toujours un flux de dispo, et c’est bien dommage, car ça nous simplifie bien la vie quand il y en a un.</p> </div> </div> <div class="sect2"> <h3 id="_comment_peut_on_taider_on_peut_donner_des_pépètes">2.6. Comment peut-on t’aider ? On peut donner des pépètes ?</h3> <div class="paragraph"> <p>Le meilleur moyen de m’aider, c’est de contribuer, par exemple en ajoutant de nouvelles sources à l’outil.</p> </div> <div class="paragraph"> <p>Après, si on est pas développeur web, on peut quand même aider à faire connaître l’outil.</p> </div> <div class="paragraph"> <p>Et enfin, si c’est plus facile, on peut aussi donner des sous (via <a href="https://patreon.com/metapress">Patreon</a> ou Liberapay) pour que je puisse avec le temps de faire tout ça moi.</p> </div> </div> <div class="sect2"> <h3 id="_tu_as_dautres_projets_il_me_semble_et_tu_contribues_aussi_à_dautres_logiciels_libres">2.7. Tu as d’autres projets il me semble, et tu contribues aussi à d’autres logiciels libres ?</h3> <div class="paragraph"> <p>Il y a des petits projets issus de Meta-Press.es, qui bénéficient de leur propres dépôt de code sur Framagit. Il s’agit d’outils réutilisables, écrits en JavaScript :</p> </div> <div class="ulist"> <ul> <li> <p><a href="https://framagit.org/Siltaar/month_nb">month_nb</a> : permet retrouver le numéro d’un mois dont on connait le nom, en toutes lettres, quelque soit sa langue ;</p> </li> <li> <p><a href="https://framagit.org/Siltaar/gettext_html_auto.js">gettext_html_auto</a> : permet de trouver et de remplacer toutes les chaînes de caractère d’une page web (pour gérer les traductions d’une extension web, à partir d’une structure JSON à GNU Gettext, plus simple que celle prévue pour les WebExtensions).</p> </li> </ul> </div> <div class="paragraph"> <p>J’écris également un blog un peu technique pour partager mes découvertes en ligne de commande GNU+Linux, il s’appelle <a href="https://www.grimoire-command.es">Grimoire-Command.es</a>.</p> </div> <div class="paragraph"> <p>Enfin je n’hésite jamais à dégainer un rapport de bug ou une demande de fonctionnalité (et ça prends du temps !)</p> </div> <div class="paragraph"> <p><a href="https://www.triplea.fr/blog/podcast/emission-underscore-214-du-31-janvier-2021/"><strong>Émission Underscore #214 du 31 janvier 2021</strong></a></p> </div> <div class="paragraph"> <p><strong>Bonus : Astrologeek</strong></p> </div> <div class="paragraph"> <p>[…]</p> </div> <div class="paragraph"> <p><strong>libriste</strong> : Meta-Press.es … que réussi à m’avoir !</p> </div> <div class="paragraph"> <p>[…]</p> </div> </div> </div> </div>Now is the time…2021-01-17T00:00:00+01:002021-01-17T00:00:00+01:00Siltaartag:www.meta-press.es,2021-01-17:/journal/2021/now_is_the_time.html<div class="paragraph"> <p>Meta-Press.es is approaching the end of it&#8217;s NLnet support. We&#8217;ve done a lot of work thanks to them, and some cool features (such as automatic scheduled research) are to be released in the coming weeks.</p> </div> <div class="paragraph"> <p>2020 should have been a year full of public presentations for me …</p></div><div class="paragraph"> <p>Meta-Press.es is approaching the end of it&#8217;s NLnet support. We&#8217;ve done a lot of work thanks to them, and some cool features (such as automatic scheduled research) are to be released in the coming weeks.</p> </div> <div class="paragraph"> <p>2020 should have been a year full of public presentations for me, but everything have been canceled. I only managed to speak at an online event in July, which promised videos are still not online. So I call for a <strong>crowd-spreading of Meta-Press.es</strong> ! (and I hope I&#8217;ll be received for <a href="https://pretalx.jdll.org/jdll2021/cfp">2021 JDLL</a>)</p> </div> <div class="paragraph"> <p>So now is a good time for the small but faithful community to engage and help Meta-Press.es reaching it&#8217;s target audience : everyone making press reviews !</p> </div> <div class="paragraph"> <p>Step up, speak about Meta-Press.es, to your family and friends, to your NGO, to local communities… Become an ambassador.</p> </div> <div class="paragraph"> <p>I had contacts with school documentation centers using Meta-Press.es, with researchers, with a literary blog maker, a Thomson-Reuters journalist. They all use Meta-Press.es and plan to use it more. This is always a great encouragement.</p> </div> <div class="paragraph"> <p>We plan to reach 300 sources this semester, but special efforts (setting field, full documentation…) were made to allow web developers to easily <strong>integrate new sources</strong>, and around 50 sources were already contributed. You can help us discovering and integrating more source.</p> </div> <div class="paragraph"> <p>A last but new way to help the project is to register for a small <strong>Patreon monthly support</strong>. Liberapay is still great, libre and available, but I opened a Patreon page to circumvent its current lack of recurring donations. The future of the project is in your <a href="https://patreon.com/metapress">clicks</a> now !</p> </div>C'est le bon moment…2021-01-17T00:00:00+01:002021-01-17T00:00:00+01:00Siltaartag:www.meta-press.es,2021-01-17:/fr/journal/2021/now_is_the_time.html<div class="paragraph"> <p>Meta-Press.es approche de la fin de son soutien par la NLnet. Ils nous ont permis de réaliser de grands travaux et de nouvelles fonctionnalités arriveront encore dans les prochaines semaines (comme les recherche programmées).</p> </div> <div class="paragraph"> <p>J&#8217;espérais courir d&#8217;évènement libriste en évènement libriste à travers l&#8217;Europe en 2020 …</p></div><div class="paragraph"> <p>Meta-Press.es approche de la fin de son soutien par la NLnet. Ils nous ont permis de réaliser de grands travaux et de nouvelles fonctionnalités arriveront encore dans les prochaines semaines (comme les recherche programmées).</p> </div> <div class="paragraph"> <p>J&#8217;espérais courir d&#8217;évènement libriste en évènement libriste à travers l&#8217;Europe en 2020 pour présenter Meta-Press.es à un public plus large, mais les évènements ont été annulés les uns après les autres, et je n&#8217;ai pu courir qu&#8217;un km autour de chez moi. J&#8217;ai à peine réussi à parler lors d&#8217;un évènement en ligne en juillet (les vidéos sont d&#8217;ailleurs encore en attente de publication). Alors, j&#8217;en appel à un <strong>crowd-spreading <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> de Meta-Press.es</strong> ! (et j&#8217;espère être retenu pour les <a href="https://pretalx.jdll.org/jdll2021/cfp">JDLL 2021</a>)</p> </div> <div class="paragraph"> <p>Ce début d&#8217;année est un bon moment pour faire connaître Meta-Press.es plus largement, et le projet compte sur sa petite mais fidèle communauté pour l&#8217;aider a atteindre son public.</p> </div> <div class="paragraph"> <p>N&#8217;hésitez plus, parlez de Meta-Press.es autour vous, dans la famille, dans vos associations… devenez un ambassadeur.</p> </div> <div class="paragraph"> <p>J&#8217;ai eu des contacts avec un responsable de CDI, des chercheurs, une auteure de blog littéraire, et un journaliste de Thomson-Reuters… Tous utilisent Meta-Press.es et projettent de l&#8217;utiliser encore plus. Ces contacts sont toujours un grand encouragement.</p> </div> <div class="paragraph"> <p>Un autre moyen d&#8217;aider, c&#8217;est d&#8217;ajouter des sources au projet. Nous devrions atteindre 300 sources dans le premier semestre 2021, mais des efforts ont été menés dès le début du projet pour aider les développeurs web à <strong>intégrer de nouvelles sources</strong> (champs dédié dans les réglages, documentation complète). Plus de 50 sources ont d&#8217;ailleurs déjà été contribuées bénévolement. Vous pouvez nous aider à en découvrir et en intégrer de nouvelles.</p> </div> <div class="paragraph"> <p>Enfin, il est également possible d&#8217;aider le projet en réalisant un <strong>petit don mensuel via Patreon</strong>. Liberapay reste disponible, c&#8217;est libre et c&#8217;est chouette, mais un compte a été ouvert sur Patreon pour palier à l&#8217;absence des dons récurrents. L&#8217;avenir du projet est entre vos <a href="https://patreon.com/metapress">clics</a> !</p> </div> <div id="footnotes"> <hr> <div class="footnote" id="_footnotedef_1"> <a href="#_footnoteref_1">1</a>. Diffusion par la communauté </div> </div>[Radio Gâtine] Meta-Press.es alternative solution to Google News2020-12-28T00:00:00+01:002020-12-28T00:00:00+01:00Siltaartag:www.meta-press.es,2020-12-28:/revues/2020/20201228_radiogatine.fr.html<div class="imageblock"> <div class="content"> <img src="/images/20201214_radiogatine.fr_5fe1c6e31082d4.72030039.jpg" alt="20201214 radiogatine.fr 5fe1c6e31082d4.72030039"> </div> <div class="title">Figure 1. Simon D. in his office © 2020 Samuel Pacault, Radio Gâtine</div> </div> <div class="paragraph"> <p>And it&#8217;s at Pougne-Hérisson that happens. Hence, Simon Descarpentries is a web developper for Acoeuro, a free software compagny which he is one of the associates. Since 2013, Simon worked on the creation of search engine dedicated …</p></div><div class="imageblock"> <div class="content"> <img src="/images/20201214_radiogatine.fr_5fe1c6e31082d4.72030039.jpg" alt="20201214 radiogatine.fr 5fe1c6e31082d4.72030039"> </div> <div class="title">Figure 1. Simon D. in his office © 2020 Samuel Pacault, Radio Gâtine</div> </div> <div class="paragraph"> <p>And it&#8217;s at Pougne-Hérisson that happens. Hence, Simon Descarpentries is a web developper for Acoeuro, a free software compagny which he is one of the associates. Since 2013, Simon worked on the creation of search engine dedicated to the press. Now besided by Christopher, it&#8217;s apprentice, Simon propose this solution, militant and alternative to Google News. Called Meta-Press.es, this search engine for the press was officially launched late last year. Met at his office, in the heart of the Gâtine, this 36 y.o. entrepreneur presents us this project came true. Audio portrait.</p> </div> <div class="paragraph"> <p><a href="http://radiogatine.fr/news/meta-presse-la-solution-alternative-a-google-832"><strong>Meta-Press.es la solution alternative à Google Actualités</strong></a> (<em>fr</em>)</p> </div> <div class="paragraph"> <p>Note that Meta-Press.es, the press search engine dedicated to press, is accessible via an addon for the web browser Mozilla Firefox. It works without ad and need your support to continue. To learn more about it, one address : <a href="https://www.meta-press.es">www.meta-press.es</a></p> </div>[Radio Gâtine] Meta-Press.es la solution alternative à Google Actualités2020-12-28T00:00:00+01:002020-12-28T00:00:00+01:00Siltaartag:www.meta-press.es,2020-12-28:/fr/revues/2020/20201228_radiogatine.fr.html<div class="imageblock"> <div class="content"> <img src="/images/20201214_radiogatine.fr_5fe1c6e31082d4.72030039.jpg" alt="20201214 radiogatine.fr 5fe1c6e31082d4.72030039"> </div> <div class="title">Figure 1. Simon D. dans son bureau © 2020 Samuel Pacault, Radio Gâtine</div> </div> <div class="paragraph"> <p>Et c’est à Pougne-Hérisson que ça se passe. En effet, Simon Descarpentries est développeur web pour le compte d’Acoeuro, une société de services en logiciels libres dont il est l’un des quatre associés. Depuis 2013 …</p></div><div class="imageblock"> <div class="content"> <img src="/images/20201214_radiogatine.fr_5fe1c6e31082d4.72030039.jpg" alt="20201214 radiogatine.fr 5fe1c6e31082d4.72030039"> </div> <div class="title">Figure 1. Simon D. dans son bureau © 2020 Samuel Pacault, Radio Gâtine</div> </div> <div class="paragraph"> <p>Et c’est à Pougne-Hérisson que ça se passe. En effet, Simon Descarpentries est développeur web pour le compte d’Acoeuro, une société de services en logiciels libres dont il est l’un des quatre associés. Depuis 2013, Simon a travaillé sur la création d’un moteur de recherche dédié à la presse. C’est accompagné de Christopher son apprenti, que ce Sarthois d’origine propose cette solution alternative et militante au fil d’actualités de Google. Baptisé Meta-press.es ce moteur de recherche dédié à la presse a officiellement été lancé en fin d’année dernière. Rencontré dans son bureau, au cœur de la Gâtine, l’entrepreneur de 36 ans nous présente ce projet devenu réalité. Portrait audio.</p> </div> <div class="paragraph"> <p><a href="http://radiogatine.fr/news/meta-presse-la-solution-alternative-a-google-832"><strong>Meta-Press.es la solution alternative à Google Actualités</strong></a></p> </div> <div class="paragraph"> <p>Notez que Meta-press.es, le moteur de recherche dédié à la presse, est accessible via une extension du navigateur web Mozilla Firefox. Il fonctionne sans publicité, mais grâce aux dons que vous pouvez faire lorsque vous installerez le logiciel. Pour en savoir plus, une adresse, le : www.meta-press.es</p> </div>