Mise en place de l'environnement de développement
Prérequis
- Python 3.12
- Docker et Docker Compose (base de données et Redis)
- Git, et
make
1. Cloner et créer un environnement virtuel
git clone https://github.com/fonrex/fonrex.git
cd fonrex
python3.12 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
2. Installer les dépendances verrouillées
make install-dev
Cette commande installe requirements-dev.lock : des versions exactes, chacune vérifiée par rapport à son hash, soit les mêmes paquets que l'image Docker et la CI. Après avoir modifié requirements*.txt, rafraîchissez les verrous avec make lock (nécessite uv) ; ne modifiez jamais les fichiers .lock à la main.
3. Démarrer la base de données et Redis
cp .env.example .env # set FONREX_API_KEY
docker compose up -d db redis
Les deux sont publiés sur 127.0.0.1 : les adresses localhost de .env.example les atteignent donc.
4. Migrer et lancer l'API
alembic upgrade head
make run # uvicorn --reload on port 5000, loads .env
La documentation interactive se trouve à http://localhost:5000/docs.
Pour exécuter plutôt votre copie de travail dans Docker, sans reconstruire à chaque modification :
docker compose -f docker-compose.yml -f docker-compose.dev.yml up
5. Lancer le contrôle qualité
make ci
Voir Tests. Avant d'ouvrir une pull request, lisez les Règles d'architecture : chaque règle est garantie par un test. Les titres de pull request suivent Conventional Commits (feat, fix, docs, chore, refactor, perf, test), avec un sujet en minuscules.