Vision d'ensemble
Le Projet Horizon doit permettre à P.O.U.B.E.L.L.E., à l'équipage et aux différents systèmes de La Tanière d'interagir à travers un environnement commun. Cette continuité repose sur la Plateforme Horizon organisée autour d'un même Noyau. Des extensions spécialisées la relient aux services externes Twitch et Discord, tandis que le Poste de commande Web constitue son interface applicative interne.
Ce chapitre présente l'organisation fonctionnelle générale de cet ensemble. Il ne décrit pas encore l'architecture technique détaillée ni le traitement complet de chaque catégorie d'événement. Son objectif est d'établir le rôle des principales composantes, leurs relations et la manière dont une interaction peut circuler entre plusieurs interfaces sans être traitée comme une succession d'actions indépendantes.
La Plateforme Horizon constitue le corps technique du système. Le Noyau Horizon en est le cœur et le cerveau fonctionnel : il centralise le traitement des événements, l'accès contrôlé aux données, l'application des règles et la coordination des actions.
P.O.U.B.E.L.L.E. reste distincte de cet ensemble. Elle utilise la Plateforme et son Noyau pour observer, communiquer, mobiliser les ressources autorisées et demander l'exécution d'actions.
Une plateforme organisée autour d'un Noyau commun​
La Plateforme Horizon regroupe l'ensemble des moyens techniques nécessaires pour relier les points de contact de La Tanière, conserver un état commun et permettre l'exécution d'actions cohérentes. Elle comprend le Noyau Horizon, les extensions, le Poste de commande Web, les données et les services communs qu'elle contrôle. Twitch et Discord restent des services externes, même lorsqu'ils servent d'interfaces fonctionnelles avec l'équipage.
Le Noyau occupe une place centrale dans cette organisation. Il reçoit les événements provenant des extensions, effectue ou coordonne les calculs et les traitements nécessaires, charge les données utiles, applique les règles et les permissions, puis transmet les résultats aux composantes concernées. Toute action produisant une conséquence sur une interface, une donnée ou un système relié à Horizon doit être contrôlée par lui.
Cette centralité constitue une unicité fonctionnelle. Twitch, Discord et le Poste de commande Web ne doivent pas développer chacun leur propre interprétation des membres, de la progression ou des règles communes. Ils s'appuient sur une même autorité logique, même si l'implémentation technique du Noyau peut, à terme, être répartie entre plusieurs services ou plusieurs machines.
L'image du corps et du cerveau permet de résumer cette relation :
- La Plateforme Horizon forme le corps technique mis Ă la disposition de P.O.U.B.E.L.L.E.
- Le Noyau Horizon en constitue le cerveau fonctionnel et le centre de coordination.
- Les extensions assurent les liaisons avec les environnements extérieurs.
- Les interfaces sont les points de contact depuis lesquels l'équipage, le Capitaine, P.O.U.B.E.L.L.E. ou un service peuvent interagir avec la Plateforme ; Twitch et Discord sont des interfaces fonctionnelles externes, tandis que le Poste de commande Web appartient à Horizon.
Une extension et une interface remplissent donc des fonctions différentes. Twitch peut constituer une interface pour un membre de l'équipage, tandis que l'extension Twitch est le composant technique chargé de traduire les événements reçus et d'exécuter les actions autorisées sur ce service.
Trois interfaces complémentaires​
Twitch, Discord et le Poste de commande Web donnent accès au même écosystème, mais ne répondent ni aux mêmes usages ni au même rythme d'interaction. Horizon doit préserver cette complémentarité tout en leur donnant accès aux identités, aux données et aux règles communes dont elles ont besoin.
| Interface fonctionnelle | Position | RĂ´le principal | Exemples d'interactions |
|---|---|---|---|
| Twitch | Service externe relié par l'extension Twitch. | Interactions publiques et immédiates pendant les directs. | Messages, commandes, événements du direct, raids, progression, rôles ou grades et échanges avec P.O.U.B.E.L.L.E. |
| Discord | Service externe relié par l'extension Discord. | Vie communautaire en dehors des directs et interactions pouvant être différées. | Messages, annonces, commandes, progression, rôles ou grades et échanges avec P.O.U.B.E.L.L.E. |
| Poste de commande Web | Interface applicative appartenant à Horizon. | Consultation structurée et accès aux fonctions personnelles, opérationnelles ou administratives. | Profil, progression, historique, paramètres, suivi, configuration, administration selon les permissions et échanges avec P.O.U.B.E.L.L.E. |
Ces interfaces ne forment pas trois versions séparées d'Horizon. Elles représentent trois manières d'accéder à des fonctions communes et peuvent participer à un même événement. Une activité reconnue sur l'une d'elles peut modifier une donnée consultable depuis les deux autres ou déclencher une conséquence adaptée à chacune.
P.O.U.B.E.L.L.E. doit pouvoir être active sur les trois interfaces. Twitch n'est pas son unique espace d'expression, pas plus que le Poste de commande Web n'est un simple tableau d'affichage. Chacune permet une forme de communication adaptée à son contexte : immédiate et publique pendant un direct, communautaire et éventuellement différée sur Discord, ou structurée et personnelle depuis le Web.
La progression de l'équipage illustre cette continuité. L'activité reconnue sur Twitch, Discord ou le Poste de commande Web peut contribuer à une progression Horizon commune. Le niveau et le grade obtenus appartiennent à l'identité Horizon du membre ; ils peuvent ensuite être consultés depuis le Web et représentés par les rôles ou mécanismes adaptés sur Twitch et Discord.
Relation entre P.O.U.B.E.L.L.E. et la Plateforme Horizon​
P.O.U.B.E.L.L.E. est l'intelligence du vaisseau La Tanière. Elle ne constitue pas une composante de la Plateforme Horizon et ne résulte pas de l'assemblage du Noyau, du service LLM, du modèle employé, de la mémoire ou des interfaces. Horizon est l'infrastructure qu'elle utilise pour étendre ses moyens d'observation, de communication, de mémoire et d'action.
Lorsqu'une interaction nécessite son intervention, le Noyau rassemble le contexte utile et met à sa disposition les données ou les outils autorisés. P.O.U.B.E.L.L.E. peut demander l'accès à une information ou la préparation d'une réponse, mais cette demande passe toujours par le Noyau. Celui-ci peut alors solliciter le service LLM Horizon lorsque ses capacités sont utiles, puis contrôler l'utilisation du résultat avant toute communication vers Twitch, Discord ou le Poste de commande Web.
Le service LLM Horizon appartient à la Plateforme et reste contrôlé par le Noyau. Le Noyau sélectionne le modèle de prompt, les sources, les données autorisées et les restrictions applicables ; le service LLM assemble ces éléments, sollicite le modèle local retenu et vérifie la conformité technique et formelle de son résultat. Le modèle demeure une ressource technique : il peut contribuer à la compréhension du langage, à la formulation d'une réponse et à certains raisonnements conversationnels, mais il n'est pas P.O.U.B.E.L.L.E. et ne peut pas consulter librement la base de données, modifier un profil, attribuer un rôle ou envoyer directement un message sur une interface. Le choix exact du modèle reste à définir conformément au chapitre 19.
Le Noyau maintient cette séparation et demeure l'autorité fonctionnelle globale. Son orchestrateur est la fonction interne principale qui coordonne le traitement, appelle les contrôles et services nécessaires, puis rassemble leurs résultats. Il agit dans le périmètre d'autorité du Noyau et ne constitue pas une seconde autorité. Une réponse proposée par un modèle ne devient donc jamais, à elle seule, une action de la Plateforme.
Cette organisation permet à P.O.U.B.E.L.L.E. de conserver une présence cohérente sur les trois interfaces tout en respectant les mêmes règles, le même canon et les mêmes limites. Le canal d'expression peut changer ; l'entité avec laquelle l'équipage interagit reste la même.
Les services communs de la Plateforme​
Le Noyau s'appuie sur plusieurs services communs pour éviter que chaque extension reconstruise séparément les informations et les traitements dont elle a besoin.
- L'état global Horizon représente la situation commune connue de la Plateforme à un instant donné. Il permet aux différentes composantes autorisées de travailler à partir d'informations cohérentes, par exemple l'identité d'une personne, son niveau, son grade, ses permissions ou l'état d'un traitement en cours.
- La persistance des données conserve les identités, la progression, les paramètres, les états actuels, les historiques retenus et les relations nécessaires entre ces informations. La base de données constitue un support technique de cette persistance ; elle ne doit pas être confondue avec la mémoire de P.O.U.B.E.L.L.E.
- La mémoire de P.O.U.B.E.L.L.E. organise un contexte conversationnel sélectionné, autorisé et révisable. Elle reste distincte de l'état actuel, de l'historique Horizon et des journaux techniques.
- Le service LLM Horizon assemble les demandes adressées au modèle à partir des éléments sélectionnés et autorisés par le Noyau, puis vérifie la conformité technique et formelle du résultat. Il appartient à la Plateforme ; le modèle local qu'il sollicite reste une ressource technique distincte.
- L'orchestrateur constitue la fonction interne principale du Noyau chargée de coordonner le traitement. Il sollicite les fonctions spécialisées qui appliquent les règles, les permissions, les confirmations et les autres contrôles nécessaires.
L'utilisation d'un état global commun ne retire pas à chaque service extérieur l'autorité sur ses propres informations. Horizon devient la source de référence pour les données qu'il crée et administre, notamment l'identité Horizon, la progression commune, les grades et les paramètres de la Plateforme. La mémoire de P.O.U.B.E.L.L.E. constitue une finalité particulière soumise à ses propres règles ; elle n'est pas le nom donné à l'ensemble des données conservées. Twitch reste l'autorité pour les événements et les informations propres à Twitch ; Discord conserve la même responsabilité pour les données natives de Discord.
Horizon ne doit donc conserver ou synchroniser que les informations nécessaires à son fonctionnement. Cette frontière évite de transformer la Plateforme en copie générale des services auxquels elle est reliée et permet de déterminer clairement quelle source consulter en cas de divergence.
Chaque composante reste l'autorité pour ce qui la concerne. Horizon contrôle ses identités, ses données et ses règles communes ; les services externes restent les sources officielles de leurs informations natives.
La circulation des événements​
Horizon repose sur une circulation commune des informations plutôt que sur des intégrations indépendantes entre chaque paire de services. Une interaction reçue depuis une interface est traduite en événement Horizon, traitée sous l'autorité du Noyau, puis transformée en une ou plusieurs conséquences adaptées aux environnements concernés.
À un niveau général, ce parcours suit les étapes suivantes :
- Une extension reçoit une interaction ou détecte un changement sur un service relié à Horizon ;
- Elle traduit cette information en un événement structuré compris par le Noyau ;
- Le Noyau reçoit l'événement et l'orchestrateur coordonne, en son sein, l'identification de l'auteur, le chargement du contexte et les fonctions nécessaires au traitement ;
- Les fonctions spécialisées du Noyau vérifient les règles, les permissions et les confirmations applicables, tandis que l'orchestrateur sollicite les données, la mémoire ou le service LLM lorsque la situation le nécessite ;
- Selon le résultat de ces contrôles, le Noyau autorise, refuse ou suspend les conséquences ; l'orchestrateur coordonne alors la mise à jour de l'état global Horizon et la transmission des seules actions autorisées aux extensions concernées ;
- Le traitement et ses conséquences sont enregistrés afin de conserver une trace cohérente, y compris lorsqu'une action ne peut pas être exécutée sur l'une des interfaces.
Ce cycle n'impose pas qu'un événement produise toujours une réponse visible. Une interaction peut seulement mettre à jour une donnée, être refusée par une règle, rester sans conséquence ou nécessiter plusieurs actions coordonnées. Le Noyau demeure dans tous les cas le point de passage commun qui garantit la cohérence du traitement.
Exemple : une progression commune​
Lorsqu'une activité éligible est détectée sur Twitch, Discord ou le Poste de commande Web, l'extension concernée produit un événement Horizon. Le Noyau relie cet événement à l'identité Horizon du membre, vérifie les règles de progression et met à jour la donnée commune.
Si cette mise à jour entraîne un changement de niveau ou de grade, l'événement peut produire plusieurs conséquences : actualisation du profil Web, adaptation des rôles ou des représentations disponibles sur Twitch et Discord, notification du membre ou intervention de P.O.U.B.E.L.L.E. selon le contexte. Ces conséquences proviennent d'un même traitement et d'une même progression : elles ne constituent pas trois systèmes de niveaux synchronisés après coup.
Cet exemple montre la différence entre une simple connexion de services et la logique d'Horizon. Les interfaces ne se transmettent pas directement des données entre elles. Elles communiquent avec le Noyau, qui maintient la référence commune et décide des conséquences à propager.
Schéma fonctionnel général​
Le schéma fonctionnel général doit représenter P.O.U.B.E.L.L.E. à l'extérieur de la Plateforme Horizon. À l'intérieur de la Plateforme, le Noyau et son orchestrateur occupent la position centrale ; la base de données, la mémoire et le service LLM Horizon apparaissent comme des services communs accessibles de manière contrôlée, sans relation exclusive avec une interface particulière. Le modèle local sollicité par le service LLM reste distinct. Les extensions relient enfin le Noyau aux services externes Twitch et Discord, tandis que le Poste de commande Web appartient à la Plateforme.
Les échanges doivent être représentés dans les deux sens : les interfaces et les services produisent des événements entrants, tandis que le Noyau transmet des données, des réponses ou des actions sortantes. Cette représentation permet de visualiser la circulation générale sans anticiper l'architecture technique détaillée qui sera définie dans les parties suivantes.
FIG. 02 Figure fonctionnelle — Organisation générale : P.O.U.B.E.L.L.E. utilise la Plateforme, le Noyau contrôle les traitements, le Poste de commande appartient à Horizon et Twitch comme Discord restent externes.
Cette vision d'ensemble établit la relation entre les principales composantes sans figer leur implémentation. Les chapitres suivants préciseront les objectifs du projet, ses principes de conception, ses acteurs et son périmètre. La Partie II détaillera ensuite le fonctionnement du Noyau et le cycle complet de traitement des événements.
