#!/bin/bash # QUICK START - Démarrage rapide du projet echo "🗳️ Système de Vote Électronique Sécurisé" echo "Quick Start Guide" echo "===============================================" echo "" # Déterminer le répertoire du script SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "📦 Prérequis:" echo " ✓ Docker 20.10+" echo " ✓ Docker Compose 1.29+" echo " ✓ Python 3.12 (optionnel, pour dev local)" echo "" # Fonction pour afficher les sections print_section() { echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo " $1" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" } # Vérifier Docker print_section "Vérification des prérequis" if ! command -v docker &> /dev/null; then echo "❌ Docker n'est pas installé" echo "Installez Docker: https://docs.docker.com/get-docker/" exit 1 fi echo "✓ Docker détecté: $(docker --version)" if ! command -v docker-compose &> /dev/null; then echo "❌ Docker Compose n'est pas installé" exit 1 fi echo "✓ Docker Compose détecté: $(docker-compose --version)" # Créer .env print_section "Configuration" if [ ! -f "$SCRIPT_DIR/.env" ]; then echo "📝 Création de .env..." cp "$SCRIPT_DIR/.env.example" "$SCRIPT_DIR/.env" echo "✓ Fichier .env créé" echo " (Modifiez-le si nécessaire avant le démarrage)" else echo "✓ Fichier .env existe déjà" fi echo "" read -p "Appuyez sur ENTRÉE pour démarrer l'application..." # Démarrer Docker print_section "Démarrage des conteneurs" cd "$SCRIPT_DIR" echo "🚀 Démarrage..." docker-compose up -d if [ $? -ne 0 ]; then echo "❌ Erreur au démarrage des conteneurs" exit 1 fi echo "✓ Conteneurs démarrés" # Attendre que tout soit prêt print_section "Initialisation" echo "⏳ Attente du démarrage de tous les services (30s)..." for i in {1..30}; do if curl -s http://localhost:8000/health > /dev/null 2>&1; then echo "✓ Backend prêt" break fi sleep 1 echo -n "." done sleep 2 # Afficher l'état print_section "Application en cours d'exécution ✓" echo "" echo "🌐 Accès :" echo "" echo " Frontend : http://localhost:3000" echo " (Interface de vote)" echo "" echo " Backend : http://localhost:8000" echo " (API REST)" echo "" echo " API Docs : http://localhost:8000/docs" echo " (Swagger interactif)" echo "" echo " Database : localhost:3306" echo " User: evoting_user" echo " Pass: (voir .env)" echo "" # Afficher les logs print_section "Premiers pas" echo "" echo "1. Ouvrir le navigateur: http://localhost:3000" echo "2. Créer un compte" echo "3. Se connecter" echo "4. Sélectionner un candidat et voter" echo "5. Voir les résultats" echo "" # Commandes utiles print_section "Commandes utiles" echo "" echo "🔍 Voir les logs:" echo " docker-compose logs -f" echo "" echo "🛑 Arrêter l'application:" echo " docker-compose down" echo "" echo "🧹 Nettoyer (reset complet):" echo " docker-compose down -v" echo "" echo "📝 Consulter la documentation:" echo " - README.md (Vue d'ensemble)" echo " - DEPLOYMENT.md (Déploiement)" echo " - ARCHITECTURE.md (Architecture système)" echo " - CONTRIBUTING.md (Contribution)" echo "" # Tests print_section "Lancer les tests" echo "" echo "Pour développement local (nécessite Poetry):" echo "" echo " make install # Installer dépendances" echo " make test # Exécuter les tests crypto" echo " make lint # Vérifier la qualité" echo " make format # Formater le code" echo "" echo "===============================================" echo "✅ L'application est prête!" echo "" echo "📞 Besoin d'aide ?" echo " Consulter PROJECT_SUMMARY.md pour les détails" echo ""