<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel>
	<title>SPIP-Contrib</title>
	<link>https://contrib.spip.net/</link>
	<description>SPIP's friends
</description>
	<language>en</language>
	<generator>SPIP - https://contrib.spip.net</generator>

	<image>
		<title>SPIP-Contrib</title>
		<url>https://files.spip.org/IMG/logo/siteon0.png?1229799194</url>
		<link>https://contrib.spip.net/</link>
		<height>250</height>
		<width>261</width>
	</image>


	



	<item>
		<title>The BREVES loop (news items)</title>
		<link>https://files.spip.org/The-BREVES-loop-news-items</link>
		<guid isPermaLink="true">https://files.spip.org/The-BREVES-loop-news-items</guid>
		<dc:date>2020-06-07T16:59:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		

<category domain="https://files.spip.org/The-BREVES-loop-news-items">Br&#232;ves</category>


		<description>
&lt;p&gt;The BREVES loop, as its French name indicates, returns a list of news items. &lt;br class='autobr' /&gt;
`` &lt;br class='autobr' /&gt; The selection criteria &lt;br class='autobr' /&gt;
We will use one of the following criteria to indicate how we will select the elements: tout, i.e. &#8220;all&#8221;, will select all the news items available on the site. id_breve returns the news item identified by id_breve. Since the identifier of each news item is unique, this criterion will return one or zero records. id_rubrique returns all the news items available in the current section&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/The-BREVES-loop-news-items" rel="directory"&gt;Br&#232;ves&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L64xH64/breves-d95ca-bre-bf4b989b-c9671.svg?1773497997' class='spip_logo spip_logo_right' alt=&#034;&#034; width='64' height='64' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;The &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;BREVES&lt;/code&gt; loop, as its French name indicates, returns a list of news items.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLEn(BREVES){criteria...}&gt;&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-2&#034; id=&#034;nav69b56e8d5ed5b5.69875069&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-The-selection-criteria&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#The-selection-criteria&#034; class=&#034;spip_ancre&#034;&gt;The selection criteria&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Tags-for-this-loop&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Tags-for-this-loop&#034; class=&#034;spip_ancre&#034;&gt;Tags for this loop&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;h2 class=&#034;h2&#034; id='The-selection-criteria'&gt;The selection criteria&lt;a class='sommaire-back sommaire-back-2' href='#s-The-selection-criteria' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We will use one of the following criteria to indicate how we will select the elements:&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{tout}&lt;/code&gt;&lt;/strong&gt;, i.e. &#8220;all&#8221;, will select all the news items available on the site.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_breve}&lt;/code&gt;&lt;/strong&gt; returns the news item identified by &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;id_breve&lt;/code&gt;. Since the identifier of each news item is unique, this criterion will return one or zero records.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_rubrique}&lt;/code&gt;&lt;/strong&gt; returns all the news items available in the current section (rubrique), where &#8220;current&#8221; refers to the contextual environment of any surrounding loops.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_mot}&lt;/code&gt;&lt;/strong&gt; returns all the news items linked to the current keyword (inside a MOTS loop, for instance).&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_mot}&lt;/code&gt;&lt;/strong&gt; returns all the news items linked to the current keyword (inside a MOTS loop, for instance).&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{titre_mot=xxxx}&lt;/code&gt;&lt;/strong&gt;, or &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{type_mot=yyyy}&lt;/code&gt;&lt;/strong&gt; returns the news items linked to the keyword named &#8220;xxxx&#8221; or the keyword group named &#8220;yyyy&#8221;. Warning, you cannot use the criteria &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{titre_mot=xxxx}&lt;/code&gt; or&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{type_mot=yyyy}&lt;/code&gt; several times in the same loop.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_groupe=zzzz}&lt;/code&gt;&lt;/strong&gt; returns the news items linked to a given keyword group; it is the same technique &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{type_mot}&lt;/code&gt;, but since we're working with an identifier (a group number ), the syntax will be &#8220;cleaner&#8221;.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{lang}&lt;/code&gt;&lt;/strong&gt; selects the news items in the language requested in the page's address.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{recherche}&lt;/code&gt;&lt;/strong&gt; i.e. search, returns the news items matching the words entered in the search interface (search engine incorporated into SPIP).&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Tags-for-this-loop'&gt;Tags for this loop&lt;a class='sommaire-back sommaire-back-2' href='#s-Tags-for-this-loop' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;- &lt;strong&gt;Tags retrieved from the database&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following tags represent the items retrieved from the database (as opposed to those that are &#8220;calculated&#8221; and are explained later). You can also use them as sorting criterion (usually: &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{par titre}&lt;/code&gt;, i.e. by title).&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#ID_BREVE&lt;/code&gt; returns the unique identifier of the news item.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#TITRE&lt;/code&gt; returns the title of the news item.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#DATE&lt;/code&gt; returns the publishing date of the news item.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#TEXTE&lt;/code&gt; returns the text of the news item.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#NOM_SITE&lt;/code&gt; returns the name of the site given as the reference for the news.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#URL_SITE&lt;/code&gt; returns the URL of the site given as the reference for the news item.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#ID_RUBRIQUE&lt;/code&gt; returns the unique identifier of the section (rubrique) in which this news item is located.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LANG&lt;/code&gt; returns the language of the news item. By default, this is the language of the sector in which the news item has been published.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Tags calculated by SPIP&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following elements are calculated by SPIP. (They cannot be used as sorting criterion.)&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#NOTES&lt;/code&gt; returns the footnotes (calculated from the analysis of the text).&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#INTRODUCTION&lt;/code&gt; the first 600 characters of the text, where the typographical embellishments (bold, italic, ...) are removed.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#URL_BREVE&lt;/code&gt; is the complete URL of the news item's page.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#FORMULAIRE_FORUM&lt;/code&gt; creates and displays the forum interface of the news item.&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#PARAMETRES_FORUM&lt;/code&gt; creates the list of variables used by the form interface to post on the forum of the news item. For instance:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[&lt;a href=&#034;spip.php?page=forum&amp;(#PARAMETRES_FORUM)&#034;&gt;Reply to this news item&lt;/a&gt;] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;It is possible to pass this tag a parameter specifying the return address to link to after having posted the new message to the forums. For example: &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;a href=&#034;spip.php?page=forum&amp;(#PARAMETRES_FORUM{#SELF})&#034;&gt;Reply to this news item&lt;/a&gt;&lt;/code&gt; will return the visitor to the same current page once the message has been validated.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;The logo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_BREVE&lt;/code&gt; displays the logo of the news item and the hovering logo if it is applicable.&lt;/p&gt;
&lt;p&gt;The logo is inserted thus:&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGO_BREVE_RUBRIQUE&lt;/code&gt;&lt;/strong&gt; displays the logo of the news item, if it exists; if there is no logo, SPIP displays the logo of the section (rubrique).&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>CRITICAL security update : SPIP 3.2.4 &amp; SPIP 3.1.10 released</title>
		<link>https://files.spip.org/CRITICAL-security-update-SPIP-3-2-4-SPIP-3-1-10</link>
		<guid isPermaLink="true">https://files.spip.org/CRITICAL-security-update-SPIP-3-2-4-SPIP-3-1-10</guid>
		<dc:date>2019-04-08T15:05:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>L'&#233;quipe de SPIP-Contrib, Loiseau2nuit</dc:creator>

<category domain="https://files.spip.org/SPIP-core">SPIP-core</category>

		<dc:subject>En tete sommaire</dc:subject>

		<description>
&lt;p&gt;A critical security flaw in SPIP was recently brought to our attention letting any identified visitors execute random code. &lt;br class='autobr' /&gt;
It affects versions SPIP 3.1 prior to 3.1.10 and versions SPIP 3.2 priori to 3.2.4 and every websites running those versions.
&lt;br class='autobr' /&gt;
Versions 3.0 and prior are not affected by this issue &lt;br class='autobr' /&gt;
It's highly recommanded to perform an update as soon as possible. &lt;br class='autobr' /&gt;
SPIP team would like to thank Guillaume Fahrner who identified the flaw and alerted us.
&lt;br class='autobr' /&gt;
If you can't perform the&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-core" rel="directory"&gt;SPIP-core&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/+-En-tete-sommaire-+" rel="tag"&gt;En tete sommaire&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH150/arton5158-36117.png?1763975834' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;A &lt;strong&gt;critical&lt;/strong&gt; security flaw in SPIP was recently brought to our attention letting any identified visitors execute random code.&lt;/p&gt;
&lt;p&gt;It affects versions SPIP 3.1 prior to 3.1.10 and versions SPIP 3.2 priori to 3.2.4 and every websites running those versions.&lt;br class='autobr' /&gt;
Versions 3.0 and prior are not affected by this issue&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It's highly recommanded to perform an update as soon as possible.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SPIP team would like to thank Guillaume Fahrner who identified the flaw and alerted us.&lt;br class='autobr' /&gt;
If you can't perform the update right now, the safety_screen version 1.3.11 blocks any attempt to exploit that flaw.&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://www.spip.net/en_article4201.html&#034; class=&#034;spip_url spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;https://www.spip.net/en_article4201.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Updating the safety_screen is a patch and does not come as a replacement for any needed SPIP upgrade. You should perform it as soon as possible.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Complete announcement &amp; details&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://blog.spip.net/834&#034; class=&#034;spip_url spip_out&#034; hreflang=&#034;fr&#034; rel=&#034;external&#034;&gt;https://blog.spip.net/834&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download SPIP&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://www.spip.net/en_download&#034; class=&#034;spip_url spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;https://www.spip.net/en_download&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>Image Split</title>
		<link>https://files.spip.org/Image-Split-5084</link>
		<guid isPermaLink="true">https://files.spip.org/Image-Split-5084</guid>
		<dc:date>2019-03-01T07:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>goony</dc:creator>

<category domain="https://files.spip.org/Image-Split-5084">Image Split
</category>

		<dc:subject>GNU / General Public Licence</dc:subject>
		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>
		<dc:subject>Interface Fran&#231;ais</dc:subject>
		<dc:subject>Backoffice English</dc:subject>
		<dc:subject>Multimedia</dc:subject>
		<dc:subject>Squelette /priv&#233; surcharg&#233;</dc:subject>

		<description>
&lt;p&gt;This plugin lets you stack two images with a before/after effect. It uses the TwentyTwenty and Cropper JavaScript libraries. 1. Using the &#8220;split&#8221; model &lt;br class='autobr' /&gt;
The stack process is taken care of by the Jquery plugin TwentyTwenty. It is easy to use. All you have to do is using the &lt;split&gt; model/template, transmitting the two images' id_document as parameters: &lt;split|ids=83,91&gt; &lt;br class='autobr' /&gt;
Here is the result for two images showing two different variants of a motorcycle model: 2. TwentyTwenty&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/Image-Split-5084" rel="directory"&gt;Image Split
&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Licence-GPL" rel="tag"&gt;GNU / General Public Licence&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Interface-Francais" rel="tag"&gt;Interface Fran&#231;ais&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Backoffice-English" rel="tag"&gt;Backoffice English&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Multimedia" rel="tag"&gt;Multimedia&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Squelette-dist-surcharge" rel="tag"&gt;Squelette /priv&#233; surcharg&#233;&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L64xH64/image_split-4578-7d599350-33f38.png?1763968691' class='spip_logo spip_logo_right' alt=&#034;&#034; width='64' height='64' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;This plugin lets you stack two images with a before/after effect. It uses the &lt;a href=&#034;https://zurb.com/playground/twentytwenty&#034;&gt;TwentyTwenty&lt;/a&gt; and &lt;a href=&#034;https://fengyuanchen.github.io/cropperjs/&#034;&gt;Cropper&lt;/a&gt; JavaScript libraries.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-3&#034; id=&#034;nav69b56e8d6a2cc8.37348298&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-t1-Using-the-split-model&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#t1-Using-the-split-model&#034; class=&#034;spip_ancre&#034;&gt;1. Using the &#8220;split&#8221; model&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-t2-TwentyTwenty-settings&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#t2-TwentyTwenty-settings&#034; class=&#034;spip_ancre&#034;&gt;2. TwentyTwenty settings&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-t3-Using-the-Cropper-tool&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#t3-Using-the-Cropper-tool&#034; class=&#034;spip_ancre&#034;&gt;3. Using the &#8220;Cropper&#8221; tool&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;h2 class=&#034;h2&#034; id='t1-Using-the-split-model'&gt;1. Using the &#8220;split&#8221; model&lt;a class='sommaire-back sommaire-back-3' href='#s-t1-Using-the-split-model' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The stack process is taken care of by the Jquery plugin TwentyTwenty. It is easy to use. All you have to do is using the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;split&gt;&lt;/code&gt; model/template, transmitting the two images' &lt;var&gt;id_document&lt;/var&gt; as parameters:&lt;/p&gt;
&lt;div class='spip_document_15411 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH119/split_en-63ae7.jpg?1763975834' width='520' height='119' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;xml&#034; class='spip_code spip_code_block language-xml' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;split|ids=83,91&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Here is the result for two images showing two different variants of a motorcycle model:&lt;/p&gt;
&lt;div class='spip_document_15732 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH391/horizontal-2-bea68.png?1763975834' width='520' height='391' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;h2&#034; id='t2-TwentyTwenty-settings'&gt;2. TwentyTwenty settings&lt;a class='sommaire-back sommaire-back-3' href='#s-t2-TwentyTwenty-settings' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The default parameters can be found in the plugin's configuration page:&lt;/p&gt;
&lt;div class='spip_document_15410 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH68/plugin_options-6f3f6.jpg?1763975834' width='520' height='68' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;If you want to know more about those options, I suggest you take a look at the &lt;a href=&#034;https://github.com/zurb/twentytwenty#options&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;official plugin documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is also possible to overwrite each option every time we use the &#8220;split&#8221; model, such as:&lt;/p&gt;
&lt;div class='spip_document_15417 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH106/new_en-3ee50.jpg?1763975834' width='520' height='106' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;xml&#034; class='spip_code spip_code_block language-xml' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;split|ids=83,91|orientation=vertical|no_overlay=false|before_label=Black|after_label=Green&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Here is the result:&lt;/p&gt;
&lt;div class='spip_document_15420 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH395/vertical-2-f4b69.jpg?1763975834' width='520' height='395' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Supported options:&lt;/strong&gt;&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='id539d_c0'&gt; Option &lt;/th&gt;&lt;th id='id539d_c1'&gt; Values &lt;/th&gt;&lt;th id='id539d_c2'&gt; Explanations &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id539d_c0'&gt;default_offset_pct&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;Float (0-&gt;1)&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;Slider position&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id539d_c0'&gt;orientation&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;vertical/horizontal&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;Slider orientation&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id539d_c0'&gt;no_overlay&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;true/false&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;Hide/shows labels&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id539d_c0'&gt;before_label&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;String&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;First image label's text&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id539d_c0'&gt;after_label&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;String&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;Second image label's text&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id539d_c0'&gt;move_slider_on_hover&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;true/false&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;Move the slider when hovering the images with the mouse&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id539d_c0'&gt;move_with_handle_only&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;true/false&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;Only move slider when clicking on it&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id539d_c0'&gt;click_to_move&lt;/td&gt;
&lt;td headers='id539d_c1'&gt;true/false&lt;/td&gt;
&lt;td headers='id539d_c2'&gt;Clicking on the images move the slider to that position&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h2 class=&#034;h2&#034; id='t3-Using-the-Cropper-tool'&gt;3. Using the &#8220;Cropper&#8221; tool&lt;a class='sommaire-back sommaire-back-3' href='#s-t3-Using-the-Cropper-tool' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In order to optimize stacking process, it is important to use two images with the same proportions and, with a perfectly aligned content. To help with this, the plugin provides with a tool that crops and centers images you wish to stack. You will find a link to this tool near the button &#8220;&lt;i&gt;add a document&lt;/i&gt;&#8221;:&lt;/p&gt;
&lt;div class='spip_document_15413 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH85/adjust_en-9f61a.jpg?1763975834' width='520' height='85' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;This button will show a small form where you will be asked to provide the two images' &lt;var&gt;id_document&lt;/var&gt; you wish to use.&lt;/p&gt;
&lt;div class='spip_document_15414 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH205/adjust-2-820ad.jpg?1763975834' width='520' height='205' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Clicking &#8220;&lt;i&gt;Adjust!&lt;/i&gt;&#8221;, you will be redirected to the &#8220;cropper&#8221; page. Follow the instructions on the top of the page. Once your two images are well stacked, you can click &#8220;&lt;i&gt;Crop it&lt;/i&gt;&#8221;, which will redirect you to the article's editing page. You will find two new documents in the portfolio which are your two stacked images with proper dimensions and well centered (the original images are still there too):&lt;/p&gt;
&lt;div class='spip_document_15406 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/jpg/crop_it.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH384/crop_it-50313.jpg?1763975834' width='520' height='384' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Those two new documents are ready, to provide the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;split&gt;&lt;/code&gt; model with.&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/image_split.zip" length="82398" type="application/zip" />
		

	</item>



	<item>
		<title>Fixing release for branch&#160;3.2&#160;: SPIP&#160;3.2.3</title>
		<link>https://files.spip.org/Fixing-release-for-branch-3-2-SPIP-3-2-3</link>
		<guid isPermaLink="true">https://files.spip.org/Fixing-release-for-branch-3-2-SPIP-3-2-3</guid>
		<dc:date>2019-01-21T19:45:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>L'&#233;quipe de SPIP-Contrib</dc:creator>

<category domain="https://files.spip.org/SPIP-core">SPIP-core</category>

		<dc:subject>En tete sommaire</dc:subject>

		<description>
&lt;p&gt;In last week end euphoria, the SPIP version 3.2.2, that was released on January 18&lt;sup class=&#034;typo_exposants&#034;&gt;th&lt;/sup&gt;, actually embedded the wrong version of the 'medias' plugin-dist (Many thanks to Christophe Imberti for his report). &lt;br class='autobr' /&gt;
We release today, January 21&lt;sup class=&#034;typo_exposants&#034;&gt;st&lt;/sup&gt;, a new fixing version SPIP&#160;3.2.3 which brings every updates and good plugins-dist at the right place. &lt;br class='autobr' /&gt;
You should upgrade your website even if you already upgraded to SPIP 3.2.2 &lt;br class='autobr' /&gt;
SPIP versions 3.0 &amp; 3.1 are not concerned. &lt;br class='autobr' /&gt;
Download SPIP :&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-core" rel="directory"&gt;SPIP-core&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/+-En-tete-sommaire-+" rel="tag"&gt;En tete sommaire&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH150/arton5096-5c997.png?1763975834' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;In last week end euphoria, the SPIP version 3.2.2, that was released on January 18&lt;sup class=&#034;typo_exposants&#034;&gt;th&lt;/sup&gt;, actually embedded the wrong version of the 'medias' plugin-dist (Many thanks to Christophe Imberti for his report).&lt;/p&gt;
&lt;p&gt;We release today, January 21&lt;sup class=&#034;typo_exposants&#034;&gt;st&lt;/sup&gt;, a new fixing version &lt;strong&gt;SPIP&#160;3.2.3&lt;/strong&gt; which brings every updates and good plugins-dist at the right place.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You should upgrade your website even if you already upgraded to SPIP 3.2.2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SPIP versions 3.0 &amp; 3.1 are not concerned.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download SPIP :&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://www.spip.net/en_download&#034; class=&#034;spip_url spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;https://www.spip.net/en_download&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Complete announcement &amp; details: &lt;br class='autobr' /&gt;
&lt;a href=&#034;https://blog.spip.net/831&#034; class=&#034;spip_url spip_out&#034; hreflang=&#034;fr&#034; rel=&#034;external&#034;&gt;https://blog.spip.net/831&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>Security &amp; maintenance updates : new versions SPIP&#160;3.2.2, 3.1.9 and 3.0.28</title>
		<link>https://files.spip.org/Security-maintenance-updates-releasing-SPIP-3-2-2-3-1</link>
		<guid isPermaLink="true">https://files.spip.org/Security-maintenance-updates-releasing-SPIP-3-2-2-3-1</guid>
		<dc:date>2019-01-19T12:30:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>L'&#233;quipe de SPIP-Contrib</dc:creator>

<category domain="https://files.spip.org/SPIP-core">SPIP-core</category>

		<dc:subject>En tete sommaire</dc:subject>

		<description>
&lt;p&gt;To start this new year 2019, we release maintenance versions of SPIP which also fix some security flaws. &lt;br class='autobr' /&gt; The Safety Screen does NOT cover those flaws, so it is strongly recommended that you upgrade your websites. &lt;br class='autobr' /&gt;
Those new versions bring fixes to the bugs that were identified those last months : 6 issues for version 3.1 34 issues for version 3.2 &lt;br class='autobr' /&gt;
Among others : patched several XSS flaws and, a critical one letting writing authors accessing local documents. We warmly thank Guillaume&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-core" rel="directory"&gt;SPIP-core&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/+-En-tete-sommaire-+" rel="tag"&gt;En tete sommaire&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH150/arton5093-3087b.png?1763975834' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;To start this new year 2019, we release maintenance versions of SPIP which also fix some security flaws.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;The Safety Screen does NOT cover those flaws, so &lt;strong&gt;it is strongly recommended that you upgrade your websites&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Those new versions bring fixes to the bugs that were identified those last months :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; 6 issues for version 3.1&lt;/li&gt;&lt;li&gt; 34 issues for version 3.2&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Among others :&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; patched several XSS flaws and, a critical one letting writing authors accessing local documents. We warmly thank Guillaume Fahrner for his reports.&lt;/li&gt;&lt;li&gt; now supporting TLSv1.2 connections.&lt;/li&gt;&lt;li&gt; improved PHP 7.2 compatibility&lt;/li&gt;&lt;li&gt; optimized javascript compressor, which now respects already minified external librairies &amp; bug fix on CSSTidy&lt;/li&gt;&lt;li&gt; repaired '&lt;i&gt;restore a version&lt;/i&gt;' function&lt;/li&gt;&lt;li&gt; updated SafeHTML librairie to support HTML5&lt;/li&gt;&lt;li&gt; updated getID librairie to version 1.9.16&lt;/li&gt;&lt;li&gt; added a &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_COUPER_SUITE&lt;/code&gt; constant to define proper caesura characters&lt;/li&gt;&lt;li&gt; re-designed log-in screens&lt;/li&gt;&lt;li&gt; images filters: JPGs are now progressive by default&lt;/li&gt;&lt;li&gt; new translations for Dutch &amp; Japanese languages&lt;/li&gt;&lt;li&gt; ...&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#034;https://www.spip.net/en_download&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;Download SPIP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://blog.spip.net/829&#034; class=&#034;spip_out&#034; hreflang=&#034;fr&#034; rel=&#034;external&#034;&gt;Full announcement &amp; details&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>TimeCircles plugin for SPIP 3.1+</title>
		<link>https://files.spip.org/TimeCircles-plugin-for-SPIP-3-1</link>
		<guid isPermaLink="true">https://files.spip.org/TimeCircles-plugin-for-SPIP-3-1</guid>
		<dc:date>2018-12-04T13:30:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Loiseau2nuit</dc:creator>

<category domain="https://files.spip.org/TimeCircles-plugin-for-SPIP-3-1">TimeCircles</category>

		<dc:subject>Templates</dc:subject>
		<dc:subject>MIT</dc:subject>
		<dc:subject>En test</dc:subject>

		<description>&lt;p&gt;Adds simple &amp; fully customizable jquery timers &amp; countdowns to your SPIP website&lt;/p&gt;


-
&lt;a href="https://files.spip.org/TimeCircles-plugin-for-SPIP-3-1" rel="directory"&gt;TimeCircles&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Full-templates" rel="tag"&gt;Templates&lt;/a&gt;, 
&lt;a href="https://files.spip.org/MIT" rel="tag"&gt;MIT&lt;/a&gt;, 
&lt;a href="https://files.spip.org/En-test" rel="tag"&gt;En test&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L32xH32/timecircles-a364-46e48581-e620f.png?1763968802' class='spip_logo spip_logo_right' alt=&#034;&#034; width='32' height='32' /&gt;
		&lt;div class='rss_descriptif'&gt;&lt;p&gt;Adds simple &amp; fully customizable jquery timers &amp; countdowns to your SPIP website&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Any Big Time deadline or Grand Opening coming soon ? &lt;br class='autobr' /&gt;
Tease your website audience about it with simple and fully custom designed jQuery timers &amp; countdowns.&lt;/p&gt;
&lt;p&gt;This plugin is a simple, yet efficient package version for SPIP, of &lt;a href=&#034;http://git.wimbarelds.nl/TimeCircles/index.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Wim Barelds' TimeCircles jQuery plugin&lt;/a&gt; in last known version to date (v1.5.3)&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-8&#034; id=&#034;nav69b56e8d75e155.53229581&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-How-to-install&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#How-to-install&#034; class=&#034;spip_ancre&#034;&gt;How to install ?&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-How-to-use-it&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#How-to-use-it&#034; class=&#034;spip_ancre&#034;&gt;How to use it&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-DateCountDown&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#DateCountDown&#034; class=&#034;spip_ancre&#034;&gt;DateCountDown&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-CountDownTimer&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#CountDownTimer&#034; class=&#034;spip_ancre&#034;&gt;CountDownTimer&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-PageOpenTimer&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#PageOpenTimer&#034; class=&#034;spip_ancre&#034;&gt;PageOpenTimer&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Modification-and-styles&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Modification-and-styles&#034; class=&#034;spip_ancre&#034;&gt;Modification and styles&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Plugin-is-free-for-any-use-amp-open-to-common-dev&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Plugin-is-free-for-any-use-amp-open-to-common-dev&#034; class=&#034;spip_ancre&#034;&gt;Plugin is free for any use &amp; open to common dev&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-TO-DO&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#TO-DO&#034; class=&#034;spip_ancre&#034;&gt;TO DO&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;h2 class=&#034;h2&#034; id='How-to-install'&gt;How to install ?&lt;a class='sommaire-back sommaire-back-8' href='#s-How-to-install' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;&lt;a href=&#034;http://spip.net/en&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Are you new here ? Discover SPIP !&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You may install &lt;strong&gt;TimeCircles&lt;/strong&gt; &lt;a href=&#034;https://www.spip.net/en_article3475.html?var_lang=en&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;like any other plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TimeCircles&lt;/strong&gt; depends on nothing but &lt;strong&gt;jQuery 1.9.1+&lt;/strong&gt; on your website, thus making it &#8220;naturally&#8221; compatible starting &lt;strong&gt;SPIP 3.1&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Even if it's by far not a mandatory dependency for &lt;strong&gt;TimeCircles&lt;/strong&gt;, this plugin has been thought and developed with &lt;a href='https://files.spip.org/Agenda-184' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;plugin Agenda&lt;/a&gt; in mind, as I was working on a festival website (soon to be released). Promoters wanted to display a &#8220;Final countdown&#8221; on their home page, until the festival's grand opening (which date/time was recorded as a SPIP event, for lives running order publishing purposes).&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='How-to-use-it'&gt;How to use it&lt;a class='sommaire-back sommaire-back-8' href='#s-How-to-use-it' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;TimeCircles&lt;/strong&gt; comes with 3 different timers &amp; countdowns &lt;a href=&#034;https://www.spip.net/en_article3512.html&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;short-models&lt;/a&gt; that you can use either with, or without plugin 'Agenda' to generate &amp; display kind of things like that on your website :&lt;/p&gt;
&lt;div class='spip_document_15369 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/timecircles_en_1.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH643/timecircles_en_1-d71d8.png?1763975834' width='520' height='643' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Whatever the content you're editing, just add one of the following short &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;model&gt;&lt;/code&gt; to generate the adjusted timer effect.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; TimeCircles does NOT store any data anywhere (maybe soon if the need is real).&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;DateCountDown&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='DateCountDown'&gt;DateCountDown&lt;a class='sommaire-back sommaire-back-8' href='#s-DateCountDown' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you're using the &lt;a href='https://files.spip.org/Agenda-184' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;plugin Agenda&lt;/a&gt; (not mandatory), this will work perfectly fine and sitewide, with any SPIP event. Example with event id n&#176; 3 (here: New Year's Eve 2019)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;datecountdown|id_evenement=3&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class='spip_document_15372 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;15&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L514xH125/timecircles_en_4_datecountdown_2019-01-01-48a41.png?1763975834' width='514' height='125' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-15372 '&gt;&lt;strong&gt;DateCountDown
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Also works fine with any date/time combination, manually set to the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;datecountdown&gt;&lt;/code&gt; model, like :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;datecountdown|data-date=2057-08-07 20:00:00&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Both examples at work here, on my testing website's homepage, within the 'website description' field's display :&lt;/p&gt;
&lt;div class='spip_document_15368 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH457/timecircles_en_2-0fa4b.png?1763975834' width='520' height='457' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; date/time values should always be set with php-like values : &lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Y-m-d h:i:s&lt;/code&gt; (or H for hours 0-24) e.g.: &lt;strong&gt;2019-01-01 00:00:00&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In a SPIP event context (with plugin Agenda)&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;datecountdown|&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Placed anywhere in your event's description should do the trick too, based on the event's start date/time.&lt;/p&gt;
&lt;p&gt;You also may apply &lt;strong&gt;TimeCircles&lt;/strong&gt; to each and every single event created with 'Agenda' by simply adding the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#MODELE{datecountdown}&lt;/code&gt; tag to your events templates/loops in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/squelettes&lt;/code&gt;&lt;/p&gt;
&lt;div class='spip_document_15371 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/timecircles_en_3_agenda.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH341/timecircles_en_3_agenda-cf3cb.png?1763975834' width='520' height='341' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;CountDownTimer&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='CountDownTimer'&gt;CountDownTimer&lt;a class='sommaire-back sommaire-back-8' href='#s-CountDownTimer' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Let's start a &lt;strong&gt;15' min. timer here&lt;/strong&gt; with (values here are expressed in seconds: 900 =&gt; 15 minutes)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;countdowntimer|class=something|data-timer=900&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class='spip_document_15373 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;16&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L517xH225/timecircles_en_4_countdowntimer_900secs-d97ea.png?1763975834' width='517' height='225' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-15373 '&gt;&lt;strong&gt;CountDownTimer
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;PageOpenTimer&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='PageOpenTimer'&gt;PageOpenTimer&lt;a class='sommaire-back sommaire-back-8' href='#s-PageOpenTimer' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Or, how long have you been reading that page ?&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;pageopentimer|&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class='spip_document_15374 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;15&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L495xH123/timecircles_en_4_pageopentimer-5e3ce.png?1763975834' width='495' height='123' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-15374 '&gt;&lt;strong&gt;PageOpenTimer
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;h2&#034; id='Modification-and-styles'&gt;Modification and styles&lt;a class='sommaire-back sommaire-back-8' href='#s-Modification-and-styles' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;TimeCircles&lt;/strong&gt; is also shipped with a &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;css/timecircles.css&lt;/code&gt; stylesheet and a JS file, to call the lib's functions: &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;js/timecircles.js&lt;/code&gt;. Those 2 files are already included to your website's &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;head&gt;&lt;/code&gt; section with SPIP's tags &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#INSERT_HEAD&lt;/code&gt; &amp; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#INSERT_HEAD_CSS&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can even get you some free own custom JS calls, ready to get copy/pasted into your &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/squelettes/js/timecircles.js&lt;/code&gt; by generating them &lt;a href=&#034;http://git.wimbarelds.nl/TimeCircles/&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;on the author's website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note to templates developers:&lt;/strong&gt; Since version 1.5.3.22 and following &lt;a href=&#034;https://github.com/wimbarelds/TimeCircles/issues/114&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;that method&lt;/a&gt;, timers are now made responsive by default, thanks to javascript function &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rebuild()&lt;/code&gt;, invoqued on the timer's container each time the browser's window is resized.&lt;/p&gt;
&lt;p&gt;To keep it that way, this snippet should be kept in your own &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/squelettes/js/timecircles.js&lt;/code&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;javascript&#034; class='spip_code spip_code_block language-javascript' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$(window).on('resize', function(){ $('.DateCountdown').TimeCircles().rebuild(); $('.CountDownTimer').TimeCircles().rebuild(); $('.PageOpenTimer').TimeCircles().rebuild(); });&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034; id='Plugin-is-free-for-any-use-amp-open-to-common-dev'&gt;Plugin is free for any use &amp; open to common dev&lt;a class='sommaire-back sommaire-back-8' href='#s-Plugin-is-free-for-any-use-amp-open-to-common-dev' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It's source code is of course fully open and available, for download &amp; mutual development, on &lt;i&gt;SPIP-Zone&lt;/i&gt;'s plugins repository (&lt;a href=&#034;https://zone.spip.net/trac/spip-zone/browser/_plugins_/timecircles&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;here&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Feel free to &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;git clone / svn co&lt;/code&gt; the latest build and let's dance !&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;todo&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='TO-DO'&gt;TO DO&lt;a class='sommaire-back sommaire-back-8' href='#s-TO-DO' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Get this plugin to work in maintenance mode, on &#8220;under construction&#8221; pages (with plugin &lt;a href='https://files.spip.org/En-travaux-2-0' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;En&#160;travaux&#160;2.0&lt;/a&gt;).&lt;/li&gt;&lt;li&gt; Make a generic config panel, following the JS generator from the author's website :&lt;br class='manualbr' /&gt;
&lt;div class='spip_document_15378 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;14&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/timecircles_en_5_config_panel.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH124/timecircles_en_5_config_panel-af814.png?1763975834' width='520' height='124' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-15378 '&gt;&lt;strong&gt;Config panel
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/li&gt;&lt;li&gt; Deal with insertion through plugin '&lt;a href='https://files.spip.org/Plugin-Inserer-Modeles' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;inserer_modele&lt;/a&gt;'&lt;/li&gt;&lt;li&gt; Finding a way to store duration's data for short models like &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;pageopentimer|&gt;&lt;/code&gt; &amp;/or &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;countdowntimer|&gt;&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&#8220;&lt;i&gt;That's All, Folks !&lt;/i&gt;&#8221;&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/timecircles.zip" length="189120" type="application/zip" />
		

	</item>



	<item>
		<title>I/E config PLUS</title>
		<link>https://files.spip.org/ieconfig-plus</link>
		<guid isPermaLink="true">https://files.spip.org/ieconfig-plus</guid>
		<dc:date>2018-10-09T07:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Loiseau2nuit, Mist. GraphX, RealET</dc:creator>

<category domain="https://files.spip.org/ieconfig-plus">&lt;span lang='fr'&gt;Importeur/Exporteur de configuration PLUS
&lt;/span&gt;</category>

		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;This plugin enhances I/E config with additional exports options for settings and objects. &lt;br class='autobr' /&gt;
Are you new here ? Discover SPIP ! Export/Import metas for new plugins: Plugin SEO GIS 4 (maps &amp; cartography) Mod&#232;les Facebook (Facebook widgets) Autorit&#233; (Users' authority) Paniers et commandes (E commerce Baskets &amp; Orders) Bank (online payment)Export/import editorial objects Export &amp; import editorial selections (not the content !). Can be useful to easily import a template structure&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/ieconfig-plus" rel="directory"&gt;&lt;span lang='fr'&gt;Importeur/Exporteur de configuration PLUS
&lt;/span&gt;&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L32xH32/ieconfigplus-0ad-828916db-5bb02.png?1767897155' class='spip_logo spip_logo_right' alt=&#034;&#034; width='32' height='32' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;This plugin enhances &lt;a href='https://files.spip.org/ieconfig-import-export-settings' class=&#034;spip_in&#034;&gt;I/E config&lt;/a&gt; with additional exports options for settings and objects.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;&lt;a href=&#034;http://spip.net/en&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Are you new here ? Discover SPIP !&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-2&#034; id=&#034;nav69b56e8d7b0337.47350127&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Export-Import-metas-for-new-plugins&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Export-Import-metas-for-new-plugins&#034; class=&#034;spip_ancre&#034;&gt;Export/Import metas for new plugins:&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Export-import-editorial-objects&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Export-import-editorial-objects&#034; class=&#034;spip_ancre&#034;&gt;Export/import editorial objects&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;
&lt;h2 class=&#034;h2&#034; id='Export-Import-metas-for-new-plugins'&gt;Export/Import metas for new plugins:&lt;a class='sommaire-back sommaire-back-2' href='#s-Export-Import-metas-for-new-plugins' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='https://files.spip.org/Plugin-SEO' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Plugin SEO&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://files.spip.org/GIS-4' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;GIS 4&lt;/a&gt; (maps &amp; cartography)&lt;/li&gt;&lt;li&gt; &lt;a href='https://files.spip.org/Modeles-Facebook' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Mod&#232;les Facebook &lt;/a&gt; (Facebook widgets)&lt;/li&gt;&lt;li&gt; &lt;a href='https://files.spip.org/Le-plugin-Autorite' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Autorit&#233;&lt;/a&gt; (Users' authority)&lt;/li&gt;&lt;li&gt; &lt;a href='https://files.spip.org/paniers-et-commandes' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Paniers et commandes&lt;/a&gt; (E commerce Baskets &amp; Orders)&lt;/li&gt;&lt;li&gt; &lt;a href='https://files.spip.org/Plugin-Bank' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Bank&lt;/a&gt; (online payment)&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;h2&#034; id='Export-import-editorial-objects'&gt;Export/import editorial objects&lt;a class='sommaire-back sommaire-back-2' href='#s-Export-import-editorial-objects' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Export &amp; import editorial selections (not the content !). Can be useful to easily import a template structure&lt;/li&gt;&lt;li&gt; Export &amp; import single pages with plugin &lt;a href='https://files.spip.org/Pages-uniques' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Pages uniques&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Export &amp; import advanced forms made with plugin &lt;a href='https://files.spip.org/Formidable-le-generateur-de-formulaires' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Formidable&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Export &amp; import Keywords groups &amp; Keywords (recently added, works but still a bit buggy &amp; to be improved)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/ieconfigplus.zip" length="23091" type="application/zip" />
		

	</item>



	<item>
		<title>YAML V2 plugin for SPIP 3.*</title>
		<link>https://files.spip.org/yaml-v2-plugin-spip-3</link>
		<guid isPermaLink="true">https://files.spip.org/yaml-v2-plugin-spip-3</guid>
		<dc:date>2018-06-04T13:36:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Eric Lupinacci, Loiseau2nuit</dc:creator>

<category domain="https://files.spip.org/yaml-v2-plugin-spip-3">YAML</category>

		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;Since it's first release, the plugin YAML did have a really few updates. Such stability is a proof of robustness, although a little cleaning and some evolution to the branch v2 will bring more flexibility and make the maintenance easier. &lt;br class='autobr' /&gt; Versions and compliance &lt;br class='autobr' /&gt;
This second branch of the plugin is dedicated to SPIP 3. &lt;br class='autobr' /&gt;
Compliance with SPIP 2.* has been abandoned (suppressing the plugin.xml file) and, as a consequence, PHP 4 is not supported anymore either. &lt;br class='autobr' /&gt;
SPIP minimum compliance has&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/yaml-v2-plugin-spip-3" rel="directory"&gt;YAML&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L64xH64/yaml-xx-b6049.svg?1763970647' class='spip_logo spip_logo_right' width='64' height='64' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Since it's first release, the plugin YAML did have a really few updates. Such stability is a proof of robustness, although a little cleaning and some evolution to the branch v2 will bring more flexibility and make the maintenance easier.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-6&#034; id=&#034;nav69b56e8d7f4732.19374699&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Versions-and-compliance&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Versions-and-compliance&#034; class=&#034;spip_ancre&#034;&gt;Versions and compliance&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Plugin-s-API&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Plugin-s-API&#034; class=&#034;spip_ancre&#034;&gt;Plugin's API&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-YAML-libraries&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#YAML-libraries&#034; class=&#034;spip_ancre&#034;&gt;YAML libraries&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Plugin-s-maintenance&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Plugin-s-maintenance&#034; class=&#034;spip_ancre&#034;&gt;Plugin's maintenance&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-API-advanced-usages&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#API-advanced-usages&#034; class=&#034;spip_ancre&#034;&gt;API: advanced usages&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-What-s-next&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#What-s-next&#034; class=&#034;spip_ancre&#034;&gt;What's next ?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Versions-and-compliance'&gt;Versions and compliance&lt;a class='sommaire-back sommaire-back-6' href='#s-Versions-and-compliance' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This second branch of the plugin is dedicated to &lt;strong&gt;SPIP 3&lt;/strong&gt;. &lt;br class='autobr' /&gt;
Compliance with SPIP 2.* has been abandoned (suppressing the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;plugin.xml&lt;/code&gt; file) and, as a consequence, PHP 4 is not supported anymore either. &lt;br class='autobr' /&gt;
SPIP minimum compliance has been set to version 3.0.0, although you'll need to have a PHP version 5.3.3 or higher, to ensure the plugin can work properly.&lt;/p&gt;
&lt;p&gt;By default, with no settings modification, plugin is to use the same library version the branch v1 already uses, except this one has been refreshed, as mentioned in a forthcoming section of this post.&lt;/p&gt;
&lt;p&gt;Even if the API functions' prototype has changed (see next section), the code to call these functions v1 is still valid and will return the same results. Although you should progressively migrate toward v2-like calls (see dedicated section).&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Plugin-s-API'&gt;Plugin's API&lt;a class='sommaire-back sommaire-back-6' href='#s-Plugin-s-API' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Plugin YAML's API (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;inc/yaml.php&lt;/code&gt; file) contains 3 main functions which are already available in v1 and, a deprecated function which is kept for compliance purposes, with branch v1.&lt;/p&gt;
&lt;p&gt;Those 3 main functions are :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_encode($structure, $options = array())&lt;/code&gt;, which encodes a PHP data structure to a YAML string;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_decode($input, $options = array())&lt;/code&gt;, which decodes a YAML string to a PHP data structure, often as an array;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_decode_file($file, $options = array())&lt;/code&gt;, which decodes a YAML file to a PHP data structure. This function calls &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_decode()&lt;/code&gt; after it extracted the file's content.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Compared to the API v1, functions' prototype has been modified, by adding in a systematic manner the optional &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$options&lt;/code&gt; argument, which aggregates all possible options in an array. &lt;br class='autobr' /&gt;
How to fully take advantage of it, is detailed in the section which describes the plugin's advanced usages.&lt;/p&gt;
&lt;p&gt;Those functions remains independent from the used YAML library. According the context &#8212; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_LIB_YAML&lt;/code&gt; constant and &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$options&lt;/code&gt; argument's '&lt;i&gt;library&lt;/i&gt;' index &#8212; each function named &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$fonction&lt;/code&gt; sets the library &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$library&lt;/code&gt; that will be used and, calls it's &#171;homonym&#187; function &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$library_$fonction()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Function &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_charger_inclusions()&lt;/code&gt; stands deprecated in this new branch. Even if it remains possible to use it, to recursively integer decoded YAML, out of initial YAML file's known includes, you should only use &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_decode_file()&lt;/code&gt; function, providing the options with includes' loading.&lt;/p&gt;
&lt;p&gt;Additionally, the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;decoder_yaml()&lt;/code&gt; filter that encapsulates &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_decode_file()&lt;/code&gt; and &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; yaml_to_array()&lt;/code&gt; for iterators, has been kept. If &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;decoder_yaml()&lt;/code&gt; filter fully takes advantage of optional &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$options&lt;/code&gt; argument, this is not the case with &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_to_array()&lt;/code&gt; which, structurally, can only read the YAML string as an argument.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='YAML-libraries'&gt;YAML libraries&lt;a class='sommaire-back sommaire-back-6' href='#s-YAML-libraries' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The plugin still offers branch v1's library: Spyc and Symfony/yaml v1 but, also lets you use latest Symfony v4's version of the YAML component, with extension PECL, which encapsulates the C libYAML library.&lt;/p&gt;
&lt;p&gt;Versions of Spyc and Symfony/yaml v1 has been updated and, improvements brought by SPIP to Symfony/yaml v1 have been reported.&lt;/p&gt;
&lt;p&gt;Each library require a minimal PHP version and implement a proper sub-set of YAML 1.0, 1.1 or 1.2 specifications. Following table sums those constraints up and provides with the actual version &#8212; which is likely to evolve &#8212; of each library included in the YAML plugin (initial version 2.0.0).&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='idcb64_c0'&gt;Library&lt;/th&gt;&lt;th id='idcb64_c1'&gt;Alias*&lt;/th&gt;&lt;th id='idcb64_c2'&gt;Version&lt;/th&gt;&lt;th id='idcb64_c3'&gt;PHP mini&lt;/th&gt;&lt;th id='idcb64_c4'&gt;YAML&lt;/th&gt;&lt;th id='idcb64_c5'&gt;Comments&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idcb64_c0'&gt;Spyc&lt;/td&gt;
&lt;td headers='idcb64_c1'&gt;spyc&lt;/td&gt;
&lt;td headers='idcb64_c2'&gt;0.6.2&lt;/td&gt;
&lt;td headers='idcb64_c3'&gt;5.3.1&lt;/td&gt;
&lt;td headers='idcb64_c4'&gt;1.0&lt;/td&gt;
&lt;td headers='idcb64_c5'&gt;&lt;a href=&#034;https://github.com/mustangostang/spyc&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;GitHub repository&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='idcb64_c0'&gt;Symfony/yaml v1&lt;/td&gt;
&lt;td headers='idcb64_c1'&gt;sfyaml&lt;/td&gt;
&lt;td headers='idcb64_c2'&gt;1.0.6&lt;/td&gt;
&lt;td headers='idcb64_c3'&gt;5.2.4&lt;/td&gt;
&lt;td headers='idcb64_c4'&gt;1.2&lt;/td&gt;
&lt;td headers='idcb64_c5'&gt;&lt;a href=&#034;https://github.com/fabpot-graveyard/yaml&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;GitHub repository&lt;/a&gt;, archiv&#233;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idcb64_c0'&gt;Symfony/yaml v4&lt;/td&gt;
&lt;td headers='idcb64_c1'&gt;symfony&lt;/td&gt;
&lt;td headers='idcb64_c2'&gt;4.2&lt;/td&gt;
&lt;td headers='idcb64_c3'&gt;7.1.3&lt;/td&gt;
&lt;td headers='idcb64_c4'&gt;1.2&lt;/td&gt;
&lt;td headers='idcb64_c5'&gt;&lt;a href=&#034;https://github.com/symfony/yaml&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;GitHub repository&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td rowspan='2' headers='idcb64_c0'&gt;libYAML&lt;/td&gt;
&lt;td rowspan='2' headers='idcb64_c1'&gt;libyaml&lt;/td&gt;
&lt;td headers='idcb64_c2'&gt;1.3.1&lt;/td&gt;
&lt;td headers='idcb64_c3'&gt;5.3.3&lt;/td&gt;
&lt;td rowspan='2' headers='idcb64_c4'&gt;1.1&lt;/td&gt;
&lt;td rowspan='2' headers='idcb64_c5'&gt;&lt;a href=&#034;https://pecl.php.net/package/yaml&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;PECL page&lt;/a&gt; and &lt;a href=&#034;https://github.com/yaml/libyaml&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;libYAML GitHub repository&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idcb64_c2'&gt;2.0.2&lt;/td&gt;
&lt;td headers='idcb64_c3'&gt;7.0.0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(*) : The alias is used to pick out the library for the API : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$options['library']&lt;/code&gt;'s value or, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_LIB_YAML&lt;/code&gt; constant.&lt;/p&gt;
&lt;p&gt;On performance's side, shall we point out:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;C libYAML&lt;/strong&gt; library is by far the best for performance, with benchmarks 6 to 15 times faster than others libraries.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Symfony/yaml v1&lt;/strong&gt; and &lt;strong&gt;Spyc&lt;/strong&gt; libraries have quite similar performances, almost correct:&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Symfony/yaml v4&lt;/strong&gt; is nearly 2 times slower than v1.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Besides, the YAML specifications sub-set, offered by each library, varies a lot. For SPIP's needs, mostly linked to some configuration parameters, every library are equivalent, whatever which YAML specifications version is supported. To get an insight on the different implementations, a serie of test files (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;demo/$library.yaml&lt;/code&gt;) is furnished with the plugin. Those files come from the native &lt;strong&gt;Spyc&lt;/strong&gt; library's test file. For the other libraries, it was adapted, commenting out unsupported cases.&lt;/p&gt;
&lt;p&gt;Shall we also point out that two important YAML features are not implemented in the plugin, because they are not available with all libraries:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; the YAML document's 3 starting dashes &#8220;---&#8221; and 3 final dots &#8220;...&#8221;&lt;/li&gt;&lt;li&gt; and as a consequence, the capability to encapsulate multi YAML documents into a single YAML file: a YAML file must then contain only one single YAML document.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;By default, to ensure compliance with branch v1, YAML plugin uses the Symfony/yaml v1 library (alias sfyaml), which still remains a good choice.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Plugin-s-maintenance'&gt;Plugin's maintenance&lt;a class='sommaire-back sommaire-back-6' href='#s-Plugin-s-maintenance' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Besides the bug fixed, the plugin's maintenance matches it's libraries one.&lt;/p&gt;
&lt;p&gt;The default library, Symfony/yaml v1 isn't maintained anymore. It won't evolve but still works with current YAML specifications and usages. It's made of 4 files, located in the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sfyaml/&lt;/code&gt; plugin's directory.&lt;/p&gt;
&lt;p&gt;libYAML library is distributed as a PECL extension, so you can install it on Apache server. Nothing to do plugin's side. You should prefer that one if you can install it.&lt;/p&gt;
&lt;p&gt;The two others libraries, Spyc and Symfony/yaml v4, are both incorporated in the plugin with &lt;i&gt;Composer&lt;/i&gt;. We'll find them into the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;vendor/&lt;/code&gt; directory. It's possible to upgrade them or, go back to any prior version, using the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;composer.json&lt;/code&gt; file located in the plugin's root directory and, activating the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;composer update&lt;/code&gt; command.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='API-advanced-usages'&gt;API: advanced usages&lt;a class='sommaire-back sommaire-back-6' href='#s-API-advanced-usages' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Understanding the various options&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Basic usage of the API's functions has not been modified. Although, adding an &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$options&lt;/code&gt; argument as second parameter for each API's function makes the plugin more flexible and more accurate to work with. The available options are summarized, function by function, in the following table. An &#8220;x&#8221; indicates if the option is available for any given library.&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='idd36e_c0'&gt;Option&lt;/th&gt;&lt;th id='idd36e_c1'&gt;Explanation&lt;/th&gt;&lt;th id='idd36e_c2'&gt;sfyaml&lt;/th&gt;&lt;th id='idd36e_c3'&gt;symfony&lt;/th&gt;&lt;th id='idd36e_c4'&gt;spyc&lt;/th&gt;&lt;th id='idd36e_c5'&gt;libyaml&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td colspan='6' headers='idd36e_c0'&gt;&lt;b&gt;Any function&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='idd36e_c0'&gt;library&lt;/td&gt;
&lt;td headers='idd36e_c1'&gt;Specifies the lib. to be used, irrespective of the _LIB_YAML constant&lt;/td&gt;
&lt;td headers='idd36e_c2'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c3'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c4'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c5'&gt;x&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td colspan='6' headers='idd36e_c0'&gt;&lt;b&gt;yaml_decode() and yaml_decode_file()&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='idd36e_c0'&gt;include&lt;/td&gt;
&lt;td headers='idd36e_c1'&gt;Treat YAML files includes (true) or not (false, by default)&lt;/td&gt;
&lt;td headers='idd36e_c2'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c3'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c4'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c5'&gt;x&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idd36e_c0'&gt;show_error&lt;/td&gt;
&lt;td headers='idd36e_c1'&gt;Display errors (true) or not (false, by default)&lt;/td&gt;
&lt;td headers='idd36e_c2'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c3'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c4'&gt;&lt;/td&gt;
&lt;td headers='idd36e_c5'&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='idd36e_c0'&gt;flags&lt;/td&gt;
&lt;td headers='idd36e_c1'&gt;Combine bitwise PARSE_* flags supported by the library, 0 by default&lt;/td&gt;
&lt;td headers='idd36e_c2'&gt;&lt;/td&gt;
&lt;td headers='idd36e_c3'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c4'&gt;&lt;/td&gt;
&lt;td headers='idd36e_c5'&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td colspan='6' headers='idd36e_c0'&gt;&lt;b&gt;yaml_encode()&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='idd36e_c0'&gt;indent&lt;/td&gt;
&lt;td headers='idd36e_c1'&gt;Number of spaces for each indentation level, 2 by default&lt;/td&gt;
&lt;td headers='idd36e_c2'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c3'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c4'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c5'&gt;x&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idd36e_c0'&gt;inline&lt;/td&gt;
&lt;td headers='idd36e_c1'&gt;Level from which YAML presentation becomes inline, 3 by default&lt;/td&gt;
&lt;td headers='idd36e_c2'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c3'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c4'&gt;&lt;/td&gt;
&lt;td headers='idd36e_c5'&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='idd36e_c0'&gt;flags&lt;/td&gt;
&lt;td headers='idd36e_c1'&gt;Combine bitwise DUMP_* flags supported by the library, 0 by default&lt;/td&gt;
&lt;td headers='idd36e_c2'&gt;&lt;/td&gt;
&lt;td headers='idd36e_c3'&gt;x&lt;/td&gt;
&lt;td headers='idd36e_c4'&gt;&lt;/td&gt;
&lt;td headers='idd36e_c5'&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Decode includes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since YAML plugin v1, it's possible to make includes in a YAML file, like this:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;yaml&#034; class='spip_code spip_code_block language-yaml' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;- 'inclure:relative_path/my_file.yaml'&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This feature prevents you from duplicating lists of identical blocks in several YAML files, what the specification basically does not allow, This includes processing being quite heavy (recursively browsing the decoded data structure), it's not applied by default while decoding the YAML but, explicitly requested.&lt;/p&gt;
&lt;p&gt;With Bonux v1, that feature is performed by calling the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_charger_inclusions()&lt;/code&gt; API function, on the result of a decoded YAML file or string:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$configuration = yaml_charger_inclusions(yaml_decode_file($fichier));&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;With new version 2, we should now perform that processing another way, without calling the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yaml_charger_inclusions()&lt;/code&gt; function &#8212; which then, stands deprecated &#8212; but by using a decode option, as shown below:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$configuration = yaml_decode_file($fichier, array('inclure' =&gt; true));&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Force a library while calling&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If the library used by default (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_LIB_YAML&lt;/code&gt; constant) is not suitable for any specific call, it's possible to force for &lt;i&gt;that&lt;/i&gt; call, another library:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$configuration = yaml_decode_file($fichier, array('library' =&gt; 'libyaml'));&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Displaying errors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By default, in SPIP Bonux v2, YAML decoding errors are not displayed anymore. To force their display, you'll have to use '&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;show_error&lt;/code&gt;' option, as following :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$configuration = yaml_decode_file($fichier, array('show_error' =&gt; true));&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034; id='What-s-next'&gt;What's next ?&lt;a class='sommaire-back sommaire-back-6' href='#s-What-s-next' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Eventually coming up with a more evolved determination logic to choose the library by default ?&lt;/li&gt;&lt;li&gt; Deprecating certain libraries to keep only &lt;i&gt;libYAML&lt;/i&gt;, if it's installed or, one of those installed by Composer ?&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/yaml_v2.zip" length="182295" type="application/zip" />
		

	</item>



	<item>
		<title>3,2,1... Ignition ! Maintenance upgrades for SPIP&#160;3.2.1, SPIP&#160;3.1.8 &amp; SPIP&#160;3.0.27 are out !</title>
		<link>https://files.spip.org/maintenance-upgrades-spip-v321-v318-v3027</link>
		<guid isPermaLink="true">https://files.spip.org/maintenance-upgrades-spip-v321-v318-v3027</guid>
		<dc:date>2018-03-16T14:37:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>L'&#233;quipe de SPIP-Contrib, Loiseau2nuit</dc:creator>

<category domain="https://files.spip.org/SPIP-core">SPIP-core</category>

		<dc:subject>En tete sommaire</dc:subject>

		<description>
&lt;p&gt;Few months after SPIP 3.2 was released, time has come to provide you with some maintenance &amp; security updates for SPIP versions 3.0, 3.1 &amp; 3.2. It's highly recommanded that you upgrade your installations if you're running one of them, because they come with security fixes &amp; improvements. &lt;br class='autobr' /&gt; Bug fixes &lt;br class='autobr' /&gt;
Those new versions come with latest months' bug fixes: 2 tickets for version 3.0 12 tickets for version 3.1 19 tickets for version 3.2 &lt;br class='autobr' /&gt;
Among many bug fixed, let's highlight :&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-core" rel="directory"&gt;SPIP-core&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/+-En-tete-sommaire-+" rel="tag"&gt;En tete sommaire&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH150/arton5054-90b57.png?1763975834' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Few months after SPIP 3.2 was released, time has come to provide you with some maintenance &amp; security updates for SPIP versions 3.0, 3.1 &amp; 3.2.&lt;br class='autobr' /&gt;
It's highly recommanded that you upgrade your installations if you're running one of them, because they come with security fixes &amp; improvements.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-4&#034; id=&#034;nav69b56e8d822b83.67265619&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Bug-fixes&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Bug-fixes&#034; class=&#034;spip_ancre&#034;&gt;Bug fixes&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-security-screen&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#security-screen&#034; class=&#034;spip_ancre&#034;&gt;security screen&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-spip_loader&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#spip_loader&#034; class=&#034;spip_ancre&#034;&gt;spip_loader&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Commplete-announcement-amp-details-here&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Commplete-announcement-amp-details-here&#034; class=&#034;spip_ancre&#034;&gt;Commplete announcement &amp; details here :&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;h2 class=&#034;h2&#034; id='Bug-fixes'&gt;Bug fixes&lt;a class='sommaire-back sommaire-back-4' href='#s-Bug-fixes' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Those new versions come with latest months' bug fixes:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; 2 tickets for version 3.0&lt;/li&gt;&lt;li&gt; 12 tickets for version 3.1&lt;/li&gt;&lt;li&gt; 19 tickets for version 3.2&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Among many bug fixed, let's highlight :&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; security flaw fixed on &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;valider_xml&lt;/code&gt; function (thanks to Sammy&#160;Forgit's reporting)&lt;/li&gt;&lt;li&gt; bug fixed on publication dates&lt;/li&gt;&lt;li&gt; bug fixed on plugins' database installation, specifically when the table prefix begins with a number.&lt;/li&gt;&lt;li&gt; some UI fixes for the Admin Area (now displays total files' weight with the number of documents, in the '&lt;a href='https://files.spip.org/art2891|{fr}'&gt;mediatheque&lt;/a&gt;' tabs, etc...)&lt;/li&gt;&lt;li&gt; bug fixed on referrer calculation in the Admin Area's statistics module&lt;/li&gt;&lt;li&gt; improved bots detection, in order to exclude them from statistics module datas.&lt;/li&gt;&lt;li&gt; bug fixed on &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;opcode&lt;/code&gt;&lt;/li&gt;&lt;li&gt; SNI bug fixed, when using SPIP behind a Proxy server&lt;/li&gt;&lt;li&gt; .../...&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;h2&#034; id='security-screen'&gt;security screen&lt;a class='sommaire-back sommaire-back-4' href='#s-security-screen' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;For webmasters who CAN'T upgrade their SPIPs to the latest revision, it's important, at least, to install/upgrarde their &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;config/ecran_securite.php&lt;/code&gt; to latest version 1.3.6, in order to correct the security flaw.&lt;br class='autobr' /&gt;
See &lt;a href=&#034;https://www.spip.net/en_article4201.html?var_lang=en&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.spip.net/en_article4201.html?var_lang=en&lt;/a&gt; for more info.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='spip_loader'&gt;spip_loader&lt;a class='sommaire-back sommaire-back-4' href='#s-spip_loader' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;spip_loader also has its bunch of modifications, in order to simplify the upgrade process for SPIP.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Commplete-announcement-amp-details-here'&gt;Commplete announcement &amp; details here :&lt;a class='sommaire-back sommaire-back-4' href='#s-Commplete-announcement-amp-details-here' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#034;https://blog.spip.net/812&#034; class=&#034;spip_url spip_out&#034; hreflang=&#034;fr&#034; rel=&#034;external&#034;&gt;https://blog.spip.net/812&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And of course, all info for upgrading SPIP are available on the official documentation : &lt;a href=&#034;https://www.spip.net/en_article2154.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.spip.net/en_article2154.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Originally posted in French by &lt;a href='https://files.spip.org/L-equipe-de-SPIP-Contrib' class=&#034;spip_in&#034;&gt;L'&#233;quipe de SPIP-Contrib&lt;/a&gt;&lt;br class='autobr' /&gt;
Translated to English by &lt;a href='https://files.spip.org/Loiseau2nuit' class=&#034;spip_in&#034;&gt;Loiseau2nuit&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

		</content:encoded>


		

	</item>



	<item>
		<title>Bingo for Friday the 13&lt;sup class=&#034;typo_exposants&#034;&gt;th&lt;/sup&gt;, SPIP 3.2 is available!</title>
		<link>https://files.spip.org/Bingo-for-Friday-the-13th-SPIP-3-2-is-available</link>
		<guid isPermaLink="true">https://files.spip.org/Bingo-for-Friday-the-13th-SPIP-3-2-is-available</guid>
		<dc:date>2017-10-14T07:04:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Jacques</dc:creator>

<category domain="https://files.spip.org/SPIP-core">SPIP-core</category>


		<description>
&lt;p&gt;Following the Toulouse meeting in May, SPIP&#160;3.2 was in the starting blocks.Many websites use it daily on-line, now it's time to offer it to you! &lt;br class='autobr' /&gt;
SPIP&#160;3.2 is an improved version of SPIP&#160;3.1, which includes:
&lt;br class='autobr' /&gt;
- * an update of the embedded JavaScript libraries
&lt;br class='autobr' /&gt;
- * better ergonomics of the private area
&lt;br class='autobr' /&gt;
- * security patches on XSS attacks
&lt;br class='autobr' /&gt;
- * many improvements. &lt;br class='autobr' /&gt;
As good news never arrive alone, for this major version release, SPIP is adorned with a new logo and the site SPIP.net adopts&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-core" rel="directory"&gt;SPIP-core&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH115/arton4938-d8430.png?1763975834' class='spip_logo spip_logo_right' width='150' height='115' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Following the Toulouse meeting in May, SPIP&#160;3.2 was in the starting blocks.Many websites use it daily on-line, now it's time to offer it to you!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SPIP&#160;3.2&lt;/strong&gt; is an improved version of SPIP&#160;3.1, which includes:
&lt;br /&gt;- * an update of the embedded JavaScript libraries
&lt;br /&gt;- * better ergonomics of the private area
&lt;br /&gt;- * security patches on XSS attacks
&lt;br /&gt;- * many improvements.&lt;/p&gt;
&lt;p&gt;As good news never arrive alone, for this major version release, SPIP is adorned with &lt;a href='https://files.spip.org/Refonte-de-l-identite-graphique' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;a new logo&lt;/a&gt; and the site &lt;a href=&#034;http://www.spip.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;SPIP.net&lt;/a&gt; adopts a new design.&lt;/p&gt;
&lt;p&gt;Many thanks to all who participated.&lt;/p&gt;
&lt;p&gt;As usual, do not hesitate to make feedbacks or propose improvements :)&lt;/p&gt;
&lt;p&gt;PS For those who remain with SPIP&#160;3.1 and who do not wish to upgrade to SPIP&#160;3.2, we also propose a new &lt;strong&gt;SPIP&#160;3.1.7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&#8212; The team&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Complete news and details&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://blog.spip.net/807&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://blog.spip.net/807&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>Redesigning SPIP graphical identity</title>
		<link>https://files.spip.org/redesign-spip-branding</link>
		<guid isPermaLink="true">https://files.spip.org/redesign-spip-branding</guid>
		<dc:date>2017-07-10T12:35:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Jordan Zuchiatti, nicod_, YannX</dc:creator>

<category domain="https://files.spip.org/redesign-spip-branding">Iconographie de SPIP</category>

		<dc:subject>En tete sommaire</dc:subject>

		<description>
&lt;p&gt;At Toulouse SPIP Party 2017, a new contributor came to show his work on a complete rebranding for the SPIP logo. Beyond the logo redesign, it is a brand new graphic identity for SPIP that Jordan offers us. &lt;br class='autobr' /&gt; Here is a transcript of his speech: &lt;br class='autobr' /&gt;
&#171; SPIP's graphic identity is felt as aging. Its logo suffers some weaknesses and, websites in its &#8220;galaxy&#8221; could totally use a re-branding &amp; design refreshing. &lt;br class='autobr' /&gt;
As a regular SPIP user &#8212; which I use to work with on 31mille web agency's&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/redesign-spip-branding" rel="directory"&gt;Iconographie de SPIP&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/+-En-tete-sommaire-+" rel="tag"&gt;En tete sommaire&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH111/arton5014-d576d.png?1763975834' class='spip_logo spip_logo_right' width='150' height='111' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;At Toulouse SPIP Party 2017, a new contributor came to show his work on a complete rebranding for the SPIP logo.&lt;br class='autobr' /&gt;
Beyond the logo redesign, it is a brand new graphic identity for SPIP that Jordan offers us.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Here is a transcript of his speech:&lt;/p&gt;
&lt;p&gt;&#171; &lt;i&gt;SPIP's graphic identity is felt as aging. Its logo suffers some weaknesses and, websites in its &#8220;galaxy&#8221;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Galaxy made of every official website dedicated to SPIP, like this (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; could totally use a re-branding &amp; design refreshing.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;As a regular SPIP user &#8212; which I use to work with on &lt;i&gt;31mille&lt;/i&gt; web agency's projects, as an artistic director &#8212; here is my contribution to re-think and modernize SPIP's branding.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Redesigning graphic identity should first ensure all SPIP users about the project and, the dynamism the Community has been carrying around on for 16 years. Default achievement being at least, showcasing a modern front-office to new comers.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;With this upgrade, like we do for a software, improving graphic identity brings to any structured environment more flexibility, making it perfectly scalable to new medias and devices.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Working concept relies on a synthesis between SPIP's power animal, the flying squirrel, and the letter &#171; S &#187;. &lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13965 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/img1-2.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH129/img1-2-f3233.png?1763975834' width='520' height='129' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;For typography purposes, we draw a character that keeps the dynamism brought by a sans-serif, emphasized by italic font and, by adding discrete serifs to it. Part of actual logo's typography is kept in the &#171;p&#187; curve.&lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13966 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/img2-2.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH187/img2-2-1f96f.png?1763975834' width='520' height='187' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;A detachment in second &#8220;p&#8221;'s eye, reminds of the power animal, symbolizing the squirrel's hear. Then appears the &#8220;squirrel-shaped word&#8221;, with its head, body, and a feathery tail.&lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13967 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH397/img3-2-1a7b6.png?1763975834' width='520' height='397' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;A logo's strength stands in its rhythm. Feathery tail's lower curve is repeated across the two letters &#8220;p&#8221;. This redundancy brings the needed dynamism and, empowers the global consistency, meaning to identify and memorize the feathery tail symbol.. &lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13968 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/img4.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH170/img4-84f0b.png?1763975834' width='520' height='170' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;The feathery tail may totally be used alone and then become SPIP's graphic identifier.&lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13969 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L78xH113/img5-9b508.png?1763971717' width='78' height='113' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Modernizing a graphic identity also involves a color refresh. Purple, historical 'legacy' color, now tends to a more actual, brighter &amp; electric hue, so that you clearly can't miss, but recognize SPIP's Identity.&lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13972 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/img61.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH155/img61-2610b.png?1763975834' width='520' height='155' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Using both colors remains however possible, depending on the uses, website's topics and/or devices ...&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Once the symbol is set, any pictural tweaking can be used for larger displays. Like this one, from a graphic code in reference to Mozilla Firefox:&lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13973 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/img62.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH155/img62-50c39.png?1763975834' width='520' height='155' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Using the feathery tail as a graphic symbol being set, identifying SPIP is made possible as soon as one sees the particular curve of the tail.&lt;br class='autobr' /&gt;
Shaped by a rounded background, symbol keeps being perfectly usable in small sized displays, like a favicon.&lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13971 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/img7.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH288/img7-4d764.png?1763975834' width='520' height='288' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;And now this is a design refresh proposal for SPIP's galaxy websites:&lt;/i&gt;&lt;/p&gt;
&lt;div class='spip_document_13975 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/jpg/programmer.jpg' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH633/programmer-72b8b.jpg?1763975834' width='520' height='633' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;This is the graphic identity I imagined for SPIP's community, to be its first spokes person and amplifier.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Jordan Zucchiatti &lt;/i&gt; &#187;&lt;/p&gt;
&lt;p&gt;The initial point being agreed on among the Community, this new logo and proposal for a new graphic identity were warmly welcomed by the party attendees.&lt;/p&gt;
&lt;p&gt;Sources for the logo and variations (favicon, relief, site title and purple declination) are available on &lt;i&gt;Spip-Zone&lt;/i&gt; SVN repository&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;SPIP 's community contributions repository&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;, in SVG and PNG formats :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://zone.spip.org/trac/spip-zone/browser/_graphismes_/logos/spip/spip_2017&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://zone.spip.org/trac/spip-zone/browser/_graphismes_/logos/spip/spip_2017&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update on 07/31/2017 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jordan's mock up has been packaged into a new scalable &amp; skin-able template-plugin &lt;i&gt;Galactic&lt;/i&gt;.&lt;br class='autobr' /&gt;
A first version was made for the developper's documentation website redesign : &lt;a href=&#034;https://programmer.spip.net/?lang=en&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;https://programmer.spip.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Templates and their first skin are free to download on &lt;i&gt;Spip-Zone&lt;/i&gt; SVN repository:&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://zone.spip.org/trac/spip-zone/changeset/105541&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://zone.spip.org/trac/spip-zone/changeset/105541&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update on December 11&lt;sup class=&#034;typo_exposants&#034;&gt;th&lt;/sup&gt; 2018 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By the time that post was translated &amp; published in english, the '&lt;i&gt;Galactic&lt;/i&gt;' templates are already nicely at work on following SPIP Galaxy's websites :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://www.spip.net/en&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; title=&#034;https://www.spip.net/en&#034; rel=&#034;external&#034;&gt;official SPIP website&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://forum.spip.net/en_rubrique389.html&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; title=&#034;https://forum.spip.net/en_rubrique389.html&#034; rel=&#034;external&#034;&gt;official SPIP community forums&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://programmer.spip.net/-Introduction-&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; title=&#034;https://programmer.spip.net/-Introduction-&#034; rel=&#034;external&#034;&gt;SPIP plugins &amp; templates' developers guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://contrib.spip.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;SPIP Contrib&lt;/a&gt; &lt;i&gt;(This exact one ! Yeah!)&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Footnotes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Galaxy made of every official website dedicated to SPIP, like this particular one.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Footnotes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;SPIP 's community contributions repository&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>CRITICAL security update: SPIP 3.1.6 and SPIP 3.2 Beta 3</title>
		<link>https://files.spip.org/CRITICAL-security-update-SPIP-3-1-6-and-SPIP-3-2-Beta</link>
		<guid isPermaLink="true">https://files.spip.org/CRITICAL-security-update-SPIP-3-1-6-and-SPIP-3-2-Beta</guid>
		<dc:date>2017-06-15T07:57:02Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>L'&#233;quipe de SPIP-Contrib</dc:creator>

<category domain="https://files.spip.org/SPIP-core">SPIP-core</category>


		<description>
&lt;p&gt;A CRITICAL flaw was discovered recently in SPIP, allowing the execution of arbitrary code. &lt;br class='autobr' /&gt; It affects SPIP 3.1.x and 3.2 versions (alpha &amp; beta), and impacts all websites using these versions.
&lt;br class='autobr' /&gt;
SPIP 3.0.x and earlier versions are not affected by this issue. &lt;br class='autobr' /&gt;
It is imperative to update your SPIP website as soon as possible. &lt;br class='autobr' /&gt;
In the meantime, the security screen version 1.3.2 will block possible exploitations of the vulnerability. Updating the security screen remains a transitional&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-core" rel="directory"&gt;SPIP-core&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH150/arton4911-f42a6.png?1763975834' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;A CRITICAL flaw was discovered recently in SPIP, allowing the execution of arbitrary code.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-6&#034; id=&#034;nav69b56e8d91ae22.37544173&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-The-following-updates-are-available&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#The-following-updates-are-available&#034; class=&#034;spip_ancre&#034;&gt;The following updates are available:&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-The-security-screen&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#The-security-screen&#034; class=&#034;spip_ancre&#034;&gt;The security screen&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Update-using-spip_loader&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Update-using-spip_loader&#034; class=&#034;spip_ancre&#034;&gt;Update using spip_loader&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Summary-of-SPIP-versions&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Summary-of-SPIP-versions&#034; class=&#034;spip_ancre&#034;&gt;Summary of SPIP versions&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-How-to-be-kept-informed-about-these-announcements&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#How-to-be-kept-informed-about-these-announcements&#034; class=&#034;spip_ancre&#034;&gt;How to be kept informed about these announcements?&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-A-question-in-need-of-help&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#A-question-in-need-of-help&#034; class=&#034;spip_ancre&#034;&gt;A question, in need of help?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;It affects &lt;strong&gt;SPIP 3.1.x and 3.2 versions&lt;/strong&gt; (alpha &amp; beta), and impacts all websites using these versions.&lt;br class='autobr' /&gt;
&lt;strong&gt;SPIP 3.0.x and earlier versions&lt;/strong&gt; are not affected by this issue.&lt;/p&gt;
&lt;p&gt;It is imperative to update your SPIP website as soon as possible.&lt;/p&gt;
&lt;p&gt;In the meantime, the security screen &lt;strong&gt;version 1.3.2&lt;/strong&gt; will block possible exploitations of the vulnerability. Updating the security screen remains a transitional measure that should not prevent you from updating SPIP as soon as possible.&lt;/p&gt;
&lt;p&gt;The team thanks Emeric Boit and ANSSI for identifying and reporting the issue.&lt;/p&gt;
&lt;p&gt;&#8212; The team&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='The-following-updates-are-available'&gt;The following updates are available:&lt;a class='sommaire-back sommaire-back-6' href='#s-The-following-updates-are-available' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Version 3.1.6&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://files.spip.net/spip/archives/SPIP-v3.1.6.zip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://files.spip.net/spip/archives/SPIP-v3.1.6.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Version 3.2 Beta 3&lt;/strong&gt;&lt;br class='autobr' /&gt;
For people who want to test the future version of SPIP , we're taking the opportunity to release SPIP 3.2 Beta 3.&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://files.spip.net/spip/archives/SPIP-vtrois.2.0-beta-3.zip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://files.spip.net/spip/archives/SPIP-vtrois.2.0-beta-3.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warning&lt;/strong&gt;: this is a beta version, it can still contain bugs.&lt;br class='autobr' /&gt;
Do not update to this version on a production website without knowing what you're doing.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='The-security-screen'&gt;The security screen&lt;a class='sommaire-back sommaire-back-6' href='#s-The-security-screen' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;People unable to update should install &lt;strong&gt;version 1.3.2&lt;/strong&gt; of the security screen.&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://www.spip.net/fr_article4200.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.spip.net/fr_article4200.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Update-using-spip_loader'&gt;Update using spip_loader&lt;a class='sommaire-back sommaire-back-6' href='#s-Update-using-spip_loader' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can also upgrade by downloading the latest version of spip_loader (&lt;strong&gt;version 2.5.9&lt;/strong&gt;) which will install SPIP 3.1 by default.&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://www.spip.net/spip-dev/INSTALL/spip_loader.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.spip.net/spip-dev/INSTALL/spip_loader.php&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Summary-of-SPIP-versions'&gt;Summary of SPIP versions&lt;a class='sommaire-back sommaire-back-6' href='#s-Summary-of-SPIP-versions' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='id39f8_c0'&gt; Branch &lt;/th&gt;&lt;th id='id39f8_c1'&gt; Version &lt;/th&gt;&lt;th id='id39f8_c2'&gt; Status &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id39f8_c0'&gt;SPIP 3.1&lt;/td&gt;
&lt;td headers='id39f8_c1'&gt;SPIP 3.1.6&lt;/td&gt;
&lt;td headers='id39f8_c2'&gt;Stable&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id39f8_c0'&gt;SPIP 3.0&lt;/td&gt;
&lt;td headers='id39f8_c1'&gt;SPIP 3.0.26&lt;/td&gt;
&lt;td headers='id39f8_c2'&gt;Maintained&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id39f8_c0'&gt;SPIP 2.1&lt;/td&gt;
&lt;td headers='id39f8_c1'&gt;SPIP 2.1.30&lt;/td&gt;
&lt;td headers='id39f8_c2'&gt;Maintained (security updates only)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;SPIP 2.0 and earlier versions&lt;/strong&gt; are no longer supported. It is strongly recommended that you upgrade to a higher version to avoid security issues.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='How-to-be-kept-informed-about-these-announcements'&gt;How to be kept informed about these announcements?&lt;a class='sommaire-back sommaire-back-6' href='#s-How-to-be-kept-informed-about-these-announcements' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It's simple, sign up on the mailing list &lt;a href=&#034;http://listes.rezo.net/mailman/listinfo/spip-en&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://listes.rezo.net/mailman/listinfo/spip-en&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;And follow us on social networks:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Seenthis: &lt;a href=&#034;https://seenthis.net/people/spip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://seenthis.net/people/spip&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Twitter: &lt;a href=&#034;https://twitter.com/spip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://twitter.com/spip&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Facebook: &lt;a href=&#034;https://www.facebook.com/spip.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.facebook.com/spip.net&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Mamot: &lt;a href=&#034;https://mamot.fr/@spip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://mamot.fr/@spip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;h2&#034; id='A-question-in-need-of-help'&gt;A question, in need of help?&lt;a class='sommaire-back sommaire-back-6' href='#s-A-question-in-need-of-help' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In case of problems or difficulties, go to &lt;a href=&#034;https://forum.spip.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://forum.spip.net&lt;/a&gt;&lt;br class='autobr' /&gt;
We remind you that to report a flaw, just send an email to spip-team@rezo.net&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>Go diagrams with maxiGos.</title>
		<link>https://files.spip.org/Go-diagrams-with-maxiGos</link>
		<guid isPermaLink="true">https://files.spip.org/Go-diagrams-with-maxiGos</guid>
		<dc:date>2017-05-20T13:25:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Robert Sebille</dc:creator>

<category domain="https://files.spip.org/Go-diagrams-with-maxiGos">maxiGos integration
</category>

		<dc:subject>GNU / General Public Licence</dc:subject>
		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>
		<dc:subject>Models</dc:subject>
		<dc:subject>Animation</dc:subject>
		<dc:subject>Webmestre</dc:subject>

		<description>
&lt;p&gt;Maxigos is a plugin for SPIP which allows the use of the main features of maxiGos, &#8220;a set of tools to insert games, problems and go diagrams saved in sgf format in a web page.&#8221; &lt;br class='autobr' /&gt; The plugin works on basis of a model. The sgf code can be written as a parameter of the model or contained in an sgf (Smart Game Format) file. &lt;br class='autobr' /&gt;
The plugin was tested under SPIP 3.1, but there is no reason it should not work under SPIP 3.0, or 2.1 and 2.0. You have to test. Feedbacks from users are welcome.&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/Go-diagrams-with-maxiGos" rel="directory"&gt;maxiGos integration
&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Licence-GPL" rel="tag"&gt;GNU / General Public Licence&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Modele" rel="tag"&gt;Models&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Animation" rel="tag"&gt;Animation&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Webmestre" rel="tag"&gt;Webmestre&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L73xH81/maxigos-ab6c9-ma-10c45759-d5de3.png?1763971254' class='spip_logo spip_logo_right' alt=&#034;&#034; width='73' height='81' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Maxigos is a plugin for SPIP which allows the use of the main features of &lt;a href=&#034;http://jeudego.org/maxiGos/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;maxiGos&lt;/a&gt;, &#8220;a set of tools to insert games, problems and go diagrams saved in sgf format in a web page.&#8221;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-7&#034; id=&#034;nav69b56e8d95e225.29639755&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Installation&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Installation&#034; class=&#034;spip_ancre&#034;&gt;Installation.&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Authorization-of-SGF-documents&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Authorization-of-SGF-documents&#034; class=&#034;spip_ancre&#034;&gt;Authorization of SGF documents&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Third-party&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Third-party&#034; class=&#034;spip_ancre&#034;&gt;Third party.&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Rules-for-sgf-format&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Rules-for-sgf-format&#034; class=&#034;spip_ancre&#034;&gt;Rules for sgf format.&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Model-parameters&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Model-parameters&#034; class=&#034;spip_ancre&#034;&gt;Model parameters&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Examples-of-use&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Examples-of-use&#034; class=&#034;spip_ancre&#034;&gt;Examples of use.&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Temporary-demonstration&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Temporary-demonstration&#034; class=&#034;spip_ancre&#034;&gt;Temporary demonstration&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;The plugin works on basis of a model. The sgf code can be written as a parameter of the model or contained in an sgf (&lt;a href=&#034;https://en.wikipedia.org/wiki/Smart_Game_Format&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Smart Game Format&lt;/a&gt;) file.&lt;/p&gt;
&lt;p&gt;The plugin was tested under SPIP 3.1, but there is no reason it should not work under SPIP 3.0, or 2.1 and 2.0. You have to test. Feedbacks from users are welcome.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Installation'&gt;Installation.&lt;a class='sommaire-back sommaire-back-7' href='#s-Installation' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As any &lt;a href=&#034;https://www.spip.net/en_article3475.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;spip plugin&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Authorization-of-SGF-documents'&gt;Authorization of SGF documents&lt;a class='sommaire-back sommaire-back-7' href='#s-Authorization-of-SGF-documents' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SPIP has &#8220;forgotten&#8221;;) to allow .sgf extension files and compresses them as zip files. They have to be authorized directly in the database, by adding a row in the &#8220;spip_type_documents&#8221; table. The plugin performs this operation on activation.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Third-party'&gt;Third party.&lt;a class='sommaire-back sommaire-back-7' href='#s-Third-party' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The plugin embeds its own version of maxiGos, v6.64 (standalone players only + editor + language files), &lt;a href=&#034;http://jeudego.org/maxiGos/_maxigos/_doc/license.txt&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;licensed BSD&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Rules-for-sgf-format'&gt;Rules for sgf format.&lt;a class='sommaire-back sommaire-back-7' href='#s-Rules-for-sgf-format' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you want to write sgf directly into the content, refer to the &lt;a href=&#034;http://www.red-bean.com/sgf/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;sp&#233;cifications&lt;/a&gt;. But, most of the time, you will probably prefer to use sgf files.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Model-parameters'&gt;Model parameters&lt;a class='sommaire-back sommaire-back-7' href='#s-Model-parameters' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;formatting&lt;/strong&gt;
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;langue=[langue]&lt;/code&gt; where [langue] can take the values : fr (for French, default), en (for English), ja (for Japanese), zh (for Chinese), zh-tw (for Chinese-taiwan)
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;style=[style]&lt;/code&gt; where [style] can take the values: classic (default), neo (for neo-classic), tatami, minimal (for minimalist), cameleon, [which are multitype values] or fm, kifu, tiger [which are monotype values]
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type=[type]&lt;/code&gt; where [type] can take the values: basic (default), comment, diagram, game, problem, tree [which are multistyle values], edit, lesson [which are monostyle values]&lt;/p&gt;
&lt;p&gt;For the meaning of the style and type parameters, refer to the examples on this page &lt;a href=&#034;http://jeudego.org/maxiGos/_maxigos/_doc/_en/download.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://jeudego.org/maxiGos/_maxigos/_doc/_en/download.php&lt;/a&gt; from the maxiGos website under the heading &#8220;Download stand-alone players only&#8221; and view the examples.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Multitypes or monotypes, and multistyles or monostyles&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Multitypes style values &#8203;&#8203;and multistyles type values &#8203;&#8203;can be associated, for example: &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;| style=neo | type=comment&lt;/code&gt; or &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;| style=cameleon | type=problem&lt;/code&gt;&lt;/li&gt;&lt;li&gt; On the other hand,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; The monotype style values &#8203;&#8203;(fm, kifu, tiger) have their own type (and therefore the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;| type=[something]&lt;/code&gt; parameter will not do anything with these styles.&lt;/li&gt;&lt;li&gt; And the monostyle types (edit, lesson) have their own style (and therefore the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;| style=[something]&lt;/code&gt; parameter will not work with these types.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;SGF content&lt;/strong&gt;&lt;br class='autobr' /&gt;
If the two following parameters (id_doc and contenu) are present, only the id_doc parameter will be taken into account.
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;id=XX&lt;/code&gt; or &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;maxigosXX|[...]&gt;&lt;/code&gt; - the content is in a file of id=XX, with extension .sgf, downloaded via SPIP. Regardless of whether the file is linked to the object (such as the article) where the model call is inserted
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;contenu=a_sgf_content_directly_written&lt;/code&gt; - the SGF content is written directly or copied/pasted into the SPIP object. Beware, sgf content manually written in an article, does not support the &#8220;|&#8221; (pipe). This applies only to the contenu parameter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Customization parameters, by types and styles&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; All types
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;init=[init]&lt;/code&gt; where [init] can take the values: first (default, =go to the start of the SGF) or last (=go to the end of the main variant of the SGF file) - maxiGos parameter: initMethod&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ombre=X&lt;/code&gt; where X can take the values: 0 (default, =does not display a shadow on stone bottom right) or 1 (=displays a shadow on stone bottom right). - maxiGos parameter: stoneShadowOn&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Types basic, comment, game, tree, edit, lesson and styles fm, tiger
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;demo=X&lt;/code&gt; where X can take the values: 0 (=the visitor can place stones on the goban and thus create variants) or 1 (=the visitor can not place a stone on the goban or create variants). Practical for demonstrations. - Parameter maxiGos: (opposite to) canPlaceVariation&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Types comment, diagram, problem, tree, lesson, styles fm, tiger, kifu and all tatami style types
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;indices=X&lt;/code&gt; where X can take the values: 0 (=The indices are not displayed arround the goban), 1 (=The indices are displayed arround the goban) or undefined (=the SGF decides via the FG property). - Parameter maxiGos: indicesOn&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;numeros=X&lt;/code&gt; where X can take the values: 0 (=the stones on the goban are not numbered), 1 (=the stones on the goban are numbered) or undefined (=the SGF decides via the PM property). - MaxiGos parameter: numberingOn&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Types tree, edit, and tiger style
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;commentaire_arbre=X&lt;/code&gt; where X can take the values: 0 or 1 (= If X is 1, replaces in the tree commented move numbers by a &#8220;?&#8221;). - maxiGos parameter: markCommentOnTree&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Type problem only.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;recommencer_tout=X&lt;/code&gt; where X can take the values: 0 or 1 (=If recommencer_tout is 1, displays a retry button). - maxiGos parameter: canRetry&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;reprendre_coup=X&lt;/code&gt; where X can take the values: 0 or 1 (= If reprendre_coup is 1, displays an undo button). - MaxiGos parameter: canUndo&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;montrer_suite=X&lt;/code&gt; where X can take the values: 0 or 1 (= If montrer_suite is 1, displays a continuation button. A click on this button shows moves of the first branch of the sgf tree from the current position). - MaxiGos parameter: canContinuation&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;h2&#034; id='Examples-of-use'&gt;Examples of use.&lt;a class='sommaire-back sommaire-back-7' href='#s-Examples-of-use' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In an article, since the use in a template appears here irrelevant.&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;maxigos|content=(;FF[4]GM[1]SZ[19]VW[aa:ii]FG[1]AW[ee]AB[de][fe][ed];B[ef]C[Correct !])&gt; &lt;/code&gt;will present an example of a problem (taking a stone), in classic style, basic type.&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;MaxigosXX|style=tatami|type=tree|language=zh&gt; &lt;/code&gt;will display a tatami-style player, with a tree type, in Chinese language, from the game or the problem contained in a .sgf file of id=XX.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Temporary-demonstration'&gt;Temporary demonstration&lt;a class='sommaire-back sommaire-back-7' href='#s-Temporary-demonstration' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;br /&gt;- In the articles of &lt;a href=&#034;http://web.sebille.name/gopantin/spip.php?rubrique8&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;this section&lt;/a&gt; &lt;br /&gt;- On &lt;a href=&#034;http://egc2019.be/games/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;European Go Congress 2019 website&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/maxigos.zip" length="1598620" type="application/zip" />
		

	</item>



	<item>
		<title>Secure your SPIP website with https://</title>
		<link>https://files.spip.org/Secure-your-SPIP-website-with-https</link>
		<guid isPermaLink="true">https://files.spip.org/Secure-your-SPIP-website-with-https</guid>
		<dc:date>2017-02-23T11:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>erational, Loiseau2nuit</dc:creator>

<category domain="https://files.spip.org/Secure-your-SPIP-website-with-https">HTTPS redirections
</category>

		<dc:subject>&lt;span lang='fr'&gt;Documentation&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;How to easily migrate your SPIP website from http:// to https:// &lt;br class='autobr' /&gt; https:// protocol is largely spreading: most big websites are early adopters it's recommanded for better data transactions' privacy web browsers now flag http:// websites as &#8220;Not Secure&#8221; it's part of quite every search engine guidelines for SEO ... &lt;br class='autobr' /&gt;
Hopefully, in most case it's really simple to get SPIP ready for https://. This post shows you how to do it. Step 1 - Get a SSL certificate for HTTPS &lt;br class='autobr' /&gt;
On shared hostings, the&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/Secure-your-SPIP-website-with-https" rel="directory"&gt;HTTPS redirections
&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Documentation-117" rel="tag"&gt;&lt;span lang='fr'&gt;Documentation&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L128xH128/redirhttps-dbfe6-d0348734-b0b9e.png?1763970932' class='spip_logo spip_logo_right' alt=&#034;&#034; width='128' height='128' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;How to easily migrate your SPIP website from &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://&lt;/code&gt; to &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-4&#034; id=&#034;nav69b56e8d99d946.51509012&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Step-1-Get-a-SSL-certificate-for-HTTPS&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Step-1-Get-a-SSL-certificate-for-HTTPS&#034; class=&#034;spip_ancre&#034;&gt;Step 1 - Get a SSL certificate for HTTPS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Step-2-Modify-website-s-canonical-URL&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Step-2-Modify-website-s-canonical-URL&#034; class=&#034;spip_ancre&#034;&gt;Step 2 - Modify website's canonical URL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Step-4-Set-up-file-to-force-HTTPS&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Step-4-Set-up-file-to-force-HTTPS&#034; class=&#034;spip_ancre&#034;&gt;Step 4 - Set up &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.htaccess&lt;/code&gt; file to force HTTPS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Known-issue&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Known-issue&#034; class=&#034;spip_ancre&#034;&gt;Known issue&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://&lt;/code&gt; protocol is largely spreading:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; most big websites are early adopters&lt;/li&gt;&lt;li&gt; it's recommanded for better data transactions' privacy&lt;/li&gt;&lt;li&gt; web browsers now flag &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://&lt;/code&gt; websites as &#8220;Not Secure&#8221;&lt;/li&gt;&lt;li&gt; it's part of quite every search engine guidelines for SEO&lt;/li&gt;&lt;li&gt; ...&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Hopefully, in most case it's really simple to get SPIP ready for &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://&lt;/code&gt;. This post shows you how to do it.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Step-1-Get-a-SSL-certificate-for-HTTPS'&gt;Step 1 - Get a SSL certificate for HTTPS&lt;a class='sommaire-back sommaire-back-4' href='#s-Step-1-Get-a-SSL-certificate-for-HTTPS' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On shared hostings, the option has to be available and should be activated on domain level or, desired sub-domain.&lt;/p&gt;
&lt;p&gt;On dedicated servers, &lt;a href=&#034;https://letsencrypt.org/&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;Let's encrypt&lt;/a&gt; is the solution that let's you generate your own certificates.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://www.tecmint.com/install-free-lets-encrypt-ssl-certificate-for-apache-on-debian-and-ubuntu/&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;Install Let's Encrypt ssl certificate on debian/ubuntu&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Step-2-Modify-website-s-canonical-URL'&gt;Step 2 - Modify website's canonical URL&lt;a class='sommaire-back sommaire-back-4' href='#s-Step-2-Modify-website-s-canonical-URL' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In the admin area:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Go to menu &lt;strong&gt;configuration&lt;/strong&gt; &gt; &lt;strong&gt;Site identity&lt;/strong&gt; &gt; &lt;strong&gt;Website URL&lt;/strong&gt; &lt;br class='manualbr' /&gt;Change the adresse from &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://www.your-domain.tld&lt;/code&gt; to &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://www.your-domain.tld&lt;/code&gt; (add &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;www.&lt;/code&gt; or not, depending on your &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.htaccess&lt;/code&gt; branding/redir. policy)&lt;/li&gt;&lt;li&gt; Save the changes then, go empty your cache via menu &lt;strong&gt;Maintenance&lt;/strong&gt; &gt; &lt;strong&gt;Empty the cache&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;If your templates use the &lt;a href=&#034;https://www.spip.net/en_article5099.html&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;#CHEMIN&lt;/a&gt; tag, as normally requested, the update to do should be minimal, addresses already being path relative (normally).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Don't forget to check on those points:&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; External ressources (fonts, styles, libs, js, ...) should all be called and accessible with &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://&lt;/code&gt;. =&gt; Eg. each &amp; every &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://cdn.something.tld/some.js&lt;/code&gt; becomes &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://cdn.something.tld/some.js&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Sounds obvious but browse your website to check on your browser is not detecting any glitch.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For example with &lt;i&gt;Firefox&lt;/i&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;div class='spip_document_13830 spip_document spip_documents spip_document_image spip_documents_left spip_document_left'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L177xH38/https_ok-39f96.png?1763970932' width='177' height='38' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;It Works ! &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://&lt;/code&gt; version is up &amp; running&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;div class='spip_document_13828 spip_document spip_documents spip_document_image spip_documents_left spip_document_left'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L165xH38/https_notok_mixed_content-39901.png?1763970932' width='165' height='38' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://&lt;/code&gt; is up &lt;strong&gt;but&lt;/strong&gt; some ressources are still called with &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http://&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;Google Chrome&lt;/i&gt;'s consol &lt;/strong&gt; also provides with mixed &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;http / https&lt;/code&gt; content errors&lt;/p&gt;
&lt;div class='spip_document_13829 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://files.spip.org/IMG/png/https_notok_mixed_content_chrome.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH86/https_notok_mixed_content_chrome-ae97d.png?1763971411' width='520' height='86' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;h2&#034; id='Step-4-Set-up-file-to-force-HTTPS'&gt;Step 4 - Set up &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.htaccess&lt;/code&gt; file to force HTTPS&lt;a class='sommaire-back sommaire-back-4' href='#s-Step-4-Set-up-file-to-force-HTTPS' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Once HTTPS is set up, we force redirect all HTTP requests toward their equivalent HTTPS URLs, by adding the foillowing custom setting to the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.htaccess&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034; id='Known-issue'&gt;Known issue&lt;a class='sommaire-back sommaire-back-4' href='#s-Known-issue' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If your server is mis-configured and/or doesn't provide any &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$_SERVER['HTTPS']&lt;/code&gt; variable, then you may experience some troubles with mixed content issues.&lt;/p&gt;
&lt;p&gt;To bypass that, add the following lines to your &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;config/mes_options.php&lt;/code&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$_SERVER['HTTPS'] = 'on'; $_SERVER['SERVER_PORT'] = '443';&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		

		</content:encoded>


		

	</item>



	<item>
		<title>BootStrap v2 for SPIP</title>
		<link>https://files.spip.org/BootStrap-for-SPIP</link>
		<guid isPermaLink="true">https://files.spip.org/BootStrap-for-SPIP</guid>
		<dc:date>2015-10-09T06:30:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>rjadot</dc:creator>

<category domain="https://files.spip.org/BootStrap-for-SPIP">Bootstrap 2</category>

		<dc:subject>GNU / General Public Licence</dc:subject>
		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;Documentation origin &lt;br class='autobr' /&gt; Presentation &lt;br class='autobr' /&gt;
BootStrap is a framework which facilitates and accelerates the front-end development. It includes A very complete CSS base (in LESS format) configured from variables files; a set of conventions of HTML structure and classes naming; simple Javascripts libraries for the most common functions. &lt;br class='autobr' /&gt;
BootStrap has a detailed documentation which facilitates its handling. &lt;br class='autobr' /&gt;
BootStrap for SPIP &lt;br class='autobr' /&gt;
A plugin BootStrap for SPIP facilitates the integration of BootStrap&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/BootStrap-for-SPIP" rel="directory"&gt;Bootstrap 2&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Licence-GPL" rel="tag"&gt;GNU / General Public Licence&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src=&#034;&#034; class=&#034;spip_logo spip_logo_right&#034; alt=&#034;&#034; style='max-width: 150px;max-width: min(100%,150px); max-height: 150px' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Documentation origin &lt;a href=&#034;http://spipr.nursit.com/bootstrap&#034; class=&#034;spip_url spip_out&#034; hreflang=&#034;fr&#034; rel=&#034;external&#034;&gt;http://spipr.nursit.com/bootstrap&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-13&#034; id=&#034;nav69b56e8da06ce7.74021455&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Presentation&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Presentation&#034; class=&#034;spip_ancre&#034;&gt;Presentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-BootStrap-for-SPIP&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#BootStrap-for-SPIP&#034; class=&#034;spip_ancre&#034;&gt;BootStrap for SPIP&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Adaptation-to-the-SPIP-markup&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Adaptation-to-the-SPIP-markup&#034; class=&#034;spip_ancre&#034;&gt;Adaptation to the SPIP markup&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Typography&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Typography&#034; class=&#034;spip_ancre&#034;&gt;Typography&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-grid&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#grid&#034; class=&#034;spip_ancre&#034;&gt;grid&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-LESS&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#LESS&#034; class=&#034;spip_ancre&#034;&gt;LESS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-BootStrap-in-SPIPr&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#BootStrap-in-SPIPr&#034; class=&#034;spip_ancre&#034;&gt;BootStrap in SPIPr&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Demo-page&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Demo-page&#034; class=&#034;spip_ancre&#034;&gt;Demo page&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Organization-of-files&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Organization-of-files&#034; class=&#034;spip_ancre&#034;&gt;Organization of files&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-LESS-sheets-overloads&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#LESS-sheets-overloads&#034; class=&#034;spip_ancre&#034;&gt;LESS sheets overloads&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Using-the-overloads&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Using-the-overloads&#034; class=&#034;spip_ancre&#034;&gt;Using the overloads&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Images-in-LESS-sheets&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Images-in-LESS-sheets&#034; class=&#034;spip_ancre&#034;&gt;Images in LESS sheets&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Resources&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Resources&#034; class=&#034;spip_ancre&#034;&gt;Resources&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;h2 id='Presentation'&gt;Presentation&lt;a class='sommaire-back sommaire-back-13' href='#s-Presentation' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#034;https://github.com/twbs/bootstrap&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;BootStrap&lt;/a&gt; is a framework which facilitates and accelerates the front-end development. It includes&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; A very complete CSS base (in LESS format) configured from variables files;&lt;/li&gt;&lt;li&gt; a set of conventions of HTML structure and classes naming;&lt;/li&gt;&lt;li&gt; simple Javascripts libraries for the most common functions.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;BootStrap has a &lt;a href=&#034;http://getbootstrap.com/2.3.2/&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;detailed documentation&lt;/a&gt; which facilitates its handling.&lt;/p&gt;
&lt;h2 id='BootStrap-for-SPIP'&gt;BootStrap for SPIP&lt;a class='sommaire-back sommaire-back-13' href='#s-BootStrap-for-SPIP' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A plugin &lt;a href=&#034;http://plugins.spip.net/bootstrap&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;BootStrap&lt;/a&gt; for SPIP facilitates the integration of &lt;strong&gt;BootStrap v2&lt;/strong&gt;. The plugin includes all the CSS of BootStrap (v2.3.2) and adds to them a layer of adaptation to SPIP.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Adaptation-to-the-SPIP-markup'&gt;Adaptation to the SPIP markup&lt;a class='sommaire-back sommaire-back-13' href='#s-Adaptation-to-the-SPIP-markup' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The plugin integrates the CSS of BootStrap without modification, but adds to it an adaptation layer to the HTML generated by SPIP. So, the SPIP forms which use a HTML markup different from the one proposed by BootStrap benefit all the same from the styles of BootStrap. If you add your own forms, you can use as well the markup of BootStrap or the one of the SPIP, according to your habits.&lt;/p&gt;
&lt;p&gt;Tables generated by SPIP from the editorial contents also inherit the styles of BootStrap.&lt;/p&gt;
&lt;p&gt;Furthermore, the plugin adapts the the pagination markup of SPIP so that it benefits from styles of BootStrap.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Typography'&gt;Typography&lt;a class='sommaire-back sommaire-back-13' href='#s-Typography' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The typography natively proposed by SPIP in its default template is better than that the BootStrap one. It's also more accessible as it's implemented in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;em&lt;/code&gt; and not &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;px&lt;/code&gt;.&lt;br class='autobr' /&gt;
The BootStrap for SPIP plugin thus takes back typography of SPIP for these reasons.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='grid'&gt;grid&lt;a class='sommaire-back sommaire-back-13' href='#s-grid' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class='spip_document_13111 spip_document spip_documents spip_document_image spip_documents_right spip_document_right'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L67xH35/hashgrid-3fc132e-d8e96114-1d4ea.png?1763969814' width='67' height='35' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;The plugin BootStrap for SPIP also the integrates &lt;a href=&#034;http://hashgrid.com/&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;#grid&lt;/a&gt; display tool. It allows the webmasters to display the currently used grid. It's configured to settle by default on the 3 BootStrap grids (according to the screen width) and you can use it thus directly.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='LESS'&gt; LESS&lt;a class='sommaire-back sommaire-back-13' href='#s-LESS' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class='spip_document_13112 spip_document spip_documents spip_document_image spip_documents_right spip_document_right'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L86xH35/less-logo-la0687-f0ad1693-f5645.png?1763969814' width='86' height='35' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;To allow to work directly in style sheets in LESS format without passing by a stage of manual compilation, the plugin BootStrap requires the plugin &lt;a href=&#034;http://plugins.spip.net/lesscss&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;LessCSS&lt;/a&gt; for SPIP' which automatically compiles LESS sheets in CSS on the fly.&lt;/p&gt;
&lt;h2 id='BootStrap-in-SPIPr'&gt;BootStrap in SPIPr&lt;a class='sommaire-back sommaire-back-13' href='#s-BootStrap-in-SPIPr' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;All the BootStrap styles are included in the pages of the SPIPr template, it is thus possible to use the whole markup proposed in the BootStrap documentation and to benefit from its styles and scaffolding.&lt;br class='autobr' /&gt;
In the case of forms, it is possible also to use the &lt;a href=&#034;http://www.spip.net/fr_article3791.html&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;tagging convention&lt;/a&gt; proposed in SPIP, which is entirely managed by the adaptation of BootStrap to SPIP.&lt;/p&gt;
&lt;p&gt;On the other hand, most of the &lt;a href=&#034;http://twitter.github.com/bootstrap/javascript.html&#034; class=&#034;spip_out&#034; hreflang=&#034;en&#034; rel=&#034;external&#034;&gt;Javascripts of BootStrap&lt;/a&gt; are not integrated by default and you will thus have to add them in your templates to use the corresponding features of BootStrap.&lt;/p&gt;
&lt;h2 id='Demo-page'&gt;Demo page&lt;a class='sommaire-back sommaire-back-13' href='#s-Demo-page' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The plugin BootStrap for SPIP integrates several demo pages &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;demo/&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;The main demo page is visible at the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip.php?page=demo/bootstrap&lt;/code&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;You must have the webmaster statute to see this page&#034; id=&#034;nh2-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;. This page displays all the elements of interface managed by BootStrap, as well as a typographic charter which allows to verify the display of all the usual typographic enrichments.&lt;/p&gt;
&lt;div class='spip_document_13113 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;21&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L500xH581/bootstrap-pa6b85-4b1d5f76-df078.png?1763969814' width='500' height='581' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-13113 '&gt;&lt;strong&gt;BootStrap demo page
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 id='Organization-of-files'&gt;Organization of files&lt;a class='sommaire-back sommaire-back-13' href='#s-Organization-of-files' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The plugin BootStrap for SPIP is organized in two under files(cases) bootstrap / and bootstrap2spip/:&lt;/p&gt;
&lt;p&gt;bootstrap/ et bootstrap2spip/ :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; bootstrap/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;bootstrap&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;css&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; BootStrap LESS files&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;img&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; BootStrap glyphicons images&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;js&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; BootStrap javascripts files&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;bootstrap2spip&lt;/strong&gt;/ Overloads the Bootstrap files
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;css&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;/li&gt;&lt;li&gt; &lt;strong&gt;boot-theme.less&lt;/strong&gt; empty file available for customization&lt;/li&gt;&lt;li&gt; &lt;strong&gt;bootswatch.less&lt;/strong&gt; empty file available for customization&lt;/li&gt;&lt;li&gt; &lt;strong&gt;spip.css&lt;/strong&gt; Some styles for the code generated by SPIP&lt;/li&gt;&lt;li&gt; &lt;strong&gt;spip.list.less&lt;/strong&gt; styles of the lists module&lt;/li&gt;&lt;li&gt; &lt;strong&gt;spip.comment.less&lt;/strong&gt; styles of comments&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;formulaires&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;charter.html&lt;/strong&gt; SPIP demo form&lt;/li&gt;&lt;li&gt; &lt;strong&gt;recherche.html&lt;/strong&gt; SPIP search form adapted to BootStrap&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;js&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;hashgrid.js&lt;/strong&gt; #grid&lt;/li&gt;&lt;li&gt; &lt;strong&gt;html5.js&lt;/strong&gt; HTML5 support for old browsers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;modeles&lt;/strong&gt;/
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; SPIP pagination templates adapted to BootStrap&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id='LESS-sheets-overloads'&gt;LESS sheets overloads&lt;a class='sommaire-back sommaire-back-13' href='#s-LESS-sheets-overloads' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;i&gt;bootstrap2spip/&lt;/i&gt; directory contains LESS style sheets which overload those of BootStrap. Let us see a concrete example with the sheet &lt;i&gt;alerts.less&lt;/i&gt;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;css&#034; class='spip_code spip_code_block language-css' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/* importer la feuille d'origine de BootStrap */ @import &#034;bootstrap/css/alerts.less&#034;; /* Ajout des classes info, success, warning, error utilis&#233;es dans SPIP */ .info {.alert; .alert-info;} .success {.alert; .alert-success;} .warning {.alert;} .error {.alert;.alert-error}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Here we see that the overloads for SPIP completely uses the native BootStrap file by simply adding to it some definitions which inherit from BootStrap. It is the case of most of the overloading files in &lt;i&gt;bootstrap2spip/&lt;/i&gt; with the exception of the typography completely taken back by SPIP.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Using-the-overloads'&gt;Using the overloads&lt;a class='sommaire-back sommaire-back-13' href='#s-Using-the-overloads' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;During the compilation of the LESS files, the plugin &lt;a href=&#034;http://plugins.spip.net/lesscss&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;LessCSS&lt;/a&gt; interprets each &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;@import&lt;/code&gt; directive by searching the file in the SPIP path, including plugins and &lt;i&gt;squelettes/&lt;/i&gt; direcory.&lt;/p&gt;
&lt;p&gt;So, if you write &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;@import &#034;css/alerts.less&#034;&lt;/code&gt;, SPIP is going to look for the file &lt;i&gt;css/alerts.less&lt;/i&gt; in &lt;i&gt;squelettes/&lt;/i&gt; then in all the directories declared by the plugins.&lt;br class='autobr' /&gt;
In the BootStrap plugin, the search will be made at first in the &lt;i&gt;bootstrap2spip/&lt;/i&gt; diretory to see if a specific overload for SPIP exists, then in &lt;i&gt;bootstrap/&lt;/i&gt; to take the native BootStrap files otherwise.&lt;/p&gt;
&lt;p&gt;You can thus customize finely the overloads of BootStrap in the following way:&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; You can cancel the adaptation to SPIP for the file css / alerts.css by putting the contents following in skeletons / css / alerts.css:
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;css&#034; class='spip_code spip_code_block language-css' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/* importer la feuille d'origine de BootStrap */ @import &#034;bootstrap/css/alerts.less&#034;;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt; vous pouvez compl&#233;ter l'adaptation &#224; SPIP avec vos propres compl&#233;ments. Pour le fichier css/alerts.css, en mettant le contenu suivant dans squelettes/css/alerts.css :
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;css&#034; class='spip_code spip_code_block language-css' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/* importer la feuille adapt&#233;e &#224; SPIP */ @import &#034;bootstrap2spip/css/alerts.less&#034;; /* mes ajouts */ ...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;In a general way, you should avoid overloading BootStrap LESS files to benefit from updates of these files during the update of the plugin.&lt;/p&gt;
&lt;p&gt;For your site customization, it's better to use 2 files &lt;i&gt;css/boot-theme.less&lt;/i&gt; and &lt;i&gt;css/bootswatch.less&lt;/i&gt; which were added and are empty by default. They allow to add customizations of BootStrap CSS, which will be compiled with the set of BootStrap files (which allows to use all the BootStrap mixins).&lt;/p&gt;
&lt;h2 id='Images-in-LESS-sheets'&gt;Images in LESS sheets&lt;a class='sommaire-back sommaire-back-13' href='#s-Images-in-LESS-sheets' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A point to which it is necessary to pay attention with LESS is about the relative ways towards the decoration images: the functioning is different from what we can be used in CSS sheets.&lt;/p&gt;
&lt;p&gt;In a CSS sheet, if you use the code &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;url(../img/deco.png)&lt;/code&gt; the relative way &lt;i&gt;/img/deco.png&lt;/i&gt; is interpreted with regard to the location of the CSS file.&lt;/p&gt;
&lt;p&gt;In a LESS sheet, with the same code, the relative way is interpreted with regard to the location of the main compiled LESS file. It makes an important difference when the directive &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;@import&lt;/code&gt; is used.&lt;br class='autobr' /&gt;
Indeed, in this case it is always the location of the main file, the one who makes &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;@import&lt;/code&gt;, which is taken in reference, and not the location of included files, even if it is the which references the image.&lt;/p&gt;
&lt;p&gt;In the case of BootStrap, it means that it is the location of the file &lt;i&gt;bootstrap.less&lt;/i&gt; that is taken into account. So, to use an image in a customized BootStrap LESS file, it is advisable to give a relative way with regard to the file &lt;i&gt;bootstrap.less&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;The solution consists then in copying the file &lt;i&gt;bootstrap.less&lt;/i&gt; in your &lt;i&gt;squelettes/&lt;/i&gt;, folder next to your customized file, without forgetting to also copy there the &lt;i&gt;img/&lt;/i&gt; folder with glyphicons. It is rather impractical, and in a general way it is avoidable by adding the images of decoration in a LESS file which is not included by bootstrap.less but directly by the SPIPr template.&lt;/p&gt;
&lt;h2 id='Resources'&gt;Resources&lt;a class='sommaire-back sommaire-back-13' href='#s-Resources' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;An indicative and not exhaustive list of tools usable as a supplement to BootStrap to generate themes, build mockup&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;take care about the BootStrap version which are supported by these tools: if (&#8230;)&#034; id=&#034;nh2-2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://bootswatch.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://bootswatch.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://wrapbootstrap.com/themes&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://wrapbootstrap.com/themes&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://jetstrap.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://jetstrap.com/&lt;/a&gt; un outil de Mockup en ligne pour BootStrap&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://stylebootstrap.info/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://stylebootstrap.info/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.boottheme.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.boottheme.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://bootswatchr.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://bootswatchr.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.lavishbootstrap.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.lavishbootstrap.com/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb2-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-1&#034; class=&#034;spip_note&#034; title=&#034;Footnotes 2-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;You must have the webmaster statute to see this page&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2-2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-2&#034; class=&#034;spip_note&#034; title=&#034;Footnotes 2-2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;take care about the BootStrap version which are supported by these tools: if it is an older version that the one used by SPIPr, some variables may be lacking in the generated sheets&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/bootstrap.zip" type="application/zip" />
		
		<enclosure url="https://files.spip.net/spip-zone/bootstrap2.zip" length="285856" type="application/zip" />
		
		<enclosure url="https://files.spip.net/spip-zone/bootstrap3.zip" length="394825" type="application/zip" />
		
		<enclosure url="https://files.spip.net/spip-zone/bootstrap4.zip" length="1098852" type="application/zip" />
		

	</item>



	<item>
		<title>Animated dropdown menu</title>
		<link>https://files.spip.org/Animated-dropdown-menu</link>
		<guid isPermaLink="true">https://files.spip.org/Animated-dropdown-menu</guid>
		<dc:date>2015-09-12T13:29:59Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Louis Possoz</dc:creator>

<category domain="https://files.spip.org/Animated-dropdown-menu">Animated dropdown menu
</category>

		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>
		<dc:subject>Enhance browsing</dc:subject>
		<dc:subject>Menus</dc:subject>
		<dc:subject>On SPIP-Zone</dc:subject>

		<description>&lt;p&gt;Dynamic multilevel menubar - easy (?) adaptation of colors and sizes - Also suitable for small screens (mobile).&lt;/p&gt;


-
&lt;a href="https://files.spip.org/Animated-dropdown-menu" rel="directory"&gt;Animated dropdown menu
&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Navigation,178" rel="tag"&gt;Enhance browsing&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Menus" rel="tag"&gt;Menus&lt;/a&gt;, 
&lt;a href="https://files.spip.org/sur-SPIP-Zone" rel="tag"&gt;On SPIP-Zone&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L125xH64/menu_anime-a6099-35657964-56a7f.png?1763969267' class='spip_logo spip_logo_right' alt=&#034;&#034; width='125' height='64' /&gt;
		&lt;div class='rss_descriptif'&gt;&lt;p&gt;Dynamic multilevel menubar - easy (?) adaptation of colors and sizes - Also suitable for small screens (mobile).&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Very simple display of a multilevel animated dropdown menu!&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-4&#034; id=&#034;nav69b56e8da654c0.27093598&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Introduction&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Introduction&#034; class=&#034;spip_ancre&#034;&gt;Introduction&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Installation&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Installation&#034; class=&#034;spip_ancre&#034;&gt;Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Use&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Use&#034; class=&#034;spip_ancre&#034;&gt;Use&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Changing-colours-and-sizes&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Changing-colours-and-sizes&#034; class=&#034;spip_ancre&#034;&gt;Changing colours and sizes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;The plugin is suitable for small screens (mobile)!&lt;br class='autobr' /&gt;
The color themes and dimensions are modifiable, as explained in &lt;a href=&#034;#Changing-colours-and-sizes&#034; class=&#034;spip_ancre&#034;&gt;the last section below&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Introduction'&gt;Introduction&lt;a class='sommaire-back sommaire-back-4' href='#s-Introduction' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Flexibility and simplicity are the main keywords for this menu displayer. See an example on our &lt;a href=&#034;https://rc.agora-lln.be/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Repair Caf&#233;&lt;/a&gt; website.&lt;br class='autobr' /&gt;
It uses (all?) the potential of the various browsers: colour gradients, shadow for boxes and texts, as well as rounded corners, not to mention the dynamic menu boxes!&lt;/p&gt;
&lt;p&gt;For smaller screens, the plugin reacts differently and displays a vertical drop down menu. The menu can also be discrete, disappearing at printing!&lt;/p&gt;
&lt;p&gt;This animated dropdown menu is essentially based on a simple (!) style sheet (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.css&lt;/code&gt;). It does all the work!&lt;br class='autobr' /&gt;
This plugin is an ideal complement to the &lt;a href='https://files.spip.org/Menus-3139'&gt;menus&lt;/a&gt; plugin but it is convenient for all menus containing a selector &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;class=&#034;menu_anime&#034;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The plugin is also designed to simplify the adjustment of colours and dimensions to each particular site. A method for doing it is described in detail &lt;a href=&#034;#Changing-colours-and-sizes&#034; class=&#034;spip_ancre&#034;&gt;at the end of this article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The original idea of &#8203;&#8203;this menu is linked to the work of &lt;a href=&#034;https://red-team-design.com/css3-dropdown-menu/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Catalin Rosu&lt;/a&gt;. This plugin has originally been derived from his elegant and talented handling of style sheets.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Installation'&gt;Installation&lt;a class='sommaire-back sommaire-back-4' href='#s-Installation' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Choose a manual or automatic method provided by SPIP. The plugin has no dependencies.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Use'&gt;Use&lt;a class='sommaire-back sommaire-back-4' href='#s-Use' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The simplest and most general use of this plugin is through the &lt;a href=&#034;https://plugins.spip.net/menus.html?lang=en&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugin menus&lt;/a&gt;. After enabling this plugin (if not already), simply create a menu (or edit an existing menu) ensuring to assign the CSS class &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime&lt;/code&gt; as can be seen on the following screen-shot.&lt;/p&gt;
&lt;div class='spip_document_13107 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH398/menu_anime.en-af070.jpg?1763975834' width='520' height='398' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Here, the identifier &#8220;barrenav&#8221; causes the menu to display as the main navigation bar. No other intervention is necessary!&lt;/p&gt;
&lt;p&gt;More generally, the plugin will display an entire list of links (of one or several levels) of which the first level contains the selector &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.menu_anime&lt;/code&gt; (ie &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;ul class=&#034;menu_anime&#034;&gt;&lt;/code&gt;) and whose immediate parent belongs to the class &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.menu container&lt;/code&gt; (eg &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;div class=&#034;menu-container&#034;&gt;&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Of course and as usual, the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.css&lt;/code&gt; stylesheet can be modified (by placing the modified copy in the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;squelettes/css/&lt;/code&gt; directory). You certainly will be impatient to change the menu colours. However, direct intervention on the style sheet itself is particularly complex and daunting. That is why an alternative method has been developed (see below).&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Changing-colours-and-sizes'&gt;Changing colours and sizes&lt;a class='sommaire-back sommaire-back-4' href='#s-Changing-colours-and-sizes' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The plugin contains a file &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/browser/_plugins_/menu_anime/trunk/css/menu_anime.less&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.less&lt;/code&gt;&lt;/a&gt; allowing easy (?) adaptation to the specific characteristics of each website.&lt;br class='autobr' /&gt;
Although the process may seem a little daunting, it is infinitely easier than direct edition of the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.css&lt;/code&gt; style sheet.&lt;/p&gt;
&lt;p&gt;Step by step procedure:&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt;Open the file &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/browser/_plugins_/menu_anime/trunk/css/menu_anime.less&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.less&lt;/code&gt;&lt;/a&gt; for editing. This file is contained in the package.&lt;/li&gt;&lt;li&gt; In this file, change the colour &#8203;&#8203;and/or size values as desired. They are at the beginning of the file.&lt;/li&gt;&lt;li&gt; Compile the resulting file using a compiler &lt;a href=&#034;https://en.wikipedia.org/wiki/Less_%28stylesheet_language%29&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Less&lt;/a&gt; compiler, eg &lt;a href=&#034;https://leafo.net/lessphp/editor.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;online compiler&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; Create a &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.css&lt;/code&gt; empty file and copy-paste the result of the compilation in it.&lt;/li&gt;&lt;li&gt; Place the new file in the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;squelettes/css/&lt;/code&gt; directory or replace the one located in the directory &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;plugins/auto/menu_anime/css/&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Carefully store your version of the file &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.less&lt;/code&gt; so you can recover your settings for later updates.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Example: changing the base colour of the menu&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Select a new colour using an &lt;a href=&#034;https://html-color-codes.info/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;online color utility&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; Open the file &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/browser/_plugins_/menu_anime/trunk/css/menu_anime.less&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.less&lt;/code&gt;&lt;/a&gt; in a text editor.&lt;/li&gt;&lt;li&gt; Replace the colour value (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#b0422c&lt;/code&gt;) in the line &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;@theme-basic: #b0422c; / * ... * /&lt;/code&gt; with the one that was chosen.&lt;/li&gt;&lt;li&gt; Compile the content of this new file through an &lt;a href=&#034;https://leafo.net/lessphp/editor.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;online compiler&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; Create a new empty file &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.css&lt;/code&gt; and place the entire result of the compilation (copy and paste).&lt;/li&gt;&lt;li&gt; Set the resulting file &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;menu_anime.css&lt;/code&gt; in the &lt;a href=&#034;https://www.spip.net/en_article4907.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;squelettes/css/&lt;/code&gt;&lt;/a&gt; your favourite SPIP. By the way, add your modified &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; menu_anime.less &lt;/code&gt; file in the same directory (so you will not lose it).&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Simple, isn't it?&lt;/p&gt;
&lt;p&gt;Another solution would perhaps be to use the &lt;a href=&#034;https://plugins.spip.net/lesscss.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;LESS CSS plugin&lt;/a&gt;. But I'm not sure it would give any advantage. Changing colours of a website menu is a very infrequent operation once it has been installed. To be discussed...&lt;/p&gt;&lt;/div&gt;
		

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/menu_anime.zip" length="17646" type="application/zip" />
		

	</item>



	<item>
		<title>Favicon</title>
		<link>https://files.spip.org/Favicon-5074</link>
		<guid isPermaLink="true">https://files.spip.org/Favicon-5074</guid>
		<dc:date>2015-06-04T11:12:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>erational, Loiseau2nuit, tetue</dc:creator>

<category domain="https://files.spip.org/Favicon-5074">Favicon</category>


		<description>
&lt;p&gt;This plugin automatically creates 'favicons' and 'touch icons' to fit various browsers &amp; devices compliance. &lt;br class='autobr' /&gt; Upload the website's logo in the admin area, through main menu Configuration &gt; Site identity. To get the best styling possible, your website's logo should be square shaped and, at least 150px wide. If not via FTP as an favicon.png file in your /squelettes template's directory &lt;br class='autobr' /&gt;
The plugin then automatically includes all calls to favicons variations and proprietary-declined&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/Favicon-5074" rel="directory"&gt;Favicon&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&#034;&#034; class=&#034;spip_logo spip_logo_right&#034; alt=&#034;&#034; style='max-width: 150px;max-width: min(100%,150px); max-height: 150px' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;This plugin automatically creates 'favicons' and 'touch icons' to fit various browsers &amp; devices compliance.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Upload the website's logo in the admin area, through main menu &lt;a href=&#034;https://www.spip.net/en_article4906.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Configuration &gt; Site identity&lt;/a&gt;. To get the best styling possible, your website's logo should be square shaped and, at least 150px wide. If not via FTP as an &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;favicon.png&lt;/code&gt; file in your &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/squelettes&lt;/code&gt; template's directory&lt;/p&gt;
&lt;p&gt;The plugin then automatically includes all calls to favicons variations and proprietary-declined types such as &lt;i&gt;apple-touch-icon&lt;/i&gt; or &lt;i&gt;msapplication-TileImage&lt;/i&gt; (in the website's &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;head&gt;&lt;/code&gt; section, thanks to the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#INSERT_HEAD&lt;/code&gt; tag).&lt;/p&gt;
&lt;p&gt;This is a sample of code, generated by the plugin:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;link rel=&#034;shortcut icon&#034; href=&#034;local/cache-gd2/9444631ffd3ddd2d111efbebb935ddc2.ico&#034; type=&#034;image/x-icon&#034; /&gt; &lt;link rel=&#034;apple-touch-icon&#034; sizes=&#034;57x57&#034; href=&#034;local/cache-gd2/e569705f477840ae1c549c12bfe4cafb.png&#034; /&gt; &lt;link rel=&#034;apple-touch-icon&#034; sizes=&#034;114x114&#034; href=&#034;local/cache-gd2/34d11399ae3e76d10ac70a05596b47c8.png&#034; /&gt; &lt;link rel=&#034;apple-touch-icon&#034; sizes=&#034;72x72&#034; href=&#034;local/cache-gd2/1505e94dd60a59f56d1cd358f69e3d1d.png&#034; /&gt; &lt;link rel=&#034;apple-touch-icon&#034; sizes=&#034;144x144&#034; href=&#034;local/cache-gd2/99dea51baa23c07914725681f09ce3a4.png&#034; /&gt; &lt;link rel=&#034;apple-touch-icon&#034; sizes=&#034;60x60&#034; href=&#034;local/cache-gd2/d6e2d9ad798b0f1aa954bf195738eb5a.png&#034; /&gt; &lt;link rel=&#034;apple-touch-icon&#034; sizes=&#034;120x120&#034; href=&#034;local/cache-gd2/225cc8aba80e8836aadfc1e1f7936835.png&#034; /&gt; &lt;link rel=&#034;apple-touch-icon&#034; sizes=&#034;76x76&#034; href=&#034;local/cache-gd2/d91730143b01bbd7cf7dd3c8be2d23b3.png&#034; /&gt; &lt;link rel=&#034;icon&#034; type=&#034;image/png&#034; href=&#034;local/cache-gd2/9e0d479a319217b4b8ebebd39dd32758.png&#034; sizes=&#034;96x96&#034; /&gt; &lt;link rel=&#034;icon&#034; type=&#034;image/png&#034; href=&#034;local/cache-gd2/1dfb75427c01d50a405e5ce1408e16de.png&#034; sizes=&#034;16x16&#034; /&gt; &lt;link rel=&#034;icon&#034; type=&#034;image/png&#034; href=&#034;local/cache-gd2/1f2f660cee13267bbcced4d252cf9237.png&#034; sizes=&#034;32x32&#034; /&gt; &lt;meta name=&#034;msapplication-TileColor&#034; content=&#034;#895aa4&#034; /&gt; &lt;meta name=&#034;msapplication-TileImage&#034; content=&#034;local/cache-gd2/34d11399ae3e76d10ac70a05596b47c8.png&#034; /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Want more ? &lt;a href=&#034;https://github.com/audreyr/favicon-cheat-sheet&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Read this quite complete synthesis on favicons&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/favicon.zip" length="8385" type="application/zip" />
		

	</item>



	<item>
		<title>Yippee, SPIP 2.1.27 and SPIP 3.0.19 are now available !</title>
		<link>https://files.spip.org/Yippee-SPIP-2-1-27-and-SPIP-3-0-19</link>
		<guid isPermaLink="true">https://files.spip.org/Yippee-SPIP-2-1-27-and-SPIP-3-0-19</guid>
		<dc:date>2015-05-16T16:25:25Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>L'&#233;quipe de SPIP-Contrib</dc:creator>

<category domain="https://files.spip.org/SPIP-core">SPIP-core</category>


		<description>
&lt;p&gt;SPIP 3.0.19 and 2.1.27 are minor releases for maintenance waiting for SPIP 3.1 release. &lt;br class='autobr' /&gt;
These versions fix many bugs and provide handy improvements. &lt;br class='autobr' /&gt; SPIP 3.0.19 Enhancements and fixes: Database backups. image_recadre filter can now crop an image to respect a proportion. Research of short and accented words. Display of search engines thumbnails in the statistics page. robots.txt file updated to make SPIP websites more &#8220;Google mobile friendly&#8221;. Stylesheets compression option must be&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-core" rel="directory"&gt;SPIP-core&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L150xH150/arton4674-3b7ec.png?1763975835' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;SPIP 3.0.19 and 2.1.27 are minor releases for maintenance waiting for SPIP 3.1 release.&lt;/p&gt;
&lt;p&gt;These versions fix many bugs and provide handy improvements.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-2&#034; id=&#034;nav69b56e8dae3ac0.76010054&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-How-to-update&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#How-to-update&#034; class=&#034;spip_ancre&#034;&gt;How to update?&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-How-to-be-posted-about-updates&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#How-to-be-posted-about-updates&#034; class=&#034;spip_ancre&#034;&gt;How to be posted about updates?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;&lt;strong&gt;SPIP 3.0.19&lt;/strong&gt;&lt;br class='autobr' /&gt;
Enhancements and fixes:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Database backups.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; image_recadre &lt;/code&gt; filter can now crop an image to respect a proportion.&lt;/li&gt;&lt;li&gt; Research of short and accented words.&lt;/li&gt;&lt;li&gt; Display of search engines thumbnails in the statistics page.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;robots.txt&lt;/code&gt; file updated to make SPIP websites more &#8220;Google mobile friendly&#8221;. Stylesheets compression option must be enabled.&lt;/li&gt;&lt;li&gt; Anonymous sessions bug fixed.&lt;/li&gt;&lt;li&gt; Switch from &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssl://&lt;/code&gt; to &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tls://&lt;/code&gt; for https requests on servers with a recent OpenSSL lib.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Detailed changelog :
&lt;br /&gt;- &lt;a href=&#034;https://core.spip.net/projects/spip/repository/revisions/22089/entry/tags/spip-3.0.19/CHANGELOG.txt&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://core.spip.net/projects/spip/repository/revisions/22089/entry/tags/spip-3.0.19/CHANGELOG.txt&lt;/a&gt;
&lt;br /&gt;- &lt;a href=&#034;http://www.spip.net/fr_article5737.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.spip.net/fr_article5737.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As a matter of fact, SPIP 3.0.18 lived only a few hours.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SPIP 2.1.27&lt;/strong&gt;&lt;br class='autobr' /&gt;
Enhancements and fixes:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Limit goneaway queries in MySQL.&lt;/li&gt;&lt;li&gt; Sending emails bug fixed.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; robots.txt &lt;/code&gt; updated to make SPIP more &#8220;Google mobile friendly&#8221;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Detailed changelog :
&lt;br /&gt;- &lt;a href=&#034;https://core.spip.net/projects/spip/repository/revisions/22103/entry/tags/spip-2.1.27/CHANGELOG.txt&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://core.spip.net/projects/spip/repository/revisions/22103/entry/tags/spip-2.1.27/CHANGELOG.txt&lt;/a&gt;
&lt;br /&gt;- &lt;a href=&#034;http://www.spip.net/fr_article5738.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.spip.net/fr_article5738.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='How-to-update'&gt;How to update?&lt;a class='sommaire-back sommaire-back-2' href='#s-How-to-update' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Various resources are made available by the community to provide help:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; List spip-user: &lt;a href=&#034;http://listes.rezo.net/mailman/listinfo/spip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://listes.rezo.net/mailman/listinfo/spip&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Forum: &lt;a href=&#034;http://forum.spip.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://forum.spip.net&lt;/a&gt;&lt;/li&gt;&lt;li&gt; IRC: &lt;a href=&#034;http://irc.spip.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://irc.spip.net&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;1. Using spip_loader.php (latest version 2.5.5)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you have already installed spip_loader, go to &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; http: //yoursitedomain/spip_loader.php &lt;/code&gt; to install the latest version of SPIP.&lt;/p&gt;
&lt;p&gt;Pay attention to not switch inadvertently from SPIP 2 to SPIP 3. To avoid this, please read carefully the instructions at &lt;a href=&#034;http://www.spip.net/fr_download#spip_loader&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.spip.net/fr_download#spip_loader&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Everything about spip_loader at &lt;a href=&#034;http://www.spip.net/fr_article5705.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.spip.net/fr_article5705.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Copying files&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; dowload SPIP 3.0 at &lt;a href=&#034;http://files.spip.org/spip/stable/spip-3.0.zip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://files.spip.org/spip/stable/spip-3.0.zip&lt;/a&gt;&lt;/li&gt;&lt;li&gt; download SPIP 2.1 at &lt;a href=&#034;http://files.spip.org/spip/stable/spip-2.1.zip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://files.spip.org/spip/stable/spip-2.1.zip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3. Using SVN:&lt;/strong&gt;&lt;br class='autobr' /&gt;
Check out branch 3.0 at &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;svn up svn://trac.rezo.net/spip/branches/spip-3.0 &lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='How-to-be-posted-about-updates'&gt;How to be posted about updates?&lt;a class='sommaire-back sommaire-back-2' href='#s-How-to-be-posted-about-updates' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The simplest way is to register on the mailing &lt;a href=&#034;http://listes.rezo.net/mailman/listinfo/spip-ann&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://listes.rezo.net/mailman/listinfo/spip-ann&lt;/a&gt; list.&lt;/p&gt;
&lt;p&gt;Social networks are also an option:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Twitter: &lt;a href=&#034;http://twitter.com/spip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://twitter.com/spip&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Facebook: &lt;a href=&#034;http://www.facebook.com/spip.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.facebook.com/spip.net&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Seenthis: &lt;a href=&#034;http://seenthis.net/people/spip&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://seenthis.net/people/spip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Reminder: the best way to report security issues or concerns is to send an email to &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip-team@rezo.net&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;

		</content:encoded>


		

	</item>



	<item>
		<title>Bonux for SPIP 3.*</title>
		<link>https://files.spip.org/bonux-spip3</link>
		<guid isPermaLink="true">https://files.spip.org/bonux-spip3</guid>
		<dc:date>2015-01-28T12:17:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>JLuc, Loiseau2nuit</dc:creator>

<category domain="https://files.spip.org/SPIP-Bonux-1146">SPIP Bonux</category>

		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;A great number of the features brought by the first version of SPIP Bonux have since then been fully incorporated into SPIP3. Some still haven't yet, and those are brought by this new plugin's version Bonux for SPIP3. &lt;br class='autobr' /&gt; This post lists all tags, criterias &amp; functions, that are defined by SPIP Bonux, for we can keep them in mind, but the documentation of those elements won't appear on (see also other documentation posts to SPIP Bonux or even the source code). &lt;br class='autobr' /&gt;
Note: to avoid conflicts,&#160;(&#8230;)&lt;/p&gt;



-
&lt;a href="https://files.spip.org/SPIP-Bonux-1146" rel="directory"&gt;SPIP Bonux&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://files.spip.org/local/cache-vignettes/L64xH64/spip_bonux-6096d.svg?1773049318' class='spip_logo spip_logo_right' width='64' height='64' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;A great number of the features brought by the first version of SPIP Bonux have since then been fully incorporated into SPIP3. Some still haven't yet, and those are brought by this new plugin's version &lt;i&gt;Bonux for SPIP3&lt;/i&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-4&#034; id=&#034;nav69b56e8db16d11.67133562&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Tags-criteria-amp-loops&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Tags-criteria-amp-loops&#034; class=&#034;spip_ancre&#034;&gt;Tags, criteria &amp; loops&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-PHP-functions&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#PHP-functions&#034; class=&#034;spip_ancre&#034;&gt;PHP functions&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-array_column-function&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#array_column-function&#034; class=&#034;spip_ancre&#034;&gt;array_column function&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Renamed&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Renamed&#034; class=&#034;spip_ancre&#034;&gt;Renamed&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;This post lists all tags, criterias &amp; functions, that are defined by SPIP Bonux, for we can keep them in mind, but the documentation of those elements won't appear on (see also other &lt;a href='https://files.spip.org/spip-bonux-en' class=&#034;spip_in&#034;&gt;documentation posts to SPIP Bonux&lt;/a&gt; or even the &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/browser/_plugins_/spip-bonux-3&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;source code&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Note: to avoid conflicts, some of these functionalities are defined by Bonux only if they have NOT been already defined elsewhere.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Tags-criteria-amp-loops'&gt;Tags, criteria &amp; loops&lt;a class='sommaire-back sommaire-back-4' href='#s-Tags-criteria-amp-loops' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tags&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#SET_PUSH&lt;/code&gt; stacks an element in an array, instantiated with &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#SET{my_array,#ARRAY}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#SET_MERGE&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#COMPTEUR&lt;/code&gt; (Counter)&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#SOMME&lt;/code&gt; (Sum)&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#COMPTE&lt;/code&gt; (Account)&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#MOYENNE&lt;/code&gt; (Average)&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#MINIMUM&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#MAXIMUM&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#STATS&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The tags &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#COMPTEUR&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#COMPTE&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SOMME&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#MOYENNE&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#MINIMUM&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#MAXIMUM&lt;/code&gt; and &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#STATS&lt;/code&gt; require using a criterion that specifies the field, which the Tag is calculated on.&lt;/p&gt;
&lt;p&gt;Those criterions does not calculate any joint or relational database, contrary to the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{compteur table}&lt;/code&gt; criterion which does.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Examples of usage : &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- #SET_PUSH : &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;#SET_PUSH{my_array,my_value}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics criteria&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{compteur}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{compteur_left}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{somme}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{compte}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{moyenne}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{minimum}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{maximum}&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{stats}&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Examples of usage : &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- Let's say an extra field 'distance' was added to the ARTICLES objects (posts). The following loop will then calculate the sum (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SOMME&lt;/code&gt;) of the distances set in every article posted into section id n&#176;1 (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;id_rubrique=1&lt;/code&gt;)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;BOUCLE_a(ARTICLES){id_rubrique=1}{somme distance}&gt;&lt;/BOUCLE_a&gt; #SOMME{distance} &lt;/B_a&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;- In the plugin &lt;a href=&#034;https://plugins.spip.net/abonnement.html?lang=en&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;'abonnement'&lt;/a&gt; for example, the '&lt;a href=&#034;https://zone.spip.net/trac/spip-zone/browser/_plugins_/abonnement/branches/v0/prive/exec/abonnements_stats.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;abonnements_stats&lt;/a&gt; ' file gives several examples of those criteria.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;BOUCLE_nombre(AUTEURS_ELARGIS_ABONNEMENTS){id_abonnement}{statut_paiement=ok}{somme montant}{compte montant}{fusion id_abonnement}&gt; &lt;td&gt;#COMPTE{montant}&lt;/td&gt; &lt;td&gt;[(#SOMME{montant}|number_format{2, ',', ' '}|replace{' ',' '})]&lt;/td&gt; &lt;/BOUCLE_nombre&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Other criterion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{fusion_supprimer}&lt;/code&gt; : this criterion deletes from the SQL query the &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;GROUP BY&lt;/code&gt; condition which is already implied, a this compilation step. That might be useful to get rid of a potential interfering &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;GROUP BY&lt;/code&gt;, eventually added by default by SPIP's compiler while joining tables. It then becomes possible to add a criterion for the desired merge (see &lt;a href=&#034;https://core.spip.net/issues/3209&#034; class=&#034;spip_out&#034; hreflang=&#034;fr&#034; rel=&#034;external&#034;&gt;issue #3209&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;In the following loop, we have to add &lt;code class='spip spip_code spip_code_inline' dir='ltr'&gt;{fusion_supprimer}&lt;/code&gt; in order to get the merge on dates, because the compiler automatically adds a &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;GOUP BY id_article&lt;/code&gt; to join the &lt;i&gt;ARTICLES&lt;/i&gt; table (posts) to the &lt;i&gt;MOTS&lt;/i&gt; table (keywords) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;BOUCLE_year_featured(ARTICLES){id_mot=27}{fusion_supprimer}{fusion YEAR(date)}&gt; [(#DATE|annee)]&lt;br /&gt; &lt;/BOUCLE_year_featured&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;h2&#034; id='PHP-functions'&gt;PHP functions&lt;a class='sommaire-back sommaire-back-4' href='#s-PHP-functions' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bonux also defines a whole set of functions, that can be used as filters or by other plugins.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/** Get fields date_$suffixe and heure_$suffixe in the environment, check for their relevancy and re-format them */ function verifier_corriger_date_saisie($suffixe,$horaire,&amp;$erreurs); /** Returns the charset of a line, to be imported */ function importer_csv_importcharset($texte); /** Removes accents from keys, to avoid problems ... */ function importer_csv_nettoie_key($key); /** Reads a CSV file &amp; returns an array if $head is true, the first line is used as a header to generate an array*/ function inc_importer_csv_dist($file, $head = false, $delim = &#034;,&#034;, $enclos = '&#034;', $len = 10000) ; /** Exports a field to a CSV export */ function exporter_csv_champ($champ) ; /** Exports a full line, CSV formated, with specified delimiter */ function exporter_csv_ligne($ligne, $delim = ',', $importer_charset = null) ; /** export as CSV. $resource is an array or any open readable SQL resource */ function inc_exporter_csv_dist($titre, $resource, $delim=',', $entetes = null,$envoyer = true); /** generates an IMG tag from a file name */ function tag_img($img,$alt=&#034;&#034;,$class=&#034;&#034;); /** generates a temporary key with 12h validation for the current URL */ function previsu_cle_temporaire($date=null); /** checks if a 12h temporary key is valid */ function previsu_verifier_cle_temporaire($cle); function _T_ou_typo($valeur, $mode_typo='toujours') ; function spip_array_insert($arr1, $cle, $arr2, $avant=false); function array_replace_recursive($array, $array1); function recurse($array, $array1); /** Truncates a string to the desired length, without harming HTML markup and, with options : end text if cut, cut to exact length or, respecting words... */ function text_truncate($text, $length = 100, $options = array()) /** return an array, containing every value in any column of any bi-dimensional table (possibly along values of another column, as an index) */ function array_column($input = null, $columnKey = null, $indexKey = null);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;filtre text_truncate&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;code class='php spip_code spip_code_inline' dir='ltr'&gt;function text_truncate($text, $length = 100, $options = array()); &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The options array can contain several couples of key/value:
&lt;br /&gt;- 'ending' =&gt; string added at the end of the text, if it has to be cut. Basically, it'll be '...' or 'read more'.
&lt;br /&gt;- 'exact' =&gt; a boolean defining if it's to be cut at the exact provided length, even if it's in the middle of a word or, just before that last word.
&lt;br /&gt;- 'html' =&gt; a boolean defining if text contains any HTML tags that are not to be cut incorrectly.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='array_column-function'&gt;array_column function&lt;a class='sommaire-back sommaire-back-4' href='#s-array_column-function' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Loads the PHP 5.5 function &lt;a href=&#034;http://php.net/manual/fr/function.array-column.php&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;array_column&lt;/a&gt; for older versions.&lt;/p&gt;
&lt;p&gt;Read more : &lt;a href='https://files.spip.org/Array_column-pour-SPIP' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Array_column pour SPIP&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Renamed'&gt;Renamed&lt;a class='sommaire-back sommaire-back-4' href='#s-Renamed' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|aoustrong&lt;/code&gt; filter is gone : it became &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|lien_ou_expose&lt;/code&gt; and was incorporated to SPIP.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;&lt;strong&gt;Refer to &lt;/strong&gt; &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/changeset/28174&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;the documentation of the commit&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/spip-bonux-3.zip" length="107983" type="application/zip" />
		

	</item>



	<item>
		<title>Albums 3 (en)</title>
		<link>https://files.spip.org/Albums-3-en</link>
		<guid isPermaLink="true">https://files.spip.org/Albums-3-en</guid>
		<dc:date>2014-08-08T09:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>tcharlss</dc:creator>

<category domain="https://files.spip.org/Albums-3-en">Albums</category>

		<dc:subject>GNU / General Public Licence</dc:subject>
		<dc:subject>Any level</dc:subject>
		<dc:subject>&lt;span lang='fr'&gt;Plugins&lt;/span&gt;</dc:subject>
		<dc:subject>Multimedia</dc:subject>
		<dc:subject>Documents managment</dc:subject>
		<dc:subject>Don't display on home page</dc:subject>

		<description>
&lt;p&gt;The plugin &#171;Albums&#187; evolves with a version 3 made for SPIP 3. &lt;br class='autobr' /&gt;
Before upgrading from previous versions, read the notes regarding the retro-compatibility. &lt;br class='autobr' /&gt;
This quick presentation video is in french, but it might be helpfull nonetheless. https://medias.spip.net/IMG/mp4/montage-encoded.mp4 &lt;br class='autobr' /&gt; Albums purpose &lt;br class='autobr' /&gt;
In the first version, the plugin's purpose was to insert galleries of images inside the text of articles. &lt;br class='autobr' /&gt;
Since the version 2, albums are editorial objects, and so t&lt;/p&gt;



-
&lt;a href="https://files.spip.org/Albums-3-en" rel="directory"&gt;Albums&lt;/a&gt;

/ 
&lt;a href="https://files.spip.org/Licence-GPL" rel="tag"&gt;GNU / General Public Licence&lt;/a&gt;, 
&lt;a href="https://files.spip.org/+-Tout-Public-+" rel="tag"&gt;Any level&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Plugins-112" rel="tag"&gt;&lt;span lang='fr'&gt;Plugins&lt;/span&gt;&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Multimedia" rel="tag"&gt;Multimedia&lt;/a&gt;, 
&lt;a href="https://files.spip.org/Gestion-Documents,221" rel="tag"&gt;Documents managment&lt;/a&gt;, 
&lt;a href="https://files.spip.org/+-Hors-sommaire-+" rel="tag"&gt;Don't display on home page&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src=&#034;&#034; class=&#034;spip_logo spip_logo_right&#034; alt=&#034;&#034; style='max-width: 150px;max-width: min(100%,150px); max-height: 150px' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;The plugin &#171;Albums&#187; evolves with a version 3 made for SPIP 3.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-11&#034; id=&#034;nav69b56e8dc214c6.39343302&#034;&gt;
&lt;h2&gt;Table of contents&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Albums-purpose&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Albums-purpose&#034; class=&#034;spip_ancre&#034;&gt;Albums purpose&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Installation-amp-configuration&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Installation-amp-configuration&#034; class=&#034;spip_ancre&#034;&gt;Installation &amp; configuration&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Utilisation&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Utilisation&#034; class=&#034;spip_ancre&#034;&gt;Utilisation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Managing-albums-from-an-object-s-page&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Managing-albums-from-an-object-s-page&#034; class=&#034;spip_ancre&#034;&gt;Managing albums from an object's page&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Managing-albums-when-editing-an-object&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Managing-albums-when-editing-an-object&#034; class=&#034;spip_ancre&#034;&gt;Managing albums when editing an object&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Les-modeles&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Les-modeles&#034; class=&#034;spip_ancre&#034;&gt;Les mod&#232;les&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Albums-page&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Albums-page&#034; class=&#034;spip_ancre&#034;&gt;Albums page&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Moving-documents-between-albums-with-drag-and-drop&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Moving-documents-between-albums-with-drag-and-drop&#034; class=&#034;spip_ancre&#034;&gt;Moving documents between albums with drag and drop&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Boucles-amp-criteres&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Boucles-amp-criteres&#034; class=&#034;spip_ancre&#034;&gt;Boucles &amp; crit&#232;res&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Autorisations&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Autorisations&#034; class=&#034;spip_ancre&#034;&gt;Autorisations&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Retro-compatibility&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Retro-compatibility&#034; class=&#034;spip_ancre&#034;&gt;Retro-compatibility&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p class=&#034;notice&#034;&gt;Before upgrading from previous versions, read the notes regarding the &lt;a href=&#034;#retro_compatibilite&#034; class=&#034;spip_ancre&#034;&gt;retro-compatibility&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This quick presentation video is in french, but it might be helpfull nonetheless.&lt;/p&gt;
&lt;div&gt;
&lt;div style=&#034;width:480px;height:270px&#034;&gt;
&lt;object type=&#034;application/x-shockwave-flash&#034; data=&#034;https://medias.spip.net/extensions/html5/flash/flowplayer.swf?config=http%3A%2F%2Fmedias.spip.net%2Fspip.php%3Fpage%3Dflowplayer_embed.js%26id_document%3D2073&#034; width=&#034;480&#034; height=&#034;270&#034;&gt; &lt;param name=&#034;movie&#034; value=&#034;https://medias.spip.net/extensions/html5/flash/flowplayer.swf?config=http%3A%2F%2Fmedias.spip.net%2Fspip.php%3Fpage%3Dflowplayer_embed.js%26id_document%3D2073&#034; /&gt; &lt;param name=&#034;wmode&#034; value=&#034;transparent&#034; /&gt; &lt;param name=&#034;allowFullScreen&#034; value=&#034;true&#034; /&gt;
&lt;span&gt;&lt;a href=&#034;https://medias.spip.net/IMG/mp4/montage-encoded.mp4&#034; rel=&#034;enclosure&#034;&gt;https://medias.spip.net/IMG/mp4/montage-encoded.mp4&lt;/a&gt;&lt;/span&gt;
&lt;/object&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;presentation&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Albums-purpose'&gt;Albums purpose&lt;a class='sommaire-back sommaire-back-11' href='#s-Albums-purpose' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href='https://files.spip.org/Albums' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;In the first version&lt;/a&gt;, the plugin's purpose was to insert galleries of images inside the text of articles.&lt;/p&gt;
&lt;p&gt;Since the &lt;a href=&#034;#v2&#034; class=&#034;spip_ancre&#034;&gt;version 2&lt;/a&gt;, albums are editorial objects, and so the plugin's scope is broader : its purpose is now to manage groups of documents.&lt;/p&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Groups of documents&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An album is a container for a serie of documents.&lt;br class='autobr' /&gt;
Despite its name, it may contain any types of documents, not just images.&lt;br class='autobr' /&gt;
One document may belong to several different albums : all kind of combinations are possible.&lt;/p&gt;
&lt;div class='spip_document_11774 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;32&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/principe_albums.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH276/principe_albums-1637b.png?1763975835' width='520' height='276' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-11774 '&gt;&lt;strong&gt;Albums are groups of documents&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Albums, documents and objects&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In SPIP 3, documents associated with an object are dispatched into 3 sections : &#171;illustrations&#187;, &#171;portfolio&#187; and &#171;documents&#187;.&lt;br class='autobr' /&gt;
In this documentation, we will refer to these documents as &#171;individual&#187; documents, as opposed to documents grouped into albums.&lt;/p&gt;
&lt;p&gt;Individual documents and albums are independents and do not interfere with each other : you can continue to manage individual documents the same way as before.&lt;br class='autobr' /&gt;
Except now, you have the choice when adding documents to an object : they can be added individually, or grouped into albums.&lt;/p&gt;
&lt;div class='spip_document_11773 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;80&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/principe_albums_et_documents.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH445/principe_albums_et_documents-c2ac3.png?1763975835' width='520' height='445' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-11773 '&gt;&lt;strong&gt;Albums et documents li&#233;s&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-11773 '&gt;Documents individuels et regroup&#233;s aux seins d'albums&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;installation&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Installation-amp-configuration'&gt;Installation &amp; configuration&lt;a class='sommaire-back sommaire-back-11' href='#s-Installation-amp-configuration' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can install the plugin &lt;a href=&#034;https://www.spip.net/en_article3475.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;the standard way&lt;/a&gt;.&lt;br class='autobr' /&gt;
2 tables will be added : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_albums&lt;/code&gt; and &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_albums_liens&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Additional plugins are neccesary in order to enable the &lt;a href=&#034;#personnaliser_balise&#034; class=&#034;spip_ancre&#034;&gt;customization of &lt;album&gt; tags&lt;/a&gt;. These are &lt;strong&gt;optional&lt;/strong&gt; dependencies, install them if you whish to benefit from this functionnality.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='https://files.spip.org/Le-plugin-YAML' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;YAML&lt;/a&gt; : &lt;a href=&#034;https://files.spip.net/spip-zone/yaml.zip&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;t&#233;l&#233;charger&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://files.spip.org/Saisies' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Saisies&lt;/a&gt; : &lt;a href=&#034;https://files.spip.net/spip-zone/saisies_v2.zip&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;t&#233;l&#233;charger&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://files.spip.org/Verifier' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;V&#233;rifier&lt;/a&gt; : &lt;a href=&#034;https://files.spip.net/spip-zone/verifier.zip&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;t&#233;l&#233;charger&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Once the installation is done, visit the plugin's configuration page. It is divided in 2 tabs.&lt;/p&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;&#171;options&#187; tab&lt;/strong&gt;&lt;br class='autobr' /&gt;
First, choose which objects may receive albums.&lt;br class='autobr' /&gt;
There are 2 more options : you can enable the suggestion of a default title when adding an album to an object, and enable moving documents between album with &lt;a href=&#034;#dragdrop&#034; class=&#034;spip_ancre&#034;&gt;drag and drop&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;&#171;tools&#187; tab&lt;/strong&gt;&lt;br class='autobr' /&gt;
A form will convert articles into albums.&lt;br class='autobr' /&gt;
Use it in case you were using articles as pseudo-albums : real ones will be created identically.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;utilisation&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Utilisation'&gt;Utilisation&lt;a class='sommaire-back sommaire-back-11' href='#s-Utilisation' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Albums may be independents or associated with editorial objects.&lt;/p&gt;
&lt;p&gt;&amp;rArr; Independent albums can be created from the toolbar or from the &#171;Albums&#187; page.&lt;/p&gt;
&lt;p&gt;&amp;rArr; The management of albums associated with objects is quite similar to that of individual documents : albums can be managed from the object's page or when the object is being edited.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;fiche_objet&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Managing-albums-from-an-object-s-page'&gt;Managing albums from an object's page&lt;a class='sommaire-back sommaire-back-11' href='#s-Managing-albums-from-an-object-s-page' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On the page of an object, albums are located after the documents. You can add new albums or existing ones, edit their text and manage their documents.&lt;/p&gt;
&lt;div class='spip_document_11770 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;93&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/albums_et_documents.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH1032/albums_et_documents-12f7b.png?1763975835' width='520' height='1032' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-11770 '&gt;&lt;strong&gt;Albums et documents li&#233;s&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-11770 '&gt;1) documents &#171;individuels&#187;
2) documents regroup&#233;s au sein d'albums&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Adding albums&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &#171;Add an album&#187; button displays a form which has two methods :&lt;/p&gt;
&lt;div class='spip_document_12437 spip_document spip_documents spip_document_image spip_documents_left spip_document_left'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L18xH18/puce-1-6a3d9.png?1763975118' width='18' height='18' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Create and &#171;fill&#187; a new album. The title and the description are both optionals : if the title is leaved empty, it will be populated afterward with &#171;New album No X&#187;.&lt;/p&gt;
&lt;div class='spip_document_12438 spip_document spip_documents spip_document_image spip_documents_left spip_document_left'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L18xH18/puce-2-85e99.png?1763975118' width='18' height='18' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt; &lt;p&gt;Choose existing albums : you can browse a list, or enter directly the album's numbers.&lt;/p&gt;
&lt;div class='spip_document_11777 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;119&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/ajouter_album.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH243/ajouter_album-cbe46.png?1763975835' width='520' height='243' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-11777 '&gt;&lt;strong&gt;Ajouter un album &#224; un objet &#233;ditorial&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-11777 '&gt;1) Cr&#233;er et remplir un nouvel album
2) Choisir un ou plusieurs albums existants&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Editing an album&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Albums can be quickly edited &#171;on site&#187;. For the full-blown edition (managing authors, keywords...), go to the album's page.&lt;/p&gt;
&lt;div class='spip_document_12437 spip_document spip_documents spip_document_image spip_documents_left spip_document_left'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L18xH18/puce-1-6a3d9.png?1763975118' width='18' height='18' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt; &lt;p&gt;Editing text : an icon will appear when hovering the header, clicking it will display the form to edit the text and the description.&lt;/p&gt;
&lt;div class='spip_document_12438 spip_document spip_documents spip_document_image spip_documents_left spip_document_left'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L18xH18/puce-2-85e99.png?1763975118' width='18' height='18' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt; &lt;p&gt;Adding documents : a link located in the footer will display the form to add documents.&lt;/p&gt;
&lt;div class='spip_document_12439 spip_document spip_documents spip_document_image spip_documents_left spip_document_left'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L18xH18/puce-3-54fe0.png?1763975119' width='18' height='18' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt; &lt;p&gt;Managing documents : the buttons will appear when hovering each document.&lt;/p&gt;
&lt;p&gt;It is also possible, under some conditions, to move documents between albums with &lt;a href=&#034;#dragdrop&#034; class=&#034;spip_ancre&#034;&gt;drag and drop&lt;/a&gt;.&lt;/p&gt;
&lt;div class='spip_document_11775 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;108&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/edition_album.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH188/edition_album-a4996.png?1763975835' width='520' height='188' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-11775 '&gt;&lt;strong&gt;&#201;dition rapide d'un album&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-11775 '&gt;1) Editer titre et descriptif
2) Ajouter des documents
3) Modifier les documents&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Removing albums&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To remove an album, hover the footer to reveal the corresponding button.&lt;br class='autobr' /&gt;
When there are several albums, a button located at the end of the list can remove all of them at once.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;edition_objet&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Managing-albums-when-editing-an-object'&gt;Managing albums when editing an object&lt;a class='sommaire-back sommaire-back-11' href='#s-Managing-albums-when-editing-an-object' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When editing an object, the albums can be managed in the same place as documents, in the left column.&lt;br class='autobr' /&gt;
When the object can receive both individual documents and albums, a menu allows you to switch between them.&lt;/p&gt;
&lt;div class='spip_document_12440 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;97&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/edition_objet.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH520/edition_objet-51a02.png?1763975835' width='520' height='520' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-12440 '&gt;&lt;strong&gt;Albums et documents lors de l'&#233;dition d'un objet&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-12440 '&gt;1) Gestion des documents
2) Gestion des albums&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Adding, removing and editing albums&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The management is the same as when you're on the object's page : same form to add albums, same way to edit them and manage their documents.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;personnaliser_balise&#034;&gt;&lt;/a&gt;&lt;br class='autobr' /&gt;
&amp;rArr; &lt;strong&gt;Inserting &lt;album&gt; inside texts&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Albums inserted inside texts with the tag &lt;albumX&gt; will be automatically associated with the object.&lt;/p&gt;
&lt;p&gt;A form will help you to customize the tag of each album, providing both &lt;a href=&#034;https://contrib.spip.net/YAML&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;YAML&lt;/a&gt; and &lt;a href=&#034;https://contrib.spip.net/Saisies&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Saisies&lt;/a&gt; plugins are installed.&lt;br class='autobr' /&gt;
&lt;strong&gt;Important&lt;/strong&gt; : for this functionality to be available, additional plugins must be installed. Consult the section regarding &lt;a href=&#034;#installation&#034; class=&#034;spip_ancre&#034;&gt;dependencies&lt;/a&gt;.&lt;/p&gt;
&lt;div class='spip_document_12441 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;152&#034; data-legende-lenx=&#034;xxx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/edition_balise.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH194/edition_balise-e539f.png?1763975835' width='520' height='194' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-12441 '&gt;&lt;strong&gt;Personnaliser la balise d'un album&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-12441 '&gt;En mode &#233;dition, un formulaire permet de personnaliser la balise de chaque album en vue de l'ins&#233;rer dans le texte.&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;modeles&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Les-modeles'&gt;Les mod&#232;les&lt;a class='sommaire-back sommaire-back-11' href='#s-Les-modeles' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p class=&#034;notice&#034;&gt;Models have slightly changed since versions 1 et 2. Read the notes about &lt;a href=&#034;#retro_compatibilite&#034; class=&#034;spip_ancre&#034;&gt;retro-compatibility&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;2 models are available : the basic one is a thumbnail view, and there is a variation as a list view.&lt;br class='autobr' /&gt;
By default, both of them are minimalist : the title and description are not displayed unless you use the proper &lt;a href=&#034;#parametres_modeles&#034; class=&#034;spip_ancre&#034;&gt;parameters&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/browser/_plugins_/albums/trunk/css/albums.css&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;stylesheet&lt;/a&gt; loaded on the public site is also reduced to a minimum.&lt;/p&gt;
&lt;p&gt;These models will not fulfill all the use-cases, as the albums may contain all kind of documents and thus may be used for all kind of purposes : audio and video playlists, diaporamas...&lt;br class='autobr' /&gt;
Do not hesitate to &lt;a href=&#034;#ajouter_modeles&#034; class=&#034;spip_ancre&#034;&gt;create your own variations of the model&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Model &#171;thumbnails&#187;&lt;/strong&gt;&lt;/p&gt;
&lt;div class='spip_document_11769 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;44&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/modele_vignettes.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH203/modele_vignettes-3a201.png?1763975835' width='520' height='203' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-11769 '&gt;&lt;strong&gt;Mod&#232;le album par d&#233;faut : vue en vignettes&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;This model is intended for series of images. It is based on &lt;a href=&#034;http://tinytypo.tetue.net/tinytypo.html#album&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Tiny Typo&lt;/a&gt;.&lt;br class='autobr' /&gt;
Images may be resized and cropped in order to obtain an even display, by default they are resized with a 100px height.&lt;/p&gt;
&lt;p&gt;The basic HTML structure is as follow (with &lt;a href=&#034;https://www.spip.net/fr_article5057.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;#HTML5&lt;/a&gt; activated) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;figure class=&#034;album vignettes figure&#034;&gt; &lt;ul&gt; &lt;li&gt; &lt;a href=&#034;#&#034;&gt;&lt;img src=&#034;...&#034;&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;
&lt;/figure&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Model &#171;list&#187;&lt;/strong&gt;&lt;/p&gt;
&lt;div class='spip_document_12411 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;44&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/modele_liste.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH180/modele_liste-3c60d.png?1763975835' width='520' height='180' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-12411 '&gt;&lt;strong&gt;Mod&#232;le album, variante sous forme de liste&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;This variation displays documents as a simple list.&lt;/p&gt;
&lt;p&gt;The basic HTML structure is as follow :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;div class=&#034;album liste&#034;&gt; &lt;ul class=&#034;spip&#034;&gt; &lt;li&gt; &lt;a href=&#034;#&#034;&gt;...&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;
&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;parametres_modeles&#034;&gt;&lt;/a&gt;&lt;br class='autobr' /&gt;
&amp;rArr; &lt;strong&gt;Models parameters&lt;/strong&gt;&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;caption&gt;Common parameters&lt;/caption&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='id14d1_c0'&gt; Parameter &lt;/th&gt;&lt;th id='id14d1_c1'&gt; Description &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id14d1_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;titre&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id14d1_c1'&gt;&#171;oui&#187; to display the title&lt;br&gt;Any string in order to use it as a custom title&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id14d1_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;balise_titre&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id14d1_c1'&gt;In order to wrap the title in a tag.&lt;br&gt;&amp;rarr; strong, h4, etc.&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id14d1_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;descriptif&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id14d1_c1'&gt;&#171;oui&#187; in order to display the description&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id14d1_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;par&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id14d1_c1'&gt;Documents ordering, default : &#171;titre&#187;&lt;br&gt;&amp;rarr; date, titre, media, fichier, extension, taille&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id14d1_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;media&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id14d1_c1'&gt;In order to restrain documents to one type &lt;br&gt;&amp;rarr; image, file, audio, video&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;caption&gt;&#171;thumbnails&#187; specific parameters&lt;/caption&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='id0057_c0'&gt; Parameter &lt;/th&gt;&lt;th id='id0057_c1'&gt; Description &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id0057_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;largeur&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id0057_c1'&gt;Max width&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id0057_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;hauteur&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id0057_c1'&gt;Max height, default: 100 (pixels)&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='id0057_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;recadrer&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id0057_c1'&gt;&#171;oui&#187; in order to crop images&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id0057_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;label&lt;/code&gt;&lt;/td&gt;
&lt;td headers='id0057_c1'&gt;&#171;oui&#187; in order to display each document's title&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;caption&gt;&#171;list&#187; specific parameters&lt;/caption&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='idecb8_c0'&gt; Parameter &lt;/th&gt;&lt;th id='idecb8_c1'&gt; Description &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idecb8_c0'&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;metas&lt;/code&gt;&lt;/td&gt;
&lt;td headers='idecb8_c1'&gt;&#171;oui&#187; in order to display additional information, or a list of elements comma-separated : &lt;br&gt;&amp;rarr; extension, taille, dimensions&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a id=&#034;ajouter_modeles&#034;&gt;&lt;/a&gt;&lt;br class='autobr' /&gt;
&amp;rArr; &lt;strong&gt;Adding models&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When you create a new HTML template as a variation of the model, a YAML file must be created as well, in order for the model to be detected by &lt;a href=&#034;#inserer_balise&#034; class=&#034;spip_ancre&#034;&gt;the form&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This method is inspired by the plugin &lt;a href='https://files.spip.org/Plugin-Inserer-Modeles' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;Ins&#233;rer Mod&#232;les&lt;/a&gt; : each YAML file describes the model and its parameters.&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://contrib.spip.net/Inserer-Modeles-Carnet-de-developpement&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;The syntax&lt;/a&gt; remains the same, though there are 2 more elements :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; alias : name of the variation&lt;/li&gt;&lt;li&gt; description : description of the variation&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;4 parameters are mandatory : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;modele&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;id_modele&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;id_album&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;variante&lt;/code&gt;.&lt;br class='autobr' /&gt;
As the first 3 are identical for all variations, they are found in the file &lt;i&gt;inc-yaml/album-compat.yaml&lt;/i&gt; which you can include.&lt;/p&gt;
&lt;p&gt;An additional &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;config&lt;/code&gt; option allows you to use a default value stored in the table &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_meta&lt;/code&gt;.&lt;br class='autobr' /&gt;
In a way, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;config:'truc'&lt;/code&gt; is the equivalent of &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;'defaut'=&gt;lire_config('truc') &lt;/code&gt; with php.&lt;/p&gt;
&lt;p&gt;Confusing? Take a look at the example.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt; : let's imagine a plugin with a &#171;diaporama&#187; model. It would have, among others, a &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;speed&lt;/code&gt; parameter whose default value would be stored in the plugin's meta. The HTML template would be named &lt;i&gt;album_diaporama.html&lt;/i&gt; and the YAML file would be named &lt;i&gt;album_diaporama.yaml&lt;/i&gt;.&lt;br class='autobr' /&gt;
The later would be like that :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;nom: 'an album (diaporama)'
logo: 'prive/themes/spip/images/album-24.png'
icone_barre: 'album-diaporama.png'
alias: 'Diaporama'
parametres: - 'inclure:inc-yaml/album-compat.yaml' - saisie: 'hidden' options: nom: 'variante' defaut: 'diaporama' - saisie: 'selection_album' options: nom: speed' config: 'plugin/speed' - the remaining inputs...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Use the &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/browser/_plugins_/albums/trunk/modeles/album_liste.yaml&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#171;list&#187; variation&lt;/a&gt; as a reference.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;albumotheque&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Albums-page'&gt;Albums page&lt;a class='sommaire-back sommaire-back-11' href='#s-Albums-page' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class='spip_document_12436 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;14&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/albumotheque.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH542/albumotheque-bfce0.png?1763975835' width='520' height='542' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-12436 '&gt;&lt;strong&gt;Albumoth&#232;que&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;The filters located in the side column allow you to select albums according to their documents or their associations with objects : articles, authors, keywords...&lt;/p&gt;
&lt;p&gt;Some inputs with an autocomplete function will help you find specific objects.&lt;br class='autobr' /&gt;
For instance, in order to display the albums associated with a given article, click on the icon on the right side, then enter the first letters of the article's title or its number : the corresponding articles will appear, and clicking on one entry will update the albums list.&lt;br class='autobr' /&gt;
The autocomplete function only retrieves objects associated with albums.&lt;/p&gt;
&lt;div class='spip_document_12435 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;105&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/filtres.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH425/filtres-72f89.png?1763975835' width='520' height='425' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-12435 '&gt;&lt;strong&gt;Albumoth&#232;que : filtres&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-12435 '&gt;Des champs avec autocompl&#233;tion permettent de trouver les objets li&#233;s aux albums.&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;dragdrop&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Moving-documents-between-albums-with-drag-and-drop'&gt;Moving documents between albums with drag and drop&lt;a class='sommaire-back sommaire-back-11' href='#s-Moving-documents-between-albums-with-drag-and-drop' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If the option is activated, and provided you are &lt;a href=&#034;#autorisations&#034; class=&#034;spip_ancre&#034;&gt;authorized&lt;/a&gt;, it is possible to move documents between albums with drag and drop.&lt;br class='autobr' /&gt;
Be aware that this is experimental-ish !&lt;/p&gt;
&lt;p&gt;When you start draging a document, the albums which may receive it are highlighted with a dotted border. Once a document has been released in a different album, a form will appear at the bottom of the list in order to save the modifications. You may however proceed with more modifications before saving them.&lt;/p&gt;
&lt;p&gt;Note that it is possible to include individual documents in the manipulations.&lt;/p&gt;
&lt;div class='spip_document_11778 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;149&#034; data-legende-lenx=&#034;xxx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://files.spip.org/IMG/png/deplacer_documents.png' class=&#034;spip_in spip_doc_lien&#034;&gt; &lt;img src='https://files.spip.org/local/cache-vignettes/L520xH642/deplacer_documents-4e4ee.png?1763975835' width='520' height='642' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-11778 '&gt;&lt;strong&gt;D&#233;placer des documents entre albums par cliquer-glisser&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-11778 '&gt;1) Effectuer un ou plusieurs d&#233;placements
2) Valider avec le formulaire qui appara&#238;t en bas&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;boucles&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Boucles-amp-criteres'&gt;Boucles &amp; crit&#232;res&lt;a class='sommaire-back sommaire-back-11' href='#s-Boucles-amp-criteres' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{orphelins}&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The criteria &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{orphelins}&lt;/code&gt; will select albums not associated with any other object.&lt;/p&gt;
&lt;p&gt;&amp;rArr; &lt;strong&gt;Joins&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Albums have automatic joins with all objects.&lt;/p&gt;
&lt;p&gt;Provided that &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;id_xxx&lt;/code&gt; is present in the environnement, you may select albums associated with the object without using an explicit join : &lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLE_albums(ALBUMS){id_xxx}&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Beware though, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_auteur}&lt;/code&gt; behaves differently :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLE_albums(ALBUMS){id_auteur}&gt;&lt;/code&gt; select the author's albums (on spip_auteurs_liens).&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLE_albums(ALBUMS){objet=auteur}{id_objet=#ID_AUTEUR}&gt;&lt;/code&gt; selects albums associated with the author (on spip_albums_liens).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a id=&#034;criteres_documents&#034;&gt;&lt;/a&gt;&lt;br class='autobr' /&gt;
&amp;rArr; &lt;strong&gt;Select albums according to their documents&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When using a join with the table &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_documents&lt;/code&gt;, it is use some criterias of documents :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLE_albums(ALBUMS documents){documents.criteria=xxx}&gt;&lt;/code&gt;&lt;br class='autobr' /&gt;
For instance :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{documents.media IN image,audio}&lt;/code&gt; : albums containing images or audio files.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{documents.id_document=x}&lt;/code&gt; : albums containing the document no x.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{documents.titre LIKE %something%}&lt;/code&gt; : albums containing documents whose title or filename corresponds to the term &#171;something&#187;.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{documents.extension == mp3|ogg|oga}&lt;/code&gt; : albums containing mp3 or ogg audio files.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{documents.taille &gt; 1000000}&lt;/code&gt; : albums containing documents whose weight exceeds 1Mo&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;1000000 octets =&#160;975ko, but let's not chipote&#034; id=&#034;nh4-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a id=&#034;autorisations&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Autorisations'&gt;Autorisations&lt;a class='sommaire-back sommaire-back-11' href='#s-Autorisations' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Here are how some particular authorizations are defined (administrators can do everything).&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Modify an album&lt;/strong&gt; : one must be the album's auhtor and be authorized to modify all the objects associated with the album.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Add an album to an object&lt;/strong&gt; : the object must be activated in the options, and one must be authorized to modify the object.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Move documents between albums&lt;/strong&gt; : the option must be activated, and in the context of an object, one must be authorized to modify all the associated albums.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Delete an album&lt;/strong&gt; : the album must be empty, not used, and not published.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a id=&#034;retro_compatibilite&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;h2&#034; id='Retro-compatibility'&gt;Retro-compatibility&lt;a class='sommaire-back sommaire-back-11' href='#s-Retro-compatibility' title='Back to the table of contents'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The version 1 syntax, disabled in version 2, is supported anew : &lt;album|id_article=x&gt; and &lt;album|id=x,y,z&gt;&lt;/p&gt;
&lt;p&gt;The structure of the basic model has changed, in order to respect the standards for the tags &lt;figure&gt; and &lt;figcaption&gt;.&lt;/p&gt;
&lt;p&gt;Visually, a few changes occured :
&lt;br /&gt;- titles are hidden by default.
&lt;br /&gt;- the title and the description of the basic model are now located on the bottom.&lt;/p&gt;
&lt;p&gt;Parameters :
&lt;br /&gt;- thumbnails &amp; list : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;titraille&lt;/code&gt; has been remove
&lt;br /&gt;- thumbnails &amp; list : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;balise_titraille&lt;/code&gt; is deprecated in favor of &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;balise_titre&lt;/code&gt;
&lt;br /&gt;- liste : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;infos&lt;/code&gt; is deprecated in favor of &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;metas&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Divers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{contenu}&lt;/code&gt; criteria of the version 2 has been removed.&lt;br class='autobr' /&gt;
See the &lt;a href=&#034;#criteres_documents&#034; class=&#034;spip_ancre&#034;&gt;section about joins&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb4-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-1&#034; class=&#034;spip_note&#034; title=&#034;Footnotes 4-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;1000000 octets =&#160;975ko, but let's not chipote&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;&lt;a id=&#034;v2&#034;&gt;&lt;/a&gt;&lt;br class='autobr' /&gt;
The version 2 of the plugin has served as a transition, so to speak, between the &lt;a href='https://files.spip.org/Albums' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;version 1&lt;/a&gt; and this version, which is the &#171;correct&#187; version for SPIP 3.&lt;br class='autobr' /&gt;
It will only receive bug corrections.&lt;/p&gt;&lt;/div&gt;

		</content:encoded>


		
		<enclosure url="https://files.spip.net/spip-zone/albums_3.zip" length="178444" type="application/zip" />
		
		

	</item>



</channel>

</rss>

