from fastapi import FastAPI, Query from typing import List from app import database from fastapi.middleware.cors import CORSMiddleware app = FastAPI( title="Articles API", description="API pour récupérer articles et tags depuis SQLite", version="1.0" ) # CORS pour permettre l'accès depuis le navigateur app.add_middleware( CORSMiddleware, allow_origins=["*"], # autorise toutes les origines allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/get_tags") def get_tags(): """ Retourne la liste de tous les tags """ tags = database.fetch_tags() return {"tags": tags} @app.get("/get_articles_with_tags") def get_articles_with_tags( tags: List[str] = Query(..., description="Liste des tags à filtrer") ): """ Retourne les articles correspondant aux tags donnés """ articles = database.fetch_articles_by_tags(tags) return {"tags": tags, "articles": articles}