0 Votes

Code source wiki de ScriptsPerso

Modifié par john le 2025/05/25 00:19

Afficher les derniers auteurs
1 = Scripts personnels =
2
3 {{toc/}}
4
5 == Présentation ==
6
7 Cette section regroupe mes **scripts Bash et outils d’automatisation** développés ou adaptés pour mes besoins personnels.
8 Ils couvrent des tâches variées : sauvegardes, nettoyage de fichiers, interactions graphiques avec Zenity, organisation de fichiers, etc.
9
10 ----
11
12 == Pourquoi écrire ses propres scripts ? ==
13
14 Créer ses scripts permet de :
15
16 * **Automatiser les tâches répétitives** : sauvegardes, nettoyages, déploiements…
17 * **Réduire les erreurs humaines**
18 * **Adapter l’environnement à ses habitudes**
19 * **Documenter une procédure sous forme de code**
20
21 Un bon script, c’est une forme de documentation exécutée à la volée.
22
23 ----
24
25 == Bonnes pratiques à suivre ==
26
27 * Toujours commencer par le shebang :
28 {{code language="bash"}} #!/bin/bash
29 {{/code}}
30
31 * Mettre le script en mode strict :
32 {{code language="bash"}} set -euo pipefail
33 IFS=$'\n\t'
34 {{/code}}
35
36 * Documenter les fonctions :
37 {{code language="bash"}} # Fonction : sauvegarde un répertoire
38 function sauvegarde() {
39 rsync -av "$1" "$2"
40 }
41 {{/code}}
42
43 * Utiliser `getopts` pour gérer les options :
44 {{code language="bash"}} while getopts ":s:d:" opt; do
45 case $opt in
46 s) source=$OPTARG ;;
47 d) dest=$OPTARG ;;
48 esac
49 done
50 {{/code}}
51
52 ----
53
54 == Liste des scripts disponibles ==
55
56 === 🔹 [[Sauvegarde automatique>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Sauvegarde.WebHome]] ===
57
58 Un script `rsync` avec journalisation et gestion via `cron`.
59 📌 *Idéal pour sauvegarder ses documents sans effort.*
60
61 === 🔹 [[Nettoyage de système>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Nettoyage.WebHome]] ===
62
63 Un script qui supprime caches, fichiers temporaires, et dépendances orphelines.
64 📌 *Parfait pour garder une machine légère et propre.*
65
66 === 🔹 [[Intégration Nautilus + Zenity>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/NautilusZenity.WebHome]] ===
67
68 Ajoute des actions personnalisées au clic droit dans GNOME, via des boîtes de dialogue interactives.
69 📌 *Super pour les utilisateurs moins à l’aise avec la ligne de commande.*
70
71 === 🔹 [[Organisation automatique de fichiers>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Classement.WebHome]] *(à venir)* ===
72
73 Trie automatiquement les fichiers dans des dossiers selon leur type, date ou nom.
74
75 ----
76
77 == Où placer mes scripts ? ==
78
79 * Personnel : `/bin/` ou `/.local/bin/`
80 * Système : `/usr/local/bin/` (nécessite `sudo`)
81
82 N’oublie pas d’ajouter le dossier à ton `$PATH` :
83
84 {{code language="bash"}}
85 export PATH=$HOME/bin:$PATH
86 {{/code}}
87
88 Et de rendre les fichiers exécutables :
89 {{code language="bash"}}chmod +x monscript.sh{{/code}}
90
91 ----
92
93 == Bonnes idées de scripts futurs ==
94
95 * Archivage automatique d’un dossier par date
96 * Extraction automatique de `.tar.gz`
97 * Notification de batterie faible
98 * Upload automatique vers Nextcloud
99 * Backup de base de données PostgreSQL/MariaDB
100 * Générateur de templates de page XWiki 🎯
101
102 ----
103
104 == Liens utiles ==
105
106 * Explainshell.com [[https:~~/~~/explainshell.com/>>https://explainshell.com/]]— Pour comprendre une commande Bash ligne par ligne
107 * Bash Hackers Wiki [[https:~~/~~/wiki.bash-hackers.org/>>https://wiki.bash-hackers.org/]]
108 * Shellcheck [[https:~~/~~/www.shellcheck.net>>https://www.shellcheck.net]]//— Pour vérifier ses scripts en ligne//
109
110 ----
111
112 == Liens internes ==
113
114 * [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]]
115 * [[Tutos Linux>>Wiki Batcave John.TutosLinux]]