====== DokuWiki ======
* Présentations :
* [[floss:dokuwiki-one_size_fits_all|DokuWiki, un wiki "One size fits all"]] : conférence JDL du 20 février 2020
* **[[dokuwiki-presentation-JDL-20200220|Présentation JDL du 20 février 2020]]** (slideshow)
* rss ([[:test-rss]])
* tables ([[:test-table]])
* [[floss:dokuwiki_extensions|Extensions]]
* [[:dokuwiki_presentation_20170515|Dokuwiki, un wiki polyvalent et efficace aux nombreuses fonctionnalités]]
* [[wp>fr:DokuWiki]] : sur wikipédia
* [[wp>DokuWiki]] : sur wikipedia en anglais
* [[https://www.dokuwiki.org/dokuwiki]] : site web officiel
* [[https://github.com/splitbrain/dokuwiki]] : gitHub repository
* [[https://www.dokuwiki.org/fr:manual]] : Manuel de DokuWiki
À intégrer :
* dokuwiki sur raspberry ?
* verrouillage de pages si accès concurrents
* abonnement RSS aux dernières mises à jour du site ou d'un espace de noms ?
* [[https://www.cosmocode.de/en/open-source/top-ten-dokuwiki-plugins/]]
* xmlrpc ? envoi de contributions par email pour des pages,...
* rename basedir → [[https://forum.dokuwiki.org/thread/4026]] (→ mettre à jour la ligne "RewriteBase /wiki" dans le fichier caché .htaccess de la racine du wiki si les URL jolis sont utilisés)
===== Introduction =====
A côté d’un blog (tel que WordPress), utile pour créer un site "vitrine" composé" essentiellement de pages statiques et d’articles pouvant être commentés, il est intéressant de proposer des pages d’informations dont le contenu est susceptible de s’enrichir régulièrement.
Il est aussi courant de partager en lecture certains documents de manière limitée, avec des personnes ou des groupes de personnes contrôlés, ou de les partager dans un but collaboratif avec des permissions supplémentaires d’écriture. Il permet facilement les modifications et ajouts de pages, de "répertoires".
→ définir un wiki (cf. aussi Using DokuWiki as a lightweight CMS)
* collaboratif
* rapide, flexible
* syntaxe simple
* historique des versions
* structuration de l'information
* navigation hypertextuelle
* indexation
* présentation uniforme (le contenu a priorité sur sa présentation)
Si à cela vous ajoutez les souhaits d’une présentation uniforme, d’un langage de formatage simplifié mais puissant, la nécessité de conserver les versions successives d’un travail, de les organiser dans une arborescence, alors le logiciel à installer est un wiki, et le logiciel DokuWiki est particulièrement indiqué, pour les raisons suivantes :
* c'est un logiciel libre éprouvé, très suivi et tenu à jour par une communauté importante
* l'utilisation se fait dans un navigateur web
* le langage de balise est simple, et l'environnement propose un éditeur avec barre d’outils
* il n'exige pas de connaissance préalable
* aucune base de données n’est nécessaire
* l'outil collaboratif est éprouvé, et utilisé par des sites web reconnus
* la gestion des droits d’accès par utilisateurs ou groupes (ACL) est très évoluée
* DokuWiki et des sites tiers proposent de nombreuses extension (plugins) et thèmes (templates)
* DokuWiki conserve un historique des versions et possède un moteur d'indexation et de recherche efficace
Références :
* [[https://www.dokuwiki.org/start?id=fr:dokuwiki]] : DokuWiki présenté par DokuWiki !
===== Historique du projet =====
* [[https://fr.wikipedia.org/wiki/DokuWiki#Historique]]
* Andreas Gohr
* [[https://www.splitbrain.org/personal]]
*
===== Installation et administration système =====
* Documentation :
* [[https://www.dokuwiki.org/install|DokuWiki Installation]]
* [[https://www.dokuwiki.org/wiki:dokuwiki]]
* Pour la configuration du serveur (éventuellement virtuel), cf. [[config_ubuntu_server]]
==== Procédure de base ====
Puisqu’il n’y a pas de base de données, l’installation est plus simple que celle de la plupart des CMS. A partir d’une fenêtre de terminal (Linux, Mac), ou d’un client ssh comme PuTTY (Windows) :
* Connexion et identification sur le serveur : ssh username@dns or username@ip_address (ou via les paramètres de PuTTY);
* se placer dans le répertoire web : cd /var/www/html
* créer un répertoire pour le wiki : sudo mkdir wiki00
* s’y placer : cd wiki00
* télécharger la dernière version de DokuWiki : sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
* décompresser l’archive : sudo tar -xzvf dokuwiki-stable.tgz --strip-components=1
* effacer l’archive : sudo rm dokuwiki-stable.tgz
* owner & permissions ([[https://www.dokuwiki.org/install:permissions#unix]])
* sudo chown -R www-data:www-data /var/www/html/wiki00
* cd /var/www/html/wiki00 (si on n'y était pas)
* fichiers : sudo find . ! -type d -exec chmod 660 {} \;
* répertoires : sudo find . -type d -exec chmod 770 {} \;
* on peut à présent régler la configuration de base de DokuWiki via un navigateur web, en pointant sur [[http://dns/wiki00/install.php]] ou [[http://ip_address/wiki00/install.php]]. Documentation spécifique : [[https://www.dokuwiki.org/installer]] pour la description des options :
* **Wiki Name**
* **Enable ACL**
* **Superuser**
* **Full Name**
* **E-Mail**
* **Password**
* **Once Again**
* **Initial ACL policy**
* **Allow users to register themselves**
* sudo rm install.php (effacement du script d'installation)
Une fois tout cela accompli, le wiki est pré-configuré et (presque) opérationnel ! Après l'initialisation, il convient d’effectuer rapidement quelques réglages de la configuration. Pour y arriver, il faut tout d’abord se connecter, et ensuite se diriger vers le menu d’administration. Avec le canevas de présentation (template) par défaut, on trouvera en bas de la page les boutons de connexion et d’administration. Choisissez alors les “Paramètres de configuration”. Une fois sur la page vous pourrez effectuer de nombreux réglages, dont ceux-ci qui me paraissent très utiles, voire indispensables :
* choisir la langue de l’interface language fr
* mode de création des répertoires : choisir 02770 (au lieu de 0755) (set gid, cf. [[http://www.dokuwiki.org/config:dmode]])
* mode de création des fichiers : choisir 0660 (au lieu de 0644)
* Dans les paramètres d’authentification, rubrique “Actions à désactiver dans DokuWiki”, vérifier la désactivation (cocher) de l’action “s’enregistrer”, sauf si vous voulez permettre à n’importe quel quidam de s’inscrire et appartenir au groupe “user”
* pour le délai avant indexation (paramètres anti-spam), vous pouvez vous contenter de 60*5 plutôt que 60*60*24*5, qui contraint à une attente de 24H après édition, avant que l’indexation par un robot de moteur de recherche ne redevienne possible
* Si comme administrateur vous souhaitez être averti à chaque modification effectuée par un autre utilisateur, indiquez votre email derrière “Notifier les modifications à cette adresse de courriel” (paramètres d’édition)
* ensuite, vous pouvez aussi activer l’abonnement aux pages, ce qui aura pour effet de générer un envoi par email notifiant la modification. Le délai peut être réglé par l’option suivante (“Délai après lequel les listes d’abonnement …”)
* Mentionner dans ce dernier cas l’expéditeur des notifications par courriel du wiki (paramètres avancés)
Plus tard, notamment si vous ajoutez des extensions (plugins) possédant leurs propres paramètres de configuration, vous pourrez revenir sur ce menu d’administration !
==== Quelques premières améliorations (extensions,...) ====
DokuWiki peut être étendu par des extensions (plugins) dont certaines sont particulièrement utiles. Ces extensions sont installées à partir du panneau d'administration. Sélectionner la page "Gestionnaire d'extensions", qui permet de lister les plugins installés. Il est facile d'en installer d'autres, via l'onglet "Rechercher et installer" : taper "upgrade" pour obtenir la liste des extensions correspondant à ce critère. Le plugin "Upgrade plugin" apparaît normalement en tête, et il suffit de cliquer sur le bouton "installer". En retournant sur le panneau d'administration, on dispose à présent de la fonctionnalité "Mise à jour du wiki" qui sera utile lors de la sortie d'une mise à jour du logiciel, pour lesquelles des messages d'avertissement seront affichés.
Le thème graphique de DokuWiki peut aussi être modifié en sélectionnant un des nombreux thèmes listés à la page [[https://www.dokuwiki.org/template]]. Les thèmes s'installent comme les extensions, mais un seul thème à la fois peut être activé, via le gestionnaire de configuration. Bootstrap3 est un exemple de thème fréquemment utilisé.
=== Réécriture d'URL (jolis URL) ===
* [[https://www.dokuwiki.org/fr:rewrite]] explique (option 1) comment remplacer l'URL "http://servername/wiki/doku.php?id=wiki:syntax" par un URL plus beau, et aussi mieux indexé par certains moteurs de recherche : "http://servername/wiki/wiki:syntax"
* Sur le serveur :
* sudo a2enmod rewrite
* sudo systemctl restart apache2
* cd /var/www/html/wiki
* cp .htaccess.dist .htaccess
* sudo nano .htaccess
* décommenter les lignes concernant le rewrite :
RewriteEngine on
#
RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L]
RewriteRule ^index.php$ doku.php
* sudo chown www-data:www-data .htaccess
* normalement il n'y a pas de pas de changement nécessaire dans le fichier de configuration d'Apache2
* Dans la configuration du wiki (via la page d'administration et les paramètres de configuration), aller dans les paramètres avancés, et pour userewrite (Utiliser des URL esthétiques), sélectionner l'option "Fichier .htaccess"
==== Sécurisation, configuration ====
message à l'installation : "It seems your data directory is not properly secured. Please read [[https://www.dokuwiki.org/security]]
Solution :
* sécurisation via apache2 [[https://www.dokuwiki.org/security#web_access_security]]
* sudo nano /etc/apache2/apache2.conf → changer AllowOverride None en AllowOverride all pour /var/www
* sudo service apache2 restart
* [[https://www.dokuwiki.org/security]]
* [[https://www.dokuwiki.org/install:php|PHP Configuration for DokuWiki]]
==== Quelle est la structure du wiki sur le serveur ? ====
* Structure complète dans le Manuel du développeur : [[https://www.dokuwiki.org/devel:dirlayout]]
* Quelques répertoires importants :
* bin - outils/scripts de type "command line tools" à exécuter à partir d'un terminal sur le serveur
* inc - le code php de DokuWiki
* lib/exe - programmes accédés via la navigation sur le site
* lib/images - images liées au fonctionnement du wiki (icons, smileys, toolbar icons,...)
* lib/plugins - extensions installées
* lib/scripts - codes JavaScripts
* lib/styles - feuilles de style CSS
* lib/tpl - templates (thèmes visuels)
* Répertoires propres à l'installation (importants à sauvegarder) :
* data/pages - contient les pages actuelles
* data/meta - contient les méta-informations sur les pages (créateurs, abonnés,...)
* data/media - contient les fichiers media actuel (images, PDFs, …)
* data/media_meta - contient les métadonnées des media
* data/attic - anciennes versions des pages
* data/media_attic - anciennes versions des media
* conf - les réglages de configuration
==== Comment utiliser plusieurs instances de DokuWiki ? ====
* [[https://www.dokuwiki.org/farms]]
* [[https://forum.dokuwiki.org/thread/12062]]
==== Mises à jour ====
==== Sauvegardes ====
=== En mode manuel, avec création d'une copie sous un autre nom ===
* Se connecter en ssh au serveur : ssh vmuser@ip_address
* tar zcpfv dokuwiki-backup.tar.gz /var/www/html/wiki00
* Le fichier de sauvegarde se trouve dans le répertoire home de vmuser
* Pour créer (immédiatement ou ultérieurement) une copie sous un autre nom, se placer dans le répertoire web : cd /var/www/html
* créer un répertoire pour le wiki : sudo mkdir wiki01
* s’y placer : cd wiki01
* décompresser l’archive en omettant le chemin sauvegardé (\var\www\html\wiki00) :
* sudo tar -xzvf /home/vmuser/dokuwiki-backup.tar.gz --strip-components=4
* À ce stade, les droits et propriétaires ne sont pas correct (vérifier par ls -l) : changer owner & permissions ([[https://www.dokuwiki.org/install:permissions#unix]])
* sudo chown -R www-data:www-data /var/www/html/wiki01
* cd /var/www/html/wiki01 (si on n'y était pas)
* fichiers : sudo find . ! -type d -exec chmod 660 {} \;
* répertoires : sudo find . -type d -exec chmod 770 {} \;
* Références :
* [[https://www.dokuwiki.org/install:upgrade]]
* [[https://unix.stackexchange.com/questions/535772/understanding-strip-components-c|Understanding --strip-components -C]]
* voir aussi ce [[https://dvillers.umons.ac.be/wiki/floss:bash_scripts#script_bash_de_backup|script bash de backup]]
==== Migration ====
* en cas de migration, effacement de fichiers obsolètes : sudo grep -Ev '^($|#)' data/deleted.files | xargs -n 1 rm -vf
réinstallation (à vérifier en 2020 !)
* cd /var/www/html puis effacement de l'éventuelle version antérieure : sudo rm -rf wiki
* cd /home/vmuser copie d'une archive dokuwiki à réinstaller à cet emplacement
* extraction par tar --force-local -xzvf ./saved_dokuwiki_2013-08-28_03:17:01.tar.gz
* cd /home/vmuser/path_a_verifier
* sudo mv wiki /var/www/html puis cd /var/www/html
* owner & permissions https://www.dokuwiki.org/install:permissions#unix
* sudo chown -R www-data:www-data /var/www/wiki
* cd /var/www/html/wiki
* fichiers : sudo find . ! -type d -exec chmod 660 {} \;
* répertoires : sudo find . -type d -exec chmod 770 {} \;
===== Pages et syntaxe d'écriture =====
* Les documents individuels sont des pages, écrites en suivant un [[wp>fr:Langage_de_balisage_léger|Langage de balisage léger]] propre à DokuWiki, mais pour lequel il existe des outils de conversion vers et à partir d'autres formats. Le serveur assure automatiquement la génération des pages en HTML, consultable dans un navigateur web. Il existe des extensions permettant d'autres formats de sortie, des conventions de syntaxe additionnelles, ou d'autres fonctionnalités d'édition ou de présentation.
* Syntaxe :
* en anglais : [[https://www.dokuwiki.org/wiki:syntax]]
* en français : [[https://www.dokuwiki.org/start?id=fr:wiki:syntax]]
* Pour créer une page, il suffit de créer un lien vers une page inexistante
* Pour éditer une page, il suffit de sélectionner l'outil "Modifier cette page" (souvent un symbole de crayon d'une barre d'outil latérale. L'éditeur comprend une barre d'outil supérieure avec de nombreuses commandes d'édition classiques. Les niveaux de titres utilisent les caractères "=" sur 6 niveaux (de "======" à "=").
* Pour supprimer une page, il faut "Modifier cette page", sélectionner l'ensemble du code du texte (Ctrl + 'A'), le supprimer et effectuer "Enregistrer". La page vide est alors automatiquement supprimée
===== Structure en namespaces =====
* Les pages peuvent être classées dans une structure arborescente comme pour des fichier habituels d'un système d'exploitation. Ces répertoires successifs sont appelés des "namespaces" (et subnamespaces) et le séparateur utilisé est ":", analogue au "/" et "\" sous GNU/Linux et MS Windows. Les liens peuvent faire référence au namespace parent par ".." et les liens peuvent être relatifs, ou absolus. Le nom de page est toujours le nom qui est à droite du dernier caractère ":".
* des outils permettent d'afficher l'arborescence ou une sélection, et de renommer ou déplacer des pages, des namespaces, en actualisant les liens
* La navigation hypertextuelle entre les pages utilise bien entendu des balises de lien, analogues aux balises http habituelles.
===== Utilisateurs, groupes =====
Les utilisateurs enregistrés peuvent ouvrir une session en utilisant le bouton de connexion. Si l’administrateur du wiki ne l'a pas désactivé, les visiteurs peuvent s'enregistrer sur le wiki. Sinon, ils doivent demander un code d'accès par un autre moyen. Suivant les réglages du site, les pages et fonctionnalités (droit d'édition,...) sont accessibles de manière différente et en fonction des utilisateurs (voir les ACL).
Des groupes d'utilisateurs partageant les mêmes droits peuvent être créés. Les groupes sont représentés par un préfixe, le caractère: @ suivi du nom du groupe. Il existe des groupes spéciaux, comme @ALL (tout le monde, même les utilisateurs non connectés) et @user (tous les inscrits).
===== ACL (Access Control List) =====
Des restrictions d'accès peuvent être liées aux pages et aux espaces de noms. Il y a sept permissions, d'importances croissantes :
- aucune (none)
- lire (read)
- modifier (edit)
- créer (create)
- téléverser sur le serveur (upload)
- effacer (delete)
- administrer (admin)
Les accès sont déterminés pour des utilisateurs ou groupes d'utilisateur. On utilise le groupe @ALL (tout le monde) pour limiter l'accès à tous les utilisateurs (comme configuration par défaut) et autoriser dans une règle suivante certaines permissions pour quelques utilisateurs (ou groupes) choisis.
Détails : [[https://www.dokuwiki.org/fr:acl]]
===== Le gestionnaire Multimédia =====
Le Wiki permet de sauvegarder et d'afficher des fichiers media : images, sons et vidéos, avec les possibilités d'interaction classiques pour ces deux dernier formats (démarrer, arrêter, défiler avec un curseur temporel). D'autres fichiers peuvent aussi être mis à disposition : pdfs, documents de suites bureautiques, archives compressées,...
Pour insérer un fichier directement dans une page en cours d'édition, mieux vaut utiliser le gestionnaire disponible dans la barre d'outil d'édition. Sinon, vous pouvez gérer vos médias à l'aide du Gestionnaire Multimédia en mode pleine page.
Les documents sont sauvegardés dans une arborescence identique aux namespaces des pages.
Pour l'insertion des images, sons ou vidéos, il est possible de régler la taille et la position (droite, gauche, centrée) de l'affichage.
* Des types mime additionnels peuvent être ajoutés via le fichier de configuration local mime.local.conf (you need to create
* En préfixant le type par un point d'exclamation (!), cela force le navigateur à proposer la bote de dialogue de téléchargement.
==== Références ====
* [[https://www.dokuwiki.org/mime]] : types MIME
* [[https://www.dokuwiki.org/images|Images et médias]]
* [[https://www.dokuwiki.org/start?id=fr:fullscreen_mediamanager|Le gestionnaire multimédia pleine page]]
* [[https://www.dokuwiki.org/start?id=fr:media_manager|Le gestionnaire multimédia]]
===== Extensions =====
Exemples en fonction : [[dokuwiki_extensions]]
* Forme :
* [[https://www.dokuwiki.org/plugin:blockquote|BlockQuote]] : mise en forme de citations
* [[https://www.dokuwiki.org/plugin:bootswrapper|bootswrapper]] (en conjonction avec le thème bootstrap3
* [[https://www.dokuwiki.org/plugin:catlist|catlist]] : rend une liste en arborescence de pages d'un namespace
* [[http://www.dokuwiki.org/plugin:chem|Chem]], formatage de formules de substances chimiques
* [[https://www.dokuwiki.org/plugin:cloud|Cloud]], nuage de mots utilisés
* [[https://www.dokuwiki.org/plugin:color|color]], couleur du texte
* [[https://www.dokuwiki.org/plugin:csv|CSV]], affichage de données au format csv (d'un tableur,...). Il faut autoriser les csv via un fichier conf/mime.local.conf à créer. Cf. la documentation : [[https://www.dokuwiki.org/mime]].
* [[https://www.dokuwiki.org/plugin:definitionlist|Definition List]], par exemple pour un glossaire
* [[http://nikita.melnichenko.name/projects/dokuwiki-diagram/index.php|Diagram]], construction de diagrammes
* [[https://www.dokuwiki.org/plugin:edittable|edittable]], facilite l'édition de tableaux. Cf. aussi [[https://www.dokuwiki.org/plugin:tablelayout|tablelayout]]
* [[https://www.dokuwiki.org/plugin:flowchartjs|flowchartjs]] diagrammes basés sur [[http://flowchart.js.org/|flowchart.js]]
* [[https://www.dokuwiki.org/plugin:flowcharts|flowcharts]] diagrammes et graphes basés sur la librairie [[https://mermaid-js.github.io/mermaid/#/|mermaid.js]]
* [[https://www.dokuwiki.org/plugin:gallery|Gallery]], insertion automatique d'une galerie d'images
* [[https://www.dokuwiki.org/plugin:gh|gh]], incorpore des fichiers ou parties de fichiers de GitHub
* [[https://www.dokuwiki.org/plugin:hidden|hidden]] permet de cacher/révéler des portions de textes
* [[https://www.dokuwiki.org/plugin:html5video|html5video]] incorpore des vidéos lues nativement par le navigateur (HTML5) → ajouter les types mime vidéo à la configuration de DokuWiki
* [[https://www.dokuwiki.org/plugin:iframe|iframe]] permet la visualisation dans un cadre d'une source externe via son URL
* [[https://www.dokuwiki.org/plugin:include|Include]] inclut une autre page ou section dans la page courante
* [[https://www.dokuwiki.org/plugin:keyboard|keyboard]] affiche du texte comme des touches de clavier (CTRL+'C', ...)
* LaTeX : [[https://www.dokuwiki.org/plugin:latex]]
* installable via le gestionnaire d'extensions
* librairies additionnelles sur le serveur :
* sudo apt-get install texlive-latex-base imagemagick ghostscrip
* Dans le gestionnaire d'administration, une rubrique complémentaire "LaTeX plugin tasks" est présente dans la partie "Extensions"
* L'**erreur "LaTeX render failed" peut être causée par un problème de permissions avec ImageMagick** (cf. [[https://github.com/marklundeberg/dokuwiki-plugin-latex/issues/9]]. Éditer le fichier /etc/ImageMagick-6/policy.xml et modifier la ligne en !
* plugin»latex»convert_options initialement à '-density 120 -trim -transparent "#FFFFFF"', utilisation de '-density 180 -trim -transparent "#FFFFFF"' pour des rendus un peu plus grand
* [[https://www.dokuwiki.org/plugin:openlayersmap|OpenLayersMap]], ajoute des cartes (OSM, Google, Bing,...) et nécessite aussi l'extension [[https://www.dokuwiki.org/plugin:geophp|geophp]]
* [[https://www.dokuwiki.org/plugin:pagelist|pagelist]] dresse une liste de pages
* [[https://www.dokuwiki.org/plugin:plaintext|plaintext]] incorpore du texte non formatté
* [[https://www.dokuwiki.org/plugin:pycode|PyCode]] incorpore du code python d'un site distant (Bitbucket, GitHub)
* [[https://www.dokuwiki.org/plugin:semantic|semantic]] (+ action SEO) permet des visualisations associées à certains thèmes comme bootstrap3
* [[https://www.dokuwiki.org/plugin:syntaxhighlighter3]] (coloration syntaxique, dans le module standard aussi)
* [[https://www.dokuwiki.org/plugin:toctweak|TocTweak]] formattage spécifique de la table des matières
* [[https://www.dokuwiki.org/plugin:vshare|Video Share]] inclusion de vidéo (youtube,...)
* [[https://www.dokuwiki.org/plugin:wikipediasnippet|WikipediaSnippet]] incorpore des extraits d'articles de Wikipedia
* [[https://www.dokuwiki.org/plugin:wrap|Wrap]], nombreuses possibilités de présentation (cf. les démos)
* Fonctionnalités
* [[https://www.dokuwiki.org/plugin:bookcreator|BookCreator]]
* [[https://www.dokuwiki.org/plugin:dw2pdf|DW2PDF]]
* [[https://www.dokuwiki.org/plugin:captcha|CAPTCHA]] : vérification pour lutter contre les robots spammeurs
* [[https://www.dokuwiki.org/plugin:cleanup|cleanup]]
* [[https://github.com/fykosak/dokuwiki-plugin-cookielaw|CookieLaw]], affiche un texte sur l'existence de cookies
* [[https://www.dokuwiki.org/plugin:dataplot|Dataplot Plugin]], graphique élémentaire (nécessite gnuplot)
* [[https://www.dokuwiki.org/plugin:dw2pdf|dw2pdf]], export de pages DokuWiki au format pdf (nécessite le paquet php5-gd)
* [[https://www.dokuwiki.org/plugin:fastwiki|fastwiki]] édition rapide de sections
* [[https://github.com/i-net-software/dokuwiki-plugin-multiorphan|multiorphan]] dresse une liste des pages orphelines
* [[https://www.dokuwiki.org/plugin:newpagetemplate|newpagetemplate]] crée des nouvelles pages à partir de modèles. Voir aussi [[https://www.dokuwiki.org/plugin:addnewpage|addnewpage]] et [[https://www.dokuwiki.org/plugin:openas|openas]]
* Formulaire, automatisation
* [[https://www.dokuwiki.org/plugin:bureaucracy|Bureaucracy]]
* [[https://www.dokuwiki.org/plugin:pagemod|pagemod]]
* [[https://www.dokuwiki.org/plugin:newpagetemplate|newpagetemplate]]
* [[https://www.dokuwiki.org/plugin:doodle4|doodle4]] planification de réunions, votes,...
* Calendriers, agenda :
* [[https://www.dokuwiki.org/plugin:davcal|davcal]] → synchronisable Calendar
* [[https://www.dokuwiki.org/plugin:google_cal|google_cal]] → google, mais non maintenu !!
* [[https://www.dokuwiki.org/plugin:minical|minical]] → each day is represented by a wiki page (uniquement par mois)
* [[https://www.dokuwiki.org/plugin:yearbox|yearbox]] → year or recent month(s) calendars, with a new page link for each day
* [[https://www.dokuwiki.org/plugin:schedule|schedule]] → représentation d'événements (localisation, contenu, moment,...)
* réseaux sociaux (Facebook, Twitter, Instagram,...)
* [[https://www.dokuwiki.org/plugin:importfacebookevents]] → display your Facebook events
* [[https://www.dokuwiki.org/plugin:facebook]] → Add Facebook Fan Boxes
* [[https://www.dokuwiki.org/plugin:socialcards|socialcards]]
* [[https://www.dokuwiki.org/plugin:socialite|socialite]] → responsive lightweight social share buttons
* [[https://www.dokuwiki.org/plugin:twitter]] → Show tweets or searches from Twitter
* Forum et inclusion de forum, commentaires,...
* édition avancée
* [[https://www.dokuwiki.org/plugin:batchedit|batchedit]]
* reveal.js [[https://github.com/neuralyzer/dokuwiki-plugin-revealjs]]
* [[https://www.dokuwiki.org/plugin:revealjs|revealjs]] : présentation (slideshow) directement dans le navigateur web d'une page DokuWiki
* [[https://www.dokuwiki.org/plugin:tag|tag]]
FIXME :
* Enregistrements d'inscriptions (mailing, newsletter,...) via des plugins dokuwiki :
* Plugins bureaucracy, pagemod ; En option : sqlite, (data, remplacé par...) struct, CAPTCHA ? attention au GDPR ! → Cookielaw (affichage d'une bannière avertissant le stockage de cookies)
* utilitaires :
* plugin getraw [[https://www.dokuwiki.org/plugin:getraw]] → copier
* xmlrpc ??
* [[https://forum.dokuwiki.org/d/20495-post-dokuwiki-new-page-via-email]]
* [[http://www.dokuwiki.org/plugin:svgembed|svgEmbed]] + edit de mime.local.conf
* statistiques :
* [[https://www.dokuwiki.org/plugin:matomo|matomo]] (matomo, ex "piwik")
* umami : cf. [[https://korben.info/remplacer-google-analytics-script.html]]
FIXME Logo & favicon ??
* sites avec des plugins, démonstrations et explications :
* [[https://theta5912.net/doku.php?id=wiki:plugins]]
* [[https://theta5912.net/doku.php?id=wiki:plugins:bootstrap_wrapper|bootstrap wrapper]], [[https://theta5912.net/doku.php?id=wiki:plugins:datatables|datatables]], [[https://theta5912.net/doku.php?id=wiki:plugins:tag|tag]],...
==== Divers ====
* [[http://www.msc.univ-paris-diderot.fr/~cgay/doku4latex/doku.php]]
===== Thèmes (templates) =====
* testés (et approuvés)
* thème par défaut
* bootstrap3 avec par exemple united de [[https://bootswatch.com/]]
* [[https://www.dokuwiki.org/template:bootstrap3:customizations]] explique comment utiliser des thèmes dépendants des namespaces. En conjonction avec l'extension [[https://www.dokuwiki.org/plugin:advanced|advanced]], et sans activer l'option "ThemeSwitcher".
* Last Boostrap (5) → ComboStrap :
* [[https://www.dokuwiki.org/plugin:combo|Combo]] (extension)
* [[https://www.dokuwiki.org/template:strap|Strap]] (template)
* [[https://combostrap.com/]]
* [[https://datacadamia.com]]
* [[https://tabulify.com]]
===== La conception : namespaces, groupes et droits =====
==== Exemple : une ASBL consacrée aux logiciels libres ====
Activités : ateliers mensuels, activités extérieures, activités récréatives, documentation, répertoire de logiciels, fonctionnement de l'ASBL (AG, réunions du CA, secrétariat, trésorerie, inventaire matériel...)
Groupes et utilisateurs : inscrits sur le site, membres de l'ASBL, membres du CA, administrateurs systèmes, groupes de travail thématiques, éditeurs/rédacteurs,...
==== Exemple : l'enseignement communal à Gnuville ====
Sous-parties : l'échevinat, l'enseignement fondamental (maternel et primaire), l'enseignement secondaire (général, technique de transition, technique de qualification et professionnel), l'enseignement de promotion sociale (niveaux secondaire et supérieur), l'académie de Musique (enseignement artistique), l'enseignement spécialisé, le CPMS
Les métiers : l'administration (direction générale, directions, comptabilité), les infrastructures (bâtiments, techniques générales, informatique), l'enseignement (y compris éducation artistique et culturelle, disciplines scientifiques et techniques, gymnastique et sport, langues) le psycho-médical, le soutien pédagogique,...
Les implantations : administration, écoles (maternelles, primaires, fondamentales), centre PMS, Régie des bâtiments,...
Les bénéficiaires : élèves du fondamental (4500 et leurs parents), élèves du secondaire (3000), élèves
Groupes : parents (fondamental), élèves secondaires
===== Scripts DokuWiki =====
* vérification du wiki installé : [[http://servername/wikipathname/doku.php?do=check]]
* utilitaire "grapher" de dokuwiki : [[https://www.dokuwiki.org/tips:grapher]] (représentation en graphe des pages et media
* ssh vmuser@ip_adress
* cd /var/www/html/wiki/bin
* sudo wget https://github.com/splitbrain/dokuwiki-grapher/raw/master/grapher.php
* sudo chown www-data:www-data grapher.php
* sudo chmod 660 grapher.php
* php grapher.php -h
* php grapher.php -d 0 -m none -o g.dot ns1:pagename
* php grapher.php -d 0 -m none -f gexf -o g.gexf ns1:pagename
* reprendre le fichier g.dot à traiter sur un autre PC où est installé graphviz (sudo apt-get install graphviz graphviz-doc)
* ou reprendre le fichier .gexf avec gephi
===== Passage en https, avec des certificats SSL classiques, ou via Let's encrypt =====
* [[wp>fr:Let's_Encrypt|Let's Encrypt]]
* [[https://wiki.debian.org/fr/LetsEncrypt]]
* [[https://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl]]
* [[https://certbot.eff.org/all-instructions]]
* [[https://certbot.eff.org/lets-encrypt/ubuntubionic-apache.html]]
===== Astuces =====
* À classer :
* pandoc, conversions avec éditeur, génération via tableur, recherches regexp...
* travail collaboratif
* includes
* XML-RPC
* [[https://python-dokuwiki.readthedocs.io/en/latest/]]
* balises parfois nécessaire
* codes de remplacement...
* [[https://www.dokuwiki.org/entities]] → DokuWiki peut remplacer certains caractères ou chaînes de caractères par d'autres chaînes basées sur un fichier de configuration. C'est parfois nécessaire de désactiver des transformations.
===== Dépannage =====
Les problèmes sont assez rares !
* Vérifier régulièrement l'espace disque disponible, éventuellement réduit dans une VM, et parfois encombré de fichiers de sauvegarde
* Si le site renvoie des pages blanches, il est nécessaire de purger le cache des pages correspondantes par exemple start → ajouter &purge=true : [[http://dns_site/wikiname/start&purge=true]] (ref : [[https://www.dokuwiki.org/faq:blankpage]])
* Ou réinitialiser via la sauvegarde des paramètres de configuration du wiki dans le gestionnaire d'administration. Cf. [[https://www.dokuwiki.org/caching]]
* plugin backup et fichier restant dans le répertoire /var/www/wiki/data/media_attic/wiki/backup → purger manuellement
* Problèmes lors de l'upgrade vers Hogfather (02/06/2020)
* [[https://forum.dokuwiki.org/d/17863-quick-reminder-what-to-do-when-a-plugin-doesnt-work-on-hogfather]]
* [[https://forum.dokuwiki.org/d/17860-recovering-a-dokuwiki-via-the-recovery-script]]
* [[https://www.patreon.com/posts/38090834|Hogfather Plugin Compatibility]]
* ... FIXME
* lenteurs
* [[https://forum.dokuwiki.org/d/18700-dokuwiki-quite-slow-on-our-apache-server]]
* ...
* voir aussi :
* [[https://www.dokuwiki.org/tips:maintenance]]
* [[https://www.dokuwiki.org/plugin:cleanup]] (extension)
* [[https://www.dokuwiki.org/plugin:clearhistory]] (extension)
* [[https://www.dokuwiki.org/plugin:cacherevisionseraser]] (extension)
===== Communauté et développement =====
* [[https://www.dokuwiki.org/teams:getting_involved]]
* [[https://www.dokuwiki.org/teams:community]]
* [[https://forum.dokuwiki.org/]]
* Forum : [[https://forum.dokuwiki.org/]]
* Sociétés spécialisées :
* [[https://www.cosmocode.de/en/]]
===== Des sites en DokuWiki =====
* Logiciels libres
* [[https://www.dokuwiki.org/dokuwiki]] → la documentation de DokuWiki est elle-même un des meilleurs exemples de DokuWiki
* [[https://doc.ubuntu-fr.org/]] documentation Ubuntu en français
* Communautés Xfce et Xubuntu
* [[https://wiki.bluesabre.org/start]] Xubuntu Project Docs & Staging Wiki
* [[https://docs.xfce.org/start]] & [[https://wiki.xfce.org]]
* [[https://openwrt.org]] (wireless freedom)
* https://mycitizen.net/en:start
* [[https://fsl56.org/]] * *
* [[https://www.splitbrain.org/blog]] → aspect "blog"
* [[https://www.dokuwiki.org/tips:cms]] → Using DokuWiki as a lightweight CMS
* [[https://www.dokuwiki.org/dokuinstall]]
* [[https://wiki.cartocite.fr/doku.php?id=accueil]]
* Education
* [[http://encyclopedia-magnetica.com/doku.php/start]]
* [[https://physicsnotes.org/doku.php]]
* [[https://physicstravelguide.com/start]]
* [[https://www.psychdb.com/home]] (psychomedical)
* Wikis personnels :
* [[http://lotar.altervista.org/wiki/]] blog personnel utilisant DokuWiki et le thème Bootstrap3
* [[https://sebsauvage.net/wiki/doku.php|Wiki de sebsauvage.net]]
* [[https://radeff.red/dokuwiki/homepage|homepage - Radeff’s Wiki]]
* [[https://theta5912.net/doku.php?id=start]]
* [[https://www.soscisurvey.de/help/doku.php/:en:start]] (corporate)
* [[http://www.mosaic-industries.com/embedded-systems/microcontroller]]
* [[https://lemonldap-ng.org/start]]
* [[https://oar.imag.fr/start]]
* [[https://www.sympa.org/index]]
* [[https://faq.o2switch.fr/start]]
* [[https://www.kamailio.org/wiki/start]]
* [[https://wiki.monitoring-fr.org/]]
* [[https://wiki.fws.fr/start]]
* [[http://wiki.nothing2hide.org/doku.php?id=start]] (associations)
* [[https://wiki.dglogik.com/dglux_v2_wiki:home]]
* [[https://wiki.appdb.egi.eu/start]]
* laboratoires universitaires
* [[http://www.math-evry.cnrs.fr/doku.php|Laboratoire de Mathématiques et Modélisation d’Évry - LaMME]]
* [[https://www.lpsm.paris/semoa/index|Structures et Modèles Aléatoires - LPSM-Structures et Modèles Aléatoires]]
* [[http://www.cbp.ens-lyon.fr/doku.php?id=accueil|accueil - CBP]]
* blogs
* [[http://www.dainf.ct.utfpr.edu.br/~adolfo/dokuwiki/doku.php?id=2019|2019 - Prof. Adolfo Neto (DAINF-UTFPR)]]
* [[http://culturesexpressives.fr/doku.php|Accueil - Le Wiki de Laurence Allard]]
* [[http://wiki.nervtech.org/doku.php?id=blog|blog - NervTech’s Wiki]]
* [[https://isnix.de/doku.php/blog:start|blog:start - It’s boring when it works!]]
* [[https://teunissen.net/wiki/doku.php?id=blog:start&do=edit|blog:start - Homepage]]
* [[https://radeff.red/blog/start]]
Produits incorporant DokuWiki en option :
* [[https://www.synology.com/en-us/dsm/packages]] (mediawiki est le seul autre wiki)
===== Des analyses, comparaisons,... sur DokuWiki =====
* [[https://www.wikimatrix.org|WikiMatrix]] (comparaison de logiciels wikis)
* [[https://www.itqlick.com/compare/dokuwiki/kanban-tool]]
* [[https://www.wappalyzer.com/technologies/dokuwiki]]
* [[https://index.woorank.com/en/reviews?technologies=dokuwiki]] → Top 2,060 websites using DokuWiki...
* [[https://w3techs.com/technologies/details/cm-dokuwiki]]
* [[https://www.inmotionhosting.com/support/edu/dokuwiki]] quelques documents d'aide sur DokuWiki
===== Dans la presse et les blogs... =====
* **2018-10-18** [[https://www.hostingadvice.com/blog/dokuwiki-is-a-simple-yet-powerful-open-source-collaboration-tool/|DokuWiki’s Simple Yet Powerful Open-Source Software Enables Individuals, Teams, and Businesses to Create, Document, and Collaborate]] on HostingAdvice
* **2011-05-25** [[http://www.cmscritic.com/dokuwiki-review/|DokuWiki Review]] by Mike Johnston on CMS Critic
* [[https://www.dokuwiki.org/blogroll|Blogroll]]
* [[https://trickscage.net/install-dokuwiki-ubuntu-nginx-letsencrypt/|Install Dokuwiki on Ubuntu with SSL (using Nginx)]]. 2018-09-08 (English)
* [[https://computingforgeeks.com/install-dokuwiki-behind-nginx-and-letsencrypt-on-linux/|Install Dokuwiki behind nginx and letsencrypt on Linux]]. 2017-06-13 (English)
* [[https://computingforgeeks.com/install-dokuwiki-on-centos-7/|How to install and configure DokuWiki on CentOS 7 with PHP 7.1]]. 2017-05-12 (English)
* [[http://chrisjrob.com/2015/12/03/discovering-dokuwiki/|Discovering DokuWiki]]. 2015-12-03 (English)
* [[http://www.savjee.be/2014/06/Backup-Dokuwiki-amazon-s3-php-script/|Backup DokuWiki to Amazon S3 with PHP]]. 2014-06-21 (English)
* [[https://www.rosehosting.com/blog/install-and-run-dokuwiki-the-most-versatile-wiki-on-a-centos-7-vps/|How to install DokuWiki on CentOS]]. 2014-09-27 (English)
* [[http://knightwise.com/docuwiki-take-notes-everywhere-seriously-every-where/|Dokuwiki : Take notes everywhere ... seriously ... every-where !]] [sic]. 2013-11-21 (English)
* [[http://www.techrepublic.com/blog/linux-and-open-source/handle-some-common-administration-tasks-in-dokuwiki/|Handle some common Administration tasks in DokuWiki]]. 2013-10-08 (English)
* [[http://blog.cybermonde.org/post/2012/03/07/installer-et-utiliser-DokuWiki|installer et utiliser DokuWiki]]. 2012-03-07 (French)