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:
+3
-2
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# Spécifier le chemin du fichier journal
|
# Spécifier le chemin du fichier journal
|
||||||
log_dir="$HOME/log"
|
log_dir="${XDG_STATE_HOME:-$HOME/.local/state}/scripts-bash"
|
||||||
log_file="${log_dir}/a5l-scripts_bash-$(date '+%Y%m%d-%H%M%S')-$$.log"
|
log_file="${log_dir}/a5l-scripts_bash-$(date '+%Y%m%d-%H%M%S')-$$.log"
|
||||||
|
|
||||||
# Fonction pour afficher un message d'erreur et quitter le script en cas d'erreur
|
# Fonction pour afficher un message d'erreur et quitter le script en cas d'erreur
|
||||||
@@ -55,7 +55,8 @@ create_dir() {
|
|||||||
add_uninstall() {
|
add_uninstall() {
|
||||||
## Create or update uninstall script
|
## Create or update uninstall script
|
||||||
|
|
||||||
uninstall_list=$HOME/.config/a5l_scripts-bash_uninstall-list
|
uninstall_list="${XDG_DATA_HOME:-$HOME/.local/share}/scripts-bash/uninstall-list"
|
||||||
|
mkdir -p "$(dirname "$uninstall_list")"
|
||||||
test -f "${uninstall_list}" || touch "${uninstall_list}"
|
test -f "${uninstall_list}" || touch "${uninstall_list}"
|
||||||
|
|
||||||
local fichier_a_supprimer="$1"
|
local fichier_a_supprimer="$1"
|
||||||
|
|||||||
@@ -21,7 +21,8 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
#clear
|
#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 "\n"
|
||||||
echo -e "==> Préparation de l'environnement...\n"|tee $logFile
|
echo -e "==> Préparation de l'environnement...\n"|tee $logFile
|
||||||
@@ -57,7 +58,7 @@ source_dir=$(pwd)
|
|||||||
input_file_type=${param1}
|
input_file_type=${param1}
|
||||||
output_file_type="new${param2}.mkv"
|
output_file_type="new${param2}.mkv"
|
||||||
declare -a mesFichiers
|
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
|
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 "touch \"${out_file}.processed\"">> ${listFileName}
|
||||||
|
|
||||||
echo -e "\n ==> On indique le fichier traité et le résultat dans un log"|tee -a $logFile
|
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 ${cmd_exec}>> ${listFileName}
|
||||||
|
|
||||||
echo -e "\n ==> Finished \"$out_file\""|tee -a $logFile
|
echo -e "\n ==> Finished \"$out_file\""|tee -a $logFile
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ function message {
|
|||||||
|
|
||||||
clear
|
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
|
fichiersATraiter=fichiersATraiter.lst
|
||||||
idLog=$$-${uuidgen}
|
idLog=$$-${uuidgen}
|
||||||
|
|
||||||
|
|||||||
@@ -51,16 +51,16 @@ done
|
|||||||
|
|
||||||
|
|
||||||
# Définition du dossier des paramètres
|
# 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
|
if [ ! -d "$CONFIG_DIR" ]; then
|
||||||
mkdir -p ${CONFIG_DIR}
|
mkdir -p ${CONFIG_DIR}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Vérifier si le fichier user-dirs.dirs existe
|
# 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
|
# 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
|
# Vérifier si la variable XDG_MUSIC_DIR est définie
|
||||||
if [[ -v XDG_MUSIC_DIR ]]; then
|
if [[ -v XDG_MUSIC_DIR ]]; then
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
## Read config file or create/update
|
## 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}"
|
test -f "${config_filename}" && . "${config_filename}" || echo "# Fichier de configuration créé $(date +%c)" | tee "${config_filename}"
|
||||||
|
|
||||||
### edit directory path music background
|
### edit directory path music background
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
trap 'exit 130' INT
|
trap 'exit 130' INT
|
||||||
|
|
||||||
## Read config file or create/update
|
## 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}
|
test -f ${config_filename} && . ${config_filename} || echo "# Fichier de configuration créé $(date +%c)" | tee ${config_filename}
|
||||||
|
|
||||||
### edit directory path music background
|
### edit directory path music background
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/php
|
#!/usr/bin/php
|
||||||
<?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
|
// Vérification et création du répertoire de journalisation
|
||||||
if (!is_dir($log_directory)) {
|
if (!is_dir($log_directory)) {
|
||||||
|
|||||||
+12
-7
@@ -12,6 +12,12 @@ NC='\033[0m' # No Color
|
|||||||
|
|
||||||
# Mise à jour des machines présentes dans .ssh/config avec choix d'ignorer certaines.
|
# 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
|
# fonction run_ssh et run_scp avec timeout + options
|
||||||
SSH_OPTS="-o ConnectTimeout=5 -o BatchMode=yes -o StrictHostKeyChecking=accept-new"
|
SSH_OPTS="-o ConnectTimeout=5 -o BatchMode=yes -o StrictHostKeyChecking=accept-new"
|
||||||
SSH_TIMEOUT="5"
|
SSH_TIMEOUT="5"
|
||||||
@@ -141,8 +147,7 @@ EOF
|
|||||||
now=$(date '+%Y-%m-%d %H:%M:%S')
|
now=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
# Fichier de stats
|
# Fichier de stats
|
||||||
stats_file="$HOME/.config/updateall-stats"
|
stats_file="$UPDATEALL_STATS"
|
||||||
mkdir -p "$(dirname "$stats_file")"
|
|
||||||
|
|
||||||
# Ajouter l’en-tête si le fichier est vide
|
# Ajouter l’en-tête si le fichier est vide
|
||||||
if [ ! -s "$stats_file" ]; then
|
if [ ! -s "$stats_file" ]; then
|
||||||
@@ -259,9 +264,9 @@ confirm_update() {
|
|||||||
local machine="$1"
|
local machine="$1"
|
||||||
read -p " - Executer la mise à jour pour $machine ? (o/n) " choice
|
read -p " - Executer la mise à jour pour $machine ? (o/n) " choice
|
||||||
if [ "$choice" = "o" ]; then
|
if [ "$choice" = "o" ]; then
|
||||||
echo "$machine 1" >> ~/.config/updateall-hosts
|
echo "$machine 1" >> "$UPDATEALL_HOSTS"
|
||||||
else
|
else
|
||||||
echo "$machine 0" >> ~/.config/updateall-hosts
|
echo "$machine 0" >> "$UPDATEALL_HOSTS"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -285,7 +290,7 @@ check_host() {
|
|||||||
|
|
||||||
run_custom_script() {
|
run_custom_script() {
|
||||||
local machine="$1"
|
local machine="$1"
|
||||||
local custom_script="$HOME/.config/updateall.d/$machine"
|
local custom_script="$UPDATEALL_CUSTOM_DIR/$machine"
|
||||||
|
|
||||||
if [ -f "$custom_script" ]; then
|
if [ -f "$custom_script" ]; then
|
||||||
echo -e " - Exécution du script spécifique pour ${GREEN}$machine${NC}"
|
echo -e " - Exécution du script spécifique pour ${GREEN}$machine${NC}"
|
||||||
@@ -328,7 +333,7 @@ current=0
|
|||||||
|
|
||||||
for machine in "${machines[@]}"; do
|
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"
|
echo -e "\n"
|
||||||
((current++))
|
((current++))
|
||||||
@@ -364,7 +369,7 @@ for machine in "${machines[@]}"; do
|
|||||||
matched=1
|
matched=1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done < ~/.config/updateall-hosts
|
done < "$UPDATEALL_HOSTS"
|
||||||
|
|
||||||
if [ "$matched" != "1" ]; then
|
if [ "$matched" != "1" ]; then
|
||||||
check_host "$machine"
|
check_host "$machine"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
[[ ! -d "local/bin" ]] && { echo "Erreur : lancer depuis la racine du projet scripts-bash"; exit 1; }
|
[[ ! -d "local/bin" ]] && { echo "Erreur : lancer depuis la racine du projet scripts-bash"; exit 1; }
|
||||||
|
|
||||||
# Spécifier le chemin du fichier journal
|
# Spécifier le chemin du fichier journal
|
||||||
log_dir="$HOME/log"
|
log_dir="${XDG_STATE_HOME:-$HOME/.local/state}/scripts-bash"
|
||||||
log_file="${log_dir}/a5l-scripts_bash_prep-$(date '+%Y%m%d-%H%M%S')-$$.log"
|
log_file="${log_dir}/a5l-scripts_bash_prep-$(date '+%Y%m%d-%H%M%S')-$$.log"
|
||||||
|
|
||||||
# Fonction pour afficher un message d'erreur et quitter le script en cas d'erreur
|
# Fonction pour afficher un message d'erreur et quitter le script en cas d'erreur
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Chemin du fichier uninstall-list
|
# Chemin du fichier uninstall-list
|
||||||
uninstall_list_file=$HOME/.config/a5l_scripts-bash_uninstall-list
|
uninstall_list_file="${XDG_DATA_HOME:-$HOME/.local/share}/scripts-bash/uninstall-list"
|
||||||
|
|
||||||
# Vérifie si le fichier uninstall-list existe
|
# Vérifie si le fichier uninstall-list existe
|
||||||
if [ -e $uninstall_list_file ]; then
|
if [ -e $uninstall_list_file ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user