@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,77 @@
1
+ ## Types des produits
2
+
3
+ Un type de produit fonctionne comme un type de billet mais est adapté à votre
4
+ catalogue produit. Lors de l'ouverture d'un site, Kiubi vous propose par défaut
5
+ un seul type de produit.
6
+
7
+ Chaque type de produit peut être structuré de manière différente et permet
8
+ d'intégrer et de présenter du contenu suivant ses besoins. Contrairement aux
9
+ différents types de billet nécessaires au Site Web, il est plus rarement utile
10
+ de multiplier les types de produit, un seul type (proposé par défaut) étant bien
11
+ souvent suffisant.
12
+
13
+ **Si vous utilisez un thème graphique personnalisé, vous pouvez modifier le type de produit par défaut et créer des nouveaux types de produit.**
14
+
15
+ ### Principe de fonctionnement
16
+
17
+ Le principe de fonctionnement d'un type de produit du Catalogue est très simple.
18
+ Tous les types de produits de votre site sont regroupés dans le répertoire
19
+ `theme/fr/produits/` de votre espace FTP. Chaque sous-répertoire correspond à
20
+ un type de produit.
21
+
22
+ Un produit peut être composé, en plus d'une structure HTML de votre choix et des
23
+ informations spécifiques à un produit (intitulé, chapô, description, variantes,
24
+ illustration, ...), d'un maximum de 15 champs d'information supplémentaires (qui
25
+ ne sont pas utilisés dans le type de produit par défaut proposé par Kiubi) :
26
+
27
+ - `texte1` à `texte15`
28
+
29
+ Chaque champ peut contenir n'importe quel type de donnée. Par convention (mais
30
+ ce n'est pas obligatoire), les champs `texte10` à `texte15` sont utilisés pour
31
+ stocker des éléments de la médiathèque (image, fichier, etc.), plus précisément
32
+ l'identifiant faisant référence à l'élément de la médiathèque.
33
+
34
+ Ces champs sont à définir, au besoin, dans le fichier `config.xml` de chaque
35
+ type de produit, ce qui permet de générer et d'ajouter automatiquement le
36
+ formulaire de saisie correspondant lors de l'édition d'un produit dans la
37
+ console d'administration. **Ce fichier est obligatoire.**
38
+
39
+ Chaque champ pourrait être par la suite affiché dans le fichier `index.html`
40
+ de chaque type produit ou dans chaque widget affichant des produits, en fonction
41
+ de ses besoins. **Ce fichier est obligatoire.**
42
+
43
+ Un fichier _styles.css_ peut être ajouté afin de contrôler la mise en forme du
44
+ widget `Détail d'un produit`. Ce fichier est automatiquement chargé dans la
45
+ balise `<head>` si le widget est présent dans la page. **Ce fichier n'est pas
46
+ obligatoire.**
47
+
48
+ **Comme tous les éléments de Kiubi, un produit (ou une liste de produit) est affiché grâce à un widget. Ce sont
49
+ principalement certains widgets du service** `Catalogue` **qui sont utilisés pour afficher des produits.**
50
+
51
+ **Le fichier index.html (et styles.css) est exclusivement utilisé par le widget Détail d'un produit.**
52
+
53
+ ### Le fichier `config.xml`
54
+
55
+ Ce fichier contient des informations descriptives du type de produit qui seront
56
+ utilisée à la fois dans la console d'administration et le site Internet. Il
57
+ indique à Kiubi de quels champs d'information supplémentaires est composé le
58
+ type de produit. **Ces champs d'information supplémentaires sont facultatifs.**
59
+
60
+ Le fichier `config.xml` d'un type de produit fonctionne de la même manière que le fichier `config.xml` d'un type de billet.
61
+
62
+
63
+ ### Template d'un type de produit
64
+
65
+ Le fonctionnement détaillé du template d'un type de produit ainsi que la liste
66
+ exhaustives de ses balises sont accessibles dans la [documentation des balises du
67
+ service Catalogue](/design-catalogue.html#detail-d-un-produit).
68
+
69
+ ### Ajouter un nouveau type de produit
70
+
71
+ Pour ajouter un type de produit, il suffit de créer un nouveau sous-répertoire
72
+ au répertoire `theme/fr/produits` et d'y copier les fichiers `config.xml` et
73
+ `index.html` (et `styles.css`) correspondant à votre nouveau type
74
+ de produit. Le nouveau type de produit sera alors automatiquement proposé dans
75
+ le service Catalogue de la console d'administration.
76
+
77
+
@@ -0,0 +1,142 @@
1
+ ## Type de composant
2
+
3
+ Un composant permet d'ajouter du contenu à une page ou un symbole du Site web. A
4
+ la différence du billet, un composant inclu une liste d'un ou plusieurs éléments
5
+ appellée "collection".
6
+
7
+ Un type de composant fonctionne un peu comme un type de billet : il défini un template
8
+ ainsi qu'une liste de champs disponibles. Lors de l'ouverture d'un site, Kiubi vous
9
+ propose par défaut un ensemble de composants.
10
+
11
+ **Si vous utilisez un thème graphique personnalisé, vous pouvez modifier les types de
12
+ composant par défaut et créer des nouveaux types de composant.**
13
+
14
+ ### Principe de fonctionnement
15
+
16
+ Tous les types de composants de votre site sont regroupés dans le répertoire
17
+ `theme/fr/composants/` de votre espace FTP. Chaque sous-répertoire correspond à
18
+ un type de composant.
19
+
20
+ Un composant est composé, en plus d'une structure HTML de votre choix et d'un fichier
21
+ de configuration indiquant les champs spécifiques du composant et ceux de leur collection.
22
+ A la différence des types de billets, les noms des champs sont personnalisables.
23
+
24
+ Ces champs sont à définir, au besoin, dans le fichier `config.xml` de chaque
25
+ type de composant, ce qui permet de générer et d'ajouter automatiquement le
26
+ formulaire de saisie correspondant lors de l'édition d'un composant et des éléments
27
+ de sa collection dans la console d'administration. **Ce fichier est obligatoire.**
28
+
29
+ Chaque champ pourrait être par la suite affiché dans le fichier `index.html`
30
+ de chaque type de composant ou dans chaque widget affichant des composants, en fonction
31
+ de ses besoins. **Ce fichier est obligatoire.**
32
+
33
+ **Comme tous les éléments de Kiubi, un composant (ou une liste de composant) est affiché
34
+ grâce au widget "Contenu" du service `Site web`.**
35
+
36
+ ### Le fichier `config.xml`
37
+
38
+ Ce fichier contient des informations descriptives du type de billet qui seront
39
+ utilisée à la fois dans la console d'administration et le site Internet. Il
40
+ indique à Kiubi de quels champs est composé le type de billet.
41
+
42
+ #### Exemple de code source
43
+
44
+ <?xml version="1.0" encoding="iso-8859-1"?>
45
+ <composant intitule="Mon composant" tri="3">
46
+ <listechamps>
47
+ <champ champ="title" intitule="Titre" type="text" />
48
+ <champ champ="extra_class" intitule="Xtra" type="text" defaut="container-large" aide="Classe supplémentaire"/>
49
+ </listechamps>
50
+ <collection>
51
+ <champ champ="title" intitule="Titre" type="text" />
52
+ <champ champ="image" intitule="Illustration" type="image" aide="Au format 4/3"/>
53
+ <champ champ="description" intitule="Titre" type="wysiwyg" />
54
+ </collection>
55
+ </composant>
56
+
57
+ #### Description
58
+
59
+ Ce fichier contient une seule balise principale `<composant>` qui possède deux
60
+ attributs :
61
+
62
+ - `tri` : nombre qui sert à définir l'ordre dans le quel vont apparaître les
63
+ types de composants dans les listes déroulantes de la console d'administration.
64
+ - `intitule` : description du type de composant dans les listes déroulantes de
65
+ la console d'administration.
66
+
67
+ La balise `<listechamps>` sert à déclarer tous les champs qui seront utilisés dans
68
+ ce composant. Il est possible de déclarer jusqu'à 20 champs en plus du champ
69
+ obligatoire `title`.
70
+
71
+ Il existe alors une balise `<champ>` par champ qui contient les attributs suivants :
72
+
73
+ - `champ` : code du champ personnalisable qui sera aussi utilisé dans les templates. Limité
74
+ à 40 caractères alphanumériques non accentués et "_".
75
+ - `type` : le type du champ indique quelle sorte d'information est stockée dans
76
+ le champ.
77
+ - `intitule` : intitulé du champ qui va être repris dans la console
78
+ d'administration dans le formulaire de saisie d'un billet.
79
+ - `defaut` : valeur par défaut qui sera utilisée dans le site si le champ est vide dans la
80
+ console d'administration.
81
+ - `aide` : message d'aide à la saisie qui sera affiché dans la console d'administration.
82
+
83
+ Il existe dix types de champ :
84
+
85
+ - `text` : champ de saisie simple
86
+ - `textarea` : champ de saisie multiligne
87
+ - `wysiwyg` : éditeur de texte visuel
88
+ - `image` : fichier image de la médiathèque
89
+ - `fichier` : fichier quelconque de la médiathèque
90
+ - `select` : champ de liste déroulante
91
+ - `color` : couleur hexadécimale
92
+ - `date` : date au format `dd/mm/YYYY`
93
+ - `datetime` : date au format `dd/mm/YYYY hh:mm:ss`
94
+ - `checkbox` : champ de type case à cocher
95
+
96
+ Les champs de type `select` ou `checkbox` comportent une liste de valeurs qui est construite
97
+ de la manière suivante :
98
+
99
+ <champ champ="texte2" type="select" intitule="Liste">
100
+ <option value="Valeur1">Label1</option>
101
+ <option value="Valeur2">Label2</option>
102
+ <option value="Valeur3">Label3</option>
103
+ </champ>
104
+
105
+ Dans cet exemple, le contenu de l'attribut `value` est stocké dans le champ `texte2`.
106
+ L'attribut `value` **est obligatoire** (il peut cependant être vide `value=""`). Le label n'est affiché que
107
+ dans le détail du billet dans la console d'administration. Pour les champs de type `checkbox`, la valeur affichée dans
108
+ le site est la concanénation de toutes les `value` sélectionnées, séparées par le caractère `|` (par exemple
109
+ `Valeur1|Valeur3`).
110
+
111
+ Afin de faciliter l'utilisation des champs de type `date` et `datetime`, il est prévu d'utiliser le filtre `date` suivi
112
+ de l'information à extraire, comme par exemple :
113
+
114
+ Le {texte5|date|jour_semaine} {texte5|date|num_jour} {texte5|date|mois} à {texte5|date|heure}h{texte5|date|minute}
115
+
116
+ Si `texte5` contient la valeur `06/12/2022 15:12:35`, le site affichera :
117
+
118
+ Le dimanche 06 novembre 2022 à 15h12
119
+
120
+ Si la date est invalide ou que le valeur du champ est vide, ce filtre affiche toujours une chaine vide.
121
+
122
+
123
+ La balise facultative `<collection>` sert à déclarer tous les champs qui seront utilisés dans la collection
124
+ de ce composant. Son fonctionnement est identique à la balise `<listechamps>`. Si la balise n'est pas déclarée
125
+ dans le fichier `config.xml`, on considère que ce composant n'a pas de collection.
126
+
127
+
128
+ ### Template d'un type de composant
129
+
130
+ Le fonctionnement détaillé du template d'un type de composant ainsi que la liste
131
+ exhaustives de ses balises sont accessibles dans la [documentation des balises du
132
+ service Site web](/design-site-web.html#composant).
133
+
134
+ ### Ajouter un nouveau type de composant
135
+
136
+ Pour ajouter un type de composant, il suffit de créer un nouveau sous-répertoire
137
+ au répertoire `theme/fr/composants` et d'y copier les fichiers `config.xml` et
138
+ `index.html` correspondant à votre nouveau type de composant. Le nouveau type de
139
+ composant sera alors automatiquement proposé dans le service Site web de la console
140
+ d'administration.
141
+
142
+
@@ -0,0 +1,156 @@
1
+ ## Symboles
2
+
3
+ Un symbole est une fraction de contenu centralisée et indépendante qui possède sa propre
4
+ mise en page et qui peux être inséré dans le contenu de plusieurs pages.
5
+
6
+ Chaque symbole possède un type qui va déterminer ses paramètres, sa mise en page et sa
7
+ structure HTML. Le type de symbole partage beaucoup de caractéristiques communes avec
8
+ les templates principaux.
9
+
10
+ **Si vous utilisez un thème graphique personnalisé, vous pouvez modifier et créer de types de symboles.**
11
+
12
+ ### Paramètres d'un type de symbole
13
+
14
+ Une fois connecté à votre espace FTP, tous les types de symboles sont
15
+ regroupés dans le répertoire `theme/fr/symboles/`. Chacun de ces sous-
16
+ répertoires est un type. Un template contient les fichiers
17
+ suivants :
18
+
19
+ - `desc.xml` : permet de décrire le type et déclarer les
20
+ zones. **Ce fichier est obligatoire**
21
+ - `index.html` : contient le code HTML du type. **Ce fichier
22
+ est obligatoire**
23
+ - `structure.xhtml` : permet de définir la structure du type
24
+ utilisée dans l'édition d'une page type. Ce fichier n'a aucun lien avec le rendu
25
+ du site internet et n'est utilisé que pour la console d'administration. **Ce
26
+ fichier est obligatoire**
27
+
28
+ ### Le fichier `desc.xml`
29
+
30
+ Ce fichier contient des informations descriptives du type. Il
31
+ permet principalement de déclarer les zones dans lesquelles pourront
32
+ être insérés des Widgets.
33
+
34
+ #### Exemple de code source
35
+
36
+ <?xml version="1.0" encoding="iso-8859-1"?>
37
+ <symbole intitule="3 colonnes" tri="2">
38
+ <listechamps>
39
+ <champ champ="title" type="text" />
40
+ <champ champ="extra_class" type="text" defaut="container-large" aide="Classe supplémentaire" />
41
+ </listechamps>
42
+ <zones defaut="center">
43
+ <zone id="left" colmax="1" intitule="Gauche" defaut="1" type="contenu" />
44
+ <zone id="center" colmax="1" intitule="Centre" defaut="1" type="contenu" />
45
+ <zone id="right" colmax="1" intitule="Droit" defaut="1" type="contenu" />
46
+ </zones>
47
+ </symbole>
48
+
49
+ #### Description
50
+
51
+ Ce fichier contient une seule balise principale `<symbole>` qui possède 2 attributs :
52
+
53
+ - `tri` : nombre qui sert à définir l'ordre dans le quel vont apparaître les
54
+ types de symbole dans les listes déroulantes de la console d'administration.
55
+ - `intitule` : intitule du template qui est utilisé dans la
56
+ console d'administration
57
+
58
+ A l'intérieur, nous avons une seule balise `<zones>` qui contient tout un ensemble
59
+ de balises `<zone>`. L'attribut `defaut` permet de désigner la zone dans laquelle
60
+ sera placé par défaut tous les contenus ajoutés dans le symbole. La zone désignée est
61
+ alors automatiquement considéré comme étant de type "contenu".
62
+
63
+ La balise `<zone>` sert à déclarer une zone où vont pouvoir
64
+ être inséré les Widgets. **L'id des zones devra être repris dans les fichiers
65
+ `structure.xhtml` et `index.html`.**.
66
+
67
+ Elles contiennent les attributs
68
+ suivants :
69
+
70
+ - `id` : code alphanumérique qui sera réutilisé pour identifié la zone dans les
71
+ fichiers `index.html` et `structure.xhtml`.
72
+ - `colmax` : nombre maximum de colonnes des blocs de présentation qui peuvent
73
+ être insérés dans cette zone (de 1 à 3). Les colonnes correspondant sont gérées
74
+ via les fichiers du répertoire `theme/fr/layouts/`
75
+ - `intitule` : intitulé de la zone qui sera repris dans la console
76
+ d'administration dans l'édition d'une page type.
77
+ - `defaut` : nombre de colonnes des blocs de présentation insérées par défaut
78
+ dans la zone.
79
+ - `type` : si la valeur est "contenu", la zone pourra accepter des billets et
80
+ des composants dans la console d'administration.
81
+
82
+ La balise `<listechamps>` sert à déclarer tous les champs qui seront utilisés dans
83
+ ce symbole. Il est possible de déclarer jusqu'à 20 champs en plus du champ
84
+ obligatoire `title`. Le fonctionnement est le même que pour un composant.
85
+
86
+ ### Le fichier `structure.xhml`
87
+
88
+ Ce fichier est une représentation schématique de la disposition des zones dans
89
+ le template (les zones déclarées dans le fichier `desc.xml`).
90
+ Il est utilisé pour générer la page d'édition de la mise en page du symbole dans
91
+ la console d'administration. Il n'est en aucun cas utilisé pour effectuer un
92
+ rendu du site Internet.
93
+
94
+ #### Exemple de code source
95
+
96
+ <table>
97
+ <tr>
98
+ <td colspan="2">{entete}</td>
99
+ </tr>
100
+ <tr>
101
+ <td colspan="2">{menu}</td>
102
+ </tr>
103
+ <tr>
104
+ <td width="30%">{sidebar}</td>
105
+ <td>{contenu}</td>
106
+ </tr>
107
+ <tr>
108
+ <td colspan="2">{piedepage}</td>
109
+ </tr>
110
+ </table>
111
+
112
+ #### Description
113
+
114
+ Les zones sont appelées directement en mettant leurs ID entre accolade.
115
+
116
+ **Il est obligatoire d'utiliser un code HTML simple, sans script ni style. Seules les balises TABLE, TD et TR sont autorisées.**
117
+
118
+ ### Le fichier `index.html`
119
+
120
+ Alors que le fichier `structure.xhtml` est une vue abstraite de la page
121
+ utilisée seulement dans la console d'administration, le fichier `index.html`
122
+ contient le code HTML concret du template qui sera affiché dans le
123
+ site Internet.
124
+
125
+ #### Exemple de code source
126
+
127
+ ```
128
+ <!-- BEGIN:main -->
129
+ <div class="container {extra_class}">
130
+
131
+ <h3>{title}</h3>
132
+
133
+ <div class="row">
134
+ <span class="col-4">{ZONE.left}</span>
135
+ <span class="col-4">{ZONE.center}</span>
136
+ <span class="col-4">{ZONE.right}</span>
137
+ </div>
138
+
139
+ </div>
140
+ <!-- END:main -->
141
+ ```
142
+
143
+
144
+ #### Description
145
+
146
+ Les balises `{ZONE.*}` servent à indiquer où insérer les Widgets. Les noms des
147
+ zones sont déclarés dans le fichier `desc.xml`.
148
+
149
+ ### Ajouter un nouveau modèle de symbole
150
+
151
+ Pour ajouter un nouveau modèle de symbole, il suffit de créer un nouveau
152
+ sous-répertoire au répertoire `theme/fr/symboles/` et d'y copier tous les
153
+ fichiers correspondant à votre nouveau symbole. Il sera alors automatiquement
154
+ proposé dans l'édition d'un symbole de la console d'administration.
155
+
156
+
@@ -0,0 +1,66 @@
1
+ ## Médiathèque
2
+
3
+ La Médiathèque de Kiubi permet de gérer les fichiers (images, documents textes,
4
+ pdf, sons, vidéos...) que vous allez utiliser pour enrichir le contenu d'un
5
+ site. Vous pouvez publier des fichiers **de moins de 7Mo** directement
6
+ dans la Médiathèque en passant par la console d'administration. Pour des fichiers **de plus de 7Mo**,
7
+ vous devez les publier dans votre espace FTP, dans le répertoire `mediatheque`.
8
+
9
+ ### Accéder à un fichier de la Médiathèque
10
+
11
+ Tous les fichiers publiés dans la Médiathèque sont stockés dans le répertoire
12
+ virtuel `media` et sont identifiés par un numéro identifiant qui leur est
13
+ propre. Un fichier de la Médiathèque sera donc accessible à l'adresse :
14
+
15
+ http://nom_de_domaine/media/numero_identifiant
16
+
17
+ Généralement, le numéro identifiant est ajouté automatiquement si le fichier est
18
+ inséré directement via la Médiathèque dans une zone de mise en forme de texte ("Wysisyg") ou
19
+ dans un champ d'information de type `image` ou `fichier`.
20
+
21
+ L'adresse d'un fichier est cependant toujours redirigée vers :
22
+
23
+ http://nom_de_domaine/media/numero_identifiant/nom_du_fichier.extention_du_fichier
24
+
25
+ Sauf si elle est de la forme :
26
+
27
+ http://nom_de_domaine/media/numero_identifiant.extention_du_fichier
28
+
29
+ ### Exemple de redirection
30
+
31
+ L'adresse d'un fichier :
32
+
33
+ http://nom_de_domaine/media/402
34
+
35
+ Sera redirigée vers :
36
+
37
+ http://nom_de_domaine/media/402/mon_fichier.pdf
38
+
39
+ Mais il n'y aura pas de redirection si elle est de la forme :
40
+
41
+ http://nom_de_domaine/media/402.pdf
42
+
43
+
44
+ ### Traitement automatique des images
45
+
46
+ Kiubi permet de générer automatiquement 4 tailles différentes en plus de la
47
+ taille d'origine d'une image publiée dans la Médiathèque. Ces tailles sont
48
+ configurables dans les Paramètres de la médiathèque des Préférences de la console d'administration :
49
+
50
+ - grande vignette, par défaut configurée en 1140px par 1140px
51
+ - vignette, par défaut configurée en 480px par 480px
52
+ - grande miniature, par défaut configurée en 240px par 240px
53
+ - miniature, par défaut configurée en 120px par 120px
54
+
55
+ Ces différentes tailles d'images sont accessibles aux adresses :
56
+
57
+ http://nom_de_domaine/media/g_vignette/numero_identifiant
58
+ http://nom_de_domaine/media/vignette/numero_identifiant
59
+ http://nom_de_domaine/media/g_miniature/numero_identifiant
60
+ http://nom_de_domaine/media/miniature/numero_identifiant
61
+
62
+ La taille d'origine de l'image restant accessible à l'adresse :
63
+
64
+ http://nom_de_domaine/media/numero_identifiant
65
+
66
+
@@ -0,0 +1,25 @@
1
+ ## Includes
2
+
3
+ Un include permet d'inclure le contenu d'un fichier HTML dans n'importe quel
4
+ autre tempalte.
5
+
6
+ ### Principe de fonctionnement
7
+
8
+ Pour utiliser un include, il suffit d'indiquer le chemin du fichier que vous
9
+ voulez inclure sous la forme :
10
+
11
+ {FILE "/fr/includes/date.html"}
12
+
13
+ Tous les includes de Kiubi sont regroupés dans le répertoire `/theme/fr/includes/`.
14
+ Un include est généralement utilisé pour inclure à différents endroits des bouts
15
+ de code qui reviennent de manière récurrente.
16
+
17
+ Par exemple, dans les modèles de mise en pages de Kiubi, le copyright en bas de
18
+ page est inclus grâce à la balise :
19
+
20
+ {FILE "/fr/includes/copyright.html"}
21
+
22
+ Le widget Fragment de template permet d'ajouter des includes directement via la gestion de la mise en page de la console
23
+ d'administration de Kiubi, sans passer par l'édition d'un template principal.
24
+
25
+
@@ -0,0 +1,32 @@
1
+ ## Page d'erreur 404
2
+
3
+ La page d'erreur 404 est la page qui est affichée si une adresse erronée de
4
+ votre site est demandée.
5
+
6
+ #### Répertoire
7
+
8
+ <pre class="path">
9
+ <span style="color:#bbb">theme/fr/</span>modules/404/404.html
10
+ </pre>
11
+
12
+ #### Exemple du code source
13
+
14
+ <!DOCTYPE html>
15
+ <html>
16
+ <head>
17
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
18
+ <meta name="keywords" content="{metaKeywords}">
19
+ <title>{site_nom} | Erreur 404, cette page n'existe pas !</title>
20
+ </head>
21
+ <body>
22
+ <h1>Erreur 404, cette page n'existe pas !
23
+ <br />
24
+ <a href="{racine}/" title="Retour au site">Retour au site</a></h1>
25
+ </body>
26
+ </html>
27
+
28
+ #### Balises disponibles
29
+
30
+ Toutes les balises globales sont disponibles.
31
+
32
+
@@ -0,0 +1,62 @@
1
+ ## Fil d'Ariane
2
+
3
+ Le chemin de navigation, ou fil d'Ariane, est une aide à la navigation sous
4
+ forme de signalisation de la localisation de l'internaute dans le site Internet.
5
+ Il se présente généralement sous la forme :
6
+
7
+ Accueil / Catalogue / Nom de la catégorie / Nom du produit
8
+
9
+ Le chemin de navigation est construit automatiquement par Kiubi, les intitulés
10
+ des éléments qu'il affiche ne sont donc pas tous personnalisables. Chaque
11
+ service aura son propre intitulé :
12
+
13
+ - Site web : Accueil / Nom de la page
14
+ - Blog : Accueil / Blog / Nom de la catégorie
15
+ - Catalogue : Accueil / Catalogue / Nom de la catégorie / Nom du produit
16
+ - E-commerce : Accueil / Etape de la commande
17
+ - Gestion de comptes : Accueil / Gestion de comptes
18
+ - Contact : Accueil / Contact
19
+
20
+ L'intitulé et l'adresse du Blog et du Catalogue dans le fil d'arianne sont personnalisables dans les Préférences de la console d'administration.
21
+
22
+ Par défaut, ce module est affiché via l'include `{FILE "/fr/includes/chemin.html"}`
23
+ dans les templates principaux du site.
24
+
25
+ **Cet include contient la balise** `{MODULE.cms/chemin}` **utilisée pour appeler le module**.
26
+
27
+ #### Répertoire
28
+
29
+ <pre class="path">
30
+ <span style="color:#bbb">theme/fr/</span>modules/chemin/index.html
31
+ </pre>
32
+
33
+ #### Exemple du code source
34
+
35
+ <a href="{baseLangue}/" title="Accueil">Accueil</a> /
36
+ <!-- BEGIN:page -->
37
+ <a href="{lien}" title="{page}" target="{cible}">{page}</a>
38
+ <!-- BEGIN:separateur --> / <!-- END:separateur -->
39
+ <!-- END:page-->
40
+
41
+ #### Balises disponibles
42
+
43
+ #### Arborescence des blocs
44
+
45
+ ```
46
+ └── main // Bloc racine tout le temps affiché.
47
+ └── page // Le contenu du bloc s'affiche pour chaque page du chemin.
48
+ └── separateur // Le contenu du bloc s'affiche tout le temps sauf pour la dernière page du chemin
49
+ ```
50
+ #### Balises
51
+
52
+ Bloc|Balise|Description
53
+ ---|---|---
54
+ | page | page | Intitulé de la page. |
55
+ | page | cible | Cible du lien (attribut target). |
56
+ | page | lien | URL du lien vers la page correspondante. |
57
+ | page | type | Type de la page. Affiche page pour une page libre, lien_ext pour un lien externe, lien_int pour un lien interne et ne renvoie aucune valeur pour un séparateur. |
58
+ | page | compteur | La balise affiche un compteur commençant à 1 et qui est incrémenté de 1 à chaque page. |
59
+
60
+
61
+
62
+
@@ -0,0 +1,36 @@
1
+ ## Page de fermeture
2
+
3
+ La page de fermeture est la page qui est affichée si le site est fermé :
4
+
5
+ - par manque de crédit
6
+ - volontairement via les Préférences de la console d'administration
7
+ - pendant les périodes de maintenance de la plateforme
8
+
9
+ #### Répertoire
10
+
11
+ <pre class="path">
12
+ <span style="color:#bbb">theme/fr/</span>modules/fermeture/fermeture.html
13
+ </pre>
14
+
15
+ #### Exemple du code source
16
+
17
+ <!DOCTYPE html>
18
+ <html>
19
+ <head>
20
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
21
+ <meta name="keywords" content="{metaKeywords}">
22
+ <title>{site_nom} est actuellement ferm&eacute; !</title>
23
+ </head>
24
+ <body>
25
+ <h1>{site_nom} est actuellement fermé !</h1>
26
+ <a href="{acces_front}">Acc&eacute;der au site</a>
27
+ </body>
28
+ </html>
29
+
30
+ #### Balises disponibles
31
+
32
+ Toutes les balises globales sont disponibles, en plus de la balise `{acces_front}`
33
+ qui affiche le lien vers le formulaire d'identification permettant l'accès aux
34
+ sites de démonstrations ou protégés par login/mot de passe.
35
+
36
+
@@ -0,0 +1,36 @@
1
+ ## Moteur de recherche
2
+
3
+ Il est possible d'intégrer un moteur de recherche dans un template principal (ou via un include).
4
+
5
+ <div id="search">
6
+ <form action="{baseLangue}/recherche/{service}/" method="get">
7
+ <table border="0" cellspacing="0" cellpadding="0"><tr>
8
+ <td><input type="text"></td>
9
+ <td><input type="submit" value=""></td>
10
+ </tr></table>
11
+ </form>
12
+ </div>
13
+
14
+ Le moteur de recherche, à ne pas confondre avec les résultats d'une recherche
15
+ (le Widget Recherche simple), permet d'effectuer une recherche dans le
16
+ service en cours dans le site Internet. En effet, Kiubi étant multiservices, le
17
+ moteur de recherche ne peut pas faire de recherche dans l'intégralité du site
18
+ Internet (contenu rédactionnel, blog et catalogue simultanément). La recherche
19
+ ne s'effectuera que dans le service actuellement visité par l'internaute.
20
+
21
+ Exemple : si l'internaute visite le blog et qu'il effectue une recherche, la
22
+ recherche ne sera effectuée que dans le contenu du blog. Il en va de même pour
23
+ le catalogue de produit et pour le contenu rédactionnel.
24
+
25
+ La balise `{service}` permet de définir automatiquement le service en cours. Il
26
+ est cependant possible de forcer une recherche dans un service particulier en
27
+ remplaçant la balise `{service}` par le service concerné :
28
+
29
+ - `cms` pour le Site web.
30
+ - `blog` pour le Blog.
31
+ - `catalogue` pour le Catalogue.
32
+
33
+ Le paramètre `name` du champ de recherche doit impérativement avoir `r` pour
34
+ valeur.
35
+
36
+