ZEP-13 : Tribune libre

a marqué ce sujet comme résolu.
Cartouche
ZEP 13
Titre Tribune libre
Révision 1
Date de création 2014-08-06
Dernière révision 2014-08-06
Type Feature
Statut Rédaction

Des moyens d'expression sur ZdS

Aujourd'hui, un membre qui veut s'exprimer sur Zeste de Savoir a les possibilités suivantes :

  • S'il veut transmettre un savoir, il peut écrire un tutoriel, quelle que soit sa taille.
  • S'il veut transmettre une nouvelle, une présentation, il peut écrire un article1
  • S'il veut poser une question, lancer un atelier, proposer un exercice ; bref toute forme d'expression nécessitant une interaction forte avec les autres membres, il peut ouvrir un sujet dans un forum.

Par contre, il n'existe aucun moyen pour un membre de donner un retour d'expérience, de donner son opinion quant à une actualité (en lien avec ZdS) non publiée sur le site, de donner un lien intéressant… en bref, de publier des contenus qui peuvent intéresser les lecteurs de Zeste de Savoir, mais qui ne nécessitent pas spécialement d'interaction avec les autres membres.

Tutoriels, Articles, Tribune Libre

L'idée est donc d'ajouter une troisième forme de contenu publié (en sus des forums) : la tribune libre.

Cette proposition est très inspirée des journaux de Linuxfr.org que certains connaissent peut-être. N'hésitez pas à aller voir ce que ça peut donner.

Le but est de permettre à l'utilisateur de créer des contenus qu'il puisse publier (et éventuellement mettre à jour).

Différence avec les contenus actuels

  • Une tribune n'est pas un tutoriel parce qu'il n'a pas pour but de transmettre quoi que ce soit.
  • Une tribune n'est pas un article pour deux raisons : le sujet et le traitement. Les sujets acceptables sont beaucoup plus variés, voyez la section dédiée ci-dessous. Le traitement peut être aussi beaucoup plus léger, allant jusqu'à la "tribune bookmark" (façon "voici un lien qui pourrait vous intéresser sur tel sujet"). Ce qui n'empêche pas la présence de tribunes rédigées.
  • Une tribune n'est pas un forum, dans le sens où elle n'implique pas forcément une réaction de quiconque. Néanmoins, un espace de discussion est fourni pour recueillir les réactions. La tribune pourrait remplacer une partie du forum présentation de projets (pour les projets finis) et certains sujets du Bar à Smoothies.

Sujets acceptables en tribune

La règle est simple :

Tous les sujets sont acceptés, tant qu'ils ont un rapport même vague avec Zeste de Savoir.

En particulier, certains sujets y sont les bienvenus : les retours d'expérience de toutes sortes (transmission de savoir), les sujets sur la transmission de savoir, les liens vers des articles en ce sens, etc.

Bien entendu, les sujets complètement illégaux sont bannis.

Fonctionnellement, comment cela se présente ?

Pour le lecteur

Les lecteurs peuvent accéder aux tribunes via le menu principal, qui contient un nouvel item : "Tutoriels / Articles / Tribunes libres / Forums"

À partir de là, la présentation est exactement la même que celle des articles, à savoir :

  • Titre, sous-titre, licence, date de publication, tags, auteur
  • Contenu de la tribune, au format d'affichage "long texte"
  • Zone de réaction avec toutes les fonctions habituelles
  • Menu de gauche qui permet de télécharger le contenu pour une lecture hors-ligne

Pour le rédacteur

Chaque membre (sauf membre en lecture seule ou banni) peut écrire des tribunes. Il accède à l'interface de rédaction via son menu membre ; nouvel item : "Mes tribunes"

L'interface de rédaction est exactement la même que celle d'un article, à une différence prêt : on ne peut pas écrire de tribune à plusieurs. Les champs disponibles sont donc les mêmes :

  • Titre
  • Sous-titre / description
  • Icône / image
  • Catégories
  • Licence
  • Texte

Pour le staff

Ici on a deux possibilités : valider les tribunes ou les modérer ; sachant que dans tous les cas les options de modération devront être disponible sur les commentaires en cas de débordement. De plus, le staff a des outils pour traiter une tribune qui ne serait pas à sa place

Validation à priori

Le but est d'éviter que des contenus vraiment trop hors sujet ou illégaux soient publiés.

La validation fonctionne exactement comme celle des article, à ceci près que les règles de validation sont beaucoup simplifiés : tout est accepté, sauf ce qui est totalement HS, illégal, ou tellement mal écrit que ça en devient illisible.

Si on choisit une validation à priori, tout contenu doit être validé ou refusé le plus rapidement possible, sous 24h grand maximum.

Modération à postériori

Toute tribune est publiée immédiatement. Si une tribune n'a manifestement rien à faire sur le site, elle est dé-publiée et seul un membre du staff peut la re-publier. Pour éviter les abus d'édition, on peut limiter les droits d'édition après publication aux seuls membres du staff.

La modération des commentaires se fait comme dans les tutoriels et les articles.

Mutation d'une tribune

Il se peut qu'une tribune soit en fait un article mal placé, ou une question pour un forum. Des outils automatiques de mutation semblent inutiles, du moins dans un premier temps :

  • La promotion d'une tribune en article nécessite souvent une réécriture au moins minime. Ne pas oublier de prévenir dans la tribune qu'un article a été créé à partir d'icelle.
  • La transformation d'une tribune en question sur le forum se fait par demande à l'auteur de créer son propre thread. Un outil automatique est techniquement envisageable (il n'y a pas de gros problème fonctionnels qui l'empêche mis à part la question de la licence) mais nécessite beaucoup de développement pour un cas qui n'est pas sensé arriver ; surtout si l'on choisit une validation des tribunes.

Et la technique ?

Le but du jeu est de réutiliser un maximum du code des articles. Ceci implique que les améliorations des articles sont à faire sur les tribunes aussi, tant que ça reste cohérent (exemples potentiels : amélioration du système de classement / tags ; utilisation d'une structure plus complète, etc.)

Les principales modifications se trouvent du côté de la validation (selon le système décidé) et de quelques gestions de droits pour l'édition. Rien de bien sorcier ici, je pense.

Points restants à discuter

  • Affiche-t-on des tribunes sur la page d'accueil ? Si oui, de quelle manière ?
  • A-t-on une validation légère (à priori donc) ou une modération (à postériori) ?

  1. La limite entre "tutoriel" et "article" n'est pas le sujet de cette ZEP mais fait l'objet d'une décision éditoriale de la part de l'association. Vous pouvez aller présenter vos arguments sur ce topic

Perso je suis pour une modération a posteriori, au moins au début. Le but est aussi d'avoir un espace de publication plus souple et plus rapide ! Si jamais on remarque des abus, il sera toujours temps de basculer vers l'autre format.

Perso je rajouterais que les tribunes, comme linuxfr, devraient pouvoir être votés. Outre son affichage pour indiquer au lecteur l’intérêt a priori de la tribune, cela peut permettre de rendre les tribune peu intéressantes moins visible. Par exemple on peu imaginer que sur la page d'acceuil on affiche toutes les dernieres tribunes où le vote est supérieur à -10.

La ZEP-12 tente déjà d'unifier le code des tutoriels et des articles, comme je le conçoit à partir de ce que tu énnonce, il ne s'agit que d'un type d'article particulier ne pouvant accepter qu'un seul auteur et possédant quelques subtilités. L'implémentation de cette ZEP doit donc pour moi ce faire au moins en même temps que la 12, et à fortiori la ZEP-08 (désolé si ça ralenti le processus).

Pour le reste, je serai plutôt pour une validation minimale, pour éviter vraiment les débordements. Même si la tribune ne reste accessible que 5 secondes, c'est 5 secondes qui sont suffisantes pour avoir accès à l'éventuel contenu incriminé, et c'est sans parler du fait que les modérateurs ne sont pas forcément présent sur le site 24/7 (et ce serait beaucoup leur demander) : je ne suis donc pas d'accord avec Kje, même si j'ai énormément de fois en l'être humain (ceci dit, l'idée du système de vote me parait intéressante). Quand à l'affichage sur la page d'accueil, la ZEP-04 mentionne à plusieurs reprises la présence de cette tribune, je pense donc que son intégration sera naturelle.

En fait je ne vois pas le problème, c'est exactement le même que sur le forum ! On a déjà une validation a posteriori sur le forum (qu'on nomme modération). Je ne vois pas de raisons que ça pose plus de problèmes. Ou au moins je ne vois pas de raisons, au moins, de ne pas le tenter. L’intérêt d'une tribune libre est d'etre réactive et d'avoir un niveau de modération plus bas.

J'y vois deux problèmes, qui n'en sont peut-être pas :

  • La visibilité de celle-ci est plus importante que pour un post dans un forum, puisque ce sera en page d’accueil, donc peut abîmer l'éventuelle image du site dans des cas limites.
  • Le risque que des utilisateurs confondent justement ce mécanisme et le forum, en quête d'une réponse plus rapide (et on sais tous ce que ça peut donner).

Après, effectivement, qui ne tente rien n'as rien :) (et une fois encore, j’appuie l'idée du vote).

La visibilité de celle-ci est plus importante que pour un post dans un forum, puisque ce sera en page d’accueil, donc peut abîmer l'éventuelle image du site dans des cas limites.

Techniquement la zep-4 va rendre les message du forum aussi visible que la tribune libre. On aura exactement le même problème : Un c**** peut faire des messages sur le forum et arriver sur la page d’accueil. Je pense qu'il faut peut être juste jouer sur les conditions pour y arriver. On peut imaginer une validation qui sert juste a dire si la tribune peut etre sur la page d'acceuil. Ainsi on peut publier les tribune sans validation et dès qu'un staff passe par là, il valide son affichage en page d'acceuil si ce n'est pas illegal/choquant/etc.

Le risque que des utilisateurs confondent justement ce mécanisme et le forum, en quête d'une réponse plus rapide (et on sais tous ce que ça peut donner).

Pour arriver sur une tribune, la démarche sera plus compliqué (passer par le menu d'en-tête, etc.). Le formulaire peut aussi prévenir de la différence. Dans tous les cas ça ce n'est pas grave. Dans tous les cas on risque d'en avoir, si une tribune "question forum" reste en ligne une heure, ce n'est pas grave.

Je pense qu'il faut peut être juste jouer sur les conditions pour y arriver. On peut imaginer une validation qui sert juste a dire si la tribune peut etre sur la page d'acceuil. Ainsi on peut publier les tribune sans validation et dès qu'un staff passe par là, il valide son affichage en page d'acceuil si ce n'est pas illegal/choquant/etc.

Dans ce cas, je suis d'accord :)

  • Une tribune n'est pas un tutoriel parce qu'il n'a pas pour but de transmettre quoi que ce soit.
  • Une tribune n'est pas un article pour deux raisons : le sujet et le traitement. Les sujets acceptables sont beaucoup plus variés, voyez la section dédiée ci-dessous. Le traitement peut être aussi beaucoup plus léger, allant jusqu'à la "tribune bookmark" (façon "voici un lien qui pourrait vous intéresser sur tel sujet"). Ce qui n'empêche pas la présence de tribunes rédigées.
  • Une tribune n'est pas un forum, dans le sens où elle n'implique pas forcément une réaction de quiconque. Néanmoins, un espace de discussion est fourni pour recueillir les réactions. La tribune pourrait remplacer une partie du forum présentation de projets (pour les projets finis) et certains sujets du Bar à Smoothies.

J'ai été voir les journaux sur Linuxfr, je suis sceptique quant à leur utilisation: la majorité des articles sont pour moi des questions-forum, il y a des articles-actualité, mais qui pourraient aussi faire l'objet d'un topic sur le forum (genre "que pensez-vous de ce projet de loi sur le numérique"). Ce que tu appelles la tribune-bookmark peut aussi à mon avis etre mise sur un forum.

Pour présentation de vos projets, je ne vois pas pourquoi elle devrait quitter le forum, de même pour certains sujets du Bar à Smoothies (tu as un exemple en tête?)

Mais je ne suis pas contre une tribune libre, c'est une excellente idée, et ça m'avait déjà traversé l'esprit. Mais je l'avais imaginé sous forme de 'blog' ou d'espace personnel (genre looping.zestedesavoir.com ou lié à la page de profil genre zestedesavoir.com/user/looping/blog)

Ce format devrait empecher les articles-forum, on pourrait y écrire des articles perso, ou se faire un blog thématique, genre "actualités du libre", ou "mes créations artistiques"… selon ses gouts. Ca peut aller de "Pourquoi j'aime les maths" à "Reflexions sur les lois et le numérique"

Cette idée de tribune est une très bonne idée !
Personnellement je penche plutôt sur la solution de modération a posteriori, sauf débordement (comme sur les forums).
J'aime bien l'idée de Kje concernant l'affichage sur la page d'accueil avec les votes. Par contre je pense qu'il ne faut pas garder cette idée sur la page "Tribune Libre" (ou alors avec une option de tri Vote/Date) car ça perd l’intérêt d'une tribune libre (permettre à n'importe quel membre de partager un idée).


  1. Après relecture, je me suis rendu compte que j'étais pas très clair. Désolé pour ça ;) 

Le concept des journaux de LinuxFR est intéressant et je trouve que les discussions threadées y sont pour beaucoup. Ne serait-il pas possible d'importer le principe ici ?

J'y vois plusieurs raisons :

  • Les écrits assez larges, avec de l'ouverture ou ceux qui poussent à la polémique comme les coups de gueule entraînent souvent des réactions variées et des argumentaires qui n'en finissent pas, ce qui est ingérable avec une présentation linéaire.
  • On peut choisir d'ignorer un sous-débat qui ne nous intéresse pas (un troll vim/emacs entre X et Y), c'est un gain de temps.
  • Ça permet à chacun de donner son avis/poser une question sans avoir peur de polluer les autres conversations.
  • Après avoir commenté, le suivi est très simple et les réponses apparaissent clairement. N'importe qui peut relancer un sous-débat quelques jours après sans que le fil soit perdu et que les protagonistes en ratent une miette.

Au final c'est plus vivant, il y a moins de contraintes de modération (pas besoin d'intervenir pour recentrer le débat par exemple) et ça permet d'éviter que les discussions se standardisent et en deviennent superficielles.

Ce n'est pas le sujet de la ZEP (d'ailleurs il y a eu un thread à ce sujet), mais je pense que ça pourrait être également bénéfique pour les commentaires d'articles et de tutoriels, pour les mêmes raisons. D'autant plus que cela ne posera pas de souci en cas de migration tribune -> article ou article -> tutoriel.

+2 -0

Je pense que cette ZEP permettra de donner encore plus de vie au site.

Ça fait longtemps qu'il n'y a pas eu de révision alors je vais lister ce que je modifierai/mettrai à jour :

  • il faut que le format soit quasiment le même que les articles (donc attendre la ZEP-<je_sais_plus_quoi>) à la différence de :
    • la validation/modération qui est directe ;
    • la possibilité de noter une tribu libre (pas possible pour les articles) ;
    • un seul auteur.
  • un système à la Hacker News serait une bonne idée avec la possibilité de faire 4 filtres :
    • les plus populaires (par défaut) ;
    • les plus récents ;
    • les mieux notés ;
    • les plus commentés/qui crée le plus de discussion.
  • Il FAUT l'intégrer à la page d'accueil (et là ça casse la ZEP-4)

Les features qui seraient assez cools :

  • possibilité qu'un modo/admin passe la tribune en article (en validation), la situation est déjà arrivée plusieurs fois sur Linux-fr ;
  • discussions threadées.

Je soutiens également qu'une simple validation « OK c'est pas HS » doit être faite avant d'afficher les tribunes sur la page d'accueil. Si jamais c'est validé avant le 20 décembre je pourrai bosser dessus pendant les vacances de Noël.

+2 -0

Il FAUT l'intégrer à la page d'accueil (et là ça casse la ZEP-4)

Le temps que la tribune libre soit opé, on a le temps de voir venir. Une solution possible si on reste sur une page d'acceuil sur 3 colonnes est de fusionner les colonnes articles et tutos. Ce sont deux types de contenu proche et l'activité de publication n'étant pas énorme, ça ne masquera pas grand chose.

Pour le reste je suis d'accord avec ce que tu proposes à quelques nuances pret :

  • "les plus populaires (par défaut) ;" > il faut définir la métrique. Comment on définit un élément populaire ? un mix des 3 autres j'imagine.
  • "discussions threadées." > Bof, je vois assez peu d'interet et ça demande un morceaux de dev non négligeable en plus alors qu'un fil de discussion unique est déjà dispo dans le code. Il me semble plus simple de conserver un fil unique pour le moment, quitte a rajouter les discussions threadés en v2.

Je viens en cours de discussion pour donner mon avis pour les deux derniers points :
Affiche-t-on des tribunes sur la page d'accueil ? Si oui, de quelle manière ?
À première vue, je serais plus pour dire non, mais ajouter dans le menu du haut un lien vers les tribunes libres. Ou, à voir avec la ZEP sur la page d'accueil, rajouter une colonne tribune libre, mais ça va vraiment faire beaucoup pour la page. (ou voir avec la solution du fantôme). Apres, une autre solution peut être de faire 2 colonnes sur 2 niveaux. Par contre ça va allonger la page.
A-t-on une validation légère (à priori donc) ou une modération (à postériori) ?
Modération à postériori. Personnelement, je suis pour une modération seulement en cas de troll dans cette partie. Du moins pour le moment.

+0 -0

Modération à postériori. Personnelement, je suis pour une modération seulement en cas de troll dans cette partie. Du moins pour le moment.

Je pense qu'on est tous d'accord là dessus, c'est tout l'interet de la tribune libre. Et l'idée était qu'il y aurait une modération simple et rapide (un clic) de principe (ce n'est pas illegal ou insultant ?) pour faire arriver un élément sur la page d'acceuil, si les plus vues étaient sur la page d'acceuil.

Pour ce dernier point, cela me parait indispensable. La page d'acceuil est une vitrine tres importante. Ne pas les mettre sur la page d'acceuil c'est être sur que 50% des visiteurs ne sauront même pas que ce module existe.

Trie par popularité

L'algorithme de HN

Pour le trie par popularité je pense me fonder sur l'algorithme de Hacker News qui ressemble à ça :

Soient :

  • $gravity \in \mathbb{R}_{+}^*$ ($gravity = 1.8$ sur HN)
  • $hours \in \mathbb{R}_{+}^*$ le nombre d'heures depuis la parution de la tribune
  • $votes \in \mathbb{N}$ le nombre de votes
  • $penalty \in ]0, 1]$ une pénalité (par exemple, sur HN, l'url ou le titre peut apporter une pénalité)

$$ score = \frac{(votes - 1)^{0.8}}{(hours + 2)^{gravity}} * penalty$$

Les modifications apportées pour ZdS

Je pense qu'il faudrait de baser sur cet algorithme mais en modifiant les détails suivants :

gravity

Changer $gravity$ qui enterre trop rapidement un sujet. Il faudra partir sur quelque chose de simple mais on ne pourra l'adapter qu'une fois le système fonctionnel et rôdé un minimum.

Pénalité et bonus

Modifier $penalty$ en $bonus$ afin de ne pas mettre une pénalité sur une tribune mais plutôt un bonus. Ce bonus ne serait pas très important (dans $[1, 1.2]$ (à discuter pour la borne supérieure)) et temporaire, fondé sur le jour et l'heure de publication. Ainsi une tribune postée un soir de semaine quand le site a une forte activité se verrait attribuer un bonus de $1$ (soit pas de bonus) alors qu'un article publié un lundi matin à 2h (supposons que l'activité du site soit quasi-nulle) se verrait attribuer un bonus de $1.2$ pendant $n \in \mathbb{N}$ heures. L'idéal serait que ce bonus décroissent du temps $t = 0$ au temps $t = n$ (en heures). Il est aussi possible d'appliquer une pénalité tant qu'une tribune n'est pas validée (post publication).

Votes

Au lieu de partir uniquement sur le nombre de vote ($votes - 1$) je pense qu'il faut partir sur :

  • Le nombre de votes (du moins la différence : $votes = votes\_plus - votes\_moins$) ;
  • Le nombre de commentaire ;
  • Le nombre de membres qui ont vu la tribune.

Il faudrait bien-sûr ajouter un poids $p \in ]0, 1]$ à chacun.

Ainsi $votes - 1$ pourrait devenir :

$$ (votes * poids\_votes) + (commentaires * poids\_commentaires) + (vues * poids\_vues) $$

avec : $1 >= poids\_votes > poids\_commentaires > poids\_vues > 0$

Actualisation de la popularité

Fréquence d'actualisation

Je pense qu'il faut actualiser la popularité assez régulièrement, toutes les 15 minutes me parait pas trop mal. Il faut aussi lancer une actualisation lorsqu'un nouvelle tribune est publiée. Après tout dépend du nombre de tribunes (voir le paragraphe suivant) ainsi que la fréquence de publication. La charge et la puissance du serveur sont également à prendre en compte c'est pourquoi je pense qu'il faut stocker toutes ces donnés ZDS_APP.

Temps de prise en compte de la popularité

La popularité est un facteur qui au bout de $n \in \mathbb{N}$ jours perd toute son importance. C'est pourquoi je propose que lorsqu'on met à jour la popularité, on ne récupère que les articles de 20 ou 30 (à discuter) jours. Après ce n'est plus pertinent du tout. De même, avec ce trie on n'affiche seulement les articles de ces 20 ou 30 derniers jours.

Le problème que ça peut poser est le suivant : si jamais une tribune qui est assez vieille pour ne plus être dans le trie par popularité vient tout à coup très populaire, elle n'apparaitra pas.

Voilà pour la popularité, j'espère que ça a éclairci ma pensé.

Page d'accueil

Je suis globalement d'accord avec Kje sur la fusion des colonnes articles et tutoriels. La colonne des tribunes afficheraient les tribunes par popularité mais uniquement les tribunes validées (à postériori).

EDIT : je vous invite à lire cet article fort intéressant sur le système de ranking de HN.

+1 -0

Ainsi $votes - 1$ pourrait devenir :

$$ (votes * poids\_votes) + (commentaires * poids\_commentaires) + (vues * poids\_vues) $$

avec : $1 >= poids\_votes > poids\_commentaires > poids\_vues > 0$

gustavi

Il va bien falloir choisir les coefficients $poids\_votes$, $poids\_commentaires$ et $poids\_vues$.
Dans le cas où l'on a 2 votes négatifs, 1 vote positif avec un seul commentaire et 4 vues, on se retrouve à calculer $(1-2) * poids\_votes + 1 * poids\_commentaires + 4 * poids\_vues$. Si on prend $poids\_votes = 1$, $poids\_commentaires = 0.1$ et $poids\_vues = 0.01$, on obtient $ -1 * 1 + 1 * 0.1 + 4 * 0.01 = -0.86$, qui est strictement négatif, ce qui va poser problème quand on va essayer de l'élever à la puissance 0.8

+0 -0

Je pense qu'il faut soit prendre le max de 0 et la valeur obtenue, soit ne prendre en compte les autres facteurs que si le facteur vote est positif et que la somme des deux autres facteurs est strictement inférieure au facteur vote.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte