Catégories:
Bonjour,
je réalise un site multilingue pour la première fois et je me pose des questions sur la gestion des liens qui se situent dans le contenu.
comment faire en sorte que une page A soit reliée à une page B, quelles que soient leurs langues ?
si vous avez déjà développé des sites multilingues je suis intéressé par la façon dont vous avez travaillé
merci !
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Qu est ce que tu entend par relier,genre le content A a une traduction et c’est le content B ??
MOMO Drupal en force
mbehmane
866
Salut Momo,
merci pour ta réponse
Non, il ne s’agit pas de ça.
le contenu de A est composé de texte simple et de liens, qui pointent vers diverses pages. Admettons qu’un de ses liens pointe vers la page B. dans le cas où il n’y a qu’une langue c’est simple le noeud A pointe vers le noeud B
mais en multilingue, A et B ne sont pas qu’un noeud, ils sont plusieurs, un par traduction.
ainsi, il faut indiquer dans les liens le noeud qui correspond à la langue à chaque fois. Je trouve ce processus un peu lourd et je voudrais savoir s’il est possible de faire en sorte que ce soit drupal qui trouve automatiquement le bon noeud, en fonction de la langue choisie. ainsi, dans le lien qui pointe de A vers B j’indiquerai seulement «B» et drupal trouvera le noeud associé à la langue courante.
est ce que c’est plus clair ?
est ce que tu as de l’expérience en sites multilingues ? comment as tu l’habitude de gérer ces sites ?
miaoulafrite
144
je crois comprendre ton pb.J en ai parler avec un ami et on est arriver aux conclusions suivante.
-Si tu tien absolument a mettre tes lien via tynimce dans le corp de ton noeud, tu doit trafiquer le pluging ling de tynimce ( Ce qui s avere assez compliqué et donc déconseillé ).
-Si tu n y tien pas et que c est des lien qui viendront apres ou avant le corp alors on pense que un champ cck node réference peut résoudre ton pb car on imagine que le module node reference gere la trad.A voir
-Sinon bah il faut ke tu profite du moment de la trad pour faire attention au lien que tu met.
Je continue de me renseigner a ce sujet.Je vais faire des test si j ai le time.
Tien moi au courant
MOMO Drupal en force
mbehmane
866
ben ouais, faire attention pendant la traduction… c’est bien ce que je fais pour le moment, mais c’est lourd, j’osais espérer qu’on puisse faire un truc plus simple….
miaoulafrite
144
et en les appelants pareils dans chaque langue, c’est le préfixe de langue qui gérera quelle page affichée ?
selinav
1233
non en drupal 1 noeud = un lien ecrit selon le titre du node.Si tu a 2 node qui s apelle pareil dans l url il t ajoute un -0 kan elle reecrite.En gros on a un lien pas node.et il son pas prefixer selon la langue l url d un node pour drupal c est /node/node_id kelke soit la langue.Ce ke tu voit prefixer c est des urls réecrite
MOMO Drupal en force
mbehmane
866
effectivement, j’ai bien essayé les alias d’url (je suppose que c’est ce à quoi tu fais référence), mais cela ne fonctionne pas…
miaoulafrite
144
Bonjour à tous,
j’ai eu la même problématique. Quelques éléments de réponse :
contrairement à ce qui a été dit avant, tu peux utiliser le même nom et le même alias pour plusieurs pages.
CONTRAINTES
- ne pas utiliser de structure wiki (car il ne va à priori pas aimer pour les liens en CamelCase ou équivalent, après test sur un site il semble qu’il prend la première occurence trouvée et s’y fixe, en l’occurence la version française pour moi. Pas cool pour le contenu anglais) ;
associer une langue à chaque contenu (pas de «neutral») ;
ne jamais recréer de contenu ayant le même titre qu’un existant pour la même langue (après c’est le foutoir) mais ça normalement ça n’arrive pas.
AVANTAGES
C’est plus simple à priori à gérer pour les liens, tu peux mettre une url relative complète (/section/page), Drupal rajoutant ensuite automatiquement le préfixe de langue, donc choisissant automatiquement la bonne page.
EN REVANCHE, ça ne règle pas le suivi des liens quand tu modifies une page/un alias. Heureusement, les dernières versions de Pathauto crééent une redirection 301 automatique quand un alias change -en option. MAIS ça reste plus lourd qu’une vraie gestion des liens internes par «hash» comme le propose Plone par exemple
INCONVÉNIENTS
Essentiellement, ça conditionne violemment la structure des pages : tu devras avoir une structure d’url identique entre toutes les langues : ex pour un site anglais ayant les sections presse (/press), produits (/products), etc… tu ne pourras pas traduire ces catégories (/presse, /produits). Pour moi cela implique :
lisibilité moindre pour les visiteurs : l’impact est limité sur les url, après tout, peu de gens utilisent les url pour naviguer / mémoriser une info, tant que l’interface est traduite. En revanche, le titre de ton contenu aussi sera en anglais, et là c’est àmha un véritable frein (à moins de construire l’alias sans le titre, mais je ne vois pas comment).
impact sur le référencement ??? Là c’est une question ouverte, je n’ai pas d’avis, je ne sais pas comment réagirait un moteur de recherche. Normalement, si tu actives les préfixes de langue, les moteurs devraient voir des pages différentes donc pas de soucis. Sinon, ma foi, je dirais que ce n’est pas une bonne idée ^^…
Tu peux voir ce que j’ai fait sur http://www.petalslink.com. J’ai opté pour une traduction des url (en fait, je construis l’url à partir des catégories, ce n’est pas la meilleure solution, mais à l’époque c’était le plus efficace).
De fait, pour les sections http://www.petalslink.com/services et http://www.petalslink.com/references, les alias sont identiques entre les langues, j’ai réussi car les titres étaient «bilingues». Pour le reste, titres différents » alias différents.
Rétrospectivement, avoir des alias complètement identiques (sauf préfixe de langue) me paraît être le meilleur système (mon système «mixte» implique toujours de surveiller les liens créés) mais je ne sais pas comment le mettre en place de manière carrée. Des avis sur la pertinence du principe / méthodo de mise en place ?
Citan
27
Rebonjour à tous, auto-réponse ^^ pour ajouter les points suivants :
Hors considérations du multilingue, la solution la plus simple et légère pour gérer les liens internes à ce jour pour Drupal6 semble la combinaison :
Clean URL > virer les « ?q=» (intégré à drupal) ;
Pathauto > création d’alias SEO-friendly ;
Pathfilter > stockage des liens internes en référence à l’identifiant du noeud (ex «/forum/support/traduction/99-traduction-forum»), transformé à la volée par un filtre associé au format d’entrée du contenu, en url absolue (ex:www.monsite.com/categorie1/contenu6) ;
WYSIWYG : gestionnaire d’éditeurs WYSIWYG, apparemment solution privilégiée pour les versions de Drupal à venir ;
CKEditor : un des éditeurs «intégrables» à WYSIWYG, un des deux seuls compatibles avec le module LinkIT ;
LinkIT : module permettant de rajouter un lien interne en parcourant l’arborescence (évite d’apprendre par coeur les identifiants de ses contenus ^^).
AVANTAGES
Grâce à LinkIt, pas besoin de connaître les id des noeuds, donc relativement aisé à rajouter. » Gestion automatique des alias, y compris lorsqu’ils changent (évite donc d’utiliser des enchaînements de redirections quand on change les alias d’un noeud cible).
INCONVENIENTS
restreint le choix des modules (ceci dit, CKEditor est bien à priori), nécéssite configuration préalable des formats d’entrée.
je rencontre actuellement un bug avec les langues et pathfilter actif, il me rajoute le préfixe de langue à chaque édition du contenu (donc casse tous les liens d’une page à chaque modif). Mais cela vient sans doute juste de ma config des formats d’entrée (conflit avec autre filtre ?).
N’apporte pas de gestion automatique du multilingue au niveau des liens.
Si l’on veut un jour changer de stratégie et virer le Pathfilter, TOUS LES LIENS SUR TOUT LE SITE SERONT CASSÉS (puisque ce qui est stocké dans la base de données, c’est «/node/xx» et non pas l’url absolue).
Le pendant de ce qui précède, est qu’il faut bien choisir sa méthode de gestion des liens internes et s’y tenir (ce que je n’ai pas fait, j’ai expérimenté plusieurs en cours de prod par contrainte de temps, et maintenant je m’en mords les doigts, quoi que je choisisse, j’aurai des dizaines de liens à corriger :/).
Voilà, j’espère que ces deux pavés pourront aider d’autres drupaleurs ;)
EDIT 16h06 : POUR LA GESTION MULTILINGUE DES LIENS, je suis tombé sur MultiLink. A priori c’est ce que tu recherches, et en théorie ça se combine bien avec les autres filtres dont Pathfilter. Je n’ai pas encore pu tester.
Citan
27
Merci Citan pour ton travail. chapeau.
miaoulafrite
144