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

  • 3

    Que diriez-vous d’un fonctionnalité qui permettrait de suivre la consultation des pages sous Spikini ?

    Un peu comme c’est déjà le cas pour les articles sous SPIP.

    Est-ce que cela demanderais un gros travail de programmation ?

    • Pour moi, le principe de Spikini c’est d’être le plus simple possible. Là c’est encore trop complet... perso, je n’ajoute rien.

    • Merci Fil d’avoir répondu.

      Ma proposition ne complique pas l’utilisation de Spikini. Peut-être que ma formulation prêtait à confusion.

      L’idée serait en fait de continuer à enrichir le wiki des richesses offertes par SPIP :
      -  permettre de visualiser l’évolution de la consultations des pages dans la rubrique « Évolution des visites » de l’espace privé dont dépend le spikini.

      Cela dit, je n’ai pas de connaissances informatiques suffisantes pour me représenter la complexification de SPIP et/ou Spikini que cela implique.

      Pour aider à mesurer mon incompétence en la matière, moi non plus, je n’arrive toujours pas à comprendre d’où vient le bug signalé sur cette page par j.chatignoux, le 15 avril 2004 : ToDoSpikini -reconnaissance utilisateurs

      Quoi qu’il en soit merci encore une fois pour Spikini tel qu’il est ! Il me permet déjà de bien avancer dans la co-création au sein des acteurs de la CNV.

    • Ah ! les stats... non, c’est impossible de faire ça bien (page par page). Ce qui est possible sans trop de programmation délirante, c’est de faire comme si tout le spikini était un article, mais ça ne donnera jamais que des visites globales, pas une répartition par page.

      Pour le bug, bin, il faut débugguer : chez moi ça marche :)

    Répondre à ce message

  • 1
    CharlesNepote

    Je suis l’un des principaux développeurs de WikiNi. Bravo pour votre initiative. Elle me donne même des idées... nous souhaiterions en effet modulariser la gestion des utilisateurs dans WikiNi. Pourriez-vous nous faire part de votre expérience à ce propos (sur wikini.net si possible) ? Cf.

    http://www.wikini.net/wakka.php?wiki=RendreModulaireLaGestionDesUtilisateurs

    Nous sommes intéressés par toutes autres synergies entre Spikini et WikiNi. N’hésitez pas à venir faire vos remarques, suggestions sur wikini.net.

    • Coucou,

      je ne suis pas sûr d’avoir compris la question. Nous avons viré (à grands coup de serpe) la gestion d’auteurs de wikini pour la remplacer par un appel aux données SPIP ($auteur_session).

    Répondre à ce message

  • 1

    Y a-t-il une âme charitable qui aura envie de faire le cadeau à des personnes de bonne volonté, de jouer - elles aussi - avec la « machine à wikis » ?

    Concrètement, voici ce qui m’en empêche pour le moment :

    -  la résolution du bug signalé par différentes personnes :

    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.

    -  plus de précisions sur l’emplacement du ou des fichiers .htaccess, httpd.conf.

    -  en fait, de belles explications commes celles qui permettent à des débutants d’installer SPIP très simplement !

    Je m’engage ici solennellement à rédiger un article pour les encore plus nul que moi si quelqu’un peu me détailler un peu les explications ci-dessus intitulées "Comment gérer une « machine à wikis »", afin d’y arriver  ;)

    • Pareil sous SPIP 1.7.1 et PHP4..

      Très facile à installer mais ...

      ... pb lors de la saisie du PW ( HI l’explication pas très affutée sur ce point = alors dans le doubt j’ai mis le .htaccess dans la racine du site et dans le dossier /spikini - hébergeur PHPnet/OVH)

      Psst : Le fait que le site soit déjà dans un sous-répertoire www/jfb a t’il une importance ???

      Re-Psst : keskecé cette histoire de CVS ??

      @+ et merci pour les info ;-)

    Répondre à ce message

  • 2

    Dans la ToDoSpikini, il est indiqué
    — reconnaître les utilisateurs de SPIP (fait) et gérer les droits d’édition en fonction de leur statut ;

    or 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.

    j’ai rechargé la version Spikini en bas de l’article, mais rien n’y fait.
    Merci du conseil.

    Répondre à ce message

  • Contrairement avec l’installation de spip, après avoir uploadé le repertoire spikini (avec fetch sous mac os x), j’ai des erreurs sur les caractères accentués, puis des plantages. Problème résolu avec un upload par filezilla sur un PC. Probablement un défaut dans l’encodage automatique des fichiers par fetch.

    Répondre à ce message

  • 2

    Bonne idée que cette intégration...
    Le spikini fonctionne à merveille, mais du coup j’ai des soucis avec l’interface privée de Spip...
    Une partie des styles semble s’être fait la malle, les boutons de l’entête sont centrés, je n’ai plus de cadres... et le bouton "visiter le site me donne un erreur 404 avec ceci :
    The requested URL /spikini/multi.php was not found on this server

    il semble donc qu’il y ai un mélange qqpart...

    Question subsidiaire, je ne trouve par le fichier waka.config.php pour modifier les droits d’accès par défaut...

    merci pour tout...

    • Bruno Desroches

      wakka.config.php se trouve dans /ecrire/

      Mais j’ai le même problème dans mon interface privée !!!
      Qui peut nous donner la réponse ???

    • Bon... Je ne vois pas de réponse aux messages précédents ?
      J’ai exactement le même problème.
      Grande pagaille dans les icônes de ma partie privée.

      J’ai supprimé le .htaccess ( qui ne sert que si on plusieurs spikini, c’est bien ça ??) et y’a plus de pbs...

      pour info : l’hébergeur lost-oasis.

      Est-ce que ça ne pourrait pas venir de la référence au css du .htaccess ? ?

    Répondre à ce message

  • 1
    Abd-El Krim

    « mettre les redirections apache qui suivent, dans httpd.conf ou dans .htaccess : »

    Question

    On le met où ce fichier, à la racine du site ou dans le dossier spikini ? En tout cas chez moi ça ne marche pas. Hébergeur : APINC.org ! Pour information, la fonction « faut-pas pusher » qui fonctionne très bien sur le site LCR Orléans ne fonctionne pas du tout du côté de Préavis, l’anti-weblog ! ! Alors, que j’ai effectué les modifs de configuration !

    • le backend de "l’anti weblog" ne marche pas : « reference à une entité -è ind-éfinie "nbsp"

    Répondre à ce message

  • 2

    Ca ne marche pas chez moi en local

    L’installation se passe sans problème (pas de message d’erreur) mais je n’arrive pas modifier mes pages par ce que le lien Editer ne s’affiche pas.

    En cliquand sur « Les parametres utilisateur » j’ai le message suivant : Action inconnue « UserSettings »

    Aidez moi

    • En faite je pense que ça ne marche pas avec IE 5.00

      Avec Opéra c’est très beau et j’ai le lien Editer

      Mais j’ai toujour le problème pour les parametres utilisateur

      Après une tentative de connexion j’ai le message suivant : nomdesite/spikini/ecrire/ was not found on this server.

      Aidez moi
      C’est peut t’être l’emplacement de ce fameux httpd.conf

    • Après un clic sur connexion j’ai aussi : sitespip/spikini/ecrire/ was not found on this server.
      J’arrive à m’en tirer en corrigeant l’URL en sitespip/ecrire/ puis en revenant en arrière dans le navigateur.
      C’est un peu lourd :-(

      SPIP 1.7/EasyPHP 1.7/Windows NT4 Workstation
      SPIP n’est pas sous www

    Répondre à ce message

  • 1

    Lo,

    j’ai naivement essayer d’installer spikini dans un autre répertoire et je me suis aperçu que s’était une mauvaise idée, le chemin de spikini est harcodé :(

    C’est un peu dommage, le plus important pour moi est que :
    -  ce soit un wiki
    -  à syntaxe spip,
    -  avec authentification ,

    Autrement dit c’est de la balle atomique, mais je préférerais juste que mes utilisateurs utilisent un « wiki » (j’ai pas envie de faire de longues explications).

    donc pour corriger ce défaut, j’ai rajouté la ligne suivante permettant d’appeler mon spikini autrement que spikini (i.e. wiki) dans mon http.conf après la directive RewriteEngine On

    RewriteRule ^/wiki/(.*)$ /spikini/$1 [R,L]

    • Puis pour que <IMG80|CENTER> m’appelle une image de mon site SPIP J’ai rajouté la règle

      RewriteRule ../IMG/(.*)$ /IMG/$1 [R,L]

      Au fait si quelqu’un peu m’expliquer ce que j’ai fait et pourquoi ça marche, je serais content.

    Répondre à ce message

  • François Granger

    L’idée est géniale ! L’installation s’est bien passé.

    Quelles sont les étapes suivantes ?

    -  Un convertisseur de syntax entre Wikini et Spip
    -  Un bouton « Transformer en article pour Spip » en bas de page de Wikini ?

    Comment peut-on aider ?

    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