[Cahier des charges] Compteur de vues pour les sorties

C’est juste pour dire que s’il faut faire un choix, je ne penserais peut-être pas comme toi ni comme un autre, y’a rien de péjoratif là-dedans.

Entre une expression « express » d’un besoin (on veut un compteur de vues) et la réalisation (codage bête et méchant), on peut trouver une bonne dizaine de façon d’y arriver (avec moins de résultats différents au niveau visuel).

Tu te proposes donc pour répondre aux développeurs quand ils auront des questions (pas d’ordre technique, je parle juste de fonctionnel) ?
De mon côté, je sais que si je dois attendre un retour de quelqu’un pour avancer dans mon travail (plusieurs heures/jour d’attente pour quelques minutes/heures de travail entre chaque question), ça ne me motive pas vraiment.

2 Likes

Non mais serieux il reste quoi comme détail à régler?
Au niveau visuel oui. Un développeur nous propose différentes solutions, dit sa préférence et on valide.
Je rate peut-être des trucs.

Exact, quelques propositions :

  1. Si possible on évite les bots
  2. Si possible visible uniquement pour les participants à la sortie
  3. A priori pas de like
  4. Si possible uniquement pour la consultation d’une sortie, pas à chaque fois qu’on consulte une photo de la sortie
  5. Une même IP ne compte pas deux fois dans les mêmes 24h
  6. Valeur max du compteur : 2^32 - 1 ?
  7. Au niveau visuel je trouve très bien ce qui apparaît sur le premier message des threads du forum, en plus simple.
1 Like

Si ça te paraît si clair, on te laisse 5 minutes pour le rédiger proprement.

@tchae, pas besoin de refaire des votes pour le détail, il suffit de le proposer et de laisser chacun commenter et proposer des améliorations.

Est ce que le ‹ détail › ci-dessus vous convient ?

Oui. La réponse était « privé »

En gros seulement le chiffre du milieu (1,6 k sur l’exemple ci-dessous)?
Capture

C’est ce qui ressort du vote

Bonjour
Pour avancer sur ce point, il faut créer un cahier des charges fonctionnel :
Post en WIKI ci-dessous pour le créer ensemble :

Cahier des charges fonctionnel

Objectif du projet

L’objectif de ce projet est de permettre d’avoir un compteur de vue par sortie, visible ou non par choix du ou des auteur(s) de la sortie.

  • Dans le document sortie, un compteur de vue affiche le nombre d’affichage de la sortie
  • une case à cocher en bas du formulaire de saisie de sortie, mentionnant « Désactiver le compteur de vues », avec valeur par défaut à non (situé à coté de la case actuelle pour autoriser ou non les commentaires)
  • Comme pour le reste des documents sortie, seul un membre de la sortie (ou un modo) peut changer la valeur de ce champ.
  • si le compteur de vue est désactivé, alors le nombre de vue n’est visible que par les personnes associées à la sortie.

Cahier des charges technique

Charabia technique

API

Rajouter dans tous les documents (1) :

  • view_count un champ numérique (integer), valeur par défaut à zero est rajouté auz document. Il s’agit d’une méta donnée, et non pas d’un champ versionné (un changement de sa valeur ne doit pas creer une nouvelle version en base du document). Ce champ est remonté dans tous les services exposant des documents.

Rajouter dans les document sorties :

  • enable_view_count un champ booléan, par défaut à true. Ce champ est versionné, comme les autre champs du document. Comme pour les autres champ des sorties, il n’est modifiable que par les personnes rattachées à la sortie (ou les modos). Si enable_view_count est à false, alors view_count est remplacé par null dans le service qui expose la sortie.

A chaque requete du document, view_count est incrémenté. Il existe deux exclusion pour ne pas incrémenter :

  • Si l’utilisateur est un robot
  • si l’utilisateur a un user agent dans une liste donnée (pour exlure par exemple le google bot)

point important : l’incrementation est bufferisé, afin de ne pas surcharger la base de donnée. Les APIs stockent la valeur à incrementer, et tous les N minutes, vont vider le buffer pour mettre à jour les documents en base.

Note 1: c’est aussi simple techniquement de le mettre pour tous les docs, donc autant l’avoir pour tout le monde.

UI

Assez évident, voir partie fonctionnelle

2 Likes

Ça me paraîtrait vraiment dommage de limiter le décompte aux seuls utilisateurs connectés, ce qui donnerait une fausse idée de la fréquentation de C2C. Et si l’idée c’est de motiver les gens à rentrer des sorties, alors il serait préférable de ne pas limiter la vue du nombre d’affichages aux seuls utilisateurs connectés (qui sont déjà a priori proches de C2C)

Je suis d’accord, une vue reste une vue, qu’elle soit fait par une personne connectée ou non.

Dans le meme sens, l’option de cacher ou pas le nombre de vue doit s’appliquer à tout le monde : il suffit de quelques secondes pour se creer un compte, il n’y a donc fonctionnellement pas trop de sens de le laisser visible uniquement pour les personnes connectées, et ca rajoute de la complexité technique.

Je modifie dans ces sens.

3 Likes

Merci @CharlesB !
Cette fonctionnalité est donc prête à être développée par des gentils développeurs : https://github.com/c2corg/c2c_ui/issues/2648 :slight_smile:

1 Like

Et donc ?

Et donc, il faut de gentils développeurs pour développer.
Tu te proposes ?

1 Like

En début d’année, nous avons demandé à 2 développeurs de travailler sur cette fonctionnalité, via le mécénat de compétences. Malheureusement ils n’ont pas pu aller au bout du développement. Surtout qu’en cours de route, nos développeurs (qui connaissent bien mieux le code c2c que ces nouveaux développeurs externes et plutôt débutants) ont alerté sur le fait que cette fonctionnalité n’est pas si simple qu’il n’y parait, et si c’est mal fait, ça peut mettre le site à genoux.

Donc il va falloir attendre qu’un développeur compétent ait le temps de développer cette fonctionnalité. S’il y en a parmi vous, n’hésitez pas à vous proposer (pour cette fonctionnalité… ou une autre).

3 Likes

Hello :slight_smile: !

Je commence à regarder un peu ce sujet pour potentiellement commencer le développement de cette fonctionnalité et j’aimerais savoir :

Qu’en est-il de ce compteur pour les documents archivés ? Est-ce que l’idée est d’avoir un seul compteur « global » par document et donc d’avoir le nombre total de vues depuis la création de la première version du document jusqu’à la dernière (et donc afficher la valeur de ce compteur uniquement sur la dernière version du document)

Merci!

4 Likes

Oui, il faut que le compteur inclue toutes les vues de toutes les versions d’un document donné.

Merci à toi !

3 Likes

Merci !!

1 Like

Merci et bon courage!

1 Like

reHello!
J’aimerais savoir s’il faut incrémenter le compteur de vues dans le cas où un utilisateur visionne une version antérieure du document ?
Merci d’avance :slight_smile:
(Et merci pour vos messages d’encouragement !)

Merci beaucoup de faire les choses aussi sérieusement!
Personnellement je ne vois pas de raison pour laquelle il ne devrait pas y avoir incrémentation. Mais j’aurais surtout tendance à dire: l’enjeu étant faible (il s’agit d’un cas quasiment inexistant), fais au plus simple pour toi et pour le code

2 Likes

Les cas ou une ancienne version est vue sont principalement « techniques », des contributeurs plutot avancés qui vérifient un point, mais surtout des admins qui font leur taf d’admin.

Ce compteur de vue veut plutot mesurer l’audience grand public, donc j’aurais dit plutot non, il ne faut pas.

Mais par contre, +1 avec Julien : ca concerne un si petit pouieme du nombre, qu’on peut se rabattre sur la très bonne raison : fait au plus simple.

4 Likes