Une histoire de dépendances

Le mainteneur d’un paquet NPM n’a plus eu envie et a donné la main à un tiers. Ce tiers a injecté un code malicieux dans une version publique et potentiellement infecté pas mal de monde. Ça n’a été détecté qu’au bout de deux mois et demi alors que le paquet est utilisé un peu partout. […]

Comment on fait de la crypto dans le navigateur ?

Faire de la cryptographie dans le navigateur se révèle bien plus simple que prévu. Laissez tomber les portages de libsodium & co. Quasiment tous les navigateurs supportent désormais une API native dédiée. Seul IE11 ne le fait pas totalement mais il a au moins le minimum qu’est la génération de nombres réellement aléatoires. Ceux qui […]

Donnée confidentielle dans une session de navigation.

Je partage, ça peut servir à d’autres. Je cherchais à garder confidentiel une information confidentielle le temps d’une session de navigation. En gros je cherchais un genre de cookie de session mais qui reste côté client sans jamais transiter sur le réseau. Le localStorage est top mais il persiste au delà de la session de […]

[Aide] Communication entre une page et une extension navigateur

J’ai une page qui fait des traitements javascripts basés sur des appels XHR authentifiés vers son origine et sur des communications en window.postMessage avec des <iframe>. Elle n’a besoin d’aucune permission privilégiée, c’est juste une page web avec une origine normale. J’aimerais pouvoir interroger cette page depuis une extension Firefox et qu’elle me communique le […]

Variables et constantes — Javascript 103

Travailler avec ES2015 c’est quelques changements sur les déclarations des variables. Premier changement : Les modules ES2015 sont implicitement en mode strict. Y utiliser une variable non déclarée provoque une erreur. Ce seul changement est une bénédiction vu l’ubuesque comportement par défaut de Javascript. Il reste que ça ne changera pas grand chose pour qui utilisait […]

Recommençons à zéro — Javascript 101

PHP a été mon langage favori pendant presque 10 ans. Ruby l’a suivi pour à peu près la même durée. Javascript a été l’outil secondaire pas très attirant pour quand il n’y a pas d’autre choix, c’est à dire sur navigateur. Avant-hier j’ai eu un petit pincement de frustration en cherchant à déstructurer un dictionnaire […]

[Lecture] On a testé fonctionnellement notre app JS

Lu sur le web : L’utilité des tests fonctionnels pour les applications web n’est plus à démontrer (comment ça, vous ne testez pas encore vos apps ?). Malheureusement, tout ne peut pas être totalement testé fonctionnellement, ou de façon aisée : je pense par exemple au player chez nous, un composant stratégique mais pauvrement testé fonctionnellement de par […]

La communauté JS est actuellement une machine à créer de la dette technique

on est dans la phase de l’adolescence. Ça cri, ça bouge, ça a plein d’énergie, et ça mérite des baffes. — par Sam & Max L’installation est devenue un enfer. Entre les dépendances dépréciées, les libs incompatibles, les différents outils de build, et les options de config et les plugins, c’est une merde incommensurable. Plusieurs […]

À propos de ce site, du contenu, de l'auteur
Je poste parfois ici des humeurs ou des pensées. Parfois je change, parfois je me trompe, parfois j'apprends, et souvent le contexte lui-même évolue avec le temps. Les contenus ne sont représentatifs que de l'instant où ils ont été écrits. J'efface peu les contenus de ce site, merci de prendre du recul quand les textes sont anciens. Merci

À toutes fins utiles, ce site est hébergé par OVH SAS, joignable par téléphone au +33 (0)9 72 10 10 07 et dont le siège social est au 2 rue Kellermann, 59100 Roubaix, France.