Le 13/05/2014 13:59, Guirec Corbel a écrit :
J'ai fait un petit éditeur inline que vous pouvez voir ici :
https://github.com/GCorbel/frontendeditor. Le principe est simple, il
permet de remplacer une zone par une zone d'édition. Ensuite, il est
possible d'utiliser des actions pour sauvegarder ce qui envoie une
requête ajax. Vous pouvez voir un exemple ici :
https://github.com/GCorbel/frontendeditor.
Merci Guirec. Malheureusement je ne trouve pas l'exemple, sans doute pas
les yeux en face des trous ce matins ;)
Si j'ai bien compris ton outil a pour but d'éditer directement la page
lue, comme Aloha Editor (http://aloha-editor.org/) non ?
Il est assez facile d'intégrer un nouvelle éditeur. Il suffit de faire
un classe Editor qui répond à 4 actions :
- active : Change les zones en éditeur
- commitAll : Enregistre les valeurs
- deactive : Revient à l'état initial
- el : Renvoie les zones modifiables
Vous pouvez voir un exemple simple ici :
https://github.com/GCorbel/frontendeditor/blob/master/src/basic_editor.coffee.
Je pense que ça serait assez facile de faire un éditeur markdown. Si
quelqu'un est intéressé, faites moi signe.
L'idée de développer un moteur qui récupère les données, les transforme
puis les réintègre à la place me plaît bien. Il suffit après d'utiliser
des modules de transformation (html, textile, markdown, etc.). Après
pour la transformation je vois deux solutions :
- côté serveur (AJAX) : la plus fidèle, car on utilise le même moteur de
rendu côté serveur et client, mais aussi la plus coûteuse d'un point de
vue ressources, car pour un outil live il faudrait faire une requête à
chaque touche... On pourrait diminuer cet impact via un service en ligne
dont le but serait uniquement de parser le texte et renvoyer la
conversion. Ca diminuerait la charge sur l'appli en elle-même mais quid
en cas d'indisponibilité de ce serveur ?
- côté client : la plus légère, même si on rajoute du payload à la page,
mais avec un risque d'interprétation différente entre le parseur côté
client et celui côté serveur.
Bref, qui a dit qu'il y a une méthode idéale ? ;)
--
Alexandre
--
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse
railsfrance-unsubscr...@googlegroups.com
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant,
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .