--- /dev/null
+#SET{pliable,#ENV{pliable}|et{#ENV{pliable}|!={non}}|?{'pliable', ''}}
+#SET{plie,#ENV{plie}|et{#ENV{plie}|!={non}}|?{'plie', ''}}
+
+[(#REM) S'il y a des erreurs pour au moins un des champs internes, on ne plie pas ! ]
+#SET{champs_internes, #ENV{saisies}|saisies_lister_par_nom}
+#SET{erreurs, #ENV**{erreurs}|sinon{#ARRAY}}
+#SET{erreurs_fieldset, #GET{erreurs}|array_intersect_key{#GET{champs_internes}}}
+[(#GET{erreurs_fieldset}|oui)
+ #SET{plie, ''}
+]
+#SET{erreur_ici,#ENV**{erreurs}|table_valeur{#ENV{nom}}}
+
+<li class="fieldset[ fieldset_(#ENV{nom})][ (#ENV{li_class})][ saisie_(#ENV{type_saisie})][ (#GET{pliable})[ (#GET{plie})]]"[ data-id="(#ENV{id_saisie})"]>
+ #ENV*{inserer_debut}
+ <fieldset>
+ [[(#GLOBALS{debut_intertitre,<h3>}|inserer_attribut{class,legend})]
+ [(#ENV{icone}|oui)
+ [(#REM) en SPIP 3 on cherche avant tout dans le chemin des images
+ ]#SET{icone,''}[(#SPIP_VERSION|version_compare{2.9, >}|oui)#SET{icone,#CHEMIN_IMAGE{#ENV{icone}}]
+ [<img src="(#GET{icone}|sinon{#CHEMIN{#ENV{icone}}}
+ |image_reduire{#ENV{taille_icone}|sinon{16}}
+ |extraire_attribut{src})" alt="#ENV*{label}" /> ]
+ ]
+ <span>(#ENV*{label})</span>#GLOBALS{fin_intertitre,</h3>}]
+ [<span class='erreur_message'>(#GET{erreur_ici})</span>]
+ [<p class='explication'>(#ENV*{explication})</p>]
+ [(#ENV{saisies}|is_array|oui)
+ <ul>
+ #INCLURE{fond=#ENV{fond_generer,"inclure/generer_saisies"}, env, saisies=#ENV{saisies}, from_fieldset='on'}
+ </ul>
+ ]
+ </fieldset>
+ #ENV*{inserer_fin}
+</li>