@kiubi/mcp-designer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +219 -0
  3. package/package.json +57 -0
  4. package/src/app.ts +39 -0
  5. package/src/index.ts +21 -0
  6. package/src/lib/stemmer.ts +38 -0
  7. package/src/lib/theme-checker/block-validator.ts +353 -0
  8. package/src/lib/theme-checker/checker.ts +897 -0
  9. package/src/lib/theme-checker/filter-validator.ts +163 -0
  10. package/src/lib/theme-checker/index.ts +6 -0
  11. package/src/lib/theme-checker/inspector.ts +193 -0
  12. package/src/lib/theme-checker/lang.ts +42 -0
  13. package/src/lib/theme-checker/parsers/component-xml.ts +120 -0
  14. package/src/lib/theme-checker/parsers/model-xml.ts +82 -0
  15. package/src/lib/theme-checker/parsers/post-type-xml.ts +92 -0
  16. package/src/lib/theme-checker/parsers/symbol-xml.ts +162 -0
  17. package/src/lib/theme-checker/parsers/theme-xml.ts +102 -0
  18. package/src/lib/theme-checker/types.ts +97 -0
  19. package/src/logger.ts +28 -0
  20. package/src/tool.ts +13 -0
  21. package/src/tools/create_type.ts +535 -0
  22. package/src/tools/detail_type.ts +208 -0
  23. package/src/tools/get_doc_section.ts +201 -0
  24. package/src/tools/list_types.ts +87 -0
  25. package/src/tools/list_widgets.ts +181 -0
  26. package/src/tools/ruleset.ts +25 -0
  27. package/src/tools/search_doc.ts +160 -0
  28. package/src/tools/validate_theme.ts +63 -0
  29. package/storage/definitions/blog.json +1444 -0
  30. package/storage/definitions/catalogue.json +2817 -0
  31. package/storage/definitions/cms.json +1002 -0
  32. package/storage/definitions/commandes.json +2409 -0
  33. package/storage/definitions/comptes.json +780 -0
  34. package/storage/definitions/modules.json +418 -0
  35. package/storage/definitions/recherche.json +804 -0
  36. package/storage/documents/CLAUDE.exemple.md +281 -0
  37. package/storage/documents/generated/exemples.md +8054 -0
  38. package/storage/documents/generated/integration/01_theme_perso.md +182 -0
  39. package/storage/documents/generated/integration/02_modeles.md +220 -0
  40. package/storage/documents/generated/integration/03_widgets.md +139 -0
  41. package/storage/documents/generated/integration/04_blocs.md +45 -0
  42. package/storage/documents/generated/integration/05_balises.md +43 -0
  43. package/storage/documents/generated/integration/06_balises_globales.md +201 -0
  44. package/storage/documents/generated/integration/07_balises_widget.md +257 -0
  45. package/storage/documents/generated/integration/08_types_billets.md +154 -0
  46. package/storage/documents/generated/integration/09_types_produits.md +77 -0
  47. package/storage/documents/generated/integration/10_types_composants.md +142 -0
  48. package/storage/documents/generated/integration/11_symboles.md +156 -0
  49. package/storage/documents/generated/integration/12_mediatheque.md +66 -0
  50. package/storage/documents/generated/integration/13_includes.md +25 -0
  51. package/storage/documents/generated/integration/14_404.md +32 -0
  52. package/storage/documents/generated/integration/15_arianne.md +62 -0
  53. package/storage/documents/generated/integration/16_fermeture.md +36 -0
  54. package/storage/documents/generated/integration/17_recherche.md +36 -0
  55. package/storage/documents/generated/integration/18_cms.md +582 -0
  56. package/storage/documents/generated/integration/19_modules.md +479 -0
  57. package/storage/documents/generated/integration/20_blog.md +946 -0
  58. package/storage/documents/generated/integration/21_catalogue.md +1834 -0
  59. package/storage/documents/generated/integration/22_commandes.md +2772 -0
  60. package/storage/documents/generated/integration/23_comptes.md +1195 -0
  61. package/storage/documents/generated/integration/24_recherche.md +542 -0
  62. package/storage/documents/hors_sujet_regles.md +43 -0
  63. package/storage/documents/kiubi_api.md +6690 -0
  64. package/storage/documents/kiubi_ruleset.md +419 -0
  65. package/storage/documents/kiubi_workflows.md +121 -0
@@ -0,0 +1,418 @@
1
+ [
2
+ {
3
+ "name": "communication\/contact",
4
+ "label": "Formulaire de contact",
5
+ "category": "Modules",
6
+ "description": "Afficher le formulaire de contact.\nSi l'utilisateur ne rempli pas correctement tous les champs, le formulaire se r\u00e9affichera avec un message d'erreur indiquant quels champs sont manquants ou incorrects. Le formulaire sera pr\u00e9-rempli avec les informations pr\u00e9c\u00e9demment saisies.\nSi toutes les informations obligatoires ont \u00e9t\u00e9 saisies, un email sera envoy\u00e9 au destinataire et la page se rechargera et n'affichera plus le formulaire, mais seulement le message de confirmation.\n\nContrairement aux autres widgets, le Formulaire de contact est compos\u00e9 de 2 fichiers : \n\n- index.html : correspond au formulaire de contact \u00e0 proprement dit.\n- mail.html: correspond \u00e0 l'email (au format texte) envoy\u00e9.",
7
+ "basePath": "widgets\/communication\/contact\/index.html",
8
+ "templates": [
9
+ "widgets\/communication\/contact\/index.html"
10
+ ],
11
+ "blocks": {
12
+ "main": {
13
+ "description": "Bloc racine tout le temps affich\u00e9.",
14
+ "tags": {
15
+ "serial": "Identifiant unique du widget dans la page. Permet d'identifier de mani\u00e8re unique le widget dans la page.",
16
+ "widget_modele": "Nom du mod\u00e8le utilis\u00e9 par le widget (vide pour le mod\u00e8le de base)."
17
+ },
18
+ "children": {
19
+ "intitule": {
20
+ "description": "Ne s'affiche que si l'intitul\u00e9 du widget est rempli.",
21
+ "tags": {
22
+ "intitule": "Cet intitul\u00e9 est param\u00e9trable lors de l'\u00e9dition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi."
23
+ },
24
+ "children": []
25
+ },
26
+ "contact": {
27
+ "description": "Le bloc contient le formulaire de contact. Il s'affiche tant que le formulaire n'est pas valid\u00e9.",
28
+ "tags": [],
29
+ "children": {
30
+ "erreurs": {
31
+ "description": "Le contenu du bloc s'affiche s'il y a des erreurs \u00e0 la soumission du formulaire.",
32
+ "tags": {
33
+ "erreurs": "Affiche toutes les erreurs en une fois."
34
+ },
35
+ "children": []
36
+ }
37
+ }
38
+ },
39
+ "champ": {
40
+ "description": "Le contenu du bloc s'affiche pour chaque champ du formulaire de contact.",
41
+ "tags": {
42
+ "type": "Type du champ. Les valeurs possibles sont : \"text\", \"textarea\", \"chiffres\", \"lettres\", \"email\" et \"civilite\".",
43
+ "id": "Id du champ.",
44
+ "obligatoire": "Affiche obligatoire si le champ est d\u00e9sign\u00e9 comme tel. Sinon n'affiche rien.",
45
+ "intitule": "Intitul\u00e9 du champ.",
46
+ "compteur": "La balise affichera un compteur commen\u00e7ant \u00e0 1 et qui sera incr\u00e9ment\u00e9 de 1 \u00e0 chaque champ.",
47
+ "valeur": "Cette balise sert \u00e0 r\u00e9afficher la valeur pr\u00e9c\u00e9demment saisie dans le formulaire en cas d'erreur.",
48
+ "name": "Nom du champ dans le formulaire (attribut name de la balise input)"
49
+ },
50
+ "children": {
51
+ "obligatoire": {
52
+ "description": "Le contenu du bloc s'affiche si le champ est obligatoire.",
53
+ "tags": [],
54
+ "children": []
55
+ },
56
+ "text": {
57
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"texte\", \"que des chiffres\", \"que des lettres\", \"email\"",
58
+ "tags": [],
59
+ "children": []
60
+ },
61
+ "textarea": {
62
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"texte multiligne\"",
63
+ "tags": [],
64
+ "children": []
65
+ },
66
+ "civilite": {
67
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"civilite\"",
68
+ "tags": {
69
+ "checked_m": "Affiche checked=\"checked\" si la civilit\u00e9 \"M\" avait \u00e9t\u00e9 choisie. Sinon n'affiche rien.",
70
+ "checked_mme": "Affiche checked=\"checked\" si la civilit\u00e9 \"Mme\" avait \u00e9t\u00e9 choisie. Sinon n'affiche rien.",
71
+ "checked_mlle": "Affiche checked=\"checked\" si la civilit\u00e9 \"Mlle\" avait \u00e9t\u00e9 choisie. Sinon n'affiche rien."
72
+ },
73
+ "children": []
74
+ }
75
+ }
76
+ },
77
+ "message": {
78
+ "description": "Le contenu du bloc s'affiche \u00e0 la place du formulaire de contact (bloc \"contact\") si tous les \u00e9l\u00e9ments obligatoires ont bien \u00e9t\u00e9 fournis et que la demande de contact a \u00e9t\u00e9 envoy\u00e9e.",
79
+ "tags": {
80
+ "message": "Message de confirmation d'envoi de la demande de contact. Ce message est personnalisable dans \"Mon site \/ Communication \/ Formulaire de contact\"."
81
+ },
82
+ "children": []
83
+ }
84
+ }
85
+ }
86
+ }
87
+ },
88
+ {
89
+ "name": "communication\/contact",
90
+ "label": "Formulaire de contact : E-mail de confirmation",
91
+ "category": "Modules",
92
+ "description": "Template du mail envoy\u00e9 par le formulaire de contact",
93
+ "basePath": "widgets\/communication\/contact\/mail.html",
94
+ "templates": [
95
+ "widgets\/communication\/contact\/mail.html"
96
+ ],
97
+ "blocks": []
98
+ },
99
+ {
100
+ "name": "communication\/newsletter",
101
+ "label": "Newsletter",
102
+ "category": "Modules",
103
+ "description": "Affiche le formulaire d'inscription\/d\u00e9sinscription \u00e0 la newsletter.\nSeul l'email peut \u00eatre demand\u00e9. Si l'utilisateur ne remplit par correctement ce champ, le formulaire se r\u00e9affichera avec un message. Le formulaire sera aussi rempli avec les informations pr\u00e9c\u00e9demment saisies.\nSi toutes les informations obligatoires ont \u00e9t\u00e9 saisies, la page se rechargera et n'affichera plus le formulaire, mais seulement un message de confirmation.\nNote : **Kiubi ne permet pas d'envoyer des newsletters**. Seule l'inscription (ou la d\u00e9sinscription) est possible ainsi que l'export des abonn\u00e9s au format .xls.",
104
+ "basePath": "widgets\/communication\/newsletter\/index.html",
105
+ "templates": [
106
+ "widgets\/communication\/newsletter\/index.html"
107
+ ],
108
+ "blocks": {
109
+ "main": {
110
+ "description": "Bloc racine tout le temps affich\u00e9.",
111
+ "tags": {
112
+ "serial": "Identifiant unique du widget dans la page. Permet d'identifier de mani\u00e8re unique le widget dans la page.",
113
+ "widget_modele": "Nom du mod\u00e8le utilis\u00e9 par le widget (vide pour le mod\u00e8le de base)."
114
+ },
115
+ "children": {
116
+ "intitule": {
117
+ "description": "Ne s'affiche que si l'intitul\u00e9 du widget est rempli.",
118
+ "tags": {
119
+ "intitule": "Cet intitul\u00e9 est param\u00e9trable lors de l'\u00e9dition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi."
120
+ },
121
+ "children": []
122
+ },
123
+ "form": {
124
+ "description": "Le bloc contient le formulaire.",
125
+ "tags": {
126
+ "ctl": "Cette balise est pr\u00e9sente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilit\u00e9 technique, sans elle le formulaire ne fonctionnera pas.",
127
+ "email": "Cette balise sert \u00e0 r\u00e9afficher la valeur pr\u00e9c\u00e9demment saisie dans le formulaire en cas d'erreur.",
128
+ "checked_in": "Affiche checked=\"checked\" si l'utilisateur voulait s'inscrire. Sinon n'affiche rien.",
129
+ "checked_out": "Affiche checked=\"checked\" si l'utilisateur voulait se d\u00e9sinscrire. Sinon n'affiche rien."
130
+ },
131
+ "children": {
132
+ "erreur": {
133
+ "description": "Le contenu du bloc s'affiche en cas d'erreur dans l'inscription ou la d\u00e9sinscription. L'email de la personne peut \u00eatre invalide ou bien la personne cherche \u00e0 s'inscrire alors qu'elle est d\u00e9j\u00e0 inscrite.",
134
+ "tags": {
135
+ "erreur": "Message d'erreur. Ce message est personnalisable dans \"Mon site \/ Communication \/ Abonn\u00e9s \u00e0 la Newsletter\" (voir champs \"Si d\u00e9j\u00e0 inscrit\", \"Si pas encore inscrit\")."
136
+ },
137
+ "children": []
138
+ }
139
+ }
140
+ },
141
+ "validation": {
142
+ "description": "Le contenu du bloc s'affiche \u00e0 la place du formulaire (bloc \"form\") si le champ email a \u00e9t\u00e9 rempli et que l'inscription ou la d\u00e9sinscription s'est bien pass\u00e9e.",
143
+ "tags": {
144
+ "message": "Message de confirmation. Ce message est personnalisable dans \"Mon site \/ Communication \/ Abonn\u00e9s \u00e0 la Newsletter\" (voir champs \"Si inscription valid\u00e9e\", \"Si d\u00e9sinscription valid\u00e9e\")."
145
+ },
146
+ "children": []
147
+ }
148
+ }
149
+ }
150
+ }
151
+ },
152
+ {
153
+ "name": "communication\/syndication_blog",
154
+ "label": "Syndication",
155
+ "category": "Modules",
156
+ "description": "Affiche les liens vers les derniers billets du Blog sous forme de flux (RSS ou ATOM) et les int\u00e8gre dans la page pour \u00eatre reconnus automatiquement par les navigateurs.\nPar d\u00e9faut, seuls les liens du flux de la cat\u00e9gorie courante du Blog sont affich\u00e9s.",
157
+ "basePath": "widgets\/communication\/syndication_blog\/index.html",
158
+ "templates": [
159
+ "widgets\/communication\/syndication_blog\/index.html"
160
+ ],
161
+ "blocks": {
162
+ "main": {
163
+ "description": "Bloc racine tout le temps affich\u00e9.",
164
+ "tags": {
165
+ "serial": "Identifiant unique du widget dans la page. Permet d'identifier de mani\u00e8re unique le widget dans la page.",
166
+ "widget_modele": "Nom du mod\u00e8le utilis\u00e9 par le widget (vide pour le mod\u00e8le de base).",
167
+ "widget_format": "Affiche les format de flux s\u00e9l\u00e9ctionn\u00e9s s\u00e9par\u00e9s par un virgule (rss2.0 ou atom)"
168
+ },
169
+ "children": {
170
+ "intitule": {
171
+ "description": "Ne s'affiche que si l'intitul\u00e9 du widget est rempli.",
172
+ "tags": {
173
+ "intitule": "Cet intitul\u00e9 est param\u00e9trable lors de l'\u00e9dition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi."
174
+ },
175
+ "children": []
176
+ },
177
+ "flux": {
178
+ "description": "Le contenu du bloc s'affiche pour chaque flux.",
179
+ "tags": {
180
+ "lien_flux": "URL vers le flux de syndication.",
181
+ "intitule_flux": "Intitul\u00e9 du flux qui reprends le format du flux (\"ATOM\" ou \"RSS 2.0\")."
182
+ },
183
+ "children": []
184
+ },
185
+ "noflux": {
186
+ "description": "Le contenu du bloc s'affiche s'il n'y a aucun flux.",
187
+ "tags": [],
188
+ "children": []
189
+ }
190
+ }
191
+ }
192
+ }
193
+ },
194
+ {
195
+ "name": "communication\/formulaires",
196
+ "label": "Dismoi?",
197
+ "category": "Modules",
198
+ "description": "Afficher un formulaire dismoi. Dismoi? est le module de gestion de formulaires avanc\u00e9s.",
199
+ "basePath": "widgets\/communication\/formulaires\/index.html",
200
+ "templates": [
201
+ "widgets\/communication\/formulaires\/index.html"
202
+ ],
203
+ "blocks": {
204
+ "main": {
205
+ "description": "Bloc racine tout le temps affich\u00e9",
206
+ "tags": {
207
+ "form_id": "Identifiant unique du formulaire",
208
+ "serial": "Identifiant unique du widget dans la page. Permet d'identifier de mani\u00e8re unique le widget dans la page.",
209
+ "ctl": "Cette balise est pr\u00e9sente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilit\u00e9 technique, sans elle le formulaire ne fonctionnera pas.",
210
+ "jeton": "Cette balise est pr\u00e9sente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilit\u00e9 technique, sans elle le formulaire ne fonctionnera pas.",
211
+ "action": "Cette balise est pr\u00e9sente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilit\u00e9 technique, sans elle le formulaire ne fonctionnera pas.",
212
+ "widget_modele": "Nom du mod\u00e8le utilis\u00e9 par le widget (vide pour le mod\u00e8le de base).",
213
+ "widget_form_api": "Identifiant API Front-office du formulaire"
214
+ },
215
+ "children": {
216
+ "intitule": {
217
+ "description": "Ne s'affiche que si l'intitul\u00e9 du widget est rempli.",
218
+ "tags": {
219
+ "intitule_form": "Cet intitul\u00e9 est param\u00e9trable lors de l'\u00e9dition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi."
220
+ },
221
+ "children": []
222
+ },
223
+ "message": {
224
+ "description": "Ce bloc s'affiche apr\u00e8s la soumission du formulaire, si un message est renseign\u00e9",
225
+ "tags": {
226
+ "message": "Message de remerciement",
227
+ "alias_*": "Affiche la valeur d'un champ en fonction de son alias. Le nom de la balise est construit \u00e0 partir de l'alias qui est tranform\u00e9 en minuscule et dont tous les caract\u00e8res sp\u00e9caux ont \u00e9t\u00e9 filtr\u00e9s (cf filtre sanitize)"
228
+ },
229
+ "children": []
230
+ },
231
+ "form": {
232
+ "description": "Ce bloc s'affiche si le formulaire n'a pas \u00e9t\u00e9 soumis",
233
+ "tags": [],
234
+ "children": {
235
+ "fieldset": {
236
+ "description": "Ce bloc s'affiche pour chaque fieldset",
237
+ "tags": [],
238
+ "children": {
239
+ "debut_fieldset": {
240
+ "description": "Ce bloc s'affiche \u00e0 chaque d\u00e9but de fieldset.",
241
+ "tags": {
242
+ "legend": "Intitul\u00e9 du fieldset"
243
+ },
244
+ "children": []
245
+ },
246
+ "champ": {
247
+ "description": "Ce bloc s'affiche pour chaque champ du formulaire",
248
+ "tags": {
249
+ "compteur": "La balise affichera un compteur commen\u00e7ant \u00e0 1 et qui sera incr\u00e9ment\u00e9 de 1 \u00e0 chaque champ.",
250
+ "name": "Nom du champ dans le formulaire (attribut name de la balise input)",
251
+ "id": "Id du champ.",
252
+ "intitule": "Intitul\u00e9 du champ.",
253
+ "type": "Type du champ. Les valeurs possibles sont : \"text\", \"textarea\", \"chiffres\", \"lettres\", \"email\", \"checkbox\", \"select\", \"civilite\", \"date\", \"datetime\", \"radio\", \"departements\", \"regions\", \"pays\", \"hidden\".",
254
+ "alias": "Alias du champ.",
255
+ "obligatoire": "Affiche obligatoire si le champ est d\u00e9sign\u00e9 comme tel. Sinon n'affiche rien.",
256
+ "erreur": "La balise affichera 'erreur' si le champ est en erreur lors de la validation"
257
+ },
258
+ "children": {
259
+ "aide": {
260
+ "description": "Le contenu du bloc s'affiche si une aide textuelle pour le champ existe",
261
+ "tags": {
262
+ "aide": "Aide textuelle du champ"
263
+ },
264
+ "children": []
265
+ },
266
+ "checkbox": {
267
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"checkbox\"",
268
+ "tags": [],
269
+ "children": {
270
+ "option": {
271
+ "description": "Ce bloc s'affiche pour chaque valeur possible",
272
+ "tags": {
273
+ "checked": "Cette balise sert \u00e0 reselectionner la valeur pr\u00e9c\u00e9demment choisie dans le formulaire en cas d'erreur.",
274
+ "value": "Valeur du champ checkbox",
275
+ "label": "Label de la valeur"
276
+ },
277
+ "children": []
278
+ }
279
+ }
280
+ },
281
+ "radio": {
282
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"radio\"",
283
+ "tags": [],
284
+ "children": {
285
+ "option": {
286
+ "description": "Ce bloc s'affiche pour chaque valeur possible",
287
+ "tags": {
288
+ "checked": "Cette balise sert \u00e0 reselectionner la valeur pr\u00e9c\u00e9demment choisie dans le formulaire en cas d'erreur.",
289
+ "value": "Valeur du champ radio",
290
+ "label": "Label de la valeur"
291
+ },
292
+ "children": []
293
+ }
294
+ }
295
+ },
296
+ "civilite": {
297
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"civilite\"",
298
+ "tags": {
299
+ "checked_m": "Affiche checked=\"checked\" si la civilit\u00e9 \"M\" avait \u00e9t\u00e9 choisie. Sinon n'affiche rien.",
300
+ "checked_mme": "Affiche checked=\"checked\" si la civilit\u00e9 \"Mme\" avait \u00e9t\u00e9 choisie. Sinon n'affiche rien.",
301
+ "checked_mlle": "Affiche checked=\"checked\" si la civilit\u00e9 \"Mlle\" avait \u00e9t\u00e9 choisie. Sinon n'affiche rien."
302
+ },
303
+ "children": []
304
+ },
305
+ "text": {
306
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"text\", \"chiffres\", \"lettres\" ou \"email\"",
307
+ "tags": {
308
+ "valeur": "Valeur du champ texte"
309
+ },
310
+ "children": []
311
+ },
312
+ "textarea": {
313
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"textarea\"",
314
+ "tags": {
315
+ "valeur": "Valeur du champ textearea"
316
+ },
317
+ "children": []
318
+ },
319
+ "date": {
320
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"date\"",
321
+ "tags": {
322
+ "valeur": "Valeur du champ date"
323
+ },
324
+ "children": []
325
+ },
326
+ "datetime": {
327
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"date et heure\"",
328
+ "tags": {
329
+ "valeur": "Valeur du champ datetime"
330
+ },
331
+ "children": []
332
+ },
333
+ "upload": {
334
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"upload\"",
335
+ "tags": [],
336
+ "children": []
337
+ },
338
+ "select": {
339
+ "description": "Le contenu du bloc s'affiche si le champ est de type \"select\"",
340
+ "tags": [],
341
+ "children": {
342
+ "option": {
343
+ "description": "Ce bloc s'affiche pour chaque valeur possible",
344
+ "tags": {
345
+ "checked": "Cette balise sert \u00e0 reselectionner la valeur pr\u00e9c\u00e9demment choisie dans le formulaire en cas d'erreur.",
346
+ "selected": "Cette balise sert \u00e0 reselectionner la valeur pr\u00e9c\u00e9demment choisie dans le formulaire en cas d'erreur.",
347
+ "value": "Cette balise sert \u00e0 r\u00e9afficher la valeur pr\u00e9c\u00e9demment saisie dans le formulaire en cas d'erreur.",
348
+ "label": "Label de la valeur"
349
+ },
350
+ "children": []
351
+ }
352
+ }
353
+ },
354
+ "obligatoire": {
355
+ "description": "Ce bloc s'affiche si le champ est obligatoire",
356
+ "tags": [],
357
+ "children": []
358
+ }
359
+ }
360
+ },
361
+ "fin_fieldset": {
362
+ "description": "Ce bloc s'affiche \u00e0 chaque fin de fieldset.",
363
+ "tags": [],
364
+ "children": []
365
+ }
366
+ }
367
+ },
368
+ "hidden": {
369
+ "description": "Le contenu du bloc s'affiche pour chaque de type \"cach\u00e9\".",
370
+ "tags": {
371
+ "name": "Nom du champ dans le formulaire (attribut name de la balise input)",
372
+ "valeur": "Valeur du champ cach\u00e9"
373
+ },
374
+ "children": []
375
+ },
376
+ "erreurs": {
377
+ "description": "Ce bloc s'affiche si le formulaire contient des erreurs",
378
+ "tags": {
379
+ "erreurs": "Erreur(s) rencontr\u00e9e(s)"
380
+ },
381
+ "children": []
382
+ },
383
+ "captcha": {
384
+ "description": "Ce bloc s'affiche si le formulaire est prot\u00e9g\u00e9 par un captcha",
385
+ "tags": {
386
+ "captcha_question": "Question du captcha",
387
+ "captcha_id": "Jeton du captcha",
388
+ "erreur": "La balise affichera 'erreur' si le champ est en erreur lors de la validation"
389
+ },
390
+ "children": []
391
+ },
392
+ "consentement": {
393
+ "description": "Ce bloc s'affiche si le recueilement du consentement est activ\u00e9.",
394
+ "tags": {
395
+ "finalites": "Affiche les traitements et finalit\u00e9 de la collecte des donn\u00e9es personnelles.",
396
+ "check_consentement": "Renvoi checked=\"checked\" pour accepter le recueil des donn\u00e9es.",
397
+ "erreur": "La balise affichera 'erreur' si le champ est en erreur lors de la validation"
398
+ },
399
+ "children": []
400
+ }
401
+ }
402
+ }
403
+ }
404
+ }
405
+ }
406
+ },
407
+ {
408
+ "name": "communication\/formulaires",
409
+ "label": "Dismoi? : E-mail de confirmation",
410
+ "category": "Modules",
411
+ "description": "Template du mail envoy\u00e9 par le formulaire dismoi.",
412
+ "basePath": "widgets\/communication\/formulaires\/mail.html",
413
+ "templates": [
414
+ "widgets\/communication\/formulaires\/mail.html"
415
+ ],
416
+ "blocks": []
417
+ }
418
+ ]