🧭 Presentation #
W is a lightweight CMS tool, meant to help you design a surprising website. Compared to other CMS, W tries to help spontaneity and for building heterogeneous web-spaces.
The project was initiated in 2018 by Vincent Peugnet which is an amateur computer scientist. It's developed on a voluntary basis, use PHP and is licensed under AGPLv3.
W is a
wiki.
Wikis
are a type of Web building tools that encourage quick and easy edit of pages.
It's also inspired from
personnal knowledge management (PKM)
theory.
W is at the intersection of a website editor and a note-taking tool.
This is both its advantage and its drawback: it can do both, but is limited in each direction.
That being said, W has some interesting features and a specific approach, that might interest some strange web builders.
✨ Technical highlights
- Lightweight
- Easy to edit on mobile.
- Use standards: Markdown, HTML, CSS and Javascript.
- Multi users
- Flat file database
- RSS feed (Atom)
- Fully functionnal without javascript
- Many interface themes! (and it's very easy to create your's)
🚧 Limitations
- The interface and user manual is only available in english.
-
not suited for big projects:
it has never been tested with a large page quantity (more than 1000 pages). - It's also not recommended for multi-language websites.
- W is not version control friendly.
📰 Articles
In January 2025, Nosycat wrote a nice blog post: Make weird websites with W.
📷 Screenshots #
Desktop

Home interface
The home interface, is where editors can see all their pages. You can apply filters to view your pages. Those sames filters can be used to generated codes that can be pasted in the pages to create list of pages.

Edit interface
Edit the content of a page. A side panel is used to edit metadatas.

Media manager
Upload images from your device or from an URL. Create folders, move and rename your media files.
Mobile interface


W tries to be comfortable on mobile.
Themes

Themes are here to set the mood. And it's very easy to create a custom one 😉
🔩 Installation #
Requirements
- Apache server
- PHP >=7.4.0 and the following extensions:
curl
mbstring
xml
intl
- optionnal PHP extensions:
gd
orimagick
💡 W can run in a domain subfolder. (example: https://mydomain.com/wiki/
)
Install
There is two methods to install W, the first way is the simplest, but the second makes it easier to update.
Manually (by downloading a Zip file)
Download the latest W version: Go to the latest release page and under the "Assets" section, download the main Zip file (not the source code).
Unzip the content and upload it to your server.
Using Git
Clone the repo:
https://github.com/vincent-peugnet/wcms.git
It is recommended to stick to a released commit. Checkout
latest release number and then type:
git checkout VERSION
where VERSION is the choosed release name (ex: v3.8.0
)
Then, type
make
to run the build.
Finally, open in your Web browser the URL that is supposed to serve W. A form will ask you a few questions in order to have a functionnal setup. During this initialization, an admin user is created and you'll be able to login using this account.
Update
Depending on how W is installed, you should follow the corresponding method.
Manual update
First, you have to backup some files and folders (copy them elsewhere temporarily).
📁 databases/
📁 media/
📄 config.json
When you're sure they are safe, delete all W's current install content.
Then, download the latest release Zip (under "Assets"), unzip it, and copy the files in order to replace the old ones in your install folder.
Finaly, copy back the three backuped paths
(📁 databases
, 📁 media
and 📄 config.json
).
Using Git
If you've installed W using Git,
you can run git pull
and then repeat the same steps as the install process:
checkout a specific VERSION and don't forget to run make
in the end !
🤙 Contact #
Feel free to email me for any question or sugestion.
vincent+w@club1.fr💬 Matrix
There is a Matrix Room, feel free to ask questions in english or french.
Matrix#w-cms:club1.fr
❤️🔥 Acknowledgment #
Contributors
W is mainly maintained by Vincent Peugnet, with valuable help from Nicolas Peugnet, who designed many of the complex workflows that make W less easy to break. In 2024, W's interface was refreshed by Julien Bidoret, who used his skills as a developer and designer to make W more welcoming and intuitive.
Vincent Peugnet would like to thanks Fae Prevost Leygonie and Alix Turcq for their precious feedback and testing.
W was made using these open sources and free components :
- 🐘 PHP as main programming language.
- 🎡 James Moss's Flywheel Database as json noSQL flatfile database engine
- 📝 Michel Fortin's Markdown Extra markdown library
- 🎨 Plates as templating engine
- 🐶 Alto Router as router engine
- 🐒 Code mirror as rich text editor
- ⚛️ Cytoscape.js as graph tool
- 🍂 Leaflet for the Open Street Map integration
- ➡️ continue reading: usage
- ⬆️ back to top