refactor: conformité XDG Base Directory Specification

- Logs déplacés vers $XDG_STATE_HOME/scripts-bash (au lieu de ~/log ou ~/logs)
- Liste d'installation déplacée vers $XDG_DATA_HOME/scripts-bash/uninstall-list
- updateall : hosts → $XDG_CONFIG_HOME/updateall/hosts, stats → $XDG_STATE_HOME/updateall/stats
- generate_playlist : config → $XDG_CONFIG_HOME/generate-playlist
- random_music_player, play_tophaire : config via $XDG_CONFIG_HOME
- trierPhotos.php : logs via $XDG_STATE_HOME
- Toutes les variables XDG avec fallback (~/.local/state, ~/.local/share, ~/.config)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 21:04:37 +02:00
parent 802dff942c
commit dec199480e
10 changed files with 30 additions and 21 deletions
+4 -3
View File
@@ -21,7 +21,8 @@
###############################################################################
#clear
logFile=~/$(basename ${0}).log
logFile="${XDG_STATE_HOME:-$HOME/.local/state}/scripts-bash/$(basename "${0}").log"
mkdir -p "$(dirname "$logFile")"
echo -e "\n"
echo -e "==> Préparation de l'environnement...\n"|tee $logFile
@@ -57,7 +58,7 @@ source_dir=$(pwd)
input_file_type=${param1}
output_file_type="new${param2}.mkv"
declare -a mesFichiers
listFileName=~/rsbConvert_${date_en_cours}.sh
listFileName="${XDG_STATE_HOME:-$HOME/.local/state}/scripts-bash/rsbConvert_${date_en_cours}.sh"
echo -e "Dossier en cours : " |tee -a $logFile
@@ -246,7 +247,7 @@ echo -e "==> Traitement des vidéos en cours...\n"|tee -a $logFile
echo "touch \"${out_file}.processed\"">> ${listFileName}
echo -e "\n ==> On indique le fichier traité et le résultat dans un log"|tee -a $logFile
cmd_exec="echo -e \"\\\"${in_file}\\\" > \\\"${out_file}\\\"\">> ~/rsbConvert.log"
cmd_exec="echo -e \"\\\"${in_file}\\\" > \\\"${out_file}\\\"\">> \"${XDG_STATE_HOME:-$HOME/.local/state}/scripts-bash/rsbConvert.log\""
echo ${cmd_exec}>> ${listFileName}
echo -e "\n ==> Finished \"$out_file\""|tee -a $logFile
+3 -1
View File
@@ -25,7 +25,9 @@ function message {
clear
fichierLog=~/convertPDF.log
_log_dir="${XDG_STATE_HOME:-$HOME/.local/state}/scripts-bash"
mkdir -p "$_log_dir"
fichierLog="$_log_dir/convertPDF.log"
fichiersATraiter=fichiersATraiter.lst
idLog=$$-${uuidgen}
+3 -3
View File
@@ -51,16 +51,16 @@ done
# Définition du dossier des paramètres
CONFIG_DIR=${HOME}/.config/cedrix/generate_playlist
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/generate-playlist"
if [ ! -d "$CONFIG_DIR" ]; then
mkdir -p ${CONFIG_DIR}
fi
# Vérifier si le fichier user-dirs.dirs existe
if [[ -f ~/.config/user-dirs.dirs ]]; then
if [[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs" ]]; then
# Charger les variables depuis le fichier user-dirs.dirs
source ~/.config/user-dirs.dirs
source "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs"
# Vérifier si la variable XDG_MUSIC_DIR est définie
if [[ -v XDG_MUSIC_DIR ]]; then
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
## Read config file or create/update
config_filename=~/.config/$(basename "${0}")
config_filename="${XDG_CONFIG_HOME:-$HOME/.config}/$(basename "${0}")"
test -f "${config_filename}" && . "${config_filename}" || echo "# Fichier de configuration créé $(date +%c)" | tee "${config_filename}"
### edit directory path music background
+1 -1
View File
@@ -4,7 +4,7 @@
trap 'exit 130' INT
## Read config file or create/update
config_filename=~/.config/$(basename ${0})
config_filename="${XDG_CONFIG_HOME:-$HOME/.config}/$(basename "${0}")"
test -f ${config_filename} && . ${config_filename} || echo "# Fichier de configuration créé $(date +%c)" | tee ${config_filename}
### edit directory path music background
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/php
<?php
$log_directory = getenv('HOME') . '/logs';
$log_directory = (getenv('XDG_STATE_HOME') ?: getenv('HOME') . '/.local/state') . '/scripts-bash';
// Vérification et création du répertoire de journalisation
if (!is_dir($log_directory)) {
+12 -7
View File
@@ -12,6 +12,12 @@ NC='\033[0m' # No Color
# Mise à jour des machines présentes dans .ssh/config avec choix d'ignorer certaines.
# Chemins XDG
UPDATEALL_HOSTS="${XDG_CONFIG_HOME:-$HOME/.config}/updateall/hosts"
UPDATEALL_CUSTOM_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/updateall.d"
UPDATEALL_STATS="${XDG_STATE_HOME:-$HOME/.local/state}/updateall/stats"
mkdir -p "$(dirname "$UPDATEALL_HOSTS")" "$(dirname "$UPDATEALL_STATS")"
# fonction run_ssh et run_scp avec timeout + options
SSH_OPTS="-o ConnectTimeout=5 -o BatchMode=yes -o StrictHostKeyChecking=accept-new"
SSH_TIMEOUT="5"
@@ -141,8 +147,7 @@ EOF
now=$(date '+%Y-%m-%d %H:%M:%S')
# Fichier de stats
stats_file="$HOME/.config/updateall-stats"
mkdir -p "$(dirname "$stats_file")"
stats_file="$UPDATEALL_STATS"
# Ajouter len-tête si le fichier est vide
if [ ! -s "$stats_file" ]; then
@@ -259,9 +264,9 @@ confirm_update() {
local machine="$1"
read -p " - Executer la mise à jour pour $machine ? (o/n) " choice
if [ "$choice" = "o" ]; then
echo "$machine 1" >> ~/.config/updateall-hosts
echo "$machine 1" >> "$UPDATEALL_HOSTS"
else
echo "$machine 0" >> ~/.config/updateall-hosts
echo "$machine 0" >> "$UPDATEALL_HOSTS"
continue
fi
}
@@ -285,7 +290,7 @@ check_host() {
run_custom_script() {
local machine="$1"
local custom_script="$HOME/.config/updateall.d/$machine"
local custom_script="$UPDATEALL_CUSTOM_DIR/$machine"
if [ -f "$custom_script" ]; then
echo -e " - Exécution du script spécifique pour ${GREEN}$machine${NC}"
@@ -328,7 +333,7 @@ current=0
for machine in "${machines[@]}"; do
# Vérification si le nom de machine est présent dans le fichier .config/updateall-hosts
# Vérification si le nom de machine est présent dans $UPDATEALL_HOSTS
echo -e "\n"
((current++))
@@ -364,7 +369,7 @@ for machine in "${machines[@]}"; do
matched=1
break
fi
done < ~/.config/updateall-hosts
done < "$UPDATEALL_HOSTS"
if [ "$matched" != "1" ]; then
check_host "$machine"