Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
20 juin 2007 à 09:48
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
21 juin 2007 à 09:41
Bonjour,
Je suis en train de développer un editeur WYSIWYG. Je voudrais lorsque l'utilisateur a fini sa création qu'il puisse directement l'enregistrer sur le serveur et non pas en local;
J'arrive à faire la sauvegarde en local mais je ne sais pas si c'est possible de donner la possibilité à l'utilisateur d'enregistrer directement sa création sur le serveur;
Je ne connais pas très bien AJAX, donc si quelqu'un peut m'aider, ça serait super sympa.
Je mets mon code permettant de sauvegarder en local.
function CreateFile(path, text)
{
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile(path, true);
tf.WriteLine(text) ;
tf.WriteBlankLines(1) ;
tf.Close();
}
function saveAs(path)
{
var htmlInEditor =Editor.innerHTML;
htmlInEditor='<html><head> </head>' + htmlInEditor + '</html>';
CreateFile(path, htmlInEditor);
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 20 juin 2007 à 10:27
Bonjour,
c'est un problème "langage serveur" ( asp, php, ruby... )
depuis le html/javascript, on appelle un script sur le serveur
qui y mémorisera ce qu'il veut.
appel soit par l'url, soit avec un formulaire, soit avec ajax.
exemple php, avec un formulaire :
<form... action="toto.php" method="post" ...>
tous les champs de saisie avec des name
</form>
et php gère $_POST["name des champs de saisie"]
on pourrait écrire un ActiveX ( ou trouver ? ) qui enregistrerait
sur le serveur, mais serait-ce raisonnable ?
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 juin 2007 à 10:35
Salut,
Merci pour ta réponse Bultez.
Du coup, c'est pas possible de sauvegarder directement sur le serveur la page en utilisant httpRequest.send ?
Le problème, c'est que je voudrais que l'utilisateur sauvegarde directement sa page sur le serveur et non pas en local. Tout en sachant que l'interface est stockée sur le serveur.
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 juin 2007 à 11:26
je pense que je vais abandonner la solution d'enregistrer directement la page sur le serveur.
Je vais proceder de cette façon, dis moi si c'est judicieux. Je vais autoriser l'enregistrement de la page sur le disque dur du client puis faire un file upload de ce fichier.
Est ce que c'est possible d'automatiser l'upload de ce fichier directement en utilisant un script?
Jarod_Delaware
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 20 juin 2007 à 12:03
mon avis ( il ne vaut pas grand chose, mais comme c'est le mien
je le respecte ! )
_ php. pour ce genre de truc, "simple à faire".
( tu trouveras des exemples, à adapter, partout et sur PHPCS aussi )
un ActiveX qui télécharge sur le serveur est à écrire... et pas en javascript.
quand à ta solution de télécharger automatiquement, pareil, il va falloir
développer l'ActiveX et un fichier sera en plus sur un support du client.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 20 juin 2007 à 12:06
Salut
la meilleur solution etait ta premiere idee couplee a un code php, asp, perl, java ou autre...
en effet, je me vois mal enregistrer sur mon HD tout ce que je poste sur codes-sources, avant de l'envoyer (ce n'est qu'un exemple) en plus, l'enregistrement chez le client, ca sera IE only
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 juin 2007 à 12:20
Ok, merci pour vos réponses. En fait, mon interface WYSIWYG est cencé créer des pages web qui seront par la suite envoyées à une liste de diffusions. C'est pour celà que je voulez enregistrer sous forme de fichier.htm.
Du coup, en adoptant une solution php, asp, etc... je serais bien obligé de stocker le code HTML crée par mon interface dans une table puis de générer un fichier HTML à partir du code stocké dans ma table. Je sais pas ce que vous en pensez. Peut être qu'il existe une solution moins casse tête.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 20 juin 2007 à 12:49
ton wysiwyg est dans un iframe, un div...
met le innerHTML dans le value d'un textarea
envoie le au php qui stockera dans un bête fichier texte
( ou table d'une base de données si tu y tiens )
pour la diffusion ( ou php là aussi sera nécessaire, enfin le plus simple )
tu pourra générer ce qut tu veux à partir des fichiers textes
( si tu le met dans un div, un iframe... = le wysiwyg originel )
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 juin 2007 à 13:52
Oui mon wysiwyg est dans une balise div. Je vais essayer de le passer en textarea en lui passant comme value="innerHTML".
Question bête, c'est pas possible de faire la même opération si je suis à l'intérieure d'une balise div?
yousfane
Messages postés243Date d'inscriptionvendredi 24 novembre 2006StatutMembreDernière intervention21 décembre 20072 20 juin 2007 à 14:08
Salut
Ta solution d'ActiveX ne peut pas marcher chez tout les visiteurs, ça marche seulement sous IE
>>je serais bien obligé de stocker le code HTML crée par mon interface dans une table
Pas du tout, tu peux enregistrer ça dans un fichier sur ton serveur
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 20 juin 2007 à 14:27
>>je vais essayer de le passer en textarea en lui passant comme value= "innerHTML".
>>Question bête, c'est pas possible de faire la même opération si je suis à l'intérieure d'une balise div?
en javascript textarea .value =div.innerHTML
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 20 juin 2007 à 14:29
j'ai mangé la moitié du message...
innerHTML=>value juste avant l'envoi du formulaire
>>f
aire la même opération si je suis à l'intérieure d'une balise div?
je n'ai pas compris la question
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 juin 2007 à 14:59
Question à Bultez
:
Ma région éditable, là où l'on peut créer sa page WEB dans mon WYSIWYG est à l'intérieure d'une balise div et non pas dans un textarea.
...
J'ai essayé de mettre un textarea à la place du div mais je ne peux plus faire de mise en forme sur mon texte ou insérer des images.
Question pour yousfane :
Quand tu dis : Pas du tout, tu peux enregistrer ça dans un fichier sur ton serveur
Comment est ce qu'on peut faire ça. En passant par php?
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 juin 2007 à 15:40
Merci Bultez pour toutes ces explications. Par contre, encore trois petites questions :
1) le textarea sera visible dans mon interface WYSIWYG?
2) Ma région editable qui se trouve dans une balise
...
devra se trouver à l'interieure ou à l'exterieur ou à l'interieur de la forme?
3) Tu as marqué :
<!-- par exemple, on pourrait envoyer par javascript--> Est que tu aurais un exemple?
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 juin 2007 à 15:55
Salut,
Donc si j'ai bien compris, je récupère la création qui est contenu dans ma balise
...
dans le textarea de façon à le transmettre au serveur que j'enregistre dans un fichier sur le serveur?