Documentation

Créer, vérifier et restaurer une archive

L'archive .obf d'un projet, compression et chiffrement, vérification, restauration sans rien écraser.

Une archive .obf est un paquet qui contient tout le dossier d’un projet, compressé, éventuellement chiffré, accompagné de son inventaire (le manifeste) et d’une signature. C’est la copie que vous garderez, répliquerez et restaurerez. Le format est décrit au chapitre Le format .obf.

L’écran Archives (groupe Préserver) liste les archives rangées dans le dossier des archives, la plus récente en premier. Son chemin est affiché sous le titre ; l’icône de dossier l’ouvre dans le Finder.

Par défaut, c’est le dossier Archives de la bibliothèque, sur le disque du Mac. Pour écrire les archives sur un autre disque (un disque externe, un NAS), choisissez un autre dossier dans Réglages › Général › Dossier des archives : une archive sur un autre disque que les originaux est une vraie copie distincte. Les archives déjà créées restent où elles sont. Si ce disque n’est pas branché, l’écran Archives le signale et Vault refuse d’archiver : il ne recrée jamais ce dossier ailleurs.

L’écran Archives : trois archives, dont une chiffrée (badge « Chiffrée ») et une révision incrémentale (marques « Incrémentale » et « Restaurable », ligne « Chaîne : 1 → 2 »), avec leur ligne « fichiers · taille · zstd · date · Obscura Vault », leur verdict « Vérifiée » et les boutons Vérifier et Restaurer…

La liste se parcourt au clavier : les flèches sélectionnent une archive, et dans le menu Fichier, Vérifier une archive… (⌥⌘V) et Restaurer une archive… agissent sur l’archive sélectionnée ; sans sélection, ils demandent le dossier d’une archive. Le clic droit (ou VoiceOver) ouvre les actions de la ligne.

Créer une archive

Créer une archive demande une licence.

  1. Dans Archives, cliquez sur Créer une archive….
  2. Choisissez le Projet.
  3. Choisissez le Format : zstd (par défaut), tar.gz, tar (sans compression) ou zip.
  4. Sauf pour tar, choisissez la Compression : Rapide, Équilibrée (par défaut) ou Maximale.
  5. Cochez Chiffrer l’archive (AES-256-GCM) si vous voulez que son contenu ne soit lisible qu’avec votre clé de chiffrement.
  6. Choisissez la Révision : Complète (par défaut) ou Incrémentale (voir Révisions incrémentales).
  7. Cliquez sur Créer l’archive.

La feuille « Créer une archive » : Projet, Format zstd, Compression Équilibrée, case « Chiffrer l’archive (AES-256-GCM) » cochée, Révision Complète, et l’avertissement sur la clé de chiffrement

Vault travaille en trois étapes, affichées dans un bandeau : Empreintes, compression et signature…, puis Vérification de l’archive écrite…, puis Indexation des fichiers archivés…. Pendant la première, la ligne dit ce qui avance : « Empreintes des fichiers : 120 sur 480 », puis « Écriture de l’archive : 1,2 Go écrits, pour 4 Go de fichiers source » (la taille finale dépend de la compression), puis « Chiffrement : … sur … » pour une archive chiffrée. Vous pouvez Arrêter pendant la première étape ; au-delà de deux minutes, Vault demande confirmation.

L’opération en cours (archivage, import, audit, vérification, transfert) est aussi rappelée dans la barre d’outils, quel que soit l’écran affiché : son menu permet de l’arrêter. Quitter Vault pendant l’une d’elles demande confirmation (« Une opération est en cours »), et le Mac ne se met pas en veille tant qu’elle tourne.

À la fin :

  • Archive créée et vérifiée : l’archive a été relue aussitôt écrite, sa signature et l’empreinte de son contenu sont conformes ;
  • Révision incrémentale créée et vérifiée : la même chose pour une révision incrémentale ; le bandeau rappelle de quelle révision elle part ;
  • Archive créée et vérifiée, en révision complète : vous aviez choisi Incrémentale, mais Vault a fait une révision complète, et le bandeau dit pourquoi (voir plus bas) ;
  • Archive créée, mais la vérification a échoué : l’archive écrite ne se vérifie pas ; ne vous y fiez pas, voir Dépannage.

L’archive contient les fichiers du projet, sous-dossiers et dossiers vides compris, tels qu’ils sont au moment de l’archivage : exactement ceux que liste son manifeste. Les liens symboliques n’y entrent pas (ni eux ni leur cible), pas plus que les fichiers système ignorés à l’import (.DS_Store, .git…). Elle est signée par la clé de signature de cette installation, créée automatiquement à la première archive. La clé de chiffrement est créée, elle, à la première archive chiffrée.

Chiffrement : la clé de chiffrement est dans le trousseau de ce Mac. Exportez-la (Clés d’archives…) et rangez-la à part : sans elle, une archive chiffrée ne peut pas être restaurée ailleurs. Voir Clés et sécurité.

Chaque nouvelle archive d’un même projet est une nouvelle révision : Mariage Dupont-v1, puis Mariage Dupont-v2… Une nouvelle archive ne remplace jamais une archive existante, et ne reprend jamais le numéro d’une révision supprimée du dossier : Vault se souvient des révisions vérifiées, indexées ou envoyées hors site.

Avant de commencer, Vault vérifie que le disque des archives a la place d’accueillir l’archive : la taille du projet, le double pour une archive chiffrée, plus une marge. Sinon il refuse, sans rien écrire, et dit combien il faut et combien il reste.

Conseil : lancez un audit du projet (chapitre 4) avant de l’archiver. L’archive prend les fichiers tels qu’ils sont sur le disque ; l’audit vous dit s’ils sont encore ceux de l’import.

Archivage interrompu

Si Vault est quitté ou s’arrête pendant un archivage, ou si l’archivage échoue, l’écran affiche en tête de liste « Archivage interrompu : projet » (ou « Archivage en échec »). Aucune archive incomplète n’a été gardée : un paquet n’apparaît dans le dossier qu’une fois complet.

  • Relancer recommence l’archivage de ce projet avec les réglages choisis au départ : même format, même compression, même type de révision (complète ou incrémentale) et, pour une archive chiffrée, chiffrée. Si ces réglages n’ont pas été enregistrés (archivage commencé avec une version précédente), Relancer ouvre la feuille Créer une archive… pour que vous les choisissiez.
  • Oublier retire la ligne.

Révisions incrémentales

Une révision Complète recopie tout le projet. Une révision Incrémentale ne contient que les fichiers ajoutés ou modifiés depuis la révision précédente du projet, plus l’inventaire signé de tout le projet (la liste de tous ses fichiers et de leurs empreintes, y compris ceux qui n’ont pas changé). Elle prend moins de place et part plus vite hors site, mais elle ne se restaure qu’avec toute sa chaîne : la dernière révision complète, puis chaque révision incrémentale jusqu’à elle, toutes rangées dans le même dossier. Complète reste le choix par défaut : une révision complète ne dépend de rien d’autre.

Quand vous choisissez Incrémentale, la feuille dit sur quelle révision la nouvelle s’appuiera, ou pourquoi elle sera faite complète.

La feuille « Créer une archive » avec la Révision Incrémentale choisie : l’explication de la révision incrémentale et le message « Elle s’appuiera sur la révision 2 »

Vault fait une révision complète à la place, et le dit dans le bandeau final (« Révision faite complète : … »), quand :

  • le projet n’a encore aucune révision dans le dossier des archives, ou la précédente n’y est plus ;
  • la révision précédente ne se vérifie pas (signature ou inventaire), ou sa chaîne est incomplète dans le dossier des archives ;
  • la chaîne compte déjà 10 révisions incrémentales depuis la dernière révision complète : une restauration dépend ainsi de 11 paquets au plus ;
  • la révision précédente est une révision incrémentale d’Obscura Flow, qui n’a pas d’inventaire : ses fichiers supprimés ne sont pas connus, et rien d’exact ne peut s’appuyer sur elle.

Dans la liste, une révision incrémentale porte la marque Incrémentale (Incrémentale (Obscura Flow) pour une révision d’Obscura Flow, sans inventaire), et sa chaîne est affichée sous ses détails, de la révision complète à elle : « Chaîne : 1 → 2 → 3 ». Une révision de la chaîne absente du dossier y est notée « (absente) », une révision qui n’y est pas vérifiée intacte « (non intacte ici) ». Une seconde marque dit si elle se restaure à partir du dossier des archives :

  • Restaurable : toutes les révisions de sa chaîne y sont intactes ;
  • Restaurable par fusion : de même, mais c’est une révision d’Obscura Flow sans inventaire, dont la chaîne est fusionnée à la restauration (voir plus bas) ;
  • Non restaurable : son propre paquet est intact, mais pas toute sa chaîne. Survolez la marque pour savoir quelle révision l’en empêche.

VoiceOver lit la chaîne et son statut en une phrase.

Une révision dont dépend une révision incrémentale ne peut pas être retirée de l’endroit où elles sont gardées toutes deux (voir Comprendre les verdicts). Si vous supprimez à la main, dans le Finder, une révision du dossier des archives, Vault s’en aperçoit à la relecture de la liste : il la note introuvable, et les révisions qui en dépendent deviennent Non restaurable dans ce dossier.

Vérifier une archive

Vérifier une archive est gratuit et ne relit pas la bibliothèque : Vault contrôle seulement l’archive.

  • Pour une archive de la liste, cliquez sur Vérifier sur sa ligne.
  • Pour une archive rangée ailleurs (un disque externe, une archive d’Obscura Flow), cliquez sur Vérifier… en haut de l’écran et choisissez le dossier de l’archive (il contient manifest.json et signature.ed25519).

Vault contrôle que :

  1. le manifeste et la signature sont présents ;
  2. la signature correspond au manifeste, avec la clé de cette installation ou une clé de confiance ;
  3. le fichier de contenu est présent et son empreinte SHA-256 est celle que le manifeste annonce.

Le résultat s’affiche dans un bandeau (Archive vérifiée, Archive non conforme ou Archive non vérifiable) et sous l’archive dans la liste : « Vérifiée le … », Non conforme (…), Non vérifiable (…) ou Jamais vérifiée. Survolez le verdict pour son détail. Chaque vérification est enregistrée ; voir Comprendre les verdicts.

Restaurer une archive

Restaurer est gratuit.

  1. Cliquez sur Restaurer… sur la ligne de l’archive (ou Restaurer… en haut de l’écran pour une archive rangée ailleurs, puis choisissez son dossier).
  2. Choisissez le dossier où restaurer, puis Restaurer ici.

Les fichiers sont restaurés dans un nouveau sous-dossier du nom de l’archive (par exemple Mariage Dupont-v2/). Si un dossier de ce nom existe déjà à cet endroit, Vault demande :

  • Restaurer dans un nouveau dossier (le choix par défaut) : Mariage Dupont-v2-2/, -3…, sans toucher au dossier existant ;
  • Compléter le dossier existant : seuls les fichiers manquants sont ajoutés, aucun fichier présent n’est écrasé, et ceux qui diffèrent de l’archive sont signalés. Utile pour réparer une restauration incomplète.

Le dossier Archives de la bibliothèque, et tout dossier situé dans une archive .obf, sont refusés comme destination : les fichiers restaurés s’y mêleraient aux paquets (et partiraient hors site avec eux).

Si le dossier choisi est celui d’un projet, ou se trouve dedans, Vault le dit avant d’écrire quoi que ce soit : à la prochaine réanalyse, les fichiers restaurés y seraient importés comme de nouveaux originaux. Choisissez plutôt un dossier hors des projets, ou confirmez avec Restaurer quand même.

Vault :

  1. vérifie l’archive avant d’extraire quoi que ce soit : une archive qui ne passe pas la vérification est refusée (« Restauration refusée : l’archive n’a pas passé la vérification ») ;
  2. déchiffre le contenu si l’archive est chiffrée, avec la première clé connue qui l’ouvre ;
  3. extrait les fichiers sans jamais écraser un fichier déjà présent : un fichier qui existe déjà est laissé intact ; un chemin qui sortirait du dossier choisi (lien symbolique) est refusé ;
  4. relit chaque fichier restauré et compare son empreinte à celle du manifeste.

Le bandeau final dit combien de fichiers ont été restaurés, combien étaient déjà présents, et si tous correspondent au manifeste (Archive restaurée) ou non (Archive restaurée, avec des écarts, avec la liste des fichiers en cause).

Restaurer une révision incrémentale

Une révision incrémentale, marquée Incrémentale dans la liste (survolez la marque pour savoir de quelle révision elle part), ne contient que les fichiers ajoutés ou modifiés depuis sa révision de base. Vault en crée (voir Révisions incrémentales), Obscura Flow aussi ; Vault les lit et les vérifie comme les autres archives.

Vault ne restaure jamais une révision incrémentale seule : vous obtiendriez un projet incomplet sans le savoir. Restaurer… reconstitue le projet tel qu’il était à cette révision à partir de sa chaîne : la révision complète dont tout part, puis chaque révision incrémentale jusqu’à celle-ci.

  • Toutes les révisions de la chaîne doivent être dans le même dossier que celle que vous restaurez (le dossier des archives, ou le dossier où vous l’avez rangée), 10 révisions incrémentales au plus depuis la révision complète.
  • Chacune est vérifiée avant que rien ne soit écrit : signature, inventaire, contenu, et clé de déchiffrement si elle est chiffrée. Si une révision manque, est altérée, signée par une clé inconnue ou ne s’ouvre avec aucune clé de ce Mac, la restauration est refusée avec le bandeau Chaîne de révisions incomplète : restauration refusée, qui nomme la révision en cause. Rien n’est restauré, pas même en partie.
  • Le projet est reconstitué dans un dossier caché, vérifié fichier par fichier (empreinte et taille), puis il apparaît d’un coup sous le nom de la révision. Un fichier supprimé entre deux révisions ne revient pas. Compléter le dossier existant ajoute seulement les fichiers qui manquent, sans rien écraser ni effacer.
  • Le bandeau final dit de quelles révisions le projet a été reconstitué.

Une révision incrémentale d’Obscura Flow n’a pas d’inventaire : Vault ne sait pas quels fichiers ont été supprimés entre deux de ses révisions. Avant de commencer, le bandeau Révision incrémentale d’Obscura Flow : confirmer la restauration prévient : « Les fichiers supprimés entre deux révisions d’Obscura Flow ne sont pas connus : ils seront restaurés. » Restaurer quand même fusionne alors la chaîne : la version la plus récente de chaque fichier l’emporte, et chaque fichier est vérifié contre la révision qui l’a fourni. Le résultat, Archive restaurée par fusion (Obscura Flow), n’est pas une reproduction exacte du projet.

Pour récupérer seulement les fichiers de cette révision :

  1. Cliquez sur l’icône Extraire seulement les fichiers de cette révision… sur sa ligne, dans le menu contextuel, ou sous un bandeau de refus.
  2. Choisissez un dossier, puis Extraire ici.

Les fichiers sont extraits dans un nouveau sous-dossier nommé pour ce qu’il est, <archive>-fichiers-modifies (par exemple Mariage Dupont-v3-fichiers-modifies/, -2, -3… si le nom est pris), avec les mêmes garanties qu’une restauration : archive vérifiée avant d’extraire, aucun fichier existant écrasé, chaque fichier relu et comparé au manifeste. Le bandeau Fichiers de la révision extraits dit combien de fichiers ont été extraits et rappelle que ce n’est pas le projet complet. L’extraction est notée au journal d’audit sous son propre nom (« Fichiers d’une révision extraits »).

Les clés

Le bouton Clés d’archives… ouvre la gestion des clés d’archives : exporter la clé de signature et la clé de chiffrement de cette installation, importer les clés d’Obscura Flow. Tout est expliqué au chapitre Clés et sécurité.