Vue normale

Ecovacs met sur le marché une nouvelle gamme de robots qui révolutionnent l'entretien des pelouses et le lavage des vitres

C’est dans le cadre architectural de la Fondation Miró qu'Ecovacs a réuni près de 200 journalistes pour présenter sa feuille de route 2026. L'événement a marqué une transition stratégique pour la marque : l'ambition n'est plus seulement de nettoyer les sols, mais de proposer un écosystème...

Nouveaux robots Ecovacs 2026 : tout savoir sur la gamme Ultramarine, Goat et Winbot (prix et dates de sortie)

C’est dans le cadre architectural de la Fondation Miró qu'Ecovacs a réuni près de 200 journalistes pour présenter sa feuille de route 2026. L'événement a marqué une transition stratégique pour la marque : l'ambition n'est plus seulement de nettoyer les sols, mais de proposer un écosystème...

La version 7.1 du programme de nettoyage CCleaner est disponible

Par : Sebastien
14 novembre 2025 à 08:44

Après la sortie de CCleaner 7 le mois dernier, voilà maintenant la version 7.1 du populaire programme de nettoyage CCleaner. Améliorations et correctifs sont au programme.

The post La version 7.1 du programme de nettoyage CCleaner est disponible first appeared on Bhmag.

How to delete tags in bulk? - Zotero Forums

18 septembre 2025 à 09:47

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.
})(); 

Permalien
❌