<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel xml:lang="fr">
	<title>SPIP</title>
	<link>http://www.spip.net/</link>
	<description>Système de Publication pour Internet</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>

	<image>
		<title>SPIP</title>
		<url>http://www.spip.net/local/cache-vignettes/L144xH49/siteon0-56029.jpg</url>
		<link>http://www.spip.net/</link>
		<height>49</height>
		<width>144</width>
	</image>



<itunes:explicit>yes</itunes:explicit><itunes:subtitle>Système de Publication pour Internet</itunes:subtitle><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Spip" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item xml:lang="es">
		<title>#CHEMIN</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/3m2aH_79upk/es_article4455.html</link>
		<guid isPermaLink="false">http://www.spip.net/es_article4455.html</guid>
		<dc:date>2009-11-11T07:58:27Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>David Sánchez Crespillo</dc:creator>



		<description>A partir de SPIP 1.9, la baliza #CHEMINarchivo.ext devuelve la ruta completa hacia archivo.ext, que puede encontrarse en la raíz, en la carpeta squelettes/, squelettes-dist/, etc. #CHEMIN recorre el conjunto de «spip_path» en un orden definido (ver a continuación) hasta que encuentra el archivo buscado: En primer lugar: ./squelettes/ Después, en orden alfabético del nombre de su carpeta e independientemente de su lugar en auto/ o no, los plugins que requieren otros plugins: (...)

-
&lt;a href="http://www.spip.net/rubrique580.html" rel="directory"&gt;balizas&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p>A partir de <a href='http://www.spip.net/es_article3393.html' class='spip_in'><span style='color: darkviolet;'>S</span><span style='color: blue;'>P</span><span style='color: green;'>I</span><span style='color: salmon;'>P</span> <span style='color: green;'>1</span><span style='color: blue;'>.</span><span style='color: darkviolet;'>9</span></a>, la baliza <code class='spip_code' dir='ltr'>#CHEMIN{archivo.ext}</code> devuelve la ruta completa hacia <i>archivo.ext</i>, que puede encontrarse en la raíz, en la carpeta squelettes/, squelettes-dist/, etc.</p> <p><code class='spip_code' dir='ltr'>#CHEMIN</code> recorre el conjunto de «<i>spip_path</i>» <strong>en un orden definido</strong> (ver a continuación) hasta que encuentra el archivo buscado:</p> <ul class="spip"><li> En primer lugar:<ul class="spip"><li> ./squelettes/</li></ul></li><li> Después, <i>en orden alfabético del nombre de su carpeta</i> e independientemente de su lugar en auto/ o no, los plugins <i>que requieren</i> otros plugins:<ul class="spip"><li> ./plugins/auto/plugin_A_que_requieren_el_plugin_X/</li><li> ./plugins/plugin_B_que_requieren_el_plugin_Y/</li><li> ./plugins/plugin_C_que_requieren_el_plugin_X/</li></ul></li><li> Después, <i>sin ningún orden en particular</i>, los otros plugins:<ul class="spip"><li> ./plugins/plugin_Y/</li><li> ./plugins/plugin_G</li><li> ./plugins/plugin_X/</li><li> ./plugins/plugin_E</li></ul></li><li> A continuación <i>la raíz</i> del sitio:<ul class="spip"><li> ./</li></ul></li><li> Finalmente, <i>y en este orden</i>, las 3 carpetas:<ul class="spip"><li> ./squelettes-dist/</li><li> ./prive/</li><li> ./ecrire/</li></ul></li></ul>
<p>Ejemplos:
<br /><code class='spip_code' dir='ltr'><link rel="stylesheet" href="#CHEMIN{el_estilo.css}" type="text/css" /></code>
<br /><code class='spip_code' dir='ltr'><img src="#CHEMIN{images/mi_logo.png}" alt="" /></code></p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/3m2aH_79upk" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/es_article4455.html</feedburner:origLink></item>
<item xml:lang="es">
		<title>#BIO</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/KcmDH5e-esI/es_article4456.html</link>
		<guid isPermaLink="false">http://www.spip.net/es_article4456.html</guid>
		<dc:date>2009-11-11T07:57:36Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>David Sánchez Crespillo</dc:creator>



		<description>Utilizada dentro de un bucle (AUTEURS), la baliza #BIO muestra la biografía del autor.

-
&lt;a href="http://www.spip.net/rubrique580.html" rel="directory"&gt;balizas&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p>Utilizada dentro de un bucle (AUTEURS), la baliza <code class='spip_code' dir='ltr'>#BIO</code> muestra la biografía del autor.</p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/KcmDH5e-esI" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/es_article4456.html</feedburner:origLink></item>
<item xml:lang="es">
		<title>#TOTAL_UNIQUE</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/tVKZaT1xX-U/es_article4457.html</link>
		<guid isPermaLink="false">http://www.spip.net/es_article4457.html</guid>
		<dc:date>2009-11-11T07:57:17Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>David Sánchez Crespillo</dc:creator>



		<description>La baliza #TOTAL_UNIQUE muestra el número de elementos filtrados por el filtro |unique [1]. Se utilizará #TOTAL_UNIQUE para mostrar el número de veces que #BALISE ha sido filtrada por |unique y #TOTAL_UNIQUEfamille para mostrar el número de veces que #BALISE ha sido filtrada por |uniquefamille.

-
&lt;a href="http://www.spip.net/rubrique580.html" rel="directory"&gt;balizas&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p>La baliza <strong><code class='spip_code' dir='ltr'>#TOTAL_UNIQUE</code></strong> muestra el número de elementos filtrados por el filtro <code class='spip_code' dir='ltr'>|unique</code> [<a href='#nb1' class='spip_note' rel='footnote' title='Ver la página dedicada al filtro|unique' id='nh1'>1</a>].</p> <p>Se utilizará <strong><code class='spip_code' dir='ltr'>#TOTAL_UNIQUE</code></strong> para mostrar el número de veces que #BALISE ha sido filtrada por <code class='spip_code' dir='ltr'>|unique</code> y <strong><code class='spip_code' dir='ltr'>#TOTAL_UNIQUE{famille}</code> </strong> para mostrar el número de veces que #BALISE ha sido filtrada por <code class='spip_code' dir='ltr'>|unique{famille}</code>.</p></div>
		<hr />
		<div class='rss_notes'><p>[<a href='#nh1' id='nb1' class='spip_note' title='Notas 1' rev='footnote'>1</a>] Ver la página dedicada al <a href='http://www.spip.net/fr_article4320.html' class='spip_in' hreflang='fr'>filtro<code class='spip_code' dir='ltr'>|unique</code></a></p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/tVKZaT1xX-U" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/es_article4457.html</feedburner:origLink></item>
<item xml:lang="co">
		<title>Fà u so primu plugin</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/N1to_y6iUUA/co_article4425.html</link>
		<guid isPermaLink="false">http://www.spip.net/co_article4425.html</guid>
		<dc:date>2009-11-10T17:19:55Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>co</dc:language>
		<dc:creator>tavamig</dc:creator>



		<description>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 (...)

-
&lt;a href="http://www.spip.net/rubrique612.html" rel="directory"&gt;U sviluppu di SPIP è i so arnesi&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p>Un plugin deve esse creatu in u listessu spaziu ch'elli venenu stallati quelli scarichèvuli, digià pronti à viaghjà (Vede «<a href='http://www.spip.net/fr_article3396.html' class='spip_in' hreflang='fr'>Installer un plugin</a>»).</p> <p>U sistema di plugin s'appoghja nant'à a ricerca di percorsi bè allistinati. I sapientoni a chjameranu <code class='spip_code' dir='ltr'>SPIP_PATH</code> (cf. <a href='http://www.spip.net/fr_article3347.html' class='spip_in' hreflang='fr'>Où placer les fichiers de squelettes?</a>). 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à :</p> <p>- Un cartulare <code class='spip_code' dir='ltr'>plugins/</code> à 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)</p>
<center><span class='spip_document_2419 spip_documents spip_documents_center'>
<img src='http://www.spip.net/local/cache-vignettes/L400xH117/bouton_gestion_des_plugins-90b11.jpg' width='400' height='117' alt="" style='height:117px;width:400px;' /></span></center>
<br />- Un sottucartulare <code class='spip_code' dir='ltr'>mon_premier_plugin/</code> per u plugin da fà.
<p>Per indettà à SPIP à chì ghjova stu plugin, esiste un schedariu apposta per a so discrizzione, di nome <code class='spip_code' dir='ltr'>plugin.xml</code>, chì omu crea in u cartulare di u plugin. Hè un schedariu di sintassa severa ma abbastanza sèmplice. Eccu lu quì :</p> <form action='' method='get'><div>
<input type='hidden' name='exec' value='' />
<textarea readonly='readonly' cols='40' rows='5' class='spip_cadre' dir='ltr'><plugin> <nom>U mo primu plugin</nom> <version>1.0</version> <prefix>demo</prefix> </plugin></textarea></div></form> <p>Hè un schedariu chì cuntene l'ùniche balise ubbligatorie.</p> <p>- A balisa <code class='spip_code' dir='ltr'>nom</code> pò esse scritta in parechje lingue usendu a balisa multi (esempiu: <code class='spip_code' dir='ltr'><nom><multi>My first plugin[co]U mo primu plugin</multi></nom></code>). GHjè u tìtulu di u plugin.
<br />- A balisa <code class='spip_code' dir='ltr'>version</code> 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...
<br />- Hè impurtantìssima a balisa <code class='spip_code' dir='ltr'>prefix</code>. 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».</p> <p>Bench'ellu ùn faccia nunda per avà, stu pocu è tantu permette digià d'attivà u plugin in l'interfaccia :</p> <center><span class='spip_document_2426 spip_documents spip_documents_center'>
<img src='http://www.spip.net/local/cache-vignettes/L480xH194/plugin_active-3-34e35.jpg' width='480' height='194' alt="" style='height:194px;width:480px;' /></span></center>
<p>À 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.</p> <p>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.</p> <h3 class="spip">*-*-*</h3>
<p>Hè pussìbule piazzà altri elementi in un schedariu plugin.xml:</p> <p>- A balisa <code class='spip_code' dir='ltr'><etat></code>: 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.</p> <table class="spip">
<thead><tr class='row_first'><th scope='col'><strong>Statu</strong></th><th scope='col'><strong>Culore</strong></th><th scope='col'><strong>Significatu</strong></th></tr></thead>
<tbody>
<tr class='row_even'>
<td>dev</td>
<td>neru</td>
<td>In corsu di sviluppu. Ponu accade assai bugs. Otantu ùn viaghja micca.</td></tr>
<tr class='row_odd'>
<td>test</td>
<td>aranciu</td>
<td>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.</td></tr>
<tr class='row_even'>
<td>stàbbile</td>
<td>verde</td>
<td>Uperaziunale in tuttu. In teuria, senza bugs.</td></tr>
<tr class='row_odd'>
<td>sperimentale</td>
<td>rossu</td>
<td>Signore, pietà, Cristu, pietà !</td></tr>
</tbody>
</table>
<p>- E balise <code class='spip_code' dir='ltr'><auteur></code> è <code class='spip_code' dir='ltr'><description></code> ù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 :</p> <form action='' method='get'><div>
<input type='hidden' name='exec' value='' />
<textarea readonly='readonly' cols='40' rows='11' class='spip_cadre' dir='ltr'><plugin> <nom>U mo primu plugin</nom> <version>1.0</version> <prefix>demo</prefix> <etat>dev</etat> <auteur>Pasquale Paoli [cuntattu->mailto:ppaoli@umositu.net] _ [u mo situ->http://www.umositu.net]</auteur> <description>Stu plugin hè una mostra. Hè distribuitu sottu licenza GNU/GPL</description> </plugin></textarea></div></form> <p>à u screnu cumpariscerà :</p> <center><span class='spip_document_2425 spip_documents spip_documents_center'>
<img src='http://www.spip.net/local/cache-vignettes/L480xH247/plugin_descrition_auteur-3-eade2.jpg' width='480' height='247' alt="" style='height:247px;width:480px;' /></span></center>
<p>Pigliate nota ch'ella hè necessaria di cudificà i caràtteri cù l'alette usendu entità HTML (<code class='spip_code' dir='ltr'>&egrave;</code> per è, per esempiu).</p> <h3 class="spip">*-*-*</h3>
<p>Attivatu ch'ellu hè u vostru plugin, sè vo mettite un schedariu <code class='spip_code' dir='ltr'>squelette.html</code> à listessu livellu chè <code class='spip_code' dir='ltr'>plugin.xml</code>, venerà aduprèvule stu mudellu chjamendu lu in u navigatore cù l'«usuale» nutazione : <code class='spip_code' dir='ltr'>uvostrusitu.net/spip.php?page=mudellu</code>. 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.</p> <h3 class="spip">*-*-*</h3>
<p>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:</p> <form action='' method='get'><div>
<input type='hidden' name='exec' value='' />
<textarea readonly='readonly' cols='40' rows='13' class='spip_cadre' dir='ltr'><plugin> <nom>U mo ultimu plugin</nom> <version>1.0</version> <prefix>demo</prefix> <etat>sperimentale</etat> <auteur>Pasquale Paoli [cuntattu->mailto:ppaoli@umositu.net] _ [u mo situ->http://www.umositu.net]</auteur> <description>Stu plugin hè una mostra. Hè distribuitu sottu licenza GNU/GPL</description> <fonctions>esempiu_funzioni.php</fonctions> <options>esempiu_upzioni.php</options> </plugin></textarea></div></form> <p>Eccu a discrizzione di e duie balise aghjunte:</p> <p>- <code class='spip_code' dir='ltr'><fonctions></code> : cuntene u nome d'un schedariu chì à ogni càlculu serà caricatu. Currisponde, per ogni plugin, à u schedariu <code class='spip_code' dir='ltr'>mes_fonctions.php</code>. 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.
<br />- <code class='spip_code' dir='ltr'><options></code> : cuntene u nome d'un schedariu chì ogni volta ch'ella serà chjamata una pàgina, serà caricatu. Currisponde, per ogni plugin, à u schedariu <code class='spip_code' dir='ltr'>mes_options.php</code>. Hè usitatu dinò in l'interfaccia privata, ogni volta ch'ella hè chjamata una pàgina.</p> <p>Create puru i dui schedari da cuntene a robba quì sottu:</p> <p><code class='spip_code' dir='ltr'>esempiu_funzioni.php</code>:</p>
<form action='' method='get'><div>
<input type='hidden' name='exec' value='' />
<textarea readonly='readonly' cols='40' rows='11' class='spip_cadre' dir='ltr'><?php function culurizeghja_spip($testu) { global $culore; return preg_replace('/([^(class=")])(spip)/i', '$1<span style="color: '.$culore.';">$2</span>', $testu); } ?></textarea></div></form> <p><code class='spip_code' dir='ltr'>esempiu_upzioni.php</code>:</p>
<form action='' method='get'><div>
<input type='hidden' name='exec' value='' />
<textarea readonly='readonly' cols='40' rows='5' class='spip_cadre' dir='ltr'><?php $culore= '#ff017d'; ?></textarea></div></form> <p><strong>Attenti!</strong> 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 <code class='spip_code' dir='ltr'><fonctions></code> si chjama <code class='spip_code' dir='ltr'>mes_fonctions.php</code>, 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 <code class='spip_code' dir='ltr'>mes_options.php</code>, chì ci vulerà à tene in u cartulare <code class='spip_code' dir='ltr'>ecrire/</code> è per i schedari di lingue <code class='spip_code' dir='ltr'>local_xx.php</code> chì seranu gestiti cù un altru mètudu discrittu in un tuturiale cunsacratu à a soprascrittura di stu còdice.</p> <p>Per taglià à l'accorta: <strong>ùn usate micca nomi «cumuni» cum'è <code class='spip_code' dir='ltr'>mes_fonctions.php</code> è <code class='spip_code' dir='ltr'>mes_options.php</code></strong>.</p> <p>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...</p> <p>Infine, fate casu à esse ghjustu quand'è vo scriverete i nomi di schedari in <code class='spip_code' dir='ltr'>plugin.xml</code>, hè assai cappricciosa l'interfaccia di gestione riguardu l'aghjunta di quelle ùltime balise (messagi d'errore chì facenu piantà u servore...)</p> <p>Eccu ci, stu plugin prupone un nuvellu stacciu per i vostri mudelli. Pruvate puru <code class='spip_code' dir='ltr'>[(#TEXTE|culurizeghja_spip)]</code> dentr'à article.html per esempiu.</p> <h3 class="spip">*-*-*</h3>
<p>Sò stallati tutti i plugins in u cartulare <code class='spip_code' dir='ltr'>plugins/</code>, ma si ponu ancu creà sottucartulari da sparte bè secondu e categurie i plugins ch'omu stalla o sviluppa.</p> <p>Cusì ne, per l'arburatura quì sottu:</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>plugins/<br /> |<br /> |-- u_mo_primu_plugin/<br /> |-- i_mo_accurtatoghji_in_piu/<br /> |<br /> |-- accurtatoghji_2/<br /> |-- accurtatoghji_3/<br /> |-- i_mo_altri_plugins/<br /> |<br /> |-- accurtatoghji_4/<br /> |-- accurtatoghji_5/</code></div>
<p>l'interfaccia di gestione s'assumiglierà à:</p> <center><span class='spip_document_2424 spip_documents spip_documents_center'>
<img src='http://www.spip.net/local/cache-vignettes/L480xH332/plugin_vue_ensemble-f2db0.jpg' width='480' height='332' alt="" style='height:332px;width:480px;' /></span></center>
<h3 class="spip">Andà più indà</h3>
<p>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.</p> <p>Hè cuncepitu apposta u situ di ducumentazione tècnica da risponde à ste dumande. À u sugettu di i plugins, ne pudete sapè di più andendu à <a href='http://doc.spip.org/@Tuto-Se-servir-des-points-d-entree' class='spip_out'>st'indirizzu</a>, da lampà un primu sguardu nant'à l'entritoghji di SPIP (o «pipeline»).</p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/N1to_y6iUUA" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/co_article4425.html</feedburner:origLink></item>
<item xml:lang="co">
		<title>À chì prò, creà si un plugin ?</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/ymU2Bg3GoVA/co_article4424.html</link>
		<guid isPermaLink="false">http://www.spip.net/co_article4424.html</guid>
		<dc:date>2009-11-10T17:19:44Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>co</dc:language>
		<dc:creator>tavamig</dc:creator>



		<description>Adattà SPIP à i so bisogni propri, prima di a 1.9 I mudelli, e balise, i cicli è i stacci Da tanti versi si pò persunalizà SPIP. Sò stati sùbbitu colmi i primi bisogni di persunalizazione cù a gestione di i mudelli, schedari html purtendu si còdice SPIP è assestati in cartulari. Omu pò creà i so propri mudelli, arrimbendu si à l'elementi standard cum'è e balise è i cicli, elementi ch'omu pò creà è persunalizà quant'omu vole. Sì bisogna, omu pò scambià a manera ch'ella cumparisce una balisa, aduprendu i (...)

-
&lt;a href="http://www.spip.net/rubrique612.html" rel="directory"&gt;U sviluppu di SPIP è i so arnesi&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><h3 class="spip">Adattà SPIP à i so bisogni propri, prima di a 1.9</h3>
<p><strong>I mudelli, e balise, i cicli è i stacci</strong></p> <p>Da tanti versi si pò persunalizà SPIP. Sò stati sùbbitu colmi i primi bisogni di persunalizazione cù a gestione di i <a href='http://www.spip.net/fr_article879.html' class='spip_in' hreflang='fr'>mudelli</a>, schedari html purtendu si còdice SPIP è assestati in cartulari.</p> <p>Omu pò creà i so propri mudelli, arrimbendu si à l'elementi standard cum'è e <a href='http://www.spip.net/rubrique143.html' class='spip_in' hreflang='fr'>balise è i cicli</a>, elementi ch'omu pò creà è persunalizà quant'omu vole.</p> <p>Sì bisogna, omu pò scambià a manera ch'ella cumparisce una balisa, aduprendu i <a href='http://www.spip.net/fr_article901.html' class='spip_in' hreflang='fr'>stacci</a>, funzioni scritte in php in un schedariu di nome <code class='spip_code' dir='ltr'>mes_fonctions.php</code>.</p> <p>In casu chì i vostri bisogni supraneghjinu u quatru di un clàssicu situ cù SPIP (cum'è per esempiu pubblicà artìculi nant'à Internet in cullaburazione frà scrittori), pò tandu diventà necessaria di mudificà una cria, o puru à fondu, u cumpurtamentu di SPIP, o d'aghjunghje nuvelli elementi edituriali, d'accuppià li è di gestisce li à traversu una interfaccia persunalizata, o più ergunòmica.</p> <p><strong>Mudificà u nòcciulu di SPIP</strong></p> <p>Per ghjunghje ne à quelle persunalizazioni, venia necessaria di mette in ballu qualchì riscrittura di i schedari di u nòcciulu, vale à dì di mudificà u còdice distribuitu di SPIP. Lege, era lege, bella sicura [<a href='#nb1-1' class='spip_note' rel='footnote' title='Ramintemu chì SPIP hè in GPL, vale à dì libertà in tuttu d'usità lu, di studià (...)' id='nh1-1'>1</a>], ma tandu diventava a veghja di l'evuluzioni di SPIP robba pisiva è fastidiosa.</p> <h3 class="spip">Adattà SPIP à i so bisogni propri, dipoi a 1.9</h3>
<p>Toccu a versione 1.9, SPIP inizia un furmalìsimu da permette mudificazione è allargamentu armuniosu di u còdice. A maiò avanzata ne hè a pussibulità di "insità" (è di caccià l'insetu quand'omu vole, senza avè mancu toccu u còdice di u nostru SPIP novu fiammente...) certe megliurenze è mudìfiche varie. Sò cusì tante e pussibulità di persunalizazione chì u penseru hè oramai di facilità ne a stallazione, à prò di sè stessu quant'è chè di qualchì distribuzione pùbblica.</p> <p>À livellu tècnicu, hà permessu l'iniziu di i plugins d'apre e seguenti pussibulità:
<br />- si pò soprascrive ogni schedariu di u nòcciulu [<a href='#nb1-2' class='spip_note' rel='footnote' title='soprascrive un schedariu ghjè multiplicà a lettura d'un schedariu da ch'ellu (...)' id='nh1-2'>2</a>] cù tutte e funzioni chjamate sempre [<a href='#nb1-3' class='spip_note' rel='footnote' title='Pudete puru chjamà da qualsìasi schedariu una funzione chì esiste digià, basta (...)' id='nh1-3'>3</a>],
<br />- Hè mantenuta un'interfaccia d'appiecazione (API) per via di a definizione d'unepochi d'entritoghji in u còdice.</p> <p>Hà bisognu omu di realizà un plugin in quattru casi :</p> <p>- <strong>Funzioni è upzioni</strong> : Creà u so primu plugin, tramutà è rende tramutèvule e so funzioni è e so upzioni à prò soiu o d'altri.</p> <p>- <strong>L'entritoghju</strong> : intruduce, mentre u tempu d'attivazione d'un plugin, còdice in core di SPIP è mudificà in prufundezza u so funziunamentu.</p> <p>- <strong>Mudificà i schedari nativi</strong> : in assenza d'entritoghju, mudificà e parti di u còdice di SPIP senza tuccà à u nòcciulu.</p> <p>- <strong>Turnà à scrive u so propriu còdice</strong> : inventà u so propriu script da ch'ellu sia insitatu nant'à SPIP.</p> <p>Sì di questi i bisogni ùn ne avete mancunu, lasciate puru corre e seguenti pàgine, ma osinnò, forse serete interessatu da ciò ch'elli vi ponu furnisce quelli <a href='http://www.spip.net/fr_article3396.html' class='spip_in' hreflang='fr'>plugins distribuiti da lìberu</a>.</p></div>
		<hr />
		<div class='rss_notes'><p>[<a href='#nh1-1' id='nb1-1' class='spip_note' title='Note 1-1' rev='footnote'>1</a>] Ramintemu chì SPIP hè in GPL, vale à dì libertà in tuttu d'usità lu, di studià ne u viaghjà à prò soiu, di turnà à distribuì lu, di turnà à distribuì e so mudìfiche.</p> <p>[<a href='#nh1-2' id='nb1-2' class='spip_note' title='Note 1-2' rev='footnote'>2</a>] soprascrive un schedariu ghjè multiplicà a lettura d'un schedariu da ch'ellu venga cunsideratu u so ùltimu valore. Per dì la sèmplice, sè vo soprascrivite un schedariu ch'hà u valore "Bonghjornu" cù un schedariu ch'hà u valore "Bona sera", à u screnu cumpariscerà "Bona sera" invece di "Bonghjornu".</p> <p>[<a href='#nh1-3' id='nb1-3' class='spip_note' title='Note 1-3' rev='footnote'>3</a>] Pudete puru chjamà da qualsìasi schedariu una funzione chì esiste digià, basta chè vo àppite inclusu in capu di schedariu un schedariu chì cuntene a funzione chè vo vulete aduprà. Hè assai putente quessa, chì i cuncettori di SPIP anu realizatu tante funzioni chè vo ùn averete mancu bisognu à rifà. Frà altre citeremu <i>lire_fichier</i> (chì leghje un schedariu), <i>ecrire_fichier</i> (chì scrive un schedariu), <i>preg_files</i> (chì cerca un schedariu), tutte e richieste sql, è decine di funzioni, simplificate à assai grazia à l'aduprera di pìccule funzioni cuntenute in u còdice di SPIP. Per sapè ne di più, andate puru à vede a ducumentazione.</p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/ymU2Bg3GoVA" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/co_article4424.html</feedburner:origLink></item>
<item xml:lang="co">
		<title>Cuntribuisce à u sviluppu di SPIP</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/0bv6mvPJGqY/co_article4422.html</link>
		<guid isPermaLink="false">http://www.spip.net/co_article4422.html</guid>
		<dc:date>2009-11-10T17:19:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>co</dc:language>
		<dc:creator>tavamig</dc:creator>



		<description>Sè vo site in brama di cuntribuisce à a prugrammazione di SPIP, eccu quì l'affare u più impurtatnte da tene à mente: ghjunghjite nant'à un prugettu chì viaghja digià. Stu prugettu cumporta unepoche di règule chì, puru arbitrarie ch'elle possinu parè, guarantiscenu a so cuerenza. Da esiste, ste règule ùn anu puru bisognu d'esse chjaramente mintuvate : certe si vedenu sùbbitu dopu studiatu appenuccia u còdice, è e règule sottu intese sò da rispettà quant'è l'altre. Hè cunsigliata forte forte di seguità ste (...)

-
&lt;a href="http://www.spip.net/rubrique612.html" rel="directory"&gt;U sviluppu di SPIP è i so arnesi&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_chapo'><p>Sè vo site in brama di cuntribuisce à a prugrammazione di SPIP, eccu quì l'affare u più impurtatnte da tene à mente: <i>ghjunghjite nant'à un prugettu chì viaghja digià</i>. Stu prugettu cumporta unepoche di règule chì, puru arbitrarie ch'elle possinu parè, guarantiscenu a so cuerenza. Da esiste, ste règule ùn anu puru bisognu d'esse chjaramente mintuvate :
certe si vedenu sùbbitu dopu studiatu appenuccia u còdice, è e règule sottu intese sò da rispettà quant'è l'altre.</p></div>
		<div class='rss_texte'><p>Hè cunsigliata forte forte di seguità ste règule à u più strettu.
Stu rispettu ùn deve avè nunda à chì vede cù i vostri gusti persunali, ma permette ch'ellu si tenga u prugettu a so cuerenza è a so unità, è ch'ellu fermi sempre cusì leghjitoghju ch'ellu era in passatu. Tenite puru à mente chì altra ghjente ponu avè a pussibulità di leghje, capisce o puru mudificà u vostru còdice.</p> <p>Per esempiu, vene cumuna chì e funzioni SPIP sianu scritte à l'usu a_mo_funzione(). Sterebbe dunque propriu male d'aghjunghje nuvelle funzioni scrivendu le AmoFunzione() - puru ùn essendu sta forma più da criticà ch'è quill'altra.</p> <p>Detta quessa, mancu appena v'hè impedita di criticà una règula, bella sicura, o di prupone ne una più ghjusta, s'ella casca. Fate la puru, a vi prichemu, basta ch'ella sia cù ragioni.</p> <p>Infine, ogni règula hà e so eccezzioni. Ma devenu esse ghjustificate da veru, altru chè da a curciàghjine di u prugrammore; è devenu esse scarse u più pussìbule. In particulare, tenite à mente chì u «pruvisoriu»
à spessu tira versu u definitivu quandu chì nimu hà a voglia di mette ci e mani; eppuru vene ghjusta è lògica chì ogni prugrammore sia respunsèvule di u finazzà di u so propriu còdice, è micca di quella di l'altri.</p> <h3 class="spip">Règule di prisentazione è di scrittura</h3>
<p>E règule quì sottu sò cumune à un certu nùmeru di linguagi di prugrammazione: à u mìnimu, tutti i linguagi chì anu una sintassa sìmule à quella di PHP (vale à dì, in più di PHP ellu stessu, C, C++, Java....).</p> <p>Di modu naturale venenu accettate ste règule, quant'è e règule di prisentazione è di tipugrafia d'un testu scrittu in linguagiu naturale; d'altronde assai ci s'assumiglianu...</p> <p><strong>Prisentazione</strong></p> <p>- U còdice deve esse bellu staccatu è indiziatu di modu à mette in valore a so struttura è e cunfine frà i diversi pezzi lògichi (in particulare e funzioni). Da staccamentu è indiziazione fatti in cundizioni deve vene capiscitoghja a struttura sùbbitu à u primu sguardu ; ma ùn devenu esse di troppu. Deve esse fatta cù cura quant'è ch'ella s'agisca d'un testu in linguagiu naturale.</p> <p>- Quant'omu pò serà fatta l'indiziazione aduprendu u caràtteru tabulazione. Cusì pò omu definisce a prufundezza d'indiziazione frà i paràmetri di u so editore di testu, senza impone la à l'altri utilizatori.</p> <p>- Ogni pezzu postu frà «aculate» (<code class='spip_code' dir='ltr'>{}</code>) deve esse indiziatu cù una sola tabulazione. È tira avanti è dalli, per ogni sottupezzu : Si aghjungherà una sola tabulazione à ogni livellu novu di prufundezza. Vale dinò sta règula per a dichjarazione di e funzioni.</p> <p>- Ùn deve esse indiziatu u còdice ch'ùn face parte d'una funzione.</p> <p>- Deve esse limitatu l'adopru di e transizioni PHP-HTML (<code class='spip_code' dir='ltr'><?php</code> et <code class='spip_code' dir='ltr'>?></code>). Schisate lu propriu quandu s'agisce ghjustu di scrive pezzùculi di HTML. Rammintate vi chì un pocu è tantu di PHP inseritu à mezu à un mare di HTML ùn si ritrova mai più senza duvè fighjà da vicinu vicinu.</p> <p><strong>Tipugrafia</strong></p> <p>- Quandu si adopra parèntesi o ancini («()», «[]»),
ùn ci vole micca à lascià spazi dop'à a parèntesi chì apre, nè davant'à quella chì chjode.</p> <p>- Quandu si adopra uperatori binari (+, =, *, AND, ...),
bisogna à lascia un spaziu da ogni latu di l'uperatore. S'ella ùn hè fatta in sta frasa, ghjè chì l'uperatori sò mintuavati è micca aduprati.</p> <p>- L'uperatori unari (!, ...) devessu appiccicati à u paràmetru chì li s'appieca.</p> <p>- Da cunvenuta, quandu omu chjama una funzione, ùn ci hè spaziu davant'à a parèntesi chì apre : « f($x) » invece di « f ($x) ».
À l'incuntrariu, è da ch'ella sia bella diferenziata, si lascia un spaziu davanti a parèntesi quand'ellu s'agisce d'una struttura di cuntrollu integrata à u linguagiu: « if (!$x) » invece di « if(!$x) ».</p> <p>- Dopu à vìrgule è punti vìrgule vene un spaziu. Invece davanti ùn li ne vene.</p> <h3 class="spip">Règule di prugrammazione</h3>
<p><strong>Riflette</strong></p> <p>Prima di lampà si à prugrammà una nuvella funziunalità, fate matriculà u cerbellu...</p> <p>- mètudi è algurìtimi à prò di l'implementatura :
legeri, efficaci, resistenti (fà puru unepochi càlculi da cunvalidà e scelte) ;
<br />- adattazione à u prugettu : tramutèvule, sicuru, sòffice;
<br />- cunseguenze par l'altre funziunalità : mudìfiche è aghjunte da fà nant'à e funziunalità esistenti ;
<br />- postu « naturale » per sta funziunalità in u prugettu :
ch'ellu s'agisca d'interfacce, di schedari...</p> <p>Ùn lasciate da cantu fatturizazione è messa in cumunu di u còdice (cù l'aiutu di e funzioni, in particulare in i schedari da include).
Invece, quant'ellu si pò, schisate puru i schedari da include chì cuntenenu còdice fora di funzioni (salvu in casu ch'ella sia «naturale» è vulsuta).</p> <p><strong>Dà i nomi</strong></p> <p>- <i>Variàbile è funzioni</i> :</p> <p>Qualessu sia u prugettu, dà nomi deve firmà robba armuniosa da ch'ellu sia leghjitoghju u còdice. Cusì, i nomi di variàbili è di funzioni cù SPIP seranu minùsculi; i nomi cumposti seranu à l'usu variabile_cumposta.</p> <p>Di règula, ùn devessenu i nomi nè troppu corti, nè troppu longhi ; cusì seranu parlanti. Hè propriu d'impurtanza sta règula per e variàbili glubali, chì ponu esse sparte frà parechji schedari è tante funzioni. Per e variàbili lucale (vale à dì, à una funzione), hè più sòffice a règula. In particulare, si ponu aduprà variàbili d'una sola lèttera, per esempiu da ottene spressioni più fundute. Ramintate vi chì in ogni linguagiu di prugrammazione, unepoche di lèttere venenu accuppiate da a tradizione à certi usi (esempi :
$i, $j per cuntatori di cicli, $n per fà un contu, $t
per un istante o un tempu in seconde...). Ùn sviate puru micca quelle cunvenzioni chì permettenu à i vostri lettori d'esse pràticu sùbbitu.</p> <p>- <i>Schedari</i> :</p> <p>Per ragioni stòriche, i schedari da include in u spaziu pùbblicu purteranu u nome <i>inc-schedariu.php</i>. In u spaziu privatu, purteranu u nome <i>ecrire/inc_schedariu.php</i> (fate casu à u trattinu bassu invece di u trattinu nurmale).
I schedari di u spaziu pùbblicu chjamati cù rinviu HTTP da u spaziu privatu portanu u nome <i>spip_schedariu.php</i>. Tutti l'altri schedari portanu un nome chì nè principia cù "inc", nè cù "spip".</p> <p><strong>Fà prove</strong></p> <p>Compiu qualsìasi mudìfica di primura, cunvene à pruvà la da per sè, senza aspettà chì qualchissia altru a fessi per voi. Cù SPIP, vene à verificà chì u prugrammu viaghji cum'ellu ci vole ind'è un certu nùmeru d'òspiti (per esempiu: Altern, Free...) è di cunfigurazioni (per esempiu: diverse versioni di PHP, di MySQL, diritti d'accessu à i cartulari più o menu strinti...);
ma dinò chì unepoche di situazioni cumune (per esempiu in casu d'una interfaccia gràfica) sianu gestite cum'è di si deve.</p> <h3 class="spip">Sparte e so mudìfiche</h3>
<p>Suddesfu chè vo serete di a vostra mudìfica di u còdice, serà pò ora di parlà ne à l'altri sviluppori di SPIP, è di vede s'ellu si merita d'esse integratu in l'arburatura ufficiale di SPIP... À truvà ci in a lista di ragiunata <a href='http://listes.rezo.net/mailman/listinfo/spip-dev' class='spip_out'>spip-dev</a>. À prestu !</p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/0bv6mvPJGqY" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/co_article4422.html</feedburner:origLink></item>
<item xml:lang="co">
		<title>Fà cresce SPIP</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/c0yKDIPETIU/co_article4423.html</link>
		<guid isPermaLink="false">http://www.spip.net/co_article4423.html</guid>
		<dc:date>2009-11-10T17:19:25Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>co</dc:language>
		<dc:creator>tavamig</dc:creator>



		<description>Sè vo site in brama di fà cresce SPIP è in particulare di cuntribuisce ci, eccu quì l'affari di primura da tene à mente: SPIP hè un arnese adupratu da millaie di persone, hà un passatu, un avvene, è ghjè òpera cumuna. Funu fatte certe scelte, micca sempre cù u gàlabbu, ma chì danu cuerenza à l'inseme di u còdice, facilitendu cusì e pussibulità d'avanzate. In casumai chì una scelta diventi propriu micca cumpatìbule cù qualchì nuvella tecnulugia interessante à integrà, tandu vene messa in ballu una riscrittura (...)

-
&lt;a href="http://www.spip.net/rubrique612.html" rel="directory"&gt;U sviluppu di SPIP è i so arnesi&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_chapo'><p>Sè vo site in brama di fà cresce SPIP è in particulare di cuntribuisce ci, eccu quì l'affari di primura da tene à mente: <i>SPIP hè un arnese adupratu da millaie di persone, hà un passatu, un avvene, è ghjè òpera cumuna</i>. Funu fatte certe scelte, micca sempre cù u gàlabbu, ma chì danu cuerenza à l'inseme di u còdice, facilitendu cusì e pussibulità d'avanzate. In casumai chì una scelta diventi propriu micca cumpatìbule cù qualchì nuvella tecnulugia interessante à integrà, tandu vene messa in ballu una riscrittura chì pò durà ancu parechji mesi, è cusì ci pò esse un tempu longu d'incuerenza. Si capisce dunque chì, quant'omu pò, bisogna à limità tale decisioni, è accettà chì à diritta è à manca ci possi esse qualchì règula trasgredita, essendu sta parte di u còdice nancu à turnà à scrive. Da òpera cumuna, si capisce dinò ch'ellu pò esse sferente u stile di prugrammazione da un locu à l'altru, ma chì si custruisce cusì un'identità cumuna cù listessu destinu, un prugrammu ùtule è praticatu, micca fattu da santìssime scritture sculpite in a petra, ma da a spressione d'una cumunità viva è lìbera.</p></div>
		<div class='rss_texte'><h3 class="spip">Urganizazione di u còdice</h3>
<p>Dipoi a versione 1.9, hè pussìbule mudificà u cumpurtamentu di SPIP senza tuccà u so còdice, usendu u <i>percorsu d'accessu</i> definitu da a custante <code class='spip_code' dir='ltr'>SPIP_PATH</code>.
Cusì deve uperà qualsìasi estensione di SPIP da chì una prova d'integrazione possi esse smessa solu definiscendu u percorsu d'accessu cù un novu valore, postu chì l'arburatura di SPIP hè di règula da lettura sola.
Sè vo site scunvintu chì fendu cusì un certu cumpurtamentu ùn si pò ottene, scrivite puru à a lista di ragiunata <a href='http://listes.rezo.net/mailman/listinfo/spip-dev' class='spip_out'>spip-dev</a>.</p> <p>I cuntributi à prò di SPIP sò da discrive cù un artìculu nant'à <a href='http://www.spip-contrib.net/' class='spip_out'>Spip-Contrib</a> è u so cuntentu da pone, sia da robba alleata à st'artìculu, sia, per fà megliu, nant'à <a href='http://zone.spip.org/trac/spip-zone/' class='spip_out'>spip-zone</a> chì furnisce un servore <a href='http://subversion.tigris.org/' class='spip_out'>Subversion</a>
piluttatu da <a href='http://www.edgewall.com/trac/' class='spip_out'>Trac</a>.</p> <p>Da vulè cuntribuisce à SPIP, bisogna à capisce l'urganizazione di sti cartulari è u scopu di sti schedari. In più di u presente artìculu, puderà omu leghje cù assai interessu quellu chì annunciò SPIP 1.9, iniziatore di st'urganizazione.</p> <p>A ràdica d'una arburatura SPIP cuntene principalmente:</p> <p>- un schedariu
<code class='spip_code' dir='ltr'>spip.php</code>, alias
<code class='spip_code' dir='ltr'>index.php</code>, chì gestisce a cumpatibulità cù l'anziane versioni, carichendu u schedariu d'inizializazione <code class='spip_code' dir='ltr'>ecrire/inc_version.php</code> è lascendu sùbbitu viaghjà u script principale <code class='spip_code' dir='ltr'>ecrire/public.php</code>;</p> <p>- un cartulare
<code class='spip_code' dir='ltr'>ecrire</code>
chì cuntene solu schedari interpretati da u servore (PHP è SQL);</p> <p>- unu o parechji cartulari (secondu e versioni) chì cuntenenu schedari interpretati da u cliente (HTML, Javascript, foglie di stile, imàgini di diversi furmati) cù i <i>mudelli</i> di paginatura. Sti mudelli venenu interpretati da i dui lati:
sò schedari cumposti da un furmatu MIME, cumplettatu da qualchì direttiva SPIP, è venenu uperate quelle direttive da u servore da rimandà à u cliente un testu schiettu MIME (u più spessu HTML, ma dinò RSS, SVG, ICS etc).</p> <p>- quattru cartulari vioti tempu a stallazione, chì cunteneranu i dati, pruvisori o permanenti, necessari à a vita di u situ.</p> <p><strong>Scopu di i cartulari</strong> <code class='spip_code' dir='ltr'>prive</code> è <code class='spip_code' dir='ltr'>squelettes-dist</code> <strong>cù i so sottucartulari</strong></p> <p>Cuntenenu schedari impurtantìssimi per a prisentazione di SPIP, u primu per u spaziu privatu, l'altru per u situ pùbblicu. Prima di <a href='http://www.spip.net/co_article4372.html' class='spip_in'><span style='color: #273494;'>SPIP 2.0</span></a>, ùn fecianu chè unu, chjamatu <code class='spip_code' dir='ltr'>dist</code>. Cuntenenu assai sottucartulari spiecati quì sottu:</p> <table class="spip">
<thead><tr class='row_first'><th scope='col'><strong>cartulare</strong></th><th scope='col'><strong>scopu</strong></th></tr></thead>
<tbody>
<tr class='row_even'>
<td><code class='spip_code' dir='ltr'>/</code></td>
<td>cuntene i mudelli. U so nome finisce cù <code class='spip_code' dir='ltr'>.html</code> per ragioni stòriche, ma pò ancu cuntene altra robba. Basta à dà tale nome, senza estensione, à u paràmetru <code class='spip_code' dir='ltr'>page</code> di l'URL d'un situ fattu cù SPIP, è vene adupratu u mudellu chì porta stu nome.
<br />
Stu cartulare cuntene dinò e foglie di stile (d'estensione <code class='spip_code' dir='ltr'>.css</code>) chì definiscenu u vestitu predefinitu</td></tr>
<tr class='row_odd'>
<td><code class='spip_code' dir='ltr'>furmulari/</code></td>
<td>cuntene a parte html di e <i>balise dinàmiche</i>, mudelli di furmulari chì u so còdice PHP hè cullucata in u cartulare <code class='spip_code' dir='ltr'>ecrire/balise</code></td></tr>
<tr class='row_even'>
<td><code class='spip_code' dir='ltr'>icones_barre/</code></td>
<td>cuntene l'imàgini chì vanu nant'à l'asta tipugràfica</td></tr>
<tr class='row_odd'>
<td><code class='spip_code' dir='ltr'>images/</code></td>
<td>imàgini di u spaziu privatu</td></tr>
<tr class='row_even'>
<td><code class='spip_code' dir='ltr'>javascript/</code></td>
<td>librerie javascript (jQuery, asta tipugràfica, ...)</td></tr>
<tr class='row_odd'>
<td><code class='spip_code' dir='ltr'>modeles/</code></td>
<td>mudelli chì ponu esse chjamati da a balisa #MODELE o cù l'accurtatoghji <code class='spip_code' dir='ltr'><article6|modele></code></td></tr>
<tr class='row_even'>
<td><code class='spip_code' dir='ltr'>polices/</code></td>
<td>pulizze di caràtteri chì ponu esse aduprate per <a href='http://www.spip.net/fr_article3325.html' class='spip_in' hreflang='fr'>l'imàgini tipugràfiche</a></td></tr>
<tr class='row_odd'>
<td><code class='spip_code' dir='ltr'>vignettes/</code></td>
<td>imaginette standard per i ducumenti chì ponu esse alleati à un artìculu</td></tr>
</tbody>
</table>
<p><strong>Scopu di u cartulare</strong> <code class='spip_code' dir='ltr'>ecrire</code> <strong>cù i so sottucartulari</strong></p> <p>U cartulare <code class='spip_code' dir='ltr'>ecrire</code> cuntene parechji sottucartulari cumposti da schedari PHP chì definiscenu funzioni è chì, caricati ch'elli sò, di raru prucedenu qualchì inizializazione (sò per smarrice quelli chì a facenu sempre). Da cuntribuisce à SPIP, i più impurtanti da capisce sò i schedari cullucati in u cartulare principale, vale à dì <code class='spip_code' dir='ltr'>inc_version.php</code>,
<code class='spip_code' dir='ltr'>public.php</code> è <code class='spip_code' dir='ltr'>index.php</code>.</p> <p>U schedariu <code class='spip_code' dir='ltr'>ecrire/inc_version.php</code>
inizializeghja e custante è e variàbile glubale necessarie à u viaghjà di SPIP, in particulare quelle chì assicureghjanu u so bon'tramutu nant'à i diversi sistemi.
Tempu caricatu, include u schedariu <code class='spip_code' dir='ltr'>inc/utils.php</code>, duve figureghjanu e funzioni indispensèvuli à SPIP, un schedariu fora arburatura chjamatu <code class='spip_code' dir='ltr'>mes_options.php</code>
chì permette di graduà l'inizializazione senza duvè mudificà u schedariu <code class='spip_code' dir='ltr'>inc_version.php</code>. In particulare, in stu schedariu persunale hè pussìbule chjamà a funzione <code class='spip_code' dir='ltr'>spip_initialisation</code>
per definisce i cartulari di dati, è cusì dispone di parechji siti fatti cù SPIP chì adopranu un'arburatura cumuna (a chjama standard à sta funzione, più in là in <code class='spip_code' dir='ltr'>inc_version.php</code>, serà smessu in autumàticu).
Altre funzioni indispensèvuli à SPIP sò <code class='spip_code' dir='ltr'>find_in_path</code>, chì gestisce u <i>percorsu d'accessu</i>, è <code class='spip_code' dir='ltr'>include_spip</code>
chì s'arremba à <code class='spip_code' dir='ltr'>find_in_path</code>, è <code class='spip_code' dir='ltr'>charger_fonction</code> chì s'arremba à <code class='spip_code' dir='ltr'>include_spip</code>. Tutti i schedari di SPIP veneu caricati da ste duie funzioni.</p> <p>U schedariu <code class='spip_code' dir='ltr'>ecrire/public.php</code>, chjamatu da <code class='spip_code' dir='ltr'>spip.php</code>, s'incaricheghja principalmente di furnisce e pàgine di u spaziu pùbblicu, cherse quandu chì a richiesta HTTP si porta (dopu eventuale riscrittura) u paràmetru <code class='spip_code' dir='ltr'>page</code>. Stu script và è piglia tandu u mudellu chì u so nome hè u valore di u paràmetru. Manda l'intestatura HTTP è u cuntenutu racoltu, gestisce l'eventuali errori è lancia i lavori di sottufondu usendu a funzione <code class='spip_code' dir='ltr'>cron</code>. Cuntribuisce à SPIP, vole dì simpliciamente furnisce mudelli novi, cù e so foglie di stile è e so imàgini, s'ella casca.</p> <p>L'altru scopu di <code class='spip_code' dir='ltr'>ecrire/public.php</code> vene quandu chì a richiesta HTTP si porta l'argumentu <code class='spip_code' dir='ltr'>action</code>. Tandu appiccica à a funzione <code class='spip_code' dir='ltr'>charger_fonction</code> u valore <i>v</i> di st'argumentu <code class='spip_code' dir='ltr'>action</code>. Vene caricatu u schedariu di listessu nome da u cartulare <code class='spip_code' dir='ltr'>action</code>, è vene chjamata a so funzione principale <code class='spip_code' dir='ltr'>action_</code><i>v</i><code class='spip_code' dir='ltr'>_dist</code>.
Sti scripts ùn facenu guasi chè scritture (in basa o in schedari) è di règula ùn ritornanu risultatu, è cusì ùn toccanu mancu appena a paginatura.</p> <p>U schedariu
<code class='spip_code' dir='ltr'>index.php</code> hè u schedariu centrale d'accessu à i furmulari di u spaziu privatu. Ricunnosce l'utilizatore, inizializeghja i so dati persunali è accoppia à a funzione <code class='spip_code' dir='ltr'>charger_fonction</code> u valore <i>v</i> di u paràmetru <code class='spip_code' dir='ltr'>exec</code>. Vene caricatu u schedariu di listessu nome da u cartulare <code class='spip_code' dir='ltr'>exec</code>, è vene chjamata a so funzione principale <code class='spip_code' dir='ltr'>exec_</code><i>v</i><code class='spip_code' dir='ltr'>_dist</code>. Questa hè incaricata di furnisce u flussu sanu sanu d'esciuta, cumpresa l'intestatura HTTP. Hè dunque pussìbule d'accresce SPIP, solu aghjunghjendu qualchì schedariu PHP in un sottucartulare di nome <code class='spip_code' dir='ltr'>exec</code> d'un cartulare cullucatu in <code class='spip_code' dir='ltr'>SPIP_PATH</code>.</p> <p>U cartulare <code class='spip_code' dir='ltr'>exec</code> cuntene solu i schedari chì definiscenu e funzioni da chjamà direttamente cù u paràmetru d'URL <code class='spip_code' dir='ltr'>exec</code>. U còdice PHP di sti schedari ùn deve mai accede à a basa di dati in scrittura (sò per smarrisce quelle chì a facenu sempre). À l'incuntrariu, assai ci accede in lettura, da cuntrullà i diritti di quellu chì dumanda, è da stimà i dati da fà cumparisce. Sì omu vole fighjà SPIP cù a mudellatura <i>Modèle-Vue-Controleur</i>, i schedari di <code class='spip_code' dir='ltr'>exec</code> anu u scopu di <i>Controleur</i>. Sì omu vole fighjà SPIP cù a mudellatura <i>(Print(Eval(Read)))</i> di Lisp, currisponde à a parte <i>Read</i>. Da quì à pocu cuntenerà stu cartulare solu mudelli. Dumandemu chì i cuntributtori tenghinu à contu issu scopu in u so modu di pensà è di scrive i nuvelli cuntributi.</p> <p>U cartulare <code class='spip_code' dir='ltr'>action</code>, si n'hè parlatu digià, ùn cuntene guasi chè i scripts chì accedenu in scrittura à a basa di dati.
Sì omu vole fighjà SPIP cù a mudellatura <i>Modèle-Vue-Controleur</i>, i schedari di <code class='spip_code' dir='ltr'>action</code> anu u scopu di <i>Modèle</i>. Sì omu vole fighjà SPIP cù a mudellatura <i>(Print(Eval(Read)))</i> di Lisp, currisponde à a parte <i>Eval</i>. Quì dinò, cuntribuisce à SPIP, vole dì scrive sìmuli scripts, è fà li chjamà da furmulari custruiti cù a funzione <code class='spip_code' dir='ltr'>generer_action_auteur</code>
chì s'incaricheghja di l'accessu à sti scripts, chì elli chjameranu a funzione <code class='spip_code' dir='ltr'>securiser_action</code> da verificà i diritti di quelli chì dumanda. St'architettura permette chì i diritti sianu verificati una volta sola, tempu custruiti i furmulari chì chjamanu i scripts d'accessu in scrittura: nanzi chè di turnà à verificà tutti i diritti, sti scripts si cuntenteranu di fighjà chì a chjave cullucata da argumentu sia listessa à quella ricalculata à parte si di l'altri argumenti, di l'identità di quellu chì dumanda, è d'un valore à l'azardu rinuvellatu ogni tantu. Di règula sti scripts ùn ritornanu risultatu, ùn ci hè custì nisun còdice HTML nè chjama à a funzione <code class='spip_code' dir='ltr'>echo</code> (sò per smarrisce quelli chì a facenu sempre). Invece, à spessu venenu chjamati cù un paràmetru HTTP di nome <code class='spip_code' dir='ltr'>redirect</code>, dumandendu una rindirizzata, fatta tandu in autumàticu da <code class='spip_code' dir='ltr'>public.php</code>, è chì manda un statutu HTTP 204 in assenza di quellu paràmetru.
In u casu di i furmulari custruiti cù a funzione <code class='spip_code' dir='ltr'>ajax_action_auteur</code>, sta rindirizzata manda versu u script di listessu nome in u cartulare <code class='spip_code' dir='ltr'>exec</code>. Stu secondu scrittu si cuntenta u più spessu di caricà u schedariu di listessu nome in u cartulare <code class='spip_code' dir='ltr'>inc</code>, di chjamà a so funzione principale chì ritorna u risultatu, rispostu à u cliente da a funzione <code class='spip_code' dir='ltr'>ajax_retour</code>. Cusì vene assai fàciule di fà cresce SPIP in modu AJAX, aduprendu st'architettura.</p> <p>U cartulare <code class='spip_code' dir='ltr'>inc</code>, u più grossu, ùn cuntene guasi chè funzioni chì custruiscenu e pàgine di u spaziu privatu mandate à u cliente. Da quì à pocu ste funzioni diventeranu stacci usati da i schedari di <code class='spip_code' dir='ltr'>exec</code> quandu quessi diventeranu mudelli.
Sì omu vole fighjà SPIP cù a mudellatura <i>Modèle-Vue-Controleur</i>, i schedari di <code class='spip_code' dir='ltr'>inc</code> anu u scopu di <i>Vue</i>. Sì omu vole fighjà SPIP cù a mudellatura <i>(Print(Eval(Read)))</i> di Lisp, currisponde à a parte <i>Print</i>. Ma stu cartulare cuntene dinò tante funzioni piuttostu di scopu <i>Controle</i> è tuccherà dunque à turnà à assestà lu. A maiò parte di i schedari di <code class='spip_code' dir='ltr'>inc</code> sò incaricati da <code class='spip_code' dir='ltr'>charger_fonction</code>, è da quì à pocu tutti cusì feranu. <code class='spip_code' dir='ltr'>echo</code> ùn hè adupratu da nisuna funzione di stu cartulare.
Dumandemu chì ad avà rispettinu ste règule tutti i cuntributi.</p> <p>U cartulare <code class='spip_code' dir='ltr'>install</code> cuntene solu e funzioni necessarie à a stallazione di SPIP. Ogni tappa pò esse soprascritta o cumplettata da altre, postu chì a funzione principale di <code class='spip_code' dir='ltr'>exec/install.php</code>
adopra stu cartulare secondu u listessu spìritu chè <code class='spip_code' dir='ltr'>ecrire/index.php</code> adopra u cartulare <code class='spip_code' dir='ltr'>exec</code>.</p> <p>U cartulare <code class='spip_code' dir='ltr'>urls</code> cuntene schedari chì definiscenu ognunu u listessu ghjocu di <i>funzioni di riscrittura d'URL</i>.
Si tratta di funzioni chì calculeghjanu, à parte si d'un ìndice numèricu postu in una tàvula di a basa di dati, una «marca», più fàciule à scrive è à leghje di pettu à a chjama à u script PHP uperata da u servore per st'ìndice quì è sta tàvula quì. Quì dinò, basta à aghjunghje un schedariu in stu cartulare per ottene un nuvellu ghjocu, è u so nome venerà à cumparisce in u pannellu di cunfigurazione di u spaziu privatu chì gestisce i tippi d'<code class='spip_code' dir='ltr'>urls</code> (prima <a href='http://www.spip.net/co_article4372.html' class='spip_in'><span style='color: #273494;'>SPIP 2.0</span></a>, ùn esistia ancu stu pannellu è issi schedari eranu usati da a glubale <code class='spip_code' dir='ltr'>type_urls</code>).</p> <p>U cartulare <code class='spip_code' dir='ltr'>lang</code> cuntene solu schedari di dati, tavuloni chì indettanu a traduzzione, per tutte e lingue cunnisciute di SPIP, di tutti l'argumenti ch'ella pò riceve a funzione <code class='spip_code' dir='ltr'>_T</code>, definita in <code class='spip_code' dir='ltr'>inc/utils.php</code>. Venenu caricati i schedari solu da e funzioni di <code class='spip_code' dir='ltr'>inc/lang.php</code>. Per dichjarà una nuvella lingua SPIP, basta à traduce i schedari di riferenza <code class='spip_code' dir='ltr'>*fr*</code> dendu un nome cunvenutu à i schedari cupiati, vale à dì usendu u còdice di a nuvella lingua.</p> <p>U cartulare <code class='spip_code' dir='ltr'>charset</code> anch'ellu cuntene solu schedari di dati, tavuloni chì permettenu di passà d'un còdice di caràtteri à un altru (utf, iso, ascii, entità html etc). Sò letti solu da e funzioni di <code class='spip_code' dir='ltr'>inc/charsets.php</code>. Quì dinò, per dispone d'un nuvellu còdice, basta à aghjunghje un schedariu, bench'ellu pruponga SPIP tutti quelli usati di règula. Serà bella scarsa quessa a faccenda.</p> <p>U cartulare <code class='spip_code' dir='ltr'>base</code> cuntene e funzioni d'interfaccia trà PHP è i servori SQL ch'ellu pò chjamà SPIP. In particulare, u schedariu genèricu <code class='spip_code' dir='ltr'>abstract_sql.php</code> cuntene e funzioni ch'ellu bisogna à aduprà pè discorre cù i servori SQL, invece di e funzioni di basa di PHP chì ùn ci vole tandu à aduprà direttamente, da chì u prugrammu fermi fàciule tramutèvule.
Di sicuru ùn deve figurà nisun còdice MIME in stu cartulare.</p> <p>U cartulare <code class='spip_code' dir='ltr'>req</code> cuntene e passarelle da u servore SQL virtuale di SPIP versu i servori veri (MySQL, PG) è cusì cunsiderati (SQLite).</p> <p>U cartulare <code class='spip_code' dir='ltr'>balise</code> cuntene i schedari PHP assuciati à e <i>balise dinàmiche</i> di SPIP.
U so nome hè uguale à quellu di u mudellu di <code class='spip_code' dir='ltr'>squelettes-dist/formulaires</code>. Cumplettà u spaziu pùbblicu di SPIP cù un furmulariu <i>F</i>, ghjè creà un schedariu <i>F</i>.html in u so <code class='spip_code' dir='ltr'>SPIP_PATH</code> è un schedariu <i>F</i>.php in un sottucartulare <code class='spip_code' dir='ltr'>balise</code> di u so <code class='spip_code' dir='ltr'>SPIP_PATH</code>.
U scopu di stu schedariu PHP hè di riceve a robba inserita in stu furmulariu, è sì bisogna, di rifà cumparisce u furmulariu cumplettatu, in casu di gattiva stampittata. À colpu sicuru, questu hè u cuntributu à u spaziu pùbblicu u più diffìciule à uperà, perchè richere quella mecànica in sottu dui giri d'eseguimentu di PHP chì tocca omu à capisce bè u scopu d'ogni parte.
Prima ch'ella esistissi sta mecànica, a strategia di sviluppu di furmulariu era di scrive mudelli chì cuntenianu istruzzioni PHP. Si pò sempre fà la ma averà pocu effettu perchè mai postu in cache; è mancu appena impedisce à omu di pruvà à capisce i dui giri PHP chì facenu viaghjà l'affare...</p> <p>U cartulare <code class='spip_code' dir='ltr'>public</code> cuntene u cumpilatore di i mudelli. Hè una parte di u còdice assai cumplicata, ma dipoi <a href='http://www.spip.net/fr_article2991.html' class='spip_in' hreflang='fr'><span style='color: #fa9a00;'>SPIP 1.8</span></a> esiste un'interfaccia di sviluppu chì rende stu cumpilatore sanu sanu allerghèvule senza richere di capisce lu à fondu. <a href='http://www.spip-contrib.net/spikini/PagePrincipale?wiki=NouveauCompilo' class='spip_out'>Quì</a> ne truverete a descrizzione chì tene a strada à pocu pressu...</p> <p>U cartulare <code class='spip_code' dir='ltr'>lib</code> cuntene sottucartulari di bibbiuteche sviluppate fora di SPIP ma chì ponu ancu ghjuvà. Oghje ch'hè oghje, solu vene furnita sempre a bibbiuteca <code class='spip_code' dir='ltr'>safehtml</code>, chì prupone arnesi di sicurizazione di pàgine chì cuntenenu scripts. Per cuntribuisce à sta parte quì, andate puru direttamente à visità <a href='http://pixel-apes.com/safehtml' class='spip_out'>à elli</a>.</p> <p>Per compie: a maiò parte di i schedari SPIP venenu chjamati da <code class='spip_code' dir='ltr'>charger_fonction</code>, chì caricheghja qualchì schedariu è chjama a so funzione di listessu nome chì nurmalamente hè stata definita. Vene à dì chì u nome d'un schedariu PHP deve esse cumpostu solu di caràtteri auturizati per un nome di funzione PHP: megliu à lascià corre i caràtteri «-», «.» etc.</p> <h3 class="spip">Règule di prugrammazione</h3>
<p>Hè natu SPIP à un'èpica chì PHP trasfurmava in autumàticu i paràmetri HTTP in variàbili glubale. Quessu u mendu di prugrammazione da lampà si in portu fù abbandunatu, toccu PHP4. Tandu seguitò SPIP listessu chjassu (micca à esse abbandunatu!) ma appenuccia attempatu. Benchì u còdice attuale ùn ubidisca micca sempre à e règule sposte quì sottu, dumandemu chì i cuntributi futuri e rispèttinu ad avà, senza aspettà chì SPIP appia scunfinitu tutti i punti da turnà à scrive quindi è culandi.
Da leghje cù cura u schedariu <code class='spip_code' dir='ltr'>ecrire/articles.php</code>, u più strettu à e specìfiche sposte quì sottu.</p> <p>- Favurizà a scrittura di funzioni. A filusufia d'un prugrammu lìberu essendu d'esse praticatu in u più pussìbule di cuntesti sferenti, deve esse scrittu u còdice cù l'idea d'aduprà lu torna fora di u so cuntestu iniziale di sviluppu. A scrittura di funzioni ùn riferisce nisuna variàbile glubale, è mancu chjama à <code class='spip_code' dir='ltr'>echo</code> o à <code class='spip_code' dir='ltr'>print</code>. Cusì guarantisce un viaghjà silenziosu è senza effetti secondi dispiacèvuli.</p> <p>- Lascià da cantu quant'ellu si pò e variàbili glubale. Sò ripunsèvule quesse di tante sgheze di sicurezza è d'impussibulità di turnà à aduprà u còdice. Invece ponu esse aduprate:</p> <p>— a custante, interessante perchè ch'ella indetta à u lettore ch'ellu ùn cambierà u so valore durante tuttu u tempu ch'ellu hè eseguitu u script;</p> <p>— a variàbile stàtica, interessante perchè ch'ella indetta à u lettore ch'ellu si tratta d'un valore à longu andà, ma ristrettu à a funzione chì l'hà dichjarata.</p> <p>- Scrive còdice chì ùn crea nè errore nè avertimentu in modu <code class='spip_code' dir='ltr'>error_reporting(E_ALL)</code>. Quessa faciliteghja l'affari in casumai chì una variàbile ùn sia definita apposta. Sè vo avete veramente necessità d'eseguisce còdice fora di stu modu, aduprate puru u caràtteru @ limitatu à u pezzu di còdice chì dà fastidiu, è accunciate qualchì messagiu d'errore in u ghjurnale, aduprendu a funzione <code class='spip_code' dir='ltr'>spip_log</code>.</p> <p>- Cummentà u <i>cuntestu</i>, è micca u testu. Ùn ghjova à nunda di ripete u nome di e variàbili è funzioni in e scrivacciulate, nè mancu e funzioni PHP digià spiecate in u so manuale: i cummenti à l'usu <i>ciclu nant'à u tavulone di valori</i> davant'à un <code class='spip_code' dir='ltr'>foreach</code> sò diciulate chì empienu i schedari per nunda. Invece vene più amparatoghja d'indettà u tippu d'argumenti (essendu PHP un linguagiu tippatu in dinàmicu, s'induvineghja piuttostu male...) cù e so pruprietà aspettate in entrata di a funzione (per esempiu: ùn deve esse nullu). Quand'ellu vene currettu o antivistu qualchì bug diffìciule, dite puru perchè ch'ellu era sbagliatu u còdice, di modu chì qualchì futura riscrittura ùn torni micca à sciaccà lu, vulendu fà bè. Infine, sviluppatu in francese ch'ellu hè SPIP, lasciate puru da cantu e parulle chì ùn figureghjanu micca in i dizziunari di sta lingua, da ch'ella sia più capiscitoghja per quelli chì ùn hè micca a so lingua materna.</p> <p>- Dà nomi à e funzioni è e variàbili cù sensu è ragione.
L'urganizazione di u còdice di SPIP hè più fundata nant'à u spartimentu in cartulari dedicati chè nant'à strette règule di nomi, ma quantunque pruverete à lascià da cantu certe incuerenze, cum'è per esempiu u multilinguìsimu dentr'à un nome. E funzioni d'un listessu schedariu puderanu avè qualchì prefissu o suffissu cumunu, ispiratu da u nome di u schedariu.</p> <p>- Fà e prove nant'à u più pussìbule di cunfigurazioni. Tenite à mente chì SPIP deve pudè viaghjà nant'à qualsìasi sistema, cliente o servore ch'ellu sia.
Per forza avete parechji navigatori nant'à u vostru urdinatore, allora pruvate ne omancu dui. Quant'ella si pò, pruvate dinò parechji òspiti. Sì qualchì sistema dà una scrittura strana, mintuvate la puru, precisendu a so versione è a data chè vo l'avete prova.</p> <h3 class="spip">Règule di prisentazione è di scrittura</strong>
<p>Hè primurosu SPIP di a qualità tipugràfica di e pàgine ch'ellu manda à i clienti HTTP, vene à dì ch'ellu hè primurosu altr'è tantu di quella di i so propri schedari. Arricumandemu ch'elle sianu rispettate e règule quì sottu, abbastanza usuale in prugrammazione.</p> <p><strong>Prisentazione</strong></p> <p>- Deve esse cortu u testu di e funzioni, quantu omu pò, più cortu chè a taglia cumuna d'un screnu, da chì a struttura sana sana di ogni funzione si possi vede d'un solu sguardu.</p> <p>- U cuntenutu testu di e funzioni deve esse sempre indiziatu d'un passu à diritta. Dentr'à stu cuntenutu, ogni pezzu postu frà «aculate» (<code class='spip_code' dir='ltr'>{}</code>) deve esse indiziatu anch'ellu d'un passu in più, è tira avanti per ogni livellu d'«aculate».</p> <p>- Aduprate puru u caràtteru di tabulazione per indizià u testu, perchè permette di pudè definisce a prufundezza di i passi frà i paràmetri di u so editore di testu, quale ellu sia.</p> <p>- Quandu un'istruzzione PHP corre nant'à parechje ligne, mettite ci puru una ligna bianca prima è dopu;</p> <p>- i pezzùculi HTML, transizioni (<code class='spip_code' dir='ltr'><?php</code> è <code class='spip_code' dir='ltr'>?></code>) o spressioni ch'elli fussinu, seranu pezzi XHTML sani: ùn mettite puru micca balisa da apre in principiu di funzione, è balisa da chjode in coda, perchè chì ùn vene più cusì fàciule à spiazzà a funzione, s'omu ne hà u bisognu.</p> <p><strong>Tipugrafia</strong></p> <p>- Quandu omu adopra caràtteri parèntesi o ancini, ùn mettite puru micca spazi dopu à quellu chì apre, nè prima di quellu chì chjode.</p> <p>- In e spressioni PHP, lasciate puru un spaziu da ogni latu di l'uperatori binari (+, =, *, AND, ...).</p> <p>- L'uperatori unari (!, ...) devessenu appiccitati à u paràmetru à chì venenu appiecati.</p> <p>- Da cunvenuta, quandu vene chjamata qualchì funzione, ùn ci hè spaziu davanti a parèntesi chì apre : « f($x) » invece di « f ($x) ».
À l'incuntrariu, da ch'ella sia bella diferenziata, si lascia un spaziu davanti a parèntesi quand'ellu s'agisce d'una variàbile di cuntrollu integrata à u linguagiu: « if (!$x) » invece di « if(!$x) ».</p> <p>- Dopu à vìrgule è punti vìrgule vene un spaziu. Invece davanti ùn li ne vene.</p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/c0yKDIPETIU" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/co_article4423.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>#BALISE* et #BALISE**</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/Nf-ONJqk_LE/fr_article4376.html</link>
		<guid isPermaLink="false">http://www.spip.net/fr_article4376.html</guid>
		<dc:date>2009-11-05T14:42:22Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>denisb</dc:creator>


		<dc:subject>#ENV</dc:subject>
		<dc:subject>SPIP 1.9</dc:subject>
		<dc:subject>etoile</dc:subject>

		<description>Par défaut, SPIP applique automatiquement sur chaque #BALISE rencontrée dans les squelettes tous les traitements (filtres ou fonctions de transformation) qui lui sont spécifiques, traitements définis dans #$GLOBALS['table_des_traitements']['BALISE']. Dans certains cas, par exemple pour exécuter un filtre personnel avant l'application automatique des fonctions internes de SPIP, il peut être nécessaire de désactiver ce traitement. L'étoile simple : * On utilisera dans ce cas la notation #BALISE* à (...)

-
&lt;a href="http://www.spip.net/rubrique469.html" rel="directory"&gt;Autres fonctions avancées&lt;/a&gt;

/ 
&lt;a href="http://www.spip.net/@env" rel="tag"&gt;#ENV&lt;/a&gt;, 
&lt;a href="http://www.spip.net/@spip19" rel="tag"&gt;SPIP 1.9&lt;/a&gt;, 
&lt;a href="http://www.spip.net/@etoile" rel="tag"&gt;etoile&lt;/a&gt;

		</description>


 <content:encoded><![CDATA[<div class='rss_chapo'><p>Par défaut, SPIP applique automatiquement sur chaque #BALISE rencontrée dans les squelettes tous les traitements (filtres ou fonctions de transformation) qui lui sont spécifiques, traitements définis dans <code class='spip_code' dir='ltr'>#$GLOBALS['table_des_traitements']['BALISE']</code>.</p></div>
		<div class='rss_texte'><p>Dans certains cas, par exemple pour <i>exécuter un filtre personnel <strong>avant</strong> l'application automatique des fonctions internes de SPIP</i>, il peut être nécessaire de désactiver ce traitement.</p> <h3 class="spip">L'étoile simple : <code class='spip_code' dir='ltr'> </code>*</h3>
<p>On utilisera dans ce cas la notation <strong><code class='spip_code' dir='ltr'>#BALISE*</code></strong> à laquelle on appliquera son filtre personnel en prenant bien soin de vérifier s'il est nécessaire d'y ajouter <strong>après</strong> les traitements internes que l'on vient de désactiver.</p> <p>Par exemple :</p>
<div style='text-align: left;' class='spip_code' dir='ltr'><code>[(#TEXTE*|mon_filtre|propre)]</code></div>
<p> commencera par <i>désactiver</i> les traitements automatiques appliqués à #TEXTE et définis dans <code class='spip_code' dir='ltr'>#$GLOBALS['table_des_traitements']['TEXTE']</code> ;
<br />puis <i>appliquera</i> le filtre personnel <code class='spip_code' dir='ltr'>|mon_filtre</code> ;
<br />enfin <i>appliquera</i> le filtre <code class='spip_code' dir='ltr'>|propre</code> qui venait d'être désactivé par l'utilisation de <strong><code class='spip_code' dir='ltr'>*</code></strong>.</p> <p>Illustration :
<br />Le texte de mon article, tel que je l'ai saisi dans l'interface privée et tel qu'il est archivé en base de données est [<a href='#nb2-1' class='spip_note' rel='footnote' title='merci à Victor Hugo pour cet extrait de Notre Dame de Paris.' id='nh2-1'>1</a>] :</p>
<div style='text-align: left;' class='spip_code' dir='ltr'><code><img388|left><br /> <br /> Il y a aujourd'hui {trois cent quarante-huit ans six mois et dix-neuf jours} que les parisiens s'éveillèrent au bruit de toutes les cloches sonnant à grande volée dans la triple enceinte de la Cité, de l'Université et de la Ville.<br /> _ Ce n'est cependant pas un jour dont l'histoire ait gardé souvenir que le {{6 janvier 1482}}.</code></div>
<p><strong><code class='spip_code' dir='ltr'>#TEXTE</code></strong> affiche le source html suivant (avec les traitements par défaut donc) :</p>
<div style='text-align: left;' class='spip_code' dir='ltr'><code><p><span class="spip_document_388 spip_documents spip_documents_left" style="float: left; width: 150px;"><br /> <img src="../local/cache-vignettes/L150xH150/extraits-4f9ff.jpg" alt="" style="height: 150px; width: 150px;" height="150" width="150"></span></p><br /> <p>Il y a aujourd'hui <i>trois cent quarante-huit ans six mois et dix-neuf jours</i> que les parisiens s'éveillèrent au bruit de toutes les cloches sonnant à grande volée dans la triple enceinte de la Cité, de l'Université et de la Ville.<br /> <br>Ce n'est cependant pas un jour dont l'histoire ait gardé souvenir que le <strong>6 janvier 1482</strong>.</p></code></div>
<p><strong><code class='spip_code' dir='ltr'>#TEXTE*</code></strong> affichera le source html suivant :</p>
<div style='text-align: left;' class='spip_code' dir='ltr'><code><img388|left><br /> <br /> Il y a aujourd'hui {trois cent quarante-huit ans six mois et dix-neuf jours} que les parisiens s'éveillèrent au bruit de toutes les cloches sonnant à grande volée dans la triple enceinte de la Cité, de l'Université et de la Ville.<br /> _ Ce n'est cependant pas un jour dont l'histoire ait gardé souvenir que le {{6 janvier 1482}}.</code></div>
<p>Sur ce source <i>brut</i>, j'applique mon filtre perso (disons qu'il modifie l'image associée à cet article et ce <i>pour ce squelette spécifiquement</i>, ce qui m'interdit de le faire en ré-éditant l'article...). Ce filtre, donc, recherche la séquence <code class='spip_code' dir='ltr'><imgxxx|</code> pour la remplacer par <code class='spip_code' dir='ltr'><img25|</code> ; pour simplifier : il remplace les images de l'article par une image unique. Noter que ceci n'aurait pas été possible (du moins, pas <i>simplement</i>) à partir du source html retourné par l'utilisation de <code class='spip_code' dir='ltr'>#TEXTE</code>.</p> <p>Maintenant que mon filtre a fait son travail, il me faut appeler le traitement automatique que SPIP applique à la balise <code class='spip_code' dir='ltr'>#TEXTE</code> pour retrouver le traitement du (nouveau) modèle <code class='spip_code' dir='ltr'><img25|left></code> et les traitements typographiques divers : gras, italique...</p> <p>J'appelle donc dans mon squelette :<code class='spip_code' dir='ltr'>[(#TEXTE*|mon_filtre|propre)]</code> qui me retournera bien le source html :</p>
<div style='text-align: left;' class='spip_code' dir='ltr'><code><p><span class='spip_document_25 spip_documents spip_documents_left' style='float:left; width:180px;'><br /> <img src='IMG/png/defaut_cache.png' width="180" height="180" alt="" /></span></p><br /> <p>Il y a aujourd'hui <i>trois cent quarante-huit...</code></div>
<h3 class="spip">L'étoile double : <code class='spip_code' dir='ltr'> </code>**</h3>
<p>En plus de ce que l'on vient de voir, SPIP applique par défaut à toutes les balises rencontrées dans un squelette un <strong>traitement de sécurité</strong> qui interdit l'exécution de script (php ou javascript) susceptible d'être retourné par la balise. Par exemple un <code class='spip_code' dir='ltr'><?php echo 'toto'; ?></code>, inclus dans le corps du texte d'un article, ne sera pas exécuté (« toto » ne s'affichera pas).</p> <p>Dans certains cas,<strong> trés spécifiques</strong>, il peut, cependant, être nécessaire de récupérer la valeur brute, non <i>désinfectée</i> (donc potentiellement dangereuse), d'une balise. Par exemple pour traiter certains retours de formulaires, certaines variables d'environnement passées dans <code class='spip_code' dir='ltr'>#ENV</code>.</p> <p>Dans ces cas là, et en étant conscient des risques posés, on utilisera la notation <strong><code class='spip_code' dir='ltr'>#BALISE**</code></strong>. Mais une fois encore, attention à cette écriture (voir à ce propos l'utilisation de la balise <a href='http://www.spip.net/fr_article4014.html' class='spip_in'>#ENV</a>).</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code> <br /> <br /> <br /> </code></div></div>
		<hr />
		<div class='rss_notes'><p>[<a href='#nh2-1' id='nb2-1' class='spip_note' title='Notes 2-1' rev='footnote'>1</a>] merci à Victor Hugo pour cet extrait de <i>Notre Dame de Paris</i>.</p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/Nf-ONJqk_LE" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/fr_article4376.html</feedburner:origLink></item>
<item xml:lang="es">
		<title>Formatos de archivo reconocidos por SPIP</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/08MwNFBHXH4/es_article4454.html</link>
		<guid isPermaLink="false">http://www.spip.net/es_article4454.html</guid>
		<dc:date>2009-11-04T06:56:53Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>David Sánchez Crespillo</dc:creator>



		<description>SPIP reconoce un cierto número de formatos de archivo en su bucle DOCUMENTS. La reacción de SPIP cuando no reconoce una extensión es comprimir ese fichero por razones de seguridad. Por ejemplo, eso evita que el script de un archivo PHP sea ejecutado cuando se añade ese archivo a los documentos adjuntos (de un artículo o de una sección). Si se desea añadir un formato de archivo suplementario, por ejemplo un Powerpoint (pps), se debe añadir ese formato a la tabla spip_types_documents de la base de (...)

-
&lt;a href="http://www.spip.net/rubrique524.html" rel="directory"&gt;Para profundizar más&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p><strong>SPIP</strong> reconoce un cierto número de formatos de archivo en su bucle <code class='spip_code' dir='ltr'>DOCUMENTS</code>.
<br />La reacción de SPIP cuando no reconoce una extensión es comprimir ese fichero por razones de seguridad. Por ejemplo, eso evita que el script de un archivo PHP sea ejecutado cuando se añade ese archivo a los documentos adjuntos (de un artículo o de una sección).</p> <p>Si se desea añadir un formato de archivo suplementario, por ejemplo un Powerpoint (pps), se debe añadir ese formato a la tabla <code class='spip_code' dir='ltr'>spip_types_documents</code> de la base de datos, mediante phpMyAdmin.
<br />Para conocer los distintos <i>tipos MIME</i>, se puede consultar el siguiente artículo en la Wikipedia <a href='http://es.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions' class='spip_glossaire'>Multipurpose Internet Mail Extensions</a>.</p> <p>He aquí la lista completa de las extensiones/formatos reconocidos por <a href='http://www.spip.net/es_article3839.html' class='spip_in'><span style='color: #273494;'>SPIP 2.0</span></a>, en orden alfabético:</p>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong>titre</strong></th><th scope='col'><strong>extension</strong></th><th scope='col'><strong>mime_type</strong></th></tr></thead>
<tbody>
<tr class='row_even'>
<td>3rd Generation Partnership Project</td>
<td>3gp</td>
<td>video/3gpp</td></tr>
<tr class='row_odd'>
<td>Abiword</td>
<td>abw</td>
<td>application/abiword</td></tr>
<tr class='row_even'>
<td>Adobe Illustrator</td>
<td>ai</td>
<td>application/illustrator</td></tr>
<tr class='row_odd'>
<td>AIFF</td>
<td>aiff</td>
<td>audio/x-aiff</td></tr>
<tr class='row_even'>
<td>Annodex</td>
<td>anx</td>
<td>application/annodex</td></tr>
<tr class='row_odd'>
<td>Annodex Audio</td>
<td>axa</td>
<td>audio/annodex</td></tr>
<tr class='row_even'>
<td>Annodex Video</td>
<td>axv</td>
<td>video/annodex</td></tr>
<tr class='row_odd'>
<td>AVI</td>
<td>avi</td>
<td>video/x-msvideo</td></tr>
<tr class='row_even'>
<td>Binary Data</td>
<td>bin</td>
<td>application/octet-stream</td></tr>
<tr class='row_odd'>
<td>BitTorrent</td>
<td>torrent</td>
<td>application/x-bittorrent</td></tr>
<tr class='row_even'>
<td>Blender</td>
<td>blend</td>
<td>application/x-blender</td></tr>
<tr class='row_odd'>
<td>BMP</td>
<td>bmp</td>
<td>image/x-ms-bmp</td></tr>
<tr class='row_even'>
<td>BZip</td>
<td>bz2</td>
<td>application/x-bzip2</td></tr>
<tr class='row_odd'>
<td>C header</td>
<td>h</td>
<td>text/x-chdr</td></tr>
<tr class='row_even'>
<td>C source</td>
<td>c</td>
<td>text/x-csrc</td></tr>
<tr class='row_odd'>
<td>Cascading Style Sheet</td>
<td>css</td>
<td>text/css</td></tr>
<tr class='row_even'>
<td>Comma Separated Values</td>
<td>csv</td>
<td>text/csv</td></tr>
<tr class='row_odd'>
<td>Debian</td>
<td>deb</td>
<td>application/x-debian-package</td></tr>
<tr class='row_even'>
<td>DjVu</td>
<td>djvu</td>
<td>image/vnd.djvu</td></tr>
<tr class='row_odd'>
<td>Excel</td>
<td>xls</td>
<td>application/vnd.ms-excel</td></tr>
<tr class='row_even'>
<td>Flash</td>
<td>swf</td>
<td>application/x-shockwave-flash</td></tr>
<tr class='row_odd'>
<td>Flash Video</td>
<td>flv</td>
<td>video/x-flv</td></tr>
<tr class='row_even'>
<td>Free Lossless Audio Codec</td>
<td>flac</td>
<td>audio/x-flac</td></tr>
<tr class='row_odd'>
<td>GIF</td>
<td>gif</td>
<td>image/gif</td></tr>
<tr class='row_even'>
<td>GIMP multi-layer</td>
<td>xcf</td>
<td>application/x-xcf</td></tr>
<tr class='row_odd'>
<td>Google Earth Placemark File</td>
<td>kmz</td>
<td>application/vnd.google-earth.kmz</td></tr>
<tr class='row_even'>
<td>GZ</td>
<td>gz</td>
<td>application/x-gzip</td></tr>
<tr class='row_odd'>
<td>HTML</td>
<td>html</td>
<td>text/html</td></tr>
<tr class='row_even'>
<td>JPEG</td>
<td>jpg</td>
<td>image/jpeg</td></tr>
<tr class='row_odd'>
<td>Keyhole Markup Language</td>
<td>kml</td>
<td>application/vnd.google-earth.kml+xml</td></tr>
<tr class='row_even'>
<td>LaTeX</td>
<td>tex</td>
<td>text/x-tex</td></tr>
<tr class='row_odd'>
<td>LaTeX Class</td>
<td>cls</td>
<td>text/x-tex</td></tr>
<tr class='row_even'>
<td>LaTeX DVI</td>
<td>dvi</td>
<td>application/x-dvi</td></tr>
<tr class='row_odd'>
<td>LaTeX Style Sheet</td>
<td>sty</td>
<td>text/x-tex</td></tr>
<tr class='row_even'>
<td>Matroska Audio</td>
<td>mka</td>
<td>audio/mka</td></tr>
<tr class='row_odd'>
<td>Matroska Video</td>
<td>mkv</td>
<td>video/mkv</td></tr>
<tr class='row_even'>
<td>Midi</td>
<td>mid</td>
<td>audio/midi</td></tr>
<tr class='row_odd'>
<td>MNG</td>
<td>mng</td>
<td>video/x-mng</td></tr>
<tr class='row_even'>
<td>MP3</td>
<td>mp3</td>
<td>audio/mpeg</td></tr>
<tr class='row_odd'>
<td>MPEG</td>
<td>mpg</td>
<td>video/mpeg</td></tr>
<tr class='row_even'>
<td>MPEG4</td>
<td>mp4</td>
<td>application/mp4</td></tr>
<tr class='row_odd'>
<td>Ogg Audio</td>
<td>oga</td>
<td>audio/ogg</td></tr>
<tr class='row_even'>
<td>Ogg Multiplex</td>
<td>ogx</td>
<td>application/ogg</td></tr>
<tr class='row_odd'>
<td>Ogg Speex</td>
<td>spx</td>
<td>audio/ogg</td></tr>
<tr class='row_even'>
<td>Ogg Video</td>
<td>ogv</td>
<td>video/ogg</td></tr>
<tr class='row_odd'>
<td>Ogg Vorbis</td>
<td>ogg</td>
<td>audio/ogg</td></tr>
<tr class='row_even'>
<td>opendocument chart</td>
<td>odc</td>
<td>application/vnd.oasis.opendocument.chart</td></tr>
<tr class='row_odd'>
<td>opendocument database</td>
<td>odb</td>
<td>application/vnd.oasis.opendocument.database</td></tr>
<tr class='row_even'>
<td>opendocument formula</td>
<td>odf</td>
<td>application/vnd.oasis.opendocument.formula</td></tr>
<tr class='row_odd'>
<td>opendocument graphics</td>
<td>odg</td>
<td>application/vnd.oasis.opendocument.graphics</td></tr>
<tr class='row_even'>
<td>opendocument graphics-template</td>
<td>otg</td>
<td>application/vnd.oasis.opendocument.graphics-template</td></tr>
<tr class='row_odd'>
<td>opendocument image</td>
<td>odi</td>
<td>application/vnd.oasis.opendocument.image</td></tr>
<tr class='row_even'>
<td>opendocument presentation</td>
<td>odp</td>
<td>application/vnd.oasis.opendocument.presentation</td></tr>
<tr class='row_odd'>
<td>opendocument presentation-template</td>
<td>otp</td>
<td>application/vnd.oasis.opendocument.presentation-template</td></tr>
<tr class='row_even'>
<td>opendocument spreadsheet</td>
<td>ods</td>
<td>application/vnd.oasis.opendocument.spreadsheet</td></tr>
<tr class='row_odd'>
<td>opendocument spreadsheet-template</td>
<td>ots</td>
<td>application/vnd.oasis.opendocument.spreadsheet-template</td></tr>
<tr class='row_even'>
<td>opendocument text</td>
<td>odt</td>
<td>application/vnd.oasis.opendocument.text</td></tr>
<tr class='row_odd'>
<td>opendocument text-master</td>
<td>odm</td>
<td>application/vnd.oasis.opendocument.text-master</td></tr>
<tr class='row_even'>
<td>opendocument text-template</td>
<td>ott</td>
<td>application/vnd.oasis.opendocument.text-template</td></tr>
<tr class='row_odd'>
<td>OpenOffice.org</td>
<td>sxw</td>
<td>application/vnd.sun.xml.writer</td></tr>
<tr class='row_even'>
<td>OpenOffice.org Calc</td>
<td>sxc</td>
<td>application/vnd.sun.xml.calc</td></tr>
<tr class='row_odd'>
<td>OpenOffice.org Impress</td>
<td>sxi</td>
<td>application/vnd.sun.xml.impress</td></tr>
<tr class='row_even'>
<td>Pascal</td>
<td>pas</td>
<td>text/x-pascal</td></tr>
<tr class='row_odd'>
<td>PDF</td>
<td>pdf</td>
<td>application/pdf</td></tr>
<tr class='row_even'>
<td>Photoshop</td>
<td>psd</td>
<td>image/x-photoshop</td></tr>
<tr class='row_odd'>
<td>PNG</td>
<td>png</td>
<td>image/png</td></tr>
<tr class='row_even'>
<td>Portable Game Notation</td>
<td>pgn</td>
<td>application/x-chess-pgn</td></tr>
<tr class='row_odd'>
<td>PostScript</td>
<td>eps</td>
<td>application/postscript</td></tr>
<tr class='row_even'>
<td>PostScript</td>
<td>ps</td>
<td>application/postscript</td></tr>
<tr class='row_odd'>
<td>PowerPoint</td>
<td>ppt</td>
<td>application/vnd.ms-powerpoint</td></tr>
<tr class='row_even'>
<td>QuickTime</td>
<td>mov</td>
<td>video/quicktime</td></tr>
<tr class='row_odd'>
<td>QuickTime</td>
<td>qt</td>
<td>video/quicktime</td></tr>
<tr class='row_even'>
<td>RealAudio</td>
<td>ra</td>
<td>audio/x-pn-realaudio</td></tr>
<tr class='row_odd'>
<td>RealAudio</td>
<td>ram</td>
<td>audio/x-pn-realaudio</td></tr>
<tr class='row_even'>
<td>RealAudio</td>
<td>rm</td>
<td>audio/x-pn-realaudio</td></tr>
<tr class='row_odd'>
<td>RedHat/Mandrake/SuSE</td>
<td>rpm</td>
<td>application/x-redhat-package-manager</td></tr>
<tr class='row_even'>
<td>RTF</td>
<td>rtf</td>
<td>application/rtf</td></tr>
<tr class='row_odd'>
<td>Scalable Vector Graphics</td>
<td>svg</td>
<td>image/svg+xml</td></tr>
<tr class='row_even'>
<td>StarOffice</td>
<td>sdd</td>
<td>application/vnd.stardivision.impress</td></tr>
<tr class='row_odd'>
<td>StarOffice</td>
<td>sdw</td>
<td>application/vnd.stardivision.writer</td></tr>
<tr class='row_even'>
<td>Stuffit</td>
<td>sit</td>
<td>application/x-stuffit</td></tr>
<tr class='row_odd'>
<td>texte</td>
<td>txt</td>
<td>text/plain</td></tr>
<tr class='row_even'>
<td>TGZ</td>
<td>tgz</td>
<td>application/x-gtar</td></tr>
<tr class='row_odd'>
<td>TIFF</td>
<td>tif</td>
<td>image/tiff</td></tr>
<tr class='row_even'>
<td>TTF Font</td>
<td>ttf</td>
<td>application/x-font-ttf</td></tr>
<tr class='row_odd'>
<td>WAV</td>
<td>wav</td>
<td>audio/x-wav</td></tr>
<tr class='row_even'>
<td>Windows Media</td>
<td>asf</td>
<td>video/x-ms-asf</td></tr>
<tr class='row_odd'>
<td>Windows Media</td>
<td>wmv</td>
<td>video/x-ms-wmv</td></tr>
<tr class='row_even'>
<td>Word</td>
<td>doc</td>
<td>application/msword</td></tr>
<tr class='row_odd'>
<td>XML</td>
<td>xml</td>
<td>application/xml</td></tr>
<tr class='row_even'>
<td>XSPF</td>
<td>xspf</td>
<td>application/xspf+xml</td></tr>
<tr class='row_odd'>
<td>Zip</td>
<td>zip</td>
<td>application/zip</td></tr>
</tbody>
</table></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/08MwNFBHXH4" height="1" width="1"/>]]></content:encoded>


		
		<enclosure url="http://www.spip.net/IMG/csv/spip_type_document-2.csv" length="3599" type="text/csv" />
		

	<media:content url="http://www.spip.net/IMG/csv/spip_type_document-2.csv" fileSize="3599" type="text/csv" /><itunes:explicit>yes</itunes:explicit><itunes:subtitle>SPIP reconoce un cierto número de formatos de archivo en su bucle DOCUMENTS. La reacción de SPIP cuando no reconoce una extensión es comprimir ese fichero por razones de seguridad. Por ejemplo, eso evita que el script de un archivo PHP sea ejecutado cuand</itunes:subtitle><itunes:summary>SPIP reconoce un cierto número de formatos de archivo en su bucle DOCUMENTS. La reacción de SPIP cuando no reconoce una extensión es comprimir ese fichero por razones de seguridad. Por ejemplo, eso evita que el script de un archivo PHP sea ejecutado cuando se añade ese archivo a los documentos adjuntos (de un artículo o de una sección). Si se desea añadir un formato de archivo suplementario, por ejemplo un Powerpoint (pps), se debe añadir ese formato a la tabla spip_types_documents de la base de (...) - Para profundizar más </itunes:summary><feedburner:origLink>http://www.spip.net/es_article4454.html</feedburner:origLink></item>
<item xml:lang="co">
		<title>Parlendu di i fori</title>
		<link>http://feedproxy.google.com/~r/Spip/~3/bskAvB9wKxw/co_article4421.html</link>
		<guid isPermaLink="false">http://www.spip.net/co_article4421.html</guid>
		<dc:date>2009-11-03T17:37:54Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>co</dc:language>
		<dc:creator>tavamig</dc:creator>



		<description>Fate casu: ùn sò più uspitati fori nant'à stu situ. In cunsequenza st'artìculu ùn hè più d'attualità. Hè solu tenutu da archiviu, postu ch'ella ferma sempre vàlida a parte chì tratta di a muderazione. I fori in tutte e lingue Venenu attivati i fori à livellu d'una rùbbrica. Di fatti, per tutti l'artìculi di u situ, hè cunservata a cunfigurazione «predefinita» di i fori (vene à dì attivati è muderati dopu). U solu affare hè chì di règula ùn venenu à cumparisce in i mudelli; ma lascia quessa a pussibulità in (...)

-
&lt;a href="http://www.spip.net/rubrique610.html" rel="directory"&gt;Traduce SPIP&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_chapo'><p>Fate casu: ùn sò più uspitati fori nant'à stu situ. In cunsequenza st'artìculu ùn hè più d'attualità. Hè solu tenutu da archiviu, postu ch'ella ferma sempre vàlida a parte chì tratta di a muderazione.</p></div>
		<div class='rss_texte'><h3 class="spip">I fori in tutte e lingue</h3>
<p>Venenu attivati i fori à livellu d'una rùbbrica. Di fatti, per tutti l'artìculi di u situ, hè cunservata a cunfigurazione «predefinita» di i fori (vene à dì attivati è muderati dopu). U solu affare hè chì di règula ùn venenu à cumparisce in i mudelli; ma lascia quessa a pussibulità in sèguitu di «ghjucà» cù i fori per ogni pàgina in casumai di futuri sviluppi (per esempiu: rimette u sistema di «nutazione» di e FAQ).</p> <p>Per creà una rùbbrica «à foru», basta à appiccicà li, in u spaziu privatu, u segnu «Fori». Tutti l'artìculi pubblicati in sta rùbbrica averanu tandu l'interfaccia apposta per i fori.</p> <p>Nant'à spip.net, i fori anu un tema. U tema hè u tìtulu di l'artìculu chì l'accoglie:
<br />- da ottene una classìfica «lògica» di i fori, date puru un nùmeru à l'artìculi (per esempiu: «1. Stallazione», «2. Adopru di u spaziu privatu»...);
<br />- in u testu di l'artìculu, scrivite puru qualchì descrizzione in un o dui paràgrafi, da spiecà u sugettu trattatu in stu foru.</p> <p>N.B. I fori di lingua venenu à cumparisce in a culonna à manca, qualsìasi a pàgina di rùbbrica.</p> <h3 class="spip">Muderazione di i fori</h3>
<p>Quand'è vo create l'artìculu di foru, site individuatu in autumàticu da autore di l'artìculu (funzione predefinita SPIP). Sè vo a lasciate cusì, riceverete un mail à ogni messagiu postu in u foru di st'artìculu. Vi pone vene còmuda quessa per seguità a vita di u foru; ma pò ancu diventà una sega s'ellu hè assai praticatu u foru (parechji messagi à ghjornu). Tocca à voi à sapè sè vo vulete riceve quelli mail di veghja di u foru.</p> <p>Da ùn riceve li più, basta à ùn esse più l'autore di l'artìculu. N.B. Di listessu modu, basta à aghjunghje da autore qualunque voli riceve sti mail.</p> <p>Cù a sperienza, sapimu chì i fori di SPIP diventanu in furia belli zuffi. A nuvella prisentazione hè fatta da ch'elli sianu cunsultèvuli più fàciule (in particulare per a ricerca d'una quistione digià posta). Da facilità l'archiviu di a ducumentazione di sti fori (aghju un prublemu, lascia mi vede s'ella hè stata digià posta è risolta a mo quistione...), femu muderazione da arricumandà dui punti impurtanti:
<br />- e quistioni (i messagi di primu livellu chì inizianu un filu di discursata) <i>devenu</i> avè un tìtulu aggalabbatu è sensatu (cusì ferma leghjitoghju u tavulone chì riassume tutte e quistioni); e quistioni senza tìtulu devenu esse sguassate (ci hè un grossu warning in grassettu in cima di pàgina per pustà u messagiu, basterà?...); N.B. Quessa ùn vale per e risposte à e quistioni, postu chì li vene in autumàticu «> A quistione», da navigà còmudu;
<br />- verificate puru chì e quistioni venenu poste in u foru aggalabbatu (cù a sperienza, sapimu chì certi utilizatori postanu à cicchiciambara...); quì dinò, sguassate i messagi chì à issu locu ùn ci anu nunda à chì fà.</p> <p>Pigliemu un messagiu ch'hè statu sguassatu per l'una o l'altra ragione quì sopra. In casu ch'ella era interessante a quistione (sprimata linda è chjara, sugettu nancu à trattà in u foru), omu pò turnà à pustà un messagiu cù u tìtulu currettu, o puru pustà lu in un altru foru; tandu cunsigliemu d'indettà ch'ellu s'agisce d'un messagiu turnatu à pustà, aghjunghjendu u messagiu iniziale da citazione (<code class='spip_code' dir='ltr'><html><quote>...</quote></html></code>).</p> <p>Per altru restu, di règula ùn ponenu prublemu di muderazione i fori cunsacrati à SPIP. Più o menu, ci sò dui tippi di messagi chì ci tocca à curà:
<br />- i messagi chì facenu falà nant'à qualchì òspite o pruduttu cummerciale: quessi i messagi à colpu sicuru ci arrecanu minacce di lagnanze è capatoghji; s'ellu vi pare propriu diffamatoriu un messagiu (à l'usu: «vai puru, l'òspite Cosu, hè cacarònzulu bellu impacchitatu»), sguassate lu... è poi dumandate puru à l'autore di u messagiu di turnà à scrive una crìtica argumentata cum'è di si deve («cù Cosu, l'adopru di SPIP vene diffìciule o impussìbule per tale o tale ragione...»), chì, vogliu crede, serà più ùtule à l'altri participanti;
<br />- i messagi chì pruponenu qualchì suluzione tècnica usendu PHP, è chì aprenu una sgheza di sicurezza in i siti (à l'usu, accedendu à a basa di dati cù parulle piatte direttamente in u mudellu): pustate li sùbbitu sùbbitu un messagiu in coda, cù avertimenti in grassettu, rossu spampillulante, è ancu trumbette è trumbittoni sè vo pudete, da spiecà chì mancu per ride ci vole à aduprà stu pezzu di còdice.</p></div>
		
		<img src="http://feeds.feedburner.com/~r/Spip/~4/bskAvB9wKxw" height="1" width="1"/>]]></content:encoded>


		

	<feedburner:origLink>http://www.spip.net/co_article4421.html</feedburner:origLink></item>



<media:rating>adult</media:rating></channel>

</rss>
