La fenêtre de l'extension répondait à la mauvaise question. Dans la 1.16, elle dessine la page où vous vous trouvez.
Telli.sh : Every Translator 1.16 reconstruit la fenêtre de la barre d'outils en vue d'état : une miniature de la page où vous êtes, cinq pastilles étiquetées et des points qui ne passent au vert que lorsque l'extension peut confirmer qu'elle tourne. Toute la configuration a déménagé vers une page de réglages dédiée avec des aperçus squelettes vivants, la traduction instantanée a gagné son propre onglet et un historique qui s'auto-nettoie au bout de 30 jours, et une cloche de notifications apporte le blog Telli.sh dans la langue de votre navigateur, sur 15 versions linguistiques.
Jusqu'à cette semaine, cliquer sur l'icône Telli.sh dans la barre d'outils ouvrait un tiroir de réglages. Le balisage de la fenêtre en 1.15 pesait 16 936 octets et intégrait le formulaire de configuration complet des huit fournisseurs qui en réclament un — l'IA intégrée de Chrome, Google, Apps Script, DeepL, Ollama, compatible OpenAI, OpenRouter et Claude — plus cinq lignes d'interrupteurs. La page d'options à côté pesait 7 621 octets. Moins de la moitié, et c'était pourtant elle qui avait de la place.
C'est une architecture de l'information à l'envers, et aucun réglage de taille de police ne la répare. Une fenêtre de barre d'outils existe pour répondre à une seule question, que nous avons fini par appeler la question du coup d'œil : est-ce que c'est activé, et qu'est-ce que ça va faire sur cette page ? Vous devriez obtenir la réponse en moins d'une seconde, sans faire défiler, puis refermer.
Telli.sh : Every Translator 1.16 a été soumis au Chrome Web Store le 4 septembre 2026 et se trouve en cours d'examen au moment de la publication. Cette version répond à la question du coup d'œil par un dessin.
TL;DR
- La fenêtre est désormais une vue d'état. 372 pixels de large, plafonnée à 560 de haut, sans défilement. Elle ne contient aucun champ d'identifiants — nous avons compté, c'est littéralement zéro.
- Elle dessine une miniature de la page où vous êtes, avec des lignes de rappel partant de chaque élément de la maquette vers une pastille étiquetée : langues, mode d'affichage, aperçu avant envoi, fournisseur, aide à la saisie. La maquette reproduit ce que l'extension affiche réellement, jusqu'aux 8 pixels d'écart entre le bouton flottant et le champ de saisie.
- Le vert signifie vérifié, pas « la case est cochée ». Trois états : vert pour « actif dans cet onglet », ambre pour « activé, non vérifié », gris pour « désactivé ».
- La traduction instantanée et l'historique occupent les deuxième et troisième onglets. Les entrées d'historique non épinglées expirent 30 jours après leur création ; les épinglées, jamais.
- Une cloche de notifications apporte notre blog dans la langue de votre navigateur, lue depuis un flux RSS propre à chaque langue, sur 15 versions linguistiques. Si vous voulez être informé des nouveaux articles sans passer par le site, cette cloche est désormais le moyen le moins coûteux.
- Tout ce qui se configure vit sur la page de réglages, laquelle vous montre une miniature fonctionnelle de chaque mode d'affichage au lieu de le décrire en une phrase.
La fenêtre a lâché les réglages, et c'est tout le changement
Une seule décision se cache derrière la 1.16 : la configuration sort, l'état entre. L'icône d'engrenage dans l'en-tête de la fenêtre saute directement à la section correspondante de la page de réglages ; rien n'est donc devenu plus difficile à atteindre, cela a simplement cessé de barrer le chemin vers la réponse.
Ce qui reste dans la fenêtre est délibérément mince. Un en-tête avec le nom du site et un interrupteur propre à ce site, parce que « désactiver ici, sur ce site » est un geste d'état et non un réglage. Une cloche. Un engrenage. Et le corps.
C'est ce corps qui mérite qu'on en parle.
La vue d'état est une planche anatomique de votre propre page
Ouvrez la fenêtre sur un site de messagerie et vous verrez le fil de fer de ce site : deux bulles de message, le champ de saisie en bas, le bouton flottant Telli.sh posé juste au-dessus, et au-dessus encore un panneau d'aperçu. Des barres squelettes grises tiennent lieu de texte. Depuis cinq points de cette maquette, de fines lignes de rappel partent vers la gauche jusqu'à une colonne de pastilles étiquetées.
Chaque pastille nomme une chose et en donne la valeur actuelle :
| Pastille | Ce qu'elle désigne | Ce qu'elle affiche |
|---|---|---|
| Langues | la bulle de message | votre langue de lecture → votre langue d'émission, p. ex. English → Auto-detect |
| Affichage | la traduction sous la bulle | Commentaire en ligne, Bilingue, Cliquer pour déplier, Cliquer pour basculer |
| Aperçu avant envoi | les boutons du panneau | Activé ou Désactivé |
| Fournisseur | le bouton flottant | lequel des neuf fournisseurs est sélectionné |
| Aide à la saisie | le champ de saisie | la langue cible, ou Désactivé |
Les pastilles sont rangées de haut en bas dans le même ordre que les éléments qu'elles désignent, de sorte que les lignes de rappel ne se croisent jamais. Leurs positions verticales ne sont pas figées dans le code : elles sont mesurées au moment du rendu. Les pastilles dont les positions idéales se chevauchent sont fusionnées en un groupe, et le groupe est centré, si bien que l'erreur d'alignement est partagée au lieu d'être rejetée sur la dernière. Survoler une pastille met en évidence la partie du dessin à laquelle elle appartient.
Voilà l'intérêt de procéder ainsi. Une liste de réglages vous dit displayMode: bilingual . Un dessin vous dit où la traduction va apparaître sur la page que vous avez sous les yeux . Et la maquette n'est pas une illustration stylisée : elle reprend la géométrie réelle du script de contenu — le bouton flottant se place 8 pixels au-dessus du bord supérieur du champ de saisie, aligné à droite, et le panneau d'aperçu de 350 pixels se place 8 pixels au-dessus du bouton, même alignement. La fenêtre vous enseigne l'interface réelle, pas une fiction aimable.
Un point vert doit vouloir dire quelque chose, alors nous l'avons rendu cher
Les anciens interrupteurs montraient une intention. Vous voyiez qu'un interrupteur était activé sans savoir pour autant si quelque chose se traduisait, si votre clé d'API avait été acceptée, ni même si ce site était pris en charge.
La 1.16 dépense donc le vert avec parcimonie. Il y a trois états, et chacun est une affirmation que l'extension est prête à défendre :
- Vert — « Actif dans cet onglet ». L'extension peut le confirmer à l'instant même.
- Ambre — « Activé, non vérifié ». Le réglage est actif et les identifiants sont présents, mais rien n'a prouvé que l'aller-retour fonctionne.
- Gris — « Désactivé ». Soit coupé, soit un champ obligatoire encore vide, ce qui revient au même : rien ne sera traduit.
La pastille du fournisseur est le cas strict. Deux fournisseurs seulement peuvent mériter le vert. Le mode Google Traduction gratuit ne demande aucun identifiant et reste toujours joignable : il est vert. L'IA intégrée de Chrome, exécutée sur l'appareil, ne passe au vert qu'après que la fenêtre a réellement interrogé Translator.availability() sur votre paire de langues et obtenu une réponse exploitable. Tous les autres — DeepL, Claude, OpenRouter, Ollama, un point de terminaison compatible OpenAI, Apps Script, l'API Google — restent en ambre dès qu'une URL ou une clé est renseignée, car les vérifier reviendrait à dépenser votre quota en appel de test à chaque ouverture de la fenêtre. Si le champ requis est vide, c'est gris et non ambre. L'extension ne vous dira pas qu'une chose est active quand elle sait qu'elle ne peut pas fonctionner.
C'est une règle délibérément peu flatteuse. La plupart des personnes restées aux réglages par défaut verront un point vert pour le fournisseur ; la plupart de celles qui utilisent une API payante verront de l'ambre à perpétuité. L'ambre est honnête, et nous préférons livrer honnête que livrer vert.
Traduction instantanée : un onglet pour le texte qui n'a pas de page
Tout ce qui précède suppose que vous êtes sur une page prise en charge. Souvent, vous ne l'êtes pas : quelqu'un colle un paragraphe dans un ticket, ou vous copiez une phrase depuis un PDF.
La traduction instantanée est un deuxième onglet de la fenêtre fait exactement pour cela. Choisissez une langue source et une langue cible, collez jusqu'à 2 000 caractères, obtenez la traduction, copiez-la. Un bouton d'inversion sépare les deux menus.
Ce n'est pas un second traducteur assis à côté du premier. La requête passe par la même file d'attente en arrière-plan, le même cache et le même fournisseur que toutes les traductions faites sur une page : ce que vous avez configuré une fois s'applique aussi ici. Et c'est désactivé par défaut — instantTranslateEnabled démarre à false — parce que le rôle de la fenêtre, c'est la question du coup d'œil, et qu'un bloc-notes que vous n'avez pas demandé serait une chose de plus entre vous et la réponse. Activez-le dans les réglages et la fenêtre se dote d'une barre d'onglets ; laissez-le désactivé et elle reste une simple vue d'état.
Un historique qui fait le ménage tout seul : 30 jours, sauf épinglage
Une fois la traduction instantanée activée, un onglet Historique apparaît à côté, contenant ce que vous y avez traduit, du plus récent au plus ancien, sur cet appareil.
La règle de conservation tient en une ligne : les entrées non épinglées expirent 30 jours après leur création ; les entrées épinglées n'expirent jamais. Épinglez la formule dont vous avez sans cesse besoin, elle reste. Le reste vieillit et disparaît de lui-même.
Deux détails d'implémentation méritent d'être dits, car ils changent ce sur quoi vous pouvez compter. Le nettoyage se déclenche à la lecture de la liste, et non par une minuterie en arrière-plan : la fenêtre est la seule chose qui lise jamais cette liste, donc une alarme ne pourrait rien supprimer plus tôt que ne le fait déjà le simple fait de l'ouvrir. Et désépingler une entrée déjà au-delà des 30 jours, c'est précisément ce qui la supprime : l'épingle était la seule chose qui retenait l'expiration, et la lecture suivante la ramasse.
Un plafond dur de 200 entrées sert de garde-fou. S'il est atteint, les entrées épinglées sont conservées et les plus anciennes non épinglées partent en premier. Un bouton « tout effacer » se trouve en haut de l'onglet.
La cloche, c'est notre blog, dans votre langue
C'est la partie que nous aimerions le plus vous voir remarquer, parce que c'est la seule qui continue de travailler une fois l'onglet fermé.
L'en-tête de la fenêtre porte une cloche de notifications. Elle présente les articles du blog Telli.sh : jusqu'à trois empilés en cartes dans la vue d'état, la liste complète derrière la cloche, et une pastille de non-lus sur l'icône. Chaque article s'ouvre sur telli.sh.
Le flux est propre à chaque langue. L'extension lit la langue d'interface de votre navigateur, la compare aux 15 versions linguistiques dans lesquelles le blog publie — anglais, coréen, japonais, chinois, allemand, français, espagnol, italien, portugais, russe, polonais, vietnamien, thaï, indonésien et malais — puis récupère le flux RSS de cette langue. Si votre navigateur est en thaï, les annonces arrivent en thaï. Si la langue de votre navigateur ne figure pas parmi les 15, vous recevez l'anglais. Les deux variantes du chinois aboutissent au même flux chinois.
La mécanique est conçue pour ne pas vous encombrer. Le flux est récupéré par la fenêtre elle-même, jamais par une alarme en arrière-plan, et il est servi d'abord depuis le cache : les cartes sont donc déjà dessinées avant que le réseau ne soit sollicité. Le cache tient 6 heures, ce qui fait remonter un nouvel article en un jour ouvré tout en repliant une journée d'ouvertures de fenêtre — plusieurs dizaines — en quatre requêtes au maximum. Jusqu'à 12 éléments sont conservés. Une actualisation échouée ne chasse jamais un cache valide ; la chaîne de repli va du flux en direct au cache, puis à une unique carte Telli.sh permanente, puis à rien du tout.
Un article écarté reste écarté. L'identité d'un élément vient de l'URL de l'article lui-même, chaîne de requête retirée — les paramètres de suivi sur ces liens sont les nôtres, pas ceux de l'article —, si bien qu'un article écarté ne réapparaît pas au rafraîchissement suivant, même si l'ordre change.
Si vous vous promettez depuis un moment de suivre ce que nous publions sur la traduction de réunions et la reconnaissance vocale sans jamais vous y mettre : installez l'extension, et les articles viendront à la barre d'outils, dans votre langue, trois à la fois.
Des réglages que vous voyez avant de vous engager
La page de réglages est devenue la surface censée porter ce poids depuis le début, et son idée directrice est que vous ne devriez pas avoir à imaginer un mode d'affichage.
Sous le sélecteur de mode d'affichage se trouve une miniature vivante — même langage de squelettes gris que le dessin de la fenêtre — montrant une bulle de message avec la traduction rendue comme ce mode la rend. Passez de Commentaire en ligne à Bilingue, à Cliquer pour déplier, à Cliquer pour basculer, et la miniature change avec vous. Des démonstrations équivalentes existent pour l'aperçu avant envoi, l'aide à la saisie et la traduction instantanée, chacune avec une légende d'une ligne qui change avec le réglage au lieu de le décrire dans l'abstrait.
La section des fournisseurs a cessé de vous demander de connaître les identifiants de modèles par cœur. La liste de modèles d'Ollama est récupérée depuis le /api/tags de votre serveur local ; les points de terminaison compatibles OpenAI sont lus depuis {votre URL de base}/models ; OpenRouter et Anthropic viennent de leurs propres catalogues. Là où l'API publie une tarification au token, le sélecteur l'affiche, convertie en prix au million de tokens. OpenRouter énonce ses prix sous forme de nombres comme 0.0000001 , illisibles à cette échelle. Rien, en matière de prix, n'est figé dans le code, estimé ou mémorisé d'une actualisation à l'autre : un prix périmé est structurellement impossible. Si le catalogue ne porte pas de prix, le sélecteur n'en affiche aucun.
La liste des sites pris en charge alignait 30 entrées dans une colonne plate impossible à parcourir. Elle est maintenant groupée en 8 catégories — Messagerie & e-mail (7 sites), Réseaux sociaux (3), Communautés & forums (4), Développement (5), Wikis & références (2), Blogs & newsletters (3), Actualités (4) et Commentaires & avis (2) — avec, en bas, une ligne « Un site manque ? Demandez-nous de l'ajouter », ce qui est la première fois que l'extension propose la moindre voie pour cela.
Il y a désormais un premier lancement. À l'installation — et uniquement à l'installation, arrimé au motif install de Chrome, de sorte qu'une mise à jour ne le déclenche jamais — trois étapes expliquent ce que fait l'extension, quels deux réglages décident de tout le reste, et où se trouve le bouton de la barre d'outils. Deux de ces trois étapes mettent en lumière les vrais contrôles sur la page plutôt que d'en montrer une image que vous devriez ensuite aller chercher.
En résumé : une fenêtre de barre d'outils est un voyant, pas un tableau de bord
L'erreur de l'ancienne fenêtre n'était pas d'être laide ni de défiler. C'était de traiter une surface d'une seconde comme un plan de travail. On ne configure pas huit fournisseurs dans une boîte de 372 pixels de large, et on ne devrait pas avoir à faire défiler cette tentative pour savoir si quelque chose tourne.
La 1.16 sépare proprement ces deux métiers. La page de réglages est l'endroit où vous décidez, une fois, avec l'image de ce à quoi chaque décision ressemble. La fenêtre est l'endroit où vous confirmez que la décision est en vigueur, en moins d'une seconde, sur cette page, maintenant. Si nous avons visé juste, vous ouvrirez la fenêtre plus souvent et y resterez moins longtemps.
La version 1.16 est en cours d'examen au Chrome Web Store au 4 septembre 2026. Elle arrivera en mise à jour automatique une fois approuvée.
Où Telli.sh se place : l'extension couvre le texte rapide — discussions, publications, commentaires, courriels, fils de forum — sur 30 sites, 52 langues de lecture et 9 fournisseurs de traduction, avec une interface livrée en 50 langues. Telli.sh couvre l'autre moitié : le travail parlé. Il enregistre ou importe une réunion, la transcrit dans la langue réellement parlée, traduit vers 44 langues cibles, et garde le texte source, la traduction alignée et le résumé généré par IA dans une même note modifiable. Même idée des deux côtés : mettre la traduction à côté de l'original et garder l'original.
Démarrer une note de réunion traduite en direct
Sources
- Telli.sh : Every Translator sur le Chrome Web Store — la fiche à laquelle le paquet 1.16 a été soumis le 4 septembre 2026.
- Page produit de Telli.sh: Every Translator — les sites pris en charge, les modes d'affichage, les fournisseurs et les engagements de confidentialité au même endroit.
- Telli.sh : Every Translator est disponible sur le Chrome Web Store, 23 juin 2026 — l'article de lancement d'origine, pour ce que faisait l'extension avant cette refonte.
- Code source de l'extension,
extension/docs/UX_REDESIGN_PLAN_2026-09-04.md, 4 septembre 2026 — l'analyse qui a produit les six phases livrées dans cette version, dont la mesure de 16 936 octets pour la fenêtre contre 7 621 pour la page d'options, et la décision que le vert signifie « vérifié ».