6040 links
  • GuiGui's Show

  • Home
  • Login
  • RSS Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
◄Older
page 95 / 302
Newer►
  • Quelle presse soutenir en 2020 ?

    Résumé : même quand on sélectionne sa presse, on est confronté au flicage, à la non-spécialisation forcée des journalistes qui explique leur inculture notamment sur le numérique, aux articles incomplets / qui relaient des infos sans citer la source précise / qui oublient des éléments ou le contexte global afin de servir leur propos (ce qui pose les questions de l'utilité de la lecture et de la confiance à accorder au journal), à la répétition des mêmes sujets, à l'absence de prospection, à l'absence de volonté de vraiment expliquer les choses afin d'émanciper le citoyen, au non-recours aux bienfaits du numérique dans la diffusion de l'information, etc. Du coup, quelle presse lire / soutenir ? J'affine la presse que je vais continuer à lire.



    J'essaye d'être rigoureux sur la presse que je paye et que je relaie, voir mon mini-comparatif de la presse. Mais ça ne me suffit plus.

    Un ressenti a émergé en 2018 et est devenu prééminent en 2019. Les journaux indépendants financièrement, qui travaillent sur le temps long (>= hebdomadaire), qui sont satiriques ou critiques, qui sont parfois engagés, etc., c'est bien beau, mais quelle importance cela a-t-il si ces journaux ne me respectent pas ? Les qualités sus-mentionnées sont nécessaires, mais plus suffisantes.

    Je veux évidemment parler du flicage. Les sites web de la presse regorgent de traqueurs, d'outils de mesure d'audience et de contenus externalisés qui informent les géants du net de mes lectures (tel article à quelle date), voir cet article, alors que leur secret est vital dans une démocratie. J'arrive de moins en moins à lire des contenus web (presse ou non) en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. C'est de la prédation. Par métaphore maladroite, je dirais que c'est comme en amour : t'as pas super envie de rester avec une personne qui ne te respecte pas, mais, en revanche, tu pardonnes à une personne maladroite qui essaye de mieux se comporter.

    Quelle crédibilité accorder à un journal qui tape en permanence, à juste titre, sur Google, mais qui utilise Google reCAPTCHA sur toutes les pages de son site web (pas uniquement celles sur lesquelles il y a un formulaire à protéger du spam) ? Pas vrai, Le Canard et Siné mensuel ? Déblatérer, c'est bien et utile, essayer de tenir ses convictions, c'est mieux et encore plus utile.

    Parmi les journaux que j'aime, les journaux papier ne sont pas concernés donc je conserve Le Canard enchaîné, Fakir, Siné mensuel, Le Ravi, et La Revue Dessinée. Notons quand même qu'en matière de flicage, ces journaux n'ont pas plus d'éthique que les autres et que leur édition ou vitrine numérique est tout aussi irrespectueuse de la vie privée du lecteur que celle les autres journaux. En ce qui concerne les journaux numériques, je pense que Mediapart est dans l'abus compte-tenu qu'il a la thune pour faire mieux. Tous sont médiocres. Les plus vertueux (les moins pires, en vrai), ceux dont j'ai pas l'impression qu'ils se moquent ouvertement de moi sont Reflets.info, NextInpact et Basta !.



    Je veux également parler d'une forme de foutage de gueule. Comme des articles incomplets, qui relaient des infos (souvent des chiffres) sans en citer la source précise. Bon courage pour recouper derrière ! Ou des articles qui oublient des éléments afin de faire de la mousse. Ou des articles qui n'informent pas sur le contexte global. Des exemples ? Mutuelles et gouvernement ont échangé châtaignes et marrons glacés, Super-régions, super-ratage, Officiel : Pierre Gattaz n’était pas un comique !, L’Observatoire des prisons, au mitard ! ou encore l'article « Tout est bon dans le porno » dans l'édition du 8 avril 2020 du Canard qui relate « une envolée du trafic mondial de 12 % par rapport au mois dernier, par exemple, pour le site Pornhub » (ce qui est inexact, tant sur le chiffre que sur l'ambigu « par rapport au mois dernier »).

    Je pense savoir faire la différence entre ces méthodes douteuses et un avis tranché sur un sujet et/ou des erreurs (un comportement répété en connaissance de cause n'est pas une erreur). La pluralité de la presse est là pour éviter ces abus, mais elle n'y parvient pas totalement, et, surtout, si je dois lire moi-même le rapport de la Cour des comptes, autant que je m'abonne au site web de celle-ci plutôt qu'au journal. Même raisonnement si je dois moi-même retrouver l'origine d'un chiffre. La lecture du journal devient inutile et un problème de confiance se pose.

    En 2019, j'ai beaucoup pris le Canard enchaîné la main dans le sac des méthodes douteuses, mais aussi Siné mensuel. Pour Siné, ça reste acceptable. Pour Le Canard, je m'interroge vraiment sur l'intérêt d'en poursuivre la lecture.

    D'autant que le sujet que je connais, le numérique, est très mal traité par Le Canard. Exemples ? FAI, GAFAM, blocages des contenus (plusieurs récidives), Huawei a déjà des antennes en France… (plusieurs récidives depuis) ou le prétendu piratage de Bercy en août 2019 + récidive dans le numéro 154 des Dossiers du Canard (alors que la réalité est : phishing) ou l'article « Les cybervirus prolifèrent aussi » publié dans le numéro du 8 avril 2020 qui laisse le patron d'Orange Cyberdéfense tout mélanger ou l'encart "Covid-19" du même numéro qui attribue, en partie, la saturation de son site internet aux « nombreuses défaillances du réseau Internet et par des problèmes techniques chez certains fournisseurs d'accès évidemment très sollicités en cette période ». Là encore, paye ta confiance.

    Tuxicoman, tu t'interrogeais : « Je pensais que des gens de #reflets bossaient un peu pour le canard, visiblement ce ne sont pas eux qui écrivent sur le sujet. ». Oui, Kitetoa (et Jacques Duplessy) sont pigistes pour, entre autres, Le Canard. Pigiste, ça veut dire que le journaliste est payé à la tâche, à la pige : il propose un article (ou un sujet), le journal prend (ou jette) et paye, mais le journaliste ne participe pas à la ligne éditoriale, il n'est pas salarié du journal, donc il a rien à dire sur le travail de ses non-collègues, au mieux il peut formuler des remarques en off.



    Je veux enfin parler d'une forme de répétition et d'absence d'émancipation. Tous les journaux maintiennent le citoyen dans une forme d'ignorance. C'est un peu ce que j'écris ci-dessus : les journaux donnent au citoyen suffisamment de billes pour comprendre l'article, le point de vue de son auteur, mais pas plus. Ils ne cherchent pas à émanciper, à faire grandir le lecteur. Il y a l'absence de contradictoire, bien sûr, mais pas que. Il y a l'absence de suivi des sujets sur le temps long (quand il y a, c'est décousu), mais pas que. Les mêmes sujets bouclent en permanence et, au final, se résument à quelques grandes tendances : les humains font des fautes en permanence, l'État n'a prétendument plus de fric, le business se fout des gens et de la planète, le politicien est inutile, etc. Une fois que le citoyen a identifié ces tendances, à quoi bon continuer de lire la presse ? C'est dangereux. À côté de ça, en perspective, je ne vois pas d'article thématique de fond sur comment fonctionne telle ou telle chose genre ce que racontent les lois qui vont être discutées au Parlement (y compris la plus insignifiante), genre une profonde réflexion sur le découpage des responsabilités relatives à une publication à l'heure du numérique, etc. Même les numéros hors série environ thématiques échouent sur ça. On est toujours dans la réaction scandalisée, très peu dans la prospection. Ça non plus, ça n'émancipe pas les citoyens.

    Je ne découvre pas tout ce que je viens d'écrire, j'en prends acte d'une manière plus prononcée. Je m'interroge « à quoi bon lire la presse » ? Suis-je trop exigeant ? Comment faire mieux ? J'ai déjà essayé de contacter Le Canard pour pallier leur inculture numérique, mais également sur d'autres sujets. Je reçois des accusés réception et… rien se passe. Au moins, ils ne pourront pas nier avoir été prévenus / informés, ce qui lève le doute entre erreur et faute. J'ai contacté les journaux pour leur demander de cesser de fliquer les lecteurs. Que faire de plus ? Arrêter d'acheter des journaux ?

    Lire la presse, j'en vois de moins en moins l'intérêt. Financer des journaux, j'en vois encore l'intérêt : contenir les dérives. S'il n'y a plus de journaux, s'il n'y a plus personne pour regarder ce qui ne va pas ici ou là, alors tout le monde fera encore plus de merde en permanence. La probabilité qu'un journal puisse découvrir une craderie calme un peu le jeu, à mon avis. Et même si le journal acheté n'est pas lu, le simple fait que ça soit publié suffit à faire évoluer des comportements. La simple existence de journaux suffit. Oui, j'en suis à la stratégie délétère du moindre mal (ce qui, en soi, illustre le profond mal-être de la presse…). Il nous faut plus de journaux et il faut qu'ils soient lourdement armés (effectifs, temps pour faire le taff, etc.), ce qui signifie de les financer. Mais il faut aussi que la profession de journaliste se remette lourdement en question sur ses méthodes.



    Au passage, la presse numérique payante pose un problème. Comment puis-je la partager en pratique ? Je traite cette problématique dans mon article Apporter des journaux au boulot ? Yep !. Mais la problématique dépasse la presse numérique. À l'exception de NextInpact qui rend publics ses articles après un mois, les articles restent protégés éternellement. Or, détenir l'archive politique (vie de la cité) est un privilège, c'est une source de pouvoir. Donc il faut qu'il soit détenu par le plus grand nombre afin d'éviter au maximum les dérives. De même, cela crée une asymétrie entre le riche (façon de parler) qui peut s'abonner à plusieurs journaux afin d'y picorer un article par-ci, par-là, et le pauvre (façon de parler). Cela crée des communautés de citoyens informés. Les bibliothèques / médiatèques publiques remplissent un peu ce rôle de libre accès, mais pas totalement : il y en a de moins en moins, elles sont asséchées financièrement, l'accès à distance à leur catalogue est très souvent une vaste blague, la temporalité de mise à disposition n'est pas forcément adaptée à la presse. Rien de neuf, mais on ne profite pas des possibilités du numérique pour diffuser l'information. Faire un lien vers un article payant ne me tente pas. Citer un article payant a aucun intérêt si l'on respecte le droit de citation (la citation sera trop courte). J'identifie un problème, je n'ai pas de solution.



    Au passage, je pourrais évoquer les subventions (publiques comme privées). À l'exception de Reflets.info, de NextInpact, du Canard enchaîné et d'Arrêt sur images, tous les autres journaux sont aidés. Fakir est stable sur 2016-2017 (en hausse depuis 2013, derniers chiffres disponibles). Le Ravi est stable sur 2017-2019. Siné mensuel est stable sur 2016-2017 (en forte hausse depuis 2015, derniers chiffres publiés) et vu la santé actuelle du journal, je pense que les subventions sont en hausse en 2018-2019-2020. Les Jours est en hausse sur 2016-2017 mais moins qu'à son lancement (derniers chiffres dispos). La Revue Dessinée est en légère baisse en 2017 (derniers chiffres dispos). Basta ! est en forte baisse sur 2016-2017-2018 (derniers chiffres dispos). Si je voulais aller jusqu'au bout de la démarche, il me resterait donc que 5 journaux… C'est peu, et c'est problématique, je trouve.



    Au final, en 2020, j'ai décidé de continuer à lire Le Canard, Fakir, Siné mensuel, Le Ravi, La Revue Dessinée, Reflets.info, NextInpact et Basta !. Mediapart a pompé sa dîme avant que je pense à annuler le renouvellement automatique, mais je n'avais pas envie d'en continuer la lecture. En 2019, j'ai arrêté de lire Marianne (je n'ai pas accroché + trop de flicage et d'aides financières). En 2020, je me sépare des Jours (flicage), de Numerama (pub, flicage), de Contrepoints (flicage + j'ai pas accroché) et d'Arrêt sur images (flicage).

    10/04/2020 14:17:32 - permalink -
    - http://shaarli.guiguishow.info/?Vv0uAQ
  • Flicage sur leur site web, j'écris à Mediapart, Arrêt sur images, Numerama, Les Jours, Basta !, Fakir, Le Ravi et Siné mensuel

    Résumé : comme tout site web moderne, ceux des journaux sont gavés de traqueurs / pisteurs, d'outils de mesure d'audience et de contenus externalisés (CSS, police de caractères, JS, frames vidéo / tweet / carte géographique, visualisations graphiques, PDF, CAPTCHA etc.) hébergés chez les géants du net (Google, CloudFlare, Adobe, BootstrapCDN, jsDelivr, Youtube/Vimeo/Dailymotion, etc.) qui, du coup, sont en mesure de suivre les lecteurs sur le site des journaux (unetelle a lu tel et tel article) et entre les sites (leur position hégémonique le leur permet). Une approche individuelle (installer uBlock Origin, Smart-Referer, etc.) est nécessaire mais insuffisante : outils-passoires, ça nécessite des compétences sans cesse actualisées, ça ne met pas l'éditeur et le développeur d'un site web de merde face à leurs responsabilités. Que faire ? Envoyer des lettres recommandées avec accusé de réception aux journaux. Ça changera très probablement rien, mais ils ne pourront pas nier qu'ils savaient et on pourra les tenir responsables dans le futur. Ci-dessous, mes lettres. Je t'invite évidemment à t'en inspirer afin d'envoyer un email ou un courrier postal à tes journaux favoris : plus on sera nombreux, plus la probabilité d'être entendus augmente.


    Introduction

    Sur tout site web moderne, et cela m'afflige, il y a des traqueurs / pisteurs afin d'en mesurer l'audience et/ou de le relier aux principaux réseaux sociaux et/ou d'afficher de la publicité ciblée. Et il y a l'externalisation.

    • L'externalisation des contenus, d'abord : la vidéo hébergée chez Google Youtube, la carte géographique Google Maps, le gadget Twitter, la visualisation graphique flourish.studio ou highcharts.com, le PDF chez Adobe ou Scribd, la newsletter Mailerlit, etc. ;

    • L'externalisation technique, ensuite, celle qu'on ne voit pas : la police de caractères hébergée chez Google Fonts, le CSS (mise en forme) chez BootstrapCDN, les scripts chez CloudFlare, la protection Google ReCAPTCHA, la tenue de charge avec embed.ly ou CloudFlare ou Microsoft, etc.

    Évidemment, les sites web des journaux ne sont pas une exception. C'est problématique.

    À chaque fois qu'une ressource externe est récupérée, le navigateur web indique depuis quelle page de quel site il vient. C'est l'entête HTTP « Referer ». Exemple : « Referer: https://www.mediapart.fr/journal/economie/130218/les-milliardaires-de-la-presse-gaves-d-aides-publiques-et-privees » signifie que le navigateur est sur cet article précis de ce journal précis. Cet entête est journalisé côté serveur web. Cela crée donc un journal qui associe une date, un Referer, une page web demandée et d'autres infos à une adresse IP.

    Cela signifie qu'une poignée d'acteurs économiques (Google, CloudFlare, BootstrapCDN, jsDelivr, etc.) consignent une association adresses IP + Referer. Comme tout le monde utilise leurs services, ils peuvent suivre notre navigation au sein d'un site web et entre les sites web. Untel a lu tels et tels articles dans le Figaro (il y a l'URL complète dans le Referer, voir ci-dessus), puis il a été sur tel site de rencontre et il y a regardé tels et tels profils (URL complète, toujours ;) ) puis il a consulté tel autre site web. Tout ce flicage se fait sans cookies. Je ne dis pas que ces acteurs vont utiliser ces informations à mauvais escient, mais ils les collectent. Or, une collecte sans utilisation aujourd'hui peut conduire à une compromission de la vie privée demain (décision de la Cour de Justice de l'Union Européenne Digital Rights Ireland de 2014). C'est l'évidence même, comme une sextape sans utilisation malveillante aujourd'hui laisse la porte ouverte à un chantage demain. Plus d'infos dans cet article.

    Il faudra également m'expliquer l'intérêt d'outils de mesure de l'audience sur le site web d'un journal payant. Le nombre d'abonnements est un indicateur amplement suffisant.

    • Cela sert-il à détecter les fraudeurs (mutualisation d'un compte) ? Le montant de la fraude légitime-t-il de fliquer tout le monde ? ;

    • Cela sert-il à adapter le site web aux appareils (ordi fixe, smartphone, etc.) utilisés par les lecteurs ? On peut obtenir ces infos par des sondages en acceptant que les lecteurs puissent refuser d'y répondre ;

    • Cela sert-il à adapter la ligne éditoriale en tenant compte des articles les plus lus ? Un journal ne doit pas contenter ces lecteurs mais les surprendre avec des contenus auxquels ils ne s'attendent pas. L'esprit critique est à ce prix.

    Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités commerciales (était-ce seulement parce que le support ne le permettait pas ?). Le vendeur de journaux sait que j’ai acheté tel journal papier. Personne d’autre. Il ne sait pas ce que j’y ai lu. Personne le sait. Ça doit rester ainsi avec le numérique. Le secret des lectures est aussi vital pour la démocratie que le secret du vote : personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu’un. Il ne peut pas y avoir de pensée autonome sous surveillance : l'humain adapte ses comportements dès qu'il a des raisons légitimes (pas forcément réelles) de se sentir surveillé (source (paragraphe « Importance de la vie privée »)). Le respect de la vie privée est un enjeu fort de la presse numérique et il n’est pas pris au sérieux.

    Alors oui, on pourrait préconiser à tout le monde d'installer un bloqueur de pub + traqueurs, un bloqueur de Referer et plein d'autres outils. C'est nécessaire, oui, mais ça ne suffit pas.

    • Tous ces outils sont une passoire sauf à les paramètrer en mode très agressif (et encore…), mais alors la navigation web est insupportable ;

    • Cela exclut la majorité de la population. Qui ne sait pas que ces outils existent. Qui n'a pas envie. Qui a autre chose à faire que de suivre l'actualité numérique pour savoir que, désormais, les traqueurs sont déguisés ou qu'on ne devrait plus utiliser Adblock Edge mais uBlock Origin. C'est juste chiant, même pour moi. Or, la vie privée est un droit pour tout le monde ;

    • Cela répare une connerie faite par un autre (éditeur du site web, développeur, etc.), qui, du coup, s'en sort sans devoir assumer ses responsabilités. La personne en faute a rien à faire, elle est tranquille. Forcément, elle ne changera pas d'attitude (pourquoi changer, quand ça te profite ?).

    Je préfère remonter à la racine du problème. C'est-à-dire à ceux qui commandent des sites web de merde, à ceux qui les confectionnent et à ceux qui y publient des contenus.

    • L'externalisation technique se résout presque facilement. Internaliser CSS, scripts, polices de caractères, l'humanité sait faire. Concevoir des infrastructures qui tiennent un nombre élevé de lecteurs pour un prix pas mirobolant, l'humanité sait aussi faire. Reste quelques briques dont il n'existe pas vraiment d'équivalent clé en main comme Google reCAPTCHA, mais cela sert à protéger un formulaire contre le spam, donc ça ne s'insère pas sur toutes les pages. Bref, il y a aucune bonne excuse pour ne pas nettoyer ses sites web, aucune.

    • L'externalisation des contenus se résout plus difficilement. Soit on fait des liens vers ces contenus, laissant ainsi le choix à l'utilisateur de se faire traquer, mais on perd un des intérêts du web qui est de mixer les contenus sur une même page. Soit il faut se débrouiller et ça implique plusieurs choses. Il faut former les journalistes aux outils alternatifs (genre OpenStreetMap pour créer une carte géographique) ou aux bonnes pratiques (pour citer un tweet, pas besoin du gagdet twitter, un copie-coller suffit). Il faut déployer des outils internes et les intégrer avec l'outil de publication (c'est le plus gros du travail). Il faut développer les outils qui n'existent pas encore (comme ceux pour créer et publier des visualisations graphiques).

    C'est pour ça que j'ai écrit aux journaux que je lis (voir mon mini-comparatif de la presse en fonction de l'actionnariat, des sources de revenus, du flicage et de l'indépendance fonctionnelle). Oui, tant pis pour les autres journaux, je ne peux pas faire tout le boulot tout seul et je doute qu'ils soient réceptifs, vu à quel point ils se fichent de produire des articles de qualité et de leur indépendance. Je ne suis pas naïf, rien changera. Mais, au moins, ils ne pourront pas nier : ils étaient au courant de la problématique et je pourrais dégainer les accusés de réception La Poste pour le démontrer. Même s'il s'avérait que mon courrier est mal rédigé, incompréhensible, etc., ils devaient se renseigner. S'ils ne le font pas, c'est un choix dont on pourra collectivement les tenir responsable.

    J'ai hésité : fallait-il embêter les journaux qui peinent à se sortir la tête de l'eau ? À l'origine, j'ai envoyé un email à Mediapart le 18/05/2018. Il est évidemment resté sans réponse. Mediapart est un journal bénéficiaire, donc il a la thune pour (faire) corriger son site web. Mediapart a la thune pour former ses journalistes et faire développer les outils internes qui manquent (ceux pour afficher des visualisations graphiques, par exemple). En revanche, Le Ravi ou Siné mensuel boivent la tasse. Faut-il les embêter ? J'ai tranché en faveur du oui. Ça les informe de la problématique et ça leur permet de planifier un changement s'ils le désirent. Ils ont aussi la possibilité de se regrouper et de créer ensemble les outils dont la profession a besoin.

    Fallait-il envoyer un courrier à Numerama qui a fait le choix de la publicité ? Je le pense. On a besoin d'autres journaux spécialisés autour du numérique en sus de NextInpact. Les analyses juridiques de Guillaume Champeau étaient pertinentes et éclairantes. Les tutoriels et les bouts de politique actuels le sont tout autant. Je ne retrouve pas cela sur les autres journaux qui traitent du numérique car ils ont un angle d'attaque orienté décideur / business.

    Pourquoi le Canard enchaîné y a échappé ? Parce qu'en février 2020, il y avait rien à redire, pas de Google ReCAPTCHA, pas de Matomo.


    Courriers

    Après cette longue introduction pour expliquer ma démarche, voici les courriers recommandés avec accusé de réception que j'ai envoyé le 13 février 2020 (le 10/03 pour Basta !, la première lettre n'ayant pas été récupérée dans les temps). En les relisant deux mois après, je constate quelques ratés :

    • La présence de fautes malgré mes nombreuses relectures ;

    • Je ne présente pas les autres avantages à l'internalisation technique : 1) pas de dépendances à des acteurs économiques avec lesquels le journal n'a pas de contrat donc aucune assurance de pérennité ni garantie d'absence de panne (Google a déjà été en panne, CloudFlare aussi). C'est dommage de perdre la mise en forme de son site web car un acteur toussote à l'autre bout d'Internet… 2) site web moins lent à charger car moins de requêtes DNS+TLS+HTTP à effectuer ;

    • Je suis excessivement prudent sur l'utilisation de l'entête Referrer-Policy : ça ne détraque pas les outils de mesure d'audience (pas Matomo, en tout cas) ;

    • Je reproche à Mediapart, aux Jours et au Ravi que leur bandeau de recueil du consentement n'est pas conforme au RGPD en cela qu'il disparaît si l'on clique sur un article tout en laissant activé tout le flicage. Je pensais alors que la CNIL, l'autorité administrative chargée de la protection des données personnelles, allait faire entrer en vigueur sa nouvelle politique à ce sujet, donc je voulais préparer le terrain. Or, depuis, elle a choisi de reporter une nouvelle fois cette application du RGPD… On notera aussi que j'ai rien écrit aux journaux qui n'ont pas de bandeau de recueil du consentement. J'utilise cet argument (bandeau qui ne respecte pas le RGPD) afin que le journal ne puisse pas me répondre "le flicage est désactivable". Or, cette réponse est beaucoup plus probable de la part d'un journal qui a déployé un bandeau. Pour ceux qui ne l'ont pas fait, je préfère largement ne pas avoir de traqueurs plutôt qu'un énième recueil de mon consentement.


    Arrêt sur images

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour,

    J'étais abonné à Arrêt sur images.

    Je me permets un point de théorie nécessaire pour comprendre la problématique que je vais soulever.
        Tout contenu externe qui est directement affiché sur le site web d'ASI (c'est-à-dire qui n'est pas un lien) permet à l'éditeur (et à l'hébergeur) dudit contenu de suivre, au fil des jours, le parcours des lecteurs d'ASI sur le site web d'ASI et en dehors si d'autres sites web ont recours à ce même contenu (c'est le cas d'un traqueur Facebook ou d'une police de caractères hébergée par Google, l'hégémonie de ces sociétés commerciales leur permet de suivre l'activité des citoyens sur le web, de site web qui utilise leurs services en site web qui utilise leurs services).
        Ces éditeurs (et hébergeurs) récupèrent bien sûr l'adresse IP (l'identifiant technique d'un ordinateur ou d'une entité – un foyer domestique, une société commerciale, une administration, etc. – ) du lecteur d'ASI, mais aussi l'adresse de la page web d'ASI sur laquelle il se trouve (ça se nomme « HTTP referer »), et donc quel contenu précis le lecteur est en train de lire (ha, celui-ci s'intéresse à Charonne puis au coup de com' autour de la fin de la GLI-F4 puis au vrai-faux OFCE/Le Maire).
        Ça, c'est le minimum, je passe sur les autres informations qui peuvent être récupérées à propos et à l'insu des lecteurs d'ASI.

    On peut séparer ces contenus en différentes catégorie : traqueurs publicitaires, traqueurs de profilage / statistiques, et contenu utile mais externalisé. Je préfère le terme de traqueur à celui de pisteur, car sa sémantique est plus proche de la vérité.

    Arrêt sur image n'a pas recours à la publicité, donc la première catégorie est pliée.

    ASI utilise un seul traqueur de profilage et de statistiques : Google Analytics fourni par la multinationale du même nom.

    Quel est l'intérêt d'établir des statistiques sur les lecteurs ? À mes yeux, le nombre d'abonnements est l'indicateur-clé d'un journal payant et il se suffit à lui-même. À quoi bon calculer d'autres statistiques (nombre de visites, de visiteurs) ?!

    1. Détecter les fraudeurs qui mutualisent un abonnement ? Quelle importance cela a-t-il ? Quel impact sur le chiffre d'affaires cela représente-t-il ?

    2. Adapter la ligne éditoriale en fonction des articles les plus lus ? Le but d'un journal n'est pas de contenter ses lecteurs, mais de les surprendre, de leur ouvrir l'esprit avec des sujets auxquels ils ne s'attendent pas.

    À quoi bon connaître le nombre d'abonnés mobiles / fixes et certains paramètres techniques des ordinateurs des lecteurs ? Si c'est vraiment important pour adapter le comportement du site, il suffit de demander cette information aux lecteurs en leur laissant le choix de ne pas répondre. Même chose pour les autres informations récoltées par Google Analytics : elles me semblent futiles, mais si elles sont vraiment importantes, demandez-les et acceptez qu'on ne vous réponde pas.

    Je pense vraiment que Arrêt sur image peut virer le traqueur Google Analytics sans trop d'effort et sans subir une quelconque perte. Vos confrères des journaux Reflets.info et NextInpact l'ont fait (uniquement pour les abonnés dans le cas du second).
        Au pire, si vous voulez vraiment établir des statistiques sur vos lecteurs en conservant le même niveau de service, faites-le en interne, sans recourir à des services tiers (Google Analytics) qui fliquent les lecteurs. C'est possible avec le logiciel Matomo, par exemple. Là encore, vos confrères de Reflets.info ont déjà la configuration informatique qui fonctionne.

    Venons-en à la catégorie « contenu utile externalisé ».

    Arrêt sur image utilise des polices de caractères (qui déterminent la manière dont sont affichés les caractères des textes, en très résumé) qui sont stockées chez Google (fonts.gstatic.com). Vous pouvez utiliser les mêmes polices en les stockant sur votre hébergement, à côté de votre site web, comme vous le faites avec les images d'illustration. Le passage de l'état actuel à l'état que je propose devrait vous prendre moins de 15 minutes de travail et retire une dépendance à Google et un traqueur, ce qui permet de ne pas communiquer à Google d'informations sur vos visiteurs (voir le paragraphe de vulgarisation ci-dessus).

    Sur sa page d'accueil, ASI affiche vos tweets (Daniel S.). Encore une requête vers Twitter et des données personnelles de visiteurs qui partent vers Twitter. Ce contenu me semble futile, mais s'il est important pour vous, remplacez ce gadget (widget) Twitter par un lien vers votre compte Twitter. Les abonnés intéressés cliqueront d'eux-mêmes. Si vous voulez vraiment conserver l'affichage des tweets sous la forme actuelle, utilisez l'API de Twitter pour récupérer les tweets du côté du site web ASI et les afficher vous-même. Ainsi, les abonnés verront les tweets sans être fliqués par Twitter.

    Sur toutes vos pages, vous chargez des scripts en provenance de Dailymotion, Vimeo et Youtube. Même sur les pages qui ne comportent pas de vidéos. Si vous les jugez nécessaires (pour ma part, je doute de leur petinence), chargez le script adéquat uniquement sur les pages qui comportent au moins une vidéo de l'hébergeur en question (chargez le script Youtube si vous affichez une vidéo Youtube, chargez le script Vimeo si vous affichez une vidéo Vimeo). Alors, oui, ça demande un certain développement informatique, mais l'on ne doit pas excéder la journée de travail. Et, au moins, ces plateformes de vidéo ne suivront plus les abonnés d'ASI sur toutes les pages, dévoilant ainsi leurs lectures, leurs intérêts, etc.

    De même, quand vous intégrez une vidéo, vous utilisez également les services de la société commerciale embed.ly qui propose de « grow your audience ». Encore une fois, je n'en vois pas l'intérêt pour un journal payant et cela informe embed.ly des lectures des abonnés. D'un point de vue technique, les plateformes de vidéo sus-citées ont déjà l'infrastructure technique nécessaire pour survivre aux abonnés d'ASI, pas besoin d'ajouter un intermédiaire qui fait double emploi.

    Pour la diffusion de vos émissions, vous pouvez envisager de remplacer Vimeo par PeerTube (https://joinpeertube.org/ ). Vos confrères de Thinkerview l'ont fait.

    Internalisez au maximum les contenus que vous utilisez (images, vidéos, document PDF, visualisation graphique, etc.), c'est-à-dire stockez-les sur votre site web, sur votre hébergement, sans dépendance à un acteur extérieur à Arrêt sur image.

    Néanmoins, en tant que critique média, vous avez besoin d'afficher, dans le corps de vos articles, les contenus vidéos d'autrui. Soit vous les importez au préalable sur PeerTube et ça consomme du temps de travail pas forcément rentabilisé, soit, vous n'intégrez plus les vidéos dans le corps de vos articles, vous contentant de pointer la vidéo avec un lien dans le corps de l'article. L'abonné qui le souhaite cliquera sur le lien et ira voir le contenu. Donnez le choix aux abonnés de se faire voler ou non leur vie privée en vous lisant.

    Ce dernier point est valable pour tous les contenus externalisés que vous souhaitez montrer à vos abonnés (document PDF, tweet, visualisation graphique, etc.) : ne les intégrez pas dans le corps de vos articles, mais pointer ces contenus avec un lien. Pour un tweet, par exemple, citez-le de la même manière que vous citeriez une déclaration orale : sans utiliser le gadget Twitter, sans fioriture, juste entre des guillemets. Si un lien vous semble trop austère, rusez : transformez le contenu en image hébergée à côté de votre site web, par exemple.

    Si vous ne pouvez pas vous passer de contenus externes, voici un palliatif : demander au service informatique d'Arrêt sur image et/ou à votre hébergeur informatique, r3zo, de configurer le serveur web d'ASI pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation technique : https://frama.link/rp ). Quand il récupérera une ressource externe (police de caractères stockée chez Google, gadget Twitter, vidéo Google Youtube ou Vimeo ou..., etc.) le navigateur web du lecteur d'ASI n'indiquera plus sur quelle page d'ASI, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article d'ASI est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, en fonction du contenu demandé et de son nom, le service externe n'a pas besoin de connaître précisément l'article lu par le lecteur d'ASI pour en connaître la teneur. Bref, cette mesure est insuffisante. Mais c'est un premier pas très facile à mettre en œuvre : on parle de moins de 15 minutes de travail d'un informaticien.
        Notons que cela peut réduire la pertinence de vos statistiques Google Analytics.

    Le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Un journalisme éthique (indépendant, critique, etc.) ne me suffit plus. Je n'arrive plus à lire des articles en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités. Le vendeur de journaux sait que j'ai acheté tel journal papier. Personne d'autre. Il ne sait pas ce que j'y aie lu. Personne le sait. Ça doit rester ainsi. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance. La vie privée est un enjeu fort de la presse numérique, à mon avis, et il n'est pas pris au sérieux.

    J'espère qu'Arrêt sur image fera tous les efforts possibles pour virer le traqueur Google Analytics et les contenus externalisés (au moins la police de caractères et embedly, c'est 30 minutes de travail). Ça serait chouette, un journal encore plus éthique et respectueux de ses lecteurs

    Cordialement.


    Basta !

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour,

    Je vous ai envoyé ce courrier une première fois le 13 février 2020. Compte-tenu de son rôle de directeur de la publication, je l'avais adressé à Eros Sana. Il ne l'a pas récupéré (LRAR). Je vous l'envoie à nouveau sans destinataire précis dans l'espoir que quiconque puisse signer et le réceptionner. Vous pouvez remettre cet exemplaire à Eros Sana ou le lire collégialement.

    –– Début du courrier original ––

    Je lis Basta ! avec assiduité et je contribue à son financement par un don annuel d'un montant égal à ce qui se pratique en matière d'abonnement annuel à la presse écrite.

    Je me permets un point de théorie nécessaire pour comprendre la problématique que je vais soulever.
        Tout contenu externe qui est directement affiché sur le site web de Basta ! (c'est-à-dire qui n'est pas un lien) permet à l'éditeur (et à l'hébergeur) dudit contenu de suivre, au fil des jours, le parcours des lecteurs de Basta !, sur le site web de Basta ! et en dehors si d'autres sites web ont recours à ce même contenu (c'est le cas d'un traqueur Facebook ou d'une police de caractères hébergée par Google, l'hégémonie de ces sociétés commerciales leur permet de suivre l'activité des citoyens sur le web, de site web qui utilise leurs services en site web qui utilise leurs services).
        Ces éditeurs (et hébergeurs) récupèrent bien sûr l'adresse IP (l'identifiant technique d'un ordinateur ou d'une entité – un foyer domestique, une société commerciale, une administration, etc. – ) du lecteur de Basta !, mais aussi l'adresse de la page web de Basta ! sur laquelle il se trouve (ça se nomme « HTTP referer »), et donc quel contenu précis le lecteur est en train de lire (ha, celui-ci s'intéresse à la fausse annonce de retrait de la GLI-F4 puis à Blackrock puis aux assassinats de protecteurs de l'Amazonie).
        Ça, c'est le minimum, je passe sur les autres informations qui peuvent être récupérées à propos et à l'insu des lecteurs de Basta !.

    On peut séparer ces contenus en différentes catégorie : traqueurs publicitaires, traqueurs de profilage / statistiques, et contenu utile mais externalisé. Je préfère le terme de traqueur à celui de pisteur, car sa sémantique est plus proche de la vérité.

    Basta ! n'a pas recours à la publicité, donc la première catégorie est pliée.

    Basta ! utilise deux traqueurs de profilage et de statistiques : le logiciel Matomo fourni par son hébergeur, Nursit, et Google Analytics fourni par la multinationale du même nom.

    Le premier est parfaitement légitime. Le second est contestable. D'abord parce qu'il est un doublon du premier. Quel intérêt d'utiliser plusieurs outils qui assurent peu ou prou les mêmes fonctions ?

    Je pense que vous pouvez cesser l'utilisation de Google Analytics sans subir une quelconque perte. Vos confrères des journaux Reflets.info et NextInpact l'ont fait (uniquement pour les abonnés dans le cas du second).

    Venons-en à la catégorie « contenu utile externalisé ».

    D'une part, Basta ! utilise une police de caractères (qui détermine la manière dont sont affichés les caractères des textes, en très résumé) qui est stockée chez Google (fonts.googleapis.com). Vous pouvez utiliser la même police en la stockant sur votre hébergement, à côté de votre SPIP, comme vous le faites des images et des documents PDF que vous mettez à disposition. Le passage de l'état actuel à l'état que je propose devrait vous prendre moins de 15 minutes de travail. Et ça permet de ne pas communiquer à Google d'informations sur vos visiteurs (voir le paragraphe de vulgarisation ci-dessus).

    D'autre part, dans son pied de page, Basta ! affiche le logo / bouton Creative Commons. À chaque affichage d'une page (je simplifie), ce bouton, une simple image, est récupéré depuis le site web de l'organisation Creative Commons Corporation. Là encore, vous pouvez héberger une copie du bouton sur votre hébergement, à côté de votre SPIP, comme vous le faites avec les images d'illustration de vos articles. C'est parfaitement autorisé par Creative Commons Corporation. Là encore, cela nécessite moins de 15 minutes de travail. Et ça permet de ne pas laisser filer des données personnes du lecteur.

    D'une manière générale, si vous souhaitez afficher des contenus externalisés, ne les intégrez pas dans le corps de vos articles, mais pointer ces contenus avec un lien. Ainsi, seuls les lecteurs désireux d'en apprendre plus cliqueront sur le lien et verront leurs données personnelles être communiquées à des services tiers. Exemples :

    • Si vous voulez partager une visualisation graphique (exemple : https://frama.link/b-e3c ), utilisez a minima l'outil de cartographie libre et collaboratif OpenStreetMap plutôt que Google Maps (comme vous l'avez fait dans https://frama.link/b-mouvs , par exemple), mais, mieux, transformez la visualisation en une image que vous afficherez dans le corps de l'article. Si l'interactivité de la visualisation est importante, mettez un lien vers la visualisation dans le corps de l'article ;

    • Si vous voulez partager une vidéo Vimeo, Youtube, autre, peu importe (exemple : https://frama.link/b-charal ), proposez un lien vers ladite vidéo, ne l'intégrez pas dans le corps de l'article ;

    • Si vous voulez partager un tweet, n'utilisez pas le gadget Twitter, copiez-collez le texte du tweet et faites-en une citation entre de simples guillemets, comme quand vous restituez un témoignage oral. La fioriture Twitter est inutile ;
      Même raisonnement pour les autres contenus (PDF, graphique, etc.) : internalisez un maximum. Si vous n'avez pas les outils pour ce faire, rusez (transformer le contenu en image et affichez cette image, etc.). Donnez au moins le choix à vos lecteurs de se faire voler leur vie privée ou non.

    Si vous ne pouvez pas vous passer de contenus externes, voici un palliatif : demander à l'hébergeur informatique de Basta !, Nursit, de configurer le serveur web de Basta ! pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation : https://frama.link/rp ). Quand il récupérera une ressource externe (police de caractères stockée chez Google, vidéo Google Youtube, cartographie Google Maps, etc.) le navigateur web du lecteur de Basta ! n'indiquera plus sur quelle page de Basta !, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article de Basta ! est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, en fonction du contenu demandé et de son nom, le service externe n'a pas besoin de connaître précisément l'article lu par le lecteur de Basta ! pour en connaître la teneur. Bref, cette mesure est insuffisante. Mais c'est un premier pas très facile à mettre en œuvre (toujours moins de 15 minutes de travail).
        Notons que cela peut réduire la pertinence de vos statistiques Google Analytics.

    Le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Un journalisme éthique (indépendant, militant, financement par don, etc.) ne me suffit plus. Je n'arrive plus à lire des articles en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités. Le vendeur de journaux sait que j'ai acheté tel journal papier. Personne d'autre. Il ne sait pas ce que j'y aie lu. Personne le sait. Ça doit rester ainsi. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance. La vie privée est un enjeu fort de la presse numérique, à mon avis, et il n'est pas pris au sérieux.

    J'espère que Basta ! fera tous les efforts possibles pour virer le traqueur Google Analytics et les contenus externalisés. Ça serait chouette, un journal encore plus éthique et respectueux de ses lecteurs.

    Cordialement.


    Fakir

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour Fakir,

    J'achète chaque numéro chez mon marchand de presse préféré (et j'lis parfois quelques bouquins du chef, mais chut).

    Je me permets un point de théorie nécessaire pour comprendre la problématique que je vais soulever.
        Tout contenu externe qui est directement affiché sur le site web de Fakir (c'est-à-dire qui n'est pas un lien) permet à l'éditeur (et à l'hébergeur) dudit contenu de suivre, au fil des jours, le parcours des lecteurs de Fakir sur le site web de Fakir et en dehors si d'autres sites web ont recours à ce même contenu (c'est le cas d'un traqueur Facebook ou d'une police de caractères hébergée par Google, l'hégémonie de ces sociétés commerciales leur permet de suivre l'activité des citoyens sur le web, de site web qui utilise leurs services en site web qui utilise leurs services).
        Ces éditeurs (et hébergeurs) récupèrent bien sûr l'adresse IP (l'identifiant technique d'un ordinateur ou d'une entité – un foyer domestique, une société commerciale, une administration, etc. – ) du lecteur de Fakir, mais aussi l'adresse de la page web de Fakir sur laquelle il se trouve (ça se nomme « HTTP referer »), et donc quel contenu précis le lecteur est en train de lire (ha, celui-ci s'intéresse à la bataille législative autour des frais d'obsèques des enfants puis à Sanofi puis à Il est où le bonheur ?).
        Ça, c'est le minimum, je passe sur les autres informations qui peuvent être récupérées à propos et à l'insu des lecteurs de Fakir.

    On peut séparer ces contenus en différentes catégorie : traqueurs publicitaires, traqueurs de profilage / statistiques, et contenu utile mais externalisé. Je préfère le terme de traqueur à celui de pisteur, car sa sémantique est plus proche de la vérité.

    Fakir n'a pas recours à la publicité, donc la première catégorie est pliée.

    Même topo pour la deuxième catégorie.

    Reste donc le contenu utile mais externalisé. Et là, c'est le drame.

    Le site web de Fakir utilise des polices de caractères (qui déterminent la manière dont sont affichés les caractères des textes, en très résumé) qui sont stockées chez Google (fonts.gstatic.com). À chaque article consulté sur le site web de Fakir par un lecteur, bip bip, Google le sait. Vous pourriez utiliser les mêmes polices en les stockant sur votre hébergement, à côté de votre site web. Le passage de l'état actuel à l'état que je propose devrait vous prendre moins de 30 minutes de travail et retire une dépendance à Google et un traqueur, ce qui permet de ne pas communiquer à Google d'informations sur vos visiteurs (voir le paragraphe de vulgarisation ci-dessus).

    Une partie des scripts (des bidules qui s'exécutent dans le navigateur web des lecteurs afin de proposer des fonctionnalités dynamiques plus ou moins utiles) sont stockés chez Jsdelivr.com. La page d'accueil charge aussi un script depuis bootstrapcdn. Je doute de l'utilité de ce script-là. Même topo : à chaque article consulté, bip bip, jsdelivr.com en est informé. Là encore, vous pouvez internaliser, stocker ces feuilles de style chez vous. Là encore, 30 minutes de travail devraient l'faire.

    Sur toutes les pages du site, une icône d'attente est chargée depuis Mailerlite, votre prestataire de newsletter. Même si le lecteur ne s'inscrit pas à la newsletter. Vous pourriez virer ce gadget de la colonne de droite, le mettre sur une page dédiée, et, dans le menu, proposer un lien vers cette page dédiée à la newsletter. Ainsi, seuls les utilisateurs désireux de s'abonner à la newsletter seraient filés par Mailerlite.
        Encore mieux, vous pourriez utiliser le service de liste de diffusion (ce qu'est une newsletter) de l'association française militante du numérique libre Framasoft (https://framasoft.org/fr/ ) nommé Framalistes ( https://framalistes.org/ ). Mais il y a pas mal de boulot pour passer de Mailerlite à Framalistes.

    Sur toutes les pages du site web de Fakir un script émanant de Google Maps est chargé. Même sur les pages qui ne comportent aucune carte, aucun plan. À mon avis, ce script est inutile et peut être supprimé. Sinon, le charger uniquement sur les pages qui comportent une carte Google Maps serait plus protecteur de la vie privée des lecteurs. Mais ça demande un peu de boulot. Encore mieux, vous pourriez utiliser le service de cartographie communautaire et collaboratif OpenStreetMap (https://osm.org/ ). Et là, y'a quasiment pas de boulot de prise en main.

    Parlons des vidéos stockées chez Google Youtube. Celle dans la colonne droite (pour Merci, patron !), celles en bas de la page d'accueil (Fakir TV), celles, peut-être, dans le corps d'articles. Là encore, à chaque article, bip bip bip, ça sonne chez Google. N'intégrez plus ces vidéos sur votre site web. Préférez mettre des liens vers elles ou vers votre chaîne Youtube. Le lecteur qui veut les voir cliquera et se fera pister l'cul par Google en connaissance de cause. Si vous voulez aller plus loin, vous pouvez remplacer Google Youtube par PeerTube (https://joinpeertube.org/ ). Vos confrères de Thinkerview l'ont fait. Mais la transition demandera pas mal de boulot.

    Terminons par le bouton Facebook Like présent dans l'entête de chaque article. Il est récupéré de chez Facebook. Là encore, à chaque article, bip bip bip, ça sonne chez Facebook. Facebook met à disposition un bouton statique, c'est-à-dire une simple image que Fakir pourra héberger lui-même sur son site web au même titre que les dessins d'illustration des articles. Il y aura toujours un bouton « j'aime » au sommet de chaque article, mais aucune information concernant les lecteurs ne sera envoyée à Facebook.
        Notons d'ailleurs que l'usage d'un bouton dynamique, comme le vôtre, qui permet à Facebook d'aspirer des données de citoyens non membres de Facebook entraîne une responsabilité de l'éditeur du site web qui utilise un tel bouton (Fakir, dans le cas présent), d'après la Cour de Justice de l'UE (voir : https://frama.link/fb-cjue ). Le bouton statique n'a pas ce problème... puisqu'aucune donnée est collectée.

    Si vous ne pouvez pas vous passer de contenus externes, voici un palliatif : configurez le serveur web du site web de Fakir pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation technique : https://frama.link/rp ). Quand il récupérera une ressource externe (icône Mailerlite, carte Google Maps, vidéo Google Youtube, etc.) le navigateur web du lecteur du site web de Fakir n'indiquera plus sur quelle page du site web de Fakir, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article de Fakir est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, en fonction du contenu demandé et de son nom, le service externe n'a pas besoin de connaître précisément l'article lu par le lecteur de Fakir pour en connaître la teneur. Bref, cette mesure est insuffisante. Mais c'est un premier pas très facile à mettre en œuvre (on parle de 15 minutes de travail).

    Le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Un journalisme éthique (indépendant, militant, etc.) ne me suffit plus. Je n'arrive plus à lire des articles web en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités. Le vendeur de journaux sait que j'ai acheté tel journal papier. Personne d'autre. Il ne sait pas ce que j'y aie lu. Personne le sait. Ça doit rester ainsi. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance. La vie privée est un enjeu fort du numérique, à mon avis, et il n'est pas pris au sérieux.

    Alors, Fakir, voudrais-tu rendre ton site web plus agréable et moins voleur de données personnelles concernant tes lecteurs ? C'est un noble objectif, tu ne trouves pas ? Des journaux en ligne comme NextInpact et Reflets.info l'ont fait. Pas de pub. Pas de traqueur. Pas de contenu externe. Tout beau, tout propre, le vrai web d'antan. C'est important, un tel site web respectueux des lecteurs : ça donne envie de partager des contenus que l'on a appréciés dans la version papier auprès de non lecteurs.

    Cordialement.


    Le Ravi

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour,

    J'achète la version papier du Ravi tous les mois chez mon marchand de presse préféré.

    Dans les derniers numéros, vous faites la promotion de votre nouveau site web. Même si je préfère le format papier, j'ai voulu voir à quoi il ressemble. Plutôt pas mal. Propre et tout. Mais, j'ai des pistes d'amélioration.

    Votre hébergeur informatique est OVH. Pourquoi ne pas avoir choisi un des nombreux hébergeurs qui ont leur siège social et leur infrastructure informatique en PACA ? Pour une raison de coût ? Un journal régional hébergé en PACA, ça aurait eu d'la gueule.

    Je me permets un point de théorie nécessaire pour comprendre la problématique que je vais soulever.
        Tout contenu externe qui est directement affiché sur le site web du Ravi (c'est-à-dire qui n'est pas un lien) permet à l'éditeur (et à l'hébergeur) dudit contenu de suivre, au fil des jours, le parcours des lecteurs du Ravi sur le site web du Ravi et en dehors si d'autres sites web ont recours à ce même contenu (c'est le cas d'un traqueur Facebook ou d'une police de caractères hébergée par Google, l'hégémonie de ces sociétés commerciales leur permet de suivre l'activité des citoyens sur le web, de site web qui utilise leurs services en site web qui utilise leurs services).
        Ces éditeurs (et hébergeurs) récupèrent bien sûr l'adresse IP (l'identifiant technique d'un ordinateur ou d'une entité – un foyer domestique, une société commerciale, une administration, etc. – ) du lecteur du Revi, mais aussi l'adresse de la page web du Ravi sur laquelle il se trouve (ça se nomme « HTTP referer »), et donc quel contenu précis le lecteur est en train de lire (ha, celui-ci s'intéresse à la raffinerie de la Mède puis aux municipales dans le Vaucluse puis aux femmes engagées en PACA).
        Ça, c'est le minimum, je passe sur les autres informations qui peuvent être récupérées à propos et à l'insu des lecteurs du site web du Ravi.

    On peut séparer ces contenus en différentes catégorie : traqueurs publicitaires, traqueurs de profilage / statistiques, et contenu utile mais externalisé. Je préfère le terme de traqueur à celui de pisteur, car sa sémantique est plus proche de la vérité.

    Le site web du Ravi n'a pas recours à la publicité, donc la première catégorie est pliée.

    Le site web du Ravi utilise un unique traqueur de profilage et de statistiques : Google Analytics fourni par la multinationale du même nom.

    À ce sujet, le message d'information en bas de la page d'accueil est défectueux (j'ai testé avec un navigateur Mozilla Firefox récent et vierge c'est-à-dire sans extensions et avec un profil fraîchement créé)  : il s'affiche une unique fois sur la page d'accueil. Si le lecteur n'y prête pas attention et clique sur un article, le message ne s'affiche plus. Même si le lecteur revient plus tard sur la page d'accueil. Il faut que le lecteur efface les cookies du Ravi de son navigateur web puis qu'il revienne sur la page d'accueil du Ravi pour avoir à nouveau le choix !
        Pendant ce temps, tous les traqueurs sont activés... sans recueil du consentement du lecteur.
        Ceci n'est pas conforme au Règlement européen 2016/679 sur la protection des données personnelles : le consentement ne peut pas être réputé acquis par défaut.

    Je ne comprends pas l'intérêt d'établir des statistiques sur les lecteurs ? À mes yeux, le nombre d'abonnements est l'indicateur-clé d'un journal payant et il se suffit à lui-même. À quoi bon calculer le nombre de visites et de visiteurs uniques mensuels ?!

    1. Détecter les fraudeurs qui mutualisent un abonnement ? Quelle importance cela a-t-il ? Quel impact sur le chiffre d'affaires cela représente-t-il ?

    2. Adapter la ligne éditoriale en fonction des articles les plus lus ? Le but d'un journal n'est pas de contenter ses lecteurs, mais de les surprendre, de leur ouvrir l'esprit avec des sujets auxquels ils ne s'attendent pas.

    À quoi bon connaître le nombre d'abonnés mobiles / fixes et certains paramètres techniques des ordinateurs des lecteurs ? Si c'est vraiment important pour adapter le comportement du site web, il suffit de demander cette information aux lecteurs en leur laissant le choix de ne pas répondre. Même chose pour les autres informations récoltées par Google Analytics : elles me semblent futiles, mais si elles sont vraiment importantes, demandez-les et acceptez qu'on ne vous réponde pas.

    Je pense vraiment que Le Ravi peut virer le traqueur Google Analytics sans trop d'effort et sans subir une quelconque perte. Vos confrères des journaux Reflets.info et NextInpact l'ont fait (uniquement pour les abonnés dans le cas du second).
        Au pire, si vous voulez vraiment établir des statistiques sur vos lecteurs en conservant le même niveau de service, faites-le en interne, sans recourir à des services tiers qui fliquent les lecteurs. C'est possible avec le logiciel Matomo, par exemple. Là encore, vos confrères de Reflets.info ont déjà la configuration informatique qui fonctionne.

    Sur tous les articles (mais pas sur la page d'accueil ni dans les catégories d'articles), vous chargez le script reCAPTCHA fourni par la multinationale Google. Donc, à chaque fois qu'un lecteur lit un article, pouf, Google en est informé (HTTP referer, toujours). Pas cool. Êtes-vous sûr d'avoir l'utilité de ce script ? Je ne comprends pas à quoi il sert, surtout sur les articles (mais je ne suis pas abonné, donc je n'ai pas pu vérifier avec exactitude). Normalement, ce mécanisme sert à protéger des formulaires (de contact, d'inscription, etc.) du spam, donc il doit être intégré uniquement sur les pages qui incorporent un tel formulaire. Avec un Wordpress, il faut un peu de travail, mais c'est faisable.

    Sur la page « contacts », vous utilisez une carte Google Maps. Pourquoi ne pas utiliser l'outil de cartographie collaboratif et communautaire OpenStreetMap (https://osm.org/ ) ? Je vous prépare même le lien : https://frama.link/ravi-osm .
        Bien sûr, sur votre site web, il est préférable de mettre un lien vers cette carte plutôt que d'intégrer la carte dans le contenu de votre site web comme c'est le cas aujourd'hui. Ainsi, seuls les lecteurs intéressés qui cliquent sur le lien informeront Google (ou OpenStreetMap) qu'ils sont sur telle page du site web du Ravi.

    N'étant pas abonné, je ne peux pas vérifier, mais, d'une manière générale, dès que vous voulez afficher un contenu dans le corps d'un article, soit internalisez-le c'est-à-dire stockez-le à côté de votre site web, comme vous le faites avec les dessins de presse, soit faites un lien vers ce contenu qui demeurera externe. N'intégrez pas ces contenus externes dans vos articles. Ainsi, seuls les lecteurs désireux d'en apprendre plus cliqueront sur le lien et verront des bouts de leur vie privée être collectés par ces contenus externes.
        Pas besoin du gadget (widget) Twitter et de sa fioriture pour illustrer un article avec un tweet, une simple citation entre guillemets et un lien vers le tweet suffisent.
        Si vous partagez une vidéo, mettez simplement son lien dans l'article, n'intégrez pas le lecteur Youtube (ou autre) ni la vidéo.
        Si vous partagez une visualisation graphique externe (une mappemonde, un graphique, etc.), proposez un lien vers ce contenu, ne l'intégrez pas dans le corps de l'article ou alors sous la forme d'une image.
        Quand vous voulez partager un document PDF, hébergez-le vous-même, comme vos dessins de presse ou faites un lien vers le document.
        Etc.
    Bref, laissez le choix au lecteur de se faire fliquer ou non.

    Si vous ne pouvez pas vous passer de contenus externes, voici un palliatif : configurez le serveur web du site web du Ravi pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation technique : https://frama.link/rp ). Quand il récupérera une ressource externe (Google reCAPATCHA, Google Maps, vidéo Google Youtube, etc.) le navigateur web du lecteur du site web du Ravi n'indiquera plus sur quelle page du site web du Ravi, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article du Ravi est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, en fonction du contenu demandé et de son nom, le service externe n'a pas besoin de connaître précisément l'article lu par le lecteur du Ravi pour en connaître la teneur.
        Bref, cette mesure est insuffisante. Mais c'est un premier pas très facile à mettre en œuvre (on parle de 15 minutes de travail).

    Le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Un journalisme éthique (indépendant, local, avec des dessins de presse, etc.) ne me suffit plus. Je n'arrive plus à lire des articles en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités. Le vendeur de journaux sait que j'ai acheté tel journal papier. Personne d'autre. Il ne sait pas ce que j'y aie lu. Personne le sait. Ça doit rester ainsi. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance. La vie privée est un enjeu fort de la presse numérique, à mon avis, et il n'est pas pris au sérieux.

    J'espère que le Ravi fera tous les efforts possibles pour retirer le traqueur Google Analytics et pour internaliser au maximum le stockage des contenus et leur diffusion. Ça serait chouette, un site web totalement respectueux des utilisateurs pour un journal éthique, non ? Nous manquons de tels sites web de presse (nous avons seulement NextInpact et Reflets.info, à ma connaissance) C'est important, un tel site web : ça donne envie de partager des contenus que l'on a appréciés dans la version papier auprès de non lecteurs.

    Cordialement.


    Les Jours

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour,

    J'étais abonné aux Jours.

    Je me permets un point de théorie nécessaire pour comprendre la problématique que je vais soulever.
        Tout contenu externe qui est directement affiché sur le site web des Jours (c'est-à-dire qui n'est pas un lien) permet à l'éditeur (et à l'hébergeur) dudit contenu de suivre, au fil des jours, le parcours des lecteurs des Jours, sur le site web des Jours et en dehors si d'autres sites web ont recours à ce même contenu (c'est le cas d'un traqueur Facebook ou d'une police de caractères hébergée par Google, l'hégémonie de ces sociétés commerciales leur permet de suivre l'activité des citoyens sur le web, de site web qui utilise leurs services en site web qui utilise leurs services).
        Ces éditeurs (et hébergeurs) récupèrent bien sûr l'adresse IP (l'identifiant technique d'un ordinateur ou d'une entité – un foyer domestique, une société commerciale, une administration, etc. – ) du lecteur des Jours, mais aussi l'adresse de la page web des Jours sur laquelle il se trouve (ça se nomme « HTTP referer »), et donc quel contenu précis le lecteur est en train de lire (ha, celui-ci s'intéresse au rapport entre le respect de nos aspirations et le sommeil puis à la réforme des retraites puis à l'intelligence artificielle).
        Ça, c'est le minimum, je passe sur les autres informations qui peuvent être récupérées à propos et à l'insu des lecteurs des Jours.

    On peut séparer ces contenus en différentes catégorie : traqueurs publicitaires, traqueurs de profilage / statistiques, et contenu utile mais externalisé. Je préfère le terme de traqueur à celui de pisteur, car sa sémantique est plus proche de la vérité.

    Les Jours n'a pas recours à la publicité, donc la première catégorie est pliée.

    En revanche, Les Jours utilise quelques traqueurs de profilage et de statistiques : Google Analytics / Google Tag Manager, Facebook et Twitter.

    Alors, oui, si l'on refuse les cookies dans le message d'information en bas de la page d'accueil, on échappe à tout ça. Pour ma part, je préférerais que, par défaut, sans aucune action de sa part, le lecteur soit peinard, qu'on le respecte.

    Le message d'information en bas de page est défectueux (j'ai testé avec un navigateur Mozilla Firefox récent et vierge c'est-à-dire sans extensions et avec un profil fraîchement créé) : il s'affiche une unique fois sur la page d'accueil. Si le lecteur n'y prête pas attention et clique sur un article, le message ne s'affiche plus. Même si le lecteur revient plus tard sur la page d'accueil. Il faut que le lecteur clique sur l'obscur lien « Gérer mes cookies » dans le pied de page (quel lecteur normalement constitué va cliquer sur ça ?) ou qu'il efface les cookies des Jours de son navigateur web puis qu'il revienne sur la page d'accueil des Jours pour avoir à nouveau le choix !
        Pendant ce temps, tous les traqueurs sont activés... sans recueil du consentement du lecteur, ce qui n'empêche pas tous les boutons « autoriser » de la fenêtre « gestion des cookies » d'être, à tort, au vert.
        Ceci n'est pas conforme au Règlement européen 2016/679 sur la protection des données personnelles : le consentement ne peut pas être réputé acquis par défaut, sans action consciente du lecteur.

    Je ne comprends pas l'utilisation du traqueur Facebook. Quel intérêt de livrer le parcours du lecteur c'est-à-dire les URL des articles lus, donc les centres d'intérêts, y compris politiques, à Facebook ? Votre page sur les données personnelles indique que la finalité est de « mesurer l'impact de nos campagne de publicité sur la plateforme Facebook ». Le moyen mis en œuvre me semble être disproportionné par rapport au but recherché : pour suivre l'évolution d'une campagne Facebook, il faut filer à Facebook les données de citoyens qui ne sont pas abonnés à Facebook. La législation sus-mentionnée impose une proportionnalité de la collecte et des traitements.

    Je ne comprends pas l'intérêt d'établir des statistiques sur les lecteurs ? À mes yeux, le nombre d'abonnements est l'indicateur-clé d'un journal payant et il se suffit à lui-même. À quoi bon calculer le nombre de visites et de visiteurs uniques mensuels ?!

    1. Détecter les fraudeurs qui mutualisent un abonnement ? Quelle importance cela a-t-il ? Quel impact sur le chiffre d'affaires cela représente-t-il ?

    2. Adapter la ligne éditoriale en fonction des articles les plus lus ? Le but d'un journal n'est pas de contenter ses lecteurs, mais de les surprendre, de leur ouvrir l'esprit avec des sujets auxquels ils ne s'attendent pas.

    À quoi bon connaître le nombre d'abonnés mobiles / fixes et certains paramètres techniques des ordinateurs des lecteurs ? Si c'est vraiment important pour adapter le comportement du site, il suffit de demander cette information aux lecteurs en leur laissant le choix de ne pas répondre. Même chose pour les autres informations récoltées par Google Analytics : elles me semblent futiles, mais si elles sont vraiment importantes, demandez-les et acceptez qu'on ne vous réponde pas.
        D'ailleurs, dans la fenêtre de « gestion des cookies », Google Tag Manager est classé dans la catégorie « Services » que vous décrivez comme « Les APIs permettent de charger des scripts : géolocalisation, moteurs de recherche, traductions, ... ». Selon la fiche produit chez Google, GTM est uniquement un outil marketing. La géolocalisation qu'il offre est pour enrichir les statistiques avec celle des visiteurs d'un site web. Il devrait être classé dans la catégorie « mesure de navigation et d'audience ».

    Je pense vraiment que Les Jours peut supprimer tous les traqueurs sus-nommés sans trop d'effort et sans subir une quelconque perte. Vos confrères des journaux Reflets.info et NextInpact l'ont fait (uniquement pour les abonnés dans le cas du second).
        Au pire, si vous voulez vraiment établir des statistiques sur vos lecteurs en conservant le même niveau de service, faites-le en interne, sans recourir à des services tiers (Google Analytics) qui fliquent les lecteurs. C'est possible avec le logiciel Matomo, par exemple. Là encore, vos confrères de Reflets.info ont déjà la configuration informatique qui fonctionne.

    Venons-en à la catégorie « contenu utile externalisé ».

    Les polices de caractères (qui déterminent la manière dont sont affichés les caractères des textes, en très résumé) utilisées par Les Jours sont récupérés depuis les sites web Adobe Typekit.net et typography.com. À chaque article consulté par un lecteur, ces services en sont informés (mécanisme HTTP referer, toujours).
        typography.com ne sert à rien : il ne rend aucun service, il redirige vers un objet que vous hébergez vous-même à côté de votre site. Il faudrait que le code de vos pages indique aux navigateurs web de récupérer directement ce fichier au lieu de pointer sur typography.com. C'est 30 minutes de travail d'un informaticien.
        typekit.net peut être évité en stockant vous-même la police à côté de votre site web, sans dépendance externe. C'est 30 minutes de travail d'un informaticien.

    N'étant plus abonné, je ne vois pas si d'autres contenus sont externalisés. Mais, d'une manière générale, internalisez vos contenus et :

    • Si vous voulez partager une vidéo, mettez simplement son lien dans l'article, n'intégrez pas le lecteur Google Youtube (ou autre) ni la vidéo dans le corps de l'article. Si le lecteur des Jours veut voir la vidéo, il suivra le lien et, tant qu'il ne cliquera pas sur ce lien, aucune information sur lui fuitera vers Youtube ;

    • Si vous voulez partager un document PDF, mettez-le à disposition sur votre site, pas chez un quelconque prestataire, comme vos images ;

    • Si vous voulez partager un tweet, n'utilisez pas le gadget Twitter, copiez-collez le texte du tweet et faites-en une citation entre de simples guillemets, comme quand vous restituez un témoignage oral. La fioriture Twitter est inutile ;

    • Si vous voulez partager une visualisation graphique, transformez-la, au préalable, en une image que vous afficherez dans le corps de l'article. Si l'interactivité de la visualisation est importante, mettez un lien vers la visualisation dans le corps de l'article ;
      Tout cela est facile à mettre en œuvre. Donnez au moins le choix à vos lecteurs de se faire voler leur vie privée ou non.

    Si vous ne pouvez pas vous passer de prestataires externes, voici un palliatif facile à mettre en œuvre : demander au service informatique des Jours ou à votre hébergeur informatique de configurer le serveur web des Jours pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation : https://frama.link/rp ). Quand il récupérera une ressource externe (police de caractères stockée chez Adobe, vidéo Google Youtube, etc.) le navigateur web du lecteur des Jours n'indiquera plus sur quelle page des Jours, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article des Jours est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, en fonction du contenu demandé et de son nom, le service externe n'a pas besoin de connaître précisément l'article lu par le lecteur des Jours pour en connaître la teneur. Bref, cette mesure est insuffisante. Mais c'est un premier pas très facile à mettre en œuvre : on parle de moins de 15 minutes de travail d'un informaticien.
        Notons que cela peut réduire la pertinence de vos statistiques Google Analytics.

    Je n'envisage pas de me ré-abonner aux Jours. Parce que le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Un journalisme éthique (indépendance, temps long, etc.) ne me suffit plus. Je n'arrive plus à lire des articles en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités. Le vendeur de journaux sait que j'ai acheté tel journal papier. Personne d'autre. Il ne sait pas ce que j'y aie lu. Personne le sait. Ça doit rester ainsi. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance. La vie privée est un enjeu fort de la presse numérique, à mon avis, et il n'est pas pris au sérieux.

    J'espère que Les Jours fera tous les efforts possibles pour virer les traqueurs et contenus externalisés. Ça serait chouette, un journal encore plus éthique et respectueux de ses lecteurs.

    Cordialement.


    Mediapart

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour,

    Je suis abonné à Mediapart.

    Le 15/05/2018, je vous interpellais, vous et toute la rédaction de Mediapart, par email à propos de tous les dispositifs de flicage à l'œuvre sur le site web de Mediapart. Sujet de mon email : « Pourquoi tant de flicage sur Mediapart ? ». Email envoyé à chrystelle.coupat\@mediapart.fr, edwy.plenel\@mediapart.fr et redaction\@mediapart.fr. Email reçu par votre serveur de courriels. Évidemment, je n'ai pas eu de réponse. C'est courant en pareille matière. Sujet trop technique, trop compliqué, trop chiant, pas le cœur du métier, absence de solution idéale, etc.

    Comme il s'agit d'un sujet important à mes yeux, je retente par courrier postal.

    Je refais un point de théorie nécessaire pour comprendre la problématique.
        Tout contenu externe qui est directement affiché sur le site web de Mediapart (c'est-à-dire qui n'est pas un lien) permet à l'éditeur (et à l'hébergeur) dudit contenu de suivre, au fil des jours, le parcours des lecteurs de Mediapart, sur le site web de Mediapart et en dehors si d'autres sites web ont recours à ce même contenu (c'est le cas d'un traqueur Facebook ou d'une police de caractères hébergée par Google, l'hégémonie de ces sociétés commerciales leur permet de suivre l'activité des citoyens sur le web, de site web qui utilise leurs services en site web qui utilise leurs services).
        Ces éditeurs (et hébergeurs) récupèrent bien sûr l'adresse IP (l'identifiant technique d'un ordinateur ou d'une entité – un foyer domestique, une société commerciale, une administration, etc. – ) du lecteur de Mediapart, mais aussi l'adresse de la page web de Mediapart sur laquelle il se trouve (ça se nomme « HTTP referer »), et donc quel contenu précis le lecteur est en train de lire (ha, celui-ci s'intéresse à la réforme des retraites puis à l'affaire Tapie puis à la chronique d'Usul).
        Ça, c'est le minimum, je passe sur les autres informations qui peuvent être récupérées à propos et à l'insu des lecteurs de Mediapart.

    On peut séparer ces contenus en différentes catégorie : traqueurs publicitaires, traqueurs de profilage / statistiques, et contenu utile mais externalisé. Je préfère le terme de traqueur à celui de pisteur, car sa sémantique est plus proche de la vérité.

    Mediapart n'a pas recours à la publicité, donc la première catégorie est pliée.

    En revanche, Mediapart bombarde ses lecteurs de traqueurs de profilage et de statistiques : Adbutter, Adnxs, Exelator, Selligent (slgnt.eu, emsecure.net), Liveramp (pippio.com), rlcdn , traqueur Facebook, Google Analytics, Xiti, Realytics, Microsoft Azure (Selligent stocke des trucs là-bas) et je dois en oublier...

    Même si l'on refuse les cookies via le message d'information affiché en bas de la page d'accueil de Mediapart, les traqueurs de Selligent et de Realytics demeurent et sont actifs. Ce n'est pas conforme au Règlement européen 2016/679 sur la protection des données personnelles : le refus doit être respecté.

    De plus, ce message d'information est défectueux (j'ai testé avec un navigateur Mozilla Firefox récent et vierge c'est-à-dire sans extensions et avec un profil fraîchement créé)  : il s'affiche une unique fois sur la page d'accueil. Si le lecteur n'y prête pas attention et clique sur un article, le message ne s'affiche plus. Même si le lecteur revient plus tard sur la page d'accueil. Il faut que le lecteur clique sur l'obscur lien « Gestion des cookies » dans le pied de page (quel lecteur normalement constitué va cliquer sur ça ?) ou qu'il efface les cookies de Mediapart de son navigateur web puis qu'il revienne sur la page d'accueil de Mediapart pour avoir à nouveau le choix !
        Pendant ce temps, tous les traqueurs sont activés... sans recueil du consentement du lecteur.
        Ceci n'est pas conforme à la législation sus-citée : le consentement ne peut pas être réputé acquis par défaut, sans action consciente du lecteur.

    La même législation préconise une collecte minimale des données personnelles : collecter uniquement ce dont on a besoin, pas plus. À mes yeux, Mediapart œuvre dans une boulimie de données personnelles concernant ses lecteurs.
        D'abord, parce que plusieurs traqueurs assurent une même fonction comme Google Analytics et Xiti. Les mêmes données sont donc envoyées à deux prestataires pour un intérêt nul.
        Ensuite, parce que je ne comprends pas en quoi un service d'automatisation du marketing (Selligent, Exelator) et une place de marché des données personnelles (Liveramp) liée à Acxiom, l'un des plus gros collecteur de données personnelles de la planète, ou le traqueur Facebook, pour citer seulement ceux-là, sont nécessaires au fonctionnement d'un journal payant. Un journal gratuit, je pourrais comprendre, il faut une source de revenus, donc revente des données personnelles, blablabla, mais quel intérêt de recourir à ces acteurs pour un journal payant ?!
        De même, quel est l'intérêt d'établir des statistiques sur les lecteurs avec Google Analytics et Xiti ? À mes yeux, le nombre d'abonnements est l'indicateur-clé d'un journal payant et il se suffit à lui-même. À quoi bon calculer le nombre de visites et de visiteurs uniques mensuels ?!

    1. Détecter les fraudeurs qui mutualisent un abonnement ? Quelle importance cela a-t-il ? Quel impact sur le chiffre d'affaires cela représente-t-il ?

    2. Adapter la ligne éditoriale en fonction des articles les plus lus ? Le but d'un journal n'est pas de contenter ses lecteurs, mais de les surprendre, de leur ouvrir l'esprit avec des sujets auxquels ils ne s'attendent pas.
          À quoi bon connaître le nombre d'abonnés mobiles / fixes et certains paramètres techniques des ordinateurs des lecteurs ? Si c'est vraiment important pour adapter le comportement du site, il suffit de demander cette information aux lecteurs en leur laissant le choix de ne pas répondre. Même chose pour les autres informations récoltées par Google Analytics : elles me semblent futiles, mais si elles sont vraiment importantes, demandez-les et acceptez qu'on ne vous réponde pas.

    Je pense vraiment que Mediapart peut virer tous les traqueurs sus-nommés sans trop d'effort et sans subir une quelconque perte. Vos confrères des journaux Reflets.info et NextInpact l'ont fait (uniquement pour les abonnés dans le cas du second).
        Au pire, si vous voulez vraiment établir des statistiques sur vos lecteurs en conservant le même niveau de service, faites-le en interne, sans recourir à des services tiers (Xiti, Google Analytics) qui fliquent les lecteurs. C'est possible avec le logiciel Matomo, par exemple. Là encore, vos confrères de Reflets.info ont déjà la configuration informatique qui fonctionne.

    Venons-en à la catégorie « contenu utile externalisé » :

    • Quand vous partagez une vidéo (exemple : https://frama.link/mp-usul ), la vidéo Google Youtube est directement intégrée dans le contenu, dans le corps de l'article de Mediapart, dans la page web. Ainsi, Google Youtube (et sa régie publicitaire Doubleclick) est informée que telle personne, qu'elle peut marquer comme étant un lecteur de Mediapart, a visité telle page du site web de Mediapart (et vu que la régie de Google est centrale sur le web, Google est en mesure de nous suivre entre les sites web que nous visitons) ; -

    • Quand vous relayez un tweet (exemple : https://frama.link/mp-tw ), vous utilisez le gadget (widget) de Twitter qui est alors intégré dans le site web de Mediapart. Twitter est informée que telle personne, qu'elle peut marquer comme étant un lecteur de Mediapart, a visité telle page de Mediapart (et la position centrale de twitter lui permet de filer les gens entre les sites web) ;

    • Quand vous partagez un document PDF (exemple : https://frama.link/mp-doc , voir la phrase « dix ans d\'inéligibilité chacun (le jugement est à lire ici). »), vous utilisez le service Adobe Document Cloud. La société commerciale Adobe est informée qu'un lecteur blablabla je ne vous refais pas le topo ;

    • Quand vous partagez une visualisation graphique (exemple : https://frama.link/mp-gp , voir la carte du monde de la section « Justice sociale, démocratie, corruption... les racines des soulèvements ») ou un graphique (exemple : https://frama.link/mp-gp2 ) vous utilisez les services externes flourish.studio ou highcharts.com. Ils sont informés... ... ... ;

    • Quand vous intégrez certains des types de contenu sus-mentionnés, vous utilisez également les services de la société commerciale embed.ly qui propose de « grow your audience ». Encore une fois, je n'en vois pas l'intérêt pour un journal payant et cela informe embed.ly des lectures des abonnés. D'un point de vue technique, les plateformes de vidéo sus-citées ont déjà l'infrastructure technique nécessaire pour survivre aux abonnés de Mediapart, pas besoin d'ajouter un intermédiaire qui fait double emploi.

    Pour remédier à cette situation, il faut internaliser, et cela passe par du travail d'informaticien (pour concevoir les outils adaptés à l'ensemble de la rédaction), par de la formation (car les journalistes de Mediapart, comme tout le monde, ont été formés sur des outils, donc leur usage en est mimétique, routinier) et par une conduite du changement auprès des journalistes. Ce n'est pas gagné. Néanmoins, quelques actions simples constitueraient un progrès  :

    • Si vous voulez partager une vidéo, mettez simplement son lien dans l'article, n'intégrez pas le lecteur Youtube (ou autre) ni la vidéo. Si le lecteur de Mediapart veut voir la vidéo, il suivra le lien ;

    • Si vous voulez partager un document PDF, mettez-le à disposition sur votre site (static.mediapart.fr), pas chez Adobe. Vous le faites parfois (exemple : https://frama.link/mp-doc2 ) ;

    • Quand vous voulez partager un tweet, n'utilisez pas le gadget Twitter, copiez-collez le texte du tweet et faites-en une citation entre de simples guillemets, comme quand vous restituez un témoignage oral. La fioriture Twitter est inutile ;

    • Si vous voulez partager une visualisation graphique, transformez-la, au préalable, en une image que vous afficherez dans le corps de l'article. Si l'interactivité de la visualisation est importante, mettez un lien vers la visualisation dans le corps de l'article ;

    • Cessez de recourir aux services de la société commerciale embed.ly ;
      Tout cela est facile à mettre en œuvre. À défaut d'agir plus en profondeur, donnez au moins le choix à vos lecteurs de se faire voler leur vie privée ou non.

    Autre mesure facile à mettre en œuvre : demander au service informatique de Mediapart de configurer le serveur web de Mediapart pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation : https://frama.link/mp-rp ). Quand il récupérera une ressource externe (vidéo Google Youtube, document PDF stocké chez Adobe, etc.) le navigateur web du lecteur de Mediapart n'indiquera plus sur quelle page de Mediapart, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article de Mediapart est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, si le navigateur web d'un lecteur de Mediapart lui demande d'afficher le document nommé « De-Cision-2e-Dossier-Balkany-18-Octobre-2019 », le service Document Cloud d'Adobe n'a pas besoin de connaître précisément l'article lu par le lecteur de Mediapart pour en connaître la teneur. Bref, cette mesure est insuffisante, mais c'est mieux que rien en attendant la transition. On parle de moins de 15 minutes de travail d'un informaticien.
        Notons que cela peut réduire la pertinence de vos statistiques Google Analytics / Xiti.

    Pour la suite, à plus long terme, vous pourrez envisager de remplacer Google Youtube par PeerTube (https://joinpeertube.org/ ) pour stocker et diffuser vos vidéos, même si ça ne couvrira pas tous vos usages (notamment les soirées Mediapart en direct). Vos confrères de Thinkerview l'ont fait.

    Pour conclure, je ne comprends pas comment un journal qui se veut plus éthique que la moyenne (indépendance, participation du lecteur, fonctionnement démocratique, etc.) sombre aussi bas dans l'irrespect de la vie privée de ses lecteurs.
        Dans les ambitions initiales du projet, on lit qu'un des défis sera « l'innovation continue en matière de Web ». Prouvez-le ? Le respect de la vie privée est un enjeu technique et politique majeur de ce siècle et il reste entier. Il nécessite des financements (formation, programmation informatique, etc.). Go go go ?
        Dans le même projet, on lit que « seul le Web est lu par la génération des 20 à 30 ans qui n'achète plus de quotidien papier ». J'en fais partie et je me concentre principalement sur les titres papiers justement parce que quasiment aucun offre journalistique en ligne respectueuse de la vie privée existe. Au moins, quand je lis du papier, l'éditeur ne sait pas quels articles j'ai lu. Ni lui ni personne. Le vendeur de journaux sait que j'ai acheté tel journal. Personne d'autre. Et si ça se trouve, je l'ai acheté pour autrui.

    J'envisage de résilier mon abonnement à Mediapart. Non par chantage, mais parce que le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Un journalisme éthique ne me suffit plus. Je n'arrive plus à lire des articles en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités et ça doit le rester. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance.
        La vie privée est un enjeu fort de la presse numérique, à mon avis, et il n'est pas pris au sérieux.

    J'espère que Mediapart fera tous les efforts possibles pour virer tous les traqueurs et internaliser au maximum le stockage des contenus et leur diffusion. Ça serait chouette, un journal encore plus éthique et respectueux de ses lecteurs.

    Cordialement.


    Numerama

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour,

    J'étais un lecteur de Numerama.

    Un abonnement à Numerama respectueux des lecteurs (sans publicité, sans traqueurs / pisteurs et sans contenu sponsorisé) est-il prévu à moyen terme ? Je n'en peux plus de toute cette publicité et de tous ces traqueurs (je préfère ce terme à celui de pisteur, car sa sémantique est plus proche de la vérité) présents sur le site web de Numerama. C'est insupportable, il y en a partout : fond du site, colonne droite, et en plein milieu des articles. Je ne me vois pas recommander Numerama à un novice. On pourrait imaginer un modèle double : payant sans publicité ni traqueur, gratuit avec publicité et traqueurs. Vos confrères du journal NextInpact l'ont fait.

    D'ailleurs, le message d'information en bas de page concernant les cookies et le ciblage est défectueux. J'ai testé avec un navigateur Mozilla Firefox récent et vierge c'est-à-dire sans extensions et avec un profil fraîchement créé. Même quand on refuse tout, des requêtes partent vers Google, Criteo, Sddan, Amazon, Rubiconproject, Adnsxs, Estat et tant d'autres. Si je reviens sur cette page en cliquant sur le lien « Préférences publicitaires » du pied de page, que je clique sur « Paramétrer vos choix », je constate que tous les curseurs sont sur la valeur « refusé ».
        Ce comportement n'est pas conforme au Règlement européen 2016/679 sur la protection des données personnelles : le non consentement à la collecte de données personnelles n'est pas respecté.

    Dans un deuxième temps (une fois la publicité retirée), vous pourriez réfléchir à vous passer d'outils de statistiques concernant les visiteurs (ben oui, quel en est l'intérêt dans un modèle payant ? Le nombre d'abonnés est l'indicateur-clé). Au pire, si vous voulez vraiment établir des statistiques sur vos lecteurs en conservant le même niveau de service, faites-le en interne, sans recourir à des services tiers (Google Analytics, Xiti, etc.) qui fliquent les lecteurs. C'est possible avec le logiciel Matomo, par exemple. Vos confrères de Reflets.info ont déjà la configuration informatique qui fonctionne.

    Dans le même temps, vous pourriez internaliser tous les contenus, ou, à défaut, proposer des liens plutôt que d'intégrer des contenus externes. Je rappelle que l'entête HTTP referer indique, aux fournisseurs de contenus externes, l'URL de la page sur laquelle le lecteur de Numerama se trouve, ce qui permet de suivre le lecteur dans sa lecture sur Numerama et au-delà si l'éditeur / hébergeur du contenu est hégémonique.
        Vous utilisez une police de caractères stockée chez Google (fonts.gstatic.com). Ça s'internalise en moins de 15 minutes et ça évite aux lecteurs de se faire pister par le géant Google.
        Aujourd'hui, sur la page d'accueil de Numerama, il y a une vidéo Youtube pour votre dernier test d'un véhicule quelconque. Proposez un lien plutôt que d'intégrer la vidéo sur votre site web. Le lecteur cliquera si ça l'intéresse. Laissez le choix au lecteur de se faire dérober une partie de sa vie privée si ça l'intéresse, mais ne forcez pas.
        Même chose pour les autres contenus. Pas besoin du gadget (widget) Twitter et de sa fioriture pour illustrer un article avec un tweet, une simple citation entre guillemets et un lien vers le tweet suffisent. Si vous voulez partager une visualisation graphique externe (une mappemonde, un graphique, etc.), proposez un lien vers ce contenu, ne l'intégrez pas dans le corps de l'article ou alors sous la forme d'une image.

    Si vous ne parvenez pas à vous passer de contenus externes, voici un palliatif : configurer le serveur web de Numerama pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation technique : https://frama.link/rp ). Quand il récupérera une ressource externe (police de caractères stockée chez Google, vidéo Google Youtube, tweet, etc.) le navigateur web du lecteur de Numerama n'indiquera plus sur quelle page du Numerama, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article de Numerama est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, en fonction du contenu demandé et de son nom, le service externe n'a pas besoin de connaître précisément l'article lu par un lecteur de Numerama pour en connaître la teneur. Bref, cette mesure est insuffisante.
        Notons que cet entête peut semer la zizanie chez vos prestataires publicitaires.

    Dans l'attente d'efforts de votre part, je vais cesser de lire Numerama. Le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Je n'arrive plus à lire des articles en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités. Le vendeur de journaux sait que j'ai acheté tel journal papier. Personne d'autre. Il ne sait pas ce que j'y aie lu. Personne le sait. Ça doit rester ainsi. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance. La vie privée est un enjeu fort de la presse numérique, à mon avis, et il n'est pas pris au sérieux.

    J'espère que Numerama fera tous les efforts possibles pour virer la publicité, le traqueur Google Analytics et les contenus externalisés. Ça serait chouette, un journal indépendant, éthique et respectueux de ses lecteurs pour traiter les sujets numériques à côté de NextInpact.

    Cordialement.


    Siné mensuel

    Format PDF pour la lecture | Format LibreOffice / OpenOffice pour la modification.

    Objet : demande d'améliorations en matière de respect de la vie privée des lecteurs

    Bonjour,

    J'achète Siné mensuel tous les mois chez mon marchand de presse préféré. J'ai aussi acheté Siné madame (bien tenté).

    Je me permets un point de théorie nécessaire pour comprendre la problématique que je vais soulever.
        Tout contenu externe qui est directement affiché sur le site web de Siné mensuel (c'est-à-dire qui n'est pas un lien) permet à l'éditeur (et à l'hébergeur) dudit contenu de suivre, au fil des jours, le parcours des lecteurs de Siné sur le site web de Siné et en dehors si d'autres sites web ont recours à ce même contenu (c'est le cas d'un traqueur Facebook ou d'une police de caractères hébergée par Google, l'hégémonie de ces sociétés commerciales leur permet de suivre l'activité des citoyens sur le web, de site web qui utilise leurs services en site web qui utilise leurs services).
        Ces éditeurs (et hébergeurs) récupèrent bien sûr l'adresse IP (l'identifiant technique d'un ordinateur ou d'une entité – un foyer domestique, une société commerciale, une administration, etc. – ) du lecteur de Siné, mais aussi l'adresse de la page web de Siné sur laquelle il se trouve (ça se nomme « HTTP referer »), et donc quel contenu précis le lecteur est en train de lire (ha, celui-ci s'intéresse à la démocratie participative à Saillans, puis à la réforme de la loi Bichet puis à la résistance des libertaires en Grèce).
        Ça, c'est le minimum, je passe sur les autres informations qui peuvent être récupérées à propos et à l'insu des lecteurs du site web de Siné.

    On peut séparer ces contenus en différentes catégorie : traqueurs publicitaires, traqueurs de profilage / statistiques, et contenu utile mais externalisé. Je préfère le terme de traqueur à celui de pisteur, car sa sémantique est plus proche de la vérité.

    Le site web de Siné Mensuel n'a pas recours à la publicité, donc la première catégorie est pliée.

    Le site web de Siné utilise un unique traqueur de profilage et de statistiques : Google Analytics fourni par la multinationale du même nom.

    Quel est l'intérêt d'établir des statistiques sur les lecteurs ? Compte-tenu que le site web reprend les contenus publiés dans l'édition papier, le nombre d'abonnements et de ventes est l'indicateur-clé et il se suffit à lui-même. À quoi bon calculer d'autres statistiques (nombre de visites, de visiteurs) ?! À quoi bon connaître le nombre de lecteurs mobiles / fixes et certains paramètres techniques des ordinateurs des lecteurs compte-tenu de la proéminence de la version papier ? Si c'est vraiment important pour adapter le comportement du site, il suffit de demander cette information aux lecteurs en leur laissant le choix de ne pas répondre. Même chose pour les autres informations récoltées par Google Analytics : elles me semblent futiles, mais si elles sont vraiment importantes, demandez-les et acceptez qu'on ne vous réponde pas.

    Je pense vraiment que Siné peut virer le traqueur Google Analytics sans trop d'effort et sans subir une quelconque perte. Vos confrères des journaux Reflets.info et NextInpact l'ont fait (uniquement pour les abonnés dans le cas du second).
        Au pire, si vous voulez vraiment établir des statistiques sur vos lecteurs en conservant le même niveau de service, faites-le en interne, sans recourir à des services tiers qui fliquent les lecteurs. C'est possible avec le logiciel Matomo, par exemple. Là encore, vos confrères de Reflets.info ont déjà la configuration informatique qui fonctionne.

    Venons-en à la catégorie « contenu utile externalisé ».

    Plusieurs composants du site web de Siné sont hébergés à l'extérieur, par d'autres entités que votre hébergeur (1&1).
        C'est le cas de polices de caractère (qui déterminent la manière dont sont affichés les caractères des textes, en très résumé) qui sont stockées chez Google (fonts.gstatic.com et fonts.googleapis.com). Vous pourriez utiliser les mêmes polices en les stockant sur votre hébergement, à côté de votre site web WordPress, comme les dessins de vos articles. Le passage de l'état actuel à l'état que je propose devrait vous prendre moins de 15 minutes de travail et retire une dépendance à Google et un traqueur, ce qui permet de ne pas communiquer à Google d'informations sur vos visiteurs (voir le paragraphe de vulgarisation ci-dessus).
        C'est aussi le cas de styles (mise en forme du site web) et de scripts (des bidules qui s'exécutent dans le navigateur web des lecteurs afin de proposer des fonctionnalités dynamiques plus ou moins utiles) qui sont hébergés chez BootstrapCDN, Google (ajax.googleapi.com) et CloudFlare (cdnjs.cloudflare). Là encore, internaliser tout ça, stocker tout ça sur votre hébergement, c'est possible, ça prend 30 minutes, et ça vous débarrasse d'une dépendance à autrui et le lecteur d'un traqueur.

    Vous utilisez le mécanisme ReCAPTCHA fourni par la multinationale Google (encore !). Normalement, cela sert à protéger les formulaires (de contact, d'inscription de newsletter, etc.) de robots qui pourraient spammer lesdits formulaires. Normalement, il faut positionner ReCAPTCHA uniquement sur les formulaires. Là, vous avez fait le choix, curieux, de le mettre sur toutes les pages du site. Donc, à chaque fois qu'un lecteur lit un article, pouf, Google en est informé (HTTP referer, toujours). Pas cool. Actuellement, vous n'avez plus de formulaires, donc ReCAPTCHA pourrait être totalement supprimé.
        J'ai vu que le seul formulaire qui a existé était pour s'inscrire à une newsletter. Deux remarques.
        La première : plutôt que d'utiliser le service de la société commerciale Mailchimp (qui remplit les emails de traqueurs permettant de s'assurer que les destinataires ont cliqué sur les liens proposés dans le contenu de l'email), vous pourriez utiliser le service de liste de diffusion (ce qu'est une newsletter) Framalistes (https://framalistes.org/ ) de l'association française Framasoft (https://framasoft.org/ ) qui œuvre pour des services numériques éthiques. Ceci dit, la transition demande pas mal de travail.
        Deuxième remarque : si votre newsletter Mailchimp devait revenir, isolez son formulaire d'inscription sur une page web dédiée et mettez un lien vers cette page dans les menus du site. N'intégrez pas directement le formulaire Mailchimp dans les menus / colonnes du site web. En faisant ainsi, seuls les visiteurs qui veulent s'inscrire, qui auront cliqué sur le lien, qui seront arrivés sur la page dédiée seront traqués par Mailchimp. Ça se fait rapidement et quasiment sans travail.

    Vous utilisez également des vidéos Google Youtube. Ne les intégrez pas dans vos articles. Préférez les pointer avec des liens. Ainsi, seuls les lecteurs qui veulent vraiment voir ces vidéos seront traqués par Google. Si vous voulez aller plus loin, vous pouvez remplacer Google Youtube par PeerTube (https://joinpeertube.org/ ). Vos confrères de Thinkerview l'ont fait. Mais la transition demandera vraiment pas mal de boulot.

    D'une manière générale, si vous souhaitez afficher des contenus externalisés dans vos articles, ne les intégrez pas dans le corps de vos articles, mais pointer ces contenus avec un lien. Ainsi, seuls les lecteurs désireux d'en apprendre plus cliqueront sur le lien et verront des bouts de leur vie privée être collectés par ces contenus externes.
        Pas besoin du gadget (widget) Twitter et de sa fioriture pour illustrer un article avec un tweet : une simple citation entre guillemets et un lien vers le tweet suffisent.
        Si vous voulez partager une visualisation graphique externe (une mappemonde, un graphique, etc.), proposez un lien vers ce contenu, ne l'intégrez pas dans le corps de l'article ou alors sous forme d'une image.
        Etc.
    Bref, laissez le choix au lecteur de se faire fliquer ou non. Mieux, internalisez les contenus que vous utilisez, stockez-les chez votre hébergeur, à côté de votre site web.

    Si vous ne pouvez pas vous passer de contenus externes, voici un palliatif : configurez le serveur web du site web de Siné pour qu'il envoie l'entête HTTP « Referrer-Policy » (documentation technique : https://frama.link/rp ). Quand il récupérera une ressource externe (police de caractères stockée chez Google, vidéo Google Youtube, etc.) le navigateur web du lecteur du site web de Siné n'indiquera plus sur quelle page du site web Siné, dans quelle URL précise, il a trouvé cette ressource. Ainsi, le service externe ne saura pas quel article du site web de Siné est lu par tel lecteur.
        Notons qu'il s'agit d'une mesure faible : il y a des fuites et, en fonction du contenu demandé et de son nom, le service externe n'a pas besoin de connaître précisément l'article lu par le lecteur de Siné pour en connaître la teneur.
        Bref, cette mesure est insuffisante. Mais c'est un premier pas très facile à mettre en œuvre (on parle de 15 minutes de travail).

    Le respect de ma vie privée est une valeur importante. J'ai besoin de ça. Un journalisme éthique (indépendant, critique, avec des dessins de presse, etc.) ne me suffit plus. Je n'arrive plus à lire des articles en ayant en tête que ma vie privée dégueule chez tout un tas de sociétés commerciales par la faute du site web qui prétend m'informer. Les protections techniques utilisables par une personne lambda sont d'illusoires passoires.
        Avec les journaux papier, il était inimaginable de se faire renifler le cul sans consentement par xx entités. Le vendeur de journaux sait que j'ai acheté tel journal papier. Personne d'autre. Il ne sait pas ce que j'y aie lu. Personne le sait. Ça doit rester ainsi. Le secret des lectures est aussi vital pour la démocratie que le secret du vote. Personne doit être en capacité de pouvoir un jour reprocher ses lectures à quelqu'un. Il ne peut y avoir de pensée autonome sous surveillance. La vie privée est un enjeu fort de la presse numérique, à mon avis, et il n'est pas pris au sérieux.

    Pour ces raisons, et d'autres, je continuerai d'acheter la version papier de Siné Mensuel, mais j'espère que Siné fera tous les efforts possibles pour virer le traqueur Google Analytics et les contenus externalisés (au moins la police de caractères, les scripts et reCAPTCHA, c'est moins d'une heure de travail). Ça serait chouette, un Siné avec un site web éthique et respectueux des lecteurs. C'est important, un tel site web : ça donne envie de partager des contenus que l'on a appréciés dans la version papier auprès de non lecteurs.

    Cordialement.

    09/04/2020 18:54:26 - permalink -
    - http://shaarli.guiguishow.info/?zdyfog
  • Quand un citoyen veut en savoir plus sur sa presse - GuiGui's Show

    J'ai mis à jour mon article qui vise à en savoir plus sur ce qui se cache derrière les journaux que je lis (ou que j'ai envisagé de lire (genre ça m'a passé l'envie de lire Le Monde, Marianne, Politis et Numerama) : actionnariat, aides financières, pub, flicage numérique, indépendance fonctionnelle, etc.

    Changements :

    • Ajout des dernières aides publiques et privées connues pour Fakir, Marianne, Le Monde, Les Jours, Basta !, Politis et La Revue Dessinée ;

    • Vérification et éventuelle mise à jour de l'indicateur de flicage numérique pour Le Canard enchaîné, Fakir, Siné mensuel, Mediapart, Numerama, Next INpact, Les Jours, Basta ! et Arrêt sur images ;

    • Ajout du journal satirique en PACA Le Ravi puisque je le lis depuis mi-2018.
    08/04/2020 18:55:39 - permalink -
    - http://shaarli.guiguishow.info/?1LTOfw
  • Contrepèteries (quater)

    Des confinés ont du mal à piger
    Confinés pas prêts
    Des turnes sentent la bouffe
    Les confinés sont-ils à l'abri des pannes ?
    Ces parents ont bonne mine.
    Face aux ados dans les lycées, aux pions et aux confinés, Blanquer prétend réctifier le notions !
    Oh, des rapins toussent !
    Le feu à la Nièvre
    Contentieux évités : les débiteurs traquent !
    Que de kinés confus !



    Mes trouvailles :

    Des confinés ont du mal à piger
    Confinés pas prêts
    Des turnes sentent la bouffe
    Les confinés sont-ils à l'abri des pannes ?
    Ces parents ont bonne mine.
    Face aux ados dans les lycées, aux pions et aux confinés, Blanquer prétend réctifier les notions !
    Oh, des rapins toussent !
    Le feu à la Nièvre (Le nœud ‒ bout du zboub ‒ a la fièvre ?)
    Contentieux évités : les débiteurs traquent !
    Que de kinés confus ! (Que de culs nés confis ?)

    Dans le Canard enchaîné du 8 avril 2020.

    08/04/2020 13:03:23 - permalink -
    - http://shaarli.guiguishow.info/?2lWW0Q
  • Réduire le flicage web avec Referrer-Policy

    Résumé : si t'es adminsys ou développeur d'un site web qui utilise des ressources externes (CSS, police de caractères, JS, frames vidéo / tweet / carte géographique, CAPTCHA etc.) à gogo hébergées chez les géants du net (Google, CloudFlare, Adobe, BootstrapCDN, jsDelivr, Youtube/Vimeo/Dailymotion) que tu ne peux pas virer, ajoute au moins l'entête HTTP « Referrer-Policy "no-referrer" » côté serveur ou dans le code. Cela limite un peu le flicage des visiteurs de ton site web par les quelques géants économiques sus-cités, y compris celui des visiteurs sans connaissances techniques (pour les autres, il y a Smart Referer pour Firefox). Ces acteurs ne seront plus en mesure de suivre tes visiteurs sur ton site (quelles pages il a consulté) ni entre les sites (leur position hégémonique le leur permet). Ça complète les récents blocages par défaut des traqueurs et des cookies tiers par les navigateurs web. Les sites web internes (intranet, webmail, messagerie web, lecteur de flux RSS, etc.) restent d'excellents clients de « Referrer-Policy "no-referrer" » afin d'éviter de dévoiler leur existence au monde.

    Il y a quelques mois, j'évoquais l'entête HTTP nommé « Referrer-Policy ». Je n'en avais pas capté tout le potentiel, donc revenons dessus.

    Quand il suit un lien (intra-site ou inter-sites web), un navigateur web indique, à la page web de destination, de quelle page de quel site web il vient. C'est l'entête HTTP « Referer ». Exemple : « Referer: https://www.mediapart.fr/journal/economie/130218/les-milliardaires-de-la-presse-gaves-d-aides-publiques-et-privees » signifie que le navigateur vient de cet article précis de ce journal précis et que l'utilisateur a cliqué sur un lien situé dans cette page.

    Cet entête est journalisé côté serveur web. C'est même la configuration par défaut du serveur web le plus utilisé, Apache httpd. Cela crée donc un journal qui associe une date, un Referer, une page web demandée et d'autres infos à une adresse IP. Exemple : « 2001:db8::1 - - [07/Apr/2020:16:09:03 +0200] "GET /?rc4hwA HTTP/1.1" "https://www.google.fr/" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" ». Le 07 avril 2020 à 16 h 09 m 43 s, l'adresse IP « 2001:db8::1 », utilisant un navigateur web Mozilla Firefox version 68 sur un système GNU/Linux, en provenance de Google Search, a demandé à consulter ma page web « /?rc4hwA ». Cette personne est donc arrivée sur mon site web après une recherche sur Google.

    Ce Referer est également transmis à chaque fois qu'un élément constitutif d'une page web (image, police de caractère, contenu encapsulé comme une vidéo, CSS, Javascript, etc.) est récupéré. Or, sur tout site web moderne, le CSS est récupéré depuis BootstrapCDN, la police de caractère depuis Google, le Javascript depuis CloudFlare, la vidéo encapsulée depuis Google Youtube, le CAPTCHA depuis Google, etc. et les statistiques sont envoyées à Google Analytics. Les noms sont des exemples parmi d'autres. Je le déplore, ce n'est pas le web authentique, mais c'est un fait.

    Cela signifie qu'une poignée d'acteurs économiques (Google, CloudFlare, BootstrapCDN, jsDelivr, etc.) consignent une association adresses IP + Referer. Comme tout le monde utilise leurs services, ils peuvent suivre notre navigation au sein d'un site web et entre les sites web. Untel a lu tels et tels articles dans le Figaro (il y a l'URL complète dans le Referer, voir ci-dessus), puis il a été sur tel site de rencontre et il y a regardé tels et tels profils (URL complète, toujours ;) ) puis il a consulté tel autre site web. Tout ce flicage se fait sans cookies (d'ailleurs, ces acteurs n'en déposent généralement pas quand on récupère CSS, police, etc.). Je ne dis pas que ces acteurs vont utiliser ces informations à mauvais escient, mais ils les collectent. Or, une collecte sans utilisation aujourd'hui peut conduire à une compromission de la vie privée demain (décision de la Cour de Justice de l'Union Européenne Digital Rights Ireland de 2014). C'est l'évidence même, comme une sextape sans utilisation malveillante aujourd'hui laisse la porte ouverte à un chantage demain.

    Si tu veux pinailler sur la technique (sinon saute au prochain paragraphe), je dois écrire qu'il y a des exceptions au point précédent.

    • Par défaut avec Mozilla Firefox, le Referer n'est pas envoyé quand on passe d'un site web HTTPS (chiffrement) à un site web HTTP (pas de chiffrement). C'est la politique dite « no-referrer-when-downgrade ». Ce comportement par défaut est modifiable dans la configuration avancée de Firefox mais le faire rend la navigation web parfois invivable ;

    • De même, si une police de caractères est chargée depuis un CSS, alors c'est l'URL du CSS qui est renseignée comme Referer. Si le CSS est externalisé, chez BootstrapCDN par exemple, alors c'est BootstrapCDN qui est consigné dans le Referer, pas le site web d'origine. D'autres ressources peuvent être dans cette situation.

    Pour se prémunir de ce flicage, il est possible d'installer l'extension Firefox Smart Referer. Elle permet de contrôler la diffusion du Referer, y compris de l'autoriser automatiquement sur les sites web qui ne fonctionnent pas sans lui (cela fonctionne avec une liste blanche). Par défaut (si le site web n'est pas dans une liste blanche), cette extension envoie l'URL de la destination comme Referer.

    Seule une minorité de personnes installera cette extension (ou équivalent) par manque de connaissances. Or, la vie privée est pour tout le monde. L'éditeur d'un site web (ou ses sous-traitants développeurs et hébergeurs) peut positionner l'entête « Referrer-Policy » sur son site afin d'indiquer au navigateur web de ses visiteurs de ne pas transmettre le Referer ou de le caviarder en fonction des situations. Cela peut se faire dans la configuration du serveur web, y compris celle déportée que constitue un fichier « htaccess », ou dans le code du site (PHP, XHTML, etc.).

    Exemple Apache httpd (y compris .htaccess) :

    Header set Referrer-Policy "same-origin"

    Exemple nginx :

    add_header Referrer-Policy "same-origin";

    On peut aussi le définir dans le code du site web. Exemple en PHP :

    header('Referrer-Policy: "same-origin"');

    Ou dans une balise XHTML (méthode retenue par Google Search + valeur « origin » afin que les sites visités à partir de lui voient que les visites viennent de Google mais ne voient pas les mots-clés recherchés) :

    <meta name="referrer" content="same-origin">

    Dans ces exemples, j'interdis l'émission du Referer en dehors du même site web. Pour être exact, je l'interdis dès qu'un des membres du triptyque protocole+domaine+port diffère, donc les sous-domaines d'un site web seront considérés comme des sites web externes, donc le Referer ne sera pas transmis.

    D'autres politiques sont possibles comme envoyer uniquement le domaine au lieu de l'URL complète (« origin ») comme le fait Google sur son moteur de recherche ou ne pas transmettre du tout le Referer (« no-referrer »).

    La politique du Referer n'a pas d'impact sur les outils de statistiques (Google Analytics, Xiti, Matomo ‒ anciennement Piwik ‒, etc.).

    • L'origine de la visite (moteur de recherche, site web, etc.) sera jamais perdue, même avec la valeur la plus stricte, « no-referrer ». C'est logique : la politique du site d'où l'on vient s'applique à la page web en cours, la politique de cette dernière s'applique aux éléments qui la constituent (images, CSS, etc.) et aux pages (internes et externes) sur lesquelles on ira par la suite en suivant un lien. Notons qu'avec « no-referrer », la requête HTTP récupérant le fichier JS qui constitue l'outil de statistiques (ga.js, matomo.js, etc.) ne contiendra pas de Referrer, mais le script sera autorisé à utiliser l'élement Javascript « document.referrer » afin de récupérer celui de la page web. Dit autrement : le Referer positionné (ou non) sur la requête de récupération de l'outil statistique a aucune importance ;

    • La fonctionnalité « pages les plus lues du site web » ne se base pas non plus sur le Referer. J'ai testé avec Matomo (instance auto-hébergée sur un sous-domaine, configuration par défaut, utilisation du traqueur Javascript).

    Il faut quand même prêter attention aux très vieux sites web qui utilisent le Referer pour valider l'envoi de formulaires web ou autre. Ça fait 15 ans que les bonnes pratiques commandent de ne pas faire ça car ça n'apporte pas de sécurité, mais bon… Au quotidien, au niveau mondial, la liste des sites qui cessent de fonctionner en l'absence de Referer est très maigre, la liste blanche de Smart referer en est l'illustration. Mais ça peut être plus touchy sur des sites web internes / maison.

    Évidemment, il y a des cas où cet entête ne fonctionne pas :

    • D'autres entêtes HTTP communiquent l'URL plus ou moins complète du site web sur lequel nous naviguons. C'est le cas de l'entête « Origin » positionnées dans les requêtes AJAX (XMLHttpRequest) ou dans les requêtes de récupération d'une police de caractères depuis un fichier CSS (« @font-face ») ou dans d'autres cas encore. Ces fuites ne peuvent être évitées (pas même avec l'extension Smart Referer) car elles participent à la politique de sécurité dite CORS ;

    • Les contenus encapsulés, comme une vidéo Youtube, sont autonomes, indépendants de la page web qui les incruste, donc ils appliquent leur propre politique de transmission du Referer ou celle par défaut du navigateur web (pour Firefox : transmettre sauf si passage de HTTPS à HTTP).

    Le mieux est donc d'internaliser tous les éléments qui composent ton site web, CSS, police de caractères, jquery, outil de statistiques (Matomo ‒ anciennement Piwik ‒ et son guide de configuration par la CNIL sont là pour ça, etc.) et de préférer un lien vers un contenu externe (vidéo, carte géographique, Twitter, etc.) à son inclusion sur la page sous forme de widget / gadget. Au moins, le visiteur ne se fait pas renifler le cul sans le savoir par les mêmes acteurs hégémoniques, et, s'il suit un lien, il le fait en connaissance de cause, en acceptant la politique du site web pointé, il a le choix.

    L'internalisation à d'autres avantages :

    • Pas de dépendances à des acteurs économiques avec lesquels tu n'as pas de contrat donc aucune assurance de pérennité ni garantie d'absence de panne (Google a déjà été en panne, CloudFlare aussi). C'est dommage de ne plus avoir de mise en forme sur son site car un acteur toussote à l'autre bout d'Internet… ;

    • Site web moins long à charger car moins de requêtes DNS+TLS+HTTP à effectuer.

    Comme un décideur ou un développeur aura toujours une bonne excuse pour ne pas internaliser (« pas la priorité », « pas le temps », « le gain est faible », « je ne connais pas assez mon framework pour savoir si c'est possible »), l'entête Referrer-Policy est un premier pas pour nettoyer un site web et protéger un poil plus la vie privée des visiteurs. Je recommande la valeur « no-referrer ».

    Je trouve qu'une politique du Referer ferme complète assez bien le récent blocage par défaut des traqueurs tiers par Mozilla Firefox et le très récent blocage par défaut de tout cookie tiers par Apple Safari. Les principaux traqueurs et les cookies tiers éliminés sans action de l'utilisateur, il reste le Referer, les traqueurs déguisés et les contenus externalisés. Avec une politique du Referer ferme, il reste les traqueurs masqués, dont uBlock Origin sait s'occuper depuis peu (mets-le à jour), et les contenus externalisés à outrance. On progresse. La vie privée progresse.

    Ce que j'ai écrit dans mon dernier shaarli sur Referrer-Policy reste valable : je recommande vivement son usage sur des sites web internes : intranet, webmail, messagerie web comme Mattermost (dès que quelqu'un envoie une image, vidéo, URL, le contenu est récupéré automatiquement et affiché), lecteur de flux RSS, etc. Cela évite les fuites, cela évite d'informer l'extérieur de l'existence de ressources internes (je simplifie, d'autres fuites restent possibles, au niveau DNS, par exemple, mais, pour en """"bénéficier"""", il faut être dans un cercle relativement fermé).

    07/04/2020 23:23:30 - permalink -
    - http://shaarli.guiguishow.info/?cVuGzQ
  • Créer facilement et gratuitement des cartes géographiques

    Version courte : utilise Framacarte ou umap. Mode d'emploi. Guides vidéos.

    Tu veux une carte avec un marqueur aux couleurs de ton magasin afin d'en indiquer l'adresse et intégrer / utiliser cette carte sur ton site web ? Avec un éventuel message indiquant les horaires d'ouverture ? Plusieurs marqueurs, un par magasins ? Utilise Framacarte ou umap. Mode d'emploi. Guides vidéos.

    Tu veux une carte avec plusieurs marqueurs afin d'identifier tous les lieux d'un festival ou les points de diffusion d'un journal ou les AMAPs du coin ? Avec d'éventuelles informations et médias (photos, vidéos) pour chaque lieu ? Utilise umap ou Framacarte. Mode d'emploi. Guides vidéos.

    Tu veux cartographier un parcours de randonnée ? Un voyage ? L'enrichir avec des photos / vidéos de chaque étape ? Utilise Framacarte ou umap. Mode d'emploi. Guides vidéos.

    Tu veux cartographier un conflit local ou global ? Des événements historiques ? Les résultats par circonscription d'une élection ? Les câbles sous-marins d'Internet ? Utilise umap ou Framacarte. Mode d'emploi. Guides vidéos.

    Tu veux une carte personnalisable ? Choisir le fond de carte le plus adapté à ton besoin ? Choisir la forme, la couleur, l'opacité, le niveau de zoom, etc. de chaque élément ? Activer ou non la localisation de l'utilisateur ? Minicarte ou non ? Etc. Utilise Framacarte ou umap. Mode d'emploi. Guides vidéos.

    Tu veux que plusieurs personnes (élèves, bénévoles, etc.) collaborent pour créer une des cartes sus-mentionnées ? Tu veux partager une carte sur un site web, par email, etc. ? Utilise umap ou Framacarte. Mode d'emploi. Guides vidéos.

    Tu veux importer des données géographiques existantes (KML, GPX, GeoJSON, CSV, etc.) sur un fond de carte libre de droits ? Utilise Framacarte ou umap. Mode d'emploi. Guides vidéos.

    Tu veux une carte qui se mettra à jour toute seule en fonction d'une base de données distante pré-existante, comme celle des restaurants végan ou des stations vélo d'une ville ? Utilise umap ou Framacarte. Mode d'emploi. Guides vidéos.

    Le plus beau, c'est que cet outil est facile à utiliser et qu'il repose sur l'outil de cartographie libre de droit, communautaire et gratuit OpenStreetMap et le service de Framasoft, une association française qui œuvre pour des services numériques éthiques et respectueux des utilisateurs.

    06/04/2020 22:36:25 - permalink -
    - http://shaarli.guiguishow.info/?rc4hwA
  • Construire une carte des câbles sous-marins d'Internet avec OpenStreetMap

    TL;DR : carte OpenStreetMap des câbles sous-marins d'Internet / Internet submarine cables map OpenStreetMap. Ci-dessous, pourquoi et comment construire une telle carte.

    ÉDIT DU 29/08/2023 : depuis le 15/11/2022, TeleGeography a supprimé son dépôt git et ne diffuse plus les données géographiques (« We no longer maintain and update a repository on GitHub for our data or our source code » dans l'infobulle « about » sur leur site web). :( Cette carte n'est donc plus à jour. Dernière version des données géographiques. FIN DE L'ÉDIT.


    Introduction

    Loin d'être virtuel, Internet repose sur des infrastructures physiques dont des câbles sous-marins en fibre optique (qu'il faut entretenir contre l'usure, les événements naturels ou humains, les sabotages, etc.).

    La liste de ces câbles, leurs stations d'atterrissement et leur tracé est environ public (environ car le tracé ne l'est pas de manière précise). Nous disposons de l'excellent site web Submarine Cable Map.

    Néanmoins, cet existant, cette carte, me pose deux problèmes :

    • Elle repose sur le service Maps de la multinationale Google. Ça pose les habituelles questions de dépendance vis-à-vis d'un acteur unique hors contrat, de pérennité et de respect de la vie privée ;

    • Elle est plutôt unique, donc elle peut disparaître promptement. À titre d'exemple, les repreneurs du site web historique en la matière, cablemap.info, demandent une inscription préalable, donc, en pratique, cette carte publique a disparu. J'ai vu que les sources du site web sont disponibles (donc que quiconque peut en héberger une copie), mais node.js, yarn et compagnie, ça sera sans moi (et ça ne résout pas la dépendance à Google Maps).

    Pour l'heure, les données (le tracé des câbles et les coordonnées géographiques des stations d'atterrissement) de la carte « Submarine Cable Map » sont disponibles dans un dépôt git public sous une licence environ libre (CC BY-NC-SA).

    Et si on les utilisait pour construire une carte basée sur OpenStreetMap, l'outil de cartographie libre et communautaire (OSM) ?

    C'est chose faite : carte OpenStreetMap des câbles sous-marins d'Internet / Internet submarine cables map OpenStreetMap.
    J'actualiserai cette carte au fil de l'eau, en me basant sur le dépôt git sus-cité.

    Ci-dessous, un retour sur la façon dont j'ai procédé pour construire cette carte.


    Que faut-il pour créer cette carte ?

    Pour réaliser cette carte, il faut deux choses.

    D'un côté, il faut pouvoir créer une carte personnalisée en utilisant un fond de carte OpenStreetMap, c'est-à-dire une carte sur laquelle on peut représenter ce que l'on veut : un itinéraire, un parcours de trail, un marqueur sur un lieu avec une éventuelle infobulle pour donner des infos, plusieurs marqueurs afin d'identifier plusieurs lieux (pour un festival décentralisé, par exemple), etc.

    Le site web officiel d'OpenStreetMap permet de tracer des itinéraires et de partager une carte avec un marqueur sur un lieu (sans infobulle, sans marqueur personnalisé), mais ça s'arrête là.

    Le logiciel web umap pemet tout le reste sus-cité. On peut installer sa propre instance ou utiliser celles qui existent. Exemples : instance umap OSM France, instance umap Framasoft.

    Vu mon maigre besoin, j'ai décidé d'utiliser une instance existante. J'ai choisi celle de Framasoft, une association française qui œuvre pour des services numériques éthiques et la culture libre.

    Pour débuter, je recommande vivement cet exellent tutoriel umap. D'autres tutoriels, et même des tutoriels vidéos sont disponibles sur le wiki officiel OSM France.

    D'un autre côté, il faut retravailler les données géographiques disponibles :

    • Les tracés des câbles sont dans un fichier JSON alors que les informations sur les câbles (nom, longueur, date de mise en service, etc.) sont stockées dans un autre fichier ;

    • On aimerait mettre en forme (gras, liste à puces, liens vers les stations d'atterrissement, etc.) le texte associé à un câble / une station ;

    • On aimerait conserver la coloration des câbles, mais l'attribut JSON utilisé n'est pas prise en charge par umap (et sa valeur n'est pas au format attendu ‒ # ‒).

    On pourrait faire ça à la main, mais de nouveaux câbles entrent régulièrement en service pendant que d'autres rendent leur tablier. Une mise à jour à la main ne serait pas gérable. Il faut donc qu'un programme informatique fasse cette transformation des fichiers d'origine prévus pour Google Maps en fichiers compréhensibles par OpenStreetMap en y ajoutant, au passage, nos desiderata de mise en forme.

    Dès que l'on évoque la manipulation de JSON, on pense forcément à la commande jq. J'ai écrit un tutoriel pour jq qui est rien de plus que le retour de l'expérience acquise pour construire cette carte des câbles sous-marins d'Internet.

    Voici le script que j'ai pondu : transform_carte_cables_sous-marins.sh.

    • Les logiciels git et jq doivent être installés ;

    • Il suffit de le lancer. Aucun argument attendu ;

    • Il va récupérer le dépôt git, créer un espace de travail temporaire, travailler, détruire l'espace de travail temporaire, indiquer où trouver les fichiers résultants de son traitement ;

    • Deux variables en début de script permettent d'ajouter des paramètres umap sur les câbles et les stations (opacité, forme, interaction, etc.). Pour l'instant, tous les paramètres peuvent être définis au niveau du calque, donc ces variables ne servent pas.


    Construire la carte

    Une fois que l'on a exécuté ce script afin de traiter les données, comment créer la carte et y importer les données ?

    • Créer une carte sur une instance umap ;

    • Dans l'entête, à côté de « Carte sans nom », il y a une icône en forme de crayon. Cliquer dessus :

      • Nom = « Submarine Cable Map » ;

      • Description = contenu du fichier summary.txt ;

      • Options d'interface :
        • Afficher le bouton de plein écran = jamais ;

        • Afficher le bouton de localisation = jamais ;

        • Afficher le bouton pour ouvrir l'éditeur d'OpenStreetMap = jamais (je ne souhaite pas donner de faux espoirs au pékin : ce ne sont pas les données relatives aux câbles qui seront modifiables par ce biais) ;

        • Afficher le bouton d'accès rapide aux couches de données = caché ;

        • Voulez-vous afficher un panneau latéral au chargement? = légende.
      • Limites géographiques (pour limiter les déplacements sur la carte aux endroits où il y a des câbles afin d'éviter les fausses manips) :

        • Sud = -90 ;

        • Ouest = -250 ;

        • Nord = 90 ;

        • Est = 250.
      • Crédits
        • Crédit = « CC BY-NC-SA 3.0 \n Original (Google Maps): [[https://www.submarinecablemap.com/|Submarine Cable Map]] by [[https://www2.telegeography.com/|TeleGeography]]. \n Data: [[https://github.com/telegeography/www.submarinecablemap.com|Github TeleGeography]]. ».
    • Cliquer sur le bouton « Enregistrer ». Garder impérativement le lien de modification (tant que le cookie est conservé par ton navigateur web, ça va, mais sinon il constitue le seul moyen de pouvoir modifier la carte) ;

    • Cliquer sur le bouton « calques » :

      • Supprimer le calque 1 ;

      • Ajouter un calque :

        • Nom = « landings » ;

        • Description = « Landing stations » ;

        • Propriétés de la forme :

          • Forme de l'icône = cercle (elle attire moins l'œil / monopolise moins l'espace disponible).
        • Options d'interaction :
          • Forme de popup = panneau latéral (plus pratique que les infobulles + comportement par défaut d'OSM).
      • Ajouter un calque :

        • Nom = « cables » ;

        • Description = « submarine cables » ;

        • Propriétés de la forme :

          • Opacité = 1 (curseur le plus à droite possible).
        • Options d'interaction :
          • Forme de popup = panneau latéral.
    • Cliquer sur le bouton « Enregistrer » ;

    • Cliquer sur le bouton « importer des données » :

      • Importer des données = choisir le fichier landings.json produit par le script sus-mentionné ;

      • Choisir le calque de données pour l'import = landings ;

      • Cliquer sur le bouton « Importer ».
    • Cliquer sur le bouton « Enregistrer » ;

    • Cliquer sur le bouton « importer des données » :
      • Importer des données = choisir le fichier cables.json produit par le script sus-mentionné ;

      • Choisir le calque de données pour l'import = cables ;

      • Cliquer sur le bouton « Importer ».
    • Cliquer sur le bouton « Enregistrer » ;

    • À la fin de l'URL, ajouter « #2/-0.2/0.0 » et valider ;

    • Cliquer sur le bouton « enregistrer le zoom et le centre actuels » ;

    • Cliquer sur le bouton « exporter et partager la carte » :
      • Télécharger les données = données complètes de la carte ;

      • Cliquer sur le bouton « télécharger les données ». Conserver ce fichier de sauvegarde.



    Je note quelques limites d'umap :

    • Contrairement à la version originale de la carte, je ne suis pas parvenu à créer un lien vers un câble sous-marin dans le panneau latéral d'une station d'atterrissement. De même, pour avoir un lien vers une station d'atterrissement dans le panneau latéral d'un câble, j'ai dû ruser en utilisant ses coordonnées géographiques plutôt que son nom afin de former une URL valide au sens OSM (#<niveau_de_zoom>/<latitude>/<longitude>). Dit autrement : je n'ai pas trouvé un moyen de faire un lien vers un objet. Sur OSM, les objets (le tracé d'une ligne de bus, par exemple) ont un identifiant interne public, donc on peut construire une URL de la forme « /relation/<identifiant> ». Avec umap, je n'ai pas trouvé d'identifiant, y compris dans l'export ;

    • Contrairement à la version originale de la carte, je n'ai pas trouvé comment mettre en évidence / surligner l'ensemble du tracé d'un câble quand on clique dessus, puisque, comme indiqué au point précédent, je n'ai pas trouvé comment pointer un objet par son nom afin de créer un lien pointant sur lui dans son intégralité.


    Annexe : premier script, méconnaissance de jq, optimisation et autocritique

    Le script présenté plus haut permettant de traiter les données géographiques avant importation dans umap n'est pas le premier que j'ai écrit. Le premier, c'est celui-ci : transform_carte_cables_sous-marins.original.sh.

    Quelles différences ?

    • Je n'avais pas compris que jq peut mettre le contenu d'un (ou plusieurs) fichier secondaire dans une (ou des) variable afin d'enrichir le fichier principal avec des informations du (des) fichier secondaire ;

    • Je ne voulais pas admettre qu'une fois qu'on a sélectionné / demander l'affichage d'un attribut qui contient un tableau (« '.monAttribut[]' »), alors on itère sur ce tableau jusqu'à la fin de la commande jq. Tout filtre ajouté à la chaîne sera exécuté autant de fois qu'il y a d'éléments dans le tableau parcouru. Cela signifie aussi que l'on perd tout le contenu JSON qui était autour de ce tableau. Oui, c'est aussi idiot que de se plaindre qu'avec un grep | xargs <maCommande>, maCommande n'accède pas à ce qui n'a pas été retenu par grep. Mais, du coup, ça me fait perdre l'entête et le pied du fichier JSON d'origine, donc ça produit un JSON invalide. Si je n'itère pas sur le tableau, je ne peux pas accéder aux attributs de chaque élément du tableau, donc il m'est impossible, par exemple, de transvaser la couleur d'un câble dans un attribut compréhensible par umap (genre jq '.features[].properties += { "_umap_options": { "color": .color } }' cables.json, ça ne fonctionne pas). Comme je n'avais pas compris que jq permet de travailler sur plusieurs fichiers, je n'avais pas perçu que l'on peut reconstruire le fichier JSON d'origine ;

    • Comme je n'avais pas compris non plus que l'on peut circonscrire une itération sur un tableau au sein d'une opération bornée / finie comme une affectation, je n'avais pas perçu que ça pouvait être une autre solution au problème du point précédent. C'est finalement la solution que j'ai retenue.

    Ces trois points sont détaillés dans mon shaarli dédié à la prise en main de jq par des exemples pratiques.

    En conséquence, je faisais une boucle « for » avec mon shell. La fin de l'itération était le nombre d'éléments dans le tableau - 1. Ainsi, j'avais un indice de tableau. Donc je pouvais accéder à l'élément que je voulais dans le tableau, récupérer son identifiant (permettant de récupérer ses infos dans le fichier JSON séparé) et le modifier.

    • L'inconvénient, c'est que je lançais plusieurs jq (récupérer l'identifiant d'un élément, récupérer les infos dans le deuxième fichier, modifier le JSON avec tout ça) ‒ ce qui implique des fork() et des exec() en pagaille ‒, que j'écrivais autant de fichiers temporaires qu'il y a d'éléments parcourus, et que jq renvoi l'intégralité du JSON à chaque passe. Tout ça consomme du CPU, de la RAM et des IO. Ce premier jet s'exécute en 1 minute 54 (moyenne sur 3 exécutions, récupération du dépôt git exclue). Et, encore, je suis en RAM (tmpfs).

    • L'avantage de cette première version, c'est que, puisque je récupère les informations (sur un câble ou une station) avec une commande jq distincte, je peux appliquer très facilement un grep -v 'null' afin de dégager de la sortie les attributs JSON non-remplis (genre un câble qui n'a pas de site web associé, par exemple). EDIT DU 21/08/2021 : pour afficher un texte pré-défini quand la valeur d'un attribut JSON est null, jq dispose d'un opérateur de remplacement, « // ». FIN DE L'ÉDIT.

    • Autre avantage : pour faire passer le temps d'exécution, j'affiche un joli compteur avec printf() genre « Working on cables: 001/469… […] 142/469… ». Ça fait bien longtemps que je n'avais pas écrit un code générant un affichage aussi kikoo. :D

    La version actuelle du script utilise une seule commande jq (mais avec des filtres supplémentaires) afin de réaliser l'itération, l'enrichissement du JSON et la modification du flux JSON.

    • Cette dernière version s'exécute en 3,6 secondes (conditions de test identiques). 31 fois plus rapide ! :O

    • Inconvénient : la commande jq commence à devenir touffue et très compliquée à comprendre, donc à maintenir dans le temps. Oui, je pourrais virer des variables, mais guère plus, je pense.

    • Le premier avantage de la première version devient un inconvénient : je ne peux plus virer aussi facilement les attributs JSON non-remplis. Probablement que ça peut se faire avec une condition jq mais au prix de la lisibilité. EDIT DU 21/08/2021 : pour afficher un texte pré-défini quand la valeur d'un attribut JSON est null, jq dispose d'un opérateur de remplacement, « // ». FIN DE L'ÉDIT.



    Merci Johndescs pour la relecture et la correction des scripts.

    05/04/2020 21:15:14 - permalink -
    - http://shaarli.guiguishow.info/?UJyNPw
  • jq : gsub() échoue sur certains caractères Unicode

    Voir mon introduction à la prise en main de jq, le logiciel de manipulation de JSON en ligne de commande.

    Soit le fichier JSON africa-coast-to-europe-ace.json.

    Avec jq version 1.5.1 Debian GNU/Linux Buster, je veux récupérer la valeur de l'attribut « owners » sous la forme d'une unique chaîne de caractère. Je voudrais que la séparation entre chaque propriétaire ne soit plus « , », mais « \n * » (afin de produire une liste à puces).

    Facile, il suffit d'utiliser la fonction gsub(), greedy sub(), qui permet de remplacer des bouts de chaînes de caractères. Sauf que…

    $ jq -r '.owners | " * \(gsub(", ";"\n *"))"' africa-coast-to-europe-ace.json
     * Orange
     * Dolphin Telecom
     * Cote d’Ivoire Telec
     *
     * Gambia Submarine Cable Company
     * MTN
    […]

    Hum, il y a un raté pour Cote d'Ivoire Telecom.

    Je t'épargne l'identification du problème avec hexdump -C et jq -a (afficher le code séquence d'un caractère non-ASCII) : ce modèle d'apostrophe n'est pas un caractère ASCII mais Unicode.

    Normalement, ça ne devrait pas poser de problème puisque jq travaille, par défaut, en UTF-8 (d'après son manuel). De plus, file -i est formel, le fichier utilisé est bien encodé en UTF-8. Même si j'utilise iconv -t UTF-8 africa-coast-to-europe-ace.json -o africa-coast-to-europe-ace.json pour m'en assurer, ça change rien.

    J'ai essayé avec d'autres caractères Unicode : ça fonctionne avec « » » et des caractères Hangûl, mais pas avec le caractère « ⚧ »…

    J'en déduis que la fonction gsub() de jq foire avec certains caractères Unicode.

    J'ai rien trouvé de mieux que de remplacer l'aspostrophe problématique par l'apostrophe ASCII avec sed -i "s/’/'/" africa-coast-to-europe-ace.json avant son traitement par jq…

    Ce bug semble être corrigé dans la version 1.6 Debian GNU/Linux de jq.

    05/04/2020 19:18:31 - permalink -
    - http://shaarli.guiguishow.info/?GQNU7A
  • Manipuler du JSON avec le logiciel jq

    jq (paquet logiciel du même nom) est un outil en ligne de commande pour manipuler du JSON (quelle idée !).

    Il m'apparaît que le meilleur moyen d'apprendre à utiliser jq, c'est de pratiquer. C'est ce que nous allons faire dans ce shaarli.

    Fichiers utilisés dans les exemples ci-dessous : cables.json et cablesDefs.json.



    L'usage le plus simple de jq est de rendre lisible (indentation, coloration syntaxique, etc.) un bout de JSON qui ne l'est pas (on dit aussi prettifyer, forrmatter) : jq '.' cables.json.

    • Note : « . » est l'identité. Elle désigne l'élément / l'objet courant. Au début, elle pointe sur l'objet racine du fichier JSON, mais ça peut évoluer : lors d'une itération dans un tableau, par exemple, l'identité pointera sur l'élément actuellement parcouru.



    Afficher la valeur / le contenu de l'attribut « features » de l'entité / objet racine : jq '.features' cables.json.

    • Comme la valeur de cet attribut est un tableau, tout son contenu est affiché. Si l'on avait afficher la valeur de l'attribut « type » de l'objet racine avec jq '.type' cables.json, le retour serait une unique chaîne de caractères.



    Afficher uniquement l'attribut « slug » de l'attribut « properties » de chaque élément du tableau features « features » : jq '.features[].properties.slug' cables.json.

    • Sorte de grep.



    Afficher l'attribut « name » de l'attribut « properties » de chaque élément du tableau « features ». Afficher « n/a » (not available) si l'attribut n'existe pas ou a « null » comme valeur : jq '.features[].properties.name // "n/a"'.

    • Il s'agit de l'opérateur de remplacement de jq.



    Notons que jq propose des paramètres intéressants.

    • « -r » (raw) permet de ne pas afficher les guillemets autour d'une chaîne de caractères ;

    • « -a » (ascii) remplace les caractères non-ASCII par leur séquence échappée, ce qui est pratique pour identifier un problème lié à l'encodage.



    Ce que nous avons mis entre apostrophes dans les exemples précédents se nomme un filtre. Il est possible d'enchaîner les filtres. Pour ce faire, deux opérateurs existent :

    • « , » exécute les deux filtres et concatène leur résultat (comme « ; » dans un shell). Afficher le contenu de l'attribut « slug » de chaque élément du tableau « features » puis afficher le contenu de leur attribut « color » : jq '.features[].properties.slug , .features[].properties.color' cables.json ;

    • « | » a le même rôle que dans un shell : la sortie du filtre de gauche est l'entrée du filtre de droite. Travailler sur le slug de chaque élément du tableau : jq '.features[].properties.slug | .' cables.json.



    Tout peut être stocké dans une variable à tout moment : jq '.features[].properties as $props | .' cables.json.

    • Plus loin dans l'enchaînement de filtres, on pourra utiliser la variable avec $props | <traitement_ici> ou $props.<nom_attribut> (exemple : « $props.color »).

    • Forcément, si le résultat d'un filtre est stocké dans une variable, alors ce filtre enverra rien sur l'entrée d'un filtre qui lui serait chaîné. C'est le résultat du dernier filtre sans stockage dans une variable qui sera injecté dans l'entrée du filtre chaîné.



    Si un filtre retourne plusieurs résultats et qu'un ou plusieurs filtres lui sont chaînés, ces derniers filtres s'appliqueront / seront exécutés pour chaque résultat retourné par le premier filtre. Il est donc possible de travailler sur chaque élément d'un tableau. Nous le faisons depuis le début : jq '.features[].properties.slug' cables.json = jq '.features[] | .properties.slug' cables.json. Il est donc possible d'exécuter un traitement sur chaque élément du tableau, comme une sorte de grep | xargs.

    • Comme c'est confusant, je conseille vivement d'écrire tranquillement son filtre sur un seul objet à la fois avec jq '.features[0] | .properties.slug' cables.json (« [0] » demande à travailler sur le premier élément du tableau) avant de le généraliser ;

    • Si l'on fait jq '.features[] | ., c'est-à-dire « affiche-moi chaque élément du tableau « features » », on se rend compte que l'on perd l'entête (« { "type": "FeatureCollection", "features": [ ») et le pied (« ] } ») de notre fichier. Il faut comprendre qu'on les retrouvera jamais, qu'on peut jamais remonter au niveau supérieur. Ce serait comme utiliser grep essai | xargs <maCommande> et vouloir que maCommande accède à ce qui n'a pas été grep-é (retenu par grep). Si l'on tente d'enregistrer la racine dans une variable (« . as $racine ») et que l'on tente de l'afficher dans une itération (exemple : jq '. as $racine | .features[] | .properties.slug | $racine' cables.json), l'ensemble du fichier JSON sera affiché autant de fois qu'il y a d'éléments dans le tableau « features », ce qui n'est pas ce que l'on veut. Bref, n'essaye pas. On ne sort pas d'une itération, tout enchaînement de filtres après un filtre qui émet plusieurs éléments JSON sera exécuté autant de fois qu'il y a d'éléments ;

    • En revanche, on peut contenir une telle itération au sein d'une opération bornée, comme une affectation. Ainsi, tout le résultat produit par l'enchaînement des filtres de l'itération sera affecté à une variable. Nous verrons selon un peu plus loin, car il nous manque encore des connaissances.



    Recherche sur la valeur d'un attribut / afficher l'élément du tableau « features » dont la valeur de l'attribut « slug » est « adria-1 » : jq '.features[] | select(.properties.slug=="adria-1")' cables.json.

    • Afficher uniquement la valeur de l'attribut « properties.color » de cet objet ? jq '.features[] | select(.properties.slug=="adria-1") | .properties.color' cables.json ou, plus simplement : jq '.features[] | select(.properties.slug=="adria-1").properties.color' cables.json.

    • Rechercher une sous-chaîne dans la valeur d'un attribut avec une regex ? jq '.features[] | select(.properties.slug | test("adria-1")). Il est possible de positionner des drapeaux pour des recherches gourmandes (greedy), pour des recherches insensibles à la case, etc. Exemple concret d'utilisation.



    On peut mettre en forme /formater la sortie (afficher plusieurs attributs, ajouter du texte libre, etc.). Pour chaque élément du tableau « features », je veux afficher une ligne de la forme \*\*SLUG\*\*: <slug> ~ \*COLOR\*: <color>.. Les « * » sont du formatage Markdown (**gras**, *italique*). Le texte en majuscule, le caractère « ~ » et le caractère final (« . ») sont des bouts de texte arbitraires que je souhaite afficher. jq '.features[] | "**SLUG**: \(.properties.slug) ~ *COLOR*: \(.properties.color)."' cables.json.

    • Les guillemets permettent de saisir des chaînes de caractères. « \() » est l'opérateur qui indique à jq d'interpréter une expression située au milieu d'une chaîne de caractères.



    Et si je veux utiliser le contenu d'une variable shell dans un filtre ?

    • Normalement, on écrit un filtre jq entre apostrophes afin que le shell n'interprète pas la chaîne de caractères. Mais, on peut aussi l'écrire entre guillemets afin quil l'interpète. Exemple : maVariable='{ "test": "toto" }' ; jq ".features[].properties += $maVariable" cables.json. Cela signifie aussi que tu vas devoir échapper tout ce que le shell pourrait interpréter : le « $ » d'une variable interne à jq, les guillemets, etc. Pour peu que ton enchaînement de filtres jq soit un peu costaud, ça va le rendre illisible. Je déconseille ;

    • jq propose les arguments --arg <nom_variable_interne> <contenu> (le contenu sera enregistré comme une chaîne de caractères) et --argjson <nom_variable_interne> <bout_de_JSON> (attention : le bout de JSON doit avoir une syntaxe valide !). Reprise de l'exemple précédent : maVariable='{ "test": "toto" }' ; jq --argjson varInterne "$maVariable" '.features[].properties += $varInterne' cables.json.



    Et si l'on veut modifier le flux JSON ? Il existe les opérateurs « |= » et « += ». Le premier modifie la valeur d'un attribut en écrasant l'exisant. Le second ajoute un élément dans la valeur d'un attribut.

    • Je veux changer / remplacer la valeur de l'attribut « properties.color » de chaque élément du tableau « features » pour « yellow » : jq '.features[] | .properties.color |= "yellow"' cables.json ;

    • Je veux ajouter un attribut « toto » avec la valeur « titi » dans l'attribut « properties » de chaque élément du tableau « features » : jq '.features[] | .properties += { "toto": "titi" } ' cables.json ;

    • Je veux renommer l'attribut « properties.color » de chaque élément du tableau « features » en « properties.toto » tout en conservant sa valeur : jq '.features[] | .properties += { "toto": .properties.color } ' cables.json ;

    • Je veux déplacer l'attribut « properties.color » de chaque élément du tableau « features » dans un nouvel attribut « properties.toto » tout en conservant sa valeur : jq '.features[] | .properties += { "toto": { "color": .properties.color } }' cables.json.



    Normalement, si tu suis, tu me traites de tricheur : les deux dernières commandes du point précédent n'ont pas renommé / déplacé l'attribut, mais l'ont simplement copié. Pour finir le travail, jq propose la fonction native « del() » qui, comme son nom l'indique, permet de supprimer un attribut. Démo sur les deux exemples précédents : jq '.features[] | .properties += { "toto": .properties.color } | del(.properties.color)' cables.json et jq '.features[] | .properties += { "toto": { "color": .properties.color } } | del(.properties.color)' cables.json.

    • D'autres fonctions natives sont disponibles : select() qu'on a déjà vu, sub() (remplacer une portion de texte avec des expressions régulières ou non), split(), etc. On notera que la fonction gsub() (greedy sub) échoue lorsque certains caractères Unicode sont présents dans la chaîne de caractères à traiter (a priori, c'est corrigé dans la version 1.6 de jq).



    jq ne propose pas un argument (genre « -o ») permettant d'enregistrer le résultat de son traitement dans un fichier. Donc, si l'on veut enregistrer le résultat dans le fichier source / d'origine, il faut utiliser l'outil sponge (une redirection shell, >, viderait le fichier avant d'exécuter jq).



    Il est possible de travailler sur plusieurs fichiers JSON en même temps. Soit en les concaténant (cat fichier1 fichier2 | jq '.'). Oui, ça va générer un fichier JSON invalide (plusieurs entités racines…), mais jq est tolérant. Soit en ayant un fichier principal et des fichiers secondaires accessibles via des variables. Cette deuxième possibilité est très pratique quand on veut agrémenter / enrichir un fichier principal avec des informations disponibles dans un autre fichier (sans polluer le fichier principal avec une concaténation, donc).

    • Exemple pratique. Le fichier cables.json contient les coordonnées géographiques des éléments et le fichier cablesDefs.json contient des informations sur ces éléments (comme leur nom). Dans le fichier cablesDefs, on veut récupérer le nom de chaque élément du fichier cables.json afin de l'insérer dans un attribut « name » dans l'attribut « properties » de l'élément. On veut donc enrichir cables.json avec cablesDefs.json. Notons que les éléments ne sont pas forcément dans le même ordre dans les deux fichiers. Il y a une correspondance id = slug. Démo : jq --slurpfile maVariable cablesDefs.json '.features[] | . as $cable | $maVariable[] | select(.id==$cable.properties.slug).name as $cableName | $cable | .properties += { "name": $cableName }' cables.json.

    • Explication : pour chaque élément du tableau « features », on le stocke dans la variable $cable puis, dans le contenu de maVariable (donc du fichier cableDefs.json, dont chaque élément racine a été importé comme case d'un tableau), on cherche un objet dont l'attribut « id » correspond à l'attribut « slug » de notre élément, on stocke la valeur de l'attribut « nom » de cet objet dans $cableName. On affiche l'élément de notre tableau « features » et on ajoute un attribut dans son attribut « properties ».



    Plus haut, j'écris que si l'on itère sur le contenu d'un attribut avec jq, alors on perd les attributs qui entourent celui sur lequel on itère. Avec ce "mode multi-fichiers", on peut reconstruire le JSON d'origine (sauf si trop d'élements sont passés à la trappe, bien entendu). Exemple (je reprends le cas cité ci-dessus malgré son absence de représentativité) :

    jq '.features[] | .' cables.json > /tmp/json.tmp # dans json.tmp, on aurait donc uniquement les éléments du tableau « features », tout le reste aura disparu
    cat <<EOF > /tmp/minJSONStruct # dans ce fichier, on met l'entête et le pied du fichier d'origine (cables.json), précisement ce qui a disparu
    {
      "type": "FeatureCollection",
      "features": [
      ]
    }
    EOF
    jq --slurpfile featuresList /tmp/json.tmp '.features += $featuresList' /tmp/minJSONStruct > cables.json # on ajoute les ex-éléments du tableau « features » au tableau « features » de l'entête/pied JSON, donc on reconstitue notre fichier cables.json d'origine.

    Oui, je préfère passer par un fichier temporaire que par une variable (avec « --arg ») afin d'éviter les problèmes d'échappement de caractères pour le shell.

    On peut aussi préserver la structure JSON autour du tableau. Pour ce faire, il faut contenir l'itération sur le tableau au sein d'une affectation. Exemple : pour renommer l'attribut « properties.color » d'un objet membre d'un tableau en « properties.toto », il faut que j'itère sur ce tableau sinon je ne peux pas récupérer la valeur de l'attribut afin de la transvaser. Pour que cette opération ne soit pas destructrice, je l'encadre dans une affectation : jq '. as $racine | .featuresDup |= $racine.features | del(.features) | .features += [ .featuresDup[] | .properties += { "toto": .properties.color } | del(.properties.color) ] | del(.featuresDup)' cables.json. Si je n'avais pas dupliqué l'attribut « features », alors ce tableau contiendrait deux fois chaque élément : l'original et la version modifiée. Cette copie me permet de vider l'attribut « features » et d'utiliser sa copie pour itérer dessus et remplir « features » avec les objets modifiés.



    Appliquer le même traitement à tous les éléments d'un tableau. Pour chaque élément du fichier cablesDefs.json, je veux récupérer une unique chaîne de caractères contenant tous les éléments du tableau « landing_points » sous la forme * <nom1>: <latitude+longitude>\n * <nom2>: <latitude+longitude>\n […]. Premier essai : jq '.landing_points[] | " * \(.name): \(.latlon)"' cablesDefs.json. Bien vu, mais on ne peut pas obtenir une unique chaîne avec join() puisque ce qui ressort du filtre, c'est des chaînes de caractères et qu'un join() ne peut être appliqué sur ce type d'objets.

    • Comme dans beaucoup de langage de programmation (Python, Ruby, etc.), la fonction map() permet d'appliquer un même traitement à chaque élément d'un tableau, donc de produire un tableau en sortie… tableau sur lequel on pourra utiliser join(). Démo : jq '.landing_points | map(" * \(.name) :\(.latlon)") | join("\n")' cablesDefs.json.



    Il reste encore beaucoup de choses à découvrir : les boucles, les conditions, les fonctions persos, etc. Voir le manuel officiel de jq. Pour ma part, j'ai pu réaliser ce que je voulais (construire une carte des câbles sous-marins d'Internet) donc je m'arrête là.

    05/04/2020 18:47:42 - permalink -
    - http://shaarli.guiguishow.info/?KMmDNA
  • sponge(1): soak up stdin/write to file - Linux man page

    Qui n'a pas déjà voulu qu'une commande GNU/Linux enregistre son résultat dans le fichier d'origine, genre sort MonFichier > MonFichier ?

    Évidemment, ça ne fonctionne pas car, à cause de la redirection (« > »), le shell vide le fichier « MonFichier » puis l'ouvre avec l'identifiant « 1 » (stdout) dans la table des descripteurs de fichiers du processus, puis il se duplique avec l'appel système « fork() » (un fork() conserve la table des descripteurs de fichiers) puis remplace le code de sa copie par celui du programme demandé (sort, dans notre exemple) avec la famille d'appels système « exec() », ce qui en lance l'exécution. Donc, dès le début, le fichier d'origine est vidé.

    La plupart des commandes permettent d'écrire leur résultat dans un fichier genre sort -o <fichier> <fichier>. Mais pas toutes.

    C'est là que sponge intervient : cette commande du paquet moreutils attend la fin de l'écoulement des données sur stdin puis elle ouvre le fichier passé en argument et enregistre tout ce qu'elle a reçu depuis stdin.
    Pratique quand une commande ne permet pas d'enregistrer son travail dans un fichier (genre jq) et qu'on ne veut pas créer xxx fichiers temporaires (genre « commande fichierN > fichierN+1 »).

    Exemple d'utilisation : jq '.' monFichier | sponge monFichier.

    05/04/2020 14:35:38 - permalink -
    - https://linux.die.net/man/1/sponge
  • Bloquer autre chose (des IPs, des ports, etc.) que des applications Android avec AFWall+

    Sur mon ordinateur de poche Android, j'utilise le pare-feu Android AFWall+ (en fait, c'est juste une interface graphique pour le pare-feu natif du noyau Linux, Netfilter).
    Ça me permet de contrôler quelles applications peuvent émettre et sur quel(s) réseau(x) (Wi-Fi, 4G, VPN) elles le peuvent.

    J'utilise également un VPN de confiance (avec le logiciel Android OpenVPN For Android qui n'est pas l'implémentation officielle du projet OpenVPN) afin de me protéger des craderies de mon opérateur mobile lorsque je suis en 4G (on a vu Bouygues Telecom modifier les réponses DNS, on a vu SFR modifier les réponses web, etc.) et des points d'accès Wi-Fi malveillants (notamment ceux tenus par des potes farceurs). Mais également pour ne pas dévoiler ma vie privée à des gens en qui je n'ai pas confiance (opérateurs mobiles, fournisseurs de Wi-Fi ouverts, etc.).

    Lorsqu'on utilise un VPN dans un tel contexte, le minimum est d'interdire tout trafic qui voudrait sortir en dehors du VPN, sauf le VPN lui-même et DHCP.
    De même, lorsqu'un VPN est établi, il convient d'interdire tout trafic DNS sortant vers les serveurs DNS récursifs de l'opérateur mobile / fournisseur Wi-Fi, car certaines applications les utilisent au lieu de ceux proposés par le service de VPN, ce qui fait fuiter une partie de la vie privée.



    AFWall+ permet uniquement d'autoriser / bloquer des logiciels. Le premier besoin est satisfait (bloquer tout en sortie, autoriser quelques logiciels via le VPN), pas le deuxième. Pour le satisfaire, il faut utiliser des scripts personnalisés.

    On peut saisir un script perso directement dans l'interface d'AFWall+, sauf que c'est pénible et long. Je choisis donc de l'écrire dans un fichier séparé. Voici mon script pour bloquer le trafic à destination des serveurs DNS récursifs de Numericable :

    #!/system/bin/sh
    
    # Necessary at the beginning of each script!
    IPTABLES=/system/bin/iptables
    
    # Now add your own rules...
    $IPTABLES -I "afwall-vpn" -d 89.2.0.1/32 -j "afwall-reject"
    $IPTABLES -I "afwall-vpn" -d 89.2.0.2/32 -j "afwall-reject"
    
    # Don't
    # exit 0

    Quelques commentaires :

    • Ne pas oublier le shebang ;

    • La variable « IPTABLES » (et son pendant IPv6 « IP6TABLES ») n'est pas obligatoire, elle ajoute de la simplicité si le chemin vers le binaire iptables change un jour ;

    • Par défaut, AFWall+ exécute le script avant d'insérer ses règles de blocage d'applications. Donc, les règles du script seront ajoutées dans une chaîne avant qu'une application soit autorisée par la même chaîne. C'est bien ce que nous voulons : si les règles étaient ajoutées après, elles seraient inefficaces, l'application ayant été autorisée à émettre par une règle précédente. Par défaut, tout est donc OK. Néanmoins, je décide d'insérer mes règles en début de chaîne (« -I ») plutôt qu'à la fin (« -A ») afin de me prémunir de tout changement futur de comportement d'AFWall+ qui rendrait caduque mon filtrage ;

    • La chaîne « afwall-vpn » s'applique uniquement à ce qui sort par un VPN. D'après la doc', il y existe également les chaînes « afwall-wifi », « afwall-3g », etc. Toutes ne sont pas documentées. Donc je recommande d'exécuter un « /system/bin/iptables -L -n -v » depuis un shell root (commande su) Android (j'utilise le classique Terminal Emulator pour y accéder) pour voir les chaînes disponibles à un instant T ;

    • Je pourrais être plus fin et bloquer uniquement le protocole DNS (udp/53 et tcp/53) à destination de 89.2.0.[1-2], mais ces machines Numericable n'ont probablement pas d'autres usages, et sûrement pas d'usages qui m'intéressent. Donc, autant faire simple et performant en bloquant par IP. Je pourrais aussi bloquer tout trafic DNS qui n'est pas à destination des serveurs DNS récursifs de mon fournisseur de VPN, ce qui serait beaucoup plus sain et sécurisé (aucun risque d'oubli, quel que soit le réseau auquel je suis connecté), sauf que je veux me laisser la possibilité d'utiliser d'autres récursifs DNS au besoin ;

    • Je rappelle que, dans ce contexte, pour un confort utilisateur, il vaut mieux rejeter explicitement le trafic plutôt que de le jeter silencieusement. L'utilisation de la chaîne « afwall-reject » permet en sus la journalisation, utile en cas de problèmes ;

    • set -e (voir ici) ne semble pas être disponible. Dommage. Plus surprenant, un « exit 0 » en fin de script pour signifier que tout s'est bien passé conduit AFWall+ à déclarer que l'application des règles de filtrage a échoué…



    Avec le gestionnaire de fichiers Android Ghost commander, je déplace ce script depuis ma carte SD vers le dossier /storage/emulated/0/afwall. Pourquoi ? 1) Je n'ai pas trouvé de dossier nommé à peu près afwall dans /data/data ; 2) C'est ici qu'AFWall+ stocke ses exportations de règles (menu -> « Export ») donc, c'est lui qui a créé le dossier, donc, en l'utilisant, je me prémunis de problèmes de droits d'accès.

    Plutôt qu'une carte SD, j'aurais pu utiliser adb, oui.

    Ne pas laisser ce script sur la carte SD, car, si elle n'est pas insérée lors d'un démarrage de l'ordiphone, alors les règles de filtrage ne seront pas appliquées, donc le pare-feu sera désactivé.

    Dans le menu d'AFWall+ -> « Set custom script » -> « Enter custom script below », je saisis . /storage/emulated/0/afwall/<nom_script>. Attention au point au début !

    Menu AFWall+ -> « Apply ». C'est terminé. \o/

    05/04/2020 13:29:38 - permalink -
    - http://shaarli.guiguishow.info/?4yXBfA
  • How to increase the Android app VLC’s volume to 200% - Quora

    Autoriser l'amplification du volume audio sur la version Android de VLC : menu -> Preferences -> Video -> Audio boost.
    Durant la lecture d'un média, il suffira d'augmenter le volume comme d'habitude (glisser bas vers haut du côté droit), mais, cette fois-ci, il pourra dépasser 100 %, comme sur la version PC GNU/Linux de VLC.

    Attention, pour ce faire, il faut au moins la version 3.0 de VLC (source).
    Si vous avez installé VLC avec l'apk distribué sur le site web officiel (car VLC n'était plus disponible sur F-Droid à une époque, par exemple), F-Droid dira que le logiciel est à jour, ce qui n'est pas le cas. Il faut désinstaller VLC puis l'installer avec F-Droid.

    05/04/2020 11:51:44 - permalink -
    - https://www.quora.com/How-can-I-increase-the-Android-app-VLC-s-volume-to-200
  • Copy the contents of a file into the clipboard without displaying its contents - Unix & Linux Stack Exchange

    Copier tout le contenu d'un fichier dans le presse-papier en ligne de commande : xsel -b < <fichier>

    05/04/2020 11:27:27 - permalink -
    - https://unix.stackexchange.com/questions/211817/copy-the-contents-of-a-file-into-the-clipboard-without-displaying-its-contents
  • Contrepèteries (ter)

    Vache, pas simple, la livraison de la semaine ! :O

    Confinés empilés
    Les berges ne sont plus à vous !
    Pas de joug sans cuir !
    Sc/iure dans l'évêché
    On bosse à distance, à treize !
    Elle sent fort la verrine de paon
    Flairant des traces de biles dans leurs cotons, des clientes en lutte poussent leurs cris tôt : « Ce Véran nous accule ! » « On parle délais de carence »


    Confinés empilés
    Les berges ne sont plus à vous !
    Pas de joug sans cuir !
    Sc/iure dans l'évêché (chuire dans les WC)
    On bosse à distance, à treize ! (on baise à distance, atroce !)
    Elle sent fort la verrine de paon (elle sent fort[,] la pine de Véran)
    Flairant des traces de biles dans leurs cotons, des clientes en lutte poussent leurs cris tôt : « Ce Véran nous a/ccule ! » (ce Véra nous encule) « On parle délais de carence »



    Dans le Canard enchaîné du 1er avril 2020.

    01/04/2020 12:41:28 - permalink -
    - http://shaarli.guiguishow.info/?ye25Qw
  • ToDo installation Windows 10

    Récemment, j'ai constaté que l'ordinateur portable Windows 8 (8.1 ?) d'une amie ramait à moooort. Pour donner une idée : elle a le temps de cliquer sur le raccourci d'un logiciel, de me faire la conversation, de trouver ça trop long, d'aller me chercher une binouze dans son frigo à l'autre bout de sa piaule pendant que le logiciel vient à peine de s'ouvrir. :O

    Il s'agit d'un ordinateur personnel dont un usage professionnel se fait de plus en plus grand. Comment peut-elle se concentrer dans ces conditions ? :O

    Je regarde un peu : CPU identique à mon ordinateur perso (2 cœurs 2,5 Ghz), quantité de RAM équivalente (8 Go), disque dur 5 400 tours/minute (ha, peut-être qu'on a trouvé l'une des causes). J'ai aussi constaté que certains bus sont sous-dimensionnés…

    Je soupçonne aussi la présence d'un virus vu les quelques comportements erratiques de la machine.

    J'ai la flemme de partir à la chasse aux virus (et, surtout, je ne sais plus faire…).

    Je propose une réinstallation complète de Windows. Et, tant qu'à faire, de passer à winwin 10 (même si winwin 8.1 bénéficiera de mises à jour de sécurité jusqu'en janvier 2023).

    En douce (cadeau), je lui achète un SSD. Un Samsung 860 Pro, produit qui remplace les excellents 850 Pro qui équipent mon ordinateur perso et un fournisseur d'accès à Internet alsacien, a ma faveur : ça marche bien et, en cas de pépin, la garantie Samsung 5/10 ans remplace à neuf sans faire chier. Winwin 10 sera installé dessus, ce qui permet de mettre le disque dur d'origine de côté afin de récupérer des fichiers si besoin. Au final, le gain est important mais moins ouf qu'avec un système Debian GNU/Linux…

    Ci-dessous, je propose un résumé de ce qui m'a marqué durant cette installation de winwin 10.


    Virer les mouchards Lenovo

    L'ordinateur étant de marque Lenovo, il faut virer les mouchards incorporés par cet assembleur. Dans quel monde vit-on ?!

    Le mouchard Computrace (voir aussi) n'apparaît pas dans l'UEFI, contrairement à mon ordinateur Dell.

    Le deuxième mouchard de Lenovo, qui résiste lui aussi à une (ré)installation de winwin, n'était pas non plus présent. Les binaires mentionnés par Numerama n'existent pas sur l'ordinateur et le modèle de cet ordinateur n'apparaît pas dans le communiqué de presse de Lenovo (merci à la machine à remonter le temps maintenue par archive.org d'avoir conservé ce document effacé par Lenovo, n'hésite pas à faire un don).

    Le troisième mouchard connu, SuperFish, n'était pas présent. Il ne résiste pas à une (ré)installation propre de winwin, mais je voulais voir. Pour diagnostiquer cela, j'ai suivi le tutoriel proposé par Lenovo lui-même. Si, comme moi, le menu démarrer refuse d'ouvrir le gestionnaire des certificats, utilise Windows+R puis tape « certlm.msc ».

    On notera que les deux derniers mouchards sont devenus des failles de sécurité qui peuvent être exploitées par n'importe qui. Voilà pourquoi ce genre de merde doit être refusée.


    Accéder à l'UEFI

    Mes notes de 2013 sont toujours valables.


    Désactiver Secure Boot

    Parce que changer uniquement la valeur de l'option « Secure Boot » dans l'UEFI, ça serait trop simple. Je copie les instructions afin de les pérenniser :

    Then scroll to the Security tab by using → . Then use ↓ to scroll to the Secure Boot entry. Press the Enter key and select Disabled. Follow that by navigating to the Reset to Setup Mode entry using the ↓ again. Press Enter, then select Yes on the popup to clear the PK, disable secure boot and enter setup mode. You’ll notice that the Platform Mode changes to Setup Mode and Secure Boot Mode becomes Custom. Press the Fn+F10 key to reboot.


    ISO d'installation librement disponible

    Microsoft propose l'ISO de winwin 10 en téléchargement libre. Attention, il faut se rendre sur le site web avec un système autre que winwin (ou trafiquer le user-agent de son navigateur web), sinon le site web ne propose pas l'ISO mais l'outil de MS pour créer un support d'installation.


    Créer un support d'installation

    Un collègue qui se tient à jour sur les technos MS m'a conseillé d'utiliser le logiciel Rufus. Aucune difficulté.


    Choisir l'édition de winwin

    D'une part, je voulais Bitlocker, la techno de Microsoft pour chiffrer un support de stockage car elle est plus transparente que VeraCrypt pour un utilisateur lambda (pas de code à saisir au démarrage, mais dépendance à une puce matérielle, le TPM). Bitlocker n'est pas disponible dans l'édition familiale. De plus, comme cet ordinateur va de plus en plus servir dans un contexte pro, je voulais être sûr que mon amie aurait tous les outils disponibles. Je voulais donc installer l'édition professionnelle de winwin 10.

    Or, durant l'installation, le choix de l'édition ne m'a pas été laissé. Tous les tutoriels indiquent que le choix se fait au début, juste après l'appui sur le bouton « Installer maintenant ». Moi, je passais directement à l'acceptation du contrat winwin.

    Winwin 8 édition familiale était préinstallé sur cet ordinateur. Donc la clé produit est stockée dans la table ACPI de l'UEFI. Donc l'installeur détectait cela et voulait installer l'édition familiale de winwin 10.

    Pour avoir le choix, il faut ajouter un fichier nommé « ei.cfg » dans le dossier nommé « Sources » présent à la racine du support d'installation de winwin. Le contenu doit être (source) le suivant :

    [Channel]
    _Default
    [VL]
    0

    Attention si tu utilises un système GNU/Linux pour créer ce fichier : la manière de terminer une ligne diffère entre Unix (LF) et winwin (CR+LF). Pense à convertir le fichier avec la commande unix2dos ei.cfg (la commande fait partie du paquet logiciel dos2unix).

    Évidemment, il faudra acheter une clé produit winwin 10 pro. Pense à connecter l'ordinateur à Internet avant d'activer winwin, sinon il est en mode démonstration et l'activation (KMS ou clé produit) n'est pas disponible. Lors de cette première connexion, winwin demandera, à nouveau, s'il faut lier le compte utilisateur local à un compte dans le cloud…


    Ne pas se connecter à Internet durant l'installation de winwin

    Cela permet de créer facilement un compte utilisateur local, non-lié à une identité dans le cloud de Microsoft. Sans ça, Microsoft essaye de te piéger et c'est plus compliqué de faire marche arrière. Dans quel monde vit-on ?!


    Questions secrètes

    Lors de la création d'un compte utilisateur, il faut saisir une réponse à trois questions secrètes. Oui, trois ! On marche sur la tête… Le mot de passe d'un utilisateur lambda de winwin est sa date de naissance ou « 1234 », donc bon… Sans compter l'inutilité démontrée des questions secrètes…


    Désactiver Fast Startup / démarrage rapide

    Il s'agit de démarrer rapidement un ordinateur en ne l'éteignant pas totalement. Winwin et les pilotes restent ouverts, le reste est fermé. L'état du système est stocké sur le disque dur.

    Je pense que cette fonctionnalité peut générer des ennuis. Quand le biniou ne termine pas sa mise en hibernation (ça arrive aussi sous GNU/Linux quand des pilotes / matériels font chier) et qu'il se réveille subitement dans ton sac en vidant la batterie. Quand le noyau winwin accumule de la merde. Quand les pilotes merdent. Etc.

    Avec un SSD, un démarrage à froid prend 27 secondes entre la pression sur le bouton et l'arrivée sur l'écran de connexion. C'est acceptable. Fast Startup ne se justifie donc pas.

    Tutoriel pour désactiver Fast Startup.


    Mises à jour

    Attention : si tu comptais cliquer sur « Rechercher les mises à jour » et faire autre chose en attendant que toutes s'installent : si une mise à jour nécessite un redémarrage, les autres mises à jour sont mises en attente (elles ne s'installent pas). De même, les mises à jour facultatives ne s'installent pas automatiquement, sans action.


    Pilotes

    Disponibles sur le site web de Lenovo. Évidemment, comme l'ordi n'est plus en vente, la page web n'est plus à jour, mais Windows Update mettra à jour les pilotes installés.

    Certains pilotes afficheront une erreur genre « Realtek machin ne peut pas s’exécuter sur cet ordinateur ». L'extracteur de Lenovo ne lance simplement pas le bon binaire… Il suffit d’aller dans le dossier d’extraction (c:\drivers, par défaut) et d’installer le pilote du bon constructeur parmi les sous-dossiers (généralement : Intel).

    Je sais qu'il existe des outils automatisés comme DriverCloud (anciennement « Ma-Config »), mais ce n'est pas mon kiff niveau vie privée (le logiciel peut aspirer ce qu'il veut, faire ce qu'il veut, son programmeur peut faire ce qu'il veut des données récupérées, etc.).


    Logiciels

    La plupart des logiciels utilisés par mon amie peuvent être installés avec ninite, sorte de gestionnaire de paquets minimaliste pour winwin. Pour les autres, ce sera installation manuelle en essayant d'identifier le site web officiel ou en utilisant Clubic. Comment peut-on encore en être à ce stade ?!


    Restaurer la configuration de Mozilla Firefox / Thunderbird

    • Ouvrir Firefox, fermer Firefox ;

    • Dans C:\Users\<nom>\AppData\Local\Mozilla\Firefox\Profiles\<chiffres_et_letttres.default>, tout supprimer et mettre le contenu de la sauvegarde ;

    • Même chose dans AppData\Roaming.

    Pour Thunderbird : même logique que pour Firefox sauf que c’est Local\Thunderbird et Roaming\Thunderbird.


    Restaurer la configuration de Google Chrome :

    • Ouvrir Chrome, fermer Chrome.

    • Dans C:\Users\<nom>\AppData\Local\Google\Chrome\User Data, tout supprimer et mettre le contenu de la sauvegarde.


    Vie privée

    Durant l'installation

    On en parle, de la masse de questions posées durant l'installation ?! Dans quel putain de monde vit-on ?!

    • Envoyer l'historique des activités à Microsoft ?

    • Autoriser Cortana à collecter des données ?

    • Désactiver toute reconnaissance vocale dans le cloud ?

    • Autoriser Microsoft à collecter la position géographique afin de propsoer des services ?

    • Envoyer des données de diagnostic ?

    • Envoyer des données de saisie manuscrite à Microsoft afin d'améliorer sa reconnaissance des caractères (OCR) ?

    • Autoriser Microsoft à proposer des conseils avec les données de diagnostic ?

    • Autoriser l'utilisation, par les applications, d'un identifiant publicitaire unique ?

    À chaque question, le choix favorable à Microsoft est bien présenté, comme s'il s'agissait du paradis : envoyer l'historique des activités, c'est pour reprendre vos activités depuis n'importe où ; Refuser l'utilisation, par les applications, d'un identifiant publicitaire unique est présenté comme « vous recevrez toujours autant d'annonces, mais elles peuvent être moins pertinentes pour vous » ; Impossible de désactiver l'envoi de données de diagnostic, on peut juste choisir un envoi « complet » ou « basic ». Le choix inverse est limite présenté comme l'enfer sur terre.

    À l'exception des trois premières questions (de mémoire), l'ergonomie est prévue pour embrouiller l'utilisateur. Genre le bouton se nomme « accepter » au lieu de valider. Donc quand tu réponds non + clic sur le bouton accepter, ça fait bizarre (j'accepte de refuser de me faire fliquer ou j'accepte le flicage tout court ?).

    Dire que les autorités administratives de protection des données personnelles (la CNIL en France) ont validé ça… Les libristes que nous sommes ne pouvons pas faire les malins : on parle des données collectées par Mozilla Firefox et de l'ex-partenariat Amazon-Canonical pour intégrer Amazon dans le menu Unity d'Ubuntu ?! Tout le monde fait n'importe quoi…


    Finir le ménage

    Korben pointe un logiciel libre qui permet de réduire encore un peu le flicage de winwin 10 : DisableWinTracking (fork maintenu ici).

    J'ai coché :

    • Services ;

    • Clear DiagTrack log ;

    • Telemetry ;

    • Block tracking domains ;

    • WifiSense ;

    • Uninstall OneDrive ;

    • Disable Xbox VR.

    Je n'ai pas modifié les autres paramètres (notamment le choix entre désactivation et suppression de services).

    Évidemment, il faut adapter cette liste à l'utilisateur : un joueur ne désactivera peut-être pas Xbox VR, par exemple.


    Virer les pubs et conseils parasites de l'écran de démarrage

    Il faut désactiver Spotlight : clic droit sur bureau → personnaliser → écran de verrouillage → arrière-plan = diaporama ou image, mais pas « Windows à la une ».

    Encore une fois : dans quel monde vivons-nous ?! Pourquoi acceptons-nous de nous faire maltraiter comme ça ?


    Lulz

    Après avoir répondu aux questions sur la collecte de nos données, l'installeur de winwin affiche « Nous préparons votre système » puis … … … « Laissez-nous tout ». Il n'y a pas de suite à cette phrase ! :O Aveu ? :)

    28/03/2020 18:55:50 - permalink -
    - http://shaarli.guiguishow.info/?35Hfuw
  • Mon avis sur Black Mirror

    Ça fait des années que j'entends parler, en bien, de la série télévisée Black Mirror, que des gens me la recommande. J'ai visionné les cinq saisons existantes et… boarf…

    Dans le fond, il y a rien de nouveau : la très grande majorité de ce qui est dépeint existe déjà avec ou sans la technologie. Le côté dystopique à court-terme en prend un coup. Les angles d'attaque ne sont pas non plus novateurs.

    • Désensibiliser les militaires afin qu'autrui soit perçu uniquement comme une cible + propagande "c'est eux les méchants" (S03E05) ? Ce sont les principes millénaires de l'embrigadement militaire et de la propagande… ;

    • Société du spectacle qui nous endort et nous rend apathiques (S01E01, S02E03, S03E06, S05E03) même devant des formes de torture (S02E02, S04E06) ? C'est documenté depuis des décennies… ;

    • Réputation comme monnaie d'échange et si t'es à sec, t'es exclu de la société (S03E01) ? Ça a toujours existé et l'exclusion sociale a toujours été conçue comme une punition (réprobation sociale, prison, etc.). On nous apprend à être lisse, ne pas faire de vague, à toujours bien nous comporter en public. L'évaluation constante, genre les formulaires pour évaluer les comportements (du livreur, du vendeur, du traitement d'une demande, d'un commentaire sur un site web) n'est pas nouvelle non plus ;

    • Chantage avec des enregistrements sexuels (S01E01), même quand ils montrent des actes pédophiles (S03E03), ce n'est pas nouveau ;

    • L'existence de pervers narcissiques qui vont tout faire pour écraser autrui (S04E01) n'est pas nouvelle non plus ;

    • Le flicage d'un proche par prétendu amour / bienveillance (S04E02) ? Idem ;

    • La """"délation"""" par mégarde éventuellement assistée par la technologie (S04E03) ? Idem ;

    • Le questionnement à tout âge sur son orientation sexuelle / genre et la flexibilité de nos désirs (S05E01), c'est du classique ;

    • La technologie qui pourrait se retourner contre l'homme (S04E05), c'est abordé depuis plus de deux siècles en philosophie et depuis plusieurs décennies dans les arts (genre Terminator) ;

    • Surveillance vidéo permanente de l'ensemble de la population par des drones au nom de la sécurité (S03E06) ? Rien de neuf… ;

    • La recherche de l'immortalité (S03E04) ? Ça fait des millénaires que la philosophie s'y intéresse… ;

    • Avoir la mémoire courte pour être heureux (S01E03) ? Idem ;

    • Accroc au plaisir généré par la douleur d'autrui (S04E06) ? Idem ;

    • Retrouver un être proche décédé (S02E01) ? Pierre de résurrection dans Harry Potter ;

    La technologie permettrait d'aller plus loin dans la connerie et la malveillance ? Boarf, c'est même pas sûr.

    Dans les épisodes de Black Mirror, les conditions de vie et la capacité de la technologie semblent tellement éloignées de la réalité, que j'ai eu du mal à y croire, à entrer dans les histoires. Exemples : isolement travail/piaule + piaule qui est juste un box avec un lit (S01E02), transfert d'une conscience humaine dans plein d'objets (S03E04, S04E06, S05E03, etc.), robots-abeilles et ruches organisées en pair-à-pair + déplacement et transmission radio très longue distance sur de si petits appareils (S03E06), scanner d'ADN afin de créer un avatar numérique (S04E01) disposant des souvenirs (comme si les souvenirs étaient inscrits dans notre ADN…), etc. Si t'es un technophile, tu constates des incohérences dans quasiment tous les épisodes.

    En revanche, la psychologie et l'environnement sont sombres et permettent d'entrer dans le bain. Tous ces individus tristes, très isolés (exemple : S01E02), apathiques, occupés par leurs écrans (mémoriels, spectacle, flicage, etc.) qui sont d'une grande froideur en permanence… Je pense que c'est ça qui m'a fait adhérer à Black Mirror. Peut-être que les dérives technologiques sont la pointe émergée de l'iceberg ? Notre inhumanité actuelle est peut-être plus préoccupante…

    Je retiens que, dans le futur, nous continuons de baiser. À l'exception de la saison 1 et de rares exceptions dans les autres saisons, chaque épisode a sa scène de baise, même et surtout quand ça apporte rien à l'intrigue (genre S02E03)… … …

    Je l'avoue, quelques épisodes m'ont marqué, soit parce qu'ils m'ont fait réfléchir, soit par leurs personnages. Se souvenir de tout (S01E03). Retrouver un être cher décédé (S02E01). Immortalité virtuelle (S03E04). Torture-spectacle (S02E02, S04E06). Simulateur de rencontres amoureuses (S04E04). Confiance en soi / vie par procuration en matant une star (S05E03).

    Bref, Black Mirror est une série qui permet de passer le temps, mais sans plus. Peu originale, elle rate sa mise en exergue des dérives technologiques potentielles. Elle échoue à faire naître la compréhension des enjeux liés à la technologie chez les spectateurs par quasi absence d'arguments et ré-utilisation d'arguments faibles éculés. Y-a-t-il besoin de disserter sur la technologie pour se rendre compte que le monde va mal ?

    28/03/2020 15:52:16 - permalink -
    - http://shaarli.guiguishow.info/?WVlmyQ
  • Câbles Internet sous-marins, coupure, réparation #telecomPorn

    Loin d'être virtuel, Internet repose sur des infrastructures physiques dont des câbles sous-marins. Parfois ces câbles se rompent à cause de l'usure, d'un événement naturel, d'un événement humain ou d'un sabotage. Quelques exemples ces deux dernières semaines sur le fil Twitter du « Directeur Réseaux et Services internationaux » d'Orange. Ces pannes ne datent pas d'hier. Exemple : en 1929, un tremblement de terre met KO un câble télégraphique transatlantique.

    Plus d'infos sur le financement des câbles sous-marins et les enjeux géopolitiques.

    Plus d'infos sur l'aspect physique d'Internet (câbles, locaux techniques, trous dans les trotoirs, etc.).

    Plus d'infos sur le financement des infrastructures physiques de l'Internet.



    https://twitter.com/jlvuillemin/status/1242890487754887169 :

    Et voila ! Reparation du SAT3 faite. Le câble était enfoui profondément sous des sédiments ce qui confirme l’éboulement du canyon du fleuve Congo en hte mer. Avec une tension de relevage croissante le câble a fini par se détacher du fond et a été remonté a bord pour inspection

    Visualiser le tracé du câble SAT-3. Éboulement du canyon = écoulement turbiditique.



    https://twitter.com/jlvuillemin/status/1243618627586269184 et https://twitter.com/jlvuillemin/status/1243791292913631233 :

    la situation globale des cables sous-marin entre l’europe et l’ocean indien est tres dégradée. Le SMW 3 et le SMW 4 sont tous les 2 coupés en 2 endroits différents. Nous avons actuellement 3 cabliers en mer sur ces opérations. […] Réparation du SMW3. Lors du relevage le câble s’est cassé dans la boite de jonction qui reliait le câble au répéteur.
    Il est donc très probable que le défaut était dans la boite nous en aurons la confirmation quand l’extrémité laissée au fond aura été remontée et testée.

    Visualiser le tracé du câble SMW-3. Visualiser le tracé du câble SMW-4.



    https://twitter.com/jlvuillemin/status/1238806688754470912 :

    Comme tous les gamers de la réunion l’ont constaté il y actuellement une double coupure sur les cables SMW4 et SMW5 qui impacte non seulement la réunion mais aussi plus généralement le trafic vers l’Asie, singapour et HK. Les équipes sont en train de réparer. Je précise que les coupures sont sur la partie égyptienne des deux cables a quelques km de la station de Zafarana.

    Visualiser le tracé du câble SMW-5.



    https://twitter.com/jlvuillemin/status/1243657525028929545 :

    Coupures qui entrent dans les statistiques des incidents habituellement constatés, svp ?
    Trés supérieures a la moyenne habituellement constatée.



    https://twitter.com/jlvuillemin/status/1243654077361381387 :

    […] Mais effectivement actuellement la situation est complexe. Entre l’Afrique, l’océan indien et la Méditerranée, nous avons un nombre de coupures particuliérement élevé.



    J'ai du mal à croire à une hausse significative des pannes sur les câbles sous-marins. J'attends que des informations provenant de plusieurs sources soient publiées avant de conclure.

    28/03/2020 12:11:03 - permalink -
    - http://shaarli.guiguishow.info/?dmHFiQ
  • Si FAT16 et FAT32 sont grisés dans gparted : apt-get install dosfstools

    Si FAT16 et FAT32 sont grisés lors de la création d'une nouvelle partition ou le formatage d'une partition existante dans gparted : fermer gparted + apt-get install dosfstools + ouvrir gparted.

    27/03/2020 22:37:51 - permalink -
    - http://shaarli.guiguishow.info/?0bjj0A
  • Bien vivre le digital [, utiliser du lubrifiant ]

    OMG, tout un site web du marchand Orange dédié au bien vivre le digital alors qu'une simple règle suffit : pour bien vivre le digital, utiliser du lubrifiant.

    Explication ici. Je cite : « L’adjectif digital en français signifie « qui appartient aux doigts, se rapporte aux doigts ». ».

    Merci Johndescs pour la blagounette du jour. :)

    25/03/2020 15:14:54 - permalink -
    - https://bienvivreledigital.orange.fr/
  • Contrepèteries (bis)

    On se forme en paniquant ?
    Ma femme use de ses droits, j'ai l'habitude.
    Datez les tares !
    Ces maires font l'affiche.
    Erdogan emballe une folle de Chypre, l'emballe puis l'apaise.



    Mes trouvailles :

    On se forme en paniquant ?
    Ma femme use de ses droits, j'ai l'habit/ude.
    Datez les tares !
    Ces maires font l'affiche.
    Erdogan emballe une folle de Chypre, l'emballe puis l'apaise.



    Dans le Canard enchaîné du 11 mars 2020.

    12/03/2020 21:45:25 - permalink -
    - http://shaarli.guiguishow.info/?ze4rEw
Links per page: 20 50 100
◄Older
page 95 / 302
Newer►
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community