Editeur Jaxe pour SPIP

copie d'écran

Qu'est-ce que l'applet Jaxe pour SPIP ?

C'est une applet Java permettant d'éditer des articles de SPIP avec une interface graphique, sans avoir à connaître les raccourcis SPIP.

Quel est l'avantage par rapport à d'autres solutions ?

L'applet nécessite seulement d'avoir Java 1.4 ou ultérieur d'installé pour pouvoir l'utiliser. Elle peut donc marcher sur tous les navigateurs, y compris Safari, et sur tous les systèmes d'exploitation (du moment que Java est installé). De plus, il n'y a pas de bidouille javascript pour que cela fonctionne sur un navigateur ou sur un autre. L'applet devrait donc continuer à marcher avec les versions futures des navigateurs, sans modification.

D'autre part, le code SPIP généré par l'applet utilise au maximum les raccourcis SPIP. On peut donc créer un texte avec, et le modifier directement avec les raccourcis SPIP, puis plus tard l'éditer à nouveau avec l'applet. Il n'y a de HTML généré que dans deux cas: quand on fait des tableaux avec des alignements dans les cellules, et quand on met du texte en indice ou exposant (les balises sup/sub ne font à priori pas partie des raccourcis SPIP). Les nouveaux raccourcis (SPIP 1.9) des tableaux pour les fusions de cellules fonctionnent bien.

Un autre avantage est que l'applet est distribuée sous licence GPL, donc que le code source est disponible et qu'on a le droit de le modifier.

Comme SPIP, Jaxe est WYSIWYM (What You See Is What You Mean, par opposition à WYSIWYG). On code le sens du texte par opposition à la forme. Cela permet d'éviter que les rédacteurs ne sabotent vos beaux squelettes en utilisant des couleurs ou des styles qui ne vont pas bien avec.

Comment l'installer ?

Téléchargement du dossier compressé : jaxespip190.tar.gz pour SPIP 1.9.0

Téléchargement du dossier compressé : jaxespip191.tar.gz pour SPIP 1.9.1

Avec SPIP 1.9, il suffit de placer le dossier jaxespip dans le dossier plugins qui se trouve à la racine du site, et d'activer le plugin dans le menu Configuration de l'administration (il faut l'interface complète).

Versions plus récentes : il n'existe pas de plugin pour les versions plus récentes de SPIP. SPIP n'ayant pas de système de plugin pour les éditeurs d'articles, les mises à jour étaient trop complexes et le développement de "Jaxe pour SPIP" s'est arrêté à SPIP 1.9.1.

Comment l'utiliser ?

Il suffit de cliquer sur le bouton "Editer avec Jaxe" en haut de la zone de l'article, de faire les modifications souhaitées, de cliquer sur le bouton Enregistrer dans la fenêtre qui s'est ouverte pour faire la transformation vers SPIP, et de ne pas oublier de cliquer sur l'autre bouton Enregistrer pour que SPIP enregistre les modifs.

L'applet a une barre de menus en haut de la fenêtre qui permet d'insérer un élément dans le texte (on peut aussi le faire avec un clic droit). On peut obtenir une aide au sujet d'un élément en cliquant sur le menu, en relâchant la souris, et en attendant un peu avec la souris sur le menu de l'élement. Certains éléments ont des attributs, que l'on peut éditer quand on insère l'élément ou quand on clique dessus (par exemple, l'élément LIEN a les attributs "type" et "numéro"). Les éléments s'affichent en général sous la forme d'une balise de début et d'une balise de fin qui délimitent une zone de texte, ou juste d'une balise "vide". Les tableaux s'affichent (et c'est là que c'est agréable par rapport à SPIP) sous forme de tableaux.

On change de paragraphe comme en SPIP classique, en laissant une ligne vide. Un autre truc venant de SPIP à connaître: utiliser "~" pour faire un espace insécable.

On peut faire des copier-coller dans la fenêtre, mais souvent les raccourcis clavier ne marchent pas parce-qu'ils sont interprétés par le navigateur et l'information n'arrive pas jusqu'à l'applet (le "coller" du navigateur ne fait pas la même chose que le "coller" de l'applet).

Il n'est pas possible de coller dans l'applet un texte venant d'un autre programme (c'est interdit pour des raisons de sécurité), mais on peut par contre faire des glisser-déposer. Ca revient au même, cela demande juste un peu d'adresse :)

Pour utiliser un style: taper le texte d'abord, puis le sélectionner, et choisir le style. On ne peut utiliser qu'un style à la fois. Pour revenir à un texte sans style, on utilise le menu Style-Normal.

Quelle est la différence avec Jaxe ?

L'applet a été créée à partir de Jaxe, une application Java permettant d'éditer des fichiers XML. Comme Jaxe ne comprend que le XML, l'applet transforme automatiquement les raccourcis SPIP en XML avant l'édition, et retransforme le résultat de XML vers SPIP quand on enregistre. Il y a de nombreuses différences avec l'application Jaxe, étant donné que l'applet est spécialisée pour SPIP, et qu'une applet n'a pas les mêmes droits qu'une application Java. Par exemple, une applet n'a pas le droit de lire ou d'écrire un fichier sur le disque (il est donc impossible de lire des images, il faut le faire indépendamment, avec l'interface de SPIP). Une applet n'a pas le droit de lire le contenu du presse-papier (donc on ne peut pas copier dans l'applet un texte issu d'un autre programme). Une applet doit être chargée par internet avant l'exécution (donc le chargement peut être un peu long, et il n'est pas raisonable d'inclure un dictionnaire de français avec pour permettre la correction de l'orthographe).

Quels sont les problèmes connus ?

Si vous constatez d'autres problèmes, merci de me prévenir.

Qui est l'auteur ?

Damien Guillaume / Observatoire de Paris / U.F.E. / C.E.T.I.
mail : Damien.Guillaume à obspm.fr

Avec l'utilisation de Jaxe et Jakarta Oro

Comment SPIP pourrait évoluer pour prendre avantage de Jaxe ?

Un problème majeur dans l'installation d'un éditeur comme Jaxe est qu'il faut toucher au cœur de SPIP. Cela signifie qu'il faut recommencer à chaque nouvelle version, et on peut donc abandonner cette solution pour des raisons pratiques. SPIP devrait avoir un mécanisme permettant de choisir un éditeur externe sans toucher au code.

Une autre amélioration intéressante serait que SPIP utilise XML en interne pour stocker les articles. Cela permettrait :

Une autre solution

L'évolution de SPIP n'allant pas dans le sens d'un stockage sous forme de langages XML séparant le fond de la forme, la création d'un nouveau CMS devenait nécessaire. C'est désormais chose faite avec WebJaxe, qui permet d'éditer directement des fichiers XML sémantiques avec une interface web basée sur Jaxe.