Se stai cercando un CMS headless leggero, flessibile e facile da usare, allora Cockpit è una soluzione che devi assolutamente prendere in considerazione. In questo articolo ti spiego nel dettaglio che cos’è Cockpit, come funziona, un po’ della sua storia e soprattutto come installarlo e utilizzarlo nel tuo progetto.
Che cos’è Cockpit
Cockpit è un sistema di gestione dei contenuti (CMS) headless open-source, pensato per essere utilizzato come un backend flessibile per qualsiasi tipo di applicazione. Essendo headless, non ha un frontend predefinito: fornisce un’interfaccia per gestire i contenuti e un’API REST per recuperarli, così puoi integrarli ovunque, sia in un sito web, sia in un’app mobile.
A differenza di CMS più pesanti come WordPress o Drupal, Cockpit è minimalista e progettato per chi ha bisogno di un backend leggero e veloce per i propri contenuti. Questo lo rende ideale per progetti moderni basati su framework frontend come React, Vue.js o Angular.
Un po' di storia
Cockpit è stato sviluppato da Artur Heinze nel 2013 come una soluzione semplice per gestire contenuti in modo strutturato senza dipendere da un’interfaccia frontend rigida. L’idea alla base del progetto era quella di creare un sistema di gestione contenuti che fosse indipendente dalla presentazione, permettendo agli sviluppatori di utilizzarlo in qualsiasi tipo di progetto.
Nel tempo, Cockpit si è evoluto, guadagnando una community attiva e nuove funzionalità, mantenendo sempre il suo obiettivo principale: offrire un CMS headless intuitivo, modulare e performante.
Perché scegliere Cockpit
Ci sono diversi motivi per cui vale la pena scegliere Cockpit:
- Leggerezza: non ha dipendenze pesanti e può essere installato rapidamente.
- API-first: è stato progettato per fornire contenuti tramite API, perfetto per le Single Page Applications (SPA) e Progressive Web Apps (PWA).
- Flessibilità: puoi definire i tuoi tipi di contenuti e strutturarli come vuoi.
- Sicurezza: Cockpit non espone direttamente i dati al frontend, riducendo i rischi di attacchi.
- Facilità di installazione: non richiede un database complesso come MySQL, ma può funzionare con SQLite e MongoDB.
Installazione di Cockpit
L’installazione di Cockpit è molto semplice. Puoi eseguirla in pochi passaggi:
1. Requisiti
Prima di iniziare, assicurati di avere:
- Un server con PHP 7.2 o superiore
- Estensioni PHP: GD, SQLite (o MongoDB se preferisci)
- Un web server come Apache o Nginx
2. Scaricare Cockpit
Puoi scaricare l’ultima versione di Cockpit dal repository ufficiale GitHub:
mkdir my-project && cd my-project
wget https://github.com/agentejo/cockpit/archive/master.zip
unzip master.zip
mv cockpit-master cockpit
rm master.zip
Oppure puoi clonarlo direttamente con Git:
git clone https://github.com/agentejo/cockpit.git
3. Configurare il server
Se stai usando Apache, assicurati di abilitare mod_rewrite
e di impostare il file .htaccess
incluso nella cartella di Cockpit.
Se usi Nginx, dovrai configurare un blocco server per reindirizzare le richieste correttamente.
4. Accedere all’interfaccia di amministrazione
Ora puoi accedere all’interfaccia di amministrazione navigando all’URL del tuo progetto (es. http://localhost/cockpit
). Se tutto è configurato correttamente, ti verrà chiesto di creare un utente amministratore.
Come usare Cockpit
Una volta installato, puoi iniziare a creare e gestire contenuti. Vediamo alcuni dei concetti chiave.
1. Collections
Le Collections in Cockpit sono simili ai post di WordPress o ai documenti di un database NoSQL. Ti permettono di definire strutture di dati personalizzate con campi come testo, numeri, immagini e riferimenti ad altre collezioni.
Per creare una collezione:
- Vai su Collections → Add Collection
- Definisci il nome della collezione e i suoi campi
- Salva e inizia ad aggiungere contenuti
2. Singletons
I Singletons sono utili per gestire contenuti che devono esistere in una sola istanza, come la configurazione del sito o la homepage.
3. API REST
Una delle caratteristiche più potenti di Cockpit è la sua API REST, che ti permette di recuperare i contenuti facilmente con richieste HTTP.
Per ottenere i dati di una collezione:
GET http://tuo-sito.com/api/collections/get/nome_collezione?token=TUO_TOKEN
Puoi anche usare GraphQL con estensioni di terze parti.
4. Utenti e permessi
Cockpit permette di gestire utenti e ruoli con permessi personalizzati per controllare l’accesso ai contenuti.
5. Add-ons
Puoi estendere Cockpit con add-on personalizzati per aggiungere nuove funzionalità come GraphQL, autenticazione avanzata e molto altro.
Considerazioni finali
Cockpit è un’ottima scelta se cerchi un CMS headless semplice, leggero e altamente personalizzabile. La sua flessibilità lo rende ideale per sviluppatori che vogliono avere il pieno controllo sui contenuti senza dover gestire un CMS monolitico.
Se vuoi provarlo, ti consiglio di installarlo in locale e sperimentare con le collezioni e l’API per capire quanto può essere potente per i tuoi progetti!