diff --git a/src/HeartTrackAPI/AppBootstrap.cs b/src/HeartTrackAPI/AppBootstrap.cs index 1ec07d1..7724886 100644 --- a/src/HeartTrackAPI/AppBootstrap.cs +++ b/src/HeartTrackAPI/AppBootstrap.cs @@ -101,32 +101,37 @@ public class AppBootstrap(IConfiguration configuration) return options; });*/ } - - public void testDir() + static void ListDirectoryTree(string path, string indent) { - var dirPath = @"/"; - - // Créez une instance de DirectoryInfo - DirectoryInfo d = new DirectoryInfo(dirPath); - - // Obtenez les fichiers et les dossiers - FileInfo[] Files = d.GetFiles(); // Obtenez la liste des fichiers - DirectoryInfo[] Directories = d.GetDirectories(); // Obtenez la liste des dossiers - - // Affichez les fichiers - Console.WriteLine("Fichiers:"); - foreach(FileInfo file in Files ) + try { - Console.WriteLine($"{file.Name}"); - } + // Liste tous les dossiers d'abord + foreach (var directoryPath in Directory.GetDirectories(path)) + { + DirectoryInfo directory = new DirectoryInfo(directoryPath); + Console.WriteLine($"{indent}|- {directory.Name}"); + ListDirectoryTree(directoryPath, indent + " "); + } - // Affichez les dossiers - Console.WriteLine("\nDossiers:"); - foreach(DirectoryInfo dir in Directories) + // Liste tous les fichiers dans le dossier courant + foreach (var filePath in Directory.GetFiles(path)) + { + FileInfo file = new FileInfo(filePath); + Console.WriteLine($"{indent}|- {file.Name}"); + } + } + catch (Exception ex) { - Console.WriteLine($"{dir.Name}"); + // En cas d'erreur, comme un manque de permissions + Console.WriteLine($"{indent}Erreur lors de l'accès à {path}: {ex.Message}"); } } + public void testDir() + { + string rootPath = "/"; // Chemin racine à partir duquel commencer; ajustez selon votre besoin + Console.WriteLine(rootPath); + ListDirectoryTree(rootPath, ""); + } private void AddModelService(IServiceCollection services) {