Bonjour à tous !
J'utilise actuellement CKEditor 4.1.2 couplé à KCFinder 2.51 dans le cadre d'une appli web pour éditer divers contenus de pages HTML.
Rien à signaler en local concernant le fonctionnement de l'outil, quand je veux intégrer une image à mon corps de page, je clique sur "Image" -> "Explorer le serveur", je sélectionne mon image, son lien apparaît dans le champ URL du menu "Image", la prévisualisation en-dessous fonctionne, mon image est intégrée correctement à mon corps de page, tout est parfait.
Cependant, cette appli doit être transposée sur un serveur mutu 1&1. Le problème qui se produit n'est alors pas gravissime en soi et facilement corrigible manuellement, mais sachant que l'appli est ensuite livrée à un client, il est mieux d'automatiser cette correction.
Le problème en lui-même réside dans le champ URL du menu "Image". Je parviens jusqu'à l'étape de sélection d'image, et là, boum, le lien qui s'affiche n'est pas correct.
Mon arborescence fonctionne ainsi : à la racine du serveur, j'ai un dossier "js", dans lequel on trouve le dossier "ckeditor" contenant ... CKEditor, dans lequel on trouve le dossier "kcfinder" contenant ... KCFinder, dans lequel on trouve le dossier "upload" contenant les fichiers que j'envoie, dans lequel on trouve le dossier "images" avec les images que j'envoie.
Local :
En gros, le lien absolu d'une image ressemble à ça : "localhost/dossierprojet/sousdossierprojet/js/ckeditor/kcfinder/upload/images/monimage.jpeg" .
Dans le champ URL du menu "Image", seule la partie "/dossierprojet/sousdossierprojet/js/ckeditor/kcfinder/upload/images/monimage.jpeg" est conservée, mais je pourrais inscrire "js/ckeditor/kcfinder/upload/images/monimage.jpeg" sans problème, et mon image serait toujours prévisualisée correctement.
Serveur :
Dans le champ URL du menu "Image", seule la partie "/images/monimage.jpeg" est conservée, mais je pourrais inscrire "js/ckeditor/kcfinder/upload/images/monimage.jpeg" sans problème, et mon image serait prévisualisée correctement.
Et le problème vient donc du fait que le lien donné par défaut est faux.
Plein de paragraphes pour pas grand chose, je conçois (vu qu'en temps normal, j'explique très mal, je préfère détailler). On peut corriger ça facilement, mais vu que l'utilisateur final risque de ne pas nécessairement y penser systématiquement, je préfère que ce problème soit corrigé.
Voilà quelques détails au niveau du code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Extrait de js/ckeditor/config.js CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: // config.language = 'fr'; // config.uiColor = '#AADC6E'; config.filebrowserBrowseUrl = 'js/ckeditor/kcfinder/browse.php?type=files'; config.filebrowserImageBrowseUrl = 'js/ckeditor/kcfinder/browse.php?type=images'; config.filebrowserFlashBrowseUrl = 'js/ckeditor/kcfinder/browse.php?type=flash'; config.filebrowserUploadUrl = 'js/ckeditor/kcfinder/upload.php?type=files'; config.filebrowserImageUploadUrl = 'js/ckeditor/kcfinder/upload.php?type=images'; config.filebrowserFlashUploadUrl = 'js/ckeditor/kcfinder/upload.php?type=flash'; };J'ai déjà pas mal d'alternatives sous le coude, mais rien de vraiment optimal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // Extrait de js/ckeditor/kcfinder/config.php 'uploadURL' => "upload", 'uploadDir' => "upload", // côté serveur, si je laisse une chaîne vide, l'exploration dans KCFinder ne pointe pas vers le bon dossier
Je ne peux pas placer le dossier de destination des images à la racine, car l'appli est elle-même dans un dossier.
Je pourrais renseigner un lien absolu (remplacer 'uploadURL' => "upload" par 'uploadURL' => "http://".$_SERVER['HTTP_HOST']."/sousdossier/js/ckeditor/kcfinder/upload" ), mais un éventuel changement de serveur s'avérerait quelque peu chaotique.
Existe-il alors une autre solution à laquelle je n'aie pas pensé ? D'avance, je vous remercie pour vos éventuelles réponses !
PS : Je tarderai peut-être à répondre, je ne reprends pas l'appli avant Samedi.
Partager