1+ #! /bin/bash
2+
3+ # Définir les couleurs
4+ GREEN=$( tput setaf 2)
5+ RED=$( tput setaf 1)
6+ BLUE=$( tput setaf 4)
7+ VIOLET=$( tput setaf 5)
8+ BOLD=$( tput bold)
9+ RESET=$( tput sgr0)
10+ # ######################################### INITIALISATION ROOT ##########################################
11+
12+ # Vérifier si l'utilisateur est root
13+ if [[ $EUID -ne 0 ]]; then
14+ echo " ${RED}${BOLD} Ce script doit être exécuté en tant que root${RESET} "
15+ # Demander le mot de passe
16+ sudo " $0 " " $@ "
17+ exit 1
18+ fi
19+
20+ # Le reste du script ici
21+
22+ # ########################################## INITIALISATION / PREPARATION ################################
23+
24+ # ############### PACKAGES #################
25+
26+ # ## UNZIP ###
27+
28+ # Vérifier si le package unzip est installé
29+ if ! dpkg -s unzip > /dev/null 2>&1 ; then
30+ # Afficher le texte en rouge et en gras
31+ echo " ${BOLD} Le package unzip n'est pas installé. Installation en cours...${RESET} "
32+
33+ # Vérifier le gestionnaire de paquets
34+ if command -v apt-get & > /dev/null; then
35+ apt-get install -y unzip
36+ elif command -v yum & > /dev/null; then
37+ yum install -y unzip
38+ elif command -v brew & > /dev/null; then
39+ brew install unzip
40+ else
41+ echo " Impossible de déterminer le gestionnaire de paquets. Veuillez installer PHP manuellement."
42+ echo " "
43+ exit 1
44+ fi
45+ else
46+ # Afficher le texte en vert et en gras
47+ echo " ${GREEN}${BOLD} Le package unzip est déjà installé.${RESET} "
48+ fi
49+
50+ # ## YARN ### (Ré-installation de celui ci)
51+
52+ # Vérifier si Yarn est installé
53+ if command -v yarn & > /dev/null; then
54+ echo " ${BOLD} Yarn est déjà installé sur votre machine.${RESET} "
55+ else
56+ # Installer Yarn s'il n'est pas déjà installé
57+ echo " ${BOLD} Yarn n'est pas installé. Installation en cours...${RESET} "
58+ echo " "
59+
60+ # Installer Yarn via le script (get.tomv.ovh)
61+ bash <( curl -s https://get.tomv.ovh/yarninstall.sh)
62+
63+ # Vérifier à nouveau si l'installation a réussi
64+ if command -v yarn & > /dev/null; then
65+ echo " ${GREEN}${BOLD} Yarn a été installé avec succès.${RESET} "
66+ echo " "
67+ else
68+ echo " ${RED}${BOLD} Une erreur s'est produite lors de l'installation de Yarn. Veuillez vérifier votre configuration.${RESET} "
69+ echo " "
70+ exit 1
71+ fi
72+ fi
73+
74+ # ## PHP ###
75+
76+ # Vérifier si PHP est installé
77+ if command -v php & > /dev/null; then
78+ echo " ${BOLD} PHP est déjà installé sur votre machine.${RESET} "
79+ else
80+ # Installer PHP s'il n'est pas déjà installé
81+ echo " ${BOLD} PHP n'est pas installé. Installation en cours...${RESET} "
82+ echo " "
83+
84+ # Vérifier le gestionnaire de paquets
85+ if command -v apt-get & > /dev/null; then
86+ apt-get install -y php
87+ elif command -v yum & > /dev/null; then
88+ yum install -y php
89+ elif command -v brew & > /dev/null; then
90+ brew install php
91+ else
92+ echo " ${RED}${BOLD} Impossible de déterminer le gestionnaire de paquets. Veuillez installer PHP manuellement.${RESET} "
93+ echo " "
94+ exit 1
95+ fi
96+
97+ # Vérifier à nouveau si l'installation a réussi
98+ if command -v php & > /dev/null; then
99+ echo " ${GREEN}${BOLD} PHP a été installé avec succès.${RESET} "
100+ else
101+ echo " ${RED}${BOLD} Une erreur s'est produite lors de l'installation de PHP. Veuillez vérifier votre configuration.${RESET} "
102+ echo " "
103+ exit 1
104+ fi
105+ fi
106+
107+ # ## Node JS & npm ###
108+
109+ # Vérifier si Node.js est installé
110+ if command -v node & > /dev/null; then
111+ echo " ${BOLD} Node.js est déjà installé.${RESET} "
112+ else
113+ # Installer Node.js
114+ curl -SLO https://deb.nodesource.com/nsolid_setup_deb.sh
115+ chmod 500 nsolid_setup_deb.sh
116+ ./nsolid_setup_deb.sh 16
117+ apt-get install nodejs -y
118+ echo " ${GREEN}${BOLD} Node.js a été installé avec succès.${RESET} "
119+ rm ./nsolid_setup_deb.sh
120+ fi
121+
122+ # Vérifier si npm est installé
123+ if command -v npm & > /dev/null; then
124+ echo " ${BOLD} npm est déjà installé.${RESET} "
125+ else
126+ # Installer npm
127+ echo " ${BOLD} npm n'est pas installé. Installation en cours...${RESET} "
128+ echo " "
129+ apt-get install -y npm
130+ echo " ${GREEN}${BOLD} npm a été installé avec succès.${RESET} "
131+ fi
132+
133+ # ## AUTRES ###
134+
135+
136+ # ############### VERSIONS #################
137+
138+ # ## Node JS ### (16.20.2)
139+
140+ # Fonction pour comparer les versions
141+ compare_versions () {
142+ local version1=$1
143+ local version2=$2
144+ if [[ " $( printf ' %s\n' " $version1 " " $version2 " | sort -V | head -n 1) " == " $version1 " ]]; then
145+ return 0 # version1 est supérieure ou égale à version2
146+ else
147+ return 1 # version1 est inférieure à version2
148+ fi
149+ }
150+
151+ # Vérifier si Node.js est installé
152+ if command -v node & > /dev/null; then
153+ # Récupérer la version de Node.js
154+ node_version=$( node --version | cut -c 2-) # Supprimer le 'v' du numéro de version
155+ required_version=" 14.0.0"
156+
157+ # Comparer les versions
158+ if compare_versions " $node_version " " $required_version " ; then
159+ echo " "
160+ echo " ${GREEN}${BOLD} La version de Node.js ($node_version ) est déjà supérieure à 14.${RESET} "
161+ else
162+ echo " ${BLUE}${BOLD} La version de Node.js ($node_version ) est inférieure à 14. Installation de la version requise...${RESET} "
163+
164+ # Installer Node.js 14
165+ npm install -g n
166+ n 16.20.2
167+ node -v
168+
169+ # Vérifier à nouveau la version installée
170+ installed_version=$( node --version | cut -c 2-)
171+ echo " "
172+ echo " ${GREEN}${BOLD} Node.js a été installé avec succès. Nouvelle version : $installed_version ${RESET} "
173+ echo " "
174+ fi
175+ else
176+ echo " ${BLUE}${BOLD} Node.js n'est pas installé. Installation de la version 14...${RESET} "
177+
178+ # Installer Node.js 14
179+ curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
180+ apt install -y nodejs
181+
182+
183+ # Vérifier la version installée
184+ installed_version=$( node --version | cut -c 2-)
185+ echo " ${GREEN}${BOLD} Node.js a été installé avec succès. Nouvelle version : $installed_version ${RESET} "
186+ fi
0 commit comments