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: 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é