Files
rpa_vision_v3/start_dev_server.sh
Dom a27b74cf22 v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- 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>
2026-01-29 11:23:51 +01:00

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