Thanks a lot Kris,<br><br>I have finally find the solution. This is my getURL function :<br><br> getURL: function(bounds) {<br>        <br>        var res = this.map.getResolution();<br>        var bbox = this.maxExtent;<br>
        var size = this.tileSize;<br>        var tileX = Math.round((bounds.left - bbox.left) / (res * size.w));<br>        var tileY = Math.round((bounds.bottom - bbox.bottom) / (res * size.h));<br>        var z = this.map.getZoom();<br>
        /**<br>         * Zero-pad a positive integer.<br>         * number - {Int} <br>         * length - {Int} <br>         *<br>         * Returns:<br>         * {String} A zero-padded string<br>         */<br>        function zeroPad(number, length) {<br>
            number = String(number);<br>            var zeros = [];<br>            for(var i=0; i&lt;length; ++i) {<br>                zeros.push(&#39;0&#39;);<br>            }<br>            return zeros.join(&#39;&#39;).substring(0, length - number.length) + number;<br>
        }<br>        tileY = Math.ceil(this.zoomImages[z][1]/size.h) - tileY -1;<br>        var pos= parseInt(tileY) * Math.ceil(this.zoomImages[z][0]/size.w) + parseInt(tileX);<br>       <br>        var components = [this.layername];<br>
        var path = components.join(&#39;/&#39;); <br>        var url = this.url;<br>        if (url instanceof Array) {<br>            url = this.selectUrl(path, url);<br>        }<br>        url = (url.charAt(url.length - 1) == &#39;/&#39;) ? url : url + &#39;/&#39;;<br>
        <br>        return url + path+&quot;/&quot;+this.layername+&quot;_&quot;+(z)+&quot;_&quot;+zeroPad(pos,4) + &#39;.&#39; + this.extension;<br>    },<br><br>It&#39;s work for tiles like layerName_NbZoom_nbTile.extension.<br>
Tile are like:<br><br>1 2 3 4<br>5 6 7 8<br><br>Hope this help  someone else.<br><br>Cheers <br><br>Jim<br><br>