Utilitaire de réparation de fichier ODF

Discussions sur les projets et applications développés en liaison avec une suite bureautique libre.

Modérateur: Vilains modOOs

Utilitaire de réparation de fichier ODF

Messagepar Scrat » 12 Sep 2019 15:56

Bonjour.

Mise à jour du 20 novembre 2020 => Version 1.0.2

Je vous propose ici un utilitaire de réparation de fichier ODF écrit en langage Java que je vous propose de tester.

Vous devez donc avoir Java d'installé, ce qui est normalement le cas si vous avez suivi les tutoriels d'installation de Apache OpenOffice ou de LibreOffice.

Je mets en ligne l'archive ODFRepar_v_1_0_2.zip qui contient un dossier ODFRepar_v_1_0_2, lequel contient l'exécutable ODFRepar.jar et un sous-dossier lib contenant les bibliothèques nécessaires.

ODFRepar_v_1_0_2.zip
Version 1.0.2 du 20/11/2020
(401.14 Kio) Téléchargé 134 fois


Cette mise à jour améliore la détection des caractères non autorisés dans les zones de texte.

Pour mémoire, je laisse ici l'ancienne version 1.0.1:
ODFRepar_v_1_0_1.zip
Version 1.0.1 du 22/09/2019
(401.06 Kio) Téléchargé 3166 fois


Cet utilitaire est conçu par couplage d'un réparateur d'archive zip avec l'utilitaire de réparation de fichier XML XmlRepar. Il vous permet de réparer en seulement quatre interactions un fichier ODF (extensions .odt, .ods, .odp, .odg, .odb) ou Microsoft (extensions .docx, .xslsx, .pptx) sans passer par les étapes intermédiaires habituelles (réparation d'archive, extraction, réparation de fichier XML, reconstitution de l'archive). Si la corruption est modérée, vous obtenez directement un fichier ODF réparé et exploitable.

Un tutoriel complet est disponible ici au format pdf:

tutoriel_reparation_ODF.pdf
Tutoriel de réparation ODF
(288.36 Kio) Téléchargé 1982 fois


Dézippez l'archive et stockez le dossier ODFRepar_v_1_0_2 où vous le désirez. Pour lancer l'utilitaire, vous avez deux possibilités:
- par double clic sur l'icône du fichier ODFRepar.jar dans l'explorateur,
- en ligne de commande avec le code suivant:

Code : Tout sélectionner   AgrandirRéduire
java -jar {chemin du dossier ODFRepar_v_x_x_x}/ODFRepar.jar


Dans cette ligne de commande, x_x_x est le numéro de version.

Une fenêtre s'ouvre avec une barre de menu et une zone de texte. La barre de menu contient les menus Fichier et Aide. L'aide vous donne quelques informations sur ce que peut faire l'utilitaire, sinon tout se gère par le menu Fichier en suivant les indications de la zone de texte:

1. Menu Fichier -> Ouvrir pour sélectionner le fichier ODF à traiter.
2. Menu Fichier -> Analyser pour démarrer l'analyse. Cela vous donne la liste des entrées, les tailles normales et compressées, et les chances de récupération.
3. Menu Fichier -> Extraire pour extraire les éléments récupérables dans un dossier vide que vous devrez choisir (ou créer).
4. Menu Fichier -> Réparer pour reconstituer une archive avec les éléments qui ont pu être extraits, les fichiers XML étant automatiquement réparés.

Vous ne pouvez accéder à chaque étape que si les précédentes ont été exécutées.

Attention : Réalisez toujours les tentatives de réparation sur une copie de votre document !

Si la corruption est modérée, vous obtenez directement un fichier ODF réparé et exploitable. Si le fichier réparé est inexploitable, il faudra passer par les méthodes habituelles: réparer vous-même les fichiers XML dans le dossier d'extraction en les éditant pour éliminer les parties trop corrompues avant de les traiter par XmlRepar, et ensuite vous devrez utiliser un gestionnaire d'archive pour reconstituer l'archive.

Bon tests, et merci pour vos éventuels retours. :wink:

A+
Dernière édition par Scrat le 20 Nov 2020 19:59, édité 4 fois.
Libre Office 6.0.7.3 Linux Mint 19.3 x64 (version des dépôts)
Libre Office 6.3.6.2 Linux Mint 19.3 x64 (version officielle en parallèle)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1965
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: Utilitaire de réparation de fichier ODF

Messagepar tintin » 20 Sep 2019 14:29

Bonjour Scrat,

J'ai installé et mis en pratique ce nouvel outil.

Utilitaire facile à utiliser et qui fournit directement le document réparé avec le nom qui va bien avec, en prime dans le dossier dédié, tout le contenu dont le content.xml initial et le content_repare.xml.

* Une remarque pour macOS
par double clic sur l'icône du fichier ODFRepar.jar
Sur macOS : première ouverture par clic droit en pressant sur la touche ctrl (pour surpasser la sécurité Gate Keeper qui empêche l'installation des applications non reconnues par App Store). Par la suite, le double clic fonctionne.

* Autre remarque – déjà faite pour ton ancien outil et concernant mon installation macOS – une fois le document réparé, je l'ai ouvert avec LibreOffice (car sur ma machine, c'est AOO qui est l'application déclarée par défaut) et reçu cette fenêtre
Capture d’écran 2019-09-20 à 15.01.07.png

J'accepte la réparation, le document s'ouvre.
Quand je le referme, j'ai cet autre message
Capture d’écran 2019-09-20 à 15.01.18.png

J'ai renouvelé la procédure d'ouverture avec ce même document test_recupODF_corrompu_repare, enregistré sous, renommé, et là le document s'ouvre à chaque fois normalement par double clic.

Idem avec OpenOffice.
Capture d’écran 2019-09-20 à 15.08.16.png
etc.
Ce n'est pas gênant, il suffit de le savoir et le résultat est là.

Bravo :bravo: :super:
AOO 4.1.8 et LibO 6.4.7.2 / macOS 10.15.7 Catalina.
AdoptOpenJDK_1.8.0_272 / Firefox / Thunderbird / Safari / Time Machine
Pour préserver vos documents, faites régulièrement des sauvegardes.
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
 
Message(s) : 7054
Inscrit le : 18 Juil 2008 16:29
Localisation : F-Oise + F-Savoie

Re: Utilitaire de réparation de fichier ODF

Messagepar Scrat » 20 Sep 2019 15:38

Bonjour tintin.

Merci pour tes retours. :)

C'est assez curieux cette demande de réparation avec la version Mac qui disparaît une fois qu'on a fait "Enregistrer sous". Mais ici, il y a peut-être une bonne raison, car cette toute première version de l'outil de réparation ODF n'enregistre pas tout dans le document réparé.

Si on analyse un document odt simple avec un gestionnaire d'archive, on voit quelques dossiers de la structure ODF qui ne contiennent rien, par exemple tous les sous-dossiers du dossier "Configurations2".

L'outil de réparation identifie tous les dossiers, y compris les dossiers vides, et il les extrait aussi. Par contre, lors de la reconstruction de l'archive à partir des éléments extraits et réparés, les dossiers vides ne sont pas inclus. Apparemment, l'absence des dossiers vides ne gêne pas LibreOffice, du moins ma version Linux, mais je recommande de faire immédiatement "Enregistrer sous" pour que le document retrouve sa structure ODF complète (c'est d'ailleurs ce que je fais systématiquement quand je répare un document sur le forum).

Une prochaine évolution de l'outil de réparation visera à inclure ces fameux dossiers vides lors de la reconstruction de l'archive de manière à mieux respecter la structure ODF d'origine. À bientôt pour la version 1.0.1... avec un tutoriel. :wink:

A+
Libre Office 6.0.7.3 Linux Mint 19.3 x64 (version des dépôts)
Libre Office 6.3.6.2 Linux Mint 19.3 x64 (version officielle en parallèle)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1965
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: Utilitaire de réparation de fichier ODF

Messagepar Scrat » 22 Sep 2019 19:30

Bonjour.

Première mise à jour en version 1.0.1 dans le premier message.

Cette nouvelle version reconstitue l'archive en incluant les dossiers éventuellement vides présents dans la structure ODF (tous les sous-dossiers du dossier Configurations2) qui étaient ignorés dans la première version.

En prime, j'ai ajouté un tutoriel au format pdf.

Bon tests. :wink:

A+
Libre Office 6.0.7.3 Linux Mint 19.3 x64 (version des dépôts)
Libre Office 6.3.6.2 Linux Mint 19.3 x64 (version officielle en parallèle)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1965
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: Utilitaire de réparation de fichier ODF

Messagepar tintin » 22 Sep 2019 20:23

Bonjour Scrat,

Comportement identique à celui décrit supra.

Rien de plus à dire à mon niveau si ce n'est qu'hier ton nouvel utilitaire m'a déjà permis de rendre un document réparé : viewtopic.php?f=35&t=61021&p=330912#p330912
et les explications fournies dans le tutoriel sont les bienvenues.

Cordialement
AOO 4.1.8 et LibO 6.4.7.2 / macOS 10.15.7 Catalina.
AdoptOpenJDK_1.8.0_272 / Firefox / Thunderbird / Safari / Time Machine
Pour préserver vos documents, faites régulièrement des sauvegardes.
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
 
Message(s) : 7054
Inscrit le : 18 Juil 2008 16:29
Localisation : F-Oise + F-Savoie

Re: Utilitaire de réparation de fichier ODF

Messagepar mapyar » 08 Jan 2020 23:36

bonjour
un grand grand MERCI pour cet utilitaire qui m'a permis de récupérer mon document.
c'est très simple et efficace
:bravo:
Libreoffice 5.2 sous Linux
mapyar
Fraîchement OOthentifié
 
Message(s) : 1
Inscrit le : 08 Jan 2020 23:32

Re: Utilitaire de réparation de fichier ODF

Messagepar Scrat » 20 Nov 2020 19:32

Bonjour.

Mise à jour en version 1.0.2 dans le premier message.

Cette mise à jour suit celle de l'utilitaire XmlRepar qui inclut une redéfinition des caractères autorisés dans les zones de texte selon les spécifications XML 1.0.

Cette mise à jour devrait améliorer la détection des caractères non autorisés.

Bon tests. ;)
Libre Office 6.0.7.3 Linux Mint 19.3 x64 (version des dépôts)
Libre Office 6.3.6.2 Linux Mint 19.3 x64 (version officielle en parallèle)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1965
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron


Retour vers Projets

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité