- En tentant de récupérer d’anciens documents après avoir pris sa retraite et commencé à classer de vieux manuscrits, un utilisateur a constaté que LibreOffice parvenait à ouvrir des fichiers plus anciens que Word
- Word n’arrivait pas à lire les fichiers antérieurs à 1994, tandis que la dernière version de LibreOffice pour Mac pouvait, dans l’ensemble, ouvrir des fichiers de 1992 et 1989, et même un document de 1986
- La qualité de conversion n’était pas parfaite : dans un fichier de 1989, les
aminuscules étaient remplacés par un caractère circonflexe, et quelques caractères en forme de boîtes apparaissaient dans le document de 1986 - L’utilisateur a sauvegardé ses manuscrits dans le cloud et avec Time Machine, puis a identifié 9 anciens romans, 2 romans inachevés et environ 15 nouvelles
- Les anciens formats de fichiers propriétaires étant coûteux à maintenir en compatibilité descendante, des outils externes comme LibreOffice peuvent servir de filet de sécurité pour la récupération de documents
Une opération de récupération partie du tri de vieux manuscrits
- Après sa retraite, l’utilisateur, disposant de temps pour écrire, a commencé à inventorier ses romans invendus nécessitant révisions et réécriture
- Après avoir déconnecté son Mac du VPN professionnel, les liens de dossiers se sont emmêlés : cliquer sur Documents dans le Finder lançait une recherche d’emplacement réseau qui échouait
- Après redémarrage, l’accès restait possible en allant directement dans Documents depuis le répertoire utilisateur
- Il a copié tous ses dossiers d’écriture sur le bureau et a confirmé qu’il n’avait perdu aucun ancien roman ni manuscrit de nouvelle
- Il pensait d’abord avoir 7 livres terminés, mais il en avait en réalité 9 versions complètes
- Trois d’entre eux formaient une trilogie, et un roman contenait aussi des éléments de suite
- Les romans inachevés étaient au nombre de 2
- Il semblait y avoir environ 15 nouvelles, dont beaucoup ont été jugées terminées en raison de traces de soumission dans plusieurs dossiers
Là où Pages et Word n’ont pas pu ouvrir les fichiers
- Un roman écrit en 1996 a été refusé par Pages
- L’utilisateur le voyait comme un space opera amusant, susceptible d’être le premier à pouvoir être vendu
- Il prévoyait d’installer Word et de chercher des programmes capables d’ouvrir de vieux fichiers, mais il a ensuite constaté que Word ne lisait pas les fichiers antérieurs à 1994
- Il conservait aussi les originaux de chapitres datant de l’époque de l’Apple ][, mais ils avaient été mis à jour à l’époque PowerPC avec un Mac et des versions de Word des années 2000
Les fichiers que LibreOffice a effectivement ouverts
- Un autre utilisateur lui a conseillé LibreOffice, en disant qu’il « pouvait lire les vieux fichiers Word mieux que Word », et l’utilisateur a installé la dernière version de LibreOffice pour Mac
- Le fichier de 1992 s’est ouvert sans problème
- Le fichier de 1989 s’est également ouvert, mais tous les
aminuscules ont été convertis en caractère circonflexe- L’utilisateur a estimé que ce problème restait acceptable
- Après avoir trouvé comment rechercher par date sur Mac, il a découvert un traitement d’histoire sans extension nommé
The Revenger- La date était le 25 mars 1986
- Il y avait quelques caractères en forme de boîtes, mais l’ensemble était globalement lisible
- L’utilisateur y voyait une tentative de space opera SF dans le style d’Andre Norton
- LibreOffice a aussi ouvert
Tree Castle- Ce document était, ou pouvait avoir été, un document Mac Draw
- Sa date était le 1er janvier 1986, et il s’agissait du plus ancien document en sa possession
- L’utilisateur a fortement apprécié LibreOffice pour la conversion de documents et a conclu que, même si certains contenus anciens étaient maladroits, aucune propriété intellectuelle perdue n’avait disparu
Le coût réel du maintien de la compatibilité descendante
- Un utilisateur a indiqué utiliser LibreOffice comme outil principal au travail, et avoir plusieurs fois récupéré d’anciens fichiers Word mieux qu’avec Word lui-même
- L’auteur original estime que l’incapacité de Microsoft à assurer une compatibilité descendante à 100 % avec ses propres formats propriétaires ne relève pas simplement d’un manque de sérieux
- Maintenir la compatibilité descendante implique en continu des coûts de développement, de test et de débogage
- Il est mentionné qu’un programmeur dans une grande entreprise peut coûter plus de 150 000 dollars, hors bonus
- À chaque évolution des méthodes de gestion, des paradigmes de programmation, des exigences de langage, de l’accès aux dépôts, des standards de protection des données personnelles ou des possibilités d’audit, la charge de maintenance du code augmente
- Il peut falloir un programmeur dédié pour l’ensemble des produits pris en charge, ou bien une équipe saisonnière et du temps de management à chaque modification de code
- La plupart des utilisateurs n’ont pas de fichiers datant de plus de quelques années, et en entreprise, une conservation maximale de 7 ans est mentionnée comme bonne pratique
- Les vieux fichiers sont souvent mis à jour ou archivés en PDF
- Pour LibreOffice, l’ouverture d’anciens fichiers peut être une fonctionnalité qui élargit sa base installée, et comme le projet reçoit aussi des dons, il est difficile d’y voir uniquement du travail entièrement gratuit
- Si un outil externe échoue, Microsoft peut laisser à cet outil externe la charge du support technique, ainsi que les risques de litiges, de boycott ou de mauvaise réputation
Signalement de bugs open source et expérience de l’écosystème d’outils
- Plusieurs personnes ont estimé que le remplacement des
aminuscules par des circonflexes dans le fichier de 1989 méritait d’être signalé comme bug- Si le fichier peut être joint au rapport de bug, quelqu’un pourrait l’examiner
- Un cas a aussi été partagé : un problème d’expérience utilisateur dans la boîte de dialogue de séparation des paragraphes de LibreOffice Writer avait été signalé, discuté, puis corrigé
- L’auteur original raconte avoir signalé des bugs dans plusieurs projets open source qu’il avait utilisés, mais qu’après quelques années, un seul avait effectivement été corrigé
- Il recevait souvent une réponse du type « corrigez-le vous-même », et avait le sentiment que corriger les problèmes d’autrui était rarement prioritaire
- Il ajoute avoir rencontré une attitude similaire chez Microsoft, et qu’Apple faisait un peu mieux, mais sans grande différence
- Les procédures de contribution open source comme Git et les pull requests peuvent constituer une barrière pour les utilisateurs ordinaires ou même certains développeurs
- L’auteur original a dû réécrire des consignes en
.mdlors de travaux open source liés à Zowe et d’un projet obligatoire de conformité de l’Open Mainframe Project, puis s’est retrouvé bloqué par l’exigence de pull request sur GitHub - Même des développeurs mainframe, JavaScript, C ou Windows doivent apprendre une nouvelle méthode s’ils ne sont pas habitués au fonctionnement de GitHub
- L’auteur original a dû réécrire des consignes en
- Un autre utilisateur trouve difficile de s’adapter à Git, tandis que Mercurial, malgré un modèle distribué similaire, lui semble beaucoup plus facile à comprendre
- Dans la discussion sur WordPerfect, certains ont estimé que la stratégie consistant à voir le grand nombre de pilotes d’imprimante comme une barrière à l’entrée était finalement devenue une faiblesse
- Une expérience a été partagée : pendant que Windows continuait d’améliorer sa prise en charge des imprimantes, WordPerfect mettait plus de 10 minutes à charger des pilotes d’imprimante devenus inutiles
1 commentaires
Avis Hacker News
Même si vous enregistrez toutes les 5 minutes dans LibreOffice un fichier doc/docx qui a été modifié plusieurs fois et annoté de commentaires, ne partez pas du principe qu’il se rouvrira la fois suivante.
Si vous modifiez directement des fichiers Word, LibreOffice peut finir un jour par abîmer le document. Il est plus sûr de travailler au format LibreOffice, puis de convertir en doc/docx pour l’envoyer.
Le problème est insidieux : LibreOffice affiche les modifications et permet de les éditer, mais le fichier réellement enregistré peut être corrompu. On ne s’en rend compte qu’à l’ouverture suivante ; parfois cela se répare, comme une incohérence de balises dans le XML interne, et parfois une grande partie du document disparaît, sans possibilité de récupération.
Si vous devez l’envoyer à des utilisateurs de MS Office, envoyez simplement de l’OpenDocument. Office peut aussi l’ouvrir, et s’il y a un problème, il est plus probable que ce soit un bug côté Office que côté LibreOffice.
Les utilisateurs de MS Office doivent eux aussi s’habituer à OpenDocument, le format de document standard.
Il arrivait qu’on crée dans Word un DOCX avec le suivi des modifications activé, qu’on l’édite et l’enregistre plusieurs fois dans LibreOffice, puis qu’on le rouvre dans Word pour le modifier et l’enregistrer, et que Word ne puisse ensuite plus ouvrir le fichier. L’ouvrir dans LibreOffice puis le réenregistrer corrigeait le problème.
Tous ces cas étaient liés au suivi des modifications, et ce n’est pas surprenant : la représentation interne du suivi des modifications dans DOCX est encore plus chaotique que le reste du format, qui ressemble déjà à « du RTF et divers trucs déversés en XML ».
Mieux vaut éviter le format Word lui-même.
Le fournisseur A développe, teste et corrige à la fois le format A et sa propre application, et dispose de toutes les données utilisateur et de bug. Le fournisseur B doit développer sa propre application et son propre format, sans disposer des connaissances organisationnelles ni des données de A.
Il est donc difficile pour l’application de B de traiter des données complexes au format A de manière aussi fiable que A, et A lui-même a aussi des bugs. Dans ce cas, l’équipe Microsoft Office a probablement beaucoup plus de ressources que LibreOffice.
J’ai lu autrefois un article, il me semble de Joel Spolsky, sur la conception du format XLS : en gros, il s’agissait de déverser sur disque la structure mémoire interne d’Excel, avec quelques optimisations destinées à accélérer l’enregistrement et le chargement sur les disques lents de l’époque.
Il semblait assez satisfait des performances, mais tout ce que je me suis dit, c’est : « tout autre programme qui devra manipuler ce fichier est fichu ». Et dans « autre programme », il faut aussi inclure les versions ultérieures d’Excel.
Pour récupérer d’anciens fichiers à des fins d’archivage, il serait utile d’avoir la documentation interne des anciens DOC et XLS, mais il paraît peu probable que Microsoft les ait correctement documentés, même en interne.
C’est pour cela que, lorsque des exigences de standard ouvert sont arrivées, il a fallu tout refaire avec DOCX/XLSX. Microsoft n’avait pas moyen de le documenter.
Cela dit, le fait que DOCX/XLSX contienne aussi des balises de « dump binaire interne de Word/Excel » n’aide pas : on retombe dans le même piège.
https://www.joelonsoftware.com/2008/02/19/why-are-the-micros...
Comme le dit Spolsky, c’est un bazar complet, mais techniquement, c’est documenté.
Au fond, tous les formats de fichiers ne sont que des structures mémoire enregistrées en binaire.
À l’époque de la migration vers Windows 7, nous avons découvert que le vieux logiciel de gestion des temps et présences utilisé par l’entreprise ne fonctionnait plus.
Heureusement, le service IT a trouvé une solution : fournir à tout le monde dans l’entreprise une VM Ubuntu et faire tourner le logiciel avec Wine. Cela a finalement continué comme ça pendant plusieurs années, jusqu’au passage à une solution web.
https://techcommunity.microsoft.com/t5/ask-the-performance-t...
Or j’ai découvert qu’ils fonctionnaient mieux avec Steam Proton sous Linux que sous Windows récent. Bien sûr, ce n’était pas pour autant assez stable pour y jouer réellement.
La raison principale était de leur permettre d’utiliser le logiciel de gestion des temps. On aurait pu leur donner une carte RFID à 2 dollars comme aux employés de production, mais il aurait alors fallu qu’ils aillent jusqu’à la pointeuse pour badger.
Au final, je crois qu’ils utilisaient aussi Outlook pour Windows à cause d’une fonctionnalité absente de la version Mac.
Les clients qui achetaient le logiciel recevaient donc gratuitement un moniteur de la bonne taille. Histoire vraie.
Il m’est arrivé quelque chose de similaire avec un jeu de l’époque Windows XP, que j’ai pu lancer sous Ubuntu mais pas sous Windows 11.
Le jeu utilisait une certaine version de Direct3D qui ne fonctionnait plus depuis Windows 10. Je ne voulais pas installer Windows XP/7/8 sur la machine, et les machines virtuelles prenaient assez mal en charge l’accélération graphique.
Mais dans une vraie installation Ubuntu, en utilisant Wine et en allant chercher les bons fichiers à ajouter, il s’est lancé. Le plus drôle, c’est qu’en installant Wine dans Ubuntu tournant sous WSL sur Windows 11, le jeu fonctionnait aussi dans cet environnement. Je ne pensais pas devoir passer par une méthode aussi compliquée pour lancer un vieux jeu.
https://fdossena.com/?p=wined3d/index.frag
Il existe des DLL wined3d compilées qui fonctionnent sous Windows.
https://github.com/doitsujin/dxvk
Celui-ci fonctionne aussi sous Windows.
Il suffit de les placer dans le dossier du jeu, qui chargera alors ces DLL au lieu du vrai DirectX. Il existe aussi d’autres implémentations d’anciennes API destinées à continuer à faire tourner de vieux jeux, dont certaines sont également utilisées par des utilisateurs Linux avec Wine. Par exemple, il y a dgVoodoo.
http://dege.freeweb.hu/dgVoodoo2/ prend en charge Glide, l’API propriétaire des cartes de l’époque 3dfx, ainsi que DirectX 1 à 7, 8.1 et 9.
https://github.com/FunkyFr3sh/cnc-ddraw corrige des problèmes liés à DirectDraw, une ancienne API 2D, et peut être utile aussi bien aux utilisateurs Windows qu’à ceux qui utilisent Wine sous Linux.
https://github.com/otya128/winevdm permet d’exécuter des applications 16 bits sur Windows 64 bits.
En ajoutant à cela les réglages du mode de compatibilité de Windows lui-même, on devrait pouvoir faire tourner presque tous les jeux sortis pour Windows, sans le lourd overhead d’une VM. À ma connaissance, WSL ne sait même pas libérer la mémoire qu’il a une fois réservée.
Les jeux bénéficient eux aussi de cette couche de compatibilité étonnamment fidèle, et aujourd’hui beaucoup de jeux Windows, y compris des titres récents, peuvent être installés de manière transparente sous Linux avec WINE.
https://www.youtube.com/watch?v=Bg1NiXtrJ6g
https://www.youtube.com/watch?v=3b50Stm8gu4
Je me demande si la procédure était simple.
Ironiquement, l’un des anciens formats de fichiers que j’ai essayé d’ouvrir dans LibreOffice était un fichier StarOffice 5, et il ne s’est pas ouvert.
LibreOffice est issu d’OpenOffice, et OpenOffice était StarOffice publié en open source. Le convertisseur a été supprimé afin de simplifier la base de code.
Il y aurait de la complexité, mais StarOffice est désormais un format figé, et il doit bien exister une ancienne version figée d’OpenDocument qui pourrait servir de cible.
Personne ne devrait s’attendre à autre chose, mais Apple n’a pas non plus préservé la compatibilité descendante des formats iWork, et j’ai quelques documents legacy qu’il faut ouvrir avec une ancienne version.
https://wiki.documentfoundation.org/ReleaseNotes/4.0#Feature...
Même en 2024, comme Excel n’arrive pas à ouvrir un CSV sans le massacrer, j’ouvre tous les fichiers CSV avec LibreOffice.
Je sais qu’il existe un assistant d’importation, mais même lui arrive encore parfois à tout casser.
Au milieu ou à la fin des années 1990, je travaillais dans une entreprise qui développait des logiciels antivirus, et il fallait analyser les fichiers Word pour détecter les macrovirus.
Mais nous ne pouvions pas ouvrir les fichiers Word 1.0, alors des employés de Microsoft sont venus directement des États-Unis pour nous aider. Comme c’était à l’époque une entreprise britannique relativement petite, c’était un événement assez important, et à ma connaissance c’est la seule fois où une chose pareille est arrivée.
Cela s’est fait de manière assez confidentielle, mais d’après ce que j’ai entendu, Microsoft avait perdu le code source original permettant de lire et d’écrire les fichiers au format Word 1.0, et il ne leur restait que les binaires compilés ; ils avaient donc dû rétroconcevoir du nouveau code.
LibreOffice vise la compatibilité, tandis que Microsoft veut que ses clients passent à des versions plus récentes et plus rentables ; ce résultat n’a donc rien de surprenant.
Ils allaient jusqu’à ajouter des traitements spéciaux pour qu’une application continue de fonctionner même si elle dépendait d’un bug ou d’une fonctionnalité non documentée.
J’ai converti 100 Go de fichiers xls/doc pour les mettre sur SharePoint, et rien qu’en les réenregistrant dans un format ouvert, l’espace occupé a été réduit d’environ cinq fois.
Que LibreOffice ouvre mieux les vieux fichiers n’a absolument rien d’étonnant. Microsoft bloque même certains fichiers, impossibles à ouvrir sans aller les autoriser dans les paramètres de sécurité. Je convertissais une bibliothèque vieille de près de 30 ans, avec beaucoup de fichiers de plus de 20 ans ; pourquoi faudrait-il encore traîner aujourd’hui une compatibilité aussi merdique ?
J’ai vu un cas similaire avec une application DOS sur mesure utilisée par une petite chaîne de vidange rapide : elle ne se lançait pas sous Windows 7 et versions ultérieures, quels que soient les réglages de compatibilité, mais fonctionnait très bien sous Wine sur Linux.
Ils ont utilisé cette solution de contournement jusqu’à ce que l’application soit redéveloppée. Comme ils avaient l’habitude d’une application en console, l’application de remplacement est elle aussi restée en console, réécrite et modernisée pour tourner dans un shell Linux. Ils ont aussi économisé tous les coûts de licence, et au final ils semblaient plutôt satisfaits.
Il semble que, il y a plus de dix ans, Microsoft ait fait s’écarter toute l’entreprise de son principe fondamental consistant à préserver la rétrocompatibilité à tout prix.
Les applications DOS et Windows 16 bits ne s’exécutent pas sur Windows 64 bits.
Il ne faut surtout pas ouvrir de vieux fichiers Word japonais avec LibreOffice. Il les corrompt.
Les anciens fichiers Word japonais sont enregistrés en Shift JIS, alors que LibreOffice les ouvre en UTF-8.
Sinon, je me demande si quelqu’un en a déjà ouvert un, et s’il est possible de partager un échantillon pour le reproduire. J’ai cherché “Shift JIS” dans Bugzilla, mais je n’ai rien trouvé.
[1] https://bugs.documentfoundation.org/