French Ship Madame De Pompadour
Simulation sociale et générateur d'histoires créant des récits de science-fiction inspirés de Star Trek. Développement en Python/Flask avec des structures de données, l'API Gemini et une interface utilisateur React/Vite/Tailwind.
Simulateur de vaisseau spatial utilisant l'IA et des actions aléatoires inspiré de Star Trek.
FS Madame de Pompadour est un simulateur narratif textuel qui crée des histoires dynamiques et imprévisibles se déroulant dans un univers de science-fiction. En cliquant sur « Suivant », vous avancez la simulation d'un tour à la fois, observant un groupe de personnages interagir entre eux selon une combinaison de comportements prédéfinis et d'IA générative.
L'objectif est de créer un « terrarium numérique » où des dynamiques sociales complexes et des événements inattendus émergent de règles simples et de la puissance créative de l'IA.
Bienvenue à bord du FS Madame de Pompadour.
Le Capitaine Pepillo se tourna vers le Matelot Harold et aboya : « Rapport sur les mesures disciplinaires prises contre Von. »
Le Capitaine Pepillo se tourna vers la station de communications et exigea : « Passez-moi le Lieutenant Dubois immédiatement. »
Tedrick se pencha vers le Matelot Waylon et murmura : « Tu as vu ce que Von a fait ? On dirait que le Capitaine Pepillo est de mauvaise humeur aujourd'hui », tout en ajustant subtilement son uniforme pour paraître présentable.
Konstantin jette un coup d'œil rapide au Matelot Harold, puis marmonne doucement au Matelot Mohammed : « Je me demande ce que Von a fait pour se mettre le Capitaine à dos cette fois », tout en polissant discrètement une section de la rambarde voisine.
Le Matelot Von redresse nerveusement son uniforme, puis, croisant le regard du Matelot Ezechiel, marmonne entre ses dents : « Ça va être une longue journée », espérant qu'Ezechiel répondra.
Le Matelot Mohammed, remarquant le polissage discret de Konstantin, jette un coup d'œil à la rambarde et dit : « On dirait qu'elle a besoin d'un bon récurage, hein ? Peut-être devrions-nous faire cette section ensemble, Konstantin ? »
Le Matelot Harold, notant l'atmosphère tendue et les ordres du Capitaine, ajusta négligemment son propre uniforme et marmonna au Matelot Sebastien : « On dirait que Von est sur la sellette, hein ? Tu crois qu'on devrait aller prendre un café pour détendre l'ambiance avant que les corvées ne deviennent plus désagréables ? »
Voyant la tension, le Matelot Westley se tourne vers le Matelot Flin et demande : « Tu as entendu ce qui s'est passé avec Von ? On dirait que le Capitaine est de mauvaise humeur, peut-être devrions-nous nous assurer que nos postes sont impeccables. »
Le Capitaine Pepillo demande l'avis professionnel du Matelot Harold.
Le Capitaine Pepillo se tourne vers le Matelot Von et exige : « Von, rapportez-moi immédiatement l'état de votre station et des systèmes. »
Le Matelot Westley, remarquant l'ordre sévère du Capitaine à Von, se tourne rapidement vers le Matelot Flin et dit doucement : « Flin, vérifions les soutes à provisions, je pense que le Capitaine voudra peut-être un inventaire des rations d'urgence », espérant paraître occupé et éviter toute attention indésirable.
Le Matelot Mohammed, voyant la tension autour du Capitaine Pepillo, s'approcha tranquillement du Matelot Ezechiel et murmura : « Tu crois qu'on devrait préparer des produits de nettoyage, au cas où le Capitaine aurait besoin que quelque chose soit fait rapidement ? »
Dans cet instantané de démonstration de la simulation FS Madame de Pompadour, nous observons un écosystème social complexe et dynamique en mouvement. Le système démontre sa capacité à générer un récit émergent non pas par des événements pré-écrits, mais en permettant à des agents indépendants d'interagir, créant ainsi une riche tapisserie crédible de la vie dans les ponts inférieurs.
La simulation s'enflamme avec un catalyseur clair : une figure d'autorité de haut rang, le Capitaine Pepillo, introduisant une tension immédiate et à enjeux élevés par des ordres directs. Cette « cascade de commandement » devient le point gravitationnel central de tout l'écosystème social. Remarquez comment ses demandes ne déclenchent pas simplement des scripts de personnages individuels, mais initient plutôt un événement unifié et sous haute pression. Cela démontre la nouvelle focalisation du système sur la structure hiérarchique, où les actions d'un seul agent peuvent dicter l'orientation, l'humeur et l'objectif stratégique de chaque autre personnage dans l'environnement partagé.
Alors que les ordres du Capitaine se propagent à travers l'équipage, nous voyons l'émergence de stratégies sociales réactives sophistiquées. Les membres d'équipage ne continuent pas simplement avec des tâches oisives ; ils commencent immédiatement à traiter la nouvelle réalité. Observez comment des personnages comme Tedrick et Konstantin forment des groupes de conversation temporaires pour potiner et analyser la situation, tentant de donner un sens à la nouvelle dynamique de pouvoir. Plus impressionnant encore, le Matelot Westley démontre un niveau plus élevé de logique émergente en formulant activement une stratégie de survie—suggérant que lui et un coéquipier aient l'air occupés avec des tâches officielles pour éviter la colère du Capitaine. Ce n'est pas un comportement pré-écrit, mais une conclusion sociale logique générée par l'IA en réponse à une menace perçue, démontrant une capacité robuste d'évaluation des risques.
Cette brève fenêtre révèle un moteur puissant pour la narration émergente qui mélange harmonieusement les rôles professionnels avec l'anxiété personnelle. Nous voyons le Matelot Harold forcé de passer d'une conversation informelle et feutrée à donner une opinion professionnelle formelle sur la demande du Capitaine, illustrant la capacité du système à gérer des contextes sociaux conflictuels. La simulation entière tourne autour du conflit central avec Von, créant une cocotte-minute narrative unifiée plutôt qu'une collection de drames séparés et silencieux. Le moteur a mûri au-delà de la simple génération d'une tapisserie de vie, démontrant désormais le pouvoir de simuler un réseau complexe de calculs sociaux, d'alliances stratégiques et de pensée de groupe émergente sous la contrainte.
FS Madame de Pompadour est construit sur une architecture web moderne et découplée, séparant le moteur de simulation backend de l'interface utilisateur frontend pour la modularité et les performances.
Backend : Python, Flask et Gemini
L'ensemble du cœur et de la logique de la simulation réside dans le backend Python.
- Python : Le choix naturel pour sa puissante gestion des données et son écosystème IA/ML robuste. L'approche orientée objet permet des classes
CrewmanetActorManagermodulaires et faciles à étendre. - Flask : Un framework web léger et flexible utilisé pour créer l'API avec laquelle le frontend communique. Sa seule responsabilité est de recevoir une demande pour le tour suivant, de déclencher la logique de simulation et de retourner le résultat.
- Google Gemini : Le « fantôme dans la machine ». Le projet s'intègre à l'API Gemini pour alimenter son système d'action intelligent. Lorsqu'un personnage décide d'agir « intelligemment », le backend envoie une invite—contenant le contexte du vaisseau, le rôle du personnage et l'historique des actions récentes—au modèle Gemini, qui retourne ensuite une action créative et contextuelle.
Frontend : React, Vite et Tailwind CSS
L'interface utilisateur est une application monopage (SPA) rapide et moderne.
- React : Une puissante bibliothèque JavaScript pour la création d'interfaces utilisateur dynamiques et basées sur des composants. L'ensemble du journal d'événements est un composant React qui se met à jour efficacement à mesure que de nouvelles actions sont reçues du backend.
- Vite : Un outil de construction frontend de nouvelle génération qui fournit un serveur de développement extrêmement rapide et des builds de production optimisés.
- TypeScript : Utilisé pour ajouter un typage statique au code JavaScript, améliorant l'expérience développeur et réduisant les bogues.
- Tailwind CSS : Un framework CSS utilitaire qui permet un style rapide et cohérent directement dans le HTML, comme on le voit dans les noms de classes du composant.
Architecture Globale
Le flux d'un seul tour est simple et efficace :
- L'utilisateur clique sur le bouton « Suivant » dans l'interface utilisateur React.
- Le frontend envoie une requête
fetchau point de terminaison/actiondu backend fonctionnant sur Flask. - Le serveur Flask appelle le
ActorManagerPython, qui exécute un seul tour de la simulation, appelant potentiellement l'API Gemini. - Le backend retourne la chaîne d'action résultante sous forme d'objet JSON.
- Le frontend React reçoit le JSON, met à jour son état et affiche le nouvel événement à l'écran, défilant automatiquement jusqu'à la dernière entrée.
