Créer des pages web en wysiwig dans ie

Description

Le but de cette application est de permettre la construction de pages web en quasi WYSIWYG dans IE.
Elle utilise des fichiers XML pour stocker la liste des éléments de la page (images et texte) ainsi que leurs propriétés.
Une interface permet de déplacer chacun des élements (texte ou image) simplement en les faisant glisser à l'aide de la souris et de modifier leurs propriétés grâce à une feuille de propriétés de type VB (sans avoir la prétention d'être aussi complet :)

Il y a quelques fonctionnalités à ajouter mais le code constitue déjà une bonne base.

Les fichiers générés ne s'affichent pas correctement sous Netscape. Il faudrait que je génère un code spécifique pour Netscape... Elles fonctionent sous IE (dernières versions) et sous Mozilla (testé avec un BSD).

Source / Exemple :


<!-- Fichier /test.asp : utilisé pour afficher la page, on y définit le nom du fichier xml à utiliser -->
<!--
Author	: Emmanuel BRUNO-GAZIGNAIRE
Email	: ___nospam___bmanu@francenet.fr
Web Site: http://gdf.zalem.net
-->
<!-- #include virtual="/functions/loadfromfile.asp" -->
<%

	Dim XmlDataFile

	'Put your statements here in order to intialize you variable :
	MyVariable = "This is an example of dynamic text included in your page" 

	'Choose your xml file for this page
		XmlDataFile = Server.MapPath(Application("xmlFolder") & "/test.xml")
		
		%>
<!-- #include virtual="/functions/doReadXml.asp" -->
<html>
<head>
<link rel="stylesheet" type="text/css" href="/css/oop.css">
<style type="text/css">
<%= strStyle %>
</style>
<script language="javascript">

</script>
</head>
<body>
<div id="main" class="main">
<%= strElts %>
</div>
</body>
</html>

<!-- Fichier /xml/test.xml : contient la description des données de la page -->
<?xml version="1.0" ?>
<!DOCTYPE page SYSTEM "main.dtd"[]>
<page>
	<pageItem>
		<texte src="test1.htm" class="TexteAccueil" leftPos="11" topPos="127" width="200" height="50" zIndex="0" autreProp="" />
	</pageItem>
	<pageItem>
		<image src="MSDN_banner.gif" srcClick="net_small.gif" alt="" leftPos="199" topPos="91" width="250" height="60" onclick="" zIndex="1" autreProp="" />
	</pageItem>
	<pageItem>
		<variable name="MyVariable" class="TexteAccueilFB" leftPos="362" topPos="126" width="200" height="80" zIndex="2" autreProp="" />
	</pageItem>
</page>

<-- fichier /functions/doReadXml.asp -->
<!--
Author	: Emmanuel BRUNO-GAZIGNAIRE
Email	: ___nospam___bmanu@francenet.fr
Web Site: http://gdf.zalem.net
-->
<%
		'Load and read file
		%>
		<!-- #include virtual="/functions/loadXmlFile.asp" -->
		<!-- #include virtual="/functions/readPageitemXMLFile.asp" -->
		<%
		
		'get values
		set result = readPageItemXmlFile(pageItem)
		strStyle = result.strStyle
		strScript = result.strScript
		strElts = result.strElts
		set result = nothing
%>

<!-- fichier /functions/loadXmlFile.asp -->
<%

'Author	: Emmanuel BRUNO-GAZIGNAIRE
'Email	: ___nospam___bmanu@francenet.fr
'Web Site: http://gdf.zalem.net
	
		'Creates an object objParser. It will call an instance of the system XML parser :
		Dim objParser
		Set objParser = Server.CreateObject("Microsoft.XMLDOM" )
		
		'and an object XML Document. It will contain loaded data :
		Dim xDoc 
		Set xDoc = Server.CreateObject("MSXML.DOMDocument")
		
		'Put Async property of object XML Document (xdoc) to false 
		'for more information, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmproasync.asp
		xDoc.Async = false
		
		'verify validity of the XML loaded document with the parser :
		'for more information, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmprovalidateonparse.asp
		xDoc.validateOnParse = True

		'Load file
		
		Dim XmlFileLoaded
		XmlFileLoaded = xDoc.Load(XmlDataFile)
			
		If not XmlFileLoaded then
			Response.Clear
			Dim strErrText 
			Dim xPE 
			Set xPE = xDoc.parseError
			With xPE
				strErrText = "<pre>An XML Document failed to load " & _
				"due the following error." & vbCrLf & _
				"Error #: " & .errorCode & ": " & .reason & _
				"Line #: " & .Line & vbCrLf & _
				"Line Position: " & .linepos & vbCrLf & _
				"Position In File: " & .filepos & vbCrLf & _
				"Source Text: " & .srcText & vbCrLf & _
				"Document URL: " & .url & "</pre>"
			End With
			Response.Write strErrText
			Response.End
		End if
%>

<!-- J'arrête là, les fichiers sont tous dans le zip. -->

Conclusion :


Je ferai sans doute un site de démo sur ma machine dès que j'aurai un peu de temps.
Avant il faut que je limite le type et la taille des fichiers à uploader.

L'appli a été testée avec IE 6.
Elle utilise du DHTML donc il est probable qu'elle ne fonctionne pas sur de vieilles versions.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.