Un plugin deve esse creatu in u listessu spaziu ch’elli venenu stallati quelli scarichèvuli, digià pronti à viaghjà (Vede «Installer un plugin»).
U sistema di plugin s’appoghja nant’à a ricerca di percorsi bè allistinati. I sapientoni a chjameranu SPIP_PATH (cf. Où placer les fichiers de squelettes?). L’attivazione, o micca, d’un plugin decide di l’aghjunta in a lista di u cartulare chì li vene assuciatu. Da fà u so primu plugin, omu duverà dunque creà :
- Un cartulare plugins/ à a ràdica di u situ. U primu effettu di quessa hè d’attivà l’interfaccia di gestione di i plugins, è u primu affare chì si vede hè u buttone «Gestione di i plugins» in u menù «Paràmetri» di l’interfaccia privata (ma solu in modu interfaccia sana)

- Un sottucartulare
mon_premier_plugin/ per u plugin da fà.
Per indettà à SPIP à chì ghjova stu plugin, esiste un schedariu apposta per a so discrizzione, di nome plugin.xml, chì omu crea in u cartulare di u plugin. Hè un schedariu di sintassa severa ma abbastanza sèmplice. Eccu lu quì :
Hè un schedariu chì cuntene l’ùniche balise ubbligatorie.
- A balisa nom pò esse scritta in parechje lingue usendu a balisa multi (esempiu: <nom><multi>My first plugin[co]U mo primu plugin</multi></nom>). GHjè u tìtulu di u plugin.
- A balisa version hè solu da infurmazione. Ùn ci hè règula precisa da gestisce i nùmeri di versione. Tocca à i sviluppori à gestisce li da per ellu. In futuru, pò accade chì stu valore ghjovi per gestisce eventuali dipendenze da assicurà una mìnima cuerenza frà SPIP è i plugins...
- Hè impurtantìssima a balisa prefix. Prima bisogna à assicurà si ch’ellu hè ùnicu stu valore frà mezu à tutti i plugins chè vo stallate. Dopu, stu valore definisce u prefissu di e funzioni chè vo avete da prugrammà in php è chì seranu l’elementi mutori di u plugin. Cusì ne, s’elli esistenu parechji plugins chì anu listessu funziunamentu chè unepoche di funzioni, serà tandu impussìbule ch’elli cagiuneghjinu errori per via di u so nome. Si chjama quessa un «spaziu di nomi».
Bench’ellu ùn faccia nunda per avà, stu pocu è tantu permette digià d’attivà u plugin in l’interfaccia :

À stu prò, cliccate dentr’à a casella di pettu à u nome di u plugin, poi cliccate nant’à u buttone «cunvalidà» in fondu. U spaziu di u tìtulu hè aggrisgiulatu.
Da fà qualchì prova, cacciate puru l’una o l’altra di isse balise, v’accorgerete ch’ellu hè capace SPIP di indettà vi ciò chì manca o puru chì ùn viaghja micca.
*-*-*
Hè pussìbule piazzà altri elementi in un schedariu plugin.xml:
- A balisa <etat>: 4 valori pussìbuli. In assenza di sta balisa, o s’ella ci hè ma viota, hè tenutu u plugin da "in corsu di sviluppu". Stu valore ùn hà nisun effettu nant’à u viaghjà di u plugin. À u primu sguardu si pò identificà u statu di u plugin per via d’un’imaginetta di culore.
| Statu | Culore | Significatu |
|---|---|---|
| dev | neru | In corsu di sviluppu. Ponu accade assai bugs. Otantu ùn viaghja micca. |
| test | aranciu | A funzione principale hè pronta à esse pruvata. I sviluppori s’arricumandanu à noi da chè no li ritorninu cummenti nant’à eventuali errori o rimarche nant’à l’ergunumia d’un’interfaccia gràfica, per esempiu. |
| stàbbile | verde | Uperaziunale in tuttu. In teuria, senza bugs. |
| sperimentale | rossu | Signore, pietà, Cristu, pietà ! |
- E balise <auteur> è <description> ùn sò micca ubbligatorie è viaghjanu cum’è i testi d’un artìculu (sò auturizati tutti l’accurtatoghji) è ghjovanu à furnisce infurmazioni corte nant’à u plugin. Cusì ne, u seguente còdice :
à u screnu cumpariscerà :

Pigliate nota ch’ella hè necessaria di cudificà i caràtteri cù l’alette usendu entità HTML (è per è, per esempiu).
*-*-*
Attivatu ch’ellu hè u vostru plugin, sè vo mettite un schedariu squelette.html à listessu livellu chè plugin.xml, venerà aduprèvule stu mudellu chjamendu lu in u navigatore cù l’«usuale» nutazione : uvostrusitu.net/spip.php?page=mudellu. Eccu quì un primu esempiu, sèmplice sèmplice, di soprascrittura d’un schedariu. Serà studiata quessa di modu più prufondu in un altru tuturiale.
*-*-*
Da schjarisce ancu di più l’affari, emu da scrive un plugin chì u scopu serà di culurizà di modu particulare a parulla «spip» ogni volta ch’ella vene in un testu. Per ciò, piazzeremu in u cartulare di u plugin i dui schedari ùtuli, è indetteremu u so nome à SPIP, aduprendu unepoche di balise in soprapiù in u schedariu XML:
Eccu a discrizzione di e duie balise aghjunte:
- <fonctions> : cuntene u nome d’un schedariu chì à ogni càlculu serà caricatu. Currisponde, per ogni plugin, à u schedariu mes_fonctions.php. Hè dunque solu usitatu per u situ pùbblicu, postu ch’ellu vene chjamatu solu in casu di ricàricu di u cache. Dentru ci metteremu stacci o definizioni di balise è criteri.
- <options> : cuntene u nome d’un schedariu chì ogni volta ch’ella serà chjamata una pàgina, serà caricatu. Currisponde, per ogni plugin, à u schedariu mes_options.php. Hè usitatu dinò in l’interfaccia privata, ogni volta ch’ella hè chjamata una pàgina.
Create puru i dui schedari da cuntene a robba quì sottu:
esempiu_funzioni.php:
esempiu_upzioni.php:
Attenti! Certi nomi hè megliu à ùn aduprà li micca per i plugins : si tratta quì d’una lista di cartulari cunnisciuti è SPIP piglia sempre u primu schedariu ch’ellu trova. Sì u schedariu di a balisa <fonctions> si chjama mes_fonctions.php, tandu nascerà cunfusione cù u schedariu di u vostru cartulare di mudelli, in casu ch’ellu esisti, ma sopratuttu, in casu chì parechji plugins portinu stu nome, u sistema ùn ci hà da capisce più un’acca... Listessa per mes_options.php, chì ci vulerà à tene in u cartulare ecrire/ è per i schedari di lingue local_xx.php chì seranu gestiti cù un altru mètudu discrittu in un tuturiale cunsacratu à a soprascrittura di stu còdice.
Per taglià à l’accorta: ùn usate micca nomi «cumuni» cum’è mes_fonctions.php è mes_options.php.
In un antru artìculu videremu cumu soprascrive i cartulare di SPIP. Ma sàppiate puru avà chì nomi di cartulari cum’è «modeles», «formulaires», «inc», «action» etc... devessenu aduprati cum’è di si deve...
Infine, fate casu à esse ghjustu quand’è vo scriverete i nomi di schedari in plugin.xml, hè assai cappricciosa l’interfaccia di gestione riguardu l’aghjunta di quelle ùltime balise (messagi d’errore chì facenu piantà u servore...)
Eccu ci, stu plugin prupone un nuvellu stacciu per i vostri mudelli. Pruvate puru [(#TEXTE|culurizeghja_spip)] dentr’à article.html per esempiu.
*-*-*
Sò stallati tutti i plugins in u cartulare plugins/, ma si ponu ancu creà sottucartulari da sparte bè secondu e categurie i plugins ch’omu stalla o sviluppa.
Cusì ne, per l’arburatura quì sottu:
plugins/
|
|-- u_mo_primu_plugin/
|-- i_mo_accurtatoghji_in_piu/
|
|-- accurtatoghji_2/
|-- accurtatoghji_3/
|-- i_mo_altri_plugins/
|
|-- accurtatoghji_4/
|-- accurtatoghji_5/l’interfaccia di gestione s’assumiglierà à:

Andà più indà
Avviatu si ne nant’à issa strada, nascenu tandu certe interrugazioni tècniche, leate à prublemàtiche di prugrammazione in PHP, per esempiu. Bella sicura, dumandà hè lege.
Hè cuncepitu apposta u situ di ducumentazione tècnica da risponde à ste dumande. À u sugettu di i plugins, ne pudete sapè di più andendu à st’indirizzu, da lampà un primu sguardu nant’à l’entritoghji di SPIP (o «pipeline»).
