Indicateur de popularité des articles #14

Open
opened 2026-05-13 22:09:26 +00:00 by cedricAbonnel · 0 comments
Owner

Besoin

Signaler visuellement qu'un article est populaire, afin d'orienter les visiteurs vers les contenus les plus lus ou les mieux notés.

Cas d'usage

Un visiteur arrive sur la page d'accueil et peut identifier d'un coup d'œil les articles qui ont rencontré le plus de succès.

Comportement attendu

Calcul de la popularité

La popularité peut être déterminée par un ou plusieurs critères (à préciser) :

  • Nombre de vues (compteur de lectures)
  • Note moyenne (voir ticket #23)
  • Combinaison des deux (score pondéré)

Affichage

  • Badge ou icône "Populaire" (ex : 🔥 ou ★) sur la vignette de l'article dans la liste
  • Indicateur visible également dans la vue article
  • Seuil de déclenchement configurable (ex : > N vues, ou note ≥ 4/5)

Administration

  • Possibilité de marquer manuellement un article comme populaire (override)
  • Vue des statistiques de vues par article

Pistes techniques

Compteur de vues

  • Colonne view_count INTEGER dans la table posts (ou table dédiée post_views pour historique)
  • Incrémentation à chaque chargement de post_view.php (côté serveur)
  • Exclure les vues de l'admin pour ne pas fausser les stats

Calcul automatique

  • Seuil configurable dans config.php (ex : POPULAR_VIEWS_THRESHOLD)
  • Fonction dans PostManager.php retournant un booléen isPopular()

Override manuel

  • Colonne is_popular BOOLEAN dans posts (NULL = automatique, TRUE/FALSE = forcé)

Critères d'acceptation

  • Les vues sont comptabilisées à chaque lecture (hors admin)
  • Un article déppassant le seuil affiche un indicateur visuel
  • L'indicateur est visible sur la liste et dans la vue article
  • L'admin peut forcer ou désactiver l'indicateur manuellement
  • Les stats de vues sont consultables en administration

Dépendances

  • Ticket #23 (notation) si la popularité intègre la note moyenne

Questions ouvertes

  • Critère unique (vues) ou score combiné (vues + note) ?
  • Fenêtre temporelle : popularité globale ou sur les 30 derniers jours ?

Migré depuis varlog#24

## Besoin Signaler visuellement qu'un article est populaire, afin d'orienter les visiteurs vers les contenus les plus lus ou les mieux notés. ## Cas d'usage Un visiteur arrive sur la page d'accueil et peut identifier d'un coup d'œil les articles qui ont rencontré le plus de succès. ## Comportement attendu ### Calcul de la popularité La popularité peut être déterminée par un ou plusieurs critères (à préciser) : - Nombre de vues (compteur de lectures) - Note moyenne (voir ticket #23) - Combinaison des deux (score pondéré) ### Affichage - Badge ou icône "Populaire" (ex : 🔥 ou ★) sur la vignette de l'article dans la liste - Indicateur visible également dans la vue article - Seuil de déclenchement configurable (ex : > N vues, ou note ≥ 4/5) ### Administration - Possibilité de marquer manuellement un article comme populaire (override) - Vue des statistiques de vues par article ## Pistes techniques ### Compteur de vues - Colonne `view_count` INTEGER dans la table `posts` (ou table dédiée `post_views` pour historique) - Incrémentation à chaque chargement de `post_view.php` (côté serveur) - Exclure les vues de l'admin pour ne pas fausser les stats ### Calcul automatique - Seuil configurable dans `config.php` (ex : `POPULAR_VIEWS_THRESHOLD`) - Fonction dans `PostManager.php` retournant un booléen `isPopular()` ### Override manuel - Colonne `is_popular` BOOLEAN dans `posts` (NULL = automatique, TRUE/FALSE = forcé) ## Critères d'acceptation - [ ] Les vues sont comptabilisées à chaque lecture (hors admin) - [ ] Un article déppassant le seuil affiche un indicateur visuel - [ ] L'indicateur est visible sur la liste et dans la vue article - [ ] L'admin peut forcer ou désactiver l'indicateur manuellement - [ ] Les stats de vues sont consultables en administration ## Dépendances - Ticket #23 (notation) si la popularité intègre la note moyenne ## Questions ouvertes - Critère unique (vues) ou score combiné (vues + note) ? - Fenêtre temporelle : popularité globale ou sur les 30 derniers jours ? --- *Migré depuis [varlog#24](https://git.abonnel.fr/cedricAbonnel/varlog/issues/24)*
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cedricAbonnel/folio#14