Suite à la sortie de Manifest V3 par Google, imposant de lourdes limitations notamment pour les extensions bloqueuses de pub, le développeur de uBlock Origin fait le choix de ne pas adapter son extension phare au forceps, mais de plutôt sortir une version Lite qui sera compatible avec Manifest V3.
Dans cette version allégée par contrainte, il a malgré tout tenté de conserver une protection maximale. Les utilisateurs qui font peu de personnalisation ne verront pas une grosse différence.
uBlock Origin, la version existante, restera compatible avec Manifest V2 uniquement.
Dans le même genre que le lien précédent, un outil qui va analyser ce qu'il se passe lors de l'accès à une URL : les cookies, les redirections, les scripts, etc.
Collez une URL, l'outil y accède et vous dit tout ce qui s'est passé en chemin : les redirections, les scripts, les liens, etc. Parfait si vous avez un doute sur un lien reçu par email par exemple.
Ça ne constitue pas une sécurité infaillible mais ça peut déjà donner un bon aperçu.
Un 🇬🇧 article qui explique ce que sont les Promises (promesses) JavaScript en partant de zéro. Une notion indispensable.
Explications et exemples à propos de Promise.withResolvers()
qui arrive bientôt dans JavaScript. L'usage est situationel mais ça reste utile à connaître.
De l'amour du format texte brut.
Via https://ploum.net/2024-06-05-complexite-simplicite.html (saine lecture également).
Une alternative open-source au clavier Google d'Android. Le jour où il supporte le swipe je saute direct.
Des ressources liées à l'architecture logicielle.
Une liste des "slash pages" courrantes et communément admises. Il s'agit de pages que vous retrouverez fréquemment sur des sites perso, du genre /about
ou /now
.
Un correcteur d'orthographe et de grammaire type Grammarly mais qui supporte plusieurs langues et peut même reformuler vos phrases à la manière de DeepL Write.
Un set d'icônes très sympa.
Une explication Interactive détaillée et très didactique des différents types de message queue.
Une alternative à Swagger UI pour documenter vos APIs à partir d'une spécification OpenAPI.
Comment déclencher un téléchargement dans le navigateur purement en local depuis le code JavaScript, en utilisant l'objet Blob
.
J'ai vérifié, ça fonctionne même en local en ouvrant simplement un fichier HTML dans votre navigateur, pas besoin de serveur HTTP.
Je me dis que ça peut être très utile par exemple pour partager une espèce de mini application qui pré-calcule un truc et permet de l'exporter en CSV ou JSON. Un calculateur de salaire par exemple, un ou petit outil pour estimer un risque.
Je me copie-colle le snippet en dessous.
const blob = new Blob(
[ /* CSV string content here */ ],
{ type: 'text/csv' }
);
function downloadBlob(blob, filename) {
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename || 'download';
const clickHandler = () => {
setTimeout(() => {
URL.revokeObjectURL(url);
this.removeEventListener('click', clickHandler);
}, 150);
};
a.addEventListener('click', clickHandler, false);
a.click();
}
downloadBlob(blob, 'result.csv');
De la difficulté de centrer des trucs dans d'autres trucs. Délicieux à lire 🤗
Un gestionnaire de ROM qui inclut un multi-émulateur en JavaScript.
Via https://korben.info/gerer-sa-collection-de-roms-de-jeux-retro-avec-romm-le-manager-ultime.html
Un outil pour mettre en valeur un screenshot pour les différents réseaux sociaux.
Via https://korben.info/socialscreenshots-capturer-editer-screenshots-reseaux-sociaux.html
Enfin un 🇬🇧 article clair sur ce que sont les WeakMap
en JavaScript et quels sont les cas d'usage.
Elles servent à attacher une valeur à un objet de manière "externe", sans modifier l'objet lui-même. Un peu comme si vous êtes vendeur dans un magasin et attachez l'étiquette avec le prix sur un objet. Si l'objet disparaît, l'étiquette disparaît aussi. Donc si l'objet auquel vous attachez la WeakMap
est supprimé par le garbage collector, votre WeakMap
l'est aussi.
C'est donc parfait pour attacher une computed property à un objet par exemple, ou pour créer des propriétés réellement privées qui ne seront pas accessible à du code qui n'a pas accès à la WeakMap
.
Ce sont des cas bien spécifiques mais c'est intéressant de savoir que ça existe.
Comprendre ce qu'est un virtual DOM en en créant un de zéro. C'est très intéressant et très malin.