--- /dev/null
+[(#REM)
+
+ ### /!\ boucle POUR (spip Bonux) ###
+
+ Parametres :
+ - datas : tableau de donnees cle=>valeur
+ - defaut : valeur par defaut si pas présente dans l'environnement
+ - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
+
+ Exemple d'appel :
+ [(#SAISIE{checkbox, criteres,
+ label=<:plugin:choisir_criteres:>,
+ defaut=#ARRAY{0,cle1,1,cle3},
+ defaut=cle2,
+ datas=#ARRAY{
+ cle1,valeur1,
+ cle2,valeur2,
+ cle3,valeur3}})]
+]
+
+[(#REM) datas peut être une chaine qu'on sait décomposer ]
+#SET{datas, #ENV*{datas}|saisies_chaine2tableau}
+
+[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
+#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
+
+[(#REM) valeur doit être un tableau ! ]
+#SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
+
+
+[(#REM) lorsque qu'on donne un 'disabled' qui est une chaine,
+ il faut la transformer en tableau. Ce tableau est vide si la chaine valait ''
+ sinon une clé 0 serait considérée disabled à tord
+]
+#SET{disabled,#ENV{disable}}
+[(#GET{disabled}|is_string|oui)
+ [(#GET{disabled}|strlen|non) #SET{disabled,#ARRAY} ]
+ [(#GET{disabled}|oui) #SET{disabled,#ARRAY|push{#GET{disabled}}} ]
+]
+<BOUCLE_checkbox(POUR){tableau #GET{datas}}>
+<div class="#ENV{choix,choix}">
+ <input type="checkbox" name="#ENV{nom}[]" class="checkbox" id="champ_#ENV{nom}_#COMPTEUR_BOUCLE"[ (#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui)checked="checked"] value="#CLE"[(#CLE|in_array{#GET{disabled}}|oui) disabled="disabled"] />
+ <label for="champ_#ENV{nom}_#COMPTEUR_BOUCLE">#VALEUR</label>
+</div>
+</BOUCLE_checkbox>