S'identifier - S'inscrire - Ecrire un article - Contact

Rédiger un tutoriel sur la transclusion

Par labosonic • Echanges • Samedi 20/10/2007 • 3 commentaires  • Lu 2594 fois • Version imprimable

Mots-clés :


Le sujet est apparu là-bas à une occasion toute autre mais c'est le moment de saisir la balle au bond rédiger un document là dessus parce que c'est sujet qui n'est pas très difficile et dont on doit pouvoir se dépétrer sans Stéphane.

Fix a déjà commencé ceci : Transclusion et j'avais un brouillon de billet sur le feu quand il a fait le lien.

Je copie/colle le brouillon à la fin du billet mais auparavant ce serait bien qu'on détermine déjà ce qu'on met dans le tutoriel :

Je propose une approche du sujet en deux temps :

Un premier document sur l'utilisation de la transclusion dans un cas simple et élémentaire (typiquement le souci de Caroline est une parfaite illustration).

Une seconde partie à rédiger ensuite pour expliquer rapidement quelques usages avancés :
  • Le passage de commandes de mots-clés dans une transclusion.
  • L'insertion de liens dans une transclusion pour réaliser des transclusions de navigation.
  • Eventuellement, Olivier pourrait aussi nous éclairer sur ce qu'il fait en ne passant que des commandes partielles de mot-clés dans une commande, ce qui lui permet de définir sa propre syntaxe.
  • J'ai de plus en plus tendance à transclure des images seules (du genre pictogramme), je creuse un peu pour essayer de comprendre pourquoi je fais ça et voir s'il y a réellement un avantage et quelque chose d'intéressant à tirer de ça.

Qu'est-ce qu'une tranclusion ?

C'est un petit outil qui permet d'uniformiser et de simplifier la mise en page des billets d'un blog.
Il permet, quand on est amené à répéter plusieurs fois la même chose, dans des billets différents d'éviter de copier le contenu de l'un pour le transférer à l'autre ...

Comment ça marche :

On crée un texte  qu'on appelle "Ma Mise en page"
On le remplit avec ce qu'on veut répéter plusieurs fois.

A chaque endroit voulu : on insère et c'est le texte créé précedemment qui apparaîtra dans le billet.

Un exemple simple :

Quand on écrit un article et qu'on décide de l'accompagner d'un "avertissement", pour préciser un point lié à l'article et qu'il est utile de le répéter à chaque billet de la catégorie.
C'est un système que j'ai longtemps utilisé dans Critico-Blog pour éviter de copier-coller les mêmes textes à la fin de chaque billet.
Un billet en question, un autre billet, le texte qui sert de transclusion est répété en fin de chaque billet.
L'avantage énorme du système est non seulement le gain de temps lorsqu'on rédige, mais surtout lors de la correction. En effet, c'est le même texte qui est inséré à la fin de chaque billet. Donc, s'il faut le changer (pour corriger une faute d'orthographe, par exemple), il n'y a qu'une modification à faire et elle sera répercutée en cascade sur tous les billets.

Alors qu'avec un copier-coller classique, il faut retrouver tous les billets où est la faute et faire autant de fois la modification qu'il y a de billets.

Un exemple un peu plus compliqué et appliqué à un problème concret : celui de caroline.


L'idée globale de ce cas est de ne pas mettre du texte uniquement dans la transclusion mais un élément graphique qui va servir à la mise en page.
Caroline veut insérer une ligne de séparation entre divers éléments d'un billet (et pour une raison annexe la ligne proposée par l'éditeur de texte classique ne convient pas).
La solution : mettre l'image d'une ligne de séparation dans une transclusion et l'utiliser à la place de la commande classique.

Quelques idées pour faire des choses plus compliquées :
- Mettre des commandes liées aux mots-clés dans une tranclusion (voir ici, sur un problème concret, qui permet d efaire de l'autopromo sur des billets du même thème dans un blog)
- Mettre des liens dans une transclusion (c'est une tranclusion de navigation qui permet de créer des fiches à plusieurs volets comme ici).

D'autres articles sur des thèmes similaires :


Commentaires

par labosonic le Samedi 20/10/2007 à 21:42

Déjà écrit ailleurs mais j'ajoute ces trois limitations :

  • On ne peut mettre de transclusion dans une transclusion.
Tu l'as constaté toi-même ...
  • On ne peut pas mette de transclusion dans un texte libre destiné à la mise en page.
A priori, si je me souviens ce qu'avait dit Stéphane c'est parce que le texte libre comme élément de mise en page est une forme de transclusion ...
  • On ne peut pas mettre de mot-clé dans une transclusion.
On peut mettre un mot-clé mais le comportement classique du mot-clé est dégradé. Le mot-clé fait office de lien vers le texte mais il ne fonctionne pas comme un marqueur. Par contre aucun souci sur les commandes d'affichage des mot-clés ...


Supprimer les limitations des mots-clés dans les transclusions par Fix le Samedi 22/01/2011 à 13:42

Fix Effectivement, comme le dit labo, on peut mettre un mot-clé mais le comportement classique du mot-clé est dégradé. Le mot-clé fait office de lien vers le texte mais il ne fonctionne pas comme un marqueur.  

C'est à dire que par ex. si dans le texte "exposition" une transclusion comprend le mot-clé "peinture", cliquer sur peinture amènera au texte Viabloga "peinture". Mais la liste des textes où figure le mot-clé "peinture" ne comprendra pas le texte "exposition".


Or j'ai besoin d'utiliser une transclusion sur de très nombreuses pages du site.

Je souhaite, sur chaque "texte" décrivant un mot en anglais, mettre { { eng } } , autrement dit, appeler sur ces pages le contenu du texte "eng" qui est le mot-clé "english word". (Nota au lecteur : supprimer les blancs entre les doubles accolades pour que la transclusion soit effective)

Ceci me permettrait, si le mot-clé appelé par une transclusion fonctionnait bien, de lister sur le texte "english word" tous les mots en anglais. Cool non ?

----------

Essai de diagnostic du pourquoi du comment : ça doit être une histoire de "moment". A quel moment sur le serveur une page est-elle listée sur la page (le texte) d'un mot-clé ? A la création du mot-clé ? Hmmm ?

En examinant le code (le HTML) de la page de destination comprenant une transclusion avec mot-clé, je ne vois pas de différence avec le code d'un mot-clé normal ...

Exemple pris sur le site de dessins http://dessinsdefix.viabloga.com :

Code résultant dans la page d'arrivée de la transclusion :

<a href="http://dessinsdefix.viabloga.com/texts/english-word" rel="tag" class="wiki_link" title="1 article" style="font-size:11px;">english word</a>

Code résultant du mot-clé (sans transclusion) :

<a href="http://dessinsdefix.viabloga.com/texts/english-word" rel="tag" class="wiki_link" title="1 article" style="font-size:11px;">english word</a>


----------

Ô grand gourou, je t'offre bcp de pépites, une tarte aux fraises, et une bière, et un authentique caillou de Belleville si tu me résouds ce f... bug !






Re: Supprimer les limitations des mots-clés dans les transclusions par Stephane le Dimanche 23/01/2011 à 17:41

Stephane Lorsque tu valides un texte, je regarde ce qu'il y a comme mots-clés dedans et ils sont associés au texte. Je ne regarde pas ce qu'il y a dans les transclusions (qui peuvent d'ailleurs changer).

> Ceci me permettrait, si le mot-clé appelé par une transclusion fonctionnait bien, de lister sur le texte "english word" tous les mots en anglais. Cool non ?

Même dans la transclusion d'ailleurs ;-) Je n'ai pas vérifié, mais c'est ce qui doit se passer si tu utilises une commande de mots-clés. Si tu utilises la case à cocher du texte, ce n'est peut être pas le cas.

Solution la plus simple : en plus de { { eng } }, tu mets aussi [ [ eng ] ].



Session

Pour participer plus facilement, ouvrez une session :

Identifiant de
mon blog
Nom d'utilisateur
Mot de passe

Si vous avez déjà un blog sur ViaBloga ou si vous avez ouvert un compte sur l'un d'entre eux, vous pouvez vous identifier avec votre nom d'utilisateur et mot de passe en précisant d'abord l'identifiant de votre blog.

S'inscrire

Archives par mois