Editeur wysiwyg pour faciliter l'édition des articles
Un article de FormaVia.
Il peut être pratique, dans une perspective d'appropriation des usages, et pour éviter les "barrières" liées à la syntaxe wiki, de rajouter un éditeur wysiwyg ("what you see is what you get" = ce qui est affiché lors de l'édition est identique au rendu), comme celui que vous pouvez trouver sur FormaVia :
Sommaire |
Liens utiles
- l'extension est une adaptation de FCKEditor dont la page est sur http://mediawiki.fckeditor.net/
- le mode d'emploi (en anglais) est disponible sur http://mediawiki.fckeditor.net/index.php/FCKeditor_integration_guide
- et le lien pour téléchargement (sur SVN) http://svn.fckeditor.net/MediaWiki/trunk
Mode d'emploi abrégé
- copier le contenu du fichier compressé (le dossier FCKEditor) dans le dossier /extensions/ du wiki
- ajouter les lignes suivantes dans LocalSettings.php (seule require... est nécessaire, mais pour des raisons de maintenance, il est utile d'indiquer les autres modifications effectuées)
# Extension FCKEditor pour mediawiki
require_once('extensions/FCKeditor/FCKeditor.php');
// Voir aussi http://mediawiki.fckeditor.net/index.php/FCKeditor_integration_guide pour les modifs
// dans ./includes/EditPage.php et ./includes/Sanitizer.php
→ Lire les informations sur http://www.mediawiki.org/wiki/Extension:FCKeditor_(Official)
→ Voir le guide d'intégration de FCKeditor http://mediawiki.fckeditor.net/index.php/FCKeditor_integration_guide (EN)
Pour les anciennes versions de Mediawiki (avant 1.13 exclue), il peut être nécessaire d'appliquer les 2 patchs suivants :
- il y a 2 modifications à faire dans /includes/EditPage.php et /includes/Sanitizer.php
- dans /includes/EditPage.php il faut remplacer
$wgOut->addHtml( wfHidden( 'wpAutoSummary', $autosumm ) );
if ( $this->isConflict ) {
par
$wgOut->addHtml( wfHidden( 'wpAutoSummary', $autosumm ) );
if ( $this->isConflict && wfRunHooks( 'EditPageBeforeConflictDiff', array( &$this, &$wgOut ) )) {
- et dans /includes/Sanitizer.php
return count( $attribs ) ? ' ' . implode( ' ', $attribs ) : ;
par
if ( !wfRunHooks( 'SanitizerAfterFixTagAttributes', array( $text, $element, &$attribs ) ) ) { return ;}
return count( $attribs ) ? ' ' . implode( ' ', $attribs ) : ;
je ne dirais pas que c'est simplissime, mais ce n'est pas insurmontable !~)
Travailler avec et sans l'éditeur
Il est parfois utile de se débarrasser de l'éditeur avancé : pour cela vous pouvez choisir sur quelles pages l'afficher, ou pas :
- dans les préférences de chaque utilisateur
- avec des variables de configuration (je ne détaille pas ici)
- en ajoutant __NORICHEDITOR__ dans le corps de la page (n'importe où..)
- en cliquant sur Wikitext dans l'éditeur ;) (fonction très utile pour faire des aller-retours entre syntaxe wiki et rendu)
Autres remarques
- cet éditeur n'est pas compatible avec GoogleMapsExtension (voir l'article à ce sujet) : utiliser __NORICHEDITOR__ lorsque l'on se sert de l'extension. Pour être précis, c'est l'éditeur de carte qui ne s'affiche pas car il est remplacé par l'éditeur avancé.
- la traduction des textes utilisés par cette extension est incomplète :
- récupérez sur ce wiki la version francisée du fichier /extensions/FCKeditor/plugins/mediawiki/fckplugin.js , qui permet de traduire les infobulles sur les boutons de l'éditeur en français
- modifier également "en" en "fr" dans /extensions/FCKeditor/fckeditor_config.js ligne 33 (environ)
FCKConfig.DefaultLanguage = 'en' ;
- il reste encore quelques messages non traduits...
- cette extension gère les modèles, extensions et autres syntaxes wiki avancées, et les affiche sous une forme de "tag spécial" : il faut toutefois prévisualiser la page pour voir le rendu réel ;
- certaines extensions ne "passent pas" lors de la prévisualisation (c'est le cas par exemple des flux RSS intégrés) : il convient de ne pas en tenir compte, et de vérifier le rendu final en sauvegardant la page ;
- cet éditeur gère les raccourcis clavier ;
- il y a certainement d'autres réglages à faire pour améliorer encore cette extension : à tester !)
Signaler cette page 

Bonjour, j'ai un problème au niveau de la modification du code dans Sanitizer.php j'ai pourtant changé les lignes cependant lorsque je lance mon site en local il me dit:
Parse error: parse error in C:\wamp\www\wiki\includes\Sanitizer.php on line 740
à la ligne 740, c'est la ligne qui a été modifié. La ligne est bonne??
--Stef49 10 mai 2010 à 12:05 (CEST)