Jusqu'à présent, personne ne l'avait remarqué, mais sur l'écran d'installation de Windows 11 Home, celui qui vous réclame un compte Microsoft avant de vous laisser aller plus loin, il y a un tout petit lien "Learn more" planqué au milieu d'un paragraphe. Personne ne clique jamais dessus mais
Bob Pony, lui, l'a fait
et magie-magie, Windows l'a propulsé directement sur la création d'un compte local.
Sur la page qui s'ouvre, on vous demande alors le nom de celui qui va utiliser cet ordi, puis derrière, c'est un mot de passe, trois questions de sécurité, et hop vous voilà sur le bureau avec votre compte local ! C'est top non ? Plus besoin de vous prendre la tête avec une invite de commandes, ou des clés de base de registre !
Plusieurs sites ont fait le test, moi je n'ai pas encore eu le temps, mais apparemment ça fonctionne très bien sur la version Home de Windows 11 mais je ne sais pas pour la version Pro.
Faut dire que ça fait un an que Microsoft ferme les autres portes du compte local. La clé de registre BypassNRO, puis la commande ms-cxh:localonlydont je vous parlais l'automne dernier
, ont été rebouchées les unes après les autres dans les préversions, avec à chaque fois la même explication foireuse : Ces bidouilles laissaient soi-disant des gens sortir du process d'installation avec une machine qui n'était pas entièrement configurée. Sauf que ce lien qui mène exactement au même compte local, lui, bah visiblement il a échappé à Microsoft... lol.
Un truc à savoir quand même avant de choisir le compte local, et
c'est Microsoft qui le dit
: le chiffrement de l'appareil ne s'activera pas tout seul. Quand vous ouvrez la session avec un compte Microsoft, il boote et la clé de récupération va se loger dans ce compte alors qu'avec un compte local, il reste inactif. Ça peut bien sûr se régler en allant dans les Paramètres, Confidentialité et sécurité, Chiffrement de l'appareil, mais faut y penser avant le jour où votre portable partira sous le bras de quelqu'un d'autre pendant que vous tapez votre meilleure sieste dans le TGV...
Alors maintenant, combien de temps tiendra cette astuce ?
Aucune idée, mais on espère tous que Microsoft laissera ça tranquille. Et si le lien a disparu quand vous lirez ces lignes, sachez qu'il reste des chemins qui passent par le média d'installation notamment via
Rufus, que je vous ai déjà présenté
. Suffit de cocher une case et hop, ça vous fera une clé USB qui ne réclamera aucun compte.
Voilà, si vous avez une machine à installer ce week-end, c'est donc le bon moment de tester cette astuce !
C'est l'histoire d'un smartphone Pixel de Google sur lequel il n'y a absolument rien... Vous l'allumez, pas une icône d'application, rien à faire défiler, pas de widget météo et ce genre de conneries... Non, vous avez juste l'heure, un gros bouton "micro" au milieu de l'écran et une ligne de saisie tout en bas pour ceux qui préfèrent taper.
L'écran d'accueil au complet : l'heure, le bouton à maintenir pour parler, et la ligne de saisie pour ceux qui préfèrent taper.
Ce truc ça s'appelle RistOS, et c'est un firmware pour Google Pixel 10a qui a pour objectif de remplacer le lanceur d'Android par un assistant vocal. Tout ce qui reste ensuite du téléphone tient dans un menu qui apparaît sur le côté : Téléphone, messages, appareil photo, galerie, cartes hors ligne (c'est Organic Maps, embarqué dans l'image), lampe torche et réglages.
Sept accès, et c'est fini. Pas d'app store, pas de navigateur, pas de compte Google, et évidemment aucun moyen d'ajouter quoi que ce soit.
Le menu sorti sur le côté, ses sept entrées, et rien d'autre à faire glisser.
Le projet repose sur GrapheneOS, sans être affilié ni à celui-ci ni à Google, et il ne tourne que sur le
Pixel 10a
(lien affilié), que Google vend encore la "modique" somme de 389 €.
Bref, par défaut, si vous appuyez sur ce gros bouton micro, absolument rien n'écoutera ce que vous avez dit, parce que l'image publique ne contient aucune adresse de serveur. Pour que cela fonctionne, vous devrez aller dans les réglages et remplir le champ dédié afin de lui indiquer l'URL de votre backend Rist. C'est donc le serveur,
que vous devez installer comme ceci
, qui récupèrera l'audio encodé et qui ensuite vous répondra au travers du téléphone.
L'idée, c'est que comme ça, on peut changer de téléphone sans souci, puisque tout est centralisé sur le serveur. C'est donc assez tranché comme usage, surtout que l'install efface tout ce qui est sur l'appareil. Mais bon, c'est peut-être ça le futur... Une coquille vide qui discute avec un serveur IA personnel, qui se trouve chez vous.
Par contre, n'espérez plus pouvoir utiliser votre téléphone pour appeler, par exemple, un service d'urgence, ça ne fonctionnera pas. Et si vous préférez simplement virer l'emprise de Google de votre téléphone sans avoir à vous monter un serveur entier derrière,
/e/OS fera le travail
.
Il y a 2 jours, GrapheneOS que vous connaissez tous parce que c'est l'Android que la police déteste, a détaillé une fonction baptisée secure paste, qui change la façon dont Android sert le contenu du presse-papiers aux applications. Le principe c'est qu'une application peut relire ce qu'elle a copié elle-même, mais rien de ce que les autres ont copié.
Android dans sa version de base n'est pas resté les bras croisés sur ce sujet, mais il s'est arrêté en chemin et depuis Android 10, seules l'application affichée à l'écran et le clavier par défaut peuvent lire le presse-papiers, ce qui a fermé la porte à celles qui tournent en arrière-plan. Puis Android 12 a ajouté une notification à la première lecture d'un contenu venu d'ailleurs, et enfin Android 13 vide le presse-papiers au bout d'un moment.
Mais depuis, plus rien...
Le trou qui reste,
Microsoft l'a documenté
en mars 2023. La version 7.9.2 de l'application SHEIN (oui, le site de fringues), téléchargée plus de cent millions de fois, lisait périodiquement le presse-papiers, et si elle y trouvait en même temps un signe dollar et un "://", elle expédiait le contenu vers un serveur distant.
Et la restriction d'Android 10 n'a rien empêché, tout simplement parce que l'application tournait au premier plan. Le comportement problématique de l'app SHEIN a ensuite disparu en mai 2022, après un signalement à Google, mais le problème de fond n'a jamais été réglé. Et j'imagine que d'autres apps actuellement sur le PlayStore appliquent la même technique sans que personne ne l'ait encore remarqué.
Secure paste de GrapheneOS s'attaque donc à ça en changeant la règle plutôt qu'en ajoutant un avertissement, et cette fois être affiché à l'écran ne donne plus droit à rien. Une application privée d'accès sait toujours qu'un élément est disponible, et peut en inspecter le type, l'horodatage de copie et la présence de mise en forme. Mais le contenu lui-même, son libellé et ses données annexes ne lui sont plus offerts sur un plateau d'argent.
Et le "collage" continue de marcher lui, parce que c'est vous qui l'autorisez. Que vous colliez depuis la barre de sélection de texte, depuis le clavier, depuis un service d'accessibilité ou avec un raccourci clavier, le système délivre une autorisation courte, liée à l'application qui reçoit et à l'élément en cours. Et pour les applications qui dessinent leur propre barre de sélection, comme celles codées en Flutter, un bouton "Coller" est visible dans le clavier par défaut.
Le plus vif d'esprit qui me lisent sont déjà debouts sur leur chaise et hurlent à travers leur écran : Et comment ça se passe pour "couper" ? Qui décide ?? Hé bien le réglage existe en version globale et par application, et il est autorisé par défaut, pour ne rien casser des applications déjà installées. Autrement dit, personne ne sera protégé sans l'avoir décidé et c'est à vous d'aller basculer en collage seulement celles à qui vous ne faites pas confiance.
Maintenant, calmez-vous les groupies de GrapheneOS parce que rien de tout ça n'est encore livré. Le code est visible dans
une pull request ouverte
depuis le 22 août dernier mais toujours pas fusionnée. GrapheneOS dit vouloir l'intégrer bientôt, sans donner de date et le mécanisme ne porte que sur la lecture, donc il ne dira rien des applications qui écrivent dans le presse-papiers pour y remplacer ce que vous venez de copier (coucou les détourneurs de transactions crypto)...
La même annonce parle aussi de l'application Messaging, dont l'interface vient d'être refaite en Compose, et le projet lâche au passage un chantier autrement plus lourd : faire du RCS directement dedans, chiffrement de bout en bout compris, pour ne plus avoir besoin de Google Messages. Héhé... Aujourd'hui, RCS marche très bien sur GrapheneOS, mais uniquement avec l'application de Google et sa couche Google Play isolée et c'est de ça dont ils veulent se passer.
Comme le RCS n'est pas une plateforme ouverte en pratique (pas autant que le SMS et le MMS quoi) et que tout cela repose sur l'infrastructure de Google et des opérateurs, le plan, c'est donc de refaire d'abord la partie que Google Messages assure, en gardant Google Play isolé pour l'activation, puis de s'en passer chez les opérateurs qui le permettent... à condition qu'ils acceptent le client de GrapheneOS, ce qui n'est pas gagné...
Quand je pense que Google, ces grands hypocrites qui ont passé des années à réclamer qu'Apple adopte RCS au nom de l'ouverture,
coupe lui-même le service
depuis 2024 sur les téléphones rootés et une partie des ROM alternatives. GrapheneOS y échappe mais ça donne quand même l'idée de l'accueil qu'un client maison pourrait espérer... On verra bien.
Mais bon, si vous êtes sur GrapheneOS, je serais vous, je surveillerais cette histoire de presse-papiers sécurisé parce que quand ça arrivera, vous serez encore plus béton face aux apps problématiques.
degoog
est un moteur de recherche que vous installez chez vous, et qui interroge Google, Brave, DuckDuckGo et d'autres en même temps avant de vous afficher une seule et belle liste unique de résultat.
Quand vous l'aurez installé, la première étape consiste donc à sélectionner les moteurs de recherche que vous voulez utiliser.
Dès que c'est bon, l'interface se remplira alors automatiquement avec les résultats en provenance de tous services de recherche. Et quand plusieurs de ces services remontent la même page, degoog lui sait les fusionner afin d'éviter les doublons. Ce recoupement fait d'ailleurs monter le résultat dans le classement.
Et la colonne de droite de degoog vous dira le reste : quel moteur a répondu, en combien de temps, combien de résultats il a apportés...etc. Et surtout, si ça ne renvoie rien, il vous dira aussi pourquoi. Par exemple, si vous avez été bloqué par le moteur de recherche, si vous avez été limité parce que vous avez fait trop de requêtes rapprochées, s'il y a un captcha, s'il y a une page interstitielle, etc., avec le petit lien qui va bien pour relancer la recherche sur ce moteur-là tout seul.
Pour faire sa besogne, degoog embarque quatre outils (Fetch, Curl, Curl Fallback et Curl Impersonate), et son Store en propose d'autres qui pilotent FlareSolverr (un résolveur de captcha Cloudflare), un navigateur furtif comme Camoufox, ou carrément un vrai Firefox qui prête sa session au serveur.
Il y a bien longtemps, je vous avais présenté
SearXNG
, et l'auteur de degoog ne se cache pas d'avoir été inspiré par celui-ci. Mais degoog va plus loin en terme de fonctionnalités et est surtout moins gourmand en ressources. Ça permet de le faire tourner sur des petites configs par exemple à base de Raspberry Pi.
Pour l'installer voici comment faire (faudra Docker) :
Puis je trouve qu'il est quand même vachement plus agréable à utiliser. Après, si vous voulez vraiment une page de résultats complète, il vous faudra un outil qui s'appelle
4play
. C'est une extension qui s'installe dans un profil Firefox propre, qui permet d'aller faire des recherches par lui-même sur Internet comme si l'outil était un vrai internaute. Mais ça nécessite une vraie session de bureau et un écran allumé ou un adaptateur EDID.
degoog permet aussi d'intégrer dans l'outil des plugins que vous pouvez télécharger sur Internet. Mais méfiez-vous à ne pas installer n'importe quoi et faire entrer le loup dans la bergerie !!
Le projet est en stable beta, en version 0.25.0 sortie fin août, sous licence AGPL, et l'interface est traduite en français.
Le 24 août dernier, X Corp. a envoyé une lettre de mise en demeure au développeur de Nitter et une autre à celui de XCancel (une instance célèbre de Nitter). Le délai accordé était très court (environ 24h), et depuis, les deux services sont hors ligne.
Alors que s'est-il passé ?
Nitter, c'était sept ans de travail bénévole pour lire les posts publics de Twitter puis de X sans avoir besoin de compte, sans pub, sans JavaScript et surtout sans laisser son adresse IP à Elon Musk et ses sbires. On remplaçait x.com par nitter.net dans l'URL, et on lisait ce qui nous intéressait. Y'avait même des
extensions de redirection automatique
qui le faisaient pas à notre place. Et XCancel qui venait de fêter ses 2 ans, c'était tout pareil !
Aujourd'hui la page d'accueil de XCancel affiche ces 4 lignes qui disent en gros que le service est arrêté jusqu'à nouvel ordre. Celle de Nitter n'est pas plus bavarde et son mainteneur, zedeus, cherche un avocat et refuse de commenter.
Notez qu'aucun tribunal n'a été saisi et qu'une simple lettre a suffi.
Ce que X reproche à ces 2 services, c'est un "usage illicite et un contournement de son API", plus une violation du Texas Harmful Access by Computer Act et du Lanham Act.
TechCrunch, qui a pu lire le courrier
, rapporte une accusation plus précise qui est que Nitter aurait accédé à des comptes X et à des jetons de session pour récupérer le contenu en douce.
Aux États-Unis, en tout cas, "aspirer" des pages web publiques n'a rien de criminel. Mais le problème, c'est que Nitter ne fonctionne plus comme ça depuis des années. Si on analyse son code, on se rend compte que depuis que Twitter a supprimé les comptes invités début 2024, Zedeus, le développeur de Nitter, a mis en place un tout autre système.
Pour contourner les limites imposées par X.com, il a développé un script
tools/get_session.py
qui prend en arguments un identifiant X, un mot de passe, un secret à double facteur et un chemin de fichier.
Et là-dedans, il embarque en dur une paire de clés API, se déclare auprès des serveurs de X comme LE client Twitter officiel pour Android en version 10.21 tournant sur un OnePlus A3010, fait passer le flux de connexion par cloudscraper, génère le code à double facteur à la volée, et récupère un jeton OAuth qu'il écrit ensuite dans un fichier.
Au niveau des identifiants, c'est l'hébergeur de l'instance qui les fournit puisque depuis la coupure de 2024, faire tourner Nitter imposait de le relier à un vrai compte X. On est donc très loin du robot anonyme qui lit une page publique. C'est un client officiel simulé, avec des identifiants valides, et c'est exactement ça que la lettre de mise en demeure décrit.
Donc voilà, le problème est bien plus compliqué que du scraping simple. Ce sera donc à un juge de trancher sur le fond.
Depuis,
le dépôt GitHub
est passé en lecture seule, archivé et selon Zedeus, d'autres instances ont reçu des courriers du même genre. De son côté, X ne s'est pas encore exprimé publiquement sur cette affaire.
Reste la question qui nous intéresse : On fait comment pour lire la merde fasciste de X sans compte maintenant ? Bah honnêtement, y'a pas grand-chose... Moi, je vous recommande d'arrêter d'aller là-dessus pour votre propre bien-être. Mais si vraiment vous êtes accro, le
pont ActivityPub bird.makeup
répond toujours présent et permet de suivre un compte X public depuis Mastodon. Toutefois, il ne vous affichera pas un fil de discussion direct dans le navigateur comme le faisait XCancel ou Nitter.
Après pour un post précis, il reste éventuellement la Wayback Machine, à condition que quelqu'un ait archivé le tweet avant. Sinon, bah faudra vous reconnecter sur X à l'ancienne avec votre compte...
Gadgetbridge
est une application Android libre qui va vous faire zizir parce qu'elle permet de remplacer l'app merdique du fabricant de votre bracelet ou montre connectée ou encore de vos écouteurs Bluetooth. Comme ça, terminé le compte obligatoire pour utiliser vos "wearables" et fini les serveurs du constructeur localisés en Chine ou je ne sais où qui reçoivent vos heures de sommeil ou votre fréquence cardiaque minute par minute... Puis surtout, ça permet de n'avoir plus qu'une seule application Android pour tous vos appareils et ça c'est cool aussi !
Surtout que ça fonctionne en OFFLINE... Hé oui, le manifeste de cette app indique bien que jamais, Ô grand jamais, elle ne se connectera au net. Y'a même pas la permission dans l'app, c'est bloqué au niveau du code.
Maintenant, concrètement, Gadgetbridge permet de recevoir vos notifications à votre poignet, de répondre aux appels avec réponses préenregistrées, de paramétrer des alarmes, de lancer une lecture de musique, d'avoir du suivi d'activité et de sommeil, ainsi que vos tracés GPS de vos trop rares séances de sport. Et bien sûr, tout reste en local sur votre téléphone. Notez que
AsteroidOS
, dont je vous ai déjà parlé, fait pareil mais un cran plus bas, uniquement dans la montre.
Gadgetbridge supporte actuellement 529 modèles de 74 fabricants, d'Amazfit à Garmin, avec Pebble, Sony, Huawei et Xiaomi. Mais prenez le temps de lire la fiche technique de votre modèle car tous ne sont pas supportés en intégralité.
Reste maintenant le prix à payer, et il ne vient pas de Gadgetbridge.
En effet, sur les Amazfit et Xiaomi récents, l'appairage se négocie avec les serveurs du constructeur. Il faut donc appairer une première fois avec l'appli officielle, puis en extraire la clé. Même histoire chez Fossil, dont les montres HR sortent en plus avec un firmware de démo que seule l'appli maison sait remplacer. Chez Nothing aussi, la CMF Watch Pro veut une clé extraite d'un téléphone rooté, alors que les Pro 2 et Pro 3 s'en passent.
Une appli qui aurait la permission d'aller sur Internet irait chercher cette clé toute seule mais comme celle-ci ne peut pas, faudra le faire vous-même (c'est expliqué comment dans la doc).
De leur côté, les Garmin s'appairent directement, sauf quelques modèles qui veulent avoir vu l'appli officielle une fois. Mais la météo, et l'AGPS sur certaines montres, réclament des identifiants à renouveler tous les 90 jours, et Gadgetbridge propose d'y répondre avec de faux jetons OAuth. Après si vous voulez revenir ensuite à celle du constructeur, faudra peut-être relancer une remise à zéro d'usine.
Après pour les irréductibles qui voudraient quand même du réseau, un module séparé, Internet Helper, est arrivé début 2026. Il relaie les requêtes des applications de la montre, s'installe à part, et nécessite sa propre autorisation.
Voilà, tout cela s'installe depuis F-Droid sur tout Android 6.0 ou plus récent, sous licence AGPLv3, et le code est dispo sur Codeberg.
Même les hackers ne veulent plus voir les lunettes connectées de Meta. Les organisateurs de la DEF CON, la plus grande convention de hackers au monde qui se tient chaque été à Las Vegas depuis 1993, ont annoncé sur leurs réseaux sociaux l'interdiction pure et simple des "lunettes de style Meta dotées de capacités d'enregistrement" dans l'enceinte de l'édition qui ouvre le 6 août.
Et la règle ne souffre aucune exception, pas même pour ceux qui ont fait monter des verres correcteurs sur leur monture connectée. "Pensez à emporter des lunettes conformes si vous en avez besoin", préviennent les organisateurs. Le message est clair.
Pour situer, la DEF CON attire chaque année plus de 30 000 participants, chercheurs en sécurité, agents fédéraux et bidouilleurs de tout poil, dans une ambiance où la paranoïa est presque une politesse. Le règlement photo, en place depuis 2023, interdit déjà de photographier qui que ce soit sans son accord, à l'exception des intervenants sur scène.
Sauf que voilà, les lunettes conçues par Meta avec EssilorLuxottica, le géant franco-italien de l'optique, sous les marques Ray-Ban et Oakley, ressemblent à s'y méprendre à des montures classiques. La caméra se niche dans la branche et seule une petite diode signale que ça tourne.
Du coup, impossible pour votre voisin de savoir s'il est filmé, et filmer quelqu'un en douce constitue une violation du code de conduite de la conférence. Dans un événement où une partie du public paie encore son badge de 520 dollars en liquide pour ne pas laisser de trace, on comprend que ça coince.
Eva Galperin, directrice de la cybersécurité à l'EFF, la grande association américaine de défense des libertés numériques, a applaudi des deux mains : "ravie de voir une politique "pas de lunettes de voyeur" à la DEF CON". Le surnom anglais, "pervert glasses", littéralement des lunettes de pervers, colle au produit depuis un bon moment.
Meta a bien senti le vent tourner, puisqu'une mise à jour déployée en juillet désactive désormais la caméra quand la diode témoin est masquée ou cassée. Visiblement, ça n'a pas suffi à rassurer grand monde.
La DEF CON n'est d'ailleurs pas seule, un organisateur britannique de Comic Cons et même une compagnie de ferries écossaise ont pris des mesures comparables. En 2013, les casinos de Las Vegas avaient déjà banni les Google Glass, autrement plus voyantes avec leur écran vissé sur la monture.
Quand les spécialistes de l'espionnage des machines refusent eux-mêmes d'être filmés à leur insu, le grand public aurait tort de ne pas se poser les mêmes questions.
Un site sans cookie de mesure d'audience et sans bandeau de consentement, c'est reposant je trouve... Sauf qu'à cause de ça, bah je ne savais plus trop combien de gens venaient me lire tous les jours. Relou hein ?
C'était ma situation depuis un moment déjà, vu que tout ce qui servait à mesurer l'audience a dégagé de korben.info il y a un bon bout de temps. Alors faute de mieux, je me suis rabattu sur AWStats, qui lit bêtement les logs Apache du serveur mais bon, c'est pas terrible, parce qu'avec le cache de Cloudflare, il y a une grosse partie de mon trafic qui n'est pas pris en compte.
En effet, quand Cloudflare possède une copie valide de la page dans son cache, il peut la renvoyer directement sans contacter le serveur d'origine. Vous êtes donc bien un visiteur réel, mais Apache ne voit aucune requête et AWStats ne vous comptabilise pas. Du coup, tous les outils fondés exclusivement sur les logs d'origine sous-estiment la part du trafic absorbée par le cache.
Après il y a bien le classique Google Analytics, mais bon même configuré en mode full RGPD, ça reste Google et ça appelle quand même un service tiers aux US... Vous connaissez aussi déjà des alternatives propres, puisque je vous ai parlé de Matomo,
Plausible
et de
Vince Analytics
, mais elles ajoutent toutes une mesure côté navigateur, avec un script, un pixel ou un stockage local (le localstorage) et moi, je ne voulais aucun outil d'audience de plus dans vos pages !
De son côté, Cloudflare lui, voit chaque requête HTTP qui atteint son réseau, y compris celles auxquelles son cache répond. Ses chiffres couvrent donc beaucoup mieux le trafic HTTP que mes logs d'origine. Le souci, c'est que son dashboard, je ne l'aime pas. Je le trouve incomplet, mal foutu, chiant à utiliser, et il ne montre pas ce que j'ai envie de voir.
Donc, histoire d'avoir ce que je voulais, j'ai fini par coder le mien. Enfin, entièrement vibe codé et ça tourne aussi bien sur un serveur qu'en local sur une machine de bureau.
Petite parenthèse pendant que j'y suis, vous ne le savez peut-être pas mais depuis que ChatGPT a débarqué dans nos vies fin 2022, tout ce que je développe moi-même sur ce site et l'ensemble de mes outils internes sont vibes codés avec des LLMs comme ceux d'OpenAI et d'Anthropic. C'était une purge au tout début et maintenant ça s'est tellement amélioré et je me suis tellement spécialisé là-dedans, que le code n'est devenu qu'une formalité. Ne hurlez pas, mon site est statique et j'envoie pas de fusée dans l'espace !
Mon collecteur s'exécute en local, cause à une API, et il n'envoie pas une seule ligne de mesure dans votre navigateur. Bref, que mon backend soit écrit avec un LLM, à la main ou en Brainfuck, vous chargez exactement la même chose de mon outil de stats, c'est-à-dire rien du tout. La garantie est donc architecturale et pas une question de talent.
Et surtout, mon outil de stats n'ajoute aucune mesure dans votre navigateur. Aucun JavaScript ni cookie supplémentaire n'est posé par mon outil. À la place, il lit l'API GraphQL Analytics de Cloudflare, en lecture seule et récupère des compteurs déjà agrégés par jour et par dimension. Cela veut dire par exemple, que quand je récupère le nombre "nombre d'IP distinctes par jour", je ne récupère pas les IPs en tant que telles mais juste un total que Cloudflare me communique et qu'il a déjà traité en amont.
Et vous n'êtes pas obligés de me croire sur parole, parce que c'est vérifiable en 10 secondes... Ouvrez l'inspecteur de votre navigateur, onglet Réseau, et rechargez cette page. Vous ne verrez aucun script de mesure d'audience, aucun appel vers un domaine tiers et aucune iframe. Même les vidéos YouTube ne se chargent qu'au moment où vous cliquez sur la vignette. Le seul truc qui bouge, c'est le compteur du footer qui télécharge un nombre, sans rien renvoyer derrière.
Attention, ce n'est pas à confondre avec Cloudflare Web Analytics et ses mesures RUM (Real User Monitoring) puisque cette fonctionnalité injecte un bout de JavaScript pour mesurer les performances ressenties dans le navigateur. Chez moi, c'est désactivé tout ça.
Maintenant soyons clairs sur un point, parce que c'est l'objection évidente et qu'elle est parfaitement légitime... Cloudflare, lui, voit bien votre adresse IP. Pas à cause de mon outil de stats, mais parce que c'est un reverse proxy et que c'est mécaniquement ce qui se passe dès qu'un site est derrière un CDN. Votre requête arrive chez eux avant d'arriver chez moi, sinon ils ne pourraient ni router, ni mettre en cache, ni bloquer une attaque. Mon outil ne change rien à ça, il se contente de lire des totaux déjà calculés et je ne récupère jamais la moindre IP. Tout est détaillé dans mes CGU, avec les bases légales, les durées et la liste des cookies de sécurité, si vous voulez le détail complet.
Mon outil et le compteur que vous pouvez retrouver dans le footer de mon site reposent sur les requêtes collectées côté serveur chez Cloudflare et sans l'analyse web, je ne peux juste pas suivre par exemple un parcours utilisateur, connaitre un taux de rebond ou évaluer les temps de chargement mesurés chez les lecteurs. Rien de grave donc...
Maintenant, il y a un souci chez Cloudflare, c'est que selon le jeu de données et le forfait que vous payez ou non, le détail ne reste interrogeable que durant une fenêtre limitée de temps. Mon outil doit donc passer chaque jour récupérer les agrégats encore disponibles et les stocker dans une base SQLite sur mon serveur ou en local, selon la façon dont on l'a déployé.
Ça me permet de garder mon propre historique agrégé. J'ai aussi activé le Super Bot Fight Mode de Cloudflare, qui réduit une large partie du trafic automatisé, mais attention, ça ne me donne pas pour autant des stats sans aucun bot. Les crawlers autorisés comme Googlebot et ceux qui passent entre les mailles du filet restent comptabilisés dans mes chiffres, exactement comme avec tous les autres outils de mesure web. Et je préfère le dire clairement plutôt que de vous vendre des chiffres "propres" qui ne le sont jamais totalement, vu qu'un filtre anti-bot ne peut retirer que les bots qu'il a détectés.
À côté de ça, j'ai aussi branché ma Google Search Console, et là non plus sans installer la moindre bibliothèque tierce... Je signe moi-même un JWT en RS256 avec le module crypto natif de Node, je l'échange contre un jeton d'accès chez Google, et le compte de service que j'utilise est restreint au scope lecture seule. Ça m'apporte des statistiques agrégées sur les impressions, les positions, les requêtes de recherche et surtout Discover !!
Si je devais résumer ça, je dirais que Cloudflare estime le volume de trafic et que Search Console montre quelles recherches produisent des impressions et des clics, même si sans aucun tracking en place, ça n'explique évidemment pas la motivation de chaque lecteur. Mais osef ! Et comme Cloudflare embarque aussi son pare-feu, j'en profite pour rapatrier des statistiques sur les événements de sécurité et les routes attaquées, comme ça, je peux tout voir au même endroit.
Maintenant, le vrai plaisir, c'est de pouvoir afficher ce que je veux dans mon propre dashboard. Par exemple, la répartition par langue, les navigateurs, d'où provient le trafic avec un joli petit camembert, les pays, l'état de mon cache, la bande passante, etc. Et quand j'ai un nouveau besoin qui me pête dans le cerveau, je peux ajouter une vue rapidement et je ne m'encombre pas de ce qui ne me sert pas.
Sans traceur placé chez vous, je ne connais donc pas les sessions, le taux de rebond, le parcours de lecture, les entonnoirs de conversion, donc impossible de savoir si vous êtes revenu hier, ni dans quel ordre vous avez lu 3 articles. Mais je m'en tape complètement puisque ces métriques ne m'ont jamais servi à rien.
Ce que je veux connaitre, c'est surtout l'ordre de grandeur de l'audience et le nombre de pages demandées. Le parcours individuel et les entonnoirs de conversion, c'est surtout un besoin de régie publicitaire ou de site e-commerce, et pas d'un site comme le mien. Quand on sait que les bandeaux de cookies nous coûtent
575 millions d'heures perdues
collectivement, et que
l'Europe réfléchit enfin à les alléger
, s'en passer n'est pas vraiment une punition.
Bref, mes stats sont maintenant plus digestes que celles d'AWStats, sans avoir à vous tracker ou vous faire charger quoi que ce soit. Ça me va donc très bien. Et si vous voulez un avant-goût de la technique derrière l'outil,
j'ai montré récemment comment vous faire un compteur de fréquentation gratuit
, donc n'hésitez pas à y jeter un œil...
Bon, vous le savez, l'Europe tient absolument à savoir votre âge, avant de vous laisser scroller librement sur le net. Alors pour cela, ils ont mis au point une application qui permet de prouver votre âge et qui nous est proposée comme simple à utiliser et respectueuse de notre vie privée.
Mais ça c'était sans compter sur
Paul Moore
, chercheur en sécurité, qui vient à nouveau de l'éclater à l'aide d'une simple extension Chrome...
Mais reprenons depuis le début, parce que cette appli, c'est le modèle de référence de la Commission européenne pour vérifier qu'un internaute a bien plus de 18 ans, sans avoir à dévoiler qui il est. Développée par un consortium germano-suédois, elle est actuellement en test dans cinq pays dont la France, et vise aujourd'hui surtout le contenu adulte / porno et les jeux d'argent.
Ce 13 juillet, notre bien-aimée Ursula von der Leyen a même annoncé vouloir réutiliser cette infrastructure pour barrer l'accès des plus jeunes aux réseaux sociaux, avec
une loi attendue après l'été
et un âge minimum autour de 13 ans. "Les réseaux sociaux ne sont pas un jouet", comme elle l'explique !
Et pour arriver à cela, rassurez-vous, l'UE ne va pas stocker la carte d'identité de chaque Européen puisque le principe de ce système de contrôle, c'est de prouver l'âge sans transmettre l'identité.
Enfin, en théorie...
Parce qu'en pratique, c'est un peu la fête du slip ! Déjà il y a le dépôt Github officiel qui prévient tout le monde que c'est une implémentation de référence et absolument pas un truc à déployer en production. Donc en gros démerdez-vous !
Et ensuite, cette application est censée présenter une preuve d'âge à un vérificateur sans avoir à balancer notre identité. Alors ce qu'a fait Paul Moore, c'est qu'il a fabriqué cette preuve directement à partir d'une extension Chrome, et la présenter au vérificateur officiel de la démo. Et comme vous vous en doutez, celui-ci l'a validée comme si de rien n'était
Ça a l'air tellement simple !
En même temps, vu que la clé crypto, c'est une simple clé logicielle P-256 et pas une clé qui est enfermée dans le coffre matériel du téléphone, eh bien c'est assez facile à déjouer. Il n'y a pas besoin de scanner son passeport ou sa carte d'identité, il n'y a aucune reconnaissance faciale, ni aucune
attestation matérielle façon Play Integrity
pour prouver que ça tourne sur du vrai matos et (rigolez pas) la même preuve peut être rejouée en boucle encore et encore !! Une preuve d'âge peut donc servir 2 fois de suite.
Et puis cette preuve d'identité, elle est à 100% sous le contrôle du client. Donc en gros c'est à l'application installée sur votre téléphone qu'on demande de ne pas tricher. Mais lol.
Pour Moore qui a mis au point ce hack, il n'y aurait aucun patch qui pourrait régler ça. C'est vraiment l'architecture qui est foireuse. Et comme tout repose sur la bonne foi de l'application, eh bien c'est foutu. N'importe qui détourne l'application ou forge sa propre app peut faire croire au vérificateur qu'il a plus de 18 ans.
Pour boucher ce trou, l'Europe dispose de deux pistes : Soit passer par une attestation matérielle en béton, comme celle que Google verrouille via Play Integrity, ce qui recale au passage les gens sous GrapheneOS, Linux et compagnie, ou alors faire de la vraie crypto à divulgation nulle, prévue pourtant dans la spec mais pas branchée dans cette version.
Ce qui est rigolo, c'est que Moore a expliqué sur X avoir codé son proof of concept avec une IA en quelques minutes. Et on n'oublie pas non plus que Bruxelles veut interdire les réseaux sociaux avant 13 ans et a fait passer
Chat Control
pour scanner nos messages.... Je trouve que ça fait beaucoup de "contrôle" qu'on essaye de déguiser en "protection".
En attendant, ils sont bien ridicules avec leur application de validation d'âge en mousse.