---
title: WikiDocs
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, wiki, php, flat-file, markdown, multi-langue, wysiwyg, katex, docker]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Wiki, https://github.com/Zavy86/WikiDocs, https://www.wikidocs.app/]
---

# 📗 WikiDocs

> **Moteur wiki flat-file PHP sans base de données** : un wiki léger qui stocke tout en Markdown sur disque, avec éditeur WYSIWYG, support multi-langue, mathématiques KaTeX et révisions illimitées.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [wikidocs.app](https://www.wikidocs.app/) |
| **GitHub** | [Zavy86/WikiDocs](https://github.com/Zavy86/WikiDocs) |
| **Licence** | MIT |
| **Langage** | PHP |
| **Étoiles GitHub** | 497 ⭐ |
| **Dernière MAJ** | 2026-05-31 (v1.0.89) |
| **Catégorie** | [[cat-wiki]] |

## 📝 Description

**WikiDocs** se présente comme *"un moteur wiki flat-file Markdown sans base de données"*. Tout le contenu est stocké en fichiers `.md` bruts sur le disque, ce qui rend les sauvegardes triviales (`tar` du dossier `datasets/`) et la migration vers un autre système possible à tout moment — pas de vendor lock-in, pas de base PostgreSQL à maintenir. Le projet est écrit en **PHP procédural/OOP** sans framework lourd, ce qui le rend très rapide à déployer.

L'éditeur **WYSIWYG** intégré transforme WikiDocs en alternative crédible aux wiki Markdown "code-first" : on n'a pas besoin de connaître la syntaxe Markdown pour rédiger. Les pages supportent les **révisions illimitées**, les **pièces jointes**, les **uploads d'images** (y compris depuis le presse-papier), les **namespaces** pour organiser l'arborescence, et un **index + sitemap auto-générés**. WikiDocs intègre aussi **KaTeX** pour les formules mathématiques, le **syntax highlighting** pour le code, le **dark mode** et un **support multi-langue** complet (italien, anglais, allemand, etc.).

Côté sécurité, WikiDocs a fait l'objet d'un **durcissement majeur en 2026** (v1.0.86+) corrigeant du XSS stocké, du CSRF et des vulnérabilités de type *path traversal*. Le projet bloque désormais les tags HTML dangereux (`<script>`, `<iframe>` non approuvés, `<object>`, `<form>`, etc.) via une **allowlist** et un sanitizer ciblé. C'est un wiki particulièrement adapté aux utilisateurs qui veulent la **simplicité d'un flat-file** combinée à un **rendu visuel moderne** et un **multilinguisme** natif, sans la complexité d'un Wiki.js ou d'un BookStack.

## 🚀 Installation

### Option recommandée : Docker

```yaml
# docker-compose.yml
services:
  wikidocs:
    image: zavy86/wikidocs
    container_name: wikidocs
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    ports:
      - "8090:80"
    volumes:
      - ./datasets:/datasets
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:80/"]
      interval: 30s
      timeout: 10s
      retries: 3
```

> L'image tourne sous Apache + PHP. Le dossier `datasets/` contient **toutes les pages, configurations, images et pièces jointes** : un backup = un `tar` de ce dossier.

### Option 2 : Docker run (test rapide)

```bash
docker run -d -p 80:80 --name wikidocs \
  -v /path/to/datasets:/datasets \
  -e PUID=1000 -e PGID=1000 \
  zavy86/wikidocs
```

### Option 3 : Installation manuelle (LAMP)

```bash
git clone https://github.com/Zavy86/wikidocs.git
cd wikidocs
cp config.sample.inc.php datasets/config.inc.php
# Éditer datasets/config.inc.php (CHEMIN, paramètres)
# Servir le dossier public/ avec Apache (mod_rewrite requis) ou Nginx
```

Configuration Nginx recommandée :

```nginx
location / {
  if (!-e $request_filename) {
    rewrite ^/(.*)$ /index.php?doc=$1 last;
  }
  try_files $uri $uri/ =404;
}
```

### Configuration initiale

Au premier accès, exécuter `setup.php` (auto-supprimé après) ou éditer manuellement `datasets/config.inc.php`.

## ⚙️ Configuration

- **Fichier `datasets/config.inc.php`** : configuration centrale (chemin, langue, debug, etc.).
- **Multi-langue** : fichiers de traduction dans `locales/`, langue par défaut configurable.
- **Namespaces** : préfixes de dossiers (ex. `docs/`, `recettes/`) pour organiser les pages.
- **Custom CSS** : déposer un fichier `styles/styles-custom.css` pour surcharger le thème.
- **ALLOWED_IFRAME_HOSTS** : variable admin pour autoriser YouTube/Vimeo par défaut.
- **Sauvegardes** : `cp -r datasets/ backup-$(date +%F)/` et le wiki est sauvegardé.

## 🔄 Alternatives

### Open Source
- [[app-dokuwiki]] — Wiki PHP flat-file historique et ultra-mature
- [[app-wiki-go]] — Wiki Go flat-file plus moderne avec Kanban
- [[app-leafwiki]] — Wiki Go single-binary minimaliste
- [[app-otter-wiki]] — Wiki Python stocké en Git
- [[app-pepperminty-wiki]] — Wiki PHP single-file
- **Raneto** — Knowledge base Markdown en Node.js
- **Wiki.js** — Wiki Node.js/Vue, plus complet

### Propriétaires
- **Notion** — Wiki/notes moderne
- **Confluence** — Wiki d'entreprise
- **Slab** — Knowledge base d'équipe
- **Dropbox Paper** — Documents collaboratifs

## 🔐 Sécurité

- ✅ **Flat-file** : pas de base de données = surface d'attaque réduite (pas d'injection SQL).
- ✅ **Durcissement 2026** : XSS, CSRF, path traversal corrigés en v1.0.86+ ; sanitizer HTML avec allowlist.
- ✅ **HTTPS obligatoire** via reverse proxy (Nginx, Caddy, Traefik).
- ✅ **Permissions fichiers** : PUID/PGID pour ne pas faire tourner l'app en root.
- ⚠️ **Allowlist iframe** : ne pas ajouter de domaines non vérifiés dans `ALLOWED_IFRAME_HOSTS`.
- ✅ **Sauvegardes** : triviales (`tar` du dossier `datasets/`), à automatiser.
- ✅ **Mises à jour** : le projet sort régulièrement des patchs de sécurité, suivre les releases.
- ⚠️ Le **debug** doit rester désactivé en production (paramètre dans `config.inc.php`).

## 📚 Ressources

- [Site officiel WikiDocs](https://www.wikidocs.app/)
- [Dépôt GitHub Zavy86/WikiDocs](https://github.com/Zavy86/WikiDocs)
- [Démo en ligne](http://demo.wikidocs.app) (code d'accès : `demo`)
- [Vidéo de présentation](https://youtu.be/x2nVq9RbG54)
- [Changelog v1.0.86 sécurité](https://github.com/Zavy86/WikiDocs/releases)
- [Sponsoriser le projet](https://github.com/sponsors/Zavy86)

## Pages Liées

- [[cat-wiki]] — Vue d'ensemble de la catégorie Wiki
- [[app-otter-wiki]] — Wiki Python/Git, autre approche flat-file
- [[app-dokuwiki]] — Wiki PHP flat-file historique
- [[app-pepperminty-wiki]] — Wiki PHP single-file
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — Bonnes pratiques de sécurité
