SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 251 visiteurs en ce moment

Accueil > Navigation > Navigation transversale > Dossiers par groupes de mots-clés > Affecter automatiquement des articles à une brève ou vice-versa

Affecter automatiquement des articles à une brève ou vice-versa

11 octobre 2005 – par claudeD – commentaires

2 votes

Le titre correspond bien à ce que j’ai cherché à faire : il est facile de lier des articles ou des brèves à des mots-clés, mais je voulais aussi faire des sous-groupes d’articles pour l’un de mes (nombreux) groupes de mots-clés.

Comme je ne peux utiliser de mots-clés sur des mots-clés, j’ai décidé d’utiliser des… brèves. Tant qu’à faire, j’ai essayé d’automatiser la création automatique de liens vers les articles que je voulais grouper. Un peu de triche, en fait, fait que le cas de figure développé ci-dessous ne sera pas extensible à tout.

Une contrib qui ne sert pas à grand chose, donc indispensable pour un bon teasing.

Prenez un site généalogique où des articles contiennent un nom de personne dans le sur-titre — par exemple — avec la forme « Nom, Prénom ». Je prendrais, pour ma part, un site botanique où mes espèces végétales sont aussi dénoncées — en sous-titre, pour changer — par leur nom latin sous la forme « Genre espèce » (sans virgule).

Une brève liée à des articles

Ma viorne obier (ou viorne « boule de neige ») a droit à un article :

  • titre : viorne obier [nom français de l’espèce]
  • sous-titre : Viburnum opulus [nom international de l’espèce]
  • mot-clé du groupe « famille » : Caprifoliacées

Le groupe « famille » re-groupe donc plusieurs espèces (articles). Le problème c’est que les familles comprennent plusieurs genres ou si vous préférez, les espèces sont aussi regroupées en genre. La chance, c’est que le nom international des espèces — en latin — est stable, contrairement au nom vernaculaire (en français ici).

C’est donc cet ensemble « nom prénom1 prénom2 » ou plutôt « Genre espèce » qui va me servir de lien entre article, brève et mot-clé. Plus précisément, le « nom » donc le « genre ». Celui-ci est toujours le premier terme du champ « sous-titre ».

Je construis donc un squelette breve.html (ou breve-XX.html qui va dans mon secteur qui va bien) avec cette boucle :

J’obtiens ainsi la liste des articles donc le sous-titre commence par le nom de ma brève. Ici, si je crée une brève Viburnum ; j’obtiens tous les articles dont le sous-titre commence par « Viburnum », en l’occurrence (et grâce à {soustitre==^#TITRE}) :

  • viorne bodnantense (Viburnum bodnantense)
  • viorne mancienne (Viburnum lantana)
  • viorne obier (Viburnum opulus)

Un petit plus : les brèves de même niveau

Puisqu’on a Famille —> Genre —> espèce, je peux aller plus loin en affichant la liste des autres genres de la même famille. Il s’agit d’imiter la hiérarchie des rubriques, des rubriques sœurs, etc.

Pour afficher mes Genres frères, une autre boucle :

Tout les articles « végétaux » sont dans la même rubrique ; le mot-clé indiquant la famille est dans le groupe numéro 21. J’attribue aussi à ma brève, outre un nom de Genre à son champ titre, le mot-clé correspondant à sa famille (sa rubrique mère si l’on veut). Ce mot-clé est utilisé aussi par les articles. Donc, par le lien du mot-clé unique je récupère les brèves de même famille.

Un article lié à une brève

Si ma brève recense tous les articles de même « Nom » de genre, il faudrait aussi que l’article signale automatiquement l’éventuelle brève qui recense les autres végétaux de même genre. Voici :

Ici, je récupère la brève dont le nom (#TITRE) est immédiatement inférieur au nom en latin de ma plante (le nom international) avec :
{titre<=#SOUSTITRE} {par titre} {n-1,n}. Ainsi, Viburnum est alphabétiquement avant Viburnum opulus ET le titre Viburnum est unique.

Malheureusement, si je ne fais pas un article pour chaque genre, ce sera la brève pour le genre Valerianelle, par exemple qui apparaitrait. Effectivement, je n’ai de fiche (brève) « genre » que lorsque plusieurs espèces en sont recensées. D’où un test supplémentaire avec <BOUCLE_genre(ARTICLES)> qui vérifie que l’article en cours a bien un sous titre compatible avec le titre de la brève « genre ». Sinon, rien ne s’affiche. Dans le cas de test positif, je liste les articles rattachés à la même brève (les espèces de même genre).

Pour compliquer inutilement, j’ai mis les articles et les brèves de mon exemple dans des secteurs différents, mais bon.

Pourquoi faire simple quand on peut faire pire. Il y a deux astuces pour ne pas avoir des articles listés inopinément car le début de leur sous-titre correspond au titre de la brève « genre » (exemple avec Muscaria/Muscari) ou qu’inversement le titre de la brève apparaisse dans le contenu du sous-titre de l’article (exemple : Rosa/Anemone nemorosa). Ainsi, il y a un espace mis après la balise de critère : {soustitre==^#_breves_rubrique:TITRE } de la boucle BOUCLE_genre_suite. Il y a aussi un autre espace après balise, pour #TITRE dans {soustitre==^#TITRE } de la boucle BOUCLE_genre.

Le mot-clé commun aux brèves et aux articles

J’ai un seul squelette mot-clé, sans <inclure>. Je souhaite que pour le type 21 (le groupe des « familles ») un encart affiche la liste des genres si bien sûr des brèves « genres » existent. Ce qui n’est pas le cas dans toutes les familles (ici pour les caprifoliacées). Voilà donc une dernière boucle plus commune :

Si j’ai au moins une brève à laquelle le mot-clé courant est attribué alors je crée mon encart. Puis, je liste mes genres.

Conclusion

Une méthode un peu tarabiscotée pour éviter des rubriques « familles », des sous-rubriques « genres » et des articles « espèces ». Il me semble que celà aurait été trop lourd à gérer (en terme de navigation interne) et surtout j’évite de reprendre les 700 articles d’une rubrique pour les dispatcher dans de nouvelles sous-rubriques.

Les déclinaisons peuvent être multipliées : par exemple, on peut utiliser le champ descriptif des mots-clés soit pour faire des sous-groupes, soit pour créer des intergroupes comme les « chef-lieu » trouvés dans le champ descriptif des villes classées par groupe « départements » (groupes « Ain », « Aisne », …).

On pourrait aussi utiliser des mots-clés qui recensent d’autres mots-clés, etc.

P.-S.

Pour appliquer cette contribution à des noms de familles de personnes, la présence de la virgule dans la série « Nom1 Nom2-Nom3, Prénom1 Prénom2-Prénom3 Prénom4 » pourrait simplifier les boucles.

Une prochaine étape peut être une page qui recense automatiquement les genres (c’est à dire qui trouve plus de deux articles avec le même début de descriptif) et signale ceux pour lesquels il n’existe pas de brève. L’administrateur peut ainsi voir la liste des fiches à créer en fonction de l’avancement des parutions. Puis la page qui écrit d’elle-même les brèves, puis celle qui les valide, puis celle qui fait le café.

Dernière modification de cette page le 9 mars 2009

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Adaptive Images

    15 novembre 2013 – 66 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Métas

    8 août 2009 – 50 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

  • Brownie

    6 juillet 2012 – 43 commentaires

    Brownie est une adaptation pour Zpip du thème du même nom initialement développé par Egrappler.com. Présentation Brownie est un thème Responsive à deux colonnes. La démonstration ci-dessous utilise la version 2.0.0 de Brownie, la dist de SPIP3 (...)

  • Métas +

    3 décembre – 13 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 785 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

Ça spipe par là