Pmwiki Parametrage

Parametrage

Table des matieres

1. Fichier de parametrage

Apres avoir installer pmwiki sur un serveur web, il faut passer au parametrage.

C'est dans le fichier /local/config.php que se passe tout le parametrage du site, ce fichier n'existant pas par défaut, il faut en placer un. Heureusement un exemple est disponible dans /docs/sample-config.php , on recopie alors cet exemple localement en c:\tmp\pmwiki-2.2.0-beta63\local\config.php afin de l'editer (wordpad ou notepad sous windows par exemple). Après toute modification locale de config.php, il faut bien entedu le transferer sur le site en ligne (ftp), pour que le paramtrage soit pris en compte .

2. Mot de passe de l'administrateur

Avant tout, positionnons un mot de passe personnalisé pour le super-utilisateur du site. Vers la 40eme ligne , décommenter (retirer le #) :

 $DefaultPasswords['admin'] = crypt('secret');

Mettre le mot de passe qu'il vous plais.

3. Titre de la barre de navigation

vers la ligne 8 :

  ##  $WikiTitle is the name that appears in the browser's title bar.
  $WikiTitle = 'Mon WIKI';

4. Sous-répertoire par group

Au niveau systeme de fichier, pmwiki utilise des fichiers "à plat" pour stoker les pages. C'est à mon avis un des gros avantage de cette implémentation wiki car cela simplifie la programmation et la maintenance "off wiki" du contenu par rapport à un stockage de type systeme de base de donnée.

Les pages peuvent être stocké par thématique au sein d'un même wiki, cela permet d'organiser un minimum l'aborescence du systeme de fichier. Une thématique est un "group".

Ici nous préconisons la création automatique d'un sous-répertoire par group (thématique) . Cela permet d'avoir une arborescence de fichiers plus claire. Plutot que d'avoir sous wiki.d/ des dizaines, voire centaines de fichier; Group1.page1, Group1.pages2, Group2.page1 etc ... on aura wiki.d/group1/ qui contiendra Group1.page1, Group1.page1 et wiki.d/group2/ Group2.page1 etc ....

  #Jehan , http://www.pmwiki.org/wiki/Cookbook/PerGroupSubDirectories
  $WikiDir = new PageStore('wiki.d/$Group/$FullName');

Cette directive est à mettre relativement "haut" dans le fichier, notament avant "authuser", autrement les controle d'authentification échouera !. Dans mon exemple cela se trouve vers le ligne 15 de config.php .

5. Nom du groupe et page par défaut

Personalisation du group par défaut et de la page initiale (Homepage par défaut) de chaque group:

  #Jehan homepage
  $DefaultName = 'Principal';
  $DefaultGroup = 'Accueil';

6. Premiere Page

Voici comment créer du contenu. Pour céer une premiere page nous alons la référencer dans le menu de gauche, pur ce faire Cliquer sur "edit sidebar" en bas du menu de gauche. Le "code source" du menu de gauche apparait alors dans la fenetre centrale d'édition. Nous y ajotons un premiere ligne "* Principale" .

  * Principale
  * HomePage
  * WikiSandbox

   PmWiki
  * Initial Setup Tasks

Apres avoir sauver les modifications, "principale" apparait dans le menu de gauche suivit d'un "?", cela signifie que la page est pour l'instant inexistante. En cliquant dessus, nous entrons alors en mode édition sur cette nouvelle page, il ne reste plus qu'a y saisir le contenu souhaité . Suivant le principe évoqué dans le chapitre "sous-repertoire par group", cette edition de page va créer un groupe "Accueil" (donc un sous-répertoire "Accueil" dans le répertoire wiki.d) et une page Accueil.Principale dans le sous répertoire wiki.d/Accueil/Accueil.Principale. Ce principe sera vallable pour toutes les autres pages .

7. Edition de base

cf http://www.pmwiki.org/wiki/PmWikiFr/BasicEditing

8. Logo

  ## $PageLogoUrl is the URL for a logo image -- you can change this
  ## to your own logo if you wish.
  $PageLogoUrl = "$PubDirUrl/skins/pmwiki/NewTuxLogo.jpg";

9. Habillage -> skin

Ce site utilise une autre skin (monobook) que celle par défaut (pmwiki) Skins disponibles

  ## If you want to have a custom skin, then set $Skin to the name
  ## of the directory (in pub/skins/) that contains your skin files.
  ## See PmWiki.Skins and Cookbook.Skins.
  $Skin = 'monobook';

10. Sécurisation de l'édition

Si on ne souhaite pas que tout le monde (tout l'Internet !) puisse modifier votre site, il est souhaitable de protéger par mot de passe toute édition sur le site .

  #Jehan security
  $DefaultPasswords['edit'] = crypt('editsecret');

sécurisé l'acces a une page en particulier, ajouter &action=attr en fin d'URL pour parametrer les attribut d'acces

http://www.pmwiki.org/wiki/PmWiki/Passwords

11. pmwiki en français

Référence: http://www.pmwiki.org/wiki/PmWiki/Internationalizations

Télécharger et installer i18n-fr.zip. Une fois l'archive ouverte, transferer l'ensemble des fichiers, respectivement 4 dans les sous-répertoire scripts et 21 "PmWikiFr*" dans wikilib.d .

Ensuite, charger le "Fr" dans config.php via XLPage('fr','PmWikiFr.XLPage'), Au delà de se chargement, nous avons également ajouté une traduction des "recent change" qui apparaissent en bas de chaque pages (5 lignes suivantes) .

  # Jehan FR
  XLPage('fr','PmWikiFr.XLPage');
  $RecentChangesFmt = array(
    '$SiteGroup.ToutesLesModifs' => 
      '* Group.Name  . . . $CurrentTime par $AuthorLink: $ChangeSummary',
    '$Group.ModifsDuGroupe' =>
      '* Name  . . . $CurrentTime par $AuthorLink: $ChangeSummary'); 

12. Comptes utilisateurs

Référence: http://www.pmwiki.org/wiki/PmWiki/AuthUser

Au plus simple = déclaration dans le fichier config.php, autrement il y a possibilité de charger depsui un fichier .htpasswd, une BD, ldap etc ...

  ## Jehan Define usernames and passwords.
  $AuthUser['jehan'] = crypt('monsecret');
  $AuthUser['hugues'] = crypt('sonsecret');
  #group d'utilisateur
  $AuthUser['@proc'] = array('jehan', 'hugues');

Chargement du scripts:

  ## Enable authentication based on username.
  include_once('scripts/authuser.php');

Ensuite , il est possible de définir page par page, group par group ou pour tout le site les droit d'acces. Par exemple pour une page , a jouter en fin d'URL ?action=attr, ceal donne en exemple:

http://jehan.procaccia.free.fr/1wiki/pmwiki.php?n=Accueil.Principale?action=attr

  Principale
  Permissions de Accueil.Principale

  Entrez les nouveaux attributs pour la page ci-dessous. Laisser un champ vide conservera l'attribut en l'état.   Pour effacer un attribut, entrez le mot 'clear'.
  Définir un nouveau mot de passe pour la lecture: 		
  Définir un nouveau mot de passe pour l'écriture: 		(défini par site) ****
  Définir un nouveau mot de passe pour modifier les permissions: 		(utilisant le mot de passe de  edit)

13. Plugins

voici une liste de plugins (cookbook) que j'ai particulierement apprécié .

13.1. Galerie de photo, thumblist

http://www.pmwiki.org/wiki/Cookbook/ThumbList

  include_once("cookbook/thumblist.php");

13.2. Compteur

http://www.pmwiki.org/wiki/Cookbook/TotalCounter

  ## total counter
  include_once('cookbook/totalcounter.php');

13.3. Table de matiere et chapitres numeroté

  ##http://www.pmwiki.org/wiki/Cookbook/NumberedHeaders
  include_once('cookbook/numtoc.php');

13.4. Forum

http://www.pmwiki.org/wiki/Cookbook/SimpleForum

http://www.pmwiki.org/wiki/Cookbook/CommentBoxPlus

  # Forum
  include_once("$FarmD/cookbook/commentboxplus.php");
  include_once("$FarmD/cookbook/forumstyled.php");

13.5. Calendrier

http://www.pmwiki.org/wiki/Cookbook/WikiCalendar

  #calendar
  include_once("$FarmD/cookbook/wikilog.php");
  include_once("$FarmD/cookbook/wikilog-i18n-fr.php");

74117 total d'accès, 1959 accès à cette page