====== Yakalfr : Forum Khaganat ======
Ce yakalfr((On dit aussi cahier des charges, mais ça ne me semble pas refléter la réalité.)) détaille les fonctionnalités utiles pour le forum de Khaganat. C'est un forum assez classique et basique (première partie) avec des specificités propres aux besoins du projet (seconde partie).
Le but du forum de Khaganat est double :
* Permettre de raconter des histoires à plusieurs. C'est avant tout à but roleplay.
* Dans le cadre technique/conceptuel, développer des argumentations et réflexions un peu trop longues pour un système de chat, mais pas encore assez finalisé pour être sur le wiki, demandant des retours.
Pour le reste, la plupart de notre activité se déroule par chat, sur les wiki et dans la forge git, donc pas la peine d'être redondant.
Ce yakalfr est bien avancé, mais un forum est une chose complexe. N'hésitez pas à compléter, ainsi qu'à venir discuter de certains choix sur XMPP ou sur le forum.
Il reste entre autre à détailler la partie administration générale (options en tout genre) et profil utilisateur (complexe car probablement géré de façon plus globale pour nous).
Reprendre [[http://www.forummatrix.org|forummatrix]] afin de ne pas oublier un truc de base essentiel serait une bonne chose.
* Ajouter un content warning ; NSFW et interdit aux moins de 18 ans
===== Vocabulaire =====
* Une catégorie représente un ou plusieurs sous-forum. Par exemple la catégorie "roleplay" qui rassemble tous les sujets de RP. Un forum, un sous-forum sont des catégories.
* Un sujet représente un fil de discussion, avec le titre défini par le premier message, puis les réponses possibles.
* Un message est une réponse d'une personne à un endroit précis. En gros, un sujet est composé de message(s).
* Sujet épinglé : dit aussi en post-it, mais l'épingle est plus français. Le message va rester en haut de la liste des sujets du forum, indépendament de la date.
===== Fonctionnalités basiques et classiques =====
==== Sujets, messages ====
Il y a différents types d'organisation de forum :
* "flat" (plat) : tout simplement par ordre chronologique. Un premier message est posté, puis on y répond, et chaque réponse est uniquement dans l'ordre chronologique, les uns à la suite des autres.
* "Threaded" (par sujet) : au sein d'un sujet, on peut répondre à un message en particulier, puis répondre à cette réponse, ce qui fait un "fil" ; linuxfr est un bon exemple de mode "thread".
* mise en avant par vote : surtout valide dans les espaces de questions/réponses, la réponse ayant eu le plus de vote est mise sous le premier message.
* Mixte : il existe des forums qui combinent flat et thread, chaque utilisateur décidant de l'affichage qu'il souhaite avoir (typiquement les mailing-listes fonctionnent comme ça suivant votre logiciel de courriel...).
Dans le cas de Khaganat, le forum flat me semble mieux. Cela évite les fils complexes, l'ordre chronologique étant le plus important quand il s'agit de raconter des histoires à plusieurs voix (ce qui n'empêche pas des flashback).
Côté chronologie : le sujet commence par le message initial (le plus ancien), suivi par les autres messages dans l'ordre chronologique, bref du classique (et pas de l'antechronologique, comme les blogs...). Pour la présentation de la liste des sujets, voir plus bas dans "Catégories".
=== Rédaction ===
== Assistance à la syntaxe (WYSIWYG) et mise en page ==
Pouvoir mettre les messages en forme est une chouette chose. La possibilité de switcher entre une rédaction WYSIWYG et une rédaction où on voit les balises de code serait pas mal (parce que ça dépend des goûts).
S'appuyer sur une syntaxe existante semble pertinent (markdown, s'il faut choisir).
Voici ce qu'il faut pouvoir faire comme syntaxe :
* gras
* italique
* niveaux de titre
* liste à puce et liste ordonnée
* insérer un lien
* insérer une image (hébergée ailleurs donc via un lien)(l'idéal serait que ce soit lié à un autre outil interne et donc pouvoir héberger de façon durable une image sans se connecter sur un autre service)
* Insérer une vidéo (hébergée ailleurs donc forcément via un lien)
* faire des paragraphes (éviter le code pour ça, c'est la que le markdown est ok)
* permettre un retour à la ligne sans paragraphe (
) : utile pour les poèmes
* Citer, et citer une citation
* bloc "code" (non analysé, pas de retour forcé à la ligne, potentiellement analyse syntaxique mais bon, on a aussi un super pastebin pour du temporaire et le wiki et git pour le moins temporaire : pour moi le "code" sur le forum a juste pour vocation de partager des mini-bouts de trucs où la syntaxe ne doit pas bouger).
* Centrer, aligner à gauche, à droite ; si rien : justifié.
Des trucs vraiment propres au forum :
* gestionnaire d'émoticones : les smileys textuels sont automatiquement remplacés par leur équivalent en gif. Importance pour l'admin de pouvoir gérer la bibliothèque associant syntaxe et image.
* couleurs sur le texte : j'hésite un peu à permettre ça mais parfois, c'est pratique... Alternative, proposer des polices différentes ? Plus facile de forcer du "lisible".
* Spoiler : bloc "fermé" qui se déplie si on clique dessus. Possibilité d'ajouter un message pour déplier (comme sur le wiki ; permet de mettre un autre message que "spoiler" )
== Autour de la rédaction ==
Chaque message doit avoir une longueur maximum (aussi grande que possible mais quand même, faut éviter de saturer la base de donnée en postant 1 millions de caractère en une fois).
Comme les textes RP peuvent être longs, afficher un compteur de caractère peut être bien : "Il reste X caractères".
Avertissement (dès qu'on clique sur le bouton répondre, donc avant de rédiger) si on tente de répondre à un message qui n'a pas eu de réponse depuis X jours (6 mois soit 180 jours ?), ce qui n'empêche pas de poster mais évite de réanimer des vieux machins par mégarde.
Seul le premier message a besoin d'un titre, pas de possibilité d'en renseigner un en réponse, ça ne sert à rien...
Possibilité de prévisualiser son message avant de l'envoyer. Forcer la prévisualisation comme dans Linuxfr ?
=== Visualisation des messages/sujets ===
Pour l'aspect purement graphique, quand on ouvre un sujet :
* En haut, le titre du sujet
* à gauche, dans une case de "tableau" : le pseudo de l'auteur, son avatar, ses potentiels badges et titres ((Badges et titres : Ça c'est lié à la gestion de communauté, au profil général et pour le moment : osef))
* à droite, avec un maximum de 80 caractères (sauf erreur c'est la limite du lisible de façon fluide) : le message
* Sous le bloc du message : date de rédaction, date de potentielle modification (et potentielle raison), bouton "signaler", bouton "traduire" (si on le fait).
* Si on est l'auteur : lien "éditer".
* Si on est modo : lien "éditer", "scinder", "rouvrir l'édition", "modérer((Ouvre les options de modération?))"
* En bas à la fin de la liste des messages : boutons "répondre", "s'abonner/se désabonner", "marquer comme non-lu"
* Si modo : épingler, supprimer, fusionner, scinder, verrouiller, déplacer.
Le visuel avec avatar à gauche et texte à droite est important pour l'efficacité du forum, du moins pour les personnes qui lisent de gauche à droite. Oui, c'est du style phpbb2, mais ce n'est pas pour rien si ce style de forum est celui qui fonctionne le mieux pour des communautés actives.
==== Catégories ====
Il est potentiellement possible d'organiser par "tag" les sujets plutôt que par catégories fixes (façon phpbb). Personnellement je trouve qu'un hiérarchie fixe avec une arborescence claire est plus fonctionnelle, mais c'est à discuter.
Je différencierais 2 type de catégories : avec ou sans forum associé. Exemple sur le forum actuel : "khaganat" et "khanat" sont deux catégories, avec des sous-catégories mais sans forum associé (il n'y a pas un espace où poster des messages juste sous "Khaganat", mais il y a des sous-forum).
Pouvoir imbriquer sur plusieurs niveaux les catégories est bien utile côté organisation : "Khaganat>Général>Bienvenue" par exemple.
Côté visuel, ce qui me semble marcher le mieux (mais je suis ptet vieux jeu), de gauche à droite :
- Icone indiquant s'il y a des nouveaux messages, si la catégorie est suivie
- Nom de la catégorie
- Dernier message posté (avec titre, auteur, date : permet de savoir si on a déjà répondu à tout :P )
Pour les sous-catégories, on peut se contenter de lister sous la catégorie (comme SMF actuellement), mais personnellement j'aime bien aussi avoir un décalage indiquant la hiérarchie puis les lignes de chaque catégorie (avec l'icône, le nom, le dernier message).
Le nombre de messages et sujets dans une catégorie me semble superflu.
Côté icone :
* Il faut un indicateur visuel, propre à chaque utilisateur, pour les sujets lus/non lus (avec une option pour dire "mettre tout en lu", afin de réinitialiser les compteurs
* Un indicateur visuel pour les discussions suivies/non suivies peut aussi être intéressant, mais moins nécessaire
* Cet indicateur doit aussi se retrouver sur les catégories : y'a-t-il des sujets non lus sur une catégorie ? Est-on abonné à cette catégorie ?
Aspect design : la façon dont les catégories avec et sans sous-catégories sont affichées, ainsi que la hiérarchisation des catégories a un gros impact sur l'ergonomie, il faudra donc soigner ce détail et bien le concevoir.
Dans une catégorie qui affiche une liste de sujets, la liste de sujet doit s'afficher dans cet ordre :
* On trouve d'abord les sujets épinglés (ne bougent pas)
* Ensuite les sujets ayant eu des réponses récement
* Plus on descend dans la liste des sujets, plus la dernière réponse date.
* Répondre à un sujet fait remonter le sujet en question en haut de la liste.
Pour chaque ligne de sujet :
* Afficher l'icône lu/non lu - Suivi/non suivi
* Le titre et l'auteur d'origine
* La date du dernier message et l'auteur qui l'a écrit
* Nombre de réponses ?
* Le nombre de "vues" me semble inutile, ça fait du kikimeter sans grand apport, d'autant que ces compteurs sont souvent faussés (comptent plusieurs visites de la même personne).
==== Recherche ====
Pouvoir faire une recherche sur le forum uniquement est essentiel. À voir si on se contente de paramétrer Searx. Sinon :
* La recherche doit prendre en compte des expressions régulières (chercher tel terme ET/OR tel terme, joker, etc)
* Filtrer par auteurs (possibilités d'en renseigner plusieurs
* Filtrer par catégories (par défaut recherche sur tout le forum)
* Filtrer par date (par défaut, tout, mais on peut aussi dire "dans les messages des 2 derniers mois", par exemple)
* Rechercher uniquement dans les titres, dans les messages ou dans les deux
* Trier les résultats par date (chronologique/antechronologique), par auteur, par titre, par taille de message
* Afficher juste les titres des sujets ou mettre un extrait du message où les mots-clés apparaissent
==== Abonnements sujets et catégories ====
L'abonnement a deux impacts :
* L'utilisateur a une liste des sujets auquels il est abonné
* S'il le souhaite, il peut recevoir une notification (par mail, sur xmpp, autre ; une fois par réponse/jour/semaine) comme quoi un sujet ou une catégorie auquel il est abonné a reçu de nouvelles réponses. Il sera notifié pour une première réponse, mais ne recevra pas plus de notification sur cet abonnement spécifique tant qu'il ne se sera pas co (sinon ça peut vite spammer).
Il faut pouvoir s'abonner à un sujet, même sans participer ; si on répond, on peut décider dans la foulée de s'y abonner ou non (case à cocher/décocher à côté du bouton "envoyer la réponse"). Dans le profil, il faut pouvoir gérer si par défaut on souhaite s'abonner aux messages auxquels on répond ou non (par défaut, oui).
Idem sur les catégories : simplement cocher/décocher les catégories où on souhaite être averti des nouveaux messages (par défaut, rien n'est coché, sauf le forum "Annonces").
==== Droit de lecture et écriture ====
Chaque catégorie du forum peut avoir des droits de lecture et d'écriture différentes. Une catégorie peut être en lecture :
* fermée : seul le ou les groupes spécifiés peuvent voir ce qui s'y passe
* sur inscription : seules les personnes connectées au forum peuvent lire ce qui s'y passe (rarement utile mais ça arrive)
* Ouvert : tout le monde peut lire (même les non-inscrits).
Idem sur l'écriture :
* Bloquée : personne ne peut écrire, sauf les administrateurs/modérateurs
* Limités : seuls les groupes spécifiés peuvent ouvrir des sujets et y répondre
* Ouvert : même les non-inscrit peuvent poster (mais dans ce cas ils auront un captcha à la con).
Par défaut les forums sont en lecture ouverte (tout le monde peut lire même sans s'inscrire) et en écriture limité (le groupe "inscrits" peut poster à condition qu'il puisse voir le forum en question).
=== Groupes d'utilisateurs ===
Les droits se gèrent pas groupe d'utilisateur. Chaque groupe peut avoir des droits différents sur chaque catégorie et sous-catégorie (par défaut, hérite des droits du parent, mais peut se configurer plus finement).
Groupes de base :
* visiteurs (non inscrits ; permet de leur spécifier des droits)
* inscrits
* modérateurs (voir les types de modo)
Les administrateurs ont la possibilité de créer des groupes, de sélectionner quels droits ces groupes ont sur les forums à lecture fermée, d'indiquer la liste des pseudos ayant accès à ces groupes.
Note : suivant la gestion des Organisations (sortes de guildes du Khanat, voir plus bas), il faudra peut-être une gestion automatique de certains groupes, et autoriser une granulosité plus faible (que les cheffes d'organisations puissent inscrire/virer des gens de leur groupe).
== Niveau de droit des modérateurs ==
Il y a plusieurs statuts de modération :
* Modération sur une catégorie : ces modos ont des droits assez bas, uniquement sur la ou les catégories où ils sont notés. Typiquement les chefs de guilde sur leur propre espace de guilde.
* Modération générale publique : ces modos peuvent modérer tout le forum public.
* Modération générale totale : ces modos peuvent en plus accéder aux forums privés et y intervenir.
* Cheffes modératrices : tous les droits de modération, dont le fait de vider la poubelle et de gérer les droits de modérations pour les autres (droit de définir des modérateurs et à quel niveau).
Pour démarrer, seule la fonction de Cheffe est utile ; la granulosité devient intéressante avec l'agrandissement de la communauté, mais actuellement et vu notre taille, il n'y a rien à modérer en dehors de quelques bots.
==== Fonctionnalités de modération ====
=== Pour les utilisateurs ===
Chacun peut éditer ses propres messages, dans la limite de 2 mois après la dernière édition. Ensuite, s'il se rend compte d'une coquille, il doit faire une demande pour rouvrir son droit de modération sur ses propres messages, ou simplement demander à un modo de lui changer un truc.
Cette mesure répond à deux problématiques :
- généralement, après 2 mois, il n'y a plus besoin d'éditer un message ; les rares cas où cela arrive, c'est que quelqu'un a envie de foutre le boxon en enlevant tous ses messages, ce qui rend les fils illisibles. Si un utilisateur veut tout effacer je préfère qu'il passe par un modo et qu'une discussion s'engage sur un acte de ce genre, qui a de grosses répercussions sur la communauté.
- Pour autant, certains tiennent des postes "mises à jour" (genre "liste des guildes actives"). Même si, à mon avis, les wikis sont plus adaptés à ce genre d'usage, dans ce cas-là ne pas bloquer les mises à jour régulières du post me semble ok. Du coup si le post a été posté/édité il y a moins de 2 mois, on peut l'éditer encore.
Chaque utilisateur peut aussi bloquer des pseudonymes : dans ce cas, il ne verra plus les messages que ces pseudonymes ont posté. Cette fonction de blacklist est importante pour permettre de fuir des comportements qui nous posent soucis et éviter les escalades de gros mots.
Chaque message doit avoir un bouton "signaler", permettant de reporter un souci auprès des modérateurs. Lors du report d'un message, il faut obligatoirement remplir un champ "raison" (ce qui aide à traiter les soucis). Possibilité complémentaire : pouvoir choisir de quel type de report il s'agit dans une liste déroulante, par exemple :
* Non-respect de la charte
* Non-respect de la loi française
* Ton non-approprié
* Injures et insultes
* Autre
=== Pour les modérateurs ===
Permettre de voir l'historique des modifications sur un sujet, y compris le message originel (gestion des diff ? ). Cela permet de mieux comprendre certains conflits, de voir aussi comment d'autres modo gèrent un problème (pour s'en inspirer ou pour le questionner). L'accès à cet historique doit évidement être réservé aux modérateurs, les utilisateurs de base ne verront que la dernière version.
Actions possibles sur les sujets :
* Déplacer un sujet, en laissant ou non une redirection depuis l'ancienne position (par défaut, pas de redirection, c'est juste déplacé)
* Fusionner un ou plusieurs sujets (avec ou sans redirection, pas de redirection par défaut). Lors de la fusion, indiquer quel est le sujet "maitre" et après quel message de ce sujet on veut ajouter la fusion (par défaut, après le dernier)
* Scinder un sujet, avec possibilité d'indiquer la redirection ("ce message a été scindé, la nouvelle version est dispo ici"), activé par défaut. Lors de la scission, indiquer soit à partir de quel message la scission se fait, soit cocher les messages à mettre dans le nouveau sujet, qui seront déplacés ; définir le nouveau titre du nouveau sujet.
* Supprimer un message => par défaut, envoie dans une catégorie "poubelle" accessible uniquement aux modos. Seul un modérateur ayant des droits plus élevé peut vider la poubelle (ceci dans l'optique d'éviter quelques abus de pouvoir... ça arrive rarement mais mieux vaut le prévoir).
* Verrouiller (et déverrouiller) le sujet : impossible de répondre au sujet une fois cette action enclenchée, sauf si on est modérateur (permet d'ajouter un message final tranquillement). Le motif de verrouillage doit être indiqué.
* Épingler le sujet : passe le message en "épingle" sur le forum où il se situe.
Action possible sur les messages
* Éditer un message
* Rouvrir le droit d'édition à l'auteur du message après le délai des 2 mois
* Supprimer le message => le "cache" mais les modos pourront le voir.
* Cacher un message : la personne qui a posté le message le verra toujours une fois connectée, mais elle sera la seule (avec les modos). C'est une méthode pour gérer les trolls.
Actions possibles sur les profils :
* Forcer le blacklist d'un pseudo par un autre. Cette option est réservé aux modo expérimentés (minimum modo général), mais ce serait bien pratique pour calmer certaines personnes qui prennent plaisirs à se titiller en public... là, on les empêchent de se voir.
* Mettre un pseudo en mode "silence" : la personne peut poster, mais elle seule verra ses messages dorénavant. Méthode simple même si un peu violente pour gérer les trolls les plus vindicatifs.
* Effacer tous les messages de ... : utile en cas de bot ayant réussi à passer et spammer.
== Panneau des modérateurs ==
Les modérateurs doivent pouvoir accéder à une interface résumant les actions de modération (suivant leur niveau aussi...) :
* Messages reportés non traités (avec la raison de la liste déroulante)
* Liste des utilisateurs bannis/mis au silence
* Liste des utilisateurs ayant été modéré ("karma" mais visible uniquement par les modos, hein)
* Journal des interventions
**Journal des interventions** : log des modérations.
* Action (suppression, modération, etc)
* Date
* Par qui (nom du modo)
**Messages reportés non traités** : lorsqu'un utilisateur signale un souci, ça atterit là. Si plusieurs signalements reportent le même message, il n'y a qu'une seule alerte. Chaque ligne de la liste se présente de cette façon :
* Titre du sujet et numéro du message incriminé (tant pis si c'est un peu bizarre, ça identifie)
* Auteur du message (et son "karma", voir plus bas)
* Personne(s) ayant reporté le message (ça permet de trier les règlements de comptes)
* Raison du report
* Modérateur gérant le truc (par défaut personne)
Après ça fonctionne comme un ticket : un modo prend le report (il se l'attribue, afin que les autres sachent que c'est lui qui gère). Il fait ce qu'il y a à faire, puis il envoie un message à toutes les personnes ayant reporté le message (avec messages pré-remplis suivant les soucis; genre "Merci de votre signalement, nous avons modéré le message en question", mais évidement personnalisable), envoi qui est évidement avec destinataires cachés, et enfin il clôt l'incident. Le message n'apparait plus dans la liste des messages reportés. Si le modo juge l'affaire trop complexe, il peut ajouter une note au report (expliquant ce qu'il a fait, pourquoi ça le coince) et réattribuer à "personne", ce qui le rendra de nouveau gérable par un autre modérateur.
**Liste des utilisateurs bannis** : il doit y avoir une gestion très générique des bannissements, propre à tout le site, quand il s'agit de bannir des ip, des types d'utilisateurs (regexp liée aux spambots) ; ici on parle uniquement des utilisateurs donc de trucs propre au forum. Cela liste les pseudo qui n'ont plus le droit de parler sur le forum. Si un utilisateur est banni, il ne peut pas poster, mais s'il est "muté" il peut poster sauf que personne ne verra ses messages postés sous cet effet en dehors de lui. Si un utilisateur est banni/muté avec tous ses pseudos (voir la logique de l'identité, propre à Khaganat), c'est indiqué. Cette liste n'est visible et accessible que des modos avec un certain grade. Possibilité depuis cette page d'ajouter une sanction à un utilisateur (rentrer son nom, la sanction, appliquer). La liste affiche :
* Le nom du pseudo modéré ; si c'est l'utilisateur (et donc ses sous-comptes), le pseudo a un indicateur visuel indiquant que ça touche tout son compte (pas besoin pour autant d'avoir la liste, osef à ce stade)
* Le type de punition : banni, muté (autre ?)
* Le karma
* La date de mise en œuvre de la punition.
* Le modérateur ayant mis en œuvre cette modération.
**Liste des utilisateurs ayant été modéré** : À partir du moment où un utilisateur a un de ses messages modéré (sauf si c'est pour la raison "coquilles et orthographe((Note : en fait il va surtout falloir voir quels actions de modérations donnent lieu au gain d'un point de karma)) ), il voit son nom apparaitre dans cette liste, ainsi qu'un compteur de karma. Ce karma est propre à la modération et seuls les modérateurs peuvent le voir. Tout message modéré donne un point de karma. Cela permet en un coup d'oeil de voir les trublions... La liste est composée sur chaque ligne de :
* Pseudo
* Karma
* Date de la dernière modération
Chaque liste d'utilisateur donne aussi un lien vers le profil utilisateur, vu "modération". Il s'agit du profil publique, avec, en plus :
* Le log des actions de modérations dans lequel cet utilisateur a été impliqué :
* messages qu'il a reporté
* messages dont il est l'auteur et qui ont été modérés
* Son karma en point de modération
* Pour les cheffes et sous balise "spoil" : la liste de ses autres pseudo, avec mise en avant de son compte de base, combien de point de karma pour chaque et combien ça fait au total.
==== Accessibilité ====
Il y a beaucoup à faire et dire sur l'accessibilité... Je note ce qui me passe par la tête.
=== Thème et switch ===
Il faut que chaque utilisateur puisse paramétrer le thème utilisé pour le forum (à choisir dans une liste) ; cela permet de proposer des thèmes très contrastés, un thème clair et un thème sombre, des thèmes appropriés à divers types de handicap visuels.
Le thème du forum doit être dans un dossier bien identifié (pas des trucs partout) car l'idée, c'est de permettre aux gens de nous proposer des thèmes facilement (un petit pull request et hop, un nouveau thème accessible ! ou fun), donc il faut que ce soit très logique côté organisation.
==== Statistiques ====
Ok, c'est du kikimeter d'admin mais primo, je trouve ça fun, secundo, ça a une utilité dans la gestion de communauté.
--- //[[zatalyz|Zatalyz]] 2018/02/21 17:16//
Les stats c'est fun même si c'est pas la première fonctionnalité à avoir. Donc, faire une page "statistique" avec pleins de chiffres, de graphiques, etc, c'est important à un moment.
===== Spécificités Khaganat =====
==== Multilinguisme et édition collaborative ====
Ça, ce n'est //pas// une obligation parce que c'est un sacré bordel. Et ça demande à être discuté car il y a pas mal d'implications derrière.
Je trouve que le forum de Ryzom est relativement bien fait sur cet aspect.
Lors de la rédaction, pouvoir traduire son texte dans plusieurs langues, et basculer d'une langue à l'autre lors de la lecture, est une fonctionnalité intéressante, malheureusement réduite à cause du peu de monde parlant plusieurs langues (et ça finit par : tout le monde cause anglais).
=== Édition collaborative ===
Ce serait intéressant qu'en tant que rédacteur d'un message, on puisse cocher "laisser la traduction ouverte". Dans ce cas, le message deviens un peu comme sur les wikis... Le message originel est "bloqué", mais les traductions non remplies (ou indiquées comme modifiables) peuvent être éditées par qui passe et se sent motivé. Dans ce cas, n'importe qui peut éditer la traduction, la faire et/ou la corriger, puis l'envoyer. Là, deux possibilités :
* Le rédacteur originel reçoit une notification et doit valider le message (au risque que 5 personnes fassent le travail)
* La traduction est automatiquement acceptée (et peut être reprise par d'autres ensuite), mais le rédacteur originel peut amender, revenir sur les versions, et finir par bloquer les modifs quand il estime que le boulot est fait.
La personne qui a traduit est automatiquement créditée de la traduction (note en fin de message "traduit par Machin"). Si plusieurs personnes interviennent, elles sont toutes créditées ("traduit par Machin, Truc, Bidule").
Pour une fonctionnalité de ce genre, je verrais bien ceci :
* Dans le profil, on peut définir les options de correction qu'on veut autoriser par défaut sur ses messages :
* Permettre à tous de traduire, dans une ou toutes les langues (cocher les langues)
* Permettre uniquement aux gens dans la liste d'ami de traduire
* Permettre uniquement au groupe "traducteur" de traduire (on peut imaginer un groupe d'utilisateur avec une reconnaissance officielle donc d'autres droits).
* Permettre aussi de corriger le message initial (pour ceux qui font pleins de fôtes et aiment qu'on corrigent leurs coquilles), avec, de la même façon, un choix : tout le monde, les amis, le groupe de correcteur.
* Pour chaque message, la possibilité de cocher/décocher les options suivant ce qu'on a réglé par défaut.
Par défaut ce sera évidement bloqué, parce que c'est quand même la porte ouverte aux dramas... Mais personnellement je serais ravie d'ouvrir cette option sur mes textes RP (y compris la correction de coquilles). Toute personne intervenant dans l'édition du message sera listée, par contre, dans un souci de transparence. Enfin en cas de vandalisme, les modos peuvent remettre les messages dans un état antérieur.
=== Traduction automatique ===
Pouvoir faire de la traduction automatique d'un message (via un petit bouton) me semblerait bien fun, mais ça pose des questions de lien avec des grosses boîtes de traductions (vie privée, exploitation des données, tout ça) et il y a généralement un quota qui peut être traduit sur le site. Une possibilité serait peut-être de faire un bouton "traduction automatique" mais qui, au lieu de traduire sur le site, ouvrirait une fenêtre vers le site de traduction et y collerait le texte du message (ça limite un peu les requêtes ?).
J'aurais tendance à privilégier DeepL (qui a en plus une API assez simple : https://www.deepl.com/api-reference.html ), parce que leurs conditions d'utilisations actuelles sont très correctes. Ils utilisent google-analytics mais à part ça, c'est plutôt bien.
==== Identification ====
Le système de connexion doit être lié au système général (un login pour les identifier tous et dans le Khanat les lier).
Ce login donne accès à la liste des personnages que le joueur a créé en jeu.
Le joueur peut poster soit avec son identité générale (pseudo à indiquer quelque part dans le système de profil) , soit avec l'identité de l'un de ses personnages.
Voir aussi
* https://khaganat.net/forum/index.php/topic,360.msg1262.html#msg1262
* https://khaganat.net/wikhan/fr:reroll
* https://khaganat.net/wikhan/fr:synthese?s[]=cognomen#cognomen
Et faire une recherche sur "cognomen" dans le forum.
==== Affichage en jeu ====
Lorsque le joueur passe par le webig pour consulter le forum, il est automatiquement connecté avec le pseudo de son personnage.
Il faut que le forum s'affiche dans le webig... Vu les limitations actuelles du webig, il y a deux possibilités :
* Faire une feuille de style propre au webig (bonjour très vieux CSS !) et s'assurer de n'utiliser que des classes html lues par ce truc ; en gros faire un thème propre au Webig...
* Faire évoluer le webig et le remplacer par un moteur "moderne", mais on sait que c'est un travail complexe (même si ce serait le mieux).
==== Guilde - Organisation ====
Aspect public/privé, voir annuaire, kom... décrit sur wiki/forum
Sur le Khanat, il y a des organisations, pas des guildes, et un même personnage peut appartenir à plusieurs organisations (voir [[um1>um1/fr:gameplay:organisation|Organisations sur l'UM1]].
Cette fonctionnalité est à prévoir dans un second temps car, avant tout, il faut répondre à une question : pourquoi les joueurs utilisent des sites externes pour leurs guildes sur les autres MMORPG ? Suivant les réponses, voir si nous pouvons proposer un outil interne intéressant, ou s'il vaut mieux les laisser gérer. Et pour ça, il faudra sonder.
Voir aussi
* [[kh>forum/index.php/topic,476.msg1546.html#msg1546|Livre des guildes sur le forum]] : le sujet qui détaille les fonctionnalités potentiellement utiles.
* [[um1>um1/fr:gameplay:organisation|Organisations sur l'UM1]]
* [[um1>fr:kom#l_annuaire_des_organisations|Annuaire (lié au Kom), UM1]]
* [[kh>forum/index.php/topic,233.0.html|Communications]]
==== Guimauve ====
Idée originellement développée sur [[https://khaganat.net/forum/index.php/topic,375.0.html|ce message du forum.]]
Sur chaque message des autres, il y a une petite icone "coeur/guimauve" avec en survol l'infobulle "Remercier l'auteur avec une guimauve". En cliquant, cela change le visuel (+1 à côté ?). Au survol, cela devient "enlever la guimauve de la bouche de l'auteur" (ce qui remettrais à l'état antérieur).
Sur ses propres messages, l'icone n'est pas cliquable, mais il y a une icone similaire, croquée, avec un chiffre, et au survol "X personnes vous ont donnés de la guimauve pour ces jolis mots". Ou, si pas de guimauve "Pas encore de guimauves".
Sur sa page de profil, il y a un compteur de guimauve (visible uniquement par nous-même), indiquant le nombre de guimauves reçues au total sur l'ensemble de ses messages, et le nombre de guimauves données.
Ce "karma" n'est pas publique (on ne sais pas qui a aimé les messages de qui, et si les autres messages sont appréciés ; uniquement les siens).
But de cette fonctionnalité qui a l'air inutile :
* Donner la possibilité aux gens de montrer, par un simple clic, qu'ils apprécient ce que l'auteur d'un post a dit.
* L'auteur doit pouvoir voir ce qui a été aimé, mais pas par qui : l'amour est anonyme, et le but est surtout de l'encourager à poster des messages appréciés.
* Quand on "aime", on voit ce qu'on a aimé, on peut aussi enlever si on s'est trompé (ça arrive), mais pas mettre de négatif, car le but n'est pas de punir, uniquement d'encourager.
* On ne voit pas à quel point le message de quelqu'un a été aimé : pas de kikimeter ! Cela évite des phénomènes de comparaisons, pas forcément bon pour les egos.
===== Fonctionnalité ici ou ailleurs =====
Il existe des fonctionnalités généralement liées au forum, mais qui me semblent pouvoir être déportées ailleurs.
==== Fonctions de sondage/vote ====
Il y a des logiciels qui permettent de faire des sondages de façon vraiment complètes ; sinon les framadates sont pratiques pour un vote basique non anonyme. Enfin, dans le cadre du collège, comme chacun doit s'exprimer et que nous ne sommes pas des centaines, simplement répondre dans un sujet de forum suffit.
Pour voir l'utilisation de la fonctionnalité de sondage sur la plupart des forums actifs (dont celui de Ryzom), cette fonctionnalité me semble vraiment superflue. Je préfère prendre le temps d'apprendre aux gens à utiliser une vraie solution de sondage, et à les mettre en place pour de bonnes raisons (c'est à dire, quitte à demander l'avis des gens, autant apprendre à poser les bonnes questions).
==== Messagerie privée ====
Si la messagerie privée est nécessaire dans le cadre d'un MMORPG, pour moi il s'agit d'une fonctionnalité indépendante du forum (et qu'on peut donc activer ou non suivant son utilisation de django). Un argument en particulier parle en faveur d'un développement séparé de ce genre de module : il existe pleins de protocoles et pleins de façons de gérer les messages et suivant le développement du projet, une solution est plus adaptée qu'une autre. Personnellement j'aimerais me baser sur XMPP côté technique (qui offre plus de possibilité que le mail et inclue toutes les fonctionnalités dont on peut rêver), même si je ne sais pas encore quelle interface permettra de l'utiliser dans le site web. Par ailleurs, la messagerie est actuellement plus une gêne qu'une fonctionnalité, à notre niveau de développement : nous avons des mails où les gens peuvent nous contacter, par contre s'ils laissent un message dans une messagerie interne, nous ne serons probablement pas prévenus à temps (sans parler du fait que la multiplication des canaux, ça finit par peser).
==== Calendrier ====
Il est intéressant de pouvoir lier un calendrier à des messages sur le forum mais... là aussi, pour moi, il s'agit d'un module séparé ; la gestion des calendriers dans un MMORPG peut être complexe si on veut que ce soit intéressants :
* plusieurs calendriers publiques suivant les types d'évènements (calendrier Khaganat - calendrier Khanat RP )
* calendriers "personnels" et/ou partagés (au sein d'une guilde par exemple).
Comme ce n'est de toute façon pas nécessaire tant que nous n'avons pas une grosse communauté, pleins de joueurs etc, je propose de laisser ça de côté pour le moment, et pour longtemps.
{{tag>Projet Programmation Web}}