Une implémentation des signals tels que proposés dans la spec ECMAScript.
— Permalink
This collection of examples discussing the question of the intrinsic security characteristics of programming languages. Through illustrations and discussions, it advocates for a different vision of well-known mechanisms and is intended to provide some food for thoughts regarding languages and development tools, as well as recommendations regarding the education of developers or evaluators for secure software.

Great new take on the sokoban game concept, made by Jorge Rubiano (@Jorger) made for the JS13k 2025 competition.
J'ignorais qu'il était techniquement possible d'exécuter des macros JavaScript dans LibreOffice Writer.
Bon, c'est tout sauf ergonomique mais ça a le mérite d'être là.
J'ignorais qu'il était techniquement possible d'exécuter des macros JavaScript dans LibreOffice Writer.
Bon, c'est tout sauf ergonomique mais ça a le mérite d'être là.
Une sorte de ffmpeg en JavaScript, pour lire, écrire et convertir des fichiers médias (audio, vidéo) directement dans le navigateur.
Une sorte de ffmpeg en JavaScript, pour lire, écrire et convertir des fichiers médias (audio, vidéo) directement dans le navigateur.
Un type d'attaque propre à JavaScript, et qu'il est important de comprendre pour écrire du code sécurisé.
Un type d'attaque propre à JavaScript, et qu'il est important de comprendre pour écrire du code sécurisé.
Démystification des itérateurs JavaScript.
L'article aborde essentiellement les itérables, les itérateurs et les générateurs.
Démystification des itérateurs JavaScript.
L'article aborde essentiellement les itérables, les itérateurs et les générateurs.
Pour automatiser des tests dans le navigateur.
— Permalink
Script à ajouter dans l'extension Actions & Tags de Zotero permettant de supprimer les marqueurs tout en conservant certains d'entre eux
Astuce : en commentant les 2 lignes qui affichent une fenêtre pendant la suppression, cela évite de devoir cliquer des centaines, voire des milliers de fois sur OK.
// Delete tags, based on Replace tags
// This script removes all tags from the specified Zotero items, except those in the ignore list.
// add tags you wish to keep to `ignoreTags` list, the list is prefilled with two examples
(async () => {
const ignoreTags = ['#GoldSet', '#ClinicalTrials.gov', '#Cochrane Central', '#Embase', '#Medline', '#Proquest', '#Web of Science', '#WHO ICTRP'];
// ^^^^^ Add tag names here to ignore. ^^^^^^^
// Initialize `targetItems` to the array of `items`, or if `items` is undefined,
// use the single `item` wrapped in an array. If neither exists, default to an empty array.
let targetItems = items || (item ? [item] : []);
// Show an alert message
// await Zotero.alert(null, "Delete all tags except ignored ones");
// Iterate over each item in the `targetItems` array.
for (const currentItem of targetItems) {
// Retrieve all tags associated with the current item.
// Use `.getTags()` to get tag objects, and map to their `tag` property to get tag names.
const tags = currentItem.getTags().map(tag => tag.tag);
// Iterate over each tag in the list of tag names.
for (const tag of tags) {
// Check if the tag is in the ignore list.
if (ignoreTags.includes(tag)) {
// Alert the user that the tag is being skipped.
// await Zotero.alert(null, `Tag "${tag}" is in the ignore list and will not be deleted.`);
continue;
}
// Remove the tag from the current item using `.removeTag()`.
await currentItem.removeTag(tag);
}
}
// The script finishes here.
})();