MCPSERV.CLUB
SPIP

SPIP

Self-Hosted

Open-source CMS for collaborative, multilingual sites

Stale(40)
0stars
0views

Overview

Discover what makes SPIP powerful

SPIP (Système de Publication pour l’Internet) is a free, GPL‑licensed content management system written primarily in PHP and designed to empower collaborative publishing. From a developer’s perspective, SPIP abstracts the typical CRUD workflow into a templating engine and a flexible metadata model that can be extended via plugins. The core of the system is a lightweight MVC‑ish architecture where the *article* model is stored in a relational database (MySQL/MariaDB, PostgreSQL or SQLite), while the rendering pipeline is driven by `spip.php` and a series of reusable templates (`.html`) that expose the data through PHP functions.

Metadata‑centric content

Template engine

Plugin ecosystem

Internationalisation

Overview

SPIP (Système de Publication pour l’Internet) is a free, GPL‑licensed content management system written primarily in PHP and designed to empower collaborative publishing. From a developer’s perspective, SPIP abstracts the typical CRUD workflow into a templating engine and a flexible metadata model that can be extended via plugins. The core of the system is a lightweight MVC‑ish architecture where the article model is stored in a relational database (MySQL/MariaDB, PostgreSQL or SQLite), while the rendering pipeline is driven by spip.php and a series of reusable templates (.html) that expose the data through PHP functions.

Key Features

  • Metadata‑centric content: Every article, image or document is a record with arbitrary fields; developers can add custom attributes via the type system without touching the database schema.
  • Template engine: SPIP’s own syntax ({#article.titre}) is parsed into PHP at runtime, allowing theme authors to compose layouts without learning a new templating language.
  • Plugin ecosystem: Over 300 community plugins provide APIs for authentication, RSS/Atom feeds, social media integration, and e‑commerce hooks. Plugins are distributed as PHP packages that register callbacks in the core’s hook system.
  • Internationalisation: A robust i18n framework automatically loads language files based on the user’s locale, making it trivial to ship multilingual sites.

Technical Stack

LayerTechnology
ServerApache/Nginx with PHP 8.x, FastCGI
LanguagePHP (core + plugins)
DatabaseMySQL/MariaDB, PostgreSQL, or SQLite
Front‑endPlain HTML/CSS with optional JavaScript; SPIP ships a responsive UI kit
Build/DeploymentComposer for dependency management, Docker images available from the community

The architecture follows a service‑orientation pattern: core services (publishing, routing, caching) expose hooks (spip_before_article_save, spip_after_user_login) that plugins can subscribe to. The routing layer maps URLs to controller functions defined in index.php, which then render templates via the SPIP engine.

Deployment & Infrastructure

SPIP is designed for self‑hosting on LAMP/LEMP stacks. The minimum requirements are PHP 7.4+ and a supported database; however, for production environments we recommend PHP 8.x with OPcache enabled. The application is stateless aside from the database, making horizontal scaling straightforward: multiple web servers can share a single database instance behind a load balancer. Docker images simplify deployment, and the community provides ready‑made compose files that include a MySQL container and an Nginx reverse proxy.

Integration & Extensibility

  • APIs: REST‑like endpoints are available for CRUD operations on articles, users, and metadata. Developers can also expose custom endpoints by writing a plugin that registers an spip_api route.
  • Webhooks: Plugins can trigger external services (e.g., Slack notifications) on events such as spip_article_created.
  • Custom Fields & Types: The type system allows adding new content types (e.g., “product”, “event”) with their own validation rules and templates.
  • Theme Development: Themes are simply directories of template files; developers can override core templates or create new ones without modifying the core codebase.

Developer Experience

SPIP’s documentation, though primarily in French, is comprehensive and includes a developer section that explains the hook system, template syntax, and plugin API. The community is active on mailing lists and IRC, providing quick support for integration questions. Configuration is handled via a config.php file and an admin UI that exposes most options (database credentials, URL rewriting settings, cache strategy). The licensing model (GPL) ensures that any modifications remain open source, encouraging collaborative improvement.

Use Cases

  • Association websites: Rapidly deploy a multilingual portal with member areas and event calendars.
  • Institutional intranets: Use SPIP’s role‑based access control to manage internal documentation.
  • Micro‑ecommerce: Combine the product type system with a payment plugin to sell digital goods.
  • Content syndication: Expose RSS/Atom feeds and JSON APIs for downstream services.

Advantages

  • Performance: PHP’s native execution plus OPcache yields fast response times; caching layers (APCu, Redis) can be added for high traffic.
  • Flexibility: The metadata model means adding new fields never requires a database migration script; developers can prototype quickly.
  • Licensing: GPL ensures that customizations cannot be sold as proprietary without releasing the source, fostering a healthy ecosystem.
  • Community & Longevity: Over two decades of development have produced a mature, battle‑tested codebase with extensive plugins and theme libraries.

For developers seeking a lightweight yet extensible CMS that can be fully controlled in their own environment, SPIP offers a compelling blend of technical robustness, modularity, and open‑source freedom.

Open SourceReady to get started?

Join the community and start self-hosting SPIP today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
GPL-3.0
Stars
0
Technical Specs
Pricing
Open Source
Database
Multiple
Docker
Community
Supported OS
LinuxWindowsmacOS