espace-paie-odentas/dev-with-network.sh
2025-10-15 00:40:57 +02:00

73 lines
2.5 KiB
Bash
Executable file
Raw Blame History

#!/bin/bash
# Couleurs pour l'affichage
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
echo -e "${BLUE}╔════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}<20> Mode Développement Mobile Activé ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════╝${NC}"
echo ""
# Vérifier le réseau actuel
NETWORK=$(ifconfig en0 | grep "inet " | awk '{print $2}')
echo -e "${YELLOW}📡 Votre IP locale : ${NETWORK}${NC}"
echo ""
# Afficher un avertissement
echo -e "${YELLOW}⚠️ AVERTISSEMENT SÉCURITÉ${NC}"
echo -e " Le pare-feu macOS va être temporairement désactivé"
echo -e " ✓ Utilisez uniquement sur un réseau de confiance"
echo -e " ✓ Sera réactivé automatiquement à l'arrêt (Ctrl+C)"
echo ""
read -p "Continuer ? (o/n) " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Oo]$ ]]; then
echo -e "${RED}❌ Opération annulée${NC}"
exit 1
fi
echo ""
echo -e "${GREEN}🔓 Désactivation du pare-feu...${NC}"
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
echo -e "${GREEN}✓ Pare-feu désactivé${NC}"
echo ""
echo -e "${BLUE}🚀 Démarrage du serveur Next.js...${NC}"
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo ""
# Fonction pour réactiver le pare-feu
cleanup() {
echo ""
echo ""
echo -e "${YELLOW}🛑 Arrêt détecté...${NC}"
echo -e "${GREEN}🔒 Réactivation du pare-feu...${NC}"
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# Vérifier que c'est bien réactivé
STATUS=$(sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate)
if [[ $STATUS == *"enabled"* ]]; then
echo -e "${GREEN}✅ Pare-feu réactivé avec succès !${NC}"
else
echo -e "${RED}⚠️ Erreur : Le pare-feu n'a pas été réactivé !${NC}"
echo -e "${RED} Exécutez manuellement :${NC}"
echo -e "${RED} sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on${NC}"
fi
echo ""
exit
}
# Capturer les signaux d'arrêt
trap cleanup INT TERM EXIT
# Démarrer le serveur
cd "$(dirname "$0")"
npm run dev:network
# Note : cleanup() sera appelé automatiquement grâce au trap EXIT