Scrap-Dji / INSTALL_WINDOWS.md
joel
Initial deployment: Scrap-Dji with API
dfdddb1

Guide d'installation Windows - Scrap-Dji

🪟 Installation des services sur Windows

1. PostgreSQL

Téléchargement et installation :

  1. Aller sur https://www.postgresql.org/download/windows/
  2. Télécharger PostgreSQL 15+ pour Windows
  3. Exécuter l'installateur
  4. Important : Noter le mot de passe de l'utilisateur postgres
  5. Laisser le port par défaut (5432)

Configuration :

# Ouvrir Command Prompt en tant qu'administrateur
# Créer la base de données
psql -U postgres -c "CREATE DATABASE scrapdji;"

# Tester la connexion
psql -U postgres -d scrapdji -c "SELECT version();"

Configuration dans .env :

POSTGRES_URI=postgresql://postgres:votre_mot_de_passe@localhost:5432/scrapdji

2. MongoDB

Téléchargement et installation :

  1. Aller sur https://www.mongodb.com/try/download/community
  2. Télécharger MongoDB Community Server pour Windows
  3. Exécuter l'installateur
  4. Choisir "Complete" installation
  5. Installer MongoDB Compass (interface graphique)

Démarrer le service :

# Démarrer MongoDB
net start MongoDB

# Vérifier le statut
sc query MongoDB

Configuration dans .env :

MONGO_URI=mongodb://localhost:27017
MONGO_DB=scrapdji

3. Typesense (Optionnel)

Option A : Docker (Recommandé)

# Installer Docker Desktop depuis https://www.docker.com/products/docker-desktop/
# Puis lancer :
docker run -p 8108:8108 -v typesense-data:/data typesense/typesense:latest --data-dir /data --api-key=xyz

Option B : Exécutable Windows

  1. Aller sur https://github.com/typesense/typesense/releases
  2. Télécharger typesense-server-0.25.0-windows-amd64.exe
  3. Créer un dossier C:\typesense
  4. Copier l'exécutable et créer un fichier config.json :
{
  "api-key": "xyz",
  "data-dir": "C:\\typesense\\data",
  "enable-cors": true
}

Démarrer Typesense :

# Créer un service Windows
sc create Typesense binPath= "C:\typesense\typesense-server.exe --config=C:\typesense\config.json"
sc start Typesense

4. Qdrant (Optionnel)

Option A : Docker

docker run -p 6333:6333 qdrant/qdrant

Option B : Exécutable Windows

  1. Aller sur https://github.com/qdrant/qdrant/releases
  2. Télécharger qdrant-1.7.4-x86_64-pc-windows-msvc.zip
  3. Extraire dans C:\qdrant
  4. Créer un service :
sc create Qdrant binPath= "C:\qdrant\qdrant.exe"
sc start Qdrant

🔧 Configuration automatique

Script de configuration Windows :

# Exécuter en tant qu'administrateur
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# Lancer la configuration
python setup.py --windows

Vérification des services :

# Vérifier PostgreSQL
Get-Service -Name "postgresql*"

# Vérifier MongoDB
Get-Service -Name "MongoDB"

# Vérifier les ports
netstat -an | findstr ":5432"
netstat -an | findstr ":27017"
netstat -an | findstr ":8108"
netstat -an | findstr ":6333"

🚀 Lancement du scraping

1. Préparation :

# Activer l'environnement virtuel
venv\Scripts\activate

# Installer les dépendances
pip install -r requirements.txt

2. Configuration :

# Copier les fichiers de configuration
copy config.env.example .env
copy sources.json.example sources.json

# Éditer .env avec vos paramètres
notepad .env

3. Test :

# Test sans sauvegarde
python run_scraper.py --dry-run

# Lancement complet
python run_scraper.py

🐛 Dépannage Windows

Erreur PostgreSQL :

# Vérifier le service
sc query postgresql-x64-15

# Redémarrer si nécessaire
sc stop postgresql-x64-15
sc start postgresql-x64-15

# Vérifier la connexion
psql -U postgres -c "SELECT 1;"

Erreur MongoDB :

# Vérifier le service
sc query MongoDB

# Redémarrer si nécessaire
net stop MongoDB
net start MongoDB

# Vérifier la connexion
mongosh --eval "db.runCommand('ping')"

Erreur de permissions :

# Donner les permissions à l'utilisateur
icacls "C:\Program Files\PostgreSQL" /grant "Users":(OI)(CI)F
icacls "C:\ProgramData\MongoDB" /grant "Users":(OI)(CI)F

Erreur de port déjà utilisé :

# Voir qui utilise le port
netstat -ano | findstr :5432

# Tuer le processus si nécessaire
taskkill /PID <PID> /F

📊 Monitoring Windows

Services à surveiller :

# Script de monitoring
Get-Service -Name "postgresql*", "MongoDB" | Select-Object Name, Status, StartType

Logs Windows :

# Voir les logs d'événements
Get-EventLog -LogName Application -Source "PostgreSQL*" -Newest 10
Get-EventLog -LogName Application -Source "MongoDB*" -Newest 10

Performance :

# Surveiller les ressources
Get-Counter "\Processor(_Total)\% Processor Time"
Get-Counter "\Memory\Available MBytes"

🔒 Sécurité Windows

Firewall :

# Autoriser PostgreSQL
netsh advfirewall firewall add rule name="PostgreSQL" dir=in action=allow protocol=TCP localport=5432

# Autoriser MongoDB
netsh advfirewall firewall add rule name="MongoDB" dir=in action=allow protocol=TCP localport=27017

Antivirus :

  • Ajouter les dossiers du projet aux exclusions
  • Autoriser Python et les services dans l'antivirus

📋 Checklist d'installation

  • PostgreSQL installé et configuré
  • MongoDB installé et démarré
  • Typesense installé (optionnel)
  • Qdrant installé (optionnel)
  • Environnement virtuel créé
  • Dépendances installées
  • Fichier .env configuré
  • Fichier sources.json configuré
  • Test --dry-run réussi
  • Premier scraping lancé

🎯 Prochaines étapes

  1. Configurer vos sources dans sources.json
  2. Optimiser les paramètres selon vos besoins
  3. Automatiser le scraping avec Task Scheduler
  4. Monitorer les performances avec les outils Windows
  5. Sauvegarder régulièrement les bases de données