FEAT: Configuration du stockage par l'IHM — providers Fichier local + S3 (2 modes) #78
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#78
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
L'exigence produit : deux modes de stockage — « Fichier » (disque local) et « S3 » — tous deux configurables visuellement depuis l'IHM (pas d'env vars ni d'édition manuelle). L'enum
StorageProvider(Local=0, S3=1) existe mais aucun provider n'est implémenté et rien n'est configurable en UI.Référence spec
Phase 4 — stockage objets ;
StorageProvider(Domain/Enums/StorageProvider.cs).État actuel (vérifié)
StorageProvider.Local/StorageProvider.S3: enum seule, inutiliséeIStorageProvider, pas deLocalStorageProviderniAlarikStorageProvider(ticket #7)ALARIK_ENDPOINT,S3_ENDPOINT) : non exposées en UISettingsPage.razor: CRUD clé/valeur brut, aucune section stockage dédiéeÀ faire
storage) :storage.provider(Local|S3),storage.local.path,storage.s3.endpoint,storage.s3.bucket,storage.s3.accessKey,storage.s3.secretKey(secret, jamais retourné en clair),storage.s3.region,storage.s3.useSslIStorageProvider+LocalStorageProvider(upload atomique, batch delete) +AlarikStorageProvider(S3) — brancher sur les settings DB, pas envStorageSettingsSection) — sélecteur de provider (Local/S3), champs selon le provider, bouton « Tester la connexion », badge de santéStorageProviderde l'entité → config globale)Critères d'acceptation
Fichiers concernés
src/Heimdall.Infrastructure/Storage/(nouveaux providers)src/Heimdall.Infrastructure/Services/(remplacement S3/upload)src/Heimdall.Web/Components/Pages/SettingsPage.razor(+ composant section)src/Heimdall.Application/Settings/(seed des clés storage.*)