@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.
- package/LICENSE +15 -0
- package/README.md +219 -0
- package/package.json +57 -0
- package/src/app.ts +39 -0
- package/src/index.ts +21 -0
- package/src/lib/stemmer.ts +38 -0
- package/src/lib/theme-checker/block-validator.ts +353 -0
- package/src/lib/theme-checker/checker.ts +897 -0
- package/src/lib/theme-checker/filter-validator.ts +163 -0
- package/src/lib/theme-checker/index.ts +6 -0
- package/src/lib/theme-checker/inspector.ts +193 -0
- package/src/lib/theme-checker/lang.ts +42 -0
- package/src/lib/theme-checker/parsers/component-xml.ts +120 -0
- package/src/lib/theme-checker/parsers/model-xml.ts +82 -0
- package/src/lib/theme-checker/parsers/post-type-xml.ts +92 -0
- package/src/lib/theme-checker/parsers/symbol-xml.ts +162 -0
- package/src/lib/theme-checker/parsers/theme-xml.ts +102 -0
- package/src/lib/theme-checker/types.ts +97 -0
- package/src/logger.ts +28 -0
- package/src/tool.ts +13 -0
- package/src/tools/create_type.ts +535 -0
- package/src/tools/detail_type.ts +208 -0
- package/src/tools/get_doc_section.ts +201 -0
- package/src/tools/list_types.ts +87 -0
- package/src/tools/list_widgets.ts +181 -0
- package/src/tools/ruleset.ts +25 -0
- package/src/tools/search_doc.ts +160 -0
- package/src/tools/validate_theme.ts +63 -0
- package/storage/definitions/blog.json +1444 -0
- package/storage/definitions/catalogue.json +2817 -0
- package/storage/definitions/cms.json +1002 -0
- package/storage/definitions/commandes.json +2409 -0
- package/storage/definitions/comptes.json +780 -0
- package/storage/definitions/modules.json +418 -0
- package/storage/definitions/recherche.json +804 -0
- package/storage/documents/CLAUDE.exemple.md +281 -0
- package/storage/documents/generated/exemples.md +8054 -0
- package/storage/documents/generated/integration/01_theme_perso.md +182 -0
- package/storage/documents/generated/integration/02_modeles.md +220 -0
- package/storage/documents/generated/integration/03_widgets.md +139 -0
- package/storage/documents/generated/integration/04_blocs.md +45 -0
- package/storage/documents/generated/integration/05_balises.md +43 -0
- package/storage/documents/generated/integration/06_balises_globales.md +201 -0
- package/storage/documents/generated/integration/07_balises_widget.md +257 -0
- package/storage/documents/generated/integration/08_types_billets.md +154 -0
- package/storage/documents/generated/integration/09_types_produits.md +77 -0
- package/storage/documents/generated/integration/10_types_composants.md +142 -0
- package/storage/documents/generated/integration/11_symboles.md +156 -0
- package/storage/documents/generated/integration/12_mediatheque.md +66 -0
- package/storage/documents/generated/integration/13_includes.md +25 -0
- package/storage/documents/generated/integration/14_404.md +32 -0
- package/storage/documents/generated/integration/15_arianne.md +62 -0
- package/storage/documents/generated/integration/16_fermeture.md +36 -0
- package/storage/documents/generated/integration/17_recherche.md +36 -0
- package/storage/documents/generated/integration/18_cms.md +582 -0
- package/storage/documents/generated/integration/19_modules.md +479 -0
- package/storage/documents/generated/integration/20_blog.md +946 -0
- package/storage/documents/generated/integration/21_catalogue.md +1834 -0
- package/storage/documents/generated/integration/22_commandes.md +2772 -0
- package/storage/documents/generated/integration/23_comptes.md +1195 -0
- package/storage/documents/generated/integration/24_recherche.md +542 -0
- package/storage/documents/hors_sujet_regles.md +43 -0
- package/storage/documents/kiubi_api.md +6690 -0
- package/storage/documents/kiubi_ruleset.md +419 -0
- 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é !</title>
|
|
23
|
+
</head>
|
|
24
|
+
<body>
|
|
25
|
+
<h1>{site_nom} est actuellement fermé !</h1>
|
|
26
|
+
<a href="{acces_front}">Accé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
|
+
|