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

    Allo,

    J’ai créé une page dans le spikini de spip pour les questions fréquentes :
    http://www.spip-contrib.net/spikini/FaQSpiKini

    J’ai quelques questions également pour fil ou Ben.

    Dans la FAQ wiki on dit :

    Droits d’accès par défaut
    Pour toute nouvelle page créée, WikiNi applique des droits d’accès par défaut. Ces droits d’accès sont configurables via le fichier /wakka.config.php.
    Il faut renseigner les trois variables de configuration suivantes :

    « default_write_acl » => « * »,
    « default_read_acl » => « * »,
    « default_comment_acl » => « * »,

    Par exemple, vous pouvez souhaiter que, par défaut, seuls les utilisateurs enregistrés puisse modifier des pages. Vous utiliserez alors :

    « default_write_acl » => « + »,
    « default_read_acl » => « * »,
    « default_comment_acl » => « * »,

    Attention cependant, les modifications effectuées sur les droits d’accès par défaut ne s’appliquent qu’aux nouvelles pages créées. Si vous souhaitez que ces droits s’appliquent à toutes les pages, il faut modifier à la main les droits des pages précédemment créées.

    En faisant la modification sur /ecrire/wakka.config.php suivante,

    "default_write_acl" => "+",
    "default_read_acl" => "*",
    "default_comment_acl" => "*",

    Plusieurs choses subiennent :
    -  Impossible pour les membres comme les non-membre d’éditer la PagePrincipale
    -  Impossible pour les membres comme les non-membre de créer de nouvelle page

    Cela est arrivé avec spip 1.8a4 et avec le spikini du 18 août

    Une dernièrre question en terminant, est-ce que les versions daté sont lles mêmes à cahque jour (je me demande s’il y a des gens y travaiilant ou bien si elles sont issu d’un système automatique) ?

    Merci !

    • En faisant la modification sur /ecrire/wakka.config.php suivante,

      « default_write_acl » => « + »,
      « default_read_acl » => « * »,
      « default_comment_acl » => « * »,

      Plusieurs choses subiennent :
      -  Impossible pour les membres comme les non-membre d’éditer la PagePrincipale
      -  Impossible pour les membres comme les non-membre de créer de nouvelle page

      Cela est arrivé avec spip 1.8a4 et avec le spikini du 18 août

      J’ai exactement le même problème avec spikini du 30 Aout et spip 1.8.2 !!!
      Testé également avce spikini du 17 juillet et le problème étaid déjà là !!!
      F.

    Répondre à ce message

  • Bonjour

    Je viens d’installer spikini sur mon site spip. D’après mes premiers essais, l’intérêt d’utiliser spikini est de partager les mêmes auteurs/visiteurs, base de données et cache que spip. Mais l’intérêt premier que je voyais d’utiliser un wiki qui marche avec spip était de pouvoir inclure les menus du site spip à l’intérieur du wiki. Or, je sais inclure du php depuis spip, mais je n’ai pas réussi à inclure du spip depuis le php de spikini. Est-ce possible ? Avez-vous déjà essayé une intégration forte de spikini dans un site spip ?

    Merci pour vos réponses.

    Répondre à ce message

  • 1

    Bonjour,

    Le projet est il encore vivant ou plus personne ne s’en occupe ?

    @bientôt,
    Olivier

    • Les deux ! Spikini fonctionne, et est développé sur spip-zone ; mais pas très activement...

    Répondre à ce message

  • 1

    Nous avons suivi les instructions et rien ne fonctionnait. Nous avons galéré pendant une semaine à chercher ce qui n’allait pas.

    Finalement, on a trouvé qu’il fallait lancer le fichier hack-spip.php au lieu de spip.php. Pour cela nous avons dû modifier index.php dans le dossier spikini :

    include(« hack-spip.php ») ;
    au lieu de include(« spip.php ») ;

    Mais il a fallu en outre modifier dans hack-spip, les appels à inc_version.php par inc-version.php3.

    Y’a t’il quelque chose que nous n’avons pas compris ? ou est ce que la doc est incomplète ?

    • Merci pour cette modif. j’aurai pu chercher longtemps.
      Le projet n’est plus suivi ? C’est dommage car c’est excellent.

      Où trouver une doc ?

      @ bientôt,
      Draikhin

    Répondre à ce message

  • 4

    Salut,
    Je viens d’essayer d’installer spikini... Je dois dire que je suis très
    déçu !
    J’ai suivi les indications de la contrib
    http://www.spip-contrib.net/Spikini-un-wiki-qui-marche-avec
    et la dernière version disponible sur le site de spiplab !!!
    Résultat : pas moyen de s’approprier la page d’entrée (éventuellement, je
    peux comprendre).
    Si dans le fichier de config je choisis de ne donner les droits
    d’écriture qu’aux
    personnes enregistrées (le « default_write_acl » à « + » dans
    wakka.config.php) , alors plus personne ne peut éditer la page
    d’entrée (ennuyeux !!) et je n’ai pas accès à l’édition des droits sur
    les pages que j’ai crée !!!
    J’ai loupé un épisode où le développement est encore pas finalisé ?
    F.

    • Bonjour. J’ai aussi des problèmes avec l’appropriation. Les exemples de pages spikini avec Blip sur http://www.20cent.net semblent afficher des zones « pas de propriétaire » et inapropriables (une variable :claim apparait un instant puis disparait sans effet), et par contre ici : http://www.spip-contrib.net/spikini/FaQSpiKini ça marche impec. j’ai pas compris non plus comment rendre visibles les commentaires... Apparament pas de réponse à ce sujet... Et pas moyen d’éditer les permissions non plus. c’est normal ? Le fichier htaccess a t-il un rôle fondamental autre que la réécriture (je ne m’en sers pas avec Spip) ? j’ai fait l’essai sur 2 hébergeurs, et en ne modifiant pas la maquette initiale sur un des deux, aucun ne fonctionne sur ces deux opération. S’il vous plait, un petit conseil...

    • Si on regarde ce forum, il faut reconnaître que personne ne semble assez motivé pour maintenir spikini : si ça marche, tant mieux, si ça ne marche pas, tu es un peu tout seul... alors soit tu abandonnes, soit tu débuggues... Et si tu débuggues on compte sur toi pour t’inscrire sur le lab (ou la zone) et faire les modifs !

    • En plus de mettre le « + » dans wakka.config.php, j’ai fait cette modif dans wakka.php

      A la ligne 593, dans la fonction HasAccess pour le cas « + », remplacer

      if (!$this->LoadUser($user))

      par :

      if (!$this->$user = $this->GetUser())

      ça verifie que l’utilisateur est connecté. Je ne comprends pas exactement ce que récupère l’autre.

      Mais ça marche pour moi.

      A confirmer pour d’autres ... ;)

    • En outre pour pouvoir s’approprier une page, il est également nécessaire dans le même wakka.php de remplacer en ligne 535 :

      if (!$this->LoadUser($user)) return;

      par :

      if ( !$this->$user = $this->GetUser()) return;

    Répondre à ce message

  • Bonjour Je suis aussi un grand utilisateur de wikini et de spip, mais l’un a coté de l’autre.

    Je serais particulièrement interessé de savoir comment vous avez fait pour intégrer la syntaxe spip a wikini. En modifiant simplement le formaters/page/wakka.php ?

    Pour le système de cache, est t’il facile a intégrer sur un wikini non-modifié ? Ca pourrais interesser la communauté wikini.

    Merci pour vos infos utiles.

    Répondre à ce message

  • Salut,

    Ce serait pas merveilleux d’intégrer FCKeditor à Spikini ?
    ajoutez à cela la possibilité de joindre des fichiers et nous vivrons dans le meilleur des mondes.

    Un projet e cours de développement ? Ou une bonne idée qui peut intéresser.

    A bon entendeur.
    Librement,
    Draikhin

    Répondre à ce message

  • Le site http://lab.spip.net/ n’est plus accessible depuis quelques semaines.
    Où est-il possible de télécharger une version de Spikini compatible avec SPIP 1.8.2d ?

    Répondre à ce message

  • Bonjour,
    je voudrai construire plusieurs wikis dans un site multithème (un par thème)
    comment dois-je faire ?

    j’ai regardé dans « la ferme à wikis » mais je n’ai pas trouvé

    merci de votre aide

    Jean

    Répondre à ce message

  • Salut,
    J’aimerai savoir comment récupérer dans spikini des pages qui
    ont été crées avec wikini !
    Merci d’avance.
    F.

    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