summaryrefslogtreecommitdiff
path: root/installation ckeditor.txt
diff options
context:
space:
mode:
Diffstat (limited to 'installation ckeditor.txt')
-rw-r--r--installation ckeditor.txt101
1 files changed, 101 insertions, 0 deletions
diff --git a/installation ckeditor.txt b/installation ckeditor.txt
new file mode 100644
index 0000000..08f19ae
--- /dev/null
+++ b/installation ckeditor.txt
@@ -0,0 +1,101 @@
11/ installation
2
3cd "mon projet"
4git clone git@ordipolo.fr:ckeditor5
5copier tout son contenu (sauf le .git) dans le dossier racine de notre application et supprimer le dossier source
6rm -r ckeditor5 --interactive=never
7attention quand un index.php existe déjà
8
9les fichiers composer.json et package.json sont volontairement absents
10faire un install (npm) et un require (composer) dans son projet, obtenir la dernière version de l'éditeur et essuyer les plâtres!
11npm install ckeditor5
12composer require htmlawed/htmlawed
13
14les fichiers récupérés par le git clone, src/integration/ckeditor5/ est à insérer dans son projet:
15src/integration/ckeditor5/CKEditor.php
16src/integration/ckeditor5/view.php
17src/integration/ckeditor5/image_upload.php
18src/integration/ckeditor5/articles_hors_editeur.css
19installation dans une application PHP.txt
20index.php (appel des contrôleurs)
21data/page/html/1646148841.html
22data/page/html/1646148842.html
23data/page/images/chirurgien jaune.jpg
24data/page/images/garfield4.png
25
26
272/ lien symbolique nécéssaire pour trouver les traductions (commande pour debian):
28un problème de chemin se produit à la ligne: import coreTranslations from 'ckeditor5/translations/fr.js'; dans lib/ckeditor5/template.php
29gràce à un lien symbolique, le programme s'attend à trouver un dossier "translations" dans "browser"
30le dossier concerné est node_modules/ckeditor5/dist/browser, on doit lui donner plus de droits
31
32PHP l'ajoute avec symlink dans index.php
33si le lien symbolique /srv/http/ckeditor5/node_modules/ckeditor5/dist/browser/translations
34n'a pas été créé correctement par PHP, permettre au serveur d'écrire dans "browser" ou le faire en BASH
35la commande mklink permet de faire la même chose sur un serveur windows, l'option /J créée une jointure et fonctionne sans droit d'admin
36
37chemin absolu
38ln -s /var/www/ckeditor5/node_modules/ckeditor5/dist/translations /var/www/ckeditor5/node_modules/ckeditor5/dist/browser/
39chemin relatif
40ln -s ../translations node_modules/ckeditor5/dist/browser/
41
42
433/ essai
44les paramètres dans CKEditor.php et les fichiers dans data permettent normalement
45- d'ouvrir l'éditeur
46- de lire des données dans des fichiers et de les insérer dans l'éditeur pour modification
47
48la sortie au "submit" est nettoyée puis se retrouve dans $html_from_editor
49
50
514/ intégration à un projet
52
53a) insérer le dossier: src/integration/ckeditor5/
54
55b) adapter les paramètres dans CKEditor.php, $storage_mode vaut soit 'files' soit 'database'
56
57c) les autres fichiers sont un exemple pour y prendre du code,
58=> piocher dans index.php!
59
60d) le dossier data et ses sous-dossiers ont besoin de droits en écriture
61
62e) adapter la connexion à la BDD si nécéssaire
63
64f) insérer dans chaque page affichant des données créées avec l'éditeur:
65<?= $ckeditor->getCSSOutsideEditorTag() ?>
66l'éditeur ne génère pas de CSS mais seulement du HTML basique, ce CSS imite le rendu à l'intérieur de l'éditeur
67
68g) ajouter dans chaque page insérant l'éditeur:
69<?= $ckeditor->getCSSEditorTag() ?>
70
71
72ce qui suit est de l'information utile si on souhaite partir de zéro avec NPM et la doc
73
74
75
765/ explication et choix des plugins
77tout ça est déjà fait, mais vous pouvez toujours personnaliser l'éditeur en choisissant des plugins différents
78
79voici ce que j'ai fait dans: lib/ckeditor5/template.php
80
81a) créer une importmap avec les chemins des fichiers
82<script type="importmap">
83{
84 "imports": {
85 "ckeditor5": "http://<?= $server_root ?>node_modules/ckeditor5/dist/browser/ckeditor5.js",
86 "ckeditor5/": "http://<?= $server_root ?>node_modules/ckeditor5/dist/browser/"
87 }
88}
89</script>
90
91b) charger une liste de plugins façon python
92import { "liste de plugins" } from "ckeditor5";
93
94c) rechoisir les plugins dans ClassicEditor.create():
95plugins: [ "liste de plugins" ] ...
96
97d) choisir les élément de la toolbar
98toolbar; { items: [ "éléments" ], ...
99
100e) autres éléments:
101toolbar des images et des tables, sécurité des envois AJAX