SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [uk] [vi] [zh] Espace de traduction

Download

Struttura generale di SPIP

Novembre 2010

Tutte le versioni di questo articolo:


SPIP è un CMS unico nel suo genere.

Al di là del suo funzionamento che può essere definito come “data driven”, e cioè “guidato dai dati” (i famosi CICLI), ha sempre fornito con particolare enfasi i mezzi per “personalizzare”, adattare il suo stesso funzionamento e la sua presentazione grafica ai gusti ed ai bisogni propri di un sito.

Dapprima vi è stata la possibilità di fornire i propri scheletri (modelli), di aggiungere frammenti di php specifici e di modificare le funzioni di base del “core” (le function xxx_dist() che vedremo poi).

La versione 1.9 ha introdotto un meccanismo complementare, i plugin. Essi sono nati dalla volontà di arricchire SPIP con funzionalità supplementari senza appesantire il suo nucleo (il “core”). La tendenza attuale è sempre di alleggerire il core trasferendo le funzionalità opzionali in plugin.
SPIP 2.0 è stato alleggerito ed è fornito con una collezione di plugin di base qua l’utente può attivare in base alle sue necessità reali. L’operazione di alleggerimento continua ancora oggi, e, ad esempio, si discute se le brevi debbano essere eliminate dal core e spostate in un plugin opzionale. In effetti, solo una parte dei siti SPIP le utilizza ed è quindi preferibile non appesantire il sistema di base per colore che non le utilizzano.

Ad ogni modo, SPIP 1.9 ha completamente riorganizzato le cartelle che lo costituiscono al fine di separare gli elementi in base al loro utilizzo, al fatto che siano modificabili ed alla loro funzione specifica in un sito o nel codice di base. Un altro obiettivo preso in considerazione è la possibilità di condividere il nucleo di SPIP, in modo che più siti possano utilizzare una base di codice comune.

Analizziamo ora questa nuova organizzazione delle cartelle, da quelle proprie di SPIP a quelle che riguardano un sito specifico, a quelle che non sono cambiate, a qualsiasi altra variazione.

Distribuzione

radice del sito

La radice è stata completamente svuotata e praticamente non contiene che index.php che redirige verso spip.php, che rappresenta l’unico punto di ingresso alla parte pubblica del sito.

inc-public.php3 è un file fantasma per assicurare la compatibilità con le vecchie versioni.

.htaccess opzionale essenzialmente per l’url rewriting.

win_png.htc [1] e rien.gif per assicurare le gestione delle trasparenze png con MSIE

ecrire/

Questa cartella contiene ora l’insieme dei file eseguibili lato server (PHP e MySQL) ed inoltre quelli necessari per la visualizzazione sia dello spazio pubblico (sotto cartella public/) che dello spazio privato.

Il nome di questa cartella è storico, era prima dove si trovava il codice che consentiva di modificare il contenuto del sito. Paradossalmente, è ora una cartella non modificabile, in cui non verrà mai scritto niente. In una normale installazione, essa contiene gli script forniti con la distribuzione ed è quasi imperativo di non modificare niente.

Il suo script index.php è il punto di ingresso di ecrire/, la parte privata del sito.

dist/ [2]

Contiene tutti i file relativi al client (HTML, Javascript, fogli di stile, immagini in differenti formati) oltre che i modelli di impaginazione, chiamati scheletri. Questi scheletri sono interpretati lato server per inviare al client un testo MIME (prevalentemente HTML, ma anche RSS, SVG... o JS).

Essi sono i modelli stantard rilasciati con SPIP, anch’essi non devono essere modificati ma sostituiti copiandoli in squelettes/

oo/ [3]

Questa cartella fornisce la modalità “accessibile” di SPIP (modalità testuale), e contiene essenzialmente un index che redirige verso il sistema standard.

Configurazione

config/

Questa cartella, creata durante l’installazione, contiene lo script di connessione al database: connect.php e lo script che imposta il “mode” dei file creati dal server: chmod.php.

Inoltre è qui che si salvano le opzioni universali del sito, in una file (da creare): mes_options.php [4]

IMG/

Contiene tutti i documenti originali (in dimensione reale) del sito. È suddiviso in sotto cartelle per tipo di documento.
Subito dopo l’installazione contiene solo dei documenti di test per la generazione delle immagini.

squelettes/

È qui che si devono mettere tutti i file: script, immagini, moduli... specifici per il sito, attenendosi alla stessa struttura di ecrire/ o dist/. Ad esempio, per ridefinire la home del sito, si può copiare/adattare il file sommaire.html della cartella dist/.

Inoltre in questa cartella si mette lo script mes_fonctions.php (da creare) che viene caricato ad ogni ricalcolo di pagina. Da notare che è possibile creare un file xxx_fonctions.php che sarà caricato unicamente alla richiesta della pagina xxx (ad esempio: sommaire_fonctions.php).

Subito dopo l’installazione questa cartella non esiste, bisogna crearla.

plugins/

Questa cartella, anch’essa da creare, contiene in sotto cartelle tutti i plugin. Ad esempio, il plugin crayons è salvato in plugins/crayons/.

Temporanei

local/

Contiene tutti i file (ri)calcolabili a partire dai documenti e dai dati del sito.

Si tratta essenzialmente della cache delle immagini ridotte. Ma vi si trovano anche le cache calcolate da alcuni plugin come «coloration_code».

Questa cartella può essere svuotata, essendo ricalcolabile.

tmp/

Qui vengono memorizzati tutti i file temporanei come la cache degli scheletri, le sessioni, i log, ecc.

Contiene anche la sotto cartella dump/ dove vengono archiviati i backup dei dati.

Questa cartella può essere svuotata in qualsiasi momento.

P.S.

Vedi anche : Estendere SPIP

Note

[1eliminato a partire dalla versione SPIP 2.0

[2A partire dalla versione SPIP 2.0, questa cartella è stata rinominata squelettes-dist/.
Leggi : Aggiornamento da 1 .9 .x a 2 .0 .x.

[3eliminato a partire dalla versione SPIP 2.0


Visualizza il modello di questa pagina Sito realizzato con SPIP | Espace de traduction | Area riservata