- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
117 lines
3.6 KiB
Bash
Executable File
117 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
"""
|
|
Démarre le serveur API local pour le développement sur le port 8001.
|
|
"""
|
|
|
|
set -e
|
|
|
|
echo "🚀 === DÉMARRAGE SERVEUR DÉVELOPPEMENT ==="
|
|
|
|
# Vérifier que nous sommes dans le bon répertoire
|
|
if [ ! -f "server/api_upload.py" ]; then
|
|
echo "❌ Fichier server/api_upload.py non trouvé"
|
|
echo " Veuillez exécuter ce script depuis la racine du projet"
|
|
exit 1
|
|
fi
|
|
|
|
# Vérifier l'environnement virtuel
|
|
if [ ! -d "venv_v3" ]; then
|
|
echo "❌ Environnement virtuel venv_v3 non trouvé"
|
|
echo " Veuillez créer l'environnement virtuel avec: python3 -m venv venv_v3"
|
|
exit 1
|
|
fi
|
|
|
|
# Activer l'environnement virtuel
|
|
echo "📦 Activation de l'environnement virtuel..."
|
|
source venv_v3/bin/activate
|
|
|
|
# Charger les variables d'environnement depuis .env.local
|
|
if [ -f ".env.local" ]; then
|
|
echo "📁 Chargement des variables d'environnement depuis .env.local"
|
|
export $(grep -v '^#' .env.local | xargs)
|
|
echo " ✓ RPA_TOKEN_ADMIN: ${RPA_TOKEN_ADMIN:0:16}..."
|
|
else
|
|
echo "⚠️ Fichier .env.local non trouvé, utilisation des valeurs par défaut"
|
|
fi
|
|
|
|
# Configurer le port pour éviter le conflit avec le serveur de production
|
|
export PORT=8001
|
|
export HOST=127.0.0.1
|
|
|
|
echo "🌐 Configuration serveur:"
|
|
echo " Host: $HOST"
|
|
echo " Port: $PORT"
|
|
echo " Token Admin: ${RPA_TOKEN_ADMIN:0:16}..."
|
|
|
|
# Vérifier que le port est libre
|
|
if netstat -tlnp 2>/dev/null | grep -q ":$PORT "; then
|
|
echo "❌ Port $PORT déjà utilisé"
|
|
echo " Arrêtez le processus utilisant ce port ou modifiez la variable PORT"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Port $PORT disponible"
|
|
|
|
# Démarrer le serveur
|
|
echo "🚀 Démarrage du serveur API..."
|
|
cd server
|
|
|
|
# Démarrer en arrière-plan et capturer le PID
|
|
python3 api_upload.py &
|
|
SERVER_PID=$!
|
|
|
|
echo " PID du serveur: $SERVER_PID"
|
|
echo " URL: http://$HOST:$PORT"
|
|
|
|
# Attendre que le serveur démarre
|
|
echo "⏳ Attente du démarrage du serveur..."
|
|
for i in {1..15}; do
|
|
sleep 1
|
|
if curl -s -f "http://$HOST:$PORT/health" >/dev/null 2>&1; then
|
|
echo "✅ Serveur démarré avec succès!"
|
|
break
|
|
elif [ $i -eq 15 ]; then
|
|
echo "❌ Le serveur n'a pas démarré dans les temps"
|
|
kill $SERVER_PID 2>/dev/null || true
|
|
exit 1
|
|
fi
|
|
echo " Tentative $i/15..."
|
|
done
|
|
|
|
# Tester l'authentification
|
|
echo "🔐 Test d'authentification..."
|
|
AUTH_RESPONSE=$(curl -s -w "%{http_code}" -H "Authorization: Bearer $RPA_TOKEN_ADMIN" "http://$HOST:$PORT/api/traces/status")
|
|
HTTP_CODE="${AUTH_RESPONSE: -3}"
|
|
|
|
if [ "$HTTP_CODE" = "200" ]; then
|
|
echo "✅ Authentification réussie!"
|
|
|
|
# Mettre à jour .env.local avec la nouvelle URL du serveur
|
|
if [ -f "../.env.local" ]; then
|
|
sed -i "s|RPA_SERVER_URL=.*|RPA_SERVER_URL=http://$HOST:$PORT/api/traces/upload|" ../.env.local
|
|
echo "✓ URL serveur mise à jour dans .env.local"
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎉 === SERVEUR DÉVELOPPEMENT PRÊT ==="
|
|
echo "✅ Serveur API: http://$HOST:$PORT"
|
|
echo "✅ Authentification: Fonctionnelle"
|
|
echo "✅ PID: $SERVER_PID"
|
|
echo ""
|
|
echo "📝 PROCHAINES ÉTAPES:"
|
|
echo "1. Démarrer l'agent v0: cd agent_v0 && python main.py"
|
|
echo "2. Capturer une session de test"
|
|
echo "3. Vérifier que l'upload fonctionne"
|
|
echo ""
|
|
echo "🛑 Pour arrêter le serveur: kill $SERVER_PID"
|
|
|
|
# Sauvegarder le PID pour pouvoir l'arrêter plus tard
|
|
echo $SERVER_PID > ../dev_server.pid
|
|
echo " PID sauvegardé dans dev_server.pid"
|
|
|
|
else
|
|
echo "❌ Authentification échouée (HTTP $HTTP_CODE)"
|
|
echo " Réponse: ${AUTH_RESPONSE%???}"
|
|
kill $SERVER_PID 2>/dev/null || true
|
|
exit 1
|
|
fi |