temptours+tours
This commit is contained in:
74
engine/db.py
Normal file
74
engine/db.py
Normal file
@ -0,0 +1,74 @@
|
||||
"""
|
||||
db.py
|
||||
======
|
||||
Module de gestion de la connexion MySQL pour le moteur de résultats.
|
||||
|
||||
Ce module est séparé pour éviter de dupliquer la logique de connexion
|
||||
dans plusieurs fichiers Python. Si plus tard tu veux réutiliser cette
|
||||
connexion dans d'autres scripts, tu n'auras qu'à importer get_connection().
|
||||
"""
|
||||
|
||||
import mysql.connector
|
||||
from mysql.connector import Error
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# CONFIGURATION DE LA BASE DE DONNÉES
|
||||
# ---------------------------------------------------------------------------
|
||||
# ⚠ IMPORTANT :
|
||||
# - Adapte ces valeurs à TON environnement (dev / prod).
|
||||
# - Idéalement, tu peux plus tard les lire à partir d'un fichier
|
||||
# (ex: info_serveur.txt) pour éviter de hardcoder les mots de passe.
|
||||
# ---------------------------------------------------------------------------
|
||||
DB_CONFIG = {
|
||||
"host": "serveur-prod.progiweb.net",
|
||||
"user": "ms1reader_bd", # ajuste au besoin
|
||||
"password": "X~=v]lg-l]4,T2FF", # ajuste au besoin
|
||||
"database": "ms1reader_centrale",
|
||||
"port": 3306
|
||||
}
|
||||
|
||||
TABLE_NAME = "reader_lectures"
|
||||
|
||||
def get_connection():
|
||||
"""
|
||||
Crée et retourne une connexion MySQL.
|
||||
|
||||
Returns
|
||||
-------
|
||||
mysql.connector.connection_cext.CMySQLConnection
|
||||
Connexion déjà ouverte vers la base configurée dans DB_CONFIG.
|
||||
|
||||
Raises
|
||||
------
|
||||
mysql.connector.Error
|
||||
Si la connexion échoue (mauvais host, user, password, etc.).
|
||||
"""
|
||||
return mysql.connector.connect(**DB_CONFIG)
|
||||
|
||||
|
||||
def test_connection():
|
||||
"""
|
||||
Petit utilitaire pour tester rapidement la connexion.
|
||||
Tu peux exécuter ce fichier directement :
|
||||
python -m engine.db
|
||||
"""
|
||||
try:
|
||||
cnx = get_connection()
|
||||
if cnx.is_connected():
|
||||
print("[OK] Connexion MySQL réussie.")
|
||||
else:
|
||||
print("[ERREUR] Connexion MySQL NON établie.")
|
||||
except Error as e:
|
||||
print(f"[ERREUR] Mysql : {e}")
|
||||
finally:
|
||||
try:
|
||||
if cnx and cnx.is_connected():
|
||||
cnx.close()
|
||||
except NameError:
|
||||
# cnx n'existe pas si la connexion a échoué avant son affectation
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_connection()
|
||||
Reference in New Issue
Block a user