{{tag>dokuwiki wiki php css apache plugins thème ferme}} == DokuWiki == ====== Pourquoi DokuWiki? ====== ===== Points forts ===== * Les pages sont sauvegardées en tant que simples fichiers textes donc même en cas de crash complet du serveur, une simple copie de sauvegarde de l'arborescence DokuWiki permettra de retrouver le contenu. <3 <3 <3 * Installation et maintenance très simples puisse qu'aucun serveur de base de données n'est nécessaire. * Une communauté très réactive et prête à aider. =) * Avec un minium de connaissances en PHP, il est possible de créer ses propres //plugins// et //templates// (même si cela n'a [[info:logiciels:doku:accueil#Points faibles|pas que des avantages]]). * Par défaut, DokuWiki est livré avec le //template// éponyme qui est sobre, esthétique et fonctionnel à n'importe quelle résolution d'écran. ===== Points faibles ===== * Le code des //plugins// semble moins fiable que ceux, par exemple, de MediaWiki. * Pour obtenir le meilleur de DokuWiki, il faut mettre les mains dans le cambouis (et, pour les non développeurs, ce n'est pas forcément simple, même si c'est passionnant 8-)). * Impossible de comprendre pourquoi DokuWiki n'intègre pas la possibilité d'afficher un logo spécifique par Espace de nom ou //Namespace// :-x. Attention à la boulimie de //plugins//! ;-)\\ On peut facilement se laisser emporter et installer une pléthore de //plugins// pour réaliser plus tard que certains ne sont plus mis à jour (ou du moins pas aussi rapidement que Dokuwiki lui-même) et donc se retrouver coincé avec un //plugin// qui ne fonctionne plus.\\ Par ailleurs, multiplier les plugins de syntaxe peut rendre plus complexe la mise en forme des pages au lieu de la simplifier. ====== Installation ====== * [[info:logiciels:doku:modsecurity]] * [[info:logiciels:doku:ferme]] * [[info:logiciels:doku:dokuwikistick]] Par défaut, Apache est configuré pour stopper les scripts //PHP// au delà de 30 secondes. Malheureusement, selon la complexité de la syntaxe utilisée et la puissance du serveur web, l'enregistrement de certaines pages peut prendre plus de temps et ne fonctionnera pas (avec un risque important de perdre les dernières modifications). Pour changer cette limite de temps, il suffit d'éditer le fichier //php.ini// utilisé par le serveur web (dans mon cas ///etc/php5/apache2/php.ini//) : ;max_execution_time = 30 max_execution_time = 60 .../... ;max_input_time = 60 max_input_time = 120 ====== Plugins indispensables ====== ===== Color ===== Qui ajoute l'indispensable balise : [[doku>plugin:color]]. ===== DokuWiki Upgrade Plugin ===== Sans ce plugin, il faudra [[http://download.dokuwiki.org|télécharger les mises à jour]] manuellement et les appliquer de la même manière. Ce plugin ajoute sur la page d'administration un lien qui permettra de gérer le processus automatiquement (ou presque((Avec ou sans le plugin //DokuwWiki Upgrade//, les notifications de mises à jour sont rétives. Il faut attendre 24h, utiliser la commande ''touch'' sur le fichier ''doku.php'' ou effacer le fichier //.../data/cache/messages.txt//))) : [[doku>plugin:upgrade]].\\ Notez qu'il est très probable que ce plugin soit intégré d'office aux prochaines versions de DokuWiki mais ce n'est pas encore le cas avec //Hrun//. ===== Gallery ===== Ce plugin permet de réunir toutes les images d'un espace de nom en une gallerie : [[doku>plugin:gallery]]. Par défaut, les images sont affichées dans un cadre totalement transparent or [[info:logiciels:doku:plugins:gallery|certains préféreront un fond de couleur]]. ===== Include ===== Dans un wiki, on est parfois obligé de se répéter et cet astucieux plugin permet justement d'intégrer une page (ou une portion) dans une autre : [[doku>plugin:include]]. Astuce : //Include// permet aussi de montrer un contenu différent aux utilisateurs en classant le contenu B dans un //namespace// ou une page d'accès restreint et en l'incluant dans la page A ouverte à tous (les utilisateurs ne disposant pas de l'accès à B qui consulteront A ne verront pas le contenu provenant de B ni même une trace de l'inclusion). ===== Wrap ===== Pas simple à aborder au début, les possibilités de ce //plugin// sont très nombreuses, comme par exemple créer des blocs flottants, des encarts visuels de différents types (astuce, important, alerte, ...) : [[doku>plugin:wrap]].\\ L'aspect complexe de ce //plugin// peut vraiment faire peur au départ mais il vaut vraiment la peine de s'y intéresser tant les possibilités sont nombreuses. Autre avantage non négligeable : il est très populaire et il est peu probable qu'il tombe un jour dans l'oubli... ====== Autres plugins utiles ====== ===== Blockquote ===== Qui permet de créer des citations visuellement très esthétiques (en dehors de quelques [[info:logiciels:doku:plugins:blockquote|choix esthétiques étranges]]) : [[doku>plugin:blockquote]]. ===== CustomButtons ===== Qui permet de créer des icônes dans la barre d'édition. Très pratique pour les syntaxes utilisées couramment mais pas toujours faciles à se rappeler : [[doku>plugin:custombuttons]].\\ Petit avertissement : même si le plugin est, en ce début 2015, compatible avec la dernière version de DokuWiki, le design date un peu et il y a un peu de boulot pour l'[[info:logiciels:doku:plugins:custombuttons|améliorer]]. ===== Tag ===== Le nom est assez évocateur pour se passer de commentaire.\\ Autre plugin requis: [[doku>plugin:pagelist]].\\ Avertissement :le rendu visuel par défaut n'est **vraiment** pas terrible. La page officielle est à lire en détails [[doku>plugin:tag]] et vous pouvez aussi voir [[info:logiciels:doku:plugins:tag|mes propres bidouilles]] la question des bidouilles est en suspens: j'en ai proposée 2 au développeur du plugin, l'une est encore en attente et il ne restera qu'un bug à corriger... À suivre.... ===== TemplateByName ===== Ce plugin permet de créer des modèles de pages qui s'appliqueront en fonction de l'espace de nom ou du nom de page ce qui est très utile pour fournir un modèle de //topbar// ou de //sidebar// : [[doku>plugin:plugin:templatebyname]]. ===== User Homepage ===== Ce plugin permet de générer automatiquement un espace de nom et/ou une page publique pour chaque utilisateur ainsi que les règles ACL qui s'y rapportent (mais aussi de l'y rediriger automatiquement à la connexion) : [[doku>plugin:userhomepage]].\\ C'est moi qui l'ai (presque) fait ! Ce qui le rends quasiment indispensable LOL. ====== Astuces ====== Voici quelques astuces inoffensives((prévues par Dokwiki, ces astuces résisteront aux mises à jour et ne risquent pas de provoquer de bugs)) pour tirer le meilleur de Dokuwiki ===== Plus de Smileys ===== Voici comment procéder pour ajouter des smileys ou d'autres substitutions de texte par une image (comme les dots chers aux Jeux de Rôles de la gamme //World of Darkness//), en évitant qu'une mise à jour ne vienne supprimer la modification : * créer un dossier ''.../lib/images/smileys/local'' et y placer les images (typiquement au format png ou gif) * créer un fichier ''.../conf/smileys.local.conf'' et y insérer les couples //texte à remplacer// - //image de substitution//. Voici par exemple quelques "smileys" utiles : {{gallery> :doku:smileys }} Les "dots" cités plus haut : {{gallery> :doku:dots }} Et le fichier //"conf/smileys.local.conf"// correspondant : <3 local/coeur.png >:o local/stop.png §ar local/archive.png §ca local/cadenas.png §co local/construction.png §cv local/coche_verte.png §cr local/croix_rouge.png §0 local/dots0.png §1 local/dots1.png §2 local/dots2.png §3 local/dots3.png §4 local/dots4.png §5 local/dots5.png §00 local/dots00.png §10 local/dots10.png §20 local/dots20.png §30 local/dots30.png §40 local/dots40.png §50 local/dots50.png Il peut être nécessaire de purger la copie en cache de la page en ajoutant //&purge=true// à la fin de l'url pour forcer DokuWiki à la recharger afin de visualiser l'effet immédiatement. Pour que les nouveaux //smileys// apparaissent dans la barre d'outil d'édition de page, il va falloir vider le cache du navigateur et purger le cache des divers éléments JavaScript du serveur DokuWiki en accédant à cette url : http://www.mon.dokuwiki.fr/lib/exe/js.php?purge=true ===== Altérer l'apparence ===== ==== En ajoutant du style ==== Il est possible d'altérer un style //CSS// général ou défini par un //plugin// de manière durable (càd sans risque de devoir refaire la manipulation après une mise à jour de DokuWiki ou du //plugin// correspondant). Il suffit simplement d'appliquer la modification à l'un des fichiers de la liste qui suit selon le résultat recherché : * ''.../conf/userstyle.css'' (affichage uniquement) * ''.../conf/userprint.css'' * ''.../conf/userfeed.css'' ( * ''.../conf/userall.css'' Pour plus de détails et d'autres possibilités du même type, [[doku>devel:css#user_styles|voir ici]]. === Quelques exemples === * [[info:logiciels:doku:plugins:blockquote]] * [[info:logiciels:doku:plugins:gallery]] ==== En modifiant les placeholders CSS ==== Les modèles (ou //templates//) utilisent (ou du moins devraient car certains sont assez mauvais élèves) des //placeholders// qui sont définis dans leur fichier ''.../lib/tpl/