1
0

Ajout du support de MYSQL

This commit is contained in:
unfr
2025-06-23 14:27:18 +02:00
parent 1693e9b620
commit b0aca69596
8 changed files with 603 additions and 509 deletions

View File

@@ -92,28 +92,67 @@ else
fi
fi
# Vérifier et installer sqlite3 si manquant
if command -v sqlite3 > /dev/null 2>&1; then
LISTE_APPLIS+=("sqlite3")
else
echo -e "${ROUGE}sqlite3 est manquant. Installation en cours...${NORMAL}"
if $sudook; then
sudo apt install sqlite3
LISTE_APPLIS+=("sqlite3")
echo -e "${VERT}sqlite3 installé${NORMAL}"
else
curl -L -o sqlite-tools.zip "https://www.sqlite.org/2024/sqlite-tools-linux-x64-3470000.zip"
unzip sqlite-tools.zip -d "$BIN_DIR"
chmod 777 "$BIN_DIR/sqlite3"
# Nettoyage des fichiers inutiles
rm -rf sqlite-tools.zip "$BIN_DIR/sqlite-tools-linux-x64-3480000" "$BIN_DIR/sqldiff" "$BIN_DIR/sqlite3_analyzer" "$BIN_DIR/sqlite3_rsync"
LISTE_APPLIS+=("$BIN_DIR/sqlite3")
echo -e "${VERT}sqlite3 installé dans $BIN_DIR${NORMAL}"
fi
fi
# Demande à l'utilisateur
echo "Quel système de base de données voulez-vous utiliser ?"
select BDD in "SQLite" "MySQL"; do
case $BDD in
"SQLite")
echo "Vous avez choisi SQLite."
# Bloc vérification/install sqlite3
if command -v sqlite3 > /dev/null 2>&1; then
LISTE_APPLIS+=("sqlite3")
else
echo -e "${ROUGE}sqlite3 est manquant. Installation en cours...${NORMAL}"
if $sudook; then
sudo apt install -y sqlite3
LISTE_APPLIS+=("sqlite3")
echo -e "${VERT}sqlite3 installé${NORMAL}"
else
curl -L -o sqlite-tools.zip "https://www.sqlite.org/2024/sqlite-tools-linux-x64-3470000.zip"
unzip sqlite-tools.zip -d "$BIN_DIR"
chmod 777 "$BIN_DIR/sqlite3"
# Nettoyage
rm -rf sqlite-tools.zip "$BIN_DIR/sqlite-tools-linux-x64-3480000" "$BIN_DIR/sqldiff" "$BIN_DIR/sqlite3_analyzer" "$BIN_DIR/sqlite3_rsync"
LISTE_APPLIS+=("$BIN_DIR/sqlite3")
echo -e "${VERT}sqlite3 installé dans $BIN_DIR${NORMAL}"
fi
fi
break
;;
"MySQL")
echo "Vous avez choisi MySQL."
if command -v mysql > /dev/null 2>&1; then
LISTE_APPLIS+=("mysql")
echo -e "${VERT}MySQL est disponible${NORMAL}"
# Place ici le code MySQL à exécuter
else
echo -e "${ROUGE}MySQL n'est pas installé. Bascule automatique sur SQLite.${NORMAL}"
# Bloc vérification/install sqlite3 (copié plus haut)
if command -v sqlite3 > /dev/null 2>&1; then
LISTE_APPLIS+=("sqlite3")
else
echo -e "${ROUGE}sqlite3 est manquant. Installation en cours...${NORMAL}"
if $sudook; then
sudo apt install -y sqlite3
LISTE_APPLIS+=("sqlite3")
echo -e "${VERT}sqlite3 installé${NORMAL}"
else
curl -L -o sqlite-tools.zip "https://www.sqlite.org/2024/sqlite-tools-linux-x64-3470000.zip"
unzip sqlite-tools.zip -d "$BIN_DIR"
chmod 777 "$BIN_DIR/sqlite3"
rm -rf sqlite-tools.zip "$BIN_DIR/sqlite-tools-linux-x64-3480000" "$BIN_DIR/sqldiff" "$BIN_DIR/sqlite3_analyzer" "$BIN_DIR/sqlite3_rsync"
LISTE_APPLIS+=("$BIN_DIR/sqlite3")
echo -e "${VERT}sqlite3 installé dans $BIN_DIR${NORMAL}"
fi
fi
fi
break
;;
*)
echo "Choix invalide."
;;
esac
done
# Vérifier et installer jq si manquant
if command -v jq > /dev/null 2>&1; then
@@ -314,7 +353,7 @@ export NVM_DIR="$HOME/.nvm"
# Vérification des modules npm nécessaires
log "Vérification des modules npm requis..."
modules=("express" "express-session" "sqlite3" "ansi-to-html" "@tailwindcss/browser" "autoprefixer" "jquery")
modules=("express" "express-session" "sqlite3" "ansi-to-html" "@tailwindcss/browser" "autoprefixer" "jquery" "mysql2")
missing_modules=()
for module in "${modules[@]}"; do
@@ -339,6 +378,12 @@ if [ ! -f "$AUTOPOST_DIR/server.js" ]; then
updated="1"
fi
if [ ! -f "$AUTOPOST_DIR/db.js" ]; then
log "Téléchargement de db.js..."
wget -q -O "$AUTOPOST_DIR/db.js" "https://tig.unfr.pw/UNFR/postauto/raw/branch/main/autopost/db.js"
updated="1"
fi
if [ ! -f "$AUTOPOST_DIR/config.js" ]; then
log "Téléchargement de config.js..."
wget -q -O "$AUTOPOST_DIR/config.js" "https://tig.unfr.pw/UNFR/postauto/raw/branch/main/autopost/config.js"