Journal des modifications
Chaque version, datée et écrite par un humain — ce qui a changé, quelles pages cela a touchées, et pourquoi. Du plus récent au plus ancien.
v10.18
Convertisseurs et modèles téléchargés une seule fois, et les vidéos d’iPhone s’ouvrent
- Le convertisseur vidéo intégré (31 Mo), les codecs d’image, les modèles de voix et de suppression d’arrière-plan et leur moteur sont désormais conservés dans votre navigateur après le premier téléchargement et réutilisés jusqu’à la sortie d’une nouvelle version de ce fichier. Une mise à jour du site ne les retélécharge plus ; sur iPhone et iPad, Safari téléchargeait le convertisseur à chaque utilisation.
- Les outils vidéo lisent votre fichier au moyen d’un lecteur caché intégré à la page, ce dont l’iPhone et l’iPad ont besoin pour ouvrir de façon fiable leurs propres enregistrements MOV.
- Quand même la conversion sur l’appareil ne parvient pas à ouvrir une vidéo, l’outil le dit désormais, au lieu de suggérer de l’exporter en MP4.
v10.17
Un chargement des modèles qui ne reste plus bloqué
- Audio en texte, Sous-titres automatiques et Supprimer l’arrière-plan ne restent plus bloqués sur « Téléchargement du modèle… 100 % ». Un chargement qui n’avance plus pendant un moment s’arrête désormais, efface ce qui était en cache de ce modèle et le récupère auprès de sa source d’origine.
- Le service hors ligne du site ne traite plus les modèles d’IA, le moteur vocal ni les codecs d’image et de vidéo. Chaque utilisation d’un modèle en cache le retéléchargeait entièrement en arrière-plan, ce qui ralentissait le vrai téléchargement sur les connexions faibles.
- La liste des types de fichiers acceptés sous chaque zone de dépôt est désormais en texte plus petit et plus discret.
v10.16
Des téléchargements de modèles qui résistent à une mauvaise connexion, et un avis de mise à jour qui aboutit
- Audio en texte, Sous-titres automatiques, Supprimer l’arrière-plan et Image en texte relancent désormais un téléchargement de modèle qui échoue et le reprennent là où il s’est arrêté. Si ce site ne peut toujours pas fournir le modèle, ils le récupèrent auprès de sa source d’origine (Hugging Face ou jsDelivr) au lieu de s’arrêter. Un téléchargement échoué est désormais nommé dans l’erreur ; auparavant il apparaissait comme « Unsupported model type: whisper ».
- L’avis « Une nouvelle version est prête » ne revient plus une fois accepté, et son bouton indique désormais Mettre à jour.
- Une vidéo ou un son que votre navigateur ne sait pas lire affiche désormais une courte note au lieu d’un lecteur noir bloqué à 0:00. Le fichier lui-même se télécharge sans problème.
- Deux zones de dépôt côte à côte, comme dans Ajouter de la musique à une vidéo, ont désormais la même hauteur, et un fichier collé ne va que dans la zone qui l’accepte au lieu d’afficher deux fois le même avertissement. La liste des correspondances du Testeur de regex est aussi haute que le texte voisin.
- Les illustrations d’Ajouter de la musique à une vidéo et de Compresser une vidéo sont redessinées.
v10.15
Tous les formats vidéo et audio s’ouvrent, les modèles viennent de ce site, et 24 corrections d’audit
- Les vidéos et sons que le navigateur ne sait pas lire — HEVC dans Firefox et Chrome, AVI, WMV, MPEG, MKV avec son AC-3, WMA — s’ouvrent désormais dans Compresser une vidéo, Vidéo en GIF, Vidéo en MP3, Ajouter de la musique à une vidéo, Sous-titres automatiques, Couper un audio et Audio en texte. Ils sont d’abord convertis sur votre appareil, avec une carte de progression et un bouton Annuler ; rien n’est envoyé.
- Les photos AVIF et WebP s’ouvrent dans tous les outils d’image, même dans les navigateurs qui ne savent pas les afficher, comme Edge avant la version 121 ou Safari 16 sous macOS Monterey pour l’AVIF.
- Audio en texte, Sous-titres automatiques, Supprimer l’arrière-plan et Image en texte téléchargent désormais leurs modèles depuis ce site au lieu de Hugging Face et jsDelivr. Ils fonctionnent donc là où ces services sont lents ou bloqués, et chaque page ne se connecte de nouveau qu’à ce site.
- Les boutons d’action restent en place quand vous changez d’option, tous les menus déroulants ont la même marge à gauche et à droite dans tous les navigateurs, et PDF en texte ainsi que Caviarder un PDF affichent l’orbe de progression.
- 24 problèmes relevés par un audit approfondi sont corrigés, dont des métadonnées XMP laissées dans les images par le Suppresseur de métadonnées PDF, des champs de formulaire et des liens perdus en divisant ou fusionnant des PDF, des calculs exacts au centime dans le Générateur de factures, des cas limites YAML et TOML, et des comptes de caractères X désormais identiques à ceux de X.
- Douze illustrations d’outils sont redessinées pour montrer ce que fait réellement chaque outil.
v10.14
WebP et AVIF fonctionnent désormais dans tous les navigateurs
- Compresser une image, Convertir une image et les autres outils d’image peuvent désormais enregistrer en WebP et en AVIF dans tous les navigateurs. Dans les navigateurs qui ne savent pas encoder ces formats eux-mêmes — les anciens Safari pour WebP, et tous les navigateurs que nous avons testés pour AVIF — l’encodeur est désormais chargé à la demande, si bien que l’option n’est plus grisée et n’échoue plus avec une erreur. Les navigateurs qui encodent nativement ne changent pas et ne téléchargent rien de plus.
- L’option AVIF n’est plus désactivée dans les navigateurs qui ne savaient pas encoder l’AVIF, et le message dépassé qui affirmait que les navigateurs ne savent pas encoder l’AVIF est supprimé.
- L’encodeur logiciel s’exécute dans un worker en arrière-plan, donc la page reste réactive pendant l’encodage d’un AVIF lent : la carte de progression affiche le téléchargement de l’encodeur avec le décompte réel des octets, un chronomètre et un bouton Annuler qui arrête l’encodage instantanément.
- L’encodage AVIF de repli tourne à la vitesse 8 — la vitesse 6 par défaut de l’encodeur est pensée pour les serveurs — ce qui divise environ par deux l’attente sur un téléphone tout en gardant l’image en pleine résolution. Lorsque les paramètres de sécurité du navigateur bloquent WebAssembly, l’outil le dit précisément au lieu de télécharger un encodeur de plusieurs mégaoctets et d’échouer ensuite.
v10.13
Ajouter de la musique à une vidéo fonctionne avec les vidéos du téléphone
- Ajouter de la musique à une vidéo copie désormais l’image telle quelle dans le nouveau fichier au lieu de la réencoder. Retirer le son ou ajouter une musique fonctionne avec les vidéos de téléphone en HEVC, 10 bits et HDR que le navigateur ne sait pas lire, conserve la qualité et la résolution d’origine et prend quelques secondes au lieu de la durée de la vidéo. Auparavant, ces fichiers échouaient avec « could not be played », même pour retirer seulement le son.
- Vidéo en GIF indique désormais le codec d’une vidéo que le navigateur ne sait pas décoder, comme Compresser une vidéo et Ajouter de la musique depuis la v10.12. Il affichait encore le message général.
- Les vidéos que le navigateur ne sait pas décoder ne font plus échouer Compresser une vidéo, Vidéo en GIF et Ajouter de la musique à une vidéo. Les fichiers dont la piste image ne fournit aucune image (par exemple les vidéos de téléphone en HEVC 10 bits) affichent désormais le message qui nomme le codec et explique comment résoudre le problème, au lieu d’échouer sur une erreur interne.
v10.12
Chaque outil retesté dans Chrome, Firefox et le moteur de Safari — et ce qui a été corrigé
- Flouter une image floute désormais vraiment dans Safari. Safari n’a pas de filtre de flou pour le canvas et l’ignorait sans prévenir : sur iPhone, iPad et Mac, la photo « floutée » était exportée avec les pixels d’origine. Le flou est maintenant calculé directement quand le filtre manque, avec le même résultat que dans Chrome.
- Compresser une vidéo fonctionne dans Safari 16.4 à 18 avec le son. Ces versions n’ont pas d’encodeur audio et l’outil déclarait le navigateur incompatible ; il copie maintenant la piste AAC ou Opus d’origine dans le nouveau fichier, sans la modifier.
- Compresser une vidéo dans Firefox produit désormais un fichier propre. L’encodeur H.264 de Firefox réordonne les images et écrit un en-tête endommagé, ce qui faisait perdre des images ; elles sont maintenant correctement horodatées et l’en-tête est reconstruit à partir de la vidéo elle-même.
- Quand un navigateur ne peut pas décoder une vidéo, le message indique le codec — par exemple H.265 (HEVC) ou H.264 10 bits — et la solution, dans votre langue, au lieu d’un simple « impossible de lire ».
- Outils PDF dans Safari : le cache hors ligne ne répond plus au script interne du moteur PDF, ce qui pouvait empêcher Safari de le démarrer.
- Flouter une image ajuste la photo au cadre sur tous les écrans : le téléphone affiche l’image entière plutôt qu’un coin, et le zoom à la molette fonctionne sur ordinateur.
- Le correcteur de dates EXIF accepte à nouveau les décalages négatifs — taper le signe moins remettait le champ à 0 —, y compris avec le clavier de l’iPhone.
- Réorganiser et Supprimer des pages PDF n’affichent plus deux fois le même avertissement, et celui-ci disparaît dès que la liste de pages est corrigée.
- Générateur de QR code : les modes Wi-Fi et Contact indiquent ce qui manque (le nom du réseau ou le nom complet) au lieu de renvoyer à un bouton d’exemple qu’ils n’ont pas.
- Compresser un PNG fonctionne aussi dans les anciens Safari sans l’API Compression Streams.
- Sur téléphone, la liste de fichiers de Fusionner des PDF, JPG en PDF, Collage et des autres outils multi-fichiers affiche de nouveau les noms. Les flèches, la taille et la poignée occupaient toute la ligne sur un écran de 390 px et le nom n’avait plus de place.
v10.11
Animation de chargement agrandie et aux couleurs orange du site
- La sphère animée qui indique qu’un outil travaille mesure désormais 64 px et apparaît centrée au-dessus de la barre de progression dans Compresser une vidéo, Vidéo en GIF, Ajouter de la musique à une vidéo, Agrandir une image, Supprimer l’arrière-plan, Image en texte, Audio en texte et Sous-titres automatiques. À son ancienne taille de 20 px, elle n’affichait que quelques points pâles et passait inaperçue.
- La sphère est désormais dessinée dans l’orange du site au lieu du gris, en thème clair, sombre et contraste élevé. Chaque traitement choisit toujours au hasard l’une des neuf animations.
- Accueil : le logo ToolsByUs.com et la ligne « 100 % traitement local » sont désormais centrés verticalement sur l’écran du moniteur au lieu d’être placés trop bas.
- La sphère apparaît désormais aussi au-dessus de toutes les autres barres de progression qui vont jusqu’à 100 % : outils PDF (Fusionner, Diviser, Pivoter, Réorganiser, Supprimer des pages, Compresser, Déverrouiller, Filigrane, JPG en PDF, Suppression des métadonnées PDF, PDF en JPG), outils d’images par lots (Compresser, Redimensionner, Convertir, HEIC en JPG) et Vidéo en MP3.
v10.10
Politique de sécurité de la page d’accueil rétablie et pages hors ligne corrigées sur le site en ligne
- La page d’accueil reçoit désormais sa Content-Security-Policy sur le site en ligne. Cloudflare Pages ne conserve que le dernier de deux blocs d’en-têtes pour un même chemin, et un bloc de cache séparé pour « / » remplaçait silencieusement la politique de la page d’accueil. Chaque chemin n’apparaît plus qu’une fois, et la compilation refuse un doublon.
- Le mode hors ligne fonctionne à nouveau sur le site en ligne : ouvrir hors ligne une page jamais visitée affiche désormais la page « Vous êtes hors ligne » du site au lieu de l’erreur du navigateur. Cloudflare Pages redirige /offline.html vers /offline, et le navigateur refusait la redirection enregistrée ; le service worker enregistre désormais la page finale.
- Activer la publicité ou les statistiques via les paramètres de compilation n’arrête plus la compilation à la nouvelle vérification du texte de confidentialité ; un rappel invite plutôt à revoir ce texte.
v10.09
Les gros collages restent fluides, les sélecteurs de mode affichent leur état et les en-têtes de sécurité correspondent au texte
- Coller un très gros texte — JSON minifié, bloc base64, journal — ne fige plus l’onglet. Coller 8 Mo dans le formateur JSON bloquait la page près de trois minutes pendant que le navigateur mettait en page une seule ligne ininterrompue ; elle est désormais prête en trois secondes environ.
- Les outils studio dotés d’un sélecteur de mode — correcteur de dates EXIF, dégradé mesh, ombre portée et les autres — indiquent désormais l’option choisie. La mise en évidence était écrasée et toutes les options se ressemblaient.
- Compresser une vidéo conserve le son dans les navigateurs sans encodeur AAC, comme Firefox et Chromium sous Linux : l’audio est alors encodé en Opus au lieu de s’arrêter sur « Unsupported codec type ».
- Suppresseur EXIF : l’export en JPEG ou en WebP fonctionne à nouveau. Le navigateur ajoute son propre profil colorimétrique à ces fichiers, et la vérification finale de l’outil le comptait comme métadonnée restante : seul le PNG se téléchargeait. Les balises courantes comme la version Exif et l’espace colorimétrique sont désormais nommées au lieu d’apparaître comme « Balise inconnue ».
- Diff Checker et JSON Diff sur téléphone : la page n’est plus reconstruite entièrement au chargement. La vue unifiée affichée par défaut sur téléphone était choisie avant l’hydratation, si bien que le HTML du serveur et le premier rendu du téléphone ne concordaient pas.
- Le collage photo ne fait plus défiler toute la page horizontalement sur téléphone : ses rangées d’options passent désormais à la ligne.
- Page d’accueil : la ligne « Traitement 100 % local » sur l’écran de la scène est plus grande et plus lumineuse, lisible sur un moniteur de bureau, et les traductions longues tiennent dans l’écran. La scène s’anime pour tout le monde ; avec la réduction des animations activée, un bouton pause apparaît à côté et le choix est mémorisé.
- En-têtes de sécurité : chaque page ne reçoit plus que les hôtes externes utilisés par son propre outil. Auparavant, une page pouvait hériter des hôtes du modèle vocal, de l’OCR et de YouTube d’outils sans rapport dont l’adresse commençait par la même lettre, ce qui contredisait le connect-src 'self' que la page cite.
- Audio en texte et Sous-titres automatiques ne demandent plus, avant la première transcription, trois fichiers de modèle locaux qui n’existent pas.
v10.08
Les 135 outils retestés un à un, de bout en bout — et ce que les tests ont trouvé, corrigé
- Les 135 outils ont été exercés un à un avec de vrais fichiers et de vrais parcours — envois, chaque option, cas limites et entrées invalides — sur des écrans allant du plus petit téléphone au grand moniteur de bureau. Cette entrée liste ce que ces tests ont fait remonter et ce qui a été corrigé ; tout le reste a passé tel quel.
- Déposer un fichier qu’un outil ne peut pas utiliser s’explique désormais : le message nomme le fichier, les formats acceptés par l’outil et la limite atteinte, dans la langue de la page. Auparavant, la même situation pouvait afficher une étiquette interne brute au lieu d’une phrase.
- Chaque zone de dépôt indique maintenant les formats acceptés avant même le choix du fichier (par exemple « Acceptés : MP4, WebM, MOV, MKV »), et plus seulement pendant le glisser.
- Les outils d’image ne peuvent plus attendre indéfiniment sur « Traitement… 0 % » : chaque fichier a un plafond de deux minutes, et celui qui le dépasse est ignoré avec un message clair pendant que le reste du lot continue.
- Les outils qui effectuent leur gros travail dans des threads en arrière-plan — les outils PDF, le traceur SVG, l’agrandisseur d’images et la compression PNG — ne peuvent plus attendre indéfiniment quand un tel thread ne commence jamais à répondre, ce qu’une connexion lente ou interrompue pouvait provoquer sur le site en production (vu une fois comme Compresser l’image bloqué « Traitement… 0 %»). Chacun a désormais un délai, au bout duquel le travail est retenté sur le thread principal ou signalé comme une erreur.
- Compresser une vidéo : retirer une vidéo chargée pouvait déclencher une erreur en arrière-plan, car le panneau lisait encore la taille du fichier retiré depuis des résultats d’analyse périmés. Corrigé.
- Sur téléphone, l’aperçu en direct des huit outils studio (Code-barres, Ombre de boîte, Contraste, Dégradé CSS, Glassmorphism, Dégradé mesh, Code QR, Vague SVG) reste désormais épinglé sous l’en-tête dans une forme compacte — plafonné à 45 % de la hauteur de l’écran, avec l’image d’aperçu toujours entièrement visible, jamais rognée.
- Les boutons Épingler, Partager et Imprimer de chaque page d’outil atteignent désormais la hauteur tactile de 44 pixels sur les écrans tactiles.
- Les aperçus des outils Excel sont limités aux 10 premières lignes et 50 premières colonnes — et quand un tableur ne peut pas être converti, les outils l’indiquent désormais au lieu de n’afficher rien en silence.
v10.07
Les aperçus épinglés ne peuvent plus recouvrir leur propre sortie
- Huit outils studio — générateur de code-barres, d'ombres portées, de contraste, de dégradés CSS, de glassmorphism, de dégradés maillés, de codes QR et d'ondes SVG — affichent désormais le code généré, les mesures et les boutons Copier/Télécharger dans une section pleine largeur sous l'outil, et non plus dans la colonne épinglée : un aperçu fixé ne peut plus jamais se poser sur ses propres résultats. Seul l'aperçu dynamique reste épinglé, borné pour tenir toujours entre l'en-tête et le bas de l'écran.
- Vérificateur de contraste : le rapport s'affiche désormais à côté des champs de couleur, lisible sur mobile sans faire défiler la page, tandis que le rapport complet niveau par niveau, l'APCA, la couleur suggérée et les lignes de copie occupent la section du dessous. La zone morte qu'un panneau épinglé écrasait sur la moitié inférieure de l'écran a disparu.
- Les douze convertisseurs de texte ne figent plus une boîte de sortie haute de 40 % par-dessus l'écran d'un téléphone : les résultats suivent le flux de la page, et la barre d'action collante du téléphone porte désormais le bouton Copier de la sortie.
- Un jeton unique de hauteur d'en-tête (--header-h) pilote désormais toutes les bandes épinglées : l'aperçu du générateur de factures ne démarre plus 57 px sous l'en-tête sur ordinateur (7 px sur mobile), et la barre de filtres de la page d'outils, le collage photo et le SVG Tracer se posent exactement une hauteur d'en-tête plus bas.
- Un appui sur le bouton miroir du téléphone fait désormais défiler le vrai bouton et sa confirmation à l'écran, pour que l'appui se voie accomplir quelque chose.
- Le bouton retour en haut s'efface pendant que le pied de page est à l'écran au lieu d'en recouvrir les liens, et les panneaux épinglés à défilement interne ne piègent plus le défilement de la page.
- Les ancres internes atterrissent désormais dégagées de l'en-tête épinglé sur chaque page.
- Le texte d’ouverture de chaque page d’accueil localisée reprend désormais son titre : les mots de sa promesse — des outils bons, quotidiens et gratuits — figurent aussi dans le texte lui-même, sur les pages en allemand, espagnol, français, portugais et japonais.
v10.06.1
La sélection de texte utilise désormais l'orange de la marque dans tous les thèmes
- La sélection de texte sur l'ensemble du site s'affiche désormais dans l'orange de la marque (#f6821f) avec un texte sombre, comme prévu en v10.01 : deux utilitaires Tailwind sur l'élément <body> (selection:bg-accent-soft, selection:text-foreground) écrasaient silencieusement la règle globale ::selection depuis le jour de son ajout, si bien que le texte sélectionné n'apparaissait que dans une teinte pâle. Ces utilitaires sont supprimés ; la règle globale de globals.css gouverne désormais la sélection partout.
- Vérifié dans le CSS de production servi : les règles de sélection qui écrasaient ont disparu et le ::selection orange est le seul style de sélection dans la cascade.
v10.06
Version unifiée : les deux lignes v10.06 fusionnées, contenus japonais et portugais retraduits depuis la source
- Les deux arbres v10.06 ont été comparés fichier par fichier puis unifiés : les 46 paquets de corps japonais et portugais retraduits de la seconde ligne sont conservés, tout comme l'historique en six langues, la typographie des notes de version et l'espacement français des panneaux de la ligne d'audit.
- Les paquets japonais de 24 outils et portugais de 20 outils ont été retraduits depuis les pages anglaises actuelles ; des détails comme le surlignage des mots en direct dans la synthèse vocale et le texte de sécurité exact du générateur de mots de passe sont de retour.
- Le portugais respecte dans tous les paquets réécrits la norme brésilienne du site : senhas, câmera, baixar, cadastro et logotipo remplacent les formes européennes qui s'étaient glissées.
- La synthèse vocale n'annonce plus plus de 50 voix naturelles ; les voix disponibles dépendent de l'appareil, comme le précise la page anglaise.
- Les réponses FAQ, les guides et les caractéristiques de schéma vidés par une retraduction pour 14 outils sont restaurés, les deux-points en prose japonaise redeviennent pleine chasse, et la norme d'espacement français couvre désormais vingt-sept chaînes auparavant manquées : huit chaînes des corps et dix-neuf méta-descriptions utilisent l'espace insécable avant les deux-points et les points d'interrogation.
- Tous les jalons ont été rejoués sur l'arbre unifié : typecheck et lint sans erreur, 3 404 tests unitaires réussis, contrôles de panneaux, de contenu et de miroirs au vert.
v10.05
Images, caméra QR, UUID et guides traduits
- Ajout d’un décodage de secours lorsqu’une photo reste bloquée, avec correction des aperçus HEIC et des proportions du recadrage.
- Correction des lectures QR tardives, de la fermeture de la caméra et des UUID v1 répétés lorsque l’horloge n’avance pas.
- Ajout des guides traduits manquants et d’un contrôle des 530 ensembles de textes au moment du build.
- Rectification des affirmations sur la taille des exports, la précision audio et la confidentialité. Les vérifications par navigateur sont consignées séparément dans l’audit.
v10.02 — audit hostile : prêt au déploiement, entrée de changelog pour la v10.01
Un audit hostile complet de la v10.01 a vérifié les quatre corrections octet par octet et rejoué chaque contrôle ; les notes de version récupèrent l'entrée v10.01 qui manquait.
- Traductions des six langues passées au crible des tics de rédaction IA : 0 constat réel (recensement du vouvoiement allemand : 0 tutoiement).
- Tous les jalons repassés au vert : typecheck et lint sans erreur, 3 327/3 327 tests unitaires, localisation des panneaux et 125 miroirs sans dérive.
- Compilation de production vérifiée ; l'export statique complet (1 248 pages) reste à la charge de l'hébergeur avec plus de 4 Go de RAM.
- Changelog : la v10.01 est désormais documentée dans les six langues.
v10.01 — interligne du hero, sélection orange, bandeau de mise à jour pleine largeur et exemples de synthèse vocale par langue
Quatre retouches issues de vos retours : typographie du hero plus aérée, sélection de texte aux couleurs de la marque, bandeau de mise à jour plus sûr et texte d'exemple natif pour la lecture à voix haute.
- L'interligne du titre du hero passe de 1,04 à 1,25 — les titres latins comme CJK respirent mieux à toutes les largeurs.
- Le texte sélectionné s'affiche désormais en orange de marque sur encre foncée, en thème clair comme en thème sombre.
- Le bandeau de mise à jour de la PWA devient une barre pleine largeur en bas d'écran plutôt qu'une carte flottante : compatible encoches et barre de gestes, et le message passe à la ligne au lieu d'être tronqué.
- Le texte d'exemple de la synthèse vocale suit la langue de la voix choisie : des échantillons natifs en français, anglais, allemand, espagnol, portugais et japonais.
v10.00 — Durcissement sécurité : 3 audits hostiles, 40+ constats corrigés
Trois audits hostiles (GLM 5.3, Gemini Argon, ChatGPT) ont trouvé plus de 40 vrais problèmes. Tous corrigés.
- CRITIQUE : Pages PDF supprimées fuyaient via annotations de lien — corrigé.
- HAUT : Pollution prototype parser TOML — corrigé avec Object.hasOwn().
- HAUT : DoS queryStringToJson — indices tableau maintenant validés.
- HAUT : TTS bloqué sur Chrome bureau — corrigé avec fallback.
- Allemand : 36 formes informelles corrigées en Sie/Ihr.
v9.99 — Ré-audits hostiles (GLM 15 + Argon 35 constats) : corrections critiques, corrections i18n
Deux nouveaux audits hostiles (GLM 5.3 : 15 constats, Gemini Argon : 35 constats) ont conduit à des corrections critiques de bugs, à la conversion complète de la forme Sie allemande, à des corrections d’espacement typographique français et à la finalisation des changelogs localisés.
- CRITIQUE : filtre de voix TTS corrigé — Play désactivé sans voix locales, note de confidentialité conditionnelle.
- CRITIQUE : la regex d’espacement français avait corrompu les opérateurs TypeScript (U+202F/U+00A0 dans ?: et ??) dans 3 fichiers — corrigé.
- Allemand : 34 formes informelles du/dein converties en Sie/Ihr formel.
- Français : 119 lignes avec espacement ASCII corrigées en U+00A0/U+202F.
- Changelogs : entrées v9.97 et v9.98 ajoutées aux 5 changelogs localisés.
v9.98 — Revue de traduction ChatGPT : polissage EXIF, forme Sie, espacement français
Revue de traduction native ChatGPT GPT-6.1 Sol appliquée : chaînes EXIF Date Fixer polies, corrections de la forme Sie allemande et corrections d’espacement typographique français.
- EXIF Date Fixer : 41 chaînes polies selon la revue ChatGPT — formulation plus précise, forme Sie allemande correcte, accord féminin français.
- Allemand : forme Sie appliquée à la zone de dépôt EXIF et au sélecteur de date.
- Français : espacement U+00A0/U+202F vérifié selon les corrections ChatGPT.
v9.97 — Audit hostile Argon : 38 constats, contrôle de traduction renforcé
Un deuxième audit hostile (Gemini Argon, 38 constats) a conduit au renforcement du contrôle de traduction, à des corrections i18n de qualité native en trois langues et à cinq réparations UI/UX.
- Porte de traduction renforcée : trois angles morts de la vérification de localisation corrigés.
- Typographie française : 19 fichiers corrigés — espacement U+00A0/U+202F appliqué.
- Registre allemand : 24 formes informelles du/dein converties en Sie/Ihr formel.
- Style japonais : 3 644 tirets occidentaux remplacés par des tirets natifs.
v9.96 — Corrections de l'audit hostile : couverture complète des panneaux, point de rupture d'en-tête
Un audit hostile externe (GLM 5.3) a révélé deux problèmes réels : 71 chaînes de panneaux sans traduction et un point de rupture d'en-tête incohérent. Les deux sont corrigés, et le contrôle de publication vérifie désormais la couverture de traduction.
- Traductions : 69 chaînes de panneaux d'outils (pour l'essentiel d'outils récents comme AI Cliché Remover, Jargon Buster et le générateur de schémas JSON-LD) n'avaient aucune ligne en espagnol, allemand, français, portugais ou japonais — cinq langues affichaient donc silencieusement l'anglais. Les 69 ont été traduites puis relues par deux révisions IA natives indépendantes (Gemini Argon : 30 éléments ; ChatGPT : 26), soit plus de 120 corrections au total — empreintes de traduction automatique supprimées, registre correct par langue (vouvoiement allemand, espacement typographique U+00A0/U+202F en français, politesse desu/masu en japonais et pas de tirets occidentaux). 1 638 chaînes de panneaux vérifiées dans les cinq langues.
- En-tête : l'écouteur de redimensionnement du menu mobile utilisait un point de rupture à 1200 px alors que la bascule de mise en page se fait à lg: 1024 px — une bande 1024–1200 px où le menu pouvait laisser la page au défilement bloqué après un redimensionnement. L'écouteur suit désormais le point de rupture de 1024 px.
- Contrôle de publication : la vérification de localisation des panneaux scanne maintenant chaque littéral passé à usePanelText(), useSurfaceUI() et useToolUI() dans chaque outil et fait échouer le build s'il manque une ligne — des chaînes non traduites ne peuvent plus partir en silence.
- Compresser l'image : déposer un GIF animé affichait la clé interne brute « gifAnimationNote » au lieu d'un avertissement dans toutes les langues — la clé n'avait pas de ligne de dictionnaire. Elle explique désormais que la recompression ne conserve que la première image, dans les six langues.
- Note d'audit : deux signalements de sécurité n'ont pas survécu à la vérification — chaque lien target="_blank" porte déjà rel="noopener", et le SVG du générateur de QR est construit uniquement depuis la matrice QR sans balisage utilisateur ; aucun des deux n'était une vraie vulnérabilité.
v9.95 — Onglets de l'accueil mobile refaits en pilules ; recherche du menu corrigée
Les onglets de catégories de l'accueil sont désormais de vrais boutons pilules avec un défilement tactile correct, et la barre de recherche fixe du menu mobile est parfaitement opaque.
- Accueil : la barre d'onglets de catégories (Vidéo, Audio, PDF…) passe d'onglets texte soulignés à de vrais boutons pilules — pilule active à la couleur d'accent du site, inactives à bordures discrètes. Les compteurs restent dans chaque pilule.
- Accueil : la barre déclare touch-action: pan-x, donc un balayage horizontal fait défiler la barre tandis qu'un balayage vertical fait défiler la page — les deux gestes ne se battent plus sur écran tactile. Le chaînage d'overscroll aux extrémités est contenu.
- Menu mobile : la barre de recherche/filtre fixe a désormais un fond parfaitement opaque avec bordure inférieure et ombre douce — le texte du menu défilant dessous ne transparaît plus.
- Menu mobile : le bouton redondant « Rechercher parmi 135 outils » a été retiré de la barre fixe — le filtre intégré cherche déjà dans tous les outils, et la palette de recherche globale reste à un geste sur l'icône de recherche de l'en-tête. Une seule recherche par surface.
v9.94 — Sélecteur de voix de la synthèse vocale refait et finition des listes déroulantes
Le sélecteur de voix devient deux listes déroulantes (langue, puis voix), les curseurs gagnent un bouton de réinitialisation et les listes déroulantes de vraies bordures.
- Texte en parole : le long menu déroulant unique devient deux — un sélecteur de langue affichant des noms complets comme « Grec (Grèce) » au lieu de « el-GR » (via Intl.DisplayNames, dans la langue de l'utilisateur) et un sélecteur de voix listant uniquement les voix de cette langue. Changer de langue sélectionne automatiquement sa première voix.
- Texte en parole : les curseurs de vitesse, de hauteur et de volume gagnent un bouton « Rétablir les valeurs par défaut » qui n'apparaît que si une valeur a été modifiée.
- Les listes déroulantes de Texte en parole, Audio en texte et Sous-titres auto s'affichent désormais avec une bordure discrète pour que l'anneau de focus ne ressemble plus à un bord non stylé.
v9.93 — Suppression d'arrière-plan reconstruite sur l'inférence ONNX directe
Supprimer l'arrière-plan charge désormais son modèle MODNet directement avec onnxruntime-web, contournant la limite de types de modèles de transformers.js.
- Supprimer l'arrière-plan : @xenova/transformers v2 n'enregistre pas de type de modèle « modnet », donc pipeline("image-segmentation", "Xenova/modnet") levait toujours « Unsupported model type: modnet ». L'outil télécharge désormais le modèle et exécute l'inférence directement avec onnxruntime-web (entrée 512×512 normalisée ImageNet, post-traitement matte-vers-alpha). Vérifié de bout en bout dans un vrai navigateur : le modèle se télécharge, l'inférence se termine, le PNG transparent s'affiche.
- onnxruntime-web devient une dépendance directe (v1.14.0, la même version que celle embarquée par transformers.js) pour que la version du runtime WASM ne puisse plus dévier.
v9.92 — Plantage d'import de Transformers.js corrigé via un alias Turbopack
Audio en texte, Sous-titres auto et Supprimer l'arrière-plan ne plantent plus au chargement du modèle.
- Turbopack résolvait les entrées browser-field de @xenova/transformers (fs: false, path: false) en undefined, ce qui faisait planter l'initialisation de l'environnement avec « Cannot convert undefined or null to object » avant le moindre octet de modèle. Un resolveAlias Turbopack pointe désormais @xenova/transformers vers son bundle navigateur préconstruit.
- La création du pipeline voix-vers-texte a été déplacée dans un try/catch et le backend WASM d'ONNX est épinglé en mode monothread sans proxy, pour que les règles CSP strictes des workers ne cassent pas l'initialisation.
- Audio en texte vérifié en direct : Whisper Tiny se télécharge dans le navigateur, la transcription aboutit, les téléchargements TXT/SRT/VTT sont proposés. Sous-titres auto confirmé fonctionnel par le propriétaire du site.
v9.91 — Liste d'hôtes de modèles de la CSP corrigée
Les téléchargements de modèles d'apprentissage automatique sont autorisés par la Content-Security-Policy déployée.
- La liste connect-src de la CSP pour les outils à modèle (Audio en texte, Sous-titres auto, Supprimer l'arrière-plan) couvre désormais les cibles de redirection du CDN Hugging Face, afin que les premiers téléchargements de modèles ne s'échouent plus silencieusement en production.
v9.90 — Passage QA fonctionnel sur tout le site
Chaque page d'outil a été vérifiée chargée avec ses contrôles ; quatre outils défectueux identifiés pour réparation.
- Les 135 pages d'outils ont été vérifiées : rendu avec leurs contrôles de saisie et aucune erreur avant saisie.
- Quatre outils trouvés défectueux et mis en file de réparation : Audio en texte, Sous-titres auto et Supprimer l'arrière-plan (plantage d'initialisation de Transformers.js), Compresser la vidéo (codec non pris en charge sur le fixture de test).
v9.86 — corrections et accueil allégé
Corrections PDF, MP3, couleurs et formats des plateformes.
- Le contenu PDF est préservé et MP3 utilise une initialisation commune.
- Les générateurs de code, les couleurs et les dimensions sont corrigés.
- L’illustration conserve son dessin et suspend ses animations hors visibilité.
v9.85 — les corrections de v9.83 vraiment vérifiées, et les quatre dernières erreurs d’étiquetage corrigées
Chaque correction du rapport d’audit a été revérifiée sur des fichiers réels ; le bug en chaîne de lamejs, quatre mauvaises étiquettes de tailles ICO et une cible obsolète de bannière Discord sont corrigés.
- Vidéo vers MP3 et Découpeur audio : le chargeur lamejs de v9.83 tentait d’importer trois fichiers qui n’existent pas dans lamejs 1.2.1, ce qui interrompait silencieusement toute la chaîne d’initialisation globale — chaque encodage mourait encore avec un ReferenceError. Chaque import de sous-module est désormais isolé, tous les vrais modules lamejs sont couverts, et un encodage complet stéréo et mono est vérifié dans la suite de tests.
- PNG vers ICO : quatre associations taille→usage corrigées — 32 px correspond aux petites icônes du bureau et à la barre des tâches à 125 % (pas l’emplacement par défaut), 64 px est la vue d’icônes du Finder de macOS (la vue grandes icônes de Windows dessine 96 px), et 128 px est le Dock de macOS à son réglage maximal.
- Redimensionneur de bannière de profil Discord : la fausse cible « 680 × 240 minimum recommandé », qui contredisait le texte même de la page, est remplacée par un export 1200 × 480 2× pour les écrans haute densité, dans toutes les langues.
- Générateur de mots de passe : le chiffre de la phrase de 8 mots dans la FAQ indique désormais environ 53 bits (56,00 avec le chiffre final), comme le compteur en direct.
- Compresser PDF : la conservation des signets et la sortie sans métadonnées sont désormais protégées par des tests qui pilotent le vrai worker avec un fichier à 2 signets.
- Déverrouiller PDF : les fichiers AES-256 R6 de qpdf et pypdf sont couverts par des tests permanents avec le bon mot de passe et un mauvais.
- JSON vers Zod : une suite aller-retour prouve que le schéma généré accepte son propre échantillon d’entrée pour les unions, les champs optionnels, les formats mixtes, la récursion et les formes vides.
v9.83 — 43 constats d’audit corrigés, entropie honnête, icônes orange partout
Un audit indépendant a trouvé 43 problèmes dans 34 outils ; tous sont corrigés dans cette version.
- Vidéo vers MP3 et Découpeur audio : l’encodage MP3 fonctionne désormais dans les builds de production (globaux lamejs initialisés).
- Déverrouiller PDF : les fichiers AES-256 R6 avec les bons mots de passe s’ouvrent désormais (algorithme 2.B d’ISO 32000-2 implémenté).
- YAML vers JSON : les entiers au-delà de 2^53 sont conservés comme chaînes avec un avertissement au lieu de perdre en précision.
- Formateur CSS : les commentaires en ligne comme /*brand*/ ne font plus disparaître de propriétés.
- Formateur HTML : le contenu de script, pre et textarea est préservé à l’octet près.
- JSON vers Zod : les schémas générés utilisent des vérifications d’entiers sûrs et valident les dates du calendrier.
- Générateur de mots de passe : affirmations d’entropie corrigées — les phrases de 4 mots font 26,34 bits, pas 105 ; conseils sur le mot de passe maître corrigés.
- Vérificateur de contraste : les couleurs invalides affichent — au lieu d’un faux 21:1 Réussi.
- Les 89 icônes d’outils portent désormais l’accent orange ; la validation des cron est plus stricte.
v9.29 — une seule mise en page dans chaque langue, et un retour après « Continuer avec le résultat »
Changer de langue ne change désormais que les mots et rien d’autre : les accueils localisés et les pages d’outils traduites utilisent la mise en page anglaise, et depuis un outil atteint via « Continuer avec le résultat », on peut revenir en arrière.
- Les cinq accueils localisés utilisent la mise en page de l’accueil anglais — le même dessin grand format, le même catalogue d’outils et les mêmes sections — au lieu d’une variante plus étroite qui rétrécissait la page au changement de langue.
- Les pages d’outils traduites correspondent à leurs originaux anglais section par section : le fil Accueil / catégorie / outil, le badge de confidentialité avec Épingler, Partager et Imprimer, les six mêmes outils liés et la même colonne de lecture, le tout dans votre langue.
- Après « Continuer avec le résultat », l’outil suivant affiche « Retour à … », qui ramène au premier outil avec vos fichiers d’origine encore chargés. Les suggestions dépendent désormais de l’outil d’origine : un recadrage mène d’abord au redimensionnement, un export créateur à la compression et à la conversion, et les pages devenues images ne sont pas proposées comme le simple retour vers un PDF.
- Dans le catalogue de l’accueil, une catégorie avec un nombre impair d’outils ne se termine plus sur un filet qui s’arrête à mi-chemin.
- Corrections issues d’un audit en direct : la page de recherche reste exclue des résultats dans toutes les langues, l’adresse de l’accueil s’écrit de la même façon dans ses balises canonical, de langue et de partage, le pied de page n’a plus d’élément de liste vide, les pages de guides portent une image dans leurs données structurées, et l’adresse d’aperçu Cloudflare est marquée noindex pour que seul le vrai domaine soit indexé.
v9.28 — les sources de chaque norme citée par les guides, et chaque outil traduit à un clic de sa page anglaise
Les guides et comparatifs lient désormais chaque spécification citée, et les pages anglaises des six outils traduits lient vers leurs versions espagnole, allemande, française, portugaise et japonaise.
- Les guides et comparatifs se terminent par une liste de Sources : chaque spécification RFC, ECMA, W3C, YAML ou TOML citée par la page, liée à son texte officiel — dix-sept pages, de RFC 4180 pour CSV à RFC 9562 pour les UUID.
- Les pages anglaises de Fusionner PDF, Diviser PDF, Compresser image, Redimensionner image, JPG vers PDF et du Formateur JSON lient désormais vers leurs cinq traductions, comme les traductions liaient déjà en retour.
- Chaque page indique aux assistants IA le résumé llms.txt du site, et le hub des guides ne promet plus de date de révision visible que les guides n’affichent pas — les dates de révision figurent dans les données structurées de chaque page et dans le sitemap.
v9.27 — exports créateur à télécharger d’un coup, chaque résultat prêt à emporter, et une image pour chaque outil
Les 22 redimensionneurs créateur génèrent leurs fichiers dès qu’une image arrive, le résultat de chaque outil a un bouton de téléchargement ou de copie, et chaque page d’outil s’ouvre sur une illustration de ce que fait l’outil.
- Les redimensionneurs créateur génèrent désormais chaque taille requise au moment où vous déposez une image, montrent chaque fichier à sa taille réelle avec son nombre d’octets et sa limite de plateforme, et proposent Télécharger, Partager, Tout télécharger (ZIP) et l’outil suivant, comme les outils d’image.
- Deux exports créateur qui étiraient l’image sont corrigés : la paire Discord recadre désormais la bannière de serveur 16:9 selon sa propre forme, et « Ajuster l’image entière » remplit avec une bordure (ou de la transparence) au lieu de déformer.
- Les avatars ronds et les tuiles arrondies sont prévisualisés comme la plateforme les découpe — la zone ombrée est ce qui est retiré — et les guides peuvent être masqués pour voir l’œuvre.
- Chaque résultat quitte la page en un clic : Télécharger sur le code formaté, converti et généré (avec le nom de fichier attendu dans chaque langue), boutons de copie sur les horodatages, empreintes, bases numériques et planifications cron, et Télécharger PNG, Télécharger SVG, Copier l’image et Partager sur les QR codes et codes-barres.
- Le formateur JSON supprime désormais les virgules finales comme il l’annonce, la casse de phrase et de titre fonctionne sur les identifiants, Diviser PDF suggère une plage qui existe dans les documents courts, et Base64 décode vers .txt, .json ou une image au lieu d’un .bin sans nom — son propre exemple ne s’ouvre plus sur une erreur, et un JWT collé montre son en-tête et sa charge.
- Les PDF fusionnés, divisés et compressés montrent une vignette de la première page, et PDF vers JPG et Rogner l’image lient directement vers l’outil suivant.
- Chacun des 71 outils et les 22 pages créateur s’ouvrent sur leur propre illustration du travail accompli, dessinée aux couleurs du site pour les modes clair et sombre ; les guides et comparatifs montrent l’outil dont ils parlent, et chaque page de catégorie montre un collage de ses outils.
v9.26 — des outils dans votre langue qui se souviennent, une app installable et des téléchargements en un clic
Les outils traduits fonctionnent entièrement dans leur langue, chaque outil mémorise vos options et peut transmettre son résultat au suivant, les résultats par lot se téléchargent en un seul ZIP, et le site s’installe comme une app.
- Les six outils entièrement traduits — fusionner, diviser, compresser, redimensionner, JPG vers PDF et le formateur JSON — affichent désormais chaque contrôle, avertissement, étape de progression et message d’erreur en espagnol, allemand, français, portugais et japonais, pas seulement la page autour.
- Une relecture par des locuteurs natifs dans les cinq langues : allemand formel, espagnol neutre, typographie française avec espaces insécables, guillemets brésiliens et japonais sans espaces parasites. Les descriptions traduites par machine ont été supprimées plutôt que conservées.
- Le reste du site suit aussi votre langue : le répertoire Tous les outils, la recherche, la page 404 et l’écran d’erreur sont traduits, et un outil dont l’interface est encore en anglais le signale en une ligne au-dessus.
- Les outils mémorisent les options choisies la dernière fois — qualité, taille cible, format, taille de page, retrait — et un PDF ou une image terminé peut aller directement dans l’outil suivant (fusionner, puis compresser) sans le télécharger et le rajouter.
- Les résultats par lot se téléchargent en un seul ZIP au lieu d’une invite par fichier, et sur téléphone un résultat peut aller directement vers la feuille de partage.
- ToolsByUs s’installe comme une app depuis le menu (avec les étapes Ajouter à l’écran d’accueil sur iPhone), s’ouvre en plein écran avec son propre bouton retour, propose une mise à jour au lieu de recharger en pleine tâche, et affiche une page hors-ligne dans votre langue.
- Les champs numériques acceptent ce que vous tapez : saisir 100 dans « compresser sous … Ko » finissait auparavant en 500.
- Contact est désormais une simple adresse e-mail, [email protected], avec des brouillons en un clic pour les rapports de bugs et les idées d’outils ; la page de confidentialité liste chaque valeur que le site conserve dans votre navigateur.
v9.15 — remédiation d’audit, redimensionneurs créateur et cinq langues
Couloirs d’intention, 22 redimensionneurs de plateforme, sous-chemins localisés et exemples traités dans le HTML.
- La cannibalisation des mots-clés entre les outils principaux et leurs pages de longue traîne est résolue : chaque outil possède désormais son terme principal, chaque satellite un scénario, et la séparation est imposée par une porte de build.
- 22 redimensionneurs de ressources créateur ajoutés sous /creator — Discord, Twitch, Roblox, Etsy, Shopify, YouTube, Spotify, X et Bluesky — avec les tailles exactes des plateformes, des surcouches de zones sûres, l’application des plafonds d’octets et l’export ZIP multi-tailles, le tout dans le navigateur.
- Sous-chemins localisés lancés pour l’espagnol, l’allemand, le français, le portugais et le japonais avec hreflang réciproque, attributs lang par locale et FAQ traduites.
- Les pages d’outils embarquent désormais un vrai exemple traité — l’entrée et la propre sortie du moteur — dans le HTML servi, pour qu’un robot indexe une page remplie plutôt qu’une coquille vide.
- Chaque page d’outil répond à au moins six questions précises ; onze URL ont été renommées pour plus de clarté et redirigent en permanence vers leurs nouvelles adresses.
- La soumission IndexNow tourne désormais automatiquement depuis la CI à chaque push vert sur main.
v9 — infrastructure SEO et version axée citation
Recherche, journal des modifications, fils d’Ariane, images OG par page et une couche de citation pour l’IA.
- Ajout d’une page de recherche d’outils côté client avec une vraie cible SearchAction.
- Les pages d’outils affichent désormais le fil complet Accueil → catégorie → outil, reflété dans les données structurées BreadcrumbList.
- Chaque page embarque sa propre image Open Graph générée au lieu de partager une carte pour tout le site.
- JSON-LD est construit depuis un module testé (schema.ts) ; les nœuds Organization et WebSite portent désormais publishingPrinciples et une SearchAction fonctionnelle.
- llms.txt a gagné un guide de citation, des références de normes par outil et un pointeur vers le journal ; robots.txt nomme désormais explicitement 24 robots d’IA.
- Prise en charge d’IndexNow ajoutée : les URL modifiées sont soumises à Bing/Yandex/Seznam/Naver depuis la CI, selon les différences de lastmod du sitemap.
v8 — durcissement de l’interaction et des entrées
Glisser-déposer global, durcissement du menu d’en-tête et scènes par outil.
- Glisser-déposer sur tout le site avec limites de type, de nombre et de taille ; les dépôts directs sélectionnent leur panneau.
- FileReader partagé avec annulation des callbacks obsolètes entre les outils CodePane et Base64.
- Menu d’en-tête : délai au survol, contrôle total au clavier, Échap, ArrowDown et confinement du défilement.
- Chacun des 71 outils a reçu une scène et une étiquette dessinées pour l’occasion ; le héros a été reconstruit en SVG léger en ligne.
v8-rc — pipeline de formatage
Surface des formateurs et convertisseurs achevée sur JSON, CSS, XML et génération de code.
- Suite du formateur JSON : tri des clés, suppression des commentaires JSONC, contrôles des échappements unicode.
- Pipeline de formateur/minifieur CSS avec chemin de remplacement sûr pour les workers.
- Générateurs de code (JSON → C#, Go, Java, Python, TypeScript) unifiés derrière un cadre CodegenTool.
Les versions plus anciennes sont documentées dans le dépôt : comment nous relisons et livrons les changements. Les dates de relecture par page sont apposées au pied de chaque page d'outil.