fonzarely/regine-photos-archiverpublic⑂ Fork 0
⑂ main
Commits
⬇ Clone ▾
git clone https://git.rickub.com/fonzarely/regine-photos-archiver.git
git clone ssh://git@rickub.com/fonzarely/regine-photos-archiver.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

import c7fd8a1 · on main · Fabien Champigny · 7d ago
lexique.md · 83 lines · 10.9 KBmarkdown
Blame HistoryOpen raw

Lexique Régine

Référence terminologique pour tous les docs du projet : ce que chaque terme désigne, pour éviter les ambiguïtés entre docs et dans le temps. Tout nouveau terme structurant introduit dans un doc devrait être répercuté ici.

1. Les quatre termes à ne pas confondre : dossier, sous-dossier, dossier parent, projet

C'est la distinction la plus importante du lexique — deux familles de concepts qui se ressemblent mais ne se recouvrent pas.

Terme Définition
dossier Unité créée à l'import d'une carte mémoire (import carte mémoire → archivage/NAS). Structure interne par format (raw/, jpeg/, tiff/...) + racine de sélection. C'est l'unité de checkout/réconciliation et de verrouillage.
sous-dossier Étape d'un dossier multi-parties (ex. une ville dans un voyage). A sa propre structure complète (dossiers de format + racine). Ne se checkout jamais isolément — toujours via son dossier parent.
dossier parent Dossier englobant plusieurs sous-dossiers. A sa propre racine, qui sert de planche-contact globale sur l'ensemble (ex. les meilleures photos de tout le voyage, pas juste d'une étape).
projet Répertoire de travail séparé, composé par copie de fichiers piochés dans un ou plusieurs dossiers de l'archive, pour un usage autonome (livre, expo, sélection thématique). Ne fait pas partie de la hiérarchie dossier / sous-dossier / dossier parent — c'est un objet en aval, indépendant. Chaque fichier copié est traçable vers son dossier d'origine via une fiche de provenance.

À retenir : dossier = comment les photos arrivent et sont archivées (immuable, structure de l'archive). projet = ce qu'on en fait ensuite pour produire quelque chose (mutable, composé par copie, ne touche jamais l'archive).

Piste ouverte, non tranchée : à terme, un projet pourrait ne conserver que les fichiers dérivés générés (JPEG, PDF) sans garder les copies RAW ayant servi à les produire — à trancher plus tard, voir archivage-photo-elements-cles.md section 13.

Point de vigilance : le mot "dossier" désigne aussi, dans les docs, les sous-répertoires par format à l'intérieur d'une unité (raw/, jpeg/, tiff/ — appelés "dossier de format"). Il porte donc deux niveaux de sens selon le contexte : le dossier Régine dans son ensemble, ou un dossier de format à l'intérieur. Désambiguïsé par le contexte partout où ça apparaît, mais à garder en tête en écrivant.

2. Structure et sélection

  • dossier de format — sous-répertoire créé à la demande selon les formats réellement présents (raw/, jpeg/, tiff/...). raw/ est une catégorie fonctionnelle regroupant toutes les extensions RAW, pas une extension unique.
  • racine — niveau (du dossier, du sous-dossier, ou du dossier parent) où vivent les fichiers sélectionnés/promus, prêt à être consulté directement sans outil.
  • promotion — action de faire remonter un fichier vers une racine. En deux temps pour un dossier parent : racine du sous-dossier d'abord, puis racine du dossier parent (planche-contact globale).
  • fiche de provenance — enregistrement créé au moment de la copie vers un projet : dossier source, identifiant pérenne du fichier, nom d'origine.
  • planche-contact — terme à trois sens proches, pas encore unifiés en un seul mot (2026-09-18) : (1) niveau de la hiérarchie de sélection, brut → sélection/planche-contact → édition finale ; (2) racine d'un dossier parent, servant de vue d'ensemble sur tout le voyage ; (3) export JPEG généré à la demande, montrant toutes les photos d'un dossier avec cadres (sélection) et étoiles (notation) superposés — cf. interface-cli-gui-architecture.md § Planche-contact JPEG annotée.
  • répertoire racine (archive) — premier niveau à la racine de l'archive NAS et, en miroir, de l'espace de travail local, sous lequel vit directement un dossier ou un dossier parent (2026-09-18) : soit un répertoire d'année (AAAA, cas par défaut), soit un répertoire de catégorie thématique. Un dossier ou dossier parent en a exactement un à la fois — cf. specs/004-categorisation-dossiers.
  • catégorie thématique — nom libre choisi par l'utilisateur (mariage, vacances, voyage, anniversaire au départ, liste extensible sans limite fixée) servant de répertoire racine alternatif au répertoire d'année, pour regrouper des dossiers/dossiers parents relevant d'un même type de projet indépendamment de leur année (2026-09-18) — cf. specs/004-categorisation-dossiers.

Point de vigilance : ne pas confondre répertoire racine (archive) (premier niveau année/catégorie, ce document) avec racine (niveau de sélection à l'intérieur d'un dossier, entrée précédente) — les deux emploient le mot « racine » mais désignent des niveaux différents de la hiérarchie. Désambiguïsé par le qualificatif « (archive) » dans les docs et specs qui en ont besoin.

3. Fichiers et intégrité

  • fichier maître — défini par son rôle, pas par son format : le fichier faisant autorité pour une capture, à conserver indéfiniment sans le modifier. RAW ou TIFF non compressé par défaut, mais aussi un JPEG quand c'est le seul fichier produit par l'appareil, ou même en mode RAW+JPEG quand le photographe juge le JPEG satisfaisant et ne garde le RAW que pour un usage secondaire (précisé le 2026-09-18, voir archivage-photo-elements-cles.md section 4).
  • dérivé — export de diffusion (JPEG, versions web, rendu final imprimable...), distinct d'un fichier maître par son rôle et non par son format — un export JPEG généré depuis un RAW reste un dérivé même quand un autre JPEG, ailleurs, fait office de fichier maître.
  • sidecar — fichier associé portant les réglages/métadonnées sans toucher au maître (.xmp, .dop, .acr).
  • checksum — empreinte de contenu (SHA-256 par défaut) utilisée pour détecter une corruption ou un renommage/déplacement.
  • hash image-only (ImageDataHash) — checksum portant uniquement sur les pixels, stable même quand les métadonnées d'un DNG/TIFF/JPEG changent.
  • manifeste — état de référence persistant (base SQLite) par dossier : chemin, taille, hash, identifiant pérenne de chaque fichier.
  • identifiant pérenne — identifiant indépendant du nom de fichier et du chemin, qui relie les versions d'une même image dans le temps.
  • scrub — vérification périodique et indépendante du checkout, qui recalcule les hash de l'archive pour détecter une corruption silencieuse (bit rot).
  • checkout — copie d'un dossier du NAS vers un espace de travail local, avec manifeste de référence.
  • réconciliation — comparaison des hash de la copie de travail au manifeste avant réarchivage, pour classer chaque changement (normal, anomalie, renommage, suppression, nouveau fichier).
  • réarchivage — écriture des changements validés depuis la copie de travail vers l'archive NAS.
  • anomalie — changement suspect (ex. hash d'un fichier maître modifié) : jamais archivé silencieusement, toujours signalé à l'utilisateur.
  • point avant archive — récapitulatif des changements classés que l'utilisateur valide avant toute écriture sur le NAS.

4. Métadonnées et standards photo

  • IPTC — standard de métadonnées photo (légende, mots-clés, droits...). Champs notables : Event (événement nommé) et Job Id / Transmission Reference (identifiant de mission/commande).
  • XMP — métadonnées intégrées au fichier.
  • XMP Media Management — sous-schéma XMP pour la traçabilité entre versions d'un même fichier (DocumentID, OriginalDocumentID, DerivedFrom).
  • EXIF — données techniques (appareil, objectif, exposition, date de prise de vue...).
  • profil de boîtiers — liste des appareils déclarée par l'utilisateur, modifiable à tout moment, utilisée pour désambiguïser les sources à l'import via le tag EXIF Model.
  • BodySerialNumber — tag EXIF de repli pour désambiguïser deux boîtiers identiques quand Model seul ne suffit pas.

5. Archivage numérique (standards externes, référence)

  • OAIS — cadre conceptuel : SIP (ce qui arrive, l'import carte mémoire), AIP (ce qui est conservé, l'archive NAS + manifeste), DIP (ce qui sort, la copie de travail locale).
  • BagIt — format de packaging avec preuve d'intégrité auto-portante (manifest-sha256.txt, bagit.txt, bag-info.txt).
  • PREMIS — vocabulaire normalisé pour décrire les événements de préservation (type, agent, horodatage, résultat).
  • NDSA Levels of Digital Preservation — grille d'auto-évaluation à 5 lignes × 4 niveaux pour situer la maturité d'un système d'archivage.

6. Architecture logicielle

  • bibliothèque centrale — porte toute la logique métier ; la CLI, la GUI et l'agent IA sont des façades minces au-dessus, sans logique dupliquée.
  • façade — CLI, GUI ou agent IA : chacune appelle la bibliothèque et formatte le résultat pour son canal.
  • module — metadata, archive, import, dossier, integrity, camera_profile : découpage de la bibliothèque par domaine de responsabilité.
  • action à risque / action sans risque — distingue ce qui modifie l'état persistant (écriture NAS, suppression, restauration → toujours confirmation explicite) de ce qui ne fait que consulter (recherche, prévisualisation → exécution directe).
  • point de pause — moment où l'agent IA (ou toute façade) attend une réponse explicite avant d'exécuter une action à risque.
  • mode consultation — navigation en lecture seule de l'archive NAS, sans checkout complet.

7. Hébergement et stockage (service cloud)

  • règle 3-2-1 — au moins 3 copies, sur 2 supports différents, dont 1 hors site. Précision du 2026-09-18 : le NAS local et le stockage cloud ne comptent que pour 2 copies, pas 3 — l'ordinateur du photographe ne garde que des checkouts partiels et temporaires (pas la totalité de l'archive), donc il ne compte pas comme copie. Il faut un troisième support : un disque de backup local (ex. disque USB), régulièrement synchronisé avec le NAS. NAS (copie 1, sur site) + disque de backup (copie 2, sur site, support différent) + cloud (copie 3, hors site) respectent alors la règle.
  • Multi-AZ / One Zone — classes de stockage Scaleway : Multi-AZ réplique sur plusieurs zones (résilience supérieure, ~2× le prix), One Zone ne réplique pas.
  • Glacier (froid) — classe de stockage à coût réduit pour des données rarement consultées, avec latence d'accès plus élevée.

Historique

Avant le 2026-09-18, les mots "projet" et "sous-projet" désignaient l'unité d'import/tri décrite ici sous "dossier"/"sous-dossier", et "projet" n'avait pas de sens distinct pour le concept de composition par copie (section 1 ci-dessus). Le renommage a été appliqué dans tous les docs du dépôt à cette date.

 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
83
# Lexique Régine

Référence terminologique pour tous les docs du projet : ce que chaque terme désigne, pour éviter les ambiguïtés entre docs et dans le temps. Tout nouveau terme structurant introduit dans un doc devrait être répercuté ici.

## 1. Les quatre termes à ne pas confondre : dossier, sous-dossier, dossier parent, projet

C'est la distinction la plus importante du lexique — deux familles de concepts qui se ressemblent mais ne se recouvrent pas.

| Terme | Définition |
|---|---|
| **dossier** | Unité créée à l'import d'une carte mémoire (import carte mémoire → archivage/NAS). Structure interne par format (`raw/`, `jpeg/`, `tiff/`...) + racine de sélection. C'est l'unité de checkout/réconciliation et de verrouillage. |
| **sous-dossier** | Étape d'un dossier multi-parties (ex. une ville dans un voyage). A sa propre structure complète (dossiers de format + racine). Ne se checkout jamais isolément — toujours via son dossier parent. |
| **dossier parent** | Dossier englobant plusieurs sous-dossiers. A sa propre racine, qui sert de planche-contact globale sur l'ensemble (ex. les meilleures photos de tout le voyage, pas juste d'une étape). |
| **projet** | Répertoire de travail **séparé**, composé par **copie** de fichiers piochés dans un ou plusieurs dossiers de l'archive, pour un usage autonome (livre, expo, sélection thématique). Ne fait pas partie de la hiérarchie dossier / sous-dossier / dossier parent — c'est un objet en aval, indépendant. Chaque fichier copié est traçable vers son dossier d'origine via une **fiche de provenance**. |

À retenir : **dossier** = comment les photos arrivent et sont archivées (immuable, structure de l'archive). **projet** = ce qu'on en fait ensuite pour produire quelque chose (mutable, composé par copie, ne touche jamais l'archive).

**Piste ouverte, non tranchée** : à terme, un projet pourrait ne conserver que les fichiers dérivés générés (JPEG, PDF) sans garder les copies RAW ayant servi à les produire — à trancher plus tard, voir `archivage-photo-elements-cles.md` section 13.

**Point de vigilance** : le mot "dossier" désigne aussi, dans les docs, les sous-répertoires par format à l'intérieur d'une unité (`raw/`, `jpeg/`, `tiff/` — appelés "dossier de format"). Il porte donc deux niveaux de sens selon le contexte : le dossier Régine dans son ensemble, ou un dossier de format à l'intérieur. Désambiguïsé par le contexte partout où ça apparaît, mais à garder en tête en écrivant.

## 2. Structure et sélection

- **dossier de format** — sous-répertoire créé à la demande selon les formats réellement présents (`raw/`, `jpeg/`, `tiff/`...). `raw/` est une catégorie fonctionnelle regroupant toutes les extensions RAW, pas une extension unique.
- **racine** — niveau (du dossier, du sous-dossier, ou du dossier parent) où vivent les fichiers sélectionnés/promus, prêt à être consulté directement sans outil.
- **promotion** — action de faire remonter un fichier vers une racine. En deux temps pour un dossier parent : racine du sous-dossier d'abord, puis racine du dossier parent (planche-contact globale).
- **fiche de provenance** — enregistrement créé au moment de la copie vers un projet : dossier source, identifiant pérenne du fichier, nom d'origine.
- **planche-contact** — terme à trois sens proches, pas encore unifiés en un seul mot (2026-09-18) : (1) niveau de la hiérarchie de sélection, brut → sélection/planche-contact → édition finale ; (2) racine d'un dossier parent, servant de vue d'ensemble sur tout le voyage ; (3) export JPEG généré à la demande, montrant toutes les photos d'un dossier avec cadres (sélection) et étoiles (notation) superposés — cf. `interface-cli-gui-architecture.md` § Planche-contact JPEG annotée.
- **répertoire racine (archive)** — premier niveau à la racine de l'archive NAS et, en miroir, de l'espace de travail local, sous lequel vit directement un dossier ou un dossier parent (2026-09-18) : soit un répertoire d'année (`AAAA`, cas par défaut), soit un répertoire de catégorie thématique. Un dossier ou dossier parent en a exactement un à la fois — cf. `specs/004-categorisation-dossiers`.
- **catégorie thématique** — nom libre choisi par l'utilisateur (mariage, vacances, voyage, anniversaire au départ, liste extensible sans limite fixée) servant de répertoire racine alternatif au répertoire d'année, pour regrouper des dossiers/dossiers parents relevant d'un même type de projet indépendamment de leur année (2026-09-18) — cf. `specs/004-categorisation-dossiers`.

**Point de vigilance** : ne pas confondre **répertoire racine (archive)** (premier niveau année/catégorie, ce document) avec **racine** (niveau de sélection à l'intérieur d'un dossier, entrée précédente) — les deux emploient le mot « racine » mais désignent des niveaux différents de la hiérarchie. Désambiguïsé par le qualificatif « (archive) » dans les docs et specs qui en ont besoin.

## 3. Fichiers et intégrité

- **fichier maître** — défini par son rôle, pas par son format : le fichier faisant autorité pour une capture, à conserver indéfiniment sans le modifier. RAW ou TIFF non compressé par défaut, mais aussi un JPEG quand c'est le seul fichier produit par l'appareil, ou même en mode RAW+JPEG quand le photographe juge le JPEG satisfaisant et ne garde le RAW que pour un usage secondaire (précisé le 2026-09-18, voir `archivage-photo-elements-cles.md` section 4).
- **dérivé** — export de diffusion (JPEG, versions web, rendu final imprimable...), distinct d'un fichier maître par son rôle et non par son format — un export JPEG généré depuis un RAW reste un dérivé même quand un autre JPEG, ailleurs, fait office de fichier maître.
- **sidecar** — fichier associé portant les réglages/métadonnées sans toucher au maître (`.xmp`, `.dop`, `.acr`).
- **checksum** — empreinte de contenu (SHA-256 par défaut) utilisée pour détecter une corruption ou un renommage/déplacement.
- **hash image-only (`ImageDataHash`)** — checksum portant uniquement sur les pixels, stable même quand les métadonnées d'un DNG/TIFF/JPEG changent.
- **manifeste** — état de référence persistant (base SQLite) par dossier : chemin, taille, hash, identifiant pérenne de chaque fichier.
- **identifiant pérenne** — identifiant indépendant du nom de fichier et du chemin, qui relie les versions d'une même image dans le temps.
- **scrub** — vérification périodique et indépendante du checkout, qui recalcule les hash de l'archive pour détecter une corruption silencieuse (bit rot).
- **checkout** — copie d'un dossier du NAS vers un espace de travail local, avec manifeste de référence.
- **réconciliation** — comparaison des hash de la copie de travail au manifeste avant réarchivage, pour classer chaque changement (normal, anomalie, renommage, suppression, nouveau fichier).
- **réarchivage** — écriture des changements validés depuis la copie de travail vers l'archive NAS.
- **anomalie** — changement suspect (ex. hash d'un fichier maître modifié) : jamais archivé silencieusement, toujours signalé à l'utilisateur.
- **point avant archive** — récapitulatif des changements classés que l'utilisateur valide avant toute écriture sur le NAS.

## 4. Métadonnées et standards photo

- **IPTC** — standard de métadonnées photo (légende, mots-clés, droits...). Champs notables : `Event` (événement nommé) et `Job Id` / `Transmission Reference` (identifiant de mission/commande).
- **XMP** — métadonnées intégrées au fichier.
- **XMP Media Management** — sous-schéma XMP pour la traçabilité entre versions d'un même fichier (`DocumentID`, `OriginalDocumentID`, `DerivedFrom`).
- **EXIF** — données techniques (appareil, objectif, exposition, date de prise de vue...).
- **profil de boîtiers** — liste des appareils déclarée par l'utilisateur, modifiable à tout moment, utilisée pour désambiguïser les sources à l'import via le tag EXIF `Model`.
- **`BodySerialNumber`** — tag EXIF de repli pour désambiguïser deux boîtiers identiques quand `Model` seul ne suffit pas.

## 5. Archivage numérique (standards externes, référence)

- **OAIS** — cadre conceptuel : SIP (ce qui arrive, l'import carte mémoire), AIP (ce qui est conservé, l'archive NAS + manifeste), DIP (ce qui sort, la copie de travail locale).
- **BagIt** — format de packaging avec preuve d'intégrité auto-portante (`manifest-sha256.txt`, `bagit.txt`, `bag-info.txt`).
- **PREMIS** — vocabulaire normalisé pour décrire les événements de préservation (type, agent, horodatage, résultat).
- **NDSA Levels of Digital Preservation** — grille d'auto-évaluation à 5 lignes × 4 niveaux pour situer la maturité d'un système d'archivage.

## 6. Architecture logicielle

- **bibliothèque centrale** — porte toute la logique métier ; la CLI, la GUI et l'agent IA sont des façades minces au-dessus, sans logique dupliquée.
- **façade** — CLI, GUI ou agent IA : chacune appelle la bibliothèque et formatte le résultat pour son canal.
- **module** — `metadata`, `archive`, `import`, `dossier`, `integrity`, `camera_profile` : découpage de la bibliothèque par domaine de responsabilité.
- **action à risque / action sans risque** — distingue ce qui modifie l'état persistant (écriture NAS, suppression, restauration → toujours confirmation explicite) de ce qui ne fait que consulter (recherche, prévisualisation → exécution directe).
- **point de pause** — moment où l'agent IA (ou toute façade) attend une réponse explicite avant d'exécuter une action à risque.
- **mode consultation** — navigation en lecture seule de l'archive NAS, sans checkout complet.

## 7. Hébergement et stockage (service cloud)

- **règle 3-2-1** — au moins 3 copies, sur 2 supports différents, dont 1 hors site. **Précision du 2026-09-18** : le NAS local et le stockage cloud ne comptent que pour 2 copies, pas 3 — l'ordinateur du photographe ne garde que des checkouts partiels et temporaires (pas la totalité de l'archive), donc il ne compte pas comme copie. Il faut un troisième support : un disque de backup local (ex. disque USB), régulièrement synchronisé avec le NAS. NAS (copie 1, sur site) + disque de backup (copie 2, sur site, support différent) + cloud (copie 3, hors site) respectent alors la règle.
- **Multi-AZ / One Zone** — classes de stockage Scaleway : Multi-AZ réplique sur plusieurs zones (résilience supérieure, ~2× le prix), One Zone ne réplique pas.
- **Glacier (froid)** — classe de stockage à coût réduit pour des données rarement consultées, avec latence d'accès plus élevée.

## Historique

Avant le 2026-09-18, les mots "projet" et "sous-projet" désignaient l'unité d'import/tri décrite ici sous "dossier"/"sous-dossier", et "projet" n'avait pas de sens distinct pour le concept de composition par copie (section 1 ci-dessus). Le renommage a été appliqué dans tous les docs du dépôt à cette date.