BookStack

BookStack

Wiki de documentation rangé en livres et étagères

BookStack est un wiki de documentation écrit en PHP avec Laravel, à installer sur son propre serveur. Le contenu s'y range sur quatre niveaux fixes : des pages, regroupées ou non en chapitres, dans des livres, que des étagères rassemblent. Un même livre peut figurer sur plusieurs étagères. Le README revendique une plateforme aux partis pris arrêtés (« opinionated ») : savoir se servir d'un traitement de texte doit suffire pour écrire.

Le comparatif des wikis auto-hébergés met cette structure et l'authentification de BookStack face à celles des autres wikis.

Permissions jusqu'à la page, LDAP, SAML ou OIDC

  • Une structure qui se réorganise : pages et chapitres changent de livre, et depuis la v22.06 un chapitre se convertit en livre, un livre en étagère.
  • Un éditeur visuel et un éditeur Markdown : le premier repose sur TinyMCE ; une page écrite en Markdown garde sa source dans la base à côté du HTML rendu. Les schémas se dessinent dans diagrams.net, intégré à l'éditeur.
  • Des permissions jusqu'à la page : un rôle reçoit des droits globaux, puis des droits propres à une étagère, un livre, un chapitre ou une page. Ceux d'un livre ou d'un chapitre descendent sur son contenu, pas ceux d'une étagère.
  • LDAP, SAML 2.0 ou OpenID Connect : en OIDC, la connexion par e-mail disparaît et les groupes du fournisseur se rattachent aux rôles par leur nom. La double authentification passe par une application TOTP.
  • Exports et ZIP portable : PDF, HTML avec images intégrées, texte brut ou Markdown. Depuis la v24.12, un format ZIP déplace du contenu d'une instance à l'autre, et l'API REST l'exporte et l'importe depuis la v25.07.

Ni plugins ni édition simultanée, un mainteneur principal

Quatre niveaux, pas un de plus. Dan Brown, créateur et mainteneur principal, a fixé ces niveaux pour l'ergonomie et écrivait en décembre 2023 ne pas avoir l'intention d'en ajouter (ticket #95). En octobre 2025, il jugeait encore « très improbable » un niveau sous la page (#5852). Le projet refuse aussi les plugins : la FAQ leur préfère des fonctions intégrées. Pour personnaliser une instance, il reste le système de thèmes, doté de modules en v26.03.

PHP et MySQL, sans image Docker officielle. Il faut PHP 8.2 ou plus avec douze extensions, Composer 2.2, Git, un serveur web, et MySQL 8.0 ou MariaDB 10.6 au minimum. La documentation ne cite aucune autre base et ne chiffre aucun besoin en mémoire. L'installation officielle passe par Git ou par des scripts pour Ubuntu ; les images Docker de LinuxServer.io et de solidnerd viennent de la communauté. L'hébergement PHP mutualisé n'est pas pris en charge.

Pas d'édition simultanée. La demande date de 2017 (#395). En février 2026, le mainteneur disait avoir adopté un nouvel éditeur, fondé sur Lexical, en vue de cette fonction, et chercher encore comment fusionner les modifications en PHP. Cet éditeur est en bêta à la v26.09. Outline, à l'inverse, se présente comme collaboratif en temps réel.

Des versions datées, beaucoup de correctifs de sécurité. Le numéro donne l'année et le mois : la dernière, v26.09.1, date du 29 septembre 2026. Trois versions de fonctionnalités sont sorties en 2026, cinq en 2025. Sur les 22 versions publiées depuis janvier, 13 sont des versions de sécurité ; la v26.05.4 fermait entre autres une exécution de code à distance par l'import ZIP. Une version de fonctionnalités risque davantage de casser l'installation, selon le projet : depuis la v26.09, une instance sans APP_KEY renvoie une erreur.

Un mainteneur, du support payant, pas de cloud. Dan Brown signe 4 714 commits sur le miroir GitHub, le contributeur suivant 126. Dons et parrainages financent environ la moitié du projet, des contrats de support (450 £ ou 4 500 £ par an) le reste, sans qu'aucune fonction leur soit réservée. La FAQ exclut toute offre hébergée. Le développement se fait sur Codeberg depuis avril 2026. La licence est MIT ; Wiki.js est sous AGPL-3.0, et Outline sous BSL 1.1, licence qui se dit elle-même non open source.