7.1 KiB
title: Pepperminty Wiki created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, wiki, php, single-file, minimaliste, mpl, markdown, modules] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Wiki, https://github.com/sbrl/Pepperminty-Wiki, https://peppermint.mooncarrot.space/]
🌿 Pepperminty Wiki
Un wiki dans une boîte : un moteur wiki PHP complet contenu dans un seul fichier, modulaire, sans base de données, idéal pour un wiki personnel léger ou un projet éducatif.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | peppermint.mooncarrot.space |
| GitHub | sbrl/Pepperminty-Wiki |
| Licence | MPL-2.0 |
| Langage | PHP |
| Étoiles GitHub | 205 ⭐ |
| Dernière MAJ | 2023-02-18 (v0.24) — commits actifs en 2026 |
| Catégorie | cat-wiki |
📝 Description
Pepperminty Wiki est né d'un défi : "un wiki complet dans un seul fichier PHP". Inspiré par Minty Wiki d'am2064, le projet a évolué vers une architecture modulaire où le cœur reste compact mais où les fonctionnalités s'ajoutent via des modules chargeables (feature-recent-changes.php, feature-tags.php, etc.). Cette approche "wiki in a box" rend Pepperminty particulièrement adapté à un hébergement mutualisé bas de gamme, un Pi, ou un usage éducatif.
L'application est écrite en PHP 93% pur (le reste étant CSS et scripts utilitaires), sous licence MPL-2.0, ce qui impose de publier les modifications du code source lui-même mais laisse une grande liberté pour le contenu. Les fonctionnalités natives incluent : upload de fichiers, page d'aide dynamique, historique de révisions avec restauration à une version antérieure, tags sur les pages, watchlists utilisateur, galerie de thèmes (depuis v0.20) et un système de modules activables à la demande. Le Markdown est supporté nativement, et la syntaxe de wiki peut être étendue par modules.
L'auteur (@sbrl, Starbeamrainbowlabs) est très actif sur les aspects sécurité (un fichier SECURITY.md décrit la procédure de divulgation et un canal email dédié security [at] starbeamrainbowlabs [dot] com). Le projet a un public de niche — pédagogique, expérimental, et utile pour qui veut un wiki léger, lisible, modifiable et sans infrastructure. Il est aussi à l'origine d'un client Android en bêta sur Google Play et sert de base à de petits projets communautaires (ex. WikiProject Paranormal). Pour un wiki d'entreprise ou collaboratif moderne, BookStack, Wiki.js ou Outline restent des choix plus appropriés ; Pepperminty brille dans le niche "wiki personnel minimaliste et pédagogique".
🚀 Installation
Option recommandée : PHP + serveur web
Pepperminty Wiki se déploie sur n'importe quel serveur PHP, sans base de données.
# Cloner le dépôt
git clone https://github.com/sbrl/Pepperminty-Wiki.git
cd Pepperminty-Wiki
# Builder le wiki (combine les modules + le core en un fichier index.php)
php build.php
# Ou : make build
L'image Docker est aussi disponible :
# docker-compose.yml
services:
pepperminty:
image: sqlatenwiki/peppermintywiki:latest
container_name: pepperminty
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./data:/wiki-data
L'image est expérimentale mais fonctionnelle. Pour la prod, le déploiement sur un PHP-FPM + Nginx classique est recommandé.
Option 2 : Hébergement mutualisé
Pepperminty fonctionne sur un simple LAMP ou même un mutualisé OVH/Infomaniak avec PHP 7.4+ :
# Sur le serveur
git clone https://github.com/sbrl/Pepperminty-Wiki.git wiki/
cd wiki
php build.php
# Pointer le vhost sur le dossier racine du wiki
Configuration
Le fichier peppermint-config-info.php documente toutes les options. La configuration se fait principalement via le panneau admin une fois le wiki démarré.
⚙️ Configuration
peppermint-config-info.php: documentation des options de config.peppermint.guiconfig.json: configuration GUI au format JSON.- Modules : situés dans
modules/, activables depuis l'admin. Chaque module ajoute une fonctionnalité (recent changes, tags, watchlists, etc.). - Thèmes : situés dans
themes/, sélectionnables depuis l'admin (galerie de thèmes depuis v0.20). - Build :
build.phpoubuild.shcombinent core + modules en unindex.phpunique. - Sauvegardes : un
tardu dossier suffit (fichiers.md+ pièces jointes + config). - Pas de base de données : tout est en fichiers plats.
🔄 Alternatives
Open Source
- app-dokuwiki — Wiki PHP flat-file historique, plus mature
- app-wikidocs — Wiki PHP flat-file moderne WYSIWYG
- app-otter-wiki — Wiki Python/Git plus moderne
- app-leafwiki — Wiki Go single-binary minimaliste
- app-wiki-go — Wiki Go plus riche avec Kanban
- DokuWiki — Référence des wikis PHP flat-file
- TiddlyWiki — Wiki JavaScript single-file dans le navigateur
Propriétaires
- Notion — Workspace moderne
- Confluence — Wiki d'entreprise
- Evernote — Notes et wiki personnel
- Apple Notes — Notes iCloud (fermé)
🔐 Sécurité
- ✅ Pas de base de données : surface d'attaque SQL nulle.
- ✅ MPL-2.0 : licence de fichier copyleft, encourage la divulgation des patches.
- ✅ SECURITY.md : procédure de divulgation claire, email dédié, ne pas ouvrir d'issue publique pour les failles.
- ⚠️ Filtrage upload : valider les types MIME des fichiers uploadés (modules d'upload fournis, à configurer).
- ✅ HTTPS obligatoire via reverse proxy.
- ✅ Pas de JS/eval : le PHP est procédural, peu d'opportunités d'injection complexe.
- ⚠️ Permissions fichiers : restreindre l'écriture sur le dossier de données.
- ✅ Mises à jour : suivre les releases, le projet reçoit des commits de sécurité en 2026 (correction unsafe moves sur fichiers attachés, npm audit fix).
- ⚠️ Pas d'auth externe : pas d'OIDC/LDAP nativement, comptes stockés localement.
📚 Ressources
- Dépôt GitHub sbrl/Pepperminty-Wiki
- Site vitrine Mooncarrot Space
- WikiMatrix - Pepperminty Wiki
- Image Docker sqlatenwiki/peppermintywiki
- Documentation Getting Started
- Client Android en bêta
Pages Liées
- cat-wiki — Vue d'ensemble de la catégorie Wiki
- app-wikidocs — Cousin PHP flat-file plus moderne
- app-leafwiki — Wiki single-binary Go
- app-otter-wiki — Wiki Python/Git
- recettes-docker-compose — Templates Docker
- securisation-home-lab — Bonnes pratiques de sécurité