#!/bin/bash
# Basé sur un travail de Cédric Abonnel / Cédrix sous licence CC BY-NC 4.0

# Nom du fichier de sortie
OUTPUT_FILE=".list_files.txt"

# Fonction pour lister les fichiers dans un dossier donné
list_files() {
  local dir="$1"
  local output="$dir/$OUTPUT_FILE"

  # Nettoyage du fichier s'il existe déjà
  > "$output"

  # Lister les fichiers dans le dossier courant (évite les répertoires) et trier
  find "$dir" -maxdepth 1 -type f ! -name "$OUTPUT_FILE" -print0 | sort -z | while IFS= read -r -d '' file; do
    echo "$(basename "$file")" >> "$output"
  done

  echo "✅ Liste des fichiers générée dans $output"
}

# Parcourir récursivement tous les dossiers sauf le dossier courant
find . -mindepth 1 -type d -print0 | while IFS= read -r -d '' dir; do
  list_files "$dir"
done
