diff --git a/README.md b/README.md index 1deb66c..d539e2e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,13 @@ # BashAdmin Gérez votre serveur Linux à l'aide d'un simple menu ! -Le script n'est pas encore utilisable, mais bientôt ! \ No newline at end of file +# Installation +Installez BashAdmin à partir du script d'installation `install.sh` : + + curl -s https://git.mjubault.fr/mjubault/BashAdmin/raw/branch/main/install.sh | bash -- + + +# Utilisation +Vous devez absolument disposer de droits d'administration lors de l'utilisation de BashAdmin. C'est pourquoi nous vous conseillons d'utiliser BashAdmin avec sudo : + + sudo bash bashadmin.sh \ No newline at end of file diff --git a/bashadmin.sh b/bashadmin.sh index df98334..3e783ac 100755 --- a/bashadmin.sh +++ b/bashadmin.sh @@ -17,8 +17,10 @@ ##################################################################################### -# Version de BashAdmin -version=1.0 +# Versions de BashAdmin +# Version locale +version="1.0" +onlineVersion="" ##### RÉFÉRENTIEL DE COULEURS ##### @@ -36,20 +38,75 @@ couleurCyanGras="\033[1;36m" ##### FONCTIONS ##### +function verifierMaj() +{ + + versionUrl="https://git.mjubault.fr/mjubault/BashAdmin/raw/branch/main/version.txt" + if [[ "$(curl -sI "${versionUrl}" | head -n 1 | cut -d' ' -f2)" == "200" ]]; then + + # S'il est possible de récupérer la version en ligne, alors faire la comparaison des deux variables... + onlineVersion=$(curl -s "${versionUrl}") + if [[ "$onlineVersion" != "$version" ]]; then + + # Si une mise à jour est disponible, alors demander + read -p "Une nouvelle mise à jour de BashAdmin vers la v${onlineVersion} est disponible, voulez-vous l'installer ? [y/N] " choix trash + + case $choix in + + Y|y) + echo "" + echo "Installation de la mise à jour..." + if [[ $(wget "https://git.mjubault.fr/mjubault/BashAdmin/raw/branch/main/bashadmin.sh") ]]; then + echo -e "${couleurSucces}Mise à jour effectuée. ${couleurNormal}" + echo -e "${couleurAvert}Veuillez relancer BashAdmin afin de prendre en compte les modifications. ${couleurNormal}" + echo "" + exit 0 + else + echo -e "${couleurErreurGras}ERREUR : ${couleurErreur}La mise à jour de bashadmin n'a pas pu être effectuée. ${couleurNormal}" + fi + echo "" + + ;; + + *) + ;; + + esac + + fi + + else + # Sinon, afficher un message à l'utilisateur + echo -e "${couleurErreurGras}ERREUR : ${couleurErreur}Impossible de vérifier les mises à jour ! ${couleurNormal}" + echo $(curl -sI "${versionUrl}" | head -n 1) + echo $versionUrl + fi + + +} + + function afficherMenu() { choix="" - clear echo "" - echo -e " ${couleurCyanGras}BashAdmin v${version}" - echo -e " ${couleurSucces}Mise à jour disponible" + echo -e " ${couleurCyanGras}BashAdmin v${version} ${couleurNormal}" + + if [[ "${onlineVersion}" != "${version}" ]]; then + echo -e " ${couleurSucces}Mise à jour disponible ${couleurNormal}" + fi + echo "" echo -e " ${couleurAvertGras}1) ${couleurNormal}Mise à jour du système" echo -e " ${couleurAvertGras}2) ${couleurNormal}Redémarrer le système" echo -e " ${couleurAvertGras}3) ${couleurNormal}Arrêter le système" echo "" - echo -e " ${couleurAvertGras}M) ${couleurCyan}Mettre à jour BashAdmin ${couleurNormal}" + + if [[ "${onlineVersion}" != "${version}" ]]; then + echo -e " ${couleurAvertGras}M) ${couleurCyan}Mettre à jour BashAdmin ${couleurNormal}" + fi + echo -e " ${couleurAvertGras}Q) ${couleurErreur}Quitter ${couleurNormal}" echo "" @@ -60,19 +117,22 @@ function afficherMenu() case $choix in 1) clear - echo -e "${couleurErreur}Redémarrage du système... ${couleurNormal}" + echo -e "${couleurCyan}Mise à jour du système... ${couleurNormal}" echo "" + apt update && apt upgrade -y && apt autoremove -y + echo "" + afficherMenu ;; 2) clear - echo -e "${couleurErreur}Redémarrage du système... ${couleurNormal}" + echo -e "${couleurCyan}Redémarrage du système... ${couleurNormal}" echo "" reboot exit 0 ;; 3) clear - echo -e "${couleurErreur}Arrêt du système... ${couleurNormal}" + echo -e "${couleurCyan}Arrêt du système... ${couleurNormal}" echo "" shutdown now exit 0 @@ -87,6 +147,7 @@ function afficherMenu() exit 0 ;; *) + clear afficherMenu ;; esac @@ -102,5 +163,6 @@ if [[ $USER != "root" ]]; then exit 0 fi -# Afficher le menu +clear +verifierMaj afficherMenu \ No newline at end of file diff --git a/install.sh b/install.sh index 3956e4b..d62adab 100755 --- a/install.sh +++ b/install.sh @@ -9,24 +9,48 @@ # EXEC : ./install.sh ###################################################### +##### RÉFÉRENTIEL DE COULEURS ##### +couleurErreur="\033[0;31m" +couleurErreurGras="\033[1;31m" +couleurAvert="\033[0;33m" +couleurAvertGras="\033[1;33m" +couleurSucces="\033[0;32m" +couleurSuccesGras="\033[1;32m" +couleurNormal="\033[0m" +couleurNormalGras="\033[1m" +couleurCyan="\033[0;36m" +couleurCyanGras="\033[1;36m" +################################### + + + + +##### DÉBUT DU PROGRAMME D'INSTALLATION ##### clear -echo "BashAdmin$> Installation des prérequis..." +echo -e "${couleurCyan}Installation des prérequis... ${couleurNormal}" echo "" -##### INSTALLATION DES PRÉREQUIS ##### -# curl -apt install curl -y +# Installation des prérequis +listeDependances=("sudo" "curl") -# sudo -apt install sudo -y +# Pour chaque dépendance : +for dependance in "${listeDependances[@]}"; do + + if [[ $(apt install "${dependance}" -y) ]]; then + echo -e "Installation de ${dependance} ... ${couleurSuccesGras}OK ${couleurNormal}" + else + echo -e "Installation de ${dependance} ... ${couleurErreurGras}ERREUR ${couleurNormal}" + fi + +done ###################################### ##### TÉLÉCHARGEMENT SCRIPT ##### -# wget https:// +wget "https://git.mjubault.fr/mjubault/BashAdmin/raw/branch/main/bashadmin.sh" ################################# echo "" -echo "BashAdmin$> Installation terminée." +echo -e "${couleurSucces}Installation terminée. ${couleurNormal}" echo "" \ No newline at end of file