Age des lecteurs : Champ extra ou mot-clé ?

Bonjour à tous.
Pour un site qui chronique des spectacles et livres, certains orientés vers le jeune public, j’avais pensé spontanément à créer un mot-clé, par tranche d’age (de 3 en 3).

À l’usage, les rédacteurs ont tous des appréciations et critères d’age différent, ce qui fait que la seule possibilité c’est de pouvoir laisser les rédacteurs choisir un age numérique entier de 1 à 16. Du coup, je me dis qu’avoir juste un champs extra numérique ferait tout aussi bien l’affaire (vide si non judicieux, 0 si jeune public sans précision d’age, 1 à 16 pour spécifier l’age cible).

Avez-vous un argument pour trancher quel est la meilleure des deux méthodes ?

Bonjour,

selon moi c’est clairement un usage dans lequel un champ extra est approprié.
Plutôt que de le définir en valeur numérique, je le créerais en liste avec des valeurs pré-définies.
L’interface de saisie sera plus explicite, et les critères des boucles aussi.

.Gilles

Si tu dois filtrer une boucle en fonction de ces critères, je trouve que les mots-clefs sont plus pratiques.
Sinon oui, un champ extra est sans doute plus pratique.

Merci de ces considérations, qui éclairent mon choix.
Je me rends compte cependant que je vais avoir besoin de cette notion d’age à la fois pour les articles et les événements. Est-ce que cette notion (que je n’avais pas explicité) fait basculer en faveur du mot clé ?

Ça va dépendre de comment tu fonctionnes :

Cas 1 : les infos du spectacle (présentation, photos… etc) sont dans l’article et tu ajoutes un événement à cet article
Cas 2 : les infos du spectacle sont directement dans l’événement et les événements sont liés à un article générique.

Dans le 1er cas, seules les infos « agenda » sont dans l’événement (dates/heures/lieu) donc les ages sont plutôt liés à l’article.
Dans le 2nd cas, les ages sont liés à l’événement.

Quel cas vas-tu utiliser ?

Les deux mon général. Chaque article peut être agrementé d’un age si le sujet s’y prête, (si événement lié, il hérite de l’«age préconisé» de l’article).

Il y a aussi un agenda général sur notre site, qui recense des événements (sans articles), sur lesquels on peut definir un «age préconisé».

Dans ce cas-là, il vaut mieux des mots-clefs car on peut choisir sur quels objets éditoriaux on les affiches (articles et événements), alors que les champs extras ne peuvent être liés qu’à un seul type d’objet éditorial, il te faudra donc les créer 2 fois.

Par contre, afficher au même endroit les événements cas 1 (boucle ARTICLES) et cas 2 (boucle EVENEMENTS) risque d’être compliqué.

1 « J'aime »

@Dut Si tu fais avec le cas n°1, tu pourras utiliser les jointures entre tables. Le jour où on m’a montré ça (poke @b_b :slight_smile: ) ça m’a simplifié la vie (en plus de gagner en perf) donc je fais tourner au cas où ça puisse servir.

Un exemple rapide :

[(#REM) On définit la date ]
#SET{date,2018-04-01 00:00:00}

[(#REM) On affiche le titre des articles ayant un événement dont la date de fin
        est postérieure à la date définie au dessus 
        + la date de début de l'événement en question ]
<ul>
<BOUCLE_agenda(ARTICLES) {par date_debut} {0,5} {evenements.date_fin > #GET{date}}>    
    <li>#TITRE - #DATE_DEBUT</li>
</BOUCLE_agenda>
</ul>

La jointure se fait grâce à evenements.date_fin qui indique de chercher le champ date_fin dans la table spip_evenements.

Un exemple plus complet par là : inclure/liste/agenda-liste.html · master · jeanmarie / zcm · GitLab

C’est la méthode que j’utilise le plus souvent sur les sites avec bcp d’infos car ça permet plus de souplesses je trouve.