Files
Portfolio/main.py
T
2025-08-29 19:47:17 +02:00

42 lines
1.0 KiB
Python

import os
from fastapi import FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
import MySQLdb
from dotenv import load_dotenv
load_dotenv()
app = FastAPI()
origins = [
"http://localhost",
"http://localhost:5173",
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
def get_db_connection():
try:
conn = MySQLdb.connect(
user=os.getenv("DB_USER"),
passwd=os.getenv("DB_PASS"),
host=os.getenv("DB_HOST"),
db=os.getenv("DB_NAME"),
charset='utf8mb4',
cursorclass=MySQLdb.cursors.DictCursor
)
return conn
except MySQLdb.Error as e:
print(f"Erreur de connexion à la base de données : {e}")
raise HTTPException(status_code=500, detail="Erreur interne du serveur lors de la connexion à la base de données.")
@app.get("/")
def read_root():
return {"status": "API Portfolio fonctionnelle !"}