fonzarely/regine-photos-archiverpublic Fork
⑂ 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.

Download ZIP
tri raw/jpeg 02d8847 · on main · Fabien Champigny · Sep 22, 2026
quickstart.md · 71 lines · 5.6 KBmarkdown
Blame HistoryOpen raw

Quickstart : validation de l'interface graphique de tri et de consultation

Ce guide valide les 3 user stories de spec.md. Les commandes CLI (Principe CLI-first) sont exécutables et automatisables ; les scénarios GUI nécessitent un poste avec affichage graphique et sont à valider manuellement (cf. plan.md/research.md § 2 : pas de suite de tests automatisée pour la GUI elle-même dans cette itération).

Prérequis

  • regine-core/regine-cli installés ; pour la GUI, regine-gui installé avec sa dépendance PySide6.
  • Un dossier de travail local déjà checkouté (specs/005) ou fraîchement importé (specs/001), contenant au moins une paire RAW+JPEG et un fichier RAW seul, répartis dans raw//jpeg/.
  • Un contexte de travail configuré (specs/003) avec un archive_smb_path accessible, pour les scénarios de consultation.

Scénario 1 — Trier via la CLI (User Story 1, P1, Principe CLI-first)

regine dossier list ~/regine/local/2026-08-15_Sortie
regine dossier promote ~/regine/local/2026-08-15_Sortie/raw/2026-08-15_Sortie_RD0001.RAF
regine dossier list ~/regine/local/2026-08-15_Sortie

Résultat attendu : la première liste montre la paire RAW+JPEG RD0001 comme une seule entrée regroupée, non promue ; après promote, le RAW apparaît à la racine du dossier sur le système de fichiers et la seconde liste reflète son nouveau statut, sans toucher au JPEG jumeau.

Scénario 2 — Trier via la GUI (User Story 1, P1) — validation manuelle

regine-gui  # ou uv run python -m regine_gui.app, selon l'empaquetage retenu à l'implémentation

Résultat attendu : ouvrir le même dossier de travail affiche la même paire regroupée qu'au scénario 1 ; promouvoir/rétrograder depuis la GUI produit exactement le même effet sur le système de fichiers que les commandes CLI équivalentes (vérifiable par regine dossier list après coup) ; aucune suppression n'est possible directement depuis cet écran (FR-006).

Scénario 3 — Vue combinée d'un dossier parent de voyage (User Story 1, FR-004/005)

Résultat attendu : ouvrir un dossier parent (specs/004) dans la GUI affiche une vue combinant sa propre racine et celles de ses sous-dossiers/étapes, sans changement manuel de répertoire.

Scénario 4 — Consulter et restaurer via la CLI (User Story 2, P2)

regine archive browse --search "Montenegro"
regine archive restore \
  --chemin voyage/2026-08_Montenegro/2026-08-12_Kotor/raw/2026-08-12_Kotor_RD0001.RAF \
  --destination ~/Desktop/RD0001.RAF

Résultat attendu : browse liste les dossiers/photos correspondants sans rien copier localement ; restore copie une version vérifiée par somme de contrôle du fichier ciblé vers ~/Desktop/, sans checkout ni verrou du dossier entier (vérifiable : le dossier reste disponible pour un checkout normal ensuite, aucun verrou posé).

Scénario 5 — Consulter via la GUI (User Story 2, P2) — validation manuelle

Résultat attendu : le mode consultation de la GUI reproduit le même résultat que le scénario 4 ; aucune action d'écriture (promotion, suppression) n'est proposée dans cet écran (FR-010).

Scénario 6 — Archive momentanément inaccessible (User Story 2, Edge Case)

Résultat attendu : démonter le partage SMB configuré puis lancer regine archive browse (ou l'ouverture du mode consultation dans la GUI) déclenche l'assistance au montage déjà prévue par specs/003, plutôt qu'une erreur brute.

Scénario 7 — Importer une carte via la CLI (User Story 3, référence, specs/001-import-photos)

regine import ~/Volumes/CARTE_SD --titre "Sortie parc" --annee --yes \
  --archive-root ~/regine/archive --local-root ~/regine/local

Résultat attendu : un dossier AAAA-MM-JJ_Sortie_parc apparaît sous le répertoire de travail local, classé par format (raw//jpeg/...), fichiers renommés et vérifiés — rien n'apparaît sous l'archive (comportement révisé le 2026-09-22, cf. specs/001-import-photos) tant que regine reconcile ~/regine/archive/<AAAA>/AAAA-MM-JJ_Sortie_parc --local-dest ~/regine/local/<AAAA>/AAAA-MM-JJ_Sortie_parc n'a pas été lancé séparément. Sert ici de référence pour le scénario 8.

Scénario 8 — Importer une carte via la GUI (User Story 3, P3) — validation manuelle

regine-gui

Résultat attendu : dans l'onglet Import, sélectionner la même carte que le scénario 7 (sans qu'un partage SMB soit nécessairement monté, cf. Edge Case), suivre les mêmes étapes (répartition jour par jour, destination, titre, confirmation de la copie locale) puis valider ; la fenêtre reste utilisable pendant la publication locale (pas de gel, cf. research.md § 7). Le dossier local obtenu est strictement identique (même nom, mêmes fichiers renommés, même classement par format, cf. SC-007) à celui du scénario 7, et l'archive reste vide jusqu'à un regine reconcile explicite. Une collision de boîtier déclenchée pendant cet import (cf. specs/002-profil-boitiers-optionnel) doit présenter les mêmes options de résolution que la CLI (US3 Acceptance Scenario 5). Depuis le résultat de cet import, ouvrir le dossier obtenu dans l'onglet Tri doit fonctionner sans étape supplémentaire (US3 Acceptance Scenario 7).

Critères de sortie

Les 8 scénarios doivent produire le résultat attendu. Les scénarios CLI (1, 4, 6, 7) sont vérifiables sans intervention manuelle ; les scénarios GUI (2, 3, 5, 8) nécessitent une validation manuelle sur un poste avec affichage graphique, à consigner explicitement avant de considérer cette fonctionnalité prête.

 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
# Quickstart : validation de l'interface graphique de tri et de consultation

Ce guide valide les 3 user stories de `spec.md`. Les commandes CLI (Principe CLI-first) sont exécutables et automatisables ; les scénarios GUI nécessitent un poste avec affichage graphique et sont à valider manuellement (cf. `plan.md`/research.md § 2 : pas de suite de tests automatisée pour la GUI elle-même dans cette itération).

## Prérequis

- `regine-core`/`regine-cli` installés ; pour la GUI, `regine-gui` installé avec sa dépendance PySide6.
- Un dossier de travail local déjà checkouté (`specs/005`) ou fraîchement importé (`specs/001`), contenant au moins une paire RAW+JPEG et un fichier RAW seul, répartis dans `raw/`/`jpeg/`.
- Un contexte de travail configuré (`specs/003`) avec un `archive_smb_path` accessible, pour les scénarios de consultation.

## Scénario 1 — Trier via la CLI (User Story 1, P1, Principe CLI-first)

```bash
regine dossier list ~/regine/local/2026-08-15_Sortie
regine dossier promote ~/regine/local/2026-08-15_Sortie/raw/2026-08-15_Sortie_RD0001.RAF
regine dossier list ~/regine/local/2026-08-15_Sortie
```

**Résultat attendu** : la première liste montre la paire RAW+JPEG `RD0001` comme une seule entrée regroupée, non promue ; après `promote`, le RAW apparaît à la racine du dossier sur le système de fichiers et la seconde liste reflète son nouveau statut, sans toucher au JPEG jumeau.

## Scénario 2 — Trier via la GUI (User Story 1, P1) — validation manuelle

```bash
regine-gui  # ou uv run python -m regine_gui.app, selon l'empaquetage retenu à l'implémentation
```

**Résultat attendu** : ouvrir le même dossier de travail affiche la même paire regroupée qu'au scénario 1 ; promouvoir/rétrograder depuis la GUI produit exactement le même effet sur le système de fichiers que les commandes CLI équivalentes (vérifiable par `regine dossier list` après coup) ; aucune suppression n'est possible directement depuis cet écran (FR-006).

## Scénario 3 — Vue combinée d'un dossier parent de voyage (User Story 1, FR-004/005)

**Résultat attendu** : ouvrir un dossier parent (`specs/004`) dans la GUI affiche une vue combinant sa propre racine et celles de ses sous-dossiers/étapes, sans changement manuel de répertoire.

## Scénario 4 — Consulter et restaurer via la CLI (User Story 2, P2)

```bash
regine archive browse --search "Montenegro"
regine archive restore \
  --chemin voyage/2026-08_Montenegro/2026-08-12_Kotor/raw/2026-08-12_Kotor_RD0001.RAF \
  --destination ~/Desktop/RD0001.RAF
```

**Résultat attendu** : `browse` liste les dossiers/photos correspondants sans rien copier localement ; `restore` copie une version vérifiée par somme de contrôle du fichier ciblé vers `~/Desktop/`, sans checkout ni verrou du dossier entier (vérifiable : le dossier reste disponible pour un checkout normal ensuite, aucun verrou posé).

## Scénario 5 — Consulter via la GUI (User Story 2, P2) — validation manuelle

**Résultat attendu** : le mode consultation de la GUI reproduit le même résultat que le scénario 4 ; aucune action d'écriture (promotion, suppression) n'est proposée dans cet écran (FR-010).

## Scénario 6 — Archive momentanément inaccessible (User Story 2, Edge Case)

**Résultat attendu** : démonter le partage SMB configuré puis lancer `regine archive browse` (ou l'ouverture du mode consultation dans la GUI) déclenche l'assistance au montage déjà prévue par `specs/003`, plutôt qu'une erreur brute.

## Scénario 7 — Importer une carte via la CLI (User Story 3, référence, `specs/001-import-photos`)

```bash
regine import ~/Volumes/CARTE_SD --titre "Sortie parc" --annee --yes \
  --archive-root ~/regine/archive --local-root ~/regine/local
```

**Résultat attendu** : un dossier `AAAA-MM-JJ_Sortie_parc` apparaît sous le répertoire de travail local, classé par format (`raw/`/`jpeg/`...), fichiers renommés et vérifiés — **rien n'apparaît sous l'archive** (comportement révisé le 2026-09-22, cf. `specs/001-import-photos`) tant que `regine reconcile ~/regine/archive/<AAAA>/AAAA-MM-JJ_Sortie_parc --local-dest ~/regine/local/<AAAA>/AAAA-MM-JJ_Sortie_parc` n'a pas été lancé séparément. Sert ici de référence pour le scénario 8.

## Scénario 8 — Importer une carte via la GUI (User Story 3, P3) — validation manuelle

```bash
regine-gui
```

**Résultat attendu** : dans l'onglet Import, sélectionner la même carte que le scénario 7 (sans qu'un partage SMB soit nécessairement monté, cf. Edge Case), suivre les mêmes étapes (répartition jour par jour, destination, titre, confirmation de la copie locale) puis valider ; la fenêtre reste utilisable pendant la publication locale (pas de gel, cf. research.md § 7). Le dossier local obtenu est strictement identique (même nom, mêmes fichiers renommés, même classement par format, cf. SC-007) à celui du scénario 7, et l'archive reste vide jusqu'à un `regine reconcile` explicite. Une collision de boîtier déclenchée pendant cet import (cf. `specs/002-profil-boitiers-optionnel`) doit présenter les mêmes options de résolution que la CLI (US3 Acceptance Scenario 5). Depuis le résultat de cet import, ouvrir le dossier obtenu dans l'onglet Tri doit fonctionner sans étape supplémentaire (US3 Acceptance Scenario 7).

## Critères de sortie

Les 8 scénarios doivent produire le résultat attendu. Les scénarios CLI (1, 4, 6, 7) sont vérifiables sans intervention manuelle ; les scénarios GUI (2, 3, 5, 8) nécessitent une validation manuelle sur un poste avec affichage graphique, à consigner explicitement avant de considérer cette fonctionnalité prête.