One big problem I see is that you code is highly… uhm… “unsemantic” (is that a word?). I mean things like these:
Code:
<div id="trame_haut"></div>
<img src="images/spacer.gif" width="1px" height="2px">
<div id="photo_main"></div>
<img src="images/spacer.gif" width="1px" height="2px">
<div id="trame_bas"></div>
…
<div class="hor"></div>
…is very bad practice. Empty elements, spacer images, and width/height attributes are things that don’t belong on a website because they have no meaning and/or are the total opposite of all web design principles of the 21st century which endorse the use of
semantic code, separating styling from content, and the use of CSS to style a website.
For example if you removed those spacer images and just used margins instead it might get rid of your problem right away.