User Inyerface - A worst-practice UI experiment
Outre le fait que c'est vraiment nien trouvé, c'est ABSOLUMENT hilarant tellement le concept d'UI mal foutue est poussé loin. Ce n'est plus de la dark pattern, c'est de la troll pattern
Insupportable !
Outre le fait que c'est vraiment nien trouvé, c'est ABSOLUMENT hilarant tellement le concept d'UI mal foutue est poussé loin. Ce n'est plus de la dark pattern, c'est de la troll pattern
Insupportable !
Un résumé rapide de ce remarquable article:
Whatsapp, c'est Meta: donc, tout ce qu'on peut reprocher à Facebook peut l'être à whatsapp.
Tout ce qui est stocké en info de contact finit sur les serveurs de Meta ➜ on nuit aux autres aussi.
Entreprise américaine = exploitation des données par l'état. Meta préfère payer des amendes que de respecter les lois européennes de protection des données.
Signal n'a pas tous ces défauts et son code est ouvert; même s'il reste centralisé et qu'il faut un numéro de téléphone (qu'on n'est pas obligé de donner à un contact)
via https://qosgof.fr/fosteb/shaare/v9v-yQ
Résume :
Amen.
(oui, l'image de titre est bien un troll
)
Donc, sous win, on peut utiliser CompactGUI pour compresser les jeux et améliorer les temps de chargement sur les HDD et SSD SATA (non NVMe)...
Quelqu'un teste pour moi ? 
Au temps pour le «UNIVERSAL» de USB...
Donc, pour les ports USB A:

Les IA qui butinent broutent comme des vaches sur nos serveurs semblent poser de plus en plus de problèmes à tout le monde, si on en croit masto et la river...
Bref, les crawlers des IA sont comme les IA elles-mêmes: de la merde envahissant et ressourçophage...

En gros, on joue sur la détection du user-agent, pas forcément fiable puisqu'il est simple de le modifier.
On bloque des IP ou des plages d'IP dont on sait qu'elles sont utilisées par les bots.
Premier problème, obtenir une liste de ces plages d'IP... second problème, la garder à jour. Sans compter que le fait de bidouiller le htaccess quand on est un peu noob n'est pas sans danger ou prises de tête...
Pour faire simple, on attend une action du visiteur avant de lui servir la page: un captcha par exemple... Mais il faut JS et se faire chmir à cliquer sur des machins...
[EDIT] https://framapiaf.org/@sebkirche/115486519579128004 m'a fait passer une solution plus simple, bloquer tout accès n'ayant pas un cookie, rediriger vers un JS qui crée le cookie et recharger: les Bots IA n'exécutant pas le JS [pour le moment], ils restent à la porte. ( https://fxgn.dev/blog/anubis/ )
On a entendu parler d'Anubis ( https://sebsauvage.net/links/?ZFvxlg ) que je n'ai pas testé mais qui détecte qu'un BOT en est un en faisant remplir une «preuve de travail» au navigateur. Même s'ils bossent dessus, le problème, pour les gens un sensibles comme nous, reste qu'il faut JS activé... et que ça semble un peu poilu à configurer...
Même chose pour goaway (https://git.gammaspectra.live/git/go-away) qui semble fonctionner comme un reverse proxy...
On faisait ça pour les anciens bots qui commentaient sur es blogs: en gros, un lien vers une page de ban de l'IP qui est rendue invisible via CSS: l'utilisateur ne le voyant pas, il n'y va pas... Seuls les BOTS, qui n'interprètent pas le CSS, le suivent et tombent dedans.

que je veuille une solution simple à installer en PHP qui permette de filtrer raisonnablement les bots en question...
Mais on peut bien sûr choisir de lutter, au prix d'un peu de charge serveur:
)Exemple de zip-bomb. (Votre serveur envoie 10 Mo, côté client ça se décompresse en 10 Go côté client. La plupart des bots qui scannent les sites web supportent la compression gzip et chargeront bien volontier ce fichier. Et comme ils sont mal développés, ils vont planter. (En principe, que vous développez un client http, il faut coder la quantité de données maximales de données que vous allez lire d'une requête http. Par exemple, il n'est généralement pas utile de charger plus de 20 Mo pour une image. Par défaut, ce n'est pas limité.) (via https://shaarli.zoemp.be/shaare/mx1lcg) Une autre manière de répondre aux bots, c'est d'envoyer les données, mais très lentement. Ça ne consomme que peu de ressources côté serveur, mais côté client il va attendre les données.
dd if=/dev/zero bs=1G count=10 | gzip -c > 10GB.gz
<?php
if (ipIsBlackListed() || isMalicious()) {
header("Content-Encoding: gzip");
header("Content-Length: "+ filesize(ZIP_BOMB_FILE_10G)); // 10 MB
readfile(ZIP_BOMB_FILE_10G);
exit;
}
?>


Donc, c'est un petit script PHP dont je préfère vous annoncer de suite qu'il s'agit plus d'une proof of concept que d'un truc à intégrer dans l'immédiat...
On gère la configuration par des constantes:
HEADER_CODE_FOR_BOTS, antibotai boutera le bot avec le header correspondant.REDIRECT_TO_URL peut contenir une URL de redirectionUSE_CONNECTION_FREQUENCY , USE_USERAGENT et USE_IP, s'ils sont à TRUE, vont déclencher les diverses détections correspondantes.POLLUTE_LENGTH (nombre de mots) qui, s'il n'est pas vide génère un texte de pollutionAfin de pouvoir contrôler l'efficacité du bouzin, il y a un fichier log (LOGFILE) ce qui m'a permis de voir que ça avait fonctionné pour quelques bots au moins:

Si une page de votre site redirige automatiquement vers une autre, antibotai peut penser qu'il s'agit d'un bot car la fonction is_too_quick_to_be_honest() va détecter deux accès trop rapides pour la même ip... Il m'a fallu adapter ce script pour le cas précis de ces redirections.
Je n'ai pas tout testé mais si le coeur vous en dit: de mon côté j'ai pas le temps: rien que pour TERMINER cet article -commencé il y a un moment - j'ai été interrompu pour : réparer un vélux, réparer une fuite de douche, couper les cheveux et préparer à manger... (en plus des interruptions diverses habituelles
)
Le zip est à récupérer là http://cdn.warriordudimanche.net/antibotai.zip
Il contient :
Pour toute personne voulant faire des plugins pour pluXML, j'ai mis à jour mon générateur de plugin: pour rappel, il sert à créer tous les fichiers et sous-dossiers préconfigurés selon vos choix.
Je ne m'étends pas plus, vu que je dois être le seul à utiliser ça, mais bon.
Au cas où,
Alors, là, j'ai pensé à idiocracy direct...

réalisé avec https://api.warriordudimanche.net/stamp/
«J'irai dormir en prison mais la tête haute»
oui, oui, ta gueule et avance... De toutes façon, la tête haute, même avec tes talonnettes...
Finalement, le karcher a fini par marcher... Bon, c'est pas tout ça mais il en reste plein: au suivant !
Résumé : l'attribut contenteditable est une faille XSS en soi car il permet d'injecter une balise script.
Pour éviter ça, contenteditable="plaintext-only".
Et si on a besoin de texte enrichi, on laisse contenteditable="true" mais on sanitize...
J'ai fait une MAJ de PluXML et je viens de m'apercevoir que ça m'a viré tous mes tags...
Donc, là, actuellement, impossible de retrouver des articles par mot-clé...
Bon, ben je vais voir ce que je peux faire... sans me retaper le «tagage» de 2000 articles sur 13 ans...
Heureusement que ce site ne sert à rien, parce que sinon, on serait dans la merde !
Bon, heureusement que je sauvegarde régulièrement... on remet le fichier de tags et ça a l'air reparti...
Un équivalent pour linux à https://ninite.com/ sous windaube (qui permet de faire sensiblement la même chose à savoir une installation automatisée de plein de logiciels en une fois en évitant les toolbars à la con, les logiciels malveillants et les changement de moteur de recherche intempestifs...)
Pas testé... Mais ça me semble intéressant, même si pour le moment, il n'y a pas des masses de logiciels dans la liste...
Donc, maintenant, il faut EN PLUS traquer ces merdes d'IA jusque dans la page about:config de firefox...🤪💩
EDIT proposé par Albirew ( https://soshar.dess.ga/notes/acgj91f2ie ) Il semblerait que les deux premières lignes suffisent ;-)
browser.ml.enable -> false
extensions.ml.enabled-> false
//browser.ml.chat.enabled -> false
//browser.tabs.groups.smart.enabled -> false
Comme ma moitié s'est mise à Skyrim et que j'ai presque fini Tainted grail fall of avalon, j'ai eu envie de m'y remettre une Xième fois...
Mais bon, j'ai un ordi qui patate... c'est pas pour rejouer comme le joueur lambada...
Donc, repartons pour le modding.
Il y a une compilation de mods super dont j'ai lancé l'install mais bon... 1000 mods sans compte premium, ça fait quand même deux trois mille clics... et une présence PERMANENTE devant l'ordi...
En somme, c'est la merde. En plus, à la fin, il n'a pas réussi à marcher parce que SKSE n'était pas compatible avec ma version.
J'ai lâché l'affaire.
Cette appli permet - sur le papier - d'installer des compilations de mods en un ou deux clics.
Problème, il ne trouve ton Skyrim que si c'est une version légale
Donc exit les versions pirates. Sauf...
En cherchant, j'ai trouvé une astuce qui consiste à placer le dossier skyrim dans le dossier common de Steam. Avec un fichier manifest correct, Wabbajack le reconnaît. (voir https://www.reddit.com/r/PiratedGames/comments/f35ufe/getting_modlist_downloader_wabbajack_to_recognize/ )

Hé oui: si Wabbajack peut télécharger certains mods seul, pour les autres, il faut à nouveau cliquer sur le slow download de Nexusmods...
Comme j'ai choisi de tester la compilation Next generation visual overhaul (170Go), je suis pas chaud pour cliquer 1400 fois et je me dis que je vais installer un autoclicker. Le souci, c'est que l'autoclicker ne clique qu'à des coordonnées précises et le bouton de téléchargement se décale parfois...
Je me dis: spapossible, il y a forcément quelqu'un qui y a pensé... La réponse est oui: https://github.com/parsiad/nexus-autodl
Ce petit bijou fonctionne de façon différente: on lui fournit une capture écran du bouton sur lequel cliquer, on place cette capture dans le dossier templates et on lance... Crois-moi crois-moi-pas, le bouzin reconnaît le bouton et clique dessus... tout seul
Donc, j'ai lancé le tout et j'attends la fin du téléchargement...
N'éteignez pas le moniteur, genre pour que ça bosse la nuit... pas de moniteur = pas de capture si vous avez configuré "réduire les fenêtres lorsqu'un moniteur est déconnecté"... 
Le contenu venant du Creative Content me fait un trait plat...
Il semble que ce soit un problème de version... alors que la version que j'ai installée est "The Elder Scrolls V Skyrim Anniversary Edition v1 6 1179 0 8" donc, à priori, avec le Creative Club content...
Je décide de lâcher l'affaire pour le moment. Si j'étais certain de pouvoir modder correctement le jeu, je serais allé jusqu'à envisager d'éventuellement l'acheter (t'imagines le truc !)
Enfin... comme d'hab' si quelqu'un a une idée... ou simplement une explication de POURQUOI ON NE TROUVE PAS DES VERSIONS DE SKYRIM DEJA MODDEES...
Au moins, j'aurai découvert quelques trucs 
Après 27 ans de vie commune, ma moitié - résolument opposée au jeu vidéo car n'en voyant pas l'intérêt - à commencé à s'y intéresser: en effet, les enfants grandissent, jouent aux jeux vidéos et elle se dit que si toute la maison s'y adonne, c'est que ça doit être bien...
Par conséquent, je lui ai acheté un petit PC gaming portable pas trop cher mais pas trop mal (un Acer Nitro 5 15,6" Full HD 144Hz Intel Core i5 16 Go RAM 512 Go SSD Nvidia RTX 3060 Noir pour 500€) et je lui ai installé... Skyrim 
En noob totale, elle a galéré de ouf au début: incapable de se repérer alors qu'elle a un sens de l'orientation parfait, elle se déplaçait par à-coups en regardant par terre tant le combo QZSD + souris la laissait perplexe, appuyait sur les touches de déplacement comme un gendarme qui tape à la machine...
Mais elle y est revenue et commence même à faire des sessions de 3h de jeu.
Je l'ai installée dans mon bureau et je lui ai fait un petit repose-pieds spécial
avec un logo à elle (elle a choisi une Khajiit).
Bientôt elle sera suffisamment habituée pour qu'on entame les jeux en réseau: à nous planet crafter, minecraft, aloft etc...
D'ailleurs, si vous avez des idées de jeu en LAN... en particulier RPG / Aventure ... Je... ON prend !
Je coudifie, au cas où j'en aurais besoin...
etc
C'est dingue la quantité de logiciels à manipuler pour avoir un windows se comporte simplement comme un linux 
Comment faire un placeholder d'image en la remplaçant par une version floue mais en CSS ? Et sans coller du css inline qui vient te pourrir tes pages ?
En gros, d'après ce que j'ai compris, il utilise les fonctions natives de calcul de CSS pour décomposer un entier en une série de bits contenant les couleurs de la future image. Ensuite, il suffit de préciser l'entier dans une variable CSS pour que le placeholder soit calculé.
<img class="media force-my-lqip" src="http://www.warriordudimanche.net/gallery/henry-co-3JFVNo4ukKQ-unsplash.jpg" loading="lazy" width="300" height="200" style="--my-lqip:174708;--lqip:174708">
[style*="--lqip:"] {
--lqip-ca: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 18))), 4);
--lqip-cb: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 16))), 4);
--lqip-cc: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 14))), 4);
--lqip-cd: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 12))), 4);
--lqip-ce: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 10))), 4);
--lqip-cf: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 8))), 4);
--lqip-ll: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 6))), 4);
--lqip-aaa: mod(round(down, calc((var(--lqip) + pow(2, 19)) / pow(2, 3))), 8);
--lqip-bbb: mod(calc(var(--lqip) + pow(2, 19)), 8);
--lqip-ca-clr: hsl(0 0% calc(var(--lqip-ca) / 3 * 60% + 20%));
--lqip-cb-clr: hsl(0 0% calc(var(--lqip-cb) / 3 * 60% + 20%));
--lqip-cc-clr: hsl(0 0% calc(var(--lqip-cc) / 3 * 60% + 20%));
--lqip-cd-clr: hsl(0 0% calc(var(--lqip-cd) / 3 * 60% + 20%));
--lqip-ce-clr: hsl(0 0% calc(var(--lqip-ce) / 3 * 60% + 20%));
--lqip-cf-clr: hsl(0 0% calc(var(--lqip-cf) / 3 * 60% + 20%));
--lqip-base-clr: oklab(
calc(var(--lqip-ll) / 3 * 0.6 + 0.2)
calc(var(--lqip-aaa) / 8 * 0.7 - 0.35)
calc((var(--lqip-bbb) + 1) / 8 * 0.7 - 0.35)
);
}
ça semble très intéressant, astucieux, élégant, léger et indépendant du JS.
L'article regorge de démos et d'explications.
Une lib pour transformer le HTML rendu en une image: ça a l'air plus rapide et efficace que html2canvas. Faut que je teste pour voir si je m'embête à changer...
Rigolo ça... voire mê peut-être utile...
Afficher des accords comme sur les sites de guitare en pur CSS.
<fret-board frets="4" strings="6" chord="C Major">
<string-note string="6" mute></string-note>
<string-note string="5" fret="3" finger="3"></string-note>
<string-note string="4" fret="2" finger="2"></string-note>
<string-note string="3" open></string-note>
<string-note string="2" fret="1" finger="1"></string-note>
<string-note string="1" open></string-note>
</fret-board>
devient

Le CSS est fourni et se configure avec des variables CSS claires.
On peut faire des barrés et tout... C'est juste beau.
J'adore linux... il y a toujours une solution.
Je devais recadrer les captures de livre de maths effectuées ia le 
En gros, on installe le bouzin si pas encore fait
sudo apt install graphicsmagick-imagemagick-compat
Puis la commande mogrify fait le Job (c'est convert mais par lot)
mogrify -crop 2420x1700+670+100 *.png
En gros c'est mogrify -crop LARGEURxHAUTEUR+X+Y *.png