<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.spip.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>SPIP</title>
	<link>https://www.spip.net/</link>
	<description>Syst&#232;me de Publication pour Internet</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.spip.net/spip.php?id_auteur=6944&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>SPIP</title>
		<url>https://www.spip.net/local/cache-vignettes/L144xH107/siteon0-0ecda.png?1615902774</url>
		<link>https://www.spip.net/</link>
		<height>107</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>SPIP 4.0</title>
		<link>https://www.spip.net/fr_article6428.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6428.html</guid>
		<dc:date>2021-07-09T05:58:08Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational, Matthieu Marcillaud, tcharlss</dc:creator>


		<dc:subject>#PAGINATION</dc:subject>

		<description>&lt;p&gt;Changements apport&#233;s par SPIP 4.0&lt;/p&gt;

-
&lt;a href="https://www.spip.net/fr_rubrique785.html" rel="directory"&gt;Anciennes versions&lt;/a&gt;

/ 
&lt;a href="https://www.spip.net/@pagination" rel="tag"&gt;#PAGINATION&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-10&#034; id=&#034;nav6a10dbdd6e31d7.55210140&#034;&gt;
&lt;h2&gt;Sommaire&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Interface&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Interface&#034; class=&#034;spip_ancre&#034;&gt;Interface&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Compatibilite-PHP&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Compatibilite-PHP&#034; class=&#034;spip_ancre&#034;&gt;Compatibilit&#233; PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Base-de-donnees&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Base-de-donnees&#034; class=&#034;spip_ancre&#034;&gt;Base de donn&#233;es&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Syntaxe-des-squelettes-etendue&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Syntaxe-des-squelettes-etendue&#034; class=&#034;spip_ancre&#034;&gt;Syntaxe des squelettes &#233;tendue&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Changements-et-apports-pour-les-squelettes&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Changements-et-apports-pour-les-squelettes&#034; class=&#034;spip_ancre&#034;&gt;Changements et apports pour les squelettes&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Autres-apports&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Autres-apports&#034; class=&#034;spip_ancre&#034;&gt;Autres apports&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Corrections&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Corrections&#034; class=&#034;spip_ancre&#034;&gt;Corrections&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Nettoyages&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Nettoyages&#034; class=&#034;spip_ancre&#034;&gt;Nettoyages&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Depreciations&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Depreciations&#034; class=&#034;spip_ancre&#034;&gt;D&#233;pr&#233;ciations&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Plugins&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Plugins&#034; class=&#034;spip_ancre&#034;&gt;Plugins&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Interface&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Interface'&gt; Interface &lt;a class='sommaire-back sommaire-back-10' href='#s-Interface' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Espace priv&#233; relook&#233;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Un gros travail d'ergonomie a &#233;t&#233; initi&#233; pour rendre &#224; terme l'espace priv&#233; adaptatif sur toutes les tailles d'&#233;crans afin d'en faciliter l'usage.&lt;/p&gt;
&lt;p&gt;L'espace priv&#233; s'adapte mieux &#224; la largeur de l'&#233;cran, et commence &#224; utiliser diff&#233;rentes variables CSS pour faciliter sa maintenance.&lt;/p&gt;
&lt;div class='spip_document_3884 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;92&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/espace_prive_spip_40.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH268/espace_prive_spip_40-279b8.png?1625835035' width='500' height='268' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-3884 '&gt;&lt;strong&gt;Aper&#231;u de l'espace priv&#233; de SPIP 4.0
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-3884 '&gt;L'espace priv&#233; de SPIP 4.0 dans le site SPIP Contrib.
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;div class='spip_document_3888 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;42&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/article_vue.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH278/article_vue-7f8b2.png?1625837313' width='500' height='278' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-3888 '&gt;&lt;strong&gt;Vue d'un article (avec la couleur grise)
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;div class='spip_document_3887 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;46&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/article_edit.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH278/article_edit-31d63.png?1625837313' width='500' height='278' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-3887 '&gt;&lt;strong&gt;&#201;dition d'un article (avec la couleur grise)
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Un &#233;cran de connexion (login) &#233;l&#233;gant&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La page de connexion par d&#233;faut (login.html) est toute re-styl&#233;e, teint&#233;e du rose SPIP en fond.&lt;/p&gt;
&lt;div class='spip_document_3885 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;85&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/login_spip_40.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH309/login_spip_40-f788e.png?1625835483' width='500' height='309' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-3885 '&gt;&lt;strong&gt;&#201;cran de connexion par d&#233;faut &#224; SPIP 4.0
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-3885 '&gt;L'&#233;cran de connexion sur le site SPIP.net.
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Et si le rose vous surprend, pas de panique ! Un nouveau formulaire dans la configuration de l'identit&#233; du site existe. Il permet de choisir la couleur qu'on veut. Et mieux : il permet m&#234;me de d&#233;poser une magnifique image de fond.&lt;/p&gt;
&lt;div class='spip_document_3886 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;50&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/login_spip_40_avec_image.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH319/login_spip_40_avec_image-fb3b7.png?1625835900' width='500' height='319' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-3886 '&gt;&lt;strong&gt;&#201;cran de connexion avec une image, dans SPIP 4.0
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Iconographie en SVG&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une grande partie des icones et illustrations dans l'espace priv&#233; de SPIP et ses plugins sont pass&#233;s en SVG.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Tickets &lt;a href=&#034;https://core.spip.net/issues/4468&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;#4468&lt;/a&gt; et &lt;a href=&#034;https://core.spip.net/issues/4562&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;#4562&lt;/a&gt; : Harmonisation dans l'espace priv&#233; du HTML &amp; CSS des boutons&lt;/li&gt;&lt;li&gt; Nouveau jeu d'ic&#244;ne bas&#233; sur le th&#232;me Numix (en SVG) pour les types de document de la m&#233;diath&#232;que&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a id=&#034;documents&#034;&gt;&lt;/a&gt;&lt;strong&gt;Documents &amp; Logos&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Un gros travail a &#233;t&#233; fait sur les documents et logos :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Les logos des articles et autres objets &#233;ditoriaux sont stock&#233;s comme les documents (dans spip_documents en base de donn&#233;es, et dans IMG/logo/ sur le disque en conservant le nom du fichier). Une phase de migration d&#233;place les logos &#224; leur nouvel emplacement sur le disque.&lt;/li&gt;&lt;li&gt; Les logos, documents images et filtres d'images acceptent et g&#232;rent le format SVG&lt;/li&gt;&lt;li&gt; Le filtre &lt;a href='https://www.spip.net/fr_article4003.html' class=&#034;spip_in&#034;&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;balise_img&lt;/code&gt;&lt;/a&gt; permet de g&#233;rer des fichiers SVG et de d&#233;clarer leur taille&lt;/li&gt;&lt;li&gt; Le nouveau filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;balise_svg&lt;/code&gt; permet d'int&#233;grer le code source d'un fichier d'image SVG dans le code html directement. Peut &#234;tre pratique par exemple pour les petites ic&#244;nes.&lt;/li&gt;&lt;li&gt; Les documents / logos peuvent &#234;tre t&#233;l&#233;vers&#233;s par drag'n'drop, quelles que soient leurs tailles (int&#233;gration du plugin BigUp en plugins-dist, am&#233;lior&#233; pour l'occasion). La taille maximum autoris&#233;e est configurable.&lt;/li&gt;&lt;li&gt; Les mod&#232;les de documents (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;, &lt;imgXX&gt;, ...&lt;/code&gt;) sont revus et simplifi&#233;s et utilisent la balise &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;figure&gt;&lt;/code&gt;. &lt;a href=&#034;https://git.spip.net/SPIP/medias/commit/fa13018a9ef63c633e78da253106867d6bac8a78&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Commit fa13018a&lt;/a&gt;. &lt;strong&gt;Attention :&lt;/strong&gt; Les mod&#232;les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;doc.html&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;img.html&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;emb.html&lt;/code&gt; ne sont plus utilis&#233;s (et donc toute ancienne surcharge de ces fichiers dans des plugins ou squelettes ne sera plus utilis&#233;e). &#192; la place, on utilise les mod&#232;les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;image.html&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;audio.html&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;video.html&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;file.html&lt;/code&gt;, correspondant au type de document. Le mode de document n'est plus pris en compte pour le calcul du mod&#232;le. NB : afin de ne pas casser vos anciens sites, &lt;a href=&#034;https://plugins.spip.net/historique_spip32_documents.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;un plugin de r&#233;tro-compatibilit&#233; permet de retrouver les anciens mod&#232;les&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; Possibilit&#233; de d&#233;cliner les fichiers HTML des mod&#232;les de document par type de fichier (mime type) d&#233;taill&#233; : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;file_text_csv.html&lt;/code&gt; ou principal : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;file_text.html&lt;/code&gt; ; ou par extension : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;video_mp4.html&lt;/code&gt;. En cons&#233;quence vos variantes personnalis&#233;es doc_[variante].html correspondant au raccourci &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docN|variante&gt;&lt;/code&gt; ne fonctionneront plus et sont &#224; d&#233;cliner : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;image_[variante].html&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;video_[variante].html&lt;/code&gt;, etc.&lt;/li&gt;&lt;li&gt; L'&#233;criture des raccourcis SPIP des mod&#232;les de documents &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;imgXX&gt;&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;embXX&gt;&lt;/code&gt; devient &#233;quivalente. L'&#233;criture recommand&#233;e est &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;&lt;/code&gt; (o&#249; XX est le num&#233;ro du document).&lt;/li&gt;&lt;li&gt; La notion de Portfolio et de mode document / image sur les documents dispara&#238;t. &lt;a href=&#034;https://git.spip.net/SPIP/medias/commit/9cf774b9eb06f5dd0c52deaa18c04101aa98598c&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Commit 9cf774b9&lt;/a&gt;. La constante &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_COMPORTEMENT_HISTORIQUE_PORTFOLIO&lt;/code&gt; d&#233;clar&#233;e &#224; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;true&lt;/code&gt; permet de r&#233;tablir l'ancien fonctionnement.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Compatibilite-PHP&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Compatibilite-PHP'&gt; Compatibilit&#233; PHP &lt;a class='sommaire-back sommaire-back-10' href='#s-Compatibilite-PHP' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Limitation de la compatibilit&#233; de SPIP 4.0 avec PHP de 7.3 &#224; 8.0. De nombreuses notices, d&#233;pr&#233;ciations ont &#233;t&#233; aussi corrig&#233;es. &#192; noter que SPIP 3.2 sera donc la derni&#232;re version de SPIP &#224; &#234;tre compatible avec PHP 5.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Base-de-donnees&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Base-de-donnees'&gt;Base de donn&#233;es&lt;a class='sommaire-back sommaire-back-10' href='#s-Base-de-donnees' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SPIP 4.0 fonctionne avec Mysql ou Sqlite. Il peut mettre &#224; jour une base issue d'un SPIP &gt;= 2.0.0.&lt;/p&gt;
&lt;p&gt;Pour une mise &#224; jour d'un SPIP ant&#233;rieur, une &#233;tape de migration en SPIP 3.2 sera n&#233;cessaire.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Syntaxe-des-squelettes-etendue&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Syntaxe-des-squelettes-etendue'&gt; Syntaxe des squelettes &#233;tendue &lt;a class='sommaire-back sommaire-back-10' href='#s-Syntaxe-des-squelettes-etendue' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Ajout du support des boucles anonymes : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLE(ARTICLES)&gt;&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Marre du fichage ? une boucle anonyme n'a pas besoin de pr&#233;ciser son nom ! &lt;br class='autobr' /&gt;
Un identifiant lui sera automatiquement attribu&#233; en interne.&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;[(#REM) Une boucle nomm&#233;e ] &lt;B_mon_nom&gt; &lt;ul&gt; &lt;BOUCLE_mon_nom(ARTICLES){id_article}{0,5}&gt; &lt;li&gt;#TITRE&lt;/li&gt; &lt;/BOUCLE_mon_nom&gt; &lt;/ul&gt; &lt;/B_mon_nom&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&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;[(#REM) Une boucle anonyme ] &lt;B&gt; &lt;ul&gt; &lt;BOUCLE(ARTICLES){id_article}{0,5}&gt; &lt;li&gt;#TITRE&lt;/li&gt; &lt;/BOUCLE&gt; &lt;/ul&gt; &lt;/B&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et si vous &#234;tes ambitieux, vous pouvez en mettre autant que vous le souhaitez dans un squelette, et m&#234;me les imbriquer ! Mais bon, pensez &#224; vos successeurs pour ne pas rendre le code trop anonyme &#224; ne plus pouvoir s'y retrouver :)&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;B&gt; &lt;ul class=&#034;rubriques&#034;&gt; &lt;BOUCLE(RUBRIQUES){racine}{par num titre, titre}&gt; &lt;li&gt; &lt;h3&gt;#TITRE&lt;/h3&gt; &lt;B&gt; &lt;ul class=&#034;articles&#034;&gt; &lt;BOUCLE(ARTICLES){id_rubrique}{!par date}{0,5}&gt; &lt;li&gt;&lt;a href=&#034;#URL_ARTICLE&#034;&gt;#TITRE&lt;/a&gt;&lt;/li&gt; &lt;/BOUCLE&gt; &lt;/ul&gt; &lt;/B&gt; &lt;/li&gt; &lt;/BOUCLE&gt; &lt;/ul&gt; &lt;/B&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Ajout des parties non conditionnelles de boucles, avant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BB_boucle&gt;&lt;/code&gt; et apr&#232;s &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;/BB_boucle&gt;&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une syntaxe pour des parties non conditionnelles aux boucles est ajout&#233;e : ce contenu sera toujours affich&#233;, qu'il y ait un r&#233;sultat ou pas, tout en permettant d'utiliser les balises propre &#224; la boucle (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#TOTAL_BOUCLE&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#TRI&lt;/code&gt;, etc).&lt;/p&gt;
&lt;p&gt;Cette syntaxe sert particuli&#232;rement pour les tableaux d'&#233;l&#233;ments avec des tris et filtrages. Si la boucle ne retourne pas d'&#233;l&#233;ments, on souhaite toujours afficher les filtres (pour les d&#233;cocher / les modifier).&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;[(#REM) Une partie non conditionnelle avant / apr&#232;s la boucle ] &lt;BB_non_conditionnel&gt; [(#REM) cette partie est affich&#233;e m&#234;me si la boucle ne retourne pas d'articles ] &lt;h3&gt;Les articles&lt;/h3&gt; Nombre : #TOTAL_BOUCLE&lt;br&gt; &lt;BOUCLE_non_conditionnel(ARTICLES){id_article?}{id_rubrique?}{!par date}{0,5}{', '}&gt; &lt;a href=&#034;#URL_ARTICLE&#034;&gt;#TITRE&lt;/a&gt; &lt;/BOUCLE_non_conditionnel&gt; [(#REM) cette partie est affich&#233;e m&#234;me si la boucle ne retourne pas d'articles ] &lt;nav class=&#034;pagination&#034; role=&#034;navigation&#034;&gt;#PAGINATION&lt;/nav&gt; &lt;/BB_non_conditionnel&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cela compl&#232;te les parties conditionnelles des boucles avant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;B_boucle&gt;&lt;/code&gt; et apr&#232;s &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;/B_boucle&gt;&lt;/code&gt; qui elles s'affichent uniquement si la boucle a au moins un r&#233;sultat.&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;[(#REM) Une partie conditionnelle avant / apr&#232;s la boucle ] &lt;B_conditionnel&gt; [(#REM) cette partie n'est affich&#233;e que si la boucle retourne des articles ] &lt;h3&gt;Les articles&lt;/h3&gt; Nombre : #TOTAL_BOUCLE&lt;br&gt; &lt;BOUCLE_conditionnel(ARTICLES){id_article}{id_article?}{id_rubrique?}{!par date}{0,5}{', '}&gt; &lt;a href=&#034;#URL_ARTICLE&#034;&gt;#TITRE&lt;/a&gt; &lt;/BOUCLE_conditionnel&gt; [(#REM) cette partie n'est affich&#233;e que si la boucle retourne des articles ] &lt;nav class=&#034;pagination&#034; role=&#034;navigation&#034;&gt;#PAGINATION&lt;/nav&gt; &lt;/B_conditionnel&gt; &lt;h3&gt;Aucun article&lt;/h3&gt; &lt;//B_conditionnel&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La partie non conditionnelle des boucles peut se coupler avec la partie conditionnelle : dans se cas elle encadre la partie conditionnelle.&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;[(#REM) Mix non conditionnel / conditionnel avant / apr&#232;s ] &lt;BB_mix&gt; &lt;div class=&#034;articles&#034;&gt; &lt;h3&gt;Les articles&lt;/h3&gt; &lt;B_mix&gt; &lt;ul&gt; &lt;BOUCLE_mix(ARTICLES){id_article}{id_article}{!par date}{0,5}{', '}&gt; &lt;li&gt;#TITRE&lt;/li&gt; &lt;/BOUCLE_mix&gt; &lt;/ul&gt; &lt;nav class=&#034;pagination&#034; role=&#034;navigation&#034;&gt;#PAGINATION&lt;/nav&gt; &lt;/B_mix&gt; &lt;/div&gt; &lt;/BB_mix&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt; Ajout du support des boucles dans la partie conditionnelle des balises&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Oui ! On peut maintenant mettre des boucles dans des balises !&lt;br class='autobr' /&gt;
Si si ! Dans les parties conditionnelles des balises.&lt;/p&gt;
&lt;p&gt;Quelques exemples :&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;[(#BALISE) &lt;BOUCLE(ARTICLES) {0,1}&gt;#TITRE&lt;/BOUCLE&gt; ] [&lt;BOUCLE(ARTICLES) {0,1}&gt;#TITRE&lt;/BOUCLE&gt; (#BALISE)] [(#ENV{documents}|oui) &lt;B_docs&gt; &lt;ul&gt; &lt;BOUCLE_docs(DOCUMENTS){id_article}{par num titre, titre}{mode=document}&gt; &lt;li&gt; &lt;a href=&#034;#URL_DOCUMENT&#034;&gt; [(#TITRE|sinon{Document n&#176;#ID_DOCUMENT})] \(#EXTENSION\) &lt;/a&gt; &lt;/li&gt; &lt;/BOUCLE_docs&gt; &lt;ul&gt; &lt;/B_docs&gt; ] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Changements-et-apports-pour-les-squelettes&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Changements-et-apports-pour-les-squelettes'&gt; Changements et apports pour les squelettes &lt;a class='sommaire-back sommaire-back-10' href='#s-Changements-et-apports-pour-les-squelettes' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt; Les balises &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#PAGINATION&lt;/code&gt; n&#233;cessitent un changement de syntaxe et d'arguments. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le changement porte 1) sur la balise englobante, qui doit &#234;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nav&lt;/code&gt; 2) sur les arguments.&lt;/p&gt;
&lt;p&gt;1) La balise englobante doit d&#233;sormais &#234;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;nav class=&#034;pagination&#034;&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Jusqu'&#224; SPIP 3.2, on &#233;crivait par exemple :&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;p class='pagination'&gt;(#PAGINATION)&lt;/p&gt;] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avec SPIP 4.0, il faut maintenant utiliser :&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;nav class='pagination' role='navigation'&gt;(#PAGINATION)&lt;/nav&gt;] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;2) Il n'existe plus qu'un seul mod&#232;le de pagination. De ce fait, les diff&#233;rences de rendu de la pagination se font en lui passant des arguments.&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;afficher_lien_precedent=oui&lt;/code&gt; pour afficher le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;&lt;/code&gt; vers les r&#233;sultats pr&#233;c&#233;dents&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;afficher_lien_suivant=oui&lt;/code&gt; pour afficher le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&gt;&lt;/code&gt; qui m&#232;ne aux r&#233;sultats suivants&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;afficher_lien_tous=oui&lt;/code&gt; pour afficher un lien permettant de voir tous les r&#233;sultats simultan&#233;ment. Dans ce cas, le texte du lien est &#034;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&#8734;&lt;/code&gt;&#034; par d&#233;faut, mais il est possible de sp&#233;cifier un autre label avec l'argument &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;label_tous&lt;/code&gt;. Exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;label_tous=tous&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nombre_liens_max&lt;/code&gt; permet de d&#233;finir le nombre de lien de pagination maximum affich&#233; par le mod&#232;le. On peut &#233;galement employer la constante &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_PAGINATION_NOMBRE_LIENS_MAX&lt;/code&gt; pour l'espace public ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_PAGINATION_NOMBRE_LIENS_MAX_ECRIRE&lt;/code&gt; pour l'espace priv&#233;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le premier argument peut indiquer quel est le type de pagination d&#233;sir&#233;. On peut &#233;galement l'indiquer avec un argument &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type_pagination&lt;/code&gt;. &lt;br class='autobr' /&gt;
Exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#PAGINATION{naturel}&lt;/code&gt; est &#233;quivalent &#224; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#PAGINATION{type_pagination=naturel}&lt;/code&gt;.&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;type_pagination=page&lt;/code&gt; pour afficher les n&#176; de page : 1, 2, 3, 4...&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type_pagination=rang&lt;/code&gt; pour afficher les rangs : 0, 10, 20, 30...&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type_pagination=naturel&lt;/code&gt; pour afficher les rangs avec 1 &#224; la place du 0 : 1, 10, 20, 30...&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type_pagination=resultats&lt;/code&gt; pour afficher les rangs de 10 en 10 &#224; partir de 1 : 1, 11, 21, 31...&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type_pagination=page_precedent_suivant&lt;/code&gt; est la combinaison d'une pagination de type &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;page&lt;/code&gt; avec les liens pr&#233;c&#233;dents et suivants.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;L'utilisation de la balise dans l'espace priv&#233; est d&#233;tect&#233;e automatiquement, ce qui rend inutile le passage de l'argument &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type_pagination=prive&lt;/code&gt;. La compatibilit&#233; avec l'ancienne syntaxe &#233;tant toutefois assur&#233;e sur ce point, on pourra conserver, sur des anciens squelettes, l'argument de l'ancienne version ainsi :&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;nav class='pagination' role='navigation'&gt;(#PAGINATION{prive})&lt;/nav&gt;] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_?}&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_?}&lt;/code&gt; permet de faire toutes les liaisons possibles avec les variables d'environnement. Il se comporte donc comme autant de crit&#232;res &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_xxx ?}&lt;/code&gt; que possibles pour la boucle donn&#233;e.&lt;/p&gt;
&lt;p&gt;Voir &lt;a href='https://www.spip.net/fr_article6645.html' class=&#034;spip_in&#034;&gt;&lt;i&gt;id_ ?&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fonction &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lister_champs_id_conditionnel&lt;/code&gt; et pipeline &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;exclure_id_conditionnel&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{id_?}&lt;/code&gt; s'appuie directement sur la fonction &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lister_champs_id_conditionnel($table)&lt;/code&gt; qui retourne une liste des champs de s&#233;lection conditionnelle possibles pour cette table.&lt;/p&gt;
&lt;p&gt;Le calcul est fait &#224; partir des champs commen&#231;ant par 'id_' dans la table, ainsi qu'avec un &#233;ventuel champ 'objet'. On compl&#232;te ensuite avec les cl&#233;s primaires des tables &#233;ditoriales qui peuvent &#234;tre li&#233;es facilement.&lt;/p&gt;
&lt;p&gt;Enfin, le r&#233;sultat traverse le pipeline &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;exclure_id_conditionnel&lt;/code&gt; qui permet d'exclure certains champs de la liste calcul&#233;e par la fonction &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lister_champs_id_conditionnel&lt;/code&gt;. Voir l'exemple dans le plugin Br&#232;ves ou le plugin SVP.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{par_ordre_liste champ,#LISTE{...}}&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nouveau &lt;a href='https://www.spip.net/fr_article6646.html' class=&#034;spip_in&#034;&gt;crit&#232;re par_ordre_liste&lt;/a&gt; pour ordonner une boucle selon un ordre pr&#233;cis.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{fusion_supprimer}&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce crit&#232;re entre dans le Core. Il &#233;tait jadis d&#233;fini dans le plugin SPIP-Bonux. &lt;strong&gt;Important&lt;/strong&gt; : Il faut mettre &#224; jour le plugin SPIP-Bonux, s'il est actif, en version &gt;= 3.7.1 &lt;strong&gt;avant&lt;/strong&gt; de mettre &#224; jour le site vers SPIP 4.0 pour &#233;viter un conflit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Filtre et fonction &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;identifiant_slug&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;a href=&#034;https://core.spip.net/issues/4628&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Ticket #4628&lt;/a&gt; : ajout de la fonction &lt;a href='https://www.spip.net/fr_article6636.html' class=&#034;spip_in&#034;&gt;identifier_slug()&lt;/a&gt;. Permet de transformer un texte clair en nom court pouvant servir d'identifiant, class, id, url&#8230; en ne conservant que des caract&#232;res alphanum&#233;riques et un separateur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Filtres &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;label_nettoyer&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;label_ponctuer&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ces filtres sont ajout&#233;s pour g&#233;rer et utiliser un peu mieux les cha&#238;nes de langues historiques de SPIP (parfois avec des &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;:&lt;/code&gt;, parfois sans).&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;label_nettoyer&lt;/code&gt; enl&#232;ve les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;:&lt;/code&gt; en fin de texte&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;label_ponctuer&lt;/code&gt; ajoute &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&#8239;:&lt;/code&gt; en fin de texte&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&#201;volution des crit&#232;res &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{tri}&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{par num xxx}&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{tri xxx}&lt;/code&gt; accepte un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#TRI{par num&#233;ro, num xxx}&lt;/code&gt; se comportant comme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{par num xxx}&lt;/code&gt; (les &#233;l&#233;ments sans num&#233;ros sont class&#233;s apr&#232;s les &#233;l&#233;ments ayant un num&#233;ro)&lt;/li&gt;&lt;li&gt; Le crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{par num xxx}&lt;/code&gt; int&#232;gre automatiquement le crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{par sinum xxx}&lt;/code&gt; avant lui : ainsi dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(ARTICLES){par num titre}&lt;/code&gt;, les articles sans num&#233;ros (ou avec le num&#233;ro 0) passent apr&#232;s les articles ayant un num&#233;ro&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Autres points sur les squelettes&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Nouveaux arguments de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#FORMULAIRE_INSCRIPTION&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#FORMULAIRE_LOGIN&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Nouveaux filtres &lt;a href='https://www.spip.net/fr_article6623.html' class=&#034;spip_in&#034;&gt;ajouter_class&lt;/a&gt;, &lt;a href='https://www.spip.net/fr_article6624.html' class=&#034;spip_in&#034;&gt;supprimer_class&lt;/a&gt; et &lt;a href='https://www.spip.net/fr_article6625.html' class=&#034;spip_in&#034;&gt;commuter_class&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Filtre &lt;a href='https://www.spip.net/fr_article4004.html' class=&#034;spip_in&#034;&gt;lien_ou_expose&lt;/a&gt; am&#233;lior&#233;&lt;/li&gt;&lt;li&gt; Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|singulier_ou_pluriel&lt;/code&gt; peut &#234;tre &#233;tendu pour chaque langue en cr&#233;ant son propre filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;singulier_ou_pluriel_&lt;lang&gt;&lt;/code&gt;, qui sera appel&#233; si la langue correspond&lt;/li&gt;&lt;li&gt; Nouveau filtre &lt;a href=&#034;https://git.spip.net/spip/spip/commit/668d3212&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;appliquer_si_filtre&lt;/a&gt; en compl&#233;ment de &lt;a href='https://www.spip.net/fr_article5068.html' class=&#034;spip_in&#034;&gt;appliquer_filtre&lt;/a&gt; : le 1er renvoie le contenu initial si le filtre cherch&#233; n'existe pas, le 2nd ne renvoie plus rien.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Squelettes-dist (th&#232;me de l'espace public par d&#233;faut) &lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le squelettes-dist par d&#233;faut utilise maintenant une syntaxe HTML5&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Autres-apports&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Autres-apports'&gt;Autres apports&lt;a class='sommaire-back sommaire-back-10' href='#s-Autres-apports' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Int&#233;gration de la librairie Javascript &lt;a href=&#034;https://sortablejs.github.io/Sortable/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Sortable.js&lt;/a&gt; pour prendre en charge le glisser-d&#233;poser de fa&#231;on plus fluide, notamment pour ordonner les documents, en remplacement du module de jQuery UI.&lt;/li&gt;&lt;li&gt; Une nouvelle boite modale l&#233;g&#232;re, accessible, responsive et plus jolie bas&#233;e sur &lt;a href=&#034;https://sorgalla.com/lity/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Lity&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Une feuille de style XSLT fournit des flux RSS styl&#233;s&lt;/li&gt;&lt;li&gt; Le graphique des statistiques refait &#224; neuf (il utilise d3.js)&lt;/li&gt;&lt;li&gt; Le compagnon peut &#234;tre ignor&#233; pour chaque auteur qui connait d&#233;j&#224; SPIP&lt;/li&gt;&lt;li&gt; L'option &#034;se limiter au HTML4&#034; pour l'espace public est supprim&#233;e. Les squelettes par d&#233;faut (la dist) passent en HTML 5 (&lt;a href=&#034;https://git.spip.net/spip-contrib-extensions/historique_spip32_html4&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugin de r&#233;tro-compatibilit&#233;&lt;/a&gt;)&lt;/li&gt;&lt;li&gt; L'attribut summary pour les tableaux est enlev&#233;&lt;/li&gt;&lt;li&gt; Intertitres de niveau h2 par d&#233;faut, et plus de niveau h3 comme c'&#233;tait le cas avant (&lt;a href=&#034;https://git.spip.net/spip-contrib-extensions/historique_spip32_h3&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugin de r&#233;tro-compatibilit&#233;&lt;/a&gt;)&lt;/li&gt;&lt;li&gt; La fonction &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;autoriser_exception()&lt;/code&gt; accepte un argument * en guise d'id : cela l'autorise pour tout id. Quand on annule une exception avec *, cela annule toutes les exceptions pour cet objet, m&#234;me celles qui auraient &#233;t&#233; pos&#233;es individuellement avec des ids.&lt;/li&gt;&lt;li&gt; Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;heure_minutes&lt;/code&gt; accepte en argument optionnel &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;abbr&lt;/code&gt; lorsqu'on ne souhaite pas indiquer l'unit&#233; des minutes. Ainsi &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[(#DATE|heures_minutes{abbr})]&lt;/code&gt; affichera, par exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;17h26&lt;/code&gt;&lt;/li&gt;&lt;li&gt; La constante &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_AUTO_SELECTION_RUBRIQUE&lt;/code&gt;, qui permet d'affecter automatiquement une rubrique &#224; la cr&#233;ation d'un article si sa valeur est &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;true&lt;/code&gt; accepte maintenant en plus un entier : dans ce cas cela correspond &#224; l'identifiant de rubrique &#224; attribuer par d&#233;faut.&lt;/li&gt;&lt;li&gt; Si le 3&#232; param&#232;tre (class) de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#BOUTON_ACTION{libell&#233;, url, class ,message de confirmation}&lt;/code&gt; contient &#034;ajax&#034;, cette classe est ajout&#233;e au formulaire qui contient le bouton.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Corrections&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Corrections'&gt; Corrections &lt;a class='sommaire-back sommaire-back-10' href='#s-Corrections' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Mise &#224; jour de toutes les librairies JS utilis&#233;es&lt;/li&gt;&lt;li&gt; [login] &lt;a href=&#034;https://core.spip.net/issues/3957&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Ticket #3957&lt;/a&gt; : Ne plus afficher le cadenas sur la page login, trop ambigu avec le cadenas https du navigateur.&lt;/li&gt;&lt;li&gt; [admin] Le lien &#034;Afficher les visiteurs&#034; n'est pas pr&#233;sent&#233; s'il n'y a pas d'utilisateurs avec ce statut sur le site.&lt;/li&gt;&lt;li&gt; [svp][plugins] S'il y a une erreur XML sur un paquet.xml, elle est directement explicit&#233;e sur la page de gestion des plugins.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Nettoyages&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Nettoyages'&gt; Nettoyages &lt;a class='sommaire-back sommaire-back-10' href='#s-Nettoyages' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Plugins&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Les fichiers &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;plugin.xml&lt;/code&gt; des plugins SPIP 2.x ne sont plus interpr&#233;t&#233;s. Seuls les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;paquet.xml&lt;/code&gt; le sont d&#233;sormais. Un plugin qui n'aurait donc que &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;plugin.xml&lt;/code&gt; (sans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;paquet.xml&lt;/code&gt; &#224; c&#244;t&#233;) ne fonctionnera donc plus &#224; partir de SPIP 4.0.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Divers&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://core.spip.net/issues/4060&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Ticket #4060&lt;/a&gt; : Nettoyage code &lt; PHP 5.4&lt;/li&gt;&lt;li&gt; Nettoyage code &amp; CSS &lt;= IE9&lt;/li&gt;&lt;li&gt; Nettoyage htaccess (plus de compat sur les URLs .php(3) de SPIP &lt;= 1.8&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fichiers&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;inc/mail&lt;/code&gt; d&#233;pr&#233;ci&#233; depuis SPIP 2. Utiliser par exemple :
&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;$envoyer_mail = charger_fonction('envoyer_mail', 'inc'); $envoyer_mail(...); &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;action/preferer.php&lt;/code&gt; inutilis&#233; depuis SPIP 3.2 (suppression de ecrire/oo/).&lt;/li&gt;&lt;li&gt; Supression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;exec/valider_xml.php&lt;/code&gt; non fonctionnel, d&#233;plac&#233; dans le plugin &#224; corriger &lt;a href=&#034;https://zone.spip.org/trac/spip-zone/changeset/108307&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Valider XML&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;exec/fond_monobloc.php&lt;/code&gt;. Cr&#233;er les squelettes de l'espace priv&#233; dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;prive/squelettes&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Balises / Filtres / Crit&#232;res &lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suppression des balises &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#DEBUT_SURLIGNE&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#FIN_SURLIGNE&lt;/code&gt; d&#233;pr&#233;ci&#233;es depuis SPIP 2. Utiliser les classes CSS &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;surlignable&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pas_surlignable&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Les filtres &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;aligner&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;aligner_gauche&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;aligner_droite&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;centrer&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;justifier&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;style_align&lt;/code&gt; sont supprim&#233;s. Utiliser du code CSS pour obtenir le m&#234;me r&#233;sultat.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGIN_PRIVE&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#FORMULAIRE_LOGIN&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#LOGIN_PUBLIC&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#FORMULAIRE_LOGIN&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#DOSSIER_SQUELETTE&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#CHEMIN&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#NOOP&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#VAL&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{datasource ...}&lt;/code&gt;. Utiliser directement le crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{source ...}&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fonctions PHP&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo_log()&lt;/code&gt; (inutile maintenant).&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_fetch_array()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sql_fetch()&lt;/code&gt; &#224; la place.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;generer_url_retour()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;parametre_url()&lt;/code&gt; &#224; la place, avec le param&#232;tre 'redirect'.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;charger_php_extension()&lt;/code&gt; (utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;extension_loaded()&lt;/code&gt;)&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revisions_articles()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;article_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revision_article()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;article_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;articles_set()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;article_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;insert_article()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;article_inserer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;instituer_article()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;article_instituer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;insert_auteur()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;auteur_inserer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;auteurs_set()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;auteur_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;instituer_auteur()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;auteur_instituer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revision_auteur()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;auteur_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;insert_rubrique()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rubrique_inserer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revisions_rubriques()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rubrique_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;instituer_rubrique()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rubrique_instituer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;admin_repair_plat()&lt;/code&gt;. Les fichiers .plat ne sont plus utilis&#233;s. Cette fonction n'est plus appel&#233;e depuis &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;r14292&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;version_svn_courante()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;version_vcs_courante()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lire_meta()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$GLOBALS['meta'][$nom]&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lire_config('nom')&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;auteur_referent()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;auteur_associer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;table_jointure()&lt;/code&gt;. Utiliser Utiliser l'API editer_liens ou les tables de liaisons spip_xx_liens ou spip_yy_liens, selon.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;modifier_contenu()&lt;/code&gt;. Utiliser les fonctions g&#233;n&#233;riques pour l'API de modification de contenu.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revision_objet()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;objet_modifier()&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;notifier_publication_article()&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;notifier_proposition_article()&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;calcul_branche()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;calcul_branche_in()&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ecrire_metas()&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_query_db()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sql_query()&lt;/code&gt; ou autre.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_get_lock()&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_release_lock()&lt;/code&gt; qui n'&#233;taient plus utilis&#233;es.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;recuperer_entetes()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;recuperer_entetes_complets()&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;maj_version()&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;upgrade_vers()&lt;/code&gt; qui ne servent plus.&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;upgrade_types_documents()&lt;/code&gt;. Utiliser directement &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;creer_base_types_doc()&lt;/code&gt; du plugin Medias&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Depreciations&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Depreciations'&gt; D&#233;pr&#233;ciations &lt;a class='sommaire-back sommaire-back-10' href='#s-Depreciations' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; La &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLE(POUR)&lt;/code&gt; et son crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{tableau ...}&lt;/code&gt; sont d&#233;pr&#233;ci&#233;s au profit de la &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;BOUCLE(DATA)&gt;&lt;/code&gt; et son crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{source table, ...}&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; De m&#234;me, le fitre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|foreach&lt;/code&gt; est d&#233;pr&#233;ci&#233; au profit de la syntaxe &#224; base de boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(DATA)&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Plugins&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Plugins'&gt; Plugins &lt;a class='sommaire-back sommaire-back-10' href='#s-Plugins' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;- Les plugins &lt;strong&gt;breves&lt;/strong&gt;, &lt;strong&gt;jquery_ui&lt;/strong&gt;, &lt;strong&gt;organiseur&lt;/strong&gt;, &lt;strong&gt;petitions&lt;/strong&gt;, &lt;strong&gt;vertebres&lt;/strong&gt;, &lt;strong&gt;squelettes_par_rubriques&lt;/strong&gt; ne sont plus distribu&#233;s avec SPIP par d&#233;faut. Ces plugins, &lt;strong&gt;breves&lt;/strong&gt;, &lt;strong&gt;organiseur&lt;/strong&gt;, &lt;strong&gt;petitions&lt;/strong&gt; et &lt;strong&gt;squelettes_par_rubriques&lt;/strong&gt; sont toujours maintenus mais il faut les installer &#224; la main (via SVP par exemple) afin de b&#233;n&#233;ficier de leurs fonctionnalit&#233;s. Par exemple, installer le plugin &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Squelettes par rubrique&lt;/code&gt; pour utiliser des squelettes suffix&#233;s par num&#233;ro de rubrique et/ou par code de langue : (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-23.html&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;=23.html&lt;/code&gt;, et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.en.html&lt;/code&gt;). Pour installer ces plugins via SVP, il faut jouter le d&#233;p&#244;t SPiP-Zone - Core (ref &lt;a href=&#034;https://plugins.spip.net/spip.php?page=depots&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://plugins.spip.net/spip.php?page=depots&lt;/a&gt;) dans la page de gestion des d&#233;p&#244;ts de l'interface priv&#233;e.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;jquery_ui&lt;/strong&gt; est maintenu par la communaut&#233;, mais d&#233;pr&#233;ci&#233;&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;vertebres&lt;/strong&gt; bien que fonctionnel en SPIP 4.0 est abandonn&#233; : le plugin Adminer est une alternative plus compl&#232;te.&lt;/p&gt;
&lt;p&gt;Pour faciliter la suppression de leurs tables dans la base de donn&#233;es lors de la migration 3.2 -&gt; 4.0, le plugin d&#233;di&#233; &lt;strong&gt;L&#233;on&lt;/strong&gt; est mis &#224; votre disposition : &lt;a href=&#034;https://contrib.spip.net/leon-le-nettoyeur&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://contrib.spip.net/leon-le-nettoyeur&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Breves&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Fonctions PHP&lt;/i&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;insert_breve()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;breve_inserer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revisions_breves()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;breve_modifier()&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Grenier&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le grenier est nettoy&#233; et ne contient plus que les fonctions enlev&#233;es de SPIP 3.2 et SPIP 4.0. &lt;br class='autobr' /&gt;
Ce qui est ant&#233;rieur &#224; SPIP 3.2 n'est plus pr&#233;sent dedans.&lt;/p&gt;
&lt;p&gt;Il re&#231;oit les diff&#233;rentes fonctions et fichiers supprim&#233;s de SPIP 4.0 qui pouvaient potentiellement &#234;tre utilis&#233;s par des squelettes ou plugins.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Medias&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Fonctions PHP&lt;/i&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;document_set()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;document_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;insert_document()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;document_inserer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revision_document()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;document_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;afficher_documents_colonne()&lt;/code&gt;. Utiliser l'inclusion pr&#233;vue ou une v&#233;ritable d&#233;claration d'objet &#233;ditorial (la colonne document est alors affich&#233;e automatiquement sur la page d'&#233;dition de l'objet)&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lien_objet()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;generer_lien_entite()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;instituer_document()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;document_instituer()&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Mots&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Fonctions PHP&lt;/i&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;groupemots_inserer()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;groupe_mots_inserer()&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;objet_inserer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;groupemots_modifier()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;groupe_mots_modifier()&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;objet_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revision_groupe_mot()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;groupe_mots_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;insert_mot()&lt;/code&gt;. Utiliser Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mot_inserer()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mots_set()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mot_modifier()&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revision_mot()&lt;/code&gt;. Utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mot_modifier()&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;P&#233;titions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L'utilisation des p&#233;titions est maintenant optionnelle : elles sont d&#233;sactiv&#233;es par d&#233;faut sur les nouvelles installations&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;Sur les installation existantes, ce n'est le cas que si elles n&#233;taient pas (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;. Vous pouvez les activer dans la configuration des contenus du site.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sites&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Fonctions PHP&lt;/i&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;insert_syndic()&lt;/code&gt;. Utiliser site_inserer()&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;revisions_sites()&lt;/code&gt;. Utiliser site_modifier()&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;syndic_set()&lt;/code&gt;. Utiliser site_modifier()&lt;/li&gt;&lt;li&gt; Suppression de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;instituer_syndic()&lt;/code&gt;. Utiliser objet_instituer()&lt;/li&gt;&lt;/ul&gt;&lt;/section&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;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Sur les installation existantes, ce n'est le cas que si elles n&#233;taient pas utilis&#233;es auparavant&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Les filtres de texte</title>
		<link>https://www.spip.net/fr_article5718.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article5718.html</guid>
		<dc:date>2017-02-11T11:35:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>chankalan, tcharlss, YannX</dc:creator>


		<dc:subject>liens_ouvrants</dc:subject>
		<dc:subject>PtoBR</dc:subject>
		<dc:subject>supprimer_tags</dc:subject>
		<dc:subject>textebrut</dc:subject>
		<dc:subject>texte_script</dc:subject>
		<dc:subject>attribut_html</dc:subject>
		<dc:subject>liens_absolus</dc:subject>
		<dc:subject>texte_backend</dc:subject>
		<dc:subject>lignes_longues</dc:subject>
		<dc:subject>safehtml</dc:subject>
		<dc:subject>charset2unicode</dc:subject>
		<dc:subject>echapper_tags</dc:subject>

		<description>
&lt;p&gt;Ce tableau r&#233;capitule les filtres modifiant le rendu des balises produisant du texte au format HTML, ce qu'ils font et dans quels cas les utiliser. &lt;br class='autobr' /&gt; ||Les filtres de texte||
&lt;br class='autobr' /&gt;
| Filtre | Effet &amp; utilit&#233; | Texte en entr&#233;e / texte en sortie |
&lt;br class='autobr' /&gt;
| textebrut | Remplace les &lt;p&gt;, &lt;br&gt; et les doubles retours &#224; la ligne par de simples retours &#224; la ligne ; les espaces ins&#233;cables et les doubles espaces par des espaces simples. S'utilise pour ins&#233;rer le texte dans les tags &lt;meta&gt;, (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.spip.net/fr_rubrique567.html" rel="directory"&gt;Filtres&lt;/a&gt;

/ 
&lt;a href="https://www.spip.net/@liens_ouvrants" rel="tag"&gt;liens_ouvrants&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@ptobr" rel="tag"&gt;PtoBR&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@supprimer_tags" rel="tag"&gt;supprimer_tags&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@textebrut" rel="tag"&gt;textebrut&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@texte_script" rel="tag"&gt;texte_script&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@attribut_html" rel="tag"&gt;attribut_html&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@liens_absolus" rel="tag"&gt;liens_absolus&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@texte_backend" rel="tag"&gt;texte_backend&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@lignes_longues" rel="tag"&gt;lignes_longues&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@safehtml" rel="tag"&gt;safehtml&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@charset2unicode" rel="tag"&gt;charset2unicode&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@echapper_tags" rel="tag"&gt;echapper_tags&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Ce tableau r&#233;capitule les filtres modifiant le rendu des balises produisant du texte au format HTML, ce qu'ils font et dans quels cas les utiliser.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;caption&gt;Les filtres de texte&lt;/caption&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='id048d_c0'&gt; Filtre &lt;/th&gt;&lt;th id='id048d_c1'&gt; Effet &amp; utilit&#233; &lt;/th&gt;&lt;th id='id048d_c2'&gt; Texte en entr&#233;e / texte en sortie &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;textebrut&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4317.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;textebrut&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Remplace les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;p&gt;&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;br&gt;&lt;/code&gt; et les doubles retours &#224; la ligne par de simples retours &#224; la ligne ; les espaces ins&#233;cables et les doubles espaces par des espaces simples.&lt;br /&gt;S'utilise pour ins&#233;rer le texte dans &lt;strong&gt;les tags &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;meta&gt;&lt;/code&gt;, et autres balises HTML.&lt;/strong&gt;&lt;/td&gt;
&lt;td headers='id048d_c2'&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;p&gt;William Shakespeare :&lt;/p&gt;&lt;p&gt;n&#233; &#224; Stratford-sur-Avon&lt;/p&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;William Shakespeare : n&#233; &#224; Stratford-sur-Avon &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;texte_backend&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4287.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;texte_backend&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Formate le texte pour les &lt;strong&gt;flux XML&lt;/strong&gt;.&lt;br /&gt;Particuli&#232;rement utile dans des squelettes de fil RSS.&lt;/td&gt;
&lt;td headers='id048d_c2'&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;p&gt;&lt;strong&gt;William Shakespeare&lt;/strong&gt; naquit &#224; Stratford-sur-Avon&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;p&gt;&lt;strong&gt;William Shakespeare&lt;/strong&gt; naquit &#224; Stratford-sur-Avon &lt;/p&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;attribut_html&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4282.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;attribut_html&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Formate le texte pour les &lt;strong&gt;attributs HTML&lt;/strong&gt;.&lt;br /&gt;S'utilise typiquement, dans les attributs &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;title&gt;&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;alt&gt;&lt;/code&gt;...&lt;/td&gt;
&lt;td headers='id048d_c2'&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;2 est &#034;sup&#233;rieur&#034; &#224; 1 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;2 est &#034;sup&#233;rieur&#034; &#224; 1 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;texte_script&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4281.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;texte_script&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Formate le texte pour les &lt;strong&gt;scripts PHP et JS&lt;/strong&gt;.&lt;br /&gt;Echappe les quotes&lt;/td&gt;
&lt;td headers='id048d_c2'&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;SPIP, Syst&#232;me de publication pour l'internet &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;SPIP, Syst&#232;me de publication pour l\'internet &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;safehtml&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4310.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;safehtml&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Echappe le &lt;strong&gt;code PHP et JS&lt;/strong&gt; &lt;br /&gt;&#192; utiliser pour s&#233;curiser les textes issus de l'ext&#233;rieur (forums, syndications...)&lt;/td&gt;
&lt;td headers='id048d_c2'&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;script type=&#034;text/javascript&#034;&gt;...&lt;/script&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;&lt;script type=&#034;text/javascript&#034;&gt;...&lt;/script&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;supprimer_tags&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4315.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;supprimer_tags&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Supprime tous les tags HTML tout en conservant le contenu de ces m&#234;me tags.&lt;br /&gt;Permet d'obtenir un texte &#171; brut de pomme &#187;&lt;/td&gt;
&lt;td headers='id048d_c2'&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;p&gt;&lt;strong&gt;William Shakespeare&lt;/strong&gt; naquit &#224; &lt;em&gt;Stratford-sur-Avon&lt;/em&gt;&lt;/p&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;William Shakespeare naquit &#224; Stratford-sur-Avon &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;charset2unicode&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article5450.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;charset2unicode&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Transforme en &lt;strong&gt;entit&#233;s unicode&lt;/strong&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&#129;&lt;/code&gt;.&lt;br /&gt;L'int&#233;r&#234;t de ce filtre est qu'il n'impacte pas les balises html.&lt;/td&gt;
&lt;td headers='id048d_c2'&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;2 est &#034;sup&#233;rieur&#034; &#224; 1 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;2 est &#034;sup&#233;rieur&#034; &#224; 1 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;echapper_tags&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article5515.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;echapper_tags&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Transforme les chevrons de tag &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;...&gt;&lt;/code&gt; en entit&#233; HTML. &lt;br /&gt;Utile pour du texte entre balises &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;pre&gt;&lt;/code&gt;.&lt;/td&gt;
&lt;td headers='id048d_c2'&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;p&gt;&lt;strong&gt;William Shakespeare&lt;/strong&gt; naquit &#224; Stratford-sur-Avon&lt;/p&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;p&gt;&lt;strong&gt;William Shakespeare&lt;/strong&gt; naquit &#224; Stratford-sur-Avon&lt;/p&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;PtoBR&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4308.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;PtoBR&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Transforme les sauts de paragraphe &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;p&gt;&lt;/code&gt; en simples retours &#224; la ligne.&lt;br /&gt;Permet de &#171; resserrer &#187; une mise en page.&lt;/td&gt;
&lt;td headers='id048d_c2'&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;p&gt;&lt;strong&gt;William Shakespeare :&lt;/strong&gt;&lt;/p&gt;&lt;p style=&#034;color:navy;&#034;&gt;n&#233; &#224; Stratford-sur-Avon &lt;/p&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;strong&gt;William Shakespeare :&lt;/strong&gt;&lt;br /&gt;n&#233; &#224; Stratford-sur-Avon &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;liens_absolus&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4126.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;liens_absolus&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Transforme &lt;strong&gt;tous les liens&lt;/strong&gt; (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;a href=...&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;link href:...&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;img src=...&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;script src=...&lt;/code&gt;) en liens absolus.&lt;br /&gt;Particuli&#232;rement utile dans des squelettes de fil RSS.&lt;/td&gt;
&lt;td headers='id048d_c2'&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;img src=&#034;IMG/arton01.jpg&#034;&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;img src=&#034;http://lesite.com/IMG/arton01.jpg&#034;&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2' headers='id048d_c0'&gt;&lt;a id=&#034;liens_ouvrants&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4297.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;liens_ouvrants&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2' headers='id048d_c1'&gt;Transforme &lt;strong&gt;les liens SPIP&lt;/strong&gt; qui m&#232;nent vers des sites ext&#233;rieurs pour qu'ils s'ouvrent dans une nouvelle fen&#234;tre ou onglet.&lt;/td&gt;
&lt;td headers='id048d_c2'&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;a href=&#034;http://www.spip.net/page.html&#034;&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='id048d_c2'&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;a href=&#034;http://www.spip.net/page.html&#034; target=&#034;_blank&#034;&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;A signaler que le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lignes_longues&lt;/code&gt; peut toujours &#234;tre utilis&#233; mais est d&#233;pr&#233;ci&#233;. Il est pr&#233;f&#233;rable de couper les lignes longues avec des propri&#233;t&#233;s CSS comme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;word-wrap&lt;/code&gt;&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td rowspan='2'&gt;&lt;a id=&#034;lignes_longues&#034;&gt;&lt;/a&gt;&lt;a href='https://www.spip.net/fr_article4298.html' class=&#034;spip_in&#034;&gt;&lt;strong&gt;lignes_longues&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan='2'&gt;Introduit des &lt;strong&gt;c&#233;sures&lt;/strong&gt; dans les mots &#171; trop longs &#187;.&lt;/td&gt;
&lt;td&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;http://www.spip.net/spip.php?page=recherche&amp;recherche=lignes_longues &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&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;http://www.spip.net /spip. php?page=recherche &amp;recherche=lignes_longues &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Voir &#233;galement la liste compl&#232;te de tous les filtres : &lt;a href='https://www.spip.net/fr_article901.html' class=&#034;spip_in&#034;&gt;Les filtres de SPIP&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		
		<enclosure url="https://www.spip.net/IMG/html/page-test.html" length="1190" type="text/html" />
		

	</item>
<item xml:lang="fr">
		<title>|image_renforcement</title>
		<link>https://www.spip.net/fr_article6390.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6390.html</guid>
		<dc:date>2016-09-06T17:22:57Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>tcharlss</dc:creator>


		<dc:subject>image_renforcement</dc:subject>

		<description>
&lt;p&gt;Le filtre |image_renforcement permet de renforcer la nettet&#233; d'une image. Syntaxe &lt;br class='autobr' /&gt;
Il accepte en param&#232;tre un nombre compris entre 0 et 1 correspondant au niveau de renforcement souhait&#233;, d'une valeur de 0.5 par d&#233;faut. [(#FICHIER|image_renforcement0.33)] Exemples &lt;br class='autobr' /&gt;
Quelques exemples d'images produites selon le niveau de renforcement (|image_renforcement0 n'est l&#224; qu'&#224; titre d'exemple, cela renvoie l'image d'origine). Renforcement Image produite 0 0.5 1&lt;/p&gt;


-
&lt;a href="https://www.spip.net/fr_rubrique567.html" rel="directory"&gt;Filtres&lt;/a&gt;

/ 
&lt;a href="https://www.spip.net/@image_renforcement" rel="tag"&gt;image_renforcement&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-2&#034; id=&#034;nav6a10dbdd78bcd6.47556363&#034;&gt;
&lt;h2&gt;Sommaire&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Syntaxe&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Syntaxe&#034; class=&#034;spip_ancre&#034;&gt;Syntaxe&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Exemples&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Exemples&#034; class=&#034;spip_ancre&#034;&gt;Exemples&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|image_renforcement&lt;/code&gt; permet de renforcer la nettet&#233; d'une image.&lt;/p&gt;
&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Syntaxe&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Syntaxe'&gt;Syntaxe&lt;a class='sommaire-back sommaire-back-2' href='#s-Syntaxe' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Il accepte en param&#232;tre un nombre compris entre 0 et 1 correspondant au niveau de renforcement souhait&#233;, d'une valeur de 0.5 par d&#233;faut.&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;[(#FICHIER|image_renforcement{0.33})] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Exemples&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Exemples'&gt;Exemples&lt;a class='sommaire-back sommaire-back-2' href='#s-Exemples' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Quelques exemples d'images produites selon le niveau de renforcement (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|image_renforcement{0}&lt;/code&gt; n'est l&#224; qu'&#224; titre d'exemple, cela renvoie l'image d'origine).&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='ida6eb_c0'&gt; Renforcement &lt;/th&gt;&lt;th id='ida6eb_c1'&gt; Image produite &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td class='numeric point' headers='ida6eb_c0'&gt;0&lt;/td&gt;
&lt;td headers='ida6eb_c1'&gt;&lt;div class='spip_document_2824 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;img src='https://www.spip.net/local/cache-vignettes/L300xH206/petit_polatouche__ecureuil_volant___glaucomys_volans___2__300-da5ef.jpg?1594835766' width='300' height='206' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-2824 '&gt;&lt;strong&gt;|image_renforcement&lt;i&gt;0&lt;/i&gt;
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_credits crayon document-credits-2824 '&gt;Par Laurent B&#233;langer (Travail personnel) [CC BY-SA 3.0 (&lt;a href=&#034;http://creativecommons.org/licenses/by-sa/3.0&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://creativecommons.org/licenses/by-sa/3.0&lt;/a&gt;)], via Wikimedia Commons
&lt;/div&gt;
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td class='numeric point' headers='ida6eb_c0'&gt;0.5&lt;/td&gt;
&lt;td headers='ida6eb_c1'&gt;&lt;div class='spip_document_2826 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;151&#034; data-legende-lenx=&#034;xxx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L300xH206/polatouche_image_renforcement_0-5-50c68.jpg?1594835766' width='300' height='206' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-2826 '&gt;&lt;strong&gt;|image_renforcement&lt;i&gt;0.5&lt;/i&gt;
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_credits crayon document-credits-2826 '&gt;Par Laurent B&#233;langer (Travail personnel) [CC BY-SA 3.0 (&lt;a href=&#034;http://creativecommons.org/licenses/by-sa/3.0&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://creativecommons.org/licenses/by-sa/3.0&lt;/a&gt;)], via Wikimedia Commons
&lt;/div&gt;
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td class='numeric point' headers='ida6eb_c0'&gt;1&lt;/td&gt;
&lt;td headers='ida6eb_c1'&gt;&lt;div class='spip_document_2825 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;img src='https://www.spip.net/local/cache-vignettes/L300xH206/polatouche_image_renforcement_1-a1e3b.jpg?1594835766' width='300' height='206' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-2825 '&gt;&lt;strong&gt;|image_renforcement&lt;i&gt;1&lt;/i&gt;
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_credits crayon document-credits-2825 '&gt;Par Laurent B&#233;langer (Travail personnel) [CC BY-SA 3.0 (&lt;a href=&#034;http://creativecommons.org/licenses/by-sa/3.0&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://creativecommons.org/licenses/by-sa/3.0&lt;/a&gt;)], via Wikimedia Commons
&lt;/div&gt;
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/section&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Photo par Laurent B&#233;langer (Travail personnel) &lt;a href=&#034;http://creativecommons.org/licenses/by-sa/3.0&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;CC BY-SA 3.0&lt;/a&gt;, via &lt;a href=&#034;https://commons.wikimedia.org/wiki/File:Petit_polatouche_(%C3%89cureuil_volant)_(Glaucomys_volans)_(2).jpg&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Wikimedia Commons&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>|couper</title>
		<link>https://www.spip.net/fr_article4275.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article4275.html</guid>
		<dc:date>2009-09-25T22:01:09Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>denisb, tcharlss, Teddy</dc:creator>


		<dc:subject>couper</dc:subject>
		<dc:subject>SPIP 1.4</dc:subject>

		<description>
&lt;p&gt;Le filtre |couper coupe un texte apr&#232;s un nombre de caract&#232;res param&#233;trable. &lt;br class='autobr' /&gt; Il essaie de ne pas couper les mots et enl&#232;ve le formatage du texte. Si le texte original est plus long que l'extrait coup&#233;, alors &#171; (...) &#187; est ajout&#233; &#224; la fin de l'extrait. Ces points de suite ne sont cependant pas ajout&#233;s sur les extraits tr&#232;s courts. &lt;br class='autobr' /&gt;
Le filtre coupe par d&#233;faut &#224; 50 caract&#232;res, mais on peut sp&#233;cifier une autre longueur en la passant comme param&#232;tre au filtre, par exemple : (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.spip.net/fr_rubrique567.html" rel="directory"&gt;Filtres&lt;/a&gt;

/ 
&lt;a href="https://www.spip.net/@couper" rel="tag"&gt;couper&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@spip14" rel="tag"&gt;SPIP 1.4&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|couper&lt;/code&gt; coupe un texte apr&#232;s un nombre de caract&#232;res param&#233;trable.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-1&#034; id=&#034;nav6a10dbdd7a7dc8.33170530&#034;&gt;
&lt;h2&gt;Sommaire&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Voir-aussi&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Voir-aussi&#034; class=&#034;spip_ancre&#034;&gt;Voir aussi&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;Il essaie de ne pas couper les mots et enl&#232;ve le formatage du texte. Si le texte original est plus long que l'extrait coup&#233;, alors &#171; (...) &#187; est ajout&#233; &#224; la fin de l'extrait. Ces points de suite ne sont cependant pas ajout&#233;s sur les extraits tr&#232;s courts.&lt;/p&gt;
&lt;p&gt;Le filtre coupe par d&#233;faut &#224; 50 caract&#232;res, mais on peut sp&#233;cifier une autre longueur en la passant comme param&#232;tre au filtre, par exemple :&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;[(#TEXTE|couper{80})] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;De plus, ce filtre nettoie le texte de toutes ses balises html (ou formatage de texte) : il n'y a plus de liens, de gras, de code, de cadre, etc. Nous avons, donc, un texte brut.&lt;/p&gt;
&lt;p&gt;Il est possible de personnaliser les points de suite de ce filtre de la mani&#232;re suivante :&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;[(#TEXTE|couper{80, '...'})] [(#TEXTE|couper{80, ' &lt;img src=&#034;truc.png&#034; alt=&#034;&#034;&gt;'})] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Noter aussi qu'il est fr&#233;quent que la coupe ne corresponde pas &lt;i&gt;exactement&lt;/i&gt; au nombre demand&#233; de caract&#232;res (les mots n'&#233;tant pas coup&#233;s).&lt;/p&gt;
&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Voir-aussi&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Voir-aussi'&gt;Voir aussi &lt;a class='sommaire-back sommaire-back-1' href='#s-Voir-aussi' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la contante &lt;a href='https://www.spip.net/fr_article6456.html' class=&#034;spip_in&#034;&gt;_COUPER_SUITE&lt;/a&gt;&lt;/li&gt;&lt;li&gt; la balise &lt;a href='https://www.spip.net/fr_article3965.html' class=&#034;spip_in&#034;&gt;#INTRODUCTION&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
