Files
micro-api/architecture.md

2.2 KiB

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