Présentation

Deux extensions gratuites pour Google Chrome permettent d’enrichir la navigation en hébreu. La première, Hebrew Date Bubble, ajoute un menu contextuel qui, lorsqu’on clique droit sur une date, affiche la correspondance du calendrier hébraïque dans une bulle flottante. La seconde copie le texte hébreu sélectionné en supprimant les nikoud (points vocaliques) grâce à un raccourci clavier ou au même menu contextuel.

Fonctionnement technique

Les deux outils s’appuient sur le modèle d’extension Chrome basé sur le manifest V3. Un service_worker écoute les événements de chrome.contextMenus et déclenche l’injection d’un content_script dans la page active. Le script analyse le DOM à la recherche d’éléments contenant une chaîne de caractères reconnue comme date (format ISO, US ou européen). Pour la conversion, il utilise la bibliothèque hebcal qui calcule le jour hébraïque à partir du timestamp Unix. Le résultat est injecté dans un div stylisé, positionné près du curseur grâce aux coordonnées de l’événement mouse.

{
  "manifest_version": 3,
  "name": "Hebrew Date Bubble",
  "permissions": ["contextMenus", "scripting"],
  "background": {"service_worker": "background.js"},
  "action": {"default_icon": "icon.png"}
}

Pour le nettoyage du texte, le script récupère la sélection via window.getSelection(), parcourt chaque caractère et élimine les points Unicode compris entre U+0591 et U+05C7, qui correspondent aux nikoud. Le texte épuré est ensuite placé dans le presse‑papier avec navigator.clipboard.writeText().

Analyse des performances et limites

Le déclenchement du menu contextuel ajoute une surcharge négligeable : le service worker reste inactif jusqu’à la première interaction, puis se réactive rapidement. La conversion de date repose sur des calculs astronomiques simples (lunaison, année hébraïque) et s’exécute en moins de 5 ms sur un processeur moyen. Le filtrage des nikoud implique une itération linéaire sur la longueur du texte sélectionné ; pour un paragraphe de 2 000 caractères, le temps de traitement reste inférieur à 2 ms, ce qui ne perturbe pas l’expérience utilisateur.

Les extensions requièrent les permissions contextMenus et scripting. Elles ne demandent pas d’accès réseau, ce qui limite les vecteurs d’attaque. Cependant, le script injecté possède un accès complet au DOM de la page, ce qui impose aux développeurs de veiller à ne pas introduire de vulnérabilités XSS via des contenus non sanitisés.

Perspectives d’évolution

Des améliorations possibles incluent le support de calendriers additionnels (julien, islamique) via des modules de conversion modulaires. L’ajout d’une option de configuration dans la page d’extension permettrait à l’utilisateur de choisir le format de date affiché (grégorien, hébreu, ISO). Enfin, l’intégration d’un mode « offline » pour la bibliothèque hebcal garantirait le fonctionnement même en l’absence de connexion réseau, bien que la version actuelle fonctionne déjà hors ligne grâce à la présence locale du code.