Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+151
View File
@@ -0,0 +1,151 @@
---
title: DokuWiki
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, wiki, documentation, php, flat-file, simple, veterand, docker]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=wiki]
---
# 🏛️ DokuWiki
> Wiki PHP ultra-léger et éprouvé, sans base de données : tout est stocké dans des fichiers texte sur le disque. Le vétéran des wikis self-hosted, en production depuis 2004, utilisé par d'innombrables organisations.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [dokuwiki.org](https://www.dokuwiki.org/) |
| **GitHub** | [splitbrain/dokuwiki](https://github.com/splitbrain/dokuwiki) |
| **License** | GPL-2.0 |
| **Langage** | PHP |
| **Étoiles** | ⭐ 919 |
| **Dernière MAJ** | 2026-05-30 |
| **Catégorie** | [[cat-wiki]] |
## Description
DokuWiki est l'un des **plus anciens projets de wiki open source encore activement maintenus**. Créé par Andreas Gohr en 2004, il est utilisé par la NASA, l'OTAN, la Commission européenne, des universités, des entreprises et des particuliers à travers le monde. Sa longévité est sa meilleure publicité.
Le principe est d'une simplicité désarmante : **pas de base de données**, tout le contenu est stocké sous forme de fichiers texte (`.txt` avec une syntaxe wiki maison) dans le dossier `data/pages/`. Cette architecture rend les backups triviaux (un simple `tar` du dossier) et la migration entre serveurs instantanée. Côté serveur, il suffit de **PHP** (≥ 8.1) et d'un serveur web (Apache, Nginx, Lighttpd).
Les fonctionnalités modernes sont toutes là malgré la simplicité : authentification utilisateurs/groupes, ACL fines par namespace et par page, recherche full-text, versioning, multi-langue, namespaces hiérarchiques, plugins (plus de 1500 disponibles sur dokuwiki.org), thèmes, éditeur WYSIWYG optionnel, sauvegardes automatiques. La syntaxe wiki est volontairement simple et lisible.
DokuWiki est idéal pour qui veut un **wiki qui juste marche**, sans s'encombrer d'une stack moderne (Node, React, base SQL). Pour un wiki plus moderne avec WYSIWYG temps réel, on préférera [[app-wiki-js]] ou [[app-docmost]]. Pour un wiki single-file sans serveur, [[app-tiddlywiki]]. Pour un wiki Markdown minimaliste, [[app-raneto]].
## Installation
### Option 1 : Docker Compose
L'image `linuxserver/dokuwiki` (LSIO) est la plus populaire : elle inclut Apache + PHP, le tout sur Alpine Linux.
```yaml
# docker-compose.yml
services:
dokuwiki:
image: lscr.io/linuxserver/dokuwiki:latest
container_name: dokuwiki
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- dokuwiki-config:/config
- dokuwiki-data:/data
ports:
- "8080:80"
# optionnel : derrière un reverse proxy, on retire le mapping de port
volumes:
dokuwiki-config:
dokuwiki-data:
```
L'interface d'admin est accessible sur `http://localhost:8080/install.php` à la première installation (puis à supprimer).
### Option 2 : Installation manuelle (LAMP/LEMP)
```bash
# 1) Récupérer la dernière version stable
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar -xzf dokuwiki-stable.tgz -C /var/www/
mv /var/www/dokuwiki-* /var/www/dokuwiki
# 2) Droits
chown -R www-data:www-data /var/www/dokuwiki
# 3) VirtualHost Apache
<VirtualHost *:80>
ServerName wiki.example.com
DocumentRoot /var/www/dokuwiki
<Directory /var/www/dokuwiki>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
```
Prérequis : **PHP 8.1+** avec extensions `mbstring`, `xml`, `zlib`, `intl` (recommandé).
## Configuration
La configuration principale se fait dans le panneau d'admin (en haut à droite, après login admin) :
- **General** : titre, sous-titre, logo, langue (français inclus), timezone, URL canonique.
- **Users** : créer des utilisateurs, groupes, définir la politique de mots de passe.
- **Access Control List** : ACL par namespace, page, groupe. Très puissant.
- **Plugins** : `Admin → Extension Manager` permet d'installer/maj les plugins en un clic depuis dokuwiki.org.
- **Thèmes** : `Admin → Template chooser`, plus d'une centaine de thèmes disponibles.
- **Sauvegardes** : `Admin → Backup & Restore` (exporte un tar.gz du dossier `data/`).
- **Configuration brute** : via le fichier `conf/local.php` (généré après la première config GUI) ou `conf/dokuwiki.php` (defaults).
## Alternatives
### Open Source
- [[app-wiki-js]] — Wiki Node.js moderne, WYSIWYG, Git backend.
- [[app-docmost]] — Wiki collaboratif temps réel moderne.
- [[app-tiddlywiki]] — Wiki single-file JavaScript, sans serveur.
- [[app-raneto]] — Wiki Markdown Node, plus minimaliste.
- [[app-xwiki]] — Java, très extensible, plus lourd.
- [[app-docusaurus]] — Plutôt pour publier en statique.
- [[app-mkdocs]] — Doc statique Python.
- **BookStack** — PHP/MySQL, ergonomique, plus moderne dans l'UX.
- **MediaWiki** — L'autre vétéran (motor de Wikipédia), plus complexe.
### Propriétaires (ce que DokuWiki remplace)
- **Confluence** — DokuWiki est plus léger, sans la lourdeur d'Atlassian.
- **Notion** — Pour un wiki simple et durable, DokuWiki est imbattable.
- **Microsoft SharePoint Wiki** — DokuWiki est gratuit, simple, et tient 20 ans.
- **MediaWiki-hosted (Fandom, Wikia)** — DokuWiki pour un wiki privé.
- **Atlassian Jira Wiki** — Dans les projets où Confluence est trop lourd.
## Sécurité
-**PHP mature, auditée**, mises à jour régulières (reste sur la dernière stable LTS).
-**ACL très fines** par namespace, page, groupe : à configurer soigneusement pour limiter l'exposition.
-**HTTPS obligatoire** derrière reverse proxy (Caddy/Traefik/Nginx) + LetsEncrypt.
- ✅ DokuWiki a un **système anti-spam/anti-bruteforce** intégré (captcha, ban, rate-limit).
- ⚠️ Désactiver/renommer `install.php` après la première configuration.
- ⚠️ Protéger le dossier `data/` et `conf/` au niveau du serveur web (Nginx/Apache deny rules).
- ⚠️ Les **plugins tiers** sont puissants mais exposent du code : ne charger que des plugins maintenus, mis à jour.
-**Backups** : un simple `tar` du dossier `data/` (et `conf/`) suffit, à automatiser via cron/restic/Borg.
- ⚠️ Activer les logs d'accès et auditer périodiquement les comptes actifs.
## Ressources
- [Site officiel DokuWiki](https://www.dokuwiki.org/)
- [Manuel DokuWiki](https://www.dokuwiki.org/manual)
- [Dépôt GitHub splitbrain/dokuwiki](https://github.com/splitbrain/dokuwiki)
- [Catalogue de plugins](https://www.dokuwiki.org/plugins)
- [Communauté (forum, IRC, mailing-list)](https://www.dokuwiki.org/community)
## Pages Liées
- [[cat-wiki]] — Vue d'ensemble de la catégorie Wiki
- [[app-wiki-js]] — Wiki Node.js moderne
- [[app-tiddlywiki]] — Wiki single-file
- [[app-raneto]] — Wiki Markdown Node
- [[recettes-docker-compose]] — Templates Docker partagés