generationcyb.net pointcyb lien vers les points cyb
Inscription à la lettre d'information | Fil infos rss 
Accueil > Création de site > Spip > Les outils du rédacteur Spip

Gribouille : un wiki dans son site Spip


Version imprimable Version imprimable



Gribouille est un squelette Spip [1] que l’on peut installer sur une rubrique de son site pour faire fonctionner celle-ci en mode wiki, c’est-à-dire permettre que ses contenus soient modifiés par des personnes autorisées (ou tout un chacun) sans nécessité de pénétrer dans l’interface de gestion de Spip.

Gribouille est décrit à www.spip-contrib.net/Gribouille. il remplace un outil wiki précédent : Spikini.

Il est préférable de lui associer le plugin Crayons (www.spip-contrib.net/Les-crayons) qui permet d’éditer les contenus sans passer par l’espace privé.

Pour installer Gribouille

  •  installez et activez le plugin Crayons :

  •  créez une rubrique de votre site qui sera votre rubrique wiki (disons que son numéro est NN)
  •  téléchargez le squelette Gribouille depuis www.spip-contrib.net/Gribouille,
  •  si vous êtes avec Spip 1.9.2, installez dans un répertoire squelettes/gribouille/ à la racine de votre site les fichiers suivants :
    • gribouille/article.html
    • gribouille/rubrique.html
    • gribouille/article_fonctions.php
    • gribouille/rubrique_fonctions.php (sous le nom article-NN.html, rubrique-NN.html article-NN_fonctions.php et rubrique-NN_fonctions.php)

    Avec SPIP 1.9.3 dev, c’est plus simple : créez un squelette article-NN.html contenant exactement : [(#INCLURE{fond=gribouille/article}{env})] et un squelette rubrique-NN.html contenant exactement : [(#INCLURE{fond=gribouille/rubrique}{env})].

    Pour gérer les autorisations d’écriture sur le wiki

    Les squelettes par défaut de Gribouille fonctionnent avec les statuts habituels d’auteur Spip. Pour créer ou modifier une page du wiki, il faut être administrateur général du site ou administrateur restreint de la rubrique où se trouve le wiki.

    Si l’on veut autoriser n’importe quel internaute à modifier les pages wiki (c’est un peu l’idée des wikis…) et un rédacteur à modifier une page existante ou créer une nouvelle page, il faut insérer le code suivant dans son fichier ecrire/mes_options.php :

    <?php

    ###################
    # Gestion du wiki #
    ###################
    define('SECTEURS_WIKI', '201,202');

    function autoriser_article_modifier($faire, $type, $id, $qui, $opt) {
            // Si on est deja autorise en standard, dire 'OK'
            if (autoriser_article_modifier_dist($faire, $type, $id, $qui, $opt))
                    return true;

            // Sinon, verifier si l'article est dans un secteur wiki
            $s = spip_query("SELECT id_secteur FROM spip_articles WHERE id_article="._q($id));
            if ($t = spip_fetch_array($s)
            AND in_array($t['id_secteur'], explode(',', SECTEURS_WIKI))
    #        AND in_array($qui['statut'], array('0minirezo', '1comite'))
            )
                    return true;

            // par defaut, NIET
            return false;
    }

    function autoriser_rubrique_publierdans($faire, $type, $id, $qui, $opt) {
            // Si on est deja autorise en standard, dire 'OK'
            if (autoriser_rubrique_publierdans_dist($faire, $type, $id, $qui, $opt))
                    return true;

            // Sinon, verifier si la rubrique est dans un secteur gribouille
            // et si on est bien redacteur
            if (
            in_array($qui['statut'], array('0minirezo', '1comite'))

            AND
            (in_array($id, array(201,202))
            OR (
                    $s = spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique="._q($id))
                    AND $t = spip_fetch_array($s)
                    AND in_array($t['id_secteur'], explode(',', SECTEURS_WIKI))
            ))
            )
                    return true;

            // par defaut, NIET
            return false;
    }

    function analyse_droits_rapide() {
            return true;
    }

    ?>

    Pour écrire sur le wiki

    On double clique sur la page d’article ou on clique en bas sur "Editer cette page".

    On peut également modifier la page depuis l’interface privé de Spip, comme pour tout article.

    Les raccourcis typographiques de Spip peuvent être saisis directement dans la page wiki afin de mettre en page l’article.

    Pour afficher l’historique des pages

    Pour permettre d’afficher l’historique des changements d’une page, il faut activer l’option "Activer le suivi des révisions" dans les options avancées du menu "Configuration" de l’interface privé.

    Apparence d’une page wiki avec Gribouille


    [1] Et devrait devenir un plugin un jour…

    Mis en ligne le jeudi 26 juillet 2007



    Répondre à cet article

    Forum

    • Gribouille : un wiki dans son site Spip
      24 septembre 2007, par eniope

      Tout fraichement installé, ça fonctionne sauf lorsque je veux ajouter de nouvelles pages. Si j’écris un nouvel article dans l’administration, c’est bon et la nouvelle page (article) est bien répercutée dans Gribouille mais pas lorsque je veux faire ça du wiki lui même. Voici les messages d’erreurs :

      Warning : main() : Unable to access /home/castafiore/kehitys/squelettes/article_fonctions.php in /home/castafiore/kehitys/squelettes/rubrique-15_fonctions.php on line 2

      Warning : main(/home/castafiore/kehitys/squelettes/article_fonctions.php) : failed to open stream : No such file or directory in /home/castafiore/kehitys/squelettes/rubrique-15_fonctions.php on line 2

      Warning : main() : Failed opening ’/home/castafiore/kehitys/squelettes/article_fonctions.php’ for inclusion (include_path=’. :/usr/share/php :/usr/share/pear’) in /home/castafiore/kehitys/squelettes/rubrique-15_fonctions.php on line 2

      Des idées ?? Merci

  • Contact | Plan du site | Espace privé
    Dernier ajout : lundi 14 juillet 2008 | 744 articles sur ce site.
    XHTML 1.0 | CSS 2 | RSS

    Generationcyb.net est motorisé par Spip 1.9.2c associé à un squelette graphique Rizom
    Sauf indication, les articles sont mis à disposition sous un contrat Creative Commons
    Ministère de la santé, de jeunesse et des sports Institut national de la jeunesse et de l'éducation populaire Information jeunesse Centre d'information et de documentation jeunesse