@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,182 @@
|
|
|
1
|
+
# Généralités
|
|
2
|
+
|
|
3
|
+
## Personnaliser un thème
|
|
4
|
+
|
|
5
|
+
Kiubi permet de personnaliser à 100% un site, grâce à son accès aux templates
|
|
6
|
+
de mise en page. Vous pourrez donc personnaliser le design d'un site.
|
|
7
|
+
Aucune limitation graphique particulière n'est imposée !
|
|
8
|
+
|
|
9
|
+
Kiubi vous permettent d'intégrer une ligne graphique réalisée sur mesure pour
|
|
10
|
+
un site Internet. Cependant, comme tout système destiné à créer des sites
|
|
11
|
+
professionnels et respectueux des standards du Web, concevoir un thème graphique
|
|
12
|
+
sur mesure requiert la maîtrise du HTM, des CSS et du Javascript, **un thème graphique
|
|
13
|
+
personnalisé est donc réservé aux utilisateurs expérimentés !**
|
|
14
|
+
|
|
15
|
+
### Activer le thème graphique personnalisé
|
|
16
|
+
|
|
17
|
+
Pour créer un thème graphique personnalisé, rendez-vous dans la rubrique Thèmes graphiques de la Console
|
|
18
|
+
d'administration. Par défaut, un des thèmes graphiques
|
|
19
|
+
fournis en standard par Kiubi (appelé thème graphique par défaut) est utilisé.
|
|
20
|
+
Il suffit de cliquer sur le bouton <kbd class="kbd kbd-btn">Passer en thème personnalisé</kbd> et
|
|
21
|
+
de compléter et valider le formulaire. Dès cet instant, le thème graphique
|
|
22
|
+
personnalisé a été créé et initialisé à partir du thème par défaut choisi.
|
|
23
|
+
|
|
24
|
+
Vous pouvez vous connecter à votre espace FTP avec les informations fournis dans
|
|
25
|
+
la rubrique Thèmes graphiques pour accéder à l'intégralité des fichiers du thème graphique.
|
|
26
|
+
Une fois connecté à votre espace FTP, deux répertoires sont disponibles :
|
|
27
|
+
|
|
28
|
+
- le répertoire `mediatheque` : nécessaire à la Médiathèque pour y publier
|
|
29
|
+
des fichiers de plus de 7Mo.
|
|
30
|
+
- le répertoire `theme` : **contenant les fichiers de votre thème graphique
|
|
31
|
+
personnalisé**
|
|
32
|
+
|
|
33
|
+
### Déclarer un thème graphique
|
|
34
|
+
|
|
35
|
+
Afin de déclarer un thème graphique personnalisé, il est indispensable de bien
|
|
36
|
+
configurer les fichiers suivants :
|
|
37
|
+
|
|
38
|
+
- `illustration.jpg` : Image d'illustration du thème graphique personnalisé
|
|
39
|
+
destinée à être affichée dans la gestion des thèmes afin d'identifier plus
|
|
40
|
+
facilement le thème en question. Il est recommandé d'utiliser une image de 300px
|
|
41
|
+
par 225px.
|
|
42
|
+
- `theme.xml` : Ce fichier contient des informations descriptives du thème
|
|
43
|
+
graphique. **Il est indispensable pour déclarer le thème graphique personnalisé.**
|
|
44
|
+
|
|
45
|
+
### Le fichier `theme.xml`
|
|
46
|
+
|
|
47
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
48
|
+
<theme img="illustration.jpg" intitule="Thème d'exemple" javascripts="none">
|
|
49
|
+
<auteur nom="Exemple" contact="contact@example.org" site="www.example.org" />
|
|
50
|
+
</theme>
|
|
51
|
+
|
|
52
|
+
Ce fichier contient une seule balise principale `<theme>` qui possède 5 attributs :
|
|
53
|
+
|
|
54
|
+
- `img` : nom du fichier image qui est utilisé dans la console d'administration
|
|
55
|
+
pour représenter ce modèle (correspond au fichier image nommé ci-dessus),
|
|
56
|
+
- `intitule` : intitule du thème qui est affiché dans la console
|
|
57
|
+
d'administration,
|
|
58
|
+
- `style` : le style du thème (moderne, classique, etc...),
|
|
59
|
+
- `version` : la version du thème qui est affiché dans la console
|
|
60
|
+
d'administration,
|
|
61
|
+
- `date` : la date de la dernière mise à jour du thème.
|
|
62
|
+
- `javascripts` : contrôle l'inclusion par défaut de bibliothèques
|
|
63
|
+
javascript dans les templates. Indiquer `kiubi` pour inclure les scripts utilisés par
|
|
64
|
+
les thèmes par défaut ou `none` pour désactiver cette fonctionnalité.
|
|
65
|
+
|
|
66
|
+
A l'intérieur, nous avons une seule balise `<auteur>` qui permet d'ajouter des
|
|
67
|
+
informations sur l'auteur du thème. Cette balise contient les attributs suivants :
|
|
68
|
+
|
|
69
|
+
- `nom` : le nom de l'auteur qui est affiché dans la console d'administration,
|
|
70
|
+
- `contact` : l'email de l'auteur,
|
|
71
|
+
- `site` : l'adresse du site internet de l'auteur.
|
|
72
|
+
|
|
73
|
+
### L'arborescence des fichiers
|
|
74
|
+
|
|
75
|
+
L'arborescence d'un thème graphique personnalisé contenu dans le répertoire
|
|
76
|
+
`theme` de votre espace FTP est organisée de la sorte :
|
|
77
|
+
|
|
78
|
+
<pre class="arbo" style="overflow-x:auto;">
|
|
79
|
+
fr/ <b>Répertoire de langue</b>
|
|
80
|
+
├── assets/ <b>Répertoire des ressources</b>
|
|
81
|
+
│ ├── css/ Chaque répertoire correspond à un type, de ressources
|
|
82
|
+
│ ├── fonts/ hors contenu de la médiathèque
|
|
83
|
+
│ ├── img/
|
|
84
|
+
│ └── js/
|
|
85
|
+
├── billets/ <b>Répertoire des types de billets</b>
|
|
86
|
+
│ ├── image/ Chaque répertoire correspond à un type de billet et
|
|
87
|
+
│ ├── jumbotron/ contient ses propres fichiers
|
|
88
|
+
│ └── simple/
|
|
89
|
+
│ ├── config.xml
|
|
90
|
+
│ ├── index.html
|
|
91
|
+
│ └── styles.css
|
|
92
|
+
├── billets_blog/ <b>Répertoire des types de billets du blog</b>
|
|
93
|
+
│ └── simple/
|
|
94
|
+
│ └── config.xml
|
|
95
|
+
├── compostants/ <b>Répertoire des types de composants</b>
|
|
96
|
+
│ └── galerie/ Chaque répertoire correspond à un type de
|
|
97
|
+
│ ├── config.xml composant
|
|
98
|
+
│ └── index.html
|
|
99
|
+
├── includes/ <b>Répertoire des fichiers includes</b>
|
|
100
|
+
├── layouts/ <b>Répertoire des layouts</b>
|
|
101
|
+
│ ├── 4_4_4.html
|
|
102
|
+
│ ├── 4_8.html
|
|
103
|
+
│ ├── 6_6.html
|
|
104
|
+
│ └── 8_4.html
|
|
105
|
+
├── modules/ <b>Répertoire des modules</b>
|
|
106
|
+
│ ├── 404/ Chaque répertoire correspond à un module et contient
|
|
107
|
+
│ ├── chemin/ ses propres fichiers
|
|
108
|
+
│ └── fermeture/
|
|
109
|
+
├── produits/ <b>Répertoire des types de produits</b>
|
|
110
|
+
│ └── simple/ Chaque répertoire (ici <em>simple</em>) correspond à un
|
|
111
|
+
│ ├── config.xml type de produit et contient ses propres fichiers
|
|
112
|
+
│ └── index.html
|
|
113
|
+
├── symboles/ <b>Répertoire des modèles de symboles</b>
|
|
114
|
+
│ └── defaut/ Chaque répertoire correspondant à un template
|
|
115
|
+
│ ├── desc.xml de symbole.
|
|
116
|
+
│ ├── index.html
|
|
117
|
+
│ └── structure.xhtml
|
|
118
|
+
├── templates/ <b>Répertoire des templates principaux</b>
|
|
119
|
+
│ ├── barre_laterale/ Chaque répertoire correspondant à un template principal
|
|
120
|
+
│ ├── sans_barre_lateral/ du thème et contient ses propres fichiers
|
|
121
|
+
│ │ ├── desc.xml
|
|
122
|
+
│ │ ├── index.html
|
|
123
|
+
│ │ ├── structure.xhtml
|
|
124
|
+
│ │ └── styles.css
|
|
125
|
+
│ ├── print.css
|
|
126
|
+
│ └── styles.css
|
|
127
|
+
└── widgets/ <b>Répertoire de tous les widgets</b>
|
|
128
|
+
├── blog/ <b>Répertoire des widgets du service Blog</b>
|
|
129
|
+
│ ├── archives/ Chaque widget à son propre répertoire principal et
|
|
130
|
+
│ ├── categories contient ses propres fichiers.
|
|
131
|
+
│ ├── derniers_billets_postes/
|
|
132
|
+
│ ├── detail_billet/
|
|
133
|
+
│ ├── les_plus_commentes/
|
|
134
|
+
│ ├── liens/
|
|
135
|
+
│ ├── liste_billets/
|
|
136
|
+
│ ├── listes_commentaires/
|
|
137
|
+
│ └── poster_commentaires/
|
|
138
|
+
├── catalogue/ <b>Répertoire des widgets du service Catalogue</b>
|
|
139
|
+
│ ├── categories/ Chaque widget à son propre répertoire principal et
|
|
140
|
+
│ ├── liste_categories/ contient ses propres fichiers.
|
|
141
|
+
│ ├── listes_commentaires/
|
|
142
|
+
│ ├── listes_produits/
|
|
143
|
+
│ ├── poster_commentaire/
|
|
144
|
+
│ ├── produits_associes/
|
|
145
|
+
│ ├── produits_egalement_achetes/
|
|
146
|
+
│ ├── produits_plus/
|
|
147
|
+
│ ├── produits_vedettes/
|
|
148
|
+
│ └── tags/
|
|
149
|
+
├── commandes/ <b>Répertoire des widgets du service Commandes</b>
|
|
150
|
+
│ ├── livraison/ Chaque widget à son propre répertoire principal et
|
|
151
|
+
│ ├── paiement/ contient ses propres fichiers.
|
|
152
|
+
│ ├── panier/
|
|
153
|
+
│ └── panier_detail/
|
|
154
|
+
├── communication/ <b>Répertoire des widgets du service Communication</b>
|
|
155
|
+
│ ├── contact/ Chaque widget à son propre répertoire principal et
|
|
156
|
+
│ ├── formulaires/ contient ses propres fichiers.
|
|
157
|
+
│ ├── newsletter/
|
|
158
|
+
│ └── syndication_blog/
|
|
159
|
+
├── compte/ <b>Répertoire des widgets du service Compte</b>
|
|
160
|
+
│ ├── identification/ Chaque widget à son propre répertoire principal et
|
|
161
|
+
│ ├── identification_rapide/ contient ses propres fichiers.
|
|
162
|
+
│ ├── inscription/
|
|
163
|
+
│ └── tableau_bord/
|
|
164
|
+
├── recherche/ <b>Répertoire des widgets du service Recherche</b>
|
|
165
|
+
│ └── simple/ Chaque widget à son propre répertoire principal et
|
|
166
|
+
│ contient ses propres fichiers.
|
|
167
|
+
└── site_web/ <b>Répertoire des widgets du service Site Web</b>
|
|
168
|
+
├── bloc_extrait/ Chaque widget à son propre répertoire principal et
|
|
169
|
+
│ ├── avec_lien_vers_page/ contient ses propres fichiers.
|
|
170
|
+
│ ├── sans_image/
|
|
171
|
+
│ ├── slideshow/ Chaque widget peut avoir plusieurs templates secondaires
|
|
172
|
+
│ ├── index.html différents (ici : avec_lien_vers_page, sans_image et
|
|
173
|
+
│ └── styles.css slideshow) contenant leurs propres fichiers correspondant
|
|
174
|
+
├── contenu_page_libre/ chacun à un sous-répertoire du répertoire principal
|
|
175
|
+
├── menu_h/ du widget
|
|
176
|
+
└── menu_v/
|
|
177
|
+
illustration.jpg <b>Fichier de description et de déclaration du thème</b>
|
|
178
|
+
theme.xml Ces fichiers définissent les informations affichées dans la
|
|
179
|
+
gestion des thèmes de la console d'administration.
|
|
180
|
+
</pre>
|
|
181
|
+
|
|
182
|
+
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
## Templates principaux
|
|
2
|
+
|
|
3
|
+
Les templates principaux constituent les squelettes du site
|
|
4
|
+
dans lesquels vont s'intégrer les Widgets. Chaque template
|
|
5
|
+
contient **une structure HTML complète** qui lui est propre, des feuilles de styles,
|
|
6
|
+
des codes javascripts, etc. et également **la position de chaque zone où vont se
|
|
7
|
+
placer les Widgets**.
|
|
8
|
+
|
|
9
|
+
Chaque template peut être utilisé pour configurer une page type dans la rubrique Mises en page de la console d'administration.
|
|
10
|
+
Il est donc possible d'utiliser plusieurs templates différents pour personnaliser un site Internet et cela page par page, si nécessaire.
|
|
11
|
+
|
|
12
|
+
**Si vous utilisez un thème graphique personnalisé, vous pouvez modifier et créer de nouveaux templates.**
|
|
13
|
+
|
|
14
|
+
### Paramètres d'un template
|
|
15
|
+
|
|
16
|
+
Une fois connecté à votre espace FTP, tous les templates sont
|
|
17
|
+
regroupés dans le répertoire `theme/fr/templates/`. Chacun de ces sous-
|
|
18
|
+
répertoires est un template. Un template contient les fichiers
|
|
19
|
+
suivants :
|
|
20
|
+
|
|
21
|
+
- `desc.xml` : permet de décrire le template et déclarer les
|
|
22
|
+
zones. **Ce fichier est obligatoire**
|
|
23
|
+
- `index.html` : contient le code HTML du template. **Ce fichier
|
|
24
|
+
est obligatoire**
|
|
25
|
+
- `structure.xhtml` : permet de définir la structure du template
|
|
26
|
+
utilisée dans l'édition d'une page type. Ce fichier n'a aucun lien avec le rendu
|
|
27
|
+
du site internet et n'est utilisé que pour la console d'administration. **Ce
|
|
28
|
+
fichier est obligatoire**
|
|
29
|
+
|
|
30
|
+
D'autres fichier facultatifs peuvent être présents dans le répertoire `theme/fr/templates/`,
|
|
31
|
+
comme par exemples :
|
|
32
|
+
|
|
33
|
+
- `apple-touch-icon.png`
|
|
34
|
+
- `favicon.ico`
|
|
35
|
+
- `favicon.png`
|
|
36
|
+
|
|
37
|
+
### Le fichier `desc.xml`
|
|
38
|
+
|
|
39
|
+
Ce fichier contient des informations descriptives du template. Il
|
|
40
|
+
permet principalement de déclarer les zones du template dans lesquelles pourront
|
|
41
|
+
être insérés des Widgets.
|
|
42
|
+
|
|
43
|
+
#### Exemple de code source
|
|
44
|
+
|
|
45
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
46
|
+
<modele intitule="Modèle par défaut">
|
|
47
|
+
<zones defaut="contenu">
|
|
48
|
+
<zone id="entete" colmax="1" intitule="Entete" defaut="1"/>
|
|
49
|
+
<zone id="menu" colmax="1" intitule="Menu" defaut="1"/>
|
|
50
|
+
<zone id="sidebar" colmax="1" intitule="Barre latérale" defaut="1" type="contenu"/>
|
|
51
|
+
<zone id="contenu" colmax="3" intitule="Contenu" defaut="1" type="contenu"/>
|
|
52
|
+
<zone id="piedepage" colmax="3" intitule="Pied de page" defaut="1"/>
|
|
53
|
+
</zones>
|
|
54
|
+
</modele>
|
|
55
|
+
|
|
56
|
+
#### Description
|
|
57
|
+
|
|
58
|
+
Ce fichier contient une seule balise principale `<modele>` qui possède 2 attributs :
|
|
59
|
+
|
|
60
|
+
- `intitule` : intitule du template qui est utilisé dans la
|
|
61
|
+
console d'administration
|
|
62
|
+
- `img` (déprécié) : nom du fichier image qui était utilisé dans la console d'administration
|
|
63
|
+
pour représenter ce template.
|
|
64
|
+
|
|
65
|
+
A l'intérieur, nous avons une seule balise `<zones>` qui contient tout un ensemble
|
|
66
|
+
de balises `<zone>`. L'attribut `defaut` permet de désigner la zone dans laquelle
|
|
67
|
+
seroont placés par défaut tous les contenus ajoutés dans la page. La zone désignée est
|
|
68
|
+
alors automatiquement considérée comme étant de type "contenu".
|
|
69
|
+
|
|
70
|
+
La balise `<zone>` sert à déclarer une zone où vont pouvoir
|
|
71
|
+
être inséré les Widgets. **L'id des zones devra être repris dans les fichiers
|
|
72
|
+
`structure.xhtml` et `index.html`.**
|
|
73
|
+
|
|
74
|
+
Elles contiennent les attributs suivants :
|
|
75
|
+
|
|
76
|
+
- `id` : code alphanumérique qui sera réutilisé pour identifié la zone dans les
|
|
77
|
+
fichiers `index.html` et `structure.xhtml`.
|
|
78
|
+
- `colmax` : nombre maximum de colonnes des blocs de présentation qui peuvent
|
|
79
|
+
être insérés dans cette zone (de 1 à 3). Les colonnes correspondant sont gérées
|
|
80
|
+
via les fichiers du répertoire `theme/fr/layouts/`
|
|
81
|
+
- `intitule` : intitulé de la zone qui sera repris dans la console
|
|
82
|
+
d'administration dans l'édition d'une page type.
|
|
83
|
+
- `defaut` : nombre de colonnes des blocs de présentation insérées par défaut
|
|
84
|
+
dans la zone.
|
|
85
|
+
- `type` : si la valeur est "contenu", la zone pourra accepter des billets, symboles et
|
|
86
|
+
composants dans la console d'administration.
|
|
87
|
+
|
|
88
|
+
### Le fichier `structure.xhml`
|
|
89
|
+
|
|
90
|
+
Ce fichier est une représentation schématique de la disposition des zones dans
|
|
91
|
+
le template (les zones déclarées dans le fichier `desc.xml`).
|
|
92
|
+
Il est utilisé pour générer la page d'édition d'une page type dans la console
|
|
93
|
+
d'administration. Il n'est en aucun cas utilisé pour effectuer un rendu du site
|
|
94
|
+
Internet.
|
|
95
|
+
|
|
96
|
+
#### Exemple de code source
|
|
97
|
+
|
|
98
|
+
<table>
|
|
99
|
+
<tr>
|
|
100
|
+
<td colspan="2">{entete}</td>
|
|
101
|
+
</tr>
|
|
102
|
+
<tr>
|
|
103
|
+
<td colspan="2">{menu}</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td width="30%">{sidebar}</td>
|
|
107
|
+
<td>{contenu}</td>
|
|
108
|
+
</tr>
|
|
109
|
+
<tr>
|
|
110
|
+
<td colspan="2">{piedepage}</td>
|
|
111
|
+
</tr>
|
|
112
|
+
</table>
|
|
113
|
+
|
|
114
|
+
#### Description
|
|
115
|
+
|
|
116
|
+
Les zones sont appelées directement en mettant leurs ID entre accolade.
|
|
117
|
+
|
|
118
|
+
**Il est obligatoire d'utiliser un code HTML simple, sans script ni style. Seules les balises TABLE, TD et TR sont autorisées.**
|
|
119
|
+
|
|
120
|
+
### Le fichier `index.html`
|
|
121
|
+
|
|
122
|
+
Alors que le fichier `structure.xhtml` est une vue abstraite de la page
|
|
123
|
+
utilisée seulement dans la console d'administration, le fichier `index.html`
|
|
124
|
+
contient le code HTML concret du template qui sera affiché dans le
|
|
125
|
+
site Internet.
|
|
126
|
+
|
|
127
|
+
#### Exemple de code source
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
<!-- BEGIN:main -->
|
|
131
|
+
<!DOCTYPE html>
|
|
132
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
|
|
133
|
+
<head>
|
|
134
|
+
<title>{title}</title>
|
|
135
|
+
<meta name="description" content="{metaDescription}" />
|
|
136
|
+
<meta name="keywords" content="{metaKeywords}" />
|
|
137
|
+
{metaRobots}
|
|
138
|
+
{metaCanonical}
|
|
139
|
+
<!-- Charges les scripts des Options avancées du Back-office -->
|
|
140
|
+
{js_head}
|
|
141
|
+
</head>
|
|
142
|
+
<body>
|
|
143
|
+
|
|
144
|
+
<!-- BEGIN:logo_site -->
|
|
145
|
+
<h1>
|
|
146
|
+
<a href="{racine}/" title="{accroche_site} - Retour à l'accueil">
|
|
147
|
+
<img src="{racine}/media/{logo_site}" alt="{accroche_site|htmlentities}" />
|
|
148
|
+
</a>
|
|
149
|
+
</h1>
|
|
150
|
+
<!-- END:logo_site -->
|
|
151
|
+
|
|
152
|
+
<!-- BEGIN:accroche_site-->
|
|
153
|
+
<h2><a href="{racine}/" title="{accroche_site|htmlentities}">{accroche_site}</a></h2>
|
|
154
|
+
<!-- END:accroche_site-->
|
|
155
|
+
|
|
156
|
+
<!-- BEGIN:desc_site-->
|
|
157
|
+
<h3>{desc_site}</h3>
|
|
158
|
+
<!-- END:desc_site-->
|
|
159
|
+
|
|
160
|
+
<div>{ZONE.menu}</div>
|
|
161
|
+
<div>{ZONE.contenu}</div>
|
|
162
|
+
<div>{ZONE.piedepage}</div>
|
|
163
|
+
|
|
164
|
+
<!-- Charges les scripts des Options avancées du Back-office -->
|
|
165
|
+
{js_body}
|
|
166
|
+
</body>
|
|
167
|
+
</html>
|
|
168
|
+
<!-- END:main -->
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
#### Description
|
|
173
|
+
|
|
174
|
+
Les balises `{ZONE.*}` servent à indiquer où insérer les Widgets. Les noms des
|
|
175
|
+
zones sont déclarés dans le fichier `desc.xml`.
|
|
176
|
+
|
|
177
|
+
#### Balises disponibles
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|Balise|Description|
|
|
181
|
+
|---|---|
|
|
182
|
+
| `{metaCanonical}` | Insère la balise `<meta name="canonical">` correspondant à l'url canonique de la page courante |
|
|
183
|
+
| `{metaRobots}` | Insère la balise de désindexation automatique des pages sans valeur sémantique comme les résultats de recherche ou les paginations `<meta name="robots" content="noindex, follow">`. |
|
|
184
|
+
| `{title}` | Insère le titre de la page `<title>`. A configurer dans "Mon compte / Préférences / Metas par défaut" ou dans les options avancées de la page. |
|
|
185
|
+
| `{metaKeywords}` | Insère les mots clés de la page `<meta keywords>`. A configurer dans "Mon compte / Préférences / Metas par défaut" ou dans les options avancées de la page. |
|
|
186
|
+
| `{metaDescription}` | Insère la description de la page `<meta description>`. A configurer dans "Mon compte / Préférences / Metas par défaut" ou dans les options avancées de la page. |
|
|
187
|
+
| `{modele}` | Affiche le nom du répertoire du modèle de mise en page utilisé. |
|
|
188
|
+
| `{service}` | Affiche le code du service en cours. Cette balise sert, par exemple, au moteur de recherche pour qu'il fasse des recherches dans le service en cours.<br />Affiche cms si le service en cours est le Site web, Contact et Gestion de compte.<br />Affiche blog si le service en cours est le Blog.<br />Affiche catalogue si le service en cours est le Catalogue et E-commerce (Commandes). |
|
|
189
|
+
| `{js_head}` | Insère du javascript destiné à être exécuté dans la balise `<head>` de la page. A configurer dans "Mon compte / Préférences / Metas par défaut" ou dans les options avancées de la page. |
|
|
190
|
+
| `{js_body}` | Insère du javascript destiné à être exécuté juste avant la fermeture de la balise `<body>` de la page. A configurer dans "Mon compte / Préférences / Metas par défaut" ou dans les options avancées de la page. |
|
|
191
|
+
| `{Stylesheet}` | Insère les feuilles de styles des Widgets et des modules, si besoin. |
|
|
192
|
+
| `{Javascripts}` | Insère les javascripts nécessaires au bon fonctionnement de Kiubi avec d'anciens thèmes par défaut de Kiubi |
|
|
193
|
+
| `{ZONE.xxx}` | Insère les Widgets de la zone "xxx" telle qu'ils ont été configurés dans l'édition d'une page type. Les noms (identifiants) des zones sont définis dans le fichier "structure.xhtml" propre au modèle de mise en page. |
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
<!-- BEGIN:accroche_site--> <!-- END:accroche_site-->
|
|
198
|
+
|
|
199
|
+
Le bloc s'affiche si l'option "Afficher le nom" est activée dans
|
|
200
|
+
le Bloc-marque des Préférences du site.
|
|
201
|
+
|
|
202
|
+
<!-- BEGIN:desc_site--> <!-- END:desc_site-->
|
|
203
|
+
|
|
204
|
+
Le bloc s'affiche si l'option "Afficher la signature" est activée dans
|
|
205
|
+
le Bloc-marque des Préférences du site.
|
|
206
|
+
|
|
207
|
+
<!-- BEGIN:logo_site--> <!-- END:logo_site-->
|
|
208
|
+
|
|
209
|
+
Le bloc s'affiche si l'option "Afficher le logo" est activée dans
|
|
210
|
+
le Bloc-marque des Préférences du site.
|
|
211
|
+
|
|
212
|
+
### Ajouter un nouveau template
|
|
213
|
+
|
|
214
|
+
Pour ajouter un nouveau template, il suffit de créer un nouveau
|
|
215
|
+
sous-répertoire au répertoire `theme/fr/templates/` et d'y copier tous les
|
|
216
|
+
fichiers correspondant à votre nouveau template. Le nouveau template sera alors
|
|
217
|
+
automatiquement proposé dans l'édition d'une page type de la
|
|
218
|
+
console d'administration.
|
|
219
|
+
|
|
220
|
+
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
## Widgets
|
|
2
|
+
|
|
3
|
+
Les Widgets de Kiubi forment la base des différents modules fonctionnels qui
|
|
4
|
+
composent le site Internet. Dans la gestion de la Mise en page, chaque Widget peut
|
|
5
|
+
être glissé/déposé dans une zone d'une page type et configuré selon un certain
|
|
6
|
+
nombre de paramètres qui lui sont propres. **Afficher un menu, une liste de
|
|
7
|
+
produits ou même un formulaire de contact, tout ceci est possible grâce aux
|
|
8
|
+
Widgets**.
|
|
9
|
+
|
|
10
|
+
Le guide du Webdesigner décrit et explique en
|
|
11
|
+
détail les différents paramètres et configurations possibles pour tous les
|
|
12
|
+
Widgets. De plus, vous y trouverez toutes les balises disponibles dans les templates des Widgets
|
|
13
|
+
et dans quelles conditions les utiliser. **La compréhension de ces différentes
|
|
14
|
+
informations (template + balise + paramètre + configuration) vous permettra de
|
|
15
|
+
personnaliser l'intégralité des Widgets de Kiubi.**
|
|
16
|
+
|
|
17
|
+
### Listes des Widgets
|
|
18
|
+
|
|
19
|
+
Les widgets sont classés selon leur service et leur type :
|
|
20
|
+
|
|
21
|
+
##### Site Web
|
|
22
|
+
|
|
23
|
+
- [Contenu d'une page](/design-site-web.html#contenus-d-une-page) <span class="badge badge-primary ml-1">Nouveau</span>
|
|
24
|
+
- [Symbole](/design-site-web.html#symbole) <span class="badge badge-primary ml-1">Nouveau</span>
|
|
25
|
+
- [Bloc d'extraits](/design-site-web.html#bloc-d-extrait)
|
|
26
|
+
- [Menu horizontal](/design-site-web.html#menu-horizontal)
|
|
27
|
+
- [Menu vertical](/design-site-web.html#menu-vertical)
|
|
28
|
+
- [Liste des billets](/design-site-web.html#liste-de-billets) (Anciennement Contenu d'une page libre) <span class="badge badge-secondary ml-1">Déprécié</span>
|
|
29
|
+
|
|
30
|
+
##### Blog
|
|
31
|
+
|
|
32
|
+
- [Derniers billets postés](/design-blog.html#derniers-billets-postes)
|
|
33
|
+
- [Détail d'un billet](/design-blog.html#detail-billet)
|
|
34
|
+
- [Billets les plus commentés](/design-blog.html#billets-les-plus-commentes)
|
|
35
|
+
- [Liens](/design-blog.html#liens)
|
|
36
|
+
- [Liste des billets](/design-blog.html#liste-des-billets)
|
|
37
|
+
- [Liste des commentaires](/design-blog.html#liste-des-commentaires)
|
|
38
|
+
- [Poster un commentaire](/design-blog.html#poster-un-commentaire)
|
|
39
|
+
- [Archives](/design-blog.html#archives)
|
|
40
|
+
- [Catégories](/design-blog.html#categories)
|
|
41
|
+
- [Derniers commentaires postés](/design-blog.html#derniers-commentaires-postes)
|
|
42
|
+
|
|
43
|
+
##### Catalogue
|
|
44
|
+
|
|
45
|
+
- [Catégories](/design-catalogue.html#categories)
|
|
46
|
+
- [Tags](/design-catalogue.html#tags)
|
|
47
|
+
- [Liste des catégories](/design-catalogue.html#liste-des-categories)
|
|
48
|
+
- [Liste des produits](/design-catalogue.html#liste-des-produits)
|
|
49
|
+
- [Détail d'un produit](/design-catalogue.html#detail-d-un-produit)
|
|
50
|
+
- [Poster un commentaire](/design-catalogue.html#poster-un-commentaire)
|
|
51
|
+
- [Liste des commentaires](/design-catalogue.html#liste-des-commentaires)
|
|
52
|
+
- [Produits vedettes](/design-catalogue.html#produits-vedettes)
|
|
53
|
+
- [Produits les plus](/design-catalogue.html#produits-les-plus)
|
|
54
|
+
- [Produits également achetés](/design-catalogue.html#produits-egalement-achetes)
|
|
55
|
+
- [Produits associés](/design-catalogue.html#produits-associes)
|
|
56
|
+
|
|
57
|
+
##### Commandes
|
|
58
|
+
|
|
59
|
+
- [Panier](/design-commandes.html#panier)
|
|
60
|
+
- [Détail du panier](/design-commandes.html#detail-du-panier)
|
|
61
|
+
- [Livraison](/design-commandes.html#livraison)
|
|
62
|
+
- [Paiement](/design-commandes.html#paiement)
|
|
63
|
+
- [Validation](/design-commandes.html#validation)
|
|
64
|
+
|
|
65
|
+
##### Gestion de compte
|
|
66
|
+
|
|
67
|
+
- [Identification rapide](/design-comptes.html#identification-rapide)
|
|
68
|
+
- [Identification](/design-comptes.html#identification)
|
|
69
|
+
- [Formulaire d'inscription](/design-comptes.html#formulaire-d-inscription)
|
|
70
|
+
- [Tableau de bord](/design-comptes.html#tableau-de-bord)
|
|
71
|
+
|
|
72
|
+
##### Modules (Communication)
|
|
73
|
+
|
|
74
|
+
- [Dismoi? (générateur de formulaires)](/design-modules.html#dismoi-)
|
|
75
|
+
- [Inscription à la newsletter](/design-modules.html#newsletter)
|
|
76
|
+
- [Syndication du blog](/design-modules.html#syndication)
|
|
77
|
+
- [Formulaire de contact](/design-modules.html#formulaire-de-contact)
|
|
78
|
+
|
|
79
|
+
##### Recherche
|
|
80
|
+
|
|
81
|
+
- [Recherche simple](/recherche.html#recherche-simple)
|
|
82
|
+
|
|
83
|
+
##### Boite à outils
|
|
84
|
+
|
|
85
|
+
Ces Widgets permettent de faire de l'inclusion de code et n'ont donc ni de configuration, ni de modèle graphique qui leurs sont propres.
|
|
86
|
+
|
|
87
|
+
- Fragment de code : le code (HTML, CSS, JS, etc.) est éditable dans les paramètres du widget et directement ajouté dans une mise en page, à la position du widget
|
|
88
|
+
- Fragment de template : le widget liste les fichiers includes disponibles dans le répertoire `theme/fr/includes/` et sont directement ajoutés dans une mise en page, à la position du widget
|
|
89
|
+
|
|
90
|
+
### Personnalisé un Widget
|
|
91
|
+
|
|
92
|
+
Chaque Widget de Kiubi peut être personnalisé de deux manières différentes :
|
|
93
|
+
|
|
94
|
+
- Dans tous les cas, en modifiant ses paramètres et sa configuration,
|
|
95
|
+
directement dans la console d'administration lors de l'édition du Widget dans la gestion de la mise en page
|
|
96
|
+
- Dans le cas de l'utilisation d'un thème graphique personnalisé, en modifiant
|
|
97
|
+
le template qui le compose.
|
|
98
|
+
|
|
99
|
+
Si vous utilisez un thème graphique personnalisé, vous pouvez éditer et modifier
|
|
100
|
+
le template, c'est-à-dire les fichiers HTML qui composent et
|
|
101
|
+
définissent l'apparence d'un Widget. Le paramétrage et la configuration d'un
|
|
102
|
+
Widget seront cependant toujours à faire lors de l'édition du Widget dans la
|
|
103
|
+
gestion de la mise en page de la console d'administration de Kiubi.
|
|
104
|
+
|
|
105
|
+
Dans votre espace FTP, tous les Widgets sont regroupés dans le répertoire
|
|
106
|
+
`theme/fr/widgets/` et classés dans leur propre répertoire, selon leur service
|
|
107
|
+
(un répertoire par Widget classé dans un répertoire par service).
|
|
108
|
+
|
|
109
|
+
Chaque répertoire principal d'un Widget contient :
|
|
110
|
+
|
|
111
|
+
- un fichier `index.html` structuré de manière différente en fonction du Widget. **Ce fichier** `index.html` **est obligatoire.**
|
|
112
|
+
- un fichier `styles.css` peut être ajouté au Widget afin de contrôler sa mise en forme. Ce fichier est automatiquement
|
|
113
|
+
chargé dans la balise `<head>` si le widget est présent dans la page. **Ce fichier** `styles.css` **n'est pas obligatoire.**
|
|
114
|
+
|
|
115
|
+
### Ajouter des templates supplémentaires à un Widget
|
|
116
|
+
|
|
117
|
+
Un même Widget peut avoir plusieurs templates, c'est-à-dire qu'il peut
|
|
118
|
+
avoir plusieurs apparences différentes.
|
|
119
|
+
|
|
120
|
+
Pour ajouter un templates à un Widget, il suffit de créer un sous-
|
|
121
|
+
répertoire au répertoire principal du Widget et d'y copier/coller le fichier
|
|
122
|
+
`index.html` (et `styles.css`) correspondant au Widget.
|
|
123
|
+
|
|
124
|
+
Si les deux fichiers sont présents, ce nouveau modèle graphique utilisera les
|
|
125
|
+
deux fichiers.
|
|
126
|
+
|
|
127
|
+
Si un seul des deux fichiers est présent, ce nouveau modèle graphique utilisera
|
|
128
|
+
le fichier présent et complètera par celui présent à la racine du répertoire
|
|
129
|
+
principal du Widget.
|
|
130
|
+
|
|
131
|
+
Il suffit de choisir ensuite le modèle graphique correspondant lors de l'édition
|
|
132
|
+
d'un Widget dans la gestion de la mise en page de la console d'administration de
|
|
133
|
+
Kiubi.
|
|
134
|
+
|
|
135
|
+
Il est donc possible, avec le même Widget, d'avoir non seulement plusieurs paramétrages possibles mais en plus, chaque
|
|
136
|
+
Widget peut avoir une infinité d'apparences différentes. **En fonction de son template et de ses paramètres, un même
|
|
137
|
+
Widget peut répondre à des usages complètement différents et donc s'adapter parfaitement à vos besoins.**
|
|
138
|
+
|
|
139
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
## Blocs
|
|
2
|
+
|
|
3
|
+
Les blocs sont des portions de HTML encadrés par des codes spécifiques qui vont
|
|
4
|
+
pouvoir être affichés ou masqués selon le besoin, et même dupliqués. Ils se
|
|
5
|
+
présentent toujours de cette façon :
|
|
6
|
+
|
|
7
|
+
<!-- BEGIN:bloc --> <!-- END:bloc -->
|
|
8
|
+
|
|
9
|
+
Les blocs sont pour la plupart du temps imbriqués dans d'autres blocs. La
|
|
10
|
+
documentation ci-après précise toujours dans quel bloc placer tel autre bloc (ou
|
|
11
|
+
telle balise).
|
|
12
|
+
Si rien n'est précisé c'est qu'il faut au moins placer le bloc
|
|
13
|
+
dans le bloc `<!-- BEGIN:main -->` `<!-- END:main -->`.
|
|
14
|
+
|
|
15
|
+
Voici un exemple de blocs correctement imbriqués :
|
|
16
|
+
|
|
17
|
+
<!-- BEGIN:main -->
|
|
18
|
+
<!-- BEGIN:bloc -->
|
|
19
|
+
<!-- BEGIN:bloc2 -->
|
|
20
|
+
<!-- END:bloc2 -->
|
|
21
|
+
<!-- BEGIN:bloc3 -->
|
|
22
|
+
<!-- END:bloc3 -->
|
|
23
|
+
<!-- END:bloc -->
|
|
24
|
+
<!-- END:main -->
|
|
25
|
+
L'exemple suivant est faux et amènera à des comportements imprévisibles. **Les blocs `bloc2` et `bloc3` sont mélangés
|
|
26
|
+
l'un dans l'autre, ce qui est incorrect :**
|
|
27
|
+
|
|
28
|
+
<!-- BEGIN:main -->
|
|
29
|
+
<!-- BEGIN:bloc2 -->
|
|
30
|
+
<!-- BEGIN:bloc3 -->
|
|
31
|
+
<!-- END:bloc2 -->
|
|
32
|
+
<!-- END:bloc3 --> // cette fermeture de bloc ne devrait pas se trouver ici !!!
|
|
33
|
+
<!-- END:main -->
|
|
34
|
+
|
|
35
|
+
Certaines balises ne sont accessibles qu'à l'intérieur de blocs spécifiques. Si
|
|
36
|
+
c'est le cas, cette documentation le précisera.
|
|
37
|
+
|
|
38
|
+
**Avertissements :**
|
|
39
|
+
|
|
40
|
+
- **un même bloc ne peut pas être répété deux fois dans le même fichier**
|
|
41
|
+
- **un bloc qui est utilisé dans un widget, n'est pas forcément utilisable dans un autre ou dans tous les widgets, à chaque widget ses blocs**
|
|
42
|
+
- **tous les modèles graphiques doivent commencer par `<!-- BEGIN:main -->` et se terminer par `<!--END:main -->` oublier ce bloc est une erreur très courante, pensez à vérifier ce bloc si rien ne s'affiche dans votre site**
|
|
43
|
+
- **tout ce qui est en dehors du bloc `<!-- BEGIN:main -->` `<!-- END:main -->` est ignoré par Kiubi**
|
|
44
|
+
|
|
45
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
## Balises
|
|
2
|
+
|
|
3
|
+
Les balises de Kiubi sont de petits codes que vous pouvez inclure un peu partout
|
|
4
|
+
et qui servent à afficher toutes les informations que vous avez saisies à l'aide
|
|
5
|
+
de votre console d'administration dans les pages de votre site. On reconnaît
|
|
6
|
+
facilement ces balises car elles sont composées d'un mot entouré d'accolades : `{titre}`.
|
|
7
|
+
|
|
8
|
+
Kiubi utilise des ensembles de fichiers HTML (des templates) pour
|
|
9
|
+
mettre en forme votre site. Ils composent le squelette du site. Les balises
|
|
10
|
+
servent à donner vie au squelette en indiquant à Kiubi où injecter exactement le
|
|
11
|
+
titre de la page, le contenu des billets, la date de création du dernier billet
|
|
12
|
+
de votre blog, etc. Elles sont pour ainsi dire omniprésentes. Tous les templates ont besoin
|
|
13
|
+
de balises pour fonctionner et vous pouvez également saisir certaines balises
|
|
14
|
+
dans les éditeurs de texte visuels (éditeurs "Wysiwyg").
|
|
15
|
+
|
|
16
|
+
Il existe trois grandes familles de balises :
|
|
17
|
+
|
|
18
|
+
- les balises globales sont utilisables partout (modèles graphiques, éditeurs de
|
|
19
|
+
texte visuels, champs d'information, etc.)
|
|
20
|
+
- les balises des modèles de mise en pages qui ne fonctionnent que dans les
|
|
21
|
+
templates principaux
|
|
22
|
+
- les balises des widgets qui ne fonctionnent que dans leur widget
|
|
23
|
+
|
|
24
|
+
### Exemple d'utilisation d'une balise
|
|
25
|
+
|
|
26
|
+
Prenons un exemple d'un template tel qu'on pourrait en trouver dans
|
|
27
|
+
les sous-répertoires de `/fr/template/`.
|
|
28
|
+
|
|
29
|
+
<head>
|
|
30
|
+
<meta name="keywords" content="{metaKeywords}" />
|
|
31
|
+
<meta name="description" content="{metaDescription}" />
|
|
32
|
+
<title>{title}</title>
|
|
33
|
+
</head>
|
|
34
|
+
|
|
35
|
+
On voit ici que le titre de la page, la description et les mots clés de l'entête
|
|
36
|
+
du fichier HTML sont définis à l'aide de balises et seront remplis
|
|
37
|
+
automatiquement avec les valeurs configurées dans la console d'administration.
|
|
38
|
+
|
|
39
|
+
**Une balise utilisée dans un widget, n'est pas forcément utilisable dans un autre ou dans tous les widgets. A chaque widget ses balises !**
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|