Dokuwiki

DokuWiki est un moteur de wiki libre sous licence GNU GPL conforme aux standards, simple à utiliser, dont le but principal est de créer des documentations de toute sorte. Ce logiciel est développé en PHP par Andreas Gohr. Il est destiné aux équipes de développement, aux travaux de groupe et aux petites entreprises. Il a une syntaxe simple qui assure la lisibilité des fichiers de données en dehors du Wiki, et facilite la création de textes structurés. Toutes les données sont stockées dans des fichiers texte, et donc aucune base de données n’est nécessaire.

Ressources

De nombreux plugins sont disponibles https://www.dokuwiki.org/plugins, on peut les installer via le ftp ou directement dans la page administration du DokuWiki installé.

Plugins

  • tag plugin : Gestion de tag
  • cloud : Creation de nuage de mots (tag)
  • Dw2Pdf plugin (voir conseil pour le css plus bas) : Export en Pdf
  • Gallery Plugin
  • Translation : Faire un dokuwiki multilingues
  • Video Sharing Site Plugin : Gestion de video youtube etc…
  • Blockquote Plugin : design de bloc pour citations.
  • Button Plugin : créer des boutons
  • CAPTCHA Plugin : Sécurité de connection
  • GoogleFonts Plugin : Design import de fonts google
  • nspages plugin : création de répertoire, organisation des fichiers
  • S5 Slideshow Plugin : diaporama
  • discussion : commentaires et discussion
  • warp : design de colonne et de bloc.
  • Folded : design pour replier des blocs
  • Formulaire Rated : rated
  • Bureaucracy : générer des formulaires (envois de mails ou bien création de pages) + plugin “data” (optionnel) pour gérer des données statiques (listes prédéfinies, etc.)

Mettre à jour

  • Sauvegarder tout le wiki sur l'ordi
  • Télécharger nouvelle version
  • Écraser les fichiers sur le répertoire de l'ordi + supprimer fichiers, …
  • Renommer le dossier distant du wiki, puis téléverser la nouvelle version dans le bon répertoire distant

Configuration

  • breadcrumb
  • url esthétiques + htaccess
  • userarea
  • mime et types de fichiers
  • langue : ./inc/lang/fr

Templates

Les templates permettent de créer un modèle de page. Ainsi, dès que vous créez une page, elle sera structurée par votre template.

Exemple de template de notre wiki

====== @@Nom du projet@@ ======
  * Porteur du projet : [[:user:@USER@|@USER@]]
  * Date : %d/%m/%Y/ - ...
  * Licence : [[http://creativecommons.org/licenses/by-sa/3.0/legalcode|CC-by-sa-3.0]]
  * Description : @@Description@@
  * Techniques : @@Mots clés@@
  * Fichiers sources : lien
  * Lien : lien

{{tag>@@Mots clés@@}}

===== Description =====
@@Description@@

{{@@Image@@|@@Nom du projet@@}}

===== Matériaux =====
Liste de matériel et composants nécessaires.

===== Tutoriel =====
Guide pas à pas pour la réalisation du projet.

===== Photos =====
Code pour afficher les images du projet :
{{gallery>?&crop&lightbox}}

En l'associant avec les formulaires du plugin bureaucracy, nous pouvons créer des pages avec des champs dynamiques (voir plus bas).

Notes d'utilisations

Des plugins peuvent être utile pour designer mieu son dokuwiki comme WARP, Google Font,etc… voir plus haut.

Trick CSS

  • Menu (content.less) ++ Le code
  • On peut changer les traduction française pour raccourcir les noms des boutons… fichier lang.php (dans /inc/lang/fr )
  • Afficher ou non le fil d'arianne (display = none; (ligne 245 - fichier design.less )
  • Modifications avant footer : classe .docInfo (ligne 384 - fichier design.less )

CSS DW2pdf

Attention ! pour modifier ce css en live, il faut charger une page différente a chaque fois car le cache est généré au chargement de la page.

  • le fichier se trouve dans /dw2pdf/tpl/votre_theme

Formulaire avec Bureaucracy

Créer une page

Exemple de formulaire pour créer une page :

<form>
action   template tpl "projets:@@Nom du projet@@:"

fieldset "Créer votre page projet"
textbox  "Nom du projet"
textbox  "Description" !
file "Image" !

fieldset "Matières :"
yesno "Metal"
yesno "Bois"
yesno "Papier"

data_aliastextbox "Mots clés" _machines 
submit "Créer la page"
</form>

Explications :

action template tpl "projets:@@Nom du projet@@:"

Le template “tpl” est un fichier texte “tpl.txt” placé dans le répertoire des projets : “./data/pages/projets/tpl.txt”

textbox  "Description" !

Avec le ! c'est un champ optionnel

data_aliastextbox "Mots clés" _machines

Liste de valeurs prédéfinies à éditer ici : http://votresite.org/?do=admin&page=data_aliases
Le “_” c'est pour dire d'aller chercher les données de “machine”
En ajoutant le “s” à la fin, cela crée une liste à champ multiple
Il faut ajouter des guillemets s'il y a des espaces sinon ça crée deux champs, ou sinon faire des mots clés attachés.

Template des pages Les données du formulaires vont remplacer les mots avec un syntaxe spéciale et la page créée va donc être suivre la structure du template.

====== @@Nom du projet@@ ======
  * Porteur du projet : [[:user:@USER@|@USER@]]
  * Date : %d/%m/%Y/ - ...
  * Licence : [[http://creativecommons.org/licenses/by-sa/3.0/legalcode|CC-by-sa-3.0]]
  * Description : @@Description@@
  * Techniques : @@Mots clés@@
  * Fichiers sources : lien
  * Lien : lien

{{tag>@@Mots clés@@}}

===== Description =====
@@Description@@

{{@@Image@@|@@Nom du projet@@}}

===== Matériaux =====
Liste de matériel et composants nécessaires.

===== Tutoriel =====
Guide pas à pas pour la réalisation du projet.

===== Photos =====
Code pour afficher les images du projet :
<code>{{gallery>?&crop&lightbox}}

</code>

Envoyer un email

Exemple de formulaire pour envoyer un email :

<form>
fieldset "Vous !"
Action mail contact@votresite.org
Thanks "Merci de votre participation, le formulaire a correctement été validé. Nous vous recontacterons début septembre pour organiser les équipes avant le festival."

textbox  "Votre joli petit nom"
email "Votre adresse électronique"

fieldset "Participer à un projet"
select "Choix" "-|CNC fraiseuse numérique|Precious Plastic|Vélo énergie|Four solaire|Pépinière mobile" !

fieldset "Proposer un projet"
static "Un projet sur lequel vous serez le référent et plutôt autonome. Soyez précis dans votre description, notamment en ajoutant des liens Internet."
textarea  "Description" !
submit "Envoyer"
</form>