1.0
This commit is contained in:
38
main.sh
38
main.sh
@@ -38,36 +38,36 @@ if [ "$EUID" -ne 0 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
print_step "🚀 Lancement du programme de configuration IoT"
|
print_step " Lancement du programme de configuration IoT"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# 1. Mise à jour du système
|
# 1. Mise à jour du système
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
print_step "🔄 Mise à jour du système (apt update & upgrade)"
|
print_step " Mise à jour du système (apt update & upgrade)"
|
||||||
if ! apt update && apt upgrade -y; then
|
if ! apt update && apt upgrade -y; then
|
||||||
echo "❌ Erreur lors de la mise à jour du système"
|
echo "❌ Erreur lors de la mise à jour du système"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "✅ Système mis à jour"
|
echo " Système mis à jour"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# 2. Installation de Python
|
# 2. Installation de Python
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
print_step "🐍 Vérification / Installation de Python3"
|
print_step " Vérification / Installation de Python3"
|
||||||
if ! apt install python3 python3-pip python3-venv -y; then
|
if ! apt install python3 python3-pip python3-venv -y; then
|
||||||
echo "❌ Erreur lors de l'installation de Python3"
|
echo "❌ Erreur lors de l'installation de Python3"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
PYTHON_VERSION=$(python3 --version 2>&1)
|
PYTHON_VERSION=$(python3 --version 2>&1)
|
||||||
echo "✅ $PYTHON_VERSION installé"
|
echo " $PYTHON_VERSION installé"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# 3. Recherche des venvs existants
|
# 3. Recherche des venvs existants
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
print_step "🔍 Recherche des environnements virtuels (venv) existants..."
|
print_step " Recherche des environnements virtuels (venv) existants..."
|
||||||
|
|
||||||
SEARCH_DIRS=("$(pwd)")
|
SEARCH_DIRS=("$(pwd)")
|
||||||
VENV_LIST=()
|
VENV_LIST=()
|
||||||
@@ -86,9 +86,9 @@ done
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
if [ ${#VENV_LIST[@]} -eq 0 ]; then
|
if [ ${#VENV_LIST[@]} -eq 0 ]; then
|
||||||
echo "⚠ Aucun environnement virtuel trouvé dans : $(pwd)"
|
echo " Aucun environnement virtuel trouvé dans : $(pwd)"
|
||||||
else
|
else
|
||||||
echo "✅ ${#VENV_LIST[@]} environnement(s) virtuel(s) trouvé(s) :"
|
echo " ${#VENV_LIST[@]} environnement(s) virtuel(s) trouvé(s) :"
|
||||||
for i in "${!VENV_LIST[@]}"; do
|
for i in "${!VENV_LIST[@]}"; do
|
||||||
venv="${VENV_LIST[$i]}"
|
venv="${VENV_LIST[$i]}"
|
||||||
python_ver=$("$venv/bin/python" --version 2>&1)
|
python_ver=$("$venv/bin/python" --version 2>&1)
|
||||||
@@ -97,8 +97,6 @@ else
|
|||||||
echo " Python : $python_ver"
|
echo " Python : $python_ver"
|
||||||
echo " ▶ Activer : source $venv/bin/activate"
|
echo " ▶ Activer : source $venv/bin/activate"
|
||||||
done
|
done
|
||||||
|
|
||||||
# On retient le premier venv trouvé et on écrit son chemin
|
|
||||||
SELECTED_VENV="${VENV_LIST[0]}"
|
SELECTED_VENV="${VENV_LIST[0]}"
|
||||||
echo "$SELECTED_VENV" > ./.venv_path
|
echo "$SELECTED_VENV" > ./.venv_path
|
||||||
echo ""
|
echo ""
|
||||||
@@ -116,43 +114,43 @@ if [[ "$CREATE_VENV" =~ ^[oO]$ ]]; then
|
|||||||
VENV_PATH="$SEARCH_DIRS/venv"
|
VENV_PATH="$SEARCH_DIRS/venv"
|
||||||
if python3 -m venv $SEARCH_DIRS/venv; then
|
if python3 -m venv $SEARCH_DIRS/venv; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "✅ Venv créé avec succès !"
|
echo " Venv créé avec succès !"
|
||||||
echo " Chemin : $VENV_PATH"
|
echo " Chemin : $VENV_PATH"
|
||||||
echo " ▶ Activer : source $VENV_PATH/bin/activate"
|
echo " ▶ Activer : source $VENV_PATH/bin/activate"
|
||||||
|
|
||||||
|
|
||||||
echo "$VENV_PATH" > ./.venv_path
|
echo "$VENV_PATH" > ./.venv_path
|
||||||
echo "📝 Chemin enregistré dans .venv_path"
|
echo " Chemin enregistré dans .venv_path"
|
||||||
|
|
||||||
# Mise à jour de pip dans le venv
|
# Mise à jour de pip dans le venv
|
||||||
"$VENV_PATH/bin/pip" install --upgrade pip
|
"$VENV_PATH/bin/pip" install --upgrade pip
|
||||||
|
|
||||||
# Installation des dépendances si requirements.txt présent
|
# Installation des dépendances si requirements.txt présent
|
||||||
if [ -f "./requirements.txt" ]; then
|
if [ -f "./requirements.txt" ]; then
|
||||||
echo "📦 Installation des dépendances depuis requirements.txt..."
|
echo " Installation des dépendances depuis requirements.txt..."
|
||||||
"$VENV_PATH/bin/pip" install -r ./requirements.txt
|
"$VENV_PATH/bin/pip" install -r ./requirements.txt
|
||||||
echo "✅ Dépendances installées"
|
echo " Dépendances installées"
|
||||||
else
|
else
|
||||||
echo "⚠ Aucun requirements.txt trouvé, installation des dépendances ignorée"
|
echo " Aucun requirements.txt trouvé, installation des dépendances ignorée"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "❌ Erreur lors de la création du venv à : $VENV_PATH"
|
echo " Erreur lors de la création du venv à : $VENV_PATH"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "⏭ Création ignorée"
|
echo " Création ignorée"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# Fin
|
# Fin
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
print_step "🎉 Configuration terminée"
|
print_step " Configuration terminée"
|
||||||
echo ""
|
echo ""
|
||||||
if [ -f "./.venv_path" ]; then
|
if [ -f "./.venv_path" ]; then
|
||||||
echo "ℹ️ Venv configuré : $(cat ./.venv_path)"
|
echo " Venv configuré : $(cat ./.venv_path)"
|
||||||
echo " Pour l'activer manuellement : source $(cat ./.venv_path)/bin/activate"
|
echo " Pour l'activer manuellement : source $(cat ./.venv_path)/bin/activate"
|
||||||
else
|
else
|
||||||
echo "⚠ Aucun venv enregistré — relancez le script et créez un venv"
|
echo " Aucun venv enregistré — relancez le script et créez un venv"
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user