Data Model: Interface graphique de tri et de consultation
Entités dérivées de spec.md § Key Entities et Functional Requirements.
Fichier de dossier
Un fichier individuel au sein d'un dossier de travail local (US1).
| Champ | Type | Règles |
|---|---|---|
chemin |
chemin absolu | Toujours à l'intérieur du dossier ouvert (dossier de format ou racine) |
chemin_relatif |
chemin relatif au dossier | Sert à déterminer s'il est promu (racine, un seul segment) ou non (dans un sous-dossier de format) |
extension |
texte | Détermine le dossier de format attendu (raw/jpeg/tiff, cf. research.md § 4) |
nom_base |
texte | Nom hors extension, sert à apparier RAW et JPEG jumeaux (même valeur) |
est_promu |
booléen | Dérivé de chemin_relatif (un seul segment = à la racine du dossier), jamais stocké séparément |
Entrée regroupée
Représentation à l'écran d'une capture (spec.md § Key Entities). Purement une vue construite à la volée à partir des Fichiers de dossier partageant le même nom_base — ne modifie jamais leur relation sur le système de fichiers, jamais persistée.
| Champ | Type | Règles |
|---|---|---|
nom_base |
texte | Clé de regroupement |
fichiers |
liste de Fichier de dossier | Tous les fichiers maîtres partageant nom_base — pas limité à deux champs figés raw/jpeg |
Règle : le cas RAW+JPEG jumeau (FR-002) n'est qu'un cas particulier d'un principe plus général — un fichier maître sans jumeau (RAW seul, JPEG seul, scan TIFF isolé) forme une entrée regroupée à un seul membre, pas un cas à part. Correction par rapport à la conception initiale : un modèle à deux champs fixes fichier_raw/fichier_jpeg ne représentait pas correctement un scan TIFF ou un format maître marginal (ex. BMP) isolé, qui n'est ni un RAW ni un JPEG — généralisé en une liste dès l'implémentation.
Dossier de travail (vue combinée)
Racine locale ouverte en tri/culling (US1), avec ses dossiers de format et, le cas échéant, ses sous-dossiers (dossier parent de voyage, specs/004).
| Champ | Type | Règles |
|---|---|---|
chemin_racine |
chemin absolu | Racine du dossier (ou du dossier parent) ouvert |
dossiers_format_presents |
liste de texte | Détectés à l'ouverture (créés à la demande, jamais une liste figée — docs/archivage-photo-elements-cles.md section 10) |
sous_dossiers |
liste de « Dossier de travail », vide si dossier simple | Un sous-dossier a sa propre structure complète (Edge Case : structure non reconnue si absente) |
Action de promotion/rétrogradation
Commande appliquée à un Fichier de dossier (US1, FR-003). N'existe que comme événement, pas comme entité stockée.
| Champ | Type | Règles |
|---|---|---|
fichier |
Fichier de dossier | Cible unique, jamais une paire entière d'un coup (FR-003) |
sens |
énumération : promotion | retrogradation |
Détermine le chemin final (racine, ou dossier de format d'origine déduit de l'extension) |
Effet : un déplacement physique (rename) au sein du même dossier, hash inchangé (Principe I/III) — aucune trace supplémentaire à écrire ; retrouvé nativement par regine_core.archive.reconciliation.comparer à la prochaine réconciliation (specs/005), sans code dédié ici.
Vue de consultation
Navigation en lecture seule de l'archive (US2, spec.md § Key Entities).
| Champ | Type | Règles |
|---|---|---|
archive_root_local |
chemin absolu | Point de montage local du partage SMB configuré (réutilise regine_core.config.smb.chemin_local_du_partage, specs/003) |
requete |
texte, optionnel | Filtre par nom de dossier, date, ou texte de titre (US2 FR-008) |
Aucune écriture : cette vue ne crée ni manifeste ni verrou (Assumptions de spec.md) — une simple lecture du système de fichiers de l'archive.
Restauration ciblée
Résultat d'une restauration d'un fichier repéré en consultation (US2, FR-009).
| Champ | Type | Règles |
|---|---|---|
chemin_source |
chemin absolu (dans l'archive) | Fichier repéré via la Vue de consultation |
chemin_destination |
chemin absolu (local) | Choisi par l'utilisateur ; refuse d'écraser un fichier existant de contenu différent (FR-012, Edge Case) |
hash_verifie |
booléen | DOIT être vrai avant de considérer la restauration réussie (SC-004) |
Assistant d'import (onglet, US3)
État d'écran de l'onglet d'import — purement une vue sur les entités déjà définies par specs/001-import-photos (FichierCandidat, GroupeImport, DestinationChoisie, réutilisées telles quelles depuis regine_core.import_carte.types, jamais redéfinies ici) ; ne persiste rien de nouveau, aucune table supplémentaire.
| Champ | Type | Règles |
|---|---|---|
carte |
chemin absolu | Support source sélectionné par l'utilisateur (US3 Acceptance Scenario 1) |
fichiers |
liste de FichierCandidat |
Résultat de copier_carte (déjà copiés et vérifiés en local, cf. specs/001 FR-001) |
groupes |
liste de GroupeImport |
Résultat de decouper_en_groupes, éventuellement ajusté par detacher_jours (US3 Acceptance Scenario 2) |
groupe_courant |
GroupeImport | None |
Groupe en cours de traitement (destination, titre, confirmation) ; None une fois tous les groupes traités |
resume_avant_ecriture |
preparer_resume(...) (déjà défini par specs/001) |
Affiché et confirmé explicitement avant tout appel à publier_localement (US3 Acceptance Scenario 4, FR-015) |
Effet d'un import confirmé : identique à celui de la CLI — classement par format (classer_par_format), attribution d'identifiants, puis publication dans l'espace de travail local (publier_localement), sans étape supplémentaire propre à la GUI. Révision 2026-09-22 : plus aucune écriture sur l'archive NAS à ce stade (archiver/publier_copie_locale supprimées côté specs/001) — l'archivage devient une action distincte et ultérieure (regine reconcile), hors périmètre de cet écran (cf. Assumptions de spec.md).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|