# Architecture — MicroAPI ## Stack | Couche | Technologie | Justification | |---|---|---| | Framework | FastAPI | Performant, async, documentation auto (Swagger) | | Serveur | Uvicorn | ASGI, production-ready | | Runtime | Python 3.11+ | Écosystème riche, gratuit | | Base de données | SQLite (phase 1) | Zéro ops, migration vers PostgreSQL si besoin | | Conteneurisation | Docker | Isolation, déploiement reproductible | | Reverse proxy | Caddy (existant) | Routing, HTTPS | | Paiements | Lemon Squeezy | MoR, 0€/mois, gère TVA | | Emails | Resend (gratuit 3K/mois) | Transactionnel | | Monitoring | Uptime Kuma (existant) | Health checks | ## Structure des dossiers ``` micro-api/ ├── main.py # Application FastAPI ├── requirements.txt # Dépendances Python ├── Dockerfile # Image Docker ├── docker-compose.yml # Stack de déploiement ├── README.md # Documentation utilisateur ├── ARCHITECTURE.md # Ce document ├── tests/ # Tests unitaires & intégration │ └── test_health.py ├── app/ # Code applicatif (à venir) │ ├── routers/ # Endpoints API │ ├── services/ # Logique métier (transcription, etc.) │ ├── models/ # Modèles de données │ └── utils/ # Utilitaires └── data/ # Données persistantes (volumes) ``` ## Principes 1. **Stateless** — Chaque requête est indépendante, pas de session serveur 2. **Async-first** — Tous les endpoints sont async par défaut 3. **API-first** — Documentation Swagger automatique sur `/docs` 4. **12-factor** — Configuration par variables d'environnement 5. **Zéro coût opérationnel** — Whisper local, pas d'API externe payante ## Roadmap technique 1. ✅ Scaffold (health check, structure) 2. ⬜ Endpoint /api/transcribe (Whisper local, upload fichier) 3. ⬜ Endpoint /api/summarize (Résumé de texte) 4. ⬜ Endpoint /api/convert (Markdown→PDF, JSON→CSV) 5. ⬜ Authentification API keys 6. ⬜ Rate limiting + quotas 7. ⬜ Intégration Lemon Squeezy (paiements) 8. ⬜ Dashboard utilisateur