Spikini : un wiki qui marche avec SPIP

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Mise à jour du 30 mars 2005

Nous nous sommes amusés à modifier Wikini pour qu’il utilise des librairies de SPIP :
-  la connexion à la base de données (inc_connect.php3) ;
-  les règles de typographies (inc_texte.php3) ;
-  l’authentification des visiteurs.

L’idée est la suivante : on met le répertoire spikini/ dans le répertoire SPIP, on renseigne deux champs (le nom du wiki et le titre de sa page d’accueil), et hop.

L’installation prend 20 secondes.

Spikini étant maintenant développé sur SPIP Zone le fichier complet est à télécharger à l’adresse http://zone.spip.org/files/spip-zone/.

La version du 30 mars dispose d’un système rudimentaire de cache qui permet d’acccélérer le rendu des pages. Ce cache est stocké avec le cache de SPIP, il est donc vidé par la commande « vider le cache ». Il n’est pas nécessaire de « recalculer » les pages car le cache ne stocke pas les pages, mais uniquement le résultat de la fonction "propre".

* *

On s’en sert sur SPIP Contrib’ !

Avec le .htaccess suivant :

# pour spikini
## feuilles de style
RewriteRule .*/(wakka(\.basic|\.print)?\.(css|png)) spikini/$1 [L]

## spiperies
# envoi vers la version patchee de spip_cookie (qui regle le cookie-path sur /)
RewriteRule     ^spikini/(spip_cookie\.php3?)       spikini/$1      [QSA,L]

# les autres a la racine
RewriteRule ^spikini/(.*/)?(spip_.*\.(css|php3?)|puce\.gif)   /$2 [QSA,L]

## remonter les IMG/
RewriteRule ^spikini/(IMG/.*) /$1 [QSA,R,L]

## page spikini
RewriteCond %{REQUEST_URI} !^spikini/index\.php3?
RewriteRule ^spikini/(.*) spikini/index.php?wiki=$1 [QSA,L]

* *

Comment gérer une « machine à wikis »

L’intérêt de spikini, c’est de pouvoir gérer une machine où l’on peut créer à la volée autant de wikis que l’on souhaite, comme par exemple sur http://wiki.rezo.net/. Pour cela il suffit de suivre la procédure décrite ci-dessous :

-  1) installer un SPIP récent (1.8a CVS, version de développement), ce qui autorisera spikini à jouer avec la variable $cookie_path et à un contourner un bug de inc_ecrire.php3 (cf. forum ci-dessous).

-  2) installer le répertoire spikini/ à la racine de SPIP.

-  3) mettre les redirections apache qui suivent, dans httpd.conf ou dans .htaccess :

RewriteEngine On

## feuilles de style
RewriteRule ^/(wakka(.basic)?.css)$ /spikini/$1 [L]

## spiperies
# 1) la version patchee de spip_cookie, qui regle le cookie_path sur /
RewriteRule /spip_cookie\.php3?     /spikini$0  [QSA,L]
# 2) les autres a la racine
RewriteCond %{REQUEST_URI} !^/ecrire/
RewriteRule /(spip_.*\.(css|php3?)|puce\.gif)   $0 [QSA,L]

## passer ce qui reste a spikini
RewriteCond %{REQUEST_URI} !^(/ecrire/|/IMG/)
RewriteRule ^/([a-z0-9_]+)/(.*) /spikini/multi.php?wname=$1&wiki=$2 [QSA,L]

## urls incompletes (sans /)
RewriteRule ^/([a-z0-9_]+)$     /$1/ [R,L]

NB : si vous utilisez .htaccess, il faut probablement supprimer les ^/ des RewriteRule... à confirmer dans le forum ci-dessous.

-  4) pour que les visiteurs puissent s’authentifier sur le site public, sans qu’on ait besoin de leur donner accès à l’espace privé, il faut (c’est encore l’infâme bidouille de SPIP) installer, sur un article quelconque, un forum « sur abonnement ».

Discussion

57 discussions

  • 1

    Cette nouvelle version résoud le bug le plus pénible de spikini, celui qui affichait des tags <...missingpage> au milieu des balises <code>...</ code>.

    Répondre à ce message

  • Les notes ne marche pas dans spipkini pour l’instant.

    On ne peut pas copier directement un article spip dans spipkini pour laisser un article se compléter sur un wiki comme on en fait l’usage ici sur spip-contrib par exemple.

    Répondre à ce message

  • 5

    Bonjour,

    J’ai essayé d’installer spikini dans mon site SPIP. J’ai fait comme indiqué dans la marche à suivre d’installation et quand je tape l’url « .../spikini/index.php », la page indique :

    Méthode inconnue « page/show.php »

    Quant à l’url « .../spikini/wakka.php », elle mène sur une page d’erreur :

    Warning : main(spikini/setup/header.php) : failed to open stream : No such file or directory in /home/www-data/htdocs/www.fuaj.org/rj/spikini/wakka.php on line 723

    Warning : main() : Failed opening ’spikini/setup/header.php’ for inclusion (include_path=’. :/usr/local/lib/php’) in /home/www-data/htdocs/www.fuaj.org/rj/spikini/wakka.php on line 723 Invalid action Warning : main(spikini/setup/footer.php) : failed to open stream : No such file or directory in /home/www-data/htdocs/www.fuaj.org/rj/spikini/wakka.php on line 725

    Warning : main() : Failed opening ’spikini/setup/footer.php’ for inclusion (include_path=’. :/usr/local/lib/php’) in /home/www-data/htdocs/www.fuaj.org/rj/spikini/wakka.php on line 725

    J’ai recherché dans le forum public et privé de cet article et je n’ai pas trouvé de réponse. Est-ce que quelqu’un pourrait m’aider ?

    Merci d’avance !

    Vianney

    • As-tu essayé de retransférer tous tes fichiers ?

      L’url pour accéder à la config. de ton spikini est tout simplement :
      .../spikini/

      Mais pour l’instant on retombe sur show.php

      Xavier

    • Ca marche ! Merci !

      Par contre, j’ai deux soucis (qui sont peut-être liés) :

      1) Quand je me connecte sous mon nom, j’ai une erreur 404 sous spip_cookie.php3. Si je reviens en arrière, je me retrouve pourtant connecté. Mais le lien Appropriation n’a aucun effet.

      2) Quand je me connecte sur un autre ordinateur, ma PagePrincipale s’affiche de façon bizarre :

          • sans l’image d’ornithorynque
          • avec le nom du wiki accolé avant le titre PagePrincipale.
          • sans les liens PagePrincipale, DerniersChangements, Connexion, et Éditer cette page.

      Et cela, même si je me suis connecté sur mon Spip privé avant.

      Je suppose que dans les 2 cas c’est un problème de cookie...

      Quelqu’un aurait une idée ?

      Vianney

    • Je réponds moi-même à mes questions puisque personne ne veut le faire :)

      1) Le problème d’appropriation a apparemment déjà été identifié sur les pages wiki de spikini.

      2) Un scoop : Spikini ne fonctionne pas sous IE 5 ! Ca me pose un gros problème car j’ai besoin de travailler avec des personnes qui utilisent IE 5. Dois-je m’installer un autre moteur wiki ou est-ce que ça peut être résolu rapidement ?

      Je vais aussi poster l’info sur les pages wiki de spikini.

    • Je pense qu’on devrait supprimer l’appropriation et toutes ces choses inutiles qui traînent dans spikini.

    • Carrement !

      Ce n’est pas souvent utile de s’approprier les pages.

      Pour le moins, il faudrait ne pas afficher de mention « Pas de propriétaire » sur les pages qui n’ont pas de proprio. Et garder l’authentification pour faire autre chose (des signets par ex)

    Répondre à ce message

  • 4

    J’ai déjà posté l’info mais je pense qu’il vaut mieux créer un nouveau fil de discussion : Spikini ne fonctionne pas sous IE 5 ! Pour ma part, ça pose un gros problème car j’ai besoin de travailler avec des personnes qui utilisent IE 5.

    Dois-je m’installer un autre moteur wiki ou est-ce que ça peut être résolu rapidement ?

    Merci d’avance !

    Vianney

    • L’idée générale du logiciel libre est la suivante : si tu as tellement besoin de cette compatibilité, tu vas chercher le bug, et puis tu nous donneras le correctif. (Ou alors tu paies quelqu’un pour faire ce travail. Non, pas moi !)

    • Je pense que beaucoup de gens sont intéressés par cette compatibilité. Au moins tout ceux qui souhaitent que leur wiki soit accessible au plus grand nombre, y compris par des pc qui n’ont que IE 5 comme navigateur (Et ils sont très nombreux, les utilisateurs pas suffisament branchés pour installer Mozilla ou mettre à jour leurs logiciels).

      Mais si je suis le seul intéressé, alors tant pis ! (je n’y connais rien en php).

    • Il n’est pas trop tard pour s’y mettre, c’est même assez intéressant

    • J’y pense, mais j’ai une montagne d’autres choses à faire, qui m’intéressent encore plus.

      En tout cas, vous faites du très bon boulot et le monde du libre est à mon sens un grand espoir pour nos sociétés. Enfin, on inverse le rapport de force ! (Mais je sais que je suis hors-sujet dans ce forum...)

    Répondre à ce message

  • 3
    Jazzymarc

    Salut
    Pas mal ce ptit kini^^

    Voilà, je me pose une question.
    Le principe de wiki est vraiment intéressant, donner la permission à n’importe qui de modifier et d’améliorer le contenu d’un site.
    Pourquoi ne pas intégrer cela directement dans spip ?
    Permettre aux visiteurs de directement, via un lien « éditer cette page », de modifier les articles ?

    Répondre à ce message

  • Je vous donne la manière dont j’ai procédé pour installer la machine à wiki :

    1/Installation de Spip 1.7.1
    2/ Créer et installer les fichier spikini dans le répertoire /Spikini
    2/ Mettre le .htacces à la racine du site
    3/ charger la page domaine/Spikini qui créer le premier wiki
    4/ Créer et installer les fichier spikini dans le répertoire /wiki2
    5/ et là quand je charge la page /wiki2, je reviens sur /Spikini

    Est-ce que c’est bon ?

    Xavier

    Répondre à ce message

  • 3

    Effectivement, avec .htaccess ou en sous-répertoire c’est la galère, je viens d’essayer, sans trop de réussite.

    Les bugs constatés lors de mes tests :
    -  multi.php ne lit pas $GLOBALS[wname] mais $wname ;
    -  certaines redirections sont vers / au lieu de ../
    -  le fichier de config ne s’écrit pas, pour une raison indéterminée.

    Moralité : pour l’installer comme sur wiki.rezo.net, il faut lui consacrer un domaine (et pas un sous-répertoire), et installer les redirections dans le fichier httpd.conf ; ou alors galérer et participer au développement, dont se charge désormais le labo spip.

    • Olivier

      Effectivement, depuis que j’ai affecté un sous-domaine à Spikini, la connexion des auteurs ne souffre plus de problème de redirection après l’enregistrement du mot de passe.

      Donc exit la bataille avec les Rewrite Rules...

    • dieudo

      Merci Fil et Olivier de cette info.
      -  Je commence à reprendre espoir d’arriver à faire marcher les fonctionnalités « (Connexion) », « [s’inscrire] »,« [mot de passe oublié ?] », qui renvoient toutes vers un message d’erreur.

      Voir sur ce spikini.

      Peut-être est-ce dû au fait que tous les fichiers à la racine d’un site hébergé par ouvaton.org sont eux-même dans un dossier nommé "html" ?

      Au fait, quelqu’un a-t-il réussi à faire fonctionner complètement un spikini sur ouvaton.org ? Ou encore mieux, « la machine à wiki » ?

    • Donnes-nous un peu plus de précision et l’adresse de ton site.

      En ce qui me concerne, j’ai aussi consacré un sous-domaine vide chez Ouvaton pour installer spip 1.7.1 et Spikini. J’ai collé le htacces sans les ^/. Le premier wiki se crée sans problème mais le second revient sur le premier...

      Que faire ?

      Xavier

      adresse de mon spikini :
      Travaux Musiques

      sur le sous-domaine :
      sous domaine

      wiki qui marche pas :
      pcdm

    Répondre à ce message

  • 2

    -  Reconnaissance utilisateurs : après installation, spip reconnait le login mais pour le mot de passe, il retourne :
    The requested URL /spikini/ecrire/ was not found on this server.
    -  je retrouve ce bug après une installation en local, sur ouvaton, et aussi sur free, et curieusement pas sur laposte.net ! (en revanche s’inscrire à partir de Spikini ne marche pas non plus)

    • Donne au moins une URL, si tu veux qu’on puisse jeter un œil !

    • dieudo

      plusieurs essais :
      -  dieudo.ouvaton.org/spip

      Nouvel essai avec spip à la racine et un fichier httpd(point)conf à la racine (sur ouvaton.org, tout est dans un dossier nommé html, donc peut-être pas vraiment à la racine) :
      -  colibri.ouvaton.org
      Mêmes difficultés :(

      Merci qd même d’avoir pris le temps de répondre !

      Et le jour de la fête du travail en plus ;)

      Je crois que si vous réussissez à rendre son installation aussi accessible que celle de SPIP, il y a un gros potentiel derrière, du genre de celui évoqué sur le SpipLab
      -  extrait :

      « C’est TRES utile pour les intranets des differentes équipes d’une société par exemple. »

      Donc si vous avez le coeur de rendre cet outil plus facile à mettre en oeuvre, sachez qu’il y a du monde derrière qui appréciera !

      avec toute ma reconnaissance pour le travail déjà offert,
      Dieudonné

    Répondre à ce message

  • 6

    Bonjour,

    Je viens de tester en local avec une vieille version 1.7a8 et je n’arrive pas à comprendre comment faire une « machine à wiki ». Si j’ai bien compris comme j’ai pu le tester sur wiki.rezo, on peut avoir plusieurs wiki indépendants à partir d’un même Spip.

    Quelle est la procédure ?

    Merci

    Xavier

    • Je précise mes questions :
      -  Faut-il créer une rubrique spikini dans la partie admin. de spip ?
      -  Pour avoir plusieurs wiki, faut-il faire des répertoires de ce style : /spikini/wiki1 ; /spikini/wiki2 ; ... ou directememnt /wiki1 ; wiki2 ; ...?

      Merci de votre aide.

      Xavier

    • Non ; si tu as installé les RewriteRule et qu’elles fonctionnent il suffit d’aller avec le navigateur sur une page http://url.domain.tld/toto et spikini te proposera de créer le wiki « toto ».

    • J’ai installé le fichier .htaccess avec les informations proposées dans l’article. Créér un premier spikini, installer les tables et valider le spikini puis le répertoire du second avec les fichiers spikini « vierges » à nouveau et quand j’y vais cela me renvoit sur le premier...
      adresse ci-dessous :

      Classification musicale

      pcdm

      Je ne m’en sors pas.

      Merci de vos lumières

      Xavier

    • Apparemment les RewriteRules ne marchent pas sur ouvaton comme elles devraient : le navigateur ne doit pas être redirigé !

    • Dans le RewriteRule :
      RewriteRule ^/([a-z0-9_]+)/(.*) /spikini/multi.php ?wname=$1&wiki=$2 [QSA,L]

      Faut-il changer les valeurs $1 et $2 par le nom des wikis ? Si oui, sous quelle forme ?

      Sinon, je vais voir ce que ne marche pas sur ouvaton.

      Merci de l’aide.

      Xavier

    • Attention, si tu utilises un .htaccess, il faut probablement supprimer la partie ^/ des rewriterules. Est-ce que ça ne serait pas ça le bug que vous avez tous ?

    Répondre à ce message

  • 2

    Bonjour,

    Merci pour la réponse concernant la manière d’avoir plusieurs wikis.
    Je vais tester.

    Est-ce que Spip gère les sauvegardes des wikis ?

    Xavier

    • Sauvegardes : non. Ce sont des tables à part, que la sauvegarde de SPIP ignore.

    • Oups, réponse incomplète : en revanche la page ’admin’ de la ferme de wiki permet de faire des sauvegardes.

    Répondre à ce message

Ajouter un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

ConnexionS’inscriremot de passe oublié ?

Suivre les commentaires : RSS 2.0 | Atom