{"title":"Meta-Press.es","link":[{"@attributes":{"href":"https:\/\/www.meta-press.es\/","rel":"alternate"}},{"@attributes":{"href":"https:\/\/www.meta-press.es\/flux\/all.atom.xml","rel":"self"}}],"id":"https:\/\/www.meta-press.es\/","updated":"2026-02-27T00:00:00+01:00","subtitle":"Decentralized search engine & automatized press reviews","entry":[{"title":"Copie Publique, the Wau Holland fundation and the NLnet support Meta-Press.es since 5 years","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2026\/20260227_Copie_Publique_support_since_5_years.html","rel":"alternate"}},"published":"2026-02-27T00:00:00+01:00","updated":"2026-02-27T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2026-02-27:\/journal\/2026\/20260227_Copie_Publique_support_since_5_years.html","summary":"<div class=\"paragraph\">\n<p>We&#8217;re pleased to annonce that in 2025, <a href=\"https:\/\/copiepublique.fr\/\">CopiePublique.fr<\/a>, the <a href=\"https:\/\/www.wauland.de\/en\/\">Wauland.de<\/a> fundation and the <a href=\"https:\/\/nlnet.nl\">NLnet.nl<\/a> made a donation to support the Meta-Press.es project, as it was the case each year since 5 years.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>We&#8217;re very grateful for the confidence they show in the Meta-Press.es \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>We&#8217;re pleased to annonce that in 2025, <a href=\"https:\/\/copiepublique.fr\/\">CopiePublique.fr<\/a>, the <a href=\"https:\/\/www.wauland.de\/en\/\">Wauland.de<\/a> fundation and the <a href=\"https:\/\/nlnet.nl\">NLnet.nl<\/a> made a donation to support the Meta-Press.es project, as it was the case each year since 5 years.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>We&#8217;re very grateful for the confidence they show in the Meta-Press.es project.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>We take this opportunity to invite every happy Meta-Press.es user to consider an equivalent modest but sustained move.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>During those years the number of Meta-Press.es features increased a lot and the number of reachable sources increased from 286 to more than 1100 today.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>We can be proud of how far we have come even if the user base stays modest. This might be a sign that the improvement of the user interface make with Alexiane S\u00e9n\u00e9chaud should continue and that the documentation about how the tool work and what are its limits (which are its sources limits) should be reinforced.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Finishing the dynamic source creation form and fitting the tool into an Android app (to open to a broader audience) are the next steps to pursue.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Copie Publique, la fondation Wau Holland et la NLnet soutiennent Meta-Press.es depuis 5 ans","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2026\/20260227_Copie_Publique_support_since_5_years.html","rel":"alternate"}},"published":"2026-02-27T00:00:00+01:00","updated":"2026-02-27T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2026-02-27:\/fr\/journal\/2026\/20260227_Copie_Publique_support_since_5_years.html","summary":"<div class=\"paragraph\">\n<p>Nous sommes heureux d&#8217;annoncer qu&#8217;en 2025 <a href=\"https:\/\/copiepublique.fr\/\">CopiePublique.fr<\/a>, la fondation <a href=\"https:\/\/www.wauland.de\/en\/\">Wauland.de<\/a> et la <a href=\"https:\/\/nlnet.nl\">NLnet.nl<\/a> ont soutenu le projet Meta-Press.es, et ce chaque ann\u00e9e depuis 5 ans.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nous somme particuli\u00e8rement reconnaissants pour la confiance dont ils nous t\u00e9moignent ainsi.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nous en profitons pour inviter chaque utilisateur \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Nous sommes heureux d&#8217;annoncer qu&#8217;en 2025 <a href=\"https:\/\/copiepublique.fr\/\">CopiePublique.fr<\/a>, la fondation <a href=\"https:\/\/www.wauland.de\/en\/\">Wauland.de<\/a> et la <a href=\"https:\/\/nlnet.nl\">NLnet.nl<\/a> ont soutenu le projet Meta-Press.es, et ce chaque ann\u00e9e depuis 5 ans.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nous somme particuli\u00e8rement reconnaissants pour la confiance dont ils nous t\u00e9moignent ainsi.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nous en profitons pour inviter chaque utilisateur satisfait de Meta-Press.es \u00e0 consid\u00e9rer \u00e9galement un petit effort en la mati\u00e8re.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pendant ce laps de temps le nombre de fonctionnalit\u00e9 du projet a consid\u00e9rablement augment\u00e9, et le nombre de sources interrogeables est pass\u00e9 de 286 \u00e0 plus de 1100 aujourd&#8217;hui.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nous pouvons \u00eatre fier du chemin parcouru, m\u00eame si la base d&#8217;utilisateurs de l&#8217;outil reste modeste, signe notamment que le travail d&#8217;am\u00e9lioration de l&#8217;interface graphique entam\u00e9 avec Alexiane S\u00e9n\u00e9chaud devra \u00eatre poursuivi et que la documentation sur le mode de fonctionnement de l&#8217;outil (et ses limites, qui sont celles de ses sources) gagnerait \u00e0 \u00eatre renforc\u00e9e.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La finalisation du formulaire dynamique de cr\u00e9ation de source et l&#8217;adaptation de l&#8217;outil sous forme d&#8217;application Android (ouvrant \u00e0 un plus grand public) sont les prochains objectifs \u00e0 moyen terme.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Is Google making search worse to sell more ads?","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2025\/20251106_Is_Google_making_search_worse_to_sell_more_ads.html","rel":"alternate"}},"published":"2025-11-06T00:00:00+01:00","updated":"2025-11-06T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2025-11-06:\/journal\/2025\/20251106_Is_Google_making_search_worse_to_sell_more_ads.html","summary":"<div class=\"paragraph\">\n<p>As Google faces the prospect of a court-ordered breakup following a recent monopoly ruling, new research suggests the tech giant\u2019s declining search quality may be a deliberate strategy to boost advertising revenue at the expense of consumer experience.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/www.justice.gov\/d9\/2023-11\/417557.pdf\" class=\"bare\">https:\/\/www.justice.gov \u2026<\/a><\/p><\/div>","content":"<div class=\"paragraph\">\n<p>As Google faces the prospect of a court-ordered breakup following a recent monopoly ruling, new research suggests the tech giant\u2019s declining search quality may be a deliberate strategy to boost advertising revenue at the expense of consumer experience.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Google d\u00e9grade-t-il ses recherches pour vendre plus de pubs ?","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2025\/20251106_Is_Google_making_search_worse_to_sell_more_ads.html","rel":"alternate"}},"published":"2025-11-06T00:00:00+01:00","updated":"2025-11-06T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2025-11-06:\/fr\/journal\/2025\/20251106_Is_Google_making_search_worse_to_sell_more_ads.html","summary":"<div class=\"paragraph\">\n<p>Vous avez l&#8217;impression que la qualit\u00e9 des r\u00e9sultats de Google est de pire en pire ? Vous n&#8217;\u00eates pas le\/la seul(e).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et il se pourrait que \u00e7a soit une volont\u00e9 de Google : Des documents internes montrent que la d\u00e9gradation de la qualit\u00e9 n&#8217;a pas d&#8217;impact \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Vous avez l&#8217;impression que la qualit\u00e9 des r\u00e9sultats de Google est de pire en pire ? Vous n&#8217;\u00eates pas le\/la seul(e).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et il se pourrait que \u00e7a soit une volont\u00e9 de Google : Des documents internes montrent que la d\u00e9gradation de la qualit\u00e9 n&#8217;a pas d&#8217;impact sur le business de Google. C&#8217;est m\u00eame le contraire: les gens passant plus de temps \u00e0 parcourir les pages de r\u00e9sultats voient plus de publicit\u00e9, ce qui est b\u00e9n\u00e9fique \u00e0 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\u00e9sultats.  Mais ce n&#8217;est plus le cas ! Il est temps d&#8217;aller faire nos recherches ailleurs.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;origine de ce bordel date de juin 2020 o\u00f9 la division \"moteur de recherche\" a \u00e9t\u00e9 fusionn\u00e9e avec la division \"publicit\u00e9\" (auparavant strictement s\u00e9par\u00e9es). C&#8217;est bien une <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Merdification\">merdification<\/a>.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Texte emprunt\u00e9 (avec l&#8217;accord de l&#8217;auteur) : <a href=\"https:\/\/sebsauvage.net\/links\/?ivYaNw\" class=\"bare\">https:\/\/sebsauvage.net\/links\/?ivYaNw<\/a><\/p>\n<\/li>\n<li>\n<p>Source presse am\u00e9ricaine : <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>\n<\/li>\n<li>\n<p>Source justice am\u00e9ricaine : <a href=\"https:\/\/www.justice.gov\/d9\/2023-11\/417557.pdf\" class=\"bare\">https:\/\/www.justice.gov\/d9\/2023-11\/417557.pdf<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.9 : Big speed improvement, command-line interface and book search","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2025\/v1.9_speed_improvement_CLI_books.html","rel":"alternate"}},"published":"2025-10-22T00:00:00+02:00","updated":"2025-10-22T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2025-10-22:\/journal\/2025\/v1.9_speed_improvement_CLI_books.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_speed_improvements\">1. Speed improvements<\/a><\/li>\n<li><a href=\"#_meta_press_es_command_line_interface\">2. Meta-Press.es command line interface<\/a><\/li>\n<li><a href=\"#_contributions\">3. Contributions<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_book_result_type\">3.1. Book result type<\/a><\/li>\n<li><a href=\"#_better_design\">3.2. Better design<\/a><\/li>\n<li><a href=\"#_tamil_from_weblate\">3.3. Tamil from Weblate<\/a><\/li>\n<li><a href=\"#_review_by_korben_info\">3.4. Review by Korben.info<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Even being quite, Meta-Press.es was an active project this year. Let&#8217;s announce some exciting features, such \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_speed_improvements\">1. Speed improvements<\/a><\/li>\n<li><a href=\"#_meta_press_es_command_line_interface\">2. Meta-Press.es command line interface<\/a><\/li>\n<li><a href=\"#_contributions\">3. Contributions<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_book_result_type\">3.1. Book result type<\/a><\/li>\n<li><a href=\"#_better_design\">3.2. Better design<\/a><\/li>\n<li><a href=\"#_tamil_from_weblate\">3.3. Tamil from Weblate<\/a><\/li>\n<li><a href=\"#_review_by_korben_info\">3.4. Review by Korben.info<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_speed_improvements\">1. Speed improvements<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_meta_press_es_command_line_interface\">2. Meta-Press.es command line interface<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>This should allow to embed Meta-Press.es in more situations, even server-side.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_contributions\">3. Contributions<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_book_result_type\">3.1. Book result type<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>You&#8217;re welcome to point us to more online libraries.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_better_design\">3.2. Better design<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>new font<\/p>\n<\/li>\n<li>\n<p>a popup menu instead of the previous header-bar<\/p>\n<\/li>\n<li>\n<p>a better setup presentation<\/p>\n<\/li>\n<li>\n<p>a redesign of the footer with direct donation links\u2026<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>It was a great work from her and I did not implement all of her ideas yet.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_tamil_from_weblate\">3.3. Tamil from Weblate<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_review_by_korben_info\">3.4. Review by Korben.info<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<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.\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_2\">\n<a href=\"#_footnoteref_2\">2<\/a>. Regular in-browser WebWorkers are DOM-less also.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.9 : Acc\u00e9l\u00e9rations, interface en ligne de commande et recherche de livres","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2025\/v1.9_speed_improvement_CLI_books.html","rel":"alternate"}},"published":"2025-10-22T00:00:00+02:00","updated":"2025-10-22T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2025-10-22:\/fr\/journal\/2025\/v1.9_speed_improvement_CLI_books.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_acc\u00e9l\u00e9rations\">1. Acc\u00e9l\u00e9rations<\/a><\/li>\n<li><a href=\"#_meta_press_es_en_ligne_de_commande\">2. Meta-Press.es en ligne de commande<\/a><\/li>\n<li><a href=\"#_contributions\">3. Contributions<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_le_type_de_r\u00e9sultat_livre\">3.1. Le type de r\u00e9sultat : livre<\/a><\/li>\n<li><a href=\"#_refonte_de_linterface_graphique\">3.2. Refonte de l&#8217;interface graphique<\/a><\/li>\n<li><a href=\"#_traduction_tamoul_via_weblate\">3.3. Traduction tamoul via Weblate<\/a><\/li>\n<li><a href=\"#_revue_par_korben_info\">3.4. Revue par Korben.info<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Bien que l&#8217;ann\u00e9e fut calme en apparence, le projet Meta-Press.es \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_acc\u00e9l\u00e9rations\">1. Acc\u00e9l\u00e9rations<\/a><\/li>\n<li><a href=\"#_meta_press_es_en_ligne_de_commande\">2. Meta-Press.es en ligne de commande<\/a><\/li>\n<li><a href=\"#_contributions\">3. Contributions<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_le_type_de_r\u00e9sultat_livre\">3.1. Le type de r\u00e9sultat : livre<\/a><\/li>\n<li><a href=\"#_refonte_de_linterface_graphique\">3.2. Refonte de l&#8217;interface graphique<\/a><\/li>\n<li><a href=\"#_traduction_tamoul_via_weblate\">3.3. Traduction tamoul via Weblate<\/a><\/li>\n<li><a href=\"#_revue_par_korben_info\">3.4. Revue par Korben.info<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Bien que l&#8217;ann\u00e9e fut calme en apparence, le projet Meta-Press.es a \u00e9t\u00e9 tr\u00e8s actif. Voici les principales fonctionnalit\u00e9s ajout\u00e9es cette ann\u00e9e : une interface en ligne de commande, de grosses acc\u00e9l\u00e9rations dans les traitements, un nouveau type de r\u00e9sultats (les livres), une refonte progressive de l&#8217;interface web et la contribution d&#8217;une traduction en tamoul de l&#8217;outil.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_acc\u00e9l\u00e9rations\">1. Acc\u00e9l\u00e9rations<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette nouvelle version de Meta-Press.es introduit plusieurs am\u00e9liorations dans les d\u00e9lais de traitement. Tout d&#8217;abord, les d\u00e9finitions de source sont d\u00e9sormais gard\u00e9es dans le stockage du navigateur, pour \u00e9viter d&#8217;avoir \u00e0 relire les 25 000 lignes de d\u00e9finition \u00e0 chaque ouverture d&#8217;un onglet Meta-Press.es. Lire la d\u00e9finition des sources depuis le stockage du navigateur s&#8217;av\u00e8re 3x plus rapide que de lire cette information depuis le stockage NVME de ma machine (tests effectu\u00e9s avec Firefox Nightly ASAN, une version lente).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ensuite c&#8217;est la fa\u00e7on dont les recherches sont effectu\u00e9es qui a \u00e9t\u00e9 am\u00e9lior\u00e9e. La pr\u00e9c\u00e9dente m\u00e9thode consistait \u00e0 interroger une source, attendre puis traiter sa r\u00e9ponse, et recommencer avec la source suivante. La nouvelle m\u00e9thode consiste \u00e0 lancer toutes les requ\u00eates en m\u00eame temps d\u00e8s le d\u00e9but (en respectant le nombre maximum de requ\u00eates DNS recommand\u00e9 par <a href=\"https:\/\/quad9.net\">Quad9<\/a>, soit 500 par seconde) et de ne commencer \u00e0 analyser les r\u00e9ponses qu&#8217;apr\u00e8s. 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 \u00eatre interrog\u00e9es en 9s. Cette am\u00e9lioration de l&#8217;ordonnancement des requ\u00eates s&#8217;appuie sur l&#8217;API JavaScript <code>microTask<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La derni\u00e8re am\u00e9lioration concerne l&#8217;introduction d&#8217;une approche multi-t\u00e2ches des recherches (gr\u00e2ces \u00e0 la Wau Holland Foundation). Cette fonctionnalit\u00e9 est activable d&#8217;un clic dans les r\u00e9glages. Cela permet de r\u00e9partir les requ\u00eates sur plusieurs t\u00e2ches, environ une par noyau de CPU (moins quelques t\u00e2ches conserv\u00e9es libres pour le syst\u00e8me et rassembler les r\u00e9sultats), afin de mobiliser plus de ressources du micro-processeur alors que le JavaScript est lui mono-t\u00e2che. Pour ce faire, une recherche multi-t\u00e2ches ouvre (puis referme automatiquement) plusieurs onglets dans le navigateur. Les r\u00e9sultats sont ensuite rassembl\u00e9s dans l&#8217;onglet ayant lanc\u00e9 la recherche. Ce fonctionnement devrait permettre de gagner du temps dans les environnements d&#8217;ex\u00e9cution o\u00f9 c&#8217;est le CPU qui ralenti le traitement (comme avec un vieux smartphone sur une bonne connexion WiFi ou un vieil ordinateur connect\u00e9 en fibre optique). Mais sur une connexion 4G, le CPU passe le plus clair de son temps \u00e0 attendre les r\u00e9ponses, donc l&#8217;option n&#8217;est pas activ\u00e9e par d\u00e9faut.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_meta_press_es_en_ligne_de_commande\">2. Meta-Press.es en ligne de commande<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Gr\u00e2ce au soutien de la NLnet et du programme europ\u00e9en NGI0, il est d\u00e9sormais possible de r\u00e9aliser 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>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette nouvelle mani\u00e8re d&#8217;utiliser Meta-Press.es repr\u00e9sente la derni\u00e8re \u00e9tape de la restructuration de code impuls\u00e9e par la NLnet pour introduire une s\u00e9paration claire entre moteur et interface, alors que ce dernier s&#8217;est consid\u00e9rablement compliqu\u00e9 ces derni\u00e8res ann\u00e9es. Aujourd&#8217;hui, la majeure partie du code de Meta-Press.es a pu \u00eatre r\u00e9utilis\u00e9e pour le fonctionnement en ligne de commande, prouvant que tout a bien \u00e9t\u00e9 rang\u00e9.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette nouvelle interface devrait permettre d&#8217;utiliser Meta-Press.es dans de nouvelles situations, par exemple sur un serveur.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u00fb au fait que l&#8217;analyse des pages web t\u00e9l\u00e9charg\u00e9es par Meta-Press.es est lente dans ce contexte car elle passe par la biblioth\u00e8que 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\u00e9s \u00e0 partir de code compil\u00e9 100x plus rapide qu&#8217;une version sing\u00e9e en JavaScript. Une recherche Meta-Press.es en ligne de commande est donc limit\u00e9e par le CPU de la machine et s&#8217;\u00e9talait sur plusieurs minutes dans la premi\u00e8re version mono-t\u00e2che. Heureusement, il a \u00e9t\u00e9 possible de proposer une ex\u00e9cution multi-t\u00e2ches (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\u00e8ne le temps d&#8217;ex\u00e9cution \u00e0 quelque chose de comparable au Meta-Press.es classique, du moins sur une machine avec 16 fils d&#8217;ex\u00e9cution.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour plus d&#8217;information sur comment utiliser Meta-Press.es en ligne de commande, reportez vous \u00e0 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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_contributions\">3. Contributions<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_le_type_de_r\u00e9sultat_livre\">3.1. Le type de r\u00e9sultat : livre<\/h3>\n<div class=\"paragraph\">\n<p>Meta-Press.es v1.9 se voit dot\u00e9 d&#8217;un nouveau type de r\u00e9sultat : les livres. Cela a \u00e9t\u00e9 rendu possible gr\u00e2ce au travail d&#8217;Alexiane S\u00e9n\u00e9chaud, qui a ajout\u00e9 plein de sources dont de nombreuses librairies \u00e9lectroniques en ligne.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour clarifier la situation, le pr\u00e9c\u00e9dent type de r\u00e9sultat \"texte\" (qui correspondait aux articles de presse) a \u00e9t\u00e9 renomm\u00e9 : \"article\". Il y a donc d\u00e9sormais deux types de r\u00e9sultats majoritairement textuels : les articles et les livres num\u00e9riques.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>N&#8217;h\u00e9sitez pas \u00e0 nous indiquer d&#8217;autres bonne librairies en ligne.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_refonte_de_linterface_graphique\">3.2. Refonte de l&#8217;interface graphique<\/h3>\n<div class=\"paragraph\">\n<p>Alexiane a aussi travaill\u00e9 \u00e0 la conception des pages de Meta-Press.es en version WebExtension. La plupart de ses id\u00e9es ont \u00e9t\u00e9 impl\u00e9ment\u00e9es dans cette nouvelle version :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>nouvelle police de caract\u00e8re<\/p>\n<\/li>\n<li>\n<p>menu unique et simplifi\u00e9 \u00e0 la place de la barre d&#8217;ent\u00eate<\/p>\n<\/li>\n<li>\n<p>meilleure pr\u00e9sentation des r\u00e9glages<\/p>\n<\/li>\n<li>\n<p>refonte du pieds de page avec des liens directs pour faire des dons\u2026<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Elle a fait un travail formidable et je n&#8217;ai pas encore tout int\u00e9gr\u00e9 de ses id\u00e9es.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_traduction_tamoul_via_weblate\">3.3. Traduction tamoul via Weblate<\/h3>\n<div class=\"paragraph\">\n<p>Un incroyable contributeur (encore anonyme \u00e0 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 \u00e9t\u00e9 rendue possible par <a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate.org<\/a>, une tr\u00e8s bonne plateforme de gestion en ligne des traductions d&#8217;un logiciel (avec un support professionnel et de nombreuses fonctionnalit\u00e9s de travail en \u00e9quipe).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_revue_par_korben_info\">3.4. Revue par Korben.info<\/h3>\n<div class=\"paragraph\">\n<p>Pour finir, ces notes de version arrivent un peu tard apr\u00e8s plusieurs versions interm\u00e9diaires sorties un peu pr\u00e9cipitamment cet \u00e9t\u00e9. C&#8217;est parce que le blog technique fran\u00e7ais Korben.info a publi\u00e9 une <a href=\"\/fr\/revues\/2025\/20250711_korben.html\">revue<\/a> inattendue (mais bienvenue) de Meta-Press.es. Cet \u00e9v\u00e8nement \u00e9tant de nature \u00e0 faire d\u00e9couvrir l&#8217;outil \u00e0 plein de monde en peu de temps, il a sembl\u00e9 pr\u00e9f\u00e9rable de fournir une version \u00e0 jour (notamment de la liste des sources) pour pr\u00e9senter l&#8217;outil sous son meilleur jour.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette revue a entrain\u00e9 un peu plus de 100 t\u00e9l\u00e9chargements en quelques jours et remont\u00e9 le nombre moyen d&#8217;utilisateurs quotidien \u00e0 presque 900. Ce site a de son c\u00f4t\u00e9 \u00e9t\u00e9 visit\u00e9 plus de 11 000 fois en juillet cette ann\u00e9e.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. jsdom est la seule biblioth\u00e8que NodeJS \/ Deno qui propose la fonction XPathEvaluator. N&#8217;h\u00e9sitez pas \u00e0 me contredire d\u00e8s que quelque chose de plus rapide sera disponible.\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_2\">\n<a href=\"#_footnoteref_2\">2<\/a>. Il est \u00e0 noter que l&#8217;API DOM est absente des WebWorker, m\u00eame s&#8217;ils sont lanc\u00e9s depuis un navigateur web.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[Korben.info] Meta-Press.es - the press search engine that doesn't spy on you","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2025\/20250711_korben.html","rel":"alternate"}},"published":"2025-07-25T00:00:00+02:00","updated":"2025-07-25T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2025-07-25:\/revues\/2025\/20250711_korben.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>So if \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[Korben.info] Meta-Press.es - le moteur de recherche de presse qui ne vous espionne pas","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2025\/20250711_korben.html","rel":"alternate"}},"published":"2025-07-25T00:00:00+02:00","updated":"2025-07-25T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2025-07-25:\/fr\/revues\/2025\/20250711_korben.html","summary":"<div class=\"paragraph\">\n<p>Vous en avez marre de Google News, de ses bulles de filtre et de ses articles de merde \u00e9crit par IA ? Et bien sachez qu\u2019il y a un mec en France qui a d\u00e9velopp\u00e9 Meta-Press.es , un moteur de recherche de presse d\u00e9centralis\u00e9 qui tourne directement dans votre Firefox \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Vous en avez marre de Google News, de ses bulles de filtre et de ses articles de merde \u00e9crit par IA ? Et bien sachez qu\u2019il y a un mec en France qui a d\u00e9velopp\u00e9 Meta-Press.es , un moteur de recherche de presse d\u00e9centralis\u00e9 qui tourne directement dans votre Firefox. Z\u00e9ro tracking, z\u00e9ro pub, et \u00e7a cherche dans 900 journaux d\u2019un coup.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voil\u00e0, donc si vous faites de la veille, des revues de presse, ou si vous voulez juste vous informer sans alimenter la machine \u00e0 donn\u00e9es des GAFAM, Meta-Press.es est vraiment une alternative cr\u00e9dible. En plus, \u00e7a fait plaisir de soutenir un projet fran\u00e7ais qui d\u00e9fend des valeurs \u00e9thiques.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"Version 1.8.17.4 : Mozilla quality enforcement, manifest v3 and Scrutari","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/v1.8.16_mv3_mozilla_quality_scrutari.html","rel":"alternate"}},"published":"2024-10-16T00:00:00+02:00","updated":"2024-10-16T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-10-16:\/journal\/2024\/v1.8.16_mv3_mozilla_quality_scrutari.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_mozilla_automated_add_ons_code_quality_checks\">1. Mozilla automated add-ons code quality checks<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_missing_sources_or_instructions\">1.1. Missing sources or instructions<\/a><\/li>\n<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>\n<li><a href=\"#_no_more_one_letter_variables\">1.3. No more one letter variables<\/a><\/li>\n<li><a href=\"#_utf_16_ranges_in_regex_are_considered_obfuscation\">1.4. UTF-16 ranges in RegEx are considered obfuscation<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_switch_to_manifest_version_3\">2. Switch to manifest version 3<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_embrace_extend_and_extinguish\">2.1. Embrace \u2026<\/a><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_mozilla_automated_add_ons_code_quality_checks\">1. Mozilla automated add-ons code quality checks<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_missing_sources_or_instructions\">1.1. Missing sources or instructions<\/a><\/li>\n<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>\n<li><a href=\"#_no_more_one_letter_variables\">1.3. No more one letter variables<\/a><\/li>\n<li><a href=\"#_utf_16_ranges_in_regex_are_considered_obfuscation\">1.4. UTF-16 ranges in RegEx are considered obfuscation<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_switch_to_manifest_version_3\">2. Switch to manifest version 3<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_embrace_extend_and_extinguish\">2.1. Embrace, extend and extinguish<\/a><\/li>\n<li><a href=\"#_manifest_v2_vs_manifest_v3\">2.2. Manifest v2 vs Manifest v3<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_no_dates_on_results\">3. No dates on results ?<\/a><\/li>\n<li><a href=\"#_20_new_scrutari_based_sources\">4. 20 new Scrutari-based sources<\/a><\/li>\n<li><a href=\"#_when_asking_for_too_much_results\">5. When asking for too much results<\/a><\/li>\n<li><a href=\"#_javascript_code_linting_quick_lint_js\">6. JavaScript code linting : quick-lint-js<\/a><\/li>\n<li><a href=\"#_fixtheworld_francetvinfo\">7. #FixTheWorld : FranceTVInfo<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_mozilla_automated_add_ons_code_quality_checks\">1. Mozilla automated add-ons code quality checks<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_missing_sources_or_instructions\">1.1. Missing sources or instructions<\/h3>\n<div class=\"paragraph\">\n<p>The reason invoked for this radical measure was that the Meta-Press.es WebExtension was missing \u00ab sources or instructions \u00bb on how to get the original sources of embedded dependencies.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>The review history were the message appeared is presented like a chat. I got this message :<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Initial message from the Add-ons review Team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>And answered by :<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<p>Hi, I provided links to non-minified code in the Reviewer&#8217;s notes. Did I missed one ?<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Answer from a developer by Siltaar<br>\n<cite>2024-09-19 15:09<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_please_provide_the_origin_of_the_exact_library_version\">1.2. Please provide the origin of the exact library version<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review Team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review Team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_no_more_one_letter_variables\">1.3. No more one letter variables<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review Team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Well, I&#8217;ve been taught at my engineering school to use \u00ab i \u00bb as the iterator variable in for loops for instance. It looks like a common practice\u2026 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\u2026). What was a small usage in a single place grown with the code and was spread everywhere.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026). 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>\n<\/div>\n<div class=\"paragraph\">\n<p>I sent 3 messages trying to get more details on the problems and explaining my moves. But the next release was rejected.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_utf_16_ranges_in_regex_are_considered_obfuscation\">1.4. UTF-16 ranges in RegEx are considered obfuscation<\/h3>\n<div class=\"paragraph\">\n<p>At least I got a new error message :<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026 but this v1.8.17.4 was finally approved on October the 16th, nearly one month after the whole story began for me.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>No new feature here, but an admittedly improved code.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_switch_to_manifest_version_3\">2. Switch to manifest version 3<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Another silent modification since the previous release is the upgrade of Meta-Press.es to MV3 : the manifest version 3.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026 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>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_embrace_extend_and_extinguish\">2.1. Embrace, extend and extinguish<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_manifest_v2_vs_manifest_v3\">2.2. Manifest v2 vs Manifest v3<\/h3>\n<div class=\"paragraph\">\n<p>The differences are not marvelous regarding our use-case.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_no_dates_on_results\">3. No dates on results ?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>But there is also a lot of legit newspapers that are failing from presenting dates for results on their internal search engine.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e0 !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_20_new_scrutari_based_sources\">4. 20 new Scrutari-based sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_when_asking_for_too_much_results\">5. When asking for too much results<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_javascript_code_linting_quick_lint_js\">6. JavaScript code linting : quick-lint-js<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p><code>quick-lint-js<\/code> is revealed itself to be a tool, not another problem to solve.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fixtheworld_francetvinfo\">7. #FixTheWorld : FranceTVInfo<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>To finish, here is a call for action.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>If you, reading this, can whisper to the right ears, it would be great to get this basic feature : dates on results\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>For instance, Mediapart still can&#8217;t provide exact results (nor providing them as an RSS flux).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>You turn to play !<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.17.4 : Qualit\u00e9 du code, manifest v3, Scrutari","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/v1.8.16_mv3_mozilla_quality_scrutari.html","rel":"alternate"}},"published":"2024-10-16T00:00:00+02:00","updated":"2024-10-16T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-10-16:\/fr\/journal\/2024\/v1.8.16_mv3_mozilla_quality_scrutari.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_v\u00e9rification_de_qualit\u00e9_du_code_des_webextensions_chez_mozilla\">1. V\u00e9rification de qualit\u00e9 du code des WebExtensions chez Mozilla<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_sources_ou_instructions_manquantes\">1.1. Sources ou instructions manquantes<\/a><\/li>\n<li><a href=\"#_veuillez_fournir_lorigine_exacte_de_la_version_utilis\u00e9e_pour_chaque_biblioth\u00e8que_de_fonctions\">1.2. Veuillez fournir l&#8217;origine exacte de la version utilis\u00e9e pour chaque biblioth\u00e8que de fonctions<\/a><\/li>\n<li><a href=\"#_pas_de_variables_\u00e0_une_seule_lettre\">1.3. Pas de variables \u00e0 une seule lettre<\/a><\/li>\n<li><a href=\"#_lutf_16_dans_une_expression_r\u00e9guli\u00e8re_consid\u00e9r\u00e9_comme_une_mystification\">1.4. L&#8217;UTF-16 dans une expression r\u00e9guli\u00e8re \u2026<\/a><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_v\u00e9rification_de_qualit\u00e9_du_code_des_webextensions_chez_mozilla\">1. V\u00e9rification de qualit\u00e9 du code des WebExtensions chez Mozilla<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_sources_ou_instructions_manquantes\">1.1. Sources ou instructions manquantes<\/a><\/li>\n<li><a href=\"#_veuillez_fournir_lorigine_exacte_de_la_version_utilis\u00e9e_pour_chaque_biblioth\u00e8que_de_fonctions\">1.2. Veuillez fournir l&#8217;origine exacte de la version utilis\u00e9e pour chaque biblioth\u00e8que de fonctions<\/a><\/li>\n<li><a href=\"#_pas_de_variables_\u00e0_une_seule_lettre\">1.3. Pas de variables \u00e0 une seule lettre<\/a><\/li>\n<li><a href=\"#_lutf_16_dans_une_expression_r\u00e9guli\u00e8re_consid\u00e9r\u00e9_comme_une_mystification\">1.4. L&#8217;UTF-16 dans une expression r\u00e9guli\u00e8re consid\u00e9r\u00e9 comme une mystification<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_passage_au_manifest_version_3\">2. Passage au manifest version 3<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_adoption_extension_extinction\">2.1. Adoption, extension, extinction<\/a><\/li>\n<li><a href=\"#_manifest_v2_contre_manifest_v3\">2.2. Manifest v2 contre Manifest v3<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_quand_il_ny_a_pas_de_dates_sur_les_r\u00e9sultats\">3. Quand il n&#8217;y a pas de dates sur les r\u00e9sultats<\/a><\/li>\n<li><a href=\"#_20_nouvelles_sources_bas\u00e9es_sur_scrutari\">4. 20 nouvelles sources bas\u00e9es sur Scrutari<\/a><\/li>\n<li><a href=\"#_quand_on_demande_trop_de_r\u00e9sultats\">5. Quand on demande trop de r\u00e9sultats<\/a><\/li>\n<li><a href=\"#_peaufinage_de_code_javascript_quick_lint_js\">6. Peaufinage de code JavaScript : quick-lint-js<\/a><\/li>\n<li><a href=\"#_fixtheworld_francetvinfo\">7. #FixTheWorld : FranceTVInfo<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Les choses se sont un peu pr\u00e9cipit\u00e9es fin septembre, avec une s\u00e9rie rapproch\u00e9e de nouvelles versions de Meta-Press.es, sorties pour r\u00e9pondre \u00e0 l&#8217;urgence repr\u00e9sent\u00e9e par la d\u00e9sactivation de Meta-Press.es par Mozilla des suites d&#8217;une application automatique de nouvelles r\u00e8gles concernant la qualit\u00e9 du code.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v\u00e9rification_de_qualit\u00e9_du_code_des_webextensions_chez_mozilla\">1. V\u00e9rification de qualit\u00e9 du code des WebExtensions chez Mozilla<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Tout commen\u00e7a par courriel re\u00e7u le 17 septembre 2024, me pr\u00e9venant que Meta-Press.es seraient d\u00e9sactiv\u00e9 du catalogues de WebExtension Addons.Mozilla.org (ou AMO) sous 48h. Tout \u00e9tait pr\u00e9sent\u00e9 comme si j&#8217;avais rat\u00e9 un courriel envoy\u00e9 15 jours plus t\u00f4t \u00e0 ce m\u00eame propos (or \u00e7a m&#8217;arrive rarement de rater un courriel).<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_sources_ou_instructions_manquantes\">1.1. Sources ou instructions manquantes<\/h3>\n<div class=\"paragraph\">\n<p>La raison invoqu\u00e9e pour cette mesure radicale \u00e9tait un manque de sources ou d&#8217;instructions sur comment obtenir les sources des d\u00e9pendances embarqu\u00e9es avec le code de Meta-Press.es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Lorsqu&#8217;on utilise des biblioth\u00e8ques de fonctions \u00e9crites par d&#8217;autres et minifi\u00e9es (pour prendre moins de place) la r\u00e8gle \u00e9tait de fournir un lien vers la source de cette biblioth\u00e8que. Alors, depuis 5 ans, je copiais \u00e0 chaque nouvelle version la liste des d\u00e9pendances depuis le fichier README du projet dans les Notes adress\u00e9es aux inspecteurs.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le message de rejet \u00e9tait pr\u00e9sent\u00e9 dans une interface fa\u00e7on forum de discussion, commen\u00e7ant par leur message de menace.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai donc tent\u00e9 une r\u00e9ponse :<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<p>Bonjour, j&#8217;ai fourni les liens vers versions non minifi\u00e9es des d\u00e9pendances dans les Notes aux inspecteurs. En ai-je oubli\u00e9 un ?<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; R\u00e9ponse d'un d\u00e9veloppeur par Siltaar<br>\n<cite>2024-09-19 15:09<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Je n&#8217;ai jamais re\u00e7u de r\u00e9ponse et Meta-Press.es fut effectivement d\u00e9sactiv\u00e9e le surlendemain. La version incrimin\u00e9e, ainsi que toutes les versions pr\u00e9c\u00e9dentes 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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_veuillez_fournir_lorigine_exacte_de_la_version_utilis\u00e9e_pour_chaque_biblioth\u00e8que_de_fonctions\">1.2. Veuillez fournir l&#8217;origine exacte de la version utilis\u00e9e pour chaque biblioth\u00e8que de fonctions<\/h3>\n<div class=\"paragraph\">\n<p>J&#8217;ai alors fourni une nouvelle version de Meta-Press.es n&#8217;incluant plus de code minifi\u00e9. J&#8217;ai trouv\u00e9 14 fichiers JavaScript ou CSS \u00e0 remplacer par leurs originaux, mis \u00e0 jour pour l&#8217;occasion, \u00e0 quelque chose malheur est bon). Et puis, un <a href=\"https:\/\/www.gnu.org\/software\/librejs\/\">JavaScript libre<\/a> ne doit pas \u00eatre minifi\u00e9\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais cette nouvelle version fut elle aussi refus\u00e9e, avec le m\u00eame message d&#8217;erreur, plus un nouveau ! (ouf)<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review Team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Ils r\u00e9clamaient en fait l&#8217;URL exacte des fichiers utilis\u00e9s comme biblioth\u00e8ques de fonctions tierces. Pourquoi pas, s&#8217;il s&#8217;agit de v\u00e9rifier que la version embarqu\u00e9e dans Meta-Press.es est une copie fid\u00e8le de l&#8217;originale \u00e7a a du sens. Et puis, cette fois j&#8217;ai eu droit \u00e0 un lien vers de la documentation en ligne pour \u00e9clairer le probl\u00e8me et me guider vers une solution :<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review Team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e8que de fonction n&#8217;est pas directement accessible en ligne, il devient compliqu\u00e9 de l&#8217;utiliser dans une extension\u2026 il faut bien en passer par l\u00e0 pour v\u00e9rifier automatiquement le code embarqu\u00e9 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\u00e9rieux sur AMO.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Toutefois, le projet <a href=\"https:\/\/codemirror.net\/5\/\">CodeMirror v5<\/a> par exemple, r\u00e9parti son code de d\u00e9veloppement dans plusieurs centaines de fichiers et compile tout pour produire une archive (.zip) unique contenant le code minifi\u00e9 pour chaque nouvelle version. C&#8217;est bien pratique pour lors du d\u00e9veloppement d&#8217;avoir un code bien structur\u00e9, et c&#8217;est pratique pour les utilisateurs de n&#8217;avoir qu&#8217;un fichier \u00e0 int\u00e9grer.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais bon, dans notre cas, comme en fait CodeMirror v5 utilise aussi des plugins, qui entrainent parfois eux-m\u00eames des d\u00e9pendances (pour la coloration syntaxique et\/ou la d\u00e9tection des erreurs dans du JSON), la maintenance de l&#8217;int\u00e9gration de CodeMirror a Meta-Press.es a \u00e9t\u00e9 abandonn\u00e9e \u00e0 cette occasion. Les sources ajout\u00e9es par les utilisateurs le sont d\u00e9sormais en texte brut dans un textarea standard. Peut \u00eatre que CodeMirror v6 serait plus pratique \u00e0 utiliser\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il fallut donc encore plusieurs heures de travail, hors de tout planning, pour se mettre en conformit\u00e9. Mais bient\u00f4t une nouvelle version de Meta-Press.es \u00e9tait propos\u00e9e \u00e0 Mozilla.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_pas_de_variables_\u00e0_une_seule_lettre\">1.3. Pas de variables \u00e0 une seule lettre<\/h3>\n<div class=\"paragraph\">\n<p>Mais ce ne fut toujours pas suffisant et cette version fut elle aussi rejet\u00e9e. Seule consolation : un nouveau message d&#8217;erreur \u00e9tait fourni.<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review Team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>La partie coup\u00e9e au d\u00e9but correspond au premier paragraphes de message d&#8217;erreur r\u00e9p\u00e9t\u00e9s encore et toujours en pr\u00e9ambule. Puis vint le nouveau message d&#8217;erreur, correspondant \u00e0 une nouvelle r\u00e8gle, \u00e9tay\u00e9e par une nouvelle documentation.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si vous apprenez \u00e0 coder, vous verrez qu&#8217;on utilise souvent une variable nomm\u00e9e simplement \u00ab i \u00bb comme it\u00e9rateur dans les boucles <em>for<\/em>. C&#8217;est une convention, issue des notations math\u00e9matiques et plut\u00f4t pratique \u00e0 l&#8217;usage\u2026 mais l\u00e0 non, ce n&#8217;est plus possible.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Bon, \u00e0 vrai dire j&#8217;utilisais plusieurs autres variables nomm\u00e9es d&#8217;une seule lettre dans le code de Meta-Press.es. En effet, ce qui avait commenc\u00e9 comme des situations claires, contenues dans un seul \u00e9cran d&#8217;affichage, o\u00f9 une variable courte \u00e9tait bien lisible, s&#8217;est progressivement r\u00e9pandu dans tout le code, en suivant sa croissance et sa structuration en diff\u00e9rents fichiers\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Sans autre consigne et toujours dans l&#8217;urgence de la situation, il fut d\u00e9cid\u00e9 de remplacer toutes les variables nomm\u00e9es d&#8217;une seule lettre par de confortables trigrammes (voir des groupes de trigrammes : <code>src<\/code> pour une d\u00e9finition de source, <code>src_key<\/code> pour la cl\u00e9 d&#8217;une d\u00e9finition de source\u2026). Qui aurait \u00e9t\u00e9 d&#8217;humeur a chercher par dichotomie le seuil exact de tol\u00e9rance de l&#8217;algorithme de v\u00e9rification ?<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Habitu\u00e9 \u00e0 m&#8217;adresser \u00e0 des machines j&#8217;en profitai pour accompagner cette nouvelle version de 3 messages expliquant ma d\u00e9marche\u2026 mais, suspens, cette nouvelle version fut refus\u00e9e !<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_lutf_16_dans_une_expression_r\u00e9guli\u00e8re_consid\u00e9r\u00e9_comme_une_mystification\">1.4. L&#8217;UTF-16 dans une expression r\u00e9guli\u00e8re consid\u00e9r\u00e9 comme une mystification<\/h3>\n<div class=\"paragraph\">\n<p>Au moins, je re\u00e7u un nouveau message d&#8217;erreur (signe que la pr\u00e9c\u00e9dente r\u00e9action avait bien r\u00e9gl\u00e9 le probl\u00e8me vis\u00e9) :<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Message from the Add-ons review team\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Bon, cette fois ce fut facile, en plus de la documentation point\u00e9e ils m&#8217;indiqu\u00e8rent le fichier incrimin\u00e9. Il ne fut pas long de constater qu&#8217;une grosse expression r\u00e9guli\u00e8re \u00e9tait utilis\u00e9e dans ce fichier pour d\u00e9couper des textes en mots (en essayant de tenir compte de la ponctuation de toutes les langues support\u00e9es par Unicode).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En cherchant une autre approche \u00e0 ce probl\u00e8me une solution plus simple fut d\u00e9couverte, bas\u00e9es sur les r\u00e9centes <a href=\"https:\/\/unicode.org\/reports\/tr18\/#General_Category_Property\">cat\u00e9gories g\u00e9n\u00e9rales<\/a> (<code>\\p{Letter}\\p{Number}<\/code>) dans les expression r\u00e9guli\u00e8res Unicode (alors que la pr\u00e9c\u00e9dente solution s&#8217;\u00e9talait sur 15 lignes de d\u00e9finition de <em>ranges<\/em> bord\u00e9s d&#8217;UTF-16 dans une expression r\u00e9guli\u00e8re relativement absconse.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette nouvelle version fut post\u00e9e le 9 octobre alors qu&#8217;une conf\u00e9rence de pr\u00e9sentation de Meta-Press.es lors de l' <a href=\"\/journal\/2024\/20240917_meta-press_es_at_ossym24.html\">OSSym24<\/a> \u00e9tait pr\u00e9vue le lendemain. Tant qu&#8217;\u00e0 parler avec un automate, on pourrait au moins esp\u00e9rer qu&#8217;il r\u00e9ponde vite\u2026 mais cette version 1.8.17.4 n&#8217;a finalement \u00e9t\u00e9 approuv\u00e9e que le 16 octobre, presqu&#8217;un mois apr\u00e8s le d\u00e9but des hostilit\u00e9s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Aucune nouvelle fonctionnalit\u00e9 dans cette histoire, mais objectivement un meilleur code.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_passage_au_manifest_version_3\">2. Passage au manifest version 3<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Une autre modification silencieuse arriv\u00e9e r\u00e9cemment fut la mise \u00e0 jour de Meta-Press.es vers le manifest version 3.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il s&#8217;agit du fichier <code>manifest.json<\/code> qui contient les m\u00e9tadonn\u00e9es d\u00e9crivant 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\u00f4ne, quelle est la version pr\u00e9sent\u00e9e, quelles actions elle permet\u2026 Si ce n&#8217;est pas rempli correctement, le navigateur web ne sait pas comment charger l&#8217;extension.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_adoption_extension_extinction\">2.1. Adoption, extension, extinction<\/h3>\n<div class=\"paragraph\">\n<p>Fin 2017 quand le d\u00e9veloppement de Meta-Press.es d\u00e9marrait vraiment, la version courante utilisable pour ce manifeste \u00e9tait la version 2. Il s&#8217;agissait d\u00e9j\u00e0 d&#8217;un mouvement de conciliation de la part de Mozilla qui adoptait ainsi la norme propos\u00e9e par Google, abandonnant toutes les pr\u00e9c\u00e9dentes extensions bas\u00e9es sur la technologie XUL. Ils n&#8217;ont jamais eu peur de jeter du travail, fusse-t-il b\u00e9n\u00e9vole. Apr\u00e8s, objectivement, j&#8217;\u00e9tais ravi de m&#8217;\u00e9viter l&#8217;utilisation de la pile logicielle XUL au profit d&#8217;une solution un peu plus JavaScriptesque.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>5 ans plus tard, en 2022, les principales parties prenantes du JavaScript avaient travaill\u00e9 \u00e0 une \u00e9volution de cette norme pour permettre de nouveaux usages, simplifier certaines API inutilement complexes et am\u00e9liorer un peu partout la s\u00e9curit\u00e9. Mais pas seulement.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Appliquant la fameuse m\u00e9thode de Microsoft pour attaquer les standards ouverts bien \u00e9tablis 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\u00e9cida d&#8217;utiliser cette \u00e9volution de la norme des WebExtensions (devenue un standard suite \u00e0 l&#8217;adoption par Firefox) pour am\u00e9liorer le rendement de son activit\u00e9 commerciale de vendeur de publicit\u00e9 en ligne. En effet, ce qui \u00e9tait propos\u00e9 n&#8217;\u00e9tait rien moins qu&#8217;un cadre de d\u00e9veloppement dans lequel il n&#8217;\u00e9tait plus possible de faire tenir un bloqueur de publicit\u00e9.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;est assez surprenant quand on sait que la WebExtension la plus utilis\u00e9e, et de tr\u00e8s 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\u00eate, adopt\u00e9 par 9 millions d&#8217;utilisateurs de Firefox.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Saisissant l&#8217;opportunit\u00e9 au vol, Mozilla se remit au travail et \u00e9labora un moyen d&#8217;accepter le <em>manifest v3<\/em> comme impos\u00e9 par Google, mais en gardant les API n\u00e9cessaires au fonctionnement d&#8217;un bloqueur de pub.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Google a semble-t-il \u00e9t\u00e9 tr\u00e8s d\u00e9\u00e7u, car ils ont tout simplement abandonn\u00e9 leur calendrier de d\u00e9ploiement du <em>manifest version 3<\/em> pendant 2 ans. Et ce n&#8217;est qu&#8217;en 2024 qu&#8217;ils se d\u00e9cid\u00e8rent \u00e0 abandonner \u00e0 Mozilla l&#8217;exclusivit\u00e9 d&#8217;une fonctionnalit\u00e9 recherch\u00e9e par des millions d&#8217;utilisateurs en annon\u00e7ant un nouveau calendrier de d\u00e9ploiement du <em>MV3<\/em> pour 2024.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c0 l&#8217;heure d&#8217;\u00e9crire ces lignes, uBlock Origin est toujours fonctionnel dans un Chromium \u00e0 jour, mais un message annonce que : \u00ab Ces extensions ne seront peut-\u00eatre bient\u00f4t plus prises en charge \u00bb. Voil\u00e0 une bonne information, bien fiable et solide comme on est fond\u00e9 d&#8217;en attendre d&#8217;une multinationale plan\u00e9taire dont le chiffre d&#8217;affaires d\u00e9passe le PIB du Portugal ou de la Roumanie (env. 280 milliards de dollars) et une capitalisation boursi\u00e8re sup\u00e9rieure au PIB du Br\u00e9sil, ou de la Russie (vers 1500 milliards de dollars).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Puisque Firefox fonctionne d\u00e9sormais aussi avec des WebExtension en <em>manifest version 3<\/em>, Meta-Press.es a \u00e9t\u00e9 mise \u00e0 jour vers cette version, avec l&#8217;aide du programme NGI Zero via la NLnet.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_manifest_v2_contre_manifest_v3\">2.2. Manifest v2 contre Manifest v3<\/h3>\n<div class=\"paragraph\">\n<p>En l&#8217;esp\u00e8ce, pour Meta-Press.es, les diff\u00e9rences ne sont pas extraordinaires.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les pr\u00e9c\u00e9dentes <em>background pages<\/em>, qui permettaient de laisser un script tourner en arri\u00e8re plan au lieu de le rattacher forc\u00e9ment \u00e0 une page web sont remplac\u00e9s par d&#8217;officiels <em>background scripts<\/em> (sans plus acc\u00e8s aux fonctionnalit\u00e9s d&#8217;une page web) c\u00f4t\u00e9 Firefox et par des <em>service_workers<\/em> dans Chromium. Dans les deux cas le script en arri\u00e8re plan se fait suspendre au bout d&#8217;un moment s&#8217;il n&#8217;est pas sollicit\u00e9. Cela impacte encore actuellement la fonctionnalit\u00e9 de recherches programm\u00e9es de Meta-Press.es bien que l&#8217;API recommand\u00e9e <code>alarms<\/code> soit mise en \u0153uvre.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Autre point, les permissions r\u00e9clamables par la WebExtension ont \u00e9t\u00e9 revues et l&#8217;opportunit\u00e9 en fut saisie pour d\u00e9clarer une liste exhaustive des sources connues par Meta-Press.es directement dans le manifeste ce qui \u00e9vite d&#8217;avoir \u00e0 demander ces permissions apr\u00e8s l&#8217;installation de l&#8217;extension. Toutefois, la permission optionnelle <code>&lt;all_urls&gt;<\/code> a du \u00eatre conserv\u00e9e afin de permettre aux utilisateurs d&#8217;ajouter eux-m\u00eames leurs sources \u00e0 Meta-Press.es.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_quand_il_ny_a_pas_de_dates_sur_les_r\u00e9sultats\">3. Quand il n&#8217;y a pas de dates sur les r\u00e9sultats<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Ce qui fait qu&#8217;un moteur de recherche est int\u00e9grable comme source dans Meta-Press.es, c&#8217;est la pr\u00e9sence de dates permettant de trier ses r\u00e9sultats. C&#8217;est l&#8217;\u00e9ternelle qu\u00eate de Meta-Press.es : peut-on r\u00e9cup\u00e9rer cette m\u00e9tadonn\u00e9e ?<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En s&#8217;appuyant sur ce mod\u00e8le, Meta-Press.es a d\u00e9j\u00e0 pu \u00e9tendre, sans changement d&#8217;architecture, son rayon d&#8217;action des articles de presse aux podcasts et aux vid\u00e9os, puis aux agendas et derni\u00e8rement aux offres d&#8217;emploi.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais il y a malheureusement plein de journaux l\u00e9gitimes qui ne peuvent pas \u00eatre ajout\u00e9s \u00e0 Meta-Press.es car ils ne pr\u00e9sentent pas de date sur leurs r\u00e9sultats de recherche.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans un pr\u00e9c\u00e9dent billet de blog, il avait \u00e9t\u00e9 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 \u00e0 trier les r\u00e9sultats par ordre chronologique\u2026 mais ce n&#8217;\u00e9tait qu&#8217;un coup de chance.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voici une autre astuce, utilis\u00e9es pour des sources comme RadioClassique.fr ou VoxEurope.eu. Elle ne concerne que les sources pr\u00e9sentant des r\u00e9sultats illustr\u00e9s. Ces illustrations sont souvent mises en ligne sp\u00e9cifiquement pour un article donn\u00e9, et ce, le jour de sa publication. De plus, il arrive que ces illustrations soient rang\u00e9es par un dossier par ann\u00e9e, 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>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9lecteur CSS) et d&#8217;en extraire la date \u00e0 l&#8217;aide d&#8217;une expression r\u00e9guli\u00e8re. Et voil\u00e0 !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Demander aux sources d&#8217;am\u00e9liorer la pr\u00e9sentation de leur r\u00e9sultats ne donne pas souvent de r\u00e9sultat\u2026 au contraire, Meta-Press.es fonctionne aujourd&#8217;hui avec un millier de sources parce qu&#8217;il n&#8217;y a aucune permission \u00e0 demander. Meta-Press.es fonctionne malgr\u00e9 les sources, et parfois m\u00eame malgr\u00e9 les sources qui cachent les dates de leurs r\u00e9sultats.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_20_nouvelles_sources_bas\u00e9es_sur_scrutari\">4. 20 nouvelles sources bas\u00e9es sur Scrutari<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Tant qu&#8217;on parle de sources, cette nouvelle version apporte son lot de nouveaut\u00e9s. Par exemple une vingtaine de sources ont \u00e9t\u00e9 ajout\u00e9es \u00e0 Meta-Press.es en provenance des m\u00e9dias utilisateurs du moteur de recherche <a href=\"https:\/\/www.scrutari.net\/dokuwiki\/\">Scrutari<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Scrutari est un moteur de recherche en logiciel libre. Ce dernier collecte les m\u00e9ta-donn\u00e9es pr\u00e9sent\u00e9es par ses utilisateurs, s&#8217;arrange pour les indexer puis fourni une interface web riche permettant des recherches avanc\u00e9es \u00e0 travers ces contenus.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce fut un plaisir de travailler avec le d\u00e9veloppeur de Scrutari qui impl\u00e9menta un profil de pr\u00e9sentation des donn\u00e9es expr\u00e8s pour Meta-Press.es. C&#8217;est l&#8217;exacte oppos\u00e9e de la situation pr\u00e9c\u00e9dente o\u00f9 les d\u00e9veloppeurs de Meta-Press.es doivent se tordre les boyaux de la t\u00eate pour rassembler toutes les informations n\u00e9cessaires. Ici, Meta-Press.es b\u00e9n\u00e9ficie de sa porte d&#8217;entr\u00e9e personnelle dans l&#8217;API JSON de Scrutari.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>De plus, ces nouvelles sources ouvrent sur rien moins que 70 000 documents, rassembl\u00e9s au sein de l&#8217;initiative <a href=\"https:\/\/scrutari.coredem.info\/\">Coredem.info<\/a> (qui rassemble 40 entit\u00e9s).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_quand_on_demande_trop_de_r\u00e9sultats\">5. Quand on demande trop de r\u00e9sultats<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Certaines sources permettent de choisir le nombre de r\u00e9sultats qu&#8217;on souhaite recevoir pour une recherche. On trouve g\u00e9n\u00e9ralement des valeurs entre 10 et 30.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Des tests ont r\u00e9cemment \u00e9t\u00e9 conduits avec une demande de 999 r\u00e9sultats et devinez quoi : \u00e7a casse un paquet de sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour faire face \u00e0 cette question il est d\u00e9sormais possible de sp\u00e9cifier, dans la d\u00e9finition d&#8217;une source, le nombre de maximum de r\u00e9sultats qu&#8217;elle accepte de renvoyer. Par exemple Reuters accepte de renvoyer au maximum 99 r\u00e9sultats, donc son URL de recherche comporte d\u00e9sormais un jeton <code>{&lt;100}<\/code> \u00e0 la place du nombre de r\u00e9sultats demand\u00e9s, de mani\u00e8re \u00e0 indiquer \u00e0 Meta-Press.es de ne pas aller au del\u00e0, m\u00eame si l&#8217;utilisateur en demande des milliers.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Travailler sur ce sujet a mis en lumi\u00e8re une vari\u00e9t\u00e9 de situations avec par exemple Der Spiegel limit\u00e9 \u00e0 <code>{&lt;51}<\/code>, FAZ.net \u00e0 <code>{&lt;101}<\/code> ou MediHAL \/ Archives-Ouvertes.fr qui n&#8217;accepte que trois valeurs : 30, 50 ou 100.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_peaufinage_de_code_javascript_quick_lint_js\">6. Peaufinage de code JavaScript : quick-lint-js<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Apr\u00e8s avoir encore perdu des heures \u00e0 tenter de faire fonctionner ESlint malgr\u00e9 son changement de paradigme pour les fichiers de configuration (d\u00e9sormais \u00e0 base de <em>flat-file<\/em>), une recherche d&#8217;alternatives fut lanc\u00e9e. Elle a abouti \u00e0 l&#8217;utilisation de <a href=\"https:\/\/quick-lint-js.com\/\">quick-lint-js<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;est une solution mature et largement packag\u00e9e. Elle tombe directement en marche (<em>zero configuration<\/em>) et est agr\u00e9ablement rapide \u00e0 l&#8217;usage (clamant d&#8217;\u00eatre 90x plus rapide qu&#8217;ESlint).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>quick-lint-js<\/code> s&#8217;est r\u00e9v\u00e9l\u00e9 \u00eatre un bon outil et non un probl\u00e8me de plus \u00e0 g\u00e9rer.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fixtheworld_francetvinfo\">7. #FixTheWorld : FranceTVInfo<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour finir, voici un petit appel \u00e0 action.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>FranceTVInfo est une importante source d&#8217;information en France. Elle a d\u00e9but\u00e9 en tant que radio d&#8217;\u00e9tat avec de l&#8217;info en continu (et en boucle), puis a \u00e9t\u00e9 transform\u00e9e en cha\u00eene de TV (pour participer \u00e0 ce bas fond du journalisme qu&#8217;on nomme les cha\u00eenes d&#8217;actualit\u00e9 en continu) et en site web.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;est l&#8217;organe de propagande par excellence de l&#8217;\u00e9tat fran\u00e7ais. Mais il n&#8217;est pas possible de l&#8217;int\u00e9grer \u00e0 Meta-Press.es car il n&#8217;y a pas de date sur ces r\u00e9sultats de recherche.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si vous, qui me lisez, vous pouvez murmurer aux bonnes oreilles, \u00e7a ne serait pas du luxe pour France Info d&#8217;avoir des dates sur ses r\u00e9sultats de recherche\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il y a plein d&#8217;autre missions qui ont \u00e9t\u00e9 list\u00e9es avec le mot-di\u00e8se : <a href=\"https:\/\/piaille.fr\/tags\/FixTheWorld\">#FixTheWorld<\/a> \u00e9mis par le compte Mastodon officiel <a href=\"https:\/\/pouet.chapril.org\/@metapress\">@MetaPress<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Par exemple, Mediapart ne peut toujours pas fournir de r\u00e9sultats exacts (ni les fournir au format RSS).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;est \u00e0 votre tour de jouer !<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"#ossym24 : Meta-Press.es at the International Open Search Symposium","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/20240917_meta-press_es_at_ossym24.html","rel":"alternate"}},"published":"2024-09-17T00:00:00+02:00","updated":"2024-09-17T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-09-17:\/journal\/2024\/20240917_meta-press_es_at_ossym24.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\nThe 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 \u2026<\/blockquote><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\nThe 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.\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; https:\/\/opensearchfoundation.org<br>\n<cite>#ossym24<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es will be presented during this event on day 2, in English :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2024-10-10 10:00 UTC+2, <a href=\"https:\/\/opensearchfoundation.org\/en\/events-osf\/ossym24\/#av_section_6\">Search Engine Track, \u201eAlternative Search Engines\u201c<\/a> Session<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"#ossym24 : Meta-Press.es au symposium international Open Search","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/20240917_meta-press_es_at_ossym24.html","rel":"alternate"}},"published":"2024-09-17T00:00:00+02:00","updated":"2024-09-17T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-09-17:\/fr\/journal\/2024\/20240917_meta-press_es_at_ossym24.html","summary":"<div class=\"paragraph\">\n<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 \u00e0 Munich et en ligne.<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\nLe symposium <em>Open Search<\/em> #ossym24 rassemble la communaut\u00e9 de la recherche ouverte sur le web en Europe pour la 6e fois. Cette conf\u00e9rence hybride permet de discuter des avanc\u00e9es de \u2026<\/blockquote><\/div>","content":"<div class=\"paragraph\">\n<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 \u00e0 Munich et en ligne.<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\nLe symposium <em>Open Search<\/em> #ossym24 rassemble la communaut\u00e9 de la recherche ouverte sur le web en Europe pour la 6e fois. Cette conf\u00e9rence hybride permet de discuter des avanc\u00e9es de la recherche sur le web, r\u00e9cemment bouscul\u00e9e par l&#8217;IA, \u00e0 travers divers formats de la conf\u00e9rence scientifique \u00e0 l&#8217;atelier pratique en passant par la table ronde. Les participants sont g\u00e9n\u00e9ralement des chercheurs, des biblioth\u00e9caires, des juristes, des experts en \u00e9thique\u2026\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; https:\/\/opensearchfoundation.org<br>\n<cite>#ossym24<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es sera pr\u00e9sent\u00e9 en anglais le 2e jour de cet \u00e9v\u00e8nement :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2024-10-10 \u00e0 10:00 UTC+2, <a href=\"https:\/\/opensearchfoundation.org\/en\/events-osf\/ossym24\/#av_section_6\">Search Engine Track, \u201eAlternative Search Engines\u201c<\/a> Session<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour avoir un aper\u00e7u de ce \u00e0 quoi \u00e7a 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\u00e9e \u00e0 la NLnet<\/a> lors de la derni\u00e8re journ\u00e9e de la recherche libre sur le web.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"The European Union must keep funding free softwares","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/L_Union_Europeenne_doit_poursuivre_le_financement_des_logiciels_libres.html","rel":"alternate"}},"published":"2024-07-12T00:00:00+02:00","updated":"2024-07-12T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-07-12:\/journal\/2024\/L_Union_Europeenne_doit_poursuivre_le_financement_des_logiciels_libres.html","summary":"<div class=\"paragraph\">\n<p>Initially published by <a href=\"https:\/\/ps.zoethical.org\/pub\/lettre-publique-aux-ncp-au-sujet-de-ngi\/\">petites singularit\u00e9s<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Open Letter to the European Commission.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019s Horizon programme, fund free software in Europe using a cascade funding mechanism (see for \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Initially published by <a href=\"https:\/\/ps.zoethical.org\/pub\/lettre-publique-aux-ncp-au-sujet-de-ngi\/\">petites singularit\u00e9s<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Open Letter to the European Commission.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019s Horizon programme, fund free software in Europe using a cascade funding mechanism (see for example NLnet\u2019s <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>\n<\/div>\n<div class=\"paragraph\">\n<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.\nContrary to common perception, technical innovations often originate from European rather than North American programming communities, and are mostly initiated by small-scaled organizations.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Previous Cluster 4 allocated 27 millions euros to:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>\u201cHuman centric Internet aligned with values and principles commonly shared in Europe\u201d ;<\/p>\n<\/li>\n<li>\n<p>\u201cA flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life\u201d ;<\/p>\n<\/li>\n<li>\n<p>\u201cA structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet commons\u201d .<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Moreover, NGI allows exchanges and collaborations across all the Euro zone countries as well as \u201cwidening countries\u201d <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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019t afford this renunciation.\nFree 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.\nThis 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>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<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.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"L'Union Europ\u00e9enne doit poursuivre le financement des logiciels libres","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/L_Union_Europeenne_doit_poursuivre_le_financement_des_logiciels_libres.html","rel":"alternate"}},"published":"2024-07-12T00:00:00+02:00","updated":"2024-07-12T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-07-12:\/fr\/journal\/2024\/L_Union_Europeenne_doit_poursuivre_le_financement_des_logiciels_libres.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_lettre_ouverte_\u00e0_la_commission_europ\u00e9enne\">1. Lettre ouverte \u00e0 la Commission Europ\u00e9enne<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Publi\u00e9e initialement par les <a href=\"https:\/\/ps.zoethical.org\/pub\/lettre-publique-aux-ncp-au-sujet-de-ngi\/\">petites singularit\u00e9s<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si vous souhaitez signer la lettre, merci de la publier sur votre site et de compl\u00e9ter le tableau situ\u00e9 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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_lettre_ouverte_\u00e0_la_commission_europ\u00e9enne\">1. Lettre ouverte \u00e0 la Commission Europ\u00e9enne<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Depuis \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_lettre_ouverte_\u00e0_la_commission_europ\u00e9enne\">1. Lettre ouverte \u00e0 la Commission Europ\u00e9enne<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Publi\u00e9e initialement par les <a href=\"https:\/\/ps.zoethical.org\/pub\/lettre-publique-aux-ncp-au-sujet-de-ngi\/\">petites singularit\u00e9s<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si vous souhaitez signer la lettre, merci de la publier sur votre site et de compl\u00e9ter le tableau situ\u00e9 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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_lettre_ouverte_\u00e0_la_commission_europ\u00e9enne\">1. Lettre ouverte \u00e0 la Commission Europ\u00e9enne<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Depuis 2020, les programmes Next Generation Internet (NGI), sous-branche du programme Horizon Europe de la Commission Europ\u00e9enne financent en cascade (via les appels de NLNet) le logiciel libre en Europe. Cette ann\u00e9e, \u00e0 la lecture du brouillon du Programme de Travail de Horizon Europe d\u00e9taillant les programmes de financement de la commission europ\u00e9enne pour 2025, nous nous apercevons que les programmes Next Generation Internet ne sont plus mentionn\u00e9s dans le Cluster 4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les programmes NGI ont d\u00e9montr\u00e9 leur force et leur importance dans le soutien \u00e0 l\u2019infrastructure logicielle europ\u00e9enne, formant un instrument g\u00e9n\u00e9rique de financement des communs num\u00e9riques qui doivent \u00eatre rendus accessibles dans la dur\u00e9e. Nous sommes dans l\u2019incompr\u00e9hension face \u00e0 cette transformation, d\u2019autant plus que le fonctionnement de NGI est efficace et \u00e9conomique puisqu\u2019il soutient l\u2019ensemble des projets de logiciel libre des plus petites initiatives aux mieux assises. La diversit\u00e9 de cet \u00e9cosyst\u00e8me fait la grande force de l\u2019innovation technologique europ\u00e9enne et le maintien de l\u2019initiative NGI pour former un soutien structurel \u00e0 ces projets logiciels, qui sont au c\u0153ur de l\u2019innovation mondiale, permet de garantir la souverainet\u00e9 d\u2019une infrastructure europ\u00e9enne. Contrairement \u00e0 la perception courante, les innovations techniques sont issues des communaut\u00e9s de programmeurs europ\u00e9ens plut\u00f4t que nord-am\u00e9ricains, et le plus souvent issues de structures de taille r\u00e9duite.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le Cluster 4 allouait 27.00 millions d\u2019euros au service de :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>\u201cHuman centric Internet aligned with values and principles commonly shared in Europe\u201d ;<\/p>\n<\/li>\n<li>\n<p>\u201cA flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life\u201d ;<\/p>\n<\/li>\n<li>\n<p>\u201cA structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet common\u201d.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Au nom de ces enjeux, ce sont plus de 500 projets qui ont re\u00e7u un financement NGI0 dans les 5 premi\u00e8res ann\u00e9es d\u2019exercice, ainsi que plus de 18 organisations collaborant \u00e0 faire vivre ces consortia europ\u00e9ens.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>NGI contribue \u00e0 un vaste \u00e9cosyst\u00e8me puisque la plupart du budget est d\u00e9volue au financement de tierces parties par le biais des appels ouverts (open calls). Ils structurent des communs qui recouvrent l\u2019ensemble de l\u2019Internet, du mat\u00e9riel aux applications d\u2019int\u00e9gration verticale en passant par la virtualisation, les protocoles, les syst\u00e8mes d\u2019exploitation, les identit\u00e9s \u00e9lectroniques ou la supervision du trafic de donn\u00e9es. Ce financement des tierces parties n\u2019est pas renouvel\u00e9 dans le programme actuel, ce qui laissera de nombreux projets sans ressources ad\u00e9quates pour la recherche et l\u2019innovation en Europe.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Par ailleurs, NGI permet des \u00e9changes et des collaborations \u00e0 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\u00e9ussite tout autant qu\u2019un progr\u00e8s en cours, comme le fut le programme Erasmus avant nous. NGI0 est aussi une initiative qui participe \u00e0 l\u2019ouverture et \u00e0 l\u2019entretien de relation sur un temps plus long que les financements de projets. NGI encourage \u00e9galement \u00e0 l\u2019impl\u00e9mentation des projets financ\u00e9s par le biais de pilotes, et soutient la collaboration au sein des initiatives, ainsi que l\u2019identification et la r\u00e9utilisation d\u2019\u00e9l\u00e9ments communs au travers des projets, l\u2019interop\u00e9rabilit\u00e9 notament des syst\u00e8mes d\u2019identification, et la mise en place de mod\u00e8les de d\u00e9veloppement int\u00e9grant les autres sources de financements aux diff\u00e9rentes \u00e9chelles en Europe.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Alors que les \u00c9tats-Unis d\u2019Am\u00e9rique, la Chine ou la Russie d\u00e9ploient des moyens publics et priv\u00e9s colossaux pour d\u00e9velopper des logiciels et infrastructures captant massivement les donn\u00e9es des consommateurs, l\u2019Union Europ\u00e9enne 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, \u00e0 l\u2019oppos\u00e9e des potentiels vecteurs d\u2019ing\u00e9rence \u00e9trang\u00e8re. Ils permettent de conserver localement les donn\u00e9es et de favoriser une \u00e9conomie et des savoirs-faire \u00e0 l\u2019\u00e9chelle communautaire, tout en permettant \u00e0 la fois une collaboration internationale. Ceci est d\u2019autant plus indispensable dans le contexte g\u00e9opolitique que nous connaissons actuellement. L\u2019enjeu de la souverainet\u00e9 technologique y est pr\u00e9pond\u00e9rant et le logiciel libre permet d\u2019y r\u00e9pondre sans renier la n\u00e9cessit\u00e9 d\u2019\u0153uvrer pour la paix et la citoyennet\u00e9 dans l\u2019ensemble du monde num\u00e9rique.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans ces perspectives, nous vous demandons urgemment de r\u00e9clamer la pr\u00e9servation du programme NGI dans le programme de financement 2025.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Tels que d\u00e9finis par Horizon Europe, les \u00c9tats Membres \u00e9largis sont la Bulgarie, la Croatie, Chypre, la R\u00e9publique Tch\u00e8que, l\u2019Estonie, la Gr\u00e8ce, la Hongrie, la Lettonie, la Lithuanie, Malte, la Pologne, le Portugal, la Roumanie, la Slovaquie et la Slov\u00e9nie. Les pays associ\u00e9s \u00e9largies (sous conditions d\u2019un accord d\u2019association) l\u2019Albanie, l\u2019Arm\u00e9nie, la Bosnie Herz\u00e9govine, les Iles Fero\u00e9, la G\u00e9orgie, le Kosovo, la Moldavie, le Mont\u00e9n\u00e9gro, le Maroc, la Mac\u00e9doine du Nord, la Serbie, la Tunisie, la Turquie et l\u2019Ukraine. Les r\u00e9gions \u00e9largies d\u2019outre-mer sont: la Guadeloupe, la Guyane Fran\u00e7aise, la Martinique, La R\u00e9union, Mayotte, Saint-Martin, Les A\u00e7ores, Mad\u00e8re, les Iles Canaries.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.16 : source maintenance, headlines and broken JSON","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/v1.8.16_source_maintenance_headlines_broken_json.html","rel":"alternate"}},"published":"2024-06-19T00:00:00+02:00","updated":"2024-06-19T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-06-19:\/journal\/2024\/v1.8.16_source_maintenance_headlines_broken_json.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a>\n<ul class=\"sectlevel2\">\n<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>\n<\/ul>\n<\/li>\n<li><a href=\"#_fixed_bugs\">2. Fixed bugs<\/a><\/li>\n<li><a href=\"#_miscellaneous\">3. Miscellaneous<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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 \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a>\n<ul class=\"sectlevel2\">\n<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>\n<\/ul>\n<\/li>\n<li><a href=\"#_fixed_bugs\">2. Fixed bugs<\/a><\/li>\n<li><a href=\"#_miscellaneous\">3. Miscellaneous<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_maintenance\">1. Source maintenance<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Mediapart in its 3 languages have been fixed and is now a precise (for many words) source !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>AFP Factual and its 21 languages changed their date format, so we had to parse all of them again.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>LaLibre.be, LAvenir.net and DHnet now serves results in faulty JSON format that we have to fix on the fly.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A bunch of sources have been cleared from \"many words\" search as they were providing unfocused results.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Linforme.com and a few other sources were added, some removed\u2026 <code>json\/source.json<\/code> now counts 119 more lines and 4260 of them were edited in 2024.<\/p>\n<\/div>\n<div class=\"sect2\">\n<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>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 100%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2019 586<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2020 879<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2021 3004<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2022 6910<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2023 8735<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2024 4260<\/p><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>For a total line number of : 24.374 (+120)<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fixed_bugs\">2. Fixed bugs<\/h2>\n<div class=\"sectionbody\">\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<li>\n<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>\n<\/li>\n<li>\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/85\">#85<\/a> [1.8.15.2] Broken load_headlines<\/p>\n<\/li>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_miscellaneous\">3. Miscellaneous<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The ESlint flat file config of the project have been updated resulting in more <code>const<\/code> usage.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>To finish, the testing tool design have been improved a bit with a compact and colorful statistics.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.16 : maintenance des sources et chargement des gros titres","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/v1.8.16_source_maintenance_headlines_broken_json.html","rel":"alternate"}},"published":"2024-06-19T00:00:00+02:00","updated":"2024-06-19T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-06-19:\/fr\/journal\/2024\/v1.8.16_source_maintenance_headlines_broken_json.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_120_lignes_en_plus_276_\u00e9dit\u00e9es\">1.1. 120 lignes en plus, 276 \u00e9dit\u00e9es<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_bogues_corrig\u00e9s\">2. Bogues corrig\u00e9s<\/a><\/li>\n<li><a href=\"#_divers\">3. Divers<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Un bug dans le chargement des actualit\u00e9s hors recherche nous a forc\u00e9 \u00e0 sortir rapidement une novelle version, mais puisqu&#8217;entre temps pas mal de travail de maintenance avait \u00e9t\u00e9 fait sur \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_120_lignes_en_plus_276_\u00e9dit\u00e9es\">1.1. 120 lignes en plus, 276 \u00e9dit\u00e9es<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_bogues_corrig\u00e9s\">2. Bogues corrig\u00e9s<\/a><\/li>\n<li><a href=\"#_divers\">3. Divers<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Un bug dans le chargement des actualit\u00e9s hors recherche nous a forc\u00e9 \u00e0 sortir rapidement une novelle version, mais puisqu&#8217;entre temps pas mal de travail de maintenance avait \u00e9t\u00e9 fait sur les sources ce n&#8217;est pas une mauvaise chose.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_maintenance_des_sources\">1. Maintenance des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Mediapart, dans ses 3 langues, a \u00e9t\u00e9 r\u00e9par\u00e9 et est d\u00e9sormais une source pr\u00e9cise (pour plusieurs mots) !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>AFP Factuel et ces 21 langues ont chang\u00e9 l&#8217;affichage de leurs dates, il a donc fallu les analyser toutes \u00e0 nouveau.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>LaLibre.be, LAvenir.net et DHnet servent d\u00e9sormais leurs r\u00e9sultats dans un format JSON non conforme, ce qui oblige \u00e0 le r\u00e9parer \u00e0 la vol\u00e9e\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une poign\u00e9e de sources on \u00e9t\u00e9 retir\u00e9es de l&#8217;\u00e9tiquette \"plusieurs mots\" car elles polluaient les r\u00e9sultats avec du contenu hors sujet (approximatif).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Linforme.com et quelques autres sources ont \u00e9t\u00e9 ajout\u00e9es, d&#8217;autres retir\u00e9es\u2026 <code>json\/source.json<\/code> compte d\u00e9sormais 120 lignes en plus donc 4260 \u00e9dit\u00e9es en 2024.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_120_lignes_en_plus_276_\u00e9dit\u00e9es\">1.1. 120 lignes en plus, 276 \u00e9dit\u00e9es<\/h3>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 100%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2019 586<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2020 879<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2021 3004<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2022 6910<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2023 8735<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2024 4260<\/p><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>Pour un total de : 24 374 lignes (+120)<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_bogues_corrig\u00e9s\">2. Bogues corrig\u00e9s<\/h2>\n<div class=\"sectionbody\">\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/83\">#83<\/a> La ligne d&#8217;\u00e9tat d&#8217;une recherche n&#8217;indique pas pr\u00e9cis\u00e9ment combien de sources on attend encore en dessous de 30 (un nouveau pallier \u00e0 15 sources et le signes \u00ab &gt; \u00bb&#8201;&#8212;&#8201;moins de&#8201;&#8212;&#8201;ont \u00e9t\u00e9 ajout\u00e9s)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/84\">#84<\/a> La dur\u00e9e d&#8217;une requ\u00eate est affich\u00e9e d&#8217;une mani\u00e8re inconsistante en nombre de chiffres derri\u00e8re la virgule (c&#8217;est d\u00e9sormais maitris\u00e9 \u00e0 2 ou 3 chiffres significatifs)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/85\">#85<\/a> [1.8.15.2] Chargement des gros titres cass\u00e9<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/86\">#86<\/a> Mauvais JSON envoy\u00e9 par certaines sources (est expliqu\u00e9 dans ce ticket comment Meta-Press.es se retrouve \u00e0 \u00e9chapper les guillemets doubles \u00e0 l&#8217;int\u00e9rieur des valeurs d\u00e9limit\u00e9es par des guillemets doubles\u2026 en s&#8217;appuyant sur les exceptions renvoy\u00e9es par <code>JSON.parse<\/code>).<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_divers\">3. Divers<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Le fichier de configuration plat d&#8217;ESlint a \u00e9t\u00e9 mis \u00e0 jour et de nombreuses variables ont ainsi \u00e9t\u00e9 converties en <code>const<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et pour finir l&#8217;outil de test des sources a \u00e9t\u00e9 am\u00e9lior\u00e9 avec des statistiques plus compactes et en couleurs !<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[NAOS] Meta-Press.es: the free and decentralized press search engine","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2024\/20240604_naos.html","rel":"alternate"}},"published":"2024-06-04T00:00:00+02:00","updated":"2024-06-04T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-06-04:\/revues\/2024\/20240604_naos.html","summary":"<div class=\"paragraph\">\n<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 \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>An ethical and comprehensive alternative to Big Techs<\/p>\n<\/li>\n<li>\n<p>A decentralized system honest with its users<\/p>\n<\/li>\n<li>\n<p>An expanding libre software<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>To sum it up, Meta-Press.es its :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>A full featured press search engine (still expanding)<\/p>\n<\/li>\n<li>\n<p>No middleman between your web browser and your newspapers (so no tracking)<\/p>\n<\/li>\n<li>\n<p>An advanced search panel allowing to refine results and giving full control over queried sources<\/p>\n<\/li>\n<li>\n<p>Human validated sources only<\/p>\n<\/li>\n<li>\n<p>Scheduled searches and exportable press reviews<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9centralis\u00e9 d\u00e9di\u00e9 \u00e0 la presse<\/strong><\/a> (<em>fr<\/em>)<\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[NAOS] Meta-Press.es : le moteur de recherche libre et d\u00e9centralis\u00e9 d\u00e9di\u00e9 \u00e0 la presse","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2024\/20240604_naos.html","rel":"alternate"}},"published":"2024-06-04T00:00:00+02:00","updated":"2024-06-04T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-06-04:\/fr\/revues\/2024\/20240604_naos.html","summary":"<div class=\"paragraph\">\n<p>D\u00e9couvrez Meta-Press.es, un moteur de recherche d\u00e9centralis\u00e9 et libre d\u00e9di\u00e9 \u00e0 la presse en ligne. Lanc\u00e9 en 2020 par Simon Descarpentries, Meta-Press.es est t\u00e9l\u00e9chargeable gratuitement et permet d\u2019interroger 900 journaux dans le monde. Sa conception sans tracking ni publicit\u00e9 le rend rapide, \u00e9conome en bande passante et \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>D\u00e9couvrez Meta-Press.es, un moteur de recherche d\u00e9centralis\u00e9 et libre d\u00e9di\u00e9 \u00e0 la presse en ligne. Lanc\u00e9 en 2020 par Simon Descarpentries, Meta-Press.es est t\u00e9l\u00e9chargeable gratuitement et permet d\u2019interroger 900 journaux dans le monde. Sa conception sans tracking ni publicit\u00e9 le rend rapide, \u00e9conome en bande passante et respectueux de la vie priv\u00e9e. Rejoignez cette initiative collaborative et contribuez \u00e0 fa\u00e7onner l\u2019avenir de l\u2019acc\u00e8s \u00e0 l\u2019information en ligne.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Une alternative aux Big Tech plus \u00e9thique et plus exhaustive<\/p>\n<\/li>\n<li>\n<p>Un syst\u00e8me d\u00e9centralis\u00e9 et pens\u00e9 pour optimiser l&#8217;exp\u00e9rience utilisateur<\/p>\n<\/li>\n<li>\n<p>Un logiciel collaboratif en pleine expansion<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>En r\u00e9sum\u00e9, Meta-Press.es c&#8217;est :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Un moteur de recherche pour la presse tr\u00e8s complet (et encore en d\u00e9veloppement !)<\/p>\n<\/li>\n<li>\n<p>Aucun interm\u00e9diaire entre vos journaux et votre navigateur web ni aucun suivi publicitaire<\/p>\n<\/li>\n<li>\n<p>Un syst\u00e8me de recherche avanc\u00e9e pour affiner les r\u00e9sultats et avoir la ma\u00eetrise des sources interrog\u00e9es<\/p>\n<\/li>\n<li>\n<p>Des sources v\u00e9rifi\u00e9es et valid\u00e9es par un humain<\/p>\n<\/li>\n<li>\n<p>La possibilit\u00e9 de programmer des recherches et d\u2019exporter directement des revues de presse<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9centralis\u00e9 d\u00e9di\u00e9 \u00e0 la presse<\/strong><\/a><\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"Version 1.8.15 : source maintenance, bugfix and big exports","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/v1.8.15_source_maintenance_bugfix_and_big_exports.html","rel":"alternate"}},"published":"2024-05-13T00:00:00+02:00","updated":"2024-05-13T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-05-13:\/journal\/2024\/v1.8.15_source_maintenance_bugfix_and_big_exports.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a>\n<ul class=\"sectlevel2\">\n<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>\n<\/ul>\n<\/li>\n<li><a href=\"#_bugs_fixed\">2. Bugs fixed<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_80_1_8_14_rss_re_import_failure\">2.1. #80 [1.8.14] RSS re-import failure<\/a><\/li>\n<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>\n<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 \u2026<\/a><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a>\n<ul class=\"sectlevel2\">\n<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>\n<\/ul>\n<\/li>\n<li><a href=\"#_bugs_fixed\">2. Bugs fixed<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_80_1_8_14_rss_re_import_failure\">2.1. #80 [1.8.14] RSS re-import failure<\/a><\/li>\n<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>\n<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>\n<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>\n<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>\n<\/ul>\n<\/li>\n<li><a href=\"#_mvc_refactoring_and_nodejs_client\">3. MVC refactoring and NodeJS client<\/a><\/li>\n<li><a href=\"#_v1_8_15_2_removing_two_sources\">4. v1.8.15.2 : Removing two sources<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This new version mainly contains under-the-hood improvements that should stay invisible but required a lot work\u2026 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\u2026 important pieces of code were worked on for this release, fixing a few apparent bugs.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_maintenance\">1. Source maintenance<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>In fact I wanted to have a unique scale for source precision from :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>approx<\/p>\n<\/li>\n<li>\n<p>one word<\/p>\n<\/li>\n<li>\n<p>many words<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Meanwhile, sources were added again to reach a total of 988 as of 1.8.15 across 75 countries and 75 languages.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_800_lines_were_edited_in_the_source_definition_file\">1.1. 800 lines were edited in the source definition file<\/h3>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Year<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"># lines<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2019<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">593<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2020<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">881<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2021<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3066<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2022<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">6970<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2023<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8759<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2024<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3984<\/p><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>For a total of 24.253 lines (+535).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_bugs_fixed\">2. Bugs fixed<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>A total of 12 issues were fixed. Here are the most important ones.<\/p>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Encoding them with <code>&amp; amp ;<\/code> did the trick.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>This was fixed by some solid improvements in how Meta-Press.es creates timezoned dates.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_mvc_refactoring_and_nodejs_client\">3. MVC refactoring and NodeJS client<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>According to the <code>cloc<\/code> command the code was ventilated into 19 files and 7586 lines as of 2023 mid-may.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It is now ventilated into 32 files and 8073 lines as of 2024 mid-may.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Also, useful generic JavaScript functions were stored in separate libraries in <code>js\/lib\/js<\/code>:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>array.js<\/p>\n<\/li>\n<li>\n<p>date.js (including <code>timezoned_date()<\/code> to parse or create a new date with the given timezone)<\/p>\n<\/li>\n<li>\n<p>math.js<\/p>\n<\/li>\n<li>\n<p>object.js<\/p>\n<\/li>\n<li>\n<p>text.js<\/p>\n<\/li>\n<li>\n<p>types.js<\/p>\n<\/li>\n<li>\n<p>URL.js (including <code>is_valid_HTTP_URL()<\/code> elaborated from 5 different sources)<\/p>\n<\/li>\n<li>\n<p>UUID.js<\/p>\n<\/li>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v1_8_15_2_removing_two_sources\">4. v1.8.15.2 : Removing two sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Two sources were slowing down searches, and got them stuck into never-ending requests.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A quickfix is the to mark them as broken. A better approach will be to fix the timeout and AbortController implementation.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.15 : maintenance des sources, correction de bogues et gros exports","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/v1.8.15_source_maintenance_bugfix_and_big_exports.html","rel":"alternate"}},"published":"2024-05-13T00:00:00+02:00","updated":"2024-05-13T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-05-13:\/fr\/journal\/2024\/v1.8.15_source_maintenance_bugfix_and_big_exports.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_800_lignes_ajout\u00e9es_dans_les_d\u00e9finitions_de_sources\">1.1. 800 lignes ajout\u00e9es dans les d\u00e9finitions de sources<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_correction_de_bogues\">2. Correction de bogues<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_80_1_8_14_\u00e9chec_au_re_import_dun_fichier_rss\">2.1. #80 [1.8.14] \u00c9chec au re-import d&#8217;un fichier RSS<\/a><\/li>\n<li><a href=\"#_73_1_8_14_les_recherche_dans_la_liste_des_sources_interpr\u00eatent_les_signes\">2.2. #73 [1.8.14] Les recherche dans la liste des sources interpr\u00eatent les signes '-'<\/a><\/li>\n<li><a href=\"#_66_1_8_12_impossible_de_programmer_une_nouvelle_recherche_failed_to_parse_next_run_date_invalid_date\">2.3 \u2026<\/a><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_800_lignes_ajout\u00e9es_dans_les_d\u00e9finitions_de_sources\">1.1. 800 lignes ajout\u00e9es dans les d\u00e9finitions de sources<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_correction_de_bogues\">2. Correction de bogues<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_80_1_8_14_\u00e9chec_au_re_import_dun_fichier_rss\">2.1. #80 [1.8.14] \u00c9chec au re-import d&#8217;un fichier RSS<\/a><\/li>\n<li><a href=\"#_73_1_8_14_les_recherche_dans_la_liste_des_sources_interpr\u00eatent_les_signes\">2.2. #73 [1.8.14] Les recherche dans la liste des sources interpr\u00eatent les signes '-'<\/a><\/li>\n<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>\n<li><a href=\"#_64_1_8_11_le_filtre_par_date_est_remis_\u00e0_z\u00e9ro_une_fois_les_derniers_r\u00e9sultats_arriv\u00e9s\">2.4. #64 [1.8.11] Le filtre par date est remis \u00e0 z\u00e9ro une fois les derniers r\u00e9sultats arriv\u00e9s<\/a><\/li>\n<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>\n<\/ul>\n<\/li>\n<li><a href=\"#_r\u00e9_organisation_mvc_du_code_et_client_nodejs\">3. R\u00e9-organisation MVC du code et client NodeJS<\/a><\/li>\n<li><a href=\"#_v1_8_15_2_retrait_de_deux_sources\">4. v1.8.15.2 : Retrait de deux sources<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette nouvelle version ne contient presqu&#8217;aucune am\u00e9lioration visible, mais elle a pourtant n\u00e9cessit\u00e9 \u00e9norm\u00e9ment de travail. Ce qui a chang\u00e9, c&#8217;est par exemple la fa\u00e7on dont Meta-Press.es d\u00e9termine si une URL est valide ou non, son organisation interne, comment les dates sont cr\u00e9\u00e9es (avec des fuseaux horaires) ou encore comment les fichiers sont import\u00e9s\u2026 du gros \u0153uvre dans le code donc, mais pour ne s&#8217;attaquer (en apparence) qu&#8217;\u00e0 quelques bogues.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_maintenance_des_sources\">1. Maintenance des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Apr\u00e8s le gros travail men\u00e9 sur les sources pour la pr\u00e9c\u00e9dent version, il est apparu que certaines sources n&#8217;\u00e9taient pas aussi pr\u00e9cises qu&#8217;esp\u00e9r\u00e9es. Aussi, 200 d&#8217;entre elles sont \u00e0 nouveau \u00e9tiquet\u00e9es \"approx\" pour approximatives.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai longtemps esp\u00e9r\u00e9 pouvoir utiliser une \u00e9chelle unique de pr\u00e9cision pour qualifier les sources :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>approx<\/p>\n<\/li>\n<li>\n<p>un mot<\/p>\n<\/li>\n<li>\n<p>plusieurs mots<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour les sources donnant des r\u00e9sultats approximatifs, pr\u00e9cis pour un mot ou pour plusieurs. Mais cette approche m\u00e9lange en fait deux concepts : <em>exact \/ approx<\/em> et <em>un mot \/ plusieurs mots<\/em>. Le premier crit\u00e8re correspond \u00e0 la capacit\u00e9 de la source \u00e0 donner des r\u00e9sultats exacts ou approch\u00e9s, et le deuxi\u00e8me \u00e0 la capacit\u00e9 de la source de s&#8217;assurer qu&#8217;au moins un des mots recherch\u00e9 par l&#8217;utilisateur est pr\u00e9sent dans ses r\u00e9sultats, oubien tous \u00e0 la fois (applique-t-elle un ET-logique entre les termes de recherche ou un OU-logique). Ces deux probl\u00e9matiques sont orthogonales et certaines sources devront pouvoir \u00eatre \u00e9tiquet\u00e9es \"approx\" et \"plusieurs mots\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce faisant, des sources furent encore ajout\u00e9es pour atteindre un total de 988 avec cette version 1.8.15 (et 1.8.15.1) r\u00e9parties en 75 pays et 75 langues.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_800_lignes_ajout\u00e9es_dans_les_d\u00e9finitions_de_sources\">1.1. 800 lignes ajout\u00e9es dans les d\u00e9finitions de sources<\/h3>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Ann\u00e9e<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"># lignes<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2019<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">593<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2020<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">881<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2021<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3066<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2022<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">6970<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2023<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8759<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2024<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3984<\/p><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>Pour un total de 24 253 lignes (+535).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_correction_de_bogues\">2. Correction de bogues<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Un total de 12 probl\u00e8mes furent r\u00e9solus pour cette nouvelle version. En voici les principaux.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_80_1_8_14_\u00e9chec_au_re_import_dun_fichier_rss\">2.1. <a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/80\">#80<\/a> [1.8.14] \u00c9chec au re-import d&#8217;un fichier RSS<\/h3>\n<div class=\"paragraph\">\n<p>Une grosse recherche peut t\u00e9l\u00e9charger des milliers de r\u00e9sultats, et je profite de ces cas l\u00e0 pour tester les fonctionnalit\u00e9s d&#8217;export et de re-import des r\u00e9sultats. G\u00e9n\u00e9ralement \u00e7a marche, mais l\u00e0 je suis tomb\u00e9 sur un os. Quelques heures de recherche permirent d&#8217;identifier ce que l&#8217;analyseur de fichier XML d\u00e9non\u00e7ait comme caract\u00e8res XML ill\u00e9gaux dans les fichiers RSS g\u00e9n\u00e9r\u00e9s par Meta-Press.es. Ce qui enduisait l&#8217;interpr\u00e9teur d&#8217;erreur \u00e9tait l&#8217;absence d&#8217;un caract\u00e8re qui aurait permis de fermer un motif qu&#8217;il \u00e9tait bien le seul \u00e0 voir, et le message d&#8217;erreur pointait donc au milieu d&#8217;un texte parfaitement valide si on ne commen\u00e7ait \u00e0 regarder le fichier qu&#8217;\u00e0 partir de l&#8217;erreur rapport\u00e9e. Ces myst\u00e9rieux caract\u00e8res ill\u00e9gaux \u00e9taient donc cach\u00e9s un peu plus t\u00f4t dans les URL des illustrations de certains articles, par exemple les URL \u00e0 destination du vigneteur interactif de <a href=\"https:\/\/www.journal-ipns.org\" class=\"bare\">https:\/\/www.journal-ipns.org<\/a> (PHP Thumbnailer).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il s&#8217;agissait tout simplement de plusieurs \u00e9perlu\u00e8tes \"nues\" dans ces URL, or le seul usage autoris\u00e9 des '&amp;' dans un fichier XML est celui d&#8217;annoncer le d\u00e9but d&#8217;une entit\u00e9 XML (c&#8217;est \u00e0 dire de la description d&#8217;un caract\u00e8re \u00e0 remplacer lors du d\u00e9codage du fichier). Une \u00e9perlu\u00e8te peut par exemple \u00eatre remplac\u00e9 l&#8217;entit\u00e9 XML <code>&amp; # 2 6 ;<\/code> (sans les espaces) mais si on fait \u00e7a, c&#8217;est le vigneteur en face qui ne s&#8217;y retrouve plus.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il fallut donc remplacer les '&amp;' de ces URL par des <code>&amp; amp ;<\/code> pour que tout le monde soit content.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_73_1_8_14_les_recherche_dans_la_liste_des_sources_interpr\u00eatent_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\u00eatent les signes '-'<\/h3>\n<div class=\"paragraph\">\n<p>Ici le probl\u00e8me \u00e9tait que chercher <code>journal-ipns.org<\/code> dans la liste compl\u00e8te des sources ne donnait aucun r\u00e9sultat. C&#8217;\u00e9tait d\u00fb au fait que la biblioth\u00e8que de fonction ListJS que Meta-Press.es utilise pour paginer cette liste (et qui fourni \u00e9galement une fonctionnalit\u00e9 de recherche) interpr\u00e9tait les sch\u00e9mas du type <code>-untexte<\/code> comme une n\u00e9gation : ne pas chercher ce qui contient <code>untexte<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Puisque ListJS n&#8217;est plus maintenu, Meta-Press.es est d\u00e9sormais \u00e9quip\u00e9 de la version <a href=\"https:\/\/github.com\/lovasoa\/list.js\">Lovasoa<\/a> de cette biblioth\u00e8que, nomm\u00e9e de part le pseudo du mainteneur qui a entre autre corrig\u00e9 ce bogue.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<p>Lorsqu&#8217;aucun fuseau horaire n&#8217;\u00e9tait explicitement choisi par un utilisateur (et donc que le fuseau horaire par d\u00e9faut du navigateur \u00e9tait utilis\u00e9), les utilisateurs fran\u00e7ais ne pouvaient plus programmer de nouvelles recherches automatique durant la p\u00e9riode des heures d&#8217;\u00e9t\u00e9.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Quelques s\u00e9rieux ajustements dans la fonction qui cr\u00e9e des dates avec fuseau horaire pour Meta-Press.es ont permis de corriger ce probl\u00e8me (il \u00e9tait question de savoir g\u00e9rer plus de situations, notamment des fuseaux horaires exprim\u00e9s en heure, en heure avec minutes, ou juste en minutes comme : -120\u2026).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_64_1_8_11_le_filtre_par_date_est_remis_\u00e0_z\u00e9ro_une_fois_les_derniers_r\u00e9sultats_arriv\u00e9s\">2.4. <a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/64\">#64<\/a> [1.8.11] Le filtre par date est remis \u00e0 z\u00e9ro une fois les derniers r\u00e9sultats arriv\u00e9s<\/h3>\n<div class=\"paragraph\">\n<p>Celui-ci \u00e9tait un bogue (tr\u00e8s bien) signal\u00e9 par un utilisateur. Typique du genre des petits bugs qui n&#8217;ont l&#8217;air de rien mais qui se mettent compl\u00e8tement en travers du flot d&#8217;ex\u00e9cution mis en place pour accueillir les r\u00e9sultats. On aurait pas d\u00fb avoir \u00e0 s&#8217;\u00e9loigner du simple : r\u00e9-applique les filtres \u00e0 chaque fois que ajoute des r\u00e9sultats sur la page. Mais pour le coup, je m&#8217;en suis occup\u00e9 en m\u00eame temps que la r\u00e9-organisation MVC du code (dont je parle plus bas) et \u00e7a a passablement compliqu\u00e9 les choses (et la correction du bug suivant), tout en mettant bien en \u00e9vidence le besoin de r\u00e9organisation.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<p>Pour faire une grosse recherche, c&#8217;est facile, il suffit de chercher \"europe\" dans toutes les sources connues. C&#8217;est \u00e0 peu pr\u00eat comme \u00e7a que les sources sont test\u00e9es et \u00e7a ram\u00e8ne plus de 10 000 r\u00e9sultats. Meta-Press.es \u00e9tait alors capable d&#8217;exporter ces r\u00e9sultats 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>\n<\/div>\n<div class=\"paragraph\">\n<p>Il semble en effet que Meta-Press.es se heurtait \u00e0 une limite sur la taille des fichiers g\u00e9n\u00e9rables (via <code>data:<\/code> URL) fix\u00e9e \u00e0 20MO (\u00e7a devrait \u00eatre <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 \u00e9taient plus petits que leur homologue JSON car ils embarquent moins d&#8217;information, perdant notamment le nombre de r\u00e9sultats revendiqu\u00e9s par chaque source.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En diminuant le nombre de caract\u00e8res de pr\u00e9sentation utilis\u00e9s dans le JSON produit, l&#8217;export JSON passait \u00e0 19,9MO et avait bien lieu. Ces limites existent et varient au cours du temps et au gr\u00e9 des navigateurs. Une meilleur solution devrait \u00eatre trouv\u00e9e rapidement.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cela pourrait \u00eatre une fonctionnalit\u00e9 d&#8217;export d\u00e9coup\u00e9 en plusieurs fichiers de 20MO chacun, et une am\u00e9lioration de l&#8217;import, pour \u00eatre capable de r\u00e9-importer une s\u00e9rie de fichiers (et pourquoi pas de deviner le type d&#8217;un fichier import\u00e9 en fonction de son extension).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Tant qu&#8217;\u00e0 se pencher sur les exports et les imports, leur code a \u00e9t\u00e9 globalement am\u00e9lior\u00e9 pour fournir plus de r\u00e9activit\u00e9 aux utilisateurs et mitiger d&#8217;un facteur 15x la perte de performance due \u00e0 la r\u00e9-organisation du code (qui impactait les imports JSON). Il s&#8217;agissait l\u00e0 tout simplement de ne r\u00e9-ordonner les r\u00e9sultats qu&#8217;une fois toutes les 15 sources, et pas \u00e0 chaque source, car on a pas de temps \u00e0 perdre quand on import un gros fichier JSON, c&#8217;est pas comme si on passait son temps \u00e0 attendre les r\u00e9sultats de la prochaine source\u2026 (comme c&#8217;est habituellement le cas)<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_r\u00e9_organisation_mvc_du_code_et_client_nodejs\">3. R\u00e9-organisation MVC du code et client NodeJS<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>MVC, \u00e7a veut dire mod\u00e8le-vue-controleur. C&#8217;est un type d&#8217;architecture logicielle qui facilite la maintenance du code en s\u00e9parant clairement les donn\u00e9es du code, puis le code \"m\u00e9tier\" du code d&#8217;interface.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es a \u00e9t\u00e9 cod\u00e9 comme une simple page web au d\u00e9part (une architecture ou le contraire est possible, tout dans le m\u00eame fichier : l&#8217;interface (HTML, CSS), le code (JavaScript) et les donn\u00e9es. Cette page a \u00e9t\u00e9 embarqu\u00e9e dans une WebExtension et a pas mal grossi depuis, atteignant 8000 lignes de code aujourd&#8217;hui.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En utilisant la commande <code>cloc<\/code> on peut constater que le code \u00e9tait ventil\u00e9 en 19 fichiers et 7586 lignes \u00e0 la mi-mai 2023.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il est d\u00e9sormais r\u00e9parti en 32 fichiers pour 8073 lignes en cette mi-mai 2024.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les fonctionnalit\u00e9s \"m\u00e9tier\" ont \u00e9t\u00e9 isol\u00e9es 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\u00e9pendances 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>\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>De plus, les fonctions g\u00e9n\u00e9riques \u00e9tendant le langage JavaScript cod\u00e9e au fil du d\u00e9veloppement de Meta-Press.es ont \u00e9t\u00e9 s\u00e9par\u00e9es dans un ensemble de fichiers rang\u00e9s dans <code>js\/lib\/js<\/code> :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>array.js<\/p>\n<\/li>\n<li>\n<p>date.js (dont <code>timezoned_date()<\/code> qui permet de cr\u00e9er des dates dans un fuseau horaire choisi)<\/p>\n<\/li>\n<li>\n<p>math.js<\/p>\n<\/li>\n<li>\n<p>object.js<\/p>\n<\/li>\n<li>\n<p>text.js<\/p>\n<\/li>\n<li>\n<p>types.js<\/p>\n<\/li>\n<li>\n<p>URL.js (dont <code>is_valid_HTTP_URL()<\/code> qui v\u00e9rifie la validit\u00e9 d&#8217;une URL, et rassemble des id\u00e9es de 5 sources diff\u00e9rentes)<\/p>\n<\/li>\n<li>\n<p>UUID.js<\/p>\n<\/li>\n<li>\n<p>XML.js (dont <code>encode_XML()<\/code> qui permit de corriger le probl\u00e8me <a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/80\">#80<\/a>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Il s&#8217;agit seulement de 211 lignes de JavaScript, principalement compos\u00e9es de raccourcis \u00e9vidents qui me rendent le JavaScript plus agr\u00e9able, mais si des volontaires se manifestent pour en faire une biblioth\u00e8que de fonction ind\u00e9pendante je serai l\u00e0 pour aider.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v1_8_15_2_retrait_de_deux_sources\">4. v1.8.15.2 : Retrait de deux sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Deux sources ralentissaient consid\u00e9rablement les recherches, l&#8217;une d&#8217;elle les bloquant dans une situation sans fin.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une r\u00e9paration rapide consiste \u00e0 les marquer comme cass\u00e9es. Une meilleur approche consistera \u00e0 r\u00e9parer le m\u00e9canisme de coupure automatique des recherches trop longues (actuellement bas\u00e9 sur l&#8217;API AbortController).<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.14 : source maintenance and access content tag","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/v1.8.14_global_source_maintenance_access_content_and_direct_content.html","rel":"alternate"}},"published":"2024-04-04T00:00:00+02:00","updated":"2024-04-04T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-04-04:\/journal\/2024\/v1.8.14_global_source_maintenance_access_content_and_direct_content.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_sources_spring_cleaning\">1. Sources' Spring cleaning<\/a><\/li>\n<li><a href=\"#_access_content_and_direct_content_tags\">2. <code>access content<\/code> and <code>direct content<\/code> tags<\/a><\/li>\n<li><a href=\"#_monitoring_the_age_of_the_lines\">3. Monitoring the age of the lines<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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 \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_sources_spring_cleaning\">1. Sources' Spring cleaning<\/a><\/li>\n<li><a href=\"#_access_content_and_direct_content_tags\">2. <code>access content<\/code> and <code>direct content<\/code> tags<\/a><\/li>\n<li><a href=\"#_monitoring_the_age_of_the_lines\">3. Monitoring the age of the lines<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_sources_spring_cleaning\">1. Sources' Spring cleaning<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>It turned out to be a lot of work\u2026 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\u2026 15 of them got back to work ! (including some which needed tokens to be fetched).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It was:<\/p>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>2743 insertions(+), 1824 deletions(-)<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>And it took more time than I expected.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es now counts 953 working sources, including 510 french speaking ones and it&#8217;s still more than Google Actualit\u00e9s (which claims to limit itself to 500 sources).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_access_content_and_direct_content_tags\">2. <code>access content<\/code> and <code>direct content<\/code> tags<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>But the biggest improvment is with this two new tags : <code>access content<\/code> and <code>direct content<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>This two tags are currently findable among the \"tech\" tags, but might get their own category one day.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_monitoring_the_age_of_the_lines\">3. Monitoring the age of the lines<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>For the moment it already allows to follow the amount of work done each of the last years.<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Year<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\"># lines<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2019<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">598<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2020<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">924<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2021<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3177<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2022<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">7024<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2023<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8895<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2024<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3111<\/p><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>This source definition file counts 23.718 lines, all crafted by human beings.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.14 : maintenance des sources et \u00e9tiquettes access content","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/v1.8.14_global_source_maintenance_access_content_and_direct_content.html","rel":"alternate"}},"published":"2024-04-04T00:00:00+02:00","updated":"2024-04-04T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-04-04:\/fr\/journal\/2024\/v1.8.14_global_source_maintenance_access_content_and_direct_content.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_grand_m\u00e9nage_de_printemps_pour_les_sources\">1. Grand m\u00e9nage de printemps pour les sources<\/a><\/li>\n<li><a href=\"#_\u00e9tiquettes_access_content_et_direct_content\">2. \u00c9tiquettes <code>access content<\/code> et <code>direct content<\/code><\/a><\/li>\n<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>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Puisque j&#8217;en \u00e9tait \u00e0 faire de la maintenance sur le sources pour v\u00e9rifier la corretion d&#8217;un bug sur l&#8217;interpr\u00e9tation des \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_grand_m\u00e9nage_de_printemps_pour_les_sources\">1. Grand m\u00e9nage de printemps pour les sources<\/a><\/li>\n<li><a href=\"#_\u00e9tiquettes_access_content_et_direct_content\">2. \u00c9tiquettes <code>access content<\/code> et <code>direct content<\/code><\/a><\/li>\n<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>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Puisque j&#8217;en \u00e9tait \u00e0 faire de la maintenance sur le sources pour v\u00e9rifier la corretion d&#8217;un bug sur l&#8217;interpr\u00e9tation des dates, je me suis lanc\u00e9 dans un sprint de maintenance globale des sources, en me penchant sur chaque source signal\u00e9e comme en panne par la proc\u00e9dure de test automatis\u00e9e.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_grand_m\u00e9nage_de_printemps_pour_les_sources\">1. Grand m\u00e9nage de printemps pour les sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\u00c7a a demand\u00e9 beaucoup de travail\u2026 des centaines de sources ont \u00e9t\u00e9 r\u00e9par\u00e9es. J&#8217;en ai \u00e9galement profit\u00e9 pour redonner une chances aux sources marqu\u00e9es comme cass\u00e9es 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\u00e9canisme de r\u00e9cup\u00e9ration pr\u00e9liminaire de jeton).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette petite t\u00e2che de maintenance s&#8217;est mu\u00e9e en remuage de millier de lignes :<\/p>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>2743 insertions(+), 1824 deletions(-)<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Le tout prenant un peu plus de temps que pr\u00e9vu.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais le r\u00e9sultat est l\u00e0, Meta-Press.es compte d\u00e9sormais 953 sources fonctionnelles, dont 510 sources francophones ce qui est, pour rappel, plus que Google Actualit\u00e9s (qui annonce se limiter \u00e0 500 sources).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le nombre de sources d\u00eetes \"approximatives\" (avec lesquelles il est difficile de travailler parce qu&#8217;elle renvoient un peu n&#8217;importe quoi) est repass\u00e9 sous la barre des 100 (\u00e0 93) gr\u00e2ce \u00e0 la qualitication de nombreuses sources en \"one word\" (pr\u00e9cise pour au moin un mot) via le m\u00e9canisme <code>filter_results<\/code> pr\u00e9sent\u00e9 pr\u00e9c\u00e9demment.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_\u00e9tiquettes_access_content_et_direct_content\">2. \u00c9tiquettes <code>access content<\/code> et <code>direct content<\/code><\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Toutefois l&#8217;am\u00e9lioration principale de cette version c&#8217;est l&#8217;apparition des \u00e9tiquettes : <code>access content<\/code> et <code>direct content<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La premi\u00e8re permet de ne chercher que dans les sources pr\u00e9sentant un contenu accessible en ligne : vraiment sur le web, sans <em>paywall<\/em> in inscription obligatoire. Toutes les sources de Meta-Press.es ont \u00e9t\u00e9 v\u00e9rifi\u00e9e et 692 d&#8217;entre elles se sont r\u00e9v\u00e9l\u00e9es coop\u00e9ratives, soit 72% des sources de Meta-Press.es. Ce qui \u00e9tait jusque l\u00e0 vu comme une faiblesse de l&#8217;outil (ne pas donner acc\u00e8s au contenu des articles) se r\u00e9v\u00e8le finalement \u00eatre une force : dans la majorit\u00e9 des cas Meta-Press.es renvoi vers du contenu lisible.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et ce n&#8217;est pas tout, il est apparu que 127 sources poussent en pratique l&#8217;int\u00e9gralit\u00e9 de leur contenu sur demande, ce qui permet \u00e0 Meta-Press.es de pr\u00e9senter des articles entiers \u00e0 lire dans ses pages. Ces contenus peuvent \u00e9galement \u00eatre export\u00e9s, portag\u00e9s et archiv\u00e9s. Ces sources on re\u00e7u l&#8217;\u00e9tiquette <code>direct content<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ces deux \u00e9tiquettes sont pour l&#8217;instant \u00e0 retrouver dans les \u00e9tiquettes \"techniques\" mais pourrait bient\u00f4t avoir leur propre cat\u00e9gorie.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<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>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Vu le temps qu&#8217;a pris cette maintenance des sources et le travail que \u00e7a repr\u00e9sente, j&#8217;ai fait un petit script permettant de retrouver l&#8217;age des lignes, ann\u00e9e par ann\u00e9e. En utilisant bien ce script il permettra de suivre le volume de maintenance n\u00e9cessaire entre deux s\u00e9ances d&#8217;ajout de source.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour le moment il permet d\u00e9j\u00e0 de se faire une id\u00e9e du travail accompli sur ce fichier chaque ann\u00e9e.<\/p>\n<\/div>\n<table class=\"tableblock frame-all grid-all stretch\">\n<colgroup>\n<col style=\"width: 50%;\">\n<col style=\"width: 50%;\">\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">Ann\u00e9e<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">lignes<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2019<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">598<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2020<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">924<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2021<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3177<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2022<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">7024<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2023<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">8895<\/p><\/td>\n<\/tr>\n<tr>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">2024<\/p><\/td>\n<td class=\"tableblock halign-left valign-top\"><p class=\"tableblock\">3111<\/p><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"paragraph\">\n<p>Ce fichier comportant un total de 23 718 lignes, toutes \u00e9crites \u00e0 la main par des humains.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.13 : fetch token and source maintenance","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/v1.8.13_fetch_token_source_maintenance.html","rel":"alternate"}},"published":"2024-03-08T00:00:00+01:00","updated":"2024-03-08T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-03-08:\/journal\/2024\/v1.8.13_fetch_token_source_maintenance.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<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>\n<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>\n<li><a href=\"#_meta_press_es_is_now_indexing_more_french_speaking_sources_than_google_actualit\u00e9s\">3. Meta-Press.es is now indexing more french speaking sources than Google Actualit\u00e9s<\/a><\/li>\n<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>\n<li><a href=\"#_v1_8_13_1_fix_a_bug_on_date_parsing\">5. v1.8.13.1 \u2026<\/a><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<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>\n<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>\n<li><a href=\"#_meta_press_es_is_now_indexing_more_french_speaking_sources_than_google_actualit\u00e9s\">3. Meta-Press.es is now indexing more french speaking sources than Google Actualit\u00e9s<\/a><\/li>\n<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>\n<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>\n<\/ul>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v1_8_12_use_meta_press_es_to_improve_wikipedia\">1. v1.8.12 : use Meta-Press.es to improve Wikipedia<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v1_8_13_some_source_maintenance_as_per_user_feedback\">2. v1.8.13 : some source maintenance as per user feedback<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Off-Investigation also needed to be fixed, as they suddenly stopped to serve results via RSS.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_meta_press_es_is_now_indexing_more_french_speaking_sources_than_google_actualit\u00e9s\">3. Meta-Press.es is now indexing more french speaking sources than Google Actualit\u00e9s<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<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>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>In those cases it\u2019s possible to define a preliminary request that Meta-Press.es will perform before the search.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>In addition to the <code>token_url<\/code> field, a <code>token_sel<\/code> field now exists and allows to choose which\n element of the page to extract and re-inject in the search URL of the source via a replacement\ntoken \"{T}\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v1_8_13_1_fix_a_bug_on_date_parsing\">5. v1.8.13.1 : fix a bug on date parsing<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.13 : capture de jeton et maintenance de source","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/v1.8.13_fetch_token_source_maintenance.html","rel":"alternate"}},"published":"2024-03-08T00:00:00+01:00","updated":"2024-03-08T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-03-08:\/fr\/journal\/2024\/v1.8.13_fetch_token_source_maintenance.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_v1_8_12_utiliser_meta_press_es_pour_am\u00e9liorer_wikipedia\">1. v1.8.12 : utiliser Meta-Press.es pour am\u00e9liorer Wikipedia<\/a><\/li>\n<li><a href=\"#_v1_8_13_retour_utilisateur_et_maintenance_de_source\">2. v1.8.13 : retour utilisateur et maintenance de source<\/a><\/li>\n<li><a href=\"#_meta_press_es_indexe_d\u00e9sormais_plus_de_sources_francophones_que_google_actualit\u00e9s\">3. Meta-Press.es indexe d\u00e9sormais plus de sources francophones que Google Actualit\u00e9s<\/a><\/li>\n<li><a href=\"#_token_sel_capturer_un_jeton_pour_compl\u00e9ter_lurl_de_recherche\">4. <code>token_sel<\/code> : capturer un jeton pour compl\u00e9ter l&#8217;URL de recherche<\/a><\/li>\n<li><a href=\"#_v1_8_13_1_correction_dun_bug_dans_lanalyse_des_dates\">5. v1.8.13.1 : correction \u2026<\/a><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_v1_8_12_utiliser_meta_press_es_pour_am\u00e9liorer_wikipedia\">1. v1.8.12 : utiliser Meta-Press.es pour am\u00e9liorer Wikipedia<\/a><\/li>\n<li><a href=\"#_v1_8_13_retour_utilisateur_et_maintenance_de_source\">2. v1.8.13 : retour utilisateur et maintenance de source<\/a><\/li>\n<li><a href=\"#_meta_press_es_indexe_d\u00e9sormais_plus_de_sources_francophones_que_google_actualit\u00e9s\">3. Meta-Press.es indexe d\u00e9sormais plus de sources francophones que Google Actualit\u00e9s<\/a><\/li>\n<li><a href=\"#_token_sel_capturer_un_jeton_pour_compl\u00e9ter_lurl_de_recherche\">4. <code>token_sel<\/code> : capturer un jeton pour compl\u00e9ter l&#8217;URL de recherche<\/a><\/li>\n<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>\n<\/ul>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v1_8_12_utiliser_meta_press_es_pour_am\u00e9liorer_wikipedia\">1. v1.8.12 : utiliser Meta-Press.es pour am\u00e9liorer Wikipedia<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>La version 1.8.12 fut une petite mise \u00e0 jour, principalement de la maintenance des sources et l&#8217;ajoute d&#8217;un type de source \u00ab Source secondaire \u00bb pens\u00e9e pour aider \u00e0 enrichir les pages de Wikip\u00e9dia avec des sources secondaires en utilisant Meta-Press.es. La sortie de cette version fut un peu pr\u00e9cipit\u00e9e pour r\u00e9pondre aux besoins d&#8217;un d\u00e9bat sur une liste de diffusion de l&#8217;April.org.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_v1_8_13_retour_utilisateur_et_maintenance_de_source\">2. v1.8.13 : retour utilisateur et maintenance de source<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>La version 1.8.13 peut aussi \u00eatre vue comme une petite mise \u00e0 jour, pr\u00e9cipit\u00e9e pour r\u00e9pondre \u00e0 plusieurs retours utilisateurs. En effet les dates \"dans le futur\" des articles de SudInfo.be ne sont pas pass\u00e9es inaper\u00e7ues. C&#8217;est que cette source ne donne pas d&#8217;ann\u00e9es \u00e0 ses r\u00e9sultats et ajouter simplement l&#8217;ann\u00e9e courante \u00e0 chaque date incompl\u00e8te s&#8217;av\u00e8re \u00eatre une approche un peu trop na\u00efve. \u00c7a faisait bien illusion en fin d&#8217;ann\u00e9e sur les sujets abondamment trait\u00e9s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c0 moins que quelqu&#8217;un ne parviennent \u00e0 convaincre SudInfo.be d&#8217;am\u00e9liorer ses pages de r\u00e9sultats de recherche (en y mettant des dates enti\u00e8res), cette source restera d\u00e9sormais dans la\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/blob\/master\/wiki\/incompatible_sources.adoc?ref_type=heads\">liste des sources incompatibles<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Off-Investigation a eu plus de chance elle, car il a \u00e9t\u00e9 possible de la r\u00e9parer. Elle s&#8217;\u00e9tait pourtant tout simplement mise \u00e0 ne plus servir ses r\u00e9sultats sous forme de flux RSS (servant son flux RSS principal \u00e0 la place). Elle b\u00e9n\u00e9ficie d\u00e9sormais d&#8217;une int\u00e9gration web classique.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_meta_press_es_indexe_d\u00e9sormais_plus_de_sources_francophones_que_google_actualit\u00e9s\">3. Meta-Press.es indexe d\u00e9sormais plus de sources francophones que Google Actualit\u00e9s<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>En effet cette nouvelle version ajoute 16 nouvelles sources francophones \u00e0 Meta-Press.es, ce qui porte le nombre de sources francophones index\u00e9es \u00e0 513, or <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Google_Actualit%C3%A9s\">Google Actualit\u00e9s<\/a> a communiqu\u00e9 sur le fait que seulement 500 sources francophones sont index\u00e9es dans ce moteur de recherche.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;est donc une petite mise \u00e0 jour pour Meta-Press.es, mais un grand pas pour la communaut\u00e9 du logiciel libre et pour la libert\u00e9 de la presse.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_token_sel_capturer_un_jeton_pour_compl\u00e9ter_lurl_de_recherche\">4. <code>token_sel<\/code> : capturer un jeton pour compl\u00e9ter l&#8217;URL de recherche<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Sur le plan technique, cette nouvelle version de Meta-Press.es embarque le m\u00e9canisme <code>token_sel<\/code> permettant de r\u00e9cup\u00e9rer un jeton sur une page de la source avant de lancer une recherche. Comme indiqu\u00e9 dans la documentation technique sur l&#8217;ajout des sources (d\u00e9m\u00e9nag\u00e9e 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>\n<\/div>\n<div class=\"paragraph\">\n<p>Certaines sources ont besoin d\u2019un jeton g\u00e9n\u00e9r\u00e9 lors de l\u2019affichage de leur page de recherche pour servir des r\u00e9sultats. D\u2019autres ont besoin d\u2019une requ\u00eate pr\u00e9liminaire pour pouvoir configurer la langue dans laquelle seront servis les r\u00e9sultats\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans ces diff\u00e9rents cas il est possible de d\u00e9finir une requ\u00eate \u00e0 r\u00e9aliser avant de lancer la recherche (via la directive <code>token_url<\/code>). D\u00e9sormais un champs <code>token_sel<\/code> est \u00e9galement disponible afin d\u2019extraire un \u00e9l\u00e9ment de la page charg\u00e9e et de pouvoir l\u2019injecter dans l\u2019URL de recherche de la source via le jeton de remplacement \"{T}\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;impl\u00e9mentation de ce m\u00e9canisme a permis d&#8217;ajouter la source AfricaIntelligence.fr \/ IntelligenceOnline.fr \u00e0 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\u00e9vu).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<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>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Tout le monde sait qu&#8217;il ne faut rien mettre en production un vendredi soir\u2026 Meta-Press.es ne fait pas exception. Au moins une autre version sera n\u00e9cessaire sur le sujet.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Google don't filter AI generated news","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/20240119_google_dont_filter_artificially_generated_news.html","rel":"alternate"}},"published":"2024-01-19T00:00:00+01:00","updated":"2024-01-19T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-01-19:\/journal\/2024\/20240119_google_dont_filter_artificially_generated_news.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00ab <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> \u00bb<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Since months a lot of fakenews websites are made \u2026<\/em><\/p><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00ab <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> \u00bb<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Interviewed by 404 Media, Google answered : \u00ab 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 \u00bb<\/em><\/p>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>Meta-Press.es is proud to be presenting only human verified content to its users.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Google ne filtre pas les contenus g\u00e9n\u00e9r\u00e9s par IA","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/20240119_google_dont_filter_artificially_generated_news.html","rel":"alternate"}},"published":"2024-01-19T00:00:00+01:00","updated":"2024-01-19T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-01-19:\/fr\/journal\/2024\/20240119_google_dont_filter_artificially_generated_news.html","summary":"<div class=\"paragraph\">\n<p>Aujourd&#8217;hui dans Next.ink le journaliste Jean-Marc Manach rapporte la position officielle de Google concernant les contenus g\u00e9n\u00e9r\u00e9s par intelligence artificielle dans son moteur de recherche Google Actualit\u00e9s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00ab <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 \u00ab de savoir si un article a \u00e9t\u00e9 r\u00e9dig\u00e9 par une IA ou par un humain \u00bb<\/a> \u00bb<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Depuis des mois \u2026<\/em><\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Aujourd&#8217;hui dans Next.ink le journaliste Jean-Marc Manach rapporte la position officielle de Google concernant les contenus g\u00e9n\u00e9r\u00e9s par intelligence artificielle dans son moteur de recherche Google Actualit\u00e9s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00ab <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 \u00ab de savoir si un article a \u00e9t\u00e9 r\u00e9dig\u00e9 par une IA ou par un humain \u00bb<\/a> \u00bb<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Depuis des mois, un floril\u00e8ge de faux sites d\u2019information sont g\u00e9n\u00e9r\u00e9s de toutes pi\u00e8ces gr\u00e2ce \u00e0 l\u2019intelligence artificielle. Cette derni\u00e8re peut produire tr\u00e8s rapidement du contenu (24h\/24), mais sans les v\u00e9rifications et contextualisation que sont cens\u00e9s r\u00e9aliser les journalistes. Pour Google, ce n\u2019est pas un probl\u00e8me, peu importe qui \u00e9crit les articles.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Interrog\u00e9 par 404 Media, Google explique que, \u00ab bien qu\u2019elle tente de lutter contre le spam sur Google Actualit\u00e9s, la soci\u00e9t\u00e9 ne se pr\u00e9occupe pas de savoir si un article a \u00e9t\u00e9 r\u00e9dig\u00e9 par une IA ou par un humain \u00bb.<\/em><\/p>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>Meta-Press.es est fier de ne pr\u00e9senter \u00e0 ses utilisateur que des contenus v\u00e9rifi\u00e9s par des humains.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En n&#8217;int\u00e9grant que des sources valid\u00e9es par des humains, Meta-Press.es atteint un r\u00e9sultat hors de port\u00e9e pour Google, qui pr\u00e9f\u00e8re officiellement laisser ses utilisateurs face \u00e0 un service (Google Actualit\u00e9s) qu&#8217;ils savent malhonn\u00eate.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Meta-Press.es works on Android again","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2024\/20240110_working_with_android_again.html","rel":"alternate"}},"published":"2024-01-10T00:00:00+01:00","updated":"2024-01-10T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-01-10:\/journal\/2024\/20240110_working_with_android_again.html","summary":"<div class=\"admonitionblock tip\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-tip\" title=\"Tip\"><\/i>\n<\/td>\n<td class=\"content\">\nAs 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 !?\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<p>After years of Mozilla based privation of addons for mobile versions of their web \u2026<\/p><\/div>","content":"<div class=\"admonitionblock tip\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-tip\" title=\"Tip\"><\/i>\n<\/td>\n<td class=\"content\">\nAs 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 !?\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>The according mention in our <em>\u00c0 propos<\/em> page was restored in consequance.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>Available on Firefox for Android\u2122<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Meta-Press.es fonctionne sur Android \u00e0 nouveau","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2024\/20240110_working_with_android_again.html","rel":"alternate"}},"published":"2024-01-10T00:00:00+01:00","updated":"2024-01-10T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2024-01-10:\/fr\/journal\/2024\/20240110_working_with_android_again.html","summary":"<div class=\"admonitionblock tip\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-tip\" title=\"Tip\"><\/i>\n<\/td>\n<td class=\"content\">\nCe mercredi 31 janvier 2024, le nombre d&#8217;utilisateurs de Meta-Press.es sous Android a \u00e9t\u00e9 multipli\u00e9 par 10x en deux semanes (bon, d&#8217;accord, on partait de 2, mais qui sais o\u00f9 cela s&#8217;arr\u00eatera !?)\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<p>Apr\u00e8s des ann\u00e9es de privation par Mozilla des extensions sur son navigateur web, Meta-Press \u2026<\/p><\/div>","content":"<div class=\"admonitionblock tip\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-tip\" title=\"Tip\"><\/i>\n<\/td>\n<td class=\"content\">\nCe mercredi 31 janvier 2024, le nombre d&#8217;utilisateurs de Meta-Press.es sous Android a \u00e9t\u00e9 multipli\u00e9 par 10x en deux semanes (bon, d&#8217;accord, on partait de 2, mais qui sais o\u00f9 cela s&#8217;arr\u00eatera !?)\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<p>Apr\u00e8s des ann\u00e9es de privation par Mozilla des extensions sur son navigateur web, Meta-Press.es est \u00e0 nouveau installable sur Android via <a href=\"https:\/\/f-droid.org\/en\/packages\/org.mozilla.fennec_fdroid\/\">Fennec F-Droid<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La mention correspondante a donc \u00e9t\u00e9 restaur\u00e9e sur notre page <em>\u00c0 propos<\/em>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nous sommes heureux de faire partie des\n<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\u00e9es \u00e0 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\u00e9 la mention :<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>Disponible sur Firefox pour Android\u2122<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Forum ESS 2024 : How to make your NGO press review with Meta-Press.es ?","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2023\/2024_Forum_ESS.html","rel":"alternate"}},"published":"2023-12-20T00:00:00+01:00","updated":"2023-12-20T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-12-20:\/journal\/2023\/2024_Forum_ESS.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ll explain how to setup automated requests in Meta-Press.es at this time slot during the event :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2024-01-31 16:30 UTC \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ll explain how to setup automated requests in Meta-Press.es at this time slot during the event :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2024-01-31 16:30 UTC+1 in Niort : <a href=\"https:\/\/www.forum-ess.fr\/?RealiserLaRevueDePresseDeSonAssociation2\">R\u00e9aliser la revue de presse de son association<\/a> (place : Coop\u00e9rer et s&#8217;accompagner : Bienvenue dans l&#8217;ESS).<\/p>\n<\/li>\n<\/ul>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Forum ESS 2024 : R\u00e9aliser la revue de presse de son association","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2023\/2024_Forum_ESS.html","rel":"alternate"}},"published":"2023-12-20T00:00:00+01:00","updated":"2023-12-20T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-12-20:\/fr\/journal\/2023\/2024_Forum_ESS.html","summary":"<div class=\"paragraph\">\n<p>Apr\u00e8s une pr\u00e9sentation timide lors de l&#8217;\u00e9dition 2023 du Forum de l&#8217;ESS \u00e0 Niort (France), Meta-Press.es fera l&#8217;objet d&#8217;un atelier d'1h lors de la prochaine \u00e9dition.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;y expliquerai comment configurer des requ\u00eates automatiques :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2024-01-31 16:30 UTC+1 \u00e0 Niort : <a href=\"https:\/\/www.forum-ess.fr\/?RealiserLaRevueDePresseDeSonAssociation2\">R\u00e9aliser la revue de \u2026<\/a><\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Apr\u00e8s une pr\u00e9sentation timide lors de l&#8217;\u00e9dition 2023 du Forum de l&#8217;ESS \u00e0 Niort (France), Meta-Press.es fera l&#8217;objet d&#8217;un atelier d'1h lors de la prochaine \u00e9dition.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;y expliquerai comment configurer des requ\u00eates automatiques :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2024-01-31 16:30 UTC+1 \u00e0 Niort : <a href=\"https:\/\/www.forum-ess.fr\/?RealiserLaRevueDePresseDeSonAssociation2\">R\u00e9aliser la revue de presse de son association<\/a> (espace : Coop\u00e9rer et s&#8217;accompagner : Bienvenue dans l&#8217;ESS).<\/p>\n<\/li>\n<\/ul>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[NLnet] FreeWebSearch Day: Meet the Makers","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2023\/20230929_freewebsearchday_meet_the_makers.html","rel":"alternate"}},"published":"2023-09-29T00:00:00+02:00","updated":"2023-09-29T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-09-29:\/revues\/2023\/20230929_freewebsearchday_meet_the_makers.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_interview_with_simon_descarpentries_from_meta_press_es\">1. Interview With Simon Descarpentries from Meta-Press.es<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_no_censorship\">1.1. No censorship<\/a><\/li>\n<li><a href=\"#_problems_with_search_today\">1.2. Problems with search today<\/a><\/li>\n<li><a href=\"#_information_has_a_price\">1.3. Information has a price<\/a><\/li>\n<li><a href=\"#_a_solution_to_decentralized_indexing\">1.4. A solution to decentralized indexing<\/a><\/li>\n<li><a href=\"#_the_future_of_search_should_be_collaborative\">1.5. The future of search should be collaborative<\/a><\/li>\n<li><a href=\"#_we_mustnt_rely_on_search_engines_to_know_the_world\">1.6. We mustn&#8217;t rely on search engines \u2026<\/a><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_interview_with_simon_descarpentries_from_meta_press_es\">1. Interview With Simon Descarpentries from Meta-Press.es<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_no_censorship\">1.1. No censorship<\/a><\/li>\n<li><a href=\"#_problems_with_search_today\">1.2. Problems with search today<\/a><\/li>\n<li><a href=\"#_information_has_a_price\">1.3. Information has a price<\/a><\/li>\n<li><a href=\"#_a_solution_to_decentralized_indexing\">1.4. A solution to decentralized indexing<\/a><\/li>\n<li><a href=\"#_the_future_of_search_should_be_collaborative\">1.5. The future of search should be collaborative<\/a><\/li>\n<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>\n<li><a href=\"#_ways_to_get_involved_with_meta_press\">1.7. Ways to get involved with Meta-Press<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Interviews with Viktor Lofgren (from <strong>Marginalia<\/strong> search engine) and Simon Descarpentries (from Meta-Press.es search engine).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>Simon\u2019s 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>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/nlnet.nl\/events\/20230929\/index.html\">Page of the event<\/a> on NLnet website<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/nlnet.nl\/media\/simon-metapress.opus\">The interview audio<\/a> (45 minutes)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_interview_with_simon_descarpentries_from_meta_press_es\">1. Interview With Simon Descarpentries from Meta-Press.es<\/h2>\n<div class=\"sectionbody\">\n<div class=\"quoteblock\">\n<blockquote>\n\"We should not rely on search engines to free us from the effort to know the world\"\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Simon Descarpentries<br>\n<cite>Meta-Press.es<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>Question: Can you tell us something about Meta-Press.es?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019t 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\u2019t reach it.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_no_censorship\">1.1. No censorship<\/h3>\n<div class=\"paragraph\">\n<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\u2019s 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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_problems_with_search_today\">1.2. Problems with search today<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q: What problems do you see with search today?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019s 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>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_mass_surveillance_as_an_economic_model\">1.2.1. Mass surveillance as an economic model<\/h4>\n<div class=\"paragraph\">\n<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\u2026 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\u2019s a reality we have to face.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_decreasing_accuracy_of_search_results\">1.2.2. Decreasing accuracy of search results<\/h4>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_were_losing_our_ability_to_be_inquisitive\">1.2.3. We&#8217;re losing our ability to be inquisitive<\/h4>\n<div class=\"paragraph\">\n<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\u2019ll 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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_information_has_a_price\">1.3. Information has a price<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q: How does Meta-press address these problems?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019t change the way the world is turning, it will continue to turn the wrong way.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_a_solution_to_decentralized_indexing\">1.4. A solution to decentralized indexing<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_the_future_of_search_should_be_collaborative\">1.5. The future of search should be collaborative<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q: What do you think will happen with search in the future?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019s 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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019s 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\u2019t have maps of the ocean floors.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<p><strong>Q: Is that how you would like to see search evolve in the future? Becoming more collaborative?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019t 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\u2019t work and will catch people in the glue like small birds.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019t solve society\u2019s problems. If humans work together it will be better.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_ways_to_get_involved_with_meta_press\">1.7. Ways to get involved with Meta-Press<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q: How can we contribute to Meta-Press?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2019s 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>\n<\/div>\n<div class=\"paragraph\">\n<p>Once you have this newspaper definition it\u2019s 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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[NLnet] Journ\u00e9e de la recherche libre sur le Web : rencontres","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2023\/20230929_freewebsearchday_meet_the_makers.html","rel":"alternate"}},"published":"2023-09-29T00:00:00+02:00","updated":"2023-09-29T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-09-29:\/fr\/revues\/2023\/20230929_freewebsearchday_meet_the_makers.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_entrevue_avec_simon_descarpentries_de_meta_press_es\">1. Entrevue avec Simon Descarpentries de Meta-Press.es<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_pas_de_censure\">1.1. Pas de censure<\/a><\/li>\n<li><a href=\"#_les_probl\u00e8mes_de_la_recherche_sur_internet_aujourdhui\">1.2. Les probl\u00e8mes de la recherche sur Internet aujourd&#8217;hui<\/a><\/li>\n<li><a href=\"#_linformation_a_un_prix\">1.3. L&#8217;information a un prix<\/a><\/li>\n<li><a href=\"#_un_index_d\u00e9centralis\u00e9\">1.4. Un index d\u00e9centralis\u00e9<\/a><\/li>\n<li><a href=\"#_le_futur_de_la_recherche_en_ligne_devrait_\u00eatre_collaboratif\">1.5. Le futur de la recherche en ligne devrait \u00eatre collaboratif<\/a><\/li>\n<li><a href=\"#_nous_ne_devrions_pas_nous_reposer_sur_les_moteurs_de_recherche_pour_conna\u00eetre_le_monde\">1 \u2026<\/a><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_entrevue_avec_simon_descarpentries_de_meta_press_es\">1. Entrevue avec Simon Descarpentries de Meta-Press.es<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_pas_de_censure\">1.1. Pas de censure<\/a><\/li>\n<li><a href=\"#_les_probl\u00e8mes_de_la_recherche_sur_internet_aujourdhui\">1.2. Les probl\u00e8mes de la recherche sur Internet aujourd&#8217;hui<\/a><\/li>\n<li><a href=\"#_linformation_a_un_prix\">1.3. L&#8217;information a un prix<\/a><\/li>\n<li><a href=\"#_un_index_d\u00e9centralis\u00e9\">1.4. Un index d\u00e9centralis\u00e9<\/a><\/li>\n<li><a href=\"#_le_futur_de_la_recherche_en_ligne_devrait_\u00eatre_collaboratif\">1.5. Le futur de la recherche en ligne devrait \u00eatre collaboratif<\/a><\/li>\n<li><a href=\"#_nous_ne_devrions_pas_nous_reposer_sur_les_moteurs_de_recherche_pour_conna\u00eetre_le_monde\">1.6. Nous ne devrions pas nous reposer sur les moteurs de recherche pour conna\u00eetre le monde<\/a><\/li>\n<li><a href=\"#_comment_simpliquer_dans_meta_press_es\">1.7. Comment s&#8217;impliquer dans Meta-Press.es<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Interviews de Viktor Lofgren (du projet de moteur de recherche <strong>Marginalia<\/strong>) et Simon Descarpentries (fondateur du m\u00e9ta-moteur de recherche Meta-Press.es).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le <em><a href=\"https:\/\/freewebsearch.org\/en\/\">FreeWebSearch Day<\/a><\/em> est un \u00e9v\u00e8nement annuel qui se tient autour du 29 septembre. C&#8217;est un jour pour faire vivre la libert\u00e9 d&#8217;information et la d\u00e9mocratie. Tout le monde est invit\u00e9 \u00e0 rejoindre le mouvement et organiser un \u00e9v\u00e8nement local et des actions sur ce th\u00e8me.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le projet <strong>Meta-Press.es<\/strong> de Simon Descarpentries vous permet d&#8217;explorer l&#8217;actualit\u00e9 en ligne sans interm\u00e9diaire entre votre ordinateur et les journaux en ligne consult\u00e9s. Ce moteur de recherche se pr\u00e9sente sous la forme d&#8217;une extension de navigateur web et vous aide \u00e0 franchir les mar\u00e9cages de publicit\u00e9, de <em>fake-news<\/em> et de collecte de vos donn\u00e9es personnelles en ligne. Avec Meta-Press.es, vous reprenez le contr\u00f4le de vos recherches et lectures en ligne en s\u00e9lectionnant vos sources.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/nlnet.nl\/events\/20230929\/index.html\">Page de l&#8217;\u00e9v\u00e8nement<\/a> sur le site d&#8217;NLnet<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/nlnet.nl\/media\/simon-metapress.opus\">L&#8217;enregistrement audio<\/a> de l&#8217;interview (45 minutes)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_entrevue_avec_simon_descarpentries_de_meta_press_es\">1. Entrevue avec Simon Descarpentries de Meta-Press.es<\/h2>\n<div class=\"sectionbody\">\n<div class=\"quoteblock\">\n<blockquote>\n\u00ab Les moteurs de recherche ne nous lib\u00e8rent pas de l&#8217;effort \u00e0 faire pour conna\u00eetre le monde \u00bb\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; Simon Descarpentries<br>\n<cite>Meta-Press.es<\/cite>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Initialement publi\u00e9 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>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9diaire ni suivi publicitaire. Cr\u00e9ateur et principal d\u00e9veloppeur, Simon Descarpentries est un fervent supporteur des logiciels libres depuis (plus de 20 ans). Il a \u00e9t\u00e9 <a href=\"https:\/\/framasoft.org\">employ\u00e9 de Framasoft<\/a> et est actuellement g\u00e9rant de la SSII Acoeuro.com et tr\u00e9sorier du <a href=\"https:\/\/www.fdn2.org\/en\/presentation.html\">Fond de d\u00e9fense de la neutralit\u00e9 du Net<\/a>. Nous l&#8217;avons interview\u00e9 pour le <a href=\"https:\/\/nlnet.nl\/events\/20230929\/index.html\">#FreeWebSearchDay<\/a>. Vous pouvez \u00e9couter l&#8217;enregistrement de cette entrevue ou lire la transcription suivante.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>Question : Pouvez-vous nous dire quelque chose \u00e0 propos de Meta-Press.es ?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>R\u00e9ponse : Meta-Press est un logiciel libre permettant \u00e0 chacun de chercher dans la presse en ligne. En un clic vous pouvez chercher dans 930 journaux. Toutes ces sources sont index\u00e9es une par une par des humains. Actuellement, si vous fa\u00eetes une recherche sur la presse via le moteur de recherche d&#8217;un GAFAM vous risquez d&#8217;obtenir des r\u00e9sultats en provenance de faux journaux forg\u00e9s sur mesure pour les berner. Certains se contentent de de copier du vrai contenu ailleurs et d&#8217;y coller leurs pub \u00e0 c\u00f4t\u00e9. Les GAFAM ne font pas la diff\u00e9rence car leur processus de d\u00e9couverte et d&#8217;indexation des journaux en ligne est enti\u00e8rement automatis\u00e9. Avec Meta-Press.es, nous avons fait le travail \u00e0 la main, donc tout est v\u00e9rifi\u00e9 par des humains. De plus, Meta-Press.es int\u00e8gre plus de 700 journaux donnant acc\u00e8s \u00e0 leur contenu, parce que c&#8217;est le mod\u00e8le \u00e9conomique qu&#8217;ils ont choisi. Contrairement \u00e0 Google News, Meta-Press.es ne vous m\u00e8ne pas \u00e0 un cul de sac en vous montrant surtout ce qui existe mais que vous ne pourrez pas lire (sans abonnement).<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_pas_de_censure\">1.1. Pas de censure<\/h3>\n<div class=\"paragraph\">\n<p>Meta-press est une extension du navigateur web Firefox, accessible \u00e0 tous. Elle est construite avec une architecture qui garanti qu&#8217;il n&#8217;y a pas de goulot d&#8217;\u00e9tranglement, de point unique de passage pour les requ\u00eates, d&#8217;o\u00f9 on peut facilement surveiller le trafic et en censurer une partie. Une fois l&#8217;extension Meta-Press.es install\u00e9e dans votre navigateur, vos requ\u00eates de recherche ne sont pas envoy\u00e9es vers un hypoth\u00e9tique serveur Meta-Press.es pour \u00eatre trait\u00e9es. En fait c&#8217;est votre ordinateur qui apprend \u00e0 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 \u00e7a, il est plus difficile de censurer quelque chose, d&#8217;une part parce qu&#8217;il y a beaucoup de journaux interrog\u00e9s et d&#8217;autre part parce que c&#8217;est chaque utilisateur qui fait tourner le service. Et c&#8217;est comme \u00e7a que fonctionne l&#8217;internet : pas de point unique de passage o\u00f9 une d\u00e9faillance entrainerait la d\u00e9faillance du syst\u00e8me. Plus il y a de personnes qui utilisent Meta-Press.es, mieux il fonctionne.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_les_probl\u00e8mes_de_la_recherche_sur_internet_aujourdhui\">1.2. Les probl\u00e8mes de la recherche sur Internet aujourd&#8217;hui<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q : Quels probl\u00e8mes voyez-vous avec les moteurs de recherche aujourd&#8217;hui ?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>R : Mon principal probl\u00e8me avec les moteurs de recherche des GAFAM est celui que j&#8217;ai mentionn\u00e9 en introduction : ils servent (aussi) des r\u00e9sultats provenant de faux journaux. Il est assez facile de forger du contenu sur mesure pour percer \u00e0 travers leurs algorithmes de classement des r\u00e9sultats. Et comme personne ne v\u00e9rifie jamais, on peut les leurrer. C&#8217;est \u00e0 votre port\u00e9e, et c&#8217;est \u00e0 la port\u00e9e des entreprises et des gouvernements. C&#8217;est trou\u00e9, y&#8217;a besoin d&#8217;autre chose. Ces moteurs de recherche sont ballonn\u00e9s de mauvais contenus, malhonn\u00eates, cass\u00e9s en quelque sorte. Et \u00e7a ne va faire qu&#8217;empirer parce qu&#8217;il y a de l&#8217;argent en jeu et des enjeux politiques.<\/p>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_la_surveillance_de_masse_comme_mod\u00e8le_\u00e9conomique\">1.2.1. La surveillance de masse comme mod\u00e8le \u00e9conomique<\/h4>\n<div class=\"paragraph\">\n<p>Un autre probl\u00e8me qu&#8217;on rencontre quand on veut lancer une recherche sur le net, c&#8217;est que le march\u00e9 est domin\u00e9 par une poign\u00e9e de m\u00e9gacorp' qui ne respectent aucune r\u00e8gle et dont le mod\u00e8le \u00e9conomique est bas\u00e9 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\u00e9resse, o\u00f9 est-ce que vous avez cliqu\u00e9\u2026). Si on vous ajoutait un \u00e9cran pour lister toutes les informations que les GAFAM arrivent \u00e0 extraire de vos navigations sur le web, vous \u00e9teindriez tout simplement votre ordinateur. Et ces informations sont vendues aux plus offrants (entreprises, gouvernements, partis politiques\u2026). On est pas dans de la th\u00e9orie du complot l\u00e0, je rappelle juste ce qu&#8217;on a appris gr\u00e2ce \u00e0 Edward Snowden ou au scandale Cambridge Analytica. Ce serait plus confortable de vivre dans un monde o\u00f9 nous pourrions oublier ces scandales, mais ils constituent la r\u00e9alit\u00e9 \u00e0 laquelle nous devons faire front.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_d\u00e9clin_de_la_pr\u00e9cision_des_moteurs_de_recherche\">1.2.2. D\u00e9clin de la pr\u00e9cision des moteurs de recherche<\/h4>\n<div class=\"paragraph\">\n<p>Un 3e probl\u00e8me vient du fait que les moteurs de recherche classiques perdent en pr\u00e9cision. De plus en plus de contenu commercial sans grand int\u00e9r\u00eat est cr\u00e9\u00e9 sur mesure pour sortir en premier sur les moteurs de recherche. Ils apparaissent m\u00eame s&#8217;ils ne r\u00e9pondent pas vraiment \u00e0 vos questions. Dans le domaine de la s\u00e9curit\u00e9 informatique on appelle \u00e7a une attaque par injection. Google peut \u00eatre vu comme une faille de s\u00e9curit\u00e9 b\u00e9ante, ouverte aux attaques par injection. C&#8217;est un probl\u00e8me technique rencontr\u00e9 aujourd&#8217;hui par les moteurs de recherche.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_et_lesprit_critique_dans_tout_\u00e7a\">1.2.3. Et l&#8217;esprit critique dans tout \u00e7a ?<\/h4>\n<div class=\"paragraph\">\n<p>Un dernier point concerne le fait que si les humains gagnent du temps \u00e0 utiliser les moteurs de recherche, ils s&#8217;en trouvent \u00e9galement ramollis dans leurs comp\u00e9tences. 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\u00e9parer un trajet \u00e0 l&#8217;aide d&#8217;une carte avant de prendre la route). Or si un GPS devenait malhonn\u00eate et impr\u00e9cis, ne vous menant plus vraiment l\u00e0 o\u00f9 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\u00eates et impr\u00e9cis, il faut les abandonner. Vous devriez vous entrainer \u00e0 rechercher des informations autrement : \u00e0 croiser vos informations, \u00e0 comparer vos sources, \u00e0 publier le r\u00e9sultats de vos recherches pour que d&#8217;autres puissent v\u00e9rifier \u00e0 leur tour\u2026 Il s&#8217;agit de devenir un peu journaliste \u00e0 son tour. Comme l&#8217;a dit Viktor Lofgren du projet Marginalia : plus vous utilisez Google et plus vous vous retrouvez enferm\u00e9 dans le petit parc de ce que Google veut bien vous montrer. Le meilleur moteur de recherche, c&#8217;est votre cerveau !<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_linformation_a_un_prix\">1.3. L&#8217;information a un prix<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q : Comment est-ce que vous r\u00e9solvez ces probl\u00e8mes avec Meta-Press ?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>R : Meta-Press.es r\u00e9pond au probl\u00e8me des <em>fake news<\/em> en ne fournissant que des sources qui ont \u00e9t\u00e9 reconnues et valid\u00e9es par des humains. Meta-Press ne cherche que dans de vrais journaux, avec des articles \u00e9cris par de vrais humains. Des humains qui ont \u00e9t\u00e9 entrain\u00e9s et pay\u00e9s pour \u00e7a 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\u00e9abondes 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\u00e7on dont fonctionne le monde, il continuera \u00e0 tourner de travers.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_un_index_d\u00e9centralis\u00e9\">1.4. Un index d\u00e9centralis\u00e9<\/h3>\n<div class=\"paragraph\">\n<p>Il y a plusieurs projets de logiciel libre qui travaillent \u00e0 r\u00e9aliser un moteur de recherche g\u00e9n\u00e9raliste comme YaCy, Searx ou Marginalia. Ils s&#8217;attaquent \u00e0 un probl\u00e8me difficile : comment co-construire un indexe distribu\u00e9 qui soit honn\u00eate et fiable ? Avec Meta-Press on a simplifi\u00e9 le probl\u00e8me en ne nous occupant que de recherche dans la presse. Les journaux en ligne fournissent g\u00e9n\u00e9ralement un index honn\u00eate de leur contenu, par le biais de leur recherche interne. Leur r\u00e9putation serait entach\u00e9e si leur moteur de recherche interne \u00e9tait mauvais. Meta-Press ne fait que rassembler ces index de journaux. C&#8217;est une petite fen\u00eatre ouverte sur le monde, \u00e7a ne permet d&#8217;atteindre que ce que des journalistes ont \u00e9crit. Mais c&#8217;est une fen\u00eatre qui donne sur une grosse partie du monde quand m\u00eame, car \"regarder un peu partout\" c&#8217;est justement le m\u00e9tier des journalistes.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cr\u00e9er un index de moteur de recherche g\u00e9n\u00e9raliste est un probl\u00e8me compliqu\u00e9 et moi je suis meilleur pour r\u00e9soudre les probl\u00e8mes simples. Je me suis donc limit\u00e9 \u00e0 un probl\u00e8me simple. Quand j&#8217;ai commenc\u00e9, Meta-Press.es \u00e9tait tout petit compar\u00e9 \u00e0 Google, mais j&#8217;ai d\u00e9cid\u00e9 de pers\u00e9v\u00e9rer, de m&#8217;occuper de ce probl\u00e8me l\u00e0 (la recherche d&#8217;actu sur le web) et d&#8217;arracher ce cheveux de la t\u00eate du g\u00e9ant Google plut\u00f4t que de chercher \u00e0 le terrasser \u00e0 moi tout seul. Je vous invite \u00e0 en faire de m\u00eame, choisissez un combat, arrachez votre cheveux de la t\u00eate de Google. Attaquez-vous \u00e0 un probl\u00e8me, et fa\u00eetes les choses bien.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_le_futur_de_la_recherche_en_ligne_devrait_\u00eatre_collaboratif\">1.5. Le futur de la recherche en ligne devrait \u00eatre collaboratif<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q : Que pensez-vous qu&#8217;il va se passer avec la recherche en ligne \u00e0 l&#8217;avenir ?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>R : ChatGPT pourrait signifier la fin des moteurs de recherche comme Google d&#8217;ici un an ou deux si sa popularit\u00e9 continue de grimper \u00e0 cette allure. Pas parce que les r\u00e9sultats obtenus sont meilleurs mais parce qu&#8217;il est plus simple \u00e0 utiliser. ChatGPT n&#8217;est qu&#8217;un perroquet stochastique. Il n&#8217;a aucune id\u00e9e de ce qu&#8217;il raconte. Vous pouvez lui demander la liste des pr\u00e9sidents de la r\u00e9publique fran\u00e7aise et vous obtiendrez une liste. Demandez lui quelles furent les pr\u00e9sidentes et vous obtiendrez aussi une liste, alors qu&#8217;aucune femme n&#8217;a encore pr\u00e9sid\u00e9 la France. Malgr\u00e9 \u00e7a, ChatGPT cartonne parce qu&#8217;il est plus simple \u00e0 utiliser pour les gens. Or c&#8217;est toujours \u00e7a qui gagne (le plus simple, pas le meilleur).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>ChatGPT fonctionne gr\u00e2ce \u00e0 un algorithme qui se revendique d&#8217;intelligence artificielle et heureusement pour nous \u00e7a n&#8217;a rien \u00e0 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 \u00eatre utilis\u00e9e pour le bien de l&#8217;humanit\u00e9. Par exemple il existe <a href=\"https:\/\/plantnet.org\/\">Pl@ntNet<\/a>, un site web o\u00f9 vous pouvez envoyer des photos de plantes et qui vous r\u00e9pondra \u00e0 quelle esp\u00e8ce votre sp\u00e9cimen ressemble le plus. Voil\u00e0 une porte ouverte vers le savoir. Il s&#8217;agit de la m\u00eame technologie (que ChatGPT), mais utilis\u00e9e de la bonne mani\u00e8re. iNaturalist.org vous aide, de la m\u00eame mani\u00e8re, \u00e0 identifier l&#8217;insecte qu&#8217;il y a en face de vous. BirdNet de l&#8217;universit\u00e9 de Cornell vous dira quels oiseaux vous \u00eates entrain d&#8217;entendre (et avez r\u00e9ussi \u00e0 enregistrer avec votre mobile).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voil\u00e0 des exemples de moteur de recherche en ligne qui m&#8217;enthousiasment. Il s&#8217;agit d&#8217;efforts collaboratifs. Plus ils sont utilis\u00e9s et plus ils s&#8217;am\u00e9liorent. 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\u00e9e), vous invite \u00e0 envoyer plus de photos et \u00e0 revenir lorsqu&#8217;il y aura des fleurs ou des fruits\u2026 De cette mani\u00e8re l&#8217;humanit\u00e9 travaille ensemble pour am\u00e9liorer notre connaissance du monde. C&#8217;est \u00e0 mon avis dans cette direction qu&#8217;il faut aller. Je ne vois pas l&#8217;int\u00e9r\u00eat d&#8217;aller sur Mars tant que nous n&#8217;aurons pas fini de cartographier le fond des oc\u00e9ans.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_nous_ne_devrions_pas_nous_reposer_sur_les_moteurs_de_recherche_pour_conna\u00eetre_le_monde\">1.6. Nous ne devrions pas nous reposer sur les moteurs de recherche pour conna\u00eetre le monde<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q : Est-ce la direction que vous souhaitez voir prendre \u00e0 la recherche en ligne, devenir plus collaborative ?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>R : Oui. Il y a deux aspects au probl\u00e8me. Est-ce le moteur de recherche qui a besoin d&#8217;\u00eatre am\u00e9lior\u00e9, ou est-ce plut\u00f4t la fa\u00e7on dont nous publions les choses ? Chercher un livre dans une biblioth\u00e8que est facile parce que c&#8217;est un espace organis\u00e9. Il y a des \u00e9tag\u00e8res o\u00f9 les livres sont rang\u00e9s par ordre alphab\u00e9tique et \u00e7a marche tr\u00e8s bien. Si nous publions mieux nos contenus, il ne sera pas compliqu\u00e9 de les rechercher. Mais esp\u00e9rer que les moteurs de recherche vont nous lib\u00e9rer de l&#8217;effort \u00e0 faire pour conna\u00eetre le monde est une illusion. L&#8217;outil s&#8217;interpose entre le savoir et vous, vous retenant prisonniers comme des passereaux englu\u00e9s (dans le respect de la tradition).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il me semble pr\u00e9f\u00e9rable de garder en t\u00eate les limites du r\u00eaves qui nous est vendu : la soi-disante intelligence artificielle n&#8217;est qu&#8217;un algorithme de tri automatique des donn\u00e9es qui n&#8217;a aucune id\u00e9e de ce qu&#8217;il manipule. Les outils ne vont pas r\u00e9gler les probl\u00e8mes de soci\u00e9t\u00e9. C&#8217;est aux humains de travailler ensembles.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour moi la direction \u00e0 suivre est celle des efforts collaboratifs visant \u00e0 d\u00e9couvrir et \u00e0 cartographier le monde, comme OpenStreetMap. Des gens travaillant ensemble pour mettre leurs connaissances du monde en commun de mani\u00e8re \u00e0 pouvoir chercher dedans ensuite. Vous pouvez par exemple aider Meta-Press.es \u00e0 cartographier les journaux du monde. C&#8217;est aussi un effort collaboratif. Le projet est ouvert aux contributions. Aidez-nous \u00e0 d\u00e9couvrir le monde ! Et gr\u00e2ce \u00e0 la NLnet il y aura bient\u00f4t un formulaire permettant d&#8217;ajouter une source \u00e0 Meta-Press en quelques clics (sans avoir besoin de connaissances en d\u00e9veloppement web).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_comment_simpliquer_dans_meta_press_es\">1.7. Comment s&#8217;impliquer dans Meta-Press.es<\/h3>\n<div class=\"paragraph\">\n<p><strong>Q : Comment contribuer \u00e0 Meta-Press.es ?<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>R : Vous pouvez ajouter vos propres sources \u00e0 Meta-Press. Sur le site du projet Meta-Press.es vous trouverez une documentation d\u00e9taillant 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 \u00e0 quelqu&#8217;un qui n&#8217;a pas peur du d\u00e9veloppement web. Mais gr\u00e2ce au financement de la NLnet je suis entrain de d\u00e9velopper une interface qui vous permettra de copier simplement l&#8217;adresse d&#8217;un journal dans un formulaire, puis de pointer \u00e0 la souris o\u00f9 est le moteur de recherche, puis o\u00f9 sont les r\u00e9sultats, leur lien, leur date et se sera d\u00e9j\u00e0 suffisant pour commencer.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une fois que vous avez cette d\u00e9finition de journal fonctionnelle dans Meta-Press sur votre ordinateur, vous pouvez nous l&#8217;envoyer par courriel \u00e0 l&#8217;adresse contact@ ou cr\u00e9er une demande d&#8217;ajout sur le FramaGit.org. Vous pouvez \u00e9galement nous joindre par IRC ou Mastodon.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ajouter des sources est une contribution ouverte \u00e0 tous, mais toute aide est la bienvenue. Vous pouvez aider le projet en aidant aux traductions (qui sont g\u00e9r\u00e9es via <a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate.org<\/a>, un super logiciel libre port\u00e9e par une \u00e9quipe au mod\u00e8le \u00e9conomique \u00e9thique). Vous pouvez aussi aider le projet en en parlant autour de vous. Pr\u00e9sentez-le \u00e0 vos amis, dans votre universit\u00e9, votre m\u00e9diath\u00e8que\u2026 Meta-Press.es est configurable et permet de cibler ses recherches (texte, photo, \u00e9v\u00e8nements\u2026), th\u00e8me ou langue (parmi les 75 accessibles aujourd&#8217;hui). Essayez Meta-Press.es, utilisez-le et fa\u00eetes-le conna\u00eetre.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Mais par exemple syst\u00e9matiquement devant des centres commerciaux et en passant devant un maximum de pubs\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"Version 1.8.11 : 900 sources, event and job result type, #fixtheworld","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2023\/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html","rel":"alternate"}},"published":"2023-08-09T00:00:00+02:00","updated":"2023-08-09T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-08-09:\/journal\/2023\/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_new_result_types_event_and_job\">1.1. New result types : event and job<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_source_definition_evolution\">2. Source definition evolution<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_token_url\">2.1. <code>token_url<\/code><\/a><\/li>\n<li><a href=\"#_date_locale\">2.2. <code>date_locale<\/code><\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_source_list_pagination_bug\">3. Source list pagination bug<\/a><\/li>\n<li><a href=\"#_fun_facts\">4. Fun facts<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_hacking_la_charente_libre_for_its_dates\">4.1. Hacking La Charente Libre for its dates<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_fix_the_world\">5. Fix the world<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Over 185 commits were made since the \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_new_result_types_event_and_job\">1.1. New result types : event and job<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_source_definition_evolution\">2. Source definition evolution<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_token_url\">2.1. <code>token_url<\/code><\/a><\/li>\n<li><a href=\"#_date_locale\">2.2. <code>date_locale<\/code><\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_source_list_pagination_bug\">3. Source list pagination bug<\/a><\/li>\n<li><a href=\"#_fun_facts\">4. Fun facts<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_hacking_la_charente_libre_for_its_dates\">4.1. Hacking La Charente Libre for its dates<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_fix_the_world\">5. Fix the world<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>J\u00e9rome Bertin<\/p>\n<\/li>\n<li>\n<p>C\u00e9line Duguet<\/p>\n<\/li>\n<li>\n<p>Vincent Gay<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_maintenance\">1. Source maintenance<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_new_result_types_event_and_job\">1.1. New result types : event and job<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_definition_evolution\">2. Source definition evolution<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_token_url\">2.1. <code>token_url<\/code><\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_date_locale\">2.2. <code>date_locale<\/code><\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>This means that the dates of this sources are display using the user browser locale\u2026 so it changes from a user to another.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Corriere della Sera<\/em> is behaving like that.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_list_pagination_bug\">3. Source list pagination bug<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fun_facts\">4. Fun facts<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>I noticed that the Monde Diplomatique in esperanto now serves its dates in esperanto. It was a pleasant update to make.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026 It&#8217;s now elwatan-dz.com.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>And to finish, El Pa\u00ecs (spanish Reference Press organ) can find you results for :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/elpais.com\/ciencia\/2023-07-26\/bbbb.html\">bbbb<\/a> (it&#8217;s a 404)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/babelia\/2023-07-25\/cccc.html\">cccc<\/a> (it&#8217;s also a 404)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/elpais\/2015\/04\/13\/album\/1428920476_297608.html\">ffff<\/a> (and it exists)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/diario\/2001\/06\/13\/paisvasco\/992461212_850215.html\">vvvv<\/a> (and it exists)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/diario\/2001\/07\/12\/paisvasco\/994966799_850215.html\">xxxx<\/a> (and it exists)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/diario\/2001\/06\/20\/paisvasco\/993066002_850215.html\">zzzz<\/a> (and it exists)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>All these fun facts were pushed to Mastodon with the <a href=\"https:\/\/pouet.chapril.org\/tags\/metapress\">#metapress<\/a>.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_hacking_la_charente_libre_for_its_dates\">4.1. Hacking La Charente Libre for its dates<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>The web interface gives no hope to sort results by date or so\u2026 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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Don&#8217;t hesitate to report me where it works !<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fix_the_world\">5. Fix the world<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110593201543282969\">Mediapart<\/a> could improve it&#8217;s search precision<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110548107355647350\">Telerama.fr<\/a> has no date on its results<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110553992372967821\">YemenPost.net<\/a> neither<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110577309617537999\">Kathimerini.gr<\/a> no more<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110650541129922704\">Disclose<\/a> has just no search at all\u2026<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>You can get the full list here : <a href=\"https:\/\/pouet.chapril.org\/tags\/fixtheworld\">#fixtheworld<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.11 : 900 sources, types de r\u00e9sultat \u00e9v\u00e8nement et emploi, #fixtheworld","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2023\/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html","rel":"alternate"}},"published":"2023-08-09T00:00:00+02:00","updated":"2023-08-09T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-08-09:\/fr\/journal\/2023\/v1.8.11_900_sources_event_and_job_result_type_fixtheworld.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_nouveaux_types_de_r\u00e9sultats_\u00e9v\u00e8nement_et_emploi\">1.1. Nouveaux types de r\u00e9sultats : \u00e9v\u00e8nement et emploi<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_\u00e9volution_dans_la_d\u00e9finition_des_sources\">2. \u00c9volution dans la d\u00e9finition des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_token_url\">2.1. <code>token_url<\/code><\/a><\/li>\n<li><a href=\"#_date_locale\">2.2. <code>date_locale<\/code><\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_bug_dans_la_pagination_de_la_liste_des_sources\">3. Bug dans la pagination de la liste des sources<\/a><\/li>\n<li><a href=\"#_anecdotes\">4. Anecdotes<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_hacker_la_charente_libre_pour_ces_dates\">4.1. Hacker La Charente Libre pour ces dates<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_fix_the_world\">5. Fix \u2026<\/a><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_nouveaux_types_de_r\u00e9sultats_\u00e9v\u00e8nement_et_emploi\">1.1. Nouveaux types de r\u00e9sultats : \u00e9v\u00e8nement et emploi<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_\u00e9volution_dans_la_d\u00e9finition_des_sources\">2. \u00c9volution dans la d\u00e9finition des sources<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_token_url\">2.1. <code>token_url<\/code><\/a><\/li>\n<li><a href=\"#_date_locale\">2.2. <code>date_locale<\/code><\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_bug_dans_la_pagination_de_la_liste_des_sources\">3. Bug dans la pagination de la liste des sources<\/a><\/li>\n<li><a href=\"#_anecdotes\">4. Anecdotes<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_hacker_la_charente_libre_pour_ces_dates\">4.1. Hacker La Charente Libre pour ces dates<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_fix_the_world\">5. Fix the world<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Plus de 185 <em>commits<\/em> ont \u00e9t\u00e9 pouss\u00e9s depuis la pr\u00e9c\u00e9dent version, un joli saut en avant rendu possible par 3 valeureux stagiaires ayant ajout\u00e9 250 sources \u00e0 Meta-Press.es en 3 semaines:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>J\u00e9r\u00f4me Bertin<\/p>\n<\/li>\n<li>\n<p>C\u00e9line Duguet<\/p>\n<\/li>\n<li>\n<p>Vincent Gay<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c7a m&#8217;a fait pas mal de travail de relecture, et en comptant mais autres additions on en arrive \u00e0 930 sources dans cette nouvelle version de Meta-Press.es (soit une croissance de +50% de la base de sources).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_maintenance_des_sources\">1. Maintenance des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Et non des moindres, parmi les sources ajout\u00e9es il y a tous les membres compatibles du <a href=\"https:\/\/spiil.org\">SPIIL<\/a> le Syndicat de la Presse Ind\u00e9pendante d&#8217;Information en Ligne, soit 132 sources ind\u00e9pendantes francophones pour un total de 373 sources dans la cat\u00e9gorie <code>ind\u00e9.<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les journaux de r\u00e9f\u00e9rence (Presse de R\u00e9f\u00e9rence) sont d\u00e9sormais 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 \u00e9t\u00e9 enrichie<\/a>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ensuite on compte 386 sources fournissant leurs r\u00e9sultats sous la forme de flux RSS, principalement parce que c&#8217;est le comportement par d\u00e9faut 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\u00eame !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Beaucoup d&#8217;illustrations de r\u00e9sultats ont \u00e9t\u00e9 retrouv\u00e9es parmi ces sources RSS, gr\u00e2ce \u00e0 une astuce simple d&#8217;exploration du contenu par expression rationnelle. C&#8217;est une fin heureuse pour un \u00e9l\u00e9ment rest\u00e9 plusieurs ann\u00e9es dans ma liste de choses \u00e0 faire.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Enfin, la r\u00e8gle <code>filter_results<\/code> s&#8217;applique d\u00e9sormais sur 79 sources, principalement parmi ces sources RSS (et ce nombre grandira encore avec la prochaine version). Cette r\u00e8gle permet d&#8217;assurer d&#8217;aucun r\u00e9sultat approximatif voire franchement hors sujet n&#8217;importune l&#8217;utilisateur. Toutefois, \u00e0 c\u00f4t\u00e9 de cette qu\u00eate de v\u00e9rit\u00e9, un r\u00e9glage viendra prochainement permettre de d\u00e9sactiver ces filtres justement pour s&#8217;int\u00e9resser aux r\u00e9sultats voisins des termes saisis (ce qui peut \u00eatre utile quand on cherche la bonne orthographe d&#8217;un mot par exemple).<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_nouveaux_types_de_r\u00e9sultats_\u00e9v\u00e8nement_et_emploi\">1.1. Nouveaux types de r\u00e9sultats : \u00e9v\u00e8nement et emploi<\/h3>\n<div class=\"paragraph\">\n<p>Le type de r\u00e9sultat <code>\u00e9v\u00e8nement<\/code> s&#8217;ajoute aux texte, image, vid\u00e9o et audio existants. Il aidera \u00e0 chercher parmi les 49 agendas en ligne r\u00e9f\u00e9renc\u00e9s dans Meta-Press.es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et, vraie nouveaut\u00e9, le type de r\u00e9sultats <code>emploi<\/code> fait son apparition, avec 3 moteurs de recherche d&#8217;offre d&#8217;emploi int\u00e9gr\u00e9s \u00e0 Meta-Press.es pour l&#8217;instant. L&#8217;actualit\u00e9 d&#8217;une offre d&#8217;emploi est un crit\u00e8re pr\u00e9pond\u00e9rant lors d&#8217;une recherche et Meta-Press.es peut d\u00e9j\u00e0 rendre de bon services dans le domaine.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce n&#8217;est pas tous les ans que de nouveaux types de r\u00e9sultats sont ajout\u00e9s \u00e0 Meta-Press.es alors c&#8217;est la f\u00eate.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_\u00e9volution_dans_la_d\u00e9finition_des_sources\">2. \u00c9volution dans la d\u00e9finition des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_token_url\">2.1. <code>token_url<\/code><\/h3>\n<div class=\"paragraph\">\n<p>Une entr\u00e9e <code>token_url<\/code> fait son apparition pour aider \u00e0 la d\u00e9finition de certaines sources, elle permet de signaler une URL \u00e0 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 \u00e9galement permettre de r\u00e9cup\u00e9rer 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\u00e9sent\u00e9.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_date_locale\">2.2. <code>date_locale<\/code><\/h3>\n<div class=\"paragraph\">\n<p>Une valeur sp\u00e9ciale est d\u00e9sormais reconnue pour le champs <code>date_locale<\/code> et c&#8217;est <code>browser<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Elle signifie que les dates de cette sources sont affich\u00e9es dans la langue du navigateur de l&#8217;utilisateur (et non pas dans la langue du journal par exemple).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;est notamment le <em>Corriere della Sera<\/em> qui agit comme \u00e7a.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_bug_dans_la_pagination_de_la_liste_des_sources\">3. Bug dans la pagination de la liste des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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 \u00e0 z\u00e9ro \u00e0 chaque s\u00e9lection, rendant la s\u00e9lection des sources hors premi\u00e8re page particuli\u00e8rement p\u00e9nible. Dans cette nouvelle version de Meta-Press.es, vous s\u00e9lectionner \u00e0 tout va sans changer de page.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_anecdotes\">4. Anecdotes<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>J&#8217;ai remarqu\u00e9 que la version esperanto du Monde Diplomatique sert d\u00e9sormais ses dates en esperanto, bravo \u00e0 l&#8217;\u00e9quipe de d\u00e9veloppement du site.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Moins simple \u00e0 trouver, El Watan (famaux journal alg\u00e9rien) a carr\u00e9ment chang\u00e9 de nom de domaine, apr\u00e8s 30 ans d&#8217;existence ! Cela cr\u00e9e beaucoup d&#8217;erreur 404 dans le monde\u2026 et le site est d\u00e9sormais accessible via : elwatan-dz.com.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nous avons \u00e9t\u00e9 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\u00e9sultats des trois langues arrivent \u00e0 chaque fois\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mention sp\u00e9ciale pour l&#8217;Otago Daily Times, dont le domaine ressemble plus \u00e0 un bug dans un nom de fichier LibreOffice qu&#8217;au nom d&#8217;un prestigieux journal neo-zelandais : www.odt.co.nz.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour finir, El Pa\u00ecs (organe de Presse de R\u00e9f\u00e9rence espagnol) est capable de vous trouver des r\u00e9sultats pour :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/elpais.com\/ciencia\/2023-07-26\/bbbb.html\">bbbb<\/a> (mais c&#8217;est une 404)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/babelia\/2023-07-25\/cccc.html\">cccc<\/a> (404 aussi)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/elpais\/2015\/04\/13\/album\/1428920476_297608.html\">ffff<\/a> (et \u00e7a existe vraiment !)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/diario\/2001\/06\/13\/paisvasco\/992461212_850215.html\">vvvv<\/a> (et \u00e7a existe)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/diario\/2001\/07\/12\/paisvasco\/994966799_850215.html\">xxxx<\/a> (et \u00e7a existe)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/elpais.com\/diario\/2001\/06\/20\/paisvasco\/993066002_850215.html\">zzzz<\/a> (et \u00e7a existe\u2026)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Toutes ces anecdotes ont d&#8217;abord \u00e9t\u00e9 post\u00e9es sur Mastodon et vous pouvez les retrouver via le mot-di\u00e8se : <a href=\"https:\/\/pouet.chapril.org\/tags\/metapress\">#metapress<\/a>.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_hacker_la_charente_libre_pour_ces_dates\">4.1. Hacker La Charente Libre pour ces dates<\/h3>\n<div class=\"paragraph\">\n<p>La Charente Libre, journal r\u00e9gional important localement, ne pr\u00e9sente pas de date sur ces r\u00e9sultats de recherche et rien (dans l&#8217;interface web) ne laisse pr\u00e9sager que les r\u00e9sultats soient triable par ordre chronologique.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Toutefois, s&#8217;il vous prend l&#8217;envie d&#8217;ajouter l&#8217;argument <code>&amp;sort=date<\/code> \u00e0 la fin de l&#8217;adresse de votre page de recherche et de recharger la page, c&#8217;est magique, les r\u00e9sultats sont tri\u00e9s et des dates apparaissent sur la page !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La Charente Libre semble utiliser une application web maison pour publier son journal, mais cette astuce peut s\u00fbrement s&#8217;appliquer \u00e0 d&#8217;autres journaux en ligne parmi ceux list\u00e9s <a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/blob\/master\/wiki\/incompatible_sources.adoc\">ici<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>N&#8217;h\u00e9sitez pas \u00e0 me faire part de vos trouvaille s&#8217;il vous prends l&#8217;envie d&#8217;essayer !<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fix_the_world\">5. Fix the world<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Vous retrouverez aussi des dizaines d&#8217;opportunit\u00e9s d&#8217;aider Meta-Press.es sans savoir programmer, mais juste en contactant les sources mentionn\u00e9es pour leur demander de r\u00e9parer leurs probl\u00e8mes. Par exemple :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110593201543282969\">Mediapart<\/a> pourrait am\u00e9liorer la pr\u00e9cision de ses recherches<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110548107355647350\">Telerama.fr<\/a> n&#8217;a pas de date sur ses r\u00e9sultats de recherche<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110553992372967821\">YemenPost.net<\/a> non plus<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110577309617537999\">Kathimerini.gr<\/a> les a enlev\u00e9es<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pouet.chapril.org\/@metapress\/110650541129922704\">Disclose<\/a> ne propose pas de recherche du tout\u2026<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Vous pouvez retrouver toute la liste ici : <a href=\"https:\/\/pouet.chapril.org\/tags\/fixtheworld\">#fixtheworld<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.10 : Filter results, ergonomy and source maintenance","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2023\/v1.8.10_filter_results_ergonomy_and_source_maintenance.html","rel":"alternate"}},"published":"2023-06-06T00:00:00+02:00","updated":"2023-06-06T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-06-06:\/journal\/2023\/v1.8.10_filter_results_ergonomy_and_source_maintenance.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a><\/li>\n<li><a href=\"#_ergonomy\">2. Ergonomy<\/a><\/li>\n<li><a href=\"#_filter_results\">3. Filter results<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This release was long awaited and announces the beginning of a new development campaign.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_maintenance\">1. Source maintenance<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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 \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_maintenance\">1. Source maintenance<\/a><\/li>\n<li><a href=\"#_ergonomy\">2. Ergonomy<\/a><\/li>\n<li><a href=\"#_filter_results\">3. Filter results<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This release was long awaited and announces the beginning of a new development campaign.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_maintenance\">1. Source maintenance<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_ergonomy\">2. Ergonomy<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Then the major ergonomic improvements are :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>A CSS animation and a dedicated scroll bar added to long descriptions, improving the browsing and reading experience<\/p>\n<\/li>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_filter_results\">3. Filter results<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>In this case Meta-Press.es can now filter those results to keep only what really matches your search terms.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9, Folha de S.Paulo, Globo.com, Northernstar.info\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;m happy to welcome those sources above the surface of accuracy in Meta-Press.es !<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.10 : R\u00e9sultats filtr\u00e9s, ergonomie et maintenance sur sources","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2023\/v1.8.10_filter_results_ergonomy_and_source_maintenance.html","rel":"alternate"}},"published":"2023-06-06T00:00:00+02:00","updated":"2023-06-06T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-06-06:\/fr\/journal\/2023\/v1.8.10_filter_results_ergonomy_and_source_maintenance.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a><\/li>\n<li><a href=\"#_ergonomie\">2. Ergonomie<\/a><\/li>\n<li><a href=\"#_r\u00e9sultats_filtr\u00e9s\">3. R\u00e9sultats filtr\u00e9s<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette nouvelle version s&#8217;est fait attendre et elle annonce le d\u00e9but d&#8217;une nouvelle campagne de d\u00e9veloppement.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_maintenance_des_sources\">1. Maintenance des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pendant ce semestre, un stagiaire a entrepris de r\u00e9parer les sources devenues d\u00e9fectueuses depuis la derni\u00e8re version, merci \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_maintenance_des_sources\">1. Maintenance des sources<\/a><\/li>\n<li><a href=\"#_ergonomie\">2. Ergonomie<\/a><\/li>\n<li><a href=\"#_r\u00e9sultats_filtr\u00e9s\">3. R\u00e9sultats filtr\u00e9s<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette nouvelle version s&#8217;est fait attendre et elle annonce le d\u00e9but d&#8217;une nouvelle campagne de d\u00e9veloppement.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_maintenance_des_sources\">1. Maintenance des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pendant ce semestre, un stagiaire a entrepris de r\u00e9parer les sources devenues d\u00e9fectueuses depuis la derni\u00e8re version, merci <a href=\"https:\/\/framagit.org\/ovslash\">OVSlash<\/a>. Je me suis \u00e9galement mis de la partie et le taux de sources fonctionnelles est remont\u00e9 \u00e0 95%. Enfin, pour \u00eatre exact, je n&#8217;ai ajout\u00e9 ce taux dans les stat' de la page qu&#8217;apr\u00e8s l&#8217;avoir atteint.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_ergonomie\">2. Ergonomie<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Ensuite, les deux principales am\u00e9liorations ergonomiques sont :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>une animation CSS et un ascenseur de d\u00e9filement d\u00e9di\u00e9s aux longues descriptions de r\u00e9sultats<\/p>\n<\/li>\n<li>\n<p>une case \u00e0 cocher <em>Garder ouvert<\/em> dans l&#8217;encart des actualit\u00e9s 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>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_r\u00e9sultats_filtr\u00e9s\">3. R\u00e9sultats filtr\u00e9s<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Derni\u00e8re am\u00e9lioration, mais non des moindres, cette version embarque une astuce permettant d&#8217;am\u00e9liorer la pr\u00e9cision de certaines sources. En effet, parmi les sources renvoyant des r\u00e9sultats approximatifs, certaines affichent (en guise de description de leurs r\u00e9sultats) la portion de texte contenant les termes recherch\u00e9s (ou leur version approxim\u00e9e).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans ce cas, Meta-Press.es sait d\u00e9sormais v\u00e9rifier la pr\u00e9sence des termes de recherche et ne garder que les r\u00e9sultats correspondant effectivement.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les sources \u00e9tiquet\u00e9es \"approx\" (pour approximatives) \u00e9taient 98 dans la pr\u00e9c\u00e9dente version de Meta-Press.es, et ce nombre a chut\u00e9 \u00e0 55 dans cette nouvelle version. J&#8217;ai pour cela v\u00e9rifi\u00e9 quelles sources \u00e9taient \u00e9ligibles au post-traitement et ajout\u00e9 les \u00e9tiquettes \"un mot\" et\/ou \"plusieurs mots\" suivant les cas.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D&#8217;importantes sources fran\u00e7aises 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\u00e9, Folha de S.Paulo, Globo.com, Northernstar.info\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Je suis heureux de les compter d\u00e9sormais parmi les sources pr\u00e9cises de Meta-Press.es !<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Conferences around Meta-Press.es at Lyon for the JdLL 2023","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2023\/2023_JDLL.html","rel":"alternate"}},"published":"2023-03-14T00:00:00+01:00","updated":"2023-03-14T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-03-14:\/journal\/2023\/2023_JDLL.html","summary":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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\u00e9es du Logiciel Libre<\/em> with nothing less than <strong>2 conferences<\/strong> !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This event is a part of the broader french\n<a href=\"https:\/\/www.libre-en-fete.net\/2023\/\">Libre en F\u00eate<\/a> manifestation from 20 of \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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\u00e9es du Logiciel Libre<\/em> with nothing less than <strong>2 conferences<\/strong> !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This event is a part of the broader french\n<a href=\"https:\/\/www.libre-en-fete.net\/2023\/\">Libre en F\u00eate<\/a> manifestation from 20 of\nmarch to 2 of april.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ll meet you there :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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 \u00e0 Meta-Press.es<\/a> (cultures room)<\/p>\n<\/li>\n<li>\n<p>2023-04-02 13:00 UTC+2 in Lyon : <a href=\"https:\/\/pretalx.jdll.org\/jdll2023\/talk\/review\/PZ99XPTQVWNV9SHLZTTTUKEGKLR3RRTF\">Web scrapping : lessons tir\u00e9es de l&#8217;int\u00e9gration de 675 sources \u00e0 Meta-Press.es<\/a> (possibles room)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<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>\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/pretalx.jdll.org\/media\/jdll2023\/submissions\/EUYG38\/NGI-NLnet-Meta-Press.es_k3zG7b3.png\" alt=\"NGI NLnet Meta Press.es k3zG7b3\">\n<\/div>\n<div class=\"title\">Figure 1. NGI &gt; NLnet &gt; Meta-Press.es logos<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_web_scrapping_lessons_learned_from\">2. Web scrapping : lessons learned from<\/h2>\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/pretalx.jdll.org\/media\/jdll2023\/submissions\/JW8KFL\/XML_Parsing_Error_unfVKI0.png\" alt=\"XML Parsing Error unfVKI0\">\n<\/div>\n<div class=\"title\">Figure 2. Screenshot of XML parsing Error in developper tools of Mozilla Firefox<\/div>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Conf\u00e9rences autour de Meta-Press.es \u00e0 Lyon pour les JdLL 2023","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2023\/2023_JDLL.html","rel":"alternate"}},"published":"2023-03-14T00:00:00+01:00","updated":"2023-03-14T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-03-14:\/fr\/journal\/2023\/2023_JDLL.html","summary":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Apr\u00e8s une pr\u00e9sentation en bonne et due forme <a href=\"\/journal\/2022\/2022_JDLL.html\">l&#8217;an dernier<\/a> Meta-Press.es sera encore pr\u00e9sent aux Journ\u00e9es du Logiciel Libre en 2023 de Lyon avec pas moins de <strong>2 conf\u00e9rences<\/strong> !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;op\u00e9ration\n<a href=\"https:\/\/www.libre-en-fete.net\/2023\/\">Libre en F\u00eate 2023<\/a> partout en France \u00e0\npartir \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Apr\u00e8s une pr\u00e9sentation en bonne et due forme <a href=\"\/journal\/2022\/2022_JDLL.html\">l&#8217;an dernier<\/a> Meta-Press.es sera encore pr\u00e9sent aux Journ\u00e9es du Logiciel Libre en 2023 de Lyon avec pas moins de <strong>2 conf\u00e9rences<\/strong> !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;op\u00e9ration\n<a href=\"https:\/\/www.libre-en-fete.net\/2023\/\">Libre en F\u00eate 2023<\/a> partout en France \u00e0\npartir du 20 mars.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Vous pourrez me retrouver ici :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2023-04-01 14:00 UTC+2 \u00e0 Lyon : <a href=\"https:\/\/pretalx.jdll.org\/jdll2023\/talk\/review\/3EKJQHH7GBP9GFQXTUZPJPZNDNQ7BYCQ\">Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien \u00e0 Meta-Press.es<\/a> (salle des cultures)<\/p>\n<\/li>\n<li>\n<p>2023-04-02 13:00 UTC+2 \u00e0 Lyon : <a href=\"https:\/\/pretalx.jdll.org\/jdll2023\/talk\/review\/PZ99XPTQVWNV9SHLZTTTUKEGKLR3RRTF\">Web scrapping : lessons tir\u00e9es de l&#8217;int\u00e9gration de 675 sources \u00e0 Meta-Press.es<\/a> (salle des possibles)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Programme complet : <a href=\"https:\/\/jdll.org\/programme\" class=\"bare\">https:\/\/jdll.org\/programme<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_financement_du_logiciel_libre_par_leurope_3_ans_de_soutien_\u00e0_meta_press_es\">1. Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien \u00e0 Meta-Press.es<\/h2>\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/pretalx.jdll.org\/media\/jdll2023\/submissions\/EUYG38\/NGI-NLnet-Meta-Press.es_k3zG7b3.png\" alt=\"NGI NLnet Meta Press.es k3zG7b3\">\n<\/div>\n<div class=\"title\">Figure 1. NGI &gt; NLnet &gt; Meta-Press.es logos<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>D\u00e9couvrez avec quelle simplicit\u00e9 et quelle efficacit\u00e9 la NLnet peut soutenir votre logiciel libre.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Quelques courriels, beaucoup de s\u00e9rieux et des dizaines de milliers d&#8217;euros\u2026 Voil\u00e0 \u00e0 quoi se r\u00e9sume le tour de force qu&#8217;op\u00e8re la NLnet en tant qu&#8217;interm\u00e9diaire entre la Commission Europ\u00e9enne (via son programme Next Generation Internet) et le fourmillant monde du logiciel libre.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Votre projet ouvre de nouveaux usages du net ? Il est \u00e9thiquement en logiciel libre ? Vous ne perdrez probablement pas de temps \u00e0 r\u00e9pondre \u00e0 un appel \u00e0 candidature de la NLnet. C&#8217;est simple, direct et efficace\u2026 surtout en comparaison avec les 2 ann\u00e9es de parcours du combattant pour obtenir la m\u00eame chose de l&#8217;administration d&#8217;une grande r\u00e9gion fran\u00e7aise (\u00e9galement d\u00e9crites dans cette conf\u00e9rence).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_web_scrapping_lessons_tir\u00e9es_de_lint\u00e9gration_de_675_sources_\u00e0_meta_press_es\">2. Web scrapping : lessons tir\u00e9es de l&#8217;int\u00e9gration de 675 sources \u00e0 Meta-Press.es<\/h2>\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/pretalx.jdll.org\/media\/jdll2023\/submissions\/JW8KFL\/XML_Parsing_Error_unfVKI0.png\" alt=\"XML Parsing Error unfVKI0\">\n<\/div>\n<div class=\"title\">Figure 2. Capture d&#8217;\u00e9cran d&#8217;un message d&#8217;erreur corriace de la console d\u00e9veloppeur de Mozilla Firefox<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Floril\u00e8ge de bizarreries qu&#8217;on croise vraiment sur le web\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Analyser une page web \u00e0 partir de JavaScript dans une WebExtension, \u00e7a avait l&#8217;air simple pourtant !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Oui, mais le serveur il r\u00e9pond 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 \u2026 T_T<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Floril\u00e8ge de ce que l&#8217;humanit\u00e9 fait vraiment du web dans 64 pays et 71 langues\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"2022 recap","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2023\/2022_recap.html","rel":"alternate"}},"published":"2023-02-28T00:00:00+01:00","updated":"2023-02-28T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-02-28:\/journal\/2023\/2022_recap.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_summary_of_2022\">1. Summary of 2022<\/a><\/li>\n<li><a href=\"#_2023_roadmap\">2. 2023 roadmap<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_from_nlnet_support\">2.1. From NLnet support<\/a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_migration_to_the_webextension_to_manifest_v3_mv3\">2.1.1. Migration to the WebExtension to manifest v3 (MV3)<\/a><\/li>\n<li><a href=\"#_modularization_mvc_refactoring_js_librarymodule\">2.1.2. Modularization: MVC refactoring (JS library\/module)<\/a><\/li>\n<li><a href=\"#_android_version_via_a_kotlin_wrapper_with_geckoview\">2.1.3. Android version: via a Kotlin wrapper with Geckoview<\/a><\/li>\n<li><a href=\"#_finish_the_new_source_form_managing_html_and_json_source_responses\">2.1.4. Finish the new \u2026<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_summary_of_2022\">1. Summary of 2022<\/a><\/li>\n<li><a href=\"#_2023_roadmap\">2. 2023 roadmap<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_from_nlnet_support\">2.1. From NLnet support<\/a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_migration_to_the_webextension_to_manifest_v3_mv3\">2.1.1. Migration to the WebExtension to manifest v3 (MV3)<\/a><\/li>\n<li><a href=\"#_modularization_mvc_refactoring_js_librarymodule\">2.1.2. Modularization: MVC refactoring (JS library\/module)<\/a><\/li>\n<li><a href=\"#_android_version_via_a_kotlin_wrapper_with_geckoview\">2.1.3. Android version: via a Kotlin wrapper with Geckoview<\/a><\/li>\n<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>\n<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>\n<li><a href=\"#_qualification_of_approximate_sources_to_one_word_sources\">2.1.6. Qualification of approximate sources to 'one word' sources<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_from_nouvelle_aquitaine_support\">2.2. From Nouvelle-Aquitaine support<\/a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_vigipress_com\">2.2.1. Vigipress.com<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_presence_at_the_jdll_2023\">2.3. Presence at the JdLL 2023<\/a>\n<ul class=\"sectlevel3\">\n<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>\n<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>\n<\/ul>\n<\/li>\n<li><a href=\"#_new_intern\">2.4. New intern<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_meta_press_es_needs_user_feedback\">3. Meta-Press.es needs user feedback<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_summary_of_2022\">1. Summary of 2022<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Let&#8217;s start with some statistics.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>The last release is counting <strong>675 sources<\/strong> and it&#8217;s roughly twice the number it was in late 2021.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The main new features of the year were :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the child mode to limit in one click the features of Meta-Press.es to child compatible sources<\/p>\n<\/li>\n<li>\n<p>the user feedback button to report a problem with a source<\/p>\n<\/li>\n<li>\n<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>\n<\/li>\n<li>\n<p>Exports now possible in CSV format also<\/p>\n<\/li>\n<li>\n<p>New source list and cherry-pick source selections<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But big reworks and under-the-surface improvement were also performed :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<li>\n<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>\n<\/li>\n<li>\n<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>\n<\/li>\n<li>\n<p>creation of a dedicated source testing page (testing all sources in one click)<\/p>\n<\/li>\n<li>\n<p>some end-to-end (Selenium) testing to avoid regressions in releases (WIP)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_2023_roadmap\">2. 2023 roadmap<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_from_nlnet_support\">2.1. From NLnet support<\/h3>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/nlnet.nl\/image\/logos\/NGI0_tag.svg\" alt=\"NGI0 tag\">\n<\/div>\n<div class=\"title\">Figure 1. NGI0 logo<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es secured a third round of support from the\n<a href=\"https:\/\/nlnet.nl\/core\/\">NGI0<\/a> initiative of the European\nCommission, via the NLnet.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This support is again of 20k\u20ac and is agreed for the following targets.<\/p>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_migration_to_the_webextension_to_manifest_v3_mv3\">2.1.1. Migration to the WebExtension to manifest v3 (MV3)<\/h4>\n<div class=\"paragraph\">\n<p>\"manifest v3\" is an evolution of how WebExtensions have to be\narchitectured. It introduces new concepts and removing others. Some\nof them are core-concepts requiring special attention and potentially\nbig efforts and refactoring to keep an existing WebExtension working.\n\"MV3\" was due on Chromium-based browser for January 2023 but might be\ndelayed until June.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_modularization_mvc_refactoring_js_librarymodule\">2.1.2. Modularization: MVC refactoring (JS library\/module)<\/h4>\n<div class=\"paragraph\">\n<p>Meta-Press.es has grown from 1000 to 5000 lines of code and was made as\na monolithic application. A model-view-controller refactoring would allow\nto distribute the core independently as a JavaScript library to help\nreuse of it in new contexts.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>As a proof of concept of the MVC refactoring a NodeJS command line interface for\nMeta-Press.es core library will allow to perform searches without a web\nbrowser, directly from a terminal.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_android_version_via_a_kotlin_wrapper_with_geckoview\">2.1.3. Android version: via a Kotlin wrapper with Geckoview<\/h4>\n<div class=\"paragraph\">\n<p>There are <a href=\"\/journal\/2021\/2021_recap.html\">1000x<\/a> more users of Android\nworld-wide than users of Firefox WebExtensions. Allowing Meta-Press.es\ndistribution through Android apps channel must increase the user base. This 1st\nstep will produce an\n<a href=\"https:\/\/sammacbeth.eu\/blog\/2019\/09\/04\/geckoview-extensions.html\">empty shell<\/a> to\ninject Meta-Press.es into Android.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Then Meta-Press.es will be ran with full feature set in the empty shell, and\nthe resulting \"app\" will be registered for distribution to Android users via\n<a href=\"https:\/\/f-droid.org\">F-Droid.org<\/a> and Google Play.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<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>\n<div class=\"paragraph\">\n<p>Meta-Press.es is open to user contribution of sources since it&#8217;s version\n1.0 but contributions was only achievable to computer-science enabled people.\nTo open this up to more users a new approach have been put in place with a\nsemi-automatic dynamic form to simplify the task as much as possible. A 1st\nversion of this form has already been released but it was limited to sources\nproviding results via an RSS feed (like WordPress does). This step will allow\nto handle the general case (HTML responses from sources) and also JSON\nresponses.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_new_fetching_cases_need_cookies_and_need_token_sources\">2.1.5. New fetching cases: need-cookies and need-token sources<\/h4>\n<div class=\"paragraph\">\n<p>With GDPR enforcement a growing number of sources started to require\ncookies (or other tokens) to deliver results. This implies a preliminary\nrequest to fetch the token before sending the regular search.\nThis target will add this possibility to Meta-Press.es via a new entry\nin the source-scraping definition API and its <a href=\"https:\/\/www.meta-press.es\/pages\/meta-press.es_documentation.html\">documentation<\/a>.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_qualification_of_approximate_sources_to_one_word_sources\">2.1.6. Qualification of approximate sources to 'one word' sources<\/h4>\n<div class=\"paragraph\">\n<p>This is another modification of the source-scraping definition API to\nadd a post-treatment for certain sources to handle a curation of their\nfalse positive results (for the sources exposing search-keywords in\nresult excerpts).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_from_nouvelle_aquitaine_support\">2.2. From Nouvelle-Aquitaine support<\/h3>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/i1.createsend1.com\/ei\/r\/C0\/BD9\/3A6\/223854\/csfinal\/logo1rouge.png\" alt=\"logo1rouge\">\n<\/div>\n<div class=\"title\">Figure 2. Region Nouvelle-Aquitaine banner<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>The french administrative region Nouvelle Aquitaine also have a free software\nsupport program called NAOS (Nouvelle-Aquitaine Open Source).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>After some long and complicated administrative work (over many years) a support\nof 49k\u20ac have been granted to the company <a href=\"https:\/\/acoeuro.com\">Acoeuro<\/a> to work\non Meta-Press.es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This funding will allow to build a business around Meta-Press.es in order to\nachieve self sustainability of the project.<\/p>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_vigipress_com\">2.2.1. Vigipress.com<\/h4>\n<div class=\"paragraph\">\n<p>The economical activity will be bared by the coming Vigipress.com web\nplatform, that will offer paid hosting of press-reviews (private or public)\nwith a good integration between Meta-Press.es exports and Vigipress imports.\nThis web platform will also provide a web version of Meta-Press.es (breaking\nout from WebExtension corner) and other valuable services like email\nnotifications for new search results or customer-branded PDF exports of\npress-reviews\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This new platform will be hosted with the help of\n<a href=\"https:\/\/www.globenet.org\/Lettre-d-information-novembre-2022.html\">Globenet.org<\/a>,\na venerable old french web hosting association which already announced this\npartnership.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_presence_at_the_jdll_2023\">2.3. Presence at the JdLL 2023<\/h3>\n<div class=\"paragraph\">\n<p>I applied to hold 2 conferences during the next <a href=\"https:\/\/jdll.org\/\">JdLL<\/a> event,\nthe 1st and 2nd of April 2023.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ll be pleased to present the following subjects.<\/p>\n<\/div>\n<div class=\"sect3\">\n<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>\n<div class=\"paragraph\">\n<p>Discover how easy it can be to get supported via the NLnet (with comparison between NLnet and the french administration).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<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>\n<div class=\"paragraph\">\n<p>It should have been 675 newspapers (I mean : similar to each others), it was an ode to human creativity\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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 \u2026 T_T<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Best-of what humanity is really doing over the web in 64 countries and 71 languages !<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_new_intern\">2.4. New intern<\/h3>\n<div class=\"paragraph\">\n<p>Who would have bet on the fact that so many interns would have reach\nPougne-H\u00e9risson (a small countryside place of less than 300 inhabitants) to\nwork on the state of the art of Google News decentralized alternative ?<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Soon this spring Olivier VILLAVERDE will come by Meta-Press.es headquarters in\nDeux-S\u00e8vres.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_meta_press_es_needs_user_feedback\">3. Meta-Press.es needs user feedback<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Since merely one year that the source feedback button appeared in Meta-Press.es\ninterface, no one ever tried to report anything. The only signal I got was me\ntesting the feature (again and again) to be sure that it works.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>As you can see the Meta-Press.es project is going very well, but I would mitigate\nthis observation as the current main weakness is lacking users. Despite more than one\ndownload a day, the user statistics from Mozilla remain at near to 700 users on\nthe good days since two years.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>So we&#8217;re loosing a lot of users after their download, they try the tool but\ndon&#8217;t keep it.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>If you ever tried Meta-Press.es but got disappointed by something please send\nme an email to detail what was not at the level of your expectations (and might\nbe improved).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The address is : contact@ &lt;project-name&gt;<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"2022 recap","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2023\/2022_recap.html","rel":"alternate"}},"published":"2023-02-28T00:00:00+01:00","updated":"2023-02-28T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2023-02-28:\/fr\/journal\/2023\/2022_recap.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_2022_en_r\u00e9sum\u00e9\">1. 2022 en r\u00e9sum\u00e9<\/a><\/li>\n<li><a href=\"#_perspectives_pour_2023\">2. perspectives pour 2023<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_gr\u00e2ce_au_soutien_financier_de_la_nlnet\">2.1. Gr\u00e2ce au soutien financier de la NLnet<\/a>\n<ul class=\"sectlevel3\">\n<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>\n<li><a href=\"#_modularisation_r\u00e9organisation_en_mod\u00e8le_vue_controleur\">2.1.2. Modularisation : r\u00e9organisation en Mod\u00e8le-Vue-Controleur<\/a><\/li>\n<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 \u2026<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_2022_en_r\u00e9sum\u00e9\">1. 2022 en r\u00e9sum\u00e9<\/a><\/li>\n<li><a href=\"#_perspectives_pour_2023\">2. perspectives pour 2023<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_gr\u00e2ce_au_soutien_financier_de_la_nlnet\">2.1. Gr\u00e2ce au soutien financier de la NLnet<\/a>\n<ul class=\"sectlevel3\">\n<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>\n<li><a href=\"#_modularisation_r\u00e9organisation_en_mod\u00e8le_vue_controleur\">2.1.2. Modularisation : r\u00e9organisation en Mod\u00e8le-Vue-Controleur<\/a><\/li>\n<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>\n<li><a href=\"#_terminer_le_formulaire_dajout_de_sources_gestion_des_r\u00e9ponses_html_et_json\">2.1.4. Terminer le formulaire d&#8217;ajout de sources (gestion des r\u00e9ponses HTML et JSON)<\/a><\/li>\n<li><a href=\"#_g\u00e9rer_le_besoin_de_cookies_de_certaines_sources\">2.1.5. G\u00e9rer le besoin de cookies de certaines sources<\/a><\/li>\n<li><a href=\"#_re_qualification_de_certaines_sources_approximatives_en_sources_pr\u00e9cises_sur_un_mot\">2.1.6. Re-qualification de certaines sources approximatives en sources pr\u00e9cises sur 'un mot'<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_gr\u00e2ce_au_soutien_financier_de_la_r\u00e9gion_nouvelle_aquitaine\">2.2. Gr\u00e2ce au soutien financier de la R\u00e9gion Nouvelle-Aquitaine<\/a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_vigipress_com\">2.2.1. Vigipress.com<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_pr\u00e9sence_aux_jdll_2023\">2.3. Pr\u00e9sence aux JdLL 2023<\/a>\n<ul class=\"sectlevel3\">\n<li><a href=\"#_financement_du_logiciel_libre_par_leurope_3_ans_de_soutien_\u00e0_meta_press_es\">2.3.1. Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien \u00e0 Meta-Press.es<\/a><\/li>\n<li><a href=\"#_web_scrapping_retrospective_et_lessons_tir\u00e9es_de_lint\u00e9gration_de_675_sources_\u00e0_meta_press_es\">2.3.2. Web scrapping : retrospective et lessons tir\u00e9es de l&#8217;int\u00e9gration de 675 sources \u00e0 Meta-Press.es<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_nouveau_stagiaire\">2.4. Nouveau stagiaire<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_meta_press_es_a_besoin_de_retour_utilisateur\">3. Meta-Press.es a besoin de retour utilisateur<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_2022_en_r\u00e9sum\u00e9\">1. 2022 en r\u00e9sum\u00e9<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Commen\u00e7ons par quelques statistiques.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/activity\">301 <em>commits<\/em><\/a> ont \u00e9t\u00e9 pouss\u00e9s par 3 personnes (merci \u00e0 : Baignoirphe et Matthieu Rakotojaona) via 14 <em>merge requests<\/em> sur Framagit. Cela repr\u00e9sente \u00e0 peu pr\u00e8s un tier des 1088 <em>commits<\/em> qui compte le projet. 2022 a donc \u00e9t\u00e9 une bonne ann\u00e9e pour Meta-Press.es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La derni\u00e8re version publi\u00e9e affiche <strong>675 sources<\/strong> ce qui est grosso modo le double du nombre de sources accessibles fin 2021.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les principales fonctionnalit\u00e9s ajout\u00e9es en 2022 furent :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le mode enfant, qui limite d&#8217;un clic les sources de Meta-Press.es \u00e0 celles approuv\u00e9es pour les enfants<\/p>\n<\/li>\n<li>\n<p>le bouton de signalement d&#8217;une source d\u00e9fectueuse<\/p>\n<\/li>\n<li>\n<p>le formulaire de cr\u00e9ation de sources, pour ajouter facilement sa source pr\u00e9f\u00e9r\u00e9e m\u00eame sans connaissance particuli\u00e8res en programmation (pour l&#8217;instant encore limit\u00e9 aux sources servant leurs r\u00e9sultats sous forme de flux RSS comme c&#8217;est le cas avec WordPress)<\/p>\n<\/li>\n<li>\n<p>les exports de r\u00e9sultats au format CSV<\/p>\n<\/li>\n<li>\n<p>la nouvelle liste des sources permettant de les parcourir et de les choisir une par une<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>De gros changement ont \u00e9galement \u00e9t\u00e9 op\u00e9r\u00e9 en profondeur dans le code :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>la prise en charge des traductions via <a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate<\/a> (et de nouvelles cha\u00eenes de caract\u00e8res arriveront bient\u00f4t)<\/p>\n<\/li>\n<li>\n<p>la r\u00e9cup\u00e9ration des actualit\u00e9s \u00e0 partir des flux RSS des sources (au lieu de leur page d&#8217;accueil qui bouge tout le temps) et qui comportent d\u00e9sormais une illustration lorsqu&#8217;elle est disponible dans le flux<\/p>\n<\/li>\n<li>\n<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\u00e9cup\u00e9rer les num\u00e9ros de mois \u00e0 partir de leurs noms<\/p>\n<\/li>\n<li>\n<p>la cr\u00e9ation d&#8217;une page d\u00e9di\u00e9e au test des sources, toutes d&#8217;un coup (erreur, avertissements, probl\u00e8mes r\u00e9seaux\u2026)<\/p>\n<\/li>\n<li>\n<p>les premiers tests de bout en bout (via Selenium) pour \u00e9viter les r\u00e9gressions entre deux versions (travail encore en cours)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_perspectives_pour_2023\">2. perspectives pour 2023<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_gr\u00e2ce_au_soutien_financier_de_la_nlnet\">2.1. Gr\u00e2ce au soutien financier de la NLnet<\/h3>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/nlnet.nl\/image\/logos\/NGI0_tag.svg\" alt=\"NGI0 tag\">\n<\/div>\n<div class=\"title\">Figure 1. NGI0 logo<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9enne, pilot\u00e9 par la NLnet.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il s&#8217;agit \u00e0 nouveau de 20k\u20ac et cela en vue de financer les 8 d\u00e9veloppements suivants.<\/p>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_migration_de_la_webextension_au_format_manifest_v3_mv3\">2.1.1. Migration de la WebExtension au format manifest v3 (MV3)<\/h4>\n<div class=\"paragraph\">\n<p>Le \"manifest v3\" est une \u00e9volution de la mani\u00e8re d&#8217;organiser une WebExtension.\nCette version impos\u00e9e par Google introduit de nouveaux conceptes et en retire d&#8217;autres. Parmis les conceptes retir\u00e9s certains sont utiles \u00e0 Meta-Press.es et risquent de n\u00e9cessiter de gros efforts pour pouvoir s&#8217;en passer. \"MV3\" \u00e9tait initialement annonc\u00e9 pour janvier 2023 mais a \u00e9t\u00e9 repouss\u00e9 \u00e0 juin 2023 par Google, alors que Mozilla a sorti en janvier sa propre impl\u00e9mentation sapant du m\u00eame les efforts de Google pour r\u00e9duire via le MV3 l&#8217;efficacit\u00e9 des bloqueurs de publicit\u00e9.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voir :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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 \u00e0 supporter le Manifest V3, mais \u00e0 la sauce Mozilla<\/a><\/p>\n<\/li>\n<li>\n<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\u00e9pit aux bloqueurs de pubs, mais on ne sait pas pour combien de temps<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_modularisation_r\u00e9organisation_en_mod\u00e8le_vue_controleur\">2.1.2. Modularisation : r\u00e9organisation en Mod\u00e8le-Vue-Controleur<\/h4>\n<div class=\"paragraph\">\n<p>Meta-Press.es est pass\u00e9 d&#8217;un petit projet de 1000 lignes de JavaScript \u00e0 5000 lignes de code, alors que son organisation est rest\u00e9e monolithique. Cette r\u00e9organisation permettra d&#8217;isoler un noyau de fonctionnalit\u00e9s sous la forme d&#8217;un module JavaScript ind\u00e9pendant auquel diff\u00e9rentes interfaces pourront se greffer.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Un client en ligne de commande servira de preuve de concept \u00e0 la r\u00e9organisation\nMVC. Il devra permettre de r\u00e9aliser des recherches en dehors d&#8217;un navigateur\nweb, en listant les r\u00e9sultats directement dans le terminal.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<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>\n<div class=\"paragraph\">\n<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\u00e9 une WebExtension. Permettre \u00e0 Meta-Press.es d&#8217;\u00eatre distribu\u00e9 sous la forme d&#8217;une application Android devrait m\u00e9caniquement augmenter son nombre d&#8217;utilisateurs.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette premi\u00e8re \u00e9tape consiste \u00e0 cr\u00e9er un conteneur vide permettant l&#8217;ex\u00e9cution d&#8217;une WebExtension via <a href=\"https:\/\/sammacbeth.eu\/blog\/2019\/09\/04\/geckoview-extensions.html\">Geckoview<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Puis il s&#8217;agira de faire fonctionner une version compl\u00e8te de Meta-Press.es dans la pr\u00e9c\u00e9dente coquille vide, et \u00e0 enregistrer cette nouvelle \"app\" Android Meta-Press.es aupr\u00e8s des principaux canaux de distribution : <a href=\"https:\/\/f-droid.org\">F-Droid.org<\/a> et Google Play.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_terminer_le_formulaire_dajout_de_sources_gestion_des_r\u00e9ponses_html_et_json\">2.1.4. Terminer le formulaire d&#8217;ajout de sources (gestion des r\u00e9ponses HTML et JSON)<\/h4>\n<div class=\"paragraph\">\n<p>Meta-Press.es permet la contribution de nouvelles sources par les utilisateurs depuis sa version 1.0, mais les contributions n&#8217;\u00e9taient en pratique possible que pour les d\u00e9veloppeurs. Pour permettre \u00e0 tous les utilisateurs d&#8217;ajouter leurs sources favorites \u00e0 Meta-Press.es, un formulaire semi-automatique a \u00e9t\u00e9 mis en place. Il vise \u00e0 simplifier la t\u00e2che au maximum. Une premi\u00e8re version de ce formulaire a d\u00e9j\u00e0 \u00e9t\u00e9 publi\u00e9e mais elle est limit\u00e9e aux sources fournissant leurs r\u00e9sultats 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\u00e9ponses servies sous forme de page web ou d&#8217;objet JSON.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_g\u00e9rer_le_besoin_de_cookies_de_certaines_sources\">2.1.5. G\u00e9rer le besoin de cookies de certaines sources<\/h4>\n<div class=\"paragraph\">\n<p>Avec l&#8217;application du RGPD un nombre grandissant de sources imposent d\u00e9sormais la pr\u00e9sence de leur <em>cookie<\/em> pour pouvoir faire une recherche. Il faut donc que Meta-Press.es apprenne \u00e0 r\u00e9cup\u00e9rer ces <em>cookie<\/em> (et autres jetons) via une requ\u00eate pr\u00e9liminaire pour les sources les plus p\u00e9nibles. Ceci implique une \u00e9volution de l&#8217;API d\u00e9finissant l&#8217;int\u00e9gration des sources (ainsi que de sa <a href=\"https:\/\/www.meta-press.es\/pages\/meta-press.es_documentation.html\">documentation<\/a>).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_re_qualification_de_certaines_sources_approximatives_en_sources_pr\u00e9cises_sur_un_mot\">2.1.6. Re-qualification de certaines sources approximatives en sources pr\u00e9cises sur 'un mot'<\/h4>\n<div class=\"paragraph\">\n<p>Il s&#8217;agit d&#8217;un autre ajout \u00e0 l&#8217;API d&#8217;int\u00e9gration des sources \u00e0 Meta-Press.es afin d&#8217;ajouter un post-traitement \u00e0 certaines sources pour ne garder que leurs r\u00e9sultats contenant effectivement le mot cl\u00e9 recherch\u00e9. Certaines sources garnissent en effet leurs r\u00e9sultats d&#8217;un extrait contenant les mots cl\u00e9s recherch\u00e9s et il est alors facile de v\u00e9rifier leur pr\u00e9sence.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_gr\u00e2ce_au_soutien_financier_de_la_r\u00e9gion_nouvelle_aquitaine\">2.2. Gr\u00e2ce au soutien financier de la R\u00e9gion Nouvelle-Aquitaine<\/h3>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"https:\/\/i1.createsend1.com\/ei\/r\/C0\/BD9\/3A6\/223854\/csfinal\/logo1rouge.png\" alt=\"logo1rouge\">\n<\/div>\n<div class=\"title\">Figure 2. R\u00e9gion Nouvelle-Aquitaine bandeau<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>La R\u00e9gion Nouvelle-Aquitaine dispose d&#8217;un programme de financement du logiciel libre innovant nomm\u00e9 NAOS (Nouvelle-Aquitaine Open Source).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Apr\u00e8s plusieurs ann\u00e9es de d\u00e9marches administratives compliqu\u00e9es un financement de 49k\u20ac a \u00e9t\u00e9 accord\u00e9 \u00e0 l&#8217;entreprise <a href=\"https:\/\/acoeuro.com\">Acoeuro<\/a> pour travailler sur Meta-Press.es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce financement permettra de d\u00e9velopper un mod\u00e8le \u00e9conomique autour de l&#8217;outil Meta-Press.es dans le but de le rendre auto-suffisant.<\/p>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_vigipress_com\">2.2.1. Vigipress.com<\/h4>\n<div class=\"paragraph\">\n<p>Une nouvelle plateforme web sera ainsi d\u00e9velopp\u00e9e afin de proposer un service payant d&#8217;h\u00e9bergement de revues de presses (publiques ou priv\u00e9es) facilement alimentables par Meta-Press.se. Cette plateforme proposera \u00e9galement \u00e0 ses utilisateurs une version web de Meta-Press.es (rendant l&#8217;outil accessible \u00e0 de nouveaux publics) ainsi que d&#8217;autres services \u00e0 valeur ajout\u00e9e comme des notifications par courriel de nouveaux r\u00e9sultats ou une \u00e9dition PDF personnalis\u00e9e (avec logo) des revues de presse.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette nouvelle plateforme s&#8217;appellera Vigipress.com et sera h\u00e9berg\u00e9e par\n<a href=\"https:\/\/www.globenet.org\/Lettre-d-information-novembre-2022.html\">Globenet.org<\/a>,\nun h\u00e9bergeur associatif fran\u00e7ais v\u00e9n\u00e9rable et reconnu. Ce partenariat fut annonc\u00e9 dans sa lettre d&#8217;information de novembre 2022.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_pr\u00e9sence_aux_jdll_2023\">2.3. Pr\u00e9sence aux JdLL 2023<\/h3>\n<div class=\"paragraph\">\n<p>J&#8217;ai propos\u00e9 deux conf\u00e9rences pour la prochaine \u00e9dition des <a href=\"https:\/\/jdll.org\">JdLL<\/a>\nles 1 et 2 avril prochain.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les deux conf\u00e9rences ont \u00e9t\u00e9 retenues et j&#8217;aurais donc la chance d&#8217;y pr\u00e9senter les sujets suivants.<\/p>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_financement_du_logiciel_libre_par_leurope_3_ans_de_soutien_\u00e0_meta_press_es\">2.3.1. Financement du logiciel libre par l&#8217;Europe : 3 ans de soutien \u00e0 Meta-Press.es<\/h4>\n<div class=\"paragraph\">\n<p><strong>D\u00e9couvrez avec quelle simplicit\u00e9 et quelle efficacit\u00e9 la NLnet peut soutenir votre logiciel libre.<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Quelques courriels, beaucoup de s\u00e9rieux et des dizaines de milliers d&#8217;euros\u2026 Voil\u00e0 \u00e0 quoi se r\u00e9sume le tour de force qu&#8217;op\u00e8re la NLnet en tant qu&#8217;interm\u00e9diaire entre la Commission Europ\u00e9enne (via son programme Next Generation Internet) et le fourmillant monde du logiciel libre.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Votre projet ouvre de nouveaux usages du net ? Il est \u00e9thiquement en logiciel libre ? Vous ne perdrez probablement pas de temps \u00e0 r\u00e9pondre \u00e0 un appel \u00e0 candidature de la NLnet. C&#8217;est simple, direct et efficace\u2026 surtout en comparaison avec les 2 ann\u00e9es de parcours du combattant pour obtenir la m\u00eame chose de l&#8217;administration d&#8217;une grande r\u00e9gion fran\u00e7aise (\u00e9galement d\u00e9crites dans cette conf\u00e9rence).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3\">\n<h4 id=\"_web_scrapping_retrospective_et_lessons_tir\u00e9es_de_lint\u00e9gration_de_675_sources_\u00e0_meta_press_es\">2.3.2. Web scrapping : retrospective et lessons tir\u00e9es de l&#8217;int\u00e9gration de 675 sources \u00e0 Meta-Press.es<\/h4>\n<div class=\"paragraph\">\n<p><strong>\u00c7a aurait d\u00fb \u00eatre 675 journaux (qui se ressemblent), mais \u00e7a s&#8217;est transform\u00e9 en ode \u00e0 la cr\u00e9ativit\u00e9 humaine !<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>Floril\u00e8ge de bizarreries qu&#8217;on croise vraiment sur le web.<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Analyser une page web \u00e0 partir de JavaScript dans une WebExtension, \u00e7a avait l&#8217;air simple pourtant !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Oui, mais le serveur il r\u00e9pond 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 \u2026 T_T<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Floril\u00e8ge de ce que l&#8217;humanit\u00e9 fait vraiment du web dans 64 pays et 71 langues !<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_nouveau_stagiaire\">2.4. Nouveau stagiaire<\/h3>\n<div class=\"paragraph\">\n<p>Qui aurait pari\u00e9 que tant stagiaires seraient pass\u00e9s par Pougne-H\u00e9risson (un petit village de moins de 300 irr\u00e9ductibles Deux-S\u00e8vriens) pour travailler sur l&#8217;\u00e9tat de l&#8217;art de l&#8217;alternative d\u00e9centralis\u00e9e \u00e0 Google Actualit\u00e9s ?<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce printemps pourtant Olivier Villaverde se rendra au quartier g\u00e9n\u00e9ral de Meta-Press.es pour un stage en immersion facilit\u00e9e.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_meta_press_es_a_besoin_de_retour_utilisateur\">3. Meta-Press.es a besoin de retour utilisateur<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Depuis presqu&#8217;un an que le bouton de signalement d&#8217;une source d\u00e9fectueuse est apparu sur l&#8217;interface utilisateur de Meta-Press.es, personne n&#8217;a jamais cliqu\u00e9 dessus. Le signal que j&#8217;ai re\u00e7u c&#8217;\u00e9tait moi qui testais le truc (encore et encore) pour v\u00e9rifier que \u00e7a fonctionne.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Comme vous pouvez le constater \u00e0 la lecture de ce billet, le projet Meta-Press.es va tr\u00e8s 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\u00e9l\u00e9chargement par jour, les statistiques d&#8217;utilisation fournies par Mozilla montrent que le nombre d&#8217;utilisateurs quotidien reste \u00e0 700 (les bons jours) depuis 2 ans.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il y a donc un grand nombre d&#8217;utilisateurs qui sont perdus en route\u2026 ils t\u00e9l\u00e9chargent, testent, mais ne gardent pas.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si vous vous reconnaissez dans cette description, ou si ayant test\u00e9 Meta-Press.es vous la moindre remarque \u00e0 formuler (vous auriez voulu \u00e7a, ou autre chose) je vous encourage vivement \u00e0 me parler de votre exp\u00e9rience par courriel. Il y a quelque chose \u00e0 am\u00e9liorer quelque part\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;adresse c&#8217;est : contact@ &lt;project-name&gt;<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Formation Meta-Press.es online and on demand","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/formation_on_demand.html","rel":"alternate"}},"published":"2022-11-10T00:00:00+01:00","updated":"2022-11-10T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-11-10:\/journal\/2022\/formation_on_demand.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Get in touch by email (contact@\u2026) via Mastodon <a href=\"https:\/\/pouet.chapril.org\/@metapress\">@metapress<\/a>, via Framagit.org, or via IRC (#<a href=\"mailto:meta-press.es@geeknode.org\">meta-press.es@geeknode.org<\/a>)\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Let&#8217;s setup a rendez-vous !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>2 formats possible :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>20 minutes (you already have questions)<\/p>\n<\/li>\n<li>\n<p>40 minutes (you \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Get in touch by email (contact@\u2026) via Mastodon <a href=\"https:\/\/pouet.chapril.org\/@metapress\">@metapress<\/a>, via Framagit.org, or via IRC (#<a href=\"mailto:meta-press.es@geeknode.org\">meta-press.es@geeknode.org<\/a>)\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Let&#8217;s setup a rendez-vous !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>2 formats possible :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>20 minutes (you already have questions)<\/p>\n<\/li>\n<li>\n<p>40 minutes (you just start)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Formation \"add sources\" to Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>20 min (all by mouse, but for RSS sources only)<\/p>\n<\/li>\n<li>\n<p>40 min (required knowledge in JSON and CSS)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>It&#8217;s free, but you can support the project via Liberapay or HelloAsso.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Formation Meta-Press.es en ligne et \u00e0 la demande","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/formation_on_demand.html","rel":"alternate"}},"published":"2022-11-10T00:00:00+01:00","updated":"2022-11-10T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-11-10:\/fr\/journal\/2022\/formation_on_demand.html","summary":"<div class=\"paragraph\">\n<p>Nouveau concept, les formations Meta-Press.es \u00e0 la demande sur : <a href=\"https:\/\/meet.jit.si\/meta-press.es\" class=\"bare\">https:\/\/meet.jit.si\/meta-press.es<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fa\u00eetes-moi signe par courriel (contact@\u2026) via Mastodon <a href=\"https:\/\/pouet.chapril.org\/@metapress\">@metapress<\/a>, via le Framagit, sur IRC (#<a href=\"mailto:meta-press.es@geeknode.org\">meta-press.es@geeknode.org<\/a>)\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Choisissons un rendez-vous et c&#8217;est parti !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Deux formats disponibles :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>20 minutes (vous avez des questions)<\/p>\n<\/li>\n<li>\n<p>40 \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Nouveau concept, les formations Meta-Press.es \u00e0 la demande sur : <a href=\"https:\/\/meet.jit.si\/meta-press.es\" class=\"bare\">https:\/\/meet.jit.si\/meta-press.es<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fa\u00eetes-moi signe par courriel (contact@\u2026) via Mastodon <a href=\"https:\/\/pouet.chapril.org\/@metapress\">@metapress<\/a>, via le Framagit, sur IRC (#<a href=\"mailto:meta-press.es@geeknode.org\">meta-press.es@geeknode.org<\/a>)\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Choisissons un rendez-vous et c&#8217;est parti !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Deux formats disponibles :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>20 minutes (vous avez des questions)<\/p>\n<\/li>\n<li>\n<p>40 minutes (en partant de rien)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Formation \"ajout de sources\" \u00e0 Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>20 min (tout \u00e0 la souris mais limit\u00e9 aux sources RSS pour l&#8217;instant) ;<\/p>\n<\/li>\n<li>\n<p>40 min (comp\u00e9tences en JSON et CSS requises)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;est gratuit, mais vous pouvez soutenir le projet via Liberapay ou HelloAsso.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.9 : Ergonomy, sources and maintenance","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/v1.8.9_ergonomy_sources_maintenance.html","rel":"alternate"}},"published":"2022-10-31T00:00:00+01:00","updated":"2022-10-31T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-10-31:\/journal\/2022\/v1.8.9_ergonomy_sources_maintenance.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_got_plans_for_october\">1. Got plans for October?<\/a><\/li>\n<li><a href=\"#_about_sources\">2. About sources<\/a><\/li>\n<li><a href=\"#_ergonomy\">3. Ergonomy<\/a><\/li>\n<li><a href=\"#_thanks_to_the_nlnet\">4. Thanks to the NLnet<\/a><\/li>\n<li><a href=\"#_some_clouds_in_the_sky\">5. Some clouds in the sky<\/a><\/li>\n<li><a href=\"#_you_can_help_the_project_with_just_an_email\">6. You can help the project, with just an email<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This is an unexpected new release, made possible by the support of the NLnet, that covered the elapsed \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_got_plans_for_october\">1. Got plans for October?<\/a><\/li>\n<li><a href=\"#_about_sources\">2. About sources<\/a><\/li>\n<li><a href=\"#_ergonomy\">3. Ergonomy<\/a><\/li>\n<li><a href=\"#_thanks_to_the_nlnet\">4. Thanks to the NLnet<\/a><\/li>\n<li><a href=\"#_some_clouds_in_the_sky\">5. Some clouds in the sky<\/a><\/li>\n<li><a href=\"#_you_can_help_the_project_with_just_an_email\">6. You can help the project, with just an email<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\nMozilla&#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>.\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_got_plans_for_october\">1. Got plans for October?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>Date: Wed, 5 Oct 2022 14:55:22 +0200\nFrom: Jos van den Oever &lt;\u2026&gt;\nSubject: Got plans for October?\nAs we make up the balance at the end of NGI0 Discovery, we still have a bit of\nbudget left that we\u2019d be glad to put to good use \u2014 but with less than a month\nto spend it.\n\nGiven your project\u2019s proven productivity, we thought you might be willing and\nable to still complete a planned task; or to add another task to your project.\n\nAre you interested ?<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026 The 150 broken sources that the new test source procedure was reporting for instance.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>So, I gladly accepted to post-pone everything for one more month.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>And here we are, this new version of Meta-Press.es is delivered with 667 tested working sources (against \u00b1450 of the previous version). No secret : sources were fixed one by one.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_about_sources\">2. About sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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\u00e9risson. 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>\n<\/div>\n<div class=\"paragraph\">\n<p>This version also brings its batch of new sources :\n- for kids sources (kids.keskonfai.com ; science-et-vie-junior.fr \u2026)\n- independant sources (mostly via the automated source creation form : Causette.fr, Vert.eco, Chut.media, fij.ng, LeQuotidien.re, Pieuvre.ca\u2026)\n- Mobilizon sources<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_ergonomy\">3. Ergonomy<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>I fixed a bunch of declared bugs. Don&#8217;t hesitate to declare more of them via Framagit.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_thanks_to_the_nlnet\">4. Thanks to the NLnet<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>I can help you with some details if you want to apply but feel shy about it.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_some_clouds_in_the_sky\">5. Some clouds in the sky<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>To finish, some clouds appeared in the sky of Meta-Press.es\u2026 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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_you_can_help_the_project_with_just_an_email\">6. You can help the project, with just an email<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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\u2026), 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\u2026) or they provide content in several languages but a search feature only for the main language (OpenDemocracy.net, cn.helsinkitimes.fi, \u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Reaching sources requires just to write an email, it&#8217;s accessible to non-programmers, please help me on this.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.9 : Ergonomie, sources et maintenance","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/v1.8.9_ergonomy_sources_maintenance.html","rel":"alternate"}},"published":"2022-10-31T00:00:00+01:00","updated":"2022-10-31T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-10-31:\/fr\/journal\/2022\/v1.8.9_ergonomy_sources_maintenance.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_vous_avez_des_plans_en_octobre\">1. Vous avez des plans en octobre ?<\/a><\/li>\n<li><a href=\"#_point_sources\">2. Point sources<\/a><\/li>\n<li><a href=\"#_ergonomie\">3. Ergonomie<\/a><\/li>\n<li><a href=\"#_remerciement_\u00e0_la_nlnet\">4. Remerciement \u00e0 la NLnet<\/a><\/li>\n<li><a href=\"#_des_nuages_dans_le_ciel\">5. Des nuages dans le ciel<\/a><\/li>\n<li><a href=\"#_vous_pouvez_aider_le_projet_avec_un_simple_courriel\">6. Vous pouvez aider le projet, avec un simple courriel<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Voici une nouvelle version qui n&#8217;\u00e9tait pas pr\u00e9vue, rendue possible gr\u00e2ce ou soutien de la \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_vous_avez_des_plans_en_octobre\">1. Vous avez des plans en octobre ?<\/a><\/li>\n<li><a href=\"#_point_sources\">2. Point sources<\/a><\/li>\n<li><a href=\"#_ergonomie\">3. Ergonomie<\/a><\/li>\n<li><a href=\"#_remerciement_\u00e0_la_nlnet\">4. Remerciement \u00e0 la NLnet<\/a><\/li>\n<li><a href=\"#_des_nuages_dans_le_ciel\">5. Des nuages dans le ciel<\/a><\/li>\n<li><a href=\"#_vous_pouvez_aider_le_projet_avec_un_simple_courriel\">6. Vous pouvez aider le projet, avec un simple courriel<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Voici une nouvelle version qui n&#8217;\u00e9tait pas pr\u00e9vue, rendue possible gr\u00e2ce ou soutien de la NLnet, qui a couvert l&#8217;ann\u00e9e pass\u00e9e et ce mois de plus.<\/p>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\nLes statistiques d&#8217;usage de Meta-Press.es calcul\u00e9es par Mozilla r\u00e9v\u00e8lent qu&#8217;environ 50 \"utilisateurs\" quotidiens sont bloqu\u00e9s depuis deux ans \u00e0 la version 1.6. Meta-Press.es a connu de grandes am\u00e9liorations depuis. Pour en profiter il faut soit activer les mises \u00e0 jour automatiques de l&#8217;extension, soit la d\u00e9sinstaller et la r\u00e9-installer (\u00e0 partir d&#8217;<a href=\"https:\/\/addons.mozilla.org\/firefox\/addon\/meta-press-es\/\">addons.mozilla.org<\/a>).\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_vous_avez_des_plans_en_octobre\">1. Vous avez des plans en octobre ?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>Date: Wed, 5 Oct 2022 14:55:22 +0200\nFrom: Jos van den Oever &lt;\u2026&gt;\nSubject: Vous avez des plans en octobre ?\nApr\u00e8s avoir fait le compte du budget NGI0 Discovery, nous avons encore un peu\nde budget disponible et nous aimerions le mettre tout de m\u00eame \u00e0 profit, mais\nnous n'avons qu'un moins pour le d\u00e9penser.\n\nVu la productivit\u00e9 de votre projet, nous nous sommes dit que vous voudriez peut\n\u00eatre (et pourriez) compl\u00e9ter ou ajouter d'autres t\u00e2ches pour votre projet.\n\n\u00cates-vous int\u00e9ress\u00e9 ?<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai justement pass\u00e9 les derniers mois \u00e0 travailler dur pour compl\u00e9ter les t\u00e2ches pr\u00e9vues lors de ce second soutien de la NLnet \u00e0 Meta-Press.es, et j&#8217;\u00e9tais justement un peu d\u00e9\u00e7u de devoir laisser certaines choses en plan\u2026 comme les 150 sources rapport\u00e9es comme cass\u00e9es pour la nouvelle proc\u00e9dure de test.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Alors j&#8217;ai joyeusement rempil\u00e9 pour un mois, d\u00e9calant \u00e0 nouveau toute autres\nactivit\u00e9s en cours.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et nous y voil\u00e0, cette nouvelle version de Meta-Press.es est livr\u00e9e est avec 667 sources fonctionnelles test\u00e9es (contre \u00b1450 pour la pr\u00e9c\u00e9dente version). Et il n&#8217;y a pas de secret : les sources ont \u00e9t\u00e9 r\u00e9par\u00e9es, une par une.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_point_sources\">2. Point sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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\u00e9 un total de 6 semaines de stage avec moi \u00e0 Pougne-H\u00e9risson. C&#8217;est aussi lui qui a ajout\u00e9 40 nouvelles langues pour la source GlobalVoices.org. C&#8217;est ce genre d&#8217;initiatives qui arrive encore a \u00e9tendre la couverture de langues et de pays de Meta-Press.es, et nous en sommes donc \u00e0 64 pays et 71 langues !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette nouvelle version apporte \u00e9galement son lot de nouvelles sources :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>pour enfant (avec kids.keskonfai.com ; science-et-vie-junior.fr \u2026)<\/p>\n<\/li>\n<li>\n<p>ind\u00e9pendantes (principalement via le formulaire de cr\u00e9ation automatique de sources : Causette.fr, Vert.eco, Chut.media, fij.ng, LeQuotidien.re, Pieuvre.ca\u2026)<\/p>\n<\/li>\n<li>\n<p>Mobilizon<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Et pour ce dernier point je remercie chaleureusement <a href=\"https:\/\/framagit.org\/rakoo\">Matthieu Rakotojaona<\/a> qui a s\u00e9lectionn\u00e9 les 10 plus grosses instances de Mobilizon et a fourni leur d\u00e9finition.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_ergonomie\">3. Ergonomie<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>J&#8217;ai sinon r\u00e9par\u00e9 un paquet de bugs d\u00e9clar\u00e9s sur le Framagit, n&#8217;h\u00e9sitez pas \u00e0 en rapporter d&#8217;autres.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai travaill\u00e9 sur l&#8217;ergonomie, en r\u00e9parant l&#8217;apparence du s\u00e9lecteur de fuseau horaire dans les r\u00e9glages ou en ajoutant un bouton pour vider le champs de recherche d&#8217;un clic\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_remerciement_\u00e0_la_nlnet\">4. Remerciement \u00e0 la NLnet<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Je tiens vraiment a remercier la NLnet pour son soutien.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ils ouvriront bient\u00f4t de nouveau appels \u00e0 projets et je peux t\u00e9moigner qu&#8217;on ne perds pas son temps \u00e0 candidater quand on d\u00e9veloppe du logiciel libre pour internet.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D&#8217;ailleurs je peux \u00e9galement vous aider \u00e0 cadrer votre candidature si la d\u00e9marche vous intimide encore.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Avec la NLnet, c&#8217;est : un petit formulaire en ligne, quelques bons courriels \u00e9chang\u00e9s et en route vers une ann\u00e9e de d\u00e9veloppement ! (voire plus)<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_des_nuages_dans_le_ciel\">5. Des nuages dans le ciel<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour finir, j&#8217;ai vu apparaitre quelques nuages dans le ciel d\u00e9gag\u00e9 de Meta-Press.es r\u00e9cemment\u2026 en effet, de plus en plus de sources essayent de se prot\u00e9ger contre des attaques en d\u00e9ni de service op\u00e9r\u00e9es via leur fonctionnalit\u00e9 de recherche en ligne. Elles imposent par exemple la pr\u00e9sence d&#8217;un jeton (ou d&#8217;un cookie) pour fournir des r\u00e9ponses. \u00c7a, ce n&#8217;est pas encore tr\u00e8s grave, \u00e7a va demander un peu plus de code mais \u00e7a reste accessible.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D&#8217;autres sources commencent \u00e0 r\u00e9server leur fonctionnalit\u00e9 de recherche en ligne \u00e0 leur abonn\u00e9s\u2026 et l\u00e0, il reste \u00e0 esp\u00e9rer que \u00e7a ne va pas se g\u00e9n\u00e9raliser.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_vous_pouvez_aider_le_projet_avec_un_simple_courriel\">6. Vous pouvez aider le projet, avec un simple courriel<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour finir, il y a plein de sources qui devraient \u00eatre contact\u00e9es pour leur signaler que leur recherche est cass\u00e9e par exemple (comme le Philstar.com) ou qu&#8217;il n&#8217;y a pas de date sur leurs r\u00e9sultats 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\u00e9sultats (comme Marianne.net, Nation.co.ke, TimesOfIndia.Indiatimes.com, Haaretz.com\u2026) ou enfin qu&#8217;ils fournissent du contenu dans plusieurs langues, mais que leur recherche ne d\u00e9bouche que sur leur langue principale (comme OpenDemocracy.net ou cn.helsinkitimes.fi, \u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Toutes ces anomalies \u00e0 faire corriger sont list\u00e9es ici : <a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/blob\/master\/wiki\/incompatible_sources.adoc\">incompatible_sources<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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 \u00e7a.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Oh et puis tant que j&#8217;y suis, j&#8217;ai \u00e9galement besoin d&#8217;aide sur les dates en langues arabes (Urdu, Farci, \u00c9gyptien) \u00e9crites de droite \u00e0 gauche et avec des d\u00e9clinaisons dans les noms de mois (par rapport \u00e0 ce que Firefox fourni). N&#8217;h\u00e9sitez pas \u00e0 me contacter si vous pouvez m&#8217;\u00e9clairer \u00e0 ce propos.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>aawsat.com est une source qui propose des actualit\u00e9s en \"Arabe\", Urdu, Farci\u2026\n\nOr, autant j'ai r\u00e9ussi \u00e0 g\u00e9rer les d\u00e9clinaisons de mois du Wikipedia Russe, autant pour le Urdu j'arrive \u00e0 attraper l'ann\u00e9e, et pour l'instant, au mieux, le mois de mars\u2026 mais surtout je patauge dans mon manque de culture sur ces langues (la fa\u00e7on dont les mois sont d\u00e9clin\u00e9s) et la fa\u00e7on dont Firefox g\u00e8re ce qui s'\u00e9crit de droite \u00e0 gauche.\n\nBesoin d'aide\u2026<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.7 : Mobilizon, source testing, end-to-end testing","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/v1.8.7_mobilizon_source-testing_end-to-end_testing.html","rel":"alternate"}},"published":"2022-09-30T00:00:00+02:00","updated":"2022-09-30T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-09-30:\/journal\/2022\/v1.8.7_mobilizon_source-testing_end-to-end_testing.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_testing\">1. Source testing<\/a><\/li>\n<li><a href=\"#_end_to_end_testing\">2. End to end testing<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Meta-Press.es slowly acquires more maturity, for this new version the focus was\non : testing.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>testing of all the sources<\/p>\n<\/li>\n<li>\n<p>testing of all the features<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But that&#8217;s not all, quite some bugs where corrected and following the\ndiscussions with Code \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_source_testing\">1. Source testing<\/a><\/li>\n<li><a href=\"#_end_to_end_testing\">2. End to end testing<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Meta-Press.es slowly acquires more maturity, for this new version the focus was\non : testing.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>testing of all the sources<\/p>\n<\/li>\n<li>\n<p>testing of all the features<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But that&#8217;s not all, quite some bugs where corrected and following the\ndiscussions with Code Lutin&#8217;s crew met in Nantes earlier this month, a new\nsource was <a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/57\">contributed<\/a>\n: Mobilizon !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>You can find it in the Agenda source type, and this 1st instance is opening\nthe door for the 88 known instances of Mobilizon, that will soon join the 27\ninstances of Demosphere, the AgendaMilitant.org, while we still wait for the\nAgendaDuLibre.org to implement a full-text search.<\/p>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\nUsers reported that the v1.8.8 was opening the Welcome tab at each\nFirefox start\u2026 It&#8217;s fixed with version 1.8.8.1. (And yes : the v1.8.8 is in\nfact the v1.8.7 because of a numbering mistake\u2026).\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_source_testing\">1. Source testing<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>A source testing feature existed, made by Christopher Gauthier, it was able to\nverify that all the sources were still reachable and giving results. We tried\nmany approaches for this first version and it was slow, running in around 600\nseconds for 300 sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The new version keeps most of the presentation improvement made by Christopher\nover the 1st iteration, but I simplified a lot of the operations. I, more or\nless, removed 1000 code lines from the main page JavaScript and got it into\nseparate files, keeping around 300 lines.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Before, it was needed to change some Firefox settings (to allow it to open one\ntab by source to test). Now it&#8217;s just a page to visit and a button to click.\nAll the sources are tested at once, in the same tab, with the same word.\nBecause there is one magic word that at least 75% of all the sources are\nresponding to\u2026 and it&#8217;s \u00ab Europe \u00bb. (yes, some newspapers did not spoke\nabout COVID, at all ; and yes, I have 25% of the sources to fix).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This new version of the test procedure runs in 1'30\" with a recent Firefox\n(it&#8217;s 3x time slower with the ASAN version of Firefox).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I tested various browsers with no noticeable differences in speed. Firefox is\nregularly the fastest WebExtension supporting browser in the world according to\nthis test.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>One funny point to finish : there are groups of sources hosted on the same web\nserver. It can be different languages of the same newspapers (Euronews), or a\ngroup of local newspapers (Dauphin\u00e9 lib\u00e9r\u00e9 and its numerous extends) or even\nalready just the image and video versions of the same source (ANSA). And they\nfail when queried all at once by the source testing procedure. I guess that\nwhen their common server sees 10 requests from the same IP within a few\nmilliseconds, it hangs up the connexions.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fortunately, Firefox introduced a DNS handling API for WebExtensions about a\nyear ago. So IPs of the sources are collected prior to send queries and a\ndelay is added for sources sharing their IP. This improves the overall\nMeta-Press.es behavior and this need would have been difficult to spot without\nthis test procedure.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Bad web browsers don&#8217;t have support for DNS handling (all the others) and I&#8217;m\nleft with the shuffling of the source list and a static delay between each\nsources. To be true, as it takes around 50ms to lookup for a domain IP results\nare comparable\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>But regarding this core Meta-Press.es need, Firefox is also shinning world wide.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220930_source_testing.png\" alt=\"20220930 source testing\">\n<\/div>\n<div class=\"title\">Figure 1. Capture of the source testing matrix result.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_end_to_end_testing\">2. End to end testing<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>I should have done it before, as it would have avoid quite some regressions\u2026\n(regarding <strong>one-word<\/strong> \/ <strong>many-words<\/strong> tag auto-selection for instance, reported\non <a href=\"https:\/\/mamot.fr\/web\/@Siltaer\/109048095446472306\">Mastodon<\/a> and fixed with\nthis release)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I chose Selenium for this over Karma to be able to click on JavaScript alerts,\nand over Puppeteer also to be able to run the tests in several browsers.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I used a bit of Python to manipulate Selenium (which is made of Java) and\nneeded some JavaScript too.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I did only put the basis of what will still be a long journey to achieve a 100%\ntest coverage. But we&#8217;re heading to it, and we already have a 100% coverage for\ninternal image loading, internal links loading and static external links\nloading. This looks like something basic, everyone needs this, but it&#8217;s not\neasy to achieve. To start with something it required external dependencies\n(Selenium, Python-Selenium, Geckodriver\u2026) and a combination of Python and\nJavaScript code.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Then I was left with one question:<\/p>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>Why is #Selenium so famous ?\nOk, it can open a headless Firefox and execute some JavaScript in.\nBut it can't get you JavaScript exceptions back.\nIt can't get you HTTP status.\nIt can't get you span text if an alert is open.\nIt can't click on a browser permission popup.\nWhat are we left with ? Be water.<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>- @<a href=\"mailto:Siltaer@mamot.fr\">Siltaer@mamot.fr<\/a> 30 septembre 2022 12:32, <a href=\"https:\/\/mamot.fr\/@Siltaer\/109087368503328477\" class=\"bare\">https:\/\/mamot.fr\/@Siltaer\/109087368503328477<\/a><\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>To manage to get a reliable behavior from Selenium, you need to wait until all\nthe JavaScript of your web page loads. This is not something Selenium provides.\nI got 2 methods working for this : setting a CSS class on the <code>body<\/code> HTML tag\n(for instance) of your web page, via JavaScript, when it finishes to load, or\nsetting a JavaScript variable in the <code>window<\/code> object and wait for it from the\nSelenium side.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Then, Selenium can&#8217;t tell me if an image is loaded or not. So I had to figure\nout how to tell this using JavaScript code, injected or called from Selenium.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Here are two ways to find out if an image loaded or not :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>is the image having a non-zero <code>.naturalWidth<\/code> property ?<\/p>\n<\/li>\n<li>\n<p>is the image supports a call to <code>.decode()<\/code> ?<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>The good point is : you don&#8217;t need a side request to get the information.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>But you need those to tell if the links are broken or not (indeed).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>As ranted in the Mastodon toot, Selenium won&#8217;t let you access the HTTP status\ncode of a loaded page.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>So lets try with JavaScript. It works great for WebExtension internal links.\nBut external links are blocked by CORS policy. So those other links are to be\ntested from the Python driver script, but with a side <code>request<\/code> that Selenium\nignores about (and deal with your error reporting to keep it homogeneous).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I pass on the genuine bugs that you&#8217;ll discover meanwhile\u2026 (exhaustively testing stuff)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>And eventually it runs and reports no errors : so much emotions in front of\nthis new lovely kind of \"nothing\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It will be a long journey to write the tests of all the settings, one by one\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.7 : Mobilizon, test des sources et test de bout en bout","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/v1.8.7_mobilizon_source-testing_end-to-end_testing.html","rel":"alternate"}},"published":"2022-09-30T00:00:00+02:00","updated":"2022-09-30T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-09-30:\/fr\/journal\/2022\/v1.8.7_mobilizon_source-testing_end-to-end_testing.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_test_des_sources\">1. Test des sources<\/a><\/li>\n<li><a href=\"#_test_de_bout_en_bout\">2. Test de bout en bout<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Meta-Press.es gagne progressivement en maturit\u00e9, ainsi pour cette nouvelle version l&#8217;objectif \u00e9tait d&#8217;avancer sur les tests :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>test de toutes les sources ;<\/p>\n<\/li>\n<li>\n<p>test de toutes les fonctionnalit\u00e9s.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais ce n&#8217;est pas tout, un certain nombre de \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_test_des_sources\">1. Test des sources<\/a><\/li>\n<li><a href=\"#_test_de_bout_en_bout\">2. Test de bout en bout<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Meta-Press.es gagne progressivement en maturit\u00e9, ainsi pour cette nouvelle version l&#8217;objectif \u00e9tait d&#8217;avancer sur les tests :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>test de toutes les sources ;<\/p>\n<\/li>\n<li>\n<p>test de toutes les fonctionnalit\u00e9s.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais ce n&#8217;est pas tout, un certain nombre de bugs ont \u00e9t\u00e9 corrig\u00e9s et les\ndiscussions men\u00e9es durant les Escales du Libre \u00e0 Nantes un peu plus t\u00f4t ce\nmois-ci avec les employ\u00e9s de Code Lutin ont abouti \u00e0 la\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\/57\">contribution<\/a> d&#8217;une\nnouvelle source : Mobilizon !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Vous pouvez la retrouver parmi les sources de type Agenda et cette 1\u00e8re\ninstance ouvre la voie pour les 88 autres instances de connues de Mobilizon,\nqui vont ainsi rejoindre les 27 instances de Demosphere ainsi que\nl&#8217;AgendaMilitant.org, alors qu&#8217;on attend toujours que l&#8217;AgendaDuLibre.org\nimpl\u00e9mente une recherche textuelle globale\u2026<\/p>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\nDes utilisateurs ont rapport\u00e9 un probl\u00e8me avec la fen\u00eatre de bienvenue\ndans la v1.8.8, qui s&#8217;ouvre \u00e0 chaque lancement de Firefox. C&#8217;est corrig\u00e9 avec\nla version 1.8.8.1. (et oui : la v1.8.8 c&#8217;est en fait la v1.8.7, \u00e0 cause d&#8217;une\npetite erreur de num\u00e9rotation)\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_test_des_sources\">1. Test des sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Une proc\u00e9dure de test des sources existait d\u00e9j\u00e0, cr\u00e9\u00e9e par Christopher\nGauthier, permettant de v\u00e9rifier que les sources \u00e9taient encore joignables et\nqu&#8217;on savait lire leurs r\u00e9sultats. Cette proc\u00e9dure \u00e9tait le fruit de nombreux\nessais et se r\u00e9v\u00e9lait lente, requ\u00e9rant environ 600s pour tester 300 sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette nouvelle version conserve la pr\u00e9sentation \u00e9labor\u00e9e (et am\u00e9lior\u00e9e) avec\nChristopher, mais j&#8217;en ai simplifi\u00e9 le fonctionnement. Des 1000 lignes de\nJavaScript retir\u00e9es du fichier principal, j&#8217;en ai gard\u00e9 environ 300, r\u00e9parties\ndans plusieurs fichiers.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>De plus, avant il fallait changer un r\u00e9glage interne de Firefox (pour permettre\nd&#8217;ouvrir un onglet par source \u00e0 tester), alors que maintenant ce n&#8217;est qu&#8217;une\npage \u00e0 visiter et un bouton \u00e0 cliquer. Toutes les sources sont d\u00e9sormais\ntest\u00e9es en m\u00eame temps, dans le m\u00eame onglet, avec le m\u00eame terme de recherche\n(pour l&#8217;instant). En effet, il existe un mot magique qu&#8217;au moins 75% des\nsources ont utilis\u00e9, et ce n&#8217;est pas COVID ! Mais \u00ab Europe \u00bb. (et oui, j&#8217;ai\nenviron 25% des sources \u00e0 r\u00e9parer en l&#8217;\u00e9tat).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette nouvelle version de la proc\u00e9dure est boucl\u00e9e en 1'30\" avec un Firefox\nr\u00e9cent et en 1er lanc\u00e9, quand les sources mettent du temps \u00e0 r\u00e9pondre parce que\nla recherche n&#8217;est pas en cache. (c&#8217;est environ 3x plus lent avec un <em>Firefox\nnightly ASAN<\/em>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai test\u00e9 cette proc\u00e9dure sur diff\u00e9rents navigateurs sans noter de diff\u00e9rence\nvisible dans les r\u00e9sultats, ni concernant la dur\u00e9e d&#8217;ex\u00e9cution. Firefox est m\u00eame\nr\u00e9guli\u00e8rement le navigateur web supportant les WebExtensions le plus rapide du\nmonde, d&#8217;apr\u00e8s ce test.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une anecdote pour finir : il y a des groupes de sources h\u00e9berg\u00e9es sur un m\u00eame\nserveur. Cela peut \u00eatre les diff\u00e9rentes langues d&#8217;un m\u00eame journal (Euronews),\nun groupe de journaux locaux rachet\u00e9s par une m\u00eame <em>holding<\/em> (Dauphin\u00e9 lib\u00e9r\u00e9 et\nses nombreux <em>extends<\/em>), ou d\u00e9j\u00e0 rien que les versions <code>image<\/code> et <code>vid\u00e9o<\/code> d&#8217;un\ngrand journal (ANSA). Et malheureusement ces sources ressortent en erreur quand on\nlance la proc\u00e9dure de test. J&#8217;imagine que le serveur voyant arriver 10 requ\u00eates en m\u00eame\ntemps (\u00e0 quelques millisecondes d&#8217;intervalle) en provenance d&#8217;une m\u00eame IP,\ns&#8217;empresse de raccrocher les connexions.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fort heureusement Firefox a r\u00e9cemment introduit une nouvelle API de r\u00e9solution\nde domaine pour les WebExtensions (il y a moins d&#8217;un an). Ainsi, il est\npossible de collecter les adresses IP des sources avant de lancer les requ\u00eates\net d&#8217;ajouter un d\u00e9lais pour celles qui partiront vers le m\u00eame serveur. Au\nfinal \u00e7a am\u00e9liore le fonctionnement le plus central de Meta-Press.es et il\naurait \u00e9t\u00e9 difficile de remarquer le besoin sans coder une cette proc\u00e9dure de\ntest des sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c9videmment, les mauvais navigateurs web ne supportent pas encore cette API de\ngestion de DNS (c&#8217;est \u00e0 dire tous les autres navigateurs web) ce qui oblige \u00e0\nchercher un palliatif sous la forme d&#8217;un m\u00e9lange al\u00e9atoire de la liste des\nsources \u00e0 interroger et de l&#8217;ajout d&#8217;un d\u00e9lais fixe entre chaque requ\u00eates.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c0 vrai dire, vu que la r\u00e9solution d&#8217;un domaine via Firefox prends quelques\ndizaines de millisecondes, les r\u00e9sultats des deux m\u00e9thodes sont \u00e9quivalents\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais \u00e0 nouveau, concernant cet \u00e9l\u00e9ment fondamental du fonctionnement de\nMeta-Press.es, Firefox se distingue mondialement.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220930_source_testing.png\" alt=\"20220930 source testing\">\n<\/div>\n<div class=\"title\">Figure 1. Capture of the source testing matrix result.<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Force est de constater qu&#8217;une exposition prolong\u00e9e au d\u00e9fragmenteur de Windows\ndurant l&#8217;enfance laisse des s\u00e9quelles durables\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_test_de_bout_en_bout\">2. Test de bout en bout<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Que ne m&#8217;y suis-je mis plus t\u00f4t ? \u00c7a aurait \u00e9vit\u00e9 des r\u00e9gressions, comme celle\nconcernant la s\u00e9lection automatique des sources sachant chercher <strong>un mot<\/strong> ou\n<strong>plusieurs mots<\/strong>, comme il a \u00e9t\u00e9 rapport\u00e9 sur\n<a href=\"https:\/\/mamot.fr\/web\/@Siltaer\/109048095446472306\">Mastodon<\/a> et corrig\u00e9 pour\ncette version.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai utilis\u00e9 Selenium pour impl\u00e9menter ces tests, car on ne peut pas cliquer\nsur une fen\u00eatre modale d' <code>alert<\/code> avec Karma, et que Puppeteer est en plus\nlimit\u00e9 \u00e0 un seul navigateur web.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai utilis\u00e9 un peu de Python pour manipuler Selenium (une biblioth\u00e8que de\nfonction \u00e9crite en Java) et eu besoin de pas mal de JavaScript aussi.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Seules les bases de ce grand chantier ont \u00e9t\u00e9 jet\u00e9es et un long chemin\ns&#8217;annonce pour arriver \u00e0 une couverture fonctionnelle int\u00e9grale. M&#8217;enfin on est\nd\u00e9j\u00e0 \u00e0 une couverture de 100% de la v\u00e9rification du chargement des pages, des\nimages, et des liens cod\u00e9s en dur (pas ceux li\u00e9s aux sources, qui sont test\u00e9es\nind\u00e9pendamment\u2026 Vous ai-je parl\u00e9 de la nouvelle proc\u00e9dure de test des sources\n!?).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Tester si les images se chargent ou si les liens sont morts pourrait sembler\nbasique. Tout le monde \u00e0 besoin de \u00e7a. Mais non, ce n&#8217;est pas \u00e9vident \u00e0 mettre\nen place\u2026 Pour commencer la solution s&#8217;appuie sur des d\u00e9pendances (Selenium,\nPython-Selenium, Geckodriver\u2026) et sur une combinaison de Python et de\nJavaScript pour piloter l&#8217;ensemble.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et je me suis rapidement senti seul, avec une derni\u00e8re question en t\u00eate (librement traduite) :<\/p>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre> Pourquoi est-ce que #Selenium est si c\u00e9l\u00e8bre ?\nD'accord \u00e7a ouvre un Firefox sans fen\u00eatre et y ex\u00e9cute du JavaScript dedans,\nMais \u00e7a ne retourne pas les exceptions du JavaScript !\n\u00c7a ne retourne pas les codes de r\u00e9ponse HTTP.\n\u00c7a ne peut pas lire le texte d'un span si une fen\u00eatre modale est ouverte.\n\u00e7a ne peut pas cliquer sur les fen\u00eatres de demande de permissions\u2026\nQu'est-ce qu'il nous reste finalement ? Un gros besoin de cr\u00e9ativit\u00e9.<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>- @<a href=\"mailto:Siltaer@mamot.fr\">Siltaer@mamot.fr<\/a> 30 septembre 2022 12:32, <a href=\"https:\/\/mamot.fr\/@Siltaer\/109087368503328477\" class=\"bare\">https:\/\/mamot.fr\/@Siltaer\/109087368503328477<\/a><\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour obtenir un comportement rationnel de Selunium, il faut attendre que les\npages soient compl\u00e8tement charg\u00e9es, JavaScript compris. Mais \u00e7a, c&#8217;est encore\nquelque chose que Selenium ne propose pas. J&#8217;ai trouv\u00e9 deux m\u00e9thodes pour\nattendre l&#8217;ex\u00e9cution du JavaScript : faire placer par le JavaScript, et en fin\nde chargement, une classe CSS sur la balise <code>body<\/code> de la page web par exemple,\nou d\u00e9clarer une variable dans l&#8217;objet <code>window<\/code> et attendre qu&#8217;elle soit d\u00e9finie\nc\u00f4t\u00e9 Selenium.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ensuite, Selenium ne sait pas dire si une image a bien \u00e9t\u00e9 charg\u00e9e. J&#8217;ai donc\nd\u00fb trouver un moyen de faire \u00e7a avec du JavaScript, inject\u00e9 ou appel\u00e9 depuis\nSelenium.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voici deux m\u00e9thodes pour d\u00e9couvrir si une image a bien \u00e9t\u00e9 charg\u00e9e :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>est-ce que sa propri\u00e9t\u00e9 <code>.naturalWidth<\/code> vaut 0 ? (et alors c&#8217;est un \u00e9chec de chargement)<\/p>\n<\/li>\n<li>\n<p>est-ce que l&#8217;image supporte un appel \u00e0 la fonction <code>.decode()<\/code> ? (si l&#8217;image lance une exception parce qu&#8217;elle n&#8217;a rien \u00e0 d\u00e9coder, ce n&#8217;est pas bon signe)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Un bon point c&#8217;est qu&#8217;il n&#8217;y a pas besoin de requ\u00eates additionnelles pour obtenir l&#8217;info.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais on a par contre \u00e9videmment besoin de requ\u00eates additionnelles pour\nd\u00e9terminer si les liens sont bons (ou cass\u00e9s).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Comme signal\u00e9 dans le pouet sur Mastodon, Selenium ne peut pas fournir les\ncodes HTTP de chargement des pages. On peut obtenir cette info en JavaScript,\nmais seulement pour les liens internes, car on se heurte \u00e0 la politique CORS\nd\u00e8s qu&#8217;on vise un autre domaine. Alors pour les liens externes, on repasse c\u00f4t\u00e9\nPython et on lance des requ\u00eates additionnelles ind\u00e9pendantes de Selenium (et on\ns&#8217;arrange pour homog\u00e9n\u00e9iser l&#8217;affichage des erreurs).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Je passe sur les d\u00e9couvertes d&#8217;authentiques bugs d\u00e9couverts chemins faisant\n(vu qu&#8217;on s&#8217;est mis \u00e0 tester des choses de mani\u00e8re exhaustives\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et alors on a une chance d&#8217;arriver enfin \u00e0 faire tourner les tests sans\nafficher d&#8217;erreur dans la console : beaucoup d&#8217;\u00e9motion face \u00e0 cette ravissante\nnouvelle sorte de \"rien\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c7a va \u00eatre un long chemin pour coder les tests de tous les r\u00e9glages, un par un\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Free software \"stopovers\" in Nantes: new presentation of Meta-Press.es","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/2022_escales_du_libre.html","rel":"alternate"}},"published":"2022-09-14T00:00:00+02:00","updated":"2022-09-14T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-09-14:\/journal\/2022\/2022_escales_du_libre.html","summary":"<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>A day of discussions not to miss out !\n\nThe 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.\n\nThe Free software \"stopovers\" are the occasion to meet sysadmins, small and mid-size collectivities, industries and \u2026<\/code><\/pre><\/div><\/div>","content":"<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>A day of discussions not to miss out !\n\nThe 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.\n\nThe 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>\n<\/div>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/eventyay.com\/e\/d78c8bb0\" class=\"bare\">https:\/\/eventyay.com\/e\/d78c8bb0<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es, the alternative to GAFAM that allows to explore the online press\nwill be presented during this regional event.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The presentation is scheduled at :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Escales du Libre \u00e0 Nantes : nouvelle pr\u00e9sentation de Meta-Press.es","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/2022_escales_du_libre.html","rel":"alternate"}},"published":"2022-09-14T00:00:00+02:00","updated":"2022-09-14T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-09-14:\/fr\/journal\/2022\/2022_escales_du_libre.html","summary":"<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>Une journ\u00e9e d'\u00e9changes \u00e0 ne pas manquer !\n\nLes Escales du Libre (anciennement Rencontres R\u00e9gionales du Logiciel Libre) s'adressent aussi bien aux services informatiques qu'aux services me\u0301tiers qui trouveront des re\u0301ponses a\u0300 leurs proble\u0301matiques techniques et besoins fonctionnels.\n\nLes Escales du Libre sont ainsi l'occasion de rencontrer des \u2026<\/code><\/pre><\/div><\/div>","content":"<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"pygments highlight\"><code>Une journ\u00e9e d'\u00e9changes \u00e0 ne pas manquer !\n\nLes Escales du Libre (anciennement Rencontres R\u00e9gionales du Logiciel Libre) s'adressent aussi bien aux services informatiques qu'aux services me\u0301tiers qui trouveront des re\u0301ponses a\u0300 leurs proble\u0301matiques techniques et besoins fonctionnels.\n\nLes Escales du Libre sont ainsi l'occasion de rencontrer des administrations, collectivit\u00e9s, industries et entreprises ayant d\u00e9ploy\u00e9 des solutions libres ainsi que les prestataires locaux.<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/eventyay.com\/e\/d78c8bb0\" class=\"bare\">https:\/\/eventyay.com\/e\/d78c8bb0<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es, l&#8217;alternative aux GAFAM pour explorer la presse en ligne, sera\npr\u00e9sent\u00e9e lors de cet \u00e9v\u00e8nement r\u00e9gional.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La pr\u00e9sentation est pr\u00e9vue le :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2022-09-20 11:00 UTC+2 \u00e0 Nantes : plus d&#8217;info sur <a href=\"https:\/\/eventyay.com\/e\/d78c8bb0\/schedule\">le site de l&#8217;\u00e9v\u00e8nement<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Elle sera assortie d&#8217;une d\u00e9monstration des nouvelles fonctionnalit\u00e9s : liste des sources pour s\u00e9lection une \u00e0 une, mode enfant, le chargement des gros titres illustr\u00e9s, le formulaire de cr\u00e9ation de source\u2026<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.6 : Illustrated headlines from RSS feeds and child mode","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/v1.8.6_news-rss_child-mode.html","rel":"alternate"}},"published":"2022-08-13T00:00:00+02:00","updated":"2022-08-13T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-08-13:\/journal\/2022\/v1.8.6_news-rss_child-mode.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_child_mode\">1. Child mode<\/a><\/li>\n<li><a href=\"#_rss_news_feeds\">2. RSS news feeds<\/a><\/li>\n<li><a href=\"#_fancy_or_serious_sources\">3. Fancy or serious sources<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>For the v1.8.6 the development was focused on two main objectives :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the child mode<\/p>\n<\/li>\n<li>\n<p>headlines feature<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_child_mode\">1. Child mode<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Regarding the <strong>child mode<\/strong>, a new checkbox appeared in the settings. It allows\nto enable the \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_child_mode\">1. Child mode<\/a><\/li>\n<li><a href=\"#_rss_news_feeds\">2. RSS news feeds<\/a><\/li>\n<li><a href=\"#_fancy_or_serious_sources\">3. Fancy or serious sources<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>For the v1.8.6 the development was focused on two main objectives :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the child mode<\/p>\n<\/li>\n<li>\n<p>headlines feature<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_child_mode\">1. Child mode<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Regarding the <strong>child mode<\/strong>, a new checkbox appeared in the settings. It allows\nto enable the child mode, in which only child compatible sources are available\n(and access to settings and source creation is removed from the main\ninterface).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This is intended for school purposes. With this feature, you can turn your back\na few minutes while kids are using the tool. As long as they are on the main\ninterface, they&#8217;re safe.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>When you need to disable the child mode, reach the settings via the Firefox'\nstandard way of reaching the settings of a WebExtension (via the menu or the\n<code>about:addons<\/code> internal address).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The sources available when the child mode is activated are marked with the <strong>for\nkids<\/strong> tech. tag, so you can easily list them to check them via the <em>source\nlist<\/em> feature of the main interface. Two other tags have been set : <strong>for kids &lt;\n9<\/strong> and <strong>for kids &gt; 9<\/strong> ; to address specific needs of a thinner audience based\non it age.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220813_child-mode_.jpg\" alt=\"20220813 child mode \">\n<\/div>\n<div class=\"title\">Figure 1. Child mode source listing<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Currently 26 sources are marked <em>for kids<\/em> and I warmly encourage you to send\nme references to more sources for this category.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>\n<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> \u2014 <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>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_rss_news_feeds\">2. RSS news feeds<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Regarding the headlines, a radical change occurred. Headlines are now fetched\nfrom main RSS feeds of sources (if they provide one). This brings 3 main\nadvantages :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>every compatible source can now provide up to 10 general purpose news (your setting)<\/p>\n<\/li>\n<li>\n<p>those news are now fitted with excerpts in addition to titles<\/p>\n<\/li>\n<li>\n<p>half of the compatible sources now provide illustrations<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es is not to become a general purpose news feed reader, but it is\nnow a news feed reader for its indexed sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Settings have been added to chose how many news to display from each sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>On my own Meta-Press.es instance, I saved a new \"scheduled search\" setup with\nmy favourite independent sources (among current 224 ones). I let it on its\ndefault \"Stop\" run frequency and I open it from the settings only to load the\nnews ! Also, the <code>indep.<\/code> tag is not a source type anymore but a <code>tech<\/code> tag that\ncan be crossed with many source types (such as: <code>encyclo.<\/code> <code>press<\/code> <code>agenda<\/code> \u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This new feature was introduced thanks to a modification in the source\ndefinition API. I scripted the upgrade for the current 600+ sources and half of\nthem was found to provide an RSS feed. Maybe some are missing for sources you\nknow, don&#8217;t hesitate to signal them, it&#8217;s easy to add back for the next\nrelease.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This was a simplification trade between the <em>headline_url<\/em> + <em>h_title<\/em>\nselectors in source definitions for a single <em>news_rss_url<\/em> and even if we&#8217;re\nlosing half the sources currently, it&#8217;s removing the heaviest maintenance\nburden. 2\/3 of the source upgrading tasks where about the headlines (as the\nfrontpage of newspapers is constantly evolving). The only foreseeable evolution\nin RSS news feeds are their possible removal, but they have been doomed dead\nlong ago already.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Another modification that this work introduced in the source definition API was\nthe removal of the <code>xml_type<\/code> entry. No need anymore. The work on the dynamic\nsource creation form (introduced in v1.8.5) lead to the creation of a\n\"detect_RSS_variant\" function, that were re-used and battle proven for RSS\nheadline fetching and so extended to the search feature of RSS based source\ndefinitions. So defining a new source is a bit easier now in the case of RSS\nbased sources, and the new source creation form have been updated accordingly.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>An expected visible effect is more illustrations on results (because we might\nhave missed some with the previous \"manually setup\" system).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The <a href=\"\/pages\/meta-press.es_documentation.html\">online documentation<\/a> have\nbeen update also. (and it&#8217;s the kind of lines that do not reflect the work it\nhave been).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fancy_or_serious_sources\">3. Fancy or serious sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>Big up for the #DailyTelegraph which manage to publish a half empty #RSS feed without any date on entries !!\nhttps:\/\/www.dailytelegraph.com.au\/news\/breaking-news\/rss\nOver 235 RSS feeds, its the deadliest broken one.\nThe good news is that you'll be able to fetch all the other feeds from the next version of #MetaPress.<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>- 9 ao\u00fbt 2022 \u00e0 19:25 - <a href=\"https:\/\/pouet.chapril.org\/@metapress\/108794553815547789\" class=\"bare\">https:\/\/pouet.chapril.org\/@metapress\/108794553815547789<\/a><\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>There is a source that is hard to work with. It&#8217;s the serious\n<a href=\"https:\/\/www.intelligenceonline.fr\">IntelligenceOnline.fr<\/a> dealing with infosecs\n(sounds great). This source already lead to some improvements in the source\ndefinition API of Meta-Press.es like the new <code>search_ctype<\/code> which allows to\nspecify the content-type used to send the request to the server (every 608\ncurrently working sources are using <code>application\/x-www-form-urlencoded<\/code>, but\nthis one requires <code>application\/json<\/code>). But it&#8217;s not enough to work with\nIntelligenceOnline as this source also encode (maybe encrypt) the search terms\nbefore it sends them to the server\u2026 OK, why not. As it&#8217;s all open-hearted\nclient-side JavaScript, the exact mechanism might be studied and a cipher key\nmight be extracted and I would love to enrich Meta-Press.es source definition\nAPI with <em>term_cipher_method<\/em> and <em>term_cipher_key<\/em> entries.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>As it wont be in my priorities anytime soon, a contributer might earn a lot of\nconsideration, some Meta-Press.es stickers and badges, and an in-depth\nblog-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>\n<\/div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"><\/i>\n<\/td>\n<td class=\"content\">\n2024-02-26: a mechanism of preliminary request to grab a token to inject into the search URL have been implemented. It fixes this issue.\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<p>To finish, some new tendencies\u2026 Some sources are still using <em>jsonp<\/em> to serve\nresults (it&#8217;s a workaround CORS limitations on JSON that was heavily used 20\nyears ago). It&#8217;s the case of LaNacion.com.ar (OK, it&#8217;s the south-half of the\nword, with an insane climate and a terrible economic crisis 20 years ago\u2026) and\nLiberation.fr. So it exists a <code>jsonp_to_json_re<\/code> entry for source definitions\nthat allows to specify a RegExp used to extract the JSON data the JSONP script\nsource file.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>But a something new is emerging and appears to be the contrary : JSON is used\nto encapsulate server-side computed regular HTML\u2026 Why not sending bare HTML ?\nStill, the new <code>json_to_html<\/code> source definition entry allows to extract and\nparse the HTML. I imagine that I&#8217;ll have to detail this mechanism on a\nper-field level soon.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.6 : Actu RSS illustr\u00e9es et mode enfant","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/v1.8.6_news-rss_child-mode.html","rel":"alternate"}},"published":"2022-08-13T00:00:00+02:00","updated":"2022-08-13T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-08-13:\/fr\/journal\/2022\/v1.8.6_news-rss_child-mode.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_mode_enfant\">1. Mode enfant<\/a><\/li>\n<li><a href=\"#_actu_rss\">2. Actu RSS<\/a><\/li>\n<li><a href=\"#_des_sources_originales_et_dautres_plus_s\u00e9rieuses\">3. Des sources \"originales\" et d&#8217;autres plus s\u00e9rieuses\u2026<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour la version 1.8.6 l&#8217;attention fut port\u00e9e sur deux objectifs :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le mode enfant<\/p>\n<\/li>\n<li>\n<p>le chargement des gros titres de l&#8217;actualit\u00e9 g\u00e9n\u00e9rale hors recherche ;<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_mode_enfant\">1. Mode enfant<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Concernant le <strong>mode enfant \u2026<\/strong><\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_mode_enfant\">1. Mode enfant<\/a><\/li>\n<li><a href=\"#_actu_rss\">2. Actu RSS<\/a><\/li>\n<li><a href=\"#_des_sources_originales_et_dautres_plus_s\u00e9rieuses\">3. Des sources \"originales\" et d&#8217;autres plus s\u00e9rieuses\u2026<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour la version 1.8.6 l&#8217;attention fut port\u00e9e sur deux objectifs :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le mode enfant<\/p>\n<\/li>\n<li>\n<p>le chargement des gros titres de l&#8217;actualit\u00e9 g\u00e9n\u00e9rale hors recherche ;<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_mode_enfant\">1. Mode enfant<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Concernant le <strong>mode enfant<\/strong> une nouvelle case \u00e0 cocher est apparue dans les\nr\u00e9glages. Elle permet d&#8217;activer le mode enfant ce qui ne laisse plus que les\nsources \u00e9tiquet\u00e9es comme adapt\u00e9es aux enfants de disponibles dans Meta-Press.es.\nDe plus l&#8217;acc\u00e8s aux r\u00e9glages et l&#8217;ajout de nouvelles sources ne sont plus\naccessibles depuis l&#8217;interface principale.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette fonctionnalit\u00e9 est destin\u00e9e aux \u00e9coles, gr\u00e2ce \u00e0 elle un prof. peut\ntourner le dos 5 minutes (pour faire le tour des postes de la classe) l&#8217;esprit\nserein. Tant que les \u00e9l\u00e8ves sont devant l&#8217;interface principale, c&#8217;est sans danger.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour d\u00e9sactiver le mode enfant, il faut atteindre les r\u00e9glages depuis la liste\ndes WebExtensions de Firefox (soit via le menu de Firefox, soit via l&#8217;adresse interne\n<code>about:addons<\/code>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les sources qui restent disponibles lorsque le mode enfant est activ\u00e9 sont\n\u00e9tiquet\u00e9es <strong>for kids<\/strong> dans le logiciel (et ce terme sera probablement traduit\npar \"mode enfant\" \u00e0 l&#8217;affichage). Il est donc facile de les lister dans\nl&#8217;interface principale. De plus, les \u00e9tiquettes <strong>for kids &lt; 9<\/strong> et <strong>for kids &gt;\n9<\/strong> sont \u00e9galement disponibles pour cibler plus finement l&#8217;age de son audience.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220813_child-mode_.jpg\" alt=\"20220813 child mode \">\n<\/div>\n<div class=\"title\">Figure 1. Liste des sources pour enfant<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Il y a pour l&#8217;instant 26 sources compatibles avec le mode enfant et vous \u00eates\nchaudement encourag\u00e9s \u00e0 en signaler d&#8217;autres pour \u00e9toffer la cat\u00e9gorie !<\/p>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>Il y a plus de 10 encyclop\u00e9dies \"pour enfants\" en Europe\u2026\nElles seront toutes dans la prochaine version de Meta-Press.es #metapress (v1.8.6) et \"seulement elles\" avec le mode enfants !\nSi vous connaissez des sources (journaux en ligne) \"pour enfants\" c'est le moment !!\n(de me les signaler)\nSource : https:\/\/fr.wikipedia.org\/wiki\/WikiKids<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>- 5 ao\u00fbt 2022 \u00e0 13:27 - <a href=\"https:\/\/pouet.chapril.org\/@metapress\/108770494843123872\" class=\"bare\">https:\/\/pouet.chapril.org\/@metapress\/108770494843123872<\/a><\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\n<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> \u2014 <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>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_actu_rss\">2. Actu RSS<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Concernant les gros titres, un changement radical a eu lieu et ils sont\nd\u00e9sormais r\u00e9cup\u00e9r\u00e9s depuis les flux RSS principaux des sources (qui en\nproposent). Cela apporte 3 am\u00e9liorations :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>les sources compatibles fournissent maintenant 10 actu. ou plus (via r\u00e9glage)<\/p>\n<\/li>\n<li>\n<p>une description accompagne chaque actu<\/p>\n<\/li>\n<li>\n<p>la moiti\u00e9 des actus sont m\u00eame illustr\u00e9es d\u00e9sormais !<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es ne vise pas \u00e0 devenir un agr\u00e9gateur de flux RSS, mais c&#8217;\u00e9tait\ndommage de se passer des flux RSS des sources index\u00e9es. Si vous cherchez\nl&#8217;inspiration avant de faire une recherche, maintenant y&#8217;a de quoi faire.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Un r\u00e9glage a \u00e9t\u00e9 ajout\u00e9 pour choisir combien d&#8217;actu. de chaque source sont\naffich\u00e9es dans la liste.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans mon instance de Meta-Press.es, j&#8217;ai enregistr\u00e9 une \"recherche programm\u00e9e\"\navec mes sources ind\u00e9pendantes favorites (parmi les 224 d\u00e9sormais\ndisponibles). Je la laisse sur la fr\u00e9quence d&#8217;ex\u00e9cution par d\u00e9faut, c&#8217;est \u00e0\ndire Stop et l&#8217;ouvre depuis la page des r\u00e9glages pour lire l&#8217;actu. Par\nailleurs, <code>indep.<\/code> n&#8217;est plus un type de source mais un crit\u00e8re technique\nd\u00e9sormais, ce qui permet de croiser ce crit\u00e8re avec les types de source\njustement (comme: <code>encyclo.<\/code> <code>press<\/code> <code>agenda<\/code> \u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette modification a entrain\u00e9 une modification de la fa\u00e7on dont les sources\nsont d\u00e9finies. J&#8217;ai script\u00e9 une mise \u00e0 jour des (plus de) 600 sources connues et\nun flux RSS a \u00e9t\u00e9 trouv\u00e9e pour une source sur deux. Il en manque donc probablement\nencore, et peut \u00eatre sur des sources que vous connaissez, alors n&#8217;h\u00e9sitez pas \u00e0\nles signaler, c&#8217;est facile \u00e0 ajouter pour la prochaine version.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette modification a permis de simplifier les d\u00e9finitions de source (en\nrempla\u00e7ant plusieurs champs par un seul <em>news_rss_url<\/em>. Et puis, m\u00eame si on\nperd les actu. de la moiti\u00e9s des sources pour l&#8217;instant, c&#8217;est aussi une grosse\nsimplification dans la maintenance de l&#8217;outil car au moins les 2\/3 des mises \u00e0\njour de d\u00e9finition de source concernaient les gros titres (car les\njournaux rivalisent d&#8217;inventivit\u00e9 quand il s&#8217;agit de mettre un gros titre en\navant, alors qu&#8217;il y a un dossier sp\u00e9cial \u00e0 la Une et un live en cours !). L\u00e0,\navec les flux RSS, la principale \u00e9volution envisag\u00e9e c&#8217;est la suppression du\nflux or \u00e7a fait des d\u00e9cennies d\u00e9j\u00e0 qu&#8217;on a annonc\u00e9 leur mort\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une autre modification indirectement apport\u00e9e \u00e0 la d\u00e9finition des sources par\ncette fonctionnalit\u00e9 est la suppression des entr\u00e9es <code>xml_type<\/code>. Il n&#8217;y en a\nplus besoin. Le travail sur le formulaire dynamique d&#8217;ajout de sources a entrain\u00e9\nla cr\u00e9ation d&#8217;une fonction \"detect_RSS_variant\", qui a \u00e9t\u00e9 r\u00e9-utilis\u00e9e pour la\nlecture des actu. depuis leurs flux et finalement \u00e9tendue (vu les bons\nr\u00e9sultats dans la d\u00e9tection des illustrations) aux r\u00e9sultats de recherche des\nsources d\u00e9finies via flux RSS. D\u00e9finir une nouvelle source est donc plus simple\naujourd&#8217;hui avec ces petites simplifications et le formulaire de cr\u00e9ation de\nsource a \u00e9t\u00e9 mis \u00e0 jour en cons\u00e9quence.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le r\u00e9sultat le plus concret de ce changement c&#8217;est qu&#8217;il y a plus d&#8217;illustrations\ndans les r\u00e9sultats affich\u00e9s par Meta-Press.es (vu qu&#8217;on en avait s\u00fbrement\nmanqu\u00e9s dans les d\u00e9finitions manuelles).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La <a href=\"\/pages\/meta-press.es_documentation.html\">documentation<\/a> en ligne du\nprojet a \u00e9galement \u00e9t\u00e9 mise \u00e0 jour (et c&#8217;est le genre de phrase qui refl\u00e8te mal\ntout le travail que \u00e7a a demand\u00e9).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_des_sources_originales_et_dautres_plus_s\u00e9rieuses\">3. Des sources \"originales\" et d&#8217;autres plus s\u00e9rieuses\u2026<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Il y a des sources qui devraient \u00eatre faciles \u00e0 indexer, vu qu&#8217;elles\nfournissent leurs r\u00e9sultats de recherche en RSS, mais dont l&#8217;int\u00e9gration \u00e9choue\nquand m\u00eame, parce que leur RSS ne comporte pas de date sur ses entr\u00e9es ! C&#8217;est\nnotamment le cas du DailyTelegraph.com ou d&#8217;Arabnews.jp (les deux ayant \u00e9t\u00e9\nd\u00e9couverts le m\u00eame soir) :<\/p>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>Fa\u00eetes moi un maximum de bruit pour le Daily Telegraph qui r\u00e9ussi l'exploit de publier un flux #RSS \u00e0 moiti\u00e9 vide, sans date sur les r\u00e9sultats !!\nhttps:\/\/www.dailytelegraph.com.au\/news\/breaking-news\/rss\nSur 235 flux RSS g\u00e9r\u00e9s par la prochaine version de #metapress c'est le seul qui est p\u00e9t\u00e9 \u00e0 ce point.\nLa bonne nouvelle, c'est que la lecture d'actualit\u00e9s g\u00e9n\u00e9rales depuis Meta-Press.es prend une autre tournure : 10 actu par sources, descriptions et illustrations\u2026\nEt stable comme du RSS, alors que c'\u00e9tait le pire \u00e0 maintenir.<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>- 9 ao\u00fbt 2022 \u00e0 19:15 - <a href=\"https:\/\/pouet.chapril.org\/@metapress\/108794515280867796\" class=\"bare\">https:\/\/pouet.chapril.org\/@metapress\/108794515280867796<\/a><\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il y a des sources qui se prennent tr\u00e8s au s\u00e9rieux, comme\n<a href=\"https:\/\/www.intelligenceonline.fr\">IntelligenceOnline.fr<\/a> traitant de s\u00e9curit\u00e9\nau sens large et scrutant les agences de renseignement. Il a d\u00e9j\u00e0 fallu\nam\u00e9liorer des points de Meta-Press.es pour tenter d&#8217;int\u00e9grer cette source, en\ncr\u00e9ant notamment l&#8217;entr\u00e9e <code>search_ctype<\/code> qui permet de pr\u00e9ciser le\n<em>content-type<\/em> des donn\u00e9es envoy\u00e9es au serveur pour faire une recherche (car\nles 608 premi\u00e8res sources de Meta-Press.es se contentaient du format\n<code>application\/x-www-form-urlencoded<\/code> mais qu&#8217;IntelligenceOnline.fr pr\u00e9f\u00e8re utiliser\nl' <code>application\/json<\/code>). Et ce ne fut pas suffisant pour ajouter cette source,\ncar elle chiffre les termes de recherche avant de les envoyer au serveur !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Du coup, sur le principe c&#8217;est g\u00e9n\u00e9r\u00e9 par du JavaScript c\u00f4t\u00e9 client, donc c&#8217;est\n\u00e9tudiable et je serai heureux d&#8217;ajouter de nouvelles entr\u00e9es\n<em>term_cipher_method<\/em> et <em>term_cipher_key<\/em> au format de d\u00e9finition des\nsources\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais vu que \u00e7a ne va pas \u00eatre dans mes priorit\u00e9 tout de suite, un valeureux\ncontributeur pourrait gagner beaucoup de consid\u00e9ration, des autocollants et des\nbadges de Meta-Press.es ainsi qu&#8217;un billet sur ce blog (10k visiteurs uniques\nmensuels) revenant en d\u00e9tail sur son aventure\u2026 J&#8217;ai cr\u00e9\u00e9 le bug suivant dans\nFramagit 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>\n<\/div>\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-note\" title=\"Note\"><\/i>\n<\/td>\n<td class=\"content\">\n2024-02-26 : un m\u00e9canisme de requ\u00eate pr\u00e9liminaire permettant la r\u00e9cup\u00e9ration d&#8217;un jeton \u00e0 injecter dans l&#8217;URL de recherche a \u00e9t\u00e9 impl\u00e9ment\u00e9 et document\u00e9. Il r\u00e8gle ce probl\u00e8me.\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour finir, parlons d&#8217;une tendance qui m&#8217;\u00e9tonne\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Tout d&#8217;abord, il y a encore des sources qui utilisent le protocole <em>jsonp<\/em> pour\nservir leurs r\u00e9sultats de recherche (il s&#8217;agit d&#8217;un moyen de contourner\ncertaines s\u00e9curit\u00e9s mises en place dans l&#8217;acc\u00e8s aux ressources JSON, et c&#8217;\u00e9tait\ntr\u00e8s utilis\u00e9 il y a une vingtaine d&#8217;ann\u00e9es). C&#8217;est notamment le cas de\nLaNacion.com.ar (alors bon d&#8217;accord, l&#8217;Argentine c&#8217;est dans la moiti\u00e9 sud du\nglobe, le climat du pays est fou et il y a eu une crise \u00e9conomique terrible il\ny a 20 ans\u2026) mais c&#8217;est aussi le cas de Liberation.fr. Du coup il existe une\nentr\u00e9e de d\u00e9finition de source nomm\u00e9e <code>jsonp_to_json_re<\/code> qui permet de sp\u00e9cifier\nun motif de remplacement par expression rationnelle utilis\u00e9 pour extraire les\ndonn\u00e9es JSON d&#8217;un script JSONP.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais il y a aussi le contraire qui \u00e9merge sur le web en ce moment\u2026 du JSON\nutilis\u00e9 pour encapluser du HTML normal, calcul\u00e9 c\u00f4t\u00e9 serveur. Pourquoi ne pas\nse contenter d&#8217;envoyer du HTML (comme tout le monde). Du coup il existe une\nentr\u00e9e <code>json_to_html<\/code> dans les d\u00e9finitions de source qui permet de pr\u00e9ciser un\nchemin JSON o\u00f9 trouver du contenu HTML \u00e0 analyser pour la suite et je sens qu&#8217;il\nva bient\u00f4t falloir affiner ce m\u00e9canisme champs par champs\u2026<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Presentation of Meta-Press.es at the MCH2022","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/2022_MCH2022.html","rel":"alternate"}},"published":"2022-07-27T00:00:00+02:00","updated":"2022-07-27T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-07-27:\/journal\/2022\/2022_MCH2022.html","summary":"<div class=\"paragraph\">\n<p>After the cancelation of the event in 2021, the <a href=\"https:\/\/mch2022.org\/\">MCH2022<\/a> is about to happen.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es will be presented live during the event, which takes place in the Netherlands.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It is the continuation of OHM2013 and SHA2017.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The event will take place from the 22 to the 26 of july \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>After the cancelation of the event in 2021, the <a href=\"https:\/\/mch2022.org\/\">MCH2022<\/a> is about to happen.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es will be presented live during the event, which takes place in the Netherlands.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It is the continuation of OHM2013 and SHA2017.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The event will take place from the 22 to the 26 of july 2022.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The presentation is scheduled for :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>It will be held in english.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A car-pool from Deux-S\u00e8vre is organised via Mobicoop.fr where I posted an announce (and can&#8217;t gat any URL to point at\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>To finish, you can vote for the conference and get it a better time-slot :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/votes.mch2022.org\/\" class=\"bare\">https:\/\/votes.mch2022.org\/<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>(it&#8217;s currently: 112 \/ 144 ; 2022-06-07 16:50 CEST)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>(updated position: 78 \/ 144 ; 2022-06-09 14:20 CEST)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>(updated position: 66 \/ 144 ; 2022-06-10 16:30 CEST)<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Pr\u00e9sentation de Meta-Press.es au MCH2022","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/2022_MCH2022.html","rel":"alternate"}},"published":"2022-07-27T00:00:00+02:00","updated":"2022-07-27T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-07-27:\/fr\/journal\/2022\/2022_MCH2022.html","summary":"<div class=\"paragraph\">\n<p>Apr\u00e8s l&#8217;annulation de l&#8217;\u00e9v\u00e8nement en 2021, le <a href=\"https:\/\/mch2022.org\/\">MCH2022<\/a> est bien parti pour avoir lieu.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es sera pr\u00e9sent\u00e9 en pr\u00e9sentiel lors de l&#8217;\u00e9v\u00e8nement, qui se tient au Pays-Bas.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il s&#8217;agit de la nouvelle iteration des OHM2013 et SHA2017 (et la liste est longue depuis 1989).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Apr\u00e8s l&#8217;annulation de l&#8217;\u00e9v\u00e8nement en 2021, le <a href=\"https:\/\/mch2022.org\/\">MCH2022<\/a> est bien parti pour avoir lieu.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es sera pr\u00e9sent\u00e9 en pr\u00e9sentiel lors de l&#8217;\u00e9v\u00e8nement, qui se tient au Pays-Bas.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il s&#8217;agit de la nouvelle iteration des OHM2013 et SHA2017 (et la liste est longue depuis 1989).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;\u00e9v\u00e8nement au lieu du 22 au 26 juillet 2022.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La pr\u00e9sentation est pr\u00e9vue pour :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2022-07-25 10:00 UTC+2 \u00e0 \"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\u00e9o<\/a>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>La pr\u00e9sentation se tiendra en <em>broken-english<\/em>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Un covoiturage en partance des Deux-S\u00e8vres est envisag\u00e9 et une annonce a \u00e9t\u00e9\nd\u00e9pos\u00e9e dans ce sens sur Mobicoop.fr (mais pas moyen d&#8217;en obtenir une URL\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour finir, vous pouvez voter pour cette conf\u00e9rence et lui obtenir un meilleur cr\u00e9neau ici :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/votes.mch2022.org\/\" class=\"bare\">https:\/\/votes.mch2022.org\/<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>(Meta-Press.es est pour l&#8217;instant : 112 \/ 144 ; 2022-06-07 16:50 CEST)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>(Meta-Press.es est arriv\u00e9 \u00e0 : 78 \/ 144 ; 2022-06-09 14:20 CEST)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>(Meta-Press.es est arriv\u00e9 \u00e0 : 66 \/ 144 ; 2022-06-10 16:36 CEST)<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.5 : Independent sources and dynamic source creation form","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/v1.8.5_indep_src_dyn_src_form.html","rel":"alternate"}},"published":"2022-07-21T00:00:00+02:00","updated":"2022-07-21T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-07-21:\/journal\/2022\/v1.8.5_indep_src_dyn_src_form.html","summary":"<div class=\"paragraph\">\n<p>This new version brings nearly a hundred more sources (so more than 512 !), and\na lot of this new sources are independent newspapers (mainly french ones)\ngathered in the new <strong>Indep.<\/strong> source type (with nearly 128 sources in it).<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>MediaCites.fr<\/p>\n<\/li>\n<li>\n<p>Rue89 : Bordeaux, Strasbourg, Lyon<\/p>\n<\/li>\n<li>\n<p>SineMensuel.com<\/p>\n<\/li>\n<li>\n<p>Lundi.am<\/p>\n<\/li>\n<li>\n<p>La \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>This new version brings nearly a hundred more sources (so more than 512 !), and\na lot of this new sources are independent newspapers (mainly french ones)\ngathered in the new <strong>Indep.<\/strong> source type (with nearly 128 sources in it).<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>MediaCites.fr<\/p>\n<\/li>\n<li>\n<p>Rue89 : Bordeaux, Strasbourg, Lyon<\/p>\n<\/li>\n<li>\n<p>SineMensuel.com<\/p>\n<\/li>\n<li>\n<p>Lundi.am<\/p>\n<\/li>\n<li>\n<p>La Rel\u00e8ve et la Peste<\/p>\n<\/li>\n<li>\n<p>Sciences-Critiques.fr<\/p>\n<\/li>\n<li>\n<p>Bellingcat<\/p>\n<\/li>\n<li>\n<p>Zelium.info<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Or big ones :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Actu.fr<\/p>\n<\/li>\n<li>\n<p>Actualite.Nouvelle-Aquitaine.Science<\/p>\n<\/li>\n<li>\n<p>Jacobin.com<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>In fact, all the sources from the map of the\n<a href=\"https:\/\/lagedefaire-lejournal.fr\/carte-de-la-presse-pas-pareille\/\">Presse pas\npareille<\/a> from l&#8217;Age de Faire have been integrated to Meta-Press.es for this\nrelease and I contributed back to them suggestions of sources to add (or\nstopped one to remove).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Suggested new sources for this map :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>NextInpact.com<\/p>\n<\/li>\n<li>\n<p>QG.media<\/p>\n<\/li>\n<li>\n<p>Blast-info.fr<\/p>\n<\/li>\n<li>\n<p>Reflets.info<\/p>\n<\/li>\n<li>\n<p>Novastan.org\/fr<\/p>\n<\/li>\n<li>\n<p>AOC.media<\/p>\n<\/li>\n<li>\n<p>ReseauMutu.info<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But it&#8217;s not all, the 2nd big new feature is the dynamic form to add sources\nwithout any computer science knowledge ! It&#8217;s included in v1.8.5 and you can\ntest it now. The current main limitation is that the form only accepts sources\nthat provide results in RSS format (like it&#8217;s the case by default with\nWordPress, and should be with SPIP). Currently a third of all the Meta-Press.es\nsources could have been added using the mouse only and this new source creation\nform.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The form is in English only, but translations will soon be synchronised with\nthe <a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate<\/a> account.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Once a source is created, it can be saved in your custom sources. If it works,\ndon&#8217;t hesitate to post the definition to Meta-Press.es Framagit repository for\nthe next release (provided it complies with the public\n<a href=\"\/pages\/principles.html#_of_the_indexed_newspapers\">principles<\/a> of the\nproject).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The next release will bring the full form allowing to deal with nearly all the\nsources (RSS, CSS, JSON\u2026 GET and POST\u2026). But in the mean time, I&#8217;ll be tomorrow\nat the <a href=\"\/journal\/2022\/2022_MCH2022.html\">MCH2022 to present Meta-Press.es<\/a>\non Monday.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220721_edit_RSS_source.png\" alt=\"20220721 edit RSS source\">\n<\/div>\n<div class=\"title\">Figure 1. Source creation form<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.5 : Sources ind\u00e9pendantes et formulaire dynamique de cr\u00e9ation de sources","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/v1.8.5_indep_src_dyn_src_form.html","rel":"alternate"}},"published":"2022-07-21T00:00:00+02:00","updated":"2022-07-21T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-07-21:\/fr\/journal\/2022\/v1.8.5_indep_src_dyn_src_form.html","summary":"<div class=\"paragraph\">\n<p>Cette nouvelle version ajoute une centaine de nouvelles sources (pour un total\nd\u00e9passant 512 !) et un grand nombre de ces nouvelles sources (principalement\nfran\u00e7aises) sont retrouvable via le type de source <strong>Indep.<\/strong> (avec presque 128\nsources dedans d\u00e9j\u00e0).<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>MediaCites.fr<\/p>\n<\/li>\n<li>\n<p>Rue89 : Bordeaux, Strasbourg, Lyon<\/p>\n<\/li>\n<li>\n<p>SineMensuel.com<\/p>\n<\/li>\n<li>\n<p>Lundi.am<\/p>\n<\/li>\n<li>\n<p>La Rel\u00e8ve \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Cette nouvelle version ajoute une centaine de nouvelles sources (pour un total\nd\u00e9passant 512 !) et un grand nombre de ces nouvelles sources (principalement\nfran\u00e7aises) sont retrouvable via le type de source <strong>Indep.<\/strong> (avec presque 128\nsources dedans d\u00e9j\u00e0).<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>MediaCites.fr<\/p>\n<\/li>\n<li>\n<p>Rue89 : Bordeaux, Strasbourg, Lyon<\/p>\n<\/li>\n<li>\n<p>SineMensuel.com<\/p>\n<\/li>\n<li>\n<p>Lundi.am<\/p>\n<\/li>\n<li>\n<p>La Rel\u00e8ve et la Peste<\/p>\n<\/li>\n<li>\n<p>Sciences-Critiques.fr<\/p>\n<\/li>\n<li>\n<p>Bellingcat<\/p>\n<\/li>\n<li>\n<p>Zelium.info<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Il y a aussi quelques gros poissons :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Actu.fr<\/p>\n<\/li>\n<li>\n<p>Actualite.Nouvelle-Aquitaine.Science<\/p>\n<\/li>\n<li>\n<p>Jacobin.com<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>En pratique, toutes les sources de la carte de la\n<a href=\"https:\/\/lagedefaire-lejournal.fr\/carte-de-la-presse-pas-pareille\/\">Presse pas\npareille<\/a> de l&#8217;Age de Faire ont \u00e9t\u00e9 int\u00e9gr\u00e9es \u00e0 Meta-Press.es pour cette\nnouvelle version et une suggestion de sources \u00e0 ajouter (ou retirer) a \u00e9t\u00e9\npost\u00e9e \u00e0 la r\u00e9daction du journal.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voici les sources propos\u00e9es \u00e0 l&#8217;ajout sur la carte :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>NextInpact.com<\/p>\n<\/li>\n<li>\n<p>QG.media<\/p>\n<\/li>\n<li>\n<p>Blast-info.fr<\/p>\n<\/li>\n<li>\n<p>Reflets.info<\/p>\n<\/li>\n<li>\n<p>Novastan.org\/fr<\/p>\n<\/li>\n<li>\n<p>AOC.media<\/p>\n<\/li>\n<li>\n<p>ReseauMutu.info<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais ce n&#8217;est pas tout, la 2e grosse nouveaut\u00e9 consiste en un nouveau\nformulaire de cr\u00e9ation de sources. Ce dernier permet de cr\u00e9er des sources sans\ndisposer de connaissances pouss\u00e9es en informatique. Vous pouvez le tester d\u00e8s \u00e0\npr\u00e9sent, mais sa principale limite actuelle est de ne pouvoir traiter que les\nsources servant leurs r\u00e9sultats sous forme de fichier RSS (comme c&#8217;est le cas\npar d\u00e9faut avec WordPress, et comme \u00e7a pourrait l&#8217;\u00eatre aussi avec SPIP\u2026).\nActuellement un tiers des sources de Meta-Press.es auraient pu \u00eatre ajout\u00e9es \u00e0\nla souris via ce nouveau formulaire.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le formulaire n&#8217;est pour l&#8217;instant disponible qu&#8217;en anglais, mais les\ntraductions seront bient\u00f4t possible via le compte <a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate du projet<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une fois la source cr\u00e9\u00e9e, elle peut \u00eatre sauv\u00e9e dans vos sources locales\n(custom sources), et si elle fonctionne, n&#8217;h\u00e9sitez pas \u00e0 la poster via le d\u00e9p\u00f4t\nFramagit du projet (pour la retrouver dans la prochain version si elle est\ncompatible avec les\n<a href=\"\/pages\/principles.html#_of_the_indexed_newspapers\">principles<\/a> du projet).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La prochaine mise \u00e0 jour devrait embarquer le reste du formulaire, permettant\nd&#8217;ajouter quasiment toutes les sources de la terre (RSS, CSS, JSON\u2026 GET and\nPOST\u2026). Mais pour l&#8217;instant, je serai demain au\n<a href=\"\/journal\/2022\/2022_MCH2022.html\">MCH2022 pour y pr\u00e9senter Meta-Press.es<\/a>\nlundi.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220721_edit_RSS_source.png\" alt=\"20220721 edit RSS source\">\n<\/div>\n<div class=\"title\">Figure 1. Source creation form<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.3 : translations and investigation","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/v1.8.3_translations_investigation.html","rel":"alternate"}},"published":"2022-06-01T00:00:00+02:00","updated":"2022-06-01T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-06-01:\/journal\/2022\/v1.8.3_translations_investigation.html","summary":"<div class=\"paragraph\">\n<p>Version 1.8.3 brings an updated and complete french transalation of\nMeta-Press.es. But, what&#8217;s interesting is how this translation was made.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es have been elected for Libre hosting plan by\n<a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate.org<\/a>. Weblate is a great translation platform that\nprovide smooth work flows in a dedicated \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Version 1.8.3 brings an updated and complete french transalation of\nMeta-Press.es. But, what&#8217;s interesting is how this translation was made.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es have been elected for Libre hosting plan by\n<a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate.org<\/a>. Weblate is a great translation platform that\nprovide smooth work flows in a dedicated user interface.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The Weblate arms are wide open to your contributions for any language you like.\nYou can work on it on your side as long as you want, and you&#8217;ll be helped away\nby Weblate automated checks (about string ending spaces or colons or comas\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ve been impressed by the auto-detection of my locale folder, locale files and\nnative support of my JSON format. Regarding work flow, Weblate creates an\ninternal Git repository to store contributions and then tries to push or merge\nback changes (and one might have to clone the Weblate repository to fix\nmerge-conflicts, but it&#8217;s easy and once in front of this you already know how\nto fix it, no wheel re-invention).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ve setup a Framagit \/ GitLab webhook to allow Weblate to pull changes from\nthe main repository as soon as they arrives, and I&#8217;m still working on getting\nmerge requests back (instead of opening a full push access).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Widgets have been added to Meta-Press.es\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\">README<\/a>, like this one (its part of\nthe requirements to get the Libre hosting plan ;-) ) :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\n<a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">\n<img src=\"https:\/\/hosted.weblate.org\/widgets\/meta-press-es\/-\/meta-press-es-webextension-interface\/multi-auto.svg\" alt=\"Translation status\" \/>\n<\/a>\n<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I hope it will bring a lot of new languages for Meta-Press.es interface. For\nthe moment, Meta-Press.es knows how fetch sources from 50+ languages, but is\nonly presented in 4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>By the way this new release brings the number of sources up to 450, including a\nnew source theme called <code>investigation<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It gather international sources such as :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Mediapart<\/p>\n<\/li>\n<li>\n<p>The Intercept<\/p>\n<\/li>\n<li>\n<p>Correctiv<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But not :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Disclose.ngo (no search feature)<\/p>\n<\/li>\n<li>\n<p>Propublica.org (not own search)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Newly listed among the incompatible sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>And also some french sources :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Reporterre<\/p>\n<\/li>\n<li>\n<p>Blast<\/p>\n<\/li>\n<li>\n<p>60 Millions de consommateurs<\/p>\n<\/li>\n<li>\n<p>Bastamag<\/p>\n<\/li>\n<li>\n<p>Fakir<\/p>\n<\/li>\n<li>\n<p>Le Poulpe<\/p>\n<\/li>\n<li>\n<p>Le Ravi<\/p>\n<\/li>\n<li>\n<p>Le Sans-Culotte (85)<\/p>\n<\/li>\n<li>\n<p>MarsActu<\/p>\n<\/li>\n<li>\n<p>Leglob Journal (53)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>If you know more of them (great, independent, investigation newspapers) don&#8217;t\nhesitate to send your recommendations.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.3 : traductions et investigation","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/v1.8.3_translations_investigation.html","rel":"alternate"}},"published":"2022-06-01T00:00:00+02:00","updated":"2022-06-01T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-06-01:\/fr\/journal\/2022\/v1.8.3_translations_investigation.html","summary":"<div class=\"paragraph\">\n<p>La version 1.8.3 apporte une traduction fran\u00e7aise compl\u00e9t\u00e9e et mise \u00e0 jour de\nMeta-Press.es. Mais ce qui est int\u00e9ressant, c&#8217;est comment cette traduction a\n\u00e9t\u00e9 r\u00e9alis\u00e9e.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es a \u00e9t\u00e9 \u00e9lue au tarif \"Logiciel Libre\" de\n<a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate.org<\/a>. Weblate est une super plateforme de\ntraduction en \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>La version 1.8.3 apporte une traduction fran\u00e7aise compl\u00e9t\u00e9e et mise \u00e0 jour de\nMeta-Press.es. Mais ce qui est int\u00e9ressant, c&#8217;est comment cette traduction a\n\u00e9t\u00e9 r\u00e9alis\u00e9e.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es a \u00e9t\u00e9 \u00e9lue au tarif \"Logiciel Libre\" de\n<a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">Weblate.org<\/a>. Weblate est une super plateforme de\ntraduction en ligne, qui simplifie grandement le travail des traducteurs et\npropose une bonne exp\u00e9rience utilisateur.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les bras de Weblate vous sont d\u00e9sormais grand ouverts pour contribuer \u00e0 la\ntraduction de Meta-Press.es, dans toutes les langues que vous voulez. Vous\npourrez travailler de votre c\u00f4t\u00e9 aussi longtemps que n\u00e9cessaire et serez aid\u00e9\npar les v\u00e9rifications automatiques de Weblate (concernant les espaces en fin de\ncha\u00eene de caract\u00e8re, les \u00ab : \u00bb et es virgules\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai \u00e9t\u00e9 assez impressionn\u00e9 par leur auto-d\u00e9tection des locales et de mon\nformat JSON lors de l&#8217;inscription. De plus, Weblate commence par cloner votre\nd\u00e9p\u00f4t de code pour y stocker les contributions re\u00e7ues, puis essaye de les\nrenvoyer par <em>push<\/em> ou <em>merge<\/em>. Si quelque chose coince (parce que mal\nconfigur\u00e9) il est toujours possible de cloner leur version du d\u00e9p\u00f4t et d&#8217;y\ntravailler localement avec les commandes <code>git<\/code> qu&#8217;on ma\u00eetrise d\u00e9j\u00e0, pas de\nnouvelle API \u00e0 apprendre.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai mis en place une boucle de r\u00e9tro-action <em>webhook<\/em> entre Framagit (GitLab)\net Weblate afin que ce dernier puisse aller puiser au plus t\u00f4t les changements\nintervenus dans le d\u00e9p\u00f4t principal, et je travaille encore \u00e0 faire revenir\ncorrectement les <em>merge requests<\/em> dans l&#8217;autre sens (au lieu d&#8217;ouvrir\nsimplement un acc\u00e8s <em>push<\/em>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Des gadgets ont \u00e9t\u00e9 ajout\u00e9s au\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\">README<\/a> de Meta-Press.es pour\nrendre compte de l&#8217;\u00e9tat d&#8217;avancement des traductions (et puis \u00e7a fait partie\ndes pr\u00e9-requis pour obtenir l&#8217;h\u00e9bergement gratuit pour les projets Libres) :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\n<a href=\"https:\/\/hosted.weblate.org\/engage\/meta-press-es\/\">\n<img src=\"https:\/\/hosted.weblate.org\/widgets\/meta-press-es\/-\/meta-press-es-webextension-interface\/multi-auto.svg\" alt=\"Translation status\" \/>\n<\/a>\n<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;esp\u00e8re que \u00e7a motivera \u00e0 cr\u00e9er plein de nouvelles langues pour l&#8217;interface de\nMeta-Press.es. Parce que pour l&#8217;instant, Meta-Press.es sait chercher dans des\nsources de plus de 50 langues mais son interface n&#8217;est disponible qu&#8217;en 4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c0 ce propos, cette nouvelle version embarque quelques nouvelles sources (pour\natteindre un total de 450) incluant un nouveau th\u00e8me de sources appel\u00e9\n<code>investigation<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il rassemble des sources internationales comme :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Mediapart<\/p>\n<\/li>\n<li>\n<p>The Intercept<\/p>\n<\/li>\n<li>\n<p>Correctiv<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais pas :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Disclose.ngo (pas de fonctionnalit\u00e9 de recherche)<\/p>\n<\/li>\n<li>\n<p>Propublica.org (pas souverain sur sa recherche)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Et qui ont donc \u00e9t\u00e9 ajout\u00e9s \u00e0 la liste des sources incompatibles (wiki\/) dans\nle d\u00e9p\u00f4t de code.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et aussi des sources fran\u00e7aises comme :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Reporterre<\/p>\n<\/li>\n<li>\n<p>Blast<\/p>\n<\/li>\n<li>\n<p>60 Millions de consommateurs<\/p>\n<\/li>\n<li>\n<p>Bastamag<\/p>\n<\/li>\n<li>\n<p>Fakir<\/p>\n<\/li>\n<li>\n<p>Le Poulpe<\/p>\n<\/li>\n<li>\n<p>Le Ravi<\/p>\n<\/li>\n<li>\n<p>Le Sans-Culotte (85)<\/p>\n<\/li>\n<li>\n<p>MarsActu<\/p>\n<\/li>\n<li>\n<p>Leglob Journal (53)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Si vous connaissez d&#8217;autres journaux d&#8217;investigation, ind\u00e9pendants, n&#8217;h\u00e9sitez\npas \u00e0 m&#8217;en faire la recommandation.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[Vivant-le-media] Ethical digital: read the news without GAFAMs","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2022\/20220518_vivant-le-media.html","rel":"alternate"}},"published":"2022-05-18T00:00:00+02:00","updated":"2022-05-18T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-05-18:\/revues\/2022\/20220518_vivant-le-media.html","summary":"<div class=\"paragraph\">\n<p>Energy hungry data centers, private life impairments, sharp user targeting based on searches\u2026 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 \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Energy hungry data centers, private life impairments, sharp user targeting based on searches\u2026 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\u00e9risson (79).<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>How your search engine is working ?<\/p>\n<\/li>\n<li>\n<p>How Meta-Press.es can work without datacenters ?<\/p>\n<\/li>\n<li>\n<p>Why is it better on a ecological and ethical points of view than traditional search engines ?<\/p>\n<\/li>\n<li>\n<p>Why Meta-Press.es puts forward it free \/ libre software status ?<\/p>\n<\/li>\n<li>\n<p>Why did you make Meta-Press.es ?<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/vivant-le-media.fr\/numerique-ethique-meta-press-es\/\"><strong>Num\u00e9rique \u00e9thique : s\u2019informer en marge des GAFAMs<\/strong><\/a> (<em>fr<\/em>)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[Vivant-le-media] Num\u00e9rique \u00e9thique : s\u2019informer en marge des Gafam","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2022\/20220518_vivant-le-media.html","rel":"alternate"}},"published":"2022-05-18T00:00:00+02:00","updated":"2022-05-18T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-05-18:\/fr\/revues\/2022\/20220518_vivant-le-media.html","summary":"<div class=\"paragraph\">\n<p>Data centers \u00e9nergivores, atteintes \u00e0 la vie priv\u00e9e, ciblage pr\u00e9cis de l\u2019utilisateur selon ses recherches\u2026 Les GAFAMs soul\u00e8vent des enjeux \u00e0 la fois \u00e9thiques et environnementaux. Pour faciliter l\u2019acc\u00e8s \u00e0 une information \u00e9mancip\u00e9e de ces g\u00e9ants du web, Simon Descarpentries, ing\u00e9nieur en informatique a d\u00e9velopp\u00e9 Meta-Press.es. Ce \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Data centers \u00e9nergivores, atteintes \u00e0 la vie priv\u00e9e, ciblage pr\u00e9cis de l\u2019utilisateur selon ses recherches\u2026 Les GAFAMs soul\u00e8vent des enjeux \u00e0 la fois \u00e9thiques et environnementaux. Pour faciliter l\u2019acc\u00e8s \u00e0 une information \u00e9mancip\u00e9e de ces g\u00e9ants du web, Simon Descarpentries, ing\u00e9nieur en informatique a d\u00e9velopp\u00e9 Meta-Press.es. Ce moteur de recherche d\u00e9centralis\u00e9 permet d\u2019explorer la presse sans interm\u00e9diaire entre les journaux et son navigateur web. Rencontre et explications depuis son entreprise situ\u00e9e \u00e0 Pougne-H\u00e9risson (79).<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Comment fonctionne ce moteur de recherche ?<\/p>\n<\/li>\n<li>\n<p>Comment fait Meta-Press.es pour s\u2019affranchir des data centers ?<\/p>\n<\/li>\n<li>\n<p>En quoi est-ce plus \u00e9cologique et \u00e9thique d\u2019\u00e9viter de passer par un moteur de recherche traditionnel\u202f?<\/p>\n<\/li>\n<li>\n<p>Pourquoi Meta-Press.es se revendique-t-il comme un logiciel libre ?<\/p>\n<\/li>\n<li>\n<p>Qu\u2019est-ce qui vous a incit\u00e9 \u00e0 cr\u00e9er Meta-Press.es ?<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/vivant-le-media.fr\/numerique-ethique-meta-press-es\/\"><strong>Num\u00e9rique \u00e9thique : s\u2019informer en marge des GAFAMs<\/strong><\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et Meta-Press.es est d\u00e9sormais r\u00e9f\u00e9renc\u00e9 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>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"Version 1.8.1 : less bugs, more sources and no more month_nb","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/v1.8.1_no_more_month_nb.html","rel":"alternate"}},"published":"2022-05-12T00:00:00+02:00","updated":"2022-05-12T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-05-12:\/journal\/2022\/v1.8.1_no_more_month_nb.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_month_nb\">1. month_nb<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_name_of_languages_and_countries\">1.1. Name of languages and countries<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_dependency_updates_and_bugs_fix\">2. Dependency updates and bugs fix<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_browser_storage_limitations\">2.1. Browser storage limitations<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_new_sources\">3. New sources<\/a><\/li>\n<li><a href=\"#_new_files\">4. New files<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This new version 1.8.1 was intended as maintenance release:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>updating dependencies<\/p>\n<\/li>\n<li>\n<p>fixing induced bugs<\/p>\n<\/li>\n<li>\n<p>adding sources<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But it turned out to \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_month_nb\">1. month_nb<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_name_of_languages_and_countries\">1.1. Name of languages and countries<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_dependency_updates_and_bugs_fix\">2. Dependency updates and bugs fix<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_browser_storage_limitations\">2.1. Browser storage limitations<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_new_sources\">3. New sources<\/a><\/li>\n<li><a href=\"#_new_files\">4. New files<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This new version 1.8.1 was intended as maintenance release:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>updating dependencies<\/p>\n<\/li>\n<li>\n<p>fixing induced bugs<\/p>\n<\/li>\n<li>\n<p>adding sources<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But it turned out to become the release that got rid of one of my own\ndependencies : <a href=\"https:\/\/framagit.org\/Siltaar\/month_nb\">month_nb<\/a>.<\/p>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\nAt first launch, this version opens tabs frenetically\u2026 Sorry for the inconvenience it won&#8217;t happen at 2nd launch (it&#8217;s a problem linked to automated search and summer time).\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\nUsers reported a frantic tab opening on the Setting page, that persisted at each page opening. This bug is fixed in version 1.8.2.\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_month_nb\">1. month_nb<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This library, presented <a href=\"\/journal\/2019\/month_nb-released.html\">here<\/a> and\n<a href=\"https:\/\/linuxfr.org\/users\/siltaar\/journaux\/convertir-des-dates-avec-month_nb\">there<\/a>,\nallows to convert a month name in its corresponding month number, without\nhaving to know the month name language. It&#8217;s working for 72 languages. It was a\nminimalistic approach based on a compact RegExp tree of month-name starting-letters\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It was interesting in JavaScript as it was 20x smaller than alternatives and\nunique regarding the language knowledge-free approach.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Using the <code>Intl.DateTimeFormat<\/code> API (which might have been operational since\n2014 but was still moving in last august), it&#8217;s now possible to replace the ~300\nlines of <code>month_nb<\/code> by 5 lines of JavaScript code encapsulated in 3 functions\n(as this first\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/commit\/5015e357f386e0106b8c3f825bb2f51d4b311058\">commit<\/a> showed).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The principle is simple, the web browser is knowing how month names are written\nfor 218 locales (in Firefox 102.0a1) so when a month name needs to be converted\ninto its number, Firefox can provide the list of the month names of this\nlanguage and I check the index of the good one in the list. It worked out of\nthe box for most sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Notable exceptions were:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the Esperanto version of Le Monde Diplomatique, which uses English month\nnames for its dates (so I introduced a new <code>date_locale<\/code> property in source\ndescriptions)<\/p>\n<\/li>\n<li>\n<p>the Dutch (nl) language, which uses an abbreviated version of \"marsh\" which\nis not just the 3-first letters of the month name: <em>maart<\/em> abbreviation is\n<em>mrt.<\/em> (so I also compare with browser&#8217;s provided <code>\"short\"<\/code> versions of the\nmonth names)<\/p>\n<\/li>\n<li>\n<p>Russian month names from Wikipedia weren&#8217;t recognized. After some exchanges\non Mastodon I learnt that it was due to declinations of the names in this\ncontext of their usage. I decided to add the list of the declined month names\nat the right spot in the code to support this case.<\/p>\n<\/li>\n<li>\n<p>And the Arabic languages, such as the Egyptian Wikipedia (ar-eg) or the\nIranian Le Monde Diplomatique (fa-ir) and I think I&#8217;ll need help for those\nones as I <a href=\"https:\/\/pouet.chapril.org\/@metapress\/108284060490257024\">tooted via\nthe Meta-Press.es official Mastodon account<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>I created month_nb for the early prototypes of Meta-Press.es and was working on\nit since 2013. It costed me nightly tears of blood (and recently daily ones for\nChristopher) but after hours of right-to-left quirks in our editors, not really\nknowing what we were doing, we managed to get those Arabic languages working\nvia month_nb\u2026 but abbreviations could not be supported for all languages (too\nmany collisions). With the new solution, the correct list of the 12 strings\nused by Wikipedia for the different Arabic locales might be enough (like for\nRussian).<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_name_of_languages_and_countries\">1.1. Name of languages and countries<\/h3>\n<div class=\"paragraph\">\n<p>Then, as I was in the momentum for it, I also replaced our interns-made list of\nlanguage names by similar <code>Intl.DisplayNames<\/code> browser introspections and added\ncountry names that we previously decided to skip. Both are now shown in the\nbrowser locale (so supposedly in your language), while precedent list was\npresented in the language&#8217;s locale only.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>By the way, all in all (and per <code>cloc<\/code> measurements) I already trashed 25% of\ninterns code lines (saving features, loosing hours).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I also wanted to go for a browser introspected list of all the timezones (used\nin Meta-Press.es settings) but the\n<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Intl\/Locale\/timeZones#browser_compatibility\">Intl.Locale.timeZones<\/a>\nAPI is not supported by Firefox yet (so here we keep our own list for the\nmoment).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ll keep an eye on this to drop this last list as soon as possible.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_dependency_updates_and_bugs_fix\">2. Dependency updates and bugs fix<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Aside from removing month_nb, other dependencies were simply updated for this\nrelease:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Choices.js v10.1.0 (at last a new release after a long period of dead looking\nproject, a new team gathered around the project)<\/p>\n<\/li>\n<li>\n<p>Browser-polyfill.js v3.0.1<\/p>\n<\/li>\n<li>\n<p>Gettext.js v1.1.0<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Those updates bring small bugs to fix and deprecation warnings to manage. I\nalso fixed a bug on the ListJS pagination (which was scrolling up to the top at\neach page change) using a solution that I took the time to\n<a href=\"https:\/\/github.com\/javve\/list.js\/issues\/711#issuecomment-1120184233\">report\nupstream<\/a>. This bug, introduced by ListJS v2.3.1 might have been there for 9\nmonths.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I also fixed the result-removing which was slow and did not work for sources with\nparenthesis in the name, like: \"Wikipedia (pl)\". The new system is 4x faster\nand displays a waiting cursor while you&#8217;re waiting.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Imports and exports of results should also display this waiting cursor. This\nmight be the third time I announce this feature, mais it trickier than it might\nseem to achieve. The treatment covered should be asynchroneous, else the\nbrowser just perform the treatment and the cursor is not updated, and you must\nenforce the waiting cursor even when the mouse hovers links, where a\nlink-signaling cursor is set by default (or by my class to get buttons looking\nlike links). It might give the feeling that one must shake the mouse to get\nthat damned waiting cursor !<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_browser_storage_limitations\">2.1. Browser storage limitations<\/h3>\n<div class=\"paragraph\">\n<p>Another annoying bug was introduced by the previous version in the new list of\nsources. There is a button to remove all selection. It works well in the last\ntwo tabs (added sources and removed sources) but if you click on it on the list\nof all sources or on the list of all selected sources, you&#8217;ll create an empty\nselection and a popup tells you so and load the default tags to get you a\nnon-empty selection of sources. Unfortunately, this action was trapping users\nin popup loops.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I fixed this, but it learnt me a lot. There should not have been a loop. It was\ncreated by the fact that you can&#8217;t save big strings (such as the big source\nexclusion list that the \"remove all\" button creates) in the <code>browser.storage<\/code>.\nYou are limited to 512 elements of 8 ko each (for a total size of 100 ko max).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It represents approximately a custom selection list of 200 sources (added or\nremoved). <strong>Bigger lists will work but won&#8217;t be saved<\/strong>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>If you avoid trying to save too big objects, it fixes the loop problem, but a\nbetter solution is yet to be found. Currently I use the main URL of the source\nas source-key, it allows to find a source from an RSS file and guaranties that\nold exports will be coherent with updated Meta-Press.es (it was \"at no cost\"\nbefore this <code>browser.storage<\/code> limit reaching).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Those limits are now monitored and reported in the JavaScript console when you\nopen a new Meta-Press.es tab.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_new_sources\">3. New sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This release embed 62 more sources for a total of 378, 59 countries (+4) and 33\nlanguages (+10).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The <strong>Agenda<\/strong> source type now includes <em>agendamilitant.org<\/em> (in addition of all\nthe Demospheres instances for a total of 30 agendas, waiting for this feature\nrequest to get fixed in\n<a href=\"https:\/\/framagit.org\/framasoft\/mobilizon\/-\/issues\/584#note_1825538\">Mobilizon<\/a>'s\ndevelopper).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The <strong>Encyclo.<\/strong> source type now includes 14 languages of Wikipedia for a total of\n20 indexed encyclopedias.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>And a <strong>Social Network<\/strong> source type is introduce in this release with 14\nelements including <em>Invidious<\/em> and several languages of Dailymotion for the\nmoment. Other \"web\" sources will follow and feel free to suggest a better name\nfor this category.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>But the new star is the <a href=\"https:\/\/www.scrutari.net\">Scrutari<\/a> instance of the\n<a href=\"https:\/\/scrutari.coredem.info\/\">Coredem<\/a>\n(<a href=\"https:\/\/www.coredem.info\/rubrique59.html\">Scrutari description in english<\/a>) in\na renammed <strong>Doc.<\/strong> source type (along with <em>Wikileaks<\/em> and\n<em>ArretSurImages.net<\/em>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Scrutari is a libre software search engine indexing 58\u202f663 resources from 38\nsites promoting a world-wide democracy. It&#8217;s ventilated into 14 languages in\nMeta-Press.es.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_new_files\">4. New files<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>To finish, 3 files appeared in the repository:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>.eslintrc.json<\/code> which contains configuration directives for ESLint, to help\nenforcing some coding style rules<\/p>\n<\/li>\n<li>\n<p><code>wiki\/incompatible_sources.adoc<\/code> which is not really new as it is the\nprevious wiki page of the project that moved into the repository itself\n(might be more visible here, and easier for me to maintain)<\/p>\n<\/li>\n<li>\n<p><code>json\/broken_sources.json<\/code> a file where I moved the remains of broken source\ndefinitions (around 50 of them) that were never finished or broke afterwards.\nThe motivation was to avoid sending 1440 lines of JSON uselessly to users\u2026\nand I fixed some of them by the way<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Before trying to add a new source, one might not lost his time searching\nthrough those last two files for hints about hypothetical previous attempts.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.1 : moins de bugs, plus de sources, plus de month_nb (du tout)","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/v1.8.1_no_more_month_nb.html","rel":"alternate"}},"published":"2022-05-12T00:00:00+02:00","updated":"2022-05-12T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-05-12:\/fr\/journal\/2022\/v1.8.1_no_more_month_nb.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_month_nb\">1. month_nb<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_nom_des_langues_et_des_pays\">1.1. Nom des langues et des pays<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_mise_\u00e0_jour_des_d\u00e9pendances_et_petites_r\u00e9parations\">2. Mise \u00e0 jour des d\u00e9pendances et petites r\u00e9parations<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_limitations_du_browser_storage\">2.1. Limitations du <code>browser.storage<\/code><\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_nouvelles_sources\">3. Nouvelles sources<\/a><\/li>\n<li><a href=\"#_nouveaux_fichiers\">4. Nouveaux fichiers<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>La v1.8.1 ne devait \u00eatre qu&#8217;une op\u00e9ration de maintenance :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>mettre \u00e0 jour les d\u00e9pendances<\/p>\n<\/li>\n<li>\n<p>r\u00e9parer \u2026<\/p><\/li><\/ul><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_month_nb\">1. month_nb<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_nom_des_langues_et_des_pays\">1.1. Nom des langues et des pays<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_mise_\u00e0_jour_des_d\u00e9pendances_et_petites_r\u00e9parations\">2. Mise \u00e0 jour des d\u00e9pendances et petites r\u00e9parations<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_limitations_du_browser_storage\">2.1. Limitations du <code>browser.storage<\/code><\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_nouvelles_sources\">3. Nouvelles sources<\/a><\/li>\n<li><a href=\"#_nouveaux_fichiers\">4. Nouveaux fichiers<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>La v1.8.1 ne devait \u00eatre qu&#8217;une op\u00e9ration de maintenance :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>mettre \u00e0 jour les d\u00e9pendances<\/p>\n<\/li>\n<li>\n<p>r\u00e9parer les bugs introduits<\/p>\n<\/li>\n<li>\n<p>ajouter des sources\u2026<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais les \u00e9v\u00e8nements prirent une toute autre tournure et cette version restera\ncomme celle \u00e0 laquelle j&#8217;ai pu me d\u00e9barrasser d&#8217;une de mes propres d\u00e9pendances\n: <a href=\"https:\/\/framagit.org\/Siltaar\/month_nb\">month_nb<\/a>.<\/p>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\n\u00c0 la 1\u00e8re ouverture, cette version ouvre des onglets fr\u00e9n\u00e9tiquement, \u00e7a n&#8217;arrive plus aux ouvertures suivantes (c&#8217;est un probl\u00e8me li\u00e9 aux recherches automatiques et \u00e0 l&#8217;heure d&#8217;\u00e9t\u00e9).\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"admonitionblock warning\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-warning\" title=\"Warning\"><\/i>\n<\/td>\n<td class=\"content\">\nDes utilisateurs ont report\u00e9 une fr\u00e9n\u00e9zie d&#8217;ouverture d&#8217;onglet depuis la page des r\u00e9glages, persistante \u00e0 chaque ouverture de page. Ce bug est corrig\u00e9 avec la version 1.8.2\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_month_nb\">1. month_nb<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette biblioth\u00e8que de fonction (une seule fonction\u2026), pr\u00e9sent\u00e9e\n<a href=\"\/journal\/2019\/month_nb-released.html\">ici<\/a> et\n<a href=\"https:\/\/linuxfr.org\/users\/siltaar\/journaux\/convertir-des-dates-avec-month_nb\">l\u00e0<\/a>,\npermet de convertir un nom de mois en son num\u00e9ro, sans m\u00eame avoir \u00e0 conna\u00eetre\nla langue employ\u00e9e. \u00c7a marche pour 72 langues. C&#8217;\u00e9tait une approche minimaliste\n(\u00b1300 lignes de code), bas\u00e9e sur un arbre compact d&#8217;expressions r\u00e9guli\u00e8res\nattrapant, lettre par lettre, des d\u00e9buts de nom de mois.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C&#8217;\u00e9tait int\u00e9ressant en JavaScript parce que c&#8217;\u00e9tait 20x plus compacte que les\nalternatives et c&#8217;\u00e9tait unique par l&#8217;aspect : pas besoin de connaissance a\npriori de la langue des noms de mois convertis.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En utilisant l&#8217;API <code>Intl.DateTimeFormat<\/code> (qui \u00e9taient peut \u00eatre d\u00e9j\u00e0\nop\u00e9rationnelle en 2014 mais bougeait encore en ao\u00fbt dernier), il est d\u00e9sormais\npossible de remplacer les 300 lignes de <code>month_nb<\/code> par 5 lignes de JavaScript\nencapsul\u00e9es dans 3 fonctions (comme le montre ce premier commit\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/commit\/5015e357f386e0106b8c3f825bb2f51d4b311058\">commit<\/a> sur le sujet).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le principe est simple ici : le navigateur sait comment les noms de mois\ns&#8217;\u00e9crivent pour 218 locales (dans un Firefox 102.0a1) alors quand il y a besoin\nd&#8217;en convertir un en son num\u00e9ro, il suffit de parcourir la liste des mois d&#8217;une\nlangue donn\u00e9e et de voir quel est l&#8217;index du mois dans la liste\u2026 \u00c7a a\nfonctionn\u00e9 du premier coup pour presque toutes les sources !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voici les quelques exceptions notables :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>la version esp\u00e9ranto du Monde Diplomatique utilise des noms de mois en\nanglais pour les dates de ses r\u00e9sultats (j&#8217;ai donc ajout\u00e9 une propri\u00e9t\u00e9\n<code>date_locale<\/code> dans la d\u00e9finition des sources pour pr\u00e9ciser la langue des\ndates quand ce n&#8217;est pas celle des r\u00e9sultats)<\/p>\n<\/li>\n<li>\n<p>le n\u00e9erlandais (nl) qui utilise une abr\u00e9viation pour le mois de mars qui\nn&#8217;est pas le d\u00e9but du nom du mois tronqu\u00e9 : <em>maart<\/em> est abr\u00e9g\u00e9 en <em>mrt.<\/em>\n(j&#8217;ai donc ajout\u00e9 une comparaison sur les versions courtes des noms de mois,\nque le navigateur peut aussi fournir, en cas d&#8217;\u00e9chec avec la version longue)<\/p>\n<\/li>\n<li>\n<p>les noms de mois en Russe sur Wikipedia n&#8217;\u00e9taient pas reconnus. Apr\u00e8s\nquelques \u00e9changes sur Mastodon j&#8217;ai appris que c&#8217;\u00e9tait d\u00fb \u00e0 un m\u00e9canisme de\nd\u00e9clinaison \"d&#8217;appartenance\" des noms dans cette langue en fonction de leur\ncontexte d&#8217;utilisation (on marque bien le genre et le nombre nous\u2026). J&#8217;ai\ndonc ajout\u00e9, \u00e0 la suite des mois en version courte, une comparaison sur les\nnoms de mois d\u00e9clin\u00e9s dans le cas du Russe<\/p>\n<\/li>\n<li>\n<p>enfin, les langues arabes comme la version \u00e9gyptienne de Wikipedia (ar-eg) ou\nla version iranienne du Monde Diplomatique (fa-ir) ne fonctionnent pas non\nplus et je pense que je vais avoir besoin d&#8217;aide pour les r\u00e9parer (comme\n<a href=\"https:\/\/pouet.chapril.org\/@metapress\/108284060490257024\">signal\u00e9 sur le compte\nMastodon officiel de Meta-Press.es<\/a>).<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai cr\u00e9\u00e9 <em>month_nb<\/em> avec les premiers prototypes de Meta-Press.es en 2013\u2026 ce\nprojet m&#8217;a co\u00fbt\u00e9 des larmes de sang nocturne (et plus r\u00e9cemment diurnes pour\nChristopher), mais apr\u00e8s des heures de pagaille de droite-\u00e0-gauche dans nos\n\u00e9diteurs et sans vraiment savoir ce qu&#8217;on faisait, au moins on avait r\u00e9ussi \u00e0\nfaire fonctionner ces langues arabes avec <em>month_nb<\/em>. Toutefois, la gestion des\nabr\u00e9viations dans toutes les langues n&#8217;\u00e9tait pas envisageable elle (trop de\ncollisions).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce coup-ci, les bonnes listes de noms de mois, ajout\u00e9es au bon endroit, seront\ns\u00fbrement suffisantes pour faire \u00e0 nouveau fonctionner ces langues (comme pour\nle Russe).<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_nom_des_langues_et_des_pays\">1.1. Nom des langues et des pays<\/h3>\n<div class=\"paragraph\">\n<p>Sur ma lanc\u00e9e j&#8217;ai aussi remplac\u00e9 la liste des noms de langue (mise en place\npar l&#8217;un des stagiaires) par une approche similaire d&#8217;introspection du\nnavigateur via l&#8217;API <code>Intl.DisplayNames<\/code>, et puis ajout\u00e9 les noms de pays (que\nnous n&#8217;avions pas jug\u00e9e suffisamment utile avant). Les deux sont d\u00e9sormais\naffich\u00e9es dans la langue du navigateur de l&#8217;utilisateur (alors que les langues\n\u00e9taient affich\u00e9es dans leur langue avant).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D&#8217;ailleurs dans l&#8217;ensemble (et comme le mesure la commande <code>cloc<\/code>) j&#8217;ai d\u00e9j\u00e0\n\"harmonis\u00e9\" (vers le n\u00e9ant) 25% des lignes de code produites par les stagiaires\n(conservant les fonctionnalit\u00e9s, perdant plein de temps).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Je voulais aussi remplacer notre liste de fuseaux horaires (utilis\u00e9e dans les\nr\u00e9glages) mais l&#8217;API correspondante :\n<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Intl\/Locale\/timeZones#browser_compatibility\">Intl.Locale.timeZones<\/a>\n; n&#8217;est pas encore support\u00e9e par Firefox.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Je vais garder un \u0153il l\u00e0 dessus pour \u00e9liminer cette surface de maintenance le\nplus vite possible.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_mise_\u00e0_jour_des_d\u00e9pendances_et_petites_r\u00e9parations\">2. Mise \u00e0 jour des d\u00e9pendances et petites r\u00e9parations<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Outre le retrait de <em>month_nb<\/em> certaines d\u00e9pendances ont simplement \u00e9t\u00e9 mises \u00e0\njour pour cette nouvelle version :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Choices.js v10.1.0 (enfin une mise \u00e0 jour disponible pour ce projet qui\ncherchait de nouveaux mainteneurs et semble les avoir trouv\u00e9s)<\/p>\n<\/li>\n<li>\n<p>Browser-polyfill.js v3.0.1<\/p>\n<\/li>\n<li>\n<p>Gettext.js v1.1.0<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Ces mise \u00e0 jour ont entrain\u00e9 quelques petites r\u00e9parations et pr\u00e9cautions \u00e0\nprendre suite \u00e0 des annonces de fonctionnalit\u00e9s abandonn\u00e9es prochainement. J&#8217;ai\n\u00e9galement r\u00e9gl\u00e9 le probl\u00e8me avec la pagination de ListJS (qui entra\u00eenait un\nd\u00e9filement en haut de page \u00e0 chaque changement de page) par une\nsolution que j&#8217;ai pris le temps de\n<a href=\"https:\/\/github.com\/javve\/list.js\/issues\/711#issuecomment-1120184233\">remonter\nau projet<\/a>. Ce bug fut probablement introduit par la version 2.3.1 de ListJS,\nmise \u00e0 jour il y a 9 mois dans Meta-Press.es\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La fonctionnalit\u00e9 de retrait des r\u00e9sultats d&#8217;une source a \u00e9galement \u00e9t\u00e9 r\u00e9par\u00e9e\npour les sources comportant des parenth\u00e8ses dans leur nom comme : \"Wikipedia\n(pl)\". La nouvelle m\u00e9thode est nettement plus rapide et affiche d\u00e9sormais un\ncurseur d&#8217;attente pendant l&#8217;op\u00e9ration.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les imports et les exports aussi affichent un curseur d&#8217;attente. \u00c7a doit faire\n3x que j&#8217;annonce cette fonctionnalit\u00e9 mais c&#8217;est moins simple qu&#8217;il n&#8217;y\nparait. Il faut que le traitement derri\u00e8re le changement de curseur soit\nasynchrone, sinon le navigateur se lance dans le calcul avant que le curseur\nd&#8217;attente ne soit rendu visible et il faut forcer ce curseur d&#8217;attente m\u00eame sur\nles liens (et les boutons que je maquille en lien) car le curseur signalant le\nlien reste affich\u00e9 sinon (ce qui peut donner l&#8217;impression qu&#8217;il faut secouer la\nsouris pour que le curseur d&#8217;attente s&#8217;affiche\u2026).<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_limitations_du_browser_storage\">2.1. Limitations du <code>browser.storage<\/code><\/h3>\n<div class=\"paragraph\">\n<p>Un autre bug assez p\u00e9nible fut introduit avec la pr\u00e9c\u00e9dente version de\nMeta-Press.es et sa nouvelle liste des sources. Un bouton de cette interface\npermet de retirer toutes les sources de la s\u00e9lection courante (en les ajoutant\n\u00e0 la liste des sources explicitement d\u00e9-selectionn\u00e9es). \u00c7a fonctionne bien avec\nles deux derniers onglets (les sources ajout\u00e9es ou les sources retir\u00e9es de la\ns\u00e9lection courante), mais si on clique dessus sur l&#8217;un des deux premiers\nonglets (toutes les sources ou toutes les sources s\u00e9lectionn\u00e9es) cela abouti\n\u00e0 une s\u00e9lection vide et Meta-Press.es le signale puis restaure les tags par\nd\u00e9faut. Le probl\u00e8me c&#8217;\u00e9tait que les utilisateurs se retrouvaient bloqu\u00e9s dans\nune boucle infinie de popup signalant une s\u00e9lection vide.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai r\u00e9par\u00e9 \u00e7a et ai beaucoup appris ce faisant. Il n&#8217;y aurait pas d\u00fb y avoir\ncette boucle, elle \u00e9tait cr\u00e9\u00e9e par une limitation du stockage propos\u00e9 par le\nnavigateur aux WebExtensions. Ces limites sont : 512 objets, de 8 ko maximum\nchacun, pour un total ne d\u00e9passant pas 100 ko.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c7a repr\u00e9sente une liste de \u00b1200 sources (ajout\u00e9es ou retir\u00e9es de la s\u00e9lection).\n<strong>Les listes plus grosses fonctionnent mais ne sont plus sauvegard\u00e9es<\/strong>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En \u00e9vitant de sauvegarder de trop gros objets dans le stockage de l&#8217;extension,\nil n&#8217;y a plus de boucle infinie, mais une meilleure solution est encore \u00e0\ntrouver. Pour l&#8217;instant, j&#8217;utilise l&#8217;URL principale d&#8217;une source en guise de\ncl\u00e9 d&#8217;identification. \u00c7a pr\u00e9sente l&#8217;avantage de permettre de retrouver une\nsource connue \u00e0 partir d&#8217;un fichier RSS pris sur le web, ou de garantir qu&#8217;un\nvieil export sera encore reconnu par une version mise \u00e0 jour de Meta-Press.es\n(et tout \u00e7a sans le moindre \"co\u00fbt\" pensais-je jusqu&#8217;\u00e0 ce qu&#8217;on atteigne une\nlimite du <code>browser.storage<\/code>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ces limites sont d\u00e9sormais surveill\u00e9es de pr\u00e8s et un rapport s&#8217;affiche dans la\nconsole JavaScript quand on ouvre un nouvel onglet de Meta-Press.es.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_nouvelles_sources\">3. Nouvelles sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette nouvelle version embarque 62 sources de plus, pour un total de 378, de 59\npays (+4) et en 33 langues (+10).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le type de source <strong>Agenda<\/strong> accueille l' <em>agendamilitant.org<\/em> (en plus de toutes\nles instances de Demosph\u00e8re, pour un total de 30 agendas, et attendant que\ncette\n<a href=\"https:\/\/framagit.org\/framasoft\/mobilizon\/-\/issues\/584#note_1825538\">feature-request<\/a>\nsoit trait\u00e9e du c\u00f4t\u00e9 de Mobilizon).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le type de source <strong>Encyclo.<\/strong> comporte d\u00e9sormais 14 langues de Wikipedia, pour\nun total de 20 sources encyclop\u00e9diques index\u00e9es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Un type de source <strong>R\u00e9seaux sociaux<\/strong> fait son apparition, regroupant 14 sources\ndont Invidious et plusieurs langues de Dailymotion. D&#8217;autres sources \"web\"\nsuivront et n&#8217;h\u00e9sitez pas \u00e0 proposer un meilleur nom pour cette cat\u00e9gorie.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais la nouvelle star des sources c&#8217;est l&#8217;instance\n<a href=\"https:\/\/www.scrutari.net\">Scrutari<\/a> du <a href=\"https:\/\/scrutari.coredem.info\/\">Coredem<\/a>\ndans le type de source renomm\u00e9 <strong>Doc.<\/strong> (incluant <em>Wikileaks<\/em> et\n<em>ArretSurImages.net<\/em>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Scrutari est un moteur de recherche en logiciel libre qui indexe 58 663\nressources en provenance de 38 sites promouvant une d\u00e9mocratie mondiale. Cette\nsource se retrouve ventil\u00e9e en 14 langues.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_nouveaux_fichiers\">4. Nouveaux fichiers<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour finir, 3 fichiers ont fait leur apparition dans le d\u00e9p\u00f4t :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>.eslintrc.json<\/code> qui contient des directives de configuration pour\nl&#8217;analyseur de code ESLint, pour aider \u00e0 appliquer les r\u00e8gles de pr\u00e9sentation\ndu code<\/p>\n<\/li>\n<li>\n<p><code>wiki\/incompatible_sources.adoc<\/code> qui n&#8217;est pas vraiment nouveau puisque c&#8217;est\ntout simplement la page du wiki du projet listant les sources qu&#8217;il n&#8217;a pas \u00e9t\u00e9\npossible d&#8217;ajouter\u2026 (elle sera probablement plus visible l\u00e0, et assur\u00e9ment\nplus facile \u00e0 maintenir pour moi)<\/p>\n<\/li>\n<li>\n<p><code>json\/broken_sources.json<\/code> un fichier o\u00f9 j&#8217;ai d\u00e9plac\u00e9 les restes d&#8217;environ 50\nd\u00e9finitions de sources impossibles \u00e0 finir ou cass\u00e9es depuis. La motivation\n\u00e9tait l\u00e0 de ne plus envoyer ces 1440 lignes de JSON pour rien aux\nutilisateurs\u2026 et j&#8217;en ai profit\u00e9 pour en r\u00e9parer certaines.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Avant d&#8217;ajouter une nouvelle source, il est recommand\u00e9 de jeter un \u0153il \u00e0 ces\ndeux derniers fichiers pour trouver des traces d&#8217;hypoth\u00e9tiques essais\npr\u00e9c\u00e9dents.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.0 : new source list, user feedback","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/v1.8.0_new-source-list.html","rel":"alternate"}},"published":"2022-04-25T00:00:00+02:00","updated":"2022-04-25T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-04-25:\/journal\/2022\/v1.8.0_new-source-list.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_improving_code_architecture\">1. Improving code architecture<\/a><\/li>\n<li><a href=\"#_managing_relative_dates_for_all_sources\">2. Managing relative dates for all sources<\/a><\/li>\n<li><a href=\"#_major_improvements_of_the_release\">3. Major improvements of the release<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_csv_format\">3.1. CSV format<\/a><\/li>\n<li><a href=\"#_user_feedback_about_sources\">3.2. User feedback about sources<\/a><\/li>\n<li><a href=\"#_new_source_list_and_cherry_pick_source_selections\">3.3. New source list and cherry-pick source selections<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_other_improvements_ergonomics_source_fixes\">4. Other improvements (ergonomics, source fixes\u2026)<\/a><\/li>\n<li><a href=\"#_what_will_come_next\">5. What will come next ?<\/a><\/li>\n<li><a href=\"#_donate_to_help_the_project\">6. Donate \u2026<\/a><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_improving_code_architecture\">1. Improving code architecture<\/a><\/li>\n<li><a href=\"#_managing_relative_dates_for_all_sources\">2. Managing relative dates for all sources<\/a><\/li>\n<li><a href=\"#_major_improvements_of_the_release\">3. Major improvements of the release<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_csv_format\">3.1. CSV format<\/a><\/li>\n<li><a href=\"#_user_feedback_about_sources\">3.2. User feedback about sources<\/a><\/li>\n<li><a href=\"#_new_source_list_and_cherry_pick_source_selections\">3.3. New source list and cherry-pick source selections<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_other_improvements_ergonomics_source_fixes\">4. Other improvements (ergonomics, source fixes\u2026)<\/a><\/li>\n<li><a href=\"#_what_will_come_next\">5. What will come next ?<\/a><\/li>\n<li><a href=\"#_donate_to_help_the_project\">6. Donate to help the project<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_improving_code_architecture\">1. Improving code architecture<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>After a long work here is the version 1.8.0. It required longer than usual as I\nintegrated work from interns. It lead me to establish\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext#user-content-javascript-coding-style\">coding\nstyle rules<\/a>. It&#8217;s also the reflect of a big \"under the surface\" work to\nmigrate the code base to the modern modular design of JavaScript. Meta-Press.es\nis now following this architecture, which helped to minimize redundancies in\nthe code (you want redundancies in your hardware, but note in your code). This\nwill help for the maintenance of the application.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_managing_relative_dates_for_all_sources\">2. Managing relative dates for all sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Another \"invisible\" change occurred regarding the possible date format\ndefinitions in sources. Now documented\n<a href=\"https:\/\/www.meta-press.es\/pages\/meta-press.es_documentation.html#_date_formats\">here<\/a>,\nthis evolution of the source definitions allows to handle as many formats as\nneeded for each source. This is the solution of the different relative date\nformat that we could find on sources (such as : Published one hour ago) which\nno JavaScript date libraries were able to handle in different languages. This\nMeta-Press.es evolution is not a generic solution for everyone like\n<a href=\"https:\/\/framagit.org\/Siltaar\/month_nb\">month_nb<\/a> but it allows to handle several\nproblems with dates (such as relative dates or inconsistencies betweens dates\nin archives of a same source\u2026).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_major_improvements_of_the_release\">3. Major improvements of the release<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This new version also brings visible improvements:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>export \/ import in CSV format (to easily reuse results)<\/p>\n<\/li>\n<li>\n<p>per-source feedback mechanism (to report broken sources)<\/p>\n<\/li>\n<li>\n<p>new list of sources (to fine tune source selection)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_csv_format\">3.1. CSV format<\/h3>\n<div class=\"paragraph\">\n<p><strong>CSV format<\/strong> appeared in the import and export drop-down format menus. It\ncurrently only includes results (excluding research parameters that can be\nexported via RSS, ATOM or JSON).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_user_feedback_about_sources\">3.2. User feedback about sources<\/h3>\n<div class=\"paragraph\">\n<p><strong>The source feedback<\/strong> mechanism is a new button that appears when hovering a\nsource in the searched source list of a finished research (also knowns as meta\nfinding list, first box at the right of finished search). Clicking on this\nbutton open a pop-in frame that allows to describe the problem encountered with\nthis source and to send your feedback in one click. This is the only way to\nsend a request to the <a href=\"https:\/\/meta-press.es\" class=\"bare\">https:\/\/meta-press.es<\/a> server from the Meta-Press.es\napplication.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>From a technical point of view, this generates 404 HTTPS requests that I&#8217;ll\nreview using goaccess, my web log analyser tool. This way, everything gets\nautomatically erased (with the rest of the logs) after the default Debian\nerasing log period of time (currently 15 days). This way, with a minimal effort\nit&#8217;s goaccess that will perform on demand statistics over the feedbacks,\nallowing to focus on the most reported sources. Information must flow.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_new_source_list_and_cherry_pick_source_selections\">3.3. New source list and cherry-pick source selections<\/h3>\n<div class=\"paragraph\">\n<p><strong>The new source list<\/strong> answers two needs:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>users did ask for a human readable list of the available sources<\/p>\n<\/li>\n<li>\n<p>this list is the new source cherry-pick mechanism<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>From this new source list you&#8217;ll be able to edit the tag-based\nsource-selection. For instance, you chose to search only in french sources (via\nthe french language tag), you can then click on the new <kbd>list sources<\/kbd>\nbutton (situated under the two rows of the tag selection mechanism) and you&#8217;ll\nopen a new frame, with 4 tabs.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>The 1st tab lists all the sources<\/p>\n<\/li>\n<li>\n<p>the second tab lists only the selected sources<\/p>\n<\/li>\n<li>\n<p>the 3rd tab lists only the explicitly added sources to the selection<\/p>\n<\/li>\n<li>\n<p>the 4th tab lists only the explicitly removed sources from the selection<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220721_advanced_search.png\" alt=\"20220721 advanced search\">\n<\/div>\n<div class=\"title\">Figure 1. New source list<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>So you can add some English sources to your french selection, or remove some\nfrench sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>On a technical point of view, sources are selected from their tags, and a\nremove sources from the selection is applied, then an add source to selection\nlist. You can edit those lists and they are exported with RSS, ATOM or JSON\nexports, they are added to the parameters of the permalinks and so saved\nfor your scheduled searches.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>In each tabs you can filter out the content via a search input, or act on\nbatches (all the listed sources or just the current page) to add or remove\nsources to \/ from the current selection.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>So you can visually check in which sources the next search will perform and\nthen you can edit this selection.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Those parameters will be kept for your next searches and the source list will\nbe automatically re-opened if you are using an edited source selection to\nsearch in, at least to help you remembering the choices.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Also for each source in this list, a magnifier button allows you to search\nonly in this source, in one click.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_other_improvements_ergonomics_source_fixes\">4. Other improvements (ergonomics, source fixes\u2026)<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>This new release also brings presentation improvements : results are presented\nwith more density, their background color now alternates to help the reading\nand a lot of small glitches have been fixed (button sizes, margins\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The source creation page have been improved to allow searching in the source\ndefinitions listed here (the row JSON file of all the provided source\ndefinition accessible here, and searchable from Firefox <span class=\"keyseq\"><kbd>CTRL<\/kbd>+<kbd>F<\/kbd><\/span> mechanism).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The previous released version introduced a source-definition automatic\nreloading mechanism when Meta-Press.es tabs where let down for others (such as\nCustom Source ones) and so your custom sources where automatically reloaded in\na quite slow way. The naive implementation have been improved to reload\nsources only if custom sources where actually modified.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This previous version also had a bug regarding all the RSS based sources (\u00b125%)\nwhich is now fixed along with a lot of source fixes. So we are, at date, with\nmore than 315 working sources.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_what_will_come_next\">5. What will come next ?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>There is still of work to do, to improve source testing for instance, or to\nautomate releases testing.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>But I also have some new features in mind, such as:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>a child mode to lock the source selection on child compatible ones to help schools using Meta-Press.es<\/p>\n<\/li>\n<li>\n<p>a dynamic form to allow regular users to create new sources using their mouse only (in 80% of the cases)<\/p>\n<\/li>\n<li>\n<p>a port of Meta-Press.es as a regular Android application (to target more audience)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_donate_to_help_the_project\">6. Donate to help the project<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>To finish, every donations would be warmly welcome to push the project further,\nor to thanks Meta-Press.es for this great tip :\n<a href=\"https:\/\/www.meta-press.es\/journal\/2022\/PressReader_via_BnF.html\">Access content\nof 7400 from the French national library for 15 \u20ac \/ year<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.8.0 : nouvelle liste de sources, retours utilisateurs","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/v1.8.0_new-source-list.html","rel":"alternate"}},"published":"2022-04-25T00:00:00+02:00","updated":"2022-04-25T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-04-25:\/fr\/journal\/2022\/v1.8.0_new-source-list.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_am\u00e9lioration_de_larchitecture_du_code\">1. Am\u00e9lioration de l&#8217;architecture du code<\/a><\/li>\n<li><a href=\"#_gestion_des_dates_relatives_pour_toutes_les_sources\">2. Gestion des dates relatives pour toutes les sources<\/a><\/li>\n<li><a href=\"#_am\u00e9liorations_principales_de_cette_nouvelle_version\">3. Am\u00e9liorations principales de cette nouvelle version<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_format_csv\">3.1. Format CSV<\/a><\/li>\n<li><a href=\"#_retour_utilisateur_sur_les_sources\">3.2. Retour utilisateur sur les sources<\/a><\/li>\n<li><a href=\"#_nouvelle_liste_de_source_permettant_la_s\u00e9lection_\u00e0_lunit\u00e9\">3.3. Nouvelle liste de source permettant la s\u00e9lection \u00e0 l&#8217;unit\u00e9<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_autres_am\u00e9liorations_ergonomie_sources_r\u00e9par\u00e9es\">4. Autres am\u00e9liorations \u2026<\/a><\/li><\/ul><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_am\u00e9lioration_de_larchitecture_du_code\">1. Am\u00e9lioration de l&#8217;architecture du code<\/a><\/li>\n<li><a href=\"#_gestion_des_dates_relatives_pour_toutes_les_sources\">2. Gestion des dates relatives pour toutes les sources<\/a><\/li>\n<li><a href=\"#_am\u00e9liorations_principales_de_cette_nouvelle_version\">3. Am\u00e9liorations principales de cette nouvelle version<\/a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_format_csv\">3.1. Format CSV<\/a><\/li>\n<li><a href=\"#_retour_utilisateur_sur_les_sources\">3.2. Retour utilisateur sur les sources<\/a><\/li>\n<li><a href=\"#_nouvelle_liste_de_source_permettant_la_s\u00e9lection_\u00e0_lunit\u00e9\">3.3. Nouvelle liste de source permettant la s\u00e9lection \u00e0 l&#8217;unit\u00e9<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#_autres_am\u00e9liorations_ergonomie_sources_r\u00e9par\u00e9es\">4. Autres am\u00e9liorations (ergonomie, sources r\u00e9par\u00e9es\u2026)<\/a><\/li>\n<li><a href=\"#_et_pour_la_suite\">5. Et pour la suite ?<\/a><\/li>\n<li><a href=\"#_donnez_pour_soutenir_le_projet\">6. Donnez pour soutenir le projet<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_am\u00e9lioration_de_larchitecture_du_code\">1. Am\u00e9lioration de l&#8217;architecture du code<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Apr\u00e8s un long travail, voici la version 1.8.0. Elle a n\u00e9cessit\u00e9 plus de travail\nque d&#8217;habitude, notamment parce que j&#8217;ai int\u00e9gr\u00e9 une grande partie du travail\nde mes pr\u00e9c\u00e9dents stagiaires. Cela m&#8217;a amen\u00e9 \u00e0 \u00e9tablir des r\u00e8gles de bonne\nconduite dans l&#8217;\u00e9criture du code\n(<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext#user-content-javascript-coding-style\">coding\nstyle rules<\/a>). Cela refl\u00e8te \u00e9galement beaucoup de travail \"sous la surface\",\nnotamment pour rendre le code compatible avec la vision moderne et modulaire du\nJavaScript. Meta-Press.es suis d\u00e9sormais cette architecture logicielle qui\npermet de minimiser les redondances dans le code (de la redondance, on en veut\nconcernant le mat\u00e9riel, mais pas dans du code). Ce changement aidera \u00e0 la\nmaintenance du code.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_gestion_des_dates_relatives_pour_toutes_les_sources\">2. Gestion des dates relatives pour toutes les sources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Un autre gros changement \"invisible\" concerne la possibilit\u00e9 de d\u00e9finir\ndiff\u00e9rents formats de date pour une m\u00eame source. La documentation a \u00e9t\u00e9 mise \u00e0\njour en cons\u00e9quences\n<a href=\"https:\/\/www.meta-press.es\/fr\/pages\/meta-press.es_documentation.html#_format_de_date\">ici<\/a>.\nCette \u00e9volution du format de d\u00e9finition des sources permet de g\u00e9rer autant de\nformat de date que n\u00e9cessaire pour chaque source. C&#8217;est la solution adopt\u00e9e\npour le probl\u00e8me des dates relatives (Il y a une heure) utilis\u00e9e par certaines\nsources pour les r\u00e9sultats tr\u00e8s r\u00e9cent. Or, aucune biblioth\u00e8que JavaScript de\ngestion de date n&#8217;offre de support pour l&#8217;analyse de ces dates, et encore moins\ndans un contexte multi-lingue. Cette \u00e9volution de Meta-Press.es n&#8217;est pas une\nsolution aussi g\u00e9n\u00e9rique que <a href=\"https:\/\/framagit.org\/Siltaar\/month_nb\">month_nb<\/a>,\nmais c&#8217;est une solution tr\u00e8s souple, permettant de r\u00e9gler plusieurs probl\u00e8mes\nd&#8217;un coup (dates relatives, formats de date inconsistants dans les archives\nd&#8217;une m\u00eame source\u2026).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_am\u00e9liorations_principales_de_cette_nouvelle_version\">3. Am\u00e9liorations principales de cette nouvelle version<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette nouvelle version apporte \u00e9galement son lot de changements visibles :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>export \/ import au format CSV (permettant une r\u00e9utilisation facile des r\u00e9sultats)<\/p>\n<\/li>\n<li>\n<p>un m\u00e9chanisme de retour utilisateurs source par source (pour rapporter une source cass\u00e9e\u2026)<\/p>\n<\/li>\n<li>\n<p>une nouvelle liste des sources (pour g\u00e9rer finement ses s\u00e9lections de source)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_format_csv\">3.1. Format CSV<\/h3>\n<div class=\"paragraph\">\n<p>Le <strong>format CSV<\/strong> apparait d\u00e9sormais dans les menu d\u00e9roulant de choix de format\ndes exports et imports de r\u00e9sultats. Il n&#8217;inclut pour l&#8217;instant que les\nr\u00e9sultats eux-m\u00eame (excluant donc les param\u00e8tres de recherche, qui sont\nembarqu\u00e9s dans les exports aux format RSS, ATOM et JSON).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_retour_utilisateur_sur_les_sources\">3.2. Retour utilisateur sur les sources<\/h3>\n<div class=\"paragraph\">\n<p>Il est d\u00e9sormais possible de signaler une source d\u00e9fectueuse en deux clics.\nLe m\u00e9canisme de <strong>retour utilisateurs sur les sources<\/strong> se mat\u00e9rialise par un\nbouton qui apparait au survol d&#8217;une source dans la liste des sources\ninterrog\u00e9es pour une recherche (premi\u00e8re bo\u00eete de la colonne de gauche d&#8217;une\nrecherche finie). En cliquant sur ce bouton on d\u00e9plie un cadre permettant de\npr\u00e9ciser le probl\u00e8me rencontr\u00e9 et d&#8217;envoyer l&#8217;info. C&#8217;est le seul moyen de\ng\u00e9n\u00e9rer une requ\u00eate depuis le logiciel Meta-Press.es vers les serveur\n<a href=\"https:\/\/meta-press.es\" class=\"bare\">https:\/\/meta-press.es<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D&#8217;un point de vue technique, \u00e7a g\u00e9n\u00e8re une requ\u00eate HTTPS 404, qui sera relev\u00e9e\nlors de l&#8217;analyse des logs du serveur web par le logiciel libre goaccess. En\nproc\u00e9dent ainsi, tout est automatiquement effac\u00e9 au bout du d\u00e9lais par d\u00e9faut\nde conservation des logs dans Debian (15j actuellement). De plus, aucun\nlogiciel suppl\u00e9mentaire n&#8217;est requis, c&#8217;est goaccess qui compile les\nstatistiques de retour utilisateur (pour signaler les plus rapport\u00e9es).\nL&#8217;information doit couler \u00e0 flot. (mais ne pas s&#8217;accumuler sans raisons).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_nouvelle_liste_de_source_permettant_la_s\u00e9lection_\u00e0_lunit\u00e9\">3.3. Nouvelle liste de source permettant la s\u00e9lection \u00e0 l&#8217;unit\u00e9<\/h3>\n<div class=\"paragraph\">\n<p><strong>La nouvelle liste de source<\/strong> r\u00e9pond \u00e0 deux besoins :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>des utilisateurs ont demand\u00e9 une visualisation conviviale de la liste des sources<\/p>\n<\/li>\n<li>\n<p>cette liste est le nouveau m\u00e9canisme de s\u00e9lection des sources \u00e0 l&#8217;unit\u00e9<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Depuis cette nouvelle liste des sources il est possible d&#8217;\u00e9diter une s\u00e9lection\nde source \u00e0 post\u00e9riori de la s\u00e9lection par \u00e9tiquettes. Par exemple, si vous\nsouhaitez ne chercher que dans les sources en fran\u00e7ais (via l&#8217;\u00e9tiquette\n\"fran\u00e7ais\" du choix de langue), vous pouvez ensuite cliquer sur le nouveau\nbouton <kbd>Liste des sources<\/kbd> (situ\u00e9 sous les deux rang\u00e9es de s\u00e9lecteurs \u00e0\nchoix multiples pour les \u00e9tiquettes) et un nouveau cadre apparaitra, d\u00e9coup\u00e9 en\n4 onglets.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Le premier onglet liste toutes les sources<\/p>\n<\/li>\n<li>\n<p>le second onglet liste les sources s\u00e9lectionn\u00e9es pour la prochaine recherche<\/p>\n<\/li>\n<li>\n<p>le troisi\u00e8me onglet liste les sources explicitement ajout\u00e9es \u00e0 la s\u00e9lection<\/p>\n<\/li>\n<li>\n<p>le quatri\u00e8me onglet liste les sources explicitement retir\u00e9es de la s\u00e9lection<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20220721_advanced_search.png\" alt=\"20220721 advanced search\">\n<\/div>\n<div class=\"title\">Figure 1. Nouvelle liste des sources<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Il est donc possible d&#8217;ajouter quelques sources en anglais en plus d&#8217;une\ns\u00e9lection des sources en fran\u00e7ais, ou de retirer certaines sources fran\u00e7aise.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D&#8217;un point de vue technique, les sources sont d&#8217;abord s\u00e9lectionn\u00e9es \u00e0 partir de\nleurs \u00e9tiquettes, puis les sources explicitement retir\u00e9es sont retir\u00e9es de la\ns\u00e9lection, puis les sources \u00e0 ajouter sont ajout\u00e9es. Vous pouvez \u00e9diter ces\ndeux listes de sources (retir\u00e9es et ajout\u00e9es) et elle sont export\u00e9es avec les\nr\u00e9sultats en RSS, ATOM et JSON. Elles sont \u00e9galement ajout\u00e9es en param\u00e8tre des\npermaliens et donc sauv\u00e9es pour les recherches programm\u00e9es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans chaque onglet de cette nouvelle liste des sources vous retrouverez une\ncase de recherche (pour filtrer les sources affich\u00e9es) et des boutons d&#8217;actions\ngroup\u00e9es (jour ajouter ou retirer toutes les sources list\u00e9es, ou seulement\ncelle de la page courante).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il est donc possible de v\u00e9rifier visuellement dans quelles sources la prochaine\nrecherche aura lieu avant de la lancer et d&#8217;\u00e9diter cette s\u00e9lection finement.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ces param\u00e8tres seront conserv\u00e9s pour vos prochaines recherches, et le volet de\nrecherche avanc\u00e9e sera automatiquement rouvert tant que des param\u00e8tres\nsp\u00e9cifiques seront appliqu\u00e9s (\u00e7a permet de se souvenir qu&#8217;on chang\u00e9 les r\u00e9glages).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Enfin, pour chaque source list\u00e9e un bouton \u00e0 l&#8217;effigie d&#8217;une loupe permet de\nr\u00e9gler la cherche pour cette unique source directement (c&#8217;est au moins pratique\npour les d\u00e9veloppeurs !).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_autres_am\u00e9liorations_ergonomie_sources_r\u00e9par\u00e9es\">4. Autres am\u00e9liorations (ergonomie, sources r\u00e9par\u00e9es\u2026)<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cette nouvelle version apporte \u00e9galement des am\u00e9lioration graphiques : les\nr\u00e9sultats sont pr\u00e9sent\u00e9s de mani\u00e8res plus compacte, leur couleur de fond\nalterne (pair \/ impair) pour aider \u00e0 la lisibilit\u00e9 de la page de r\u00e9sultats (qui\nne sont parfois pas tous de la m\u00eame hauteur) et d&#8217;autres petites coquilles de\nl&#8217;affichage ont \u00e9t\u00e9 corrig\u00e9es (comme la taille de certains boutons, des\nmarges\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La page de cr\u00e9ation des sources a \u00e9t\u00e9 am\u00e9lior\u00e9e pour permettre d&#8217;effectuer des recherche dans le texte de la liste des sources brutes pr\u00e9sent\u00e9es l\u00e0 \u00e0 titre d&#8217;exemple. Une recherche est d\u00e9sormais possible l\u00e0 via la fonctionnalit\u00e9 de recherche dans une page propos\u00e9e par Firefox : <span class=\"keyseq\"><kbd>CTRL<\/kbd>+<kbd>F<\/kbd><\/span>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La pr\u00e9c\u00e9dente version introduisait un m\u00e9canisme de rechargement automatique des\nsources d&#8217;un onglet Meta-Press.es ouvert, si un changement d&#8217;onglet \u00e9tait\nd\u00e9tect\u00e9 (par exemple apr\u00e8s un passage sur un onglet de cr\u00e9ation de sources).\nCela permet de garder les sources courantes d&#8217;un onglet ouvert \u00e0 jour, mais\nc&#8217;\u00e9tait syst\u00e9matique et plut\u00f4t lent. Cette premi\u00e8re impl\u00e9mentation na\u00efve a \u00e9t\u00e9\nremplac\u00e9es par un m\u00e9canisme qui ne recharge que les sources cr\u00e9\u00e9es localement,\nseulement si elles ont \u00e9t\u00e9 modifi\u00e9es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Enfin la pr\u00e9c\u00e9dente version embarquait un bug impactant toutes les sources\nd\u00e9finies \u00e0 l&#8217;aide de leur flux RSS (\u00b125%). Cette erreur est d\u00e9sormais corrig\u00e9e,\ntout comme de nombreuses sources normale (mais ayant eu besoin de corrections).\nNous en sommes donc \u00e0 plus de 315 sources fonctionnelles.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_et_pour_la_suite\">5. Et pour la suite ?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Il y a toujours beaucoup de pain sur la planche : pour am\u00e9liorer le test automatique des sources, mettre en place des tests automatiques de bout en bout\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais j&#8217;ai \u00e9galement de nouvelles grosses fonctionnalit\u00e9s en t\u00eate :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>un mode enfant pour verrouiller la s\u00e9lection de sources courante sur des sources pour enfant, pour aider les \u00e9coles et CDI souhaitant utiliser Meta-Press.es<\/p>\n<\/li>\n<li>\n<p>un formulaire dynamique d&#8217;ajout de sources simplement \u00e0 la souris (dans 80% des cas)<\/p>\n<\/li>\n<li>\n<p>pr\u00e9senter Meta-Press.es comme une application Android standard (et augmenter ainsi drastiquement l&#8217;audience potentielle)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_donnez_pour_soutenir_le_projet\">6. Donnez pour soutenir le projet<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour finir, chaque don est chaudement accueilli aide le projet \u00e0 avancer.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Vous pouvez aussi consid\u00e9rer un petit don pour me remercier de cette astuce qui fait gagner beaucoup d&#8217;argent :\n<a href=\"https:\/\/www.meta-press.es\/fr\/journal\/2022\/PressReader_via_BnF.html\">Acc\u00e9der au contenu de 7400 journaux via PressReader et la BnF pour 15 \u20ac \/ an<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Presentation of Meta-Press.es in Lyon at the JdLL 2022","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/2022_JDLL.html","rel":"alternate"}},"published":"2022-03-04T00:00:00+01:00","updated":"2022-03-04T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-03-04:\/journal\/2022\/2022_JDLL.html","summary":"<div class=\"paragraph\">\n<p>After the cancelations of the event in 2020 and 2021, the JdLL (Days of Libre\nSoftware in France) team accepted the Meta-Press.es presentation again this year.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This event is a part of the broader french\n<a href=\"https:\/\/www.libre-en-fete.net\/2022\/\">Libre en F\u00eate<\/a> manifestation from 20 of\nmarch to 3 of april.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The event \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>After the cancelations of the event in 2020 and 2021, the JdLL (Days of Libre\nSoftware in France) team accepted the Meta-Press.es presentation again this year.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This event is a part of the broader french\n<a href=\"https:\/\/www.libre-en-fete.net\/2022\/\">Libre en F\u00eate<\/a> manifestation from 20 of\nmarch to 3 of april.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The event will take place the 2nd and 3rd april 2022.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The presentation is scheduled for :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>I accumulated experience about this exercice during my previous presentations\n(in visio or in public) and I&#8217;m re-working the speech.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Pr\u00e9sentation de Meta-Press.es \u00e0 Lyon pour les JdLL 2022","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/2022_JDLL.html","rel":"alternate"}},"published":"2022-03-04T00:00:00+01:00","updated":"2022-03-04T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-03-04:\/fr\/journal\/2022\/2022_JDLL.html","summary":"<div class=\"paragraph\">\n<p>Apr\u00e8s une annulation de l&#8217;\u00e9v\u00e8nement en 2020 et 2021 l&#8217;organisation des Journ\u00e9es\ndu Logiciel Libre a de nouveau accept\u00e9 ma proposition de pr\u00e9sentation de\nMeta-Press.es \u00e0 l&#8217;\u00e9v\u00e8nement qui aura lieu les 2 et 3 avril prochain.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;op\u00e9ration \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Apr\u00e8s une annulation de l&#8217;\u00e9v\u00e8nement en 2020 et 2021 l&#8217;organisation des Journ\u00e9es\ndu Logiciel Libre a de nouveau accept\u00e9 ma proposition de pr\u00e9sentation de\nMeta-Press.es \u00e0 l&#8217;\u00e9v\u00e8nement qui aura lieu les 2 et 3 avril prochain.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cette manifestation s&#8217;inscrit dans le cadre de l&#8217;op\u00e9ration\n<a href=\"https:\/\/www.libre-en-fete.net\/2022\/\">Libre en F\u00eate 2022<\/a> partout en France \u00e0\npartir du 20 mars.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La pr\u00e9sentation de Meta-Press.es est pr\u00e9vue pour le :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2022-04-03 17:00 UTC+2 \u00e0 Lyon : plus d&#8217;info sur <a href=\"https:\/\/pretalx.jdll.org\/jdll2022\/talk\/LE8QQ9\/\">JdLL.org<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai accumul\u00e9 une certaine exp\u00e9rience lors de mes pr\u00e9sentations pr\u00e9c\u00e9dentes (en\nvisio ou en public) et retravaill\u00e9 le fond et la forme en cons\u00e9quences (merci \u00e0\nceux qui m&#8217;y ont aid\u00e9).<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Access content of 7400 from the French national library for 15 \u20ac \/ year","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2022\/PressReader_via_BnF.html","rel":"alternate"}},"published":"2022-02-02T00:00:00+01:00","updated":"2022-02-02T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-02-02:\/journal\/2022\/PressReader_via_BnF.html","content":"<div class=\"paragraph\">\n<p>This service is only accessible to french citizens, based on identity card\nreview by humans at the <em>Biblioth\u00e8que nationale de France<\/em>.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Acc\u00e9der au contenu de 7400 journaux via PressReader et la BnF pour 15 \u20ac \/ an","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2022\/PressReader_via_BnF.html","rel":"alternate"}},"published":"2022-02-02T00:00:00+01:00","updated":"2022-02-02T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2022-02-02:\/fr\/journal\/2022\/PressReader_via_BnF.html","summary":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_premi\u00e8re_\u00e9tape_pressreader_com\">1. Premi\u00e8re \u00e9tape : PressReader.com<\/a><\/li>\n<li><a href=\"#_deuxi\u00e8me_\u00e9tape_bnf_fr\">2. Deuxi\u00e8me \u00e9tape : BnF.fr<\/a><\/li>\n<li><a href=\"#_consultation_bnf_pressreader\">3. Consultation : BnF &#8594; PressReader<\/a><\/li>\n<li><a href=\"#_consultation_rapide_easybnf_fr\">4. <strong>Consultation rapide<\/strong> : EasyBnF.fr<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Les amis de <a href=\"https:\/\/revue-de-presse.org\">Revue-de-presse.org<\/a> m&#8217;ont fait part de\nl&#8217;astuce micro-blogu\u00e9e par\n<a href=\"https:\/\/twiter.com\/Silvae\/status\/1482037482858463236\">@Silvae<\/a> donnant acc\u00e8s \u00e0\ntout le bouquet de journaux du site PressReader.com pour une fraction \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Index<\/div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_premi\u00e8re_\u00e9tape_pressreader_com\">1. Premi\u00e8re \u00e9tape : PressReader.com<\/a><\/li>\n<li><a href=\"#_deuxi\u00e8me_\u00e9tape_bnf_fr\">2. Deuxi\u00e8me \u00e9tape : BnF.fr<\/a><\/li>\n<li><a href=\"#_consultation_bnf_pressreader\">3. Consultation : BnF &#8594; PressReader<\/a><\/li>\n<li><a href=\"#_consultation_rapide_easybnf_fr\">4. <strong>Consultation rapide<\/strong> : EasyBnF.fr<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Les amis de <a href=\"https:\/\/revue-de-presse.org\">Revue-de-presse.org<\/a> m&#8217;ont fait part de\nl&#8217;astuce micro-blogu\u00e9e par\n<a href=\"https:\/\/twiter.com\/Silvae\/status\/1482037482858463236\">@Silvae<\/a> donnant acc\u00e8s \u00e0\ntout le bouquet de journaux du site PressReader.com pour une fraction du prix\nhabituel de l&#8217;abonnement.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;abonnement \u00e0 PressReader, qui donne acc\u00e8s aux contenus de 7400 journaux, est\nfix\u00e9 \u00e0 29\u20ac \/ mois (en abonnement individuel) mais il est possible d&#8217;y avoir\nacc\u00e8s via la Biblioth\u00e8que nationale de France pour 1,25\u20ac \/ mois (pay\u00e9s 15\u20ac \u00e0\nl&#8217;ann\u00e9e).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il suffit pour cela de cr\u00e9er un compte sur PressReader.com, un autre BnF.fr\net de se connecter aux deux successivement en commen\u00e7ant par la BnF.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_premi\u00e8re_\u00e9tape_pressreader_com\">1. Premi\u00e8re \u00e9tape : PressReader.com<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour cr\u00e9er un compte sur PressReader vous avez le choix entre leur site web ou\nleur application mobile : c&#8217;est la partie facile.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La proc\u00e9dure valide l&#8217;adresse de courriel fournie.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_deuxi\u00e8me_\u00e9tape_bnf_fr\">2. Deuxi\u00e8me \u00e9tape : BnF.fr<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>C&#8217;est la partie d\u00e9licate, le site de la BnF est en effet tr\u00e8s riche en\nfonctionnalit\u00e9s et il est facile de s&#8217;y perdre. De plus, la cr\u00e9ation du compte\nn&#8217;est pas automatique.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Rendez-vous sur : <a href=\"https:\/\/inscriptionbilletterie.bnf.fr\/accueil\" class=\"bare\">https:\/\/inscriptionbilletterie.bnf.fr\/accueil<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Choisissez \u00ab Acc\u00e8s tous publics Biblioth\u00e8que tous publics \u00bb en bleu \u00e0 gauche de\nl&#8217;\u00e9cran, puis \u00ab Pass BnF lecture \/ culture illimit\u00e9 \u00bb \u00e0 15 \u20ac en mauve au centre\nde l&#8217;\u00e9cran suivant.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Un encart surgit en accroche de l&#8217;\u00e9cran pour vous confirmer l&#8217;ajout d&#8217;un pass \u00e0\nvotre panier et vous propose de vous y rendre. Vous avez alors la possibilit\u00e9\nde valider le panier ce qui dirige vers l&#8217;\u00e9cran de connexion \u00e0 votre compte, ou\nd&#8217;ouverture. Plusieurs champs sont \u00e0 remplir (notamment sur vos motivations) et\nil faut fournir deux documents dont votre carte d&#8217;identit\u00e9 (et un justificatif\nde domicile si ma m\u00e9moire est bonne). Ce service public n&#8217;est ouvert qu&#8217;aux\nr\u00e9sidents fran\u00e7ais.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Le service sera factur\u00e9 dans les jours suivants, une fois la cr\u00e9ation du compte\nvalid\u00e9e par un humain <sup class=\"footnote\">[<a id=\"_footnoteref_1\" class=\"footnote\" href=\"#_footnotedef_1\" title=\"View footnote.\">1<\/a>]<\/sup>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_consultation_bnf_pressreader\">3. Consultation : BnF &#8594; PressReader<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Une fois le compte BnF cr\u00e9\u00e9 et l&#8217;abonnement r\u00e9gl\u00e9 vous avez acc\u00e8s \u00e0 toutes les\nbases de donn\u00e9es de : <a href=\"https:\/\/bdl.bnf.fr\" class=\"bare\">https:\/\/bdl.bnf.fr<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>@Silvae note qu&#8217;il y a pas mal de choses cryptiques lorsqu&#8217;on est pas\nchercheur, mais en consultant la liste des ressources \u00e9lectroniques (externes)\non retrouve, \u00e0 la lettre \u00ab P \u00bb, un lien vers PressReader <sup class=\"footnote\">[<a id=\"_footnoteref_2\" class=\"footnote\" href=\"#_footnotedef_2\" title=\"View footnote.\">2<\/a>]<\/sup>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En cliquant dessus la BnF demande une authentification puis redirige vers\nPressReader qui demande la sienne\u2026 et l\u00e0, c&#8217;est la f\u00eate, il y a 430 publications\nfrancophones (dont les principaux titres de la presse nationale).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si PressReader vous parle d&#8217;un quota de lecture atteint, il suffit de vous\nd\u00e9connecter et d&#8217;y revenir.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_consultation_rapide_easybnf_fr\">4. <strong>Consultation rapide<\/strong> : EasyBnF.fr<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Pour gagner du temps \u00e0 la consultation <a href=\"https:\/\/easybnf.fr\">@jeremypgn<\/a> a cr\u00e9\u00e9\nle site : <a href=\"https:\/\/easybnf.fr\"><strong>EasyBnF.fr<\/strong><\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il donne acc\u00e8s aux principales ressources (PressReader en t\u00eate) via une\ninterface pr\u00e9vue pour petits \u00e9crans tactiles.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Prenez garde \u00e0 d\u00e9marrer l&#8217;op\u00e9ration 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 \u00e0 s\u00e9curit\u00e9 renforc\u00e9e et \u00e9quip\u00e9 de <a href=\"https:\/\/addons.mozilla.org\/fr-FR\/firefox\/addon\/multi-account-containers\/\">Multi-Account Containers<\/a>, j&#8217;utilise alors une fen\u00eatre priv\u00e9e de Firefox\u2026\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_2\">\n<a href=\"#_footnoteref_2\">2<\/a>. Un PressReader proxyfi\u00e9 par la BnF\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"2021 recap","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/2021_recap.html","rel":"alternate"}},"published":"2021-12-14T00:00:00+01:00","updated":"2021-12-14T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-12-14:\/journal\/2021\/2021_recap.html","summary":"<div class=\"paragraph\">\n<p>A new version of Meta-Press.es will soon be released (but maybe just after the\nend-year celebrations). A lot of things happened this year, including during\nthe last 3 months.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>2021 seen\n<a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/meta-press-es\/versions\/\">9\nreleases<\/a> of Meta-Press.es publishing\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/activity\">541 commits<\/a> from 14 forks\non Framagit.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>4 people worked with me \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>A new version of Meta-Press.es will soon be released (but maybe just after the\nend-year celebrations). A lot of things happened this year, including during\nthe last 3 months.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>2021 seen\n<a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/meta-press-es\/versions\/\">9\nreleases<\/a> of Meta-Press.es publishing\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/activity\">541 commits<\/a> from 14 forks\non Framagit.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>4 people worked with me on Meta-Press.es in my Deux-S\u00e8vres' office :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Christopher Gauthier (apprentice)<\/p>\n<\/li>\n<li>\n<p>Marin Portet (intern)<\/p>\n<\/li>\n<li>\n<p>Hugo Porchet (intern)<\/p>\n<\/li>\n<li>\n<p>Aur\u00e8le Motard (intern)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>We went from 500 daily users to 750 daily users in average over worked days,\nwith more 1100 downloads of the WebExtension in 2021 and more 400 kilometers\nrun with Christopher.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>6 online presentations of Meta-Press.es (some french-speaking replays are\navailable\n<a href=\"\/journal\/2021\/2021_meta-press.es_spring_viso-conferences_2nd_batch.html\">here<\/a>)\nand 2 on-stage presentations occurred (I wrote about the B-Boost one in <em>Linux\nPratique<\/em> #128, available online\n<a href=\"https:\/\/connect.ed-diamond.com\/linux-pratique\/lp-128\/le-b-boost-comme-si-vous-y-etiez\">here<\/a>\nbehind a paywall).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>All the previous\n<a href=\"\/journal\/2020\/funds-from-the-nlnet-foundation.htm\">NLnet-bound<\/a> roadmap was\ncovered, and the NLnet renewed its support to me for one more year.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>During this year, a <a href=\"https:\/\/www.patreon.com\/metapress\">Patreon<\/a> page was opened\nin addition to the <a href=\"https:\/\/liberapay.com\/Siltaar\">Liberapay<\/a> one.  22 recurrent\ndonors are giving a total of around 120 \u20ac by month to the Meta-Press.es\nproject, and I thank them a lot !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A Meta-Press.es non-for-profit association was created during the summer and it\nallowed to open an\n<a href=\"https:\/\/www.helloasso.com\/associations\/meta-press-es\/formulaires\/1\">HelloAsso<\/a>\none-shot credit-card donation mechanism. Contributions are coming from here\nalso.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It&#8217;s time to publish a new roadmap for the year to come :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>First, the v1.7.9 (to come soon) will bring some cool features (mainly from Hugo Porchet&#8217;s internship work) :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>users will be able to generate feedback about deceitful sources (off-topic results, inappropriate content, broken source\u2026)<\/p>\n<\/li>\n<li>\n<p>a better source cherry-picking feature, with personal collections<\/p>\n<\/li>\n<li>\n<p>support for a CSV format in import\/export operations<\/p>\n<\/li>\n<li>\n<p>better support for relative dates in results (e.g. \"1 hour ago\", \"yesterday\"\u2026)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>Then, Meta-Press.es will be fitted with a child mode to comply school needs\n(limiting sources to advised ones for children)<\/p>\n<\/li>\n<li>\n<p>The general purpose news loading feature will be reworked from RSS feeds to\nget more news from the sources, and more stability over the time (as the\nbiggest news presentation is what changes the most in newspapers)<\/p>\n<\/li>\n<li>\n<p>Then come big things, such as a source creation dynamic form, to help regular\nusers to add new sources to Meta-Press.es. It will allow automatic creation\nof RSS served result sources, and point-and-click definition of regular\nsources. It&#8217;s Marin Portet whom spent it&#8217;s whole internship prototyping this\nambitious feature.<\/p>\n<\/li>\n<li>\n<p>Improving the source testing framework, because the current one takes around\n10 minutes to tests 300 sources.<\/p>\n<\/li>\n<li>\n<p>End to end testing of primary features to ensure stability of features over\nthe time.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>But the best is to come, with business models that start to outline themself\nfor the Meta-Press.es project :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Port of Meta-Press.es for Android platform to install it like regular\napplications (might be a Progressive Web Application) because around\n<a href=\"https:\/\/www.statista.com\/forecasts\/1143723\/smartphone-users-in-the-world\">80%\nof the world population uses a smartphone<\/a>, and 80% of them are using Android\nfor the moment, while the best WebExtension of Firefox (the add blocker\n\t<a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/ublock-origin\/\">uBlock<\/a>) is\n\tused by around 5 000 000 users (so 0,1% of the internet users).<\/p>\n<\/li>\n<li>\n<p>A standalone server-side version of Meta-Press.es, because it&#8217;s what the\ngeneral population is expecting, and because too many people still report me\nthat the internal Meta-Press.es <strong>blog<\/strong> search feature did not returned\nresults for hot press topics\u2026<\/p>\n<\/li>\n<li>\n<p>An independent press review hosting platform, with good integration from\nMeta-Press.es, to easily push selected results to your paid hosting account,\nwith private and public reviews and the possibility to show your press review\non your website.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>To finish, the Meta-Press.es project is seeking partnerships in the context of\na French administration funding support.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Don&#8217;t hesitate to contact (at meta-press.es) me about it and to spread the news around !<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"2021 recap","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/2021_recap.html","rel":"alternate"}},"published":"2021-12-14T00:00:00+01:00","updated":"2021-12-14T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-12-14:\/fr\/journal\/2021\/2021_recap.html","summary":"<div class=\"paragraph\">\n<p>Une nouvelle version de Meta-Press.es sera bient\u00f4t publi\u00e9e (mais peut \u00eatre\njuste apr\u00e8s les f\u00eates de fin d&#8217;ann\u00e9e). Il y a d\u00e9j\u00e0 beaucoup de choses qui ont\neu lieu cette ann\u00e9e, et y compris durant les 3 derniers mois !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>2021 a vu d\u00e9filer\n<a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/meta-press-es\/versions\/\">9\nnouvelles versions<\/a> de Meta-Press \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Une nouvelle version de Meta-Press.es sera bient\u00f4t publi\u00e9e (mais peut \u00eatre\njuste apr\u00e8s les f\u00eates de fin d&#8217;ann\u00e9e). Il y a d\u00e9j\u00e0 beaucoup de choses qui ont\neu lieu cette ann\u00e9e, et y compris durant les 3 derniers mois !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>2021 a vu d\u00e9filer\n<a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/meta-press-es\/versions\/\">9\nnouvelles versions<\/a> de Meta-Press.es, publiant\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/activity\">541 commits<\/a> depuis les 14\nforks du projet sur Framagit.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>4 personnes sont venues travailler avec moi sur Meta-Press.es dans mon bureau\ndans les Deux-S\u00e8vres :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Christopher Gauthier (en apprentissage)<\/p>\n<\/li>\n<li>\n<p>Marin Portet (stage)<\/p>\n<\/li>\n<li>\n<p>Hugo Porchet (stage)<\/p>\n<\/li>\n<li>\n<p>Aur\u00e8le Motard (stage, de 3e ;-)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Le nombre d&#8217;utilisateurs a grimp\u00e9 de 500 en d\u00e9but d&#8217;ann\u00e9e \u00e0 750 utilisateurs\nquotidiens en moyenne, en semaine, avec plus de 1100 t\u00e9l\u00e9chargements de\nl&#8217;extension et plus de 400 km courus avec Christopher.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>6 pr\u00e9sentations de Meta-Press.es en vision conf\u00e9rence ont eu lieues (quelques\nenregistrements sont consultables par\n<a href=\"\/fr\/journal\/2021\/2021_meta-press.es_spring_viso-conferences_2nd_batch.html\">ici<\/a>)\nainsi que deux pr\u00e9sentations en public (j&#8217;ai racont\u00e9 celle du B-Boost dans le\nnum\u00e9ro 128 du magazine Linux Pratique, article consultable\n<a href=\"https:\/\/connect.ed-diamond.com\/linux-pratique\/lp-128\/le-b-boost-comme-si-vous-y-etiez\">ici<\/a>\nsur abonnement). Un bel enregistrement audio (<em>podcast<\/em>) est \u00e9galement dans les\ntuyaux chez <a href=\"https:\/\/vivant-le-media.fr\/\">Vivant, le m\u00e9dia<\/a>, une source qui\npourrait bien se retrouver dans la porchaine version de Meta-Press.es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Tous les objectifs de la <a href=\"\/fr\/journal\/2020\/funds-from-the-nlnet-foundation.htm\">planification<\/a> annonc\u00e9e avec le financement de la NLnet ont \u00e9t\u00e9 atteint.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Durant cette ann\u00e9e, une page <a href=\"https:\/\/www.patreon.com\/metapress\">Patreon<\/a> a \u00e9t\u00e9\nouverte, en plus de la page <a href=\"https:\/\/liberapay.com\/Siltaar\">Liberapay<\/a> et 22\ndonateurs r\u00e9currents ont donn\u00e9 une moyenne de 120 \u20ac par mois au projet\nMeta-Press.es, je les en remercie grandement ! (pour \u00eatre honn\u00eate, il y a aussi\ndes membres de ma famille dans le d\u00e9compte).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une association Meta-Press.es, sans but lucratif a \u00e9galement vu le jour cet\n\u00e9t\u00e9, et c&#8217;est sous ce r\u00e9gime fiscal qu&#8217;arrivent les dons r\u00e9alis\u00e9s via le compte\n<a href=\"https:\/\/www.helloasso.com\/associations\/meta-press-es\/formulaires\/1\">HelloAsso<\/a>\nassoci\u00e9, ce qui ouvre une porte de collecte de dons ponctuels. C&#8217;est une\ndemande qui a \u00e9t\u00e9 formul\u00e9e au projet, et des dons arrivent effectivement par ce\nbiais.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il est d\u00e9sormais temps de publier une nouvelle projection du travail \u00e0\naccomplir pour le d\u00e9veloppement de Meta-Press.es pour l&#8217;ann\u00e9e qui vient :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Tout d&#8217;abord, la version 1.7.9 de Meta-Press.es apportera quelques chouettes fonctionnalit\u00e9s (principalement tir\u00e9es du travail de Hugo Porchet) :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>les utilisateurs vont pouvoir signaler les sources d\u00e9cevantes (hors-sujet, offensantes ou cass\u00e9es)<\/p>\n<\/li>\n<li>\n<p>un meilleur m\u00e9canisme de s\u00e9lection des sources \u00e0 l&#8217;unit\u00e9 va venir remplacer l&#8217;actuel (qui montre ses limites maintenant que le projet compte plusieurs centaines de sources)<\/p>\n<\/li>\n<li>\n<p>le support d&#8217;un format CSV pour les exports (et les imports)<\/p>\n<\/li>\n<li>\n<p>un meilleur support des dates relatives pour les r\u00e9sultats de recherche (ex: \u00ab il y a 1h \u00bb ; \u00ab hier \u00bb)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>Ensuite, Meta-Press.es sera enrichi d&#8217;un mode \u00ab enfant \u00bb (limitant les\nsources interrog\u00e9es \u00e0 celles conseill\u00e9es pour les enfants) afin de r\u00e9pondre\naux besoins exprim\u00e9s par des enseignants et responsables de CDI de coll\u00e8ge<\/p>\n<\/li>\n<li>\n<p>La fonctionnalit\u00e9 de chargement de gros titres va muscler son jeu en se\nbasant sur les flux RSS des sources pour charger plus d&#8217;actu et simplifier la\nmaintenance associ\u00e9e (car la fa\u00e7on d&#8217;afficher un gros titre en Une d&#8217;un\njournal est probablement ce qu&#8217;il y a de moins stable dans la pr\u00e9sentation\nd&#8217;un journal en ligne)<\/p>\n<\/li>\n<li>\n<p>Viendrons ensuite de gros chantiers, comme l&#8217;ajout d&#8217;un formulaire dynamique\nde cr\u00e9ation de sources pour Meta-Press.es. Avec une gestion compl\u00e8tement\nautomatique des sources servant leurs r\u00e9sultats de recherche en RSS, et du\n\"tout \u00e0 la souris\" pour la plupart des sources (collect\u00e9es via s\u00e9lecteurs\nCSS). C&#8217;est pour l&#8217;instant surtout Marin Portet qui a travaill\u00e9 sur le sujet,\nd\u00e9diant quasiment tout son stage \u00e0 cette cause ambitieuse.<\/p>\n<\/li>\n<li>\n<p>Il est encore pr\u00e9vu d&#8217;am\u00e9liorer la fonctionnalit\u00e9 de test automatique des\nsources, entre autre parce qu&#8217;elle prend actuellement environ 10 minutes pour\ntester les 300 sources<\/p>\n<\/li>\n<li>\n<p>Une suite de test de bout en bout est \u00e9galement au programme, pour assurer la\np\u00e9rennit\u00e9 des fonctionnalit\u00e9s dans le temps.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais le meilleur est encore \u00e0 venir, plusieurs mod\u00e8les \u00e9conomiques se dessinent\npour Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Un portage de Meta-Press.es pour la plate-forme Android, afin de pouvoir\ninstaller Meta-Press.es comme une application normale (probablement \u00e0 base de\n<em>progressive web application<\/em>) car\n<a href=\"https:\/\/www.statista.com\/forecasts\/1143723\/smartphone-users-in-the-world\">80%\nde la population mondiale<\/a> utilise un ordiphone, et que 80% de ces ordiphones\ntournent (pour l&#8217;instant) sous Android, alors que la meilleure extension de\nFirefox (le bloqueur de pub\n<a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/ublock-origin\/\">uBlock<\/a>) compte\nenviron 5 millions d&#8217;utilisateurs (soit 0,1% des utilisateurs d&#8217;Internet).<\/p>\n<\/li>\n<li>\n<p>Une version serveur de Meta-Press.es (bas\u00e9e sur NodeJS) est \u00e9galement au\nprogramme, parce que c&#8217;est ce que les internaute s&#8217;attendent \u00e0 trouver, et\nque trop de personnes me signalent que le moteur interne de recherche du\n<strong>blog<\/strong> de Meta-Press.es ne leur a pas fourni de r\u00e9sultat concernant un sujet\nbr\u00fblant d&#8217;actualit\u00e9.<\/p>\n<\/li>\n<li>\n<p>Une plate-forme ind\u00e9pendante d&#8217;h\u00e9bergement de revues de presse, bien int\u00e9gr\u00e9e\ndans Meta-Press.es (sans pas encombrante) afin de permettre la publication\nd&#8217;une s\u00e9lection de r\u00e9sultats d&#8217;un clic vers le compte payant d&#8217;un utilisateur\nde cette plate-forme. Des revues de presse priv\u00e9es et publiques sont au\nprogramme avec une int\u00e9gration facilit\u00e9 d&#8217;une revue de presse publique dans\nvotre site web.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour finir, le projet Meta-Press.es est \u00e0 la recherche de partenariats, dans le\ncontexte d&#8217;une demande de subvention aupr\u00e8s de la r\u00e9gion Nouvelle-Aquitaine.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>N&#8217;h\u00e9sitez pas \u00e0 m&#8217;\u00e9crire \u00e0 contact (\u00e0 meta-press.es) \u00e0 ce propos et surtout \u00e0\nfaire passer le mot !<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.7.8 : ergonomic enhancements","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/v1.7.8_ergonomic_enhancements.html","rel":"alternate"}},"published":"2021-10-01T00:00:00+02:00","updated":"2021-10-01T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-10-01:\/journal\/2021\/v1.7.8_ergonomic_enhancements.html","summary":"<div class=\"paragraph\">\n<p>A month and a half after the last release, the version 1.7.8 of Meta-Press.es\nis now online. This new version is bringing ergonomic enhancements and a major\nround of fix for the known sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The enhancements are including some long awaited requests :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>a slice date filter, with \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>A month and a half after the last release, the version 1.7.8 of Meta-Press.es\nis now online. This new version is bringing ergonomic enhancements and a major\nround of fix for the known sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The enhancements are including some long awaited requests :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>a slice date filter, with two inputs, to work on local results<\/p>\n<\/li>\n<li>\n<p>a search input to easily find a particular source in the source box of a\nfinished search, when there are more than 30 sources listed here<\/p>\n<\/li>\n<li>\n<p>some \"select all\" \/ \"select none\"  and \"toggle selection\" buttons when\nselecting results to export. Those buttons only affect the results visible in\nthe current page (and it&#8217;s still possible to choose how many elements are\nlisted on a page)<\/p>\n<\/li>\n<li>\n<p>the list of the sources we&#8217;re waiting for, when a search is taking a\nnoticeable time (which can be expanded from the search status line when there\nare less than 30 awaited sources)<\/p>\n<\/li>\n<li>\n<p>a Cancel button that actually stops the running search where it is and let\nyou work on the results (the previous solution was just refreshing the page,\nloosing the results, this is done via the recent JavaScript promise aborting\nAPI, thanks to a mention from\n<a href=\"https:\/\/mastodon.libre-entreprise.com\/@lutindiscret\/106091986206170964\">@lutindiscret<\/a>)<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>subsequently, a new setting appeared : a request timeout ; which\nautomatically finish a search after 90s (but can be set to 0 to wait\n\"forever\")<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>a new source statistic line which displays the number of selected sources and\nthe number of needed permissions to perform the next search, along with a\nbutton to give those permissions<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>In addition, every regular expressions of the 314 sources (which represent\nalready 10k lines of formated JSON) have been screen for ReDOS vulnerabilities\nusing\n<a href=\"https:\/\/github.com\/NicolaasWeideman\/RegexStaticAnalysis\">RegexStaticAnalysis<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>25 regex were flagged with exponential degree of ambiguity (EDA) or infinite\ndegree of ambiguity (IDA) over 180 regex analysed. Each time it was related to\nunclear boundaries, multiple infinite quantifiers <code>*<\/code> or <code>+<\/code>, or an OR\nconstruct <code>(a|a)*<\/code> with an infinite quantifier.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Surprisingly it have been possible for each case to improve the RegExp and have\nit passing the test and running faster (being more tightly bound to the subject\nto capture). For example, this simple and easy to read regular expression :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>(\\d+) (.) (\\d)<\/code> <sup class=\"footnote\">[<a id=\"_footnoteref_1\" class=\"footnote\" href=\"#_footnotedef_1\" title=\"View footnote.\">1<\/a>]<\/sup> ;<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Captures a date (for instance : '23 july 2021') and was replaced by :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Which captures the same date but with boundaries around the portion of string\n(<code>^<\/code> at the beginning and <code>$<\/code> at the end) and sharper descriptions of each field\nto capture (sharp number of digits), month name that can contain french\naccented letters (like <em>d\u00e9cembre<\/em>) but no spaces\u2026 Real life examples are\nusually a bit more complex but the main idea is here.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\nimprovements in the parsing of the concerned source so a general improvement\nfor Meta-Press.es.<\/p>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<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\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_2\">\n<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\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.7.8 : am\u00e9liorations d'ergonomie","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/v1.7.8_ergonomic_enhancements.html","rel":"alternate"}},"published":"2021-10-01T00:00:00+02:00","updated":"2021-10-01T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-10-01:\/fr\/journal\/2021\/v1.7.8_ergonomic_enhancements.html","summary":"<div class=\"paragraph\">\n<p>Un mois et demi apr\u00e8s la pr\u00e9c\u00e9dente <em>release<\/em>, la version 1.7.8 de\nMeta-Press.es est maintenant en ligne. Cette nouvelle version apporte des\nam\u00e9liorations d&#8217;ergonomie et un gros effort de mise \u00e0 jour des sources connues.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ces am\u00e9liorations \u00e9taient pour certaines attendues de longue date :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>un filtre \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Un mois et demi apr\u00e8s la pr\u00e9c\u00e9dente <em>release<\/em>, la version 1.7.8 de\nMeta-Press.es est maintenant en ligne. Cette nouvelle version apporte des\nam\u00e9liorations d&#8217;ergonomie et un gros effort de mise \u00e0 jour des sources connues.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ces am\u00e9liorations \u00e9taient pour certaines attendues de longue date :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>un filtre par tranche de date, avec deux s\u00e9lecteurs de date, pour travailler\nsur les r\u00e9sultats locaux<\/p>\n<\/li>\n<li>\n<p>une recherche dans les noms des sources ayant donn\u00e9 des r\u00e9sultats (visible si\nplus de 30 sources ont donn\u00e9 des r\u00e9sultats)<\/p>\n<\/li>\n<li>\n<p>des aides \u00e0 la s\u00e9lection de r\u00e9sultats pour l&#8217;export avec un bouton\n\"s\u00e9lectionner tout\", ou rien, ou inverser la s\u00e9lection. Ces boutons ne\nconcernant que les r\u00e9sultats visibles sur la page courante (et il est\ntoujours possible de choisir combien d&#8217;\u00e9l\u00e9ments sont list\u00e9s par page)<\/p>\n<\/li>\n<li>\n<p>la liste des sources en attente, lorsqu&#8217;une recherche prends suffisamment de\ntemps pour qu&#8217;on puisse cliquer sur le petit bouton \"+\" apparu dans la ligne\nde statistiques d&#8217;une recherche en cours, d\u00e8s lors que moins de 30 sources\nsont encore attendues<\/p>\n<\/li>\n<li>\n<p>un bouton \"Annuler\" qui stoppe la recherche l\u00e0 o\u00f9 elle en est et vous laisser\ntravailler sur les r\u00e9sultats d\u00e9j\u00e0 r\u00e9cup\u00e9r\u00e9s (quand la pr\u00e9c\u00e9dente\nimpl\u00e9mentation rafraichissait simplement la page, perdant les r\u00e9sultats)\nMeta-Press.es utilise pour ce faire la r\u00e9cente API JavaScript permettant\nd&#8217;annuler une promesse (qui avait envie de rendre \u00e7a possible ?). Un grand\nmerci \u00e0\n<a href=\"https:\/\/mastodon.libre-entreprise.com\/@lutindiscret\/106091986206170964\">@lutindiscret<\/a>\npour nous l&#8217;avoir signal\u00e9e.<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>En cons\u00e9quence, un nouveau r\u00e9glage est apparu :\n un d\u00e9lais maximum de recherche ; qui termine automatiquement une recherche\nau bout de 90s (mais peut \u00eatre r\u00e9gl\u00e9 sur 0 pour attendre \"\u00e0 tout jamais\" si\nvous le souhaitez)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>une nouvelle ligne de statistiques affichant le nombre de sources\ns\u00e9lectionn\u00e9es ainsi que le nombre de permissions requises pour r\u00e9aliser la\nprochaine recherche, le tout avec un bouton pour donner directement les\npermissions en question<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>De plus, les expressions r\u00e9guli\u00e8res des 314 sources actuelles (qui repr\u00e9sentent\nd\u00e9j\u00e0 10k lignes de JSON format\u00e9) ont toutes \u00e9t\u00e9 scann\u00e9es par l&#8217;outil\n<a href=\"https:\/\/github.com\/NicolaasWeideman\/RegexStaticAnalysis\">RegexStaticAnalysis<\/a>\npour v\u00e9rifier leur vuln\u00e9rabilit\u00e9 aux attaques de type ReDOS.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>25 regex ont \u00e9t\u00e9 signal\u00e9es par l&#8217;outil comme contenant un degr\u00e9 exponentiel ou\ninfini d&#8217;ambiguit\u00e9 (EDA ou IDA) sur les 180 expression analys\u00e9es. Il s&#8217;agissait\nchaque fois de bornes manquantes, d&#8217;utilisation de plusieurs quantificateurs\ninfinis (<code>*<\/code> or <code>+<\/code>) \u00e0 la suite ou d&#8217;une construction en 'ou' logique <code>(a|a)*<\/code>\navec en plus un quantificateur infini.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>De mani\u00e8re assez surprenante, il a \u00e9t\u00e9 possible \u00e0 chaque fois d&#8217;am\u00e9liorer\nl&#8217;expression en question, \u00e0 la fois pour quelle passe le test et qu&#8217;elle\nfonctionne plus vite (\u00e9tant d\u00e9finie plus pr\u00e9cis\u00e9ment). Par exemple, voici une\nexpression r\u00e9guli\u00e8re simple et lisible :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><code>(\\d+) (.) (\\d)<\/code> <sup class=\"footnote\">[<a id=\"_footnoteref_1\" class=\"footnote\" href=\"#_footnotedef_1\" title=\"View footnote.\">1<\/a>]<\/sup> ;<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Qui capture une date (par exemple '23 juillet 2021'), et a \u00e9t\u00e9 remplac\u00e9e par :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Qui capture la m\u00eame date, mais avec des bornes autour de la portion de cha\u00eene\nde caract\u00e8re (<code>^<\/code> pour le d\u00e9but de la cha\u00eene, parce que dans ce cas l\u00e0 on\ncommence au tout d\u00e9but, et <code>$<\/code> pour la fin et donc il n&#8217;y a rien apr\u00e8s le\nnum\u00e9ro de l&#8217;ann\u00e9e) et une description plus pr\u00e9cise des champs \u00e0 attraper\n(nombres pr\u00e9cis de chiffres \u00e0 capturer), nom de mois ne contenant pas d&#8217;espace,\nmais pouvant contenir des lettres accentu\u00e9es comme \u00e7a peut \u00eatre le cas en\nfran\u00e7ais (pour d\u00e9cembre par exemple\u2026). Les exemples trouv\u00e9s dans les\nd\u00e9finitions de sources sont g\u00e9n\u00e9ralement un peu plus complexes, mais l&#8217;id\u00e9e\nprincipale est bien l\u00e0.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c0 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\u00e9<\/a>, ces modifications r\u00e9sultent\nen un meilleur code, plus robuste et plus rapide et donc une am\u00e9lioration\nglobale de Meta-Press.es.<\/p>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Ici les 1ers symboles entre parenth\u00e8se permettent de capturer un nombre, celui du jour de la date trait\u00e9e, la seconde parenth\u00e8se attrape n&#8217;importe quoi entre deux espaces et dans notre cas \u00e7a tombe sur un nom de mois et la derni\u00e8re parenth\u00e8se capture un autre nombre qu&#8217;on esp\u00e8re \u00eatre l&#8217;ann\u00e9e\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_2\">\n<a href=\"#_footnoteref_2\">2<\/a>. O\u00f9 il y a toujours 3 groupes de symboles entre parenth\u00e8ses, le premier capturant des nombres d&#8217;un \u00e0 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\u00e8res), et enfin le num\u00e9ro de l&#8217;ann\u00e9e comporte forc\u00e9ment 4 chiffres. Je serai tr\u00e8s heureux de corriger ce 'bug' moi-m\u00eame d\u00e8s que les ann\u00e9es seront compt\u00e9es avec des nombres \u00e0 5 chiffres, \u00e0 conditions qu&#8217;aucune religion ne vienne perturber le calendrier gr\u00e9gorien utilis\u00e9 actuellement)\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.7.7 : security audit","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/v1.7.7_security_audit.html","rel":"alternate"}},"published":"2021-08-11T00:00:00+02:00","updated":"2021-08-11T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-08-11:\/journal\/2021\/v1.7.7_security_audit.html","summary":"<div class=\"paragraph\">\n<p>As a last step planned in late 2019 and announced\n<a href=\"https:\/\/www.meta-press.es\/journal\/2020\/funds-from-the-nlnet-foundation.html\">here<\/a>,\nthe <a href=\"https:\/\/nlnet.nl\">NLnet<\/a> (via the NGI0 consortium which was granted funds\nfrom the European Horizon 2020 project) and the\n<a href=\"https:\/\/radicallyopensecurity.com\">RadicallyOpenSecurity<\/a> company was providing\nMeta-Press.es a security audit.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The new v1.7.7 release is the result of this audit \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>As a last step planned in late 2019 and announced\n<a href=\"https:\/\/www.meta-press.es\/journal\/2020\/funds-from-the-nlnet-foundation.html\">here<\/a>,\nthe <a href=\"https:\/\/nlnet.nl\">NLnet<\/a> (via the NGI0 consortium which was granted funds\nfrom the European Horizon 2020 project) and the\n<a href=\"https:\/\/radicallyopensecurity.com\">RadicallyOpenSecurity<\/a> company was providing\nMeta-Press.es a security audit.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The new v1.7.7 release is the result of this audit, with mainly (small)\nsecurity improvements.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>After some delays (in months) in the planning of the audit, everything went\nsmoothly. First I provided credentials to get an account in\nRadicallyOpenSecurity infrastructure (including a private GitLab repository\nhosting the audit results and a web chat).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Then came some more waiting (in weeks) for a penetration tester to select\nMeta-Press.es for its next task (and reviewing a WebExtension seemed not so\ncommon). Once a courageous pen.-tester showed up, we started with a\nvideo-conference during which we discussed about what Meta-Press.es is and\nwhat it intends to do. I was also asked about what potential security issues I\nwould foresee and I was pleased to list points I was wanting to get checked.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Results came during the next weeks with some text chat to keep heading in the\nright direction. The collaboration was efficient : I learnt a lot, was happy to\nget mainly good results and finally quite occupied with the effective\nfindings to fix and the recommendations to implement.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The methodology was simple : inspect the castle walls. What comes in, what goes\nout. All the dependencies were checked, and then the data from fetched sources\n(with an elaborated network frame inspection setup) and the exported files.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The basics principles of Meta-Press.es were confirmed (no third-party trackers\nare activated while using Meta-Press.es), source data were correctly sanitized\n(except in the exotic scenario of JSON-responding sources, which is fixed by\nthis release) and the recommended Two-Factor Authentication (2FA) was already\nactivated for all online services Meta-Press.es relies on (domain name\nregistration, web hosting, Mozilla Addons repository\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I was advised to further document intended behavior regarding security aspects\nin addition to how-to report security issues to the project. Stricter\nContent Security Policy (CPS) rules were also advised as this was already my\nna\u00efve implementation of this mechanism that got me covered against severe issues\nin the JSON-responding sources scenario. A fire-wall approach with everything\ndisabled by default and only what&#8217;s needed allowed was elected and implemented\n(which required quite some work to avoid inline CSS for instance).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>To finish with security, I&#8217;ve been introduced to <strong>ReDOS<\/strong> attacks : denial of\nservice through regular expression slow edge-case feeding. Now on,\nMeta-Press.es source-definitions will be tested against Nicolaas Weidman\n<a href=\"https:\/\/github.com\/NicolaasWeideman\/RegexStaticAnalysis\">RegexStaticAnalysis<\/a>\ntool (despite the fact that it&#8217;s written in Java :-p).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Then, as I updated dependencies I activated the CodeMirror <code>json-lint<\/code> plugin\nwhich allows to underline malformed JSON content in the source creation\ntextarea. I also traded 15 small try\/catch blocks in the code against one big\nthat ensure every searches will now have an end (even if a source is causing a\nbug in Meta-Press.es with an unanticipated answer). Try\/catch blocks were\nnon-optimizable portions of code since a long time but things have evolved. Let\nme know if you hit measurable performance penalties.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>A last word about statistics, we can guess that the majority of the users are\nFrench (not only because Mozilla reports 75% of french-speaking users, or\nbecause I mainly presented Meta-Press.es to french audiences) but also because\nstatistics are dramatically dropping during holidays : from 800 users a day to\n550 in mid-august.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fortunately, the number of sources is still growing, with currently 310 !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>PS: A new way of supporting Meta-Press.es has recently been introduced, it&#8217;s\n<a href=\"https:\/\/www.helloasso.com\/associations\/meta-press-es\/formulaires\/1\/en\">HelloAsso<\/a>.\nIt allows one shot donations and to get 100% of your donation sent to the new\nMeta-Press.es non-profit association (if you click to remove their self-added\ntip). For the record, the complete list of how to support Meta-Press.es is\navailable\n<a href=\"https:\/\/www.meta-press.es\/pages\/a_propos.html#_you_can_support_this_work\">here<\/a>.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.7.7 : l'audit de s\u00e9curit\u00e9","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/v1.7.7_security_audit.html","rel":"alternate"}},"published":"2021-08-11T00:00:00+02:00","updated":"2021-08-11T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-08-11:\/fr\/journal\/2021\/v1.7.7_security_audit.html","summary":"<div class=\"paragraph\">\n<p>Pour la derni\u00e8re \u00e9tape du planning pr\u00e9visionnel de 2019 annonc\u00e9\n<a href=\"https:\/\/www.meta-press.es\/fr\/journal\/2020\/funds-from-the-nlnet-foundation.html\">ici<\/a>,\nla <a href=\"https:\/\/nlnet.nl\">NLnet<\/a> (via le consortium NGI0, qui a re\u00e7u des fonds de la\ncommission europ\u00e9enne via le projet europ\u00e9en Horizon 2020) et la soci\u00e9t\u00e9\n<a href=\"https:\/\/radicallyopensecurity.com\">RadicallyOpenSecurity<\/a> engageaient le projet\nMeta-Press.es dans un audit de s\u00e9curit\u00e9.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La version 1.7 \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Pour la derni\u00e8re \u00e9tape du planning pr\u00e9visionnel de 2019 annonc\u00e9\n<a href=\"https:\/\/www.meta-press.es\/fr\/journal\/2020\/funds-from-the-nlnet-foundation.html\">ici<\/a>,\nla <a href=\"https:\/\/nlnet.nl\">NLnet<\/a> (via le consortium NGI0, qui a re\u00e7u des fonds de la\ncommission europ\u00e9enne via le projet europ\u00e9en Horizon 2020) et la soci\u00e9t\u00e9\n<a href=\"https:\/\/radicallyopensecurity.com\">RadicallyOpenSecurity<\/a> engageaient le projet\nMeta-Press.es dans un audit de s\u00e9curit\u00e9.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La version 1.7.7 est donc le r\u00e9sultat de cet audit, apportant principalement de\npetits renforts \u00e0 la s\u00e9curit\u00e9 du projet.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Apr\u00e8s un certain d\u00e9lais (en mois) dans la planification de l&#8217;audit tout s&#8217;est\nbien pass\u00e9. J&#8217;ai fourni des identifiants pour l&#8217;ouverture d&#8217;un compte sur\nl&#8217;infrastructure de RadicallyOpenSecurity (qui comprend un GitLab priv\u00e9 pour\nstocker les r\u00e9sultats de l&#8217;audit et un <em>web chat<\/em>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une fois cette \u00e9tape pass\u00e9, quelques semaines d&#8217;attente suppl\u00e9mentaires furent\nn\u00e9cessaires pour qu&#8217;un analyste en s\u00e9curit\u00e9 se planifie Meta-Press.es comme\nprochaine t\u00e2che (et force est de constater que l&#8217;analyse d&#8217;une <em>WebExtension<\/em>\nsemblait sortir de l&#8217;ordinaire). Un courageux <em>penetration tester<\/em> s&#8217;est\nfinalement signal\u00e9 et nous avons pu faire connaissance lors d&#8217;une\nvisio-conf\u00e9rence inaugurale, au cour de laquelle nous avons pu discuter de la\nnature du projet Meta-Press.es et de ses objectifs. J&#8217;ai \u00e9galement \u00e9t\u00e9 consult\u00e9\nsur ce qui me semblaient \u00eatre les points faibles du projet, et j&#8217;\u00e9tais bien\ncontent de pouvoir fournir une liste de points d\u00e9licats \u00e0 v\u00e9rifier (ou\ncontre-v\u00e9rifier).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les premiers r\u00e9sultats sont arriv\u00e9s la semaine suivante, guid\u00e9s par quelques\ns\u00e9ances de claviotage pour rester en phase entre les attentes et le terrain\nexplor\u00e9. La collaboration fut efficace, j&#8217;ai beaucoup appris, j&#8217;\u00e9tais content\nd&#8217;avoir principalement de bons retours, et fut finalement fort occup\u00e9 \u00e0 r\u00e9gler\nles quelques probl\u00e8mes rencontr\u00e9s et impl\u00e9menter les recommandations.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La m\u00e9thodologie \u00e9tait simple : faire le tour des remparts, inspecter ce qui\nentre et ce qui sort de l&#8217;extension. Les d\u00e9pendances furent pass\u00e9es au crible,\npuis les donn\u00e9es obtenues depuis les sources interrog\u00e9es (via un environnement\n\u00e9labor\u00e9 d&#8217;interception de trafic r\u00e9seau) et enfin les fichiers export\u00e9s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Les principes de bases de Meta-Press.es furent confirm\u00e9s, comme le fait que les\nm\u00e9canismes de suivi publicitaire des journaux ne sont pas activ\u00e9s par\nl&#8217;utilisation de Meta-Press.es, les donn\u00e9es \u00e9taient correctement nettoy\u00e9es \u00e0\nl&#8217;entr\u00e9e (sauf dans un cas exotique de source r\u00e9pondant en JSON, ce qui a \u00e9t\u00e9\ncorrig\u00e9 avec cette nouvelle version) et les authentifications \u00e0 deux facteurs\n(2FA) recommand\u00e9es pour les services en ligne auxquels Meta-Press.es fait appel\n(r\u00e9servation du nom de domaine, h\u00e9bergement web, envoi des nouvelles versions \u00e0\nMozilla\u2026) \u00e9taient d\u00e9j\u00e0 activ\u00e9es.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il m&#8217;a \u00e9galement \u00e9t\u00e9 recommand\u00e9 de documenter un peu plus ce que Meta-Press.es\nest sens\u00e9 faire ou ne pas faire et comment prendre contact avec le projet en\ncas de d\u00e9couverte d&#8217;un probl\u00e8me. Ces deux initiatives servant \u00e0 encourager les\nexperts en s\u00e9curit\u00e9 \u00e0 regarder le code et rapporter leurs d\u00e9couvertes. Il m&#8217;a\n\u00e9galement \u00e9t\u00e9 conseill\u00e9 de mettre en place des r\u00e8gles CSP (<em>Content Security\nPolicy<\/em>) plus strictes, ce que je me suis empress\u00e9 de faire vu que c&#8217;est d\u00e9j\u00e0\nl&#8217;impl\u00e9mentation initiale de ce m\u00e9canisme dans le projet qui nous a prot\u00e9g\u00e9\nd&#8217;une faille qui aurait pu \u00eatre s\u00e9v\u00e8re dans le traitement des r\u00e9sultats des\nsources r\u00e9pondant en JSON. Sur ce point une approche en <em>fire-wall<\/em> a donc \u00e9t\u00e9\nadopt\u00e9e en d\u00e9sactivant tout par d\u00e9faut (y compris les r\u00e8gles inutilis\u00e9es ou \u00e0\nvenir) et en r\u00e9-autorisant un par un les cas utiles. Cela a demand\u00e9 pas mal de\ntravail, par exemple pour \u00e9viter les r\u00e8gles CSS embarqu\u00e9es dans le HTML, mais\nc&#8217;est \u00e0 ce prix qu&#8217;on s&#8217;assure qu&#8217;une nouvelle r\u00e8gle CSS ne sera inject\u00e9e avec\nun fragment de HTML dans la page\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour en finir avec la s\u00e9curit\u00e9, j&#8217;ai d\u00e9couvert un nouveau type d&#8217;attaque\ncontre un logiciel, le <strong>ReDOS<\/strong>. Un d\u00e9ni de service engendr\u00e9 par un traitement\ntrop long d&#8217;une entr\u00e9e par une expression rationnelle (ou r\u00e9guli\u00e8re). Cela peut\nse produire lorsqu&#8217;on envoi une cha\u00eene de caract\u00e8res forg\u00e9e sp\u00e9cialement pour\nrepr\u00e9senter un cas extr\u00eame de difficult\u00e9 pour l&#8217;expression r\u00e9guli\u00e8re qu&#8217;on\nsuppose appliqu\u00e9e \u00e0 un champs de saisie. \u00c0 partir de maintenant, les\nd\u00e9finitions de source de Meta-Press.es seront v\u00e9rifi\u00e9es \u00e0 l&#8217;aide de l&#8217;outil\n<a href=\"https:\/\/github.com\/NicolaasWeideman\/RegexStaticAnalysis\">RegexStaticAnalysis<\/a>\n(malgr\u00e9 le fait qu&#8217;il soit \u00e9crit en Java :-p).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour cette nouvelle version j&#8217;ai \u00e9galement mis \u00e0 jour les d\u00e9pendances qui\npouvaient l&#8217;\u00eatre (en me notant de le faire \u00e0 chaque nouvelle version). J&#8217;ai\naussi activ\u00e9 le module <code>json-lint<\/code> de l&#8217;\u00e9diteur de code CodeMirror qui aide \u00e0\nd\u00e9finir de nouvelles sources dans Meta-Press.es afin d&#8217;avoir un signalement\nrapide des erreurs dans le format du JSON saisi. Enfin j&#8217;ai \u00e9chang\u00e9 15 petits\nblocs <em>try\/catch<\/em> contre un gros pour couvrir un peu plus de code et\ngarantir que toutes les recherches aient une fin (m\u00eame quand une source\nd\u00e9clenche un bug dans le code de Meta-Press.es en fournissant une r\u00e9ponse d&#8217;un\nformat inattendu). Les blocs <em>try\/catch<\/em> du JavaScript n&#8217;\u00e9taient pas\noptimisables par les navigateurs web jusqu&#8217;\u00e0 il y a peu, la modification\ndevrait donc faire gager du temps, mais n&#8217;h\u00e9sitez pas \u00e0 m&#8217;indiquer si vous\nmesurez au contraire une perte de performance g\u00eanante.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Un dernier mot \u00e0 propos des statistiques d&#8217;utilisation, on imagine bien que la\nmajorit\u00e9 des utilisateurs sont fran\u00e7ais (non seulement parce que Mozilla\nm&#8217;indique que 75% des utilisateurs ont un navigateur r\u00e9gl\u00e9 en fran\u00e7ais, ou\nparce que j&#8217;ai principalement pr\u00e9sent\u00e9 Meta-Press.es \u00e0 des audiences\nfrancophones) mais aussi parce que les statistiques s&#8217;\u00e9croulent durant les\nvacances d&#8217;\u00e9t\u00e9 : de 800 utilisateurs quotidiens \u00e0 550 mi-ao\u00fbt.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Heureusement, le nombre de sources continue de grandir lui, avec plus de 310\nsources actuellement !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>PS: Une nouvelle fa\u00e7on de soutenir le projet Meta-Press.es a r\u00e9cemment vu le\njour sur ce site, il s&#8217;agit d'\n<a href=\"https:\/\/www.helloasso.com\/associations\/meta-press-es\/formulaires\/1\/\">HelloAsso<\/a>.\nCe m\u00e9canisme permet aux dons ponctuels d&#8217;arriver entiers (sans commission) sur\nle compte de l&#8217;Association Meta-Press.es (si vous retirez le pourboire ajout\u00e9\npar la plate-forme). Pour m\u00e9moire, la liste compl\u00e8te des moyens de soutenir\nMeta-Press.es est disponible\n<a href=\"https:\/\/www.meta-press.es\/fr\/pages\/a_propos.html#_vous_pouvez_soutenir_ce_projet\">ici<\/a>.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"3 presentations of Meta-Press.es in public this year","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/2021_presentations_of_Meta-Press.es_in_public.html","rel":"alternate"}},"published":"2021-07-28T00:00:00+02:00","updated":"2021-07-28T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-07-28:\/journal\/2021\/2021_presentations_of_Meta-Press.es_in_public.html","summary":"<div class=\"paragraph\">\n<p>Three presentations of Meta-Press.es are already scheduled (or in process to be\nscheduled) before the end of the year:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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\nthursday)<\/p>\n<\/li>\n<li>\n<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 \u2026<\/a><\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Three presentations of Meta-Press.es are already scheduled (or in process to be\nscheduled) before the end of the year:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<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\nthursday)<\/p>\n<\/li>\n<li>\n<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>\n<\/li>\n<li>\n<p><span class=\"line-through\">2021-11-09 --:-- at Paris : Open Source Experience<\/span><\/p>\n<\/li>\n<\/ul>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"3 pr\u00e9sentations de Meta-Press.es en public cette ann\u00e9e","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/2021_presentations_of_Meta-Press.es_in_public.html","rel":"alternate"}},"published":"2021-07-28T00:00:00+02:00","updated":"2021-07-28T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-07-28:\/fr\/journal\/2021\/2021_presentations_of_Meta-Press.es_in_public.html","content":"<div class=\"paragraph\">\n<p>Trois pr\u00e9sentations publiques de Meta-Press.es sont pr\u00e9vues (ou en\ncandidatures) pour avant la fin de l&#8217;ann\u00e9e :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>2021-10-14 15:00 UTC+2 \u00e0 La Rochelle : <a href=\"https:\/\/b-boost.fr\/\"><strong>B-Boost.fr<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>2021-10-21 11:00 UTC+2 \u00e0 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>\n<\/li>\n<li>\n<p><span class=\"line-through\">2021-11-09 --:-- \u00e0 Paris : Open Source Experience<\/span><\/p>\n<\/li>\n<\/ul>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[Ouest-France] Pougne-Herisson: \"Defend net neutrality\"","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2021\/20210608_ouest-france.html","rel":"alternate"}},"published":"2021-06-08T00:00:00+02:00","updated":"2021-06-08T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-06-08:\/revues\/2021\/20210608_ouest-france.html","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20210608_ouest-france.jpg\" alt=\"20210608 ouest france\">\n<\/div>\n<div class=\"title\">Figure 1. Simon D. in his office \u00a9 2021 Ouest-France<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Portrait of a free \/ libre software developer.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9risson. \u00ab D\u00e9fendre la neutralit\u00e9 du net \u00bb<\/strong><\/a> (<em>fr<\/em>)<\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[Ouest-France] Pougne-H\u00e9risson. \u00ab D\u00e9fendre la neutralit\u00e9 du net \u00bb","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2021\/20210608_ouest-france.html","rel":"alternate"}},"published":"2021-06-08T00:00:00+02:00","updated":"2021-06-08T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-06-08:\/fr\/revues\/2021\/20210608_ouest-france.html","summary":"<div class=\"paragraph\">\n<p>Simon Descarpentries, ing\u00e9nieur en informatique, vient de cr\u00e9er son entreprise Meta-press.es. Il a cr\u00e9\u00e9 un moteur de recherche d\u00e9di\u00e9 \u00e0 la presse, une solution alternative \u00e0 Google actualit\u00e9s.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20210608_ouest-france.jpg\" alt=\"20210608 ouest france\">\n<\/div>\n<div class=\"title\">Figure 1. Simon D. dans son bureau \u00a9 2021 Ouest-France<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Portrait d&#8217;un d\u00e9veloppeur de logiciels libres.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9risson. \u00ab D\u00e9fendre la neutralit\u00e9 du \u2026<\/strong><\/a><\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Simon Descarpentries, ing\u00e9nieur en informatique, vient de cr\u00e9er son entreprise Meta-press.es. Il a cr\u00e9\u00e9 un moteur de recherche d\u00e9di\u00e9 \u00e0 la presse, une solution alternative \u00e0 Google actualit\u00e9s.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20210608_ouest-france.jpg\" alt=\"20210608 ouest france\">\n<\/div>\n<div class=\"title\">Figure 1. Simon D. dans son bureau \u00a9 2021 Ouest-France<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Portrait d&#8217;un d\u00e9veloppeur de logiciels libres.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9risson. \u00ab D\u00e9fendre la neutralit\u00e9 du net \u00bb<\/strong><\/a><\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[ZDNet France] Almost a Google News in free software: Meta-Press.es, tailor-made news aggregator","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2021\/20210428_zdnet_meta-press.es.html","rel":"alternate"}},"published":"2021-04-28T00:00:00+02:00","updated":"2021-04-28T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-04-28:\/revues\/2021\/20210428_zdnet_meta-press.es.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>300 sources<\/p>\n<\/li>\n<li>\n<p>Impossible to track users<\/p>\n<\/li>\n<li>\n<p>Press review helper<\/p>\n<\/li>\n<li>\n<p>[About] opposition between Google and online press editors<\/p>\n<\/li>\n<li>\n<p>Light budget \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>300 sources<\/p>\n<\/li>\n<li>\n<p>Impossible to track users<\/p>\n<\/li>\n<li>\n<p>Press review helper<\/p>\n<\/li>\n<li>\n<p>[About] opposition between Google and online press editors<\/p>\n<\/li>\n<li>\n<p>Light budget for XXL project<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9gateur de news sur mesure<\/strong><\/a> (<em>fr<\/em>)<\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[ZDNet France] Presque un Google Actus libre: Meta-Press.es, agr\u00e9gateur de news sur mesure","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2021\/20210428_zdnet_meta-press.es.html","rel":"alternate"}},"published":"2021-04-28T00:00:00+02:00","updated":"2021-04-28T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-04-28:\/fr\/revues\/2021\/20210428_zdnet_meta-press.es.html","summary":"<div class=\"paragraph\">\n<p>Open Source : Extension de Firefox, sous licence libre et \u00e0 param\u00e9trer soi-m\u00eame, Meta-Press.es ambitionne de remplacer les agr\u00e9gateurs d\u2019actus comme Google News ou Bing News \u00ab dans la plupart des cas \u00bb.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>300 sources<\/p>\n<\/li>\n<li>\n<p>Tra\u00e7age impossible des utilisateurs<\/p>\n<\/li>\n<li>\n<p>Aide \u00e0 la r\u00e9alisation de revues de presse<\/p>\n<\/li>\n<li>\n<p>[\u00c0 propos du] Bras \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Open Source : Extension de Firefox, sous licence libre et \u00e0 param\u00e9trer soi-m\u00eame, Meta-Press.es ambitionne de remplacer les agr\u00e9gateurs d\u2019actus comme Google News ou Bing News \u00ab dans la plupart des cas \u00bb.<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>300 sources<\/p>\n<\/li>\n<li>\n<p>Tra\u00e7age impossible des utilisateurs<\/p>\n<\/li>\n<li>\n<p>Aide \u00e0 la r\u00e9alisation de revues de presse<\/p>\n<\/li>\n<li>\n<p>[\u00c0 propos du] Bras de fer entre Google et les \u00e9diteurs de presse en ligne<\/p>\n<\/li>\n<li>\n<p>Budget light pour projet XXL<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9gateur de news sur mesure<\/strong><\/a><\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"6 presentations of Meta-Press.es via visio-conference in 5 weeks","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/2021_meta-press.es_spring_viso-conferences_2nd_batch.html","rel":"alternate"}},"published":"2021-04-27T00:00:00+02:00","updated":"2021-04-27T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-04-27:\/journal\/2021\/2021_meta-press.es_spring_viso-conferences_2nd_batch.html","summary":"<div class=\"paragraph\">\n<p>Six online events are scheduled for Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>thursday the <strong>25th of march 2021 at 21h00<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/www.coagul.org\">Goagul<\/a> for its usual \"3rd thursday of Free Software\"\nand held via Meet Jit.si:<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/meet.jit.si\/rencontre25mars\">Click here to join<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/coagul.org\/drupal\/evenement\/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses\">Click here for more info\u2026<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>saterday the \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Six online events are scheduled for Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>thursday the <strong>25th of march 2021 at 21h00<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/www.coagul.org\">Goagul<\/a> for its usual \"3rd thursday of Free Software\"\nand held via Meet Jit.si:<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/meet.jit.si\/rencontre25mars\">Click here to join<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/coagul.org\/drupal\/evenement\/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses\">Click here for more info\u2026<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>saterday the <strong>27th of march 2021 at 19h30<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/facil.qc.ca\/\">FACiL<\/a> for the \"State of Free culture in 2021\" event:<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/bbb3.services-conseils-linux.org\/SQIL\">Click here to join<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/agendadulibre.qc.ca\/events\/2142\">Click here for more info\u2026<\/a>\n<em>(Confirmed)<\/em> <em>(fr)<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/archive.org\/details\/sqil2021-03\"><strong>Click here for the replay<\/strong><\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>tuesday the <strong>6 avril 2021 at 23h59<\/strong> (so wed. early morning, Paris time)\nMeta-Press.es at the Linux-Meetup Montr\u00e9al via BigBlueButton:<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/bbb3.services-conseils-linux.org\/Linux-Meetup\">Click here to join<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.meetup.com\/fr-FR\/Linux-Montreal\/events\/htstdsyccgbjb\/\">Click here\nfor more info\u2026<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>saterday <strong>10th of april 2021 at 9h30<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/oisux.org\">Oisux<\/a> for their usual \"evening chats\" saterday of Free Software\" and\nheld via BigBlueButton:<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/url.oisux.org\/samedi-du-libre\">Click here to join<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.agendadulibre.org\/events\/23360\">Click here for more info\u2026<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>thursday <strong>15th of april 2021 at 20h30<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/parinux.org\">Parinux<\/a> for their usual \"Free software evening chats\"\nand held via BigBlueButton:<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/parinux.org\/Soiree-de-Conversations-autour-du-Libre-SCL-du-jeudi-15-avril-2021\">Click here for more info\u2026<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<li>\n<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>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>wednesday <strong>21st of april 2021 at 18h00<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/montpellibre.fr\/\">Montpel&#8217;Libre<\/a> via Meet Jit.si:<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/meet.jit.si\/webinaire_montpellibre_vienumerique\">Click here to\njoin<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/montpellibre.fr\/spip.php?article5141\">Click here for more\ninfo\u2026<\/a> (<em>fr<\/em>)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>For each events regular members of each associations will be connected, but the\nservers are open and capable of hosting numerous participants. Don&#8217;t hesitate\nto note the date that suits you.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The idea is simple, to present Meta-Press.es : why, how to install it, working\nprinciples, choices of architecture, new features, how to join the team and\ncontribute\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Don&#8217;t hesitate to handover this announcement, and to contact me if you want to\nsetup other events like this worldwide and in english or spanish (or even in\nesperanto).<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"6 pr\u00e9sentations de Meta-Press.es en visioconf\u00e9rences en 5 semaines","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/2021_meta-press.es_spring_viso-conferences_2nd_batch.html","rel":"alternate"}},"published":"2021-04-27T00:00:00+02:00","updated":"2021-04-27T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-04-27:\/fr\/journal\/2021\/2021_meta-press.es_spring_viso-conferences_2nd_batch.html","summary":"<div class=\"paragraph\">\n<p>Six \u00e9v\u00e8nements en ligne sont pr\u00e9vus pour Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le <strong>jeudi 25 mars 2021 \u00e0 21h00<\/strong> \u00e0 l&#8217;initiative de <a href=\"https:\/\/coagul.org\">Coagul<\/a>\nlors de son habituel 3e jeudi du libre et via Meet Jit.si :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/meet.jit.si\/rencontre25mars\">Cliquez ici pour rejoindre l&#8217;\u00e9v\u00e8nement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/coagul.org\/drupal\/evenement\/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses\">Cliquez ici pour plus d&#8217;informations\u2026<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>le <strong>samedi 27 mars \u2026<\/strong><\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Six \u00e9v\u00e8nements en ligne sont pr\u00e9vus pour Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le <strong>jeudi 25 mars 2021 \u00e0 21h00<\/strong> \u00e0 l&#8217;initiative de <a href=\"https:\/\/coagul.org\">Coagul<\/a>\nlors de son habituel 3e jeudi du libre et via Meet Jit.si :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/meet.jit.si\/rencontre25mars\">Cliquez ici pour rejoindre l&#8217;\u00e9v\u00e8nement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/coagul.org\/drupal\/evenement\/rencontre-simon-descarpentries-developpeur-lextension-firefox-meta-presses\">Cliquez ici pour plus d&#8217;informations\u2026<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>le <strong>samedi 27 mars 2021 \u00e0 19h30<\/strong> (heure de Paris) \u00e0 l&#8217;initiative de\n<a href=\"https:\/\/facil.qc.ca\/\">FACiL<\/a> pour l&#8217;\u00e9v\u00e8nement \u00ab L&#8217;\u00e9tat du libre en 2021 \u00bb :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/bbb3.services-conseils-linux.org\/SQIL\">Cliquez ici pour rejoindre\nl&#8217;\u00e9v\u00e8nement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/agendadulibre.qc.ca\/events\/2142\">Cliquez ici pour plus\nd&#8217;informations\u2026<\/a> <em>(la participation de Meta-Press.es est confirm\u00e9e)<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/archive.org\/details\/sqil2021-03\"><strong>Cliquez ici pour revoir\nl&#8217;\u00e9v\u00e8nement<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>le <strong>mardi 6 avril 2021 \u00e0 partir de 23h59<\/strong> (donc le mercredi 7 avril, tr\u00e8s\nt\u00f4t, heure de Paris) pr\u00e9sentation Meta-Press.es au Linux-Meetup Montr\u00e9al via\nBigBlueButton :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/bbb3.services-conseils-linux.org\/Linux-Meetup\">Cliquez ici pour\nrejoindre l&#8217;\u00e9v\u00e8nement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.meetup.com\/fr-FR\/Linux-Montreal\/events\/htstdsyccgbjb\/\">Cliquez\nici pour plus d&#8217;information\u2026<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>le <strong>samedi 10 avril 2021 \u00e0 9h30<\/strong> \u00e0 l&#8217;initiative d&#8217;<a href=\"https:\/\/oisux.org\/\">Oisux<\/a>\n\u00e0 l&#8217;occasion de ses \u00e9v\u00e8nements r\u00e9guliers les \u00ab samedi(s) du libre \u00bb et via\nBigBlueButton :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/url.oisux.org\/samedi-du-libre\">Cliquez ici pour rejoindre\nl&#8217;\u00e9v\u00e8nement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.agendadulibre.org\/events\/23360\">Cliquez ici pour plus\nd&#8217;informations\u2026<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>le <strong>jeudi 15 avril 2021 \u00e0 20h30<\/strong> \u00e0 l&#8217;initiative de\n<a href=\"https:\/\/parinux.org\">Parinux<\/a> \u00e0 l&#8217;occasion de ses \u00e9v\u00e8nements r\u00e9guliers \u00ab SCL\n\u00bb (Soir\u00e9es Conversation autour du Libre) et via BigBlueButton :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<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\u2026<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/tube.fdn.fr\/videos\/watch\/9ae43c36-3dc8-4d85-844b-c5a5335d77ed\"><strong>Cliquez\nici pour revoir l&#8217;\u00e9v\u00e8nement<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<li>\n<p>le <strong>mercredi 21 avril 2021 \u00e0 18h00<\/strong> \u00e0 l&#8217;initiative de\n<a href=\"https:\/\/montpellibre.fr\/\">Montpel&#8217;Libre<\/a> via Meet Jit.si :<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/meet.jit.si\/webinaire_montpellibre_vienumerique\">Cliquez ici pour\nrejoindre l&#8217;\u00e9v\u00e8nement<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/montpellibre.fr\/spip.php?article5141\">Cliquez ici pour plus\nd&#8217;information\u2026<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans chaque cas des membres des associations organisatrices seront pr\u00e9sents\nmais les serveurs sont ouverts et capables d&#8217;accueilir de nombreux\nparticipants. N&#8217;h\u00e9sitez donc pas \u00e0 retenir la date qui vous convient.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;id\u00e9e est simple, pr\u00e9senter Meta-Press.es : quel est le besoin, comment on\nl&#8217;installe, son architecture, ses nouvelles fonctionnalit\u00e9s, comment\ncontribuer\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>N&#8217;h\u00e9sitez pas \u00e0 relayer cette annonce, et contactez-moi si vous souhaitez vous\naussi organiser un \u00e9v\u00e8nement de ce type.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Video of the Meta-Press.es' presentation for Parinux","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/2021_video_presentation_of_meta-press.es_for_Parinux.html","rel":"alternate"}},"published":"2021-04-20T00:00:00+02:00","updated":"2021-04-20T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-04-20:\/journal\/2021\/2021_video_presentation_of_meta-press.es_for_Parinux.html","summary":"<div class=\"paragraph\">\n<p>The Parinux association just uploaded the video of the presentation of\nMeta-Press.es held for their \"Free software evening chat\" of the thursday 15th\nof april 2021.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/tube.fdn.fr\/videos\/watch\/9ae43c36-3dc8-4d85-844b-c5a5335d77ed\"><strong>Meta-Press.es\n: decentralized and ecological search engine protecting your privacy, by Simon D.<\/strong><\/a> (1h 28min 24sec) (<em>fr<\/em>)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>More than 160 people attended Meta-Press \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>The Parinux association just uploaded the video of the presentation of\nMeta-Press.es held for their \"Free software evening chat\" of the thursday 15th\nof april 2021.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/tube.fdn.fr\/videos\/watch\/9ae43c36-3dc8-4d85-844b-c5a5335d77ed\"><strong>Meta-Press.es\n: decentralized and ecological search engine protecting your privacy, by Simon D.<\/strong><\/a> (1h 28min 24sec) (<em>fr<\/em>)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>More than 160 people attended Meta-Press.es presentations so far and there were\n600 downloads during the last 90 days.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>By the way, the next presentation will take place the wednesday <strong>21st of april\n2021 at 18h00<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/montpellibre.fr\/\">Montpel&#8217;Libre<\/a> via Meet Jit.si.\n<a href=\"https:\/\/meet.jit.si\/webinaire_montpellibre_vienumerique\"><strong>Click here to join<\/strong><\/a>.\n<a href=\"https:\/\/montpellibre.fr\/spip.php?article5141\">Click here for more info\u2026<\/a> (<em>fr<\/em>)<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Vid\u00e9o de la pr\u00e9sentation de Meta-Press.es pour Parinux","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/2021_video_presentation_of_meta-press.es_for_Parinux.html","rel":"alternate"}},"published":"2021-04-20T00:00:00+02:00","updated":"2021-04-20T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-04-20:\/fr\/journal\/2021\/2021_video_presentation_of_meta-press.es_for_Parinux.html","summary":"<div class=\"paragraph\">\n<p>L&#8217;association Parinux a mis en ligne la vid\u00e9o de la pr\u00e9sentation de\nMeta-Press.es r\u00e9alis\u00e9e lors de la \u00ab Soir\u00e9e Conversation autour du Libre \u00bb du\njeudi 15 avril 2021.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/tube.fdn.fr\/videos\/watch\/9ae43c36-3dc8-4d85-844b-c5a5335d77ed\"><strong>Meta-Press.es\n: moteur de recherche d\u00e9centralis\u00e9, \u00e9cologique et prot\u00e9geant la vie priv\u00e9e, par\nSimon D.<\/strong><\/a> (1h 28min 24sec)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Plus de 160 \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>L&#8217;association Parinux a mis en ligne la vid\u00e9o de la pr\u00e9sentation de\nMeta-Press.es r\u00e9alis\u00e9e lors de la \u00ab Soir\u00e9e Conversation autour du Libre \u00bb du\njeudi 15 avril 2021.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/tube.fdn.fr\/videos\/watch\/9ae43c36-3dc8-4d85-844b-c5a5335d77ed\"><strong>Meta-Press.es\n: moteur de recherche d\u00e9centralis\u00e9, \u00e9cologique et prot\u00e9geant la vie priv\u00e9e, par\nSimon D.<\/strong><\/a> (1h 28min 24sec)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Plus de 160 personnes ont assist\u00e9 aux pr\u00e9sentations de Meta-Press.es cette\nann\u00e9e et il y a eu 600 t\u00e9l\u00e9chargements dans les 90 derniers jours.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Au passage une pr\u00e9sentation aura encore lieu le <strong>mercredi 21 avril 2021 \u00e0\n18h00<\/strong> \u00e0 l&#8217;initiative de <a href=\"https:\/\/montpellibre.fr\/\">Montpel&#8217;Libre<\/a> via Meet\nJit.si.  <a href=\"https:\/\/meet.jit.si\/webinaire_montpellibre_vienumerique\"><strong>Cliquez ici\npour rejoindre l&#8217;\u00e9v\u00e8nement<\/strong><\/a>.\n<a href=\"https:\/\/montpellibre.fr\/spip.php?article5141\">Cliquez ici pour plus\nd&#8217;information\u2026<\/a><\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[C mon Territoire 79] Europe funds a project made in the Belly button of the World","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2021\/20210330_c_mon_territoire_79.html","rel":"alternate"}},"published":"2021-03-30T00:00:00+02:00","updated":"2021-03-30T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-30:\/revues\/2021\/20210330_c_mon_territoire_79.html","summary":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20210300_Meta-Press_C-mon-territoire___.jpg\" alt=\"20210300 Meta Press C mon territoire   \">\n<\/div>\n<div class=\"title\">Figure 1. Simon D. in his office \u00a9 2021 cmonterritoire79.fr<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Offering an alternative solution to the digital giant Google News, Simon Descarpentries, computer science engineer, did it !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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 \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20210300_Meta-Press_C-mon-territoire___.jpg\" alt=\"20210300 Meta Press C mon territoire   \">\n<\/div>\n<div class=\"title\">Figure 1. Simon D. in his office \u00a9 2021 cmonterritoire79.fr<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Offering an alternative solution to the digital giant Google News, Simon Descarpentries, computer science engineer, did it !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9risson 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>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_free_access_for_all\">1. Free access for all<\/h3>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<p>\u00ab 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. \u00bb<\/p>\n<\/div>\n<\/blockquote>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_call_for_donations\">2. Call for donations<\/h3>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/cmonterritoire79.fr\/gatine\/leurope-finance-un-projet-realise-dans-le-nombril-du-monde\/\">L&#8217;Europe finance un projet r\u00e9alis\u00e9 dans le Nombril du Monde<\/a> (<em>fr<\/em>)<\/p>\n<\/div>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. At the time of copying this, it&#8217;s 326 sources.\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_2\">\n<a href=\"#_footnoteref_2\">2<\/a>. The original article mistakenly reported the user count as users by week.\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_3\">\n<a href=\"#_footnoteref_3\">3<\/a>. The 2021-03-30 Meta-Press.es has 700 daily users.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[C mon Territoire 79] L'Europe finance un projet r\u00e9alis\u00e9 dans le Nombril du Monde","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2021\/20210330_c_mon_territoire_79.html","rel":"alternate"}},"published":"2021-03-30T00:00:00+02:00","updated":"2021-03-30T00:00:00+02:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-30:\/fr\/revues\/2021\/20210330_c_mon_territoire_79.html","summary":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20210300_Meta-Press_C-mon-territoire___.jpg\" alt=\"20210300 Meta Press C mon territoire   \">\n<\/div>\n<div class=\"title\">Figure 1. Simon D. dans son bureau \u00a9 2021 cmonterritoire79.fr<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Proposer une solution alternative au g\u00e9ant du num\u00e9rique, Google Actualit\u00e9s, Simon Descarpentries, ing\u00e9nieur en informatique l\u2019a fait !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce passionn\u00e9 du web vient de cr\u00e9er <em>meta-press.es<\/em>, un moteur de recherche d\u00e9centralis\u00e9 et une revue de presse automatis\u00e9e. Install\u00e9 avec \u2026<\/p><\/div><\/div><\/div>","content":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/20210300_Meta-Press_C-mon-territoire___.jpg\" alt=\"20210300 Meta Press C mon territoire   \">\n<\/div>\n<div class=\"title\">Figure 1. Simon D. dans son bureau \u00a9 2021 cmonterritoire79.fr<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Proposer une solution alternative au g\u00e9ant du num\u00e9rique, Google Actualit\u00e9s, Simon Descarpentries, ing\u00e9nieur en informatique l\u2019a fait !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce passionn\u00e9 du web vient de cr\u00e9er <em>meta-press.es<\/em>, un moteur de recherche d\u00e9centralis\u00e9 et une revue de presse automatis\u00e9e. Install\u00e9 avec sa petite famille \u00e0 Pougne-H\u00e9risson depuis bient\u00f4t 5 ans, son domicile est aussi son lieu de travail. Des heures consacr\u00e9es \u00e0 d\u00e9velopper des logiciels libres et ainsi \u00e9viter Google.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_acc\u00e8s_libre_tout_public\">1. Acc\u00e8s libre tout public<\/h3>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<p>\u00ab B\u00e9n\u00e9vole pendant 5 ans dans une association \u00e0 m\u2019occuper de la revue de presse, j\u2019ai pu imaginer l\u2019outil. En 2019, la fondation n\u00e9erlandaise NLnet a retenu ma candidature et m\u2019a aid\u00e9 \u00e0 monter mon projet sur des fonds europ\u00e9ens. \u00bb<\/p>\n<\/div>\n<\/blockquote>\n<\/div>\n<div class=\"paragraph\">\n<p>Sans interm\u00e9diaire et distribu\u00e9 gratuitement, une fois install\u00e9 sur Firefox, <em>meta-press.es<\/em> est d\u00e9centralis\u00e9. Dans le respect de votre vie priv\u00e9e, sans publicit\u00e9, c\u2019est votre ordinateur qui fait la recherche sans passer par un serveur. Filtrer les sources, les th\u00e8mes recherch\u00e9s, exporter l\u2019information, c\u2019est simple en un clic ! Aujourd\u2019hui 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\u00e9dias de gagner en ind\u00e9pendance vis-\u00e0-vis du g\u00e9ant du num\u00e9rique, c\u2019est peut-\u00eatre \u00e7a, la solution !<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_un_appel_aux_dons\">2. Un appel aux dons<\/h3>\n<div class=\"paragraph\">\n<p>M\u00e9c\u00e9nats, partenariats, <a href=\"https:\/\/patreon.com\/metapress\">dons<\/a> sont aujourd\u2019hui indispensables pour p\u00e9renniser ce mod\u00e8le \u00e9conomique, qui s\u00e9duit d\u00e9j\u00e0 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>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/cmonterritoire79.fr\/gatine\/leurope-finance-un-projet-realise-dans-le-nombril-du-monde\/\">L&#8217;Europe finance un projet r\u00e9alis\u00e9 dans le Nombril du Monde<\/a><\/p>\n<\/div>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Au moment de recopier cet article, Meta-Press.es compte 326 sources.\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_2\">\n<a href=\"#_footnoteref_2\">2<\/a>. Correction apport\u00e9e sur l&#8217;article original qui mentionnait par erreur un d\u00e9compte d&#8217;utilisateurs par \"semaines\".\n<\/div>\n<div class=\"footnote\" id=\"_footnotedef_3\">\n<a href=\"#_footnoteref_3\">3<\/a>. Au 30 mars 2021 Meta-Press.es compte 700 utilisateurs quotidiens.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"CANCELLED : Meta-Press.es at the JDLL 2021","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/2021_JDLL.html","rel":"alternate"}},"published":"2021-03-22T00:00:00+01:00","updated":"2021-03-22T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-22:\/journal\/2021\/2021_JDLL.html","summary":"<div class=\"paragraph\">\n<p>The exact date and time are not known yet, but a presentation of Meta-Press.es\nwill take place at the JDLL 2021, the saterday 3rd of April 2021 or sunday the\n4th.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\"<a href=\"https:\/\/jdll.org\/\">22nd days of Free Software in Lyon : concrete and accessible utopias Utopies<\/a>\"<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The event, that the association ALDIL \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>The exact date and time are not known yet, but a presentation of Meta-Press.es\nwill take place at the JDLL 2021, the saterday 3rd of April 2021 or sunday the\n4th.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\"<a href=\"https:\/\/jdll.org\/\">22nd days of Free Software in Lyon : concrete and accessible utopias Utopies<\/a>\"<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The event, that the association ALDIL has the courage to organise despite the\nrisk of sanitary lock-in, is calling for\n<a href=\"https:\/\/www.helloasso.com\/associations\/aldil\/collectes\/jdll-2021-logiciel-libre-utopies-concretes-et-accessibles\">crowdfunding<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This blog entry will be updated as soon as the exact date and time of\nMeta-Press.es presentation will be known.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>PS the 2021-02-19 : the Meta-Press.es presentation will be saterday the 3rd of\napril 2021 in the \u00ab Vie citoyenne \u00bb space.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"ANNUL\u00c9 : Meta-Press.es aux JDLL 2021","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/2021_JDLL.html","rel":"alternate"}},"published":"2021-03-22T00:00:00+01:00","updated":"2021-03-22T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-22:\/fr\/journal\/2021\/2021_JDLL.html","summary":"<div class=\"paragraph\">\n<p>La date exacte et le cr\u00e9neau horaire ne sont pas encore connus, mais une\npr\u00e9sentation de Meta-Press.es aura lieu aux JDLL 2021 les samedi 3 avril 2021 et\ndimanche 4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00ab <a href=\"https:\/\/jdll.org\/\">Les 22e Journ\u00e9es du Logiciel Libre, Lyon : Utopies concr\u00e8tes et accessibles<\/a> \u00bb<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;\u00e9v\u00e8nement, que l&#8217;ALDIL a le courage \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>La date exacte et le cr\u00e9neau horaire ne sont pas encore connus, mais une\npr\u00e9sentation de Meta-Press.es aura lieu aux JDLL 2021 les samedi 3 avril 2021 et\ndimanche 4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00ab <a href=\"https:\/\/jdll.org\/\">Les 22e Journ\u00e9es du Logiciel Libre, Lyon : Utopies concr\u00e8tes et accessibles<\/a> \u00bb<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;\u00e9v\u00e8nement, que l&#8217;ALDIL a le courage de s&#8217;organiser malgr\u00e9 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>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce billet sera mis \u00e0 jour d\u00e8s que le cr\u00e9neau de la pr\u00e9sentation de Meta-Press.es sera connu.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>PS du 2021-02-19 : la pr\u00e9sentation de Meta-Press.es aura lieu le samedi 3 avril 2021 \u00e0 12h30 dans l&#8217;espace \u00ab Vie citoyenne \u00bb.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>PPS du 2021-03-22 : l&#8217;\u00e9quipe d&#8217;organisation des JDLL vient d&#8217;annoncer aux conf\u00e9renciers que l&#8217;\u00e9v\u00e8nement n&#8217;aura pas lieu (pour cause de restrictions dues \u00e0 la crise sanitaire engendr\u00e9e par le COVID-19). Le site web de l&#8217;\u00e9v\u00e8nement se fera prochainement l&#8217;\u00e9cho des sujets qui auraient d\u00fbs \u00eatre pr\u00e9sent\u00e9s.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[Sources!] Siltaar presents Meta-Press.es","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2021\/20210319_src.brussels_siltaar_presente_meta-press.es.html","rel":"alternate"}},"published":"2021-03-19T00:00:00+01:00","updated":"2021-03-19T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-19:\/revues\/2021\/20210319_src.brussels_siltaar_presente_meta-press.es.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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 \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>To finish Meta-Press.es is working on <a href=\"https:\/\/torproject.org\">Tor Browser<\/a>!<\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[Sources!] Siltaar pr\u00e9sente Meta-Press.es","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2021\/20210319_src.brussels_siltaar_presente_meta-press.es.html","rel":"alternate"}},"published":"2021-03-19T00:00:00+01:00","updated":"2021-03-19T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-19:\/fr\/revues\/2021\/20210319_src.brussels_siltaar_presente_meta-press.es.html","summary":"<div class=\"paragraph\">\n<p><strong>Podcast<\/strong> : <a href=\"https:\/\/src.brussels\/Siltaer-presente-meta-press-es.html\">Siltaar pr\u00e9sente meta-press.es<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaar<\/a> nous pr\u00e9sente l&#8217;extension <a href=\"https:\/\/meta-press.es\">meta-press.es<\/a> qu&#8217;il a d\u00e9velopp\u00e9 en partant des besoins de revue de presse de <a href=\"https:\/\/www.laquadrature.net\">laquadrature<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Elle facilite la recherche et le suivi d&#8217;actualit\u00e9s en allant interroger les fonctions de recherche directement disponibles sur les diff\u00e9rents sites de presse \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p><strong>Podcast<\/strong> : <a href=\"https:\/\/src.brussels\/Siltaer-presente-meta-press-es.html\">Siltaar pr\u00e9sente meta-press.es<\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaar<\/a> nous pr\u00e9sente l&#8217;extension <a href=\"https:\/\/meta-press.es\">meta-press.es<\/a> qu&#8217;il a d\u00e9velopp\u00e9 en partant des besoins de revue de presse de <a href=\"https:\/\/www.laquadrature.net\">laquadrature<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Elle facilite la recherche et le suivi d&#8217;actualit\u00e9s en allant interroger les fonctions de recherche directement disponibles sur les diff\u00e9rents 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\u00e8re<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D\u00e8s la premi\u00e8re version chaque utilisateur\u00b7ice qui ne craint pas quelques lignes de codes, peut ajouter ses propres sources et peut s&#8217;inspirer des sources d\u00e9j\u00e0 pr\u00e9sentes dans l&#8217;extension. Cette partie est bien document\u00e9e.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En plus d&#8217;aller parcourir les r\u00e9sultats de recherche des diff\u00e9rentes sources pour en ramener un contenu tri\u00e9s par date de publication, elle prot\u00e8ge contre les traqueurs publicitaires.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;extension fonctionne sur <a href=\"https:\/\/torproject.org\">Tor Browser<\/a> !<\/p>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"Version 1.7.1 : ergonomic improvements and feedback from Rochelug","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/v1.7.1_ergonomic_improvements.html","rel":"alternate"}},"published":"2021-03-16T00:00:00+01:00","updated":"2021-03-16T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-16:\/journal\/2021\/v1.7.1_ergonomic_improvements.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>This \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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\u2026), fix of dozens of sources (consequently), but most of all ergonomic improvements :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the main interface is now more sober<\/p>\n<\/li>\n<li>\n<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>\n<\/li>\n<li>\n<p>the source creation feature is now separated from the regular settings in its own page<\/p>\n<\/li>\n<li>\n<p>the headlines (now news) have a better presentation (border, width\u2026)<\/p>\n<\/li>\n<li>\n<p>better presentation also for the results, especially with images and\/or long texts<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<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\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.7.1 : am\u00e9liorations d'ergonomie et retours du Rochelug","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/v1.7.1_ergonomic_improvements.html","rel":"alternate"}},"published":"2021-03-16T00:00:00+01:00","updated":"2021-03-16T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-03-16:\/fr\/journal\/2021\/v1.7.1_ergonomic_improvements.html","summary":"<div class=\"paragraph\">\n<p>La version 1.7.1 de Meta-Press.es vient d&#8217;\u00eatre valid\u00e9e par Mozilla et arrivera dans les navigateurs des utilisateurs l&#8217;ayant install\u00e9 dans les prochaines heures (il est sinon possible de retirer et r\u00e9-installer Meta-Press.es pour l&#8217;avoir plus vite ^_^ ou si vous rencontrez un probl\u00e8me \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>La version 1.7.1 de Meta-Press.es vient d&#8217;\u00eatre valid\u00e9e par Mozilla et arrivera dans les navigateurs des utilisateurs l&#8217;ayant install\u00e9 dans les prochaines heures (il est sinon possible de retirer et r\u00e9-installer Meta-Press.es pour l&#8217;avoir plus vite ^_^ ou si vous rencontrez un probl\u00e8me avec les recherches programm\u00e9es :-\/).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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\u00e9 des sources<\/a>, enfin, acc\u00e9l\u00e9ration de certains traitements\u2026), r\u00e9paration de dizaines de sources (du coup), mais surtout beaucoup d&#8217;am\u00e9liorations concernant l&#8217;ergonomie de l&#8217;extension :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>une page d&#8217;accueil plus sobre par exemple<\/p>\n<\/li>\n<li>\n<p>une page de bienvenue, qui ne s&#8217;ouvre qu&#8217;\u00e0 l&#8217;installation et rappelle de cliquer sur l&#8217;ic\u00f4ne de la barre d&#8217;outils<\/p>\n<\/li>\n<li>\n<p>la fonctionnalit\u00e9 d&#8217;ajout des sources s\u00e9par\u00e9e dans une page d\u00e9di\u00e9e (pour ne pas encombrer les r\u00e9glages)<\/p>\n<\/li>\n<li>\n<p>une meilleure int\u00e9gration des actualit\u00e9s dans l&#8217;interface principale<\/p>\n<\/li>\n<li>\n<p>une meilleure pr\u00e9sentation des r\u00e9sultats comportant des images et\/ou un long texte.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Les captures ont \u00e9t\u00e9 mises \u00e0 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>\n<\/div>\n<div class=\"paragraph\">\n<p>De plus, les efforts de communication des derniers mois portent leurs fruits, avec plus de 500 t\u00e9l\u00e9chargements en 90 jours et une r\u00e9cente pointe \u00e0 690 utilisateurs sur 24 heures. Cette derni\u00e8re statistique peut para\u00eetre surprenante par rapport aux chiffres avanc\u00e9s l&#8217;ann\u00e9e derni\u00e8re, mais cet \u00e9t\u00e9 <sup class=\"footnote\">[<a id=\"_footnoteref_1\" class=\"footnote\" href=\"#_footnotedef_1\" title=\"View footnote.\">1<\/a>]<\/sup> Mozilla a chang\u00e9 de m\u00e9thode de comptage des utilisateurs et a r\u00e9-\u00e9crit son historique de donn\u00e9es en le divisant par deux (ouch !). Du coup nous allons bient\u00f4t \u00e0 nouveau arriver \u00e0 800 utilisateurs quotidiens, et ce n&#8217;est qu&#8217;un d\u00e9but !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La plupart des am\u00e9liorations ergonomiques apport\u00e9es par cette nouvelles version correspondent \u00e0 des retours des membres des trois associations repr\u00e9sent\u00e9es lors de la pr\u00e9sentation de Meta-Press.es organis\u00e9e en visio-conf\u00e9rence par l&#8217;association <a href=\"https:\/\/www.rochelug.org\">Rochelug<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>10 personnes \u00e9taient connect\u00e9es pour cette pr\u00e9sentation. J&#8217;ai pu y rencontrer divers profils : utilisateurs retrait\u00e9s, d\u00e9veloppeurs, chercheurs et m\u00eame un biblioth\u00e9caire universitaire ! Les \u00e9changes furent tr\u00e8s constructifs et ont donc d\u00e9j\u00e0 d\u00e9bouch\u00e9s sur des am\u00e9liorations concr\u00eates dans cette nouvelle version.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>N&#8217;oubliez pas la prochaine pr\u00e9sentation de Meta-Press.es en visio-conf\u00e9rence le samedi <a href=\"\/fr\/journal\/2021\/2021_meta-press.es_spring_viso-conferences.html\">10 avril prochain<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour finir, n&#8217;h\u00e9sitez pas \u00e0 tester \u00e0 nouveau Meta-Press.es, \u00e0 pr\u00e9senter ce projet <a href=\"\/fr\/journal\/2021\/now_is_the_time.html\">autour de vous<\/a> et \u00e0 le <a href=\"https:\/\/patreon.com\/metapress\">soutenir financi\u00e8rement<\/a> si vous le pouvez.<\/p>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. A priori le 9 ao\u00fbt 2020, vu que je n&#8217;ai plus d&#8217;historique de t\u00e9l\u00e9chargement avant cette date.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Two presentations of Meta-Press.es via visio-conference this spring","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/2021_meta-press.es_spring_viso-conferences.html","rel":"alternate"}},"published":"2021-02-24T00:00:00+01:00","updated":"2021-02-24T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-02-24:\/journal\/2021\/2021_meta-press.es_spring_viso-conferences.html","summary":"<div class=\"paragraph\">\n<p>Two online events are scheduled for Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>thursday the <strong>4th of march 2021 at 20h00<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/www.rochelug.org\">Rochelug<\/a> for its usual \"1st thursday of Free\nSoftware\" 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>\n<\/li>\n<li>\n<p>saterday <strong>10th of april 2021 at 9h30<\/strong> (Paris time) on the impulsion \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Two online events are scheduled for Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>thursday the <strong>4th of march 2021 at 20h00<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/www.rochelug.org\">Rochelug<\/a> for its usual \"1st thursday of Free\nSoftware\" 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>\n<\/li>\n<li>\n<p>saterday <strong>10th of april 2021 at 9h30<\/strong> (Paris time) on the impulsion of\n<a href=\"https:\/\/oisux.org\/\">Oisux<\/a> for their usual \"saterday of Free Software\" and\nheld via <a href=\"https:\/\/url.oisux.org\/samedi-du-libre\">BigBlugButton<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>For both events regular members of each associations will be connected, but the\nservers are open and capable of hosting numerous participants. Don&#8217;t hesitate\nto note the date that suits you : a week evening or a saterday morning.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The idea is simple, to present Meta-Press.es : installation, working\nprinciples, choice of architecture, new features, how to join the team and\ncontribute\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Don&#8217;t hesitate to handover this announcement, and to contact me if you want to\nsetup other events like this worldwide and in english or spanish (or even in\nesperanto).<\/p>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Contact meta-press.es arobase d12s.fr to get the URL of the right channel.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Deux pr\u00e9sentations de Meta-Press.es en visioconf\u00e9rences ce printemps","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/2021_meta-press.es_spring_viso-conferences.html","rel":"alternate"}},"published":"2021-02-24T00:00:00+01:00","updated":"2021-02-24T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-02-24:\/fr\/journal\/2021\/2021_meta-press.es_spring_viso-conferences.html","summary":"<div class=\"paragraph\">\n<p>Deux \u00e9v\u00e8nements en ligne sont pr\u00e9vus pour Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le <strong>jeudi 4 mars 2021 \u00e0 20h00<\/strong> \u00e0 l&#8217;initiative du\n<a href=\"https:\/\/www.rochelug.org\">Rochelug<\/a> lors de son habituel 1er jeudi du libre\net via Jit.si Meet <sup class=\"footnote\">[<a id=\"_footnoteref_1\" class=\"footnote\" href=\"#_footnotedef_1\" title=\"View footnote.\">1<\/a>]<\/sup><\/p>\n<\/li>\n<li>\n<p>le <strong>samedi 10 avril 2020 \u00e0 9h30<\/strong> \u00e0 l&#8217;initiative d&#8217;<a href=\"https:\/\/oisux.org\/\">Oisux<\/a>\n\u00e0 l&#8217;occasion \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<p>Deux \u00e9v\u00e8nements en ligne sont pr\u00e9vus pour Meta-Press.es :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le <strong>jeudi 4 mars 2021 \u00e0 20h00<\/strong> \u00e0 l&#8217;initiative du\n<a href=\"https:\/\/www.rochelug.org\">Rochelug<\/a> lors de son habituel 1er jeudi du libre\net via Jit.si Meet <sup class=\"footnote\">[<a id=\"_footnoteref_1\" class=\"footnote\" href=\"#_footnotedef_1\" title=\"View footnote.\">1<\/a>]<\/sup><\/p>\n<\/li>\n<li>\n<p>le <strong>samedi 10 avril 2020 \u00e0 9h30<\/strong> \u00e0 l&#8217;initiative d&#8217;<a href=\"https:\/\/oisux.org\/\">Oisux<\/a>\n\u00e0 l&#8217;occasion de ses \u00e9v\u00e8nements r\u00e9guliers les \u00ab samedi(s) du libre \u00bb et via\n<a href=\"https:\/\/url.oisux.org\/samedi-du-libre\">BigBlugButton<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Dans les deux cas des membres des associations organisatrices seront pr\u00e9sents,\nmais les serveurs sont ouverts et capables d&#8217;accueilir de nombreux\nparticipants. N&#8217;h\u00e9sitez donc pas \u00e0 retenir la date qui vous convient, un soir\nen semaine ou un samedi matin.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;id\u00e9e est simple, pr\u00e9senter Meta-Press.es : son installation pas \u00e0 pas, son\nfonctionnement, ses choix d&#8217;architecture, ses nouvelles fonctionnalit\u00e9s,\ncomment contribuer\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>N&#8217;h\u00e9sitez pas \u00e0 relayer cette annonce, et contactez-moi si vous souhaitez vous\naussi organiser un \u00e9v\u00e8nement de ce type.<\/p>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Contacter meta-press.es arobase d12s.fr pour avoir l&#8217;adresse du salon utilis\u00e9.\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.7 : scheduled searches and agenda source type","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/v1.7_scheduled_searches.html","rel":"alternate"}},"published":"2021-02-10T00:00:00+01:00","updated":"2021-02-10T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-02-10:\/journal\/2021\/v1.7_scheduled_searches.html","summary":"<div class=\"paragraph\">\n<p>A lot of work was needed to add a simple &#9200; <strong>schedule search<\/strong> button in the main\ninterface. It required quite some design work to keep things simple in\nappearance, a shipment of WebExtension specific code (quite different from\nusual web code) and it required dealing with <a href=\"https:\/\/xkcd.com\/1883\/\">time zones<\/a>\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Here is \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>A lot of work was needed to add a simple &#9200; <strong>schedule search<\/strong> button in the main\ninterface. It required quite some design work to keep things simple in\nappearance, a shipment of WebExtension specific code (quite different from\nusual web code) and it required dealing with <a href=\"https:\/\/xkcd.com\/1883\/\">time zones<\/a>\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Here is an extract from the newly written documentation about it :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Once you typed your search terms and selected the sources you wanna search in,\nit&#8217;s possible to save the search for later instead of launching it immediately.\nIt&#8217;s the role of the &#9200; <strong>Schedule search<\/strong> button under the source\nselection. This button opens a new tab on the \"Settings\" scrolled to the\nScheduled searches part.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/doc\/20210210_recherche_automatique.png\" alt=\"20210210 recherche automatique\">\n<\/div>\n<div class=\"title\">Figure 1. Scheduled searches, on dark background interface<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>This table shows a scheduled search by line. When created, a scheduled search\nis in \"Stop\" state, but you just have to select the date, time and periodicity\nyou want for this search to have it activated.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>So you can schedule a daily search in a few clicks.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Actions are possible on scheduled searches:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>the &#9999;&#65039; \"pen\" button allows to edit the search, it opens the main\nsearch interface with the scheduled search settings (search terms, source\nselection). Once modified, your search settings can be saved clicking on the\n\"Schedule search\" button of the main interface ;<\/p>\n<\/li>\n<li>\n<p>the 2nd button, with a copy\/paste icon, allows to clone a scheduled search to\nget another one, that you can configure with the previously described button\n;<\/p>\n<\/li>\n<li>\n<p>the 3rd button, with a cross on it allows to delete a scheduled search ;<\/p>\n<\/li>\n<li>\n<p>the 4th and last button allows to manually start the search from the table.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>You can also schedule many different searches, or use the feature just to\nbookmark your favorite searches. But in this last case, you might prefer to\ncheck the documentation on <strong>&#128279; permalinks and bookmarks<\/strong> :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>When a search is finished a statistics line appears on top of the listed\nresults. This line is fitted with a &#128279; \"chain link\" icon at the end.\nThis icon allows you to launch the same search again.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/doc\/20210128_permalink.png\" alt=\"20210128 permalink\">\n<\/div>\n<div class=\"title\">Figure 2. Search permalink icon<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>So it&#8217;s possible to create bookmarks for your favorite searches (sparing\nconfiguration time).<\/p>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>To get back to the scheduled searches, an interesting feature is that they come\nwith own <strong>notifications<\/strong>, which only pops up if news results where found since\nthe last occurrence of the search. This feature is a big step toward the claimed\n\"Automatized press reviews\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>About documentation, the source \"<strong>cherry-picking<\/strong>\" feature has also been added\nto the documentation page :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>It is possible to select the sources you wanna query, one by one.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>To do so, you first need to deploy the advanced search panel, clicking on the\n[ + ] sign in \"Advanced search [+]\" title. This will display 2 lines of source\nfiltering criterion, and a line of buttons :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>reset filters<\/p>\n<\/li>\n<li>\n<p>list source<\/p>\n<\/li>\n<li>\n<p>add source<\/p>\n<\/li>\n<li>\n<p>scheduled search<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>A click on the \"list source\" button displays a 2nd panel showing the list of\nall the sources. Different tabs allow you add a specific source to the next\nsearch, or remove some others.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The \"magnifier\" icon, on each source line, set the next search to be performed\nin this specific source only.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/doc\/20230414_advanced_search.png\" alt=\"20230414 advanced search\">\n<\/div>\n<div class=\"title\">Figure 3. Cherry-pick sources<\/div>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>This was very easy to implement, but still it represents a huge difference\nbetween Google News and Meta-Press.es. With this feature in particular, and the\nwhole tag-based source filtering mechanism, Meta-Press.es is giving control\nback to the users instead of popping up results out of the blue. With\nMeta-Press.es, you know in which sources you searched in, with Google News you\nhave to believe that the selection made was the good one.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>And it&#8217;s still this tag-based source filtering mechanism which allows to add\nmore and more source types. After the newspapers, the scientific press, the\nphotos and videos, here comes the new <strong>Agenda source type<\/strong>, illustrated by\nnothing less than 28 instances of the militants online agendas\n<a href=\"https:\/\/demosphere.net\/\">Demosphere.net<\/a>, from 4 different countries. Waiting\nfor Peertube v3 to add a global search feature across all its instances,\n\tMeta-Press.es allows you today to search in all the instances of Demosphere\n\t(or in the <strong>286 registered sources<\/strong>).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Imagination is the main limitation of the source types that can be added to\nMeta-Press.es, every date-driven contents can be queried. Don&#8217;t hesitate to\nsuggest new source types opening\n\"<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\">issues<\/a>\" in the code\nrepository.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>To finish, you might have to set back some of your parameters in the settings\nas the <code>persist()<\/code> storage mechanism changed its behavior during the new year\ncelebrations, obliging us to switch to another browser storage API. Your\ncustom defined sources should remain safe (<em>but what, you have some sources\nthat you didn&#8217;t sent to us ;-)<\/em>.<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"Version 1.7 : recherches programm\u00e9es et type de sources Agenda","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/v1.7_scheduled_searches.html","rel":"alternate"}},"published":"2021-02-10T00:00:00+01:00","updated":"2021-02-10T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-02-10:\/fr\/journal\/2021\/v1.7_scheduled_searches.html","summary":"<div class=\"paragraph\">\n<p>Il aura fallu beaucoup de travail pour ajouter ce simple bouton &#9200;\n<strong>recherche programm\u00e9e<\/strong> dans l&#8217;interface principale. Cela demandait pas mal de\ntravail de conception pour garder les choses simples en apparence, une\ncargaison de code sp\u00e9cifique aux WebExtensions (diff\u00e9rent du code habituel des\npages web) et enfin il fallu \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Il aura fallu beaucoup de travail pour ajouter ce simple bouton &#9200;\n<strong>recherche programm\u00e9e<\/strong> dans l&#8217;interface principale. Cela demandait pas mal de\ntravail de conception pour garder les choses simples en apparence, une\ncargaison de code sp\u00e9cifique aux WebExtensions (diff\u00e9rent du code habituel des\npages web) et enfin il fallu affronter l&#8217;enfer des\n<a href=\"https:\/\/xkcd.com\/1883\/\">fuseaux horaire<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Voici un extrait de la documentation (r\u00e9dig\u00e9e pour l&#8217;occasion) :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une fois les termes de recherche saisis et la s\u00e9lection des sources faites,\nvous pouvez sauver ces r\u00e9glages et programmer la recherche pour plus tard au\nlieu de la lancer imm\u00e9diatement. Il suffit pour \u00e7a de cliquer sur le bouton\n&#9200; <strong>Recherche programm\u00e9e<\/strong>. Ce bouton ouvre l&#8217;onglet des r\u00e9glages sur la\npartie r\u00e9serv\u00e9e \u00e0 la gestion des recherches programm\u00e9es.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/doc\/20210210_recherche_automatique.png\" alt=\"20210210 recherche automatique\">\n<\/div>\n<div class=\"title\">Figure 1. Recherches programm\u00e9es, avec interface en fond sombre<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce tableau montre une ligne par recherche programm\u00e9e. \u00c0 sa cr\u00e9ation, une\nrecherche programm\u00e9e est \"D\u00e9sactiv\u00e9e\", mais il suffit de r\u00e9gler la date et\nl&#8217;heure de sa prochaine ex\u00e9cution et de choisir sa p\u00e9riodicit\u00e9 pour qu&#8217;elle\ns&#8217;active.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Vous pouvez ainsi programmer une recherche quotidienne en quelques clics.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Des actions sont possibles sur chaque recherche :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>le 1er bouton, avec un crayon &#9999;&#65039;, ouvre un onglet sur l&#8217;interface principale,\nconfigur\u00e9e avec les param\u00e8tres de cette recherche (termes de recherche, choix\ndes sources). Si vous modifiez ces r\u00e9glages vous pouvez les sauver en\ncliquant sur le bouton de recherches programm\u00e9es de l&#8217;interface principale ;<\/p>\n<\/li>\n<li>\n<p>le 2e bouton, avec une ic\u00f4ne copier\/coller permet de cloner une recherche\nprogramm\u00e9e pour en faire une deuxi\u00e8me, configur\u00e9e diff\u00e9remment ;<\/p>\n<\/li>\n<li>\n<p>le 3e bouton, avec une croix, permet de supprimer une recherche programm\u00e9e ;<\/p>\n<\/li>\n<li>\n<p>le 4e et dernier bouton permet de lancer manuellement la recherche en\nquestion.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>Vous pouvez donc programmer diff\u00e9rentes recherches sur diff\u00e9rents sujets \u00e0\ndiff\u00e9rentes fr\u00e9quences, ou encore simplement utiliser cette fonctionnalit\u00e9 en\nguise de marque-pages pour vos recherche favorites. Toutefois, si vous voulez\nvraiment cr\u00e9er des &#128279; <strong>marque-pages<\/strong>, c&#8217;est aussi pr\u00e9vu :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Lorsqu&#8217;une recherche est termin\u00e9e une ligne de statistiques apparait au dessus\ndes premiers r\u00e9sultats. Cette ligne comporte une ic\u00f4ne \"maillons de cha\u00eene\"\n&#128279; en fin de ligne. Cette ic\u00f4ne est un lien permettant de lancer cette\nrecherche \u00e0 nouveau.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/doc\/20210128_permalink.png\" alt=\"20210128 permalink\">\n<\/div>\n<div class=\"title\">Figure 2. Ic\u00f4ne \"maillons de cha\u00eene\" du permalien<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Il est ainsi possible de cr\u00e9er un marque page sur sa recherche favorite, sans\navoir \u00e0 la configurer \u00e0 chaque fois.<\/p>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>Pour en revenir aux recherches programm\u00e9es, un d\u00e9tail important est qu&#8217;elles\nviennent avec leur propre <strong>notifications<\/strong>, qui n&#8217;apparaissent que si de\nnouveaux r\u00e9sultats ont \u00e9t\u00e9 trouv\u00e9s lors de la recherche, par rapport \u00e0 sa\nderni\u00e8re ex\u00e9cution programm\u00e9e. Cette fonctionnalit\u00e9 est un grand pas en avant\nsur le chemin des \u00ab Revues de presse automatis\u00e9es \u00bb.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00c0 propos de documentation, la s\u00e9lection de source \u00e0 l&#8217;unit\u00e9 est elle aussi\nd\u00e9sormais document\u00e9e :<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Il est possible de choisir une par une les sources dans lesquelles ont souhaite chercher.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour cela, il faut d\u00e9plier le panneau de recherche avanc\u00e9e, en cliquant sur le\n[ + ] du titre \"Recherche avanc\u00e9e [+]\". Deux lignes apparaissent alors comportant\ndivers crit\u00e8res et une 3e ligne pr\u00e9sente des boutons :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>remise \u00e0 z\u00e9ro des filtres,<\/p>\n<\/li>\n<li>\n<p>lister les sources,<\/p>\n<\/li>\n<li>\n<p>ajouter une source,<\/p>\n<\/li>\n<li>\n<p>automatiser une recherche.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Un clic sur le bouton \"Liste des sources\" fait apparaitre un 2e volet\npermettant de parcourir la liste des sources, d&#8217;ajouter des sources \u00e0 la\ns\u00e9lection courante ou d&#8217;en retirer.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;ic\u00f4ne de loupe, sur chaque ligne de source, permet de r\u00e9gler la prochaine\nrecherche sur cette source uniquement.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"\/images\/doc\/20230414_advanced_search.png\" alt=\"20230414 advanced search\">\n<\/div>\n<div class=\"title\">Figure 3. Recherche avanc\u00e9e<\/div>\n<\/div>\n<hr>\n<div class=\"paragraph\">\n<p>\u00c7a c&#8217;\u00e9tait facile \u00e0 impl\u00e9menter et pourtant \u00e7a repr\u00e9sente une grosse diff\u00e9rence\nentre Google Actualit\u00e9s et Meta-Press.es. Avec cette fonctionnalit\u00e9 en\nparticulier, et sinon tout le m\u00e9canisme de s\u00e9lection des sources par\n\u00e9tiquettes, Meta-Press.es redonne \u00e0 l&#8217;utilisateur le contr\u00f4le de ses sources\nd&#8217;information, au lieu de se contenter de r\u00e9sultats venus d&#8217;on ne sait o\u00f9. Avec\nMeta-Press.es, vous savez dans quelles sources la recherche s&#8217;est effectu\u00e9e,\nalors qu&#8217;avec Google vous devez esp\u00e9rer que leur s\u00e9lection soit la bonne.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et c&#8217;est \u00e0 nouveau ce m\u00e9canisme de s\u00e9lection de sources par \u00e9tiquettes qui\npermet d&#8217;ajouter toujours plus de types de sources. Apr\u00e8s les journaux, la\npresse scientifique, les photos et les vid\u00e9os, cette version ajoute le <strong>type de\nsource Agenda<\/strong>, repr\u00e9sent\u00e9 en premier lieu par la collection compl\u00e8te des 28\ninstances de <a href=\"https:\/\/demosphere.net\/\">Demosphere.net<\/a> (\u00e9tal\u00e9es sur 4 pays). En\nattendant que Peertube v3 ajoute une fonctionnalit\u00e9 de recherche \u00e0 travers\ntoutes ses instances, Meta-Press.es permet d\u00e8s aujourd&#8217;hui de faire des\nrecherche \u00e0 travers toutes les instances de Demosphere, ou dans l&#8217;ensemble des\n<strong>286 sources r\u00e9f\u00e9renc\u00e9es<\/strong>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>D&#8217;ailleurs c&#8217;est surtout notre imagination qui limite les types de source qu&#8217;il\nest possible d&#8217;ajouter \u00e0 Meta-Press.es. Tous les contenus dont la date fait la\npertinence peuvent \u00eatre trait\u00e9s par Meta-Press.es. N&#8217;h\u00e9sitez pas \u00e0 en sugg\u00e9rer\nde nouveaux, en ouvrant un\n<a href=\"https:\/\/framagit.org\/Siltaar\/meta-press-ext\/-\/issues\">ticket<\/a> (en fran\u00e7ais) dans\nle d\u00e9p\u00f4t de code.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Pour finir, vous aurez peut \u00eatre \u00e0 remettre en place quelques r\u00e9glages avec\ncette nouvelle version car la m\u00e9thode d&#8217;enregistrement des param\u00e8tres (<code>API\nstorage<\/code> et m\u00e9thode <code>persist()<\/code>) a chang\u00e9 de comportement pendant les vacances\nde fin d&#8217;ann\u00e9e, nous obligeant \u00e0 changer d&#8217;API. Vos sources personnalis\u00e9es ne\nseront toutefois pas impact\u00e9es (mais comment !? vous avez des sources que vous\nn&#8217;avez pas encore envoy\u00e9es \u00e0 Meta-Press.es ? ;-).<\/p>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"[La voix est libre - Picasoft] Meta-press.es, a tool to search in news","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2021\/20210207_picasoft.html","rel":"alternate"}},"published":"2021-02-07T00:00:00+01:00","updated":"2021-02-07T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-02-07:\/revues\/2021\/20210207_picasoft.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Questions of the interview :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Why wanting to avoid Google News ? What is the power of News search engines ?<\/p>\n<\/li>\n<li>\n<p>What is Meta-Press.es ? Why is it \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Questions of the interview :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Why wanting to avoid Google News ? What is the power of News search engines ?<\/p>\n<\/li>\n<li>\n<p>What is Meta-Press.es ? Why is it a good answer ?<\/p>\n<\/li>\n<li>\n<p>How to use Meta-Press.es ?<\/p>\n<\/li>\n<li>\n<p>How are sources of Meta-Press.es keept up to date ?<\/p>\n<\/li>\n<li>\n<p>How are chosen the available sources of Meta-Press.es and how to choose in which you want to search ?<\/p>\n<\/li>\n<li>\n<p>Why a Firefox add-on ?<\/p>\n<\/li>\n<li>\n<p>What are AMPs and what troubles do they make for newspapers ?<\/p>\n<\/li>\n<li>\n<p>Why certains sources are incompatible with Meta-Press.es ?<\/p>\n<\/li>\n<li>\n<p>How many users do Meta-Press.es already count ?<\/p>\n<\/li>\n<li>\n<p>How to help and support the project ?<\/p>\n<\/li>\n<\/ul>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[La voix est libre - Picasoft] Meta-press.es, un outil de recherche dans l'actualit\u00e9","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2021\/20210207_picasoft.html","rel":"alternate"}},"published":"2021-02-07T00:00:00+01:00","updated":"2021-02-07T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-02-07:\/fr\/revues\/2021\/20210207_picasoft.html","summary":"<div class=\"paragraph\">\n<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\u00e9<\/strong><\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;invit\u00e9 : Simon Descarpentries aka <a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaar<\/a>, associ\u00e9 d&#8217;Acoeuro.com, d\u00e9veloppeur principal de Meta-Press.es<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Principaux points abord\u00e9s :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Pourquoi ne plus vouloir utiliser Google Actualit\u00e9s ? Quel pouvoir ont les moteurs de recherche d&#8217;actualit\u00e9 ? Pourquoi l&#8217;article 11 ?<\/p>\n<\/li>\n<li>\n<p>Qu&#8217;est-ce \u2026<\/p><\/li><\/ul><\/div>","content":"<div class=\"paragraph\">\n<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\u00e9<\/strong><\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>L&#8217;invit\u00e9 : Simon Descarpentries aka <a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaar<\/a>, associ\u00e9 d&#8217;Acoeuro.com, d\u00e9veloppeur principal de Meta-Press.es<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Principaux points abord\u00e9s :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Pourquoi ne plus vouloir utiliser Google Actualit\u00e9s ? Quel pouvoir ont les moteurs de recherche d&#8217;actualit\u00e9 ? Pourquoi l&#8217;article 11 ?<\/p>\n<\/li>\n<li>\n<p>Qu&#8217;est-ce que m\u00e9ta presse ? En quoi est-ce une bonne r\u00e9ponse ?<\/p>\n<\/li>\n<li>\n<p>Pourquoi d\u00e9velopper m\u00e9ta-presse ? En quoi est-il fondamentalement diff\u00e9rent de m\u00e9ta press.es ?<\/p>\n<\/li>\n<li>\n<p>Comment utiliser Meta-Press.es<\/p>\n<\/li>\n<li>\n<p>Comment sont choisies les sources disponibles sur Meta press.es<\/p>\n<\/li>\n<li>\n<p>Pourquoi un add-on mozilla ?<\/p>\n<\/li>\n<li>\n<p>Que sont les AMP ? En quoi sont-elles un probl\u00e8me pour les patrons de presse ?<\/p>\n<\/li>\n<li>\n<p>Certains journaux comme le monde sont incompatibles, pourquoi ?<\/p>\n<\/li>\n<li>\n<p>Combien d&#8217;utilisateurs sur M\u00e9ta press.es ?<\/p>\n<\/li>\n<li>\n<p>Comment soutenir m\u00e9ta press.es ?<\/p>\n<\/li>\n<\/ul>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[Underscore] \u00c9mission Underscore #214 of the 31st jan. 2021","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/revues\/2021\/20210131_underscore_214.html","rel":"alternate"}},"published":"2021-01-31T00:00:00+01:00","updated":"2021-01-31T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-01-31:\/revues\/2021\/20210131_underscore_214.html","summary":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Radio podcast.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Here is a transcription of the big lines :<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_subject_meta_press_es_interview_siltaer\">1. Subject : Meta-Press.es (interview <a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaer<\/a>)<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_how_can_we_introduce_you\">1.1. How can we introduce you ?<\/h3>\n<div class=\"paragraph\">\n<p>Web artisan\u2026<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_how_came_the_idea_of_meta_press_es\">1.2. How came the idea of Meta-Press.es ?<\/h3>\n<div class=\"paragraph\">\n<p>From 5 years of press review of La Quadrature du Net\u2026<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_what_is_it_userful_for\">1.3. What is it \u2026<\/h3><\/div><\/div><\/div>","content":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Radio podcast.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Here is a transcription of the big lines :<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_subject_meta_press_es_interview_siltaer\">1. Subject : Meta-Press.es (interview <a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaer<\/a>)<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_how_can_we_introduce_you\">1.1. How can we introduce you ?<\/h3>\n<div class=\"paragraph\">\n<p>Web artisan\u2026<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_how_came_the_idea_of_meta_press_es\">1.2. How came the idea of Meta-Press.es ?<\/h3>\n<div class=\"paragraph\">\n<p>From 5 years of press review of La Quadrature du Net\u2026<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_what_is_it_userful_for\">1.3. What is it userful for ?<\/h3>\n<div class=\"paragraph\">\n<p>To search in newspapers\u2026<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_how_is_it_different_from_rss_readers\">1.4. How is it different from RSS readers ?<\/h3>\n<div class=\"paragraph\">\n<p>It use newspapers own search engines\u2026<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_how_to_help_you_giving_money\">1.5. How to help you ? (giving money ?)<\/h3>\n<div class=\"paragraph\">\n<p>The best way to help me is to contribute, source code, or new sources.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Then one can help getting Meta-Press.es known.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Lastly, you can help me dedicating time to the project via <a href=\"https:\/\/patreon.com\/metapress\">Patreon<\/a> (or Liberapay).<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<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>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>But also the <a href=\"https:\/\/www.grimoire-command.es\">Grimoire-Command.es<\/a> blog.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/www.triplea.fr\/blog\/podcast\/emission-underscore-214-du-31-janvier-2021\/\"><strong>\u00c9mission Underscore #214 du 31 janvier 2021<\/strong><\/a> <em>(fr)<\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"[Underscore] \u00c9mission Underscore #214 du 31 janvier 2021","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/revues\/2021\/20210131_underscore_214.html","rel":"alternate"}},"published":"2021-01-31T00:00:00+01:00","updated":"2021-01-31T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-01-31:\/fr\/revues\/2021\/20210131_underscore_214.html","summary":"<div class=\"sect1\">\n<h2 id=\"_actu\">1. Actu<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_sujet_meta_press_es_interview_siltaer\">2. Sujet : Meta-Press.es (interview <a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaer<\/a>)<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_comment_te_pr\u00e9sente_t_on\">2.1. Comment te pr\u00e9sente-t-on ?<\/h3>\n<div class=\"paragraph\">\n<p>Artisan du web (\u00e0 mon compte via Acoeuro.com), ing\u00e9nieur en informatique, engag\u00e9 dans des associations (April, FDN, LQDN\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Aujourd\u2019hui, plus localement sur Bressuire, je m\u2019investi dans le LUG de la ville GEBULL (qui couvre \u2026<\/p><\/div><\/div><\/div><\/div>","content":"<div class=\"sect1\">\n<h2 id=\"_actu\">1. Actu<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_sujet_meta_press_es_interview_siltaer\">2. Sujet : Meta-Press.es (interview <a href=\"https:\/\/mamot.fr\/@Siltaer\">Siltaer<\/a>)<\/h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_comment_te_pr\u00e9sente_t_on\">2.1. Comment te pr\u00e9sente-t-on ?<\/h3>\n<div class=\"paragraph\">\n<p>Artisan du web (\u00e0 mon compte via Acoeuro.com), ing\u00e9nieur en informatique, engag\u00e9 dans des associations (April, FDN, LQDN\u2026).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Aujourd\u2019hui, plus localement sur Bressuire, je m\u2019investi dans le LUG de la ville GEBULL (qui couvre toute la moitier nord du d\u00e9partement) et j\u2019y r\u00e9pare entre autre b\u00e9n\u00e9volement des Fairphones\u2026<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_comment_tes_venue_lid\u00e9e_de_meta_press_es\">2.2. Comment t\u2019es venue l\u2019id\u00e9e de Meta-Press.es ?<\/h3>\n<div class=\"paragraph\">\n<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\u2019aurait permis d\u2019\u00eatre plus efficace et d\u2019\u00e9conomiser du sommeil. Meta-Press.es c\u2019est cet outil, il permet d\u2019\u00e9conomiser 80% du temps qu\u2019il me fallait pour r\u00e9aliser la revue de presse en s\u2019affranchissant de la plupart des copier\/coller.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Mais Meta-Press.es, c\u2019est aussi l\u2019outil dont j\u2019ai r\u00eav\u00e9 \u00e0 l\u2019\u00e9poque pour remettre de la coh\u00e9rence dans ma t\u00e2che. En effet, jusque l\u00e0 la revue de presse de la Quadrature s\u2019appuyait surtout sur Google Actualit\u00e9s, alors que Google c\u2019est 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\u2019\u00e9tait assez inconfortable de d\u00e9pendre d\u2019un outil fourni par un ennemi.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>C\u2019est l\u2019occasion de dire que la revue de presse c\u2019est une action assez m\u00e9connue mais essentielle dans le fonctionnement de LQDN, qui permet notamment de monter en comp\u00e9tence sur des sujets puisqu\u2019on est oblig\u00e9 du coup de lire tous les articles qui en parlent et s\u2019en impr\u00e9gner. (Coucou quota, coucou G0f !) C\u2019est donc un bon point de d\u00e9part pour contribuer \u00e0 La Quadrature !<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_et_\u00e7a_sert_\u00e0_quoi_\u00e0_qui_sadresse_cet_outil\">2.3. Et \u00e7a sert \u00e0 quoi ? \u00c0 qui s\u2019adresse cet outil ?<\/h3>\n<div class=\"paragraph\">\n<p>Alors Meta-Press.es, \u00e7a sert \u00e0 effectuer des recherches dans plusieurs journaux en m\u00eame temps. Des centaines de journaux, qui permettrent de r\u00e9cup\u00e9rer des milliers de r\u00e9sultats. Meta-Press.es les trie par ordre chronologique et on retrouve rapidement ce qui fait l\u2019actualit\u00e9 d\u2019un sujet.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es va vite, prot\u00e8ge la vie priv\u00e9e de ses utilisateurs (en \u00e9vitant de charger les trackers publicitaires des journaux) et permet de s\u2019affranchir de tout interm\u00e9diaire entre votre ordinateur et les journaux consult\u00e9s. Rien ne passe par les serveurs de Meta-Press.es avec la promesse qu\u2019on y touche pas, car il n\u2019y a pas de serveurs pour Meta-Press.es. C\u2019est bon pour le climat, exit les datacenters au cercle polaire\u2026 L\u2019outil est v\u00e9ritablement d\u00e9centralis\u00e9, c\u2019est votre ordinateur qui bosse.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Meta-Press.es s\u2019adresse \u00e0 tous ceux qui utilisent Google Actualit\u00e9s, ou qui se retenaient de l\u2019utiliser parce que c\u2019\u00e9tait un outil Google. \u00c0 toutes les associations qui ont une revue de presse \u00e0 faire, \u00e0 tous les journalistes qui font de la veille sur la presse\u2026 \u00c0 tous ceux qui veulent approfondir un sujet d\u2019actualit\u00e9 et croiser les sources. Ou encore \u00e0 ceux qui contribuent \u00e0 Wikipedia et cherchent plus de sources pour un article. Les usages sont nombreux.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Apr\u00e8s, l\u2019outil s\u2019adresse \u00e0 ceux qui utilisent Firefox, puisqu\u2019il s\u2019agit d\u2019une extension du navigateur web Firefox. On l\u2019installe depuis le magasin d\u2019extensions de Mozilla, \u00e7a ajoute une ic\u00f4ne \u00e0 la barre de t\u00e2che et on ouvre le moteur de recherche en cliquant sur cette ic\u00f4ne.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Au del\u00e0 des simples recherches, il est possible d\u2019exporter et importer des r\u00e9sultats (tous o\u00f9 une s\u00e9lection seulement), de les filtrer par date ou par mots-cl\u00e9s, de choisir finement de quels sources chercher (il y a des journaux, des photos de la presse scientifique), et on pourra m\u00eame prochainement programmer une recherche pour qu\u2019elle se lance toute seule !<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_en_quoi_est_il_diff\u00e9rent_doutils_comme_flus_ou_des_aggr\u00e9gateurs_rss\">2.4. En quoi est-il diff\u00e9rent d\u2019outils comme Flus ou des aggr\u00e9gateurs RSS ?<\/h3>\n<div class=\"paragraph\">\n<p>(On rappelle qu\u2019on a fait une \u00e9mission au sujet des flux RSS)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Un agr\u00e9gateur de flux RSS permet de s\u2019abonner \u00e0 des \u201csites webs\u201d pour aller en chercher le nouveau contenu r\u00e9guli\u00e8rement. Il conserve ces contenus et permet de parcourir l\u2019historique.\nMeta-Press.es par contre, va chercher du contenu (\u00e9ventuellement ancien) \u00e0 partir des moteurs de recherche des journaux r\u00e9f\u00e9renc\u00e9s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Une fois la recherche termin\u00e9e, quand on lance une nouvelle recherche, les pr\u00e9c\u00e9dents r\u00e9sultats r\u00e9cup\u00e9r\u00e9s sont \u00e9vacu\u00e9s.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>La confusion pourrait venir du fait que Meta-Press.es utilise le format RSS pour exporter les r\u00e9sultats d\u2019une recherche, et donc les r\u00e9-importer.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et m\u00eame encore mieux, Meta-Press.es permet de s\u00e9lectionner des r\u00e9sultats, pour n\u2019exporter que les r\u00e9sultats voulus.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_dailleurs_techniquement_on_utilise_aussi_les_flux_rss_y_en_a_pas_toujours_\u00e0_disposition_si\">2.5. D\u2019ailleurs, techniquement, on utilise aussi les flux RSS ? Y en a pas toujours \u00e0 disposition, si ?<\/h3>\n<div class=\"paragraph\">\n<p>Parmis les 250 sources dans lesquelles Meta-Press.es sait chercher, un quart proposer un flux RSS des r\u00e9sultats d\u2019une recherche. On utilise alors prioritairement ces flux, car leur mise en forme est standard et constante. Pour les autres sources, il faut analyser l\u2019interface web de la page des r\u00e9sultats, et cette interface est susceptible de changer au gr\u00e9 des caprices du d\u00e9partement marketing\u2026<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Donc non, il n\u2019y a pas toujours un flux de dispo, et c\u2019est bien dommage, car \u00e7a nous simplifie bien la vie quand il y en a un.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_comment_peut_on_taider_on_peut_donner_des_p\u00e9p\u00e8tes\">2.6. Comment peut-on t\u2019aider ? On peut donner des p\u00e9p\u00e8tes ?<\/h3>\n<div class=\"paragraph\">\n<p>Le meilleur moyen de m\u2019aider, c\u2019est de contribuer, par exemple en ajoutant de nouvelles sources \u00e0 l\u2019outil.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Apr\u00e8s, si on est pas d\u00e9veloppeur web, on peut quand m\u00eame aider \u00e0 faire conna\u00eetre l\u2019outil.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Et enfin, si c\u2019est 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 \u00e7a moi.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_tu_as_dautres_projets_il_me_semble_et_tu_contribues_aussi_\u00e0_dautres_logiciels_libres\">2.7. Tu as d\u2019autres projets il me semble, et tu contribues aussi \u00e0 d\u2019autres logiciels libres ?<\/h3>\n<div class=\"paragraph\">\n<p>Il y a des petits projets issus de Meta-Press.es, qui b\u00e9n\u00e9ficient de leur propres d\u00e9p\u00f4t de code sur Framagit. Il s\u2019agit d\u2019outils r\u00e9utilisables, \u00e9crits en JavaScript :<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/month_nb\">month_nb<\/a> : permet retrouver le num\u00e9ro d\u2019un mois dont on connait le nom, en toutes lettres, quelque soit sa langue ;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/framagit.org\/Siltaar\/gettext_html_auto.js\">gettext_html_auto<\/a> : permet de trouver et de remplacer toutes les cha\u00eenes de caract\u00e8re d\u2019une page web (pour g\u00e9rer les traductions d\u2019une extension web, \u00e0 partir d\u2019une structure JSON \u00e0 GNU Gettext, plus simple que celle pr\u00e9vue pour les WebExtensions).<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>J\u2019\u00e9cris \u00e9galement un blog un peu technique pour partager mes d\u00e9couvertes en ligne de commande GNU+Linux, il s\u2019appelle <a href=\"https:\/\/www.grimoire-command.es\">Grimoire-Command.es<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Enfin je n\u2019h\u00e9site jamais \u00e0 d\u00e9gainer un rapport de bug ou une demande de fonctionnalit\u00e9 (et \u00e7a prends du temps !)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/www.triplea.fr\/blog\/podcast\/emission-underscore-214-du-31-janvier-2021\/\"><strong>\u00c9mission Underscore #214 du 31 janvier 2021<\/strong><\/a><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>Bonus : Astrologeek<\/strong><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>libriste<\/strong> : Meta-Press.es \u2026 que r\u00e9ussi \u00e0 m\u2019avoir !<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>[\u2026]<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Revues"}}},{"title":"Now is the time\u2026","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/journal\/2021\/now_is_the_time.html","rel":"alternate"}},"published":"2021-01-17T00:00:00+01:00","updated":"2021-01-17T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-01-17:\/journal\/2021\/now_is_the_time.html","summary":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>2020 should have been a year full of public presentations for me \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>Step up, speak about Meta-Press.es, to your family and friends, to your NGO, to local communities\u2026 Become an ambassador.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>\n<div class=\"paragraph\">\n<p>We plan to reach 300 sources this semester, but special efforts (setting field, full documentation\u2026) 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>\n<\/div>\n<div class=\"paragraph\">\n<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>\n<\/div>","category":{"@attributes":{"term":"Journal"}}},{"title":"C'est le bon moment\u2026","link":{"@attributes":{"href":"https:\/\/www.meta-press.es\/fr\/journal\/2021\/now_is_the_time.html","rel":"alternate"}},"published":"2021-01-17T00:00:00+01:00","updated":"2021-01-17T00:00:00+01:00","author":{"name":"Siltaar"},"id":"tag:www.meta-press.es,2021-01-17:\/fr\/journal\/2021\/now_is_the_time.html","summary":"<div class=\"paragraph\">\n<p>Meta-Press.es approche de la fin de son soutien par la NLnet. Ils nous ont permis de r\u00e9aliser de grands travaux et de nouvelles fonctionnalit\u00e9s arriveront encore dans les prochaines semaines (comme les recherche programm\u00e9es).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;esp\u00e9rais courir d&#8217;\u00e9v\u00e8nement libriste en \u00e9v\u00e8nement libriste \u00e0 travers l&#8217;Europe en 2020 \u2026<\/p><\/div>","content":"<div class=\"paragraph\">\n<p>Meta-Press.es approche de la fin de son soutien par la NLnet. Ils nous ont permis de r\u00e9aliser de grands travaux et de nouvelles fonctionnalit\u00e9s arriveront encore dans les prochaines semaines (comme les recherche programm\u00e9es).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;esp\u00e9rais courir d&#8217;\u00e9v\u00e8nement libriste en \u00e9v\u00e8nement libriste \u00e0 travers l&#8217;Europe en 2020 pour pr\u00e9senter Meta-Press.es \u00e0 un public plus large, mais les \u00e9v\u00e8nements ont \u00e9t\u00e9 annul\u00e9s les uns apr\u00e8s les autres, et je n&#8217;ai pu courir qu&#8217;un km autour de chez moi. J&#8217;ai \u00e0 peine r\u00e9ussi \u00e0 parler lors d&#8217;un \u00e9v\u00e8nement en ligne en juillet (les vid\u00e9os sont d&#8217;ailleurs encore en attente de publication). Alors, j&#8217;en appel \u00e0 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\u00e8re \u00eatre retenu pour les <a href=\"https:\/\/pretalx.jdll.org\/jdll2021\/cfp\">JDLL 2021<\/a>)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Ce d\u00e9but d&#8217;ann\u00e9e est un bon moment pour faire conna\u00eetre Meta-Press.es plus largement, et le projet compte sur sa petite mais fid\u00e8le communaut\u00e9 pour l&#8217;aider a atteindre son public.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>N&#8217;h\u00e9sitez plus, parlez de Meta-Press.es autour vous, dans la famille, dans vos associations\u2026 devenez un ambassadeur.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>J&#8217;ai eu des contacts avec un responsable de CDI, des chercheurs, une auteure de blog litt\u00e9raire, et un journaliste de Thomson-Reuters\u2026 Tous utilisent Meta-Press.es et projettent de l&#8217;utiliser encore plus. Ces contacts sont toujours un grand encouragement.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<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 \u00e9t\u00e9 men\u00e9s d\u00e8s le d\u00e9but du projet pour aider les d\u00e9veloppeurs web \u00e0 <strong>int\u00e9grer de nouvelles sources<\/strong> (champs d\u00e9di\u00e9 dans les r\u00e9glages, documentation compl\u00e8te). Plus de 50 sources ont d&#8217;ailleurs d\u00e9j\u00e0 \u00e9t\u00e9 contribu\u00e9es b\u00e9n\u00e9volement. Vous pouvez nous aider \u00e0 en d\u00e9couvrir et en int\u00e9grer de nouvelles.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Enfin, il est \u00e9galement possible d&#8217;aider le projet en r\u00e9alisant un <strong>petit don mensuel via Patreon<\/strong>. Liberapay reste disponible, c&#8217;est libre et c&#8217;est chouette, mais un compte a \u00e9t\u00e9 ouvert sur Patreon pour palier \u00e0 l&#8217;absence des dons r\u00e9currents. L&#8217;avenir du projet est entre vos <a href=\"https:\/\/patreon.com\/metapress\">clics<\/a> !<\/p>\n<\/div>\n<div id=\"footnotes\">\n<hr>\n<div class=\"footnote\" id=\"_footnotedef_1\">\n<a href=\"#_footnoteref_1\">1<\/a>. Diffusion par la communaut\u00e9\n<\/div>\n<\/div>","category":{"@attributes":{"term":"Journal"}}}]}