Bienvenue dans la Toolbox IA V2 !¶
🧮 Toolbox IA - V2 (Micro-services)¶
Bienvenue dans la Toolbox IA V2 ! Ce projet est passé d’un simple script Python à une véritable architecture modulaire, robuste et conteneurisée.
🏗️ Architecture du Projet¶
L’application est découpée en micro-services isolés :
API (FastAPI) : Le « Cerveau ». Gère la logique métier (mon_module.py), les contrats de données (Pydantic) et la communication avec la base de données.
Frontend (Streamlit) : L’interface utilisateur. Isolée et réactive.
Database (PostgreSQL) : Assure la persistance des opérations mathématiques.
🚀 Guide d’Installation¶
C’est la méthode de production. Vous n’avez besoin que de Docker et de Docker Compose.
Cloner le dépôt :
git clone https://github.com/gprodi/toolbox_ia.git cd toolbox_ia
Préparez vos secrets en copiant le template :
cp .env.example .env
Lancez l’infrastructure complète :
export DOCKERHUB_USERNAME="gprodi" docker-compose -f docker-compose.prod.yml up -d
Accédez aux services :
Frontend : http://localhost:8501
Documentation API (Swagger) : http://localhost:8000/docs
💻 Développement Local (Docker)¶
Si vous développez sur le code, l’application utilise l’outil uv pour une gestion ultra-rapide des environnements virtuels.
Si vous souhaitez modifier le code et tester l’architecture complète sur votre machine avec un rechargement des conteneurs : :
docker-compose up --build
(Note : N’oubliez pas d’éteindre l’environnement de production avec docker-compose -f docker-compose.prod.yml down avant de lancer le développement pour éviter les conflits de ports).
💻 Développement Local (via uv)¶
Si vous développez sur le code, l’application utilise l’outil uv pour une gestion ultra-rapide des environnements virtuels.
Lancer l’API :
cd app_api uv sync uv run fastapi dev main.py
Lancer le Front (dans un autre terminal) :
cd app_front uv sync uv run streamlit run main.py
📚 Documentation & Tests¶
La documentation technique (Sphinx/Furo) est générée automatiquement dans les GitHub Pages. Les tests d’API sont assurés par Pytest.
Lancer les tests unitaires:
cd app_api uv run pytest ../tests/test_api.py
🤝 Contribuer¶
Consultez notre page de gouvernance dédiée.
👥 Contributeurs¶
Prodi.G - Ingénieur / Créateur
📄 Licence¶
Ce projet est sous licence MIT. Consultez la page de licence.
🧠 Micro-Service API (Backend):
🖥️ Micro-Service Front (UI):
📈 Suivi & Légal: