""" app.py — moteur Forge, point d'entrée. Lance un serveur web local. Fonctionnalités construites pour l'instant (le reste viendra au fur et à mesure) : 1. Créer un jeu (dossier + index.html/css/js + base de données dédiée). 2. Définir des "objets" (comme des tables de base de données, avec des champs typés, et des relations vers d'autres objets déjà définis). 3. Le moteur lit ces définitions et génère lui-même le formulaire adapté pour saisir des données et les enregistrer dans la vraie base SQLite. 4. CRUD complet sur les trois niveaux (jeu / objet / donnée) : renommer et supprimer un jeu, modifier une définition d'objet (ajouter/retirer des champs) et la supprimer, modifier et supprimer une ligne de données — avec blocage/avertissement quand une suppression casserait une relation existante. """ import threading import webbrowser from core.flask_app import app from core import jinja_filters # noqa: F401 - enregistre les filtres Jinja import routes # noqa: F401 - enregistre toutes les routes sur `app` from core import auth_guard # noqa: F401 - enregistre la garde de connexion (après les routes) from core import csrf # noqa: F401 - enregistre csrf_token() comme variable globale Jinja from core import csrf_guard # noqa: F401 - enregistre la vérification du jeton CSRF def _open_browser(): webbrowser.open("http://127.0.0.1:5050/") if __name__ == "__main__": threading.Timer(1.0, _open_browser).start() app.run(host="127.0.0.1", port=5050, debug=True, use_reloader=False)