Explanation concerning the site
In this page, I explain how I designed my web site. Beyond the content, which is not always interesting, I think that the approach I chose is worth to be explained. In the last section of this document, I explain what I intend to do with this site in the future.
HowWe focus here on the way this site was yielded.
This site was fully yielded from XML files! What does it mean? Simply that I totally separated the content from the form. Appart from very minor parts, this is a full XML site! Appart from minor and external parts which were written in HTML (or the HTML was yielded when I think of Microsoft Word documents transformed into HTML), the major part of this site resides in XML.
Before the XML era, there was chaos...
Before I made XML's acquaintance, I was like everybody, I wrote my site in pure HTML. This means that everytime that I wanted to add a page to the site, I had to change the menu entries everywhere, I had to perform a subtle cut & paste from a template HTML file, so as to spare me writting time. Moreover, since my former site was extensively using HTML frames and framesets, you may fancy how much tedious and cumbersome work it respresented.
Moreover, the content of my web site was emprisonned within the HTML code, so that I could not output the content in another format. OK, you may say that I could have developed an HTML generator, and you sould be right. The only thing is that the format under which I would have stored the content information would have been totally proprietary.
In my old site, each time I wanted to propose a traduction of a page, I had to write two different HTML files. In short, the time I dedicated to maintain this site was not in a good balance with the improvement it brought.
The benefits of XML
You may say: "Once again this boring XML, that is talked about everywhere!". Let me convince you that this is not pure trend and that XML may bring you a lot of flexibility, and spare you a lot of time when designing a web site.
Write onceThe first benefit of XML is that you do not have to write the same information several times. If you intend to publish an information that is bound to be re-used somewhere else, then the fact that you store this information under the XML format will enable you to inline this information here, there and everywhere. A common default of many projects is that the documentation is not centralized, introducing a lot of by-hand duplication: this duplication is not always updated when it changes.
A huge benefit of XML is that it conforms to a standard and that XML may be transformed through a technology, which is itself standardized and also expressed in XML. I am refererencing to XSLT, which offers the opportunity to transform any XML file into whatever format that comes to your mind.
Besides, I intend to make use of XSL FO in order to yield some PDF files. I also intend to use the Scalable Vector Graphics (SVG) standard to issue graphs. It would be nice that I generate some Flash in this site...
Run everywhereI intentionally borrow this expression from Sun when thy talk about Java. But with XML, this is still more obvious, since the technology is not proprietary at all. Both Microsoft and the UNIX/Linux world lead by Sun and IBM agree, advertise and encourage this format. Even new protocols are based upon XML, like SOAP.
Write once, treat anyhow, run everywhereAll in all, I think that the title summarizes what I expect from a standard like XML. And I think that these are the features that made me choose this information storing technology for this site.
This site may be re-generated from a single button test. Indeed, as ever I wrote an Ant script that performs the XSL transformations, melt the static HTML files with what has been generated, and then eventually uploads the result by FTP on the web server that host those pages.
What difference it makes
Now, when I want to update my site, I just have to edit the XML file that contains the part I wish to change, and invoke my Ant script, and everything is updated. If I wish to create a new page, I just have to create a new XMLfile, conforming to my internal XML representation, add the reference of the file inside another portal file that contains the information concerning all the content files, and eventually invoke my script.
Inside the HTMLNow that I have explained the way I yielded this site, I should say a technical word about the stuff put in the generated HTML pages. Each time I talk about a technical item, I try to provide some basic explanation
I did my best so as my web site may be browsed with all the current standard browsers. However, it may happen that some pages are not displayed properly with some browsers: this web site has been fully tested under Internet Explorer V6.0 , which means that it is somehow optimized for that browser.
Moreover, this site should still be OK in a low resolution like 800*600.
HTML frames and framesets
I use the HTML tag
If your window is composed by three frames, then you do not have to worry, because your browser supports this technology. Otherwise, I am not really prepared to that eventuality and you will have to go without any menu frame (that is the price to say with old browser)!
For some details about HTML normalization and for some tutorials, click here and type HTML in the text form.
Cascading Style Sheet
At my own risk, I use this nice feature of Cascading Style Sheet, because I think this norm should be really working well, and that it really improves the HTML pages design.
For some explanations about Cascading Style Sheet and for some tutorial, click here and type CSS in the text form.
In the future
A site is always under construction. This site is far from having taken the layout that I wish. Layout is one thing, content an other, and on this issue, there is still much to do.
Since this site is a kind of visit card, I will mainly focus on the layout. Some people do not like HTML frames, so I am going to design a frameless version of that site. I will also generate some images instead of having only text everywhere. Anyway, the (meta) content will be updated each time I need to explain how I yield this site.
A dynamical site
The reason why this site is static is that I found no free Servlet/JSP host: I wanted to use Servlet/JSP instead of other technologies, because I know that technology more than the others. I wanted to use the Struts or the Barracuda frameworks, in order to show I know how to use them.
Since I really need to be able to update that site on the fly, I think that I am going to use PHP as server side language.
||Number of hit: