Il peut être utile de vouloir publier une page HTML complète à l'aide de
WikiNi.
Solution 1 : handler Raw HTML
Cette solution voit la création d'un nouveau handler raw_html.php permettant d'afficher le contenu d'une page au format HTML, tout le comme le handler raw affiche une page au format texte.
Exemples :
Le code de ce handler est simplissime et inspiré du handler raw.
<?php
/*
raw_html.php pour wikini 0.4.1rc et supérieurs
version 0.1 du 28/04/2004
Copyright 2004 Charles NEPOTE
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
//vérification de sécurité
if (!defined("WIKINI_VERSION")) {
die ("accès direct interdit");
}
if ($this->HasAccess("read"))
{
if (!$this->page)
{
return;
}
else
{
header("Content-type: text/html");
// display raw page
echo $this->page["body"];
}
}
else
{
return;
}
?>
Discussions
Adoption rapide ?
Cette solution permettrait notamment de pouvoir afficher rapidement des pages spéciales lors des manifestations que nous soutenons. --
CharlesNepote
Je n'ai eu aucun avis sur la question... mais comme ma proposition 1 ne mange pas de pain (aucun impact sur le reste de
WikiNi), sans avis complémentaires je passerai dans le CVS lundi 22 novembre.
AIntegrerAuCVS --
CharlesNepote
- Ça me semble clairement un détournement de WikiNi au sens type d'objet manipulé : ce n'est plus une page de WikiNi, mais on utilise WikiNi comme moteur de gestion de révisions et de publication. Mais pourquoi pas... Ok pour moi. -- ProgFou
- Mais c'est un usage exceptionnel. Il ne s'agit pas de faire la publication de tout un site à travers ce handler (peu pratique). En revanche, pour des cas isolés cela peut être intéressant : pour une maquette, pour une page temporaire, pour une manifestation, etc. A vrai dire, je vois quand même un inconvénient, c'est les problèmes de sécurité engendrés par le code HTML (mais ce n'est pas pire que ce que l'on a actuellement). -- CharlesNepote
- Je n'y vois pas plus de problème de sécurité qu'avec l'utilisation des balises "" pour afficher du code HTML. Donc pas de blocage à ce niveau, allons-y ! -- ProgFou
Par contre je viens d'avoir une idée... Pourquoi ne pas fournir un paramètre
content-type au handler
raw.php, comme on trouve par exemple chez l'utilitaire
viewcvs sur
gna.org ? La valeur serait
text/plain par défaut, mais on autoriserait aussi
text/html et quelques autres. --
ProgFou
- Oui, c'est une idée intéressante, mais je vois un tout petit inconvénient, c'est le fait de passer des paramètres avec "&toto=". Je trouve plus élégant et plus court un PagePrincipale/raw_html qu'un PagePrincipale/raw&content_type=text/html. L'idéal, mais ça complique, serait que les handler acceptent des paramètres sous la forme d'une arborescence du genre : PagePrincipale/raw/html-- CharlesNepote
En fait, ça ne me gène pas trop qu'il y ai plusieurs handler pour plusieurs Content-type (et il n'y en a pas tant que ça). On peut d'ailleurs avoir les deux :
- un handler raw auquel on associe des paramètres
- des handlers spécialisés
--
CharlesNepote
[22:46:11] <lordfarquaad@jabber.org> ouep... par contre l'inconvéniant c'est que cela laisserait créer des pages qui ne afficheraient du texte brut...
[22:46:13] <lordfarquaad@jabber.org> ah mais non
[22:46:22] <lordfarquaad@jabber.org> en fait il suffirait de placer une redirection sur la page
[22:46:46] <lordfarquaad@jabber.org> <!-- {{redirect page="MaPageHtml/raw_html"}} -->
[22:47:14] <charles.nepote> pas con ça ... un peu bidouille mais pas con du tout...
[22:52:38] <lordfarquaad@jabber.org> faudrait juste pas l'oublier quoi... en fait ça joue sur le fait que l'action redirect ne fait aucune vérification sur le nom de page fourni...
[23:00:57] <lordfarquaad@jabber.org> ah oui au fait dans le handler raw (et celui que tu proposes aussi d'ailleurs), les return ne servent strictement à rien :s
[23:02:34] <charles.nepote> oui
Prospectives
Le
WikiniMST est agrémenté d'aide au formatage (mini-éditeur Wiki). Ne serait il pas judicieux de développer étroitement le perfectionnement du mini-éditeur avec l'affichage des pages au format html ? cela permettrai de commencer en douceur en éditionWikini puis de glisser tout doucement vers une édition + poussé au format HTML. N'est ce pas ce que recherche l'internaute débutant ? J'en ai lu et entendu beaucoup disant que le simple mot HTML fait trés peur.
chronologie des futurs utilisateurs
WikiNi:
EditeurWiki? -->
EditeurWikiHtml? etc....on peux même imaginer dans un futur un eu plus lointain des fonctionnalités PHP qui permettront par exemple d'éditer des Actions (je fais référence au dossier contenant les
ActionsWikini?) On-line de sorte que l'action édité (en faite ce serait un
WikiPage?) soit reconnue par
WikiNi en tant que Action "tout court".
Il deviendrait possible d'utiliser une page distante (d'un autre site) pour "plug-iner" son propre
WikiNi à l'aide d'une page spécial genre "
GetActions?" dans laquel on listerai les liens de toutes les actions que l'on souhaite rajouter. (Et pourquoi pas un WIkiniSite à part entiere.)
Je suis un moulin à idées car mon niveau en programmation est quasi nul...Mes idées sont donc peut etre "utopiques".Mais I love WikiNi--SloYvY