Petite auto-correction:
La solution que j’ai poste auparavant n’affichera pas correctement les articles qui ont le mot-cle mais n’existent que dans une seule langue ( et dont l’id_article ne se retrouvera donc jamais en tant qu’id_trad d’un autre article).
Ma solution rapide – qui pourrait sans doute etre plus legere / elegante :
<BOUCLE_art(ARTICLES){origine_traduction}{mots.id_mot = 71}{doublons orig} />
<BOUCLE_trad(ARTICLES){id_trad IN #DOUBLONS{articles, orig}}{lang}{doublons final} />
<BOUCLE_nontrad(ARTICLES){!doublons orig}{lang}{doublons final} />
<BOUCLE_finale(ARTICLES){!doublons final}{pagination 5}{par date}{inverse} >#TITRE</BOUCLE_finale>
BOUCLE_art selectionne les articles dont l’article d’origine est lie au mot d’id_mot = 71 ( ou les articles lies au mot d’id_mot = 71, s’ils n’existent qu’en une seule langue et donc dont l’id_trad = 0). Enregistre les resultats dans la liste de doublons orig
BOUCLE_trad selectionne les articles dans la langue d’environnement dont l’article d’origine est contenu dans liste de doublons orig. Enregistre les resultats dans la liste de doublons final
BOUCLE_nontrad selectionne les articles dans la langue d’environnement dont l’id_article est dans la liste de doublons origin ( et donc sont lies a l’id_mot 71). Ajoute les resultats a la liste doublons_final
BOUCLE_finale selectionne les articles dont l’ID est dans la liste de doublons final, en les classant par date inverse.
Si qq’un trouve une manière moins tarabiscotee, je suis preneur 
Alex Gomes
From: Gomes, Alex [mailto:Alex.Gomes@ituc-csi.org]
Sent: Tuesday, December 01, 2009 12:53 PM
To: spip@rezo.net
Subject: Re: [Spip] [resolu] article dans une certaine langue et dontl’article de reference a ete lie a un certain mot-cle ?
Grand merci a Marcimat de m’avoir pousse dans la bonne direction !
Histoire d’en faire profiter tout le monde, la solution pour SPIP 2.0x ( a base de la balise #DOUBLONS de la 2.1 ) :
Ajouter le code suivant a mes_fonctions.php
// #DOUBLONS{mots} ou #DOUBLONS{mots,famille}
// donne l’etat des doublons (MOTS) a cet endroit
// sous forme de tableau d’id_mot array(1,2,3,…)
// #DOUBLONS tout seul donne la liste brute de tous les doublons
// #DOUBLONS*{mots} donne la chaine brute « ,1,2,3,… »
// (changera si la gestion des doublons evolue)
//
// http://doc.spip.org/@balise_DOUBLONS_dist
function balise_DOUBLONS_dist($p) {
if ($type = interprete_argument_balise(1,$p)) {
if ($famille = interprete_argument_balise(2,$p))
$type .= ‹ . › . $famille;
$p->code = ‹ $doublons[ ›.$type.’]’;
if (!$p->etoile)
$p->code = ‹ array_filter(array_map(« intval »,explode(",", ›
. $p->code . ‹ ))) ›;
}
else
$p->code = ‹ $doublons ›;
$p->interdire_scripts = false;
return $p;
}
Utiliser le code suivant dans ses squelettes ( si id_mot = 71, par exemple):
<BOUCLE_art(ARTICLES){origine_traduction}{mots.id_mot= 71}{doublons orig} />
<BOUCLE_trad(ARTICLES){id_trad IN #DOUBLONS{articles, orig}}{lang}{pagination 5}{par date}{inverse}>#TITRE</BOUCLE_trad>
Et le tour est joue !
Alex Gomes
From: Gomes, Alex [mailto:Alex.Gomes@ituc-csi.org]
Sent: Monday, November 30, 2009 10:55 AM
To: spip@rezo.net
Subject: [Spip] article dans une certaine langue et dont l’article dereference a ete lie a un certain mot-cle ?
Bonjour,
Je suis en train de me casser la tête sur un problème de boucle SPIP depuis quelques jours, et je me décide donc finalement a venir quémander de l’aide 
Je cherche a créer une boucle me permettant de récupérer les 5 derniers articles dans une langue X dont l’article de référence a été lié au mot-clé Y
Ce qui correspondrait en SQL a, si prend X = ‘en’ et id du mot-cle Y = 71 :
select art.id_article
from spip_articles art
where art.lang = ‹ en › and
id_article in (SELECT distinct s_a.id_trad FROM spip_articles s_a, spip_mots_articles s_m_a where s_a.id_trad = s_m_a.id_article and id_mot = 71 )
order by art.date_modif
limit 5
Lorsque j’essaie d’écrire ceci sous forme de boucle, j‘utilise 2 boucle imbriquées – et je n’arrive pas a gérer correctement la limite de 5 articles. Quelqu’un aurait-il/elle déjà rencontré un cas similaire, et pourrait-il/elle me donner un coup de pouce ? J’imagine que la solution doit être évidente, mais j’ai tellement le nez dans le guidon que je ne la vois pas pour l’instant…
Merci d’avance !
Alex Gomes