Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Script de configuration pour Scrap-Dji | |
| Initialise les bases de données et les services nécessaires | |
| """ | |
| import os | |
| import sys | |
| import subprocess | |
| from pathlib import Path | |
| def check_python_version(): | |
| """Vérifie la version de Python""" | |
| if sys.version_info < (3, 10): | |
| print("❌ Python 3.10+ requis") | |
| sys.exit(1) | |
| print("✅ Version Python OK") | |
| def install_dependencies(): | |
| """Installe les dépendances""" | |
| print("📦 Installation des dépendances...") | |
| try: | |
| subprocess.run([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"], check=True) | |
| print("✅ Dépendances installées") | |
| except subprocess.CalledProcessError: | |
| print("❌ Erreur lors de l'installation des dépendances") | |
| sys.exit(1) | |
| def create_directories(): | |
| """Crée les répertoires nécessaires""" | |
| directories = [ | |
| "storage_data", | |
| "logs", | |
| "data", | |
| "temp" | |
| ] | |
| for directory in directories: | |
| Path(directory).mkdir(exist_ok=True) | |
| print(f"✅ Répertoire créé: {directory}") | |
| def setup_env_file(): | |
| """Configure le fichier .env""" | |
| if not os.path.exists(".env"): | |
| if os.path.exists("config.env.example"): | |
| os.system("copy config.env.example .env") | |
| print("✅ Fichier .env créé (à configurer)") | |
| else: | |
| print("⚠️ Créez un fichier .env basé sur config.env.example") | |
| else: | |
| print("✅ Fichier .env existe déjà") | |
| def init_databases(): | |
| """Initialise les bases de données""" | |
| print("🗄️ Initialisation des bases de données...") | |
| try: | |
| from db.postgres_connector import init_db | |
| init_db() | |
| print("✅ Base PostgreSQL initialisée") | |
| except Exception as e: | |
| print(f"⚠️ Erreur PostgreSQL: {e}") | |
| print(" Assurez-vous que PostgreSQL est installé et configuré") | |
| def check_services(): | |
| """Vérifie les services requis""" | |
| services = { | |
| "PostgreSQL": "postgresql://localhost:5432", | |
| "MongoDB": "mongodb://localhost:27017", | |
| "Typesense": "http://localhost:8108", | |
| "Qdrant": "http://localhost:6333" | |
| } | |
| print("🔍 Vérification des services...") | |
| for service, url in services.items(): | |
| try: | |
| # Vérification basique | |
| print(f" {service}: {'✅' if 'localhost' in url else '⚠️'}") | |
| except: | |
| print(f" {service}: ❌") | |
| def main(): | |
| print("🚀 Configuration de Scrap-Dji") | |
| print("=" * 40) | |
| check_python_version() | |
| install_dependencies() | |
| create_directories() | |
| setup_env_file() | |
| init_databases() | |
| check_services() | |
| print("\n" + "=" * 40) | |
| print("✅ Configuration terminée!") | |
| print("\n📋 Prochaines étapes:") | |
| print("1. Configurez le fichier .env avec vos paramètres") | |
| print("2. Installez et démarrez PostgreSQL, MongoDB, Typesense, Qdrant") | |
| print("3. Configurez vos sources dans sources.json") | |
| print("4. Lancez le scraping avec: python -m scraper.main") | |
| if __name__ == "__main__": | |
| main() |