141 lines
7.1 KiB
Markdown
141 lines
7.1 KiB
Markdown
---
|
|
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](https://peppermint.mooncarrot.space/) |
|
|
| **GitHub** | [sbrl/Pepperminty-Wiki](https://github.com/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](https://github.com/am2064/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.
|
|
|
|
```bash
|
|
# 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 :
|
|
|
|
```yaml
|
|
# 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+ :
|
|
|
|
```bash
|
|
# 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.php` ou `build.sh` combinent core + modules en un `index.php` unique.
|
|
- **Sauvegardes** : un `tar` du 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](https://github.com/sbrl/Pepperminty-Wiki)
|
|
- [Site vitrine Mooncarrot Space](https://peppermint.mooncarrot.space/)
|
|
- [WikiMatrix - Pepperminty Wiki](https://www.wikimatrix.org/show/pepperminty-wiki)
|
|
- [Image Docker sqlatenwiki/peppermintywiki](https://hub.docker.com/r/sqlatenwiki/peppermintywiki)
|
|
- [Documentation Getting Started](https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/04-Getting-Started.html)
|
|
- [Client Android en bêta](https://play.google.com/apps/testing/com.sbrl.peppermint)
|
|
|
|
## 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é
|