summaryrefslogtreecommitdiff
path: root/installation dans une application PHP.txt
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-03-21 00:47:16 +0100
committerpolo <ordipolo@gmx.fr>2025-03-21 00:47:16 +0100
commit141291c29306391f91e7ceee57ff4d6e9907ab1d (patch)
tree3896896e18f4c8d84c8108e1c80e3d8c7093e712 /installation dans une application PHP.txt
parent51a5391c96043829f7bbccda1262a51a8b8f93d8 (diff)
downloadckeditor5-master.zip
dossier publicHEADmaster
Diffstat (limited to 'installation dans une application PHP.txt')
-rw-r--r--installation dans une application PHP.txt100
1 files changed, 0 insertions, 100 deletions
diff --git a/installation dans une application PHP.txt b/installation dans une application PHP.txt
deleted file mode 100644
index 76ec201..0000000
--- a/installation dans une application PHP.txt
+++ /dev/null
@@ -1,100 +0,0 @@
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"
30
31PHP l'ajoute avec symlink dans index.php
32si le lien symbolique /srv/http/ckeditor5/node_modules/ckeditor5/dist/browser/translations
33n'a pas été créé correctement par PHP, permettre au serveur d'écrire dans "browser" ou le faire en BASH
34la 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
35
36chemin absolu
37ln -s /var/www/ckeditor5/node_modules/ckeditor5/dist/translations /var/www/ckeditor5/node_modules/ckeditor5/dist/browser/
38chemin relatif
39ln -s ../translations node_modules/ckeditor5/dist/browser/
40
41
423/ essai
43les paramètres dans CKEditor.php et les fichiers dans data permettent normalement
44- d'ouvrir l'éditeur
45- de lire des données dans des fichiers et de les insérer dans l'éditeur pour modification
46
47la sortie au "submit" est nettoyée puis se retrouve dans $html_from_editor
48
49
504/ intégration à un projet
51
52a) insérer le dossier: src/integration/ckeditor5/
53
54b) adapter les paramètres dans CKEditor.php, $storage_mode vaut soit 'files' soit 'database'
55
56c) les autres fichiers sont un exemple pour y prendre du code,
57=> piocher dans index.php!
58
59d) le dossier data et ses sous-dossiers ont besoin de droits en écriture
60
61e) adapter la connexion à la BDD si nécéssaire
62
63f) insérer dans chaque page affichant des données créées avec l'éditeur:
64<?= $ckeditor->getCSSOutsideEditorTag() ?>
65l'éditeur ne génère pas de CSS mais seulement du HTML basique, ce CSS imite le rendu à l'intérieur de l'éditeur
66
67g) ajouter dans chaque page insérant l'éditeur:
68<?= $ckeditor->getCSSEditorTag() ?>
69
70
71ce qui suit est de l'information utile si on souhaite partir de zéro avec NPM et la doc
72
73
74
755/ explication et choix des plugins
76tout ça est déjà fait, mais vous pouvez toujours personnaliser l'éditeur en choisissant des plugins différents
77
78voici ce que j'ai fait dans: lib/ckeditor5/template.php
79
80a) créer une importmap avec les chemins des fichiers
81<script type="importmap">
82{
83 "imports": {
84 "ckeditor5": "http://<?= $server_root ?>node_modules/ckeditor5/dist/browser/ckeditor5.js",
85 "ckeditor5/": "http://<?= $server_root ?>node_modules/ckeditor5/dist/browser/"
86 }
87}
88</script>
89
90b) charger une liste de plugins façon python
91import { "liste de plugins" } from "ckeditor5";
92
93c) rechoisir les plugins dans ClassicEditor.create():
94plugins: [ "liste de plugins" ] ...
95
96d) choisir les élément de la toolbar
97toolbar; { items: [ "éléments" ], ...
98
99e) autres éléments:
100toolbar des images et des tables, sécurité des envois AJAX