summaryrefslogtreecommitdiff
path: root/installation dans une application PHP.txt
diff options
context:
space:
mode:
Diffstat (limited to 'installation dans une application PHP.txt')
-rw-r--r--installation dans une application PHP.txt95
1 files changed, 95 insertions, 0 deletions
diff --git a/installation dans une application PHP.txt b/installation dans une application PHP.txt
new file mode 100644
index 0000000..210902c
--- /dev/null
+++ b/installation dans une application PHP.txt
@@ -0,0 +1,95 @@
11/ installation
2
3cd "mon projet"
4git clone git@ordipolo.fr:ckeditor5
5copier tout son contenu (sauf le .git) dans le dossier racine, attention quand un index.php existe déjà
6rm -r ckeditor5 --interactive=never
7
8npm install ckeditor5
9composer require htmlawed/htmlawed
10
11les 11 fichiers récupérés par le git clone:
12lib/ckeditor5/create.php
13lib/ckeditor5/clean_html.php
14lib/ckeditor5/view.php
15lib/ckeditor5/image_upload.php
16lib/ckeditor5/articles_hors_editeur.css
17config.php
18installation dans une application PHP.txt
19index.php (appel des contrôleurs)
20src/templates/page.php (HTML principal de la page web)
21data/page/html/articles.html
22data/page/images/chirurgien jaune.jpg
23
24
252/ à vérifier:
26créer un lien symbolique comme ceci (commande pour debian):
27ln -s /var/www/ckeditor5/node_modules/ckeditor5/dist/translations /var/www/ckeditor5/node_modules/ckeditor5/dist/browser/
28
29ça régle un problème de chemin rencontré à la ligne: import coreTranslations from 'ckeditor5/translations/fr.js'; dans lib/ckeditor5/template.php
30gràce à un lien symbolique, le programme s'attend à trouver un dossier "translations" dans "browser"
31
32
333/ essai
34les paramètres dans config.php et les fichiers dans data permettent normalement
35- d'ouvrir l'éditeur
36- de lire des données dans des fichiers et de les insérer dans l'éditeur pour modification
37
38la sortie au "submit" est nettoyée puis se retrouve dans $html_from_editor
39
40
413/ intégration à un projet
42
43a) index.php et src/templates/page.php sont à remplacer en fonction de notre application
44regarder à l'intérieur et adapter son propre code
45
46b) config.php est à personnaliser et/ou à copier ailleurs,
47du moment que les variables à l'intérieur restent disponibles
48
49c) le dossier data et ses sous-dossiers ont besoin de droits en écriture
50
51a) adapter le routeur dans index.php
52
53b) adapter ce qui suit "// modèle" dans index.php et lib/ckeditor5/create.php pour obtenir les données souhaitées (BDD, fichiers)
54
55c) adapter le fichier config.php (vérifier les chemins)
56
57d) ajouter <?= $css_editeur ?> dans le <head>
58ajouter aussi <?= $contenu ?> dans le <body> pour afficher l'éditeur ou du HTML créé par l'éditeur
59
60e) insérer dans chaque page affichant des données créées avec l'éditeur:
61<link rel="stylesheet" href="lib/ckeditor5/article_hors_editeur.css" />
62l'éditeur ne génère pas de CSS mais seulement du HTML basique, ce CSS imite le rendu à l'intérieur de l'éditeur
63
64normalement c'est bon fini, ce qui suit est de l'information utile si on souhaite partir de zéro avec NPM et la doc
65
66
67
68
69
705/ explication et choix des plugins
71tout ça est déjà fait, mais vous pouvez toujours personnaliser l'éditeur en choisissant des plugins différents
72
73voici ce que j'ai fait dans: lib/ckeditor5/template.php
74
75a) créer une importmap avec les chemins des fichiers
76<script type="importmap">
77{
78 "imports": {
79 "ckeditor5": "http://<?= $server_root ?>node_modules/ckeditor5/dist/browser/ckeditor5.js",
80 "ckeditor5/": "http://<?= $server_root ?>node_modules/ckeditor5/dist/browser/"
81 }
82}
83</script>
84
85b) charger une liste de plugins façon python
86import { "liste de plugins" } from "ckeditor5";
87
88c) rechoisir les plugins dans ClassicEditor.create():
89plugins: [ "liste de plugins" ] ...
90
91d) choisir les élément de la toolbar
92toolbar; { items: [ "éléments" ], ...
93
94e) autres éléments:
95toolbar des images et des tables, sécurité des envois AJAX