Skip to content

Latest commit

 

History

History
195 lines (144 loc) · 14.3 KB

File metadata and controls

195 lines (144 loc) · 14.3 KB

ForexSignalBot: Signaux Forex pour Telegram basés sur l'IA / Transmetteur automatique intelligent, gratuit et open source 📈🤖✨🚀

License GitHub Stars GitHub Forks GitHub Issues GitHub Closed Issues GitHub Pull Requests GitHub Closed Pull Requests Test Coverage Top Language .NET Version Last Commit Commit Activity Code Size Contributors GitHub Repo stars

🚀 Commencez dès maintenant !

ForexSignalBot Demo

🚀 Démarrage

Vous pouvez exécuter ce projet de deux manières : avec Docker (recommandé pour une configuration rapide) ou en configurant manuellement un environnement local.

Option 1 : Démarrage rapide avec Docker (Recommandé)

Faites tourner l'ensemble de la pile applicative — API, base de données PostgreSQL et cache Redis — en quelques minutes avec Docker. C'est le moyen le plus rapide et le plus simple de commencer.

Prérequis

  • Docker Desktop : Assurez-vous qu'il est installé et en cours d'exécution sur votre système. Téléchargez-le ici.

Étape 1 : Cloner le dépôt

Ouvrez votre terminal et clonez le code source du projet.

git clone https://github.com/Opselon/ForexTradingBot.git
cd ForexTradingBot

Étape 2 : Configurer vos secrets

L'application nécessite des clés API et des mots de passe. Nous utilisons un fichier .env à cet effet, qui est gardé privé.

  1. Créez le fichier d'environnement :

    cp .env.example .env
  2. Modifiez le fichier .env : Ouvrez le nouveau fichier .env et remplissez vos valeurs secrètes réelles.

    • TELEGRAM_BOT_TOKEN : Obtenez-le auprès de @BotFather sur Telegram.
    • POSTGRES_PASSWORD : Créez un mot de passe fort et sécurisé pour votre base de données.

Étape 3 : Lancez l'application ! 🔥

Avec Docker en cours d'exécution, exécutez une seule commande depuis le répertoire racine du projet :

docker-compose up --build -d

Cette commande construit et démarre les conteneurs API, PostgreSQL et Redis. L'API est configurée pour appliquer automatiquement les migrations de base de données au démarrage.

Étape 4 : Remplir la base de données (Seed)

Le bot a besoin d'une liste initiale de flux RSS. Connectez-vous à la base de données à l'aide d'un client comme DBeaver ou DataGrip et exécutez le script Populate_RssSources_Categories.sql.

  • Hôte : localhost
  • Port : 5432
  • Base de données : forexsignalbot_db
  • Utilisateur : postgres
  • Mot de passe : Le POSTGRES_PASSWORD que vous avez défini dans .env.

🎉 Et voilà ! Votre bot fonctionne maintenant dans Docker.


Option 2 : Configuration de développement local (sans Docker)

Suivez ces étapes si vous préférez exécuter l'application directement sur votre machine.

Prérequis

  1. .NET 9 SDK :

  2. Base de données PostgreSQL :

    • Installez et exécutez un serveur PostgreSQL local.
    • Créez une base de données et un utilisateur.
    • Mettez à jour votre chaîne de connexion dans le fichier appsettings.Development.json.
  3. Serveur Redis :

    • Redis est utilisé pour la mise en cache et le traitement des tâches en arrière-plan.
    • Pour Windows : Installez un serveur compatible avec Redis comme Memurai.
    • Pour macOS/Linux : Installez via un gestionnaire de paquets (ex. brew install redis ou sudo apt-get install redis-server).

Exécuter l'application localement

Pour les développeurs qui préfèrent exécuter l'application directement sur leur machine, suivez ces étapes :

  1. Clonez le dépôt (si ce n'est pas déjà fait).
  2. Configurez appsettings.Development.json avec votre chaîne de connexion de base de données locale et d'autres paramètres.
  3. Appliquez les migrations de base de données :
    dotnet ef database update --startup-project WebApi --project Infrastructure
  4. Remplissez la base de données en exécutant le script Populate_RssSources_Categories.sql sur votre base de données locale.
  5. Lancez l'API :
    dotnet run --project WebApi

Pour des détails plus complets et des instructions de déploiement en production, veuillez consulter le guide dédié INSTALL.md.


🛠️ Guide du développeur

Cette section contient des commandes courantes pour le développement.

Gestion des migrations de base de données

Avant d'exécuter ces commandes, assurez-vous que les outils EF Core sont installés : dotnet tool install --global dotnet-ef

  • Ajouter une nouvelle migration : Lorsque vous modifiez un modèle de domaine, créez une nouvelle migration.

    dotnet ef migrations add VotreNomDeMigration --startup-project WebApi --project Infrastructure

    (Remplacez VotreNomDeMigration par un nom descriptif, ex. AddSignalStatus)

  • Appliquer les migrations : Pour mettre à jour manuellement le schéma de la base de données.

    dotnet ef database update --startup-project WebApi --project Infrastructure

Créer une version de production (Build)

Pour compiler l'application en un exécutable autonome pour le déploiement :

# Exemple pour une version autonome pour Windows x64
dotnet publish --configuration Release --runtime win-x64 --self-contained true --project WebApi
  • La sortie se trouvera dans le dossier WebApi/bin/Release/net9.0/win-x64/publish.

Étape 4 : L'assistant de configuration Web ✨

Voici le nouveau processus de configuration simplifié.

  1. Ouvrez le panneau Web : Accédez à http://localhost:5000/login.html dans votre navigateur.
  2. Connexion : Utilisez les identifiants par défaut :
    • Nom d'utilisateur : admin
    • Mot de passe : admin (Il vous sera demandé de modifier ces informations sensibles lors du premier processus de configuration dans l'interface web pour une meilleure sécurité.)
  3. Configuration guidée : Après vous être connecté pour la première fois, vous serez automatiquement redirigé vers une page de configuration sécurisée (/indexapp.html).
    • Sur cette page, il vous sera demandé d'entrer votre Token de bot Telegram et d'autres paramètres essentiels.
    • Le système testera vos identifiants en direct pour s'assurer de leur validité avant de les enregistrer.
    • Une fois enregistrés, ces paramètres sont stockés de manière sécurisée dans la base de données, et non dans des fichiers texte.
  4. Remplissage de la base de données : Après la configuration initiale, il vous sera demandé de remplir la base de données. Cliquez sur le bouton "Seed Database" dans l'interface web. Cela remplira la liste initiale de flux RSS et autres données requises.

🎉 Et voilà ! Votre bot est maintenant entièrement configuré et fonctionnel. Vous pouvez tout gérer depuis le panneau web. alt text

🌟 Stargazers au fil du temps

Si ce projet vous est utile, n'hésitez pas à lui donner une 🌟 Stargazers over time


🌍 Fichiers README multilingues 🌍

Nous fournissons des fichiers README en plusieurs langues pour rendre notre projet accessible aux utilisateurs du monde entier. Choisissez votre langue préférée ci-dessous :

Langue Code de langue Fichier README Statut
Anglais 🇺🇸 EN README.md ✅ Complet
Russe 🇷🇺 RU README_RU.md ✅ Complet
Persan 🇮🇷 FA README_FA.md ✅ Complet
Chinois 🇨🇳 ZH README_ZH.md ✅ Complet
Espagnol 🇪🇸 ES README_ES.md ✅ Complet
Français 🇫🇷 FR README_FR.md ✅ Complet
Allemand 🇩🇪 DE README_DE.md ✅ Complet
Turc 🇹🇷 TR README_TR.md ✅ Complet
Arabe 🇸🇦 AR README_AR.md ✅ Complet
Hindi 🇮🇳 HI README_HI.md ✅ Complet
Italien 🇮🇹 IT README_IT.md ✅ Complet
Portugais 🇵🇹 PT README_PT.md ✅ Complet

Chaque fichier README contient la documentation complète du projet, les instructions de configuration et les fonctionnalités traduites dans la langue respective. Tous les fichiers sont maintenus à jour avec les dernières informations du projet.