Guides

RAR vs 7z quand l'archive est endommagée

RAR peut embarquer un registre de récupération qui répare les dommages sur place jusqu'à sa propre taille ; 7z n'en embarque aucun et écrit son répertoire en dernier, si bien qu'une fin tronquée est souvent fatale — et la réparation qui restaure un registre de récupération est une fonction payante qu'aucun outil open source ne reproduit.

Le filet de sécurité intégré de RAR : le registre de récupération

La seule vraie différence entre RAR et 7z quand les choses tournent mal, c'est que RAR peut embarquer sa propre trousse de réparation. À la création d'une archive, WinRAR peut ajouter un registre de récupération : des données redondantes supplémentaires dont l'unique tâche est de reconstruire plus tard les parties endommagées de l'archive. Dans le format moderne RAR5, cette redondance utilise la correction d'erreursReed-Solomon, la même famille de mathématiques qui protège les CD et les codes QR.

La règle générale est simple : un registre de récupération répare les dommages sur place jusqu'à environ sa propre taille. Ajoutez un registre de récupération de 3 % et vous pourrez réparer à peu près 3 % des octets endommagés de l'archive. C'est idéal pour la panne courante où le stockage retourne ou écrase une bande d'octets sans changer la longueur du fichier : les octets corrompus restent où ils sont, le registre fournit les valeurs correctes, et WinRAR reconstruit l'archive sur place.

Un registre de récupération RAR répare les dommages sur place jusqu'à environ sa propre taille — la corruption qui retourne ou écrase des octets sans changer la longueur du fichier.

Le hic, c'est ce qu'il ne peut pas faire. Un registre de récupération corrige les dommages qui restent en position. Il est inutile contre les insertions et suppressions : si des octets sont ajoutés ou retirés, chaque octet situé après ce point se décale, l'alignement du registre se rompt et la correction échoue. Il ne peut pas non plus aider si le dommage dépasse la capacité du registre, ou si l'archive a été créée sans registre de récupération du tout, ce qui est le cas par défaut. Quantité de fichiers RAR dans la nature n'ont aucun registre sur lequel se rabattre.

7z n'a pas de filet de sécurité, et sa disposition aggrave les choses

7z compresse bien, souvent mieux que RAR, mais il n'embarque aucun registre de récupération. Il n'existe pas d'option de redondance intégrée, si bien que tout octet endommagé est un octet sans sauvegarde. Cela seul rendrait déjà 7z plus fragile ; la disposition de son fichier aggrave le problème.

Une archive 7z écrit son répertoire, l'en-tête qui liste chaque fichier, sa taille et l'emplacement de ses données, à la findu fichier. C'est efficace à écrire, mais cela signifie que la carte dont vous avez besoin pour donner un sens à l'archive est la dernière chose sur le disque. La corruption la plus courante dans le monde réel, un téléchargement interrompu ou tronqué, emporte la fin d'abord. Perdez la fin d'un 7z et vous perdez souvent le répertoire, et sans le répertoire l'archive peut être difficile à interpréter tout court, alors même que la majorité des données compressées y demeure intacte.

7z conserve son répertoire à la fin, si bien qu'un téléchargement tronqué tend à supprimer précisément la carte nécessaire pour lire les entrées qui ont survécu.

C'est l'image miroir du registre de récupération de RAR : non seulement aucune redondance, mais une structure où la corruption la plus courante frappe la partie la plus importante. Cela ne fait pas de 7z un mauvais format, sa compression est un vrai avantage, mais cela signifie bien qu'un 7z endommagé a moins d'options intégrées qu'un RAR endommagé.

L'extraction par sauvetage fonctionne dans les deux formats

Quand la réparation n'est pas envisageable, aucun registre de récupération sur le RAR, aucun répertoire sur le 7z, il reste le sauvetage. Les deux formats stockent les données compressées de chaque fichier comme une unité identifiable, si bien qu'un outil peut parcourir l'archive, trouver les entrées dont les données sont intactes et décompresser celles-ci individuellement, même quand l'archive dans son ensemble refuse de s'ouvrir.

En pratique, cela signifie une récupération partielle : « 38 fichiers sur 44 extraits » plutôt que du tout ou rien. Une archive avec une région endommagée livre les fichiers stockés avant elle et, souvent, les fichiers suivants dont les données commencent proprement au-delà du dommage. C'est le même principe qui rend les ZIP endommagés partiellement récupérables, et c'est en général le résultat réaliste pour un 7z qui a perdu son répertoire : les entrées sont toujours là, à extraire une à une. Pour le versant ZIP de la question, voyez réparer un ZIP corrompu et l'erreur propre à Windows « le dossier compressé n'est pas valide ».

Là où le sauvetage s'épuise : archives solides et chiffrées

Le sauvetage a des limites strictes, et deux d'entre elles décident de la plupart des issues.

Les archives solides perdent tout ce qui suit le dommage

RAR comme 7z peuvent être solides : des fichiers compressés comme un seul flux continu pour que les fichiers ultérieurs réutilisent des données antérieures, ce qui améliore le taux. Le prix, c'est que la décompression est strictement séquentielle, pour atteindre un fichier vous décodez tout ce qui le précède. Quand la corruption interrompt le flux, le décodeur ne peut pas continuer au-delà du point défectueux, si bien que chaque fichier situé après le dommage devient inaccessible alors même que ses octets sont physiquement sur le disque. Les fichiers antérieurs au dommage ressortent quand même ; tout ce qui vient ensuite reste bloqué. Une archive non solide évite cela parce que chaque fichier se tient tout seul.

Les archives chiffrées réclament d'abord le mot de passe

Si l'archive est chiffrée, rien de tout cela ne se produit sans le mot de passe. Le sauvetage comme la réparation par registre de récupération opèrent sur des données qu'ils peuvent lire, et les entrées chiffrées sont illisibles tant qu'elles ne sont pas déchiffrées. Un registre de récupération peut toujours réparer les octets chiffrés sur place, et le sauvetage peut toujours identifier les entrées, mais reconvertir quoi que ce soit en vos fichiers exige le mot de passe. Aucun outil de réparation ne contourne le chiffrement ; c'est précisément le but du chiffrement.

Pourquoi les outils de navigateur font du sauvetage, pas de la réparation par registre de récupération

Voici la ligne honnête que la plupart des pages « réparer un RAR en ligne » brouillent. Appliquer réellement un registre de récupération Reed-Solomon, l'opération qui répare un RAR endommagé sur place, est une fonction deWinRAR payant. Aucune bibliothèque open source ne la reproduit. Ainsi, quand un outil de navigateur ou un utilitaire gratuit dit qu'il « répare » un RAR, ce qu'il fait réellement, dans presque tous les cas, c'est du sauvetage : lire l'archive et extraire les entrées dont les données survivent.

Cette distinction compte pour ajuster les attentes. Si votre RAR a un registre de récupération et des dommages sur place dans les limites de sa capacité, la propre fonction « Réparer l'archive » de WinRAR est l'outil qui peut vraiment le reconstruire, et elle vaut la peine d'être essayée en premier. S'il n'y a pas de registre de récupération, ou si le dommage est une troncature, une insertion ou une suppression, alors la réparation n'est disponible chez personne et le sauvetage est la voie réaliste, ce qui est exactement ce que peut faire un outil de navigateur, sans que l'archive quitte votre machine.

L'ordre pratique est donc le suivant : si c'est un RAR avec un registre de récupération, laissez WinRAR tenter sa réparation. Sinon, que ce soit du RAR ou du 7z, tournez-vous vers l'extraction par sauvetage et récupérez les entrées intactes. Aucune des deux approches n'invente des données qui ne sont pas dans le fichier ; toutes deux tirent simplement le meilleur parti de ce qui y est.

FAQ

RAR ou 7z, lequel est meilleur pour récupérer une archive endommagée ?

Pour survivre aux dommages, RAR a l'avantage, car les archives RAR5 peuvent embarquer un registre de récupération Reed-Solomon qui répare automatiquement une quantité limitée de dommages sur place. 7z n'a pas d'équivalent : il ne stocke aucune redondance, et il écrit son répertoire tout à la fin du fichier, si bien qu'un téléchargement tronqué emporte souvent l'archive entière. Pour le pur taux de compression, 7z l'emporte fréquemment, mais c'est une question différente de celle de survivre à la corruption.

Qu'est-ce qu'un registre de récupération RAR et jusqu'où peut-il réparer ?

C'est une redondance facultative que WinRAR peut ajouter à la création d'une archive, au moyen de la correction d'erreurs Reed-Solomon dans RAR5. Il répare les dommages sur place, les octets retournés ou écrasés, jusqu'à environ la taille du registre lui-même : un registre de récupération de 3 % peut réparer à peu près 3 % de dommages. Il est puissant contre la corruption qui ne change pas la longueur du fichier, et inutile contre les insertions ou les suppressions, qui décalent chaque octet suivant et rompent l'alignement.

Peut-on récupérer des fichiers d'une archive 7z corrompue ?

Parfois, par sauvetage plutôt que par réparation. Si la corruption se trouve à mi-parcours, un outil peut souvent extraire les entrées stockées avant la région endommagée, car les données compressées de chaque entrée sont décodables à elles seules. Ce qui casse un 7z, c'est de perdre la fin du fichier, là où réside le répertoire qui liste chaque entrée, ou d'avoir une archive solide dont les données chaînées cessent de se décoder au premier octet défectueux. Il n'y a de registre de récupération sur lequel se rabattre dans aucun des deux cas.

Pourquoi une archive solide perd-elle tout ce qui suit le dommage ?

Dans une archive solide, les fichiers sont compressés comme un seul flux continu pour que les fichiers ultérieurs puissent référencer des données antérieures, ce qui améliore le taux. Le prix, c'est que la décompression est séquentielle : pour atteindre un fichier, il faut décoder tout ce qui le précède. Quand la corruption interrompt le flux, le décodeur ne peut pas la dépasser, si bien que chaque fichier situé après le point de dommage devient inaccessible même si ses octets sont physiquement présents. Les fichiers antérieurs au dommage ressortent généralement quand même.

Les outils dans le navigateur réparent-ils les registres de récupération RAR ?

Non, et il faut douter de tous ceux qui le prétendent. Appliquer réellement un registre de récupération Reed-Solomon pour réparer une archive est une fonction de WinRAR payant qu'aucune bibliothèque open source ne reproduit. Ce que font les outils de navigateur et open source, c'est du sauvetage : extraire les entrées intactes et décoder ce qui survit. C'est réellement utile, mais c'est une opération différente de la réparation par registre de récupération, et il est honnête de l'appeler par son nom.

Lecture complémentaire : est-il sûr de téléverser vos fichiers vers un outil de réparation en ligne ?