[spip-dev] gerer_menu_langues disparu

Bonjour Laurent,

Dans ta contrib "Page d'accueil multi langues":
http://laurent-laville.org/spip/article.php3?id_article=11
tu utilises la fonction gerer_menu_langues() contenue dans le fichier
ecrire/inc_lang.php3 de la distrib 1.7 de SPIP.
J'ai eu un bug en upgradant un site (www.dosadeux.com), et me suis vite
rendu compte que la raison était simple:gerer_menu_langues a tout simplement disparu dans la 1.7.2...

Pour la contrib, la solution est très simple: il suffit d'ajouter le code
de cette fonction dans mes_fonctions.php3Je l'ai mentionné dans la référence depuis spip-contib.net:
http://spip-contrib.net/article322.html

Cependant, ca illustre aussi concrètement l'intérêt de définir clairement
une API sur le code de SPIP. Quelles sont les fonctions qu'on a "le droit"
d'attaquer depuis du php dans un squelette ou ailleurs?
Et ce choix n'est pas innocent. Je cite Linus
(http://www.oreilly.com/catalog/opensources/book/linus.html):
(...) If someone wants to add something that involves a new system
interface you need to be exceptionally careful. Once you give an interface
to users they will start coding to it and once somebody starts coding to
it you are stuck with it. Do you want to support the exact same interface
for the rest of your system's life?
(...) you have to balance. Is this a good implementation? Is this really
adding a feature that is good? Sometimes even when the feature is good, it
turns out that either the interface is bad or the implementation of that
feature kind of implies that you can never do something else, now or in
the future.
Voilà, voilà.

daniel

Merci pour ta réponse!

Oui, il faudra mettre à jour les contribs...
Et de toutes manières, depuis spip 1.7.x (x=1 ou 2, j'sais p'us), on peut
passer ?lang=xx dans l'URL et l'utiliser avec un critère contextuel
{lang}. Du coup, il serait bon de repenser nos contrib, car le choix de
faire le sommaire de chaque langue dans son secteur correspondant n'est
plus forcément le bon: mieux vaut sans doute faire un seul sommaire, qui
construit la variable lang et discrimine en fonction de sa valeur.Y'a du boulot :wink:
A+,

daniel