Files
2026-06-09 18:40:21 +02:00

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.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

Pages Liées