Communications multiplateformes
Horizon doit pouvoir informer une personne, solliciter un responsable ou publier une annonce sur Twitch, Discord et le Poste de commande sans transformer chaque destination en communication indĂ©pendante. Une montĂ©e de niveau peut ainsi apparaĂźtre sur plusieurs interfaces tout en restant la manifestation d'un mĂȘme fait, avec une formulation adaptĂ©e Ă chaque espace et un rĂ©sultat de remise suivi sĂ©parĂ©ment.
Cette continuitĂ© ne signifie ni qu'un texte identique doit ĂȘtre copiĂ© partout ni que toute information doit ĂȘtre diffusĂ©e sur chaque plateforme. Le Noyau dĂ©termine la finalitĂ©, les destinataires, les donnĂ©es divulgables et les destinations autorisĂ©es. Chaque interface reçoit seulement la manifestation qui correspond Ă son contexte, Ă ses contraintes et aux prĂ©fĂ©rences applicables.
Le présent chapitre définit l'unité fonctionnelle d'une communication Horizon, ses catégories, la sélection des destinataires, l'adaptation par interface, les préférences de notification, la prévention des doublons et le traitement des remises partielles ou tardives. Les catalogues détaillés de notifications, les permissions et les paramÚtres techniques seront définis dans leurs référentiels spécialisés.
Une communication Horizon possĂšde un sens commun et peut produire plusieurs manifestations adaptĂ©es Ă Twitch, Discord et au Poste de commande. Ces manifestations conservent la mĂȘme origine et la mĂȘme finalitĂ©, mais leur langue, leur longueur, leur forme et leur niveau de dĂ©tail peuvent varier.
Le Poste de commande constitue le centre de référence des notifications personnelles. Discord est le canal privé complémentaire privilégié. Twitch reste un canal contextuel, notamment pendant une conversation ou un direct, et ses messages sont toujours limités à 500 caractÚres par Horizon.
Le Noyau choisit les destinataires et autorise chaque destination. Le LLM peut ĂȘtre sollicitĂ© plusieurs fois pour prĂ©parer les variantes, mais il ne dĂ©cide ni de la diffusion, ni des donnĂ©es divulguĂ©es, ni du rĂ©sultat d'une remise.
SynthĂšse normativeâ
- Une communication Horizon doit conserver une origine, une finalité, des destinataires, une importance, une sensibilité et un état communs.
- Chaque destination doit disposer d'une manifestation distincte rattachée à cette communication.
- Une adaptation ne doit modifier ni le fait annoncé, ni l'état réel, ni l'action demandée, ni les restrictions applicables.
- Les communications personnelles, communautaires, opérationnelles et conversationnelles doivent rester distinguées.
- Le Noyau doit déterminer les destinataires, les destinations, les données divulgables et les confirmations requises.
- Le LLM ne doit choisir librement ni un destinataire ni un canal.
- Le Poste de commande doit constituer le centre de référence des notifications personnelles.
- Une notification personnelle ordinaire doit ĂȘtre conservĂ©e dans le Poste de commande et peut ĂȘtre remise sur un canal privĂ© autorisĂ©.
- Une notification personnelle urgente doit pouvoir ĂȘtre remise dans le Poste de commande et sur le canal privĂ© immĂ©diatement disponible le plus adaptĂ©.
- Discord doit constituer le canal privé complémentaire privilégié.
- Un canal privé Twitch doit rester contextuel et exceptionnel.
- Horizon ne doit prévoir ni courriel, ni SMS, ni notification mobile native dans le périmÚtre actuel.
- Une réponse doit revenir par défaut sur l'interface d'origine lorsque celle-ci reste appropriée.
- Un canal public devenu inadapté doit pouvoir orienter la personne vers une réponse privée sans en révéler le contenu.
- Les prĂ©fĂ©rences doivent pouvoir ĂȘtre dĂ©finies par catĂ©gorie de communication et par canal.
- Les pĂ©riodes de tranquillitĂ© doivent ĂȘtre configurables pour diffĂ©rer les communications non urgentes.
- Certaines communications obligatoires doivent rester accessibles dans le Poste de commande mĂȘme lorsque leur copie externe est dĂ©sactivĂ©e.
- La langue d'une communication doit ĂȘtre dĂ©terminĂ©e par le destinataire, l'Ă©change, l'espace ou l'auteur selon le contexte applicable.
- Une manifestation Twitch ne doit jamais dépasser 500 caractÚres, plafond permanent propre à Horizon.
- Un message Twitch peut ĂȘtre bref ou dĂ©veloppĂ© selon la situation dans la limite de ce plafond.
- Discord et le Web doivent pouvoir recevoir des formulations plus développées et structurées.
- Une fonction doit pouvoir solliciter plusieurs fois le LLM afin de produire des variantes adaptées à chaque plateforme.
- Chaque variante gĂ©nĂ©rĂ©e doit ĂȘtre vĂ©rifiĂ©e sĂ©parĂ©ment par le Noyau avant sa diffusion.
- Une communication essentielle prévue doit disposer d'une formulation déterministe lorsque le LLM est indisponible.
- Une annonce ordinaire dĂ©finie par une rĂšgle validĂ©e doit pouvoir ĂȘtre diffusĂ©e automatiquement.
- Une annonce exceptionnelle, sensible ou Ă grande Ă©chelle doit ĂȘtre créée ou confirmĂ©e par un Administrateur habilitĂ© ou le Capitaine.
- Une donnée privée ne doit pas devenir publique parce qu'une annonce est automatique.
- Une annonce Discord doit utiliser le nom visible sur Discord ; le tag ne doit ĂȘtre ajoutĂ© que lorsque la visibilitĂ© du compte et la finalitĂ© le permettent.
- Le tag Discord ne doit ĂȘtre utilisĂ© que lorsque la visibilitĂ© du compte Discord et la finalitĂ© de la communication le permettent.
- Une communication publique doit pouvoir ĂȘtre redirigĂ©e vers un canal privĂ© sans Ă©largir son contenu.
- Une communication privée ne doit jamais devenir publique sans autorisation explicite.
- Un doublon doit ĂȘtre reconnu Ă partir de l'origine, de la finalitĂ©, du destinataire et de l'occurrence fonctionnelle, et non du seul texte.
- Une lecture enregistrée dans le Poste de commande doit actualiser l'état fonctionnel commun de la notification.
- Une remise ou un tag Discord ne doit pas constituer une preuve de lecture.
- Une lecture obligatoire doit pouvoir ĂȘtre confirmĂ©e par une rĂ©action Discord prĂ©vue ou par un bouton du Poste de commande.
- Une confirmation de lecture ne doit valoir ni acceptation d'un rĂšglement, ni autorisation d'action, ni reconnaissance d'une faute.
- Plusieurs notifications ordinaires proches doivent pouvoir ĂȘtre regroupĂ©es sans fusionner des dĂ©cisions sensibles distinctes.
- Un rappel doit rester rattaché à la communication initiale.
- Chaque destination doit conserver son propre résultat de remise.
- Le résultat global doit employer les issues du chapitre 8 et distinguer notamment la réussite complÚte, la réussite partielle, le refus global, l'échec global, la non-applicabilité, l'annulation, l'expiration et l'incertitude.
- Un rĂ©sultat inconnu ne doit pas provoquer le renvoi immĂ©diat et aveugle d'une mĂȘme communication.
- Une communication doit pouvoir porter une durée de pertinence ou une condition d'expiration.
- Une confirmation doit pouvoir ĂȘtre accomplie depuis une autre interface autorisĂ©e et clĂŽturer les manifestations liĂ©es.
- Une communication adressée par un responsable doit pouvoir viser une liste de personnes ou un groupe autorisé.
- Le responsable doit choisir entre une remise privée individuelle et une publication dans un espace commun.
- Une personne appartenant Ă plusieurs groupes ciblĂ©s ne doit recevoir qu'une occurrence de la mĂȘme communication.
- Les responsabilitĂ©s des destinataires doivent ĂȘtre vĂ©rifiĂ©es au moment de chaque remise.
- Le renvoi d'une communication destinée à un groupe doit réévaluer les appartenances et permissions actuelles.
- Une confirmation de lecture collective doit ĂȘtre enregistrĂ©e sĂ©parĂ©ment pour chaque personne.
- Une communication modifiée aprÚs sa diffusion doit produire un erratum et, si sa lecture est obligatoire, une nouvelle demande de confirmation.
- Une communication expirée ne doit plus attendre de validation, de confirmation ou d'action.
FinalitĂ© et pĂ©rimĂštre du chapitreâ
Le chapitre répond à la question suivante :
Comment Horizon peut-il produire une communication cohérente sur plusieurs interfaces, l'adapter à chaque contexte et suivre sa remise sans multiplier les messages, les divulgations ou les décisions ?
Il poursuit plusieurs objectifs :
- Définir une unité commune de communication.
- Distinguer les familles dont les rĂšgles de diffusion diffĂšrent.
- Sélectionner les destinataires et les destinations selon le contexte réel.
- Respecter les préférences sans masquer les communications obligatoires.
- Adapter la langue, la longueur et la présentation à chaque interface.
- Encadrer l'utilisation du LLM et prévoir un fonctionnement déterministe.
- Préserver la confidentialité lors d'un changement de canal.
- Ăviter les doublons, regroupements trompeurs et rappels devenus inutiles.
- Suivre séparément chaque remise et consolider le résultat global.
- Organiser les lectures obligatoires et les confirmations accessibles depuis plusieurs interfaces.
Le chapitre ne définit pas le contenu exhaustif des annonces, les valeurs de délai et d'expiration, les limites de tentatives, les permissions détaillées de chaque rÎle ou les protocoles techniques de remise. Il fournit le modÚle fonctionnel auquel ces décisions devront se rattacher.
Communication commune et manifestationsâ
Une communication Horizon représente l'information ou la demande que la Plateforme doit transmettre. Elle constitue une conséquence possible du cycle de traitement et n'est pas limitée à un texte. Elle doit pouvoir conserver :
- Une référence stable.
- L'événement, la décision ou le traitement qui l'a produite.
- Sa Finalité.
- Son Auteur ou sa fonction productrice.
- Les destinataires visés.
- Son Importance et son éventuelle urgence.
- Sa Sensibilité et les limites de divulgation.
- Les actions ou confirmations associées.
- Sa Date de création et sa durée de pertinence.
- Les manifestations prévues et leur résultat.
Chaque version destinée à Twitch, Discord ou au Poste de commande constitue une manifestation de cette communication. Une manifestation peut employer un texte, une notification structurée, un bouton, une réaction demandée ou une autre forme permise par l'interface.
Les manifestations restent liĂ©es Ă la mĂȘme communication mĂȘme lorsque leurs formulations diffĂšrent. Cette relation permet de comprendre qu'un message Discord et une carte du Poste de commande annoncent le mĂȘme succĂšs, de consolider leur lecture et d'empĂȘcher une remise rĂ©pĂ©tĂ©e de produire un nouveau fait.
Une communication reste Ă©galement distincte de l'Ă©vĂ©nement qui la justifie. Un gain de niveau peut produire une annonce publique, une notification personnelle et une actualisation Web. Ces consĂ©quences ont la mĂȘme cause sans se confondre avec le gain lui-mĂȘme.
Quatre familles de communicationsâ
Horizon reconnaßt quatre familles générales, en cohérence avec les catégories d'actions et outils.
| Famille | Finalité | Exemples |
|---|---|---|
| Communication personnelle | Informer une personne d'un fait, d'un résultat ou d'une action qui la concerne. | SuccÚs, changement de compte, réponse à une demande ou avertissement personnel. |
| Communication communautaire | Informer un groupe ou un espace public selon une rÚgle commune. | Montée de niveau publiable, nouveau grade, événement de La TaniÚre ou annonce générale. |
| Communication opérationnelle | Demander une intervention, une confirmation ou l'examen d'une situation. | Erreur importante, conflit, diagnostic, signalement ou action critique. |
| Communication conversationnelle | Permettre à P.O.U.B.E.L.L.E. ou à une fonction autorisée de répondre dans un échange. | Réponse Twitch, conversation Discord privée ou échange depuis le Poste de commande. |
Une communication peut relever de plusieurs dimensions sans perdre sa finalité principale. Une anomalie peut, par exemple, produire une communication opérationnelle pour un Super administrateur et une communication personnelle séparée pour la personne affectée. Chacune doit recevoir uniquement les informations nécessaires à son destinataire.
SĂ©lection des destinataires et des destinationsâ
Le Noyau détermine les destinataires et les destinations en tenant compte :
- De la famille et de la finalité de la communication.
- De la personne, du groupe ou de l'espace concerné.
- Des responsabilités et permissions actuelles.
- De la sensibilité des informations.
- Des préférences de notification.
- De la présence connue et des canaux disponibles.
- De l'Urgence, de la durée de pertinence et du besoin de confirmation.
- De l'Ătat des remises dĂ©jĂ tentĂ©es.
Le LLM peut proposer une formulation, mais il ne choisit pas librement la personne à contacter ni le canal sur lequel la joindre. Cette séparation applique les rÚgles du chapitre 21.
StratĂ©gie gĂ©nĂ©rale par familleâ
Une notification personnelle ordinaire est enregistrĂ©e dans le Poste de commande. Elle peut Ă©galement ĂȘtre remise sur le canal privĂ© choisi par la personne lorsque sa catĂ©gorie et sa sensibilitĂ© le permettent.
Une notification personnelle urgente est enregistrĂ©e dans le Poste de commande et peut ĂȘtre envoyĂ©e sur le canal privĂ© immĂ©diatement disponible le plus adaptĂ©. Discord constitue le canal complĂ©mentaire privilĂ©giĂ©. Une capacitĂ© privĂ©e Twitch reste exceptionnelle et dĂ©pend du contexte rĂ©el.
Une annonce communautaire est publiée uniquement dans les espaces explicitement prévus par sa rÚgle ou par la décision qui l'autorise. Sa présence sur une plateforme ne rend pas automatique sa diffusion sur les autres.
Une communication opĂ©rationnelle est toujours consultable dans l'espace Web du responsable habilitĂ©. Un canal privĂ© complĂ©mentaire peut ĂȘtre utilisĂ© lorsqu'une intervention rapide est nĂ©cessaire.
Interface d'origine et redirectionâ
Lorsqu'une communication répond à une conversation ou à une demande, elle revient par défaut sur l'interface d'origine. Cette continuité respecte les contextes propres à Twitch, Discord et au Poste de commande.
Le canal d'origine peut néanmoins devenir inadapté en raison de la confidentialité, de la longueur, d'une confirmation structurée ou d'une indisponibilité. Horizon peut alors :
- Fournir une réponse privée sur Discord.
- Ouvrir ou signaler une notification dans le Poste de commande.
- Indiquer publiquement qu'une suite privée est disponible, sans révéler son contenu.
- Employer une autre destination déjà autorisée par la personne et compatible avec la communication.
Le changement de canal ne doit jamais devenir un moyen d'Ă©largir la divulgation. Une information privĂ©e ne peut pas ĂȘtre publiĂ©e parce que son canal initial est indisponible.
Le pĂ©rimĂštre actuel ne prĂ©voit ni courriel, ni SMS, ni notification mobile native. Une communication sans destination externe disponible reste conservĂ©e dans le Poste de commande lorsqu'elle doit encore ĂȘtre remise ou consultĂ©e.
PrĂ©fĂ©rences de notificationâ
Une personne peut définir ses préférences de notification selon la catégorie de communication et le canal. Elle peut, par exemple, recevoir ses succÚs sur Discord tout en limitant les informations administratives au Poste de commande.
Des regroupements de paramĂštres peuvent ĂȘtre proposĂ©s pour conserver une configuration comprĂ©hensible. Ils ne doivent pas masquer la portĂ©e des catĂ©gories importantes ni activer implicitement un canal sensible.
Les préférences influencent les manifestations supplémentaires ; elles ne suppriment pas les communications qui doivent rester accessibles dans le centre Web. Les catégories obligatoirement conservées comprennent initialement :
- Les changements de sécurité ou d'accÚs.
- Les opérations sur l'identité et les comptes liés.
- Les mises à jour du rÚglement nécessitant une acceptation.
- Les confirmations demandées.
- Les résultats d'actions sensibles.
- Les sanctions ou dĂ©cisions devant ĂȘtre communiquĂ©es.
- Les réponses aux demandes d'accÚs, de correction ou d'effacement.
La personne peut désactiver une copie externe lorsque la rÚgle le permet, mais elle ne peut pas faire disparaßtre du Poste de commande une information que la Plateforme doit lui rendre accessible.
PĂ©riodes de tranquillitĂ©â
Des périodes de tranquillité configurables permettent de différer les notifications non urgentes. La communication reste créée à sa date réelle et sa remise ultérieure ne doit pas la présenter comme un nouvel événement.
Une catĂ©gorie explicitement urgente peut dĂ©passer cette pĂ©riode lorsque le retard crĂ©erait un risque, ferait expirer une dĂ©cision ou empĂȘcherait une intervention nĂ©cessaire. Les horaires, catĂ©gories et exceptions seront dĂ©finis ultĂ©rieurement comme valeurs configurables.
Langue de la communicationâ
La langue est déterminée selon l'origine et la forme de la communication :
- Une annonce rédigée par un membre du personnel conserve la langue dans laquelle elle a été rédigée.
- Un message produit par le Noyau dans un salon ou un espace global emploie la langue définie pour l'annonce.
- Un message privé produit par le Noyau suit la langue de la conversation.
- Une conversation avec P.O.U.B.E.L.L.E. suit la langue de l'échange en cours, sauf demande contraire.
- Une communication adressée individuellement à plusieurs personnes peut produire des variantes lorsque la rÚgle qui l'autorise le prévoit.
L'adaptation linguistique ne doit pas altérer les faits, les conséquences ou la force de la formulation. Une obligation ne devient pas une suggestion et un résultat incertain ne devient pas une réussite lors de la traduction.
Adaptation Ă chaque interfaceâ
Les manifestations peuvent adapter leur longueur, leur ton, leur structure et leur niveau de détail selon les capacités définies pour l'Extension Twitch, l'Extension Discord et le Poste de commande Web.
Twitchâ
Une communication Twitch tient compte du rythme du direct et du caractĂšre souvent public du chat. Elle peut ĂȘtre brĂšve pour une notification immĂ©diate, mais un message plus dĂ©veloppĂ© reste possible dans une conversation ou pour certaines annonces.
Horizon applique dans tous les cas un plafond permanent de 500 caractÚres par message Twitch. Ce plafond constitue une exigence fonctionnelle propre à Horizon, indépendamment d'une éventuelle évolution de la capacité technique de Twitch.
Lorsqu'une communication ne peut pas ĂȘtre correctement formulĂ©e dans cette limite, Horizon peut la rĂ©partir en plusieurs messages uniquement si le contexte autorise une sĂ©quence lisible et non intrusive. Dans les autres cas, il fournit une indication courte et redirige vers Discord ou le Poste de commande.
Discordâ
Discord permet des messages plus développés, des annonces dans des salons configurés, des échanges privés et des interactions structurées. La manifestation doit respecter le contexte de l'espace, les rÚgles communautaires et la visibilité du compte Discord du destinataire.
Poste de commandeâ
Le Poste de commande fournit la manifestation la plus structurée. Il peut présenter l'état réel, les détails autorisés, les autres remises, une échéance et les actions ou confirmations disponibles. Il constitue le centre de référence des notifications personnelles sans devenir l'autorité sur le fait annoncé.
ĂlĂ©ments invariantsâ
Une adaptation ne peut pas modifier :
- Le fait annoncé.
- La personne, le groupe ou la situation concernés.
- L'état réel du traitement.
- Les conséquences et restrictions applicables.
- L'action demandée.
- L'échéance.
- Le niveau de confidentialité.
- L'origine et la relation avec le traitement.
La longueur, le ton, le vocabulaire, la mise en forme et les détails secondaires peuvent varier tant que ces invariants restent compréhensibles et exacts.
Utilisation du LLMâ
Une fonction peut solliciter plusieurs fois le LLM pour produire une formulation adaptée à chaque plateforme, chaque langue ou certains destinataires. Une version Twitch n'est donc pas obligatoirement une réduction mécanique du message Discord, et la version Web peut fournir une présentation plus structurée. Chaque sollicitation reste soumise au rÎle limité du LLM et aux rÚgles de construction du contexte.
Chaque sollicitation reçoit uniquement le contexte nécessaire à sa manifestation. Le Noyau vérifie séparément :
- La destination et le destinataire.
- Les données utilisées et divulguées.
- Le respect des invariants.
- La langue et la longueur.
- La compatibilité avec l'espace public ou privé.
- Les instructions, liens et actions proposés.
Une variante refusée ne rend pas les autres variantes invalides lorsqu'elles sont indépendantes et autorisées. Leur résultat commun reste alors partiel jusqu'à la décision applicable.
Fonctionnement sans LLMâ
Les communications essentielles prévues doivent disposer d'une formulation déterministe. Une montée de niveau, un succÚs, une confirmation requise, une erreur ou un résultat important ne doivent pas disparaßtre parce que le LLM est indisponible.
Le modĂšle dĂ©terministe conserve les mĂȘmes faits, destinations et protections. Il peut ĂȘtre moins personnalisĂ©, mais doit rester comprĂ©hensible et adaptĂ© aux limites de l'interface.
Annonces automatiques et exceptionnellesâ
Une rÚgle validée peut produire automatiquement des annonces ordinaires, notamment pour :
- Une montée de niveau.
- Un nouveau grade.
- Un badge ou un succĂšs.
- Un événement communautaire prévu.
- Une étape déterministe d'un systÚme de La TaniÚre.
L'automatisation ne supprime aucun contrĂŽle. Le Noyau vĂ©rifie que l'Ă©vĂ©nement est Ă©tabli, que l'annonce reste pertinente, que les destinations sont configurĂ©es et que les informations peuvent y ĂȘtre divulguĂ©es. Les rĂšgles produisant les niveaux, grades et succĂšs seront prĂ©cisĂ©es dans le systĂšme de progression.
Une annonce exceptionnelle, sensible ou à grande échelle est créée ou confirmée par un Administrateur habilité, un Super administrateur ou le Capitaine selon son périmÚtre. La confirmation porte sur le contenu ou l'intention, les destinataires, les destinations et la portée de la diffusion.
VisibilitĂ© des annonces Discordâ
La visibilité de l'événement annoncé et celle du compte Discord sont deux décisions distinctes conformément au catalogue des données et à leurs rÚgles d'autorité et de visibilité.
Lorsqu'un niveau, un grade, un badge ou un succĂšs peut ĂȘtre publiĂ©, une annonce Discord peut ĂȘtre produite. Elle emploie le nom visible de la personne sur Discord. Si le compte Discord est public et que la finalitĂ© le justifie, la manifestation peut Ă©galement employer son tag Discord.
Si le compte Discord est privĂ©, l'annonce n'ajoute pas de tag ni de lien vers le compte. L'emploi du nom visible sur Discord reste propre Ă cette plateforme et ne doit pas ĂȘtre remplacĂ© par le nom d'affichage Horizon ni servir Ă rĂ©vĂ©ler une liaison avec un autre compte.
Si l'Ă©vĂ©nement lui-mĂȘme est privĂ©, aucune annonce publique nominative n'est produite. La personne peut nĂ©anmoins recevoir une notification privĂ©e selon ses prĂ©fĂ©rences, et retrouver l'information dans le Poste de commande.
L'absence de tag ne suffit donc pas Ă rendre une annonce admissible. Le contenu annoncĂ© doit lui-mĂȘme pouvoir ĂȘtre publiĂ©.
Communications privĂ©es et publiquesâ
Une communication autorisĂ©e pour un espace public peut ĂȘtre redirigĂ©e vers un canal privĂ© si son contenu n'est pas Ă©largi. Une version privĂ©e peut Ă©galement contenir davantage de dĂ©tails uniquement lorsqu'une autorisation distincte permet de les divulguer au destinataire.
Une communication privée ne doit jamais devenir publique sans décision explicite. L'échec d'un message privé, l'absence de la personne ou l'urgence ne permettent pas de révéler publiquement son contenu. La permission de lire une donnée reste distincte de celle de la divulguer, selon le modÚle de permissions et sa future classification.
Une indication publique peut seulement signaler qu'une information privĂ©e attend la personne, lorsque cette indication ne rĂ©vĂšle pas elle-mĂȘme un fait protĂ©gĂ©.
Communications de P.O.U.B.E.L.L.E.â
P.O.U.B.E.L.L.E. reste la mĂȘme entitĂ© sur Twitch, Discord et le Poste de commande. Ses diffĂ©rentes manifestations ne constituent pas plusieurs interventions relationnelles indĂ©pendantes lorsqu'elles portent la mĂȘme communication.
Une annonce publiée sur trois interfaces est donc conservée comme une intervention commune dotée de trois remises. Elle ne doit pas augmenter artificiellement le nombre d'interactions, créer un souvenir ni modifier plusieurs fois la relation avec une personne. Les annonces, embeds et autres messages de diffusion ne rejoignent pas la mémoire conversationnelle de P.O.U.B.E.L.L.E.
à l'inverse, les messages d'une conversation entre P.O.U.B.E.L.L.E. et un membre peuvent contribuer à sa mémoire autorisée, qu'ils soient échangés dans le chat Twitch ou dans un salon Discord configuré à cette fin. Cette possibilité reste soumise aux rÚgles du chapitre 16 et ne transforme pas les autres messages du canal en mémoire personnelle.
La forme peut néanmoins évoluer : immédiate et contextuelle sur Twitch, communautaire ou privée sur Discord, personnelle ou structurée dans le Poste de commande. P.O.U.B.E.L.L.E. ne choisit ni d'étendre la diffusion ni de révéler une donnée supplémentaire pour rendre une variante plus naturelle.
SĂ©lection manuelle des destinatairesâ
Un Modérateur, un Administrateur Twitch ou Discord, un Super administrateur ou le Capitaine peut, selon les responsabilités définies au chapitre 5 et ses permissions, adresser une communication à :
- Une liste de personnes sélectionnées par leur nom.
- Les visiteurs.
- Les Membres d'équipage.
- Les Modérateurs Twitch.
- Les Modérateurs Discord.
- Les Administrateurs habilités.
- Les Super administrateurs.
- L'équipage complet.
L'auteur choisit également le mode de diffusion :
- Remise privée individuelle : chaque destinataire reçoit une manifestation personnelle sans connaßtre les autres destinataires.
- Publication commune : un message est publié dans un espace autorisé destiné au groupe.
Les groupes sont rĂ©solus selon les appartenances et responsabilitĂ©s actuelles au moment de la remise. Une personne appartenant Ă plusieurs groupes ciblĂ©s ne reçoit qu'une occurrence de la mĂȘme communication. Lors d'un renvoi, le groupe et les permissions sont de nouveau Ă©valuĂ©s : seules les personnes alors admissibles reçoivent cette nouvelle remise.
La sélection d'un groupe ne donne pas à l'auteur une permission générale sur ses membres. Le Noyau vérifie que l'auteur peut contacter ce groupe, utiliser les données incluses et choisir les destinations demandées.
DĂ©duplicationâ
Deux manifestations sont considĂ©rĂ©es comme appartenant Ă la mĂȘme communication lorsqu'elles partagent la mĂȘme origine fonctionnelle, la mĂȘme finalitĂ©, le mĂȘme destinataire et la mĂȘme occurrence, mĂȘme si leur texte diffĂšre. Cette corrĂ©lation applique les rĂšgles de prĂ©vention des doubles consĂ©quences des chapitres 8 et 14.
Horizon doit notamment prévenir :
- La crĂ©ation de plusieurs notifications Ă partir de la rĂ©ception rĂ©pĂ©tĂ©e d'un mĂȘme Ă©vĂ©nement.
- La remise multiple provoquée par l'appartenance d'une personne à plusieurs groupes ciblés.
- La réémission d'une annonce aprÚs un résultat incertain non vérifié.
- La création d'une nouvelle interaction relationnelle pour chaque variante de P.O.U.B.E.L.L.E.
- La rĂ©pĂ©tition d'une consĂ©quence commune Ă plusieurs branches d'un mĂȘme traitement.
La dĂ©duplication ne doit pas supprimer deux communications rĂ©ellement distinctes. Deux confirmations portant sur des actions diffĂ©rentes restent sĂ©parĂ©es mĂȘme si elles utilisent un texte voisin.
Regroupement et rappelsâ
Plusieurs notifications ordinaires proches peuvent ĂȘtre regroupĂ©es lorsqu'elles concernent la mĂȘme situation, le mĂȘme destinataire et une finalitĂ© compatible. Le regroupement doit conserver le nombre d'Ă©lĂ©ments, leur pĂ©riode et les actions encore nĂ©cessaires.
Ne doivent pas ĂȘtre fusionnĂ©s d'une maniĂšre qui masquerait leur portĂ©e :
- Deux Confirmations distinctes.
- Deux Sanctions ou décisions sensibles.
- Deux Erreurs indépendantes exigeant des traitements différents.
- Des communications dont les échéances ou destinataires diffÚrent.
Un rappel reste rattaché à la communication initiale. Il possÚde sa propre tentative de remise, mais ne crée ni nouvelle décision ni nouvel événement métier. Les rappels cessent lorsque l'action est accomplie, refusée, annulée ou expirée.
Remise, lecture et acquittementâ
La remise, la lecture et l'action sont trois états distincts.
| Ătat | Signification |
|---|---|
| Remise établie | La destination a accepté ou présenté la manifestation selon un résultat suffisant. |
| Lecture connue | La personne a ouvert ou acquitté la notification par un moyen observable prévu. |
| Lecture Ă confirmer | La communication exige une action explicite confirmant sa prise de connaissance. |
| Action accomplie | La demande ou décision associée a été exécutée ou traitée séparément. |
Un message acceptĂ© par Discord ou accompagnĂ© d'un tag ne prouve pas sa lecture. Une notification ouverte dans le Poste de commande peut actualiser son Ă©tat fonctionnel commun, mĂȘme si Discord ne permet pas de modifier rĂ©troactivement l'apparence du message dĂ©jĂ publiĂ©.
Lecture obligatoireâ
Lorsqu'une lecture doit ĂȘtre confirmĂ©e, la manifestation propose :
- Une réaction Discord déterminée et attribuable au destinataire.
- Un bouton de confirmation dans le Poste de commande.
La confirmation vaut uniquement pour la personne qui utilise la réaction ou le bouton aprÚs vérification de son identité. Pour une communication adressée à un groupe, chaque destinataire conserve donc son propre état de lecture. La premiÚre confirmation d'une personne clÎt seulement ses manifestations liées ; elle signifie uniquement que cette personne déclare avoir reçu et pris connaissance de la communication.
Cette confirmation ne vaut ni acceptation d'un rÚglement, ni autorisation d'une action, ni reconnaissance d'une faute, ni renonciation à un droit. Les actions nécessitant une confirmation suivent le parcours distinct du chapitre 34.
En l'absence de rĂ©action ou d'appui sur le bouton, la communication reste dans l'Ă©tat lecture Ă confirmer. L'absence de rĂ©ponse ne constitue ni un refus ni une acceptation. Des rappels peuvent ĂȘtre produits selon une politique configurable, et une absence prolongĂ©e peut ĂȘtre signalĂ©e au responsable prĂ©vu sans dĂ©clencher automatiquement une sanction.
Lorsqu'une rÚgle particuliÚre conditionne un accÚs, comme l'acceptation du rÚglement Horizon, cette rÚgle applique sa propre restriction indépendamment de la confirmation de lecture.
Si le contenu d'une communication déjà diffusée est modifié, Horizon publie un erratum rattaché à la communication initiale. Lorsque la lecture est obligatoire, cet erratum ouvre une nouvelle demande de confirmation pour chaque destinataire concerné ; l'acquittement de l'ancienne version ne vaut pas lecture de la version corrigée.
RĂ©sultats par destinationâ
Chaque manifestation conserve son rĂ©sultat propre, conformĂ©ment Ă la sĂ©paration des consĂ©quences et de leurs rĂ©sultats dĂ©finie au chapitre 8. Une communication peut ainsi ĂȘtre remise dans le Poste de commande, Ă©chouer sur Discord et ne pas ĂȘtre prĂ©vue sur Twitch.
Les manifestations emploient le vocabulaire des conséquences du chapitre 8 :
- PrĂ©vue, lorsqu'elle appartient au plan sans ĂȘtre encore autorisĂ©e ou exĂ©cutĂ©e.
- En attente, lorsqu'une condition, une ressource ou une dépendance est attendue.
- En cours, lorsque la remise a commencé sans résultat final établi.
- Réussie, lorsque la remise est suffisamment établie.
- Refusée, lorsque le Noyau, une personne habilitée ou la destination a explicitement refusé la remise.
- ĂchouĂ©e, lorsque la remise attendue n'a pas Ă©tĂ© obtenue.
- Abandonnée, lorsque sa poursuite n'a plus de raison valable.
- Non applicable, lorsqu'elle n'est plus utile ou que ses conditions ne sont pas réunies.
- Annulée, lorsqu'une autorité habilitée l'a explicitement interrompue.
- Expirée, lorsque sa durée de validité est dépassée.
- Incertaine, lorsque le rĂ©sultat rĂ©el de la remise ne peut pas ĂȘtre suffisamment Ă©tabli.
Une destination non demandée n'est pas une manifestation échouée : aucune conséquence de remise n'y a été planifiée. La preuve technique de remise, de lecture ou d'acquittement reste conservée séparément de cet état général lorsqu'elle est nécessaire.
Le résultat global est consolidé à partir des destinations nécessaires :
| Résultat global | Signification |
|---|---|
| Réussite complÚte | Toutes les remises requises sont suffisamment établies. |
| Réussite partielle | Au moins une remise requise a réussi et une autre a atteint un résultat terminal différent ou reste incertaine. |
| Refus global | Les remises requises ont été explicitement refusées sans réussite suffisante. |
| Ăchec global | Aucune destination requise n'a permis d'obtenir le rĂ©sultat nĂ©cessaire et l'Ă©chec est Ă©tabli. |
| Situation non applicable | Aucune remise requise ne demeure applicable Ă la situation. |
| Annulation | La communication a été explicitement annulée avant l'obtention du résultat attendu. |
| Expiration | La communication a dépassé sa durée de validité avant sa conclusion normale. |
| Situation incertaine | L'incertitude restante empĂȘche de conclure suffisamment. |
Une destination facultative non utilisĂ©e n'empĂȘche pas la rĂ©ussite. Ă l'inverse, la rĂ©ussite d'une copie secondaire ne suffit pas si la destination nĂ©cessaire Ă une confirmation ou Ă une obligation n'a pas reçu la communication.
Ăchecs, reprises et destinations de repliâ
Un échec établi peut conduire à une nouvelle tentative bornée lorsque la communication reste pertinente et que l'indisponibilité paraßt temporaire. Les nombres de tentatives et les délais seront définis avec la gestion des erreurs.
AprÚs ces tentatives, le Noyau peut employer un canal privé de repli lorsque l'importance le justifie, que la personne l'autorise et que la confidentialité est préservée. Le Poste de commande conserve dans tous les cas l'état de référence des notifications personnelles.
Lorsque le rĂ©sultat d'un envoi est inconnu, Horizon ne doit pas renvoyer immĂ©diatement le mĂȘme message. Il tente d'abord d'Ă©tablir le rĂ©sultat ou emploie les moyens de corrĂ©lation et de dĂ©duplication disponibles. Une destination diffĂ©rente peut ĂȘtre utilisĂ©e uniquement si elle ne produit pas une rĂ©pĂ©tition trompeuse ou une divulgation supplĂ©mentaire.
Chaque erreur reste rattachée à sa destination. Cette séparation permet de déterminer si l'échec provient de Twitch, de Discord, du Poste de commande, de la formulation ou d'une rÚgle Horizon.
Pertinence et expirationâ
Une communication peut posséder une durée de pertinence, une échéance ou une condition d'expiration. Les valeurs seront déterminées ultérieurement selon sa catégorie.
Lorsqu'une communication expire avant sa remise :
- Elle n'est pas diffusée tardivement comme si elle était encore actuelle.
- Son état indique qu'elle a expiré avant remise.
- Son historique peut rester consultable selon sa finalité et sa conservation.
- Les rappels et confirmations associés cessent.
- Elle n'attend plus aucune validation, confirmation ou action.
- Une nouvelle situation doit produire une nouvelle communication plutÎt que réactiver silencieusement l'ancienne.
Une notification remise aprĂšs une pĂ©riode de tranquillitĂ© conserve la date de l'Ă©vĂ©nement d'origine et ne doit ĂȘtre envoyĂ©e que si elle reste pertinente.
Confirmation depuis une autre interfaceâ
Une demande prĂ©sentĂ©e sur Discord peut ĂȘtre confirmĂ©e depuis le Poste de commande, et une demande Web peut ĂȘtre accomplie depuis une autre interface autorisĂ©e lorsque celle-ci fournit les garanties nĂ©cessaires. Cette continuitĂ© ne remplace pas les contrĂŽles du cycle de traitement ni ceux des actions critiques.
Le Noyau vérifie alors :
- L'Identité de la personne.
- Ses Permissions actuelles.
- La référence de la communication et de l'action.
- La concordance du contexte présenté.
- La validité temporelle de la demande.
- L'absence d'une décision déjà enregistrée.
La premiĂšre dĂ©cision valide clĂŽt les autres manifestations de la mĂȘme demande. Une rĂ©action ou un bouton tardif ne doit pas produire une seconde exĂ©cution.
ReprĂ©sentation fonctionnelleâ
La figure suivante présente la création d'une communication commune, son adaptation pour chaque interface et la consolidation des résultats de remise.
FIG. 20 Communications multiplateformes â CrĂ©ation d'une communication commune, adaptation par interface et suivi des rĂ©sultats de remise.
Garanties fonctionnellesâ
Les communications multiplateformes doivent garantir les principes suivants :
- Une communication commune peut posséder plusieurs manifestations sans devenir plusieurs faits.
- Chaque manifestation reste adaptée et contrÎlée pour sa destination.
- Le Noyau conserve l'autorité sur les destinataires, les données et la diffusion.
- Le LLM formule sans décider ni exécuter directement.
- Les communications essentielles restent possibles sans LLM.
- Le Poste de commande conserve le centre de référence des notifications personnelles.
- Les préférences et périodes de tranquillité sont respectées sans supprimer les informations obligatoires.
- La limite permanente de 500 caractÚres est respectée pour chaque message Twitch.
- La langue et le format peuvent varier sans altérer le sens ou le statut du message.
- La visibilité d'un événement et celle du compte Discord restent distinctes ; le nom employé sur Discord reste le nom visible sur Discord.
- Un changement de canal n'élargit jamais automatiquement la divulgation.
- Les annonces automatiques restent limitées aux rÚgles et données publiables.
- Les annonces exceptionnelles conservent une décision humaine adaptée.
- Les groupes sont résolus selon les responsabilités actuelles et leurs chevauchements sont dédupliqués.
- Les remises privées ne révÚlent pas la liste des autres destinataires.
- Les regroupements ne masquent ni décision sensible ni confirmation distincte.
- La remise, la lecture, l'acquittement et l'action restent séparés.
- Une confirmation de lecture ne remplace aucune autre décision et ne vaut que pour la personne qui l'effectue.
- Chaque destination conserve son résultat réel.
- Un échec partiel reste visible et localisable.
- Une incertitude ne provoque ni réussite inventée ni répétition aveugle.
- Une communication expirée n'est pas diffusée comme si elle était encore actuelle.
- Une décision prise sur une interface clÎt les manifestations liées sans produire de nouvelle exécution.
Limites du prĂ©sent chapitreâ
Le présent chapitre ne définit pas :
- Le catalogue exhaustif des communications et notifications.
- Les valeurs finales des périodes de tranquillité, délais, rappels et expirations.
- Le nombre de tentatives et les stratégies techniques de reprise propres à chaque service.
- Les formats d'API, identifiants techniques et protocoles de corrélation.
- La matrice complĂšte des permissions de communication et de divulgation.
- La classification détaillée de chaque contenu.
- Les rÚgles métier produisant les niveaux, grades, succÚs, sanctions ou autres annonces.
- Les modÚles de texte définitifs.
- La conception détaillée du centre de notifications Web.
- Les fonctions futures de courriel, SMS ou notification mobile native.
- Les rÚgles de conservation détaillées des communications et preuves de lecture.
Les événements et conséquences suivent les chapitres 8 et 9. Les données et leur autorité relÚvent des chapitres 13 et 14.
Les communications de P.O.U.B.E.L.L.E. restent soumises aux chapitres 18 à 21. Les possibilités propres aux interfaces sont définies aux chapitres 22, 23 et 24. Les permissions, la sensibilité et la vie privée seront précisées dans la Partie IX, puis les erreurs et la reprise dans la Partie XII.
SynthĂšseâ
Une communication Horizon constitue une unité commune pouvant produire plusieurs manifestations adaptées à Twitch, Discord et au Poste de commande. Le fait, la finalité, les destinataires, la confidentialité et l'état réel restent invariants, tandis que la langue, la longueur et la présentation peuvent évoluer selon le canal.
Le Poste de commande demeure le centre de référence des notifications personnelles. Discord constitue le canal privé complémentaire privilégié, tandis que Twitch reste contextuel et respecte un plafond Horizon permanent de 500 caractÚres par message. Le périmÚtre actuel n'intÚgre ni courriel, ni SMS, ni notification mobile native.
Le LLM peut ĂȘtre sollicitĂ© plusieurs fois afin de prĂ©parer les variantes, mais le Noyau contrĂŽle chacune d'elles. Les annonces essentielles disposent d'une formulation dĂ©terministe lorsque le modĂšle est indisponible. Les annonces ordinaires prĂ©vues peuvent ĂȘtre automatiques ; les communications exceptionnelles ou sensibles sont créées ou confirmĂ©es par une personne habilitĂ©e.
La visibilité de l'événement reste distincte de celle du compte Discord. Une annonce publiable emploie sur Discord le nom visible sur Discord et n'ajoute un tag que lorsque la visibilité du compte et la finalité le permettent, tandis qu'un événement privé ne produit aucune annonce publique nominative.
Enfin, Horizon déduplique les destinataires et les occurrences, regroupe seulement les notifications compatibles, rattache les rappels à leur communication initiale et distingue la remise de la lecture ou de l'action. Chaque destination conserve son résultat, permettant d'identifier précisément les réussites, échecs et incertitudes sans transformer une réussite partielle en succÚs général.
