Wikini

AfficherUnePageHTMLExterneDansUnePageWikiNi

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-54-198-41-76.compute-1.amazonaws.com
Il peut être intéressant d'afficher une page HTML externe au wiki à l'intérieur même d'une page du wiki. Le langage HTML 4.01 prévoit d'ailleurs la balise iframe pour cet usage.


Solution 1 : l'action transclude

Certains moteurs de wiki disposent d'une telle fonction, sous la forme d'un greffon du type de nos "actions". On verra par exemple le greffon "transclude" sur PhpWiki :
http://wiki.crao.net/index.php/RechercheParTitre?s=transclude
J'avais développé et testé une telle action en cours d'années mais j'avais oublié de la publier.

La voici ci-dessous publiée pour la première fois et remaniéé pour l'occasion.
Exemple d'usage : http://wikini.net/dev/wakka.php?wiki=TestActionTransclude


<?php

/*

Action transclude.php pour WikiNi 0.1.1-0.3 et supérieurs
par Charles Népote.
Version 0.1 du 28/04/2004.

Licence GPL.

Usage :
{{transclude src="http://linuxfr.org/"}}

*/

if (!$src $this->GetParameter("src"))
{
    echo 
"<p>Vous devez spécifier une adresse via le param&egrave;tre \"src\"</p>\n";
}
else
{
    
// $src = $this->GetParameter("src");
    
if (!$height $this->GetParameter("height")) $height="450";
    echo
    
"<div>",
    
"<p>Import&eacute; depuis l'adresse $src</p>",
    
"<iframe src=\"$src\" width=\"100%\" height=\"$height\">\n",
    
"<div><p>Impossible de visualiser ce document dans votre navigateur : ce denier ne supporte pas la balise &lt;iframe&gt;s.) ",
    
"<a href=\"$src\">Cliquer ici</a> pour voir la page</p>\n",
    
"</div>\n",
    
"</iframe>\n",
    
"</div>\n";
    }

?>

-- CharlesNepote

Note : la balise <iframe> est valide en XHTML 1.0 Transitionnal mais elle est absente de la DTD XHTML 1.0 Strict. Il est peut être envisageable de la remplacer par une balise <object>, je vais étudier ça...
-- CharlesNepote


Discussions

Je ne suis pas sûr que les usages soient nombreux. Personnellement, je ne m'en suis jamais servi. On en trouve quelques exemples sur CraoWiki.
-- CharlesNepote

Action intéressante mais qui pose un problème de droit d'auteur. En effet, de quel droit pouvons nous afficher sur nos pages une page provenant d'un autre site sans autorisation ? De plus, cela est redondant avec les flux RSS diponibles sur beaucoup de sites. Il serait peut être plus judicieux d'écrire une action permettant d'afficher le flux RSS d'un autre site. On gagnerait en homogénéïté graphique et pas de risque de problème de droit d'auteur. --GarfieldFr

Cette action est effectivement intéressante, d'autant plus si on peut la coupler à une gestion de cache : ça permettrait d'avoir une version "transcludée" de la page, c'est à dire la dernière version dans le cache si la page n'est plus ou pas récupérable, avec affichage de la date de la page du cache et du lien vers la page d'origine... Ce serait vraiment cool je pense ! En particulier quand on veut citer un article dont on est pas sûr de la pérénité => gestion automatique de celle-ci ! :) -- ProgFou
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]