1
0

install.sh 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/bash
  2. # Script d'installation et de mise à jour
  3. echo "🚀 Installation et mise à jour du Blog Duhaz"
  4. echo "=============================================="
  5. # Couleurs pour le terminal
  6. RED='\033[0;31m'
  7. GREEN='\033[0;32m'
  8. YELLOW='\033[1;33m'
  9. NC='\033[0m' # No Color
  10. # Étape 1 : Création de l'environnement virtuel
  11. echo -e "\n${YELLOW}📦 Étape 1/5 : Création de l'environnement virtuel...${NC}"
  12. if [ ! -d "venv" ]; then
  13. python3 -m venv venv
  14. echo -e "${GREEN}✅ Environnement virtuel créé${NC}"
  15. else
  16. echo -e "${GREEN}✅ Environnement virtuel existe déjà${NC}"
  17. fi
  18. # Étape 2 : Activation et installation des dépendances
  19. echo -e "\n${YELLOW}📦 Étape 2/5 : Installation des dépendances...${NC}"
  20. source venv/bin/activate
  21. pip install --upgrade pip
  22. pip install -r requirements.txt
  23. if [ $? -eq 0 ]; then
  24. echo -e "${GREEN}✅ Dépendances installées${NC}"
  25. else
  26. echo -e "${RED}❌ Erreur lors de l'installation des dépendances${NC}"
  27. exit 1
  28. fi
  29. # Étape 3 : Vérification du fichier .env
  30. echo -e "\n${YELLOW}🔐 Étape 3/5 : Vérification de la configuration...${NC}"
  31. if [ ! -f ".env" ]; then
  32. echo -e "${RED}❌ Fichier .env manquant !${NC}"
  33. echo "Copiez .env.example vers .env et configurez-le"
  34. exit 1
  35. else
  36. echo -e "${GREEN}✅ Fichier .env trouvé${NC}"
  37. fi
  38. # Étape 4 : Migrations
  39. echo -e "\n${YELLOW}🗄️ Étape 4/5 : Application des migrations...${NC}"
  40. python manage.py makemigrations
  41. python manage.py migrate
  42. if [ $? -eq 0 ]; then
  43. echo -e "${GREEN}✅ Migrations appliquées${NC}"
  44. else
  45. echo -e "${RED}❌ Erreur lors des migrations${NC}"
  46. exit 1
  47. fi
  48. # Étape 5 : Collecte des fichiers statiques (optionnel en dev)
  49. echo -e "\n${YELLOW}📁 Étape 5/5 : Fichiers statiques...${NC}"
  50. echo "Voulez-vous collecter les fichiers statiques ? (o/N)"
  51. read -r response
  52. if [[ "$response" =~ ^([oO][uU][iI]|[oO])$ ]]; then
  53. python manage.py collectstatic --noinput
  54. echo -e "${GREEN}✅ Fichiers statiques collectés${NC}"
  55. else
  56. echo -e "${YELLOW}⏭️ Fichiers statiques ignorés${NC}"
  57. fi
  58. echo -e "\n${GREEN}=============================================="
  59. echo "✅ Installation terminée avec succès !"
  60. echo "=============================================="
  61. echo -e "${NC}"
  62. echo "Pour démarrer le serveur :"
  63. echo " source venv/bin/activate"
  64. echo " python manage.py runserver"
  65. echo ""
  66. echo "Puis visitez : http://127.0.0.1:8000/blog/"