# Don't Look Up - Server Backend du jeu "Don't Look Up", un jeu narratif post-apocalyptique généré par IA. ## 🛠️ Installation 1. Assurez-vous d'avoir Python 3.10+ et Poetry installés 2. Clonez le repository 3. Installez les dépendances : ```bash cd server poetry install ``` 4. Créez un fichier `.env` à la racine du dossier `server` avec : ```env MISTRAL_API_KEY=votre_clé_api_mistral ``` ## 🚀 Lancement du serveur ```bash poetry run dev ``` Le serveur démarrera sur `http://localhost:8000` ## 🎮 Tests du jeu Le projet inclut un script de test qui permet de jouer au jeu en mode console et de tester la génération d'histoire. ### Modes de lancement 1. Mode interactif (normal) : ```bash poetry run test-game ``` 2. Mode automatique (pour les tests) : ```bash poetry run test-game --auto ``` 3. Mode automatique avec nombre de tours personnalisé : ```bash poetry run test-game --auto --max-turns 20 ``` 4. Mode automatique avec affichage du contexte complet : ```bash poetry run test-game --auto --show-context ``` ### Codes de retour En mode automatique, le script retourne : - Code 0 : Victoire - Code 1 : Défaite, erreur ou timeout (> 15 tours par défaut) ### Exemple d'utilisation dans un script ```bash # Lancer 5 tests automatiques d'affilée for i in {1..5}; do echo "Test run $i" poetry run test-game --auto || echo "Test $i failed" done ``` ## 📚 Structure du projet ``` server/ ├── api/ # Routes et modèles FastAPI ├── core/ # Logique métier et générateurs │ ├── generators/ # Générateurs (histoire, univers, etc.) │ └── prompts/ # Templates de prompts pour l'IA ├── scripts/ # Scripts utilitaires └── services/ # Services externes (Mistral, etc.) ``` ## 🔄 Workflow de génération 1. Génération de l'univers (`UniverseGenerator`) - Style graphique - Genre - Époque - MacGuffin - Histoire de base 2. Génération des segments d'histoire (`StoryGenerator`) - Texte narratif - Choix - Prompts d'images - Métadonnées (temps, lieu) 3. Gestion de l'état du jeu (`GameState`) - Progression de l'histoire - Historique des choix - État du monde