Le Centre de transfert copie ou déplace le contenu d’une source vers une destination. C’est le seul écran de l’application qui écrit sur vos disques, et il ne le fait qu’après un plan que vous avez lu et une confirmation que vous avez validée.
Le parcours est toujours le même :
Options ──► Plan (simulé ou réel) ──► Confirmation ──► Exécution ──► Rapport
│
└──► Interruption ──► RepriseL’exécution n’est atteignable que depuis la confirmation d’un plan réel. Une simulation ne s’exécute jamais.
Ouvrir le Centre de transfert sur une source
Un transfert part d’une source déjà analysée. On l’ouvre depuis la fin d’une analyse, avec le bouton « Transférer « nom de la source »… » de l’Assistant de scan (voir chapitre 3), ou directement depuis la barre latérale.
Ouvert depuis la barre latérale sans transfert en préparation, le Centre de transfert affiche « Aucun transfert en préparation » puis la liste des sources déjà analysées — leur nom, leur nombre de fichiers et le chemin où elles sont montées (ou « Chemin inconnu : le volume de la source n’est pas joignable ») — chacune avec un bouton « Préparer un transfert ». Ce bouton ouvre les options pour cette source sans relancer d’analyse : le plan part de l’inventaire de la dernière analyse. Si une source a changé depuis, relancez d’abord son analyse (seuls les fichiers nouveaux ou modifiés sont relus) : l’Assistant reprend les types et exclusions de sa dernière analyse ; un XMP inventorié la première fois l’est encore ; s’il diffère, le récapitulatif le signale.
En haut de l’écran : « Source : nom » et le chemin où la source est actuellement montée.
Le Centre de transfert ouvert sur une source : aucune destination encore, « Choisir… » ouvre le panneau de choix de dossier.
1. Les options
La carte « Options du transfert » : destination choisie, mode, stratégie de collision, simulation ou plan réel.
La carte « Options du transfert » contient :
- « Destination » et le bouton « Choisir… » : choisissez un dossier existant (« Dossier de destination du transfert »). Le panneau ne crée pas de dossier ; créez-le au préalable dans le Finder si besoin.
- « Mode » : « Copier » (par défaut ; les sources restent en place) ou « Déplacer » (copie vérifiée, puis retrait des sources).
- « Collision », ce qui se passe si un fichier du même nom existe déjà à la destination :
| Stratégie | Effet |
|---|---|
| « Comparer (COMPARE) » — par défaut | Contenus identiques : rien à faire, le fichier est ignoré. Contenus différents : l’opération est mise en revue et n’est pas exécutée. Jamais d’écrasement, jamais de renommage automatique. |
| « Ignorer (SKIP) » | Le fichier déjà présent est laissé tel quel ; la source n’est pas copiée. |
| « Renommer (RENAME) » | La copie reçoit un suffixe _2, _3… avant l’extension. Un contenu identique déjà présent est ignoré, pas dupliqué. |
| « Remplacer (REPLACE) » | Le fichier présent est remplacé, seulement si vous cochez « Je consens au remplacement des fichiers existants : l’ancienne version ira à la Corbeille. » Un contenu identique déjà présent est ignoré : rien ne part à la Corbeille. Deux fichiers de la source qui ne diffèrent que par la casse (Photo.tif, photo.tif) ne se remplacent jamais l’un l’autre : le second est mis en revue. |
Changer de stratégie retire le consentement au remplacement : il ne se reporte jamais sur une autre stratégie. Avec « Remplacer (REPLACE) », les boutons de calcul restent grisés tant que la case de consentement n’est pas cochée (« Le plan se calcule une fois le consentement donné. »).
Le premier suffixe de « Renommer » est _2 : la copie est le deuxième exemplaire du nom, comme dans le Finder (IMG_0002.jpg → IMG_0002_2.jpg).
La destination doit exister au moment du plan, et ne peut être ni dans la source analysée, ni la contenir, ni être la source elle-même. Sinon le plan n’est pas créé : « Destination introuvable » (disque débranché, dossier à créer), « Destination et source se recouvrent » ou « La destination est la source ».
- En mode « Déplacer », le devenir des sources :
- si la suppression définitive est désactivée dans les Réglages (cas par défaut), l’écran indique : « Les sources seront mises à la Corbeille après vérification de leur copie. La suppression définitive est désactivée dans les Réglages. » ;
- si elle est autorisée, un choix « Sources » propose « Mettre les sources à la Corbeille » ou « Supprimer définitivement les sources ». Ce second choix exige de cocher « Je consens à la suppression définitive des sources de ce transfert, une fois leur copie vérifiée. »
Ce qui est transféré. Tous les fichiers inventoriés et présents de la source, en conservant l’arborescence de la source sous le dossier de destination. Un fichier principal et ses compagnons (RAW et son XMP, par exemple) forment une unité : ils partent ensemble ou pas du tout, quelle que soit la stratégie. Les décisions du Centre de revue filtrent le plan : un fichier marqué « doublon » (alors qu’un master présent existe) n’est ni copié ni déplacé, et reste en place dans la source, même en mode Déplacer. Le plan l’annonce sur la ligne « Exclus par la revue (restent dans la source) », et la confirmation le répète. Un groupe que vous n’avez pas revu, ou que vous avez ignoré, est transféré en entier ; un fichier « à décider » est transféré. Un RAW exclu garde son XMP avec lui, dans la source.
Ce que le plan ne porte pas, et le dit. Sous les comptes du plan, une ligne d’avertissement par cas : les dossiers non lisibles à la dernière analyse de la source (« N dossier(s) non lisible(s) à la dernière analyse : chemin. Leur contenu n’est pas dans ce plan. »), les fichiers hors des règles de la dernière analyse (« N fichier(s) hors des règles de la dernière analyse, non planifié(s) : ils restent dans la source. »), et les fichiers situés dans une bibliothèque Photos, Lightroom… (« N fichier(s) dans une bibliothèque (Photos, Lightroom…), jamais transféré(s) : ils restent dans la source. »). Avant de reformater un disque déplacé, vérifiez qu’aucune de ces lignes n’apparaît.
Attention : un fichier que l’analyse n’a pas inventorié — type non coché à l’étape 2 (XMP, vidéos, PDF…) ou dossier exclu à l’étape 3 — n’est pas transféré. Avant de consolider une source, vérifiez que l’analyse couvrait tous les types que vous voulez emporter. L’application ne propose pas de modèle de chemin (par exemple ranger par année) ; la ligne de commande le permet (
obscura plan --template, voir chapitre 8).
Deux boutons :
- « Simuler (dry run) » : calcule le plan sans rien pouvoir exécuter.
- « Calculer le plan » : calcule un plan réel, exécutable après confirmation.
Ils restent grisés tant qu’aucune destination n’est choisie (et, avec REPLACE, tant que le remplacement n’est pas consenti). Pendant le calcul : « Simulation du plan… » ou « Calcul du plan… ». Calculer un plan ne transfère rien : l’application lit la source et la destination, et n’écrit que dans le catalogue.
Une simulation : le plan est calculé et affiché, mais il ne peut pas être exécuté.
2. Le plan
Le plan réel : les comptes par catégorie, puis la liste des opérations, chemin source → chemin de destination.
La carte s’intitule « Simulation — rien ne sera exécuté » ou « Plan réel ». Elle affiche « Destination finale : … » et les comptes :
| Ligne | Sens |
|---|---|
| À copier / À déplacer | Opérations qui seront exécutées |
| Ignorés | Rien à faire (stratégie SKIP, ou contenu identique déjà présent) |
| Conflits | Opérations dont la destination était occupée, avec la décision de collision prise |
| En revue (non exécutés) | Contenus différents ou groupe partiellement présent : jamais exécutés sans votre décision |
| À écrire | Volume de données à copier |
Dessous, la liste des opérations : « source → destination », leur statut (« À copier », « À déplacer », « Ignoré », « En revue »), le conflit éventuel et sa raison, par exemple « contenu identique déjà présent (SHA-256) » ou « contenu différent déjà présent à destination : IMG_0042.CR2 ». Pour un grand plan, seules les 200 premières opérations sont lues et listées (« Premières opérations (200 sur N) ») ; les comptes portent sur tout le plan. Le plan, son affichage et son exécution ne gardent jamais toutes les opérations en mémoire : un fonds d’un million de fichiers se planifie et se transfère avec la mémoire d’un fonds de cent mille.
Boutons :
- « Modifier les options » revient aux options ;
- après une simulation, « Créer le plan réel » : calcule le plan réel avec les mêmes options et le compare à la simulation :
- « Identique à la simulation : le plan réel fera exactement ce que la simulation annonçait. »
- « Différent de la simulation : la source ou la destination ont changé depuis. Relisez le plan avant de confirmer. »
- pour un plan réel, « Vérifier et confirmer… » ouvre la confirmation.
Espace disque. En calculant le plan, l’application vérifie que la destination a assez de place : le volume à écrire plus une marge de 5 % de ce volume, au moins 64 Mio (67,1 Mo) et au plus 1 Gio (1,07 Go). Un petit transfert vers une carte ou une clé presque pleine est donc possible dès que la carte offre le volume à écrire plus 67,1 Mo. Sinon : « Espace insuffisant à destination », avec les trois nombres dans la même unité que le Finder (« Le plan demande 17,1 Mo, plus une marge de 67,1 Mo… »), aucun plan n’est gardé et rien n’est écrit sur la destination.
3. La confirmation
La confirmation : ce qui sera écrit, sa réversibilité, et l’espace récupérable et libéré, avant « Exécuter le plan ».
La carte « Confirmation » résume ce qui va être fait — « N fichiers · X Go seront copiés vers … » (ou « seront déplacés » ; au singulier, « sera copié ») — puis une ligne par nature d’opération, classée par réversibilité :
| Réversibilité | Exemples de lignes |
|---|---|
| « Réversible » | « N fichier(s) copié(s), sources conservées » ; « N fichier(s) existant(s) remplacé(s) — l’ancienne version va à la Corbeille » |
| « Réversible tant que la Corbeille n’est pas vidée » | « N source(s) déplacée(s) puis mise(s) à la Corbeille » |
| « Irréversible » | « N source(s) supprimée(s) définitivement après vérification » |
Suivent les mesures d’espace, selon le devenir des sources :
- une copie ne retire rien : aucune ligne d’espace ;
- un déplacement vers la Corbeille : « Espace récupérable » — « Sources d’un déplacement. Mises à la Corbeille, elles occupent encore le disque jusqu’à ce que vous la vidiez ; l’application ne la vide jamais. » — et « Espace libéré », à zéro : « Seules les suppressions définitives libèrent de l’espace à l’exécution. » ;
- une suppression définitive : « Espace libéré » seulement — « Sources supprimées définitivement après vérification de leur copie : l’espace est libéré à l’exécution. » Rien n’y est dit « récupérable » : rien ne va à la Corbeille.
Si le plan contient des opérations en revue, la confirmation l’annonce : « 1 opération en revue ne sera pas exécutée : photos/IMG_0002.jpg (contenu différent déjà présent à destination : IMG_0002.jpg). Elle reste en place ; replanifiez après décision. » (au pluriel : « k opérations en revue ne seront pas exécutées ») Les trois premières sont nommées.
Si le plan contient une suppression définitive, un avertissement rouge s’affiche (« Irréversible : … Rien ne permettra de les retrouver. ») et vous devez cocher « Je reconnais que cette opération est irréversible. » Le bouton d’exécution prend alors la forme du bouton irréversible, avec le nombre de fichiers et le volume affichés dans le bouton.
Boutons : « Revenir au plan » (la reconnaissance est oubliée) et « Exécuter le plan ». Ce dernier est grisé si le plan n’a rien à faire, ou tant que l’irréversibilité n’est pas reconnue.
4. L’exécution
L’écran affiche « Exécution en cours », puis « N / M opérations traitées » et un pourcentage dès que le total est connu (avant : « Préparation : lecture du plan… »).
Pour chaque fichier, l’application :
- écrit la copie sous un nom temporaire
.obscura-partsur le disque de destination ; - calcule l’empreinte SHA-256 des octets lus pendant la copie, puis relit la copie sur le disque pour la vérifier ;
- ne donne son nom final à la copie qu’une fois vérifiée ;
- pour un déplacement, ne retire la source (Corbeille ou suppression définitive) qu’après vérification de toutes les copies de son unité, et seulement si la source est encore celle qui a été copiée : même taille, même date de modification, même fichier sur le même disque. Avant une suppression définitive, la source est en plus relue en entier et comparée à l’empreinte de sa copie.
Chaque étape est inscrite au journal avant d’être effectuée.
Avant la première écriture, l’application vérifie que le disque monté à la destination est celui du plan (son identifiant de volume), pas seulement un disque du même nom : sinon le transfert s’arrête, « Volume indisponible », sans rien écrire.
Si un fichier d’une unité ne peut recevoir son nom final (un fichier du même nom est apparu entre-temps, par exemple), toute l’unité est défaite — le RAW ne reste jamais sans son XMP — et le transfert continue avec les fichiers suivants.
Si une source a été modifiée depuis sa copie (un logiciel a réécrit un tag, par exemple), ou si sa copie a disparu de la destination, la source n’est pas retirée : elle reste en place, l’Activité le signale (« source(s) conservée(s) : retrait refusé »), et le transfert continue.
Il n’existe pas de bouton de pause ou d’annulation d’un transfert dans la version actuelle. Pendant l’exécution :
- quitter (⌘Q, menu « Quitter ») ouvre une alerte : « Quitter interrompra le travail en cours », avec le nombre d’opérations déjà traitées. Le bouton par défaut est « Annuler » (le transfert continue) ; « Quitter quand même » l’interrompt — rien n’est perdu, il vous sera proposé à la reprise au prochain lancement ;
- fermer la fenêtre ne quitte pas l’application : le transfert continue sans fenêtre. Rouvrez-la en cliquant sur l’icône du Dock ;
- la mise en veille par inactivité du Mac est retenue jusqu’à la fin du transfert. Fermer le capot ou mettre le Mac en veille vous-même reste possible : le transfert est alors interrompu, et se reprend.
5. Interruption et reprise
Si le disque de destination se remplit ou si un volume disparaît (disque débranché), le transfert s’arrête proprement. L’écran affiche :
- « Disque de destination plein », « Volume indisponible » ou « Transfert interrompu » ;
- « Transfert interrompu (cause) : détail » ;
- « Rien ne reprend sans vous. La reprise lit le journal, défait l’opération restée ouverte, puis relance le plan : ce qui est déjà vérifié n’est pas recopié. »
Libérez de la place ou rebranchez le disque, puis cliquez sur « Reprendre » (l’écran affiche « Reprise en cours »). Ou « Revenir aux options » : rien n’est effacé, le journal garde l’opération ouverte.
La reprise ne touche qu’au transfert repris, jamais aux copies faites depuis par un autre plan. Si le disque source n’est pas branché au moment de la reprise, un retrait de source resté en suspens n’est pas tenu pour fait : il sera refait quand le disque sera rebranché et le transfert relancé.
Le Centre de transfert ouvert sur un transfert interrompu lors d’une session précédente : rien ne reprend avant « Reprendre ».
Si le disque source n’est pas branché quand vous cliquez sur « Reprendre », rien n’est lu ni écrit : le transfert reste interrompu (« Volume indisponible ») et toujours proposé ; rebranchez le disque, puis « Reprendre » de nouveau.
Après une relance de l’application, un transfert interrompu est signalé dès l’écran d’accueil — le Tableau de bord affiche « 1 transfert à reprendre » et un bouton « Ouvrir le Centre de transfert » — ainsi que par l’écran Activité (« À reprendre »). Le Centre de transfert s’ouvre sur lui : « Transfert interrompu lors d’une session précédente », la destination (« Destination : … ») et les comptes du plan (« 9 opération(s) au plan · 9 copie(s) »), puis « Reprendre ». Si le disque source n’est pas branché, l’en-tête indique « Chemin inconnu : le volume de la source n’est pas joignable ». Détails au chapitre 10.
6. Le rapport
Le rapport d’un transfert repris après interruption : 13 fichiers transférés et vérifiés, 1 déjà vérifié avant la panne et non recopié, le manifeste à la destination.
La carte « Rapport » donne :
| Ligne | Sens |
|---|---|
| Fichiers transférés et vérifiés | Copies écrites et vérifiées lors de cette exécution |
| Déjà vérifiés (non recopiés) | Fichiers qu’une exécution précédente avait déjà vérifiés |
| En échec | Opérations qui n’ont pas abouti |
| Sources mises à la Corbeille | Déplacement vers la Corbeille seulement |
| Sources supprimées définitivement | Suppression définitive seulement |
| Anciennes versions remplacées (Corbeille) | Stratégie REPLACE seulement |
| Opérations en revue, non exécutées | À traiter par vous |
Puis les mesures d’espace, selon les mêmes règles que la confirmation.
« Fichiers non consolidés » : chaque fichier en échec, par son chemin dans la source, avec sa cause en clair — par exemple « lecture refusée (permissions du fichier ou du dossier) » pour un fichier que macOS ne laisse pas lire, « source modifiée ou disparue depuis l’analyse », « nom de destination déjà occupé », « annulé avec son groupe (fichier lié en échec) » pour le XMP d’un RAW qui n’a pas pu être copié — et un bouton « Afficher dans le Finder ». Les cent premiers sont nommés ; au-delà, « … et N autres : le manifeste et l’Activité les nomment ». L’Activité nomme aussi les trois premiers (« 1 en échec (illisible.jpg (SOURCE_PERMISSION_DENIED)) »).
« Sources conservées faute de Corbeille — à supprimer manuellement » : sur un disque sans Corbeille (lecture seule, certains formats), un déplacement ne peut pas mettre la source à la Corbeille. L’application ne la supprime pas pour autant : la source est conservée intacte et listée ici. L’opération devient une simple copie.
« Nouveau transfert » revient aux options.
Le manifeste
Chaque transfert exécuté depuis l’application écrit un manifeste dans le dossier de destination :
<destination>/.obscura-manifests/<identifiant du plan>/manifest.jsonLe rapport affiche « Manifeste : chemin » et le bouton « Afficher dans le Finder ». Le manifeste est un fichier JSON lisible qui décrit le transfert : l’application qui l’a produit et sa version, la date, la source, la destination, le mode, et pour chaque fichier son chemin d’origine, son chemin de destination, l’opération, son statut, son empreinte SHA-256, sa taille, la date de vérification et le devenir de la source. Un fichier non transféré y porte sa raison exacte : SOURCE_PERMISSION_DENIED (lecture refusée), SOURCE_DRIFT (source modifiée ou disparue depuis l’analyse), DESTINATION_OCCUPIED, GROUP_ABORTED… Il permet de retrouver, des années plus tard, d’où vient chaque fichier de l’archive. Il est écrit avant que le transfert ne soit marqué terminé. Le dossier .obscura-manifests est ignoré par les analyses si la destination redevient un jour une source.