Skip to content

Explorateur de repertoires distant et local pour les schedules#2

Merged
Aerya merged 1 commit into
masterfrom
feature/directory-browser
Jun 17, 2026
Merged

Explorateur de repertoires distant et local pour les schedules#2
Aerya merged 1 commit into
masterfrom
feature/directory-browser

Conversation

@Aerya

@Aerya Aerya commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Resume

Ajoute la possibilite de parcourir et selectionner un dossier depuis le formulaire d'edition d'un schedule, au lieu de saisir le chemin manuellement.

  • Host Directory : un bouton Browse ouvre une modale qui parcourt le serveur FTP/SFTP distant (navigation dans les sous-dossiers, remontee via ..). S'appuie sur la nouvelle methode HostService.browseDirectory et l'endpoint GET /api/v2/host/{id}/directories. L'hote selectionne dans la liste deroulante est utilise pour la connexion.
  • Local Directory : un bouton Browse parcourt le volume monte dans le conteneur. La racine est /download par defaut (configurable via davos.local.downloadRoot) et la navigation y est confinee pour ne pas exposer le reste du systeme de fichiers. S'appuie sur le nouveau LocalFileService et l'endpoint GET /api/v2/browse/local.

Details techniques

  • Refactorisation : extraction de buildClient(HostModel) dans HostServiceImpl, reutilisee par testConnection et browseDirectory.
  • Seuls les sous-dossiers sont listes (tries, sans ./..), puisque les schedules ne ciblent que des repertoires.
  • Cote UI : modale partagee + module JavaScript browser. Les noms de dossiers sont inseres comme texte (et non du HTML) pour eviter toute injection via un nom de dossier distant.
  • Le Dockerfile declare desormais le volume /download ; le README documente le docker run correspondant.
  • Le workflow CI compile aussi le projet sur les pull requests (sans publier l'image), ce qui valide la compilation avant le merge.

Version passee a 2.3.0.

Permet de parcourir et selectionner un dossier directement depuis le
formulaire d'edition d'un schedule, au lieu de saisir le chemin a la main :

- Host Directory : parcourt le serveur FTP/SFTP distant via une nouvelle
  methode HostService.browseDirectory et l'endpoint
  GET /api/v2/host/{id}/directories.
- Local Directory : parcourt le volume monte dans le conteneur (racine
  /download par defaut, configurable via davos.local.downloadRoot) via le
  nouveau LocalFileService et l'endpoint GET /api/v2/browse/local. La
  navigation est confinee a cette racine.

Ajoute une modale de navigation et le module JavaScript associe (noms de
dossiers inseres comme texte pour eviter toute injection HTML), declare le
volume /download dans le Dockerfile, documente l'usage et fait compiler la
CHaine CI sur les pull requests sans publier l'image.

Passe la version a 2.3.0 et met a jour le changelog.
@Aerya Aerya merged commit ac8dce8 into master Jun 17, 2026
1 check passed
@Aerya Aerya deleted the feature/directory-browser branch June 17, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant