<?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=705&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>|attribut_url</title>
		<link>https://www.spip.net/fr_article6865.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6865.html</guid>
		<dc:date>2024-05-30T10:20:06Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational, JLuc</dc:creator>


		<dc:subject>attribut_url</dc:subject>
		<dc:subject>SPIP 4.2</dc:subject>

		<description>
&lt;p&gt;Le filtre |attribut_url doit &#234;tre appliqu&#233; &#224; une balise lorsque celle-ci est utilis&#233;e comme attribut href ou src d'une balise HTML afin de s&#233;curiser cet usage. &lt;br class='autobr' /&gt;
Ce filtre est donc l'&#233;quivalent de attribut_html adapt&#233; aux urls, car celui-ci effectue des changements qui casseraient les urls. &lt;br class='autobr' /&gt;
Exemples : &lt;br class='autobr' /&gt;
1) S&#233;curiser l'url d'un lien contenu dans une variable d'environnement : [&lt;a href=&#034;(#ENV*lien|attribut_url)&#034;&gt;] &lt;br class='autobr' /&gt;
2) Dans le mod&#232;le squelettes-dist/modeles/favicon.html, le (&#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/@attribut_url" rel="tag"&gt;attribut_url&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@spip42" rel="tag"&gt;SPIP 4.2&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-1&#034; id=&#034;nav69f25d967389b7.91821839&#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;Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|attribut_url&lt;/code&gt; doit &#234;tre appliqu&#233; &#224; une balise lorsque celle-ci est utilis&#233;e comme attribut &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;href&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;src&lt;/code&gt; d'une balise HTML afin de s&#233;curiser cet usage.&lt;/p&gt;
&lt;p&gt;Ce filtre est donc l'&#233;quivalent de &lt;a href='https://www.spip.net/fr_article4282.html' class=&#034;spip_in&#034;&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;attribut_html&lt;/code&gt;&lt;/a&gt; adapt&#233; aux urls, car celui-ci effectue des changements qui casseraient les urls.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exemples :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1) S&#233;curiser l'url d'un lien contenu dans une variable d'environnement :&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;a href=&#034;(#ENV*{lien}|attribut_url)&#034;&gt;] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;2) Dans le mod&#232;le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;squelettes-dist/modeles/favicon.html&lt;/code&gt;, le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|attribut_url&lt;/code&gt; s&#233;curise la balise &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#ENV*{favicon}&lt;/code&gt; qui vient de l'environnement et dont le contenu peut &#234;tre dangereux.&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;link rel=&#034;shortcut icon&#034; href=&#034;(#ENV*{favicon} |sinon{#CHEMIN{favicon.ico}} |sinon{#CHEMIN{spip.ico}}|attribut_url)&#034; type=&#034;image/x-icon&#034;&gt;] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Cha&#238;nes de langue&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;attribut_url&lt;/code&gt; doit &#233;galement &#234;tre utilis&#233; sur les cha&#238;nes de langue renvoyant une url.&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; &lt;a href='https://www.spip.net/fr_article4282.html' class=&#034;spip_in&#034;&gt;|attribut_html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Personnaliser les URLs</title>
		<link>https://www.spip.net/fr_article6858.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6858.html</guid>
		<dc:date>2024-04-26T21:18:40Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational</dc:creator>



		<description>
&lt;p&gt;SPIP permet une gestion fine et &#233;volutive des URLs. Leur format est d&#233;fini par les webmestres. Pour la mise en place technique, consulter l'article Utiliser des URLs personnalis&#233;es. &lt;br class='autobr' /&gt;
Cr&#233;er une URL &lt;br class='autobr' /&gt;
Chaque objet SPIP est accessible par une URL donn&#233;e et celle-ci d&#233;pend du format choisi : Sur certains formats, on utilise l'identifiant de l'objet. Par exemple, le format &#034;URLs Objets&#034; g&#233;n&#233;rera une URL du type article6858.html Sur certains formats, on utilise d'autres champs comme le titre de (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.spip.net/fr_rubrique484.html" rel="directory"&gt;Pour aller plus loin&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-3&#034; id=&#034;nav69f25d96779194.20314476&#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-Creer-une-URL&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Creer-une-URL&#034; class=&#034;spip_ancre&#034;&gt;Cr&#233;er une URL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Modifier-une-URL&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Modifier-une-URL&#034; class=&#034;spip_ancre&#034;&gt;Modifier une URL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Gerer-les-URLs&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Gerer-les-URLs&#034; class=&#034;spip_ancre&#034;&gt;G&#233;rer les URLs&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;SPIP permet une gestion fine et &#233;volutive des URLs. Leur format est d&#233;fini par les webmestres. Pour la mise en place technique, consulter l'article &lt;a href='https://www.spip.net/fr_article765.html' class=&#034;spip_in&#034;&gt;Utiliser des URLs personnalis&#233;es&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Creer-une-URL&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Creer-une-URL'&gt;Cr&#233;er une URL&lt;a class='sommaire-back sommaire-back-3' href='#s-Creer-une-URL' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Chaque objet SPIP est accessible par une URL donn&#233;e et celle-ci d&#233;pend du format choisi :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Sur certains formats, on utilise l'identifiant de l'objet. Par exemple, le format &#034;URLs Objets&#034; g&#233;n&#233;rera une URL du type &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;article6858.html&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Sur certains formats, on utilise d'autres champs comme le titre de l'objet ou sa rubrique. Par exemple, un article dont le titre est &#034;J'aime le potjevleesch&#034; g&#233;n&#233;rera l'&#034;URL libre&#034; suivante &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;J-aime-le-potjevleesch&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Les URLs sont automatiquement g&#233;n&#233;r&#233;es au moment de la publication en ligne de l'objet.&lt;/p&gt;
&lt;p&gt;Quelques pr&#233;cisions :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Les URLs g&#233;n&#233;r&#233;es sont automatiquement corrig&#233;es pour respecter la norme HTML (pas d'espace blanc, d'accents, ....)&lt;/li&gt;&lt;li&gt; Si une URL est d&#233;j&#224; r&#233;serv&#233;e sur le site, SPIP g&#233;n&#232;re une URL alternative (en g&#233;n&#233;ral en ajoutant l'identifiant de l'objet)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Si l'option &#034;&#233;dition des URLs est activ&#233;e&#034; sur le site :&lt;/p&gt;
&lt;div class='spip_document_4176 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH130/spip-urls_modifier-dc0ce.png?1714121828' width='500' height='130' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;L'URL publique de l'objet est affich&#233;e sous le titre :&lt;/p&gt;
&lt;div class='spip_document_4177 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH132/spip-jaime-ec680.png?1714121869' width='500' height='132' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Modifier-une-URL&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Modifier-une-URL'&gt;Modifier une URL&lt;a class='sommaire-back sommaire-back-3' href='#s-Modifier-une-URL' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Certains formats d'URLs permettent d'&#233;diter les URLs, dans ce cas, un bouton &#034;modifier&#034; appara&#238;t lorsqu'on survole l'URL&lt;/p&gt;
&lt;p&gt;Le formulaire affich&#233; permet de modifier l'URL.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; L'URL ajout&#233;e devient l'URL principale de l'objet (on la rep&#232;re par un petit cadenas)&lt;/li&gt;&lt;li&gt; Les anciennes URLs de l'objet sont conserv&#233;es pour &#233;viter les erreurs 404. Les personnes qui tentent de consulter les anciennes URLs seront automatiquement redirig&#233;es vers l'URL principale (celle avec le cadenas).&lt;/li&gt;&lt;/ul&gt;&lt;div class='spip_document_4179 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH360/spip-jaime-modifier-fin-51054.png?1714122774' width='500' height='360' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Si une URL n'est pas plus utile (et qu'on ne souhaite plus de redirection vers l'URL principale), il est possible de la supprimer (bouton croix rouge).&lt;/li&gt;&lt;/ul&gt;&lt;div class='spip_document_4180 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/spip-jaime-modifier-delete.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH130/spip-jaime-modifier-delete-ed551.png?1714122995' width='500' height='130' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Gerer-les-URLs&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Gerer-les-URLs'&gt;G&#233;rer les URLs&lt;a class='sommaire-back sommaire-back-3' href='#s-Gerer-les-URLs' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sur les sites avec beaucoup de contenus, des centaines d'URLs sont g&#233;n&#233;r&#233;es. Cela peut &#234;tre probl&#233;matique si on souhaite utiliser une URL pr&#233;cise et que celle-ci est d&#233;j&#224; utilis&#233;e.&lt;/p&gt;
&lt;p&gt;Heureusement SPIP propose une page de gestion de toutes les URLs du site accessible par le menu &lt;strong&gt;Publication &#8594; Gestion des URLs&lt;/strong&gt; :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; La page affiche la liste des URLs du site et les objets associ&#233;s&lt;/li&gt;&lt;li&gt; Un moteur de recherche permet de trouver une URL pr&#233;cise&lt;/li&gt;&lt;/ul&gt;&lt;div class='spip_document_4182 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/spip-url-manage.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH244/spip-url-manage-617be.png?1714123778' width='500' height='244' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Pour lib&#233;rer une URL, il suffit de l'effacer sur l'ancien objet et de l'attribuer ensuite sur l'objet que l'on souhaite.&lt;/p&gt;
&lt;p&gt;Sur la page &lt;strong&gt;Publication &#8594; Gestion des URLs&lt;/strong&gt;, un bouton permet aussi de forcer la mise &#224; jour de toutes les URLs du site.&lt;/p&gt;
&lt;div class='spip_document_4181 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L309xH220/spip-url-purge-a454d.png?1714123778' width='309' height='220' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Fusionner, associer et dissocier des mots-cl&#233;s</title>
		<link>https://www.spip.net/fr_article6848.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6848.html</guid>
		<dc:date>2024-01-02T21:24:53Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>b_b, erational</dc:creator>


		<dc:subject>SPIP 4.0</dc:subject>

		<description>
&lt;p&gt;Lorsqu'on utilise des mots-cl&#233;s leur liste a tendance &#224; grossir au fil du temps et il peut &#234;tre int&#233;ressant de faire le m&#233;nage. &lt;br class='autobr' /&gt;
&#192; partir de SPIP 4.0, il est possible pour les administrateur-trices de fusionner, associer et dissocier des mots-cl&#233;s. Cela permet de r&#233;duire leur nombre en conservant les liens existants. &lt;br class='autobr' /&gt;
Avertissement : certaines de ces actions ne sont pas r&#233;versibles, il convient donc de les utiliser avec prudence. &lt;br class='autobr' /&gt;
- Dans la partie priv&#233;e, aller sur la page du mot-cl&#233; &#224; (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.spip.net/fr_rubrique484.html" rel="directory"&gt;Pour aller plus loin&lt;/a&gt;

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

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Lorsqu'on utilise des mots-cl&#233;s leur liste a tendance &#224; grossir au fil du temps et il peut &#234;tre int&#233;ressant de faire le m&#233;nage.&lt;/p&gt;
&lt;p&gt;&#192; partir de SPIP 4.0, il est possible pour les administrateur-trices de fusionner, associer et dissocier des mots-cl&#233;s. Cela permet de r&#233;duire leur nombre en conservant les liens existants.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Avertissement :&lt;/strong&gt; certaines de ces actions ne sont pas r&#233;versibles, il convient donc de les utiliser avec prudence.&lt;/p&gt;
&lt;p&gt;- Dans la partie priv&#233;e, aller sur la page du mot-cl&#233; &#224; fusionner
&lt;br /&gt;- En bas de page, cliquer sur le lien &#034;Admin. avanc&#233;e&#034;&lt;/p&gt;
&lt;div class='spip_document_4166 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L195xH108/mot-admin-5ac4f.png?1703163126' width='195' height='108' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;- Un formulaire qui permet d'associer, fusionner, dissocier les mots-cl&#233;s s'affiche&lt;/p&gt;
&lt;div class='spip_document_4165 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/png/mot-fusion.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH435/mot-fusion-e9c33.png?1704234405' width='500' height='435' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;- Comme certaines de ces op&#233;ration sont irr&#233;versibles, une demande de confirmation est affich&#233;e avant de lancer l'action :&lt;/p&gt;
&lt;div class='spip_document_4164 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH126/mot-fusion-warning-96c8e.png?1704234405' width='500' height='126' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title> Utiliser les plugins</title>
		<link>https://www.spip.net/fr_article6841.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6841.html</guid>
		<dc:date>2023-12-04T18:46:13Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>cy_altern, erational, jack, Ma&#239;eul</dc:creator>



		<description>&lt;p&gt;SPIP est fourni avec un nombre de fonctionnalit&#233;s standard (le noyau ou &#034;core&#034;).&lt;/p&gt;
&lt;p&gt;Il arrive souvent qu'on ait besoin d'autres fonctionnalit&#233;s comme par exemple, un agenda, une newsletter .... Pour r&#233;pondre &#224; ces besoins particuliers, SPIP dispose d'une syst&#232;me de plugins (parfois appel&#233; &#034;extensions&#034;) &#224; travers une API normalis&#233;e qui permet de se brancher (&#034;plug&#034; en anglais) au syst&#232;me pour y ajouter ou compl&#233;ter des fonctions.&lt;/p&gt;

-
&lt;a href="https://www.spip.net/fr_rubrique484.html" rel="directory"&gt;Pour aller plus loin&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-13&#034; id=&#034;nav69f25d967bdd60.02315202&#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-Qu-est-ce-qu-un-plugin&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Qu-est-ce-qu-un-plugin&#034; class=&#034;spip_ancre&#034;&gt;Qu'est ce qu'un plugin ?&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Organisation-de-plugins&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Organisation-de-plugins&#034; class=&#034;spip_ancre&#034;&gt;Organisation de plugins&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Utiliser-SVP-le-gestionnaire-des-plugins-de-SPIP&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Utiliser-SVP-le-gestionnaire-des-plugins-de-SPIP&#034; class=&#034;spip_ancre&#034;&gt;Utiliser SVP le gestionnaire des plugins de SPIP&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Gerer-les-depots&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Gerer-les-depots&#034; class=&#034;spip_ancre&#034;&gt;G&#233;rer les d&#233;p&#244;ts&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Chercher-et-trouver-le-plugin&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Chercher-et-trouver-le-plugin&#034; class=&#034;spip_ancre&#034;&gt;Chercher et trouver le plugin&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Ajouter-un-plugin&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Ajouter-un-plugin&#034; class=&#034;spip_ancre&#034;&gt;Ajouter un plugin&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Mettre-a-jour-un-plugin&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Mettre-a-jour-un-plugin&#034; class=&#034;spip_ancre&#034;&gt;Mettre &#224; jour un plugin&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Desactiver-Desinstaller-et-ou-Supprimer&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Desactiver-Desinstaller-et-ou-Supprimer&#034; class=&#034;spip_ancre&#034;&gt;D&#233;sactiver, D&#233;sinstaller et/ou Supprimer&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Methodes-alternatives-pour-gerer-les-plugins&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Methodes-alternatives-pour-gerer-les-plugins&#034; class=&#034;spip_ancre&#034;&gt;M&#233;thodes alternatives pour g&#233;rer les plugins&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Ajouter-un-plugin-manuellement-via-l-interface-SVP&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Ajouter-un-plugin-manuellement-via-l-interface-SVP&#034; class=&#034;spip_ancre&#034;&gt;Ajouter un plugin manuellement via l'interface SVP&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Gestion-des-plugins-par-FTP&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Gestion-des-plugins-par-FTP&#034; class=&#034;spip_ancre&#034;&gt;Gestion des plugins par FTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Gestion-des-plugins-par-SPIP-Cli&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Gestion-des-plugins-par-SPIP-Cli&#034; class=&#034;spip_ancre&#034;&gt;Gestion des plugins par SPIP-Cli&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Creer-son-plugin&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Creer-son-plugin&#034; class=&#034;spip_ancre&#034;&gt;Cr&#233;er son plugin&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;Qu-est-ce-qu-un-plugin&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Qu-est-ce-qu-un-plugin'&gt;Qu'est ce qu'un plugin ?&lt;a class='sommaire-back sommaire-back-13' href='#s-Qu-est-ce-qu-un-plugin' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SPIP est fourni avec un nombre de fonctionnalit&#233;s standard (le noyau ou &#034;core&#034;).&lt;/p&gt;
&lt;p&gt;Il arrive souvent qu'on ait besoin d'autres fonctionnalit&#233;s comme par exemple un agenda, une newsletter .... Pour r&#233;pondre &#224; ces besoins particuliers, SPIP dispose d'un syst&#232;me de plugins (parfois appel&#233; &#034;extensions&#034;) &#224; travers une API normalis&#233;e qui permet de se brancher (&#034;plug&#034; en anglais) au syst&#232;me pour y ajouter ou compl&#233;ter des fonctions.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Organisation-de-plugins&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Organisation-de-plugins'&gt;Organisation de plugins &lt;a class='sommaire-back sommaire-back-13' href='#s-Organisation-de-plugins' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Il existe deux types de plugins :&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Les plugins fournis par d&#233;faut dans SPIP&lt;/strong&gt;&lt;br class='autobr' /&gt;
Ils sont plac&#233;s dans le r&#233;pertoire r&#233;serv&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;./plugins-dist/&lt;/code&gt;. Ces &#034;plugins-dist&#034; sont verrouill&#233;s et il n'est pas possible de les d&#233;sinstaller. Ils sont mis &#224; jour lors de chaque mise &#224; jour de SPIP.&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Les plugins sp&#233;cifiques au site&lt;/strong&gt;&lt;br class='autobr' /&gt;
Ils sont plac&#233;s dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;./plugins/&lt;/code&gt;&lt;br class='autobr' /&gt;
Si vous souhaitez pouvoir les installer et mettre &#224; jour automatiquement, il faudra cr&#233;er un sous-r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;./plugins/auto/&lt;/code&gt;. (Ce sous-r&#233;pertoire est automatiquement cr&#233;&#233; si vous installez SPIP via le &lt;a href='https://www.spip.net/fr_article5705.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;spip-loader&lt;/a&gt;)&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Utiliser-SVP-le-gestionnaire-des-plugins-de-SPIP&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Utiliser-SVP-le-gestionnaire-des-plugins-de-SPIP'&gt;Utiliser SVP le gestionnaire des plugins de SPIP&lt;a class='sommaire-back sommaire-back-13' href='#s-Utiliser-SVP-le-gestionnaire-des-plugins-de-SPIP' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SPIP dispose d'un syst&#232;me automatis&#233; pour g&#233;rer les plugins qui s'appelle SVP (acronyme de &#034;SerVeur d'information et de t&#233;l&#233;chargement des Plugins&#034;).&lt;/p&gt;
&lt;p&gt;Il permet de g&#233;rer et de mettre &#224; jour au quotidien les plugins.&lt;/p&gt;
&lt;p&gt;La gestion des plugins est r&#233;serv&#233;e aux administrateurs-trices complet-es du site.&lt;br class='autobr' /&gt;
L'ajout, la mise &#224; jour et suppression des plugins sont restreints aux webmestres.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Gerer-les-depots&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Gerer-les-depots'&gt;G&#233;rer les d&#233;p&#244;ts&lt;a class='sommaire-back sommaire-back-13' href='#s-Gerer-les-depots' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SVP va chercher les plugins disponibles dans un &#034;d&#233;p&#244;t&#034;. &lt;br class='autobr' /&gt;
Lors de la premi&#232;re installation le webmestre doit installer le d&#233;p&#244;t et valider avec son mot de passe.&lt;/p&gt;
&lt;p&gt;Par d&#233;faut le d&#233;p&#244;t &#034;principal&#034; &#034;SPIP-Zone - Plugins&#034; est propos&#233;.&lt;/p&gt;
&lt;p&gt;Il est possible d'ajouter d'autres d&#233;p&#244;ts.&lt;br class='autobr' /&gt;
Certains d&#233;p&#244;ts sont list&#233;s sur &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;&lt;/p&gt;
&lt;p&gt;Pour des raisons de s&#233;curit&#233;, il est n&#233;cessaire de saisir son mot de passe pour installer un nouveau d&#233;p&#244;t.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Chercher-et-trouver-le-plugin&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Chercher-et-trouver-le-plugin'&gt;Chercher et trouver le plugin&lt;a class='sommaire-back sommaire-back-13' href='#s-Chercher-et-trouver-le-plugin' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Il est possible de rechercher le plugin via l'interface de SVP, &#034;ajouter un plugin&#034;&lt;br class='autobr' /&gt;
Il est peut &#234;tre utile de rechercher le plugin adapt&#233; &#224; votre besoin sur le site d&#233;di&#233; aux plugins SPIP : &lt;a href=&#034;https://plugins.spip.net/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://plugins.spip.net/&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Ajouter-un-plugin&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Ajouter-un-plugin'&gt;Ajouter un plugin&lt;a class='sommaire-back sommaire-back-13' href='#s-Ajouter-un-plugin' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorsque vous avez trouv&#233; votre plugin, vous le s&#233;lectionnez et demandez son installation &#034;t&#233;l&#233;charger et installer&#034; ; SVP va alors proposer d'installer le plugin avec toutes les d&#233;pendances n&#233;cessaires &#224; son fonctionnement.&lt;/p&gt;
&lt;p&gt;Une fois install&#233;s certains plugins proposent un bouton &#034;Configurer&#034; qui permet d'ouvrir un formulaire de configuration.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Mettre-a-jour-un-plugin&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Mettre-a-jour-un-plugin'&gt;Mettre &#224; jour un plugin&lt;a class='sommaire-back sommaire-back-13' href='#s-Mettre-a-jour-un-plugin' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Un plugin comporte un num&#233;ro de version sous la forme x.y.z o&#249;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; z repr&#233;sente une correction mineure,&lt;/li&gt;&lt;li&gt; y repr&#233;sente un ajout de fonctionnalit&#233;s,&lt;/li&gt;&lt;li&gt; x repr&#233;sente un changement majeur pr&#233;sentant des risques d'incompatibilit&#233;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Lorsqu'une mise &#224; jour est disponible (et que l'installation a &#233;t&#233; faite par SVP) une information s'affiche :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Une mise &#224; jour &lt;i&gt;corrective&lt;/i&gt; est disponible (up de z)&lt;/li&gt;&lt;li&gt; Une mise &#224; jour &lt;i&gt;fonctionnelle&lt;/i&gt; est disponible (up de y)&lt;/li&gt;&lt;li&gt; Une mise &#224; jour &lt;i&gt;majeure&lt;/i&gt; est disponible (X.0.0). Pensez &#224; v&#233;rifier les incompatibilit&#233;s. (up de x)&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;Desactiver-Desinstaller-et-ou-Supprimer&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Desactiver-Desinstaller-et-ou-Supprimer'&gt;D&#233;sactiver, D&#233;sinstaller et/ou Supprimer&lt;a class='sommaire-back sommaire-back-13' href='#s-Desactiver-Desinstaller-et-ou-Supprimer' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Les webmestres ont plusieurs options pour retirer un plugin install&#233; :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;D&#233;sactiver : &lt;/strong&gt; le plugin passe dans les plugins inactifs,&lt;/li&gt;&lt;li&gt; &lt;strong&gt;D&#233;sinstaller : &lt;/strong&gt; supprime les donn&#233;es et les param&#232;tres de configuration du plugin, le plugin passe dans les plugins inactifs,&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Lorsque le plugin est inactif il est maintenant possible de le :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Supprimer : &lt;/strong&gt; supprime les fichiers du plugins, pas les donn&#233;es ;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;R&#233;activer : &lt;/strong&gt; si le plugin a &#233;t&#233; d&#233;sactiv&#233; (et non d&#233;sinstall&#233;) on retrouvera toutes les donn&#233;es et les param&#232;tres.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;NB :
&lt;br /&gt;- Par cons&#233;quent, pour retirer compl&#232;tement un plugin et ses donn&#233;es, il faut d'abord le d&#233;sinstaller, puis le supprimer.
&lt;br /&gt;- Attention, ne pas oublier que d&#233;sinstaller entra&#238;ne une perte de donn&#233;es&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Methodes-alternatives-pour-gerer-les-plugins&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Methodes-alternatives-pour-gerer-les-plugins'&gt;M&#233;thodes alternatives pour g&#233;rer les plugins&lt;a class='sommaire-back sommaire-back-13' href='#s-Methodes-alternatives-pour-gerer-les-plugins' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau2 sommaire-section_h3&#034; aria-labelledby=&#034;Ajouter-un-plugin-manuellement-via-l-interface-SVP&#034;&gt;&lt;h3 class=&#034;h3&#034; id='Ajouter-un-plugin-manuellement-via-l-interface-SVP'&gt; Ajouter un plugin manuellement via l'interface SVP&lt;a class='sommaire-back sommaire-back-13' href='#s-Ajouter-un-plugin-manuellement-via-l-interface-SVP' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Il est possible d'installer un plugin manuellement via l'interface SVP, avec par exemple une version de zip r&#233;cup&#233;r&#233;e sur git.spip.net.&lt;br class='autobr' /&gt;
Pour des raisons de s&#233;curit&#233; il est n&#233;cessaire de saisir son mot de passe webmestre lors de toute installation de plugin de cette mani&#232;re.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau2 sommaire-section_h3&#034; aria-labelledby=&#034;Gestion-des-plugins-par-FTP&#034;&gt;&lt;h3 class=&#034;h3&#034; id='Gestion-des-plugins-par-FTP'&gt; Gestion des plugins par FTP&lt;a class='sommaire-back sommaire-back-13' href='#s-Gestion-des-plugins-par-FTP' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;On peut d&#233;poser les plugins avec transf&#233;rant par FTP les fichiers des plugins dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;./plugins/&lt;/code&gt;. Une fois d&#233;pos&#233;, il faudra activer les plugins via SVP.&lt;/p&gt;
&lt;p&gt;Attention, cette m&#233;thode ne permet pas de mettre &#224; jour automatiquement les plugins.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau2 sommaire-section_h3&#034; aria-labelledby=&#034;Gestion-des-plugins-par-SPIP-Cli&#034;&gt;&lt;h3 class=&#034;h3&#034; id='Gestion-des-plugins-par-SPIP-Cli'&gt; Gestion des plugins par SPIP-Cli&lt;a class='sommaire-back sommaire-back-13' href='#s-Gestion-des-plugins-par-SPIP-Cli' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;SPIP-Cli permet de g&#233;rer un site en ligne de commande. Il existe plusieurs commandes d&#233;di&#233;es &#224; la gestion des plugins. Pour en savoir plus se reporter &#224; la documentation officielle de SPIP-Cli&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://contrib.spip.net/SPIP-Cli&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://contrib.spip.net/SPIP-Cli&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Creer-son-plugin&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Creer-son-plugin'&gt;Cr&#233;er son plugin&lt;a class='sommaire-back sommaire-back-13' href='#s-Creer-son-plugin' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Si vous ne trouvez le plugin correspondant &#224; vos besoins, il est toujours possible de le cr&#233;er !&lt;/p&gt;
&lt;p&gt;Pour apprendre &#224; coder, vos propres plugins :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://programmer.spip.net/-Developper-des-plugins-&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://programmer.spip.net/-Developper-des-plugins-&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A noter :&lt;/strong&gt; le plugin La fabrique permet de cr&#233;er d'une fa&#231;on simple et rapide un plugin &#224; partir de z&#233;ro &lt;br class='autobr' /&gt;
&lt;a href=&#034;https://contrib.spip.net/La-Fabrique&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://contrib.spip.net/La-Fabrique&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Internationaliser les squelettes</title>
		<link>https://www.spip.net/fr_article6830.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6830.html</guid>
		<dc:date>2023-09-25T08:08:01Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational, jack</dc:creator>



		<description>
&lt;p&gt;SPIP affiche naturellement les &#233;l&#233;ments d'interface (dates, intitul&#233;s des boutons) dans la langue choisie dans la configuration. &lt;br class='autobr' /&gt;
Cr&#233;er des squelettes multilingues &lt;br class='autobr' /&gt;
Lorsqu'on cr&#233;e un squelette multilingue, il est indispensable d'utiliser les cha&#238;nes de langue pour que le contenu de l'interface soit affich&#233; dans la langue demand&#233;e. &lt;br class='autobr' /&gt;
SPIP fournit d&#233;j&#224; les intitul&#233;s les plus courants (comme &#034;Plan du site&#034;, &#034;R&#233;pondre &#224; cet article&#034; etc...). Cet article indique comment en ajouter des (&#8230;)&lt;/p&gt;


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


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-9&#034; id=&#034;nav69f25d967ded39.88055230&#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-Creer-des-squelettes-multilingues&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Creer-des-squelettes-multilingues&#034; class=&#034;spip_ancre&#034;&gt;Cr&#233;er des squelettes multilingues&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Utiliser-des-fichiers-de-langue&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Utiliser-des-fichiers-de-langue&#034; class=&#034;spip_ancre&#034;&gt;Utiliser des fichiers de langue&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-La-structure-d-un-fichier-de-langue&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#La-structure-d-un-fichier-de-langue&#034; class=&#034;spip_ancre&#034;&gt;La structure d'un fichier de langue&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Creer-ses-propres-codes&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Creer-ses-propres-codes&#034; class=&#034;spip_ancre&#034;&gt;Cr&#233;er ses propres codes&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Les-plugins-et-les-fichiers-de-langue&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Les-plugins-et-les-fichiers-de-langue&#034; class=&#034;spip_ancre&#034;&gt;Les plugins et les fichiers de langue&lt;/a&gt;&lt;/li&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;li&gt; &lt;a id=&#034;s-Historique&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Historique&#034; class=&#034;spip_ancre&#034;&gt;Historique&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Fichiers-de-langue&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Fichiers-de-langue&#034; class=&#034;spip_ancre&#034;&gt;Fichiers de langue&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Anciennes-solutions-historiques&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Anciennes-solutions-historiques&#034; class=&#034;spip_ancre&#034;&gt;Anciennes solutions historiques&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;SPIP affiche naturellement les &#233;l&#233;ments d'interface (dates, intitul&#233;s des boutons) dans la langue choisie dans la configuration.&lt;/p&gt;
&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Creer-des-squelettes-multilingues&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Creer-des-squelettes-multilingues'&gt;Cr&#233;er des squelettes multilingues&lt;a class='sommaire-back sommaire-back-9' href='#s-Creer-des-squelettes-multilingues' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorsqu'on cr&#233;e un squelette multilingue, il est indispensable d'utiliser les cha&#238;nes de langue pour que le contenu de l'interface soit affich&#233; dans la langue demand&#233;e.&lt;/p&gt;
&lt;p&gt;SPIP fournit d&#233;j&#224; les intitul&#233;s les plus courants (comme &#034;Plan du site&#034;, &#034;R&#233;pondre &#224; cet article&#034; etc...). &lt;br class='autobr' /&gt;
Cet article indique comment en ajouter des nouveaux selon vos besoins.&lt;/p&gt;
&lt;p&gt;De plus, utiliser les cha&#238;nes de langue am&#233;liore la maintenance de votre squelette (quand on modifie une cha&#238;ne de langue, toutes les pages sont modifi&#233;es)&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Utiliser-des-fichiers-de-langue&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Utiliser-des-fichiers-de-langue'&gt;Utiliser des fichiers de langue&lt;a class='sommaire-back sommaire-back-9' href='#s-Utiliser-des-fichiers-de-langue' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Cr&#233;er un fichier de langue&lt;/strong&gt;&lt;br class='autobr' /&gt;
Quelque soit la structure d&#233;cid&#233;e pour le site (secteurs de langue ou pas) il suffit d'ins&#233;rer une &#034;cha&#238;ne de langue&#034; comme ceci &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;:chaine_de_langue:&gt;&lt;/code&gt; SPIP ira chercher la traduction dans un des fichiers SPIP ou dans un fichier lang/local_xx.php (xx &#233;tant la langue) que l'on aura cr&#233;&#233;.&lt;/p&gt;
&lt;p&gt;Le suffixe langue &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;xx&lt;/code&gt; est celui g&#233;n&#233;ralement usit&#233; dans les normes ISO. &lt;br class='autobr' /&gt;
Par exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;fr&lt;/code&gt; pour &lt;i&gt;fran&#231;ais&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;On supporte aussi les variantes r&#233;gionales :&lt;br class='autobr' /&gt;
Par exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pt_br&lt;/code&gt; pour le &lt;i&gt;portugais br&#233;silien&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Par exemple, on fait afficher une section &lt;i&gt;musique&lt;/i&gt; dans notre site&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;h4&gt;Musique&lt;/h4&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour internationaliser, on passera le texte dans une chaine de langue&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;h4&gt;&lt;:musique:&gt;&lt;/h4&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Selon la langue retenue, la chaine &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;:musique:&gt;&lt;/code&gt; sera affich&#233;e &lt;br /&gt;&#8212; en fran&#231;ais, &#224; la cha&#238;ne &#171; Musique &#187;, &lt;br /&gt;&#8212; en anglais, &#224; la cha&#238;ne &#171; Music &#187;, &lt;br /&gt;&#8212; en japonais, &#224; la cha&#238;ne &#171; &#38899;&#27005; &#187;,&lt;/p&gt;
&lt;p&gt;Il faut donc cr&#233;er autant que fichiers de langue que les langues utilis&#233;es par votre site. &lt;br class='autobr' /&gt;
Dans le cas pr&#233;c&#233;dent il faut donc cr&#233;er un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lang/local_fr.php&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lang/local_en.php&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lang/local_ja.php&lt;/code&gt;&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;La-structure-d-un-fichier-de-langue&#034;&gt;&lt;h2 class=&#034;h2&#034; id='La-structure-d-un-fichier-de-langue'&gt;La structure d'un fichier de langue&lt;a class='sommaire-back sommaire-back-9' href='#s-La-structure-d-un-fichier-de-langue' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Un fichier de langue est rang&#233; dans un r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lang&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Les &lt;i&gt;fichiers de langue&lt;/i&gt; contiennent les diff&#233;rentes traductions des codes que vous utiliserez ; ce sont des fichiers PHP retournant chacun un tableau associant aux codes les cha&#238;nes correspondantes dans chaque langue.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attention&lt;/strong&gt; :&lt;br class='autobr' /&gt;
Le nom de ces fichiers de langue ne devra pas contenir le caract&#232;re &#171; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_&lt;/code&gt; &#187; (&#171; underscore &#187; ou &#171; tiret-bas &#187;) sauf pour marquer la s&#233;paration avec l'initiale de la langue (en, fr, it,...). Par exemple, on cr&#233;era &#171; &lt;i&gt;monperso_fr.php&lt;/i&gt; &#187; et non &#171; &lt;i&gt;mon_perso_fr.php&lt;/i&gt; &#187;.&lt;/p&gt;
&lt;p&gt;Ces fichiers contiendront par exemple :&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Version fran&#231;aise (lang/monperso_fr.php) :&lt;/i&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php return [ 'telechargement' =&gt; 'T&#233;l&#233;charger la derni&#232;re version', 'quoideneuf' =&gt; 'Modifications r&#233;centes' ]; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Version catalane (lang/monperso_ca.php) :&lt;/i&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php return [ 'telechargement' =&gt; 'Descarregar la darrera versi&#243;', 'quoideneuf' =&gt; 'Modificacions recents' ]; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Syntaxe des fichiers de langue&lt;/strong&gt;
&lt;br /&gt;- Chaque ligne de d&#233;finition se termine par une virgule, sauf la derni&#232;re ligne.
&lt;br /&gt;- Les apostrophes &#224; l'int&#233;rieur de la cha&#238;ne doivent &#234;tre &lt;i&gt;&#233;chapp&#233;es&lt;/i&gt;, c'est-&#224;-dire pr&#233;c&#233;d&#233;es d'un antislash. Par exemple, la cha&#238;ne &#171; sur l'internet &#187; doit &#234;tre &#233;crite : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sur l\'internet&lt;/code&gt;.
&lt;br /&gt;- Il est possible de ne pas &#233;chapper les apostrophes &#224; condition d'utiliser des apostrophes du type &#034;guillemet simple fermant&#034; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;'&lt;/code&gt;
&lt;br /&gt;- Les cha&#238;nes de langues doivent &#234;tre statiques. Il n'est pas possible d'effectuer des calculs en PHP pour les g&#233;n&#233;rer.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Creer-ses-propres-codes&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Creer-ses-propres-codes'&gt; Cr&#233;er ses propres codes&lt;a class='sommaire-back sommaire-back-9' href='#s-Creer-ses-propres-codes' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Il est de plus possible de cr&#233;er ses propres codes, correspondant &#224; des cha&#238;nes que l'on d&#233;sire ajouter soi-m&#234;me.&lt;br class='autobr' /&gt;
Il s'agit alors de cr&#233;er des fichiers de langue personnels, sur le mod&#232;le des fichiers public_xx.php. Pour cr&#233;er ses propres fichiers, on installera, dans un r&#233;pertoire squelettes/lang (&#224; cr&#233;er le cas &#233;ch&#233;ant) &lt;br /&gt;&#8212; local_fr.php pour d&#233;finir les cha&#238;nes en fran&#231;ais, &lt;br /&gt;&#8212; local_en.php en anglais, &lt;br /&gt;&#8212; ...&lt;/p&gt;
&lt;p&gt;La partie qu'il faut enrichir soit-m&#234;me consiste en plusieurs lignes de &lt;i&gt;d&#233;finitions&lt;/i&gt;, sur le mod&#232;le :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;php&#034; class='spip_code spip_code_block language-php' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; 'code' =&gt; 'La cha&#238;ne &#224; afficher', &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;Les-plugins-et-les-fichiers-de-langue&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Les-plugins-et-les-fichiers-de-langue'&gt;Les plugins et les fichiers de langue&lt;a class='sommaire-back sommaire-back-9' href='#s-Les-plugins-et-les-fichiers-de-langue' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Beaucoup de fonctionnalit&#233;s sont assur&#233;es par des plugins, soit des plugins du core comme porte-plume ou svp, soit des plugins ajout&#233;s par les webmestres parce qu'ils souhaitent utiliser une fonctionnalit&#233; sp&#233;cifique. Tous ces plugins ont des fichiers de langue.&lt;/p&gt;
&lt;/section&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-9' href='#s-Voir-aussi' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Pour tout savoir sur les chaines de langue on pourra consulter &lt;br class='autobr' /&gt;
&lt;a href=&#034;https://programmer.spip.net/-Elements-linguistiques-&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://programmer.spip.net/-Elements-linguistiques-&lt;/a&gt; et notamment la syntaxe compl&#232;te : &lt;a href=&#034;https://programmer.spip.net/Syntaxe-complete-des-balises-de-langue&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://programmer.spip.net/Syntaxe-complete-des-balises-de-langue&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Historique&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Historique'&gt;Historique&lt;a class='sommaire-back sommaire-back-9' href='#s-Historique' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau2 sommaire-section_h3&#034; aria-labelledby=&#034;Fichiers-de-langue&#034;&gt;&lt;h3 class=&#034;h3&#034; id='Fichiers-de-langue'&gt; Fichiers de langue&lt;a class='sommaire-back sommaire-back-9' href='#s-Fichiers-de-langue' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&#192; noter que pour les versions ant&#233;rieures &#224; SPIP 4.1, le fichier se pr&#233;sente de la mani&#232;re suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php $GLOBALS[$GLOBALS['idx_lang']] = [ 'cle' =&gt; 'valeur', 'cle2' =&gt; 'valeur2', // ... ]; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette syntaxe par peuplement de globale est d&#233;pr&#233;ci&#233;e &#224; partir de SPIP 4.4 et sera supprim&#233; en SPIP 5.0.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau2 sommaire-section_h3&#034; aria-labelledby=&#034;Anciennes-solutions-historiques&#034;&gt;&lt;h3 class=&#034;h3&#034; id='Anciennes-solutions-historiques'&gt; Anciennes solutions historiques &lt;a class='sommaire-back sommaire-back-9' href='#s-Anciennes-solutions-historiques' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;- &#034;un squelette par langue&#034; (n&#233;cessitait le plugin &#034;squelettes_par_rubrique&#034;) : c'est lourd &#224; maintenir et simplement inutile pour un usage basique.
&lt;br /&gt;- &#034;les blocs multilingues&#034; : ces blocs &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;multi&gt;&lt;/code&gt; sont tr&#232;s utiles dans la partie r&#233;dactionnelle ; pr&#233;senter un titre en diff&#233;rentes langues possibles, permettre d'afficher des l&#233;gendes diff&#233;rentes par langue... mais &#224; &#233;viter dans la partie structure.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ajouter des images &#224; un article en SPIP</title>
		<link>https://www.spip.net/fr_article6744.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6744.html</guid>
		<dc:date>2022-09-23T07:34:13Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational</dc:creator>



		<description>
&lt;p&gt;A partir de SPIP 4 permet d'ajouter des images aux articles d'une fa&#231;on simple et standardis&#233;e &#224; travers un mod&#232;le unique &lt;doc&gt; Ajouter une image &#224; un article Dans la partie priv&#233;e de SPIP, aller sur votre article. Ajouter votre image en utilisant le formulaire d'ajout d'image &lt;br class='autobr' /&gt;
Vous s&#233;lectionnez l'image &#224; t&#233;l&#233;charger depuis votre disque dur. Apr&#232;s le chargement, l'image appara&#238;t alors &#224; cot&#233; de l'article avec son num&#233;ro unique. &lt;br class='autobr' /&gt;
Vous pouvez ensuite effectuer les actions suivantes : (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.spip.net/fr_rubrique483.html" rel="directory"&gt;Guide de r&#233;daction&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-11&#034; id=&#034;nav69f25d96852df5.34105891&#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-Ajouter-une-image-a-un-article&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Ajouter-une-image-a-un-article&#034; class=&#034;spip_ancre&#034;&gt;Ajouter une image &#224; un article&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Utiliser-le-code-de-l-image-pour-illustrer-l-article&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Utiliser-le-code-de-l-image-pour-illustrer-l-article&#034; class=&#034;spip_ancre&#034;&gt;Utiliser le code de l'image &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;&lt;/code&gt; pour illustrer l'article&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Aligner-l-image-avec-les-codes-et&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Aligner-l-image-avec-les-codes-et&#034; class=&#034;spip_ancre&#034;&gt;Aligner l'image avec les codes &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|left&gt;&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|center&gt;&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|right&gt;&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Redimensionner&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Redimensionner&#034; class=&#034;spip_ancre&#034;&gt;Redimensionner&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Ajouter-un-lien&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Ajouter-un-lien&#034; class=&#034;spip_ancre&#034;&gt;Ajouter un lien&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Renseigner-la-legende&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Renseigner-la-legende&#034; class=&#034;spip_ancre&#034;&gt;Renseigner la l&#233;gende&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Masquer-la-legende-ou-un-de-ses-elements&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Masquer-la-legende-ou-un-de-ses-elements&#034; class=&#034;spip_ancre&#034;&gt;Masquer la l&#233;gende ou un de ses &#233;l&#233;ments&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Les-images-vues&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Les-images-vues&#034; class=&#034;spip_ancre&#034;&gt;Les images &#034;vues&#034;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Organiser-les-images-d-un-article&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Organiser-les-images-d-un-article&#034; class=&#034;spip_ancre&#034;&gt;Organiser les images d'un article&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Autres-options-du-formulaire-d-ajout-d-images&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Autres-options-du-formulaire-d-ajout-d-images&#034; class=&#034;spip_ancre&#034;&gt;Autres options du formulaire d'ajout d'images&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a id=&#034;s-Evolutions-par-rapport-aux-versions-precedentes-de-SPIP&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Evolutions-par-rapport-aux-versions-precedentes-de-SPIP&#034; class=&#034;spip_ancre&#034;&gt;&#201;volutions par rapport aux versions pr&#233;c&#233;dentes de SPIP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;A partir de SPIP 4 permet d'ajouter des images aux articles d'une fa&#231;on simple et standardis&#233;e &#224; travers un mod&#232;le unique &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;doc&gt;&lt;/code&gt;&lt;/p&gt;
&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Ajouter-une-image-a-un-article&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Ajouter-une-image-a-un-article'&gt;Ajouter une image &#224; un article&lt;a class='sommaire-back sommaire-back-11' href='#s-Ajouter-une-image-a-un-article' 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; Dans la partie priv&#233;e de SPIP, aller sur votre article.&lt;/li&gt;&lt;li&gt; Ajouter votre image en utilisant &lt;strong&gt;le formulaire d'ajout d'image&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class='spip_document_3962 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH259/formulaire_ajout_image-a2435.jpg?1663571239' width='500' height='259' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Vous s&#233;lectionnez l'image &#224; t&#233;l&#233;charger depuis votre disque dur. Apr&#232;s le chargement, l'image appara&#238;t alors &#224; cot&#233; de l'article avec son num&#233;ro unique.&lt;/p&gt;
&lt;div class='spip_document_3964 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L416xH263/bloc_image-6ee95.jpg?1663571063' width='416' height='263' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Vous pouvez ensuite effectuer les actions suivantes :&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;th id='id0fc3_l0'&gt;Ins&#233;rer l'image&lt;/th&gt;
&lt;td headers='id0fc3_l0'&gt;Il suffit de copier le code &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;doc3965&gt;&lt;/code&gt; dans le texte de votre article (voir paragraphe suivant)&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;th id='id0fc3_l1'&gt;&#201;diter l'image&lt;/th&gt;
&lt;td headers='id0fc3_l1'&gt;Les fl&#232;ches vous permettent de pivoter l'image si elle n'est pas bien orient&#233;e&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;th id='id0fc3_l2'&gt;Supprimer l'image&lt;/th&gt;
&lt;td headers='id0fc3_l2'&gt;Le fichier de l'image est supprim&#233; du site&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;th id='id0fc3_l3'&gt;D&#233;tacher l'image&lt;/th&gt;
&lt;td headers='id0fc3_l3'&gt;L'image est supprim&#233;e de l'article mais elle reste disponible dans la m&#233;diath&#232;que du site. On pourra donc l'utiliser ailleurs.&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;th id='id0fc3_l4'&gt;Modifier l'image&lt;/th&gt;
&lt;td headers='id0fc3_l4'&gt;Ouvre une fen&#234;tre qui permet de renseigner les informations sur l'image (titre, descriptif, cr&#233;dits) ou de mettre &#224; jour le fichier de l'image&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Utiliser-le-code-de-l-image-pour-illustrer-l-article&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Utiliser-le-code-de-l-image-pour-illustrer-l-article'&gt;Utiliser le code de l'image &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;&lt;/code&gt; pour illustrer l'article&lt;a class='sommaire-back sommaire-back-11' href='#s-Utiliser-le-code-de-l-image-pour-illustrer-l-article' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Pour placer l'image dans votre article il suffit d'ajouter le code obtenu &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;&lt;/code&gt; dans le texte de l'article.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;doc3965&gt;Lorem ipsum dolor sit amet consectetuer consequat et Donec lacinia id. Lorem pretium Curabitur lacus Pellentesque leo id volutpat Donec .... &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce qui donne le r&#233;sultat suivant :&lt;/p&gt;
&lt;div class='spip_document_3978 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/jpg/apercu-desktop.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH294/apercu-desktop-48c6b.jpg?1663577475' width='500' height='294' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Pour afficher les images inclues dans le texte d'un objet, les squelettes sp&#233;cifient souvent une taille d'affichage maximum au moyen du filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|image_reduire&lt;/code&gt;. Ind&#233;pendamment de cette taille, la vignette des images dont les dimensions originales sont plus grandes que la valeur de la constante &lt;a href='https://www.spip.net/fr_article6716.html' class=&#034;spip_in&#034;&gt;_IMAGE_TAILLE_MINI_AUTOLIEN&lt;/a&gt; comportent un lien permettant de les afficher en grand dans la Mediabox.&lt;/p&gt;
&lt;p&gt;Quoiqu'il en soit, il faut garder &#224; l'esprit que l'affichage final sur le site publique peut &#233;norm&#233;ment varier selon l'habillage graphique du site et aussi selon le p&#233;riph&#233;rique (&#034;device&#034;) avec lequel vous consultez le site.&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='idc264_c0'&gt;Page consult&#233;e depuis un smartphone&lt;/th&gt;&lt;th id='idc264_c1'&gt;Page consult&#233;e depuis un ordinateur de bureau&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='idc264_c0'&gt;&lt;div class='spip_document_3977 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L352xH634/apercu-smartphone-f5276.jpg?1663577417' width='352' height='634' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;td headers='idc264_c1'&gt;&lt;div class='spip_document_3978 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/jpg/apercu-desktop.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH294/apercu-desktop-48c6b.jpg?1663577475' width='500' height='294' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Aligner-l-image-avec-les-codes-et&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Aligner-l-image-avec-les-codes-et'&gt;Aligner l'image avec les codes &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|left&gt;&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|center&gt;&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|right&gt;&lt;/code&gt; &lt;a class='sommaire-back sommaire-back-11' href='#s-Aligner-l-image-avec-les-codes-et' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Vous pouvez aussi pr&#233;ciser l'alignement de l'image avec les codes suivants&lt;/p&gt;
&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;strong&gt;Position par d&#233;faut&lt;/strong&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;&lt;/code&gt;&lt;br /&gt;L'image se place dans le fil du texte&lt;/td&gt;
&lt;td&gt;&lt;div class='spip_document_2658 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L250xH96/07_05_pos_normal-a72a3.jpg?1594835766' width='250' height='96' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;strong&gt;Position &#224; gauche&lt;/strong&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|left&gt;&lt;/code&gt;&lt;br /&gt;L'image se place &#224; gauche et le fil du texte continue sur sa droite jusqu'&#224; d&#233;passer l'image en hauteur&lt;/td&gt;
&lt;td&gt;&lt;div class='spip_document_2654 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L250xH96/07_05_pos_left-62c39.jpg?1594835766' width='250' height='96' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;strong&gt;Position centr&#233;e&lt;/strong&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|center&gt;&lt;/code&gt;&lt;br /&gt;L'image se place au centre et le texte passe &#224; la ligne&lt;/td&gt;
&lt;td&gt;&lt;div class='spip_document_2653 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L250xH96/07_05_pos_center-f80b5.jpg?1594835766' width='250' height='96' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;strong&gt;Position &#224; droite&lt;/strong&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|right&gt;&lt;/code&gt;&lt;br /&gt;L'image se place &#224; droite et le fil du texte continue sur sa gauche jusqu'&#224; d&#233;passer l'image en hauteur&lt;/td&gt;
&lt;td&gt;&lt;div class='spip_document_2655 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L250xH96/07_05_pos_right-98460.jpg?1594835766' width='250' height='96' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Redimensionner&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Redimensionner'&gt;Redimensionner&lt;a class='sommaire-back sommaire-back-11' href='#s-Redimensionner' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Il est possible de diminuer la taille des images en indiquant soit une largeur, soit une hauteur.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le code &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|largeur=200&gt;&lt;/code&gt; permettra d'afficher une image limit&#233;e 200px de large.&lt;/li&gt;&lt;li&gt; le code &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|hauteur=150&gt;&lt;/code&gt; permettra d'afficher une image limit&#233;e 150px de haut.&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;Ajouter-un-lien&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Ajouter-un-lien'&gt;Ajouter un lien&lt;a class='sommaire-back sommaire-back-11' href='#s-Ajouter-un-lien' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Il est possible d'ajouter un lien sur une image en ajoutant : &lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|lien=http://www.monsite.ltd&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;L'image deviendra cliquable et renverra vers le lien indiqu&#233;.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Renseigner-la-legende&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Renseigner-la-legende'&gt;Renseigner la l&#233;gende&lt;a class='sommaire-back sommaire-back-11' href='#s-Renseigner-la-legende' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Il est possible d'aller d'ajouter une l&#233;gende &#224; l'image.&lt;/p&gt;
&lt;p&gt;Pour cela, il faut cliquer sur le bouton &#034;Modifier&#034;&lt;/p&gt;
&lt;div class='spip_document_3982 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L334xH263/image-modifier-febd2.jpg?1663584450' width='334' height='263' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Vous pouvez alors renseigner le titre, le descriptif de l'image, ses cr&#233;dits, le texte alternatif de l'image...&lt;/p&gt;
&lt;div class='spip_document_3983 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/jpg/image-edit.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH661/image-edit-6f334.jpg?1663585957' width='500' height='661' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Ce qui peut donner l'affichage suivant&lt;/p&gt;
&lt;div class='spip_document_3986 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L485xH402/image-edit-apercu-7cdaa.jpg?1663588239' width='485' height='402' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Masquer-la-legende-ou-un-de-ses-elements&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Masquer-la-legende-ou-un-de-ses-elements'&gt;Masquer la l&#233;gende ou un de ses &#233;l&#233;ments&lt;a class='sommaire-back sommaire-back-11' href='#s-Masquer-la-legende-ou-un-de-ses-elements' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&#192; partir de la version 4.2.8 de SPIP, il est possible d'afficher une image sans sa l&#233;gende, son titre, son descriptif ou ses cr&#233;dits. Pour cela, utilisez les codes suivant en fonction de vos besoins :
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|masquer=legende&gt;&lt;/code&gt; pour masquer toute la l&#233;gende ;
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|masquer=titre&gt;&lt;/code&gt; pour masquer seulement le titre de la l&#233;gende ;
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|masquer=descriptif&gt;&lt;/code&gt; pour masquer seulement le descriptif de la l&#233;gende ;
&lt;br /&gt;- &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|masquer=credits&gt;&lt;/code&gt; pour masquer seulement les cr&#233;dits de la l&#233;gende ;&lt;/p&gt;
&lt;p&gt;Il est aussi possible de masquer plusieurs de ces &#233;l&#233;ments en les espa&#231;ant par des virgules :&lt;/p&gt;
&lt;p&gt;Par exemple, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX|masquer=descriptif,credits&gt;&lt;/code&gt; masquera le descriptif et le cr&#233;dit.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Les-images-vues&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Les-images-vues'&gt;Les images &#034;vues&#034;&lt;a class='sommaire-back sommaire-back-11' href='#s-Les-images-vues' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Les images dont on a utilis&#233; le code dans l'article sont marqu&#233;es dans l'espace priv&#233; avec une ic&#244;ne &#034;&#339;il&#034;.&lt;/p&gt;
&lt;div class='spip_document_3980 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L309xH124/pink_vu-323d9.jpg?1663578205' width='309' height='124' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Ce sont les images filtr&#233;es par le &lt;a href='https://www.spip.net/fr_article4273.html' class=&#034;spip_in&#034;&gt;crit&#232;re &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{vu}&lt;/code&gt;&lt;/a&gt;. On ne peut pas supprimer ou d&#233;tacher ces images. Il faudra donc au pr&#233;alable supprimer les codes &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;docXX&gt;&lt;/code&gt; correspondants dans le texte de l'article.&lt;/p&gt;
&lt;p&gt;Dans le squelette par d&#233;faut, les images restantes sont list&#233;es dans un portfolio en bas de l'article.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Organiser-les-images-d-un-article&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Organiser-les-images-d-un-article'&gt;Organiser les images d'un article&lt;a class='sommaire-back sommaire-back-11' href='#s-Organiser-les-images-d-un-article' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Dans la partie priv&#233;e, toutes les images de l'article sont list&#233;es en bas de l'article.&lt;/p&gt;
&lt;div class='spip_document_3973 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH243/portfolio-f3678.jpg?1663575105' width='500' height='243' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Les boutons suivants permettent de changer les vues (plus ou moins compactes).&lt;/p&gt;
&lt;div class='spip_document_3974 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH167/portfoliov_vue-57a28.jpg?1663575105' width='500' height='167' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Il est aussi possible de modifier l'ordre des images via un glisser-d&#233;poser.&lt;/p&gt;
&lt;div class='spip_document_3975 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.spip.net/IMG/jpg/portfoliov_ordonner.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L500xH217/portfoliov_ordonner-bef9c.jpg?1663575659' width='500' height='217' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Dans le squelette par d&#233;faut, cette fonctionnalit&#233; permet de ranger les images qui sont list&#233;es dans le portfolio.&lt;/p&gt;
&lt;/section&gt;&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Autres-options-du-formulaire-d-ajout-d-images&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Autres-options-du-formulaire-d-ajout-d-images'&gt;Autres options du formulaire d'ajout d'images&lt;a class='sommaire-back sommaire-back-11' href='#s-Autres-options-du-formulaire-d-ajout-d-images' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class='spip_document_3966 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://www.spip.net/local/cache-vignettes/L328xH258/formulaire_ajout_image_options-9af94.jpg?1663571575' width='328' height='258' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;depuis mon ordinateur :&lt;/strong&gt; permet d'uploader un fichier stock&#233; depuis son disque dur.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;depuis la m&#233;diath&#232;que :&lt;/strong&gt; permet de s&#233;lectionner un document d&#233;j&#224; ajout&#233; sur le site. Vous s&#233;lectionnez l'image depuis la m&#233;diath&#232;que. Cela vous &#233;vite d'avoir &#224; t&#233;l&#233;charger des images qui ont d&#233;j&#224; &#233;t&#233; mise en ligne.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;depuis le serveur : &lt;/strong&gt; permet de charger des documents ayant &#233;t&#233; d&#233;pos&#233;s par FTP dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/tmp/upload&lt;/code&gt; du serveur.&lt;/li&gt;&lt;li&gt;&lt;strong&gt; depuis internet :&lt;/strong&gt; permet d'ajouter une ressource distante, par exemple une photo pr&#233;sente dans une biblioth&#232;que d'image ou un document pr&#233;sent sur un autre site internet.&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;Evolutions-par-rapport-aux-versions-precedentes-de-SPIP&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Evolutions-par-rapport-aux-versions-precedentes-de-SPIP'&gt;&#201;volutions par rapport aux versions pr&#233;c&#233;dentes de SPIP&lt;a class='sommaire-back sommaire-back-11' href='#s-Evolutions-par-rapport-aux-versions-precedentes-de-SPIP' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;L'utilisation des images a &#233;t&#233; simplifi&#233;e en SPIP 4.&lt;/p&gt;
&lt;p&gt;Pour les r&#233;dacteurs et r&#233;dactrices habitu&#233;&#8901;es aux versions SPIP 3 et pr&#233;c&#233;dentes, les principaux changements sont :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; On ne distingue plus la notion d'&lt;strong&gt;images&lt;/strong&gt; et de &lt;strong&gt;portfolio&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Suppression des mod&#232;les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;img&gt;&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;emb&gt;&lt;/code&gt; (qui restent n&#233;anmoins actifs pour assurer une r&#233;tro-compatibilit&#233;) au profit du mod&#232;le unique &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;doc&gt;&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#034;https://blog.spip.net/O-mega-c-est-SPIP-4-0-alpha.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Explications d&#233;taill&#233;es : changements dans la gestion des images avec SPIP4.0&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>|commuter_class</title>
		<link>https://www.spip.net/fr_article6625.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6625.html</guid>
		<dc:date>2021-07-15T12:38:48Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational</dc:creator>


		<dc:subject>SPIP 4.0</dc:subject>
		<dc:subject>commuter_class</dc:subject>

		<description>
&lt;p&gt;Le filtre |commuter_class compare les classes fournies aux classes pr&#233;sentes dans une balise HTML. Le filtre retire les classes d&#233;j&#224; pr&#233;sentes et il ajoute les classes qui n'existaient pas. &lt;br class='autobr' /&gt;
Exemple #LOGO_RUBRIQUE &lt;br class='autobr' /&gt;
Produit le HTML suivant : &lt;img src=&#034;IMG/logo/essai-1.jpg ?1614197741&#034; class=&#034;spip_logo&#034; width=&#034;800&#034; height=&#034;600&#034; alt=&#034;&#034;/&gt; &lt;br class='autobr' /&gt;
Appliquons le filtre |commuter_class avec l'argument 'nav spip_logo menu' : (&#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/@spip40" rel="tag"&gt;SPIP 4.0&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@commuter_class" rel="tag"&gt;commuter_class&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-1&#034; id=&#034;nav69f25d968ab7a2.31651193&#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;Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|commuter_class&lt;/code&gt; compare les classes fournies aux classes pr&#233;sentes dans une balise HTML. Le filtre retire les classes d&#233;j&#224; pr&#233;sentes et il ajoute les classes qui n'existaient pas.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exemple&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#LOGO_RUBRIQUE &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Produit le HTML suivant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;img src=&#034;IMG/logo/essai-1.jpg?1614197741&#034; class=&#034;spip_logo&#034; width=&#034;800&#034; height=&#034;600&#034; alt=&#034;&#034;/&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Appliquons le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|commuter_class&lt;/code&gt; avec l'argument 'nav spip_logo menu' :&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;[(#LOGO_RUBRIQUE|commuter_class{nav spip_logo menu})] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les classes 'nav' et 'menu', absentes, sont ajout&#233;es, et la classe 'spip_logo', d&#233;j&#224; pr&#233;sente, est supprim&#233;e.&lt;br class='autobr' /&gt;
On obtient :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;img src=&#034;IMG/logo/essai-1.jpg?1614197741&#034; class='nav menu' width=&#034;800&#034; height=&#034;600&#034; alt=&#034;&#034;/&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&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; &lt;a href='https://www.spip.net/fr_article6623.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|ajouter_class&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article6624.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|supprimer_class&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4294.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|inserer_attribut&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4142.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|vider_attribut&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4288.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|extraire_attribut&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>|supprimer_class</title>
		<link>https://www.spip.net/fr_article6624.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6624.html</guid>
		<dc:date>2021-07-09T06:09:24Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational</dc:creator>


		<dc:subject>SPIP 4.0</dc:subject>
		<dc:subject>supprimer_class</dc:subject>

		<description>
&lt;p&gt;Disponible depuis SPIP 4.0, le filtre |supprimer_class supprime une classe ou plusieurs classes &#224; une balise HTML. &lt;br class='autobr' /&gt;
Exemple #LOGO_RUBRIQUE &lt;br class='autobr' /&gt;
Produit le HTML suivant : &lt;img src=&#034;IMG/logo/essai-1.jpg ?1614197741&#034; class=&#034;spip_logo&#034; width=&#034;800&#034; height=&#034;600&#034; alt=&#034;&#034;/&gt; &lt;br class='autobr' /&gt;
Si on applique le filtre |supprimer_class [(#LOGO_RUBRIQUE|supprimer_classspip_logo)] &lt;br class='autobr' /&gt;
On obtient : &lt;img src=&#034;IMG/logo/essai-1.jpg ?1614197741&#034; (&#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/@spip40" rel="tag"&gt;SPIP 4.0&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@supprimer_class" rel="tag"&gt;supprimer_class&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-1&#034; id=&#034;nav69f25d968e3012.88003177&#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;Disponible depuis &lt;strong&gt;SPIP 4.0&lt;/strong&gt;, le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|supprimer_class&lt;/code&gt; supprime une classe ou plusieurs classes &#224; une balise HTML.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exemple&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#LOGO_RUBRIQUE &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Produit le HTML suivant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;img src=&#034;IMG/logo/essai-1.jpg?1614197741&#034; class=&#034;spip_logo&#034; width=&#034;800&#034; height=&#034;600&#034; alt=&#034;&#034;/&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si on applique le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|supprimer_class&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[(#LOGO_RUBRIQUE|supprimer_class{spip_logo})] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On obtient :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;img src=&#034;IMG/logo/essai-1.jpg?1614197741&#034; width=&#034;800&#034; height=&#034;600&#034; alt=&#034;&#034;/&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&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; &lt;a href='https://www.spip.net/fr_article6623.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|ajouter_class&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article6625.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|commuter_class&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4294.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|inserer_attribut&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4142.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|vider_attribut&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4288.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|extraire_attribut&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>|ajouter_class</title>
		<link>https://www.spip.net/fr_article6623.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article6623.html</guid>
		<dc:date>2021-07-09T06:09:09Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>erational</dc:creator>


		<dc:subject>SPIP 4.0</dc:subject>
		<dc:subject>ajouter_class</dc:subject>

		<description>
&lt;p&gt;Le filtre |ajouter_class ajoute une classe ou plusieurs classes &#224; une balise HTML. &lt;br class='autobr' /&gt;
Exemple [(#CHEMINimg/logo.svg)|balise_img|ajouter_classnav logo-site)] &lt;br class='autobr' /&gt;
Cherche le fichier img/logo.svg et g&#233;n&#232;re la balise d'image avec les classes nav et logo-site. &lt;br class='autobr' /&gt;
Ce qui produit le HTML suivant : &lt;img src='squelettes/img/logo.svg ?1579179279' alt='' width='200' height='200' class=' nav logo-site' /&gt; Voir aussi |supprimer_class |commuter_class |inserer_attribut |vi&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/@spip40" rel="tag"&gt;SPIP 4.0&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@ajouter_class" rel="tag"&gt;ajouter_class&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-1&#034; id=&#034;nav69f25d9691c756.67267713&#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;Le filtre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|ajouter_class&lt;/code&gt; ajoute une classe ou plusieurs classes &#224; une balise HTML.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exemple&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[(#CHEMIN{img/logo.svg)|balise_img|ajouter_class{nav logo-site})] &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cherche le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;img/logo.svg&lt;/code&gt; et g&#233;n&#232;re la balise d'image avec les classes &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nav&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;logo-site&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Ce qui produit le HTML suivant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;html&#034; class='spip_code spip_code_block language-html' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;img src='squelettes/img/logo.svg?1579179279' alt='' width='200' height='200' class=' nav logo-site' /&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&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; &lt;a href='https://www.spip.net/fr_article6624.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|supprimer_class&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article6625.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|commuter_class&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4294.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|inserer_attribut&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4142.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|vider_attribut&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article4288.html' class=&#034;spip_in&#034; hreflang=&#034;fr&#034;&gt;|extraire_attribut&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<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;nav69f25d9699e189.85967644&#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>



</channel>

</rss>
