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 .

Répondre à